From: Endlisnis 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 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk 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 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