Coolthing Of Theday

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Friday, 14 June 2013

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

Posted on 17:55 by Unknown

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 6502.org 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:

...

image..."

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)

Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest
Posted in Development, Game | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • Mr. 7,000! This is my 7,000th post...
    Before this post; After; 20 visits between taking these snaps? Oh wait, that's probably me searching for past related posts....
  • Windows Management Framework 4.0 (PowerShell 4, PowerShell ISE, Management OData, WMI, etc.) now available
    Keith Hill's Blog - PowerShell 4.0 Now Available You can get PowerShell 4.0 for down level operating systems now via the WMF 4.0 d...
  • "Windows Server Essentials Media Pack" (DNLA Stream, HTML5 and Dashboard Media stuff)
    Microsoft Downloads - Windows Server Essentials Media Pack This pack enables the media streaming functionality for Windows Server 2012...
  • Rad Gate Post... Get your Red Gate Post here...
    simple talk - Melanie Townsend - Get a copy of the Red Gate Post We recently put together a newspaper of some of the best articles fr...
  • Learning Log Parser Studio in two parts... (From Install to Library Ninja)
    Kary Wall - Getting Started with Log Parser Studio - Part 1 & Getting Started with Log Parser Studio - Part 2 Hopefully, if you a...
  • Viasfora - Your new favorite Visual Studio Text/*ML Editing Extension?
    Winterdom - Introducing Viasfora A couple of days ago, I unveiled Viasfora , my latest attempt at building a decently packaged extensi...
  • [Hardware Review] It's been a Haswell Summer... Haswell/Harris Beach Intel SDS Ultrabook Review - Part 3
    Are you all tired of it yet? Have you heard it often enough already? Well too bad! Haswell is Battery Love! MUHAHAhahahahaha.... There! ...
  • "Windows Server [2012 R2]: The Best Infrastructure to Run Linux Workloads"
    In the Cloud - What’s New in 2012 R2: Enabling Open Source Software Part 4 of a 9-part series . ... There are a lot of great s...
  • Want the world's best Science Fiction And Fantasy Library? Come to LA... The Eaton Collection @ UC Riverside
    CBS Los Angeles - The Eaton Collection: The Best Science Fiction And Fantasy Library Science fiction and fantasy fans rejoice and take...
  • Windows 8.1 Store App Paper Prototyping Templates
    Jason Roberts Don't Code Tired   - Paper Prototyping Templates for Windows 8.1 Store Apps These are updated paper prototyping templ...

Categories

  • .Net
  • 3DPrinting
  • AFeedYouShouldRead
  • Agile
  • ALM
  • Amazon
  • Amiga
  • Analytics
  • Android
  • ASP.NET
  • Azure
  • BigData
  • bing
  • Blogging
  • Book
  • BookReview
  • BUILD
  • C
  • C#
  • C++
  • Career
  • Cat
  • cheatsheet
  • ClickOnce
  • Cloud
  • ComputerHardware
  • css
  • Data
  • DBA
  • DependencyInjection
  • Deployment
  • Design
  • Development
  • devops
  • DVCS
  • ebook
  • EDD
  • Education
  • EnterpriseLibrary
  • EntityFramework
  • Exchange
  • Expression
  • gadget
  • Game
  • GIT
  • Google
  • Government
  • Hadoop
  • hardware
  • HardwareReview
  • HaswellReview
  • HTML5
  • Humor
  • IE
  • IEExtension
  • IfAllElseFails
  • IIS
  • ILMerge
  • Image
  • Infographic
  • interview
  • InversionOfControl
  • Java
  • Javascript
  • Kinect
  • LightSwitch
  • LINQ
  • Linux
  • LosAngeles
  • Lucene
  • Lync
  • MEF
  • Metro
  • MicrosoftOffice
  • MicrosoftOutlook
  • Mono
  • MVC
  • MVVM
  • NetMon
  • NLP
  • NoSQL
  • NuGet
  • OData
  • OneNote
  • OpenXML
  • Paint.Net
  • Personal
  • Photosynth
  • Physics
  • portable
  • Poster
  • PowerShell
  • Preparedness
  • Presentation
  • Prism
  • PrivateCloud
  • RegEx
  • RemoteDesktop
  • Reporting
  • RIAServices
  • Science
  • ScienceFiction
  • Scratch
  • Scrum
  • ServiceBus
  • SharePoint
  • Silverlight
  • SimiValley
  • SPA
  • Space
  • SQLServer
  • Storyboard
  • Surface
  • SVG
  • SystemAdministration
  • T4
  • TeamBuild
  • TeamFoundationServer
  • TechEd
  • Training
  • TypeScript
  • UnitTesting
  • UnityApplicationBlock
  • Utility
  • Veteran
  • VirtualMachine
  • Visio
  • VisualBasic
  • VisualStudio
  • WCF
  • Web X.X
  • Webcast
  • WebFeed
  • WebMatrix
  • Windows
  • Windows7
  • Windows8
  • Windows8.1
  • WindowsHomeServer
  • WindowsLiveWriter
  • WindowsPhone
  • WindowsServer
  • WinRT
  • WiX
  • WMI
  • WOPI
  • WPF
  • XAML
  • XBox360
  • XboxOne
  • zombie

Blog Archive

  • ▼  2013 (500)
    • ►  December (12)
    • ►  November (61)
    • ►  October (65)
    • ►  September (38)
    • ►  August (47)
    • ►  July (75)
    • ▼  June (39)
      • 300 for 320 - 320 Windows 8.1. app and code sample...
      • "Utilizing SysInternals Tools for Windows Client" ...
      • Google .Net API's go portable... The v1.4.0 Google...
      • Goodbye Google Reader... Need an alternate app? He...
      • Scott (not that Scott) helps make your Live dev ea...
      • SSDT (SQL Server Data Tools) June 2013 Released
      • RSAT (Remote Server Administration Tools) for Wind...
      • Getting a picture of the "Blue" Wave...
      • Need some help up the WPF learning curve? "WPF Suc...
      • A Sweet Summer Sysinternals Suite Refresh
      • Robin's "So you're in San Francisco for Build? Stu...
      • TypeScript Succinctly - Free [Name/email-ware] eBook
      • Friday Humor: Cell Reception - Can you hear me...o...
      • Mark TechEd's you... See all four of Mark Russinov...
      • Fighting bugs in your LOB apps? Hearing about cras...
      • Greg's //build bets - My total and complete WAG's ...
      • Excel as a digital art drawing platform? Yep! Beau...
      • Want the world's best Science Fiction And Fantasy ...
      • Eric triple downs on his Free Microsoft eBook List...
      • Log Parser Studio 2.0 now out (Log Parser GUI++)
      • //build Windows Store App available
      • Booting Minecraft (or maybe Assembling Minecraft) ...
      • POP goes the code review... Prince Of Persia Apple...
      • So you want to be a dev at Microsoft? Here's two v...
      • "The Essential HTML5 Mobile" DZone Refcardz Cheat ...
      • WPF TextBlock vs Label, what's the diff?
      • A quick look at the coming Los Angeles Light Rail ...
      • Dev:"But it's new and shinny! Let's upgrade!" DBA:...
      • "Microsoft SQL Server 2014 CTP1 Product Guide" - O...
      • Win8Templates now at 71 - 71 Windows 8 App Design ...
      • Getting into the flow, surfing restaurant inspecti...
      • Mash some web API's with your brain and Windows 8 ...
      • Using .Net Settings? Hate it when you rev your app...
      • Tiny Tiny RSS WAMP, MAMP or LAMP installers, VM or...
      • WintellectNOW FTW - Wintellect now providing on-de...
      • Windows 8 Mail Tip - Pin Email accounts so you see...
      • Gov Webicons - Your one shop, 41 Agency stop for U...
      • With yesterday's TechEd VS/TFS announcements, does...
      • TechEd NA 2013 Day 1 Announcement Round-up - VS 20...
    • ►  May (40)
    • ►  April (42)
    • ►  March (39)
    • ►  February (42)
Powered by Blogger.

About Me

Unknown
View my complete profile