You are browsing as a guest. Sign up (or log in) to start making projects!

chip 8 emulator

  • 4 Devlogs
  • 9 Total hours

CHIP-8 emulator written in pure C

Ship #2

i built a lightweight chip-8 (programming language for old 8-bits microcomputers from the 1970s) emulator from scratch.

now it’s running pratically all the games i tested for it
without glitches, only “issue” to address is a light flicker but this is by design of chip8
how to test it: compile it yourself or run the pre-compiled binary on github.

  • 3 devlogs
  • 7h
  • 6.72x multiplier
  • 50 Stardust
Try project → See source code →
Open comments for this post

2h 41m 18s logged

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)

0
0
22
Open comments for this post

2h 16m 50s logged

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)

0
0
25
Open comments for this post

2h 29m 41s logged

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)

0
0
11
Ship #1

i built a lightweight chip-8 emulator from scratch.

now it’s very minimal and stripped down (not all opcodes implemented yet), but it sucessfully loads and renders the basic IBM rom

how to test it: compile it yourself (made exclusively for windows) or run the pre-compiled exe on github.

  • 1 devlog
  • 2h
  • 2.03x multiplier
  • 3 Stardust
Try project → See source code →
Open comments for this post

1h 36m 51s logged

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

0
0
29

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…