
Classic Pac-Man Source Code (commented) - hhm
http://cubeman.org/arcade-source/pacman.asm
======
kqr2
There's a great article on Billy Mitchell who was the first guy to master the
Pac Man kill screen in the July issue of Harpers.

His "reverse engineering" of the game was so detailed that he amazed the
original programmers.

[http://laweekly.blogs.com/joshuah_bearman/2008/08/finally-
th...](http://laweekly.blogs.com/joshuah_bearman/2008/08/finally-the-kil.html)

Also, be sure to check out the movie "King of Kong" where Billy Mitchell is
also a controversial figure.

<http://www.imdb.com/title/tt0923752/>

~~~
ca98am79
yes, that movie is awesome

------
arn
related: Atari 2600 Pac-Man code in one big poster.
<http://benfry.com/distellamap/>

~~~
tptacek
This YC comment just cost my company over $200.

------
hhm
Ms. Pac-Man: <http://cubeman.org/arcade-source/mspac.asm> and another one:
<http://www.donhodges.com/how_high_can_you_get2.htm>

------
comatose_kid
Interesting use of the term 'commented'.

~~~
hhm
This one is much better commented:
<http://umlautllama.com/projects/pacdocs/mspac/mspac.asm> (for Ms. Pac-man).

------
snorkel
Atari 2600 Combat assembly code fully commented:
<http://www.atariage.com/2600/archives/combat_asm/index.html>

Featuring tricks such as

    
    
        ; Only the first 180 degrees of rotation has been drawn into ROM.  In the
        ; case of the other 180 degrees, this subroutine renders a flipped version
        ; by doing the following:

------
fiaz
Very cool. But apart from the fact that this is all assembly, I have no idea
what the hell is happening. Still, very cool...

~~~
jmtulloss
I've always felt that everybody should learn some assembly. It helps in
understanding C, which in turn helps in understanding most of the other
languages we work with.

That being said, to actually understand what was going on would take hours of
carefully inspecting the code. That's why knowing assembly is like knowing
latin.

------
zandorg
I have a 6502 decompiler which can turn assembly code into a C-type construct
(a code tree). You can also assign English names to memory locations, and even
define structures. Then you decompile it with all that English and it makes
readable code.

Edit: I wrote it myself and I'm usually at <http://www.decompiler.org/> but
the website is down, though the Lisp code of the decompiler is fine.

------
ca98am79
what does "kick the dog" mean?

~~~
allenbrunson
i believe you're referring to a comment that says "kick watchdog."

most videogame hardware contains watchdog circuitry. every so often, the
software has to notify the watchdog hardware that it's still alive. if the
hardware doesn't get the notification within the time allotted, it assumes the
software is hung and reboots.

------
waldrews
Why couldn't they just use Ruby? It would take fewer lines.

(kidding, kidding, don't downmod me)

~~~
swombat
Downmodded for begging.

------
projectileboy
Someone lamely attempting to comment raw assembly? Not so interesting...

------
13ren
ah, Z-80, another great* technology that didn't win.

* ==I liked

~~~
deadsy
Don't feel too bad. Zilog still makes and sells them 33 years on. I should be
so lucky if anything I do lasts so long.

