| |
The Floppy Interface in Waveterm A und B
The original Waveterm A used 8" diskettes. The Eurocom computer has a
50-pin connector following the Shugart 50-pin standard for that. When the
Waveterms were remodeled for 5.25" drives later on, there were 2 concurrent
connection types available:
| the Shugart 34-pin connection that is highly compatible to the original
Shugart 50-pin style of the older 8" floppy drives and |
| the IBM PC 34-pin connector... that unfortunately isn't. |
Of course, I can only speculate about the reasons that caused PPG to choose
the Shugart 34-pin connection; I'd guess that the following ones were the most
important:
| a move to the IBM variant would have meant a lot of redesign |
| the IBM AT with the HD drives wasn't yet really prominent; the
IBM-compatible HD floppy drives weren't yet available in big quantities. |
Outcome: PPG designed a small adapter board that allows it with just a
minimum of work to use 5.25" floppy drives following the Shugart standard.
Adapter Board Pin Layout
The following table is oriented to the result - the 34-pin floppy connector.
A short description of the signals follows. The signal names have been taken
from the Floppy User Guide.
from |
Shugart 34 |
Shugart 50 |
Comment |
|
1,3,5...31,33 Gnd |
1,3,5...47,49 Gnd |
|
Controller |
2 DENSEL |
(2 DENSEL) |
not connected; PPG uses only HD. |
Controller |
4 INU |
18 LSD |
assures that the heads only land on the diskette when that's necessary. |
Controller |
6 DS4 |
32 DS4 |
|
Laufwerk |
8 IDX |
20 IDX |
|
Controller |
10 DS1 |
26 DS1 |
|
Controller |
12 DS2 |
28 DS2 |
|
Controller |
14 DS3 |
30 DS3 |
|
Controller |
16 MOT |
Gnd |
Motors rotate constantly! |
Controller |
18 DIR |
34 DIR |
|
Controller |
20 STP |
36 STP |
|
Controller |
22 WD |
38 WD |
|
Controller |
24 WG |
40 WG |
|
Laufwerk |
26 TK0 |
42 TK0 |
|
Laufwerk |
28 WP |
44 WP |
|
Laufwerk |
30 RD |
46 RD |
|
Controller |
32 SS |
14 SS |
|
Laufwerk |
34 RDY |
22 RDY |
|
Signal Description
Abkürzung |
Beschreibung |
DENSEL |
selects between DD/HD and normal/reduced current; these two settings are
coupled |
INU |
"In Use"; tells the drive that it's currently used. With the
PPG drives, this signal is used to lower the heads onto the floppy disk. |
DS1..DS4 |
"Drive Select 1..4"; selects one of the 4 possible drives. The
Waveterm A software only uses 2 drives, but the underlying FLEX operating
system could in theory use all 4; the Waveterm B operating system knows
only 2. |
IDX |
is set by the drive when the index hole becomes visible |
MOT |
Motor Enable. In the Waveterm, this signal is always set, so the motors
are continuously turning. This is the normal behaviour for 8" drives
and was simply kept this way. |
DIR |
Direction the heads are moved to (outwards or inwards) |
STP |
Causes the heads to move a step into the direction given by DIR |
WD |
data written to the diskette |
WG |
determines whether data are read or written |
TK0 |
reports whether the heads are over track 0 |
WP |
reports whether the diskette is write-protected |
RD |
data read from the diskette |
SS |
sets the current head |
DC |
Disk Change; set as soon as no diskette is in the drive |
RDY |
Drive Ready signal |
DC / RDY |
IBM Mixture; the drive still signals "Not Ready" after the
diskette is changed and a new one has been inserted. To find out whether
this state is the result of a completed disk change, the controller has to
cause the drive to change the current track; this resets the Disk Change
flag and the "real" Drive Ready signal is reported. |
A more detailed description can be found here.
Implications
Usage of the Shugart 34 Standard - and in a form that is not 100% standard -
has some unpleasant consequences, from today's point of view. Because of that,
you can only use some very special drives in the Waveterm that support this
standard - and because of the success of the IBM AT and the following PC
generations, the IBM standard has become the dominating standard. Drives that
can be configured in a way that the Waveterm accepts are very hard to find by
now.
It would be great if the Waveterm could be modified to accept IBM-compatible
5.25" (or, even better, 3.5") drives, too. Unfortunately, there are
some obstacles:
| the PPG behaviour to continuously turn the drive motors and only lower the
heads when necessary can't be realised with the IBM standard, where the
heads are always lowered when the motor is active, but the motor is only
activated when necessary.
In theory, it's possible to change that to the IBM method, but this changes
the drive behaviour, too - starting up the motor takes much longer than just
lowering the heads, so it takes much longer before the drive is ready.
Andreas Voigt has modified his Waveterm A to use 3.5" disks - but to
overcome this, he had to change a capacitor on the Eurocom motherboard (hardware
timeout!), since the different timing lead to lots of runtime errors.
|
| there's no RDY signal on IBM drives; instead, the DC/RDY signal is
reported. The Waveterm expects only RDY; the received DC/RDY would cause the
Waveterm to think that the drive is not ready after a disk change. Since it
does not run through the IBM-compatible check (track change),
the drive stays in this state. Some drives allow to return only the RDY
signal, but unfortunately not all.
Modification of the Waveterm operating systems might allow to correctly
implement the IBM behaviour, but that would mean a lot of work.
Another possibility would be to simply connect pin 34 to ground, giving the
Waveterm the pleasant illusion of a drive that's always ready. Big
disadvantage: the operating system has no chance to find out about status
changes (for example, if the diskette is changed), which can lead to grave
read and write errors.
Just thinking loudly now... in theory, it should be possible to develop a
little circuit that simulates the IBM behaviour. When necessary (as soon as
a Drive Select is set and the drive reports "not ready"), it would
have to move the head one track up/down. In my opinion (which hasn't been
tested yet) it should work to do the following in such a case:
- if Drive Select & Not Ready, start motor for the drive
- if changes occur on the IDC pin (i.e., if there's a disk rotating in the
drive), step up and down one track
|
|
Last update:
04/03/04 |
|
|