Adresse | Bedeutung | Beschreibung |
0000h-0002h | Warm Start |
Enthält Sprunganweisung (JMP Instruktion) zum BIOS Warm Start.
Die Adresse im Speicher 0001h kann genutzt werden für direkte BIOS Aufrufe für Zeichenroutinen (Konsol-Ein/Ausgabe, Druckerausgabe usw.).
(Eigentlich die Restart 0 Instruktion)
|
0003h | IOBYTE |
Nicht unterstützt von CP/M Plus.
Die Möglichkeit der Umlenkung von Zeichenroutinen unter CP/M 2.2 fällt bei CP/M 3 weg.
|
0004h | Nutzer/Laufwerk |
Standard Laufwerk (untere vier Bits) und Nutzer (User Area, obere vier Bits) wenn Programm in die TPA geladen ist.
Diese werden nur unterstützt aus Gründen der Kompatibiltät zu Programmen, die für CP/M 2.2 geschrieben sind.
Diese Funktion wird nicht weiter unterstützt, so dass neu geschriebene Programme für diese Funktion Gebrauch machen sollten von BDOS Aufrufen.
|
0005h-0007h | BDOS |
Enthält Sprunganweisung (JMP Instruktion) zum Betriebssystem, üblicherweise BDOS.
Dies ist die Schnittstelle zum CP/M Plus Betriebssystem.
Die Adresse im Speicherplatz 0006h minus 1 ergibt die höchste freie Adresse für ein Anwenderprogramm.
|
0008h-000Ah | RST1 |
Reserviert für Restart 1 Instruktion
|
0010h-0012h | RST2 |
Reserviert für Restart 2 Instruktion
|
0018h-001Ah | RST3 |
Reserviert für Restart 3 Instruktion
|
0020h-0022h | RST4 |
Reserviert für Restart 4 Instruktion
|
0028h-002Ah | RST5 |
Reserviert für Restart 5 Instruktion
|
0030h-0032h | RST6 |
Reserviert für Restart 6 Instruktion
|
0038h-003Ah | RST7 |
Reserviert für Restart 7 Instruktion und Standard Debugger, z.B. SID
|
003Bh-004Fh | Arbeitsbereich |
Reserviert für individuelles BIOS (normalerweise ungenutzt)
|
Die Speicheradressen 0050h bis 007Fh werden vom CCP eingestellt.
|
Adresse | Bedeutung | Beschreibung |
0050h | TPA Laufwerk |
Laufwerk, von dem das Anwendungsprogramm geladen wurde (oder 0 für das aktuelle Laufwerk).
Ein Wert von 1 bis 16 entspricht dem Laufwerk A bis P.
|
0051h-0052h | Zeiger auf Passwort 1 |
Adresse des ersten Passwortes im Standard DMA Puffer.
Wenn der erste Parameter der CCP Kommandozeile ein Passwort enthält, dann zeigt diese Adresse zum Beginn des Passwortfeldes.
Andernfalls sind sowohl die Adresse als auch die Länge auf 0 gesetzt.
|
0053h | Länge von Passwort 1 |
Länge des ersten Passwortfeldes
|
0054h-0055h | Zeiger auf Passwort 2 |
Adresse des zweiten Passwortes im Standard DMA Puffer
Wenn der zweite Parameter der CCP Kommandozeile ein Passwort enthält, dann zeigt diese Adresse zum Beginn des Passwortfeldes.
Andernfalls sind sowohl die Adresse als auch die Länge auf 0 gesetzt.
|
0056h | Länge von Passwort 2 |
Länge des zweiten Passwortfeldes
|
0057h-005Bh | Reserviert |
|
005Ch-007Bh | FCB |
Standard File Control Block.
Dieser FCB wird vom CCP aus dem ersten Parameter in der Kommandozeile gebildet.
Existiert kein Parameter, dann wird der FCB eingestellt mit Leerzeichen im Namen und einer 0 im Laufwerksfeld.
|
006Ch-007Bh | FCB2 |
Zweiter Dateiname überlagert im FCB des ersten Dateinamens.
Dieser FCB wird vom CCP aus dem zweiten Parameter in der Kommandozeile gebildet.
Existiert kein Parameter, dann wird der FCB eingestellt mit Lerrzeichen im Namen.
Wegen der Überlagerung sollte dieser Dateiname vor dem Gebrauch des Standard FCB in einen anderen FCB kopiert werden.
|
007Ch | CR |
Aktuelle Position des Standard FCB Bereiches.
Vor Gebrauch des Standard FCB sollte ein Anwendungsprogramm diesen Wert auf 0 setzen.
|
007Dh-007Fh | RR |
Optionale Rekord Nummer im Standard FCB Bereich.
Vor Gebrauch des Standard FCB sollte ein Anwendungsprogramm diesen Wert auf 0 setzen.
|
0080h-00FFh | DMA |
128 Byte Standard DMA Puffer für Datei-Ein/Ausgabe.
Der CCP kopiert die komplette Kommandozeile in diesen 128 Byte Bereich.
Das erste Byte hält die Länge der Kommandozeile, gefolgt von der Zeile (soweit vorhanden).
Da dieser Speicherbereich auch als Standardbereich für einen 128 Byte Puffer für die Disk Ein-/Ausgabe genutzt wird, sollte die CCP Kommandozeile in einen anderen Speicherbereich kopiert werden, bevor eine Laufwerksoperation stattfindet.
Solange das BDOS nicht für einen anderen Speicherbereich umgelenkt wurde, kopiert das BDOS 128 Byte große Rekords während einer Leseoperation hierhin.
Während einer Schreiboperation kopiert das BDOS diesen Bereich um in eine Datei.
|