delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/08/22/03:30:51

Message-ID: <35DE71D3.78AEC80E@geocities.com>
From: Merlin <merlin__ AT geocities DOT com>
MIME-Version: 1.0
Newsgroups: comp.os.msdos.djgpp
Subject: Re: VESA: hints, clue but no examples
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>
Lines: 59
Date: Sat, 22 Aug 1998 07:26:54 GMT
NNTP-Posting-Host: 210-cy-wpg.ilos.net
NNTP-Posting-Date: Sat, 22 Aug 1998 02:26:54 CDT
Organization: MBnet Networking Inc.
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

Endlisnis wrote:

> Merlin wrote:
>
> > Endlisnis wrote:
> >
> > > Merlin wrote:
> > >
> > > > banks switch every 64k right?
> > >     Again, not nessecarily.  Some cards (Cirrus Logic) use 4k granularity of their 64k pages.
> > wouldn't that make it extriemly slow compared with other vga cards? since you'd have to change
> > banks to often....
>
>     No, in fact, it ends up being faster in many cases, and never any slower.  Bank's are still 64k
> in size, they just start every 4k, that means that for any location in video ram (beyond 64k) there
> are 16-different ways to address that point.  How this would be usefull:If you want to draw (or blit)
> a horizontal line to the screen, with 64k granularity, you must ensure that your blit does not span 2
> different banks.  If it does, you must do a bank-switch during your write.
> If you had 4k granularity, then you could just use the bank that starts closest to the beginning of
> your line, then you could be assured (as long as the resolution is less than 65535xY) that it will
> only occupy one bank, and only 1 bank switch to get to the start of the line.

ooohhhhh..... ok.. i c now....

>
>
>     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...

>
>
> > > And if you want your programs to work under NT, then don't use '__djgpp_nearptr_enable()',
> > > instead make your own seletors.  It makes pixel-setting much slower, but blits work just as
> > > fast.
> > really?? what is it about __djgpp_nearptr_enable() that screws up NT?
> > guess i'll have to learn how to make a selector then... oh well..
>
>     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.

yes... i read it in the faq (thanks...i should've checked there first)..i wonder how high a value NT's
dpmi server does allow?....
and if it was still a reasonably large number...couldn't __djgpp_nearptr_enable() be modified to use that
number...and still achieve much the same effect?
...
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?
...
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()?

l8r,
     Merlin.


- Raw text -


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