without the usual functions that are made for this (ie FillRect).

- ID=02 Address Error
The Motorola 68000 microprocessor can access memory in increments of one byte (8 bits), one word (16 bits), or one long word (32 bits). The microprocessor can access a byte of information at an odd or even memory address. But it must access a word or long word at an even memory address. So, when the microprocessor attempts to read or write a word or long word at an odd address, you see this error. Since that's a 50/50 proposition when running random code, this one shows up quite often.
but it's weird that the emulator wouldn't stumble upon the same place in the code.
I don’t think it’s strictly necessary for them to restore A5 at the end of an INIT (I think the OS restores all the registers when you’re done) but I might be wrong. It would be easy to check.
Preserve all microprocessor registers other than A0–A3 and D0–D3. Most compilers
for high-level languages automatically generate code that does this.
Not sure if this applies here:
That would be the deep end for me, but it's a very, very cool and dangerous idea. It just don't fit in a 800kb disk though, I had less than 50kb free on my disk here.Well done! You could pair this with a HyperCard stack that runs on startup, and replace the Finder with the HyperCard app so that it immediately goes into the stack on boot, and have a pseudo Windows 95 installation procedure, reboot, and Windows 95 desktop.