In Living Color Part 2

Published March 01, 2008
Advertisement
Well I fixed the rather trivial bugs, most of which where a pain to find due to all the changes I made.

The first one was pretty embarrassing, basically I was using windows calculator to find a the right shift amount for 0x2000 and used 1 << 0xD, but I forgot my hex for a second and put 1 << 14 in my program so all the reads/writes to the upper 8KB of VRAM failed.

The palette issues where simply because I was doing the 15bpp to 32bpp conversion at the wrong time. My code uses A8R8G8B8 for everything, but the GameBoy Color uses X1B5G5R5. I could use the same format, but someday I'd like to implement a tile editor/viewer and have it work for all systems so it's easier just to stick with 32bpp.

Finally the problem with the old GameBoy games, was that I forgot about the changes in RAM size between systems. The GameBoy Color has 8 4KB banks of internal RAM, but the older version only has 8KB. With the older games I was only accessing the first 4KB.

Anyway, enough talk. Here's what you came here for:







I can't get the damn Oracle series to work. Seems it still thinks it's running on an old system.



I've also broken Kirby's Dream Land 2 again and the star in Super Mario Land doesn't work. I've dealt with that bug numerous times though and it has to do with the timer interrupt. Damn interrupts and their finicky timing!

Edit: Nevermind, fixed that as well.
Previous Entry In Living Color
0 likes 3 comments

Comments

benryves
Looks fab. [smile]

I use a similar conversion to 32-bit ARGB technique for the SMS/GG palette (one is 6-bit, the other 12-bit), it does seem the easiest way.
March 01, 2008 07:31 PM
Scet
Quote:Original post by benryves
Looks fab.


Thanks.
March 01, 2008 08:31 PM
Ravuya
I seem to remember some of the later GBC titles used really weird ways to detect whether or not they were running on actual GBC hardware -- checking for the IR port, running through RAM, etc.
March 02, 2008 02:53 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement