80-Bus Journal |
November 1983 · Ausgabe 10/11 |
behandelt:
Carry = 1 wenn Fehler sonst 0
bei Fehler A=Fehlernummer (fuer Pheas stehen die Fehlernummern 10-1F zur Verfuegung).
Der Bootstap-Loader liest aus den ersten Sektoren der Diskette das DOS in den dafuer vorgesehenen Speicherbereich. Moeglicherweise wird auch Nassys mitgeladen (sh. beiliegenden Sourcecode).
Die Diskette wird initialisiert, die Sektoren des Inhaltsverzeichnisses muessen mit 0E5H aufgefuellt werden.
Nach dem Initialisieren des Basic ist in die Adresse 1055h-56h anstelle von FF40h die Adresse BASCAL (sh. Maschinensprache-Schnittstelle) einzutragen. Vor der Initialisierung des Basics kann BASCAL auch an die Adresse E335 eingetragen werden (bei BASIC im RAM sinnvoll).
Die Moeglichkeiten, das DOS von Maschinensprache aus aufzurufen sind gesondert beschrieben.
Neben dem Anschluss des Controllers wird eine kleine Schaltung zur Ausblendung des Monitor-Roms benoetigt. (Über diese Möglichkeiten können Sie einiges in Heft 6 nachlesen) .
Boot-Eprom –> Monitor Sockel
Ausblendung des Boot-Eproms und ersetzen durch RAM entweder statisch oder 4k Page der dynamischen RAM-Karte
Ersetzen der gesamten unteren 4k Page 0h- 1000h durch RAM
Bei Bildschirmzugriffen wird kurzzeitig zurueckgeschaltet.
D000-D100 Puffer frei, solange DOS nicht aktiv
D100 Einsprungpunkt von Nassys aus
D103 Einsprungpunkt fuer DOS-Aufrufe (sh. EMDOS.MAC)
D106 Nassys-PHEAS-Aufrufe
E D109 A ; HL; DE Register entsprechend
ARG2-ARG4 versorgen und Aufruf von PHEAS (zum Test von PHEAS und zum
direkten Sektorzugriff.)
D109 BASCAL Einsprungpunkt von BASIC
D10C Sprung zu PHEAS
Pheas dient zum Lesen und Schreiben der einzelnen Sektoren
entsprechend Sektornummer. Die Diskette besteht aus vielen 256-Bytes langen logischen Sektoren. Die Gruppengroesse umfasst 4 Sektoren. Bei CP/M kompatieblen Diskettenformaten muss der Skew Faktor berueckschtigt werden !
A= Aufrufsnummer
A=0 Init PHEAS (nach Laden aufgerufen)
A=1 Abort PHEAS (Interrupt loeschen, sodass PHEAS geloescht werden kann)
A=2 Select Disk (C=Diskno.; HL wird adresse DSB
A=3 Sektor Lesen; HL Sektornummer ;Bit 15 = 1 : Relativ DE Adresse Daten
A=4 Sektor Schreiben
HL Sektornummer
DE Speicheradresse
Fuer jeden Laufwerkstyp einen, Format s.h. unten
Seite 20 von 52 |
---|