ROM Hack Oldies Project Tiny Toons Adventures DX for Game Boy : colorization project

Brand Newman

Well-Known Member
OP
Member
Joined
Apr 29, 2014
Messages
590
Trophies
2
Age
43
Website
twitter.com
XP
3,598
Country
France
Hello everyone,



I’m Brand Newman, and like some of you may already know, I am the author of several Japanese-to-English translation patches, mostly for the Wii.



This year I wanted to try something different, so I started learning ASM, to see if I could colorize a favorite game of mine, which is “Tiny Toons : Babs’ Big Break” for the original Game Boy.



This game has, in my opinion, some of the best pixel art of the system, and was quite an early game, which only makes it more impressive.



But is relies on radiant heavily, which makes it difficult to convert it in color in a satisfying way.



Anyway, I wanted to challenge myself with trying, and now that I’ve learnt the basics of the ASM language, am feeling confident enough to communicate about this work-in-progress.



I still have a lot to learn, and was lucky enough to be advised by the people of the Discord server.



Those who have followed my previous projects know I’m hard-working, and I hope I can provide you with a colorization hack for that childhood game of my soon.



I’ll try to post my progress here regularly, and am leaving you with some previews from the past months in the meantime :


July 2024 :
tinyoutputpreview.png



July vs August 2024 :
tinyintropreview02.png



August 2024 :
tinyoutput-26big.png


Yours truly.
 

RetroNerdGamer

Well-Known Member
Member
Joined
Nov 20, 2022
Messages
276
Trophies
0
Age
28
XP
922
Country
United States
This is gonna be a cool project to see! Thanks for your work Newman, and I can't wait to see your future projects too!
Post automatically merged:

Very impressive!!!

I'm a fan of WB characters (i.e. Tiny Toons, Animaniacs, Pinky and the Brain, Freakazoid!), so this is great news for me.

I'll keep watching this thread.

Thanks a lot!
BTW Do you know where I can watch Animaniacs? I've wanted to try watching it but ah man.
 
Last edited by RetroNerdGamer,

Maeson

Well-Known Member
Member
Joined
Apr 3, 2013
Messages
1,253
Trophies
2
XP
3,655
Country
Spain
Oh, I played this as a kid! Each character threw fruit in different ways, so they were useful in different situations.

This is quite the jump from translating.

It's looking real nice too, Babs looks really well colored!

GB colorization are pretty exciting, not just for the color, sometimes they improve performance too. And there are many cool games to choose from.

I hope it is smooth sailing for you on this!
 
  • Like
Reactions: Brand Newman

Brand Newman

Well-Known Member
OP
Member
Joined
Apr 29, 2014
Messages
590
Trophies
2
Age
43
Website
twitter.com
XP
3,598
Country
France
Oh, I played this as a kid! Each character threw fruit in different ways, so they were useful in different situations.

This is quite the jump from translating.

It's looking real nice too, Babs looks really well colored!

GB colorization are pretty exciting, not just for the color, sometimes they improve performance too. And there are many cool games to choose from.

I hope it is smooth sailing for you on this!
Yes, one of the first things I did was to activate the "Game Boy Color" "Double Speed" mode, which essentially speeds up the console by two.

And I can tell you it's mandatory, considering all the process you have to go through to colorize the game (charge a palette, charge the attribute for each and every tile, etc.)!

I wouldn't say it's "smooth", but I already have learnt a lot, thanks to Torruz' tutorial, the people on Discord (including Marc and Andrew, who took care of the Megaman DX series), and an online book called "Game Boy Coding Adventure" by Maximilien Dagois, which I would advise any beginner in ASM to read.

I have waited a bit to communicate about that project, but now that I found the routines to charge the palette and load decompressed tiles, I feel confident I should be able to deliver "something" (although I see a lot of trouble can still happen. For instance the transition is totally broken : every time you pause you get garbage graphics for a second before you enter the menu).

But I remember the Kirby DX patch had the same issues, so I expect to overcome them, ultimately.

And about the colors : the good thing when colorizing a game inspired by a cartoon is that you can actually take screenshots from the show, and copy the exact same color into the game. That helps a lot! ;)
 
Last edited by Brand Newman,
  • Like
Reactions: hippy dave

Maeson

