Floppyanschluss

In den Floppy-Modulen arbeitet ein FDC vom Typ U8272 (Intel 8282A, NEC 765A). Es können 2 Laufwerke 5¼„ oder 3½“ angeschlossen werden.

Dieser Controller hat eine Besonderheit mit RDY: Das Signal wird ständig vom Laufwerk abgefragt, auch wenn gar kein Schreib- oder Lesevorgang erfolgt. Deshalb muss RDY unabhängig vom „Kopf laden“-Status generiert werden.

Außerdem wird KEIN Motor-On-Off-Signal generiert. Das robotron-Modul besitzt für die Motor-Signale eigene Ports und Treiber (A302), beim Rossendorf-Modul fehlt dies!

Besonderes Augenmerk ist deshalb auf die richtige Konfiguration der Laufwerke zu richten:

5¼„-K6501-Laufwerke (DS, DD, 800K, „MFS 1.6“) enthalten zur Einstellung der jeweiligen Betriebsbedingungen steckbare Brücken. Bei Auslieferung neuer Laufwerke sind folgende Brücken gestückt: FG, DS0, RY, ML, E0

Es müssen folgende Brücken eingesetzt werden:

  • Laufwerk A: DS0, RE, RY, E0, FG
  • Laufwerk B: DS1, RE, RY, E0, FG

Die Brücken befinden sich auf der Leiterplatte auf der Unterseite des Laufwerkes.

  • DS0 und DS1 legen die Laufwerksadresse fest;
  • RE bewirkt die automatische Rekalibrierung (Spur 0 anfahren) beim Einschalten der Betriebsspannung;
  • RY legt fest, dass am Kontakt 34 des Interface-Steckverbinders (Shugart-Bus) das Signal RDY (ready) ausgegeben wird;
  • E0 und FG sind bereits vom Hersteller eingesetzt und werden nicht verändert.

Beim Rossendorf-Modul fehlt ein Motor-Signal. Hier sind die Jumper (vermutlich) wie folgt zu stecken:

RE, ML, E0, FG, DS0 oder DS1, (und sicher auch RY)1)

  • ML bewirkt, dass der Motor sowohl bei aktivem Signal /MO rotiert als auch bei aktiver Front-LED. (Die Front-LED leuchtet normalerweise, wenn DS0..DS3 aktiv ist.)

(s. Beschreibung MFS 1.6, TEAC_MFS16.pdf)

Unter http://www.oldskool.org/disk2fdi/525HDMOD.htm ist beschrieben, wie man 1,2MB-5¼“-Diskettenlaufwerke so umbauen kann, dass sie mit 300 upm arbeiten und so ebenfalls am KC genutzt werden können.

3½„-Floppies: Die 3½“-Disketten sind kleiner, robuster und leichter erhältlich. Mit diesen Vorteilen haben sie die 5¼„-Laufwerke in der aktiven CP/M-Arbeit am KC praktisch abgelöst. Normale PC-Laufwerke müssen aber noch umgebaut werden. HONI hat diesem Thema eine ganze Webseite gewidmet honi.hucki.de.

Auch auf der Webseite von U. Zander http://www.sax.de/~zander/ und beim KC-Klub http://www.iee.et.tu-dresden.de/~kc-club/ gibt es Hinweise zum Umbau und zum Anschluss von 3½“-PC-Laufwerken.

Im meinem KC Z9001 kompakt nutze ich zwei 3,5„-Floppies vom Typ TEAC FD-235HF 218-U.

  • Drive Select wird per Jumper eingestellt: beide LW auf DS0
  • alle anderen Jumper entfernen
  • Lötbrücke bei S27 entfernen (/DC an PIN 34)
  • Lötbrücke bei S29 herstellen (/RY an PIN 34)

Beide Laufwerke sind als Drive 0 gejumpert; die Zuordnung als Laufwerk A oder B erfolgt über das Kabel (s.u.). Dadurch sind die Laufwerke selbst beliebig austauschbar.

robotron

Leider entspricht die Anschluss-Steckverbindung am Modul zum Floppy nicht dem PC-Standard-Kabel. Es muss deshalb ein Kabel selbst gebaut werden. Dazu gibt es eine Beschreibung zum Kabel und Bilder.

Modul-Anschluss-Nr. (A1..B13) entspricht der Bezeichnung in den Unterlagen von U. Zander. Auf der Leiterplatte ist B1 der obere (rechte) Anschluss.

