The following warnings occurred:
Warning [2] count(): Parameter must be an array or an object that implements Countable - Line: 895 - File: showthread.php PHP 7.3.33 (Linux)
File Line Function
/showthread.php 895 errorHandler->error




Users browsing this thread: 1 Guest(s)
Expanding Names and Renaming

#1
Posts: 831
Threads: 41
Thanks Received: 16
Thanks Given: 12
Joined: Nov 2009
Reputation: 18
Status
None
[Incomplete!]

I will use this thread to share information to those who wish to have a guide to hex hacking - specifically to do the task of renaming spells, esper names, attacks, lores, and items, among other things. I've always been bothered by the translation of spells, espers and everything else in the game, but it wasn't until this summer that I decided to learn hex myself and start doing these changes after seeing metroidquest's hack "the eternal crystals". Though I'm far from finished, I believe people should have easy access to this data.

Helpful information:
--Final Fantasy 6 Banks (Some information as of the location of the data you need is located here: )
http://slickproductions.org/docs.php?id=FF6

Before I start, please keep the following detail in mind:

1- If you wish to edit something IN BATTLE, then you'd best look for the disassembly banks "C1" and "C2", as the battle data is contained in these files.

2 - If you wish to edit something in the MENUS, then look for the disassembly bank "C3".

This means that the game is accessing data for battles and menus from one address.

1 - Magic Spells in the game

In Menu:
C3/4FA1:   A20300   LDX #$0003   (X position of left half of spells)
C3/4FAC:   A21000   LDX #$0010   (X position of right half of spells)
C3/4FB5:   A00700   LDY #$0007   (spell letter length)
C3/4FBA:   A067F5   LDY #$F567   (spell name address)
C3/4FBF:   A9E6     LDA #$E6      (spell name bank)
C3/5052:   A2929E   LDX #$9E92   (position of spell progress)
C3/5AF9:   A2929E   LDX #$9E92   (space between spell name and ':')
C3/87CB:   AE3421   LDX $2134

In Battle:
C1/601A:   A907     LDA #$07 (7 = spell name length)
C1/6031:   BF68F5E6 LDA $E6F568,X (Load Spell name X)
C1/65E8:   A907     LDA #$07 (from C1/65AA)(7 = spell name length)
C1/65F3:   BF67F5E6 LDA $E6F567,X (Load Spell name X)
C1/6B1D:   A907     LDA #$07
C1/6B2E:   BF67F5E6 LDA $E6F567,X (Load spell name X)

In simpler words, the "address" E6 F5 67 contains the spell names in the ROM (that is, using the HIROM notation).

Spells are limited to 7 characters, including the icon that specifies whether it's a healing, attack or support spell. So if you'd like to expand the spell names in battle, for example, to 10 characters, you would need to replace the "07" bytes in the C1 bank (addresses C1/601A, C1/65E8 and C1/6B1D) to "0A".

When increasing the number of characters from 7 to 10 in the example, you will run into a problem: you will see that to successfully rename the spells you will need to overwrite some data from other parts of the game, which will in turn screw up your ROM. You will need to make some space in your ROM to create the new spell names.

That is where the addresses C1/6031 , C1/65F3 , and C1/6B2E come into play. When you create the new spell names, you will need to "tell the ROM" to "look for the new spell names" in the address you've created them. If the spell data is created at "F0 11 03", then I would need to change the three locations above mentioned from the old address to "F0 11 03".

2 - Lore Names:

In Menu:

C3/525D:   A20300      LDX #$0003    (Starting position of Lore list in menu)
C3/5266:   A00A00   LDY #$000A   (lore name length)
C3/526B:   A0FDF9   LDY #$F9FD   (lore name address)
C3/5270:   A9E6     LDA #$E6      (lore name bank)
C3/5295:   A2959E   LDX #$9E95   (position of ... in lore menu)  
C3/5C91:   B7818BA8AB9E00             (position of and word "Lore")

In Battle:
C1/6665:   A90A     LDA #$0A      (from C1/665E)(10 = lore name length)
C1/6670:   BFFDF9E6 LDA $E6F9FD,X (Load Lore name X)

Lore Names are 10 characters long (both in battle and in the menu). You will need to create the new lore names in a new address and tell the rom to look for the new names.

3 -Esper Names:

