GameBoy Color, Information Wanted

Discussion of programming and development for the original Game Boy and Game Boy Color.
User avatar
Dwedit
Posts: 4924
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Post by Dwedit »

Is it GBZ80 bugs that are stopping the games from running?
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!
User avatar
MottZilla
Posts: 2837
Joined: Wed Dec 06, 2006 8:18 pm

Post by MottZilla »

I don't know yet. I've got to look through the CPU execution log to see what it is doing and try to determine what is not behaving as it should. That takes a long time.

I'm not really sure the CPU core is at fault in most cases, as it could be GB related registers not behaving the way the game wants, or possibly waiting for the couple interrupts I have not yet implemented.

I do know that Dr. Mario uses the Timer interrupt for sound updates and if you disable it, you get no music or sound. Dr. Mario is the game that works "best" for me right now. But basically it gets into the game and you can see one virus in the bottom right of the jar. I wait and wait and pills never appear at the bottom. I'm not sure why that is, but CPU core bugs I imagine are the problem there. But basically I've gotta go through huge logs or reexamine each opcode for potential errors.

I suppose I was a bit spoiled with the NES CPU Test rom which helped me debug the core on my NES emu.
tomaitheous
Posts: 592
Joined: Thu Aug 28, 2008 1:17 am
Contact:

Post by tomaitheous »

It might help to take a lot at mednafen's source? I still have my flash card for GB/C and can dig it out if you need some testing done (you write the code ofcourse - I've got a lot I'm still working on ;) )
User avatar
MottZilla
Posts: 2837
Joined: Wed Dec 06, 2006 8:18 pm

Post by MottZilla »

Well I've been progressing today. Tetris and Asteroids are doing some stuff though it's hard to tell with Asteroids since it heavily uses sprites. But surprisingly Super Mario Land is looking the best so far as it runs through all 3 different demos of levels with no problems and keep going and going.

So I added some support for MBC-1 bank switching so I could run SML and test out some others. Where exactly can you find Mednafen's source? If the CPU core is readable then I might find that useful to see if I have any opcodes that are not working like they should because I didn't understand them or anything like that. I am finding some of those bugs out by testing various games and figuring out why they lock up or behave wrong.

One strange behavior I haven't looked into yet is in Tetris, the blocks are always the 2x2 square. I have a feeling though that it uses that Timer as a seed for randomization.

I also thought that Alleyway would be really easy to get working but it expects the serial transfer interrupt to get triggered and if it doesn't the game doesn't really cooperate at all.

Right now I'm mainly interested in Tetris, Asteroids, and Super Mario Land as they seem to do the most interesting things.
tomaitheous
Posts: 592
Joined: Thu Aug 28, 2008 1:17 am
Contact:

Post by tomaitheous »

http://mednafen.sourceforge.net/releases/ - Right under change log is the link to the sources/builds. It's modified VBA source I believe.
Post Reply