delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/10/23/17:20:51

Date: Wed, 23 Oct 1996 21:14:36 -0300
Message-Id: <1.5.4.16.19961023191054.28c7ce1a@dmeasc.rc.ipt.br>
Mime-Version: 1.0
To: oak9755 AT silver DOT sdsmt DOT edu (Olav Kindt), djgpp AT delorie DOT com
From: Cesar Scarpini Rabak <csrabak AT dce03 DOT ipt DOT br>
Subject: Re: VESA Programming -- oh boy.

He He! PLS check your attributions! I did not made THAT commentary!

At 04:37 23/10/96 GMT, Olav Kindt wrote:
>Cesar Scarpini Rabak (csrabak AT dce03 DOT ipt DOT br) wrote:
>: >char *OemStringPtr PACKED;
> 
>This pointer is a pointer to memory in DOS, usually in the VGA BIOS at
>c000 something. The reason the program crashes when you try to print this
>is because it doesn't like you fiddling with dosmemory directly. (Without
>telling it)
>
>I used this workaround, ( I'm sure there are better ways)
>
>First you calculate the linear address of the first character in the
>string. Your OemSStringPtr will be 4 bytes, first two are segment , second
>two are offset. Linear address = SEg * 16 + offset.
>
>Then use the dosmemget(linearaddres, 1, &Placetoputchar) to get the value
>of the first character. Increment the linear address, and get next until
>the '\0' character is read.
>
>Another thing is that some cards might piggyback this string, (and also
>the supported mode list) into the unused area of the VESAINFO block. In
>that case you have to figure out where the __tb (I'm assuming you are
>using the transfer buffer for getting the VESAINFO block), and find the
>values in that position. 
>
>I have some code doing this, and I can mail it to you if you still can't
>figure this thing out.
>
> -- 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.......
>
>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Cesar Scarpini Rabak                      E-mail: csrabak AT ipt DOT br
DME/ASC                                   Phone: 55-11-268-35221Ext.350
IPT - Instituto de Pesquisas Tecnologicas Fax:   55-11-268-5996
Av. Prof. Almeida Prado, 532.  Sao Paulo - SP 05508-901 BRAZIL
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- Raw text -


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