allow access to parallel port
Hello,
I'm trying to get some ancient applications to run on Mandrake 9.2, dosemu-1.1.99.1-1.i586.rpm. Everything goes well, except for printing. The bloody apps seem to be written in Fox or Dbase. dmesg output:
parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE]
parport0: irq 7 detected
parport0: Printer, EPSON LX-300+
parport1: PC-style at 0x278 (0x678) [PCSPP,TRISTATE,EPP]
parport1: irq 5 detected
lp0: using parport0 (polling).
lp1: using parport1 (polling).
I have added the user to the lp group, that has write access to /dev/lp0 and /dev/lp1, specified user c_all in dosemu.users, set dosemu.bin suid root, placed $_ports = "device /dev/lp0 range 0x378 0x37a"
$_ports = $_ports, " device /dev/lp1 range 0x278 0x27a"
$_irqpassing = "5 7"
in dosemu.conf, yet the good ole d 40:0 line in debug shows only zeroes on the first line.
Obviously the apps do not work, and I'm very much out of ideas. Everything goes OK with just ms-dos or Windows on the same system, but that is in no way a solution. Any other hints please?
Thank you,
Razvan
Status update: I gave up on the direct port access, and configured CUPS. I can print just fine from Linux, and can also do a echo "sdcsc" > LPT1: in dosemu.
But the application (which does a set output to printer or however that was called in dbase) freezes when trying to print. Listing the information on the screen works though. Is there anything special about the dbase/fox stuff?
Quoted 20 lines · Razvan Cosma
Hello,
I'm trying to get some ancient applications to run on Mandrake 9.2, dosemu-1.1.99.1- 1.i586.rpm. Everything goes well, except for printing. The bloody apps seem to be written in Fox or Dbase. dmesg output:
parport0: PC-style at0x378(0x778) [PCSPP,TRISTATE]
parport0: irq 7 detected
parport0: Printer, EPSON LX-300+
parport1: PC-style at0x278(0x678) [PCSPP,TRISTATE,EPP]
parport1: irq 5 detected
lp0: using parport0 (polling).
lp1: using parport1 (polling).
I have added the user to the lp group, that has write access to/dev/lp0and/dev/lp1, specified userc_allin dosemu.users, set dosemu.bin suid root, placed $_ports = "device/dev/lp0range0x3780x37a"
$_ports = $_ports, " device/dev/lp1range0x2780x27a"
$_irqpassing = "5 7"
in dosemu.conf, yet the good ole d 40:0 line in debug shows only zeroes on the first line.
Obviously the apps do not work, and I'm very much out of ideas. Everything goes OK with just ms-dos or Windows on the same system, but that is in no way a solution. Any other hints please?Thank you,
Razvan
Quoted 7 lines · Razvan Cosma
Status update: I gave up on the direct port access, and configured CUPS. I can print just fine from Linux, and can also do a echo "sdcsc" > LPT1:
in dosemu.
But the application (which does a set output to printer or however that was called in dbase) freezes when trying to print. Listing the information on the screen works though. Is there anything special about the dbase/fox stuff?
you can try
xdosemu -D+piT -O
to figure out what is going on.
Printing via lpr works using a periodic flush of a buffer that is fed by BIOS calls.
Direct parallel port access will only work if the DOS application does just that.
What is not (yet?) implemented in DOSEMU is
DOS app (-> DOS) -> BIOS -> emulated parallel port -> whatever you like or
DOS app (-> DOS) -> BIOS -> real parallel port
that is, the DOSEMU BIOS directly spools rather than via a port.
Bart
Re: allow access to parallel port - solved
As it appears, Caldera DR-DOS 7 works like a charm with CUPS. I also tested several versions of ms-dos with no luck. So - problem solved! If the developers are interested in some more details I'll gladly provide them. Thank you very much for a life-saving piece of software
Kind regards,
Razvan