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.