Well-Known Member
Member
Joined
Apr 3, 2013
Messages
1,253
Trophies
2
XP
3,655
Country
Spain
Yes, one of the first things I did was to activate the "Game Boy Color" mode, which essentially speeds up the console by two.

And I can tell you it's mandatory, considering all the process you have to go through to colorize the game (charge a palette, charge the attribute for each and every tile, etc.)!

I wouldn't say it's "smooth", but I already have learnt a lot, thanks to Torruz' tutorial, the people on Discord (including Marc and Andrew, who took care of the Megaman DX series), and an online book called "Game Boy Coding Adventure" by Maximilien Dagois, which I would advise any beginner in ASM to read.

I have waited a bit to communicate about that project, but now that I found the routines to charge the palette and load decompressed tiles, I feel confident I should be able to deliver "something" (although I see a lot of trouble can still happen. For instance the transition is totally broken : every time you pause you get garbage graphics for a second before you enter the menu).

Is turning the GBC Mode on complicated? Could you just turn it on and get better performance without affecting its functionality? Like a Fastrom SNES patch, I mean.

I would love to mess with it, some games out there have slowdown, and if it could be done as a "quick fix" I'd be all over it, lol.

And yeah, quite a few people are well known on this colorization stuff. I check from time to time to see how things advance. Mole Mania is one of the games being worked on, and it's such a fantastic little game I hope when it's done it gets more well known.

I like it so much i did a spanish translation for it many years ago, lol.

Waiting to see how feasible something is before sharing info about it is always the best option, you can find so many threads here for example about projects that start and are never finished...

I hope that you don't find too many obstacles, though!
 
Last edited by Maeson,

Brand Newman

Well-Known Member
OP
Member
Joined
Apr 29, 2014
Messages
590
Trophies
2
Age
43
Website
twitter.com
XP
3,598
Country
France
Is turning the GBC Double Speed Mode on complicated? Could you just turn it on and get better performance without affecting its functionality? Like a Fastrom SNES patch, I mean.

I would love to mess with it, some games out there have slowdown, and if it could be done as a "quick fix" I'd be all over it, lol.

And yeah, quite a few people are well known on this colorization stuff. I check from time to time to see how things advance. Mole Mania is one of the games being worked on, and it's such a fantastic little game I hope when it's done it gets more well known.

I like it so much i did a spanish translation for it many years ago, lol.

Waiting to see how feasible something is before sharing info about it is always the best option, you can find so many threads here for example about projects that start and are never finished...

I hope that you don't find too many obstacles, though!
Basically no : it's not hard to turn on Double Speed mode (which I should have written instead of GBC, as it's a separate function).

BUT, you have to find WHERE to activate it, since you're adding command lines that didn't exist in the game : what I did was to find a "call" or "jump" function very early in the game, and modify it so it would point out to a new location in a new "bank", where I'd put the new command, then go back on track.

Andrew gave me a very useful advice at this point, which was to copy the new bank into SRAM (since Tiny Toons doesn't have savegame, you can enable SRAM access and use it at will), making a lot of jumps to banks unnecessary.

Without that advice, I'd probably would be stuck with the little room left in bank 0 to "call" or "jump" to other banks... he definitely made it all possible.

BTW, be aware that converting the game to GBC (which is mandatory to enable double speed) messes up with colors and such : you won't obtain a black and white GBC rom, which is why people haven't converted the whole library yet.

Plus, in the case of Tiny Toons, some functions that were done using unused bits in a hex value got broken, because the GBC makes use of them for palette; which led to me having to change all the bits references.

Not to mention I discovered later in my tests that getting an item would deactivate SRAM, which meant I had to reactivate it every single time...

But I think the part I'm the most proud of yet is that I created a whole new function to modify the heroes' colors when you switch between them : as you might suspect, they used to share the same palette. :)
Post automatically merged:

I know you are just starting, looking forward, but lemme give you some mockups of what you could accomplish View attachment 453300
Thank you, these are very nice mockups.

However, It's not certain the final result will look exactly like that.

Many people are aware the GBC is limited to 64 colors (32 for sprites, 32 for backgrounds), but there are many more limitations than that, especially with games that weren't meant to be in colors.

First of, the background is divided into tiles (you can see the blocks behind Plucky in my screenshots), which are limited to 4 colors each.

