Hi all,
I'm in the process of trying to port a really old (1993 or so) QBASIC 
program to C.  The program interfaces with an LCD device which is 
controlled via the parallel port.
I've read a fair bit of stuff about using outb() and friends in Linux C 
programs, but my problem is that it just doesn't seem to do what I want 
it to do.  When I want to send data out to the LCD device I believe I 
need to send it by using hex values, where as I think QBASIC uses 
decimal values.
So am I right in thinking that these two parts of each program are 
exactly the same?
QBASIC Source:
OUT 888, 15
OUT 890, 7
SLEEP 1
OUT 890, 3
My C Source:
outb(0x0F, 0x378);
outb(0x07, 0x37A);
sleep(1);
outb(0x03, 0x37A);
If I can't get this to work I plan on re-writing my test program to use 
the /dev/parport interface and ioctls, but I'm not sure if this would 
help.  It's a user-space program, I'm using -O2 with GCC so that outb() 
and that works.  I'm using (just for now) iopl(3) to get access from the 
kernel to all ports on the system, but no matter what I do it seems it 
just doesn't want to work, when I run my C program (as root) it does 
some stuff to the LCD display but nothing like what I want it to do.
When I run the QBASIC program off a boot disk in the same PC it works 
fine.  I can post my source code if you like or send it to you in a 
private e-mail, it's very small (20 lines or so).
-- Regards, Robert Davidson. http://www.mlug.org.au/ IRC: puttputt, AustNet, #mlug-- To unsubscribe, send mail to: linux-parport-request@torque.net -- -- with the single word "unsubscribe" in the body of the message. --
This archive was generated by hypermail 2b29 : Mon Mar 10 2003 - 15:44:58 EST