From what I've read, the first Apple II floppy drive (the Disk II) wasn't invented until about six months after the release of the Apple II - so the computer's ROM code wouldn't have had any support for loading data from a floppy disk. If you owned one of those first Apple II's and later bought a Disk II, how did the computer know how to use it? Did the Disk II also come with a replacement ROM chip for the computer's logic board? Or does the Apple II somehow execute code that's stored in ROM on the Disk II controller card?
Using Disk II on the first Apple II models
I found the answer to my own question. Yes, installing the Disk II card would map 256 bytes of ROM on the card into the computer's address space at $C600. At that point, there were a few different options for executing that ROM code and starting the disk booting process. From http://en.wikipedia.org/wiki/Apple_DOS#Boot_loader:
Awesome stuff! Great foresight in making all peripheral cards have 256 bytes of memory directly mapped into the Apple II's address space, and in including a machine language monitor program built into ROM to make use of it. Wozniak is a really smart guy! I should invite him over for some electronics hacking…
Later versions of the Apple II ROM contained startup code to automatically search for a Disk II card, so manually starting the disk boot was no longer necessary.
Awesome stuff! Great foresight in making all peripheral cards have 256 bytes of memory directly mapped into the Apple II's address space, and in including a machine language monitor program built into ROM to make use of it. Wozniak is a really smart guy! I should invite him over for some electronics hacking…
i bet you and woz would have a good ol time!
Yes, the "autostart" ROM came later as one of the features of the Apple II Plus.
The original Rev 0 Apple IIs just booted to a screen filled with garbage text, you had to push the RESET button every time to get a prompt!
The original Rev 0 Apple IIs just booted to a screen filled with garbage text, you had to push the RESET button every time to get a prompt!