[Fire Red]: Extending The Number Of Safe Flags And Variables
View Single Post
June 7th, 2013, 11:18 AM
Join Date: May 2012
Originally Posted by
Ok well I have sat here and read Hackmews ASM tut about 4 times now and still I can't seem to understand how to assemble ASM to HEX... His tut seems to speak to people who already know the basics of programming and as for me I am a complete noob to programming... I can't find any video tutorials on GBA ASM hacking nor can I seem to find any IDE or Software that simply converts ASM to HEX. So I am starting to feel at a lose here, like I will never understand how this works (to the point I'm ripping my hair out)... There is no way that you could make a patch for this so us that see ASM as a whole other world of hacking =( ( I will be buying some books for sure)
Don't waste your money on books, those will just make everything
confusing. It's not as hard as you're making it out to be. Here's how I did it, which made it work fine.
Extract those files to your desktop.
Step 2: MAKE SURE you apply the patch in the first post to your ROM (this should be a clean, unmodified ROM) before doing this.
Step 3: Open Notepad and paste down whichever ASM code you're using (aka if you're expanding flags, using the flag-expanding ASM code)
Step 4: Click File -> Save As. On the Box labelled "File Name" type "[whatevernameyouwant].asm". Under "Save as type", change to All Files. Navigate to the Desktop and save it there.
Step 5: Open Command Prompt. Type "cd Desktop". You're now on your desktop. Type the following into Command Prompt:
thumb [whatevernameyouchose].asm [samename].bin
You should see "Assembled Successfully" right below it in the Command Prompt. You can close it now.
Step 6: Open the .bin file in a hex editor and copy ALL the data.
Step 7: Open Free Space Finder and find an offset that ends in a 0, 4, 8, or C (as stated above).
Step 8: Open a new sheet in Notepad. Write down your offset, and then write it in little endian + 1. Ex: If my offset was 0x800000, the correct format for this would be 01 00 80.
Step 9: Open your ROM in a hex editor and go to the offset that you chose. Click Edit -> Paste write.
Step 10: Open your ROM in the hex editor and go to the offset 0x6E5D6. Change it to:
01 48 00 47 00 00 XX XX XX 08
Where the XX's = the endian version of your offset that you were supposed to write down earlier. Hit save, and you're done.
Last edited by PJBottomz; June 7th, 2013 at
Also Known As: PJ, Trever
View Public Profile
Send a private message to PJBottomz
Find all posts by PJBottomz
Find threads started by PJBottomz