IMSAI 8080‎ > ‎

IMSAI 8080 page 7 – disk system

Disk drives for the IMSAI


My next project was to get a disk system up and running with the IMSAI. By the not infrequent means of paying good money for other's e-waste, a Tarbell 1011A single density drive controller and two Thinker Toys (rebadged Shugart 800) 8" disk drives came into my possession. I was looking at my toughest retrolab challenge to date with an unknown drive controller and drives. It ended up being an exercise in steady, slow moves and a lot of luck that my components weren't junk. It did take a good six months to work out some of the kinks, though.

I started off by documenting the state of the controller card and the drives. Each had many modifications, and understanding those changes would be essential to getting them up and running in my machine.

Tarbell MDL 1011A single density drive controller

First up was the disk drive controller. The Tarbell controller is based on the Western Digital FD1771 controller chip. 

 

The modifications to this board frightened me a bit, but it turns out that the number of jumpers is standard for the Tarbell and are used to accommodate a wide array of drive types with different capabilities. The board documentation gives modification instructions for each drive manufacturer, including the Shugart 800's. The changes on the back of the board were mostly for operation with a Z-80 processor, and are also documented in the manual. Most of the jumpers on the front side were good as they were, while those on the rear were removed to operate with my 8080 card. This included several trace repairs, which were cut as part of the Z-80 mods. 

Below is a table from p 7-8-1 in the manual that summarizes the board changes for Z80 operation and those that I've noted "as received," as well as the action taken.




Page 7-8-1



As received



Action req'd

1

Cut trace

U43 pin 1

U22 pin 2


cut 1/4" above via


repair - done

2

Cut trace

U27 pin 12

U18 pin 1


same as below


.




U18 pin 15


same as below


.




U19 pin 1


cut front of board, 1/8" left of U19 pin 1

repair - done


Leave trace

U27 pin 12

U26 pin 7


looks intact



check continuity - good

3

Cut trace

U27 pin 13

U37 pin 2


cut 1/4" above U27 pin 13


repair - done

4

Cut trace

U57 pin 14

board pin 27


cut at horizontal segment above via

repair - done

5

Jumper

U43 pin 1

board pin 44


U43 pin 1

board pin 44


remove - done

6

Jumper

U59 pin 5

board pin 47


U59 pin 5

board pin 47


remove - done

7

Jumper

U59 pin 6

U27 pin 13


U59 pin 6

U27 pin 13


remove - done

8

Jumper

U27 pin 11

U19 pin 15


U27 pin 11

U19 pin 15


check schematic - removed

9

Jumper

U19 pin 14

ground


U19 pin 14

ground


remove - done

10

Jumper

U19 pin 13

board pin 67


U19 pin 13

board pin 67


remove - done

11

Jumper

U57 pin 15

E36


U57 pin 15

E36


remove - done

12

Jumper

U41 pin 4

U57 pin 14


U41 pin 4

U57 pin 14


remove - done

13

Jumper

E37

E40


E37

E39 - E40*


remove - done

14

Install

C24

100pF cap


100pF cap



remove? - yes, see p. 3-3-7 - removed

15

Install

R34

10kOhm 1/4W resistor

30kOhm?



remove? - yes, see p. 3-3-7 - removed


These are the jumper settings documented for the Shugart and those on the board as received. There are only two jumpers to remove—they were for the TG43 signal, which the Shugart generates on its own.




SHUGART settings


As received


Action req'd

Direction polarity


E1

E13


E1

E13


Pull-up


E3

E11


E3

E11


Pull-up


E5

E10


E5

E10


Normal step line


E7

E8


E7

E8


Write data

WD*

E15

J1-38


E15

J1-38


Write gate

WG*

E16

J1-40


E16

J1-40


Drive select 2

HLD2*

E17

J1-30




no action

Current select





E18

J1-16

remove - done

Drive select 0

HLD0*

E19

J1-26


E19

J1-26


Drive select 1

HLD1*

E20

J1-28


E20

J1-28


Step

SI*

E21

J1-36


E21

J1-36


Direction

SO*

E22

J1-34


E22

J1-34


Head load

DS0*

E23

J1-18


E23

J1-18


Drive select 3

HLD3*

E25

J1-32




no action

For HLD3


E28

E38


E28

E38


Always select 0 lines

E29

E30


E29

E30


Pull-up


E39

E40


E39

E40


Use all of decoder


E41

E52


E41

E52


Use drive's ready line

