Ein paar Experimente zum Spaß mit CP/M-86. Der Fokus liegt auf IBM XT CP/M-86 und Derivaten auf dem PC. Die meisten Tools arbeiten jedoch mit dem Just4Fun V20-MBC SBC.
Die Quelle für CP/M-86 DOC, Quellen und Binärdateien lautet http://www.cpm.z80.de.
Eine gereinigte Verteilung und ein Kernel finden Sie unter https://github.com/tsupplis/cpm86-kernel. Diese Verteilung funktioniert in virtuellen Umgebungen, die mit allen bekannten Patches gepatcht, "Y2K" freundlich (sie enthält die Version von TOD, welche Quellen in diesem Projekt enthalten sind) und bei Friendly.
INF: Usage: ls [-h] | [-a] [-p] [-s|-r] [-l|-b] filepat
INF: File listing utility
INF: where filepat is [user/]filespec with wildcard
INF: -h for help
INF: -a for all files (including system)
INF: -p for for pausing one screen at a time
INF: -s for alphabetic sorting
INF: -r for reverse alphabetic sorting
INF: -l for long listing
INF: -b for basic listing
INF: Usage: rm [-h] | [-a][-i] filepat
INF: File delete utility
INF: where filepat is [user/]filespec with wildcard
INF: -h for help
INF: -a to include both dir and sys files
INF: -i for user validation per file
INF: -f force file deletion even if read only
INF: Usage: more -h | [infile]
INF: File paging utility
INF: where infile is [user/]filespec
INF: -h for help
INF: Usage: write -h | [-a] filename
INF: File write/create utility
INF: where filename is [user/]filespec
INF: -h for help
INF: -a to happen to existing file
(Strg-C oder Strg-z, der verwendet wird, um die Eingabe zu beenden)
INF: Usage: dump -h | [-p][-r] [infile]
INF: Hexa file dump utility
INF: where infile is [user/]filespec
INF: -h for help
INF: -p pausing every page
INF: -r raw output
INF: Usage: mode -h | option option ...
INF: Console configuration utility
INF: -h for help
INF: and options:
INF: cls Clear screen
INF: cursor=on Show cursor
INF: cursor=off Hide cursor
INF: statln=on Show status line
INF: statln=off Hide status line
INF: status= Set status line message
INF: fg= Set foreground color (1-F)
INF: bg= Set background color (1-F)
INF: Usage: touch [-h] | filespec
INF: Empty file creation utility
INF: -h for help
INF: Usage: wc [-h] | [-a] filepat [filepat] ...
INF: File word/line/character count utility
INF: where filepat is [user/]filespec with wildcard
INF: -h for help
INF: -a to include both dir and sys files
INF: Usage: printenv [-h]
INF: Display environment variables
INF: -h for help
Für den Status ( s: Space, \: , u: obere, l: niedriger)
ATINIT, RTCINIT- und PCEINIT-Tools bieten einen schnellen Konfigurations-Dump entsprechen, was CP/M-86 1.1 auf dem Start anzeigt
CP/M-86 1.1, BDO 2.2
Hardware Configuration:
- System Memory: 640Kb
- Available Memory: 607Kb
- Math Coprocessor: No
- Floppy Drive(s): 2
- Hard Disk(s): 1
- Parallel Port(s): 1
- Serial Port(s): 2
Date now: 2021-9-27 22:17:39.0
Alle C -Tools (RM, LS, Modus, More, Schreiben, Dump) profitieren vom Dateispezifikationsmuster von AZTEC C: [Benutzer]/[Drive]: [filespec]. Auch Basis <Datei- und> Dateiausleitungen werden unterstützt.
Sofern nicht anders erwähnt, arbeiten alle Tools an
Für die folgenden OSS funktionieren nur die Dateien -Tools gut. Das Interaktion mit dem BIOS ist im Allgemeinen verboten (atinit/attime und pceinit/pcetime) ...
Diese Osen funktionieren unglaublich gut auf PCE auf Floppy- und HD -Bildern. Dieser Emulator ist einfach, klein und arbeitet eine Belohnung. Fantastisch...


