Chip-8 Dev Challenge: Frame Rate

Introduction Chip-8 runs at 60 fps (frames per second) and it’s very important to maintain this frame rate. Unlike modern systems, the sound and delay timers are tied to the frame rate. If the frame rate is too fast or too slow, the timing within apps will be off. Also, some apps will time off of the VSync (vertical synchronization). Making the frame rate even more important. I tried multiple methods to maintain a consistent frame rate in Chipped-8 and in the end I was able to achieve a solid 60 fps....

April 21, 2024 · John

Chip-8 Dev Challenge: Sound

Introduction Sound in Chip-8 is very easy. If the sound timer isn’t 0, play a tone. While this isn’t difficult, XO-chip adds another level of complexity. It uses a 16 byte pattern buffer with an associated pitch in order to create unique tones which can change per frame. Thus, XO-Chip can create basic music with it’s expanded audio. XO-Chip Audio This was by far the hardest thing to support while developing Chipped-8....

March 12, 2024 · John

I Made a Chip-8 Emulator

Introduction I’ve been following game console emulation for a long time and I decided I wanted to learn more. Specifically, the hardware aspect because I have no experience with how chips work. In order to learn more, I decided to write an emulator for a simple system. I originally thought NES but that is more complex than was realistic for me. Next, I thought of the Atari 2600 but even that seemed like a bit more than I’m ready for....

February 4, 2024 · John