Re: Screen Memory

new topic     » goto parent     » topic index » view thread      » older message » newer message

At 05:52 PM 20/12/00 +1030, you wrote:
>Hello All
>
>Where is the screen memory for SVGA graphics modes?
>I am writing a program that mem_copy()s a chunk of data to the pixel

[snip]

>This worked fine in mode 19. It covered the whole screen with random colored
>pixels. If I change the graphics mode to 257 it also worked ok, but only
>covered the top part of the screen.


>If someone could tell
>me where the rest of the screen is stored, it would be helpful.



The short answer is its all in the same place.
svga can only access a limited section of memory so it does a
sort of a time share arrangement.

The hi res screen is split up into 'banks', each covering a
band of the screen. You first select the bank you want then
write the data for that section of the screen, then select the
next bank and write the data for that part of the screen to the
same address you wrote the first lot....etc
So when you were in mode 257 you were only accessing bank 0 which
would be the top part of the screen.

The bank switching and other neat tricks can be achieved by
dos interrupt calls. Check out svga.e by Pete Eberlein in the
archive for an example of this.

I posted a display_image routine on the list a year or so ago
that used this method along with Michael Bolin's fast ML mem_copy
routines to get some reasonably quick results. Mail me privately
if you get stuck and I'll try to help.

Graeme.














----------------------------------------------------

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu