Tisk přes sériový port
Tento text volně navazuje na článek o standardním sériovém portu, který je součástí ZX Spectrum 128k. Cílem bylo vytvořit jednoduchý tiskový ovladač, ne nutně pro tiskárnu, ale třeba i jen pro přenos tisknutého textu do PC.
Využil jsem tři různé programy pro serializaci dat. Jednou to byl můj program s volitelnou rychlostí přenosu 2400, 4800 a 9600bps původně připravený pro plotry a jiné tiskárny s RS232, podruhé upravený kód od Martina1 vysílající rychlostí 57600bps, obojí s řízením toku dat (resp. čekáním na připravenost PC). A nakonec jsem použil upravenou Busyho rutinu pro vysílání rychlostí 57600bps bez řízení toku dat, ale přes čip 8255, tj. pro případné využití například s Didaktikem Gama a pouze s převodníkem úrovní na RS232, nebo s převodníkem UART-USB.
Všechny tři varianty přenosu jsou zkombinované se stejným základním programem, který po spuštění přesměruje kanál #3 na ovladač, který podporuje základní detokenizaci bez které by nefungoval LLIST. Ale protože zároveň počítám s přenosem textu např. do Linuxového PC, záměrně jsem přenos UDG a semigrafických znaků zjednodušil, aby výsledkem nebyl problematický nesmyslný znak. UDG se přenáší jen jako odpovídající ASCII písmeno a semigrafické znaky budou všechny nahrazeny křížkem.
Všechny tři varianty jsem také zjednodušil tak, že neprovádějí žádnou úpravu tiskutých dat. Výsledkem je sekvence bytů přesně taková, jak ji generuje ZX Spectrum. Kód pro softwarovou serializaci stále musí být v nezpomalené RAM, ale je výrazně menší. Zpracování dat se dá následně provést na PC.
Kód nezasahující do přenášených znaků se dá použít i k ovládání některých zařízení se sériovým portem, ale přípravu příkazů je třeba zajistit v BASICovém programu.
O pár týdnů později jsem přidal i variantu tisku přes sériový interface SIF čistě pro kompletnost a taky proto, že jsem potřeboval víc programů, které se SIFem pracují.
Obsah balíčku ke stažení
minimal_AY-RS232_57600bps minimal_AY-RS232_9600bps minimal_8255_57600bps s_detokenizaci_AY-RS232_57600bps s_detokenizaci_AY-RS232_9600bps s_detokenizaci_SIF-RS232_115200bps_ctsrts s_detokenizaci_SIF-RS232_115200bps_xonxoff s_detokenizaci_8255_57600bps
Download
- tisk_textu_na_RS232.tar.bz2 - různé ovladače pro tisk textu přes sériový port
Historie změn článku
- 2022-11-04 - zveřejněno
- 2023-01-05 - doplněno o variantu pro SIF s různým řízením toku dat