Jak emulovat RS-232 myš v QEMU

Jak emulovat RS-232 myš v QEMU
« kdy: 16. 08. 2018, 10:33:11 »
Mal by som otázku ku QEMU. Potreboval by som emulovať RS-232-ovú myš. Za ten svet neviem nájsť voľbu, ktorá by to vedela. Nevedel by mi niekto poradiť?
Na starom bare metal HW  to  robí BIOS a funguje to aj s USB myšou, ale v QEMU hlási, že nemá myš, na 25- alebo 9-pinovom sériovom porte.

Ude o ultrastarý DOS-ovský SW.
 
Vďaka za každú radu
« Poslední změna: 16. 08. 2018, 11:48:42 od Petr Krčmář »


Jenda

Re:Jak emulovat RS-232 myš v QEMU
« Odpověď #1 kdy: 16. 08. 2018, 12:06:53 »
Obávám se, že pokud to neumí SeaBIOS ani Qemu, tak smůla. Ale ten protokol je jednoduchý, takže by to mělo jít dodělat. Btw. v dosboxu/dosemu to nechodí?

borekz

  • ****
  • 492
    • Zobrazit profil
    • E-mail
Re:Jak emulovat RS-232 myš v QEMU
« Odpověď #2 kdy: 16. 08. 2018, 12:24:07 »

Re:Jak emulovat RS-232 myš v QEMU
« Odpověď #3 kdy: 16. 08. 2018, 14:40:50 »
Obávám se, že pokud to neumí SeaBIOS ani Qemu, tak smůla.

Ach joj

Btw. v dosboxu/dosemu to nechodí?

Bohužiaľ  v Dosboxe sa ani nespustím, preto som skúsil QEMU, ktoré trochu poznám s čias keď som viedol bakalárky na tvorbu vlastných AOSP image-ov s vlastnými SW študentov

Vďaka za rady

Re:Jak emulovat RS-232 myš v QEMU
« Odpověď #4 kdy: 16. 08. 2018, 14:42:17 »
DOSBox SVN Daum
https://www.vogons.org/viewtopic.php?f=32&t=42800

Bohužiaľ v DOSboxe sa tá aplikácia ani nespustí.  Skúsim pozrieť SeaBIOS od kolegu


ByCzech

  • *****
  • 1 848
    • Zobrazit profil
    • E-mail
Re:Jak emulovat RS-232 myš v QEMU
« Odpověď #5 kdy: 16. 08. 2018, 14:53:42 »
DOSEMU

pur

Re:Jak emulovat RS-232 myš v QEMU
« Odpověď #6 kdy: 16. 08. 2018, 18:39:41 »
V DOSu by měl jít zavést ovladač PS/2 myši a pak by DOSové programy mohly normálně používat PS/2 myš, kterou qemu emulovat umí.

Pokud ten DOSový program používá sériovou myš natvrdo (což teda většina programů pro DOS nedělá, přistupuje k myši přes ovladač), pak už zbývá jen koupit v bazaru sériovou myš, koupit USB-RS232 adaptér a ten emulovaný sériový port přiřadit skutečném sériovému portu, a k němu připojit myš.

LarryLin

Re:Jak emulovat RS-232 myš v QEMU
« Odpověď #7 kdy: 16. 08. 2018, 19:43:05 »
Podle mně by to v Qemu mělo jít volbou
Kód: [Vybrat]
-serial msmouse
V manuálu se píše:
Citace
Three button serial mouse. Configure the guest to use Microsoft protocol.

borekz

  • ****
  • 492
    • Zobrazit profil
    • E-mail
Re:Jak emulovat RS-232 myš v QEMU
« Odpověď #8 kdy: 17. 08. 2018, 06:55:27 »
Pokud ten DOSový program používá sériovou myš natvrdo
To by mě fakt zajímalo, jaký supertajný Dosový program jde.

FuukaFuuka

Re:Jak emulovat RS-232 myš v QEMU
« Odpověď #9 kdy: 17. 08. 2018, 08:12:25 »
Je pravda, jsem do svých programů taky myš "rval natvrdo", protože číst z portu bylo snazší, než se drbat s komunikací s ovladačem. Bavíme se o době, kdy dokumentace bylo poskrovnu. To není jako dnes. Mimo to, byla tu skvadra programátorů, kteří přecházeli z 8bitů, tam se to tak dělalo, to jsou zvyky.

