The Story of the Sardis Technologies DMC Floppy Disk Controller for the CoCo

(Note -- I am writing the following mostly from memory, with some supporting reference materials, more than 30 years after the fact, so hope I got the details correct.)

When Tandy announced the Color Computer 3 in the summer of 1986, and indicated that Microware's OS-9 Level II operating system would soon also be available for it, I knew I had to act fast. Here was an OS-9 Level II system that would cost just a fraction of other Level II systems on the market at that time, but was crippled by having a "halt mode" floppy disk controller. I wanted to be the first to offer an improved "no halt" floppy disk controller to really let OS-9 "sing". Maybe I could even get Radio Shack to sell thousands of my controllers, and get rich!

Some of the SS-50 bus 6809 systems had large, expensive, high-performance DMA floppy disk controllers, such as the DMAF2 from SwTPc. But the limitations of the CoCo's expansion connector and the Multi-Pak interface (MPI) meant using DMA to main memory wasn't possible. Someone had given me the schematics for the Smoke Signal Broadcasting (SSB) DCB-4 floppy disk controller for the SS-50 bus. It used a 256-byte buffer SRAM on the controller board to allow the floppy disk controller chip to transfer data for one sector between that SRAM and the floppy disk drive without CPU involvement, even though the data would have to be transferred a second time, between the buffer SRAM and main memory (by the CPU, unless the CPU board had a DMA controller). I decided to use a similar approach, but to use an 8Kx8 SRAM to allow an entire track to be buffered, so formatting a track could use the same method as reading or writing one sector, and to allow sectors larger than 256 bytes to be buffered. Using a 32Kx8 SRAM instead would also allow caching for further performance improvements.

Over the next two months I designed and built a prototype with several cobbled-together boards including an extender board, using both wire wrapping and point-to-point wiring. It looked ugly and fragile (I wish I could find a picture of it), but with the help of a friend (thanks, Jim B!) got it working! I was able to obtain a CoCo 3 earlier than some other customers because I knew someone who worked for Radio Shack here on the west coast of Canada. This let me verify its operation at the faster clock speed of the CoCo 3.

