|
Modul-Entry |
B: Beschreibung, I: Eingabe-, O: Ausgabeparameter |
|
FILSIZ.MAC |
FILSIZ |
B: |
Ermitteln der Größe einer Datei |
|
I: |
Das Registerpaar DE hält Adresse der FCB |
|
O: |
Die Carryflag ist gesetzt falls Datei nicht vorhanden ist, sonst nicht gesetzt. Die Dateigröße in Rekords (128 Bytes) steht dann in FCB+33 bis FCB+35, beginnend mit niederwertigem Byte in FCB+33. Im Extended Error Mode im Fehlerfall Verzweigung möglich. Das Registerpaar HL hält das niederwertige und mittlere Byte, der Akkumulator hält das höchstwertige Byte. Die gesetzte Zeroflag zeigt an, dass das höherwertige Byte Null ist. |
|
DSKSIZ.MAC |
DSKSIZ |
B: |
Berechnung der freien Kapazität einer Diskette |
|
I: |
Der Akku hält das Laufwerk : 0 -> A ... 15 -> P |
|
O: |
Die Carryflag ist gesetzt bei Laufwerksfehler und der Akku hält im Extended Error Mode den Fehlerkode, eine Verzweigung in die Fehlerroutine ist möglich. Im Normalfall hält der eingestellte DMA Puffer die Anzahl freier Rekords, DMA+0 hält das niederwertige und DMA+2 das höchstwertige Byte |
|
DRVFRE.MAC |
DRVFRE |
B: |
Berechnung der freien Kapazität einer Diskette |
|
I: |
Der Akku hält das Laufwerk : 0 -> A ... 15 -> P |
|
O: |
Die Carryflag ist gesetzt bei Laufwerksfehler und der Akku hält im Extended Error Mode den Fehlerkode, eine Verzweigung in die Fehlerroutine ist möglich. Im Normalfall hält das Registerpaar HL den freien Platz in kByte. |
|
FCBFRE.MAC |
FCBFRE |
B: |
Berechnung der freien Kapazität einer Diskette |
|
I: |
Das Registerpaar DE zeigt auf einen File Control Block |
|
O: |
Die Carryflag ist gesetzt bei Laufwerksfehler und der Akku hält im Extended Error Mode den Fehlerkode, eine Verzweigung in die Fehlerroutine ist möglich. Im Normalfall hält das Registerpaar HL den freien Platz in kByte. |
|
CURSEC.MAC, (CURSCT.MAC) |
CURSEC |
B: |
Ermitteln der Anzahl Mehrfach-Rekords für File Transfer |
(alt: CURSCT) |
I: |
--- |
|
O: |
Der Akku hält die aktuelle Anzahl Rekords 1..128 |
|
MULSEC.MAC |
MULSEC |
B: |
Setzen von Mehrfach-Rekords für File Transfer |
|
I: |
Der Akku hält die neue Anzahl Rekords 1..128 |
|
O: |
Die Carryflag ist gesetzt bei fehlerhafter Anzahl Rekords |
|
CURDRV.MAC |
CURDRV |
B: |
Bestimmen des eingestellten Laufwerkes |
|
I: |
--- |
|
O: |
Akku hält Laufwerk : 0 -> A .. 15 -> P |
|
SELDRV.MAC |
SELDRV |
B: |
Auswahl eines Laufwerkes |
|
I: |
Akku hält Laufwerk : 0 -> A .. 15 -> P |
|
O: |
Die Carryflag ist gesetzt bei nicht existierendem Laufwerk und der Akku hält den Fehlerkode im Extended Error Mode |
|
RESDRV.MAC |
RESDRV |
B: |
Rücksetzen eines oder aller Laufwerke |
|
I: |
Akku hält Laufwerk:
0 .. 15 | -> | A: .. P: |
>15 | -> | Alle Laufwerke |
|
|
O: |
entfällt bei Einzellaufwerk. Beim Rücksetzen aller Laufwerke wird als aktuelles Laufwerk A: und der DMA Puffer auf 0080H eingestellt |
|
INIDSK.MAC |
INIDSK |
B: |
Rücksetzen aller Laufwerke |
|
I: |
--- |
|
O: |
Als aktuelles Laufwerk wird A: und der DMA Puffer auf 0080H eingestellt |
|
USRSET.MAC |
USRSET |
B: |
Setzen des Userbereiches |
USRGET |
B: |
Holen des Userbereiches |
|
I: |
Beim Setzen hält Akku Userbereich von 0 .. 15 |
|
O: |
Beim Holen hält Akku den aktuellen Userbereich |
|
SETATT.MAC |
SETATT |
B: |
Setzen von Dateiattributen |
|
I: |
Das Registerpaar DE hält Adresse des FCB |
|
O: |
Die Carryflag ist gesetzt falls Datei nicht gefunden wurde und Akku hält Fehlerkode im Extended Error Mode. Fehlerverzweigung ist möglich |
|
DIRMAX.MAC |
DIRMAX |
B: |
Ermitteln der maximalen Anzahl Directory Einträge |
|
I: |
Akku hält Laufwerk : 0 -> A .. 15 -> P |
|
O: |
Registerpaar HL hält die maximale Anzahl von Einträgen. Die Carryflag ist gesetzt bei nicht existierendem Laufwerk und der Akku hält den Fehlerkode im Extended Error Mode |
|
FILES.MAC |
FILES |
B: |
Einlesen einer Directory in den Speicher |
|
I: |
Register BC hält die maximale Anzahl zu lesender Einträge. Register HL weist auf den Start des Speicherbereiches. Register DE hält die Adresse des FCB, in dem Wildcards (?") benutzt werden können. Auch das Laufwerk wird hier definiert. (0 für aktuelles Laufwerk, 1 .. 16 für A .. P) |
|
O: |
Die Carryflag ist gesetzt bei nicht gefundener Datei. Das Register BC hält die tatsächliche Anzahl gefundener Einträge, Register HL weist auf den Start des Speicherbereiches und Register DE weist auf die erste freie Speicherstelle nach der Liste. Die nicht sortierte Liste ist gefüllt mit jeweils 12 Byte langen Einträgen. Das erste Byte ist hierbei die gefundene Benutzernummer und muss vor dem Gebrauch in einer FCB gegen ein Laufwerk getauscht werden. |
|
SORT.MAC |
SORT |
B: |
Sortieren einer Liste von Dateien |
|
I: |
Register BC hält Anzahl zu sortierender Dateien, Register HL zeigt auf den Anfang der Liste, wie sie von der Funktion FILES erzeugt wurde, mit einer Dateilänge von jeweils 12 Zeichen (Länge kann verändert werden in SORT-2) |
|
O: |
Register unverändert |
|
DIRGET.MAC |
DIRGET |
B: |
Einlesen und Sortieren einer Directory in den Speicher |
|
I: |
Register C hält den Userbereich 0 .. 15. Register HL weist auf den Start des Speicherbereiches. Register DE hält die maximale Anzahl zu lesender Einträge. Der Akku hält die zu suchenden Dateiattribute in den Bits 7 (SYS), 6 (RO) und 5 (Ist Bit 5 gesetzt, werden Gruppen selektiert). Ist Bit 4 gesetzt, so werden die Dateiattribute so belassen, bei nicht gesetztem Bit 4 werden die Attribute gelöscht.
76.5 | <-Bits | 76.5 | <-Bits |
00.0 | DIR | 01.1 | Alle SYS |
01.0 | SYS | 10.1 | Alle RO |
10.0 | RO | xx.1 | Alle Dateien |
11.0 | SYS und RO |
Der Standard File Control Block (FCB) in Adresse 005CH hält die Dateimaske der zu suchenden Dateien. Hier können Wildcards (?") benutzt werden. Auch das Laufwerk wird hier definiert. (0 für aktuelles Laufwerk, 1 .. 16 für A .. P) |
|
O: |
Die Carryflag ist gesetzt bei nicht existierendem Laufwerk und der Akku hält den Fehlerkode im Extended Error Mode, ebenfalls bei einem fehlerhaften Userbereich. Das Register HL hält die tatsächliche Anzahl gefundener Einträge und Register DE weist auf die erste freie Speicherstelle nach der Liste. Die sortierte Liste ist gefüllt mit jeweils 12 Byte langen Einträgen gefolgt von einer 16 Bit Adresse als Referenz auf das nächste Element. Das Feld SRFBUF muss die Adresse eines 128 Byte Puffers halten, die Voreinstellung ist der Standard DMA Puffer ab 0080H |
|
DIRSTA.MAC |
DIRSTA |
B: |
Umwandlung einer in den Speicher gelesenen Directory |
|
I: |
Register HL weist auf die Directory Liste, wie sie von DIRGET erzeugt wurde. Register DE weist auf die Startadresse für die Wandlung |
|
O: |
Register HL weist auf die erste freie Speicherstelle nach der neuen Liste, Register DE ist unverändert. Die Eintragsliste besteht aus Elementen mit je 12 Zeichen, die mit einer Null abgeschlossen sind. Das letzte Element beginnt mit einer Null. |
|
CHAIN.MAC |
CHAIN |
B: |
Verzweigen auf eine andere .COM Datei |
|
I: |
Das Register E hält die Einstellungsflag für den CCP. Der eingestellte DMA Puffer muss die aufrufende Kommandozeile enthalten, die mit einer Null beendet wird |
|
O: |
--- |
|
BIOSCL.MAC |
BIOSCL |
BIOSPB |
B: |
Direkter BIOS Aufruf |
|
I: |
Der erste Parameter in Feld BIOSPB hält die BIOS Funktionsnummer, Voreinstellung ist Warmstart. Die nächsten Parameter sind Akku, Registerpaare BC, DE und HL |
|
O: |
Akku und Registerpaar HL wie bei den entsprechenden Aufrufen beschrieben, Registerpaar DE in BIOSPB+4 |
|
SCBFUN.MAC |
SCBFUN |
SCBPB |
B: |
Holen oder Setzen von System Control Block Werten |
|
I: |
Der erste Parameter im Feld SCBPB hält den Offset im SCB im Bereich von 0 .. 63H. Der nächste Parameter gibt den Modus an (00 = Holen, FF = Wort setzen, FE = Byte setzen). Der letzte Parameter ist das zu setzende Byte oder Wort |
|
O: |
Beim Holen hält Akku das Byte und Register HL das Wort |
|
GETVER.MAC |
GETVER |
VERNUM |
B: |
Holen der CP/M Versionsnummer |
|
I: |
VERNUM - Voreingestellt ist CP/M PLUS (Hex 31) |
|
O: |
Die Carryflag ist nicht gesetzt bei Übereinstimmender CP/M Version, gesetzt bei anderen CP/M Versionen. Der Akku hält die erwartete, Register B und HL die gelesene Versionsnummer |
|
GETAMS.MAC |
GETAMS |
AMSTRA |
B: |
Testen der CP/M PLUS und der speziellen AMSTRAD Version |
|
I: |
AMSTRA - Voreingestellt ist die Maschine JOYCE (1) bzw. PCW 8xxxx. |
|
O: |
Die Carryflag ist nicht gesetzt bei CP/M PLUS und der Maschine JOYCE, gesetzt bei anderer CP/M Version oder anderer Maschine |
|
USERF.MAC |
USERF |
B: |
Aufruf einer Extended BIOS (XBIOS) Funktion |
|
I: |
Dem Aufruf muss der XBIOS Vektor unmittelbar folgen und die Register müssen entsprechend der gewählten Funktion gesetzt sein |
|
O: |
Hängt ab von XBIOS Funktion |
|