>> Several years ago I had my programmer and one other device working >> with dosemu and or bochs but after I updated from Mandrake 8.2 I >> think I have not been able to get it working again. I think the >> kernel has changed on hardware access and will require special >> driver to allow simulated direct hardware access. Kuba> man ioperm 2 Kuba> You can use it via a suid-root wrapper program that acquires the Kuba> port access, drops privileges and executes your wine Kuba> programs. Works for me. Of course it doesn't work if the windows Kuba> program needs the special driver to talk to the device. It does Kuba> work for those old-style windows95 applications that expect to be Kuba> able to talk to the ports directly.
For both the serial and the parallel port, direct port access can be handled by ioctl() to the devices. So doing direct port access via in() and out() while running as root is only the last resort...
The ioperm() method is more general (works for any port, not only for serial/parallel devices) and also faster (doesn't do a syscall). It requires no changes to the win95-style applications. Also, ioperm() doesn't imply running as root. You only need a trivial (couple lines long) suid-root wrapper written in C, that then invokes your regular windows application using wine.
Cheers, Kuba