Still just getting started...
This will be far from the first gameboy emulator, though it is likely to be the first one written in Crystal. Having implemented a cpu core for the chip8, I wanted to tackle something a little bigger, and for a system I personally grew up with. I was taken by Colby Swandale's attempt to write one in a more human readable language like Ruby, and wondered if Crystal might be used simultaneously deliver legible code as well as playable framerates.
https://github.com/BlaXpirit/crsfml
crystal deps
make
Not going to pretend this was developed in a vacuum, and much credit goes to those who came before. The following resources have proven invaluable. https://github.com/romeroadrian/nes.cr https://www.youtube.com/watch?v=HyzD8pNlpwI https://speakerdeck.com/colby/making-a-gameboy-emulator-in-ruby https://www.cl.cam.ac.uk/~pv273/slides/emulation.pdf http://problemkaputt.de/pandocs.htm https://cturt.github.io/cinoop.html http://imrannazar.com/GameBoy-Emulation-in-JavaScript