Skeetendo

’Cause all games were better on the GBC

You are not logged in.

#1 2019-03-01 13:37:06

LusoTrainer
Member
Registered: 2015-05-06
Post 32/34

[pokered] Changing GBC colors to SGB palette?

Is it possible to make the SGB color palette replace the GBC one? If so, how can one accomplish that?

Offline

#2 2019-03-04 12:26:07

KeiTaRo
Member
Registered: 2015-12-05
Post 59/71
Website

Re: [pokered] Changing GBC colors to SGB palette?

You're asking about Pokemon Red, but that game does not have GBC color support natively. In other words, this wouldn't be possible unless you're using a hack that added GBC support in the first place. It actually isn't THAT hard to get Yellow's palette code running on Red, but...still a fair bit of work, heh.

If you're using Yellow, the palette format should be the same across both SGB and GBC -- I noticed this is the case as the SGB code for Gold and Silver actually just loads the GBC palettes for the Pokemon themselves. All you'd need to do is just replace the color data for the GBC palettes with the color data from the SGB Palettes.

Offline

#3 2019-03-04 14:21:24

LusoTrainer
Member
Registered: 2015-05-06
Post 33/34

Re: [pokered] Changing GBC colors to SGB palette?

KeiTaRo wrote:

You're asking about Pokemon Red, but that game does not have GBC color support natively. In other words, this wouldn't be possible unless you're using a hack that added GBC support in the first place. It actually isn't THAT hard to get Yellow's palette code running on Red, but...still a fair bit of work, heh.

No, it doesn't have native GBC support, but a certain palette is still assigned to it when running on GBC. What I'm asking is if it's possible to chance it to the SGB color palette.

Offline

#4 2019-03-05 09:37:34

KeiTaRo
Member
Registered: 2015-12-05
Post 60/71
Website

Re: [pokered] Changing GBC colors to SGB palette?

no, it doesn't work that way.

Offline

#5 2019-03-05 13:01:55

LusoTrainer
Member
Registered: 2015-05-06
Post 34/34

Re: [pokered] Changing GBC colors to SGB palette?

KeiTaRo wrote:

no, it doesn't work that way.

How does it work then?

Offline

#6 2019-03-05 14:48:17

h0tp3ngu1n
Member
Registered: 2018-09-11
Post 4/11

Re: [pokered] Changing GBC colors to SGB palette?

I could be wrong, but I think the palettes for Pokémon Red and Blue are hardcoded into the Game Boy Color itself. I think the GBC has a built-in list of palettes for a few of the games (including Pokémon Red and Blue), and then I'm guessing it checks the ROM's header in order to figure out what game it's playing (and which palette to use, if that particular game happens to be on its list).

Offline

#7 2019-03-06 00:03:24

KeiTaRo
Member
Registered: 2015-12-05
Post 61/71
Website

Re: [pokered] Changing GBC colors to SGB palette?

The Super Gameboy palettes are programmed in such a way that the color information is ultimately transferred to the Super Nintendo's video hardware in some fashion. The Gameboy Color wouldn't have any idea what to do with this, so it is literally impossible for it to just read the Super Gameboy data and use it. They are apples and oranges.

Pokemon Yellow ultimately does some really hacky stuff to replicate the functionality of the Super Gameboy routines for use on the GBC, but it ends up making the game run a fair bit slower as a result.

The default palette you are getting when you play a game without GBC features on a GBC is built in to the bios of the system itself, there is a list of some existing games that it tells the system to give certain basic colors to, others will just use whatever random default color. You can change what color is loaded when you turn your system on, try hitting the directional buttons. Other than that, you cannot modify the colors a Non-GBC game uses without hacking in deliberate color features.

Last edited by KeiTaRo (2019-03-06 00:06:00)

Offline

#8 2019-03-07 19:00:56

ayxelsid
Member
Registered: 2019-02-14
Post 12/19

Re: [pokered] Changing GBC colors to SGB palette?

I was thinking about this the other day. Is it possible to change the default gbc palette that is loaded with Red or Blue then? Would be nice if you could change the hue to something that’s easier on the eyes. Or just a different color altogether even if there’s limited options.

Offline

#9 2019-03-08 00:44:55

KeiTaRo
Member
Registered: 2015-12-05
Post 62/71
Website

Re: [pokered] Changing GBC colors to SGB palette?

You can change the color palette any non-GBC game uses by pressing a directional button (or a direction + A/B) when you turn the system on...I thought that was pretty common knowledge? Anyways, what palette corresponds to what game is hardcoded in the GBC bootrom itself. You can't change that, but it's pretty much a non-issue since you can reassign it at runtime.

Offline

#10 2019-03-08 01:41:19

ayxelsid
Member
Registered: 2019-02-14
Post 13/19

Re: [pokered] Changing GBC colors to SGB palette?

Yeah that's what I thought. Just thought there might be some way since Pokered compiles one with red and one with blue. I've been working on a hack for a couple months and I finally played it in GBC mode and I hate how it looks lol. What you said about how yellow handles it sounds interesting though, might have to look into that.

Offline

#11 2019-03-08 02:05:59

KeiTaRo
Member
Registered: 2015-12-05
Post 64/71
Website

Re: [pokered] Changing GBC colors to SGB palette?

If you changed the game ID of the Red ROM in its header, you ostensibly could trick the GBC in to thinking it's a different game and load a different default pallet, but that's a bit of a silly solution.

As for yellow, take a look at some of the new code in pokeyellow's palettes.asm as well as the updated palette functions in home.asm ... you'd need to update a whole bunch of functions to call these. You're also gonna have to change a value in init.asm to prevent hram address $FFFE from being overwritten (you'd want to use that to store the GBC set flag) Additionally, there's some code in yellow's overworld.asm and oam.asm files that dirrectly correspond to certain things displaying correctly (the latter of which actually won't work in Red without a lot of other changes) ... lastly, and most importantly, you'd want to change the cartridge header to to tell the hardware that the game is either GBC compatible or GBC exclusive (the former will suffice if all you're doing is applying Yellow's palettes)

Basically, it's very much doable, but will require a good deal of work and is a bit of an advanced mod. But if you're willing to put in the effort it's a neat result :)

Offline

#12 2019-03-08 15:29:04

h0tp3ngu1n
Member
Registered: 2018-09-11
Post 5/11

Re: [pokered] Changing GBC colors to SGB palette?

KeiTaRo wrote:

If you changed the game ID of the Red ROM in its header, you ostensibly could trick the GBC in to thinking it's a different game and load a different default pallet, but that's a bit of a silly solution.

Do you happen to know which byte (or bytes) would need to be changed? I did come across this: https://tcrf.net/Notes:Game_Boy_Color_Bootstrap_ROM which seems helpful, but I don't see any explanation on how the hash gets computed.

Last edited by h0tp3ngu1n (2019-03-08 15:30:10)

Offline

#13 2019-03-09 02:42:18

KeiTaRo
Member
Registered: 2015-12-05
Post 65/71
Website

Re: [pokered] Changing GBC colors to SGB palette?

It looks like there's a hash calculated from various data in the loaded ROM's header (specifically, though not exclusively, the Licensee value) but I'm not entirely sure how it works without looking at the code. The bootstrap ROM actually has a disassembly available for it, I suppose if you were interested enough you could take a peek and see exactly how it calculates this hash.

Offline

Board footer

Powered by FluxBB