delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/08/22/16:01:05

From: Endlisnis <s257m AT unb DOT ca>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: VESA: hints, clue but no examples
Date: Sat, 22 Aug 1998 15:35:59 -0300
Organization: NBTel Internet
Lines: 33
Message-ID: <35DF0F8F.A95A89A9@unb.ca>
References: <1998081519323200 DOT PAA25189 AT ladder01 DOT news DOT aol DOT com> <35D66C0C DOT 8D8F94C8 AT geocities DOT com> <35D70CC1 DOT BCA4F4EF AT unb DOT ca> <35D93933 DOT 40CF1D5 AT geocities DOT com> <35D98CF1 DOT F906723E AT unb DOT ca> <35DA8319 DOT B27A2AD8 AT geocities DOT com> <35DB1276 DOT 7EEBF3D AT unb DOT ca> <35DBD016 DOT EE071EAD AT geocities DOT com> <35DDBEA7 DOT 7E5FD60F AT unb DOT ca> <35DE71D3 DOT 78AEC80E AT geocities DOT com>
NNTP-Posting-Host: fctnts11c02.nbnet.nb.ca
Mime-Version: 1.0
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

Merlin wrote:

> >     This is especially important in protected mode because switching banks requires changing to
> > real-mode.
> ouch...using __dpmi_int int the middle of drawing something that needed to be fast would be a killer...

    There is an quicker way to switch banks, in the ModeInfoBlock for a given VESA mode, there is a far
pointer to a function which will switch banks for you.  That only requires
__djgpp_simulate_real_mode_procedure_retf  <spelling?> which is MUCH faster than dpmi_int.

> >     The near pointer functions set the limit of a selector to a very high value.  NT sees this as a
> > possible crashing program and does not allow it.  If NT did allow it, then it would be easier to make
> > it (NT) crash.
> anyway...i've got a question about selectors...well, perhaps a couple... i'd have to use _farpokeb do
> access the .....selected memory right?...or movedata(..) to copy a buffer?

    Yes.  I've made my own 'setdata' function to use a bunch of _farnspokel calls to quickly write a single
value to a bunch of contiguous locations.

> what exactly is: _my_ds()?
> i know it's a selector and i know (to some degree..i don;t quite know how to make one yet...soon
> though..) what a selector is... but...what is _my_ds()?

    It is a function that returns the selector for the data in your program.  All variables dynamically or
statically allocated will be within the scope of _my_ds().--
     (\/) Endlisnis (\/)
          s257m AT unb DOT ca
          Endlisnis AT GeoCities DOT com
          Endlis AT nbnet DOT nb DOT ca




- Raw text -


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