The PokéCommunity Forums

The PokéCommunity Forums (
-   Tools, Tutorials & Resources (
-   -   Tutorial Hacking the Emerald Title Screen - Tutorial by KhaosKnight (

KhaosKnight June 27th, 2012 10:20 PM

Hacking the Emerald Title Screen - Tutorial by KhaosKnight

Hey everyone, after taking a nice break from making Pokemon Citrine I'm back to ROM hacking. I began seriously looking into the Emerald ROM since there is little to no information about it posted around here(or just about anywhere!). After some research I’m back to share my methods for editing the Pokemon Emerald Title Screen!

Not many have been able to fully modify the Emerald Title Screen (at least of what I've seen). So I took it upon myself to explore through the unLZ jungle of offsets and a hex editor to find the appropriate Tile Sets and Palettes for the Rayquaza background, the Pokemon banner, and the Emerald Version banner, and I'm here to share them with the community!

First we will need some tools, preferably the latest releases, and these offsets.


Rayquaza Titlescreen Offset: 53F058 unLZ # 152 (16 Colors)
Rayquaza Titlescreen Palette: DDE418 unLZ # - Not LZ'd

Pokemon Logo Offset: DDE690 unLZ # 2611 (256 Colors)
Pokemon Logo Palette: DDE258 unLZ # - Not LZ'd

Emerald Version Offset: DDFD94 unLZ # 2612 (256 Colors)
Emerald Version Palette: DDE438 unLZ # - Not LZ'd

Tools Needed:
  • unLZ.gba
  • APE (Another Palette Editor)
  • FSF (Free Space Finder)
  • Photo Editing Software(Paint.NET, GIMP, Photoshop, Paint, etc.)
  • IfranView
  • NTME (Nameless Tile Map Editor)
  • VBA or simlar
  • The offsets above.

Rayquaza Background:

First we are going to need a make a Tile Set of the Title Screen you would like to make. Take a look at the original Tile Set for the Rayquaza Title Screen to get an idea what I mean.

As you can see, it is a simple 128x128 image in 16 colors with all the repeating tiles deleted. Unlike Ruby, which has a rather large contiguous space that you can paste a sprite or similar, this tile map as little to no open space because a great deal of the tiles repeat or are reflected(like Rayquaza's face), so we will have to redesign it completely. To begin, design an image of what you want your full screen to look like, then condense it to the specifications above.

Here is the Tile Set for my Title Screen.

A Raikou sprite, with the Thunder attack animation and clouds, and a hand drawn rocks. Just a simple thing I put together for the tutorial. I'm no artist so it's not by any means pretty, but it works for a quick demo.

Next we are going to make sure our Tile Set is ready for our ROM. I’m going to use IfranView to condense my image to 16 colors.
So open your image in IfranView and click Image -> Decrease Color Depth…

A dialog will appear that allows you to modify the amount of colors in your image. Click 16 colors, then click OK.

After that we will export the new palette of the image. Click Image -> Palette -> Export Palette…

Name it the same as your Tile Set so you don’t mix it up with your other files.

Now that the Tile Set is ready, we are going to make our image appear the way we want. So open NTME and load your new Tile Set. After its open, go to the bottom right drop-down box and choose “E TS”

The new canvas is going to look strange, it’s large, too large actually but it’s necessary to get the Title Screen to show up right. Emerald only displays a (30,20) map size on the main screen, so that is all we are going to fill. Locate (29,19) on the Tile Map, this will be the bottom right corner of our Title Screen.

Use the tiles from the Tile Set you created to make your Title Screen to look how you want. You can use the Tile Selection buttons on the right to select bigger blocks, as well as flipping tiles in Block Settings to make building the Tile Map easier.

After that’s done, we need to take care of one last thing. At the bottom, click “PaletteMap” and then click the “E” out of the selection to the right. Use that to fill over the “0’s” to change them to “E’s”.

Finally, we will save our new Tile Map as a .RAW file. Name it the same as your Tile Set as well.

Now that our Tile Set and Tile Map is done we will import them back into unLZ. So bring unLZ back up and click “Import”.

A dialog will appear, Check Export Image and Automatically fix pointer, and make sure to leave Export Palette UNCHECKED since we will be editing the appropriate palette in APE later on.

After clicking OK, you should get this message, although the size will be most likely different for you.

Next, open up FSF, load your ROM,
and click “Search from the beginning of the ROM”. Then in the bottom corner under Dec/Hex type in the Hex offset you received from unLZ. The number on top will be converted to Decimal. Take that and put it in the Needed Bytes box, click Find, Then click Copy.

This is the area of free space in your ROM that can fit your Tile Set, so we will go back to unLZ with this offset and paste it into the Image Offset box. Then click OK.

It should give you confirmation that the data was re-pointed correctly.

Next is the Tile Map, click the Next button to go to unLZ #153. This messy image is the RAW Tile Map data.

Click File -> Load RAW… then select the .RAW file you saved earlier from NTME. Then click Write to ROM and do the same procedure as before. If you get an error then your Tile Map is bigger than the original, so you have to repoint it. If you don’t get an error, then it was smaller than the original so it will fit. You will most likely have to repoint, which is safer since you aren’t overwriting original data.

Next, load up your ROM and VBA and take a look at your new Title Screen.

As you can see it is a miss-colored mess. That is because it is using the original palette that Rayquaza used. So let’s change that. Open up your ROM in APE and load the Offset DDE418 and then click Load.

On the Changed Palette area, click the palette with the blue arrow pointing to the left. Click the dropdown box and select Paintshop (.pal) then open the .pal file you saved from IfranView.

After it is loaded, click Replace and then Load to verify that it was changed correctly.

Now reload your ROM in VBA to take a look at your masterpiece.

One thing to note that I’m still working on, the transparent tiles glow yellow like the lines along Rayquaza’s back. I’m still looking on how to change that color so it can glow other colors or not glow at all. I’m also looking into the clouds that float up the screen as well. Hopefully those will come in a future update to this tutorial.

The "Version" Banner:

Next we will tackle the Emerald Version Banner, so go back to unLZ and navigate to #2612, click 256 Color Mode and click the + until the image is shown below.

This one slightly more complex in a way, it is a 64x64 tile map that is displayed as a 128x32 image in 256 colors. So when you build your Banner, start with a 128x32 image and then “split it” to 64x64 with the right 64x32 pixels moved below to leftmost 64x32 pixels making it a 64x64 image.

Here’s mine

I’m no graphic artist, but I had to play with the font size and coloring. The black pixels in this image will be transparent when loaded into the game. This can change if you use more colors, when you load APE to change the banner palette, whatever color that is in the first bank will be transparent.

Moving on, run your image through IfranView again, except this image will be decreased to 256 colors instead of 16 colors. Then Save the new palette like before.

Back into unLZ, click Import and load your image. Then click Write to ROM. The dialog will open and you will do the same as before, check Export Image and automatically fix pointers, and keep Export Palette unchecked.

You will most likely need to re-point the image like before, so take the number through your calculator, and FSF again to find some free space. Then write your changes to the ROM.

Next we will change the palette to the Emerald Version Banner. So open your ROM in APE and cruise to the offset DDE438.

Same as before load the .pal file you saved in IfranView.

Click Replace then Load to verify the changes.

Then load up your ROM in VBA once again to view the finished product.

Here you can see how the banner is positioned, if it is not to your liking, you can just readjust the original Tile Set.

I’m not going to go over replacing the Pokemon banner because most people won’t want to replace it anyway. But if you want to replace the banner, the offset is DDE690, and the unLZ # to the picture is 2611 (256 Colors). Then the offset to change the palette in APE is DDE258. Just repeat the above steps replacing the offsets.


Well that's just about all the information you will need to modify the Emerald Title Screen. There are only a few things left to look at which I'm still working on. I posted this in a hurry to get the information out there, so I'll be revising it sometime soon, maybe add more pics to the banner part. If you get lost feel free to ask questions and I'll try and help.

Special Thanks:

All of you guys for your support.

Blaziken141 July 2nd, 2012 8:06 AM

Thanks for the help to hack the Emerald Title Screen :)

poke-hacker95 July 21st, 2012 11:36 AM

The one thing im curious about when it comes to title screen hacks is how you incorporate animations into the flat image. For example, the offset for the raikou background, is the thunder and the clouds animated? and if not is there a specific way to go about doing that?

meosonic July 23rd, 2012 6:55 AM

Bug I put the raw file but pokemon don't iniciate :S Please heeeellpppppp!!!!!!

SkyIsDarkBlue August 19th, 2012 6:09 AM

Can I use your background? Just the background and no lightning or raikou or land. If yes, here is the picture:

PokeBunny September 1st, 2012 11:23 AM

This is a good tutorial.
I didn't read all of it.
Just got the programs and impornant info.

Luna The Absol November 4th, 2012 9:13 AM

this confuzles me.....though i did come from trying to insert Zekrom's cry into the game. I don't see any of this on my head hurtz!

TheRockyHorrorPokemonShow November 21st, 2012 12:04 PM

Thank you for your help! I'm still trying to figure it out but, it really helps!;)

jedijoren January 13th, 2013 1:26 PM

When I click import on UNLZ, it just asks for a file. what do i do?

I am stuck, please reply. I am in unLZ, and when I click "import" it wants me to import a file, what do I do? Please help!

jedijoren January 16th, 2013 7:11 PM

Ok I figured it out. But when I try to load in my palette it says error: type "13" or something like that. Help?

stocko January 26th, 2013 3:59 AM

Hey, I'm trying to change the pokemon logo and I'm having a few issues. The image is showing up perfectly fine apart from the palettes not correctly displaying for some reason. I have loaded the correct palettes in APE but it hasn't changed the palette. Any ideas on what's going wrong?

Line3007 March 28th, 2013 12:20 PM

Nice tutorial! :D I have to try it someday!

Eren Jaeger April 25th, 2013 9:51 PM

Hey thanks! :D I've done it successfully for the 1st time :3 Hope you made
Pokemon ruby.. the tutorial I saw on pokemon ruby is not helping at all.

LFCAmmy May 1st, 2013 5:20 AM

when i try to import my .pal file to ape it says invalid palette loaded....plz help me

Crimnor May 1st, 2013 9:05 AM


Originally Posted by LFCAmmy (Post 7645960)
when i try to import my .pal file to ape it says invalid palette loaded....plz help me

Try to convert your palette to an actual format like .act or .pal using Photoshop or IrfanView. Both formats will work fine with APE.

LFCAmmy May 1st, 2013 12:44 PM


Originally Posted by Majesticz (Post 7646129)
Try to convert your palette to an actual format like .act or .pal using Photoshop or IrfanView. Both formats will work fine with APE.

:P i dont knw how to do it...plz can u teach me???? i tried to turn it into .pal by irfanview bt still same...

Majesticz May 2nd, 2013 9:03 AM


Originally Posted by LFCAmmy (Post 7646288)
:P i dont knw how to do it...plz can u teach me???? i tried to turn it into .pal by irfanview bt still same...

I usually use Photoshop when it comes to palettes. Feel free to send me your palette file (including the image) via private message so I can look over it.

LFCAmmy May 2nd, 2013 9:29 AM

i hav loaded act file and clicked replace bt it doesnt change in rom...what to do???

Aryan143 May 2nd, 2013 8:20 PM


Originally Posted by LFCAmmy (Post 7647173)
i hav loaded act file and clicked replace bt it doesnt change in rom...what to do???

It is replaced. If you click on Load you will see it.

Eren Jaeger May 2nd, 2013 8:42 PM

Screen got poop. Retried. And It looks good now, but cobalion's head is hiding.

LFCAmmy May 2nd, 2013 11:40 PM


Originally Posted by Aryan143 (Post 7647664)
It is replaced. If you click on Load you will see it.

well it didnt change... :(

Elaitenstile May 9th, 2013 11:58 PM

Uh, try this out:

If you are getting error then keep redoing the same thing until you get a Type Mismatch.
Don't press OK YET!
Now you slide aside the prompt window and click the original APE window. Now press Alt + Prnt Sc | Sys Rq. And then open a new Paint folder and press Ctrl + V.
You will see that the original window of APE has some colours in the changed pallete section. Now open an APE WIndow again and load your ROM.
Go to the offset again.
Now see the Paint file and copy the exact codes on it into the changed palette section.

Save it; you're done now.

Joexv May 19th, 2013 3:20 PM

I need help when i open ape and load my rom and the original pal and then click the new pal thing i open the one i want and then it freaks out saying invalid pal then if i do it again it says runtime mismatch error.

Opps nevermind got it to work!!!

supersoursky June 6th, 2013 7:30 PM


ryanp92 June 11th, 2013 8:56 AM

Hey first post..... lol, anyway I just found out how to take out the clouds, just I have yet to figure out how to take out the stupid flashing... :( anyway for the clouds its easy just got to unLZ go to #155 then save as go to paint or whatever program you use then just make the clouds the same color as the background after the BG is saved import the new saved version then go check it out the clouds should be gone now... this is what I got up to now I wanted just a quick, easy and sleek design although it still needs work but anyway here it is .... like I said earlier though idk how to take out the stupid flashing so it still flashes yellow so I gotta see how to take that out but anyway hope this helps for the clouds :)

All times are GMT -8. The time now is 2:06 PM.

Like our Facebook Page Follow us on Twitter © 2002 - 2015 The PokéCommunity™,
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2014 The PokéCommunity / Poké
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.

Use of PokéCommunity Assets
vB Optimise by DragonByte Technologies Ltd © 2015.