And since these tiles are located next to other tiles (see the sky, for example), this means they must have one color in common, and sometimes more (like when the tile is next to the ground).

The sprites have 4 colors, BUT the first one is always transparent (which is why Plucky doesn't have white) : apparently there's some advance technique to get more colors, like with Megaman's face, but I'll see about that when I'm done with the rest.

The two screenshots come from the same level : in order to modify the palette inbetween, I have to find the routine that changes the scene : I've managed to do it for cutscenes, menus, etc., but for the time being am still looking for the command that does it in a single level.

So yeah, the final result will most certainly be close, and I think you were aware of the limits since you used the same color for trees and ground, etc., but I have a lot to think about to achieve it! :lol:
 
Last edited by Brand Newman,
  • Like
Reactions: PacDan16

Maeson

Well-Known Member
Member
Joined
Apr 3, 2013
Messages
1,253
Trophies
2
XP
3,655
Country
Spain
I see. Is Double Speed then independent of GBC Mode? I'd like to try, but I don't know assembly beyond making quite small modifications on NES, so I'll have to some reading I suppose. The SRAM part seems pretty clever, not all games will be able to use it if they save though, but many GB games did not.

About the Mega Man thing you mention, if I remember right, the face is its own sprite, and it's overlayed over the rest of the head, but don't quote me on that as that's just what I remember seeing.

And yes, there's many limitations and things to work around, you have to make a game basically work on different hardware (which the GBC was at the end of the day).
 

MeXen

Well-Known Member
Member
Joined
Sep 6, 2022
Messages
373
Trophies
0
Age
38
Location
WutzerLund
XP
959
Country
Mexico
Basically no : it's not hard to turn on Double Speed mode (which I should have written instead of GBC, as it's a separate function).

BUT, you have to find WHERE to activate it, since you're adding command lines that didn't exist in the game : what I did was to find a "call" or "jump" function very early in the game, and modify it so it would point out to a new location in a new "bank", where I'd put the new command, then go back on track.

Andrew gave me a very useful advice at this point, which was to copy the new bank into SRAM (since Tiny Toons doesn't have savegame, you can enable SRAM access and use it at will), making a lot of jumps to banks unnecessary.

Without that advice, I'd probably would be stuck with the little room left in bank 0 to "call" or "jump" to other banks... he definitely made it all possible.

BTW, be aware that converting the game to GBC (which is mandatory to enable double speed) messes up with colors and such : you won't obtain a black and white GBC rom, which is why people haven't converted the whole library yet.

Plus, in the case of Tiny Toons, some functions that were done using unused bits in a hex value got broken, because the GBC makes use of them for palette; which led to me having to change all the bits references.

Not to mention I discovered later in my tests that getting an item would deactivate SRAM, which meant I had to reactivate it every single time...

But I think the part I'm the most proud of yet is that I created a whole new function to modify the heroes' colors when you switch between them : as you might suspect, they used to share the same palette. :)
Post automatically merged:


Thank you, these are very nice mockups.

However, It's not certain the final result will look exactly like that.

Many people are aware the GBC is limited to 64 colors (32 for sprites, 32 for backgrounds), but there are many more limitations than that, especially with games that weren't meant to be in colors.

First of, the background is divided into tiles (you can see the blocks behind Plucky in my screenshots), which are limited to 4 colors each.

And since these tiles are located next to other tiles (see the sky, for example), this means they must have one color in common, and sometimes more (like when the tile is next to the ground).

