Making the game actually work on a MAX Machine
Back in September 2022, I converted Wave Hero to an 8KB cartridge image in the so-called Ultimax format, and wrote a devlog about it. The game worked as expected in the VICE emulator, using various model settings (MAX Machine, C64 NTSC and C64 PAL.)
Then, about a month ago, I read a comment to my devlog from kopsec. The game would not work on an actual MAX Machine, while a game I converted to the MAX one month later (Old Mine Hoist) worked just fine.
I made some adjusted versions of Wave Hero, which kopsec then tested on the MAX. Some of the adjustments were:
- Adding code to set different border colors during the start-up sequence, to try to determine whether the game just «froze» at a certain point
- Changing the order of some of the initialization code
- Removing a PAL/NTSC check
Unfortunately, none of the above made the game work, nor help in understanding what the problem might be.
I already knew that bit 5 in VIC register $D016, if set, will supposedly stop the VIC chip on a MAX Machine, while it will have no effect on any of the C64 models. But I had already verified that the game's code did not touch this bit.
Or so I thought. It turns out that due to some raster interrupts firing while the game's title screen is being set up, a variable which had not been initialized yet could actually cause bit 5 in register $D016 to be set, resulting in no video output from the VIC chip on a MAX.
The fix was therefore to ensure that the variable in question is initialized very early in the start-up sequence. The file WaveHero_Ultimax_v1.4.crt is the fixed version of the game.
A huge thanks to kopsec for all help with testing the various adjusted versions on an actual MAX Machine!
Some more information about the «mysterious» bit 5 is available here:
- A discussion thread on CSDB
- A discussion thread on Lemon64
Files
Get Wave Hero
Wave Hero
How far can you go on your personal watercraft, without hitting any rocks or reefs?
Status | Released |
Author | Geir Straume |
Genre | Action |
Tags | 8-Bit, Commodore 64 |
Languages | English |
Leave a comment
Log in with itch.io to leave a comment.