[Coco] Converting from coco 1 / 2 artifact graphics to color coco 3
Steve Bjork
6809er at bjork-huffman.net
Sun Mar 18 10:35:29 EDT 2007
At 02:03 AM 3/18/2007, you wrote:
>Hi all,
>
>What's normally involved in converting a game that runs using
>artifact graphics for coco 1 / 2 into a game that runs using
>16-color coco 3 graphics modes? I've seen it done with a few games,
>and I'm curious as to what the process would involve.
>There's quite a few interesting games out there that run in
>fake-colour mode, and such colour modes aren't available here in
>Australia (due to using the PAL system).. all we get is muddy grey
>and some freaky pinks and greens occasionally :)
>Anyone actually done such a conversion?
>--
>Kind Regards,David Roper
Believe it or not, I've done one of these conversions in one of my
last CoCo projects. The creation of Z-89, a CoCo 3 version of Zaxxon
is a good case study of the problems involved in moving from 4 color
NTSC to a 16 color graphics mode.
First, let us talk about why this graphics mode that was so popular
with programmers in the States.
1) This mode creates the only black, blue, red and white palette
sets. Very important for the type of games being created back in the
80's. (Mostly space games.)
2) While being 4 color, it was twice the dot resolution of the
standard 4-color mode of the graphic system. This makes the images
in the games less blocky than the other standard 4-color modes with
128 dots per line.
Now on to what's involved in the conversion.
A typical CoCo 1 game used a two color, 256 by 192 screen with a
memory size of 6,144 bytes of ram. In most games (like my Zaxxon),
we switch between two screens, viewing one while create the game
image on the other. Because of this, we double the memory needed for
screen memory.
That's 12,288 bytes of our 32k of system memory already gone. Most of
the other 20k or so of ram is used to hold the graphics data and run
time game information. (The actual code to most CoCo games was only
a few thousand bytes, if that)
Let's plug in the requirements of a CoCo 3 running in a 16 color 256
by 192 graphics mode. Right off the bat, we jump in screen memory
size from 6,144 to 24,576, a increase of a factor of four. Add in
the effect of paging the screens and now we are using over 49,000
bytes just to hold the display screens!
But that's not all that gets larger. The images used in the game
also go up by a factor of four. In the case of Zaxxon, the graphics
data also jump from about 15k to over 60k.
While it is true the CoCo 3 has extra memory and switching hardware
to handle it, you will need to patch the game code to "teach it" on
how to use it. No small task by any means.
But it goes from bad to worst with the last problem in the
conversion, the speed. Doing this extra work takes time does take
time. Wait a minute, the CoCo 3 can run twice as fast,
right? Surely that extra speed could handle it the extra work? Well
the short answer is no.
Remember, we did not increase the screen memory size by factor of
two, but by four. While the CoCo 3 can work twice as hard, the game
will still runs twice as slow.
How did I overcome this speed problem with Z-89? The six years
between the projects I did learn a thing or two about writing fast
graphics code, but I also cheated too. The first cheat was to use a
256 by 192 screen, forgoing the mach larger 320 by 200 screen mode of
the CoCo3. The second cheat was to keep the part of the screen got
update every frame as small as possible. This "Graphics Window" was
used on a few other CoCo 3 projects like Super Pitfall and Mine
Rescue when the whole screen need to be updated every game frame
because of scrolling. (Since Rampage and Arkanoid did not scroll, we
could used a 320 by 224 mode without slowing down the game.)
As you know, many CoCo games have a "PAL" mode. (This became a
requirement of Tandy once they started to sell the CoCo
overseas.) You should be able to change the palettes used in the
four color 128 dot "PAL" mode version of the game before you run it.
The only other hope is to have someone completely re-write the game
like I did with Zaxxon and Z-89.
Steve "6809er" Bjork
Please visit my new CoCo website at: http://coco.etechwds.com
Thanks to L. Curtis Boyle (at:http://nitros9.lcurtisboyle.com) for
the use of his game photos and helping to fill in my CoCo memory gaps.
--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.446 / Virus Database: 268.18.13/725 - Release Date: 3/17/2007 12:33 PM
More information about the Coco
mailing list