Author ::Libor L.A. Posted :: 2018-06-24 10:17:14 AM Subject ::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.
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.
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é.
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.
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.
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.