Reverse-engineering WD1000, WD1001 hard disk controllers

Eric Smith spacewar at
Sat Nov 19 18:33:20 CST 2016

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