Zur Nutzung von CP/M ist ein Floppylaufwerk sinnvoll. Es ist auch möglich, CP/M ganz ohne Disketten auszuprobieren (→ Mini-CP/M-System), zum „richtigen“ Betrieb gehört aber ein Floppylaufwerk.
2010: Neu ist die Lösung mit dem Megamodul: Direkt im Mega-Modul steckt ein Mini-CP/M CPM, was ohne Floppys arbeitet. Mit einem Floppy-Modul, z.B. dem Modul für den BIC (gejumpert auf Z9001 und ohne EPROMs), einem umgebauten 3,5„-Laufwerk (s. http://honi.hucki.de/), und der Systemdiskette CPMZ9R.TD0 aus cpm-disks.zip kann mit BOOT CP/M von Diskette gestartet werden. Da in dieser Minimalkonfiguration nur 48K RAM zur Verfügung stehen, ist der TPA-Bereich kleiner als bei der u.a. Lösung mit zusätzlichem 64K-Modul, aber es reicht für viele Programme aus.
Als professionelle Varianten für den Betrieb von CP/M am Z9001 gibt es mindestens zwei Lösungen:
Die Robotron-Variante basiert auf den Entwicklungen aus Rossendorf.
Eine Beschreibung dieser Systeme gibt es unter Beschreibung.
Beide Lösungen bestehen aus den gleichen drei Modulen (diese sind hardwaremäßig unterschiedlich realisiert, haben aber die gleiche Funktion):
Weitere Lösungen sind aus der Literatur namentlich bekannt, leider fehlen weitergehende Informationen. Neben originaler Arbeit mit Floppies gibt es auch Lösungen, CP/M-Programme von Kassette zu nutzen. Beispielsweise können mit dem Zusatzmonitor ZM3 diverse CP/M-Programme in einer CP/M-BDOS-Emulation ausgeführt werden. Prinzipiell reicht eine beliebige (K1520-Bus-komaptible) Floppy-Karte aus (etwa vom Z1013), das 48K-CP/M muss nur im BIOS an diese konkrete Karte angepasst werden.
Von Robotron gab es zumindest Enwicklungsmuster eines Floppy-Moduls, eines Bootmoduls und eines dazugehörigen 64K-RAM-Moduls sowie ein Beistellgerät für 2 Floppy-Laufwerke (5 1/4“, max. 800 KByte).
Unterlagen zu den Robotron-Modulen gibt es auf den Seiten von U. Zander http://www.sax.de/~zander/ (Hobby»Z9001»Module»Diskettenbeistellung). Hier gibt es ebenfalls Bilder der originalen Module:
Boot-Modul (außen und innen), 64K-RAM-Modul, mein Floppy-Modul mit 5 1/4„-Laufwerk K6301
Der Z9001 wird mit allen 3 Modulen bestückt (und evtl. noch ein Drucker-Modul gesteckt). Er meldet sich nach dem Einschalten mit „CPM-System>“. Mit „BOOT“ wird die Datei @CPMZ9.COM von der Boot-Diskette geladen und gestartet.
ich nutze jetzt (2008) zwei 3,5“-Floppies vom Typ TEAC FD-235HF 4291. Anstelle eines 5 1/4„-Laufwerkes ist es günstiger, ein (leicht modifiziertes) 3.5“-Laufwerk zu nutzen. Die 3.5„-Disketten sind kleiner, robuster und leichter erhältlich.HONI hat eine ganze Webseite diesem Thema gewidmet http://honi.hucki.net/ ! 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 dazu.
An den TEAC FD-235HF 4291 ist A-B-2 und C-D-2 gejumpert (bei Laufwerke als Drive 0; die Zuordnung als Laufwerk A oder B erfolgt über das Kabel). Das Kabel ist etwas aufwändiger als bei der Rossendorfvariante, deshalb gibt es eine Beschreibung zum Kabel und folgende Bilder.
Mein aktueller Stand (März 2008): Ein 64K-Modul (Umbau eines 16K-Moduls durch U. Zander), mein Floppy-Modul und zwei 3,5“-LW sowie ein Boot-Modul (Umbau eines ROM-Moduls durch U. Zander). | Die Laufwerke stecken in einem Floppyrahmen aus einem alten PC. Das obere Laufwerk ist A, darunter B. Anstelle des 3.5„-A kann ich an den Steckverbinder auch mein 800K-5 1/4“-Laufwerk anschließen. |
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 nix 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).
Noch ein Hinweis: Das Netzteil des Z9001 hat genug Power, um ein 1.6er Laufwerk mit anzutreiben. Deshalb habe ich die benötigten Spannungen gleich mit am Modul herausgeführt.
Um 1988-1989 wurde am Zentralinstitut für Kernforschung der DDR, in Rossendorf von Dr. Frank Schwarzenberg und Dr. Fromm eine Implementierung das CP/A für den Z9001 entwickelt Beschreibung. In der Zeitschrift Mikroprozessortechnik gab es dazu einen Informations- und Nachnutzungsbeitrag mp 02/89, S.57.
Das Floppy-Modul aus Rossendorf ist im Gegensatz zur Robotron-Variante völlig anders aufgebaut (8 MHz, 4 Floppies anschließbar), bis auf die Portadressen aber gleich ansteuerbar. Auch die anderen beiden Module sind funktionskompatibel zu den Robotron-Äquivalenten.
Von links nach rechts: Eprom-Modul 5285.0010, 64K DRAM 5285.0015, Floppy-Disk-Modul 5285.0020, s.a. mp 02/89, S.57. Die Module stammen aus dem Besitz von Alexander Schön. Bei ihm gibt es auch weitere Unterlagen zu den Rossendorf-Modulen und Software.
Die Kabelbelegung des Floppymoduls wurde so gewählt, dass ein Flachbandkabel vom Modul zum Floppy genommen werden kann:
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 zu sehen!!!)
Der Z9001 wird mit allen 3 Modulen bestückt (und evtl. noch ein Drucker-Modul gesteckt). Er meldet sich nach dem Einschalten mit „CPM-System>“. Mit „CPM“ wird die Datei @CPMZ9.COM von der Boot-Diskette geladen und gestartet.
Das 192K-Modul bzw. dessen Software ist für nativen und auch direkten CP/M-Betrieb vorbereitet. Leider ist diese Software nicht verfügbar. (Sie wurde von L. Elßner nicht komplett programmiert.)
Ich habe aber - aufbauend auf der Rossendorfer Lösung - ein BIOS geschrieben, das mit dem Robotron-Floppy-Modul arbeitet. Das 192K-Modul ersetzt das 64K-RAM-Modul und das BOOT-Modul. Mit dem bereits im Modul gebrannten CP/M-Starter BOOT wird
wie bei den obigen Lösungen eine Datei @CPMZ9 von Diskette geladen und gestartet. Als Alternative zum speziellen 64K-RAM-Modul werden in meiner Lösung die RAM-Speicherbänke des 192K-Moduls genutzt. Es steht sogar noch eine 24K-RAM-Disk zur Verfügung!
Eine weitere Variante ist der CP/M-Betrieb mit dem Floppy-Modul für den BIC. Die neuaufgelegte Platine von U.Zander ist durch Jumper auf 100% Kompatibilität zum robotron-Floppy-Modul umsteckbar.
Auf das Bootmodul kann man verzichten, wenn der Umbau des 64K-RAM-Moduls und des BIC-Floppy-Moduls nach einer Schaltung von J. Felgentreu erfolgt. Es wird lediglich 1 zusätzlicher Widerstand benötigt!
Das Floppy-Modul für den BIC besitzt einen Steckplatz für einen ROM. In diesen wird der BOOT-ROM gesteckt. Eine kleine zusätzliche Schaltung sorgt dann für das Abschalten des ROMs und die Freigabe als RAM-Bereich.
Details s. http://felgentreu.dyndns.org/Projekt/kc87.HTM
umgebautes BIC-Floppy-Modul mit BOOT-ROM, umgebautes 64K-RAM-Modul
Das Steuersignal zum Abschalten des ROMs wird vom RAM-Modul über die Signalleitung 27 an das Floppy-Modul durchgeleitet. Deshalb müssen diese Module in der Reihenfolge RAM-Modul - Floppy-Modul gesteckt werden!
Der Umbau umfaßt folgende Anpassungen zum Orginalkonzept:
Anpassung des 64K RAM Modules zur Teildecodierung der Adresse und zur Generierung des /ROMDI Signales (nur KC85.1 und KC87)
Anpassung des Adressdecoders auf dem FDC Modul und Installation eines Bootroms (U2764) auf der Adresse C000-C7FF