Chip-8 Emulators
Chip-8 is an language written for microcomputers in the 70’s. While it generally isn’t used for anything practical today, it is a very simple language to interpret so it’s often used as a starting point to learn about how to build an emulator interpreter. There are two versions of the Chip-8 emulator for the Nintendo 64
You can download the ROMs on their download page by using the password chip8isgr8
.
About Chip-8
Chip-8 is a simple interpreted programming language developed in the 1970s by Joseph Weisbecker for the COSMAC VIP microcomputer.
It features a 4KB memory, 16 8-bit data registers, a stack, and two timers. The instruction set includes about 35 operations, such as math, control flow, and drawing commands. Chip-8 graphics are displayed on a 64×32 monochrome screen using sprites, and input is handled via a 16-key hexadecimal keypad.
Its straightforward architecture makes it popular for learning emulator development and computer architecture basics, which is why it remains popular among retro game developers.
2016 version by Garrison Brown
The version made by Garrison Brown doesn’t have much information about it besides the ROM itself. It has 106 games from various authors included, ranging all the way from the 1970’s to the year it was published. That said, quite a lot of them are just graphical variations of each other like the four versions of Breakout.
Given the limitations of the original Chip-8 specifications, all these games are comparable in both gameplay and graphics to Atari 2600 games.
2017 version by Josh Higgins
This version of the game had to be recompiled from source using Libdragon since I couldn’t find any publicly available ROM file. It seems as though it can only run one game at a time, and only one game available in the repo was Pong. However, the code was set to load Blinky, a Pac Man clone.
Even when I got it fixed up, the original code didn’t include any controller input processing so it’s impossible to play it. All you can do is watch the ball move back and forth between the paddles and see the state of the emulator.
You can see the original repository here.
Review and conclusion
I believe it is unfair to review these as true emulators for the purpose of practically playing games since the Chip-8 is meant to be played in a 4×4 keyboard and not on a controller. There was no standardisation in which keys counted as up/down/left/right so they are all over the place.
In the Garrison Brown version, it seems like the controls are mapped specifically to work with Blinky (Pac Man) since that seems to be the only game that works great. However when playing any other game, its like D-right moves you down, D-up moves you left and C-up and C-down move you right and up. The only other games that are somewhat playable are ones like BLITZ which use only one button.
I think that the Chip-8 emulators are really meant to be more of a technical experiment than a practical emulation program. And as such, I think that it’s cool to have another emulator running on the Nintendo 64 even if it’s not really something I’d look at when I’m looking to burn a few minutes of time.