Speeding up games for the C64 Ultimate
Disclaimer - Heavy use of ChatGPT
A lot of the work that has been done on these games has been offloaded to ChatGPT / Codex and the following tools:
https://github.com/Jondalar/C64ReverseEngineeringMCP
https://github.com/Jondalar/TRX64
https://github.com/Martijn-DevRev/Ultimate64MCP
A package with the “knowledge” that helps you set up your AI agents to use all this stuff can be found here, as well as images of all the games.
https://1drv.ms/f/c/b8e19a6d72005e34/IgAVOG_eBWshTYqMhccMIhzBAerj_2mCobIBsGyfK7gYC2U?e=rnF7O6
How this started
In July 2026 I got free promotional access to a lot of Claude credits. I used these to start re-engineering projects for the C64. I always wanted cartridge versions of Alter Ego and Portal (the interactive novel by Activision), then started an EasyFlash conversion of Koronis Rift. My first releases got feedback from people also doing great stuff with AI and C64 re-engineering. I switched to ChatGPT, then 5.6 Sol and boy, did that work out fantastic. After a couple of hours ChatGPT had written itself some cool debugging harnesses to do proper speed measurements of single routines on my C64U.
Following are the respective games I have worked on or in the pipeline. They are in chronological order so the latest stuff is DOWN BELOW! Again, for Links just check the OneDrive folder above.
Rescue on Fractalus
This is a theoretically easy and practically hard patch. The game physics are running on a vertical blank based logic, meaning, all movements in the game happen at a constant 50/60 Hz tick, and the 3D graphics are just drawn as fast as the CPU can do. So in theory, just speed up the CPU! Unfortunately there is one screen refresh loop that hates being sped up. Once you hit 4x you see screen corruption sometimes, with 16x and above you see it several times a second, making the whole game very unpleasant. The patched version I created does something different. It uses the TurboEnable Bit setting of the C64 Ultimate to dynamically turn on the speed up only during some math calculations and only outside the visible frame. This makes the game compatible with C128 (slightly faster), Turbo Chameleon (a lot faster) and the C64 Ultimate (really really fast) - and still keeps it playable on all versions.
Koronis Rift
This is the first real full patch that has everything but the kitchen sink. It is the first full EasyFlash-version of the game that I know off, including full save functionality. And it has TWO different versions hidden inside, one with a 4x code path. Game animations and physics as well as enemy movements are tied to frame updates. If you speed up the C64 you speed up the full game, making it harder up to impossible. Therefore there is a version where most of the game physics and animations are slowed down by a factor of 4. I actually slow down player movement only by a factor of 2 and the cursor/targeting sight is still at normal speed.
Driller / Castle Master / Freescape Games
These titles are infamous for the “One Frame per second” gamespeed while also consistently named as “really good games”. Early runs with 64x speed on the C64 Ultimate showed two problems: Movement is very jumpy and it still is not very fast at all. The movement part can be fixed with patches or by setting some parameters for turn speed (Angle) and movement speed (Step) as per manual. Everything else in the game runs on an IRQ-based real-time counter so is not affected by the faster CPU. But why is it still dead slow, in scenes with many polygons only 5-6 frames per second, making the game run at maybe 8x speed when the CPU is running at 64x. Long benchmarking sessions on the C64 Ultimate revealed that the Freescape engine does maths in a very peculiar way with many matrix multiplications that require indirect indexed RAM access. These slow down the CPU significantly - the C64 Ultimate basically has to wait for memory accesses with 1x speed for several cycles. So even 64MHz virtual CPU speed only gives us about 8 MHz perceived speed. You can play the Freescape games by manually setting the CPU to 64 MHz and then adjusting the movement parameters as described in the game manuals. Because of that I have stopped trying to optimize these games. If you really want to play them well, I do suggest ScummVM: https://wiki.scummvm.org/index.php?title=Freescape will tell you on the Roadmap about the current state of support. Most games are already playable and progress is fast.