[Coco] the amazing memory persistance

William Astle lost at l-w.ca
Mon Dec 9 13:28:56 EST 2013


On 13-12-09 10:36 AM, Arthur Flexser wrote:
> On Mon, Dec 9, 2013 at 11:32 AM, Luis Antoniosi (CoCoDemus)
> <retrocanada76 at gmail.com> wrote:
>
>> But since the coco don't clear the memory and relies on position 113
>> to determine if its a cold or warm boot, if the memory if filled with
>> FF what I get ? warm boot ? Didn't test that.
>>
>
> You'd get a cold start if 113 doesn't contain $55 and/or 114 doesn't
> contain a zero byte.  So $FFs will give a cold boot.

The specific contents of 114 doesn't matter. The actual check is as follows:

1. check 113 ($71). If it is not $55, cold start
2. fetch pointer at 114 ($72).
3. fetch byte at pointer. If it is not $12 (NOP), cold start
4. warm start

So, anything other than $55 in 113 will give a cold start. It is always 
sufficient to put anything other than $55 at 113 to force a cold start. 
There is no need to change 114. Messing with the pointer at 114 will 
also work unless you happen to point it to a NOP instruction, but this 
should not be relied upon.

If, by some fluke, 113 does contain $55 when the machine is powered on, 
it is unlikely that the next two bytes will be a valid pointer to a NOP 
instruction.

Of course, once you throw memory persistence in, you get some excitement.



More information about the Coco mailing list