Mail Archives: djgpp/1998/08/20/05:45:54
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.
- Raw text -