• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Conquest protagonist in the poll by clicking here.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Research: Palette 12 in Pokemon Ruby

  • 1,315
    Posts
    17
    Years
    • Seen Jun 11, 2024
    When I briefly hacked Ruby, I noticed that you can't use a 12th palette for tilesets, etc. This isn't the case with FireRed or Emerald.

    Someday, I want to implement some kind of a Battle Frontier in Ruby, and if that was possible, then I would move my hack over to Ruby. But this would be impossible, because the tilesets I've made requires the use of all 12 palettes, and Ruby only supports 11 palettes.

    So does anyone know how to activate Palette 12 in Ruby? Since it works in Emerald.
     
    So palette 12 is programed in Ruby and Sapphire but just doesn't work? I always thought it was blank space.
     
    So palette 12 is programed in Ruby and Sapphire but just doesn't work? I always thought it was blank space.

    Kind. I remember messing around with Pallette 12 for a project and it has set colours from what I saw, and editing the colours in Block Editor did nothing to change it. It was purpley colours that it seemed to be.

    But if a way is discovered, tat would be great. I wonder if you could change it with a Hex Editor anyway, as I remember that the colours were different from what I set for there... Probably not.
     
    I figured it out. When the game triggers the SWI that copies over the palette from the ROM to the RAM, it only copies six palettes (6-11). The palette that occupies the 12th palette slot is actually the palette used for the "Ruby Version" text on the titlescreen. Oddly enough, it never gets overwritten. So all you have to do is change the parameter for the SWI call so that it copies over '0x70' halfwords instead of '0x60'. In order to do that, you should change the byte at '0x056d62' from '0xc0' to '0xe0'. Isn't it funny how a single bit can affect the game so drastically?
     
    Back
    Top