[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