Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| z9001:software:os:geraetetreiber [2017/02/02 12:28] – [Das I/O-Byte] volkerp | z9001:software:os:geraetetreiber [2025/03/23 11:34] (aktuell) – [BAT-Treiber] volkerp | ||
|---|---|---|---|
| Zeile 441: | Zeile 441: | ||
| </ | </ | ||
| + | |||
| + | ====== BAT-Treiber ====== | ||
| + | |||
| + | Der BAT-Treiber ist ein im OS integrierter CONST-Treiber, | ||
| + | |||
| + | * Konsoleingabe erfolgt über das aktuelle READER-Gerät | ||
| + | * Konsolausgabe erfolgt über das aktuelle LIST-Gerät | ||
| + | * READER und LIST müssen zuvor zugewiesen werden | ||
| + | |||
| + | Soll ein READER-Gerät Im Zusammenhang mit dem BATCH-Mode von CONST betrieben werden, so | ||
| + | müssen im Treiber für das READER-Gerät (RDR, UR1, UR2) die Kommandos Eingabe, Statusabfrage | ||
| + | und Initialisierung programmiert sein. Bei Treibern für das LIST-Gerät müssen die Kommandos | ||
| + | Ausgabe, Statusabfrage und Initialisierung In jedem Falle programmiert werden. | ||
| + | |||
| + | Zuweisung | ||
| + | ASGN CONST:=BAT (Enter) | ||
| + | |||
| + | Die Treiber-Kommandos werden dabei wie folgt weitergeleitet: | ||
| + | |||
| + | Kommando | ||
| + | A=1 -> READER\\ | ||
| + | A=FF -> erst READER init, wenn fehlerfrei, dann LIST init\\ | ||
| + | sonst -> | ||
| + | |||
| + | d.h., dass der List-Treiber die CONST-Treiber-Kommandos theoretisch alle implementieren müsste (bis auf A=1)! | ||
| + | |||
| + | |||
| + | ====== DEVICE-Kommando ====== | ||
| + | |||
| + | 2020 habe ich das Kommando DEVICE programmiert (im Mega-Flash-Paket enthalten), um die Beschränkungen von ASGN zu umgehen. Mit DEVICE erfolgt die Anzeige der Gerätetreiber-Tabelle und des I/O-Bytes. Geräte können aktiviert werden. Treiber können beliebig in der Gerätetreiber-Tabelle zugewiesen werden. | ||
| + | |||
| + | < | ||
| + | device Anzeige Gerätetreiber-Tabelle | ||
| + | device log.gerät: | ||
| + | error4 kein gültiger Treiber hinterlegt | ||
| + | device log.gerät: | ||
| + | device log.gerät: | ||
| + | dabei ist Zuweisung an beliebiges logisches Gerät möglich | ||
| + | </ | ||
| + | |||
| + | **Beispiel**: | ||
| + | |||
| + | < | ||
| + | |||
| + | > | ||
| + | Z9001 MONITOR V2.0 (ZM30) | ||
| + | => | ||
| + | => | ||
| + | => | ||
| + | > | ||
| + | |||
| + | CONST :CRT | ||
| + | READER: | ||
| + | PUNCH :TAPEP | ||
| + | LIST : | ||
| + | > | ||
| + | |||
| + | IOBYTE:29 0 | ||
| + | CONST :01 3CE1 F8F1* F7B4 F8F1 | ||
| + | READER:02 F8F1 30A0 311C* F8F1 | ||
| + | PUNCH :02 F8F1 3058 3128* 30C3 | ||
| + | LIST :00 F8F1* F8F1 30C3 3058 | ||
| + | >DEVICE LIST: | ||
| + | </ | ||
| Zeile 459: | Zeile 523: | ||
| * Die Treiber für TAPE sind keine zeichenorientierten Treiber und manipulieren gehörig das System (s. Sourcecode) | * Die Treiber für TAPE sind keine zeichenorientierten Treiber und manipulieren gehörig das System (s. Sourcecode) | ||
| * Positiv, aber eben nicht zum OS-Konzept passend, ist, dass die Benutzung des I/O-Bytes logischer und mehr an CP/M angelehnt ist | * Positiv, aber eben nicht zum OS-Konzept passend, ist, dass die Benutzung des I/O-Bytes logischer und mehr an CP/M angelehnt ist | ||
| + | |||
| + | Hinweis: Im Mega-Flash sind modifizierte Versionen enthalten, die sich an die Vorgaben halten und mit anderen Programmen zusammenarbeiten. | ||
| Im [[z9001: | Im [[z9001: | ||