I just discovered that the Assembly Language Source Code for the classic 1986 Nintendo Game
Metroid is available online:
http://www.classicgaming.com/mdb/m1/m1source.txt
You can see all sorts of amazing things in this nicely documented source code:
* Samus can only lay down 3 bombs at a time, but did you know that same limitation applies to bullets?
* To make her flicker as she lands, they only drew her sprite every other frame.
* There is a variable for Samus' Age. This is used to determine what ending to show the player. The faster you beat the game, the better of an ending you will see.
I understood very little of the Assembly Language source code (except for the comments), but it sure is nice to take a look at!
I'm actually playing this game right now as well. Classic.