Genie III CP/M von Thomas Holte.
Nachdem ich die Diskettenimages welche ich hatte getestet und gesichert habe
schaute ich mir noch mal die Quellen an.
In den 90' hatte ich für meinen Genie IIIs die Quellen zum CP/M von Herrn Holte
bekommen. Neben den Quellen und Systemdisketten zum GIIIs waren auch Disketten
zum Genie III und Speedmaster dabei.
Leider habe ich zum Genie III vom Holte CP/M keine Systemdiskette (gehabt oder
nicht mehr gefunden). Die Sourcen sind aber vorhanden.
Voraussetzung für das Holte CP/M ist ein geändertes Bootrom.
Das ROM beinhaltet eine BOOTER und I/O DRIVER für den Genie III.
Die Dateien sind EPROM.COM (BIN) und EPROM.MAC. Die EPROM.MAC ist leider nicht
vollständig, läßt sich also nicht korrekt assemblieren.
Es besteht aber die Möglichkeit das CP/M 2 und CP/M 3 vom Holte wieder
herzustellen. Da die Dateien zum CP/M 3 komplett vorhanden und mir vom Genie IIIs
her bekannt sind wird das nicht gebankte CP/M3 mein erster Versuch werden.
TEIL 1: Die Quelldateien
(hier wegen Formatierung als
Hier die Dateien unter MYZ80:
Drive A3 Files: 44/512k Free: 2828k
BDOS3 .SPR 12k : CONFIG .C 28k : DRVTBL .MAC 4k : L80 .COM 12k
BIOS .MAC 16k : CONFIGT .MAC 8k : FKEY .C 8k : LDRBIOS .MAC 12k
BOOT .MAC 8k : COPYSYS .ASM 16k : FKEYT .MAC 4k : LINK .COM 16k
BOOTER .COM 20k : COPYSYS .COM 4k : FORMAT .C 12k : M80 .COM 20k
BOOTER .MAC 4k : CPM3 .BAK 4k : FORMAT .COM 8k : MODEBAUD.MAC 4k
BOOTGEN .BAK 4k : CPM3 .DOC 76k : FORMTRK .MAC 16k : MOVE .MAC 4k
BOOTGEN .ORI 4k : CPM3 .HDR 4k : FTASTEN .COM 8k : SCB .MAC 4k
BOOTGEN .SUB 4k : CPM3 .SUB 4k : GENCPM .COM 24k : SYSTAB .COM 4k
CCP .COM 4k : CPM3 .SYS 16k : GENCPM .DAT 4k : SYSTAB .MAC 20k
CHARIO .MAC 4k : CPMLDR .COM 4k : KONFIG .COM 20k : SYSTAB .REL 4k
CHECKTRK.MAC 16k : DISKIO .MAC 12k : KOPIER .COM 12k : T80 .COM 20k
Neben den Quellen sind noch folgende Dateien notwendig.
M80.COM Macroassembler by Microsoft
L80.COM Linker by Microsoft
LINK.COM Linker-80 by DIGITAL RESEARCH
T80.COM TRACE80 BY L. LAUTERBACH
Holte hat zum generieren die 'batch'-Dateien BOOTGEN.SUB und CPM3.SUB erstellt.
################
##
## BOOTGEN.SUB
##
################
;Assembliert BOOTER.MACC,SYSTAB.MAC,LDRBIOS.MAC
M80
<=BOOTER
<=SYSTAB
<=LDRBIOS
<C
;Fügt die .REL Datein zusammen.
L80 BOOTER/N,BOOTER/E
L80 SYSTAB/N,SYSTAB/E
<N
LINK CPMLDR[L4300,NR]=CPMLDR,LDRBIOS
;Sammelt, verschiebt und Speichert den BOOTER als $TEMP$
T80 BOOTER
<MOVE 4200 43FF 1000
<LOAD CPMLDR 1200
<LOAD SYSTAB 1F00
<LOAD CCP 2800
<SAVE $$TEMP$$. 100 347F
<BYE
;Schreibt $TEMP$ auf die Systemspur Drive B:!! zum Testen auskommentieren !!
COPYSYS $$TEMP$$
<B
<N
ERA $$TEMP$$
################
##
## CPM3.SUB
##
################
;Dateien Übersetzen
M80
<=BIOS
<=SCB
<=BOOT
<=CHARIO
<=MOVE
<=DRVTBL
<=DISKIO
<^C
;Dateien Linken und .REL erzeugen
LINK BIOS3[NR,OS]=BIOS,SCB,BOOT,CHARIO,MOVE,DRVTBL,DISKIO
;Die eigentliche Systemgenerierung übernimmt das Hilfsprogramm GENCPM.
;notwendige .SPR Dateien:
;Ungebankt: nur BIOS.SPR notwendig.
;Gebankt falls möglich und ein banfähiges BIOS vorliegt:
;RESBDOS.SPR (BDOS-Teil der im Commonbereich liegt), BNKBDOS.SPR
;(gebankter BDOS Teil) und BNKBIOS3.SPR das lauffähige
;Betriebssystem und legt es in der CPM3.SYS Datei ab.
;CP/M generieren. Hier ist ein nichtgebanktes CP/M3 vorgegeben
GENCPM AUTO
;Die .REL Dateien sind für eine Zielspeicherbereich verschiebbaren (relozierbar)
;werden am Ende wieder gelöscht.
;
ERA BIOS.REL
ERA SCB.REL
ERA BOOT.REL
ERA CHARIO.REL
ERA MOVE.REL
ERA DRVTBL.REL
ERA DISKIO.REL
ERA BIOS3.SPR
Jetzt besteht eine CPM3.SYS Datei welche beim Booten durch den BOOTLADER (auf
den Systemspuren oder im ROM) geladen wird.
Teil 2: Wie bekomme ich das CP/M auf Diskette ?
Ich habe vom HOLTE CP/M keine bootfähige Diskette. Wie soll nun das CP/M auf
eine Diskette kommen ?
Da der Bootlader auf die Diskette in Laufwerk B: geschrieben wird muß in B: eine
entsprechend formatierte Diskette vorhanden sein.
Holte Genie III Diskettenformat:
Hier hilft mir mein Genie IIIs aus.
Genie III Diskettenformate aus Kaempf Pdrive.sys (genie IIIs)
# Nummer ist die Nummer aus dem Pdrive Eintrag.
#####################################################################
####
#### 7: GENIE III C
####
Format Nummer 7 : GENIE III C
Logische Parameter:
6320 128 Byte Record Capacity
790 Kilobyte Drive Capacity
192 32 Byte Directory Entries
192 Checked Directory Entries
128 Records / Extend
16 Records / Block
80 Sectors / Track
1 Reserved Tracks
Drive Parameter Block (DPB):
5000 04 0F 00 8A01 BF00 E000 3000 0100
#############
# HOLTE Genie III: aus g3cpm+ diskio.mac
;Disk Parameter Blocks (DPB)
DPB01: DEFW 80 ;128 byte records per track
DEFB 4,15 (04,FH) ;block shift and mask
DEFB 0 ;extent mask
DEFW 394 (18AH) ;maximum block number
DEFW 191 (BFH) ;maximum directory entry number
DEFB 0E0H,0 ;alloc vector for directory
DEFW 48 (30H) ;checksum size
DEFW 1 ;offset for system tracks
DEFB 2,3 ;physical sector size shift and mask
#############
Physikalische Parameter
Sektorlaenge: 512 Bytes
Double Density, Normale Aufzeichnung
Doppelseitig Rückseite laut Sektortabelle
Sektortabelle: 20 Physikalische Sektoren
0 V , 1 V , 2 V , 3 V , 4 V , 5 V , 6 V , 7 V
8 V , 9 V , 0 R , 1 R , 2 R , 3 R , 4 R , 5 R
6 R , 7 R , 8 R , 9 R
#############
Alles anzeigen
Um eine Diskette auch einfach bearbeiten zu können wird das Format den Einträgen für 22disk hinzugefügt.
Erstellen werde ich die Bootdiskette mit dem Genie IIIs.Unter Linux oder MSWindows können eventuell auch die CPMTOOLS mit LIBDISK benutzt
werden. Ich habe das aber noch nicht gemacht.
Der Genie IIIs muß jetzt rausgekramt und aufgebaut werden.
Fortsetzung folgt.