That infamous "floating on air" bug in SNES PoP2

Second part of the best game ever made.

Moderator: English Moderator Team

Post Reply
The Prince of Persia
The Prince of Persia
Posts: 1548
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

That infamous "floating on air" bug in SNES PoP2

Post by David » February 28th, 2016, 4:14 pm

You may remember a SNES PoP2 walkthrough video, where the prince is hit by a floating head in the tunnel, and after that the prince can walk in air and through walls.
(It used to be here.)

I've found out (With the Cheat menu of Snes9x), that this can be turned on/off by modifying the byte at RAM address $7E0608.
Writing 1 turns it on, 0 turns it off.

If I force it to be off, the prince can't crawl into tunnels.

I also found out that if you enable the bug the regular way, and then crawl into the tunnel again, and then come out, then the bug will disappear.

So this byte stores the "crawl mode" (or "tunnel mode"), and being hit in a tunnel makes the prince stand up without turning it off.

This explains why does it enable going through walls.
But why does "crawl mode" cause walking in air?
My guess would be that walls/tunnels don't count as floors, so "crawl mode" must also force every tile to be treated as floor.
(This *is* the case in PoP1/2 for DOS, according to the disassemblies. Search for "tile_is_floor".)
Consequence: If I disable crawl mode while the prince is in a tunnel, he falls into the floor!

(Note: I figured out most of these in 2010/2011. I'm not sure why didn't I post this then...)

By the way, is there any way to restart the level without dying?
(Remember: according to the video, restarting does turn the flag off. So restarting while in a tunnel would be another way to enable the bug.)
I only found how to return to the main menu: pause with Start, then press Select.
(But even this is missing from the manual.
While at it, the names of Mechner and Broderbund are also missing.)

Post Reply