www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1995/04/20/13:04:30

Date: Thu, 20 Apr 1995 12:21 BSC (-0300 C)
From: KM5M AT C53000 DOT PETROBRAS DOT ANRJ DOT BR
Subject: DJGPP
To: djgpp AT sun DOT soe DOT clarkson DOT edu
References: ANSP network HEPnet SPAN Bitnet Internet gateway
Comments: @FPSP.FAPESP.BR - @FPSP.HEPNET - @BRFAPESP.BITNET - .BR gateway

Recently I bougth DJGPP C Compiler but I have a doubt about how to access
MS-DOS's conventional memory space when I am running a program in protected
mode, under MS-DOS.
Basicaly, I would like to access the Video RAM memory addresses (0xb8000).
When I am programing in 16bit code in real mode, I can access directly
this address like this:

(Variable declaration)
char far *VIDEO_RAM_POINTER = (char far *) 0xb8000;

Now to access directly and quickly this address, I only need to make
the operations with the pointer I have just created.
Example: *VIDEO_RAM_POINTER='A';

I would like to create the respective 32bit linear memory pointer to
point to the Video RAM, using DJGPP.

Question 1:

To declare a 16bit real mode pointer and assign a value to it,
I proceed like this:
char far *VIDEO_RAM_POINTER = (char far *) 0xb8000;
*VIDEO_RAM_POINTER='A';

Now, How can I declare a 32bit linear memory pointer to point to the
0xb8000 MS-DOS's conventional address and assign a value to it in
DJGPP sintax?

Question 2:

I would like to get the source of the dosmemget() and dosmemput()
functions. Where can I get them?

Best Regards and thank you,

Josue' Forte.


- Raw text -


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