GB Emulator Day 23

GBEmulator1

This might seem like a dead project, but the screenshot above tells a different story… Today I got the emulator far enough to play the “Downhill Ski”-ROM I’ve been using as the ROM for development. There are some instructions missing in the subroutines that reset the game after a game over, but besides that, it’s completely playable. When that moment was reached, I got the feeling again that has brought me on the path to being a computer scientist long ago, the feeling you get when a program has reached a certain critical mass and starts doing interesting things.

GBEmulator2

I’m going to try and document some of the development and post about the resources I found, I just have been so busy that I was never able to post about it while it happened. One thing I can already state is that I am now really convinced about Test-Driven Development, I wrote the whole thing test-first, and in the end haven’t found one major bug in the parts that were tested. The only things that needed some bugfixing were those I didn’t really unit-test, especially the rendering.

GBEmulator3

All in all, writing this emulator has put me into a real retro mindset. One of the first results is that there’s a real GameBoy on the way, which I bought on eBay yesterday. Thinking back, I can’t believe I gave mine away, when I had one of the first in Germany, imported from the USA before the European launch.

Overall, I got the feeling from browsing the web that there’s a bit more of a general interest in retro computing and games than in the last years. For example, I was looking at http://store.kitsch-bent.com/category/cartridges to buy a cartridge for the GameBoy (guess what, now I’m interested in seeing the other side, writing a program that runs on an actual GameBoy), and a day later, they were sold out, so there seems to be a good interest in these things.