Date: Thu, 13 Aug 92 16:17:22 EDT From: Lars Jonas Olsson To: djgpp AT sun DOT soe DOT clarkson DOT edu Subject: Access to device memory I have previously asked about this but my mail host has had problems lately so that's perhaps why I didn't get any response. If you did send me mail please try again (with my new mail address, see the end). I have a frame grabber card that has 512 kB of 16 bit memory (16 bit card) that I can locate with starting address between 1Mb and 15.5MB. The PC I'm using has 4MB of RAM, so there is space in the memory map to put the card at 4.5MB to 15.5MB (not 4MB as the bios might think it's general purpose RAM). I have tried to use the 0xE0000000 + memory-based-address mechanism in djgpp which is supposed to handle this, but fails when accessing memory above 1MB (it works fine for another card that has 64kB memory mapped in the high memory space) I'm using the ver1.07 djgpp from clarkson. The program runs as expected with no error messages or segmentation-faults, but there are no memory accesses to the frame grabber. The operations I need to perform between conventional RAM and the frame grabber RAM are: dereferencing for random access, memcpy, and memset. Is the next step to figure out how access the pages in assembly code? This is assuming that I have read and write privileges to the memory pages. General PC question: Does extended RAM always start at physical address 1MB? As the extended RAM is not contiguous with the low 640kB and the RAM now normally is on the mother- board it could equally well start at 16MB and leave the 1MB to 16MB area for i/o devices. The reason I'm asking this is if there is any hope that the frame grabber will only work when there is 16MB of RAM or more. Jonas Olsson ljo AT r2d2 DOT eeap DOT cwru DOT edu