I decided to attend RAINBOWfest in October 1986, held in Princeton NJ, to show off my working prototype. While there I heard that others, such as Disto (Tony DiStefano), were also planning to build a similar device, but didn't yet have working prototypes. I was the first! But I didn't take my fragile prototype into the exhibit hall, since I didn't have a booth. I was too shy to mention it to very many people, although I did invite several interested people to my hotel room to look at it. I don't remember if I actually demonstrated it running. (I probably hadn't taken my CoCo 3, MPI, and floppy disk drives along, as they were too bulky to fit into my luggage, and was too bashful to ask to borrow a system, and would have only had some simple test software written yet anyway.)

Back home, I hired a consulting company to do the PCB layout. Unfortunately, because there were lots of components to fit onto the board, and they quoted a fixed price for the work, they took the easy way out and designed a 4-layer board instead of putting in the effort to squeeze it into only 2 layers. And rather than using the inner two layers for ground and power planes, they just placed a mix of signal traces and ground and power traces on them. Back in those days 4-layer boards were rather expensive, so these boards ate up a chunk of my hoped-for profit margin. (The lowest price I was quoted was C$21.10 each in lots of 100, plus setup charges. I chose this supplier as I couldn't afford to pay more, but was disappointed with their quality. The boards had very uneven etching -- some parallel traces were widened so much they almost shorted together, while on other boards those same traces were narrowed so much they almost dropped out. I had to carefully inspect each of the boards, and discard the worst ones. The boards were warped, especially after wave soldering. Fortunately most worked OK.)

My design included 24 ICs (later increased to 26). I believe in conservative design and not cutting corners, in order to create a solid and reliable product. But not only do all those components cost money and occupy board space, they also draw lots of current. I discovered that my controller drew more current than the CoCo's power supply was supposed to deliver to the expansion slot. It meant I would have to recommend to my customers that they only use my controller when plugged into a Multi-Pak, not plugged directly into the CoCo. This was a limitation that no other floppy disk controller cartridges had (or admitted to), and likely cost me many sales.

Just like I had done with my ST-2900 computer system, I licensed the SDisk (and SDisk3 for Level II) OS-9 floppy disk drivers from D.P. Johnson. This reduced the time required to write the drivers, and also provided features to support other software that could read and write other floppy disk formats, such as MS-DOS. But the cost of the software licence also nibbled away at my profit margin, although I hoped the SDisk drivers would be a good selling feature.

I attended the next RAINBOWfest in April 1987 in Schaumburg IL (near Chicago), but this time as an exhibitor. I brought one or two of my new floppy disk controllers (probably hand-soldered production PCBs?) to demonstrate. Did I also bring my CoCo 3, MPI, floppy disk drives, and monitor? I can't remember. I also don't remember if the first batch of production boards had been assembled yet, or the metal cases manufactured, but in any case my software and documentation weren't quite ready to ship. Instead, I asked interested potential customers to fill out discount coupons (for $30 off the regular price) with their mailing address so I could let them know when the controllers would be ready to ship. As far as I remember, no other vendor was yet shipping a "no halt" floppy disk controller cartridge, so I still had a head start. I gave away a lot of "no halt" stickers and brochures, which helped generate lots of interest in my controller, and in the concept of "no halt" operation.

The bare DMC PCBs were sent out in batches of 100 to a PCB assembly facility. Prior to this I had never had boards assembled with automatic insertion machines and wave soldering, so had lots to learn. (The few ST-2900 boards I sold assembled were all hand-soldered, mostly by a contractor working in her basement.) The cost of assembling the boards was higher than I had expected. Also, all the resistors and capacitors had to be supplied in large taped reels, even though only a portion of each reel was actually used -- the rest I threw into the garbage a few years ago.

I finally started shipping the DMC controller, with preliminary software and documentation, in July 1987. (I don't remember whether the first units had the yellow wire installed that would later be needed to connect to the PAL-4 board.)

When I exhibited at the next RAINBOWfest in October 1987, I tried to bring some DMC controllers to sell at the show. But US Customs/Immigration prevented me (a Canadian) from selling and delivering anything at the show, so I could only take orders, to be shipped later. I don't remember whether I attended RAINBOWfest a fourth time, or not. It was expensive (air fare, taxi, hotel, meals, booth rental, etc.), yet people expected discounted prices at the show. I lost money every time I exhibited, so couldn't afford to continue doing it.

Finishing the software and the user manuals took longer than I had expected. It didn't help that the Multi-Pak's design made it impossible for the DMC controller to issue an IRQ interrupt to notify the operating system when an I/O operation had finished. I had to find alternate, but less than ideal, methods. I ended up creating five or more versions of the driver, using three different methods, that the user could choose from, depending on their system configuration: NAP, VIRQ, IRQ. (A few years ago I read that some OS-9 users had modified their Multi-Pak and CoCo 3 to allow a cartridge in any slot to send an IRQ interrupt to the CPU regardless of which slot was currently selected. I don't remember if I had considered such a solution at the time, but in any case most customers likely wouldn't have been comfortable making these hardware modifications.)

Worse, I now realized that the original hardware design couldn't support all three new driver types. But the first batch of 100 DMC controllers was already assembled, and many had already shipped. Fortunately, the PAL (Programmable Array Logic) chip was in an IC socket. I designed a small daughterboard, the PAL-4, that would plug into this socket to replace the original PAL chip and provide the needed extra functionality. For customers who had already received the controller without this daughterboard, I would have to ship it to them later when the new software and documentation were ready. But the cost of building the PAL-4 board, and the cost of shipping it and the updated software and documentation to previous customers, chipped away at my shrinking profit margin. Also, designing and building and testing the PAL-4 board, and manually installing the yellow wire to connect to it, took valuable time.

Most of my customers were in the USA. In order to make it easier for them to get my DMC controller from Canada, I decided to ship the product from the USA instead of from Canada. This required me to drive to the Canada/US border, about an hour away, wait in several line-ups, personally clear the parcels through US Customs, then ship them via UPS from Blaine WA. I could only ship 4 or 5 controllers at a time, otherwise US customs would have required me to use a customs broker, who charged hefty fees, so I made lots of trips. All this took time away from working on the software and documentation, and the extra car expenses ate up more of my profit margin. (My US competitors didn't have to do all this -- they probably had UPS pick up the packages at their front door.)

Eventually the revised software and revised (but still preliminary) documentation were ready, and the batch of over 200 PAL-4 boards assembled. It took several weeks to test them all, and to carefully package the ones to be shipped separately. Shipments of DMC controllers after mid-January 1988 had the PAL-4 board already installed, and came with the matching new software. I started shipping upgrade packages with the PAL-4 board and updated software and documentation to previous customers, but only if they asked about it. Because the documentation still wasn't considered "final", I held off shipping the upgrade package to everyone else. (Back then I couldn't just send an e-mail to my customers with an attached PDF file containing a revised user manual, but had to print copies and send them by mail, which cost money and was time-consuming.) In hindsight, I shouldn't have delayed shipping the upgrade packages, despite the extra cost.

By this time other companies had started shipping "no halt" controllers, but at prices lower than mine, and without the Multi-Pak requirement. One even called theirs "Dual-Mode Controller" -- I had neglected to trademark the "Dual Mode Controller" or "DMC" names, or to come up with a more catchy and less generic name -- which probably was confusing to customers. The Disto Super Controller II could have optional daughterboards plugged in to provide many other features that my controller couldn't provide, and was eventually even sold in Radio Shack stores. Also, hard disk drives had now come down in price, and some people rather purchased a hard drive instead of a better floppy disk controller. My sales (and income), while never high to start with, shrivelled up, while the cost of my magazine ads remained expensive. I could only afford to advertise every second month, but those months when I didn't advertise, some readers wrongly assumed this indicated I had discontinued the DMC and maybe even gone out of business, and bought my competitors' products instead of mine.

I got distracted from working on the "final" DMC user manuals by various other projects. When I couldn't find an inexpensive off-the-shelf accounting program that suited my needs, especially one that handled parts inventories and parts assemblies, I ended up writing my own custom accounting software using the IMS database for OS-9 from Clearbrook Software Group. When the accounting files became too large for floppy disks, I designed and built the SASI hard disk drive adapter for my ST-2900 system to connect a 10 MB drive. When I needed to modify OS-9 boot disks again and again, such as when looking into the so-called "boot order bug", I developed the KwikGen program. When I got annoyed with having to reboot my ST-2900 system between OS-9 and FLEX over and over, I developed the OF-Link software to allow one or more instances of the FLEX operating system to run under OS-9 Level II on the CoCo 3 -- then never made much use of it myself. I started developing a cartridge for the CoCo that had a SCSI port for a hard disk drive, and two serial ports, but never finished it. I started working on a simple PCB CAD program for the CoCo 3, but never finished it, either. Renovating part of my old house to create a much needed study took a lot of time.

Then, for several months I set the DMC project and other product development aside, as I had to concentrate on catching up on several years of my business accounting and income tax returns when the government gave me a deadline I couldn't ignore. After this I felt mentally and emotionally exhausted, and anxious about my deteriorating financial situation, so found it difficult to concentrate on writing and revising and finishing the DMC manuals. Fortunately in October 1989 I was offered some contract work -- programming in Microsoft QuickBASIC for MS-DOS -- yes, I finally went to the "dark side". This helped to replenish my overdrawn bank account and pay back the money I had borrowed from my brother to build the DMC controllers.

Some time later I purchased my first IBM PC compatible (12MHz 286, 2MB RAM, 40MB hard drive), then a laser printer (HP IIIP), and GeoWorks Ensemble software. I resumed working on the "final" versions of the DMC user manuals using GeoWrite for desktop publishing, and was quite happy with the way the first few pages turned out. But my progress soon fizzled out. Looking back, I set my standards too high, then developed "writer's block".

It also didn't help that GeoWorks Ensemble ran painfully slow on my computer, even though it was advertised as running faster than Microsoft Windows 3.0 on a 286. GeoWorks took one long minute just to select and move one word in a paragraph, with the hard drive continuously thrashing. Adding another 2MB RAM didn't speed it up. Printing one page on my laser printer took several minutes because the GeoWorks printer driver didn't use the raster image processor (RIP) in the laser printer, but did it all in software on the slow 286 processor, then sent the huge bitmap for the page to the printer.

The full-time contract work meant I had little "spare" time, so eventually I stopped working on the manuals. To this day the "final" versions of the DMC user manuals have not been finished or shipped. Several years ago I threw most of the remaining assembled/tested/packaged PAL-4 boards -- that should have been shipped to customers many years earlier -- into the garbage. (Note that the DMC controller does work in both the "halt" and "no halt" modes without the PAL-4 board or newer software.)

Although I didn't make much money from selling the DMC controller, many of my customers really liked it. For example, here is an unsolicited e-mail I received as recently as 2013 from one former customer: "You always did such nice work. Looking at a Sardis Tech floppy controller I have here, it's amazing how much you crammed into that design. Once we started using your controllers, we recommended no others, as your solution seemed to work best. JI"

How many of my DMC controllers were shipped? Only approx. 200. So, if you still own one, especially if it has the PAL-4 board installed, you have a rare collector's item!

I operated Sardis Technologies as a full-time product development and mail-order sales business for over 5 years (1984-1989), as well as just part-time before and after those years, selling the ST-2900 and DMC product lines, but generating very little income. Part of the problem was that everything I did, whether designing/building/testing hardware, writing/testing software, writing/printing documentation, planning advertisements, ordering parts, or packing/shipping parcels, seemed to take me much longer to complete than for most other people. I admit I wasn't good at managing my time, and got distracted easily. I mostly worked solo, and sometimes made mistakes or wasted time on less than ideal or dead-end approaches that a partner could have warned me to avoid. As a result, I was never able to develop enough products to have a catalog of related items. I started to develop several other products, but never finished them or put them into production, for various reasons. Others that I spent lots of time and/or money developing, and actually got ready to ship, like the RAM-512 board and OF-Link software, generated almost no sales.

Looking back, do I regret developing and selling the DMC controller? Absolutely not, even though it was a financial "flop" and put me into debt. I learned so much, some of which did benefit me in getting subsequent well-paying work. And I met some wonderful people. In any case, I needed to develop it, because I was born to create and design.

If you read this entire story, thank you for your interest!


"OS-9" is a registered trademark of Microware LP.
"Radio Shack" is a trademark of Tandy Corp.
"MS-DOS" is a trademark of Microsoft Corp.

Use the Refresh button in your web browser to ensure you get the latest version of this page.
Last revised 2020-Jun-24 11:36 PDT.
Copyright 2020 by David C. Wiens.

Home CoCo products Contact Site map