Bugs, Everywhere Bugs

I am still occasionally messing around with my emulator and it's time again for a progress update. I am really starting to run low on changes to make. I found some mistakes I was making in the APU and now I can no longer hear the difference in audio between my emulator and the real more popular ones. It is really quite awesome to be able to play some games entirely in the way they were meant to be played. I hacked in some netplay support, in ideal conditions it would work pretty well but with frame and network lag desyncs are not uncommon but I don't see myself fixing it. It now supports all the VRC mappers which means it supports pretty much every popular game mapper. I have no plans to ever add the 100 odd pirate ROM mappers because who honestly enjoys those terrible multi-carts and bootlegs. There is an experimental MMC5 mapper that allows games to boot but I don't think, without a ton of disgusting hacks, I will ever have proper MMC5 support, it is just too unique when compared to other mappers, and my system doesn't really support it. Finally I added a pretty deep debugger which I should of added ages ago, I don't really have too much use for it anymore. But it may occasionally save me a few minutes of searching through 50mb log files.

The debugger debugging away.

The debugger lets me take a peek at all the register values and program ROM, and even supports setting break points on addresses. The interface is a bit of a mess but I think that anyone who actually has a need for the debugger would be able to figure it out pretty quickly. In the future I'm not really sure what I will add. Famicom Disk System support might be fun though pretty useless; also it could very well have complexities that I have not foreseen. I also would not mind making a pixel accurate version of my PPU, although it would probably end up being too slow to use, and is unnecessary in 95% of games. The CPU could also use a switch from processing opcodes at a time to individual cycles, would help me pass all those really annoying super accurate timing test ROMs. Other than those few things all I can see doing is endless boring bug finding and fixing.