The sprites have 4 colors, BUT the first one is always transparent (which is why Plucky doesn't have white) : apparently there's some advance technique to get more colors, like with Megaman's face, but I'll see about that when I'm done with the rest.

The two screenshots come from the same level : in order to modify the palette inbetween, I have to find the routine that changes the scene : I've managed to do it for cutscenes, menus, etc., but for the time being am still looking for the command that does it in a single level.

So yeah, the final result will most certainly be close, and I think you were aware of the limits since you used the same color for trees and ground, etc., but I have a lot to think about to achieve it! :lol:
GBC gives you 8 palettes of 4 colors each for backgrounds, but preferably that many of them share 1 background color, as well as 8 palettes for sprites, my trick however, based on what little i could thinker on GBStudio, is that i you can replicate any of the NES hues from many of their palettes, but usually keep 3, maybe 4 for the main backgrounds and foreground, and 2 for variants to help blend some elements together, something the NES could not do because the 4 palette limit for sprites and backgrounds, as well as sharing one color for transparency or background color change.

Let me explain you how i think it works

1723970933344.png


More or less the DMG colored example on the right should be the way tilesets should be colorized and drawn, allowing to share the same sky color in most of the colorized palettes from left and center, so they can blend properly, as for sprites, i haven't investigated in full aside from what little i know, but i am not sure if on Game Boy the HUD shares sprite palettes or background palettes, i assume that in old DMG GB games is the latter, but not so sure on GBC.

One word of advice, do not use ''color corrected'' colors for your main picks, go for any of the reasonable NES palettes on the contrast side of things, because some GBC games and some other colorizations use very paste-ish and washed out color choices, and most GBC color correction don't do the games good service.
 

Attachments

  • 1723970906074.png
    1723970906074.png
    17.9 KB · Views: 10
  • Like
Reactions: lordelan

hippy dave

BBMB
Member
Joined
Apr 30, 2012
Messages
10,213
Trophies
2
XP
34,056
Country
United Kingdom
Progress is looking really good, great work! Will be awesome to have another game colourised, but it's also interesting to read your discussion of the process.

Someone mentioned Mole Mania, who is working on that, is there any news on progress? I'm also really looking forward to Donkey Kong, Marc's work is always quality B-)
 

Maeson

Well-Known Member
Member
Joined
Apr 3, 2013
Messages
1,253
Trophies
2
XP
3,655
Country
Spain
A friend showed me a tweet of a work-in-progress quite some time ago, I can't remember who was doing it but it looked pretty nice.

DK94 of coure is also a very seeked one, being one of the absolute best GB games all around.
 

Brand Newman

Well-Known Member
OP
Member
Joined
Apr 29, 2014
Messages
590
Trophies
2
Age
43
Website
twitter.com
XP
3,598
Country
France
I see. Is Double Speed then independent of GBC Mode? I'd like to try, but I don't know assembly beyond making quite small modifications on NES, so I'll have to some reading I suppose. The SRAM part seems pretty clever, not all games will be able to use it if they save though, but many GB games did not.

About the Mega Man thing you mention, if I remember right, the face is its own sprite, and it's overlayed over the rest of the head, but don't quote me on that as that's just what I remember seeing.

And yes, there's many limitations and things to work around, you have to make a game basically work on different hardware (which the GBC was at the end of the day).
Only GBC can master double speed : so if you were to activate double speed, you'd mess up the color, and have to make modifications to the game before you could release the patch : assigning eight black and white palettes wouldn't be so hard, but for example, with Tiny Toons, the transition, the ray of light when Babs is at the theater... everything is messed up right now.

Once again, the book "Game Boy Coding Adventure" is a must-have if you want to learn about coding for game boy : it's cheap and very well done, and I haven't even finished reading it yet, but there's already so much more I can do!

If you're interested, here's the link :

https://mdagois.gumroad.com/l/CODQn
 
  • Like
Reactions: Maeson

SDA

Neo Tokyo, HERE I COME!
Member
Joined
Feb 19, 2020
Messages
990
Trophies
1
Age
20
Location
Parete, Italy
XP
2,818
Country
Italy
Wish good luck on this project @Brand Newman! I always enjoy Warner Bros. cartoons (I'm a HUGE Looney Tunes fan), so it's cool to see one of those licensed games for the Game Boy in color!

I'd love to see a colorization for Taz-Mania and Taz-Mania 2 on the same console, too.
 

Jayro

MediCat USB Dev
Developer
Joined
Jul 23, 2012
Messages
13,548
Trophies
7
Location
WA State
Website
ko-fi.com
XP
18,255
Country
United States
Basically no : it's not hard to turn on Double Speed mode (which I should have written instead of GBC, as it's a separate function).

BUT, you have to find WHERE to activate it, since you're adding command lines that didn't exist in the game : what I did was to find a "call" or "jump" function very early in the game, and modify it so it would point out to a new location in a new "bank", where I'd put the new command, then go back on track.

