A conversion of Fury of the Furries with the Pac-Man licence, this game was never released; the version available is a prototype owned by the developer. (The DOS, SNES and Game Boy versions were released.)
It’s a puzzle action game, with keys, switches, ropes etc. which you (as Pac-Man) navigate by jumping and swinging from ropes.
I started mapping this game soon after the ROM was released, but gave up since it was impossible to see all of the background - the sky went too far. Then a few years later I decided to have a go at hacking it, and that turned out to be pretty easy.
In Meka I watched the RAM values changing as I jumped, isolating the ones that seemed to be determining the position of Pac-Man at $d604 and $d609. I typed values in and he warped around, and the camera chased after him.
I set write breakpoints to determine where these locations were being written to; there were just four places - two for movement (and gravity) in the x and y directions, and two for collision detection. I stubbed out the containing routines by writing a
ret opcode at their first byte.
I disassembled the VBlank handler and handily it was just a jump to the real handler, followed by plenty of blank space. I didn’t even have to install a hook, I could just use the space and end with the original jump.
.background feature came in handy again, as I could just assemble directly over the top of the ROM.
slot 0 $0000
slot 1 $4000
slot 2 $8000
.background "Pac In Time [Proto].gg"
.define Y $d604
.define X $d609
; free space here
.unbackground $38 $65
.bank 0 slot 0
.section "hack" force
in a,($dc) ; get P1 inputs
+: bit 0,a
+: ld (Y),hl
+: bit 2,a
+: ld (X),hl
; resume game
.bank 1 slot 1
.section "patch Y movement" overwrite
.section "patch Y collision" overwrite
.section "patch X movement" overwrite
.section "patch X collision" overwrite
This lets the joypad control Pac-Man’s position directly, moving at one pixel per frame. Interestingly, with the movement routines stubbed out, the enemies no longer moved, which was helpful to avoid death and to capture their starting positions.
Brief game guide
Pac-Man is attempting to get to the end of some levels for some reason.
In each level he will have certain “items” that give him abilities:
- Bubbles let him swim underwater, and shoot bubbles when underwater
- Rope lets him swing Spider-Man style through the level
- The fireball lets him attack enemies and scenery
- The hammer lets him bite through certain bricks
Sometimes you will see an electric field that will add or remove an item from Pac-Man each time you pass through it.
- U/D/L/R = walk/swim/aim/swing/change rope length
- 1 = shoot/bite/deploy rope
- 2 = jump (hold to bounce)
- Start = change equipped “item”
The Kalisto Team
- Coding -
- Original Design -
- Producer -
Thanks to Namco and Mindscape