[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