r/ngpc • u/Zealousideal_Hat782 • 17h ago
Prince of Persia (DOS) port on the Neo Geo Pocket Color — nearly ready for release!
Gameplay (under emulation) video: https://youtu.be/bN14BqbE3cM?is=F7LHC7RBShQbBvsb
I've been working on bringing the original DOS version of Prince of Persia to the Neo Geo Pocket Color, and after a huge amount of experimentation, it's finally getting close to release! I originally took my first post down because there was a moment where it looked unlikely to do. But this is no longer the case
First, I want to be transparent that this project has been heavily AI-assisted, particularly with the porting, debugging and optimisation work. I've been directing the development, testing builds on actual NGPC hardware and making adjustments based on the results.
Getting the game running was one thing. Getting it to run at a playable speed was an entirely different challenge! A few changes had to be made but it's still very much the dos port
The early builds were painfully slow, especially around animated doors, spikes, chompers and other moving objects. At times, the game was practically unplayable. After countless tweaks, rewrites and optimisations to the original DOS-derived logic, things have improved enormously.
I've now completed a full playthrough of all 14 levels on real NGPC hardware, and I'm pleased to say the game is in a playable state.
A quick note about the trailer (link again https://youtu.be/bN14BqbE3cM?is=F7LHC7RBShQbBvsb)
The footage was recorded through emulation, where the game runs quite smoothly with very little noticeable slowdown. On actual hardware, there are still some short stutters in particularly demanding areas, especially when multiple animated hazards are active. I don't want the trailer to give anyone the wrong impression, so it's important to mention that.
Also after being informed about ngpc-dev.com and its online high-score leaderboard system, I was inspired to introduce a points system to this port, thanking (HardhatWarrior) for the support and sharing this. I think Prince of Persia really benefits from this feature, as it adds replay value to improve performance and beat previous scores and compete with others.
Here's how scoring works:
Level completion: Earn points based on how quickly you finish each level. Each level has its own time target, so faster completions earn more.
Small health potion: +50 points.
Large health potion: +200 points.
Taking a sword hit: −25 points.
Dying: −100 points.
The idea is to encourage speed, exploration and survival, rather than simply racing to the exit. Players can also view their run statistics and compete for better scores.
A special thanks to the folks behind SDLPoP and the original Prince of Persia DOS disassembly project. Their reverse-engineering work on the original DOS game has been invaluable and made a project like this possible.
I'd also like to thank ngpc-dev.com. The high-score leaderboard project genuinely motivated me to keep working on this port (it's embedded but will be moving onto testing v soon).
There's still a little polishing and testing left, but the project has come a very long way from those early painfully slow builds.
The game is now quite close to release, and I'll also be setting up a GitHub repository for the project very soon!
For now, here's a trailer showing the current state of the port.
Looking forward to sharing it with the NGPC community!


