Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
z9001:cpm:system [2010/07/17 16:46] – Externe Bearbeitung 127.0.0.1z9001:cpm:system [Unbekanntes Datum] (aktuell) – Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1
Zeile 1: Zeile 1:
-====== z9001_cpm_system.htm ======+====== System ======
  
-Das Z9001-CP/M-System ist eine spezielle CP/A-Version, die sich in einigen wenigen Punkten vom Standard-CP/M unterscheidet (s. auch {{z9001_cpm_doku.htm|Doku}}). Als Autor zeichnet sich Dr. Frank Schwarzenberg (Rossendorf) verantwortlich.+Das Z9001-CP/M-System ist eine spezielle CP/A-Version, die sich in einigen wenigen Punkten vom Standard-CP/M unterscheidet (s. auch [[z9001:cpm:dokumentation|]]). Als Autor zeichnet sich Dr. Frank Schwarzenberg (Rossendorf) verantwortlich.
  
-Hinweis: Fast alle Informationen auf dieser Seite wurden durch Analyse und Reassemblierung der Binärdateien gewonnen. Im Original heißen die Routinen also vermutlich anders; es kann auch sein, dass der eine oder andere Punkt falsch interpretiert wurde. Auch die Basis des Quellcodes, der CP/A-Quellcode, ist nur eine Vermutung und wurde nicht durch die eigentlichen Softwareautoren bestätigt.+Hinweis: Fast alle Informationen auf dieser Seite wurden durch Analyse und Reassemblierung der Binärdateien gewonnen. Im Original heißen die Routinen also vermutlich anders; es kann auch sein, dass der eine oder andere Punkt falsch interpretiert wurde. Auch die Basis des Quellcodes, der CP/A-Quellcode, ist nur eine Vermutung und wurde nicht durch die eigentlichen Softwareautoren bestätigt.
  
-**Im {{cpm.zip|Download-Paket}} liegen alle hier beschriebenen Dateien incl. reassemblierter und kommentierter Quelltexte für Selbstkompilierer).**+**Im Download-Paket {{:z9001:cpm.zip|}} liegen alle hier beschriebenen Dateien incl. reassemblierter und kommentierter Quelltexte für Selbstkompilierer).**
  
