[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Dual booting ProDOS and SOS
On May 20, 5:20 am, schmidtd <schmi...@my-deja.com> wrote:
> A "dual boot" disk will have the ProDOS boot code in block 0, and the
> SOS boot code in block 1.
It is slightly more complicated than that. If you have a copy of
"Supplement to Beneath Apple ProDOS" (in my case "For ProDOS 8,
Versions 1.2 and 1.3") you will find the following on page 7 where the
ProDOS Loader is described.
"This code (Block 0) is loaded at $A000 when booted on an Apple ///.
The Apple /// boot ROM jumps to $A000. What is shown here as $800 on
an Apple II is $A000 on an Apple ///. Thus an Apple /// executes a
harmless instruction (ORA $38,X), then does not branch on carry, and
jumps to $A132 ($932 on an Apple II). Many thanks to Dav Holle for
providing us with this Apple /// information."
At $932 ($A132 on the Apple ///) is the following code:
A132 make it look like a JSR from $A000
A138 load in block 1 (we want SOS, not ProDOS)
A13C go to Apple /// block read routine >> F479
So this means that an Apple /// needs both block 0 and block 1. The
old format routines in FILER (as supplied with ProDOS v1.0.1) should
include both blocks while the newer format routines do not put any
data in block 1.