TRS-80 IDE Hard Drive Interface

tandy-banner

A thread on vintage-computer.com forum recently caught my eye, member Firebox have breadboarded a simple and low-cost IDE adapter based on a design by Larry Campanell for the TRS-80 Model 4 range, enabling connection of standard IDE drives.  It seemed like an ideal project to turn into a lo-tech PCB.

It turns out there’s already a bootable IDE solution, the FreHD project, providing access to disk images stored on a FAT32 formatted SD card powered by a PIC microcontroller. It does look fantastic, but I felt there could be space for something simpler (and so cheaper) as well.

The prototyped low-cost adapter needs just a few 7400 series ICs, and simply ignores half the data coming from the IDE device to provide the 256-byte sectors the TRS-80 expects. The designer though notes some compatibility issues:

I did have one problem, though — not all IDE drives would work….only one of the four IDE drives I tried would work.

That sounded familiar – I’d been through the same developing the CPLD logic for the XT-CF series.

Timing

When the CPU accesses a device, it first provides the address (IO Port) then the read or write signal.  In the Z80 world the CPU generates the same address, read (RD) and write (WR) signals for memory or IO port addressing, the two being distinguished with IO-Request (IORQ) or Memory Request (MREQ) signals.

In the TRS-80 expansion interface (model 3/4/4P), the system combines IORQ, RD and WR signals to provide simple IN and OUT signals along with the address bus, also providing IORQ and M1 signals for reference which can be used to identify interrupt acknowledgement.

In the original design it seems that device compatibility issues might have been caused by the inclusion of IORQ in the address matching logic:

trs-80-ide-adapter-original

IORQ is asserted concurrently with IN or OUT, so the logic has a timing issue since the IDE interface expects its chip-select (i.e. address match) line to have been asserted before the read or write command.

The Lo-tech design follows more the the XT-CF design, with the IDE chip-select line being driven directly from the address bus with just an LS688 comparator. Some prototyping work by vcforum member Chromedome45 soon proved the logic – so the Lo-tech TRS-80 IDE Adapter PCB design:

trs-80-ide-adapter-pcb-gerber-component-side

Lo-tech TRS-80 IDE Adapter (image generated with GerbV)

Further information on the board including bill of materials, device drivers and design files can be found on the Lo-tech TRS-80 IDE Adapter wiki page.

Availability

PCBs are available now through the lo-tech shop page.

Social tagging:

3 Responses to TRS-80 IDE Hard Drive Interface

  1. chromedome45 says:

    Was fun working on it. Had a lot of help here from James and VC forum member Firebox. Also many thanks to Larry Campbell & Andrew Quinn for the original concept of adapting an IDE interface for the Model 4.

    Frank

  2. RIck says:

    Trying to get this to work without luck. Have tried it with two CF IDE cards and one SD card, and two drivers. The process fails at the format stage when the card shows it is active and the CF/SD cards show “working”. All cards have 5v power.

    Anyone have any ideas?

    • james says:

      Hi Rick. Check orientation of the ICs and for any dry-joints. Also check the CF adapters are configured as master, if they have a jumper on them. The IDE adapter itself needs 5V power too.

Leave a Reply