-Inhalt: +===== Das Boot-Modul =====
- +
-> {{#boot|Der Startprozess (Boot-Modul)}}\\ {{#cpmz9|Der Startprozess (CPMZ9.COM)}}\\ {{#varianten|Varianten der Systemdatei (je nach Floppy-Modul und Floppy-Laufwerk)}}\\ {{#48k|Systemdatei für Standard-RAM}}\\ {{#minicpm|CP/M zum Ausprobieren (Mini-CP/M)}}\\ {{#192k|Systemdatei für 192K-Modul}} +
- +
----- +
- +
-==== Das Boot-Modul ====+
  
 Im ROM des Boot-Moduls (Bereich C000-C3FFh) stecken zwei Bestandteile: Im ROM des Boot-Moduls (Bereich C000-C3FFh) stecken zwei Bestandteile:
  
-  - OS-Systemerweiterung "#       "\\  Hier wird nur der System-Prompt in "CP/M-System>" verändert und so das Stecken der CP/M-Module optisch beim Einschalten des Z9001 angezeigt.+  - OS-Systemerweiterung "#       "\\  Hier wird nur der System-Prompt in "CP/M-System>" verändert und so das Stecken der CP/M-Module optisch beim Einschalten des Z9001 angezeigt.
   - Der Bootstrap-Lader   - Der Bootstrap-Lader
  
 Der Bootstrap-Lader wird mit Der Bootstrap-Lader wird mit
  
-  BOOT [Laufwerk A-F] [Seiten 1/2] [Dichte 4/8]+  BOOT [Laufwerk A-F] [Seiten 1/2] [Dichte 4/8]
  
 (robotron) bzw. (robotron) bzw.
  
-  CPM [Laufwerk A-F] [Seiten 1/2] [Dichte 4/8]+  CPM [Laufwerk A-F] [Seiten 1/2] [Dichte 4/8]
  
 (Rossendorf) gestartet. (Rossendorf) gestartet.
  
-Standardmäßig ist Laufwerk A, 2seitig, 80 Spuren eingestellt (Parameter A 2 8). Es wird also im ersten Floppy-Laufwerk eine 800K-Systemdiskette erwartet.+Standardmäßig ist Laufwerk A, 2seitig, 80 Spuren eingestellt (Parameter A 2 8). Es wird also im ersten Floppy-Laufwerk eine 800K-Systemdiskette erwartet.
  
-Bei Start von BOOT bzw. CPM wird der gesamte Boot-ROM nach 0400H kopiert und dort weiter gestartet. Der Bootstrap-Lader schaltet den Boot-ROM ab und liest nun von einem an das Rossendorfer Floppy-Modul angeschlossenen Floppy-Laufwerk die **ERSTE** Datei ein. Diese muss im Directory der Diskette an erster Stelle stehen, außerdem muss sie die ersten für Programme nutzbaren Blöcke auf der Diskette nutzen.+Bei Start von BOOT bzw. CPM wird der gesamte Boot-ROM nach 0400H kopiert und dort weiter gestartet. Der Bootstrap-Lader schaltet den Boot-ROM ab und liest nun von einem an das Rossendorfer Floppy-Modul angeschlossenen Floppy-Laufwerk die **ERSTE** Datei ein. Diese muss im Directory der Diskette an erster Stelle stehen, außerdem muss sie die ersten für Programme nutzbaren Blöcke auf der Diskette nutzen.
  
-Ist der Dateiname @CPMZ9.COM (Bem: Fehler im Programm, s. im Quellcode binit7), und steht auf dem zweiten Programmbyte 11h, wird die Datei als gültige  CP/A-Systemdatei erkannt und auf die Adresse geladen, die im dritten und vierten Programmbyte angegeben ist (normalerweise 8000h). Dabei werden die ersten bereits gelesenen 128 Byte (der CPM-Lader) nicht mit abgelegt.+Ist der Dateiname @CPMZ9.COM (Bem: Fehler im Programm, s. im Quellcode binit7), und steht auf dem zweiten Programmbyte 11h, wird die Datei als gültige� CP/A-Systemdatei erkannt und auf die Adresse geladen, die im dritten und vierten Programmbyte angegeben ist (normalerweise 8000h). Dabei werden die ersten bereits gelesenen 128 Byte (der CPM-Lader) nicht mit abgelegt.
  
-Das geladene Programm wird schließlich auf der Adresse Ladeadresse + 1600h gestartet (normalerweise 9600h).+Das geladene Programm wird schließlich auf der Adresse Ladeadresse + 1600h gestartet (normalerweise 9600h).
  
 Bislang sind 4 Varianten des Boot-Loader bekannt, die sich aber nur marginal unterscheiden: Bislang sind 4 Varianten des Boot-Loader bekannt, die sich aber nur marginal unterscheiden:
Zeile 42: Zeile 36:
   * BOOTR.HEX von Floppy rossendorf\KC-1   * BOOTR.HEX von Floppy rossendorf\KC-1
   * BFD4.ROM aus dem Rossendorfer Boot-Modul   * BFD4.ROM aus dem Rossendorfer Boot-Modul
-  * Urlader.com für Robotron. Start mit "BOOT" +  * Urlader.com für Robotron. Start mit "BOOT" 
-  * Urlader eines {{z9001_zm.htm|ZM3}}-Schaltmodul-ROMs+  * Urlader eines [[z9001:software:zm|ZM3]]-Schaltmodul-ROMs
  
-==== Aufbau der Systemdatei @CPMZ9.COM ====+===== Aufbau der Systemdatei @CPMZ9.COM =====
  
 Die Datei @CPMZ9.COM besteht aus mehreren Bestandteilen: Die Datei @CPMZ9.COM besteht aus mehreren Bestandteilen:
  
 | **Offset** | **Ziel-Adresse** | **Inhalt** | | **Offset** | **Ziel-Adresse** | **Inhalt** |
-| 0000h-007Fh | 0100h-017Fh | der CPM-Lader. Wird die Datei @CPMZ9 unter CP/M gestartet, wird Ã¼ber diesen Lader der Bootstrap-Mechanismus in Gang gesetzt und das CP/M neu geladen. Auf Adresse 0001h muss der Befehl >ld de, LOADADRESSstehen. |+| 0000h-007Fh | 0100h-017Fh | der CPM-Lader. Wird die Datei @CPMZ9 unter CP/M gestartet, wird über diesen Lader der Bootstrap-Mechanismus in Gang gesetzt und das CP/M neu geladen. Auf Adresse 0001h muss der Befehl >ld de, LOADADRESSstehen. |
 | 0080h-167Fh | CC00h-D405h CCP,\\  D406h-E1fFFh (*) | CCP und BDOS. Eine Kopie des CCP und BDOS wird im Shadow-RAM ab 4000h-55FFh abgelegt. | | 0080h-167Fh | CC00h-D405h CCP,\\  D406h-E1fFFh (*) | CCP und BDOS. Eine Kopie des CCP und BDOS wird im Shadow-RAM ab 4000h-55FFh abgelegt. |
-| 1680h | 5600h-xxxx in Shadow-RAM | Shadow-BIOS. Enthält die eigentlichen BIOS-Funktionen |+| 1680h | 5600h-xxxx in Shadow-RAM | Shadow-BIOS. Enthält die eigentlichen BIOS-Funktionen |
 | xxx | 0180h | Boot-Init-Routine (u.a. Startmeldung und Kopierschutz) | | xxx | 0180h | Boot-Init-Routine (u.a. Startmeldung und Kopierschutz) |
-| xxx | E200h (*) | Upper-BIOS. Enthält den BIOS-Sprungverteiler und Wrapper für die BIOS-Funktionen, die im Shadow-RAM liegen (i.W. Zu- und Abschalten des Shadow-RAM) |+| xxx | E200h (*) | Upper-BIOS. Enthält den BIOS-Sprungverteiler und Wrapper für die BIOS-Funktionen, die im Shadow-RAM liegen (i.W. Zu- und Abschalten des Shadow-RAM) |
  
-(*) gilt für die meisten CP/M-Dateien. Bei größerem Upper-BIOS verändern sich die Adressen von CCP, BDOS und BIOS natürlich.+(*) gilt für die meisten CP/M-Dateien. Bei größerem Upper-BIOS verändern sich die Adressen von CCP, BDOS und BIOS natürlich.
  
-Je nach Startmethode (Start Ã¼ber Boot-Modul oder Start aus CP/M) erfolgt die Initialisierung des Shadow-RAMs unterschiedlich.+Je nach Startmethode (Start über Boot-Modul oder Start aus CP/M) erfolgt die Initialisierung des Shadow-RAMs unterschiedlich.
  
-Beim Start Ã¼ber CP/M wird das Programm auf Adresse 100h gestartet (der CPM-Lader). Beim normalen Start Ã¼ber das Boot-Modul wird das Programm auf Adresse 9600h gestartet. Hier steht ein Sprung zur Routine START. Das ist eine Routine, die unabhängig von ihrer Lage im Speicher aufgerufen werden kann.+Beim Start über CP/M wird das Programm auf Adresse 100h gestartet (der CPM-Lader). Beim normalen Start über das Boot-Modul wird das Programm auf Adresse 9600h gestartet. Hier steht ein Sprung zur Routine START. Das ist eine Routine, die unabhängig von ihrer Lage im Speicher aufgerufen werden kann.
  
 Beide Startmethoden kopieren alles nach dem CP/M-Lader folgende in den Shadow-RAM und enden mit einem Sprung zur Routine START1 im Shadow-RAM. Beide Startmethoden kopieren alles nach dem CP/M-Lader folgende in den Shadow-RAM und enden mit einem Sprung zur Routine START1 im Shadow-RAM.
  
-START1 (je nach BIOS-Version etwa bei Adresse 6060h im Shadow-RAM) kopiert die weiteren Bestandteile an ihre endgültigen Zieladressen (CCP+BDOS, UBIOS, Boot-Init) und startet die Boot-Init-Routine.+START1 (je nach BIOS-Version etwa bei Adresse 6060h im Shadow-RAM) kopiert die weiteren Bestandteile an ihre endgültigen Zieladressen (CCP+BDOS, UBIOS, Boot-Init) und startet die Boot-Init-Routine.
  
-Die Boot-Init-Routine BINIT gibt die Startmeldung aus, initialisiert die Gerätetreibertabelleführ den RAM-Test aus, kopiert einen Startbefehl in den CCP-Befehlspuffer und springt zu WBOOT im Shadow-BIOS. Dort wird am Ende das CCP gestartet.+Die Boot-Init-Routine BINIT gibt die Startmeldung aus, initialisiert die Gerätetreibertabelleführ den RAM-Test aus, kopiert einen Startbefehl in den CCP-Befehlspuffer und springt zu WBOOT im Shadow-BIOS. Dort wird am Ende das CCP gestartet.
  
-==== Das I/O-Konzept ====+===== Das I/O-Konzept =====
  
-Zur universellen Nutzung verschiedener Geräte unter den logischen Gerätenamen CON:, LST:, RDR: und PUN: wurde die bereits im Z9001-OS vorhandene Implementierung des I/O-Bytes und der Zuweisung von 4 unterschiedlichen physischen Treibern zu einem logischen Gerät unter CP/M mit genutzt. Das hat zur Folge, das das I/O-Byte abweichend vom Intel-CP/M-Standard auf Adresse 4 liegt.+Zur universellen Nutzung verschiedener Geräte unter den logischen Gerätenamen CON:, LST:, RDR: und PUN: wurde die bereits im Z9001-OS vorhandene Implementierung des I/O-Bytes und der Zuweisung von 4 unterschiedlichen physischen Treibern zu einem logischen Gerät unter CP/M mit genutzt. Das hat zur Folge, das das I/O-Byte abweichend vom Intel-CP/M-Standard auf Adresse 4 liegt.
  
-            Adr.                         +Adr. ^ 
-            -------------------------------------------- +CP/M I/O-Byte akt. Laufwerk | 
-            CP/M          I/O-Byte         akt. Laufwerk +CP/M-Z9001 akt. Laufwerk I/O-Byte |
-            CP/M-Z9001    akt. Laufwerk    I/O-Byte+
  
-Programme, die das I/O-Byte direkt abfragen/verändernmüssen entsprechend angepasst werden.+Programme, die das I/O-Byte direkt abfragen/verändernmüssen entsprechend angepasst werden.
  
-Mehrere physische Drucker- und Consoltreiber sind im BIOS enthalten. Die Treiber können über das I/O-Byte (z.B. mit dem Programm STAT) jederzeit während des Betriebes ausgewählt werden. Folgende Treiber stehen zur Verfügung:+Mehrere physische Drucker- und Consoltreiber sind im BIOS enthalten. Die Treiber können über das I/O-Byte (z.B. mit dem Programm STAT) jederzeit während des Betriebes ausgewählt werden. Folgende Treiber stehen zur Verfügung:
  
-  -  Console:   (STAT CON:=TTY:==> Tastatur-Beep +     Console:   (STAT CON:=TTY:-> Tastatur-Beep 
-                                     Umwandlung Groß&lt;==> Kleinb. +                                    Umwandlung Groß- <-> Kleinb. 
-                                     Behandlung der Sondertasten +                                    Behandlung der Sondertasten 
-                                     wie unter 3. angegeben. +                                    wie unter 3. angegeben. 
-                (STAT CON:=CRT:==> Tastatur-Beep, keine Umwandlg. +                (STAT CON:=CRT:-> Tastatur-Beep, keine Umwandlg. 
-                                     (zu  empfehlen bei der Arbeit +                                    (zu  empfehlen bei der Arbeit 
-                                     mit Basic) +                                    mit Basic) 
-                (STAT CON:=UC1:==> ohne Beep und Umwandlung+                (STAT CON:=UC1:-> ohne Beep und Umwandlung
  
-  - Drucker:    (STAT LST:=CRT:==> V24-Userport 1200 Baud +    Drucker:    (STAT LST:=CRT:-> V24-Userport 1200 Baud 
-                (STAT LST:=LPT:==> V24-Userport 9600 Baud +                (STAT LST:=LPT:-> V24-Userport 9600 Baud 
-                (STAT LST:=UL1:==> Centronics-Userport+                (STAT LST:=UL1:-> Centronics-Userport
  
-Der Druckeranschluss Ã¼ber den User-Port sind in {{z9001_treiber.htm|Mikroprozessortechnik 10/87}} beschrieben. Für die Nutzung der robotron-Druckermodule gibt es ein CP/M-Systemprogramm V24.COM.+Der Druckeranschluss über den User-Port sind in [[z9001:literatur:treiber|]] beschrieben. Für die Nutzung der robotron-Druckermodule gibt es ein CP/M-Systemprogramm V24.COM.
  
-==== Der Floppy-Treiber ====+===== Der Floppy-Treiber =====
  
-Der Floppy-Treiber basiert im Wesentlichen auf den Quellen BIOSDSK.MAC von CP/A und unterstützt damit auch dessen Komfortmerkmale. So werden eine Reihe gängiger Formate automatisch erkannt (800k (Standard), 780K, 720K, 624K, 400K, 360K, 200K, 148K, ...).+Der Floppy-Treiber basiert im Wesentlichen auf den Quellen BIOSDSK.MAC von CP/A und unterstützt damit auch dessen Komfortmerkmale. So werden eine Reihe gängiger Formate automatisch erkannt (800k (Standard), 780K, 720K, 624K, 400K, 360K, 200K, 148K, ...).
  
-==== Varianten der Systemdatei @CPMZ9.COM ====+===== Varianten der Systemdatei @CPMZ9.COM =====
  
-Auf einer Diskette zu den Rossendorfer Modulen befanden sich eine ganze Reihe von CP/A-Versionen. Leider war keine Version ohne Shadow-RAM-Nutzung dabei (ungeschaltetes System). Prinzipiell sind die Filenamen für CP/M-Z9001-Systeme nach folgendem Schema aufgebaut:+Auf einer Diskette zu den Rossendorfer Modulen befanden sich eine ganze Reihe von CP/A-Versionen. Leider war keine Version ohne Shadow-RAM-Nutzung dabei (ungeschaltetes System). Prinzipiell sind die Filenamen für CP/M-Z9001-Systeme nach folgendem Schema aufgebaut:
  
-CPM [S] TT KK .COM +  CPM [S] TT KK .COM 
-^    ^  ^ +  ^    ^  ^ 
-|    |  |______  2 Buchstaben Kennung fuer zus. Treiber +  |    |  |______  2 Buchstaben Kennung fuer zus. Treiber 
-|    |_________  2 Buchst. Laufwerkstyp +  |    |_________  2 Buchst. Laufwerkstyp 
-|                  (D8 - 80 Track DS +  |                  (D8 - 80 Track DS 
-|                   S8 - 80 Track SS +  |                   S8 - 80 Track SS 
-|                   D4 - 40 Track DS +  |                   D4 - 40 Track DS 
-|                   S4 - 40 Track SS) +  |                   S4 - 40 Track SS) 
-|   |____________  1 Buchst. geschaltetes System (s) +  |   |____________  1 Buchst. geschaltetes System (s) 
-|__________________3 Buchst. CPM (konstant) +  |__________________3 Buchst. CPM (konstant) 
-Zusatzkennungen:\\  sm - mit Treiber fuer S6010 (SIO-Karte)+  Zusatzkennungen: 
 +  sm - mit Treiber fuer S6010 (SIO-Karte)
  
-Zur Unterscheidung, ob ein System für das Rossendorfer oder das Robotron-Floppy-Modul ist, reicht eine Suche nach den beiden Bytes "db 98". Wird diese Byte-Kombination gefunden, handelt es sich um ein System für Robotron-Floppy-Modul, wird dagegen die Bytefolge "db 10" gefunden, handelt es sich um ein System für Rossendorf-Floppy-Modul.+Zur Unterscheidung, ob ein System für das Rossendorfer oder das Robotron-Floppy-Modul ist, reicht eine Suche nach den beiden Bytes "db 98". Wird diese Byte-Kombination gefunden, handelt es sich um ein System für Robotron-Floppy-Modul, wird dagegen die Bytefolge "db 10" gefunden, handelt es sich um ein System für Rossendorf-Floppy-Modul.
  
-Es gibt zwei unterschiedliche CCP-Versionen des CP/A: ccp und ccp2 haben beide den Eintrag CCP fuer shadow BDOS 09.12.88, aber unterscheiden sich. Die zugehörigen BDOSse sind gleich.\\  ccp2 scheint aktueller zu sein. Die Version ccp2 wurde gegen unterschiedliche Adressbereiche gelinkt (CC00h und CD00h) und bildet damit die Basis für ein eigenes "movecpm", auch wenn die Quellen für CCP und BDOS nicht vorhanden sind.+Es gibt zwei unterschiedliche CCP-Versionen des CP/A: ccp und ccp2 haben beide den Eintrag CCP fuer shadow BDOS 09.12.88, aber unterscheiden sich. Die zugehörigen BDOSse sind gleich.\\ 
 +ccp2 scheint aktueller zu sein. Die Version ccp2 wurde gegen unterschiedliche Adressbereiche gelinkt (CC00h und CD00h) und bildet damit die Basis für ein eigenes "movecpm", auch wenn die Quellen für CCP und BDOS nicht vorhanden sind.
  
 Die CCP-Version kann anhand des Sprungziels auf Adresse 0080h (Beginn CCP) unterschieden werden. Die CCP-Version kann anhand des Sprungziels auf Adresse 0080h (Beginn CCP) unterschieden werden.
  
 ^ Programmname ^ Systemmeldung ^ Floppy-Modul ^ Bemerkung ^ ^ Programmname ^ Systemmeldung ^ Floppy-Modul ^ Bemerkung ^
-| @CPMZ9.COM | Version 06.02.89, 5"(80,DS)/5"(80,DS) | Rossendorf | von Floppies Ã¤lter\\  0080: c3 ef ce -> ccp2, cc00 | +| @CPMZ9.COM | Version 06.02.89, 5"(80,DS)/5"(80,DS) | Rossendorf | von Floppies älter\\  0080: c3 ef ce -> ccp2, cc00 | 
-| CPMZ9OK.COM | Version 18.01.89, 5"(80,DS)/5"(80,DS) | Robotron | U. Zander, mit speziellem RAM-Modul auf Adr. 71..73. Werden die Ports 72h auf 04h und 73h auf 05h geändertläuft CPMZ9OK.COM auch mit dem Standard-RAM-Modul\\  0080: c3 e4 ce -> ccp, cc00 |+| CPMZ9OK.COM | Version 18.01.89, 5"(80,DS)/5"(80,DS) | Robotron | U. Zander, mit speziellem RAM-Modul auf Adr. 71..73. Werden die Ports 72h auf 04h und 73h auf 05h geändertläuft CPMZ9OK.COM auch mit dem Standard-RAM-Modul\\  0080: c3 e4 ce -> ccp, cc00 |
 | CPM6010.COM | Version 23.02.89, 5"(80,DS)/5"(80,DS),S 6010 (SIO) 1200 Bd | Rossendorf | Main Version der Rossendorf-Floppys\\  0080: c3 ef ce -> ccp2, cc00 | | CPM6010.COM | Version 23.02.89, 5"(80,DS)/5"(80,DS),S 6010 (SIO) 1200 Bd | Rossendorf | Main Version der Rossendorf-Floppys\\  0080: c3 ef ce -> ccp2, cc00 |
 | CPMSD4.COM | Version 18.01.89, 5"(40,DS)/5"(40,DS) | Rossendorf | 0080: c3 e4 ce -> ccp, cc00 | | CPMSD4.COM | Version 18.01.89, 5"(40,DS)/5"(40,DS) | Rossendorf | 0080: c3 e4 ce -> ccp, cc00 |
Zeile 133: Zeile 128:
 | CPMSS8.COM | Version 18.03.89, 5"(80,SS)/5"(80,SS) | Rossendorf | 0080: c3 ef ce -> ccp2, cc00 | | CPMSS8.COM | Version 18.03.89, 5"(80,SS)/5"(80,SS) | Rossendorf | 0080: c3 ef ce -> ccp2, cc00 |
  
- +Anschluss der S6010 bei CPM6010.COM als Tastatur und Drucker: 
 + 
 +<code> 
 +  Leitungen Signal 
 + V 24  
 + 
 +A1 103 TxD 
 +A2 105 RTS 
 +A6 104 RxD 
 +A7 106 CTS 
 + 
 +B1..B4 
 +B7 
 +B10.B13 102 GND 
 + 
 +; Das BIOS entspricht CPMSD8, enthält aber RDR-, PUN- und LST-Treiber für die S6010. 
 +; Die S6010 wird vermutlich über ein normales V24-Modul mit anderen Adressen 
 +; angeschlossen und dient als Tastatur und Drucker 
 + 
 +SIODA equ 20h ; SIODA SIO-Kanal Daten 
 +SIOKD equ 22h ; SIOKD SIO-Kanal Kommandos 
 +CTC equ 24h ; Adr CTC Kanal 0 
 + 
 +</code>
  
-==== CP/M-48K und CP/-58K ==== 
  
-| {{cpm_48k.jpg?307x222}} | Seit 2007 gibt es von mir auch eine CP/M-Version, die ohne das spezielle 64K-Modul mit 2 RAM-Modulen arbeitet. Wird der Bootloader von Kassette geladen (oder er steckt in einem normalen ROM-Modul, das nicht abschaltbar sein muss), kann man CP/M **ausschließlich mit einem Floppy-Modul** betreiben. Hat man auch dieses nicht, bleibt zum Kennenlernen noch das Mini-CP/M.\\  Wer mehr RAM hat (z.B. mit einem {{z9001_weitere_module.htm#rom_umbau|umgebauten ROM-Modul}}), kann mit meinem CPM-58K noch mal 10K mehr freien Speicher unter CP/M nutzen. |+===== CP/M-48K und CP/-58K =====
  
-==== Mini-CP/M ====+{{z9001:cpm_48k.jpg}} 
  
-Wer CP/M nur mal so probieren möchtekann sich mein {{minicpm.zip|MINI-CP/M}} herunterladen. Es läuft mit 2 RAM-Modulen und benötigt kein Floppy-Laufwerk! CP/M-Programme wie POWER können mit dem System-CLOAD geladen werden und werden nach dem Restart von CP/M mit CPM einfach mit GO gestartet.+Seit 2007 gibt es von mir auch eine CP/M-Versiondie ohne das spezielle 64K-Modul mit 2 RAM-Modulen arbeitet. Wird der Bootloader von Kassette geladen (oder er steckt in einem normalen ROM-Modul, das nicht abschaltbar sein muss), kann man CP/M **ausschließlich mit einem Floppy-Modul** betreiben. Hat man auch dieses nicht, bleibt zum Kennenlernen noch das Mini-CP/M.\\  Wer mehr RAM hat (z.B. mit einem [[z9001:cpm:schaltrom|]] umgebauten ROM-Modul), kann mit meinem CPM-58K noch mal 10K mehr freien Speicher unter CP/M nutzen
  
-{{minicpm1.gif?348x258}}{{minicpm2.gif?348x258}}+===== Mini-CP/M =====
  
-==== CP/M am 192K-Modul ====+Wer CP/M nur mal so probieren möchte, kann sich mein MINI-CP/M {{z9001:minicpm.zip|}} herunterladen. Es läuft mit 2 RAM-Modulen und benötigt kein Floppy-Laufwerk! CP/M-Programme wie POWER können mit dem System-CLOAD geladen werden und werden nach dem Restart von CP/M mit CPM einfach mit GO gestartet.
  
-Das 192K-Modul bzwdessen Software ist für nativen und auch direkten CP/M-Betrieb vorbereitetLeider ist diese Software nicht verfügbar. (Sie wurde von L. Elßner nicht komplett programmiert.)+{{z9001:minicpm1.gif}} {{z9001:minicpm2.gif}}
  
-Ich habe aber - aufbauend auf der Rossendorfer Lösung - ein BIOS geschrieben, das mit dem Robotron-Floppy-Modul arbeitet. Mit dem bereits im Modul gebrannten CP/M-Starter BOOT wird+===== CP/M am 192K-Modul =====
  
-{{cpm-vp.jpg?335x249}}{{cpm-vp2.jpg?334x249}}+Das 192K-Modul bzwdessen Software ist für nativen und auch direkten CP/M-Betrieb vorbereitetLeider ist diese Software nicht verfügbar. (Sie wurde von L. Elßner nicht komplett programmiert.)
  
-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 genutztEs steht sogar noch eine 24K-RAM-Disk zur Verfügung!+Ich habe aber aufbauend auf der Rossendorfer Lösung ein BIOS geschrieben, das mit dem Robotron-Floppy-Modul arbeitetMit dem bereits im Modul gebrannten CP/M-Starter BOOT wird
  
-HinweisDas 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.+{{z9001:cpm-vp.jpg?300}} {{z9001:cpm-vp2.jpg?300}}
  
-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. Auf der Webseite von {{http://www.sax.de/~zander/|U. Zander}} und beim {{http://www.iee.et.tu-dresden.de/~kc-club/|KC-Klub}} gibt es Hinweise dazuHONI hat nun sogar eine ganze {{http://honi.hucki.de/|Seite}} diesem Thema gewidmet!+wie bei den obigen Lösungen eine Datei @CPMZ9 von Diskette geladen und gestartetAls Alternative zum speziellen 64K-RAM-Modul werden in meiner Lösung die RAM-Speicherbänke des 192K-Moduls genutztEs steht sogar noch eine 24K-RAM-Disk zur Verfügung!
  
- +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.
  
-|   |   |   |+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. 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. HONI hat nun sogar eine ganze Seite {http://honi.hucki.de/ diesem Thema gewidmet!
  
  • z9001/cpm/system.1279385184.txt.gz
  • Zuletzt geändert: 2010/07/22 22:00
  • (Externe Bearbeitung)