delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1992/08/13/17:07:48

Date: Thu, 13 Aug 92 16:17:22 EDT
From: Lars Jonas Olsson <ljo AT r2d2 DOT EEAP DOT CWRU DOT Edu>
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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019