000
29.09.2023, 21:44 Uhr
Hobi
|
Ich hatte hin und wieder überlegt, wie man das Laden und Speichern beschleunigen kann. Im Endeffekt sind dann jedesmal eine Art Turbo Lader herausgekommen, die an den jeweiligen Rechner angepasst werden mussten. Letztendlich habe ich es aufgegeben eine generische Lösung über das Audio-Kabel zu bauen. Insbesondere, da beim KC85/4 die maximale Frequenz am Audio-Eingang stark begrenzt ist.
Die nächst beste Idee war ein USB zu TTL-UART Kabel zu verwenden und das UART Protokoll über die Z80-PIO zu implementieren.
Als Beispiel habe ich die freie PIO vom VDIP-Interface genommen. Letztendlich kann man es genauso über den User-Port oder die Load/Save Pins laufen lassen.
Nachdem das Senden und Empfangen geklappt hat, hatte ich dann noch das XMODEM-Protokoll dazugepackt und schon funktioniert der Dateiaustausch über ein Terminal-Programm vom PC.
Warum das? Ich brauche eine einigermassen schnelle Testumgebung, um Programme auf der Zielhardware zu testen. Schneller geht es mit einer EPROM-Emulation. Das 3-Draht Interface ist die einfachste Lösung.
Das beim Z1013-Monitor 2.02 noch 2KB ROM frei sind, hatte ich die Routinen in den Monitor mit integriert mit einen kleinen Gimmick. Beim Starten wird die Tastatur abgefragt. Wenn eine Taste gedrückt wurde, wird automatisch der Ladevorgang gestartet.
Die Programmentwicklung erledige ich mit dem SDCC und erzeuge eine .Z80 Datei. Diese kann man jetzt mit dem XMODEM Protokoll einfach rüberschieben.
Ursprünglich hatte ich noch ein Z80 nach Z1013-WAV implementiert, der aus dem Binärfile eine WAV Datei erstellt, die man mittels "play program.wav" einfach über das Audio Interface einladen konnte. Bei großen Programmen dauert das schon ein Weile.
Die Übertragungsrate ist 9600 Baud. Es ginge zwar auch schneller, aber damit hat man bei 2 MHz noch Puffer für eventuelle Interrupts. Bei 2 MHz hat man reichliche 208 Taktzyklen Zeit ein Bit zu lesen und bei 4 MHz bekommt man automatisch 19200 Baud, was auch schon recht schnell ist.
Jetzt wo es beim Z1013 funktioniert, könnte man das Laden auch beim KC87 implementieren oder das mit der SIO vom Druckermodul probieren und so noch schneller die Daten übertragen. -- ------------------------------------------- Corontäne ------------------------------------------- Dieser Beitrag wurde am 29.09.2023 um 22:09 Uhr von Hobi editiert. |