Skip to content

Yet another Chip-8 emulator - An interpreter for Chip-8 bytecode writen in C

Notifications You must be signed in to change notification settings

nickorlow/yacemu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yet another Chip-8 emulator (yacemu)

A Chip-8 emulator (interpereter) written in C. Depends on SDL2.

Want to see Yet another yet another Chip-8 emulator? (in Verilog)

Building & Testing

In order to run yacemu, you must have sdl2 and make installed.

Once you have the dependencies installed, you can build the emulator with:

make build

You can build start the emulator with:

make run ROM_FILE=[PATH_TO_YOUR_ROM]

If you would like to run it in turbo mode (faster emulation, useful for testing) then run:

make run-turbo ROM_FILE=[PATH_TO_YOUR_ROM]

If you would like to debug with gdb then run:

make debug ROM_FILE=[PATH_TO_YOUR_ROM]

If you would like to debug with gdb in turbo mode then run:

make debug-turbo ROM_FILE=[PATH_TO_YOUR_ROM]

Running

If you have a binary, you can run it with the following:

yacemu [PATH_TO_YOUR_ROM]

If you would like to run it in turbo mode (faster emulation, useful for testing) then run:

yacemu [PATH_TO_YOUR_ROM] turbo

Todo

  • Graphics
  • Corax+ Required Instructions
  • Proper Flag Handling
  • Working Input
  • More Instructions
  • Tetris Working Running
  • 1/2 Pass Quirks Test (DispQuirk is a bit touchy)
  • Add beeper (instead of sound, screen becomes red)
  • Code cleanup
  • Rest of Instructions (I believe a few are missing)

Screenshots

Chip 8 Logo Demo IBM Logo Demo Corax Plus Test Demo Flag Test Demo Quirks Test

About

Yet another Chip-8 emulator - An interpreter for Chip-8 bytecode writen in C

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published