6a430580331365544a73e7c9d5241d5c997b4eb5
Added struct fields, calcs for the correct cycles per frame by hz value. Updated control bar to wire it all up and make sure it updates in real time.
Octal Cookie
A CHIP-8 emulator / simulator written in Odin using Raylib.
Features
- Full CHIP-8 instruction set emulation
- Simulator GUI with dedicated panels for the screen, CPU state, keypad, file loader, memory viewer, and control bar
- Built-in collection of classic game ROMs (Pong, Tetris, Space Invaders, Brix, and more)
- Load your own ROMs via the file loader panel
- Dev and release build modes via
make
Dependencies
- Odin compiler
- Raylib (used via Odin's vendor bindings)
- tinyfiledialogs (included under
external/)
Building
# Run directly in dev mode
make
# Build a dev binary
make dev
# Build an optimised release binary
make release
# Clean build output
make clean
The output binary is named my_app by default. You can change APP_NAME in the Makefile.
Included ROMs
A set of public domain game ROMs is bundled under assets/game_roms/:
15PUZZLE · BLINKY · BLITZ · BRIX · CONNECT4 · GUESS · HIDDEN · INVADERS · KALEID · MAZE · MERLIN · MISSILE · PONG · PONG2 · PUZZLE · SYZYGY · TANK · TETRIS · TICTAC · UFO · VBRIX · VERS · WIPEOFF
Test ROMs are available under assets/test_roms/ for development and debugging.
License
MIT — see LICENSE.
Languages
Odin
92.5%
HTML
4.8%
Shell
2.3%
Makefile
0.4%
