The following exhange was seen recently on the FreeDOS mailing list:
Kurt Zammit writes:
I was surfing the net for info on USB. Even BeOS seems to have support for USB! Can someone (possibly a team!) of FreeDOS developers start something about USB?
At the moment I've got sources for low-level manipulation of USB devices. However they are written in Turbo-Pascal and require Virtual Real Mode/ Unreal mode - i.e. 32-bit access to the whole 4Gb memory under DOS.
I would like to port it to normal Real mode, however I do not have enough time as exams are behind the corner (I'm still a sophomore at University!)
Can someone help? Maybe we could copy Linux programs and translate them to DOS!
This is the file USB4PAS.
In another email please receive a prog to sniff a USB connection under Win9x
So, you can hack the codes sent to and from the computer via this USB sniffer.
1st thing to do, please try to copy a sample of data on the USB bus to a file. Then, try to write a program for TP that rewrites the stuff to the USB device.
Go to www.linux-usb.org for more information such as device IDs and vendor IDs.
Tony Gordon writes:
I compiled the USB code no problems with Turbo Pascal 7.0. It uses crt routines, which, luckily for me I have the update patches. Anyways, the code compiles fine, and looks really good. The guy isn't maintaining it anymore from what I read, but I don't think it will need anymore maintenance, just maybe some translation into C (if desired). The code does require that you are not in V86 mode, and uses a lot of 386+ instructions (as indicated by db 66h before certain asm instruction embedded in the code).
Since I have compiled it, so I will put in on my website, where you get my (plug) wonderful System Configuration Editor (plug..lol).
You may also be interested in Technote173- Some advice in writing USB support. According to technote 173 : luckily you can live without own usb drivers for most applications even when using usb hardware! Of course, a FreeDOS USB scanner or camera driver would need an actual USB driver.