delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/10/16/07:55:05

From: oak9755 AT silver DOT sdsmt DOT edu (Olav Kindt)
Newsgroups: comp.os.msdos.djgpp
Subject: VESA pointers ... again
Date: 16 Oct 1996 05:57:28 GMT
Organization: South Dakota School of Mines and Technology
Lines: 31
Distribution: world
Message-ID: <541tg8$8fo@news.sdsmt.edu>
NNTP-Posting-Host: silver.sdsmt.edu
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

Hi everybody.

Thanks for all the help i have recieved so far in my quest for writing a
VESA thingy. I do however have some more questions.

I'm writing a function that will print out all the data in the VESAInfo
structure, and I came across a problem when i want to pront the OEMString
with the Manufacturer, and also when listing all the Videomodes that are
possible to use with the card.

In the vesainfo struct I have:
	struct vesainfo{
		...
		WORD *Vesamodes;	(WORD = ushort)
		..}

	Now the problem is that this (i think) is a far pointer into DOS
memory somewhere. Is there any way to access the data it is pointing at.
I've tried to get the low and high word of the Vesamodes variable, and do 
Hiword*16 + loword to get the linear physical address, and then use a
dosmemget for each vesamode until vesamode == FFFF. BUT the linear address
i get seems just plain wrong to me. What would the correct order of the
seg:offset in the Vesamode variable be: is it HiWord = Segment, LoWord ==
Offset, or the other way around?

Any help will as before be greatly appreciated.

 -- 
Olav Kindt		     | email:	oak9755 AT silver DOT sdsmt DOT edu
737 E. Anamosa Street #103   |		xedb_oak AT debet DOT nhh DOT no
Rapid City SD-57701	     | 		MAIL me man.......

- Raw text -


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