Friday, June 14, 2013

POP goes the code review... Prince Of Persia Apple II Code Review Series

Fabien Sanglard's Website - Prince Of Persia Code Review: Part 1 (Introduction)

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 and Roland Gustafsson (author of RWTS18) for patiently sharing their knowledge with me.

Part I : Introduction
Part II : Bootloader
Part III : Code explained

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

Follow along and see the magic behind the Prince of Persia for C64 via its Development blog
Price of Persia... for the Commodore 64 (really)

No comments: