High Resolution Graphics - Commodore VIC-20 Programmer's Reference Manual

Hide thumbs Also See for VIC-20:
Table of Contents

Advertisement

Replace the numbers in the DATA statement in line 20 with the
numbers you just calculated, and RUN the program. Then type a T.
Every time you type it, you see your own character!
If you donTt like the way the character turned out, just change the
numbers in the DATA statement and re-RUN the program until you
are happy with your character.
That's all there is to it!
HIGH RESOLUTION GRAPHICS
j
When writing games or other types of programs, sooner or later
you get lo the point at which you want a high resolution display, or
smooth movement of objects on the screen. A regular character
can move one space at a lime, which is 8 rows or columns of cfots,
For smoother movement, characters should be moved one row of
dots a! a time, using high-resolution graphics.
The VJC can handle this need: high resolution is available
through bit mapping the screen. Bit mapping is the name of the
method where each possible dot (pixel) of resolution on the screen
is assigned its own bit in memory. If that memory bit is a one. the dot
it is assigned to is on. If the bit is set to zero, the dot is off. You can bit
map the entire screen of the VIC, or only a portion of it. You can mix
HI-RES, programmable characters and regular graphics.
High resolution has a few drawbacks, which is why it is not used
all the time. If takes a lot of memory to bit map the entire screen.
Because every pixel must have a memory bit to control it, you are
going to need one bit of memory per pixel (or one byte for B pixels).
Since each character is 8-by-8, and there are 23 lines of 22
characters, the resolution Is 176 by 184 for the whole screen. That
gives you 32384 separate dots, each of which requires a bit in
memory, or 4048 bytes of memory needed to map the whole
screen.
Fear not, you can still use high resolution graphics on the
unexpanded VIC! You just don"t bit map the entire screen. Instead,
you bit map just as much of the screen as you have memory for, and
either use the rest of the screen as a border, or use it for text. A 54
dot by 64 dot screen section will be fairly easy to work with for this
section.
Generally, high resolution operations are made of many short,
simple, repetitive routines. Unfortunately, this kind of thing is rather
slow using BASIC, so high resolution routines written in BASIC are
usually rather slow. However, short, simple, repetitive routines are
exactly what machine language does best. The solution is lo either
write your programs entirely in machine language (painful), or call
B8

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents