Date: Sun, 23 Apr 1995 09:33:00 +0300 From: eliz AT is DOT elta DOT co DOT il. (Eli Zaretskii) To: s709 AT icslab DOT agh DOT edu DOT pl Subject: Re: extended memory Cc: djgpp AT sun DOT soe DOT clarkson DOT edu > How can I access the particular addresses of extended memory (above 1MB) ? > I know the first 1MB is mapped to 0xE0000000 in the program's address space > but how is it with above 1MB memory ? This is explained in the DJGPP FAQ list: 18.9 Q: How can I access memory-mapped peripheral devices (or any other absolute address) above 1 MByte mark? A: Currently, you can do this in one of two ways: * Under a true DPMI host (such as Windows or QDPMI) use DPMI function 0x0800 (i.e., Int 31h/AX=0800h). It returns a linear address which can be used to access a given absolute physical address. You can then use the functions from to access that linear address. This will be the *only* way to access physical memory locations in DJGPP v2.0. * In non-DPMI mode, add 0xe0000000 to the physical address and use that as a pointer. This feature will disappear in v2.0. You can find the FAQ list as faqNNN.zip at the same site you get DJGPP (NNN is the version number).