This page contains a small selection and description of some specific projects I am proud of.
CHIP-8 Emulator (Zig)
A basic CHIP-8 emulator written from scratch in Zig.
This is a complete rewrite of the CHIP-8 emulator below that I wrote in C11, benefitting from lessons learned writing a NES emulator in C11.
NES Emulator written in C11.
A basic CHIP-8 emulator written from scratch with a built in graphical debugger, written in C11.
3D Software Renderer
This is my latest realtime 3D software renderer, based off of the work done by OneLoneCoder / javidx9. It’s not an exact copy as it’s written in C11 instead of C++11. I have written a few software renderers, now:
A Nintendo GameBoy emulator I am in the process of writing.
Temporarily on hold.
Started in C++11, but will be re-written in Zig and/or Odin.
HandmadeHero and The Jeff and Casey Show motivated me to start exploring making my own language and development tools. This is the first bit of that exploration. I decided to start designing a new language based on a foundation of C. This is my hand-written recursive-descent parser written in C. Currently it only builds a debug parse tree and outputs that in the terminal. There is no code generation.
Personal C Library
I started doing a lot more hobby programming in C. C has a really weak standard library, so you always end up rolling your own. This is intended to be along the lines of gingerBill’s libraries or the stb libraries.
For one project I really wanted to have a yaml-style configuration file but not have to do dynamic memory allocations or runtime parsing of the config file to use the data. My solution was to build a precompiler which generates a .c file for inclusion into your source tree.