The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > ROM Hacking > Research & Development
Reload this Page Development There, I Fixed It: Game Freak Presents in FireRed V1.0
Sign Up Rules/FAQ Daily Battle Blogs Mark Forums Read

Research & Development Got a well-founded knack with ROM hacking? Love reverse-engineering the Pokémon games? Or perhaps you love your assembly language. This is the spot for polling and gathering your ideas, and then implementing them! Share your hypothesis, get ideas from others, and collaborate to create!
Research & Development programs in this forum are subject to moderator approval before they are displayed.

Thread Tools
Old August 6th, 2013 (6:48 PM).
Diegoisawesome's Avatar
Diegoisawesome Diegoisawesome is offline
Oh god the bees
Silver Tier
Join Date: Dec 2007
Location: :noitacoL
Age: 19
Gender: Male
Nature: Naive
Posts: 1,002

Game Freak Presents in FireRed V1.0

What are you even talking about? Game Freak Presents?

In V1.0 of FireRed and LeafGreen, there's supposed to be text that appears during the Game Freak introduction that says "PRESENTS", making it say, in all, "GAME FREAK PRESENTS". However, the developers forgot a section of code that loads the text to the screen, though it's present in the OAM tilespace. This was rectified in V1.1.

The fix

Compile this routine into any place in the ROM:

.text .align 2 .thumb .thumb_func .global gamefreakpresents start: ldr r0, [r6, #0x14] ldr r3, branch1 bl bx_r3 bl main strh r4, [r6, #0x12] ldr r3, return bx_r3: bx r3 main: push {r4-r7,lr} mov r4, #0x0 ldr r6, mem1 mov r5, #0xD0 lsl r5, r5, #0xF retry: asr r1, r5, #0x10 ldr r0, addr1 mov r2, #0x6C mov r3, #0x5 push {r4} ldr r4, branch2 bl bx_r4 pop {r4} lsl r0, r0, #0x18 lsr r0, r0, #0x18 lsl r2, r0, #0x4 add r2, r2, r0 lsl r2, r2, #0x2 add r2, r2, r6 ldrh r3, [r2, #0x4] lsl r0, r3, #0x16 lsr r0, r0, #0x16 lsl r1, r4, #0x2 add r0, r0, r1 ldr r7, val1 add r1, r7, #0x0 and r0, r1 ldr r7, val2 add r1, r7, #0x0 and r3, r1 orr r3, r0 strh r3, [r2, #0x4] mov r0, #0x80 lsl r0, r0, #0xE add r5, r5, r0 add r4, #0x1 cmp r4, #0x1 ble retry pop {r4-r7} pop {r0} bx r0 bx_r4: bx r4 .align 2 mem1: .word 0x0202063C addr1: .word 0x0840BCFC branch1: .word 0x08007281 branch2: .word 0x08006F8D return: .word 0x080ECE71 val1: .word 0x000003FF val2: .word 0xFFFFFC00
Write down the offset you assemble this to.

Now, at 0xECE1C in the hex editor, write 00480047XXXXXX080000, replacing XXXXXX with the reversed offset+1 to the routine you inserted earlier. That's it!

The result

Yessir, this is V1.0!

That's really all there is to it. Now you can actually present the game to your fans!

My other resources:
My Website
diegoisawesome's MEGA-HUGE XSE Scripting Tutorial
diegoisawesome's Miscellaneous Finds
The Ruins of Alph Puzzles
Diego's Miscellaneous Patches
GBA Intro Manager
The Secret Sauce: Triple-Layer Tiles
Reply With Quote

Relevant Advertising!

Old August 7th, 2013 (4:43 AM).
xGal's Avatar
xGal xGal is offline
Join Date: Nov 2011
Location: A tree
Gender: Other
Nature: Relaxed
Posts: 243
Oh, lol...

I am suprised nobody posted here yet because this is cool!

Nice found!

By the way, I can't rememmber something, I hope you could answer me... The "presents" text is in the image of the logo or another image? (what I meant is on UNLZ, when there might be few images in one, get it?)
Reply With Quote
Old August 7th, 2013 (8:34 PM).
RichterSnipes's Avatar
RichterSnipes RichterSnipes is offline
Pakachew use tunder wipe now!!!
Join Date: Oct 2011
Location: USA
Age: 23
Gender: Male
Nature: Modest
Posts: 308
I'm surprised a fix for this hasn't popped up until now. Thanks for this! Every little issue matters, and this won't go unappreciated.

Who says hacks have to radically changes things up from their base games?
Click Red to check out a "definitive" version of his adventure in Kanto!
Reply With Quote
Old August 7th, 2013 (8:56 PM).
Awkward.'s Avatar
Awkward. Awkward. is offline
Join Date: May 2012
Age: 19
Gender: Male
Nature: Sassy
Posts: 845
To answer your question Gal, the PRESENTS logo is in fact in UNLZ. I think it's around 201.
at some point I must have liked that you look like a taco addict who's had one too many back alley liposuctions

Reply With Quote
Old August 8th, 2013 (1:07 AM).
xGal's Avatar
xGal xGal is offline
Join Date: Nov 2011
Location: A tree
Gender: Other
Nature: Relaxed
Posts: 243
Originally Posted by PJBottomz View Post
To answer your question Gal, the PRESENTS logo is in fact in UNLZ. I think it's around 201.
Hahaha thanks

I wonder why gamefreak left this present logo o.O
Reply With Quote
Old August 8th, 2013 (1:20 AM).
Elaitenstile's Avatar
Elaitenstile Elaitenstile is offline
I am legend
Join Date: Feb 2013
Posts: 1,909
Send a message via Skype™ to Elaitenstile
Originally Posted by galooloo View Post
Hahaha thanks :)

I wonder why gamefreak left this present logo o.O
It seems because of some bug that popped up while they were making the English version.
Reply With Quote
Old August 11th, 2013 (4:32 PM).
Shiny Quagsire's Avatar
Shiny Quagsire Shiny Quagsire is offline
I'm Still Alive, Elsewhere
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 18
Gender: Male
Nature: Jolly
Posts: 696
Nice work, hopefully some people find this of use. Having one more thing to modify on the GameFreak screen is definitely a plus.

Reply With Quote
Old May 25th, 2014 (11:32 AM).
Lost's Avatar
Lost Lost is offline
actually a demon
Platinum Tier
Join Date: Mar 2010
Age: 19
Gender: Male
Nature: Quirky
Posts: 3,254
I thought people might like this:

Game Freak Presents in LeafGreen 1.0

Basically, I just modified the offsets of the code to make it work on LeafGreen version.

The Code

All you need to do is replace the stuff at the bottom with this:

.align 2
mem1:           .word 0x0202063C @ Same as FR
addr1:          .word 0x0840BB38 @ Changed
branch1:        .word 0x08007281 @ Same as FR
branch2:        .word 0x08006F8D @ Same as FR
return:         .word 0x080ECE49 @ Changed
val1:           .word 0x000003FF @ Same as FR
val2:           .word 0xFFFFFC00 @ Same as FR
All the other assembly for it is the same.

Then, go to 0xECDF4 in a hex editor and type:
00 48 00 47 XX XX XX 08 00 00
Where XX XX XX is the offset that you inserted the routine at + 1, reversed.

Yay! Big thanks to diegoisawesome for the original stuff.
Reply With Quote
Quick Reply

Sponsored Links
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT -8. The time now is 5:41 PM.

Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 2002 - 2016 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 - 2016 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 © 2016.