Sonntag, 14. August 2011

CP/M 2.2

Es wird langsam :-) Wie man in diesem Screenshot sehen kann,
CP/M 2.2 auf meinem Z80-System
läuft ein rudimentäres CP/M auf meinem Z80. Ich hatte Probleme, geeignete CP/M-Systemdateien zu finden. Auf dieser Seite findet man Quellen zu Z80CCP und P2DOS, welches ein nachprogrammiertes CCP und BDOS ist mit kleinen Erweiterungen. Diese Quellen habe ich leicht angepasst, damit sie mit dem TNIASM assembliert werden können und ein einfaches BIOS mit den Funktionen CONIN, CONOUT, CONST, SETDMA, SELDSK geschrieben.

Mit meinem Windowsprogramm "Programmer" kann ich über den dsPIC auf der Z80-Platine in den RAM und ROM schreiben. So habe ich also CP/M in den RAM an die jeweiligen Adressen geladen. Ein kleines Monitorprogramm, welches auf dem Z80 läuft, gibt mir die Möglichkeit, CP/M auf eine CF-Karte zu schreiben oder CP/M von der Karte in den Speicher zu laden und CP/M zu starten.

CCP nimmt nun Eingaben entgegen, aber das BIOS ist noch nicht weit genug implementiert, um von CF-Karte zu lesen oder schreiben. Ich kann also keine Programme starten, es funktionieren nur die in CCP implementierten Befehle. Ich muss noch ein kleines Dateisystem auf der Karte erstellen, welches CP/M dann als Laufwerk zu sehen bekommt. Dazu muss ich aber erstmal verstehen, wie das alles so funktioniert :-)

Wenn es läuft, werde ich hier im Blog die entsprechenden Assemblerfiles posten, z.B. der IDE-Treiber, die UART-Routinen, die angepassten CP/M-Dateien, usw.