Do you know the inners of the GS/OS AppleDisk5.25 driver? Do you even know its limits? Don't you want to bypass them? That is the aim of that project.

This project is motivated by several ideas and notices:

Then, I find it interesting to understand that driver:
  • How it works
  • Know its features
  • List its limits
  • Enhance it to provide new features
Note that a part of that job has already been done when developing the RDOS.FST but it is not complete (as it is a part ;-), therefore I will write my own wish-list to Santa GSOS...

Dear Santa, I would like to...
  • handle 13-sectors disks
  • format 13-sectors disks
  • format DOS 3.3 16-sectors disks (I know, it is the job of a FST...)
  • create a 4*4 nibbles 10-sectors disk (why not?)
  • be able to create disk images with Ninjaforce's Asimov or Eric Sheperd's ImageMaker
Any other ideas? Feel free to use the Contact page to send me an email.

Nov. 19, 2008
I would like to thank all of you who answered to my announcement on comp.sys.apple2. That is nice to know that some people are still interested in software projects. Huge stuff has been performed during the previous days (nights mainly) and I have been able to confirm the...

  • AppleDisk5.25 driver limits:
  • 342 6*2 encoded-nibbles per sector
  • 16 sectors per track
  • 35 tracks
  • 256 or 512 bytes long per block
I discovered what I would call a "limit" but not a bug to the way GS/OS (or maybe the Finder) handles disk I/O errors. Here is the standard process to check online volumes:
call DInfo to get device information
call Volume to get volume information
until DInfo returns no more devices

Volume is the GS/OS call which does the following::
call the Volume function of a FST
if that is the right FST, end process
if there has been an I/O error, END PROCESS
until there are no more FSTs

That process would be fine if the disk format was unique, but I would like to handle both 16 and 13-sectors disks. And the first-ever FST that is called is the ProDOS one and you want it to access a 13-sector disk, then you get an I/O error. The FST list is not browsed entirely. Bad news

Hopefully, there is good news: the AppleDisk5.25 driver now handles 1024-bytes per block and v0.1 of the CP/M FST is stable ;-)

Dec. 16, 2008
Long time, no see... I have been able to bypass the 16-sectors' limit of the AppleDisk5.25 driver. It can now handle 13-sec disks as well. But that has been difficult to upgrade the driver as the bla-blah written in mid-Nov was correct. The objective was to find an error code that would be interpreted by GS/OS as "please go to the next FST" but another issue came: the block to track/13-sec from the driver and the track/13-sec to block from the FST translation routines which I believed were working properly... were not counting properly. Instead of adding or substracting 13 (the number of sectors per track), I did the calculations with 12 (hum)... Do not ask me why... Once I corrected that, whenever I mounted a DOS 3.2 disk, the Finder went into an infinite loop: there was a bug with the free blocks calculation routine due to the fact that there are now 13 sectors per track and not 16...

Hopefully, there is good news: the AppleDisk5.25 driver now handles 13-sec disks and v1.0 of the DOS 3.2 FST is stable ;-)

Jan. 11, 2009
Happy new year to all of you and your family, I am sure the new year will bring us some new interesting Apple II projects ;-)

The good and the bad news:

  • The good news:
  • The DOS 3.3 FST now supports the Format/Erase commands and that works well. We can now format DOS 3.3 disks directly from the Finder.
  • The DOS 3.2 FST works pretty well, all previous bugs have been removed.
  • The AppleDisk 5.25 driver now contains DOS 3.2 (or 13-sectors) Read/Write/Format routines. I have removed some limitations so that RDOS 3.2 disks can be read, that is one the next step: create the RDOS 3.2 FST.
  • The bad news:
  • I am unable to format a DOS 3.2 (or 13-sectors) disk with my code (I only format the first track ;-). And I cannot use my preferred emulator to format disks as well, Sweet16 does not allow me to format DOS 3.2/DOS 3.3 disks, it appears there are some limitations on the 5.25 driver code.
  • Formatting 16-sectors disk needs a special focus as I am quite sure that it writes sectors with a 2:1 interleave only which is efficient but does not follow the different OS rules. I checked with a DOS 3.3 formatted disk and reading the disk is correct but I am sure there is something to do there...
  • I did not work on the CP/M FST, maybe later, I am still waiting for a good soul to send a 800 KB CP/M disk to me, please...

Feb. 2nd, 2009
No news is good news! I am late because I was busy working on the disassembly of the IIgs ROM. A job focused on the toolsets included in the ROM of a ROM 01 machine. That is another project I am working on and I will introduce you to it once I am done with the AppleDisk5.25 driver update.

So, what's new, pussycat?

  • The driver now reads and formats 13-sec disks!
  • The driver is still unable to write 13-sec sectors, quite weird: the nibblize routine is correct but the data written is bad: timing issue maybe!
  • The RDOS 3.2 FST is written but I think I will not make it public because RDOS 3.2 disks contain a lot of different header nibbles and I do not want to pollute my routines.
  • I must finalize the 13-sec write routine before I go back to work on the CP/M FST.

Antoine, February 2009