Projects
A list of side projects, in no particular order.
gopikchr
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 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)
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)
bedrockprune is an in-process project to view and prune Bedrock minecraft world databases, written in Go.
a2audit & diskii
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
apple2shader is a WebGL port of Marc S. Ressl’s amazing NTSC emulation from OpenEmulator.
gocool
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.