Projects

A list of side projects, in no particular order.

gopikchr

pikchr example code and drawing

gopikchr is a direct port of pikchr to Go. It’s used to generate the diagrams on my blog (simpler example, completely silly example).

I’m working on a Javascript port with the hopes of getting pikchr support onto Github by way of Mermaid.

goapple2 / go6502

goapple2 image

goapple2 is a simple Apple II emulator written in Go. The 6502 emulation is cycle-accurate, and includes a Go port of the Visual 6502 transistor-level simulation.

Also includes a multi-dialect assembler capable of assembling most of the source listings of the Apple II ROMs as well as the S-C Documentor recreation of Applesoft BASIC.

weblight (in-progress)

esp32 with wires and LEDs on a breadboard

weblight is an in-process project to drive LEDs with an ESP32-C3, while documenting the process and choices enough for it to serve as an introduction to ESP32 programming and working with LEDs.

bedrock pruner (in-progress)

overhead view of editing a mincraft map

bedrockprune is an in-process project to view and prune Bedrock minecraft world databases, written in Go.

a2audit & diskii

Seagull Sisters

a2audit is a test for Apple II emulator correctness, focusing (for now) on memory expansion cards/schemes. Most people who build an Apple II emulator end up using it at least a little bit.

diskii is a utility for manipulating Apple II disk images.

apple2shader

Apple II shader

apple2shader is a WebGL port of Marc S. Ressl’s amazing NTSC emulation from OpenEmulator.

gocool

cool homepage image

gocoool is a Go language implementation of the Cool programming language done for the Coursera . Includes a hand-written recursive-descent parser in addition to a standard yacc-based one.


For potential projects and improvements, see Project TODOs.