Even though it is the Apple II version written in 6502 assembly language, it was a pleasant experience to dive in the code of that mythical game: As usual there were many fascinating software wizardries to discover.
The Apple II apparent poor environment for game programming was actually ground to unmatched innovation and creativity : From self-modifying code, in-house bootloader, clever floppy disc format to skewing lookup tables: Prince Of Persia features engineering treasures in every modules.
Reading the source allowed me not only to learn about the game development process of the 80s but it also renewed my appreciation for things that we take for granted today.
As usual I took numerous notes that I have cleaned up on this page. I hope it will inspire others to read more source code and become better engineers.
Acknowledgment : I would like to thank Miles.J from 6502.org and Roland Gustafsson (author of RWTS18) for patiently sharing their knowledge with me.
Where to start ?
The source code is available in a GitHub repository and can be downloaded with one command:
If you have any interest at all in looking back in time and seeing how far we've come, you've got to read this series...
Related Past Post XRef:
Jason and Jordan get their game on to get the game... The start of the tale on getting the original POP (Prince of Persia) Apple II source off of 20 year old floppies
Original POP (Prince of Persia) Apple II Source Found