Kurzfassung:
Laufwerk für CP/M umbauen: /RY an PIN 34, sowie DS 0 (drive select)
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:
Die Brücken befinden sich auf der Leiterplatte auf der Unterseite des Laufwerkes.
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)
(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.
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.
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
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.
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).
| |
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
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!
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.
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.