PTCO Sol-20‎ > ‎

Sol-20 page 5 – North Star Micro Disk System

Fun with hard sectored disk controllers

My Sol came with the North Star MDC-A1 disk controller, so I was happy when I found the matching rebadged Shugart SA-400 in its original single drive enclosure. This North Star Micro Disk System (MDS) was one of the first widely available disk drive systems available to microcomputer hobbyists. It would set you back $699 in late 1977 as a kit, and the drive enclosure was extra. Blank, hard sectored disks were about $4.50 a piece—or roughly $20 in 2018. The North Star MDC controller was single density, so storage was limited to under 90K per disk. 

Shugart SA-400 minifloppy drive

The SA-400 (S/N 27097) is like a miniature SA-800—more complex than later 5.25" drives. Like its 8" cousin, it has a head load solenoid, but a big difference is the drive motor spins up and down on drive select. Later minifloppy drives would eliminate the head load / unload and just spin the drive up and down with the head always in contact with the disk. It's interesting to see where the minifloppy started. 

I performed basic maintenance on the drive, cleaning and lubricating the rails and head load points. I cleaned the head with isopropyl alcohol. There was a lot of soot on the interior surfaces and the drive belt was unusual—much thinner than other drive belts. It appears to be kapton. The North Star manual mentions for Shugart drives:

"Check that the head carriage guide on the disk drive is in the spiral groove on the stepper motor cam. Sometimes the guide is knocked out of the groove during shipment."

This guide did need adjustment eventually. I powered the drive with a spare AC adapter from a hard drive IDE to USB interface, which provides the proper +5V and +12V power within the standard cable housing (AMP P/N 1-480424-0 with AMP pins P/N 61473-1) and attached it to my disk imaging PC. With Dave Dunfield's program ImageDisk, I could step, format, and write. I switched the cable to “drive B” and successfully wrote and read back in a disk. But something strange was occurring with initial reads and writes. ImageDisk wouldn't start at track 0 every time. I'm not sure if this was a poor signal from the drive or its compatibility with the software. I could manually move the head to track zero with the disk alignment function in ImageDisk. Then the drive seemed to work after this. The disk alignment utility stepped accurately over all tracks and seems to read them back; e.g., it id's the correct track.

North Star MDC-A1

At this point, it looked like the
drive mechanics and electronics were working. There didn't appear to be any deep troubleshooting necessary. I turned my attention to the MDC-A1 controller, after puttering around a bit with a Disk Jockey controller first. I was familiar with the DJ after getting one to work with my SA-800 8" drives on the IMSAI. (It was much slower than the Tarbell, so I stuck with the latter.) The DJ supposedly supports minifloppy drives, but the manual is a bit vague about it, including strapping the 50 pin header to a 34-pin floppy interface (although I've successfully built adapters for 50-pin 8" drives to work with the imaging PC.)  I decided to focus on the North Star controller from here on out.

Of course, the problem with the MDC-A1 is it uses hard sector disks, which have a timing hole for each of the 10 sectors per track. Hard sector disks are rare. I eventually bought 10 used ones at a premium, but using soft sector media is preferable given their availability. On the one hand, one can manually punch the sector holes. A few folks have made such tools. The other option is Mike DeRamp's "Virtual Sector Generator," which sits between the drive and controller and generates the timing signals for the controller. It requires a pretty steady drive, but it turned out that the SA-400 worked well. I attribute it to the over-design of the Shugart product, which I believe has a closed-loop control circuit for the drive speed. Over-design FTW.

I cleaned tarnished pins on chips throughout the MDC-A1 and fired it up on the IMSAI's riser card. The 7805 voltage regulator was bad (TI date code 7645, gave 187mV output), so that was replaced. Then I went though the check-outs in the manual, which all passed. I hooked the MDC-A1 up to the Shugart, making note of the strange cable orientation, and ran through the checks there. The final check, running EX E900 (boot loader) started the motor, loaded the head, and stepped to track 0, then waited. Stopping program caused the motor to shut off and head to unload in about 3-5 seconds. From here, I installed the card in the Sol.

Cold, cold metal

Now I had the classic cold metal boot problem. I had a disk drive, but no disks
. Luckily, Mike DeRamp has made a number of utilities available to solve this difficulty, and the design of the Sol gives users some good flexibility. The process is very similar to cold starting an Apple II. Using the SOLOS "SET I=1" command, console input is directed from the serial port (on the Apple II: IN #2). A floppy transfer program is then sent as an "ENT" file – ASCII that mimics the SOLOS "EN" commands to enter code directly into memory at 1200 baud. The program can then be run and a disk transferred via the XMODEM protocol from the host machine, in this case, a Raspberry Pi. With the exception of one scratch transfer, the process worked without a flaw. I successfully wrote several CP/M and North Star DOS disks, all on soft sector media with the VSG installed.

Since the initial disk transfer, I've had very few issues with the drive, aside from the fact that having 90K and only one disk drive is a little limiting. I've had a few sectors go bad on separate disks, which I believe I can trace back each time to powering down the machine with a disk still in the drive.

Epilogue

That about does it right now for the Sol. With a disk system, it's a capable machine. I've used it quite a bit in other retrolab work, including getting a teleprinter up and running. Having direct access to memory through SOLOS, the native terminal capabilities of the Sol, its ability to redirect serial (and set its speed with SET S=NN) and wide range of baud rates (110 to 9600) and formats (8N1 to 7E2) have been handy.

A few things that I would like to pursue in the future include working on the CP/M CBIOS. The disk images available online are a version of Lifeboat Associates's CP/M. So far, I haven't tracked down the CBIOS in order to make changes (or understand its organization.) I'm also unfamiliar with the format of CP/M on minifloppy disks. It's fairly straightforward that the first two tracks on an 8" IBM 3740 disk contain the boot loader, CCP, BDOS, and BIOS. But how do these fit on the smaller (sectors / track) 5.25" disks?