Forum

Z PMD 85 Infoserver

:: späť na začiatok témy :: späť na zoznam tém ::
Správa
Autor  Autor ::  Roman Bórik
Poslaná  Poslaná ::  05.07.2011 11:34:31
Predmet  Predmet ::  Re: Myš Poly - 08 a myš 602 .
Myš Poly je sériová myš vyrábaná v OPVS Dolný Kubín a to v dvoch verziách. Poly-16 je určená pre PC-XT/AT a Poly-08 je určená prednostne pre PMD 85, ale pripravovali sa interfejsy pre ďalšie 8 bitové počítače. Myši sa líšili iba pár prepojkami na DPS a konektormi.
Myš obsahuje jednočipový mikroprocesor MHB 8748C, ktorý spracúva pohyby myši a stlačenie tlačidiel. Tento stav je sériovo zhruba každých 10 ms posielaný do PMD 85 v sérii 3 bytov - stav tlačidiel, deltaX, deltaY.
Myš sa pripája na aplikačný konektor, je použitý port 8Ch a na ňom iba bit D7, ako vstup sériových dát. Pred odoslaním svojho stavu myš vyvolá prerušenie a séria troch bytov je bit po bite prečítaná v obsluhe prerušenia a uložená do pamäte. Hlavný program potom tieto dáta spracuje. Komunikácia medzi myšou a PMD 85 prebieha v asynchrónnom režime, rýchloťou 4800Bd, 8 datových bitov a 1 stop bit.
K myši bola dodávaná kazeta s ovládačom (MDRIVER) a ukážkovým testovacím programom (MTEST). Mimochodom, ovládač a aj testovací program sú napísané veľmi amatérsky a je len zázrak, že to vôbec funguje... Neviem o inom programe, ktorý by túto myš využíval.

Myš 602 pre PMD 85 bola navrhnutá Ing. Vítom Libovickým a Jiřím Olmerom. Vznikla aj pre ZX Spectrum.
Je to paralelná myš, ktorá sa pripája na aplikačný konektor PMD 85 a používa vstupný port 8Ch. Paralelná myš vracia po dva navzájom posunuté signály pre X-ovú a Y-ovú os. Na základe zmeny týchto signálov sa vyhodnocuje pohyb myši. Signály AY, BY, AX, a BX sú pripojené na bity D0 až D3. Na ďalšie dva bity D6 a D7 sú pripojené tlačidlá ľavé a pravé. Myš 602 využíva prerušenie pre pravidelné snímanie stavu myši. Prerušenie je vyvolávané časovačom 8253. Využité sú časovače 0 a 1, ktoré sú zreťazené.
Myš nepotrebuje žiadny špeciálny interfejs, ale prepojenie časovačov musí byť prevedené v konektore. Port 8Ch je "implicitne" aktivovaný samotným zapojením aplikačného konektora na PMD 85.
Vhodnou myšou je typ 3WN16605 z Tesly Blatná. U tejto myši je ale potrebné invertovať signály tlačidiel. Naviac, z vlastnej skúsenosti som zistil, že označenie farieb vodičov v návode k tejto myši nezodpovedalo skutočnosti a musel som trošku laborovať s prehadzovaním signálov medzi AY/BY, AX/BX a tlačidlami.
Existuje jediný program, ktorý túto myš využíva. Je to Greditor od Ing. Víta Libovického.

Emulácia siete by teoreticky/prakticky urobiť šla, avšak nemáme dostatočné informácie o tom, ako sieť s PMD 70 fungovala. PMD 70 sa vyrábala vo viacerých verziách. V základe PMD 70-Master a PMD 70-Slave, kde aj Master aj Slave sú PMD 85. Ďalej existovali PMD 71-A, o ktorej nevieme vôbec nič a PMD 72 určená pre PP-06, ktoré zastávalo pozíciu Mastera. Naviac, máme iba ovládač pre PMD 70-Slave (pre PMD 85-3), ktorý je zmapovaný iba čiastočne.
V základe sieť umožňovala Master stanici poslať Slave stanici/staniciam konkrétny program v BASICu. Jednotlivé stanice si mohli navzájom posielať textové správy. Master vedel získať obsah obrazovky ktorejkoľvek Slave stanice a podobne.
 
Správa
Autor  Autor ::  Libor L.A.
Poslaná  Poslaná ::  24.06.2018 10:17:14
Predmet  Predmet ::  Re: Myš Poly - 08 a myš 602 .
Jak vlastně funguje emulace myši 602? Zkoušel jsem zapnout emulaci a na portu 8Ch jsem očekával stav clonek a tlačítek. A ono nic. Předpokládám, že to bere stav normální hardwarové myši z PC a změny souřadnic promítá do stavu clonek na portu 8Ch.
 
Správa
Autor  Autor ::  dex
Poslaná  Poslaná ::  24.06.2018 18:47:05
Predmet  Predmet ::  Re: Myš Poly - 08 a myš 602 .
Podle mých informací přiřazení bitů portu na ZX Spectru (a na PMD by mělo být snad stejné, na PMD je použit port 140, na Spectru nula) je:

