Jump to content
  • Advertisement
Sign in to follow this  
  • entries
  • comments
  • views

In Living Color Part 2

Sign in to follow this  


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.
Sign in to follow this  


Recommended Comments

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.

Share this comment

Link to comment
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.

Share this comment

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!