CP/M 1.4

CP/M-8K, MP/M, CCP/M etc.
Antworten
Benutzeravatar
Alfred
Beiträge: 278
Registriert: 17. Jun 2019, 18:47
Wohnort: Enzkreis

CP/M 1.4

Beitrag von Alfred » 1. Dez 2023, 19:55

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
Dateianhänge
31kCPM14.zip
(41.28 KiB) Noch nie heruntergeladen
Zuletzt geändert von Alfred am 7. Dez 2023, 17:26, insgesamt 2-mal geändert.

Benutzeravatar
Alfred
Beiträge: 278
Registriert: 17. Jun 2019, 18:47
Wohnort: Enzkreis

Re: CP/M 1.4

Beitrag von Alfred » 2. Dez 2023, 09:39

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

Benutzeravatar
Alfred
Beiträge: 278
Registriert: 17. Jun 2019, 18:47
Wohnort: Enzkreis

Re: CP/M 1.4

Beitrag von Alfred » 7. Dez 2023, 12:17

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

Benutzeravatar
Alfred
Beiträge: 278
Registriert: 17. Jun 2019, 18:47
Wohnort: Enzkreis

Re: CP/M 1.4

Beitrag von Alfred » 13. Dez 2023, 09:09

Zur Info bzw. für Interessierte:
Dateianhänge
CPM14.zip
(69.34 KiB) Noch nie heruntergeladen

Benutzeravatar
Alfred
Beiträge: 278
Registriert: 17. Jun 2019, 18:47
Wohnort: Enzkreis

Re: CP/M 1.4

Beitrag von Alfred » 31. Jan 2024, 12:21

Was man sonst noch im WEB findet ... ein Tool zum setzen der Seriennummer:
SERIAL.140.zip
(1.23 KiB) Noch nie heruntergeladen

Antworten