Re: A89: HW vertical scrolling...


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

Re: A89: HW vertical scrolling...




The thing is that the video memory on the ti89 is exactly the same size and
aspect as on the ti92. you just only see the top left corner of it.
I use that control byte quite often when I program.
It speeds up the screen a bit, and you get a continous chunk of "safe ram" in
the end of the video memory block.
The only bad thing is that vti does not support this control byte.
I have tried to talk about this with Rusty, and askeing him why.
He says it is quite difficoult to fix, with the current way the screen is
implemented, and that he does not plan to implement this.
to bad.
I guess it takes a complete rewrite of the way he handles the screen or
something like that.
So you can change the with of the screen, so it is a multiple of 8 so you can
have vertical hardware scroll, one line at a time. 
I had some plans doeing something like that, but I gave it up because of lack of
time and lack of inspiration.

//Olle

Henri Moilanen wrote:
> 
> 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.



References: