Port access and keyboard emulation w/ dosemu
Hi!
I'm trying to set up dosemu to run a couple of applications:
a) DBASEIII
b) XPRESS a proprietary (well-behaved as far as I know- at least it has always worked well under WinNT4) application that controls a home-automation computer via a serial port.
Current status:
RedHat Linux 9 (kernel 2.4.20)
installed dosemu 1.0.2.1 and freedos -b8p from tgz binaries per instructions to a subdirectory of my personal directory (instructions worked EXACTLY as written- thanks developers!)
Basically the emulator and apps seem to work as they should, and, most importantly seem stable and preserve the integrity of data. But there are a few problems:-
1) keyboard emulation. 'Auto' does not seem to work well (these apps need the full keyboard with function keys and CTRL/, SHIFT, and ALT/, char sets. Setting 'ibm' for keyboard emulation seems to work best, but that is just by experimenting. Are there any rules/suggestions for this?
2) More seriously, I can not manage to get the dos apps to see the printer. Printing is set up (CUPS), and the 'lp' command works from linux. The default lp printer is a networked HP laserjet. In dosemu.conf, $_printer is set to 'lp', printer timeout to 20 sec, and $_ports has no settings.
3) And finally, COM1 seems to be invisible. $_com1 is set to /dev/ttyS0, but no luck.
Any advice on how to diagnose and fix this?
Thanks so much!
Richard White
Quoted 4 lines · Richard White
1) keyboard emulation. 'Auto' does not seem to work well (these apps need the full keyboard with function keys and CTRL/, SHIFT, and ALT/, char sets. Setting 'ibm' for keyboard emulation seems to work best, but that is just by experimenting. Are there any rules/suggestions for this?
Either:
* use xdosemu. And make sure that your window manager doesn't steal the keys. Sometimes shift+key helps.
or
* in dosemu use ctrl-^ s to simulate shift. Press ctrl-^ h for help
* try 1.2.0rc1 (aka 1.1.99.1) and run with the -k option on the console (or set $_rawkeyboard = (1)). In 1.0.2.1 this only works with root privileges.
Quoted 4 lines
2) More seriously, I can not manage to get the dos apps to see the printer. Printing is set up (CUPS), and the 'lp' command works from linux. The default lp printer is a networked HP laserjet. In dosemu.conf, $_printer is set to 'lp', printer timeout to 20 sec, and $_ports has no settings.
try to replace "lpr" with "lpr -l" in conf/global.conf. If you download 1.2.0rc1 you'll have to copy the global.conf example file, change it there and then specify it explicitly like in ./dosemu -f conf/global.conf
There will be a more comfortable solution in 1.2.0 final.
Quoted 2 lines
3) And finally, COM1 seems to be invisible. $_com1 is set to
/dev/ttyS0, but no luck.
1.0.2.1 is only able to access COM1 as root because otherwise it cannot create lock files. This problem is fixed in 1.2.0rc1 -- just make sure you have permissions to create a file in /var/lock and r/w access to /dev/ttyS0.
In short: please try 1.2.0rc1 -- more feedback is always welcome ...
Bart
Quoted 7 lines · Bart Oldeman
1.0.2.1 is only able to access COM1 as root because otherwise it cannot create lock files. This problem is fixed in 1.2.0rc1 -- just make sure you have permissions to create a file in
/var/lockand r/w access to/dev/ttyS0.In short: please try 1.2.0rc1 -- more feedback is always welcome ...
BTW, Bart, the problem I was having with 1.1.5, where I couldn't access COM1 as non-root (a locking problem I could never resolve), is resolved with 1.2.0rc1. That is, COM1 is now not locked when I "boot" xdosemu as non-root.