chip 8 emulator
- 4 Devlogs
- 9 Total hours
CHIP-8 emulator written in pure C
CHIP-8 emulator written in pure C
devlog #4 - audio engine, new ui and linux build
added sound support
fixed a bug in the draw instruction missing a “break;”
fixed a bug in math operations that bugged the collision in some games (brix and pong)
readme rewritten for better clarity
new user interface
added linux support
(sorry for bad gameplay)
devlog #3 - (not so) final release
added rendering with SDL in a separate window
added the remaining opcodes for running all chip8 demos/games
fixed the shortcut to exit the emulator (ESC)
devlog #2 - small corrections
what changed:
separation of cpu and display responsibilities into dedicated implementation and header files (cpu.c/cpu.h and display.c/display.h).
decoding of the x and y registers (in cpu cycle) is now performed once before opcode checking, eliminating redundancy within each switch case.
removal of legacy debugging routines and standardization of video buffer handling. (basically same gif as before)
devlog #1 - writing a emulator
i built this (not so) simple emulator for the CHIP-8 architecture
what’s working:
4kb ram, 16 registers (V0-VF), Index (I) & PC (0x200)
opcodes: clear (00E0), jmp (1NNN), 6XNN and 7XNN (math basically), index (ANNN) and sprites (DXYN)
rendering in ascii (thinking about changing it to sdl2)
todo:
full 35 opcode support
keypad input
(maybe) migrating to SDL2