Lo-tech TRS-80 IDE Adapter rev.2
The Lo-tech TRS-80 IDE Adapter rev.2 is an external IDE storage adapter for Tandy TRS-80 model 3/4/4P PCs, enabling connection of standard IDE drives (and CompactFlash cards, with an adapter). Based entirely on 7400 series logic and through-hole components, the design offers a low-cost, self-assembly storage option for these machines. The design is a minor update to the Lo-tech TRS-80 IDE Adapter.
This adapter can provide bootable storage for TRS-80 Model 4P, via patched ROM - see below.
The design has experimental (i.e. untested) compatibility with the TRS-80 Model 1 and, via the Hans-01 PCB, can be used with the Model II with the replacement of one IC (see Using the Lo-tech TRS-80 IDE Adapter with the Model II).
To buy this and other PCBs, please visit the lo-tech shop.
Technical Description
The adapter is connected to a TRS-80 host through the host expansion socket with a 50-wire ribbon cable, and provides access to the IDE device registers either:
- via IO ports 40-47h, for use with a suitable device driver; or
- via IO ports C8-CFh, for use with the LS-DOS (and system ROM) built-in drivers.
When used as C8h, compatibility is highly dependent on the media and may require BIOS/OS patching due to differences between ATA and the WD1010 specification (used by the TRS-80) on which it is based.
The interface is fully buffered and protected against flipped cable connection.
Similar to the IBM Personal Computer XT System Board Slot 8, TRS-80 expansion cards must assert a signal to transfer data back to the host. The TRS-80 requires 33mA drive on this line (/EXTIOSEL) because of a 150-ohm pull-up resistor within the host. The Lo-tech TRS-80 IDE Adapter achieves this with 74ACT logic at U4 (U1-U3 can be LS or HCT types).
The Lo-tech TRS-80 IDE Adapter rev.2 includes pull-ups on all control lines to ensure there is at least a known state on all lines at all times (and also on the unused IDE data lines).
The expansion bus on Tandy Model II devices has inverted logic on both data and address buses, but the device is otherwise compatible via the Hans-01 PCB. Compatibility is provided by:
- The Hans-01 PCB inverts the address bus via a 74LS240
- On the TRS-80-IDE PCB, 74HCT640 is used at U2 (in place of the 74HCT245N)
- Custom drivers for format routine (DOMDR6/DCT and DOMFORM6/CMD)
Power Supply
Since the TRS-80 expansion port doesn't provide power, 5V DC must be supplied to the adapter. Three power supply options are provided:
- screw terminals
- mini-USB
- via the IDE header pin 20.
Note that the USB socket is only for power and should be connected to a mini-USB charger.
IDE pin 20 (the key pin) is simply connected to the Vcc (5V) line, so can be used to power the board or to supply power to an attached device (many DoM and CompactFlash adapters support pin-20 power).
Connection Cable
The TRS-80 host end has a 50-pin card-edge connector which isn't keyed. A custom cable is needed, which can be constructed by attaching a 50-pin card-edge connector (search sites like Amazon or eBay for "50 Pin IDC Card Edge Connector") to a 50-wire SCSI ribbon cable.
Because of this, there's a chance that connection could be made incorrectly (with the host end flipped). In that scenario, the card is protected by referencing the state of the expansion header pin 45 (defined as no-connection) by attaching a pull-up resistor:
- When correctly connected, the pull-up generates a high logic so enabling the 74ACT241 driving /EXTIOSEL
- When incorrectly connected, the pin will be shorted to ground at the host end, hence disabling the 74ACT241 and so protecting the board from attempting to drive a high-level into a direct short to ground. The fault LED will also then be lit (if attached).
Design
Use of this design is provided subject to the lo-tech.co.uk Terms and Conditions.
Bill of Materials
Part | Value | Device | Package | Qty | Farnell | Mouser |
---|---|---|---|---|---|---|
C1..C4 | 0.1uF (100nF) | Ceramic Capacitor | C025-024X044 | 4 | 2112751 | - |
C5 | 10 - 47uF | Electrolytic Capacitor | E2-5 | 1 | 8767114 | - |
C6 (see notes) | - | Ceramic Capacitor | - | - | - | - |
HD1 | 2x25 Pin Boxed Header | AMPHENOL - T821150A1S100CEU | - | 1 | 2215315 | - |
HD2 | 2x20 Pin Boxed Header | AMPHENOL - T821140A1S100CEU | - | 1 | 2215314 | - |
JP1 | 1x2 Pin Header | AMP 826629-2 | - | 1 | 3418285 | - |
LED1..LED3 | 1x2 Pin Header or 3mm LED | AMP 826629-2 or 3mm, 20mA LED | - | 3 | 3418285 or 2322126 | - |
PWR1 | 1x2 Screw Terminal | MULTICOMP MC000044 | - | 1 | 2008015 | - |
R1..R3 (see notes) | 150 - 300 Ohms | 250mW Carbon Film Resistor | - | 3 | 2329482 | - |
R5 | 5 - 10k | 125mW Carbon Film Resistor | - | 1 | 9342419 | - |
R6 | 10k | 125mW Carbon Film Resistor | - | 1 | 9342419 | - |
RN1..RN3 | 10k Bussed Resistor Network | Bournes 4609X-101-103LF | SIL9 | 3 | 9356819 | - |
U1 | 74HCT688N | 74HCT688N | DIL20 | 1 | 382504 | - |
U2* | 74HCT640N (Model II compatibility) 74HCT245N (all others) |
74HCT640N (Model II compatibility) 74HCT245N (all others) |
DIL20 | 1 | 382474 (Model II compatibility) 9591931 (all others) |
- |
U3 | 74HCT32N | 74HCT32N | DIL14 | 1 | 9591982 | - |
U4 (see notes) | 74ACT241N | 74ACT241N | DIL20 | 1 | 1749616 | - |
IC Socket (DIP20) | - | - | DIL20 | 3 | 1101349 | 571-1-390261-6 |
IC Socket (DIP14) | - | - | DIL14 | 1 | 1101346 | 571-1-390261-3 |
USB | Mini-USB Header | Molex 548190519 | THD | 1 | 9786465 | - |
Notes:
- U4 must be logic type ACT
- C6 can be used to increase the capacitive load on the EXTIOSEL line to increase ACT logic rise and fall time. It is not normally required and should be left unpopulated.
- LEDs can be either mounted directly on the board, or 2-pin headers fitted to enable connection to leaded LEDs, for example in a case
- R1-R3 determine LED drive; specified values provide 20mA with forward voltage drop of 1.8V across LED
- There is no R4
- All resistors have 5mm hole spacing (for 3.5mm resistors like CFR16 series). 6.8mm resistors can be mounted upright.
- Some flux helpful when soldering the USB header
*Use 74HCT245N at U2 for all hosts except Model II.
Booting
A patched ROM for the TRS-80 Model 4P has been developed to enable the 4P to boot LSDOS 6.3.1 directly from the Lo-Tech TRS-80-IDE-Adapter.
See Vintage Computer Forum Development Thread for more details and video demonstration.
This ROM and associated documentation has been developed and tested by TRS-80 enthusiasts Audronic, Gazza, and Hans, and reproduced here with their kind permission (this is not a Lo-tech product and the ROM is currently considered work-in-progress).
Implementing the patched ROM will require dismantling of the computer, burning a new EPROM and possibly some minor modifications to the system motherboard - this is entirely at your own risk. Standard Lo-tech Site Disclaimers also apply.
- Download the patched ROM binary and community documentation here
- Download ROM Pinout documentation here
LDOS, LS-DOS & CP/M Drivers
Drivers and source have been made available with the kind permission of Firebox:
Model II Drivers
Drivers have been made available with the kind permission of Hans: