On Fri, Nov 30, 2012 at 5:01 AM, Alan Jacobs <alan.jac...@att.net> wrote: > > Hello: I am Alan Jacobs in Green Bay Wisconsin USA ( north of Chicago). I > have a difficult emulation question regarding interrupt driven bidirectional > parallel port communication on a Celeron 220 Intel processor with 2GB RAM ( > but no hardware KVM extension I can find ), but with bios option to boot > from USB. The host OS would be Ubuntu 10.10 and the guest would be Windows > 2K or Win XP Home edition. > > The background: I am working with a 12 year old unique marine phased array > sonar. The manufacturer is out of business. Their gate array driven > ultrasonic unit communicates with a Windows 2K or Win XP Home PC via IRQ7 on > parallel port 0x378. The PC only provides a GUI data display like a "radar" > and setup control of the ultrasonic unit ; the ultrasonic unit does the fast > microsecond work. Due to the "slamming" environment of boats crashing > through waves we cannot use a standard hard disk drive- the heads crash and > scratch the media. We are forced to use solid state flash disks or USB flash > drives for mass storage of the operating system. Bill Gates made it next to > impossible to install full Windows ( not BartPE or the like ) on a USB thumb > drive ( removable media bit problems in the thumb drive controller ). > Further complicating things is that the manufacturer used early WinRT to to > write the parallel port control......a popular way to easily develop real > time parallel port instrumentation....BUT WinRT.sys calls a low level ring 0 > driver called "wrtdev0.VxD". We tried Wine but it doesn't support VxD > drivers. We tried Oracle Virtualbox....doesn't recognize the port either. We > can't install Windows on a thumb drive...doesn't install. Soooooo.....we are > hoping Qemu or some other Linux emulator MAY??? be able to grab the parport. > > The Problem: Does Qemu support "wrtdev0.Vxd" interrupt IRQ bidirectional > parallel port communication for Win2K or WinXP. HELP !!!! > Much Appreciated & Cheers.
The parallel port emulation (hw/parallel.c) should support bidirectional communication. The 'parport' back end (qemu-char.c) can also talk to a real parallel device for Linux and a few other hosts and it looks like it can read and write data using PP{R,W}DATA ioctls. Please enable DEBUG_PARALLEL in hw/parallel.c to check if the problem is in the device emulation side or back end, or simply that the guest does not use correct port. > > Alan Jacobs, a frustrated old engineer > Green Bay Wisconsin > alan.jac...@att.net > ph: 920-654-4477 > > p.s. I would be HAPPY to find a qualified consultant/ programmer to retain > to help us solve this dilemma > > > > >