OldComp.cz

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

HVDOSdev2019!

Právě je 18 srp 2019, 21:23

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 6 ] 
Autor Zpráva
 Předmět příspěvku: Myš na PMD 85-3
PříspěvekNapsal: 19 črc 2019, 23:58 
Online
Kecálek
Uživatelský avatar

Registrován: 07 črc 2019, 22:14
Příspěvky: 92
Has thanked: 2 times
Been thanked: 9 times
Zdravím všechny příznivce tohoto stroje :) . Chtěl bych se zeptat, jakým způsobem se řeší připojení a zobrazení kurzoru myši k tomuto uberstroji varianty 85-3 pokud to tedy vůbec jde :-). Co jsem zatím vyčetl je, že myš nebyla zrovna v top5 (všech :lol: ) periferií a programové vybavení ji využívající je jedním slovem tristní když patrně existuje pouze v jednom kusu a to ještě jen pro variantu 85-1. Ten program se mi zatím nepodařilo v emulátoru úspěšně spustit, vytuhne mi to vždy na úvodní obrazovce (ovladač i program dle návodu se obvykle nahraje, pouze po JUMP 5000 už je emulátor jen krok od klinické smrti a pomůže leda studený reset - že by nějaký brouk v relátku?).

Ptám se proto že excelentní aplikace Solitér od RomBoru má sice hezký kurzor ale k pohybu používá klávesnici/joystick. Ne že by to nešlo hrát, ale myš by přeci jen byla ideální pro ovládání. :thumbup: Nevím zda je podpora pro myš součástí Solitéru ani hardwarovou myš nemám ale potěšilo by mě moct ji vyzkoušet alespoň v simulátoru a co není, to jednou může být, 64KB ZX spectrum myš ve svého typu GUI OS používat dovede tak proč ne i PMD :-).


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Myš na PMD 85-3
PříspěvekNapsal: 20 črc 2019, 20:42 
Offline
Stydlín

Registrován: 28 črc 2018, 14:37
Příspěvky: 7
Has thanked: 0 time
Been thanked: 2 times
Samozřejmě to lze provozovat. Na všech verzích PMD-85 úplně stejně, protože vše se řeší programově. Signály dvou tlačítek a čtyř rotačních clonek od pohybových snímačů se načtou z portu 8Ch, přičemž myš se fyzicky připojí na aplikační konektor s vyvedenou sběrnicí počítače (první konektor zprava při pohledu na PMD-85 zezadu). Protože je sběrnice oddělena obvodem MHB8286, tak to funguje i jako přímý čtecí port, jen je potřeba oddělit signály myši od datových linek sběrnice rezistory s přibližnou hodnotou 2k2. Samotnou myš používám zděděnou z ATARI 520ST. Ale prý je úplně stejně zapojená i ta od Amigy. Ale to jsem neověřoval.

Takže načíst signály z portu 8Ch a zpracovat.. Jde jen o to, jak rychle se to podaří zpracovávat signály myši. Na základě praktických zkoušek mohu potvrdit, že pro plynulý pohyb myši by mělo "stačit" tak 500 testů myši za vteřinu (což může případně vyvolat až 500 požadavků na posun kurzoru myši - s tím je třeba počítat). Ale jde to zvládnout. Připravovaná hra Funny Fruits je psána nativně jako testovací aplikace právě pro myš.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Myš na PMD 85-3
PříspěvekNapsal: 21 črc 2019, 00:35 
Online
Kecálek
Uživatelský avatar

Registrován: 07 črc 2019, 22:14
Příspěvky: 92
Has thanked: 2 times
Been thanked: 9 times
Díky za odpověď. Jako spíše neználkovi než znalému to tedy znamená že program si vše musí řešit sám a není potřeba nějaký ovladač? Nebo je ovladač potřeba jen když se s tím programátor nechce "zdržovat" a jen se ho pak dotazuje na vstupy do programu? Nějak tu myš detekovat je snad potřeba?

Já doposud žil v představě že ovladač je potřeba vždy nahrát do paměti předem (i kdyby třeba v rámci nahrání daného programu když už ne separátně). A že program může získat s ovladačem relativně snadno podporu použití myši právě dotazováním se ovladače.