Pin LWA Signal                  Modul   Bez. im Stromlaufplan
-------------------------------------------------------------
1 (rot) Masse                   -
2       /REDWC  o. frei         -
3       Masse                   -
4       /INUSE  o. /HL          -
5       Masse                   -
6       /DS3                    -
7       Masse                   A2
8       /INDEX  Index           B2      /IX
9       Masse                   A3
10      /DS0 Drive Select A     B3      /SE0
11      Masse                   A4
12      /DS1 Drive Select B     B4      /SE1
13      Masse                   -
14      /DS2                    -
15      Masse                   frei            /MO1 = B1
16      /MOTEB Motor Enable     A1(!!)  /MO0
17      Masse                   A9
18      /DIR Direction Select   B9      /SD
19      Masse                   A13
20      /STEP Step              B13     /STP
21      Masse                   A10
22      /WDATA Write Data       B10     /WD
23      Masse                   A12
24      /WGATE Write Gate       B12     /WE
25      Masse                   A5
26      /TRK00 Track 00         B5      /T0
27      Masse                   A8
28      /WPT Write Protect      B8      /WP
29      Masse                   A6
30      /RDATA Read Data        B6      /RDO
31      Masse                   A11
32      /SIDE1 Side Select      B11     /SS
33      Masse                   A7
34      /RDY o. /DSKCHG         B7      /RDY
Das Kabel ist aus einem PC-Floppy-Kabel so gebaut, dass es zwei Laufwerke unterstützt. Dazu sind die Leitungen 10-13 an Laufwerk B vertauscht, und das drive-select Signal wird an das jeweilige Laufwerk geleitet. Wenn man auf Laufwerk B verzichtet, muss nichts am Kabel verändert werden. Mein Floppy-Modul 1.6640.02050 ist mit einer männl. Buchse bestückt, deshalb sieht es bei mir wohl mit Pin1 und Pin13 vertauscht aus. Als Gegenstück ist am Floppykabel ein Aufpressstecker (weibl.) dran, wo ich die einzelnen Kabel alle so hingebogen habe, dass sie am richtigen Anschluss landen. In originalen Modulen gehört der weibl. Steckverbinder zur Floppy auf die Platine)

Ansonsten hilft ein Blick in den Stromlaufplan (U. Zander → z9_fdc_s.pdf) und in die Beschreibung der Diskettenstation (U. Zander → z9_disk.pdf) sowie die Kabel-Beschaltung http://www.sax.de/~zander/z9001/tip/tip4.html.

Rossendorf

Die Kabelbelegung des Floppymoduls wurde so gewählt, dass ein Flachbandkabel vom Modul zum Floppy genutzt werden kann: Die Steckerbelegung entspricht der des Laufwerktyps K5600.20 und wird interfaceseitig durch eine Verteilerleiste in Schlitzklemmtechnik realisiert (mp 02/89, S.57).

cpmross_stecker.jpg
cpmross_stecker2.jpg
Originalkabel:
Modul von hinten, (auf dem Kopf stehend!)
Stecker für Floppy (von hinten)
Eigenbaukabel

Zum Selbstbau kann man auch einfach ein altes PC-Floppy-Kabel nehmen. Das verdrehte Ende für das zweite Laufwerk wird abgeschnitten, ebenso der Pfostenstecker am Ende zum Motherboard. Es bleibt ein Kabel ohne Verdrehungen übrig. Nun biegt man einige Leitungen am abgeschnittenen Ende beginnend mit 1 (rote Markierung) hoch: 2 hoch, 8 bleiben, 1 hoch, 2 bleiben, 2 hoch, 3 bleiben, 1 hoch, 5 bleiben, 1 hoch, 5 bleiben, 1 hoch, 3 bleiben. Die bleibenden Leitungen werden nun auf den Steckeverbinder im Modul aufgepresst.

Die Stromversorgung des Laufwerks erfolgt über einen TGL-Stecker. Nimmt man ein Standard-PC-Stromversorgungskabel, so kommen die Kabel wie folgt an das Modul, beginnend an der Gehäuseseite: gelb (12V), schwarz (GND), rot (5V). (Im Bild ist ein anderes (originales) Kabel!!!)

gelb sw  rt   (PC)
12V  GND 5V
 \   |  /
          gn       |
          ||       |   
  +---------------------+
  | ooo   A1.....A13    |  Modul-von hinten 
  | 123   B1.....B13    |  (Gehäuserückseite, Leiterseite)
  |                     |
  |                     |
  |                     |
  |                     |
  |                     |
  |                     |
  |                     |
  +---------------------+
     ||||||||||||||||  


