Chip-8R

Chip-8R emulator running IBM logo ROM
Chip-8R emulator running the IBM logo rom

Links

Specs

Background

When I decided to learn C, a friend suggested I build a Chip-8 emulator. In addition to learning the language with a small, but non-trivial project, I learned quite a bit about how CPUs work - opcodes, memory read/writes, buses, framebuffers, etc. So when I needed a project to learn Rust, I turned to Chip-8 again. I was able to focus on the language details, since I was already familiar with the emulator architecture.

Design

The Chip-8 is an old interpreted language, often picked for a programmer's first emulator project. It's reasonably simple, with a handful of simple instructions. Input, audio, and display functionality are also limited, giving the programmer an introduction to these systems, without overwhelming them.

The design of my Chip-8R emulator is quite simple. It's broken up into the following components:

Architecture

Coming soon...

Closing Thoughts

Coming soon...

This static site is built entirely with HTML and CSS, without any Javascript. It's also built to last. Check out this manifesto on preserving web content for more details.

Built by Jon Choukroun