Fórum Root.cz
Hlavní témata => Software => Téma založeno: Peter Fodrek 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
-
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í?
-
DOSBox SVN Daum
https://www.vogons.org/viewtopic.php?f=32&t=42800
-
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
-
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
-
DOSEMU
-
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š.
-
Podle mně by to v Qemu mělo jít volbou
-serial msmouse
V manuálu se píše:
Three button serial mouse. Configure the guest to use Microsoft protocol.
-
Pokud ten DOSový program používá sériovou myš natvrdo
To by mě fakt zajímalo, jaký supertajný Dosový program jde.
-
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.
-
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.
-
@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 ...
-
Ď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 (https://www.iso.org/standard/34608.html)
A na self made strojoch je stále používaný..