Notes on programming, reverse engineering and retro games
Recent Posts
Fluidity: heightfield fluid simulation
18 October 2026 less than 1 minute read
Something I’ve been working on for a while, Fluidity is an interactive water simulator. Uses a 2D heightfield to represent water.
CPU failure
2 March 2025 1 minute read
How my motherboard killed my CPU
Adding temple interiors to OpenBlack
6 February 2024 less than 1 minute read
Temple geometry is now loaded in The vanilla game compresses the larger temple models using Deflate and need to be inflated/decompressed. Interior lighting...
Black & White audio explained
3 January 2021 1 minute read
Summary Sound in black & white 1 is bit of mess. The game’s music and dialogue was considered too large for hard-drives back then so they decided to use ...
Doorbell receiver source code
4 October 2019 3 minute read
This wasn’t possible without rtl-sdr SDR is a NESDR SMArTee v2 (RTL2832U, R820T2) I wrote this to test out the library, to capture signals to a file and to...
Working on a doorbell receiver in C
3 October 2019 less than 1 minute read
I want to receive an email whenever someone rings the doorbell. To do this, I’m using an RTL-SDR USB dongle from Nooelec hooked up a to Pi. My doorbell send...
Emscripten (C/C++ to JS) File Upload Example
2 October 2019 less than 1 minute read
Emscripten is a compiler backend that generates web assembly (.wasm) files from LLVM’s intermediate representation. This representation can be generated thro...
Triangular Arrays
3 October 2018 1 minute read
An implementation of a triangular array (indexing method) in C.