Message-ID: <35DBD016.EE071EAD@geocities.com> From: Merlin 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> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Lines: 53 Date: Thu, 20 Aug 1998 07:32:08 GMT NNTP-Posting-Host: 230-cy-wpg.ilos.net NNTP-Posting-Date: Thu, 20 Aug 1998 02:32:08 CDT Organization: MBnet Networking Inc. To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk Endlisnis wrote: > Merlin wrote: > > > > > do all vesa 1.2 modes use bank switching? > > > > Merlin. > > > To > > > make things even worse, if you are in a 24-bit mode, a bank can switch in the middle of > > > the 24-bits. > > > > 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.... > You should not expect all card to have 64k granularity, the ModeInfoBlock returned by SVGA > function #1 has a field for the granularity of the pages. You must use that if you expect your > programs to run on all graphics cards. You also should worry about read/write windows. When I > made my library, I was using a Trident card that only had one VESA1.2 window which supported > reading and writing. So I made my libraries only use one window. The result was when I > upgraded to an ATI card, my programs could no longer read pixel values properly. That info is > in the ModeInfoBlock as well. > > > Where do you think i should start: > > using the linear frame buffer in vbe2.0 > > or > > using bank switching in vbe1.2 > > > > i suppose i'll eventually hve to learn both (i have a feeling bank switching and vbe1.2 are > > still going to be around for a while) but which is better to begin with..ie easier...? > > I am still working with VESA1.2, because more than 50% of my target machines only have > that. My machine at work doesn't even have that. I don't think it even knows what VESA is. > (old 486) It is slower, especially for bank-switching (simulate_real_mode_procedure_retf, or > something like that) but, I try to use off-screen buffers alot, and the blits are fast enough > (1100Hz at 320x200, 250Hz AT 640x480, 120Hz AT 800x600, 88Hz AT 1024x768 on a P150 in 256 color mode). > 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.. L8r, Merlin.