Jiiirův Universal Parallel Interface (UPI)

Nová UR-4 se už sehnat nedá, ale připojit Kempston joystick, tiskárnu, AMouse, nebo D/A (A/D) převodník je stále docela fajn. Jiiira proto navrhl plošný spoj kompatibilního interface lehce přizpůsobený použití u jeho klonu ZX Spectra Sparrow.

Interface UPI (Universal Parallel Interface) se liší v několika zásadních detailech.

  • Má úplnou 8 bitovou adresaci, porty 31, 63, 95 a 127 se nezrcadlí.
  • Obsahuje konektor Canon zapojený podle "standardu" Special Didaktik B, který je podporován v mnohém tuzemském softwaru.
  • Obsahuje vypínatelný konektor pro joystick, kvůli variantě 8255 od výrobce Intersil a kvůli tomu, aby se dal joystik snadno vypnout v případě, že by z nějakého důvodu ovlivňoval fungování připojené periferie (např. D/A převodníku).
  • Obsahuje mnohem běžnější IO konektor s více vývody, který je na prvních pinech identický s UR-4 a na pinech navíc poskytuje pár invertorů, které jsou občas užitečné pro některé periferie.
  • Neobsahuje stabilizátor napětí, kvůli možnosti připojení k počítačům s pouze 5V napájením na sběrnici a kvůli Sparrow, které má na sobě spínaný stabilizátor schopný poskytnout větší proudy.
  • Snadněji se osazuje do Jiiirovy roztrojky.

Zapojení universálního IO konektoru

Konektor je o něco delší než byly konektory UR-4 a Didaktiků, ale základní signály jsou rozmístěné stejně, kde to jen bylo možné.

vývodsignál vývodsignál
1PA0 2PA1
3PA2 4PA3
5PA4 6PA5
7PA6 8PA7
9PB0 10PB1
11PB2 12PB3
13PB4 14PB5
15PB6 16PB7
17PC3 18PC2
19PC1 20PC4
21PC5 22PC7
23PC6 24GND
25PC0 26key (zaslepeno)
27GND 28GND
29+5V 30+5V
31invertor 2 - in 32invertor 1 - in
33invertor 2 - out 34invertor 1 - out
35nc 36invertor 3 - in
37nc 38invertor 3 - out
39nc 40nc

Při pohledu na konektor, když je deska dole, jsou sudé vývody nahoře a liché dole, blíž plošnému spoji, vývod jedna je vlevo. Vývod 26 by měl být zaslepený a slouží jako zámek.

foto

nákres konektoru UPI

Zapojení konektoru pro joystick

vývodbitKempston joystickAmiga Myš
13nahoruosa Y2 (YB)
22dolůosa X1 (XA)
31vlevoosa Y1 (YA)
40vpravoosa X2 (XB)
56tlačítko 3tlačítko 3 (prostřední)
64tlačítko 1tlačítko 1 (levé)
7+5V+5V
8GNDGND
95tlačítko 2tlačítko 2 (pravé)

Zapojení je shodné s UR-4, pouze jsou navíc zapojena všechna tři tlačítka. U joysticku se druhé a třetí tlačítko vyskytuje vzácně, mnoho joysticků má dvě tlačítka spojená paralelně, takže fungují jako jedno. U myší bývají běžně tlačítka dvě, někdy i třetí (ale např. moje AMouse má třetí tlačítko nezapojené). Na bitu 7 interface trvale vrací 0, je-li joystick aktivován přepínačem, protože se tento bit občas používá k detekci přítomnosti interface. Software by ovšem měl vždy umožnit volbu.

Čte se tradičně na portu 31. Po resetu počítače se 8255 nastavuje do režimu "všechny porty vstupní", takže je možné rovnou port číst, stejně jako s jednoduššími rozhraními pro Kempston joystick.

Ovládání

Stejné, jako ovládání UR-4 a kompatibilních interface. Detailnější popis viz datasheet výrobce některé z variant 8255.

Tiskárny a Special Didaktik B

