18

I recently read a document which discussed how the Apple III would implement the Apple II emulation mode. On page 20, it goes on about difficulties involved with how the Apple III would have presumably a 16-sector disk format and how would an emulation mode work when the Apple II's DOS 3.2 was only 13-sector. It goes a bit more into how this would create maintenance implications with a worst case being supporting 5 versions of DOS 3.2 (the current one, a conversion one, a standard one and then 2 for the Apple III emulation).

Nowhere in that document did I see anything suggesting that DOS 3.3 with a 16-sector format was planned or upcoming which leads me to suspect that perhaps DOS 3.3 was created simply to make it easier for Apple III emulation?

So was DOS 3.3 and the Apple II's conversion to 16-sector format disks directly an influence or result of the Apple III's emulation mode?

3 Answers 3

16

TL;DR: No, not really. It was even more twisted. 16 sector was done for the Pascal System for the Apple II, independently and before the Apple III got it, but didn't get rolled out for DOS until after the Apple III was introduced (and failed).


Wozniak developed the 16 sector format in 1979 for the Apple Pascal System, as otherwise the UCSD P-System would not only be space constrained, but also extremely slow, as every 7th block would be spread across two tracks. The Pascal System went on sale as a set of disks and a PROM to be placed on the Disk II controller card. It was usually also bundled with a language card (16 KiB memory card).

At that time Apple was all about getting the Apple III to market. Management believed that it should be superior in every way and no II model should have similar capabilities. Thus disk controllers were still shipped with 13 sector PROMs and DOS 3.2 only supported 13 sector format. The 16 sector format was reserved for the Apple III (and Pascal). The Apple II emulation included a 13 sector RWTS, to be loaded before accessing any Apple II disks.

This created a situation that Pascal could use the same disk as DOS with about 20% more space and even worse, people using Pascal and DOS had to swap PROMs (or own two controllers). A very common hack was to solder the second PROM onto the first and select each with a manual switch. From an Apple management point of view they were different markets (home vs. school) so they could have different hardware, but reality was different and users became quite demanding to upgrade while using DOS.

The Apple III was introduced in spring 1980 and almost everyone at the company believed that the Apple II would be history half a year later. Well, history doesn't care for management and the Apple II was still runing strong, so policies got revised to tap into this by developing the LCA (Low Cost Apple) which became the Apple IIe. Its weird banking scheme is a result of the policy, still in effect at the time, that no II can be better than a III - so 128 Ki was defined as the maximum memory. But that's another story.

Long story short, to satisfy the demands of Apple II users for more disk space (and to generate additional sales), DOS got a facelift and the 13 to 16 sector kit was made available.

7
  • Ah! So the bizarre memory banking of the IIe and IIc is the result of somebody being silly, and it was management rather than engineering. It's always seemed like a exercise in misplaced ingenuity, and now I know why. Oct 1, 2022 at 16:25
  • Given that formatting a Pascal disk required the use of a special format utility, I would think only the state-machine PROM would have had to be modified to use 16-sector Pascal disks if the first track contained a 13-sector-format boot block and seven UCSD-format blocks, thus allowing machines to use 13-sector and 16-sector disks without any ROM swapping.
    – supercat
    Oct 1, 2022 at 18:15
  • Making a memory-resident DOS capable of formatting a disk with a 13-sector-format boot sector might have slightly reduced the space available for programs, but I don't think that would have been a problem with UCSD Pascal which would need to load a special utility to format disks in any case. Reading that DOS 3.3 came after Pascal makes me really curious, though, why DOS 3.3 didn't use the Language Card, if present, to cache a disk track. It would seem fairly easy to read an entire DOS 3.3-format track in a single pass and then decode the data after it's read, and doing so would have...
    – supercat
    Oct 1, 2022 at 18:21
  • ...offered a huge speed boost (it's actually possible to write 16-sector format in a manner that would allow direct reading in real-time without a separate decode step, but even for the format that was chosen, doing a full-track read that could start at any sector, followed by a full-track decode would have avoided the need to wait while the drive spins between sectors).
    – supercat
    Oct 1, 2022 at 18:25
  • @JohnDallman I fail to understand why you assume disk format being related to memory banking? Mind to help me understanding that?
    – Raffzahn
    Oct 1, 2022 at 18:40
17

No, conversion to 16-sector format (and the necessary change from DOS 3.2 to DOS 3.3) was a consequence of Steven Wozniak realizing that he could get more capacity by tweaking the Apple II floppy driver controller hardware slightly. To quote from here:

After the Disk II had been in production for a while, Woz found out that the 8μs spec for the maximum allowable gap between flux reversals was overly conservative. The original Shugart format would generate longer gaps than 8μs in the code violation byte employed for address mark sync. The head amplifier's automatic gain control still coped tolerably well until reversals occurred maybe 14-15μs apart; 12μs was no problem. So he tweaked the Woz Machine PROM a little to stop it drifting out of sync when faced with more than one missing RDDATA pulse, and designed an improved GCR scheme based on disk nybbles that could now contain up to two successive zero bits. It turns out there are 66 of those, and reserving the same $D5 and $AA values for headers leaves just enough to represent 6 bits of user data per disk nybble.

The new two-zeroes rule also allowed for a much shorter self-sync sequence. Instead of eight nybbles written with 36μs spacing, self-sync needed only four at 40μs before the $D5 $AA mark sequence. [...]

Now there was room for 16 sectors per track, raising Disk II capacity to 143,360 bytes.

If I remember correctly, there were actually upgrades (probably in the form of new PROMs, don't remember the details) for early disk controllers, which wouldn't be able to work with the new 16-sector format otherwise.

4

Sorry, but the first post is incorrect. Second poster is correct, along with the Disk II controller update. P5 and P6 are the ROMS that were replaced, but otherwise no difference. One is a state machine, the other contained the boot code.

The Apple /// did not use DOS 3.2 or 3.3, and emulation mode was NOT built into the ///, but was initiated by booting the emulation disk.

What WAS done for the on the Apple II series due to the A3 was ProDOS.

ProDOS IS SOS. The only actual difference is the calling method. ProDOS used a JSR $BF00 followed by a command byte and a pointer to a parameter list. SOS used a BRK instead of the JSR, otherwise they were identical, even to the command byte and parameter lists.

DOS 3.2 and 3.3 use 256 byte sectors. SOS, ProDOS and other OSs such as Pascal use 2 sectors (and yes, they are still sectors) per block for 512 bytes. The sector interleave is different as well to optimize for 2 sectors at a time instead of one. In disk images, the file extension is supposed to indicate which one. .po for ProDOS order, .do for DOS order. There are others, but the actual disk data portion is still one or the other, with possibly a header (.2mg) or a generic .dsk.

Emulation mode was not limited by the disk format (3.2 or 3.3 or ProDOS), but the real limit was due to there being only 48K of memory available to the OS in emulation mode. ProDOS requires 64K, and therefore cannot be used in emulation mode.

DOS 3.3 was released well before the A3 came out. I've been using the A2 since before disk drives were available, and was working in a computer store during the time of the drives becoming available and the release of the A3.

BTW, we did NOT use Apple's drop 3 inches method of "fixing" the A3. We removed the cover and pressed all the chips into place by hand before even powering it on to check it.

Andy

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .