[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Native /// bootstrapping?
On Feb 23, 5:57 pm, lyricalnan...@dosius.ath.cx (Steve Nickolas)
wrote:
> I'm trying to figure out how the SOS bootloader loads sos.kernel, and I'm
> not really getting it (although apparently the bootloader flips the system
> up to the topmost memory bank).
Jeppson has a pretty good discussion of the boot sequence:
"Boot Sequence: On power-up, or after control-reset, the boot process
begins in ROM#1 (ROM#2 doesn't yet exist). Low-level diagnostics are
performed. Then block 0 is read from the disk in the built-in drive.
This is the SOS boot code and is present on every disk that has been
formatted by the System Utilities program. It must be present for a
successful boot. It consists of one block of "absolute" code and is
loaded into the computer at $A000, where it begins to run.
The boot code begins by locating and switching in the highest bank of
RAM. Then it goes back to the disk and loads in five more blocks
(blocks 1..5). These are placed in $A200..ABFF. Block 1 currently
contains all zeros; blocks 2..5 are the disk directory. The boot code
then scans the directory and locates SOS.Kernel, which it loads into
memory at $1E00..73FF."
http://apple3.org/Documents/Magazines/AppleIIIBits.html
The SOS source code will reveal all to you:
http://apple3.org/Documents/SourceCode/Apple3_SOS_1.3.pdf
> What I want to be able to do is [...]
Have you seen the dealer diagnostic diskette? It boots a /// and
makes it look almost like an Integer-wielding ][:
http://apple3.org/Software/system/Apple3Diagnostics.dsk