Not really an update
I'm making this post mostly to test out posting on the new site layout and at the same time, I wanted to give a quick update on where the emulator currently stands. As I mentioned in my previous post, I've been developing it steadily and without interruption. I'm currently at 50–65% boot progress. The custom chipset is already writing Copper and BPLCON registers, and we are just a hair away from the first native visual frame.
A fast report :
-
I finally managed to kill the Exec Alert 87000000 -> Fixed a corrupted stack-based MemList (ml_Num = 0) where AllocEntry mistakenly read a string pointer (00F9F505) as an allocation size.
-
Surgical Memory Guard -> Replaced a broad MEMF_CLEAR (which broke task enqueues) with a precise guard that clears memory only when preW0 == 4EF9 (JMP-stub soup).
They might sound innocent but both of them gave me a hard time.
Current situation :
-
Wiping out the 4EF9 junk successfully eliminated the old Address Error (JMP (A4) crashing on odd PC 1F024EF9).
-
The Catch -> The dos LibBase struct at 00C59A00 now arrives with its +4 (ln_Pred) field as a clean 0 instead of junk. Consequently, the JMP (A4) now results in a NULL JMP because an expected pointer is never written prior to F9F892.
I'm tracking down which initialization or enqueue routine is supposed to populate C59A00+4. I strongly believe that once that's locked down, the path to the bootmenu and the first graphical frame opens up! Fingers crossed!
~ Scatman