The ST-2900 SASI Hard Disk Drive Adapter is an expansion board that plugs into the ST-2900 FDC board to provide a SASI interface to an external hard drive. (SASI stands for "Shugart Associates System Interface", and is the precursor to, and is a fully compliant subset of, SCSI-1.)
SASI Adapter features:
In late 1988 I had need of a computer with a hard disk drive to run my business accounting software, as floppy disks no longer had sufficient capacity or speed to handle the amount of data I now needed to process.
One option was to get a hard disk adapter for my CoCo 3. According to one of my friends, I did buy a Burke & Burke hard disk adapter cartridge (probably the CoCo XT (6MB .pdf)), although I don't remember this. But he says that he convinced me to not use it, and to sell it to him instead, for whatever reason?
Another option was to buy an IBM PC clone with a hard drive, but I really didn't want to go to "the dark side" yet. Also, I had already written custom accounting software for the CSG-IMS database that ran on OS-9, but not on MS-DOS. I didn't want to totally rewrite the software for a different database that could run under MS-DOS, then have to migrate all my existing accounting data to it.
Some time before this I had purchased a surplus NCL SS-10 10MB external hard drive for about C$200. (Just a few years earlier a similar drive would have cost over $2000 new!) It came with an 8-bit ISA adapter card to connect it to an IBM PC, as well as an EPROM that could replace the one on the controller card to convert it to SASI operation. The system was manufactured in December 1985. It has a full height 5¼" hard drive, but I haven't yet determined the manufacturer or model of this drive (but see below). The SASI to ST506 controller card is an NDC-5007 from National Computer Ltd. (NCL) in Japan, and is similar to the Xebec S1410.
I made the risky decision to design and build a SASI adapter for my ST-2900 and this hard drive, not knowing whether the hard drive still worked, if the replacement EPROM would work, or if I understood the SASI specification well enough to design working hardware and software. (It was also risky because I had a government deadline to meet to catch up on filing several years of delinquent income tax returns, so couldn't afford to waste time.)
In only 10* consecutive days I designed the hardware, built it (with point-to-point wiring on a Radio Shack perf board), wrote the OS-9 Level I drivers and related utilities for it, and got it all working with minimal trouble-shooting. Wow, was I ever relieved! It wasn't very fast because it used programmed I/O through the 6522/VIA, but it was so much better than using floppy disks. And this system made it possible for me to process all the accounting data for several years and file my past due income tax returns before getting into real trouble.
The NDC-5007 controller can format the hard drive with 256-byte or 512-byte sectors. I opted to use 256-byte sectors to simplify the device driver software (so it wouldn't need to do deblocking), but at the cost of losing 5.9% of the maximum capacity. The driver software (see below) is not an example of my best work because it was written in a hurry and never cleaned up later, but it worked.
However, by this time sales of the ST-2900 had dwindled, and I was now busy with the DMC software and documentation, so I never created a PCB layout for it, and didn't put it into production. And I never wrote any FLEX drivers for it.
I also designed a SCSI interface, but never finished building it.
(Click on a picture for a larger version.)
Pictures of assembled SASI interface board (204-611KB .jpg). |
Pictures of NCL SS-10 10MB external hard drive (241-557KB .jpg). | ||||
Pictures of NCL SASI controller, Densei 10MB hard drive, and power supply (402-1043KB .jpg). |
*Design Notes
Although I say that the hardware and software were designed, built, written, and tested in only 10 days (if my memory is correct), I had already done some research over the previous several years. For example, BYTE magazine had a 3-part series in 1983 on building a SASI adapter for the S-100 bus: March, April, May. And a May 1983 article in Kilobaud described how to build an SS-30 bus interface to a Western Digitial WD1000 hard drive controller, complete with schematics and an assembler listing of a device driver for OS-9/6809.
In my SASI adapter design folder I also found information from Wellwritten Enterprises for their SASI adapter for the SS-30 bus and a Xebec S1410 controller, complete with schematics (4MB .zip), a printed assembler listing for SFORMAT for FLEX, and the printed source code for their OS-9/6809 device driver, which indicated it was adapted from a DCB4 driver written by Microware. This source code listing was heavily marked up by me, so it appears I borrowed lots of its code for my driver.
I didn't receive a manual for the NCL NDC-5007 controller, but was given a photocopy of one for the NDC100S (see scanned copy above). This appears to be a slightly newer controller that supports SCSI instead of only SASI, but is mostly compatible with my NDC-5007.
Although my schematics show an optional parallel printer port as part of the SASI adapter, I never built it. I also had ideas on how to add a real-time clock (RTC) to this adapter, but never built it either.
As sales of my ST-2900 board sets and DMC floppy disk controller cartridges dried up in the late 1980's and early 1990's, I had less need to use my custom accounting software, so used this hard drive less and less. Then in 1993 I wrote a simpler accounting program that ran under MS-DOS on my 286 computer. When I moved in September 1998 I put this hard drive into storage, until ...
Restoration
In August 2024, which was at least 26 years (or maybe up to 32 years?) since I last powered up this external hard drive system, I finally made time to work on it again.
I removed the cover, front panel, SASI controller board, hard disk drive, and various sheet metal pieces. (The Phillips head on one of the screws got stripped, so my brother helped me by drilling a hole through the center of the brass screw, then used our late father's screw extractor bits to remove it.) Now I had my first look at the switching power supply underneath, and it looked OK: no bulging capacitors, no RIFA capacitors present (that could explode), and no other visible problems. I connected my test load to it: +5VDC @ 2A, +12VDC @ 960mA. I turned power on for only a fraction of a second, three or four times, then a bit longer, then left it on. I didn't hear any popping or snapping sound, nor see any magic smoke escaping. The cooling fan was fairly quiet, with no loud bearing noise. My DMM showed very acceptable voltages: 5.04VDC and 12.10VDC. More than 3 hours later it was still fine, so I powered it down. I did not use my oscilloscope to measure the ripple.
I didn't remove the hard drive from its metal mounting plate, since the two screws were glued. There was no manufacturer's name or model number visible on any of the other 5 sides. However, the drive's PCB has the name "Densei" on it. Googling found that, indeed, there was a Japanese manufacturer of hard disk drives named Densei (aka Nippon Electric Industry Co. Ltd., or NEI), that stopped making them in December 1986. My drive appears to use a stepper motor for positioning, and is an MFM drive with 306 cylinders, 4 heads, and 32 sectors/track (256-byte sectors), which is similar to the Seagate ST-412.
In the meantime I wrote a new program for OS-9 in 6809 assembler, that can capture every one of the 39168 256-byte sectors, without aborting on an error, and save them to a disk image file in a virtual disk image on my laptop computer. It also produces a map, showing for each sector and track, whether it was read OK or had errors. I couldn't find any notes from when I formatted the drive in December 1988, so don't know how many or which sectors were bad then. I also rewrote the driver, as the original version had several loops without timeouts in it, that could cause it to hang up on an error condition.
On 2024-Aug-31 I re-assembled the hard drive system, connected it to my ST-2900's SASI adapter board, then turned power on. The cooling fan turned on, but I couldn't hear the drive spinning up. Shortly after I noticed that the cooling fan had stopped. Trouble-shooting found that the fuse had blown. Further investigation showed that the power supply now had a short, causing the fuse to blow even when the drive and SASI controller were disconnected. But I can't see any visible damage to the power supply's components.
The next day I made an adapter to be able to power the system from a floppy/hard drive power cable in one of my old PC's. Turning on the power supply caused a solenoid to click (spindle brake released?), but the drive still didn't work. Every time I turned the power on the solenoid moved one way, and turning power off made the solenoid move the other way. And each time, the stepper motor rotated a few degrees, which to me is a clue that the heads are not stuck to the platters (stiction). I foolishly left it powered for many minutes, until I noticed the drive felt and even smelled very hot! So now I have a hard drive system with a damaged power supply, seized spindle bearing, and maybe a burned out spindle motor. Hopefully the SASI controller board and the drive's PCBs weren't damaged when the original supply failed.
I don't have the knowledge or skill or tools or patience to fix these problems. So it's not likely that I will ever be able to get this drive working again to be able to download my old accounting data from it, which is disappointing. However, all, or at least most, of this data was backed up to floppy disks, although I haven't yet captured most of them.
"FLEX" was a trademark of Technical System Consultants (TSC).
"OS-9" is a registered trademark of Microware LP.
Last revised 2024-Sep-03 14:27 PDT.
Copyright 2018- David C. Wiens.