Smoothmod for Apple II Prince of Persia
Posted: January 13th, 2025, 11:06 pm
Hey fellow PoP fans!
I'd like to share a modification to the original Apple II Prince of Persia game. It makes the game run smooth with a stable frame rate on faster Apple II machines by locking the game timing to vertical sync. It's a fork of the original source code, github: https://github.com/larspontoppidan/Prin ... a-Apple-II
Currently the mod only supports the 4 MHz Apple IIc Plus and it works in MAME emulating that machine. It should be possible to support Apple II GS as well, but I have not attempted that yet. I wonder if there is any interest?
The original Apple II version outputs frames as fast as the CPU can manage which results in a very variable frame rate that slows down a lot when bricks fall or gates activate. It also means that faster CPUs simply run the thing way too fast. Smoothmod locks the game update rate to a number of vertical syncs. And it was NOT easy to do, lol. Whenever the music plays or at cut scenes, the CPU is slowed down to 1 MHz for correct playback.
When sword fighting the game slows down 1 vblank sync (like the MS-DOS version I believe). I also added a Ctrl+t key for speeding up the game slightly (by 1 vblank) for a very smooth and fluid experience. I think it plays absolutely great like that, but the time might run a bit too fast.
The goal for me was to experience the very first version of the game with the original assets made by Jordan himself, in the best possible way. I was a disappointed that the faster Apple II's couldn't help achieve a smooth frame rate, thus this little project!
I'd like to share a modification to the original Apple II Prince of Persia game. It makes the game run smooth with a stable frame rate on faster Apple II machines by locking the game timing to vertical sync. It's a fork of the original source code, github: https://github.com/larspontoppidan/Prin ... a-Apple-II
Currently the mod only supports the 4 MHz Apple IIc Plus and it works in MAME emulating that machine. It should be possible to support Apple II GS as well, but I have not attempted that yet. I wonder if there is any interest?
The original Apple II version outputs frames as fast as the CPU can manage which results in a very variable frame rate that slows down a lot when bricks fall or gates activate. It also means that faster CPUs simply run the thing way too fast. Smoothmod locks the game update rate to a number of vertical syncs. And it was NOT easy to do, lol. Whenever the music plays or at cut scenes, the CPU is slowed down to 1 MHz for correct playback.
When sword fighting the game slows down 1 vblank sync (like the MS-DOS version I believe). I also added a Ctrl+t key for speeding up the game slightly (by 1 vblank) for a very smooth and fluid experience. I think it plays absolutely great like that, but the time might run a bit too fast.
The goal for me was to experience the very first version of the game with the original assets made by Jordan himself, in the best possible way. I was a disappointed that the faster Apple II's couldn't help achieve a smooth frame rate, thus this little project!