[Coco] 6809 / General CPU question
Stephen H. Fischer
SFischer1 at Mindspring.com
Sat Feb 19 21:58:44 EST 2011
Hi,
Well I found my CoCo 2 and CoCo 3 Service manuals.
What I found does not confirm my understanding.
But what I wanted to add was as you say:
> answer is that is MUST come from ROM. But FFFE/FFFF is not code; it's the
> address to start executing code at. Of course, that must also be in ROM to
> be useful.
I could not find where the effective address for the vectors is located
later and what register values control this.
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?
SHF
----- Original Message -----
From: "William Astle" <lost at l-w.ca>
To: "CoCoList for Color Computer Enthusiasts" <coco at maltedmedia.com>
Sent: Saturday, February 19, 2011 6:19 PM
Subject: Re: [Coco] 6809 / General CPU question
> On 11-02-19 06:59 PM, Stephen H. Fischer wrote:
>> Hi,
>>
>> I guess I am not communicating well.
>>
>> On power on there must be a location to start execution. As nothing is in
>> RAM yet it must be ROM code.
>>
>> I do not have the books handy to check so it might be that the ROM
>> addresses point to ROM code that uses RAM locations to continue. But I
>> think that was a different 6x0x machine. (KIM, SYM, FLEX 680x ...)
>
> Definitely not the coco. On all models of the coco, FFFx is always routed
> to ROM, regardless of memory map mode.
>
> Now, to be completely clear, the original question was "where does the
> value at FFFE/FFFF come from when the computer is powered on". The answer
> is that is MUST come from ROM. But FFFE/FFFF is not code; it's the address
> to start executing code at. Of course, that must also be in ROM to be
> useful. What is mapped to FFFE/FFFF after the ROM has started executing
> has nothing to do with the original question so whether it is copied to
> RAM or something else does not answer the question.
>
> Obviously, with the right hardware gimmicks, a machine can be devised that
> loads RAM at FFFx from an internal ROM during the RESET phase, but this
> has to be done in hardware, not in ROM, for it to work during a cold
> start.
>
> I know it's possible to devise a machine that can switch the vector table
> to RAM as part of a memory map control. However, the coco is not such a
> machine.
>
> Also, it's obvious that the boot ROM can do whatever it wants with the
> system including loading stuff into RAM and executing it. (Loading OS9,
> for instance.)
>
>>
>> What the CPU sees in it's address space when powered on can be quite
>> different in many ways from that controlled by hardware registers later.
> Obviously. But that is irrelevant to the question at hand which was about
> the power up state.
>
>>
>> When OS-9 is running and some other programs also is all RAM, all 64K.
>> The DECB ROMs have been switched out.
> Except for the interrupt vector table at FFFx which always maps to ROM on
> the coco.
>
>>
>> SHF
>>
>> ----- Original Message ----- From: "William Astle" <lost at l-w.ca>
>> To: <coco at maltedmedia.com>
>> Sent: Saturday, February 19, 2011 5:32 PM
>> Subject: Re: [Coco] 6809 / General CPU question
>>
>>
>>> On 11-02-19 06:28 PM, Stephen H. Fischer wrote:
>>>> Hi,
>>>>
>>>> But the ROM is running at power on!
>>>>
>>>> It is a little tricky switching the FFFE, FFFF area from ROM to RAM but
>>>> it is done at power on.
>>>>
>>> That turns out not to be the case. Have you ever tried to change the
>>> values in the vector table? It's not possible.
>>>
>>> Besides, the time under discussion is at CPU startup when nothing has
>>> had a chance to copy anything to RAM yet! The vector fetched from
>>> FFFE/FFFF MUST be in ROM or something similar or the system could never
>>> bootstrap.
>>>
>>> --
>>> 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
>
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco
More information about the Coco
mailing list