Eine serielle Schnittstelle für den ZX81

ZX-Team Forum
Benutzeravatar
ZX-Heinz
User
Beiträge: 1270
Registriert: 05.12.2011, 14:45

Mods am Poll*n board

Beitrag von ZX-Heinz » 05.08.2017, 19:38

Ich habe zwei Mods am Poll*n RS232-BAS-board vorgenommen:
1. Durch einem TTL-Anschluss ergänzt
2. Zwei Dioden von TTL-Rx und TTL-Tx nach Pin2 am ATmega4 und Entkoppelwdst vom MAX dorthin.
Damit kann nun Empfangen und Senden auf dem Kontrollschirm angezeigt werden. Also bidirektionaler Datenverkehr. Das kann nützlich bei der Untersuchung des Datenverkehrs beim Anschluss unbekannter Geräte sein (z.B. digitales Multimeter mit RS232 Ausgang).

Benutzeravatar
siggi
User
Beiträge: 2083
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: Eine serielle Schnittstelle für den ZX81

Beitrag von siggi » 06.08.2017, 18:58

msch hat geschrieben:
28.07.2017, 12:03
Dann nimm mal TeraTerm:
https://osdn.net/projects/ttssh2/releases/
Kann fast alles.
So, ich habe heute mal mit Tera-Term probiert (nicht auf dem kleinen XP-Schlepptop, sondern dem großen mit WINDOOFS-7).
Leider kann sich Tera-Term beim Filetransfer nicht so recht mit dem Zeddy anfreunden. Zwar klappt im Terminal-Modus alles einwandfrei (Zeichen kommen in beiden Richtungen an), aber bei Filetransfer mit XMODEM kommen die beiden nicht in die Gänge: meist wird nix übertragen, im besten Falle ein Block mit so ca. 64 Zeichen. Dann passiert nix mehr und nach einiger Zeit verschwindet das TeraTerm-Filetransfer-Fenster (ohne Fehlermeldung, ohne Erfolgsmeldung, einfach klang und sanglos :( ) Der Zeddy wartet dann immer noch brav auf weitere Zeichen, aber da kommt nix mehr ...

Wie auch immer: mit 300 Baud klappt's mit Hyperterminal, selbst wenn's mit 600 baud klappen würde, reisst das ja keinen so richtig von Hocker ;-) Also lasse ich's jetzt mal dabei ...

Hier noch die aktuellen Programme SERINIT (mit A$) und ZXT80 (GOTO 1005). Dort habe ich bei 1005 ein POKE eingetragen, das bei meinem Zeddy Ram ab 8K einschaltet (für das HIRES-File). Das sollte man nach eigenen Möglichkeiten anpassen und ZXT80 dann abspeichern (GOTO 1000)

Gruß
Siggi
Dateianhänge
SERINIT.P
(1.15 KiB) 14-mal heruntergeladen
ZXT80-16.P
(11.77 KiB) 13-mal heruntergeladen
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Benutzeravatar
siggi
User
Beiträge: 2083
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: Eine serielle Schnittstelle für den ZX81

Beitrag von siggi » 07.08.2017, 11:27

Joachim hat geschrieben:
26.07.2017, 13:56
SERINIT hatte ich mit RUN gestartet. Dabei wird aber RAND USR 16515 ausgeführt. Das habe ich jetzt erst gesehen. Ich denke es müßte 16514 heißen.
Ist übrigens eine gute Lösung für die Mulit-IO-Karten-Nutzer. Dort wird die Baudrate ja über eine PIO eingestellt, die ihr Bitmuster auf einen programmierbaren Teiler ausgibt. Das kann ich nun in SERINIT ergänzen.
Hallo Joachim
hast Du inzwischen ein SERINIT für die Multi-IO-Karte gebastelt? Ich habe ja auch eine, aber schon lange nicht mehr benutzt und schon lange vergessen, wie ich die Baudrate per PIO einstellen müsste. Da könnte ich so ein Programm auch gut brauchen ...

Gruß
Siggi
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Benutzeravatar
Joachim
User
Beiträge: 865
Registriert: 06.11.2004, 20:21

Re: Eine serielle Schnittstelle für den ZX81

Beitrag von Joachim » 07.08.2017, 12:26

