Documentation -- Z1013

Wie erstellt man eine Systemdiskette für das Z1013 CP/M System?

Die Beschreibung bezieht sich auf das CP/M System mit BIOS 5.03 welches sich im Quelltext auf der beim KCemu beiliegenden Diskette befindet.

Zuerst stellt sich die Frage: Wozu der Aufwand? Dazu wäre zu sagen, daß sich das BIOS in vielen Bereichen konfigurieren läßt. So können verschiedene Tastatur-Tabellen, Schnittstellen und Laufwerke eingestellt werden. Für die aktuelle Emulator-Version ist jedoch nur das Konfigurieren der Bildschrimdarstellung und der Laufwerke sinnvoll, da die anderen Komponenten noch nicht unterstützt werden.

Vorgenommen werden die Einstellungen in der Datei BIOS503.MAC. Dazu ist die Datei mit einem beliebigen Text-Editor zu bearbeiten. Auf der vorliegenden Diskette ist ein relativ einfacher Editor namens TED dabei.

Systemkompatibilität
CPA EQU 1 1 für CP/A-Kompatibilität
SCP EQU 0 1 für SCP-Kompatibilität
Laufwerkskonfiguration
LW1.2 EQU 0 1 bei 1.2 Laufwerk
LW1.41 EQU 0 1 bei 1.4 Laufwerk einseitig (1*80)
LW1.42 EQU 0 1 bei 1.4 Laufwerk zweiseitig (2*40)
LW1.6 EQU 1 1 bei 1.6 Laufwerk
LW26 EQU 0 1 bei 2-tem physischen 1.6 Laufwerk
LW22 EQU 0 1 bei 2-tem physischen 1.2 Laufwerk
Einstellung der Tastatur-Tabelle
K7659 EQU 1 1 bei Tastatur K7659
K7652 EQU 0 1 bei Tastatur K7652
K7669 EQU 0 1 bei Tastatur K7669
K080B EQU 0 1 bei Tastatur 12KE080B
Schnittstellen zu Peripheriegeräten bzw. Erweiterungen
CENTRO EQU 1 1 bei CENTRONICS-Anschluss
V24 EQU 0 1 bei V24-Anschluss
S3004 EQU 0 1 bei S3004
V24MOD EQU 0 1 bei Druck über V24-Modul / 0 bei Userport
MAUS EQU 0 1 bei Mausanschluss
CTCUHR EQU 0 1 bei Uhr über eine ctc
RTC EQU 1 1 bei RTC 72421 A
ADRTC EQU 1 1 bei RTC an Port 70H-7fh / 0 bei RTC an Port 20H-2fh
Floppy-Ansteuerung
SFDCK EQU 1 1 bei Schneider-Karte / 0 bei Kramer-Schaltung
Bildschirmdarstellung
GDCK EQU 1 1 bei 80x25 Bildschirm mit GDC-Karte
Z1013CRT EQU 0 1 bei Z1013 64*16 Bildschirm
ZUGRSYN EQU 1 Bildschirmzugriffs-Synchronisation
1 bei nichtsichtbaren Bildschirmzugriff / 0 bei staendigem Zugriff
Einstellungen für RAM-Floppies
RBRF EQU 0 1 bei RB-Spezial-RAM-Floppy
RF2 EQU 1 1 bei 2 RAM-Floppy-Karten nach MP 3/88
RF1 EQU 0 1 bei einer RAM-Floppy nach MP 3/88
sonstige Einstellungen
TAPE EQU 0 1 wenn CP/M von Kassette geladen wird
CCPCOPY EQU 0 1 wenn CCP-Kopie angelegt werden soll

Sind die gewünschten Einstellungen erfolgt und die Datei gespeichert, kann das BIOS übersetzt werden. Dazu ist auf der Diskette der Assembler M80.COM vorhanden. Das Übersetzen erfolgt mit dem Aufruf:

D>M80 BIOS503.ERL=BIOS503
* BIOS-Uebersetzung PASS 1 *
* BIOS-Uebersetzung PASS 2 *

No Fatal error(s)

D>

Wurde der Übersetzungsvorgang erfolgreich abgeschlossen, befindet sich auf der Diskette die übersetzte Datei BIOS503.ERL. Diese muß jetzt noch mit dem Linker in eine ausführbare Datei (BIOS503.COM) gebunden werden. Das erfolgt mit dem Befehl LINKMT:

D>LINKMT BIOS503

Link/MT+ Release 5.5


Processing file- BIOS503 .ERL

Undefined Symbols:

No Undefined Symbols


0048 (decimal) records written to .COM file

Total Data: 0000H bytes
Total Code: 17F6H bytes
Remaining:  8A0AH bytes

Link/MT+ Release 5.5 processing completed

D>

Jetzt befindet sich das fertige BIOS auf der Diskette, muß aber noch an die Stelle geschaft werden, an der der Bootlader das System erwartet. Dazu wird der systemunabhängige Teil aus der Datei CCPBDOS.SYS und das frisch übersetzte BIOS mit dem Programm POWER in den Speicher geladen und auf die ersten beiden Spuren der Diskette geschrieben. Dazu wird als erstes das Programm POWER gestartet...

POWER

POWER 3.03 on CP/M 2.22 1/2

Copyright (c) 1981, 1982 by PAVEL BREDER
All rights reserved. 01/03/83
D0=

...die beiden Dateien hintereinander in den Speicher ab Adresse 4000h geladen und dann auf die Diskette auf Spur 0, Sektor 1 geschrieben.

D0=LOAD CCPBDOS.SYS 4000 Last Address:55FFH 44 sectors
D0=LOAD BIOS503.COM 5600 Last Address:6DFFH 48 sectors
D0=WRITE 0 1 4000 xx
G=----:-- T=0000 S=001 PS=001 At:4000-407F
G=----:-- T=0000 S=002 PS=002 At:4080-40FF
G=----:-- T=0000 S=003 PS=003 At:4100-417F
...

Das xx beim WRITE-Kommando ist die Anzahl der Sektoren, die auf Diskette geschrieben werden sollen. Diese ergibt sich aus der Addition der beiden Sektorzahlen, die bei den LOAD-Kommandos ausgegeben wird. Beim Ausführen des WRITE-Kommandos wird angezeigt welche Sektoren geschrieben werden. Wenn die Anzeige pausiert, kann das Kommando mit der Enter-Taste fortgesetzt werden. Erscheint wieder der Prompt von POWER sollte die Diskette ein bootfähiges System enthalten was durch einen Reset des Systems leicht zu prüfen ist.


Visit GNU
Torsten Paul - Sun Jun 14 20:11:36 2009
Graphics by GIMP