Study how a landmark 1989 video game was architected at the assembly level on vintage hardware.
Reference the original code when creating a port or modern reimplementation of the game.
Archive and preserve computing history for retro gaming research and education.
Requires a vintage Apple II or emulator and knowledge of 6502 assembly to run or meaningfully study the code.
This repository contains the original source code for the Prince of Persia video game, written by Jordan Mechner on the Apple II computer between 1985 and 1989. The code is written in 6502 assembly language, which is the low-level programming language used on that era of hardware. The game was first published by Broderbund Software in 1989 and went on to become a long-running franchise now owned by Ubisoft. The source code was recovered from a 22-year-old floppy disk with the help of archivists at the Internet Archive and a vintage Apple hardware expert named Tony Diaz. The author posted it publicly because it represents a piece of computer history that could otherwise have been lost permanently. Making it available here is not the same as granting any rights to the Prince of Persia franchise, which remains Ubisoft's property. Mechner has been candid that he no longer remembers the details of the code, having moved on from programming to work as a writer, game designer, and creative director. He put together a technical document in 1989 to help teams porting the game to other platforms, and a copy of that document is available on his website for anyone who wants to understand what they are looking at. For readers interested in the broader story behind the game's creation, Mechner has published his development journals from that period and also wrote a graphic novel called REPLAY, released in 2023, which covers his experiences making games on the Apple II alongside his personal history. This is an archive for historical study and curiosity. The community of Apple II enthusiasts and retro computing researchers is the best resource for technical questions, as their collective knowledge on the subject far exceeds what the original author can now recall.
← jmechner on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.