www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1995/01/11/05:52:55

From: "A.Appleyard" <A DOT APPLEYARD AT fs2 DOT mt DOT umist DOT ac DOT uk>
To: baca AT crl DOT ucsd DOT edu (Kevin Baca), DJGPP AT SUN DOT SOE DOT CLARKSON DOT EDU
Date: Wed, 11 Jan 1995 09:35:31 GMT
Subject: Re: 64K-color-mode screen addresses treated modulo 0x10000

I wrote:-
> 64K-color-screen-mode screen byte pixel address offsets were still treated
> modulo 0x10000 as before.

Kevin Baca replied:-
> ... I don't know exactly what your original question was. Anyway, in 64K
> color mode (or any super VGA mode) all pixel addresses ARE modulo 0x10000.
> Therefore, when you reach a 64K boundary, you need to do a page swap. This
> can be done thru a BIOS call if your board supports VBE. ...

I found that, on my PC in djgpp, any attempt (in my screen's 64K-color mode)
to write a pixel at screen address Z (i.e. 0xd0000000+Z), instead displays at
address (0xd0000000 + (Z & 0xffff)).

What is VBE?

It seems then, that to write to screen pixel (A*0x10000 + B), I can't simply
store to address (0xd0000000 + 0x10000*A + B), but I must first swop to page A
and then store to address (0xd0000000 + B). Is that correct? What interrupt
with what arguments must I use to swop to page A here?

- Raw text -


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