Hallo wiedermal...
Mein Lieblings-Baby, der Kaypro II, verfügt neu über eine gelungenen Ersatz des ConsoleCommandProcessors (CCP), genannt ZCPR, zu finden z.B. bei https://github.com/wwarthen/Ro…lob/master/Source/ZCPR-DJ.
ZCPR hat interessante Befehlserweiterungen gegenüber dem Standard-CCP (Auszug aus dem DocFile):
DIR - directory command enhanced to list optionally all user areas
REN - standard rename command
USER- move to new user number area on same drive
SAVE- save specified number of TPA pages or records in a file
TYPE- display a file on the console with optional page break pauses
LIST- print command plus optional form feed insertion
PAGE- send form feed to list device
ERA - standard file erase command
ERAQ- file erase with confirmation query at each file
DFU - set default user number for .com search path
BELL- send a bell character to the console
SAK - pause until a key is struck on the console (Strike Any Key)
SCL - toggle multiple commands per line (Single Command on a Line)
GET - load a file into the TPA at any specified location
JUMP- process command tail and execute program at specified address
GO - process command tail and execute program loaded at 100H
PEEK- display hexadecimal byte string starting with specified address
POKE- load hexadecimal byte string starting with specified address
BOOT- execute BIOS cold boot routine
Und das ganze passt noch in 2kB! Es sind noch drei Bytes frei für Erweiterungen...
Der LIST Befehl funktionierte nicht auf Anhieb. Anstelle des Textes kam für jedes Zeichen ein 0xC2 (gesehen auf einem Epson FX-80 im HEXdump Modus). Nach einigem Suchen war klar, warum:
ZCPR sichert die Register vor dem BDOS Aufruf zur Zeichenausgabe mit EXX. Das BDOS selbst benutzt jedoch diesen Befehl auch, das gibt Müll...
Abhilfe schaffte das Verwenden von PUSH/POP HL, DE, BC anstelle von EXX.
Ich habe noch eine kleine Erweiterung eingebaut, CLS zum Löschen des Bildschirms.
Die angehängte Datei lässt sich mit M80/L80 assemblieren/linken. Die Anleitung zum Erstellen von Boot-Diketten mit ZCPR ist im TXT File beschrieben.
Viel Spass!
Tony