Andrew gave me a very useful advice at this point, which was to copy the new bank into SRAM (since Tiny Toons doesn't have savegame, you can enable SRAM access and use it at will), making a lot of jumps to banks unnecessary.

Without that advice, I'd probably would be stuck with the little room left in bank 0 to "call" or "jump" to other banks... he definitely made it all possible.

BTW, be aware that converting the game to GBC (which is mandatory to enable double speed) messes up with colors and such : you won't obtain a black and white GBC rom, which is why people haven't converted the whole library yet.

Plus, in the case of Tiny Toons, some functions that were done using unused bits in a hex value got broken, because the GBC makes use of them for palette; which led to me having to change all the bits references.

Not to mention I discovered later in my tests that getting an item would deactivate SRAM, which meant I had to reactivate it every single time...

But I think the part I'm the most proud of yet is that I created a whole new function to modify the heroes' colors when you switch between them : as you might suspect, they used to share the same palette. :)
Post automatically merged:


Thank you, these are very nice mockups.

However, It's not certain the final result will look exactly like that.

Many people are aware the GBC is limited to 64 colors (32 for sprites, 32 for backgrounds), but there are many more limitations than that, especially with games that weren't meant to be in colors.

First of, the background is divided into tiles (you can see the blocks behind Plucky in my screenshots), which are limited to 4 colors each.

And since these tiles are located next to other tiles (see the sky, for example), this means they must have one color in common, and sometimes more (like when the tile is next to the ground).

The sprites have 4 colors, BUT the first one is always transparent (which is why Plucky doesn't have white) : apparently there's some advance technique to get more colors, like with Megaman's face, but I'll see about that when I'm done with the rest.

The two screenshots come from the same level : in order to modify the palette inbetween, I have to find the routine that changes the scene : I've managed to do it for cutscenes, menus, etc., but for the time being am still looking for the command that does it in a single level.

So yeah, the final result will most certainly be close, and I think you were aware of the limits since you used the same color for trees and ground, etc., but I have a lot to think about to achieve it! :lol:
One great cheat I've learned in GB Studio is that you can use sprites to overlay on top of the background where you need color changes that normally aren't possible with background pallets alone. This is great for people's eyes, especially if you want them to blink, have mouths that move when speaking, etc. For Plucky's eyes for example, you can just do a white-on-transparent sprite over top of his regular eyes.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • BigOnYa @ BigOnYa:
    He was an awesome dancer, nobody can deny that.
  • ZeroT21 @ ZeroT21:
    no comment on dat part

    :rolleyes:
  • BigOnYa @ BigOnYa:
    Ken just upset he wasn't molested by him
  • K3Nv2 @ K3Nv2:
    Vote for trump
  • BigOnYa @ BigOnYa:
    I'm voting for Kanye. Yeet Yeet mofo.
  • K3Nv2 @ K3Nv2:
    Until info gets leaked Kanye was at a diddy party
    +1
  • BigOnYa @ BigOnYa:
    Wasn't Trump, Kanye, and Diddy all friends? What a freak show that would be.
  • K3Nv2 @ K3Nv2:
    Probably in the woods some place
    +1
  • Domestica @ Domestica:
    A surprising amount of mods on. Something about to happen?
  • BigOnYa @ BigOnYa:
    Its Bantober....Mods are preparing.
    +1
  • Veho @ Veho:
    It's Bansgiving.
    +2
  • Jayro @ Jayro:
    Subscribe to my OnlyBans. <3
    +1
  • ZeroT21 @ ZeroT21:
    I only have 1 nut to offer
  • Xdqwerty @ Xdqwerty:
    I need context
  • Kirbydogs @ Kirbydogs:
    @Xdqwerty I think it's because mods are preparing for possible crappy users who will make GBAtemp worse
  • Kirbydogs @ Kirbydogs:
    @Xdqwerty could be wrong tho
  • Psionic Roshambo @ Psionic Roshambo:
    Ban zem ban zem all!!! Ban heil!!!
  • Cranesbill @ Cranesbill:
    Ooh you guys have a banning season? That's sweet, I remember I was temporally banned for posting Thomas And Friends songs to everyone's feed during that season when I was younger
    . Good Times
  • Xdqwerty @ Xdqwerty:
    Also I did nothing wrong so i'm not getting banned
  • Cranesbill @ Cranesbill:
    Wassup Quiver
    Cranesbill @ Cranesbill: Wassup Quiver