Custom Text Box [Vega] This code will allow you to place in custom text at any desired text box. View the info at the bottom to know how to select the specific text box that you want to overwrite. XXXXXXXX = MemPointer (view bottom of file for more info) YY = Second digit of 1st 16-bit ASCII character ZZZZ's = 16-bit ASCII characters The string of text must be 16-bit ASCII aka Wide ASCII. However, in the game, all 1st ASCII characters for strings are FEYY, where YY is the 2nd portion. This YY value follows 8-bit ASCII because the first portion must be FE. Your string *MUST* end in 0000. Any unfilled ZZZZ's should be filled to 0000. Example string: 123abc 123abc in 16-bit ASCII = 0031 0032 0033 0061 0062 0063 YY = 31 ZZZZ's are.. 00320033 00610062 00630000 <--- Notice the 0000 at end, all strings *MUST* end in 0000 rest of unfilled Z's must be 0's. Final NOTE: Your new string cannot be longer than the original/legit string. If so, it will be cut short when displayed in the game. NTSC-U C202B26C 00000018 7FC40214 3D80XXXX 618CXXXX 7F8CF000 409E00AC 48000085 0000FEYY ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ ZZZZZZZZ 7D8802A6 397EFFFF A54B0002 2F8A0000 419E0014 A54C0002 2F8A0000 B14B0000 409EFFE8 00000000 Code creator: Vega ========== Source: #START ASSEMBLY #Address #NTSC-U = 8002B26C #Register notes and safety #r30 (after og instruction) = MemPointer (exact pointer to text/string) #LR = safe #****cr0 *NOT* safe**** #Author's Note! #For whatever reason setting r30 to our custom pointer won't work but it causes all other text box instances to be cleared (text everyelse is wiped). I cannot figure out what the reason for this is so a quirky fix is instead of adjusting r30 to point to our BL table, we will simply transfer data from BL table to Memory to overwrite legit string #Another note (to other coders/devs) #Yes you can modify this to where you can have swap/overwrite text LIVE (changes work in real time instantly). #Original Instruction add r30, r4, r0 #Set User's Pointer, each menu and submenu have their own text root pointer constant lis r12, 0x915A ori r12, r12, 0x0660 #"Fight against the computer" used, adjust this to your needs #Check if pointers are a match & branch cmpw cr7, r12, r30 bne- cr7, end #Everything is a match, set the Custom Text Table. Text (except first byte) is 16-bit ASCII bl custom_text #Max length is 0x80 bytes .short 0x0000 #This must be null, it allows the loop to not have to decrement the first load address .byte 0xFE #2nd byte of Magic Header, don't edit this, fyi we don't need 1st byte of magic header in our code .zero 0x7D custom_text: mflr r12 #Transfer text, stop transferring once we hit legit string's null terminator addi r11, r30, -1 transfer: lhzu r10, 0x2 (r11) cmpwi cr7, r10, 0 #For the case if user's string is longer than legit string beq- cr7, end lhzu r10, 0x2 (r12) cmpwi cr7, r10, 0 #Prevent possibility of instructions in code getting transferred to memory after null terminator. Nothing will spill over to a lower legit string due to above cmpwi instruction, but it's not good practice to have junk placed into memory. Nothing should occur if we let it, but just in case... sth r10, 0 (r11) bne+ cr7, transfer #End end: #END ASSEMBLY ========== How to fill in XXXXXXXX (MemPointer): Here's a list of all the XXXXXXXX values I've documented so far (too lazy to do them all, maybe one day...). Don't worry about the number on the far left, it's irrelevant to this code. Main Menu 0 - 9137ADC0 - Dragon Ball Z Budokai Tenkaichi 3! 1 - 9137AE40 - Dragon Ball Z Budokai Tenkaichi 3! 2 - 9137AE90 - Dragon Ball Z Budokai Tenkaichi 3! 3 - 9137AF40 - Dragon Ball Z Budokai Tenkaichi 3! 4 - 9137AFC0 - Dragon Ball Z Budokai Tenkaichi 3! 5 - 9137B040 - Dragon Ball Z Budokai Tenkaichi 3! 6 - 9137B0C0 - This should be fun! 7 - 9137B100 - Check out my moves? 8 - 9137B140 - Don't underestimate Earth! 9 - 9137B180 - Humph! I'll win! A - 9137B1C0 - Attack! B - 9137B200 - I'll challenge you Goten! C - 9137B240 - Please choose the mode you want to play. D - 9137B2C0 - Gohan where will you take me today? E - 9137B340 - Trunks. Hurry up and let's play! F - 9137B3C0 - Hey! What'll we play today? 10 - 9137B400 - Experience some epic battles here! 11 - 9137B480 - This is where you can experience most of Gohan's adventures. 12 - 9137B500 - Fight even cooler than usual. 13 - 9137B540 - You can fight various battles here. Goten! Let's hurry and do this! 14 - 9137B600 - You can enjoy tons of battles. Have fun fighting, okay? 15 - 9137B680 - There are many great battles here. I wonder if I can do this? 16 - 9137B700 - There's a lot of interesting looking battles! Gohan can I do this too? 17 - 9137B7C0 - Woah! Tons of battles. I wonder if it's more fun than the amusement park? 18 - 9137B880 - You can participate in various martial arts tournaments throughout the world. 19 - 9137B940 - Dad will probably be the winner but, I wonder I can enter too? 1A - 9137BA00 - You can participate in various tournaments! But I'll be victorious. 1B - 9137BAC0 1C - 9137BB80 1D - 9137BC00 1E - 9137BCC0 - Gohan, Gohan. Hurry. Let's do this. 1F - 9137BD40 20 - 9137BE00 - You can fight with friends far away, all sorts of people. 21 - 9137BE80 22 - 9137BF00 23 - 9137BF80 24 - 9137C040 - You can buy Z items, and strengthen your character. 25 - 9137C0C0 26 - 9137C140 27 - 9137C1C0 28 - 9137C240 - Learn how to move and how to fight, and also practice here. 29 - 9137C2C0 2A - 9137C340 2B - 9137C3C0 2C - 9137C440 2D - 9137C500 2E - 9137C5C0 2F - 9137C680 - If you enter a password, a strong fighter can be summoned. 30 - 9137C700 31 - 9137C7C0 32 - 9137C8C0 33 - 9137C900 - You can study everyone's information. Whoa, there's a lot of people. 34 - 9137C9C0 35 - 9137CA80 - You can configure the game settings. Set it up however you like, okay? 36 - 9137CB40 37 - 9137CBC0 38 - 9137CC40 - You can use the Dragon Balls to summon Shenron. 39 - 9137CCC0 - You can summon the Eternal Dragon. I really want to see what it looks like. 3A - 9137CD80 - Here you can summon Shenron. 3B - 9137CDC0 - I'll call Shenron and get a wish granted. 3C - 9137CE40 - I'd like to try gathering the Dragon Balls to summon Shenron and get a wish 3D - 9137CF00 - Alright! The Dragon Balls are gathered! A new item should have been added 3E - 9137CFC0 - Gathering the Dragon Balls was pretty easy, wasn't it Trunks? 3F - 9137D040 - I want to try gathering the Dragon Balls. I want to have a wish granted soon. Duel 0 - 915A0620 - Now, let me enjoy the fight. 1 - 915A0660 - Fight against the computer. 2 - 915A06A0 - Fight against another Player! 3 - 915A06E0 - Watch the computer fight. 4 - 915A0720 - Nappa! Prepare for battle! 5 - 915A0760 - This is a serious one on one match! 6 - 915A07E0 - This is a team fight. Nappa! Follow me! 7 - 915A0860 - Form a team using limited Destruction Points! 8 - 915A08E0 - Hey uh... Think if we went Super Saiyan, my goatee would grow? 9 - 915A0960 - Time to fight! A - 915A09A0 - Entertain me as much as you can. B - 915A0A20 - Alright Nappa, let's do this! Character Selection within Duel 0 - 9169DE40 Goku (Early) 1 - 9169DE80 Goku (Mid) 2 - 9169DEC0 Goku (Mid) ss slot 3 - 9169DF00 Goku (End) 4 - 9169DF40 Goku (End) ss slot 5 - 9169DF80 Goku (End) ss2 slot 6 - 9169DFC0 Goku (End) ss3 slot 7 - 9169E000 Goku (GT) 8 - 9169E040 Goku (GT) ss slot 9 - 9169E080 Goku (GT) ss3 slot A - 9169E0C0 Goku (GT) ss4 slot B - 9169E100 Kid Goku C - 9169E140 Great Ape D - 9169E180 Kid Gohan E - 9169E1C0 Teen Gohan F - 9169E200 Teen Gohan ss slot 10 - 9169E240 Teen Gohan ss2 slot 11 - 9169E280 Gohan 12 - 9169E2C0 Gohan ss slot 13 - 9169E300 Gohan ss2 slot 14 - 9169E340 Great Saiyaman 15 - 9169E380 Ultimate Gohan etc etc... Dragon History 0 - 950100C0 - Hey! I'm Goku. 1 - 95010100 - Experience some epic battles here! 2 - 95010180 - Your actions will change your enemies' actions, 3 - 95010200 - so you can either reproduce our experiences, or you can fight your own battles! 4 - 950102C0 - Well then, let's try it! 5 - 95010300 - Fight in many unique battles! 6 - 95010340 - Set your opponent’s strength level! Try playing with various levels. 7 - 95010400 - I recommend this level of difficulty if you aren’t used to playing yet 8 - 950104C0 - Once you get used to playing, this is a good difficulty level. It’s pretty tough, so don’t your guard down. 9 - 950105C0 - If you wanna fight really strong guys, this is awesome! A - 95010640 - Huh? What's wrong? B - 95010680 - I met Bulma here. C - 950106C0 - This is where I grew up. I have many memories of being with Grandpa here. D - 95010780 - The fish here is great. I ate it a lot when I was a kid. E - 95010800 F - 950108C0 10 - 95010980 11 - 95010A00 12 - 95010A80 13 - 95010B00 14 - 95010B40 15 - 95010BC0 16 - 95010C80 - The Saiyan Saga. Incredible fighters like my brother, Vegeta, and many others will appear 17 - 95010D40 18 - 95010DC0 - The Frieza Saga. That was the great battle on Planet Namek. 19 - 95010E40 1A - 95010EC0 - The Android Saga. Gohan players a big part in this one! 1B - 95010F40 1C - 95010FC0 - The Majin Buu Saa. Majin Buu is the strongest opponent yet. Even I don't know what'll happen this time. 1D - 950110C0 1E - 95011100 - The Dragon Ball GT Saga. It's me... little... again! 1F - 95011180 20 - 950111C0 - The Special Saga. Lots of interesting enemies and encounters here. 21 - 95011280 22 - 95011340 - The Dragon Ball Sage. It's the story of when I was a kid. 23 - 950113C0 24 - 95011400 - The What If Saga. What if there are battles, even I don't know about?! 25 - 950114C0 26 - 95011540 27 - 95011580 28 - 95011600 29 - 95011640 2A - 95011680 2B - 95011700 2C - 95011740 2D - 950117C0 2E - 95011880 2F - 950118C0 - Thanks for playing all the way through to the end! Come back and play anytime! Dragon History Saiyan Saga 17 - 913275E0 - This is the fight with Goku's older brother Raditz. Teaming up with Goku almost made me vomit. Options 0 - 915FFAE0 - Here you can set the various game options. 1 - 915FFB60 - Save and load game data. It's a good idea to save often. 2 - 915FFBE0 - Change the settings of the battle camera. 3 - 915FFC60 - Adjust the sound settings to match your house and surroundings. 4 - 915FFCE0 - Change your controller settings. 5 - 915FFD60 - Save the settings you changed and return to the Main menu. 6 - 915FFDE0 - Your options settings have been changed. 7 - 915FFE60 - Change the type of game camera. 8 - 915FFEE0 - Set the screen shaking ON or OFF. 9 - 915FFF60 - Adjust the screen position. A - 915FFFA0 - Settings will be reset to default settings. B - 91600020 - Adjust the audio settings. C - 91600060 - Set output to mono, stereo, or surround sound. D - 916000E0 - Adjust background music and sound effects volume. E - 91600160 - Adjust background and music volume. F - 916001E0 - Adjust sound effects volume. 10 - 91600220 - Adjust voice volume. 11 - 91600260 - Listen to background music. 12 - 916002A0 - You can change the dialogue to English or Japanese. 13 - 91600320 - The Wii remote's speakers can be turned ON or OFF. 14 - 916003A0 - When set to ON, some sound effects will paly from the speaker. 15 - 91600420 - Change the controller configuration for battle commands. 16 - 916004A0 - Change the type of controls used to fight. This only applies to Nunchuck style. 17 - 91600560 - Change the type of controls used to fight. 18 - 916005E0 - Turn vibration ON or OFF. 19 - 91600620 - Turn rumble ON or OFF. 1A - 91600660 - If rumble is OFF on the Wii Remote Settings, rumble won't work. 1B - 91600720 - Adjust the sensitivity of the Wii Remote. 1C - 916007A0 - Change Player One's controller. 1D - 91600820 - Change Player Two's controller. 1E - 916008A0 - Normal, right? This is the default button configuration. 1F - 91600920 - OK, Custom. Press and hold and use the directional buttons to change and assign an action to it. 20 - 91600A20 - This control type allows you to freely move your character. 21 - 91600AA0 - [Nunchukc Style only] Preform the techniques easily just by shaking the Wii Remote. 22 - 91600B60 - Return button settings to the defaults. 23 - 91600BE0 - You can change the button configuration however you like. 24 - 91600C60 - Turn Simple Control Mode ON or OFF. 25 - 91600CE0 - Simple Control Mode is ON. 26 - 91600D20 - Simple Control Mode is OFF. 27 - 91600D60 - The vibration setting is ON. 28 - 91600DA0 - The vibration setting is OFF. 29 - 91600DE0 - The rumble setting is ON. 2A - 91600E20 - The rumble setting is OFF.