OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 25.04.2024, 08:20

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 7 ] 
Autor Zpráva
PříspěvekNapsal: 06.01.2024, 14:13 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.05.2013, 14:56
Příspěvky: 2351
Has thanked: 304 times
Been thanked: 640 times
Mám disassemblovaný ovladač k tiskárnám EPSON pro Desktop, který byl v programu jako výchozí se zvoleným zapojením "Strobed port A" a zkoumám jaká zapojení se vlastně vyskytovala, protože mi s žádnou možností, kterou nabízí výchozí ovladač moje tiskárna (ideálně zapojená jako Didaktik Special B, ale ani jako Strobed port A) nefunguje.

V Proximácké příručce "Ultra LX a LQ" jsou na straně 4 popsaná 4 zapojení - "Strobed port A", "Strobed port B" a "Special Didaktik", které se vyhýbá používání PC0 na 8255. K tomu jsme si časem doplnili Didaktik Special B, které má signály na portu C zapojené stejně, ale používá bránu B, aby tiskárna nekolidovala s joystickem. Příručka zde https://softhouse.speccy.cz/documents/d ... ltraLX.pdf

Výchozí ovladač, co je přibalený k Desktopu používá jiná zapojení. Jedno z nich pojmenované "Strobed port A" je naprogramované takto:
Kód:
PRINT_CHAR      push    af               ; schovej znak
PRINT_CHAR_2    call    8020             ; je stisknutý BREAK?
                jp      nc,EXIT_SETUP    ; NC = je BREAK, přeruš tisk
                in      a,(95)           ; čtip port C
                and     8                ; testuj bit 3
                jr      z,PRINT_CHAR_2   ; Z = tiskárna není připravena, čekej
                pop     af               ; obnov znak
                out     (31),a           ; pošli znak tiskárně
                ret
Což je divné, ani jedno zapojení z Ultra LX a LQ, včetně stejně pojmenovaného nepoužívá PC bit 3 pro vstup a 8255 ovladač nastavuje hodnotou 160 = je přepnutá do režimu 1. Zapojení Didaktik Special používají PC3 jako výstup.

Když se dívám do dokumentace 8255, tak je v režimu 1 PC3 využitý pro signál INTRa.

Znamená to, že je k Desktopu přibalený ovladač chybný? Nebo je chybné zapojení a signál /BUSY je připojený na nestandardní vstup? Je to chyba vyplývající z nějaké předchozí "zvyklosti"? Proč to později změnili? Jiné vysvětlení?
Kód:
Strobed port A
  PA  = data
  PC6 = /ACK z tiskárny
  PC7 = /STROBE z počítače (0 = aktivní, generuje 8255)

Strobed port B
  PB  = data
  PC1 = /STROBE z počítače (0 = aktivní, generuje 8255)
  PC2 = /ACK z tiskárny

Didaktik Special A
  PA  = data
  PC7 = BUSY z tiskárny
  PC3 = /STROBE z počítače (1 = aktivní, generuje sw)

Didaktik Special B
  PB  = data
  PC7 = BUSY z tiskárny
  PC3 = /STROBE z počítače (1 = aktivní, generuje sw)
O dalších zapojeních nevím vůbec nic - "Interface I" až po "Serial port C"

Jsou někde rozepsaná zapojení používaná původním k Desktopu přibaleným ovladačem? Do příručky Desktopu už jsem koukal, tam nejsou. Alespoň ne v této https://softhouse.speccy.cz/documents/d ... esktop.pdf


Přílohy:
screenshot desktop epson connection type selection.png
screenshot desktop epson connection type selection.png [ 2.35 KiB | Zobrazeno 888 krát ]

_________________
https://cygnus.speccy.cz ZX Spectrum 128k, Betadisk, DivIDE, ESXDOS
Nahoru
 Profil  
 
PříspěvekNapsal: 06.01.2024, 14:34 
Offline
Radil
Uživatelský avatar

Registrován: 03.05.2017, 11:50
Příspěvky: 404
Bydliště: Ústí nad Labem
Has thanked: 56 times
Been thanked: 118 times
No, jak píše Tomáš v příručce k Desktopu, v Proximě byl preferovanej typ zapojení Strobed port B, už jen i proto že bylo místo pro Kempston a taky že se dalo testovat funkčnost jediným OUT příkazem. Nicméně všechna tři zapojení jsem tenkrát testoval a dělal na ně pro Proximu i kabely. Tam se tisklo dokonce na Laserovku - dělaly se podklady manuálů který se ve "velkým" tiskly v profi tiskařský firmě... Pokud ovladač nečte stav toho pinu mohlo by to znamenat jedině že ZXS stejně nebylo schopný dávat data tak rychle, aby to zaplnilo buffer tiskárny.. Ale to jen hádám. Jestli ti to netiskne zkus jednu ze strobed variant a pošli tam něco jen OUTem. Co se pamatuju tak když byl problém s tiskem na nějakou tiskárnu, stačilo jen místo lichýho počtu invertorů na strobe dát sudej počet a opačně... Patrně podle typu tiskárny to fungovalo na vzestupný nebo sestupný hraně toho signálu...


Nahoru
 Profil  
 
PříspěvekNapsal: 06.01.2024, 14:54 
Offline
Profík

Registrován: 21.10.2018, 08:27
Příspěvky: 560
Has thanked: 284 times
Been thanked: 139 times
Popis připojení tiskáren k Desktopu - viz příloha. Já jsem v nějaké době přes Strobed Port A z Desktopu tiskl, měl jsem Gamu 89 a ta má pro stejné zapojení ovladač v ROM, takže pro tisk z BASICu nebylo nic dalšího potřeba,