Hallo Siggi!
Im Anhang ist MSERINIT.P. Du kannst damit den programmierbaren Teiler auf der Multi-IO-Karte ansteuern. Allerdings konnte ich das MC noch nicht richtig testen, weil ZXT80-16 auf meinem GIANT nicht läuft. Das liegt daran, dass die Graphik nicht dargestellt werden kann. Aus dem gleichen Grunde geht auch Ollis Texteditor nicht. Ich muss die Adressierung des Speichers noch ändern - so wie Kai auf dem letzten Treffen vorgeschlagen hat. Aber man öffnet ja ungern ein running system.
Zum Ablauf:
In Zeile 10 gibst du die Baudrate an. Im Beispiel: 10 RAND 9600
Danach wird RAND USR 16514 aufgerufen.
MC initialisiert die PIO (PB = $9F, DB =$8F) als Ausgabe. Dann wird über die Syst.var. SEED die Baudrate eingelesen und mit einer Tabelle BDTAB abgeglichen. Sollte eine ungültige Baudrate gewählt worden sein, erscheint die Bildschirmmeldung BAUDARATE UNGUELTIG.
BDTAB ist so aufgebaut
St.1-2: Baudrate
St.3 : Wert, der an die PIO ausgegeben werden muss.
Mögliche Baudraten sind:
75
150
300
600
1200
2400
4800
9600
12200 (klingt komisch - ist aber so bzw. ergibt sich aus den möglichen Bitmustern)
38400
Ist die Baudrate gültig, wird der Wert (3.Stelle in BDTAB) am Port angelegt.
Ich hoffe, ich habe mich nirgends im MC vertippt. Die Baudratenprüfung funktioniert. Mehr konnte ich nicht testen. Lass hören, wenn irgendetwas nicht funktioniert. Dann wird nachgebessert.

MSERINIT.P
(1.6 KiB) 11-mal heruntergeladen
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
siggi
User
Beiträge: 2083
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: Eine serielle Schnittstelle für den ZX81

Beitrag von siggi » 07.08.2017, 12:35

Hallo Joachim
ZXT80 hat HIRES-Screen (und Variablen) bei 8K im RAM (das muss EIN und HIRES-fähig sein). Nix über 32K!
ZEDIT läuft über 32K und hat auch Hires-Bild dort (und hat auch viel über 48K). Das sind 2 ganz unterschiedliche Probleme, wenn beide nicht laufen wollen.

Gruß
Siggi
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Benutzeravatar
Joachim
User
Beiträge: 865
Registriert: 06.11.2004, 20:21

Re: Eine serielle Schnittstelle für den ZX81

Beitrag von Joachim » 07.08.2017, 16:07

Hallo Siggi,
ich habe die Version, die du zuletzt gepostet hast, geladen und Zeile 1005 in POKE 8,5 geändert. Das heißt bei mir: RAM im Bereich ab 8 - 16K.
Dann habe ich das Programm mit GOTO 1005 gestartet. Der Bildschirm zuckt kurz, dann erscheint in der untersten Zeile PRESS ANY KEY TO CONTINUE. Der Rest der Schirms ist leer. Nach Anykey kommt L S/SP=ESC S/NL=SYMBOLS SAVEOFF. Mit Sh+Space komme ich aus dem Programm raus und bekomme Meldung Q/1020. Tests, ob ich tatsächlich noch RAM von 8-16K habe, waren positiv. Ein Start mit GOTO 1 bringt den Begrüßungsbildschirm in Sinclair-Zeichen. Hast du eine Empfehlung, mit welchem Programm ich testen kann, ob WRX bei mir läuft?
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
siggi
User
Beiträge: 2083
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: Eine serielle Schnittstelle für den ZX81

Beitrag von siggi » 07.08.2017, 16:22

Joachim hat geschrieben:
07.08.2017, 16:07
Hallo Siggi,
ich habe die Version, die du zuletzt gepostet hast, geladen und Zeile 1005 in POKE 8,5 geändert. Das heißt bei mir: RAM im Bereich ab 8 - 16K.
Dann habe ich das Programm mit GOTO 1005 gestartet. Der Bildschirm zuckt kurz,
da wird auf HIRES geschaltet und der obere Bildschirm-Teil in Hires gezeigt
dann erscheint in der untersten Zeile PRESS ANY KEY TO CONTINUE. Der Rest der Schirms ist leer. Nach Anykey kommt L S/SP=ESC S/NL=SYMBOLS SAVEOFF.
Das ist der LOWRES-Text am unteren Ende des Screens