E43

E44


E43

E44


See page 4-1-3


E48

E47


E48

E47

E47 for IMSAI

Current select priority




E49

E50

remove - done

For head-load


E51

E55


E51

E55


Pull-up


E53

E40


E53

E40










Ready

RDY0*

R1

J1-22


R1

J1-22


Index

INDX0*

R3

J1-20


R3

J1-20


Write protect

WRPT0*

R5

J1-44


R5

J1-44


Track zero

TR00*

R7

J1-42


R7

J1-42


Raw data

RDAT0*

R11

J1-46


R11

J1-46



With board-level fixes done (but still uncertain whether it worked), it was time to move on to the disk units.


Thinker Toys Discus drives

George Morrow's company Thinker Toys produced the Discus drive system in the late 70's. The drives are stock full height, single-sided Shugart 800's, each in a sheet metal case with its own linear power supply, power switch, and fuse. When they're switched on, the drive spindle spins continuously by an ac motor. The head is driven by a DC stepper motor. Disk wear is reduced by loading and unloading the read / write head. A felt pad loads the head against the disk by a solenoid activated cantilever. Each drive power supply generates the +5, -5, and +24VDC required by the drive electronics. In my case, the PSU produces -9V and the drives are jumpered for operation between -7 and -16VDC (jumper L). The drives are fantastically electromechanical and so much larger and more complex than the 5 1/4 inch (Apple) drives I used as a kid.

I disassembled first 8" disk drive and brought the drive power supply up on a variac with the control board disconnected and measured outputs after about an hour or so. I also powered "disk 1" up. This one was in a bit worse shape. The PSU was unplugged from the motor and control board when I opened it. There are several missing screws, so it was looser in its frame. There was more debris on the bottom and some signs of rodent activity, although it looks like it may have gotten in through the vent. Interestingly, the second drive is a model 800-1 (not 800-2 like the other). The control board does not have solder mask. The disk drive assembly does not have the same serial number as the label on the Thinker Toys case, so it must have been replaced or exchanged at some point. That could explain why the power was disconnected. It also took me a little while to realize that all but one of the jumper wires to the R/W head (J1) had been cut, which I had to resolder.

The Tarbell controller documentation provides the settings for the Shugart drive control board. A summary of the control board settings as received and necessary changes are below.



Drive 0 jumpers. Board 25103-4 / 0702

Installed



Action


A



A



-


B



B



-


C



open



install jumper (C is below DC and D on left) - done


Y



Z



move to Y - done


T2



T2



-


DS



open



install jumper - done


L - two vertical pins


L - vertical



no change * * * If the shorting plug is in the vertical position the -7 to -16 VDC option can be used. If the shorting plug is in the horizontal position, -5 VDC must be used.


DS1



DS3



change - done


T3



open



install jumper - done


T4



open



install jumper - done


T5



open



install jumper - done


T6



open



install jumper - done


Remove jumper X if installed


JUMER X INSTALLED


remove  - done


800



800



-





I/S soldered together


removed









Drive 1 jumpers. Board 25105-4 / 0702



Installed



Action


A



A



-


B



B



-


C



wired closed



verify continuity


Y



Z



move to Y - done


T2



T2



-


DS



open



install jumper - done


L - two vertical pins


open



install jumper * * * If the shorting plug is in the vertical position the -7 to -16 VDC option can be used. If the shorting plug is in the horizontal position, -5 VDC must be used. - done


DS2



DS3



change - done


Remove jumper X if installed


JUMER X INSTALLED


remove - done


800



800



-


The ac motor on both drives ran, the drives could clamp and spin disks, and so the belts looked good as well. I built a cable to connect the 50 pin slot connector of the drive to the berg connector of the Tarbell controller and set off to do the first tests documented in the Tarbell controller manual with with "disk 0": Type 1 commands all worked, confirming master reset test (a machine reset causes the head to move to track 0), step in / step out test (actuate the stepper motor), and seek test (move the head to a specific track). The "head load" type 2 command also checked out. These tests are performed with short programs entered through the front panel. Here's a picture of the first drive under initial tests:


So far, so good. At least basic commands were making it to the drive, which was responding appropriately. Next up was to see if I could get CP/M running. The most straightforward path would be to write an archived boot disk to media then try to boot it with the IMSAI. That would require getting the drive to work with my disk imaging computer and a CP/M BIOS modified for the Tarbell controller and my I/O.


Page listing - "Subpage Listing"