Skip to content

GustavoBodi/Chip8

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chip8 Emulator

This is my second Chip8 emulator, this time it was written in modern C++, with some usage of templates and smartpointers.

General Information

The emulator is quite simple, it works on the usual CPU interpretation model of fetch, decode, execute.

It implements all the usual Chip8 opcodes, the correctness has been tested against multiple test roms.

In the repository there's a bricks rom for testing.

Architecture

The emulator is separated in the main Chip8 class, Fonts, Keyboard, Renderer and Screen. Although all of them could have been implemented in the same file in a procedural way, I opted for implementing them using thin layers of abstraction with just enough separation, so that most of the specification and configuration of the specifications stayed all in the Chip8 class, and the rest is instantiated with their respective passed values.

In Action

This is a screenshot of the emulator working:

image info

Main Resources

CowGod's Chip8 Reference

About

Chip8 emulator in C++. Uses SDL2 for rendering.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published