Software archaeology

Reading: Entombed: An archaeological examination of an Atari 2600 game, Aycock and Copplestone (2019), The Art, Science, and Engineering of Programming, Vol. 3, Issue 2, Article 4.

The act and experience of programming is, at its heart, a fundamentally human activity […] When considering programming, therefore, it would be a glaring omission to not involve people who specialize in studying artifacts and the human activity that yields them: archaeologists.

I absolutely love this stuff, digging through old code, scratching the head, reverse engineering the thinking.

Although it’s assembly code they’re working with, they re-implement into Python and dig out the “backstory of the game’s development and intoxicant-fueled design using interviews to complement our technical work”.

The payoff is to “uncover its unusual maze-generation algorithmm […] and analyzed the mysterious table that drives it. In addition, we discovered what appears to be a 35-year-old bug in the code […]”.

Related: Chris Lommont’s had a page describing the Pac-Man algorithms.  Sadly, “at request of NAMCO”, the content has been removed. Perhaps it will return one day.