Takhle to vypadá že stačí číst port ale implementace už je čistě na programátorovi. Pokud melu kraviny budu rád vyveden z omylu :-).


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Myš na PMD 85-3
PříspěvekNapsal: 21 črc 2019, 06:38 
Offline
Kecálek

Registrován: 07 kvě 2014, 12:10
Příspěvky: 134
Bydliště: Jbc
Has thanked: 0 time
Been thanked: 26 times
Libor L.A. píše:
což může případně vyvolat až 500 požadavků na posun kurzoru myši

Myslim, ze prakticky nema cenu prekreslovat kurzor mysi casteji nez 50x za vterinu - obnovovaci frekvence obrazovky. Souhlasim, ze detekce stavu mysi je potreba delat casteji, jinak se pri rychlejsim pohybu detekce nepodari nebo vykazovat chaoticky pohyb, ale kresleni kurzoru by se asi mohlo resit jinak a v jine casti kodu.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Myš na PMD 85-3
PříspěvekNapsal: 21 črc 2019, 06:47 
Offline
Stydlín

Registrován: 28 črc 2018, 14:37
Příspěvky: 7
Has thanked: 0 time
Been thanked: 2 times
Je to přesně jak píšete. Buď si jako programátor napíšete část programu, která se bude starat jen o myš a spolupracovat s "nadřazenou" úrovní programu (myšleno významově, ne v technicko-prioritním pojetí), nebo využijete služeb již hotového ovladače, který připojíte ke svému programu a budete volat požadované funkce tohoto ovladače. Já jsem pro Funny Fruits udělal právě takový ovladač, který má jen minimum funkcí: 1) Zobraz kurzor myši, 2) zhasni kurzor myši, 3) otestuj myš na provedený pohyb a případně posun kurzor. Poslední z těchto funkcí je ta "hlavní", která dělá vlastní pohyb myši. Ve smyčce ji voláte stále dokola a ona provede sem tam pohyb kurzoru myši, pokud nastala změna její fyzické pozice. A v této programové smyčce můžete dělat kvaziparalelně i ostatní drobné úlohy.

Nezmínil jsem čtení tlačítek myši. To je tak jednoduchá věc, že volat ovladač je plýtváním času. Například test levého tlačítka myši a skok při jeho stisku se dá udělat takto:

in 8Ch
add a
jm adresa_skoku_při_stisku

Toť vše. 6 bajtů, 28T CPU včetně WAIT stavů, tedy cca 14 mikrosekund. Jen volání ovladače instrukcí CALL a návratová instrukce RET z podprogramu jsou delší. A kde je vlastní test tlačítka v těle ovladače.

Test pravého tlačítka je ale nutno udělat jinak:

in 8Ch
ana a
jm adresa_skoku_při_stisku

A ještě bych na závěr reagoval na poslední příspěvek ohledně toho, že překreslování kurzoru myši není nutno dělat tak často, jako test změny pozice. To je naprostá pravda. Je to geniální úvaha a já ji zkusím zapracovat do některého z budoucích děl. Pořád se mám co učit. A taky bych se měl fakt už začít inspirovat existujícími díly a neobjevovat Ameriku na každém rohu..


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Myš na PMD 85-3
PříspěvekNapsal: 22 črc 2019, 09:21 
Online
Kecálek
Uživatelský avatar

Registrován: 07 črc 2019, 22:14
Příspěvky: 92
Has thanked: 2 times
Been thanked: 9 times
Děkuji za informacemi nabitý popis. Né že bych tomu zrovna moc rozuměl ale představu už mám :lol:.
Až to bude fungovat je v plánu ten ovladač od hry oddělit aby se dal případně použít i u jiných projektů samostatně? To by případně zrychlilo vývoj dalších aplikací i vybízelo něco napsat když je pro co.

Mám teď v hlavě myšlenku přidělat na PMD 85-3 moderní COM port výstup na linky TTL konektoru V.24 před optočleny aby se ušetřil aplikační konektor, přeci jen připojovat myš na 30pinový konektor když tam může být něco šikovnějšího (zvukovka, tiskárna...) mi přijde škoda. Sice hlavní účel použití je komunikace ven ale možnost připojit si COM myšku by taky nebyla k zahození. Plnit pingpong míček voskem do modifikované krabičky od jídla s mikrospínači ze sichrhajsky se mi moc nechce :mrgreen:.


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ů: 6 ] 

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 1 návštěvní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