Serial Disk Driver


This is a Control Panel that allows mounting a disk image over a serial port. Currently, there is a unixy program the control panel talks to over the serial port that provides the other end of the communication.

The Serial Disk always uses the Modem port (serial port A) on the Macintosh. When the machine boots, it will try to connect to the server using 57.6kbps. The Control Panel allows selecting different baud rates and displays the status of the connection.

Files:
serialdisk0.9.cpt.hqx This is the Mac OS Control Panel. It should work with System 6 and higher (tested up to 7.6.1).
serialserver0.8.tar.gz This is the unixy posixy server in source form. Tested on Mac OS X 10.6 and Ubuntu linux.
serialdisk0.9-presys6.cpt.hqx This is a modified version of the serial disk for pre-System6 systems. Tested on System 3.3 on a 512KE. Control Panel isn't available on these systems.
serialdisk0.9-loaderapp.cpt.hqx An application to run to load the serial disk driver on pre-System 3.2 machines. INIT loading wasn't documented to work until System 3.2. Tested on System 1.1/Finder 1.1g on a 512K.

Usage:
Have a serial cable with a null modem for communication between your Mac and unix system. Plug the serial cable into the Modem port on your mac (the round 8 pin port with the picture of the telephone above it).

Install the Control Panel in the serialdisk file into your System Folder (System 7 and later should prompt you to automatically put it in the Control Panels folder inside the System Folder).

Build the serialserver source on your unix system with the command 'make'.
Create a disk image on the server. You can use a minivmac, basilisk II, or blank disk image. To create a blank image, run the command dd if=/dev/zero of=blank.img bs=1M count=X where count is how many MB you want the disk image to be.
Run the serial server with the command ./serialserver --disk blank.img --baud 576000 -d /dev/>tty device< where the tty device is the device name for your serial port. For example, on linux ttyS0 is frequently the first builtin serial port. Or under Mac OS X, my KeySpan USB serial device is tty.KeySerial1.

Pre-SCSI Systems:
On pre-SCSI systems, the serial port is an RS-422 DE9 connector. I had difficulty finding a usable serial cable. The Imagewriter cable seemed like a good choice, and according to the Apple KB on the cable's pinouts, it seems pretty good. However, both official Apple cables and aftermarket ones I've tried don't actually follow this pinout. The RX signal isn't actually connected. I guess the Imagewriter didn't need to transmit back to the mac.

Another note on loading the driver: System 3.2 and later will load the INIT (system extension) file from the System Folder. Earlier systems don't support Extensions, so I've included the loader app above. It's just a regular old app that loads the driver and quits. It won't display anything.

Updated November 25 2012