Pin LWA Signal                          Modul    Bez. im Stromlaufplan
----------------------------------------------------------------------
1 (rot) Masse                   -
2       /REDWC  o. frei         -    
3       Masse                   x       B1      
4       /INUSE  o. /HL          x       A1      /HL
5       Masse                   x       B2      GND
6       /DS3                    x       A2 
7       Masse                   x       B3      GND
8       /INDEX  Index           x       A3      /INDEX
9       Masse                   x       B4      GND
10      /DS0 Drive Select A     x       A4      /SE0
11      Masse                   -          
12      /DS1 Drive Select B     x       B5      /SE1
13      Masse                   x       A5 
14      /DS2                    -          
15      Masse                   -          
16      /MOTEB Motor Enable     x       B6 
17      Masse                   x       A6      GND
18      /DIR Direction Select   x       B7      /SD
19      Masse                   -          
20      /STEP Step              x       A7 
21      Masse                   x       B8      GND
22      /WDATA Write Data       x       A8      /WD
23      Masse                   x       B9      GND
24      /WGATE Write Gate       x       A9      /WE
25      Masse                   -          
26      /TRK00 Track 00         x       B10     /T0
27      Masse                   x       A10     GND
28      /WPT Write Protect      x       B11     /WP
29      Masse                   x       A11     GND
30      /RDATA Read Data        x       B12     /RD
31      Masse                   -          
32      /SIDE1 Side Select      x       A12     HD
33      Masse                   x       B13
34      /RDY o. /DSKCHG         x       A13     /READY

Motor-On-Signal

Ein originales Rossendorf-Modul hat auf Anschluss B6 keine Leitung anliegen. Nebenstehendes Bild zeigt ein original Rossendorf-Laufwerk (A.S.). Gesteckt sind die Brücken RY, ML, DS0. D.h., der Motor dreht bei aktiver LED, d.h. bei aktivem DS0-Signal.

Andere Lösungen zur dedizierten Motorsteuerung sind extra Latches wie bei der robotron-Variante oder ein aus den FDC-Zugriffen abgeleitetes verzögertes Signal:

s. E. Schiller, rfe 4/89, S. 221 ff.

Für die Motoreinschaltung /MO wurde eine Verzögerungsschaltung entworfen. Bei jedem Zugriff des U 880 (/CS-Signal) auf den FDC U 8272 wird C1 entladen und der Motor eingeschaltet. Wenn eine Sekunde lang kein Diskettenzugriff stattfand, schaltet sich der Motor wieder aus. Damit werden Diskette und Laufwerk geschont. Außerdem verringert sich die Geräuschbelästigung.

analog mit DL123:

M. Kramer, FA 7/90, S. 325

außerdem dort: Wie praktische Erfahrungen zeigten, ist die Schaltung zur Prekompensation (Bild 1 rechts unten) nur bei den älteren 40-Spur-Laufwerken erforderlich, bei den moderneren kann man sie weglassen (überbrücken). Auf eine PLL-Schaltung für den Datenseparator wurde verzichtet, weil sie nur in Ausnahmefällen Vorteile bringt, aber aufwendig und nicht einfach zu beherrschen ist.

Beim Booten wird das CPM von Diskette geladen und gestartet (→ System). Damit das funktioniert, muss im Boot-Loader eine komplette Floppy-Ansteuerung enthalten sein. Diese ist unabhängig vom Floppy-Treiber im CP/M-Betrieb. Da die Ansteuerung der Laufwerke im Bootloader und im CP/M leicht unterschiedlich erfolgt (s.u.), ist ein funktionierender Boot-Vorgang noch kein Garant für ein lauffähiges CP/M!

Fehlermeldungen beim Laden des Betriebssystems

allg. Fehlermeldungen des FDC-Treibers
R Fehler „Gerät nicht bereit“: kein Strom, Hebel an Laufwerk nicht verriegelt, Diskette verkehrt eingelegt oder keine Diskette im Laufwerk
B Fehler „fehlerhafte Befehlsausgabe (interner Fehler)“
U Fehler „keine Marke gefunden“
W Fehler „Diskette schreibgeschützt“
S Fehler „Sektor nicht gefunden“: Das Betriebssystem kann auf der Diskette nicht gefunden werden (falsche oder defekte Diskette)
D LW nicht existent: Gerätefehler (meist passen Drive-Select und Motor Enable nicht zusammen: DS0↔DS1-Jumperung ändern
T Spurnummer zu groß
C Fehler „CRC-Fehler“
F Seek-Error
spezielle BOOT-Loader-Fehler
N Falsches Betriebssystem (Name)
L falsche Laenge des Systems
? kein CPMZ9-System

In allen CP/M-Versionen und BOOT-Loadern und auch im FORMATZ-Programm kommt der FDC-Treiber xxx zum Einsatz. Er basiert wie auch der Rest des CP/A auf den verfügbaren CP/A-Quellen → CP/A.

FIXME

Unterschiede robotron - rossendorf, Motoransteuerung.

Bei robotron wird über ein Zusatzregister (D175) Reset, Terminal Count und Motor On gesteuert. Der Bootloader sendet zuerst ein Reset, gefolgt von TC. Der Motor des Boot-Laufwerks wird eingeschaltet.

1)
ich habe kein Rossendorf-Laufwerk, an dem das ich überprüfen könnte