Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
z9001:cpm:floppyanschluss [2011/04/07 10:20] – angelegt volkerpz9001:cpm:floppyanschluss [2023/09/29 13:37] (aktuell) – [Floppyanschluss] volkerp
Zeile 1: Zeile 1:
-====== Floppyanschluß ======+====== Floppyanschluss ======
  
 +Kurzfassung:\\
 +Laufwerk für CP/M umbauen:  /RY an PIN 34, sowie DS 0 (drive select)
 ===== Laufwerks-Einstellungen ===== ===== Laufwerks-Einstellungen =====
  
-FIXME+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)((ich habe kein Rossendorf-Laufwerk, an dem das ich überprüfen könnte)) 
 + 
 +  * 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 {{http://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:erweiterungen: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.   
  
 ===== Kabel ===== ===== Kabel =====
  
 ==== robotron ==== ==== 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 {{:z9001:anschluss_floppy.txt|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.
 +
 +<code>
 +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
 +</code> 
 +
 +
 +| {{z9001:floppy3.jpg?300|}} | {{z9001:floppy2.jpg?300}} |
 +| 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 ==== ==== 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 ([[:z9001:literatur:mp_89_02_57|]]).
 +
 +| {{z9001:cpmross_stecker.jpg?300}}\\ {{z9001:cpmross_stecker2.jpg?237}} | {{:z9001:cpm:cpmross_kabel_vp.jpg?200}} |
 +| Originalkabel:\\ Modul von hinten, (auf dem Kopf stehend!)\\ Stecker für Floppy (von hinten) | Eigenbaukabel |
 +
 +Zum {{:z9001:cpm:anschluss_floppy_rossendorf.txt|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!!!)
 +
 +<code>
 +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                         B1      
 +4       /INUSE  o. /HL          x       A1      /HL
 +5       Masse                         B2      GND
 +6       /DS3                    x       A2 
 +7       Masse                         B3      GND
 +8       /INDEX  Index                 A3      /INDEX
 +9       Masse                         B4      GND
 +10      /DS0 Drive Select A           A4      /SE0
 +11      Masse                            
 +12      /DS1 Drive Select B           B5      /SE1
 +13      Masse                         A5 
 +14      /DS2                    -          
 +15      Masse                            
 +16      /MOTEB Motor Enable           B6 
 +17      Masse                         A6      GND
 +18      /DIR Direction Select         B7      /SD
 +19      Masse                            
 +20      /STEP Step              x       A7 
 +21      Masse                         B8      GND
 +22      /WDATA Write Data             A8      /WD
 +23      Masse                         B9      GND
 +24      /WGATE Write Gate             A9      /WE
 +25      Masse                            
 +26      /TRK00 Track 00               B10     /T0
 +27      Masse                         A10     GND
 +28      /WPT Write Protect      x       B11     /WP
 +29      Masse                         A11     GND
 +30      /RDATA Read Data        x       B12     /RD
 +31      Masse                            
 +32      /SIDE1 Side Select      x       A12     HD
 +33      Masse                         B13
 +34      /RDY o. /DSKCHG               A13     /READY
 +</code>
 +
 +
 +
 +=== Motor-On-Signal ===
 +
 +{{:z9001:cpm:rossendorf_floppy5.jpg?200 |}}
 +
 +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.//
  
 ===== Boot-Loader ===== ===== Boot-Loader =====
  
-Beim Booten wird das CPM von Diskette geladen und gestartet [[z9001:cpm: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!+Beim Booten wird das CPM von Diskette geladen und gestartet (-> [[z9001:cpm: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 | 
 + 
 +===== der FDC-Treiber ===== 
 + 
 +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 -> [[cpm:cpa|]]. 
 + 
 +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.
  • z9001/cpm/floppyanschluss.1302171608.txt.gz
  • Zuletzt geändert: 2011/04/07 08:20
  • (Externe Bearbeitung)