Whilst this is not a definitive answer, by looking at Apple IIc ROM Version1, which more fully lists the features of each ROM version, it seems that the disk support was actually improved, whilst, unfortunately, removing the ability to easily boot from the second drive (although the second drive could still be accessed post-boot).
One can only surmise that the designers assumed that booting from the internal drive only would be sufficient, and that losing the easily access ability to boot from the external drive was a price worth paying for access to the AppleTalk instead (using PR#7
) as well as the additional drive support, namely:
- UniDisk 3.5 drive,
- the Apple 3.5 drives
- IIc Memory Expansion Card
In actual fact, from information from a Google forum (see below2), Apple IIc Booting from external drive, it turns out that the code was not actually removed, just the ability to access the code easily by using PR#7
- the engineers presumably thought that the AppleTalk was a better use for the PR#7
, although PR#5
would work for an external UniDisk 3.5". The leftover code could still be accessed by typing the following code in the Monitor, from Booting from an external drive on the Apple IIc:
300:A9 E0 A0 01 A2 60 4C 0B C6
300G
More poignantly, from 8-THE APPLE IIC - Firmware
What about the unassigned slot 7? Here they put a small piece of code to allow booting from the external 5.25 drive by typing “PR#7” from Applesoft.
and further down the page, Overcoming limitations
The disk port on the original IIc was only designed to control an
external 5.25 disk drive. Apple sold the Disk IIc for $329, and other
companies later sold similar drives for less. Despite this firmware
limitation, Quark Engineering released a 10 MB Winchester hard drive
called the QC10 that would work with this disk port, and was the first
hard disk available for the IIc.
and Enhancements
Rudimentary firmware was also included to allowing the IIc to be attached to an AppleTalk network (a message that said “AppleTalk Offline” would appear if you typed “PR#7” from BASIC), but it was never completed, and did not appear in future revisions of the IIc ROMs.
From which, one could infer that Apple dropped the boot support as third party drives were cheaper, and they didn't wish to support these more popular drives.
Wikipedia - UniDisk 3.5 support (ROM version ‘0’), confirms that which snip-n-snails stated in their comment:
The new ROM supported “intelligent” devices such as the Apple UniDisk 3.5-inch (800 KB) floppy drive and Smartport-based hardisks, in addition to an external 5.25-inch floppy drive.
and
The upgraded ROM added rudimentary support for an external AppleTalk networking device which was yet to be developed. When attempting to boot virtual slot 7, users would encounter the message “APPLETALK OFFLINE.” The IIc, however, had no built-in networking capabilities, and no external device was ever released.
Footnotes
1 ROM feature list, from Apple IIc ROM Version (this list expands slightly upon that given in Apple IIc Technical Note#7 - Existing Versions). To see which ROM version you have use PRINT PEEK(64447)
(64447 = $FBBF):
Original IIc ( $FBBF = $FF or 255 in decimal)
- Can use the IIc external drive only
- No AppleTalk firmware
- PR#7 boots the second drive
- Mouse firmware maps to slot 4
- Serial firmware does not mask incoming linefeed characters
- Serial firmware does not support XON/XOFF protocol
3.5 ROM IIc ( $FBBF = $00 )
- Can use the IIc external drive and the UniDisk 3.5 drive
- AppleTalk firmware maps to slot 7
- PR#7 returns the message "AppleTalk Off Line"
- Mouse firmware maps to slot 4
- Serial firmware defaults to mask all incoming linefeed characters
- Serial firmware supports XON/XOFF protocol
- Adds the Mini-Assembler to the Monitor
- Adds the Built-in Diagnostics
Original "Memory-Expandable" IIc ( $FBBF = $03 )
- Can use the IIc external drive, the UniDisk 3.5 drive, and the IIc Memory Expansion Card
- Mouse firmware maps to slot 7
- No AppleTalk firmware
- PR#7 kills the system
- Serial firmware defaults to mask all incoming linefeed characters
- Serial firmware supports XON/XOFF protocol
Revised "Memory-Expandable" IIc ( $FBBF = $04 )
Apple IIc Plus ( $FBBF = $05 )
- Can use the external IIc drive, the UniDisk 3.5 drive, the Apple 3.5 drives, but not the original IIc Memory Expansion Card.
- Contains a Memory Expansion Card connector
- 3.5" internal drive replaces 5.25" internal drive
- Mouse maps to slot 7
- PR#7 kills the system
- 4 MHz 65C02 microprocessor
- Accelerator chip and static RAM cache permit operation up to 4 MHz
- Keyboard replaced with Apple Standard Keyboard (minus numeric keypad)
- Internal power supply
- Internal modem connector
- Serial ports refitted with mini-DIN 8 connectors
- Headphone jack has been removed
- Volume control relocated above the keyboard
- 40/80 column switch replaced by keyboard (Sholes/Dvorak) switch
2 However, it is possible to boot from the external UniDisk 3.5". From Apple IIc Booting from external drive, this post
If my copy of the IIc hardware reference manual
is to be believed, you can boot from the first external drive by typing
PR#5. I suspect this only applies to a UniDisk 3.5, and not a 5.25"
drive.
and this post
Yes, PR#5 will boot the first external UniDisk in the //c's drive chain.
I recall typing in a small segment of assembly code (from inCider/A+,
Nibble, or some such magazine) that would boot the external 5.25" drive,
even if you had a //c with newer ROMs. I don't think it worked on
anything but a //c, but I can't remember for sure. If you'd like me to
dig it up and post it to the 'net, email me. I'm sure I can find
it...it's only a matter of digging through a few of my BASIC programming
disks. :^)
and this post mentions booting from the 5.25" external drive, using the leftover code:
Actually, you can boot from an external 5.25" driver on the //c with
ROM revision 2. The code necessary is in ROM (the ROM listing comments
even tell that you can do it), but due to some omission you can't
activate it by a single command.
You can boot however from the external driver by hacking in a short
machine program. All you have to do is set X to $60, Y to $01, and A
to $e0 and jump do some address... was it $c611? Take a look at the
listing...