Matt Bierner hat alle Assembler-Befehle der ersten zwei Sekunden von Super Mario von der CPU eines NES-Emulators abgegriffen und ausgedruckt. Ich mag das.
This project shows the volume of operations that even old CPUs could churn through. For modern games, even a single frame would undoubtably generate an order of magnitude more operations and be quite unprintable (especially if you get into GPUs). While leafing through the pages, it’s also interesting to think that these simple operations are what bring Mario to life and underlie the familiar game world we all know.
The execution was collected using the FCEUX emulator. The trace logger captured the executed instructions, while a very simple Lua script captured screenshots for each frame. This raw data was then converted into an html book using some simple python scripts. From there, the html was converted into a pdf and printed on good old fashioned paper.
2950 8.5 x 11 inch pages, double sided printing
4 columns of operations per page
6pt font for the operations
1475 sheets of paper
3, three inch binders
561 cubic inches of paper (8.5 x 11 x 6)
Around 9750 operations on average per frame
50 different instructions
LDA was the most common instruction
BVS was the least common instruction