[net.micro.pc] Help with PGC and /dev/mem

steve@tove.UUCP (Steve D. Miller) (07/17/85)

   I've been trying everything I can think of to get something (anything!)
to my Professional Graphics Controller under Xenix, and I've been failing
miserably.  The kernel device driver I was writing was failing in strange
ways (I'm not too up on device drivers, I admit), so I moved the entire
implementation into a user program that uses lseek()s into /dev/mem to
fake some of the kernel routines (i.e. replace inb() -- which the little
device driver thing in ont of the Xenix manuals says will read the byte
at its argument -- with a lseek() out that far in /dev/mem, followed
by a read()).  It looks like I can seek out to the region where the
buffers live (they live above 0xc6000; when I do the lseek, I get only
the low 16 bits back, but another test program that seeks to the same
place in an empty file, writes one char, then closes the file shows
that the lseek is going to the right place there at least, and I get
no error when I lseek /dev/kmem), but when I try to read or write, I
get "no such device or address".  Has anyone done anything vaguely
successful along these lines, am I doing something blatantly wrong, or
what?

   Of course, if someone has a driver, I'd *love* to get a copy of it...

   Thanks in advance; if I don't figure this out soon, I'm going to buy
an axe and chop the !@!$!#% thing into little tiny pieces.  I'd bet
that what we have here is the kernel saying, "there's no real memory
there -- seterror(ENXIO)", but I hope that I'm wrong...


-- 
Spoken: Steve Miller 	ARPA:	steve@maryland	Phone: +1-301-454-4251
CSNet:	steve@umcp-cs 	UUCP:	{seismo,allegra}!umcp-cs!steve
USPS: Computer Science Dept., University of Maryland, College Park, MD 20742