2010-01-31 Amardeep Chana asc135@yahoo.com Cromemco 16FDC modifications to support standard Shugart SA-800 type floppy diskette drives. The 16FDC has a 50 pin header for connection to an 8" floppy diskette drive bus. However, its pinout is arranged to support the Persci drives supplied by Cromemco in that time period. The Persci drives differed from more common models by Shugart, Siemens, and Qume (for example) in that they used a voice coil actuator and two drives mechanically shared the same head positioning. Some differences in the I/O bus were for supporting the buffered seeks of the voice coil mechanism. Other changes I haven't deduced a good explanation for and might fall into the category of "let's make it different because we can". Here is a table to show the signal differences: 16FDC/Persci Pin Standard Drive --------------------------------------- /SideSelect 2 * /ReduceWriteCurrent or /TG43 /DS4 4 & N/C N/C 6 N/C N/C 8 N/C /SeekComplete 10 & /TwoSided /Restore 12 * /DiskChanged or /DoorOpened /Eject 14 % /SideSelect N/C 16 & /DoorLock or /InUse /DS3 18 & /HeadLoad /Index 20 /Index /Ready 22 /Ready /MotorOn 24 & N/C /DS1 26 /DS1 /DS2 28 /DS2 N/C 30 # /DS3 N/C 32 # /DS4 /Direction 34 /Direction /Step 36 /Step /WriteData 38 /WriteData /WriteGate 40 /WriteGate /Track00 42 /Track00 /WriteProtect 44 /WriteProtect /ReadData 46 /ReadData N/C 48 N/C N/C 50 N/C * = Signal line that requires modification in all cases. % = Signal line that requires modification for double sided drives. # = Signal line that is needed for 8-inch drives addressed as 3 or 4. & = Signal line that is different, but unimportanat in most cases. Modification 1: /ReducedWriteCurrent (REQUIRED) This is very important. On an 8" diskette drive, writes on tracks 43 and higher require a reduced write current. The WD1793 controllers have an output on pin #29 called TG43 that indicates "Track is greater than 43." This pin is not used on 5.25" drives nor on Persci 8" drives. Thus on a 16FDC it is not connected. To bring this to the header, we must cut the trace going to pin #2. A good place to cut is just above pin #2, below the via. Next, we will use the line driver in IC40 pins #13 and #14 which originally operated the /Eject signal. Just above the chip's right side is a via near the "8T98" silk screen. Cut it just below the via to free the buffer. Connect a wire from IC26 (WD1793) pin #29 to IC40 pin #14. Connect another wire from IC40 pin #13 to the 50 pin header pin #2. This completes the /ReduceWriteCurrent mod. NOTE1: Some early model drives, notably the SA-800/801, do not have an input for this signal. These early drives seem to use a compromise write current for the entire track range. Almost all other drives either require this signal or provide some means of generating it onboard. NOTE2: Some drives use this signal when reading to differentiate tracks 0-59 and 60-77. A different read filter is applied in this case. Modification #2: Pin 12 driven from both controller and drive (REQUIRED) The 16FDC drives this line with a 65mA line driver. The drive drives this with an open collector transistor. In one combination of states (16FDC high and drive low) both sides will be stressed out of spec. Cut the trace to bus pin #12. The easiest place is near pin #50 of the connector. There is a via just above pin #50. The trace to cut is the one that passes between that via and capacitor C58. Modification #2: Double Sided Drive Support (Required for DS drives) There area two important signals on an 8" drive bus that are needed for double sided diskette support. Unlike 5.25", a double sided 8" diskette is physically different than a single sided one. The index hole is in a different location. Double sided drives have two index sensors so they can discern when a double sided diskette is inserted into the drive. This signal is provided back to the controller. There is also a signal that goes from the controller to the drive to indicate which side the disk I/O will address. The 16FDC does nothing with the /TwoSided signal, so that one can be ingored as it drives /SeekComplete, which will be unused if the system software is not configured for Persci drives. However, /SideSelect must be routed to the correct pin of the bus. To do this, The trace to bus pin #14 must be cut. The easiest place is just above pin #50 of the connector. It is the trace that emerges from under C58 toward the top edge of the card. Then attach a wire from pin #14 of the connector to IC8 pin #14. This brings /SideSelect out to the drive correctly. Modification #3: Support for 8-inch drive select 3 and 4 Attach a wire from bus pin #18 to bus pin #30. Attach a wire from bus pin #4 to bus pin #32. NOTE: The 16FDC does not provide a head load signal. You must configure your drive to load its head when it's select signal is asserted.