[atari7800] Re: Odp: Re: Aw: Re: Mode 160B don't works for me...

  • From: "Eckhard Stolberg" <Eckhard_Stolberg@xxxxxx>
  • To: <atari7800@xxxxxxxxxxxxx>
  • Date: Wed, 3 Nov 2004 21:15:28 +0100

Ehhh... may I ask something? (forgive me my stupid questions) I don't quite
understand it: in the software guide I read that 5 byte DLs are for
"indirect", aka "character" mode, and 'width' here means how many characters
should be displayed. And here you say something different. Where lies the
truth?

5 byte DL headers are for selecting if you want direct or indirect (character) mode. Also they are for selecting the video mode. This is done through two bits in the mode byte. So you need to have at least one 5-byte DL header in your display lists to select the video mode and the character mode. If you don't want ot change either setting for the rest of your display you can use 4-byte DL headers for everything else.

But the nice thing about 5-byte headers is, that you can change
between character and direct mode or between certain video modes
during a display zone. So for example you can use character mode
for your background tiles and direct mode for your foreground sprites.
Or you could display low-res multicolour sprites over high-res
monochrome backgrounds or texts, if you wanted to. All you have to do
is to use another 5-byte DL header and change the selction in the mode
byte.

You could also use 5-byte DL headers for all your objects, but
if you don't want to change the modes, you would be wasting DMA
time, since 5-byte headers take longer to process than 4-byte
headers.


Ciao, Eckhard Stolberg


Other related posts: