Visual 6502: a visual simulation of a vintage microprocessor, in Javascript


The Visual 6502 project uses Javascript (!) and hi-rez images of vintage processors (notably the MOS 6502) to recreate functional, visual models of these ancient beasts:
In the summer of 2009, working from a single 6502, we exposed the silicon die, photographed its surface at high resolution and also photographed its substrate. Using these two highly detailed aligned photographs, we created vector polygon models of each of the chip's physical components - about 20,000 of them in total for the 6502. These components form circuits in a few simple ways according to how they contact each other, so by intersecting our polygons, we were able to create a complete digital model and transistor-level simulation of the chip.

This model is very accurate and can run classic 6502 programs, including Atari games. By rendering our polygons with colors corresponding to their 'high' or 'low' logic state, we can show, visually, exactly how the chip operates: how it reads data and instructions from memory, how its registers and internal busses operate, and how toggling a single input pin (the 'clock') on and off drives the entire chip to step through a program and get things done.

You can see this operation right now in your browser (except for Internet Explorer) with our interactive JavaScript simulation. We suggest a fast computer and lots of memory for this version.

The Visual 6502 (via JWZ)

8

  1. I still have my old Atari 1200. It has a 6502. As did the original Apple II. Also still have my old “Mapping the Atari” book and 6502 Assembly language reference manuals. I hope I never forget math lab in high school sitting at the Apple IIe computers and dropping to an op ed prompt and typing in 6502 aseembly code to proclaim my awesomeness. Stupid adolescent pranks to be sure, but excellent memories full of nostalgia there. Good shit indeed.

    No wonder I still have a soft spot for Motorola and the 6502 makes recurring appearances in various passwords.

    this is awesome.

  2. Wow. This reminds me of those guys who would photoscan records and wax cylanders and recreate the audio from the image.

    Only kinda cooler.

  3. We suggest a fast computer and lots of memory

    My computer runs at 2.8 Mhz and has 64K of memory. Is that enough? ;)

  4. Brings back memories. My first programming was 6502 machine language on a KIM-1 micro back in the ’70s.

  5. Wow! So, they’ve created a virtual computer in the memory of a computer with mobile JavaScript code, meaning, the same model can be resident on distributed clients across the world (and even multiple times on the same client with enough memory). It’s just kind of fun to think about possibilities this line of research has for distributed computing power.

    Then I started wondering about security issues this could lead to (partitioned and distributed virtual botnets; virtual computers in memory able to launch a virus/rootkit/worm/keylogger from behind firewalls without triggering intrusion detection; AIs with murderous grudges against their creators; dogs and cats living together; mass hysteria). ME AM PLAY GOD!

    /ps: So many stories about AIs achieving sentience seem to result in hostility. Wouldn’t it be an interesting story if emergent AIs had troubled relationships with humans like a child to a parent (like “I,Robot” perhaps)? What if AIs considered themselves to be “human”, just different (like Data). To me, “human” has always seemed to be the cultural OS running on the hardware of homo sapiens.

Comments are closed.