zdawg's NES rom hacking document, version .85 viewer discretion advised!!! not for the eyes of children You may ask why I actually updated this. Well, I had a bad case of diarrhea, and I was bored. :) Table of Contents: 1. Files You WILL Need --- http://taichou.dynip.com/ac2k/nes 2. Start Hacking!!! --- Intermediate Version* 3. Dummy Version --- DUH!!!* 4. Text Dumping (Japanese) --- How to get script dumps (NON-DTE)* 5. The NEW, easy way to hack ROMs. --- New easy way of hacking ROMs. a. Using TBL Maker b. SCRIPT EXTRACTING c. SCRIPT INSERTING 6. Something you should know about Inserter and Extractor... 7. Thanks *=old, CONVENTIONAL way of hacking _________________________________________________________________________ You WILL need these following utilities: Thingy v. 08+ ----- (optional) script dumping tool* Hexpose ver. 200 ----- my favorite utility NESticle ver.42+ ----- of course, as usual... (a rom) ----- obviously patience ----- if you don't, then you'll never be a hacker!!! NotePad ----- with this, it's a lot easier to open and make .TBLs* Jair's Script Extractor ----- Extracts script!@# Saves hours of time. Jair's Script Inserter ----- Inserts script!! Beautiful program. Jair's TBL Maker ----- much easier to make TBLs _________________________________________________________________________ Start hacking!!! --- Beginner's Version ____________________________________________________________________________________ 1. Open NESticle. 2. Using multitask in Windows, open my default Hexpose font table. 3. Go back to NESticle, and go to the place in the rom where some text is. 4. In NESticle, open up Pattern Tables. 5. Look for the font table; the font table is all the english characters. 6. Click on the firstin the font table( usually 0 ). That's zero. Numbers do count, if you want them to. 7. There's a numberand some letters in the left-hand side of the zoomed-in image. Write down that number. 8. Everything afterthat should be in order; it should go: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I JK L M N O P Q R S T U V W X Y Z, just write the condescending number( the number after ), and so on. An example of this would be if 0=00, then 1 wouldbe 01, 2 would be 02, then 3 would be 3... after it gets to 09, it then changesto 0A. Then type the lettering after words. Note, it always ends with either 9 or F. You'll see what I mean. Here's an example, if 0=00, then... 0=00 6=06C=OC I=12 O=18 U=1E a=24g=2A m=30 s=36 1=01 7=07D=OD J=13 P=19 V=1F b=25h=2B n=31 t=37 2=02 8=08E=OE K=14 Q=1A W=20 c=26i=2C o=32 u=38 3=03 9=09F=0F L=15 R=1B X=21d=27 j=2D p=33 v=39 4=04 A=0AG=10 M=16 S=1C Y=22 e=28k=2E q=34 w=3A 5=05 B=0BH=11 N=17 T=1D Z=23 f=29l=2F r=35 x=3B y=3C z=3D There may be extra punctuation... that you will just do the same with. You don't have to write these down; those were just examples. 9. Return to the Astrocreep's default .TBL file. *MAKE SURE TO MAKE EXTRA COPIES!!!* 10. Fill in the font table information. 11. Then, when done, save the file. SAVE IT THE SAME NAME AS THE ROM!!! 12. Open up HexPose. 13. When it asks what thing you want to load, select the rom you have the information for. 14. Then, hit f6, and type in the filename for which the font table is named. 15. Voila!!! If you scroll down, there should be actual text in English. Hack away... but rememberthis: MAKE SURE WHAT YOU HACK IS NO LONGER THAN WHAT WAS IN THE ROM!!! That will be explained later, and also how to get around it. 16. If you want to try andmake the text longer than what's there, use this... it's not an ASM hack,and therefore not very reliable. I myself have only had 10% success. 17. In HEXPOSE, go to the end of the rom. 18. Press the INSERT key. 19. Enter 1024x16 bytes. I don't have a calculator on me right now, sorry. Don't forget, this is version 01 of my doc. 20. Go back to where you'd like to add more text. How ever many more letters it is, type insertagain, then put in the text; afterwards, go back to the end of the rom and delete however many bytes you added. 21. Save it to the rom and make sure you make copies of the rom; it may fail. Exit HexPose and NESticle. 22. Then, reopen NESticle. 23. Load the rom; make sure you fix the header by going into ROM Header and adding 1 to the 16k rom. 24. It may or may not run. 25. Enjoy!!! _________________________________________________________________________ Start hacking!!! --- Dummy Version ___________________________________________________________________________________ 1. Open NESticle. Youcan do this by opening Windows Explorer. Where is Explorer? It's a little difficult to find, but it's there. First, click on the start button in the lower left hand corner in Windows. When that's done, click on Programs. It should be right above Documents. When you've clicked on that, go to the very end of the files that you see. You'll then see the icon for Windows Explorer. When Explorer is open, go to the folder in which NESticle (and the roms) are located. If you forgot where NESticle is, then you must be a real idiot. Keep Explorer open. That's Windows Explorer. 2. Using multitask in Windows, open my default text file. That was added in my zip file. To use multitask, all you have to do is hit Alt and Tab at the same time. You can get to my default .TBL file by going into Explorer and searching for it. It should be placed into the same folder as HexPose. HexPose is the program you will use to hack the text. It's in Astrocreep's downloads section. As is my default.TBL file. 3. Go back to NESticle,and go to the place in the rom where some text is. This is done by actually playing the rom until you see some text. 4. In NESticle, open up Pattern Tables. This is done by going into View in the NESticle toolbar, then Pattern Tables. If you miss it..! 5. Look for the fonttable; the font table is all the english characters. The font table is also the whole long list of letters that you see when pattern tables is open. ooo... isn't it magical? Don't answer that. 6. Click on the firstin the font table( usually 0 ). That's zero. Numbers do count, if youwant them to. What I mean by the first in the font table is the first character in the font table, or in the letters that you see. 0 is usually first. 7. There's a number and/or some letters in the left-hand side of the zoomed-in image. Write down that number. Why??? Because that's the first thing that you'll need. The most important, too. 8. Everything afterthat should be in order; it should go: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z, just write the condescending number( thenumber after ), and so on. An example of this would be if 0=00, then 1 wouldbe 01, 2 would be 02, then 3 would be 3... after it gets to 09, it then changes to 0A. Then type the lettering after words. Note, it always ends with either 9 or F. You'll see what I mean. Here's an example, if 0=00,then... 0=00 6=06C=OC I=12 O=18 U=1E a=24g=2A m=30 s=36 1=01 7=07D=OD J=13 P=19 V=1F b=25h=2B n=31 t=37 2=02 8=08E=OE K=14 Q=1A W=20 c=26 i=2Co=32 u=38 3=03 9=09F=0F L=15 R=1B X=21d=27 j=2D p=33 v=39 4=04 A=0AG=10 M=16 S=1C Y=22 e=28k=2E q=34 w=3A 5=05 B=0BH=11 N=17 T=1D Z=23f=29 l=2F r=35 x=3B y=3C z=3D There may be extra punctuation...that you will just do the same with. You don't have to write these down; those were just examples. Actually, that's pretty dumbass it is... I'll simplify later. 9. Return to my default.TBL file. *MAKE SURE TO MAKE EXTRA COPIES!!!* I sugest you MultiTask. 10. Fill in the font table information. The font table info is what was the first character and whatever after... characters are letters or numbers. 11. Then, when done, save the file. SAVE IT THE SAME NAME AS THE ROM!!! You can do this by right-clicking on the rom, and then selecting Copy from the list of options thatyou see. This can only be done in Win95. If you don't have Windows 95, get it; it's a lot faster and better than Windows 93. 12. Open up HexPose. This should either be in the same folder or in a different folder as NESticle and the roms are. I suggest that they be in different folders. 13. When it asks what thing you want to load, select the rom you have the information for. It should come up immediately. Very immediately. Right when you start it up. Hit enter to enter when you're on the right filename. 14. Then, hit f6, and typein the filename for which the font table is named. THIS SHOULD BE THE SAME NAME AS THE ROM. It should be... 15. Voila!!! If you scroll down, there should be actual text in English. Hack away... but remember this: MAKE SURE WHAT YOU HACK IS NO LONGER THAN WHAT WAS IN THE ROM!!! That will be explained later, and also how to get around it. Actually, it won't... not in the dummy version. Not ever. After you understand all of what happened, you should be right on your way to being a beginner. _________________________________________________________________________ 4. Text Dumping --- Japanese text dumping ___________________________________________________________________________________ *** Most info taken from Necrosaro, then *dumbed* *** Preferred for Beginners,not Newbies 1. Open up NESticle, and find the hex addresses of three or four characters in a Japanese word. This is the same procedure as was told in parts 2 and 3 of this DOC. Make a TBL, if you want. 2. Search for thosevalues in Thingy .08 and then get the address. Dump with Thingy. Press SHIFT-D to dump the script. Save the output file as what you'd like it to be saved. Preferably a .TBL file, or a .TXT file. 3. Dump the script. Do what you'd like with it. *** With Hexpose .215: 1. Once again, get thehex addresses. Make a TBL of the info you got. 2. Open up Hexpose. 3. Hit f6 and applythe .TBL. 4. Go to the positionin the rom where you see the text you want to dump. 5. Hit CTRL-D and thescreen. THIS WILL ONLY DUMP THE SCREEN THAT YOU SEE!!! In other words, Iprefer Thingy. 6. Done... I'll put in how to replace the text later. _________________________________________________________________________ 5. The NEW, Easy Way to Hack ROMs ___________________________________________________________________________________ 1. You should have downloaded Script Inserter,Script Extractor, and TBL Maker from Jair's, or the 'Creep's site. If youalready have a TBL file made, skip this next part. --- a. ("'*^=- Using TBL Maker-=^*'") 1. Open up NESticle, and look for the font table (the alphabet). Usually,it starts with 0, and goes to z. Anyway, get the first hex value. 2. Open up TBL Maker. Enter in the tblname you'd like, and then hit "2" forplain ASCII text TBL making. 3. When it says, "Enter value to start with," enter in that first hex value,and specify what that hex value is. Then, go down the list, and when you'refinished, leave the program. Boom, the TBL file is made. --- 2. After you've got your TBL file made, it'stime you extracted the script. b. ("'*^=- UsingScript Extractor -=^*'") 1. Open Script Extractor. 2. Slap yourself on the back. You just opened up a C++ file!! 3. It should read: "Enter name of table file:" - From there, enter in thename of the TBL file. Enter in the name. Then, it should say: "File toextract text from:". Enter in the ROM name. After that, "File to writeto:" -- save it as filename.txt, where iflename is the name you'd like to give it. Now, it says "Text block's starting address:" this isthe tricky part. 4. Multitasking, open Hexpose. Use the file selector to select the ROM, andpress f6 to load the TBL file. Make sure you use the whole TBL's filename. 5. Search through the ROM to find where the text is located. Look for thetext, those words of the story, on the right. When you see it, stop, andlook directly left of where the FIRST LINE, FIRST CHARACTER of the textbegins. 6. Look at the bottom-left corner of the Hexpose screen. It should read: "Ofs,"which is short for Offset. For example, if it says, "0000AAAAA", then AAAAAis the text block's address. In Dragon Warrior 3, some text is locatedat 3940C. Try using the TBL which came with Hexpose with it, and the ROM,which you should have. 7. It should then ask how many bytes to dump. I always dump 10000, it's fun.After you've finished the dumping, it you may then edit the file. --- 3. Open up the TXT file you made of the dump.It should be small enough to read with Notepad. Either way, open it up,and begin editing. You'll see the text, all you have to do is change it. 4. If I'm not mistaken, YOU CAN WRITE LONGERTHAN HOW LONG THE ORIGINAL SENTENCE IS!!! WHEE!@#!@# When you're done,save it, and then we'll begin with Jair's Script Inserter. c. ("'*^=- Using ScriptInserter -=^*'") 1.Script Inserter should start the same way as Extractor; it should ask:"Table file:". Put in the name of tha TBL file. 2.After that, it should say: "Text file to read from:" there, put in thename of the extracted TXT file you made with extractor. 3."File to insert extracted text to:" what you should put here is the ROMName,the name of the ROM you extracted the text from. 4."Address to start inserting text at:" --- remember that one hex addresswe got? Well, insert that there. 5. "Okay to overwrite XXXX bytes?" --- HELL YES!!!@# 6. After that's done... YOU'RE DONE!@!!#@ WHOOO!!! GO AND MAKE SOME CAKE! BUY ME SOME SODA!! GO AND KILL YOUR GRANDMOTHER!! 7. No, don't, really, kill your grandmother. It's not a smart thing todo. It's just not, you could hurt yourself by getting in jail. I know.I did it four times. Don't ask how I have 4 grandmas. _________________________________________________________________________ 6. Something you shouldknow about Inserter and Extractor... __________________________________________________________________________________ SCRIPT EXTRACTER AND HEXPOSURE NOT COMPATIBLE!! Make sure NESticle, Hexpose,Script Inserter, Script Extractor, the ROM, and your patience are all inone directory. If you have a weird TBL file,it'll say that it's unable to read from the TBL file. For example, if your TBL file is like this: 00 0 01 1 This is what Hexpose reads. It's sad that Extracter and it are not 02 2 compatible. 03 3 04 4 It should read like this: 00=0 01=1 02=2 03=3 04=4 All you have to do is change the spaces to equal signs, and vice versa (exact opposite). ----- Thanks Jair, without whom, would have made this doc a lot more lame. :) Fabiano Lopes, for help with MMC4. Necrosaro for a sweet dumping program. Javier Moreno, for help with my PPU engine. MindRape, for starting itall. Astrocreep2000 for being more human than human. All those hookers on Harbor Street. (Tanisha, I still remember you!!!) Jesus Christ!!!@# A Zack Lopez production.* * I am in no way related to Bill Clinton.** ** In theory.*** *** Well, I have no proof that I'm not related to Bill Clinton, but I can be sure that I'm not.**** **** On second thought, I can't; both he and I always seem to get chicks quite easily, so he must be part of my family...***** ***** Searching through my family tree, there are no Clintons in it. There is one Charles Manson, but that's the onlywhite person in my tree.****** ****** Bob Hope doesn't count, because he's practicallya walking corpse.
Created using unregistered Tarantula |