Virtual Serial Port Driver na ratunek!

28 04 2008

Znalazłem wirtualny sterownik dla portów szeregowych i okazało się, że działa całkiem dobrze :) DosBOX otwiera go bez najmniejszych problemów. Program czytający dane z /dev/input/mice też otworzył go bez problemu. Po krótce – moje starania nie poszły na marnę.

Uruchomiłem więc czym prędzej The Settlers 2 i włączyłem grę na 2 graczy. Przepisywanie danych oczywiście działa bez zarzutu jednak niespecjalnie tak jakbym tego chciał ;) Myszka drugiego gracza w S2 zaczęła się poruszać bardzo chaotycznie.

Przypuszczam, że problemem jest inne kodowanie danych myszy USB oraz COM więc będę musiał coś wymyślić. Wie ktoś może jak wygląda takie kodowanie dla myszy na COM oraz myszy na USB? Znając format danych bez problemu mógłbym napisać programik który robi co trzeba…

Gdyby ktoś wiedział proszę o informacje, a sam w tym czasie poszperam w Google ;)


Operacje

Informacja

4 odpowiedzi

28 04 2008
moriturius

Udało się!
Pomogła mi w tym stronka: http://pinouts.ru/SerialPorts/Serial9_pinout.shtml

Umiem już poruszać myszką w The Settlers za pomocą danych z klawiatury (napisałem program) ale taka obsługa jest raczej niewygodna :D Teraz zajmę się czytaniem danych z myszy podłączonej pod USB.

29 04 2008
moriturius

Udało mi się także zaimplementować czytanie z myszy USB i napisać program który takie dane przekazuje pomiędzy portami w odpowiedni sposób. Efektem było to, że mogłem poruszać bez problemu myszką drugiego gracza w The Settlers 2.

Było to jednak dość powolne i mysz ruszała się z pewnym opóźnieniem. Tak więc w ten sposób chyba się jednak nie uda :)

7 05 2008
lukaszw

Zapodaj źródło ;) Bardzo ciekawy problem. Pewnie łatwiej było by odszukac źtódła DosBoxa i go troszeczke przerobić do własnych potrzeb ;)

8 08 2008
moriturius

@lukaszw: dzis znalazlem Twoj komentarz w miejscu w którym Akismet pokazuje co zatrzymał jako spam – nie mam pojęcia dlaczego Twój tam trafił :P

co do źródła to już go nie mam, ale nie był to program specjalnie rozbudowany – po prostu czytałem z pliku chyba /dev/input/mice (lub mouse) dane w formacie dostarczanym przez USB odczytywałem to co było potrzebne i zapisywałem w wirtualnym porcie COM który był zamontowany w DosBOXie jako dane myszy w formacie COM.

To takie przepisywanie. Cały program to 2 funkcje (odczyt zapis) i jedna pętla :)

Dodaj komentarz