On Sat, 3 Apr 2010, Paul Brook wrote:
This is my first contribution to QEMU: I've written a virtual piece of
hardware (e.g. ports) that the mouse pointer can be used as an absolute
pointing device even with non USB devices, e.g. with DOS and doesn't need
any high memory usage USB driver. This is necessary for e.g. VNC remote
access, this was my primary motivation.
Why not just use the existing vmmouse?
First I didn't know that QEMU has already implemented vmmouse. I'm very
new to QEMU. After looking at the code vmmouse requires 386 instructions
in the DOS driver to access the 32 bit port access (eax, ebx, etc.) which
might be problematic in real mode. and even on 286 (don't know whether
this is relevant or not). Further protocol is a little bit more complex to
implement in Assembler in the DOS TSR and therefore performance would be
lower (DOS polls the mouse, no standard event or interrupt based system
specified).
To use it you need a mouse driver (e.g. cutemouse,
http://cutemouse.sourceforge.net/) and an QEMU mouse TSR.
Further the mouse TSR emulates also a HP-HIL 45911 tablet digitizer. This
device has been chosen because an Interrupt interface exists at INT 6Fh and
therefore it is relativly easy to emulate (all other devices I've evaluated
use the serial port and are therefore much more complex to emulate)
However emulating an actual tablet connected to the serial port means you
don't need any custom guest software.
But I thing it is only relevant for very old software like DOS. Every
modern OS has USB on board and therefore the USB tablet emulation is IHMO
sufficient and works well. The guest software could also be implemented as
option rom (~2k), then no TSR would be necessary. As the typical use case
is for DOS I don't see any relevant problems here because resident TSR
size is very small (~2k) and common practice in DOS. BTW: is it possible
to load more than one option ROM at a time, e.g. SCSI and another?
Further I've written a simple logging debug ports functionality to debug the
driver
This looks a lot like the existing isa-debugcon.
Is this in the development tree only? I had only a look at the stable
release and didn't find anything.
Ciao,
Gerhard
--
http://www.wiesinger.com/