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 09:48] – [per Software] volkerp | z9001:software:v24 [2025/08/04 14:43] (aktuell) – [User-Port] volkerp | ||
---|---|---|---|
Zeile 15: | Zeile 15: | ||
Man kann das Modul umbauen. Eine Beschreibung findet sich [[..: | Man kann das Modul umbauen. Eine Beschreibung findet sich [[..: | ||
- | ===== per Software | + | ===== User-Port |
Am User-Port kann eine V24-Kommunikation per Software erfolgen. Die PIO wird im Bitmodus betrieben; ein Bit dient als Sendeleitung, | Am User-Port kann eine V24-Kommunikation per Software erfolgen. Die PIO wird im Bitmodus betrieben; ein Bit dient als Sendeleitung, | ||
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 | ||
Zeile 29: | Zeile 29: | ||
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! | ||
- | **Hardware** | + | Unter **BASIC** (BASIC86, KC 87.2x) kann man mit Kanal 2 den LIST-Treiber ansprechen und Werte oder Programme übertragen: |
+ | |||
+ | PRINT# | ||
+ | LIST# | ||
+ | |||
+ | |||
+ | |||
+ | ==== Hardware ==== | ||
Die Leitungen B0 und B3 werden zum Senden bzw. Empfangen genutzt. Auf Handshaking wurde verzichtet. Als Bitrate empfiehlt sich der Quasi-Standard 9600 Baud, 8 Bit, Keine Parität, 1 Stopp-Bit (9600 8N1). Zur Verbindung mit dem PC dient ein einfaches USB2TTL-Kabel, | Die Leitungen B0 und B3 werden zum Senden bzw. Empfangen genutzt. Auf Handshaking wurde verzichtet. Als Bitrate empfiehlt sich der Quasi-Standard 9600 Baud, 8 Bit, Keine Parität, 1 Stopp-Bit (9600 8N1). Zur Verbindung mit dem PC dient ein einfaches USB2TTL-Kabel, | ||
Zeile 59: | Zeile 66: | ||
</ | </ | ||
- | **Ringpuffer** | + | ====Ringpuffer==== |
{{: | {{: | ||
- | 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**: | ||