Download Print this page

Atari 400 Technical Reference Manual page 439

Home computer system
Hide thumbs Also See for 400:

Advertisement

Vertical and Horizontal Fine Scrolling:
Playfield objects are difficult
to move smoothly.
Memory map playfield can be moved by rewriting sections
of memory.
However, this is extremely time-consuming if large sections
of the screen must be moved smoothly.
Character playfield objects can be
moved easily in a jerky fashion by changing the memory scan counter.
However, this results in a large position jump .from one character position
to another, not a smooth motion.
For this reason hardware registers
(VSCROL and HSCROL) and counters are provided to allow smooth horizontal
or vertical motion, up to one character width horizontally and up to one
character height vertically.
After this much smooth motion has been
(
done by increasing the value in these registers, memory is rewritten or
the memory scan counter is modified and smooth motion is resumed for
another character distance.
Vertical Scrolling:
A zone of playfield on the screen can be scrolled
upward by using VSCROL and bit 5 of the display list instruction. The
display blocks at the upper and lower boundaries
of the zone must have a
variable vertical size.
In particular, the first display block within that
zone must be shortened from the top, and the last display block must be
shortened from the bottom (i.e. not all of the top and bottom blocks will
be displayed).
The vertical dimension of each display block is controlled by a 4 bit
counter within the ANTIC, called the 'Delta Counter' (DCTR).
Without
vertical scrolling, it starts at
°
on the first line, and counts up to a
standard value, determined by the current display instruction.
(Ex:
for upper and lower case text display, the end value is 9.
For 5 color
character displays, it is 7 or 15.)
If bit 5 of the instruction remains unchanged between consecutive
display blocks, then the second block is displayed in the normal fashion.
If bit 5 of the instruction goes from 1 to
°
between two consecutive
display blocks, the second block will start with Delta = 0, as usual, but
will count up until delta=VSCROL, instead of the standard value.
This
shortens that display block from the bottom.
To define a vertically scrolled zone, the most direct method
is to
set bit 5 to 1 in the first display instruction for that zone, and in all
consecutive blocks but the last one.
If the VSCROL register is not
rewrittren on the fly, this results in a total scrolled zone that has a
constant number of lines (provided that the VSCROL value does not exceed
the standard individual block size).
If N is the standard block size, the
top block will be N-VSCROL lines (N > VSCROL ), and the last block will be
VSCROL
+
1 lines:
(N-VSCROL)
+
(VSCROL
+
1) = N
+
1.
Shown on the
following page is an example of a scrolled zone, top block, for 8 VSCROL
values for N = 8.
Horizontal scrolling is described under HSCROL in section III.
11.18

Hide quick links:

Advertisement

loading

This manual is also suitable for:

800