[Coco] Coco3 warm start...
William Astle
lost at l-w.ca
Fri Nov 16 10:29:35 EST 2007
Robert Gault wrote:
>
> The code at $C000 is hard to follow and the tendency is to make false
> assumptions.
>
> The reset button will cause the CPU to jump to $8C1B which does force
> the 32k internal ROM mode and jump to $C000. The critical test regards
> this question is the code at $C0DE-$C0E5. $FFA0 is cleared which removes
> the normal $38 block and replaces it with the lowest possible block
> based on available memory. Then $71 is tested for $55. This test will
> fail for Disk Basic but will pass for OS-9 and some other programs that
> "know" about the Coco3.
>
> Since the above test failed, memory is copied from ROM to RAM and the
> system switched back to RAM mode.
Yes, but that test does NOT run unless the test in block $38 fails first
so if Basic is initialized, it never checks block $00 but rather
branches into the warm start code. That is to say, $C0DE does not
execute if the Basic warm start vector is valid. That means on a warm
start, the ROM is not copied to RAM (which is as it should be).
--
William Astle
finger lost at l-w.ca for further information
Geek Code V3.12: GCS/M/S d- s+:+ !a C++ UL++++$ P++ L+++ !E W++ !N w---
!D !M PS PE V-- Y+ PGP t+@ 5++ X !R tv+@ b+++@ !DI D? G e++ h+ y?
More information about the Coco
mailing list