While looking for an inspirational project to refresh the knowledge of Python programming language I finally found a nice candidate. And here it is. There were a few more competitors, but this CHIP8 emulator made the first place. I always wanted to create one and internet says it’s one of the simplest. Soon I will write more detailed article, now it’s only a brief.
Most ROMs now work properly
Time to add some new features and find some nuances in the code to make 3 last ROMs (unofficial) to work. Python and the Pygame work very well and the development process is very fast. The only problem seems to exist in the data types. After I’ll rewrite the code to C or C++ gonna compare how those two versions work with that.
Here are the beginnings
First games started to work. The console window with the debugger and dissassembler visible behind.
The next exercise was to port the CHIP 8 emulator code into the Blender 3D viewport engine.
That came out pretty well. A bit slow because of the Blender’s architecture I used.
Check out the code of my version of this emulator on Github.
Read an article about this emulator in Polish Language.
An extensive list of places I have found some good information
Why is the list so long? Because the information on CHIP 8 might not be 100% accurate. Before coding a feature I preferred to make a detailed analysis than try to code something faulty.
http://chip8.danirod.es/docs/current/manual/Compatible-ROM-formats.html
http://blog.dantup.com/2016/06/building-a-chip-8-interpreter-in-csharp/
https://github.com/DanTup/DaChip8/blob/master/DaChip8/Chip8.cs
https://github.com/ebondust/emulatorgba/blob/master/Chip8/EmulatorCore.cs
https://en.wikipedia.org/wiki/CHIP-8
http://www.doperoms.com/roms/Chip-8.html
http://bisqwit.iki.fi/jutut/kuvat/programming_examples/chip8/
http://www.emulator101.com/chip-8-instruction-set.html
http://devernay.free.fr/hacks/chip8/
http://www.multigesture.net/articles/how-to-write-an-emulator-chip-8-interpreter/
https://github.com/craigthomas/Chip8Python/blob/master/README.md
https://medium.com/@tobytinker/what-i-learned-about-python-and-emulators-by-making-a-chip-8-emulator-f6ac7f25e095#.ksjc1ggmb
http://craigthomas.ca/blog/2014/06/21/writing-a-chip-8-emulator-part-1/
http://chip8.com/
http://users.skynet.be/drealmer/chip8/#doc
http://www.leovst.com/chip-8-emulator/
http://mattmik.com/files/chip8/mastering/chip8.html
http://www.zophar.net/pdroms/chip8/chip-8-games-pack.html
https://github.com/lostjared/XChip
http://ngemu.com/threads/chip8-thread.114578/
http://www.raduangelescu.com/chip8emulatorjavascript.html
http://www.badlogicgames.com/wordpress/?p=3564
http://blog.alexanderdickson.com/javascript-chip-8-emulator
http://paginas.fe.up.pt/~vma/chip8/
http://www.program-weep-repeat.co.uk/?p=178
Leave a Reply