A89: HW vertical scrolling...


[Prev][Next][Index][Thread]

A89: HW vertical scrolling...




Hello,

It's me again. This idea came to my mind some time ago.

Why hasn't anyone programmed a vertical scrolling game (of course) like
tyrian on PC. I'm quite sure it's possible to do hardware vertical scrolling
on TI89. It maybe doesn't add any speed (though I bet it would).

Idea is simple. As TI89 allows us to modify the start of its video memory
(not quite video, but you get the idea) at 8 byte steps. That's 64 pixels,
and TI89's screen is 160 pixels wide. So dividing 160 by 64 gives 2 as the
quotient and also 32 as the remainder. I hear you cry: "We can't scroll down
one row!!!" 

Take a clean paper and wipe off your tears. Of course we can scroll down two
rows, but that is rather coarse. Don't worry, there is a better solution.

Let's expand our video memory to the sides. The address 0x600012 holds a
control byte that could be used in such a way (according to Johan Borg's
text). It's got 6 bits, which tell the width of the screen. Screen is
(64-x)*16 pixels wide, where x is the 6 bits from the address mentioned
above. Johan Borg says that the default value is 0x31 so it gives (64-49)*16
= 240. Hmm. Something doesn't match... Isn't that the width of the TI92's
screen? 

Wow, my idea got a major problem... But maybe that address is still used to
tell the width of the screen in memory? Please tell me what width the video
memory really is? 

But ok, if it could be changed to a more suitable value i.e. to some which
is some even multiply of 64, then hw scrolling would be possible using one
row steps.

It would just need to allocate enough video memory 2*width*height and then
after each frame change the start of the screen until we've got down to the
secong page. Then redraw the whole screen...

But why I'm I mentioning self-evident ideas? I don't know. But if somebody
would like to test that, I'd like to hear the results...

Henri Moilanen

PS. I made the calculations when writing this. That's the reason for
unclarities.



Follow-Ups: