a.k.a. Random Hajemulator
- Try it here: PachiSystems JSEmu
- Next project: MOS 6502 which is used in Commodore 64, Atari 2600 and NES! YEAH, BABY!
So... Why do it? Why spend hours in my off time to create something like this? Simple: Because I want to.
Most of the programming I know has been self taught over the years since leaving college. I studied Information Technology at college for a year and came away with a partial GNVQ, but whilst there was a module in there on programming with Visual Basic and another on Pascal, most of it was based around database design and networking computers in different configurations with the old co-axial networking cables... Ah... Those were the days...
I'm not the kind of guy that will jump on a new technology until it's widely adopted or it really perks my interest. I tend to stick to pure JS and occasionally use jQuery to assist in that. Recently I've been using TroopJS as well, but that's another story.
Notes about development
Using The Chip-8 Emulator
At present, only Space Invaders is available as it's hard coded into the HTML page and the only one in the repo. I do plan on changing this in the future so that you can select any ROM designed for Chip-8. I might implement the SCHIP OPCODEs at a later time if I find that I have a few of the Super Chip ROMs.
Anyway. Here's the files you need to have to make it work (I do plan on making a proper build which contains all 3):
You will also need a ROM... Feel free to download the roms folder, too. At the moment, only Space Invaders is there.
Set up your HTML page like so:
The things to watch out for are placing the correct paths to your .js files and ROM. The ROM path will be relative to your HTML. Or you could use a full URL if you fancy. You could also use jQuery's document.ready as it would be a little more reliable than window.onload. You should now have the Chip-8 Emulator working in the window and the following keymap to play with:
PC Keyboard --> Chip-8 Keypad        [C] [Q] [W] [E] [R]    [D] [A] [S] [D] [F]    [E] [Z] [X] [C] [V] [A]  [B] [F]
Make sure to follow this repo (maybe a star?... ;-P ) and get updates on its evolution. If I get some time over the upcoming holiday, I may begin to implement a NES or Gameboy or some other 8-bit emulator... It's looking quite tempting to emulate the MOS 6502 as that was used in the Apple II and Commodore 64 and later modified to the Rioch 2A03 for the NES... What do you think?...