At the transistor level? I assume this means that each transistor is simulated digitally, as a pure switch, and not as an analog component, which I imagine would be near impossible to do in Javascript on current hardware.<p>Not the most practical way to emulate a CPU, but surely a good exercise in learning how a processor works from the component level on up.
I put on a hat so I could take it off again. Very impressive. Now I know what do to do with those old Atari game cartridges which have been sitting in a box by my desk for 5 years.<p>Also, this seems like it should have a unit to itself on any CS course, not to mention serving as a platform much further research. Maybe I should take up 6502 Assembler as a hobby. Their SigGraph slides are well worth a look: <a href="http://www.visual6502.org/docs/6502_in_action_14_web.pdf" rel="nofollow">http://www.visual6502.org/docs/6502_in_action_14_web.pdf</a>
This is pretty cool.<p>It reminds me of 6502-sim for my Apple ][ - it was a 6502 application (Sorry Captain Obvious), but it was cool as it was showing how each instruction worked.<p>This goes beyond it :)
The 6510 (C64 6502 with extra ports) has secret opcodes, basically holes in the circuitry, which emulators have to support because they're used in demos for extra speed (eg, write to x what's in a).<p>I wonder if this simulation also has secret opcodes?
Non-CS majors who want to dig deeper might enjoy:<p>But How Do It Know? - The Basic Principles of Computers for Everyone
<a href="http://amazon.com/dp/0615303765" rel="nofollow">http://amazon.com/dp/0615303765</a>