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"



Technical Notes
 
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 ga
me 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

PREVIOUS PROJECT

BACK TO HOME PAGE

NEXT PROJECT