Sieht also wirklich so aus, als funzt bei Dir Hires bei 8K nicht.
Alle Wilf-Programme haben da ihr Hires-File liegen (ZxPaint, oder HRDEMO30): siehe ""SRAM Hi-Res Extended BASIC" bei http://www.pictureviewerpro.com/hosting/zx81/fredn.htm

Und IRC_ANSI haben ihr HIres-File ja bei 32K, 40K, oder 48K (je nach Version)

Gruß Siggi
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Benutzeravatar
siggi
User
Beiträge: 2083
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: Eine serielle Schnittstelle für den ZX81

Beitrag von siggi » 07.08.2017, 19:03

Hallo Joachim
Dein MSERINIT läuft mit meiner Multi-IO-Karte.
Danke!

Ich habe sie mit ZXT80 bei 9600 Baud probiert. Und erfolgreich mit XMODEM einen Datenblock zum Hyperterminal gesendet. Hier mein XMODEM (Z88DK) für die Multi-IO-Karte.

Gruß
Siggi
Dateianhänge
xmodem.p
(8.43 KiB) 9-mal heruntergeladen
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Benutzeravatar
Joachim
User
Beiträge: 865
Registriert: 06.11.2004, 20:21

Re: Eine serielle Schnittstelle für den ZX81

Beitrag von Joachim » 07.08.2017, 19:56

Hallo Siggi,
wie muss ich verdrahten (RD,TX,GND und RTS, CTS) bzw. wie muss bei HT ein handshake vorgegeben werden?
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
siggi
User
Beiträge: 2083
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: Eine serielle Schnittstelle für den ZX81

Beitrag von siggi » 07.08.2017, 20:05

Hallo Joachim
genauso wie bei der aktuellen Seriell-Karte liegt bei der Multi-IO-Karte (mit 1:1 Kabel von 10poligen Stecker auf DSUB-9-Stecker) eine DTE-Steckerbelegung vor. Da am PC auch ein DTE vorliegt, muß man ein Nullmodem-Kabel dazwischen hängen. Dann klappt Senden/Empfang zum PC.

Allerdings muß ich bei meiner kleinen Seriell-Karte im ZXT80 den "Carrier" einschalten (RTS ein), damit es Richtung PC klappt (über SHIFT-6 und dann "C"). Bei meiner Multi-IO-Karte hat das keine Auswirkung (vielleicht ist da was gebrückt????).

Gruzß
Siggi
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Benutzeravatar
siggi
User
Beiträge: 2083
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: Eine serielle Schnittstelle für den ZX81

Beitrag von siggi » 07.08.2017, 20:14

Habe gerade mal Senden vom Zeddy zum PC mit 9600 Baud und XMDOEM probiert. Hat alles geklappt :-)
bei ZXT80 bin auf Übertragungsrate ca 300 Zeichen/sek gekommen (Prüfmodus Checksumme, SLOW-Modus, Sendedaten werden auch HEX auf Bildschirm gleichzeitig angezeigt), bei XMODEM.P (in C geschrieben, FAST-Modus) auf knapp 600 Zeichen/sek (Prüfmodus CRC).

Also ist einiges an Overhead drin, dafür findet auch Fehlererkennung/Korrektur statt.

Gruß
Siggi
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Benutzeravatar
Joachim
User
Beiträge: 865
Registriert: 06.11.2004, 20:21

Re: Eine serielle Schnittstelle für den ZX81

Beitrag von Joachim » 08.08.2017, 19:43

Hallo Siggi,
das ist doch schon mal ein super Einstieg. Auch die Terminalsoftware aus der Funkschau verfügt über File-Transferroutinen.
Ich denke, das Hauptproblem ist die Software auf den PCs. Als früher noch die echten COM-Schnittstellen vorhanden waren, gab es damit nie Probleme (naja 'nie' ist ein bißchen überrieben). Das Emulieren der seriellen Schnittstellen scheint aber Probleme zu machen.

