GBA Palette Editing Tutorial Request

Chalk

New member
Joined
Aug 12, 2025
Messages
3
Hello, I was wondering if anyone could offer documentation on the simplest way to edit the palettes of GBA games? Specifically how people are able to make Color Restoration hacks, like these ones:
Where they can replace the washed out palettes of GBA games with more vivid, darker ones.

Specifically, I want to do this for Mario and Luigi: Superstar Saga. I know I just linked to a palette hack of it, but there are some issues with that mod I'd like to take a look at myself.
It would also be nice to know how to do this for other games. I've tried looking into it myself but there are so many tools to choose from and it's hard to know what the most intuitive method is.

Thank you for any information!
 
Hello, I was wondering if anyone could offer documentation on the simplest way to edit the palettes of GBA games? Specifically how people are able to make Color Restoration hacks, like these ones:
Where they can replace the washed out palettes of GBA games with more vivid, darker ones.

Specifically, I want to do this for Mario and Luigi: Superstar Saga. I know I just linked to a palette hack of it, but there are some issues with that mod I'd like to take a look at myself.
It would also be nice to know how to do this for other games. I've tried looking into it myself but there are so many tools to choose from and it's hard to know what the most intuitive method is.

Thank you for any information!
Well, I'd use Mesen to get the palettes. Click Debug > Sprite Viewer
1763643746503.webp

There, select Sprite Map under Source:
1763643877903.webp

Then click on a sprite tile, you'll see its palette to the right:
1763643914116.webp

Now that you know the palette, you need to extract the hex.


Click Debug > TileViewer
1763644019634.webp


Find the character sprite whose palette you want. You can click on the presets on the top right until you find the character tiles. Once you do, click the palette list until you find the palette that matches:
1763644150243.webp
 
Now, hover over the colors and you'll get their respective bytes:
1763644208734.webp

For the first color, it's the little endian 4D 45. This is usually stored in with bytes in opposite order, so... 45 4D.

Get the rest of the numbers and you'll end up with... (Once inverting their 2 bytes)
45 4D 2C 6A D1 7E 56 7F FF 7F 7B 4B F7 3A 94 15 17 26 DD 3A 7F 57 81 6D BB 01 13 00 21 04

Now try finding these hex values in HxD. Sometimes, the first and/or last colors are not stored with the palette. So if you can't find it, try removing 2 bytes from the left, then 2 bytes from the right etc.

It's similar for the stage palettes. Just use the tools above.

As for updating colors, I made my own tool to help ME with it. Maybe it'd help you:

It helped me create the palette file to use with tlp/Tile Molester and quick conversion between RRGGBB to how the games I've worked with store them.
 
Back
Top