TRS-80 Gebruikers Vereniging

Actief sinds 1 oktober 1978

How to expand your Model I with a Hard Disk Drive

There are several disk operating systems (NEWDOS, LDOS) that support a hard disk on the Model I. NEWDOS 2.5 supports hard disks with a maximum of 8 heads and 1024 cylinders. For NEWDOS 2.5 to run you need a Western Digital hard disk controller. In Europe you can still find these controllers in Belgium and in The Netherlands. These are controllers of the type WD 1002-05/HDO, but just the WD 1002-05 will work fine too, as these is not a Hard Disk Only but can run 4 floppy drives as well.

The WD hard disk controller can be connected to any industry standard hard disk capable of encoding MFM at a data transfer speed of 5 MHz. The interface should be ST506 or ST412 compatible (Seagate)

The capacity of the hard disk may not exceed 64 Mbytes, but as programs for the TRS-80 tend to be written very compact, a hard disk of 20 Mbytes seems to be very large enough, and you can even use a 10 Mbytes quite well.

As the hard disk controller alone consumes 1.5A at +5V, this means that you will need a power supply of at least 3A at the +12 V and at least 4A at the +5V because you will also need to feed the hard disk and the controller as well. A XT/AT power supply will do.

Than you need an adaptor. These adaptor decodes the I/O ports. For Newdos 2.5 these are the Ports C8H till CFH, by means of the 74LS00 and 74LS30. If you already have a buffered system (Model 3,4 and some model 1 with buffer card) than the 74LS245 is not needed.

The left part of the drawing is for the so called "Utrechtse Bus", a costume made 19" rack Expansion Interface, so you don't need to pay attention to that, accept if you want to build this adaptor to run on a Model 3/4. In that case build the Utrechtse-bus with the following changes:

Utrecht 50-pin card edge Utrecht 50-pin card edge
A14 1 C10 21
A16 3 A30 35
A18 5 C30 33
A20 7 C20 31
A22 9 C18 29
A24 11 C12 23
A26 13 C16 27
A28 15 C14 25
A6 37 C4 43
C6 17 C2+C31 2-50
C8 19

A lot of cables are needed:

20 wires flat cable from card edge to dual row (drive - controller).
34 wires flat cable from card edge to dual row (drive - controller).
40 wires flat cable from dual row to dual row (controller - adaptor)
40 wires cable from host adaptor to the computer. (as short as possible, preferable directly connected)

Take good care of the groundings (short and thick wire). Every IC has to get (+5V) and Ground. Give each IC its bypass 100 nF capacitor.

After building and testing, you need to format Low Level the hard disk. This can be done with HDFMTAPP/CMD. For a Seagate ST225 hard disk (4 heads, 615 cylinder) you should answer:

hard disk relative number? 0
Relative number first surface 0
Number of recording surfaces 4
Number of tracks/surface (cylinder) 615
Number of first cylinder 0
Number of cylinders to format 615
Track stepping rate 15
Data sectors per track 32
Sector interleave 21
Ready to format? Y
Now make your partitions and format high level.

Newdos 2.5 comes with an utility (MOUNT/CMD) to do this easy by means of a HDA-file. The Pdrive-table is extended and will look something like this.

Pdrive,0,1,hds=(0,615,0,4,32,0,5760,2880,5,8,0,32) whereas the parameters between the ( ) stands for:

0 the physical hard disk number
615 number of cylinders
0 starting head number of the volume
4 number of heads for this volume
32 sectors per track
0 stepping rate
5760 first sector of the volume
2880 number of sector of the volume
5 sectors per gran
8 grans per lump
0 code for directory in the middle of volume
32 length of the directory in sectors
Format every volume.

Some pdrives should be still exist for the floppy. Now copy the operating system from floppy to volume 0. Make a boot floppy, and you're in business. Newdos 2.5 uses himem from F900H to FFFFH, so some programs may not work if they to use the same memory area. Don't ever forget to park the head of your MFM hard disk!

The host adaptor described above lacks a hardware write-protect option. This was done to avoid complicating the scheme. However this can be accomplished by making some software changes (ZAP's) to SYS0 and HDFMTAPP.

Model I Model 3/4 Old New
SYS0/SYS FRS 19 byte 22 FRS 18 byte CA DB C0 AF 00
FRS 19 byte 71 FRS 19 byte 27 D3 C1 00 00
FRS 19 byte 7A FRS 19 byte 30 D3 C1 00 00

HDFMTAPP/CMD FRS 0 byte 1D FRS 0 byte 26 D3 C1 00 00
FRS 0 byte 28 FRS 0 byte 31 D3 C1 00 00
FRS 1 byte 42 FRS 1 byte 4B DB C0 AF 00

There is no guarantee that the hardware project will work. This are roughly translated parts of larger articles published in Remarks.