In MENU:
C3/34F4:   A00800   LDY #$0008     (esper name length)
C3/34F7:   BFE1F6E6 LDA $E6F6E1,X  (Load Esper name)
C3/34F0:   0A       ASL A
C3/34F1:   0A       ASL A
C3/34F2:   0A       ASL A
C3/3508:   A00800   LDY #$0008
C3/54E6:   A20300   LDX #$0003      (X position of left half of espers)
C3/54F1:   A21100   LDX #$0011      (X position of right half of espers)
C3/54FA:   A00800   LDY #$0008      (esper name length)
C3/54FF:   A0E1F6   LDY #$F6E1      (esper name address)
C3/5504:   A9E6     LDA #$E6        (esper name bank)
C3/5539:   A2939E   LDX #$9E93
C3/555D:   A00C00   LDY #$000C     (esper name is 8 letters, 1 for space, 3 more for MP cost)
C3/59BD:   0A       ASL A
C3/59BE:   0A       ASL A
C3/59BF:   0A       ASL A
C3/59C0:   AA       TAX
C3/59C1:   A00800   LDY #$0008 (Indirectly says below is 8 chars long)
C3/59C4:   BFE1F6E6 LDA $E6F6E1,X (Load Esper X's name)

In BATTLE:
C1/5FF3:   A908     LDA #$08 (8 = Esper name length)
C1/6007:   BFE1F6E6 LDA $E6F6E1,X (Load Esper name X)
C1/65D0:   A908     LDA #$08 (8 = Esper name length)
C1/65DB:   BFE1F6E6 LDA $E6F6E1,X (Load Esper name X)
C1/668D:   A908     LDA #$08 (from C1/6686)(Sets name length?)
C1/6698:   BFE1F6E6 LDA $E6F6E1,X (Loads Esper name X)
C2/E091:   04 03       TSB $03        (Change the 04 bit)

For esper names, the easy part comes in editing the names in battle.

4- Item Names

In Menu:

C3/2714:   A90D        LDA #$0D (13 = item name length)
C3/271F:   BF00B3D2    LDA $D2B300,X (Get letter at D2B300 + (index * 13) of item name)
C3/80D4:   A90D        LDA #$0D
C3/80DF:   A00D00     LDY #$000D     (Start the count of letters at 13)
C3/80E2:   BF00B3D2 LDA $D2B300,X  (Load letter X of item name)
C3/85BC:   BF348DC3    LDA $C38D34,X  (grab " can be used by:")
C3/85C7:   C01100      CPY #$0011     (length of " can be used by:" ??)
C3/85CE:   E00D00   CPX #$000D      (at most, uses the full item name length before putting in "can be used by:")
C3/900D:   A00D00   LDY #$000D
C3/9010:   BF00B3D2 LDA $D2B300,X  (load item X name)
C3/901F:   A00D00   LDY #$000D     (item name length)
C3/9D3D:   A00D00   LDY #$000D     (in equip screen, when manually equipping)
C3/9D40:   BF00B3D2 LDA $D2B300,X  (item name)
C3/9D4F:   A00D00      LDY #$000D    (write 13 blank spaces)
C3/C07D:   A90D     LDA #$0D
C3/C088:   A00D00   LDY #$000D    (item name length in shops)
C3/C08B:   BF00B3D2 LDA $D2B300,X (item name)
C3/80ED:   A9C1        LDA #$C1      (colon in the font)
C3/80F6:   A01000   LDY #$0010    (blank out item name, colon, and quantity)
C3/93FF:   A21B7A   LDX #$7A1B     (position of the R-hand slot)
C3/9411:   A29B7A   LDX #$7A9B     (position of the L-hand slot)
C3/9451:   A21B7B   LDX #$7B1B     (accessory, slot 1)
C3/945F:   A29B7B   LDX #$7B9B     (accessory, slot 2)

In Battle:
C1/6052:   A90D     LDA #$0D (13 = item name length)
C1/6069:   BF01B3D2 LDA $D2B301,X (Load item name X)
C1/6527:   A90D     LDA #$0D (13 = item name length)
C1/6530:   BF00B3D2 LDA $D2B300,X (Loads Item name X)
C1/653D:   A907     LDA #$07
C1/654B:   BF006FD2 LDA $D26F00,X (Loads Weapon/Armor type word X)
C1/6561:   A90D     LDA #$0D
C1/6568:   A90D     LDA #$0D
C1/6574:   A90D     LDA #$0D (13 = item name length)
C1/6578:   BF00B3D2 LDA $D2B300,X (Loads Item name X)
C1/6A47:   A90D     LDA #$0D (13 = item name length)
C1/6A58:   BF00B3D2 LDA $D2B300,X (Loads Item name X)
C1/6A91:   A90D     LDA #$0D (13 = item name length)
C1/6AA2:   BF00B3D2 LDA $D2B300,X  (Loads Item name X)
Quote  



Messages In This Thread
Expanding Names and Renaming - by Angelo26 - 10-12-2010, 01:24 AM
RE: Hex Hacking - Names - by SSJ Rick - 10-12-2010, 10:11 AM
RE: Hex Hacking - Names - by Angelo26 - 10-12-2010, 11:51 PM
RE: Hex Hacking - Names - by SSJ Rick - 10-13-2010, 10:46 AM
RE: Hex Hacking - Names - by Angelo26 - 12-15-2010, 10:59 PM
RE: Hex Hacking - Names - by Angelo26 - 10-14-2010, 10:17 PM
RE: Hex Hacking - Names - by Angelo26 - 11-09-2010, 03:46 AM
RE: Hex Hacking - Names - by SSJ Rick - 11-09-2010, 03:47 AM
RE: Hex Hacking - Names - by Angelo26 - 11-09-2010, 04:07 AM
RE: Hex Hacking - Names - by SSJ Rick - 11-09-2010, 04:12 AM
RE: Hex Hacking - Names - by Rodimus Primal - 06-08-2013, 10:38 AM
RE: Hex Hacking - Names - by SSJ Rick - 06-08-2013, 12:26 PM
RE: Hex Hacking - Names - by madsiur - 06-08-2013, 12:37 PM
RE: Hex Hacking - Names - by Angelo26 - 06-08-2013, 04:49 PM
RE: Hex Hacking - Names - by the_randomizer - 06-08-2013, 08:12 PM
RE: Hex Hacking - Names - by SSJ Rick - 06-08-2013, 08:47 PM
RE: Hex Hacking - Names - by Angelo26 - 06-08-2013, 11:24 PM
RE: Hex Hacking - Names - by madsiur - 06-09-2013, 12:54 AM
RE: Hex Hacking - Names - by the_randomizer - 06-09-2013, 01:47 AM
RE: Hex Hacking - Names - by Rodimus Primal - 06-09-2013, 05:28 PM
RE: Hex Hacking - Names - by JWhiteLXXXIX - 06-09-2013, 06:49 PM

Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite