[Coco] 6809 / General CPU question

Stephen H. Fischer SFischer1 at Mindspring.com
Sat Feb 19 23:23:44 EST 2011


Hi,

One more try.

When a computer using a 6x0x CPU is turned on, a read is done from FFFF and
FFFE.

By some means this read must come from ROM.

So the address in FFFE and FFFF that the hardware reads from is what is
programmed into the ROM.

--------------------------
 ORG $A000
...
ROM program code
...

 ORG $BFFE

The 8 low order bits of the reset address
The 8 high order bits of the reset address

End of ROM
--------------------------

Or does the 6809 have them reversed, I forget.

As I said before, the CPU in the CoCo 2 gets the contents of memory
locations FFFE and FFFF from BFFE and BFFF. As does the CoCo 3.

SHF

----- Original Message ----- 
From: "Mike Rowen" <mike at bcmr3.net>
To: "CoCoList for Color Computer Enthusiasts" <coco at maltedmedia.com>
Sent: Saturday, February 19, 2011 7:46 PM
Subject: Re: [Coco] 6809 / General CPU question


> Well, so far I think that everyone is in agreement that when the 6809 is
> powered on, it loads the address stored at FFFE & FFFF into the program
> counter, thus pointing it to the first instruction to be executed. While
> the
> CoCo is one model to reference, it still leaves the original question. How
> does a memory address get into these locations, CoCo or otherwise? All
> 6809
> based systems that I've looked up, appear to load the initial PC register
> with these bytes at these locations. So it appears that is part of the
> internal 6809 architecture. While I find lots of references to the FFFE &
> FFFF addresses, still nothing to indicate how these addresses are
> populated
> with the bytes of the first address. Since every machine does not have 64k
> installed, it seems to me that these addresses are reserved and masked in
> hardware somehow. If someone were designing a 6809 computer, they would
> have
> to know how this works and how to do it. :)
>
> -Mike
>
>
> On Sat, Feb 19, 2011 at 10:24 PM, Darren A <mechacoco at gmail.com> wrote:
>
>> On 2/19/11, Stephen H. Fischer wrote:
>> >
>> > The CoCo 2 manual says "if the CPU reads FFFF it will actually read the
>> > contents of BFFF".
>> >
>> > If the ROM is switched out will BFFF come from RAM?
>> >
>> ---
>>
>> Yes and no.  If the SAM is put in ALL RAM mode then reading directly
>> from BFFE and BFFF will read the RAM (assuming the CoCo has 64K RAM).
>> But when the CPU reads from FFFE and FFFF, the SAM will always output
>> a device code to select the ROM.  So the RESET vector (and all
>> Interrupt vectors) are always read from ROM even when the CoCo is in
>> ALL RAM mode.
>>
>> A cartridge can override the internal Reset and Interrupt vectors by
>> decoding those addresses and asserting SLENB* to prevent selection of
>> the internal ROM.
>>
>> Darren
>>
>> --
>> Coco mailing list
>> Coco at maltedmedia.com
>> http://five.pairlist.net/mailman/listinfo/coco
>>
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco




More information about the Coco mailing list