Re: [PARPORT] Scanner - Primax PagePartner

Jonathan Buzzard (
Fri, 13 Feb 1998 13:41:43 +0000 said:
> What I have found so far is that some drivers simply "stun" the
> lpt.vxd while they do what they need to (by direct access) and then
> wake it up when they have finished. (Sounds very much like Linux
> ParPort to me).
> If this is correct then we will require some method which can
> intercept direct IO requests. Could someone correct me on this? Does
> DosEMU do this by using a "virtual machine" (that is every asm
> command is interpretted) and not executed by the CPU directly?

After some abortive attempts to get Windows running under DOSemu, I
downloaded the latest version of Wine. A quick poke around in the code
revealed a promising looking file ./msdos/ioports.c which does controled
emulation of in/out instructions.

All looked promising, so I compiled Wine, edited the wine.conf to allow
it access to my parallel port, installed the Windows 3.1 software for
my Umax Astra 600P using Wine (that impressed me quite a bit). Switched
the scanner on, held my breath and ran Umax's scanner test program.
The good news is it ran, and it works! Correctly reporting the details
of the Astra 600P, and the test scan worked (a lot more backtracking than
under real Windows but who cares). Their would appear to be some TWAIN
problem that crashes Wine with errors about a unknown vxd, so I have not
been able to do a proper scan.

I added a quick hack to ./msdos/ioports.c to print port activity to
stderr, recompiled Wine, and tried running the scan test again. It worked
and I got lots of port IO scrolling past on my xterm. I'am very confident
that the Astra 600P is mearly a 600S with a parallel-to-SCSI conversion,
my next step is to download the latest version of SANE, see what the
UMAX backend does, and try and relate it to the IO-trace.

It would also be nice to patch Wine so that IO-tracing is selectable as
a command line option ala DOSemu.


Jonathan A. Buzzard                 Email:
Northumberland, United Kingdom.       Tel: +44(0)1661-832195

-- To unsubscribe, send mail to: -- -- with the single word "unsubscribe" in the body of the message. --

This archive was generated by hypermail 2.0b3 on Wed 30 Dec 1998 - 10:17:28 EST