CP/M 1.4 Abenteuer!
Das Thema SD hatte ich ja bereits beim Thema ECMA-70 etwas geübt.
Nach dem Motto "Zurück zu den Wurzeln" funktioniert ja alles so
schön beim CP/M 2.2 und 3.x - oder wenn es dem Esel zu wohl
wird, geht er aufs Eis bzw. in die Jahre vor 1978!
Im Web nach Quellen für ältere CP/M Versionen geforscht.
CPM 1.4 kannte ich vom Hörensagen, aber nie getestet bzw.
live gesehen oder damit gearbeitet.
Hier etwas zum Diskformat gefunden:
https://www.seasip.info/Cpm/format14.html
CP/M 1.4 was designed to work with 8" 250k discs.
Thus a CP/M 1.4 disc will be laid out in the following way:
77 tracks in total;
26 128-byte sectors per track, software skewed;
2 reserved tracks;
2 1k directory blocks, giving 64 directory entries;
240 1k data blocks, numbered 2-241.
The skew table reads:
1,7,13,19,25,5,11,17,23,3,9,15,21,2,8,14,20,26,6,12,18,24,4,10,16,22
The reserved tracks will contain an image of CP/M 1.4,
used when the system is rebooted.
It can therefore be deduced that CP/M 1.4 fits in 6.5k.
Hurra, das Format kenne ich (IBM 3740 SD/SS).
#-----------------------------------------------------------------#
Hier gib es einiges zum Thema CP/M 1.1 bis 2.0:
https://computerhistory.org/blog/early- ... code/#code
Einige Zeit mit lesen verbracht und ...
CP/M 1.4 CCP und BDOS aus einer Vector Graphics Micropolis Variante extrahiert,
RDK 8" Bootloader & BIOS angepasst, System zusammen gefriemelt und ... funktioniert!
MC-CP/M SYS1Mon IM0 6-MHz
FLO1 V2.05/11.23 RDK & AK
64k RAM
>i
1=FD/2=HD: 1, boot OS
31K CP/M VERS 1.4
A>dir
A: CPM31 SYS
A: BDOS31 COM
A: BIOS31 001
A: BIOS31 ASM
A: BIOS31 COM
A: BOOT31 001
A: BOOT31 ASM
A: BOOT31 COM
A: CCP31 COM
A: CPM31 COM
A: DISKDEF LIB
A: DDT COM
A: ASM COM
A: CBASIC COM
A: FORMAT COM
A: INFO COM
A: CRUN COM
A: MAC COM
A: SAVEUSER COM
A: STAT COM
A: SUBMIT COM
A: SYSGEN COM
A: XDIR COM
A: TREK BAS
A: VER COM
A: INFO TXT
A>
#-----------------------------------------------------------------#
A>stat
A: R/W, SPACE: 24K
#-----------------------------------------------------------------#
A>ddt
DDT VERS 1.4
-x
C0Z0M0E0I0 A=00 B=0000 D=0000 H=0000 S=0100 P=0100 LXI B,0FB6
-g0
A>b:
#-----------------------------------------------------------------#
B>di
MP/M or CP/M version 2 required
#-----------------------------------------------------------------#
B>pip
REQUIRES CP/M 2.0 OR NEWER FOR OPERATION.
#-----------------------------------------------------------------#
B>ver
CP/M v0.0
#-----------------------------------------------------------------#
B>format
Skew Format v3.25 RDK & AK
FLO1 CP/M Version mit Verify
IBM 250KB SD/SS 77-Track = 1
AK 800KB DD/DS 80-Track = 2
AK 1,4MB HD/DS 80-Track = 3 / Ende = 0: 0
Bitte Systemdisk einlegen und CR druecken.
#-----------------------------------------------------------------#
B>cputest
This CPU is a Z80 or NSC800.
#-----------------------------------------------------------------#
B>diskstat
MUST USE CP/M 2.2, MP/M 3.0 OR CP/M 3.1
B>
#-----------------------------------------------------------------#
Macht Spaß, Fortsetzung folgt!
Gruß
Alfred
CP/M 1.4
Re: CP/M 1.4
Man stellt bei der gewünschten Abwärtskompatibilität auch eigene
Unsauberkeiten bei der Kodierung fest - <VERS> funktioniert jetzt !
31K CP/M VERS 1.4
A>vers
CP/M v0.0, SN: .....m, @6D00-140E0000076D, BDOS: 05>6D06H
A>
CP/M 1.4 gibt als Version 0.0 zurück!
Gruß
Alfred
Unsauberkeiten bei der Kodierung fest - <VERS> funktioniert jetzt !
31K CP/M VERS 1.4
A>vers
CP/M v0.0, SN: .....m, @6D00-140E0000076D, BDOS: 05>6D06H
A>
CP/M 1.4 gibt als Version 0.0 zurück!
Gruß
Alfred
Re: CP/M 1.4
Weil es so schön funktioniert, geht es weiter.
Ein 31k System ist schon reichlich knapp bemessen,
speziell wenn man ein größeres Programm wie z.B. MBASIC startet:
31K CP/M VERS 1.4
A>mbasic
BASIC-80 Rev. 5.21
[CP/M Version]
Copyright 1977-1981 (C) by Microsoft
Created: 28-Jul-81
2513 Bytes free
Ok
Mit 2513 Bytes kommt man nicht weit!
#-----------------------------------------------------------------#
Etwas geforscht, überlegt ... ein 63k System sollte möglich sein.
Strategie geändert, da der Monitor (F000-FFFFH) beim Booten überschrieben wird.
Bei IBM3740 und 2 Systemspuren (128x26x2 = 6656b) bleibt für das System nicht viel übrig.
BOOTLDR, BIOS mit I/O-Routinen angepasst und 63k CCP & BDOS exrahiert.
#-----------------------------------------------------------------#
63K CP/M VERS 1.4
A>mbasic
BASIC-80 Rev. 5.21
[CP/M Version]
Copyright 1977-1981 (C) by Microsoft
Created: 28-Jul-81
35128 Bytes free
Ok
Mit 35128b kann man leben, wer bietet mehr ... ich !
#-----------------------------------------------------------------#
63K CP/M VERS 1.4
A>mbasic4
41721 BYTES FREE
BASIC - REVISION 4.51
VECTOR GRAPHIC SYSTEMS
COPYRIGHT (C) 1977 MICROSOFT
Ok
load "ELIZA"
Ok
run
HI, I AM ELIZA TELL ME YOUR PROBLEM:
Gruß
Alfred
Ein 31k System ist schon reichlich knapp bemessen,
speziell wenn man ein größeres Programm wie z.B. MBASIC startet:
31K CP/M VERS 1.4
A>mbasic
BASIC-80 Rev. 5.21
[CP/M Version]
Copyright 1977-1981 (C) by Microsoft
Created: 28-Jul-81
2513 Bytes free
Ok
Mit 2513 Bytes kommt man nicht weit!
#-----------------------------------------------------------------#
Etwas geforscht, überlegt ... ein 63k System sollte möglich sein.
Strategie geändert, da der Monitor (F000-FFFFH) beim Booten überschrieben wird.
Bei IBM3740 und 2 Systemspuren (128x26x2 = 6656b) bleibt für das System nicht viel übrig.
BOOTLDR, BIOS mit I/O-Routinen angepasst und 63k CCP & BDOS exrahiert.
#-----------------------------------------------------------------#
63K CP/M VERS 1.4
A>mbasic
BASIC-80 Rev. 5.21
[CP/M Version]
Copyright 1977-1981 (C) by Microsoft
Created: 28-Jul-81
35128 Bytes free
Ok
Mit 35128b kann man leben, wer bietet mehr ... ich !
#-----------------------------------------------------------------#
63K CP/M VERS 1.4
A>mbasic4
41721 BYTES FREE
BASIC - REVISION 4.51
VECTOR GRAPHIC SYSTEMS
COPYRIGHT (C) 1977 MICROSOFT
Ok
load "ELIZA"
Ok
run
HI, I AM ELIZA TELL ME YOUR PROBLEM:
Gruß
Alfred
Re: CP/M 1.4
Zur Info bzw. für Interessierte:
- Dateianhänge
-
- CPM14.zip
- (69.34 KiB) Noch nie heruntergeladen
Re: CP/M 1.4
Was man sonst noch im WEB findet ... ein Tool zum setzen der Seriennummer: