These projects are what are currently consuming all my free time :)
This project aims to port Micropolis (SimCity) to the Nintendo Gameboy Advance.
It is currently a work in progress, and I'm working on finding the best ways to integrate the simulator with the GBA's fantastic 2D graphics engine.

These are some of the projects I have worked on in the past.
This project aimed to bring the Macintosh Emulator "Mini vMac" to the Nintendo 3DS.
I wrote the UI and OS support code to interface the emulator core with the hardware on the Nintendo 3DS.

I was given an assignment to develop a project that demonstrated using multiple inputs and outputs that would be controlled by a LabJack U3. I decided it would be a fun idea to make a "cat piano" that would play different meows when different buttons were pressed, and display text on a 14 segment display. There wasn't that many pins available on the LabJack, so I used a GAL (Gate Array Logic) chip to help decode which button was pressed, and shift registers to drive the 14 segment display. The sounds themselves were stored on an EEPROM; each sample was stored as 8-bit PCM data and the data bus of the EEPROM went to an R2R ladder DAC and into an LM386 amplifier. To play the sounds, a timer was generated on the LabJack which was used to increment binary counters hooked up to the address lines on the EEPROM.


Another student and myself were tasked with creating a project from start to finish that could control multiple outputs and read from multiple inputs using the ESP32 microcontroller. We decided to make a doomsday style escape room system that didn't require locking people in a room; afterall, doomsday happens no matter what room you're in :)
The idea was that the game starts with a countdown timer ticking down and the world blows up when it reaches 0. Players could add time to the timer by scanning certain NFC cards and playing minigames (Snake and Missile Command) on a mini arcade unit. Only after discovering the code for the president's NFC card will a servo unlock a hidden compartment containing a key. When the key was placed in a lock and turned, doomsday was aborted and the players win the game.
Our project used two ESP32-S3 microcontrollers; one for the main unit that controlled the game and another that played minigames on an LCD screen. We used the MQTT protocol to sync gameplay between the two units and included a PC application written in .NET to control the state of the game. The source code was written in C++ using PlatformIO an the Arduino framework; in all ~6700 lines of code were written across both units. It also featured support for a Super Nintendo controller for playing the mini games in addition to the built in joystick and buttons.





NEC D71055C (i8255) blinky with ch32v003.
— TarableCode (@tarableco.de) December 5, 2025 at 6:02 PM
[image or embed]
Yay: Part of my PCB works! Noooooo: USB Does not!
— TarableCode (@tarableco.de) April 24, 2025 at 10:35 AM
[image or embed]
Pointless, but it was fun to try.
— TarableCode (@tarableco.de) April 4, 2025 at 10:42 AM
[image or embed]