Yet another yet another Chip-8 emulator - An interpreter for Chip-8 bytecode writen in SystemVerilog.
Find a file
2024-04-08 01:28:28 -05:00
.nvim/svlangserver alu simple 2024-04-08 01:28:28 -05:00
db who do you think you are? I AM 2024-04-07 23:55:54 -05:00
incremental_db who do you think you are? I AM 2024-04-07 23:55:54 -05:00
output_files who do you think you are? I AM 2024-04-07 23:55:54 -05:00
screenshots everything but cleanup 2024-01-31 13:53:10 -06:00
tests everything but cleanup 2024-01-31 13:53:10 -06:00
the-bomb@6d88fb2756 who do you think you are? I AM 2024-04-07 23:55:54 -05:00
.gitignore graphics working 2024-01-30 19:54:35 -06:00
.gitmodules use 1 bit map for screen 2024-04-06 16:38:23 -05:00
chip8.qpf make better 2024-04-07 23:39:15 -05:00
chip8.qsf who do you think you are? I AM 2024-04-07 23:55:54 -05:00
chip8.sv make better 2024-04-07 23:39:15 -05:00
chip8.sv.bak make better 2024-04-07 23:39:15 -05:00
cpu.sv alu simple 2024-04-08 01:28:28 -05:00
cpu.sv.bak make better 2024-04-07 23:39:15 -05:00
downclocker.sv make better 2024-04-07 23:39:15 -05:00
fontset.bin make better 2024-04-07 23:39:15 -05:00
gen_rom.py make better 2024-04-07 23:39:15 -05:00
gpu.sv make better 2024-04-07 23:39:15 -05:00
make_cdf.sh make better 2024-04-07 23:39:15 -05:00
makefile alu simple 2024-04-08 01:28:28 -05:00
memory.sv make better 2024-04-07 23:39:15 -05:00
README.md update README.md 2024-01-31 21:06:06 -06:00
rom.bin alu simple 2024-04-08 01:28:28 -05:00
yayacemu.cpp make better 2024-04-07 23:39:15 -05:00

Yet another yet another Chip-8 emulator (yayacemu)

Because one just wasn't enough.

A Chip-8 emulator (interpreter) written in SystemVerilog with I/O simulated with C++ also depends on SDL2.

Building & Testing

In order to run yayacemu, you must have sdl2, verilator, 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]

Running

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

yayacemu [PATH_TO_YOUR_ROM]

Todo

  • Graphics
  • Corax+ Required Instructions
  • Proper Flag Handling
  • Working Input
  • More Instructions
  • Tetris Working Running
  • Pass Quirks Test
  • Add beeper (instead of sound, screen becomes red)
  • Add all Instructions
  • Implement a real (synthesizeable, pseudorandom) random module
  • Code cleanup
  • Deploying to an FPGA with a real screen, keypad, and beeper

Screenshots

Chip 8 Logo Demo IBM Logo Demo CORAX+ Test Demo Flag Test Demo Quirk Test Demo Tetris Demo Beeper Demo