Přílohy:
desktop-tiskarny.pdf [401.35 KiB]
38 krát
Nahoru
 Profil  
 
PříspěvekNapsal: 06.01.2024, 14:57 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.05.2013, 14:56
Příspěvky: 2351
Has thanked: 304 times
Been thanked: 640 times
Tak už se mi podařilo jednu z variant přinutit k tisku na EPSON LX-800 (tj. na kompatibilní dobově odpovídající tiskárnu)

Pro jistotu jsem zapojil signál /SELECT přes 1k na GND, aby byl v L

Když jsem navolil ručně /STROBE (přes jeden invertor) a /BUSY na správné bity portu C, inicializační hodnotu 152 a zvolil MODE 0, tak i ten přibalený ovladač tiskne přes zapojení "Didaktik Special B"

Ale i tak by mě zajímalo, jaké zapojení se ukrývá pod "interface I" a "Serial port C". To jsem opravdu popsané nikde neviděl. Ačkoli - teď když mám ovladač disassemblovaný a tak z 98% i analyzovaný a okomentovaný, tak by to mohlo být snadné prozkoumat.

-> pwramp: To je tak 90% toho, co jsem hledal. Díky!

_________________
https://cygnus.speccy.cz ZX Spectrum 128k, Betadisk, DivIDE, ESXDOS


Nahoru
 Profil  
 
PříspěvekNapsal: 06.01.2024, 17:24 
Offline
Pan Štábní

Registrován: 12.05.2013, 22:24
Příspěvky: 1524
Bydliště: u Prahy
Has thanked: 44 times
Been thanked: 386 times
Zapojení Strobed port B z manuálu k Desktopu (asi pozdější verze příručky?) mi fungovalo s LQ-100.

Interface 1 je ZX Interface 1, tedy tiskárna připojená přes její sériový port.
Moc si to nepamatuju, zvlášť ohledně toho Serial port C (snad emulace sériového portu na 8255), ale v manuálu to bylo popsané.
Zítra pojedu do Doupěte, tak pokud jsem ho už nevyhodil (pochcala ho kočka), tak na to mrknu.


Nahoru
 Profil  
 
PříspěvekNapsal: 06.01.2024, 19:57 
Offline
Kecálek

Registrován: 10.07.2014, 01:57
Příspěvky: 169
Has thanked: 25 times
Been thanked: 225 times
zxcygnus píše:
Výchozí ovladač, co je přibalený k Desktopu používá jiná zapojení. Jedno z nich pojmenované "Strobed port A" je naprogramované takto:
Kód:
PRINT_CHAR      push    af               ; schovej znak
PRINT_CHAR_2    call    8020             ; je stisknutý BREAK?
                jp      nc,EXIT_SETUP    ; NC = je BREAK, přeruš tisk
                in      a,(95)           ; čtip port C
                and     8                ; testuj bit 3
                jr      z,PRINT_CHAR_2   ; Z = tiskárna není připravena, čekej
                pop     af               ; obnov znak
                out     (31),a           ; pošli znak tiskárně
                ret
Což je divné, ani jedno zapojení z Ultra LX a LQ, včetně stejně pojmenovaného nepoužívá PC bit 3 pro vstup a 8255 ovladač nastavuje hodnotou 160 = je přepnutá do režimu 1. Zapojení Didaktik Special používají PC3 jako výstup.

Když se dívám do dokumentace 8255, tak je v režimu 1 PC3 využitý pro signál INTRa.

Znamená to, že je k Desktopu přibalený ovladač chybný? Nebo je chybné zapojení a signál /BUSY je připojený na nestandardní vstup? Je to chyba vyplývající z nějaké předchozí "zvyklosti"? Proč to později změnili? Jiné vysvětlení?


a ten kabel mas pripojeny na (ako spominas) BUSY alebo na (ako ma byt) /ACK? /ACK a BUSY su dva rozne piny na lpt porte, co vidno aj na pripojeniach v prirucke ultraLQ, kde sa strobed pripojenia pripajaju na /ACK (10) a special didaktik na BUSY (11).

kazdopadne to PC3 (INTR A) aj mna miatlo pred rokmi, ked som toto skumal. vtedy som zhruba dosiel k nasledovnemu:

ono INTR A je totiz signal, ktory nema ist do tlaciarne, ako by sa (podla sipky vychadzajucej z 8255) mohlo zdat, ale ma ist na INT CPU, ak chceme citat odozvu tlaciarne v preruseni aby sme nemuseli pollovat signal manualne a kym potvrdenie pride mohli robit nieco ine. lenze to, aby to slo na INT CPU, muselo by to byt tak nadratovane v speccy/interface, co samozrejme v ziadnom nie je, preto sa stav INTR A v desktopackom drivri polluje citanim portu C. samozrejme, na to aby INTR A bolo 8255-kou generovane, musi sa po control worde este povolit INTE A zapisom na PC6


Nahoru
 Profil  
 
PříspěvekNapsal: 06.01.2024, 20:55 
Offline
Radil

Registrován: 27.09.2013, 22:59
Příspěvky: 427
Has thanked: 103 times
Been thanked: 44 times
Strobed port B sice prosazovala Proxima, ale časem se ukázalo, že některé tiskárny mají problémy se signálem ACK a tedy v komunikaci přes mód 1, zatímco přes BUSY (mód 0) pracují úplně v pohodě. Tisknu na LQ680 přes MODE 0.


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 7 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 30 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz