Reverse-engineering WD1000, WD1001 hard disk controllers

dwight dkelvey at
Sat Nov 19 18:52:08 CST 2016

I guess I was lucky ob sector size. I never even thought about it when I set it up.

I had to erase the first track as the Olivetti expected bad track information. Olivetti didn't have a way to manually add it but it did have a sector test program. I figured I'd run that and look at the first sector to see what the format looked like. It said all the sectors were good so I never was able to enter the bad track information. What ever was on the first sector originally may have been bad sector info but it wasn't in a format that the Olivetti liked.

I'm suspecting that just running may have burnished the tracks enough to mask the errors. Dang thing still works fine.


From: cctalk <cctalk-bounces at> on behalf of Eric Smith <spacewar at>
Sent: Saturday, November 19, 2016 4:33:20 PM
To: General Discussion: On-Topic and Off-Topic Posts
Subject: Re: Reverse-engineering WD1000, WD1001 hard disk controllers

On Sat, Nov 19, 2016 at 5:25 PM, dwight <dkelvey at> wrote:

> Do they have operations based on the address that the 8x300 is executing,
> like a typical bit slice?

They have two 8-bit PROMs to provide the 16-bit instruction word to the
8X300, and a third 8-bit PROM to provide "fast I/O select", which is
decoded to enable input and output ports, avoiding the need for the normal
8X300 I/O address selection instructions.

> I used a WD1000 based controller on my Olivetti M20. It is actually a
> controller for a TRS-80 but it was a WD1000 in disguise. The M20 had what
> looked to be a wd1000 in the schematic I'd found.

The TRS-80 version of the WD1000 added support for a hardware write-protect
switch, but was otherwise about the same as the normal WD1000.

Early WD1000 units had only 512 words of program, and did not support
runtime configuration of the sector size; you had to install different
firmware for 128-bit, 256-byte, or 512-byte sectors.  Later 1K-word WD1000
firmware, and AFAIK all WD1001 firmware, had runtime sector size

More information about the cctech mailing list