JavaScript Asteroids Emulator

Sunday 14.07.2013

Lately I've been working on a JavaScript-based Asteroids emulator. I've always wondered how a CPU works. Through this project I've gained a lot of insight into how the black box of a CPU really works. The end result of this project is this emulator, and it is now finally ready for the general public.

The CPUs of the past is a lot easier to look into than the current generation, mostly because of increased complexity. I therefore decided to look into the MOS 6502 CPU that was popular in the 70's and 80's. This was the CPU family that powered classics from the arcade as well as home computers like Atari 2600, Commodore 64 and Apple 2.

This emulator works best with Chrome. You may also use FireFox, but you will not get audio, as it does not support Web Audio API yet. This is expected to be available in a later version of the browser. Internet Explorer does not yet support typed arrays, but this is expected to be added alongside WebGL in version 11.

Because this game is still the property of Atari Inc., I cannot legally provide the ROMs required to run this game from this site. If you are in the possession of said ROMs, you may upload these files to your local browser for use with this emulator. These files will remain on your computer only, and will be read from your browser should you choose to visit this page again. This emulator is compatible with the same game ROMs as the latest version of MAME, as of writing version 0.149.

Full source is available for this emulator if you try to view its sources. I've tried to make the source as readable as possible, and hope that you'll learn something from reading these.

Go to Asteroids emulator