2 ms·
People ask for programming advice all the time, they say "I want to write a SNES/Playstation/Gameboy/ZX Spectrum emulator, what should I learn?" Having a stand
by stevekemp 7y ago
People ask for programming advice all the time, they say "I want to write a SNES/Playstation/Gameboy/ZX Spectrum emulator, what should I learn?"
Having a standard, and simple, system to suggest elsewhere allows people to get started gently. Sure some people will still find it "too much", but it's nicer to learn that earlier instead of after having weeks writing the implementation of a Z80 emulator.
As the system is simple it can often be implemented in an evening, or a weekend. If you're new to low-level code then maybe a month of part-time work would be sufficient. Because the system is so undemanding you can write it in Python, Javascript, C#, or other high-level languages without the need to touch/learn/understand C, Golang, or similar too.
In short it's a perfectly self-contained small project for those interested in implementing emulators, and for that reason it is often seen as a starting point for places like reddit's /r/emudev
- RodgerTheGreat 7y agoAnd even with all that simplicity, there's enough disagreement and misinformation about the subtleties of the CHIP-8 instruction set to provide a microcosm of the same challenges emulation enthusiasts face for more complex systems. One of my colleagues published a number of writeups about CHIP-8 portability based on original research which might be interesting: https://github.com/Chromatophore/HP48-Superchip https://github.com/Chromatophore/HP48-Superchip