Here, Waste The Evening: Prince Of Persia Source Code Posted To Github


It’s not every day that you see code like this:

* Superimpose “Turn disk over” message
lda #flipbox
ldx #>flipbox
jmp superimage

Yep. That’s assembly language, about as far from Ruby as you can get. It’s from the original, Apple II version of Prince of Persia, one of the best games in anyone’s childhood, anywhere. As we mentioned before, Jordan Mechner found the original disks in his father’s place last month and was looking for someone to help pull the files off of the disks. Thanks to Jason Scott, Mechner held a copy party in his house to drag, kicking and screaming, into the light of day.

You can read about the adventure here but Scott’s description of the process is actually quite telling:

Pulling data off dead media in the present day is both easier than it ever has been, and as frustrating as ever. (When I say “dead,” I mean the format. You can’t really go down to the local store and buy a box of 5.25″ floppy disks any more, nor would you want to — a USB stick will give you well over a million times the space and cost you almost nothing.) Thanks to a lot of work by a lot of different people, pulling the data off these floppies can now be as simple as putting it into a vintage disk drive, or a modified recent one, and pulling the individual sectors right into a file that can go into the internet in seconds. But just as it’s so trivial to do this, any clever tricks done to the floppy that made sense way back then could make it a puzzle wrapped in a goose chase to extract. Not to mention, these discs are old — in this case, at least twenty years old, and they’re just magnetic flaps of plastic sealed inside a couple of other sheets of plastic. A lot can go wrong, and no extraction is guaranteed.

That’s right: floppy disks are as old media as a pile of 48s mouldering in someone’s garage. They’re not just obsolete, they’re almost completely dead. I have some old floppys that once held the operating system I wrote in high school and I’m proud to say that I was able to transfer them long before any real damage came to the media. It’s amazing that Mechner and his buddies grabbed these bits and its even more amazing that you can grab all of the code right here and play with it yourself.