Octo
github.comKey Features
Tech Stack
Key Features
Tech Stack
I love these types of vms that have deliberately limited specs. Really makes you sink your teeth into solving problems creatively with minimal resources.
It inspired me to start zig8[1], my own CHIP-8 emulator. It's not ready for prime time yet but it's getting there. When it's ready I hope it will have a visual debugger and feel good: fast, better shaders, better sound, good defaults, etc.
CHIP-8 is a neat system. If you're interested in emulation it's a great place to start in my humble opinion. It's simple enough that you can finish it before deciding whether you like writing emulators.
Hopefully interest in CHIP-8 would pick up again, it's a neat bit of history and a cool little system.
Discussion about it: https://news.ycombinator.com/item?id=46097671
It should've had a more dedicated vibrant community if it weren't the many incompabilities among the different emulators implementations out there, all due to people using cowgod's chip-8 tecnical reference as the single source of truth[0], which itself is based on David Winter's original implementation which contained a few inaccuracions on some instructions behavior from the original COSMAC VIP interpreter.
On a Chip8 interpreter written in AWK and a bit of help of coreutils (to mimick getchar in C to pick a single char; if you can do it under AWK without resorting to GNU od or read, kudos):
https://git.luxferre.top/dale-8a/log.html
OpenBSD and the rest of BSD users: you need to install 'coreutils' from ports, open 'dale8a.wk' and 'tgl.awk' and rename 'od -' to 'ggod -' .
There seems to be only one emulator on F-Droid? That looks good, but has not had updates in ages and I saw several crashes, and the compatibility test ROMs I found failed on many tests. Not so encouraging, but maybe not a huge issue in practice?
Then I searched for MS-DOS implementations. Found one called V8 (also available for other platforms). Not updated since 1997 or so iirc, but it worked great in DOSBox! Almost no errors in any of the test ROMs I tried. Spent some time setting up on-screen touch buttons for DOSBox to have all necessary CHIP-8 keys readily available(and F10 to exit from V8).
For development I installed the command-line tools from octo in Termux, and some assembler called c8asm (from https://github.com/wernsey/chip8) that I used in the past. Not experienced enough to know if I prefer octo or that simpler assembler.
That was the point I would have to actually come up with some fun project to DO something, so did not get any further, but it was fun just setting everything up.
Not affiliated with Hacker News or Y Combinator. We simply enrich the public API with analytics.