Re: A82: Avalanche 1.0 for Ash 3.0 bug or secret


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

Re: A82: Avalanche 1.0 for Ash 3.0 bug or secret



In a message dated 97-11-27 05:01:39 EST, you write:

> Not really.  I created a scrolling demo for the 82 (located in my
>  Development Kit) that smoothly scrolls the screen using my Multi_Key,
>  SpriteDraw, and scrolling routines that I wrote.  The best part is that it
>  didn't flicker a single bit!  I agree that hardware scrolling would be
>  fast, but only horizontal scrolling can be used (scroll up and down), and
>  if I am remembering correctly, the edges of the screen will be wiped out,
>  so you would need to have a backup of the screen in memory or it will be
>  "destroyed."  So, no matter which method you use for horizontal scrolling,
>  you will need to restore the picture from a buffer anyway.  Another reason
>  why to not use hardware scrolling is that some games use smaller screens
>  which makes hardware scrolling much more difficult.  However, I agree
fully
>  with you on full screen games about using hardware scrolling since it is
>  faster.
>  
>  >So i think that it is best to use hardware scroll when possible, the
>                                                     ^^^^^^^^^^^^^^
>  >reason for this is that it i faster.
>  
>  
>  Fully agreed.

First of all, horizontal = left, right; vertical = up, down :-).
Second of all, you don't need a buffer to replace the screen in hardware
scroll
>From 82-ports.txt:

Hardware scroll
---------------

The display controller can scroll the picture it is currently showing, but
only up/down. This will not move the picture in the controllers internal
memory, but it will show the picture starting from a different addres. The
command to scroll the picture is 40 + the number of lines you want the
display scrolled. So for example to scroll the display 3 lines (up) you could
use the following code.

   ld a,$43
   out ($10),a
   call $7F3

On/Off
------

The display controller can be told to start/stop sending data to the display
by sending the commands 2 (stop) and 3 (start). This does not turn off the
display even though it look clear, you have to use port 3 to turn off the
power to the display. Stopping the display controller will not erase the
memory in it, but turning off the power will.

*end quote*
so, the picture never changes, it's just displayed starting at a different
address in the display controller mem.

~Adamman