Hi Bret,

interesting to have a laptop which already has USB but does not yet
have USB keyboard BIOS support indeed... I hope you can find out a
bit more about USB versus FDAPM. Maybe on some machines USB has IRQ
uses which are not reliably enabled during HLT? Maybe even NMI/SMI?

Also interesting that some BIOSes are not fully compatible with DOS
keyboard (layout drivers). I think there are two common methods: To
modify 40:xx data directly and to interact with the int 15 scancode
processing interface. I was assuming all BIOSes support both ways.

If I had to guess, I would say MKEYB uses int 15 and KEYB uses 40:xx.

> I actually have several programs that simulate keystrokes

When reading about the wish to map the mouse wheel to keystrokes on
BTTR forum, I immediately thought about MOUSKEYS and was happy to see
in the docs that it is actually by you (many many years ago). Maybe
you could still add wheel support to it in 2011? :-)

>> USB driver by Bret would also work there, I think. However MS DOS
>> has not had any updates for ca 15 years, many parts are outdated.
> That may be true, but there are some parts of MS-DOS that still have
> not been replicated by FreeDOS or any other alternative DOS.  Two
> significant and critical ones (at least concerning USB) that I'm aware
> of are the KEYB issue discussed above, and the I/O Virtualization API
> provided by MS EMM386.  FWIW, I/O Virtualization is essential for USB
> emulation of things like joysticks, serial ports, and audio.

The latter is an interesting point. The extension interface of JEMM386
is in a way much more powerfull than the MS EMM386 I/O port trapping,
but yet JEMM386 does not support the latter as an extra. Similarily,
the interesting free/open VSB virtual sound blaster and other virtual
hardware tools typically came in several variants: Raw protected mode
and MS EMM386 and for example Quarterdeck QEMM, but of course none of
the variants would support JEMM386 JLM which simply did not exist then.

So in short, you have my vote for the idea to add QPI... I/O traps int
67.1axx or RM386 int 67.5dex I/O trapping or (preferred by me AND imho
the easiest variant) MS EMM386 int 2f.4a15 I/O virtualization to JEMMEX.
See RBIL Intlist part 2F4A15BX0000 "Install I/O virtualization handler".

Regards, Eric

PS: For the KEYB issue, as probably only few BIOSes are affected, some
separate "proper int16 and int 15.4f implementation" driver would be a
good idea, I would not suggest to put that into a default KEYB itself.

Benefiting from Server Virtualization: Beyond Initial Workload 
Consolidation -- Increasing the use of server virtualization is a top
priority.Virtualization can reduce costs, simplify management, and improve 
application availability and disaster protection. Learn more about boosting 
the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
Freedos-user mailing list

Reply via email to