7 - /pravé tlačítko
6 - /levé tlačítko
5 -
4 -
3 - X1
2 - X2
1 - Y1
0 - Y2

Rutina pro obsluhu myši 602 pro Spectrum (a pro PMD měla být použita stejná, Libovický pro PMD psal v assembleru Z80) je kromě manuálu k myši zveřejněna i v ZX Magazínu 3/2004, strana 9.
 
Správa
Autor  Autor ::  Libor L.A.
Poslaná  Poslaná ::  24.06.2018 19:25:08
Predmet  Predmet ::  Re: Myš Poly - 08 a myš 602 .
Prozatím mám svou rutinu na dekódování pohybu myši v obou osách o délce 19 bajtů plus lookup tabulka 256 bajtů. Prozatím mě místo netlačí, tak to nechám tak. Pokud se ukáže, že je i s vykreslováním myšího kurzoru "strojového času dost", tak bych to zoptimalizoval (prý někdo použil Karnaughovy mapy) nebo bych použil verzi bez tabulek. Ale ta lookup tabulka je v mém případě ideální řešení, protože poskytuje přímo směrový kód pohybu myši 1..8 (0 znamená bez pohybu, 9 znamená přeskok dvou fází) pro obě sady clonek najednou.

Ale pokud se mi podaří stáhnout uvedená čísla ZXM, asi se budu inspirovat a nebudu objevovat objevené.
 
Správa
Autor  Autor ::  dex
Poslaná  Poslaná ::  26.06.2018 18:59:05
Predmet  Predmet ::  Re: Myš Poly - 08 a myš 602 .
Verze s Karnaughovými mapami (pro A-mouse) je v ZXM 1/1995, strana 22.
Připojení myši je podobné, jako myši 602 - Amiga myš připojená do konektoru kempston joysticku na ZX Spectru.
Ještě někdo posílal nějakou pozdější modifikaci, která byla kratší, ta je v ZXM 4/2000, strana 18, ale mně se moc nelíbila.
 
Správa
Autor  Autor ::  Libor L.A.
Poslaná  Poslaná ::  27.06.2018 17:04:51
Predmet  Predmet ::  Re: Myš Poly - 08 a myš 602 .
Díky vám oběma s Romanem za informace, ovladač myši 602 pro PMD-85 je hotový (a brzy bude implementován v nové hře). Ještě zkusím o víkendu připojit ATARI ST myš ve stylu myši 602 na systémový konektor. Myslím, že by na to mělo stačit 6ks odporů ca 4k7 přímo na odpovídající linky datové sběrnice a to ještě jen jako ochrana proti zpětnému zápisu na port 8Ch. Sice to bude číst všechny porty, které nejsou na základní desce adresovány - ale to by asi nemělo vadit.
 
Správa
Autor  Autor ::  Roman Bórik
Poslaná  Poslaná ::  24.06.2018 20:36:45
Predmet  Predmet ::  Re: Myš Poly - 08 a myš 602 .
ZXM sa v súčasnosti nachádza u z00ma.
 
Správa
Autor  Autor ::  Roman Bórik
Poslaná  Poslaná ::  24.06.2018 15:04:47
Predmet  Predmet ::  Re: Myš Poly - 08 a myš 602 .
Myš 602 je implementovaná iba pre PMD 85-1. Myš využíva zreťazené čítače CT1 a CT0 (do CT1 vstupuje PHI2TTL, výstup CT1 vstupuje do CT0 a výstup CT0 vyvoláva prerušenie).
A ako som už písal, jediný program, ktorý túto Myš používa je GREDIT16 z balíka Grafické programy.
Ten inicializuje časovače tak, že je prerušenie vyvolávané približne raz za 1 ms.
V programe je od adresy 0B4Dh inicializácia prerušenia a časovačov. Hneď za touto rutinou je samotná obsluha prerušenia a teda aj samotnej Myši.
 
Správa
Autor  Autor ::  Libor L.A.
Poslaná  Poslaná ::  24.06.2018 16:49:45
Predmet  Predmet ::  Re: Myš Poly - 08 a myš 602 .
A co vlastně brání tomu, aby myš typu 602 byla implementována i u ostatních verzí PMD-85? Ten port 8Ch se mi opravdu ozývá jen u verze 1.
 
Správa
Autor  Autor ::  Roman Bórik
Poslaná  Poslaná ::  24.06.2018 19:02:15
Predmet  Predmet ::  Re: Myš Poly - 08 a myš 602 .
Teoreticky asi nič... Na PMD 85-1 som to zrejme "limitoval" iba preto, že bola Myš pôvodne iba pre PMD 85-1. Napíšem si to do TODO listu.
 
Správa
Autor  Autor ::  Libor L.A.
Poslaná  Poslaná ::  24.06.2018 19:17:11
Predmet  Predmet ::  Re: Myš Poly - 08 a myš 602 .
Díky. Já bych byl pro. Ostatně tělo programu tak bude moci být sdíleno i myšmi z ATARI ST (a prý i z Amigy) a provozováno na všech verzích PMD-85.
:: späť na začiatok témy :: späť na zoznam tém ::