LINK86 Linkage Editor 02/Feb/87 Version 2.02
Cross Linker: DOS -> CPM-86 & CDOS-286 1/2/86
RASM-86 Assembler 12-Mar-87 PC-DOS Version 1.4a
Für eine rudimentäre Cross-Entwicklungsumgebung siehe (https://github.com/tsupplis/cpm86-crossdev).
Einige Einsenden-/Stapel-Skripte sind für DOS (AZTEC 3.4) bereitgestellt und CP/M-86 (AZTEC 3.2) sind ebenfalls verfügbar.
Obwohl es sich um ein sehr primitives Betriebssystem handelt (in einigen Fällen tatsächlich angenehm primitiv ... beispielsweise kein Zeitmanagement außerhalb der Uhr), ist es möglich, eine ganze Menge von Dingen mit ein paar guten Werkzeugen zu tun:
Das große coole Ding mit diesem winzigen Betriebssystem ist, wie klein es ist. Ich habe nie mehr als 128.000 auf meinem PCE VM konfiguriert und eine einzelne Person kann damit als Hobbyistin spielen. Wie bereits erwähnt, funktioniert es auch super gut mit dem Just4fun v20-mbc sbc (https://hackaday.io/project/170924-v20-mbc-a-v20-8088-8080-cpu-homebrew-computer). Cool Andere Sache: Es ist Y2K -konform mit TOD -Ersatz oben und einem kleinen visuellen Hack. Ja, kein Datumsmanagement ...
Es macht die frühen Quellen von MS-DOS als attraktiv. MS-DOS 2.x ist weitaus flexibler und hat ein größeres Ökosystem als CP/M-86. Das macht es mehr zu einer Herausforderung ;-)
DR -Tools sind durch (http://www.cpm.z80.de/binary.html) und viele andere Quellen erhältlich. Ich fand die letzte Veröffentlichung von Turbo Pascal und Poly Pascal auf einem sehr umfassenden dänischen Standort, der sich auf die Computer der RC700 -Serie konzentriert, die übrigens auch von PCE emuliert sind. Sie sind nicht pC-kompatibel, aber beide Pascal sind generisch und arbeiten an der CP/M-86-Familie auf IBM PC.
Die Dateien müssen jedoch mithilfe der folgenden Definition aus Diskettenbildern unter Verwendung von CPMtools extrahiert werden:
diskdef rc75x
seclen 1024
tracks 154
sectrk 8
blocksize 2048
maxdir 512
boottrk 4
os 3
end
Turbo Pascal 3.01A ist die letzte Auslastung für CP/M-86 (vergessen Sie nicht, es mit Tinst zu konfigurieren) und ist in englischer Sprache. Poly Pascal ist auch in englischer Sprache, aber die Nachrichtendatei und die Online -Hilfe sind auf Dänisch. Keine große Sache, sie zu übersetzen. Poly Pascal ist wirklich ein Zwilling, Geschwister oder Vorfahren von Turbo Pascal. Ein bisschen cool, um damit zu spielen.
Makro -Assembler, C, Pascal, Struktur Basic ... was brauchen wir sonst noch?
Die Kreuzkompilierung kann entweder mit der DOS -Emulation (EMU2, PCE) oder mit einem Hybrid -Betriebssystem durchgeführt werden
... Führen Sie alle oben genannten Tools aus (sowohl in der DOS- als auch in der CP/M -Version) und Sie können die CMD -Binärdateien direkt testen.
Es gibt einige CP/M-86-Emulatoren für DOS (Ame86.exe, CPM86.exe) Leider sind ihre Quellen nirgendwo zu sehen, und sie brauchen ein wenig Wartung. Nur rudimentäre Programme arbeiten.
Schließlich kann auch die Baugruppe mit ASM86 und GENCMD durchgeführt werden, muss jedoch in CP/M-Umgebungen durchgeführt werden (CP/M-80 oder CPM-86-Derivate können verwendet werden).
Auf der Werkzeugseite fehlt es jedoch ein bisschen ... also werde ich nach und nach Tools nach und nach um Komfort willen.
Trotzdem ist es ein lustiges Stück Entdeckung und Archäologie ...