Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
z9001:software:v24 [2025/08/04 10:54] – [per Software] volkerp | z9001:software:v24 [2025/08/04 14:43] (aktuell) – [User-Port] volkerp | ||
---|---|---|---|
Zeile 21: | Zeile 21: | ||
Um das Treiberkonzept des Z9001 zu nutzen, ist es sinnvoll, den Empfang als READER-Treiber und den Sender als LIST- und Punch-Treiber bereitzustellen. Dann kann mit dem BAT-Treiber die Konsolenein- und ausgabe auf V24-Empfangen/ | Um das Treiberkonzept des Z9001 zu nutzen, ist es sinnvoll, den Empfang als READER-Treiber und den Sender als LIST- und Punch-Treiber bereitzustellen. Dann kann mit dem BAT-Treiber die Konsolenein- und ausgabe auf V24-Empfangen/ | ||
- | * {{ : | + | * {{ : |
- | Der physische Treiber ist serialio.asm, | + | Der physische Treiber ist serialio.asm, |
ASGN CONST:=BAT | ASGN CONST:=BAT | ||
wird auf Terminalbetrieb umgestellt. das funktioniert aber nur bis zum nächsten Warmstart, da dann das OS die ASGN-Zuweisung wieder aufhebt! | wird auf Terminalbetrieb umgestellt. das funktioniert aber nur bis zum nächsten Warmstart, da dann das OS die ASGN-Zuweisung wieder aufhebt! | ||
+ | |||
+ | Unter **BASIC** (BASIC86, KC 87.2x) kann man mit Kanal 2 den LIST-Treiber ansprechen und Werte oder Programme übertragen: | ||
+ | |||
+ | PRINT#2... | ||
+ | LIST# | ||
+ | |||
+ | |||
==== Hardware ==== | ==== Hardware ==== | ||
Zeile 63: | Zeile 70: | ||
{{: | {{: | ||
- | Der Ringpuffer (s. [[wp> | + | Der Ringpuffer (s. [[wpde> |
Wird (per Interrupt) ein Zeichen empfangen, wird an der Position RIPUPUTPTR das Zeichen abgelegt, der Zeiger wird inkrementiert. Beim Überschreiten der höchsten Adresse des Ringpuffers geht es wieder auf die erste Adresse zurück (Adresse modulo RIPULENGTH). Wird nun V24IN mittels Treiber ein Zeichen gelesen, und es gibt Zeichen im Puffer, wird das Zeichen an der Stelle RIPUGETPTR gelesen, der Zeiger erhöht und RIPUCNT vermindert. Andernfalls gibt es einen Fehler (Cy=1). Ein Anwenderprogramm kann dann z.B. warten, bis ein Zeichen empfangen wurde. | Wird (per Interrupt) ein Zeichen empfangen, wird an der Position RIPUPUTPTR das Zeichen abgelegt, der Zeiger wird inkrementiert. Beim Überschreiten der höchsten Adresse des Ringpuffers geht es wieder auf die erste Adresse zurück (Adresse modulo RIPULENGTH). Wird nun V24IN mittels Treiber ein Zeichen gelesen, und es gibt Zeichen im Puffer, wird das Zeichen an der Stelle RIPUGETPTR gelesen, der Zeiger erhöht und RIPUCNT vermindert. Andernfalls gibt es einen Fehler (Cy=1). Ein Anwenderprogramm kann dann z.B. warten, bis ein Zeichen empfangen wurde. | ||
- | Ein Pufferüberlauf beim Lesen wird nicht verhindert! Nicht gelesene | + | Ein Pufferüberlauf beim Lesen wird verhindert. Weitere empfangene |
+ | **Achtung**: | ||