Apple II 5.25" Disk Boot Disassembly

Booting a 5.25" floppy on an Apple II begins when the firmware in the disk controller card gets control. It has to spin up the floppy drive, seek the head to track 0, watch bytes go by until the start of sector 0 is found, read 342 bytes of raw data, decode the (essentially) base64 encoding to get 256 bytes of actual data, verify the data checksum, and execute the code.

And it has to do all that in 256 bytes of 6502 code.

There's a longer explanation of the BOOT0 process here.

Copyright 2019 by Andy McFadden

Back to list of disassembly projects