Tohle je asi nejzajímavější odlišnost UPI od předchozím variant interface s 8255. V minulosti se používaly možná i desítky způsobů zapojení a samozřejmě nic nebrání je používat nadále. Ale Special Didaktik B je poměrně dobrým kompromisem pro připojení modernějších tiskáren s paralelním portem (konektorem Centronics) aniž by zapojení kolidovalo s Kempston joystickem, nebo Amiga myší. Zároveň se vyhýbá použití portu C0, takže nekoliduje se stránkováním paměti Didaktiku Gama (lze použít stejný software) a nepoužívá /STROBE generované přímo 8255 jehož doba trvání není zaručena a pro některé tiskárny je příliš krátký.

S interfacem UPI a vhodným softwarem lze spoustu tiskáren připojit nejobyčejnějším Centronics kabelem, není potřeba vyrábět speciální pro každou tiskárnu zvlášť, není ani potřeba kabel tiskárny přizpůsobovat interface u ZX Spectra atd... díky konektoru navíc je to celé jednodušší a levnější.

Se zapojením Special Didaktik B přinejmenším pracuje software Proximy, k němuž jsou dostupné ovladače pro některé tiskárny (z modernějších určitě 9 a 24 jehličkové Epsonky). Je s ním vyzkoušený můj PCL ovladač k tiskárnám HP a aktuálně se pokoušíme dát dohromady seznam toho, co funguje.

Zapojení konektoru pro tiskárnu

vývod
DSUB
signál obvodu
8255
signál rozhraní
Centronics
2port B0data bit 0
3port B1data bit 1
4port B2data bit 2
5port B3data bit 3
6port B4data bit 4
7port B5data bit 5
8port B6data bit 6
9port B7data bit 7
1port C3 + inv./STROBE
11port C7BUSY
17jumper SEL_IN/SELECT
18 - 25GNDGND

Z článků o paralelním portu a připojení tiskáren k PC je vidět, že ZX Spectrum používá signály jen nezbytně nutné k přenosu dat. Signál SELECT na vývodu 17 nelze ovládat, ale volitelně připojit propojkou na GND, některé tiskárny údajně ignorují data, pokud nemají tento signál aktivní (tj. v log. 0).

Jak poslat data tiskárně

Nejjednodušší způsob, jak poslat tiskárně data je např. napsat následující BASICový program. Bude pomalý, ale bude to pravděpodobně fungovat na všech tiskárnách, které umí přijímat ASCII znaky. Většina starých tiskáren znaky vytiskne některým z vestavěných písem. Nezáleží, jestli pro grafický tisk používá ESC/P, nebo PCL. Pozor na to, že tento program nijak neřeší připravenost tiskárny, tedy netestuje stav PC7. Je tak pomalý, že to téměř není potřeba. Leda by byla tiskárna offline. První spuštění proveďte RUN 9000, opakované spuštění pak od řádku 10.

10 LET t$="nejaky text"
20 FOR n=1 TO LEN (t$)
30 LET znak=CODE (t$(n))
40 GO SUB 1000
50 NEXT n
60 GO SUB 1100
70 GO SUB 1200
999 STOP

1000 REM *** posli znak ***
1010 OUT 63,znak
1020 GO SUB 2000
1030 RETURN

1100 REM *** posli CRLF ***
1110 OUT 63,13
1120 GO SUB 2000
1130 OUT 63,10
1140 GO SUB 2000
1150 RETURN

1200 REM *** posli FORMFEED ***
1210 OUT 63,12
1220 GO SUB 2000
1250 RETURN

2000 REM *** udelej STROBE ***
2010 OUT 95,255
2020 OUT 95,0
2030 RETURN

9000 REM *** init 8255 ***
9010 OUT 127,152
9020 GOTO 10

Analogicky v assembleru popsáno v článku o tiskárnách Deskjet, v odstavci "Posílání dat do tiskárny".

Software

Pro tiskárny používající PCL a kompatibilní.

[ Zpět na hlavní stránku ]

Cygnusova stránka o ZX Spectru a kompatibilních počítačích byla napsána (přepsána) výhradně pomocí svobodného Open Source softwaru. V případě že naleznete chybu, nebo byste rádi cokoliv co se ZX Spectrem souvisí, neváhejte mi napsat na některý z mých emailů, nebo pracovně do zaměstnání. Stručně o mém webu se můžete dočíst zde.