Eine Berichtigung noch zu den Baudraten der Multi-IO (Ulrich hat mich daraufhingewiesen): Die Baudrate 12200 ist tatsächlich 19200. Hier das Update:
MSERINIT.P
(1.6 KiB) 12-mal heruntergeladen
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
tokabln
User
Beiträge: 1069
Registriert: 10.11.2013, 00:24
Wohnort: D, Berlin (Mariendorf)

Re: Eine serielle Schnittstelle für den ZX81

Beitrag von tokabln » 08.08.2017, 20:18

Hallo Joachim,

wenn Du von der Funkschausoftware redest... hast Du die eventuell schon abgetippt und als .p file vorliegen :mrgreen:
Lieben Gruß Torsten
BMZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500, Amiga 1200, Atari Portfolio, HP200LX, IBM PC 5155, TP755c, T41, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e

Benutzeravatar
Joachim
User
Beiträge: 865
Registriert: 06.11.2004, 20:21

Re: Eine serielle Schnittstelle für den ZX81

Beitrag von Joachim » 08.08.2017, 20:37

Hallo Torsten,
guckst du hier viewtopic.php?f=2&t=2404#p31101
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
tokabln
User
Beiträge: 1069
Registriert: 10.11.2013, 00:24
Wohnort: D, Berlin (Mariendorf)

Re: Eine serielle Schnittstelle für den ZX81

Beitrag von tokabln » 08.08.2017, 22:09

Hallo Joachim,

ich Dummdödel hab das mal wieder übersehen. Wer lesen kann ist klar im Vorteil :evil:

Danke für den Wink mit dem Zaunpfahl :mrgreen:
Lieben Gruß Torsten
BMZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500, Amiga 1200, Atari Portfolio, HP200LX, IBM PC 5155, TP755c, T41, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e

Benutzeravatar
ZX-Heinz
User
Beiträge: 1270
Registriert: 05.12.2011, 14:45

Re: Eine serielle Schnittstelle für den ZX81

Beitrag von ZX-Heinz » 12.08.2017, 15:01

msch hat geschrieben:
30.07.2017, 21:23
Hast Du auch mal das probiert?
https://www.mikrocontroller.net/topic/53140
@msch: Hab ich, Anfang voriger Woche. Läuft prima, Baudratenumschaltung perfekt.

@SirMorris: You've mentioned the TellyMate. Regrettably it isn't open source, or is it? But the description sounds interesting, in particularly the Autobauding option. Does this run reliable? Over the full range?

Benutzeravatar
ZX-Heinz
User
Beiträge: 1270
Registriert: 05.12.2011, 14:45

Re: Eine serielle Schnittstelle für den ZX81

Beitrag von ZX-Heinz » 15.08.2017, 10:11

Hier ist in Funktionsbild des kleinen UART-to-BAS-boards nach https://www.mikrocontroller.net/topic/53140 an Joachims ZX-serial. Es wurde ergänzt durch einen RS232-Anschluss, ein Jumperfeld und einen RESET-Taster. Im Bild sind 300baud gesetzt. Eingestellt werden können 300...19200baud. Die Karte ist bei gleicher Höhe ca. 30% kürzer als das Pollin board.
board_in_Funktion.jpg
board_in_Funktion.jpg (57.63 KiB) 589 mal betrachtet
Zuletzt geändert von ZX-Heinz am 15.08.2017, 15:49, insgesamt 1-mal geändert.

Benutzeravatar
tokabln
User
Beiträge: 1069
Registriert: 10.11.2013, 00:24
Wohnort: D, Berlin (Mariendorf)

Re: Eine serielle Schnittstelle für den ZX81

Beitrag von tokabln » 15.08.2017, 13:17

Hallo Heinz,

Du bist ja richtig emsig. Bei mir dauert es noch ein wenig, da ich die schönen Tage nutze.

Ich hab schon alle Bauteile für meine Version auf einer Lochrasterplatine positioniert und angelötet. Muß halt noch die Verdrahterei vornehmen. Aber das nur bei Regenwetter. Haus und Garten gehen im Moment vor.

LG
Lieben Gruß Torsten
BMZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500, Amiga 1200, Atari Portfolio, HP200LX, IBM PC 5155, TP755c, T41, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e

Benutzeravatar
ZX-Heinz
User
Beiträge: 1270
Registriert: 05.12.2011, 14:45

Re: Eine serielle Schnittstelle für den ZX81

