A python implementation of an assembler for John Earnest's Octo, a CHIP-8/SCHIP-8 assembly language.
Mostly, as an exercise for myself, I haven't written very many parsers.
I've written a few Chip-8 emulators in the past. I always write the emulators, and then never bother to play around much with the actual Chip-8 language. Discovering Octo changed this for me; now it's fun and easy to cobble together little tests and demos to run in my emulators.
I've been using Octo to write small programs to help test 8boy, my Chip-8 emulator for Arduboy, as well as to try to put together a small game for OctoJam 2020. Eventually, I hope to include this Python version of the compiler with 8boy, to make it easy to put games written with Octo onto an Arduboy.
OctoSummary.md is a brief overview of the language that I made to refer to as I wrote the compiler. It includes a summary of all the instructions and directives, and notes on how they map to Chip8 instructions.