JUMPING JOEY
Genre:
Arcade Created: November 2022
Language: 6809
M/L System: Tandy Color Computer 1,2,3 or
Dragon - min 32K
RAM
|
A
remake of the arcade game Frogger by Konami but given an Australian
makeover
with an extra play area, Australian tunes and a Joey Kangaroo as the
new mascot!
|
Guide
your Joeys across 5 lanes of highway traffic, a cattle stockyard and
a flowing river riding logs, submerging turtles and hungry
crocodiles to
reach the safety of your home on the other side.
|
- Runs
on all CoCo/Dragon computers with minimum 32K
- 8
Color SG12 graphics on a black background
- 2
channel in-game music
- Joystick
and Keyboard control
- Supplied
as DSK/CAS/WAV images for use on CoCoSDC, DragonMMC, emulators or real
media.
|
GAMEPLAY VIDEO BY PRO-GAMER
"BUCK OWENS"
|
|
Jumping Joey is designed to run
on every model of the CoCo with at least 32K of RAM including the original
CoCo (1980) right up to the CoCo3 (1986) as well as the Dragon 32/64
systems.
Graphics
Jumping
Joey uses the Semigraphics-12 mode which provides all 8 colors of the
6847 VDG with a black background and uses 3072 bytes for the display
RAM. The game uses two video pages for Double
Buffering to provide a flicker free display.
It has a resolution of 64 x 96 with a color limitation of only 1
foreground color on a black background per byte. Each byte
displays 2 pixels and this limitation requires careful graphic
design to hide as much as possible the color clash displayed when two
pixels of different colors occupy the same byte.
THE COCO3 CAN DISPLAY SEMIGRAPHICS
MODES
When the CoCo3
came out, it was said that it couldn't display these modes. That is not
entirely true. It requires an extra register to be set in the GIME
chip. It cannot display the text bytes below 128 but all the colored
graphic characters from
128 to 255 work fine.
To
activate Semigraphics, use the table below to select the mode on the
left and write the value shown on the right to address $FF9C.
SEMIGRAPHICS 6
.......................... 7
SEMIGRAPHICS 8 .......................... 8
SEMIGRAPHICS 12 .......................... 9
SEMIGRAPHICS 24 .......................... 10
|
Try it with an
old Semigraphics game. You will need to work out which of the
Semigraphics modes (6,8,12,24) the game uses then LOADM the game.
Before typing EXEC to start the game, do the appropriate POKE for that
mode followed by EXEC on the same line. For example....
POKE
&HFF9C,10:EXEC then
press [ENTER].
The game should
run but any text characters (below 128) will be blank. When developing
games to work correctly with text and numbers on the CoCo3, you need to
create a font set from graphics characters.
Sound
The sound routine generates two channels of musical notes each with
fade. It runs in the background triggered by each alternate Horizontal
Field interrupt (7867 Hz NTSC) while the main game code is running.
This
technique doesn't
work properly on a non-modified Dragon 64.
This technique is particularly reliant on accurate
machine cycles and I have found that the VCC emulator is inaccurate
with the cycles being a little bit too fast. To compensate, the program
prompts you during the loading stage if you running on the VCC emulator
and applies a patch to the game so that the music and game speed are
corrected.
Some of the musical notes may sound off intermittently. This is to due
to the use of integer data used for speed and therefore lacks the
precision to accurately represent all frequencies. But it does add a "comical" vibe to the tunes. :)
The music may also be turned off during
game play by pressing the [M]
key on the keyboard.
Sound effects are generated
using the same routine by temporarily
overriding one of the channels to play a series of notes each with a
very short duration.
Controls
The game is played with
either the keyboard or Joystick chosen by the user when starting the game by either pressing the joystick button or the
SPACEBAR on the keyboard.
Keyboard control uses the
4 arrow keys for up, down, left and right motion. On a CoCo3 the ALT and CTRL keys also function as up and
down to allow the same function and control layout as the CoCo and
CoCo2 for those that prefer.
Both analog and
digital style joysticks work but a digital style gives a much
faster and easier control.
CoCo3 '87 GIME Bug
Programming can be such a pain when you wrack your brains
trying to fix a bug caused by an undocumented hardware discrepancy and
that is exactly what I experienced when I was told of a screen
glitching problem that was occuring on a CoCo3 when running this game.
My first response was to blame it on the user because I had not seen the problem on my CoCo3 or CoCo2. I had to find the problem because writing this off
as a feature was not going to cut it.
My CoCo3 has the original '86 GIME and this user had the '87 GIME. I
was suspicious and began checking if the problem occurred on
other '87 GIME CoCo3's... and it did.
Jumping Joey was coded in Assembly Language as a CoCo 1&2 game. It
doesn't use the GIME chip features when it is run on a CoCo3. The GIME
emulates the original VDG/SAM functionality which makes the CoCo3
highly CoCo 1&2 compatible.
Jumping Joey uses video double buffering which alternates between 2
video pages to create flicker free video. The video pages are switched
by writing the video start address to the SAM. The memory locations I
chose for the two video pages requires writing 3 bytes to the SAM to
set the address. What I do is wait for the video vertical sync to occur
then switch those 3 addresses. Because it is happening on
the vsync, it switches fast and cleanly on all CoCo's...
except for a CoCo3 with an '87 GIME and hence you would see an
intermittent screen glitch when this occurred.
I
don't know exactly why the '87 GIME does this and not the '86 but it was annoying. I
tried many things but it always glitched.
In
the end, I found that the glitching was greatly reduced by optimizing the code so that the three bytes being
written to the SAM where made as close and fast as possible to the vsync
transition. I even bumped the CoCo3 into 1.79Mhz temporarily for the
duration of these writes and this seems to cure the problem. Not the
best solution but works 99% of the time.
In hindsight, I should have chosen two locations for the video pages
which would have only required 1 byte to switch but this problem only
occurs on a CoCo3 with the '87 GIME. A bug in the '87 GIME?
Level 6 Bug Fix
A bug crept in to an update I did to the original Jumping Joey CD
release. This update fixed another bug that was found but while fixing
that bug, I created another. This bug causes the game to hang when you
entered the 6th level. I'm only aware of one person who has gotten this
high (Buck Owens of course) so the chances are that nobody else has
seen it. Never-the-less, I have a simple fix that you can apply by
inserting the following line into the BASIC loader (JOEY.BAS).
46 POKE &H4BD4,5:POKE &H4BD8,4
LOAD the file JOEY.BAS, enter the line above, and save it again as JOEY.BAS.
This is for the update I sent out to everyone via e-mail. All future
Digital Downloads I send out will have this fixed version included.
NO
KANGAROOS WERE HARMED IN THE MAKING OF THIS GAME
|
|
|