borekz

  • ****
  • 492
    • Zobrazit profil
    • E-mail
Re:Jak emulovat RS-232 myš v QEMU
« Odpověď #10 kdy: 17. 08. 2018, 12:44:52 »
Tím drbáním myslíte zavolat int 33 ? Nastavit port a číst z něj je snažší ? A nebilo se to s ovladačem nebo jste ho odstranil z autoexecu ? Na osmibitu jsem sériový port neměl, zato na PC se zvukovka outovala přímo, protože nebylo API.

xxxxx

Re:Jak emulovat RS-232 myš v QEMU
« Odpověď #11 kdy: 17. 08. 2018, 15:29:38 »
@borekz
Ta int 33 nebyla vždy spolehlivá a pokud už šlo zpočátku o rychlost, tak ani rychlá.

-  Pokud to byla MS myš (MS "driver") tak jsem měl pocit, že později občas, při prostém poolování stavu, interně volával i něco z int 21 like (možná později pokusy o idle-like či detekci VM), tuším pokud na pozadí běžel emm368 či win, se všemi důsledky které pro 21 platily (nebyl reentrable, ...) (btw, himem býval OK).

- GMouse/Logitech zase mívaly problémy s kompatibilitou API i protože přidávaly své věci (např. MS měla jen 2 tlačítka a při noninterruptním poolování dokázal vracet jen left-right a ne GM prostřední)

- Pokud tomu 33 měl člověk jen podstrčit jeho callback pro nadstavbu nad jeho interrupt, tak to i ten interrupt žral hodně času, protože m.j. maskoval kdy má volat jaký callback a dělal okolo toho další opičky (kritické na XT, neřku 8088 variantě, později to bylo lepší, ale to už, pokud člověk chtěl vyloženě myšoidní věci, mohl rovnou win). Takže bylo výhodnější (spolehlivější+rychlejší) odchytit si RS232 přímo.

- 33 míval výhody jen pokud člověk psal pro konkrétní situaci (hw+sw na zakázku) a použil ucelené prostředí. Např. tuším qemm to byl, co měl i specialitky pro VidRam a pokud si to člověk odladil, tak dokázal použít hw grafický kurzor jako šipku pro DOS text-like konzoli... ale možná už se mi to motá, je to 25+ let. ... pro upřesnění, rozhodně tím nemyslím pseudokurzor (šipku) v textovém režimu (pomocí User-defined characters) a měnit tvar kurzoru (4 znaků kolem) každý pohyb myši, že to vypadalo, že se posouvá šipka nad textem ... to si musel člověk dělat sám low level (vida další příklad, kdy se musel odstavit int 33, který by do toho jinak kecal)

- V hodně pozdější době do toho přibyla možná i další tlačítka (i nad ty 3 od Geniuse) ale hlavně kolečko myši ... také nebylo standardizováno zpětně - jen, něco tuším dopředně, ale pokud to mělo běhat i na reálném režimu a pod čistým DOS (ne jen jako dos ve VM pod W95), tak kolečko bylo nedostupné via API

... atd, atp ...

Re:Jak emulovat RS-232 myš v QEMU
« Odpověď #12 kdy: 17. 08. 2018, 16:53:52 »
Ďakujem všetkým za odpovede, najväčšiu pravdu mal

V DOSu by měl jít zavést ovladač PS/2 myši a pak by DOSové programy mohly normálně používat PS/2 myš, kterou qemu emulovat umí.


Ešte pred prečítaním jeho odpovede som sa začal baviť s ovládačom.
Bol tom nejaký ovládač msmouse verzia 11 a nahradil som ho  msmouse verziou 8.2 či 8.20  a čuduj sa svete ide to.


To by mě fakt zajímalo, jaký supertajný Dosový program jde.

Firemný program na generovanie CNC programu z Design CAD-u dop vlastného CNC jazyka, z čias, keď ešte nebol G-CODE ISO štandardom ekonomicky dostupným pre bývalý východný blok
https://www.iso.org/standard/34608.html

A na  self made  strojoch je stále používaný..