New Gameboy emulator!
Hello guys,
This is my first post. I have been developing a Gameboy emulator (mono only) in Java in the last 6 weeks. I'm quite proud of the performance of the emulator (for Java, that's it). Right now, most of the CPU time is spent drawing the frame buffer on screen (roughtly 75-80% of the total CPU usage when the window size is 320x288).
The latest 2 weeks were spent testing and debugging the emulator with 1228 games. Most of them seem to be working fine, there are just 1 or 2 (as far I know) that are unplayable. I got bored of testing and re-testing so many games, so now I'd like to release it for the very first time in this forum, hoping to get some feedback
For those willing to test it, just type:
java -jar gameboy.jar <romfile.gb>
in the command prompt. It should work fine with Java 1.5 in Windows and Linux (It should also work with Java 1.4, but I haven't tested it).
In the mean time, I'd like to ask

if someone can help me with the following issues:
- Information about HuC1, HuC3 and what is the "Rumble" thing of MBC5 (HuC1 seems to be almost identical to MBC1)
- LCD interlacing. How does it work?
- Sound. I still hear some glitches here and there. Also, anyone has more information about "zombie" channels? (ie. for Prehistorik Man and Little Endian in Big City).
- Muhammad Ali's Boxing. Anyone had problems with the graphics of this game?
- Star Trek - 25th Anniversary. My emulator gets locked. Any ideas?
- Mortal Kombat 3. The game gets locked randomly when the IRQ handler is called when LY=152 (the game gets locked waiting for LY=154). After a lot of tweaking, MK3 seems to work fine most of the time, but the race condition is still be there.
- Sonic 3D Blast 5. This is a pirate game as far I know. I don't emulate it because it has CPU instructions in the cartridge header! (ie. the cartridge type in the header is 0xEA, the opcode of a CPU instruction!). How do I determine the MBC type, ROM/RAM size, etc. in this case?
That's all for now
Thanks in advance!