On 03/22/2011 03:21 PM, schmidtd wrote:
On boot, ROM loads block 0 into $A000 (the upper S-bank, always
present) and control is passed to it. It's straight code; there's no
header, counters or signatures. There's something else that happens
to enable dual-booting - ProDOS boot can be in block 0, while SOS boot
is in block 1. I don't recall what that is.
AFAIR, it has to do with the fact that Apple II booting passes control
to the second byte of block 0 (loaded at $0800), while Apple III goes to
the first byte. So with some tricky code you can have it do different
things.