Nice work and thanks for sharing. I'd like to add this blog post [1] I read a while ago that explains a bit how to write a disassembler and emulator for Chip-8. The source is not as clean as yours and written in C but it's still worthwhile to check out.<p>[1] <a href="http://emulator101.com/chip-8-disassembler/" rel="nofollow">http://emulator101.com/chip-8-disassembler/</a>
I wrote a disassembler as part of my own Chip8 IDE[1]<p>It doesn't look like it impacts this disassembler, but it's worth noting that <i>Cowgod's Chip8 technical reference</i> gets the shift and load/store instructions wrong. A much better reference is <i>Mastering Chip8</i>[2].<p>[1] <a href="https://github.com/JohnEarnest/Octo" rel="nofollow">https://github.com/JohnEarnest/Octo</a><p>[2] <a href="http://mattmik.com/chip8.html" rel="nofollow">http://mattmik.com/chip8.html</a>