Beitrag von ZX-Heinz » 15.08.2017, 13:40

tokabln hat geschrieben:
15.08.2017, 13:17
Muß halt noch die Verdrahterei vornehmen.
Ich brauchte nur drei Drähte. 8)

Benutzeravatar
siggi
User
Beiträge: 2083
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: Eine serielle Schnittstelle für den ZX81

Beitrag von siggi » 15.08.2017, 15:41

ZX-Heinz hat geschrieben:
15.08.2017, 10:11
Eingestellt werden können 300...192000baud.
Ist da vielleicht eine 0 zu viel drin?
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Benutzeravatar
ZX-Heinz
User
Beiträge: 1270
Registriert: 05.12.2011, 14:45

Re: Eine serielle Schnittstelle für den ZX81

Beitrag von ZX-Heinz » 15.08.2017, 15:50

siggi hat geschrieben:
15.08.2017, 15:41
Ist da vielleicht eine 0 zu viel drin?
Na klar, danke.

Benutzeravatar
Joachim
User
Beiträge: 865
Registriert: 06.11.2004, 20:21

Re: Eine serielle Schnittstelle für den ZX81

Beitrag von Joachim » 19.08.2017, 23:28

Heute sind die Platinen angekommen und die Tests waren alle erfolgreich :) Leider konnte ich die Konfiguration, bei der die Adressleitung A2 zur Auswahl an C/D verwendet wird, nicht testen. Ich bin mit den Programmen ZXUART.P und ZXT80 nicht zurecht gekommen. Laut dem Layoutcheck müßte es aber funktionieren. Damit ist ZXserial kompatibel mit der Schaltung von Wilf Rigter.
Was sonst noch alles so drauf ist und weitere Hinweise gibt es hier:
ZXserial V3.pdf
(1005.46 KiB) 5-mal heruntergeladen

Die Besteller schreibe ich alle per PN an, da ich teilweise noch weitere Angaben brauche. Je nach Rückantwort gehen die Bestellungen in den kommenden Tagen raus. UARTs habe ich genügend ersteigern können. Da ich keine mehr aus meinem Bestand hatte, ist der Gesamtbetrag geringfügig höher geworden.

Erste Tests mit einem ATTiny2313, bestückt mit einem DS18S20 und ZXserial waren auch positiv. Der ZX81 empfängt damit seriell die Temperaturwerte. Ich möchte das Empfangsprogramm noch so gestalten, dass die Werte in Variablen abgelegt werden und auch von BASIC aus sowie im SLOW-Modus verarbeitet werden können. Dann kann sich jeder selbst sein Thermometer programmieren ;)
Zuletzt geändert von Joachim am 18.10.2017, 15:09, insgesamt 1-mal geändert.
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
tokabln
User
Beiträge: 1069
Registriert: 10.11.2013, 00:24
Wohnort: D, Berlin (Mariendorf)

Re: Eine serielle Schnittstelle für den ZX81

Beitrag von tokabln » 22.08.2017, 21:24

Hallo Joachim,

ganz lieben Dank, die zwei Bausätze sind heute angekommen. Mal sehen wann ich die zusammen bauen kann.

Gruß Torsten
Lieben Gruß Torsten
BMZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500, Amiga 1200, Atari Portfolio, HP200LX, IBM PC 5155, TP755c, T41, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e

Benutzeravatar
PokeMon
User
Beiträge: 4404
Registriert: 31.08.2011, 23:41

Re: Eine serielle Schnittstelle für den ZX81

Beitrag von PokeMon » 23.08.2017, 13:03

Ich habe das hier gar nicht richtig mitbekommen während der langen Urlaubszeit. Sollte es noch oder ggf. irgendwann wieder Platinen geben, wäre ich interessiert. :D
Wer seinen Computer ehrt, lebt nicht verkehrt.

Benutzeravatar
Joachim
User
Beiträge: 865
Registriert: 06.11.2004, 20:21

Re: Eine serielle Schnittstelle für den ZX81

Beitrag von Joachim » 23.08.2017, 13:23

Hallo Karl,
ich habe noch Platinen, Bauteile und auch den UART.

Platine 3,00 Euro
Bauteile 6,35 Euro (incl. 8251)
VG-64-Messerleiste 1,00 Euro
Porto und Verpackung 1,65 Euro
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Antworten