[Coco] 6809 / General CPU question
William Astle
lost at l-w.ca
Sat Feb 19 21:19:19 EST 2011
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
More information about the Coco
mailing list