I need help with a 'mystery' code located in my project's F0 bank - Printable Version +- FF6 Hacking (https://www.ff6hacking.com/forums) +-- Forum: Discussion Forums (https://www.ff6hacking.com/forums/forum-5.html) +--- Forum: Magitek Research Facility (https://www.ff6hacking.com/forums/forum-9.html) +--- Thread: I need help with a 'mystery' code located in my project's F0 bank (/thread-4137.html) |
I need help with a 'mystery' code located in my project's F0 bank - Marketa Lazarova - 08-07-2021 Hello, For the past ten years or so, I've been working on a personal project for the game which has grown exponentially beyond my initial ambitions. My latest such ambition is to properly expand the dialog of the game and re-do the script. As I have also used an obsolete version of Fantasy VI: Restored Ability Names as a base, which relocates spell, esper and skill names to the F0 Bank where FF3usME places expanded dialog, I am in trouble, because the expanded script will eat all of my spell names and class names. This will require me to either completely re-direct the relevant pointers for spell stuff, or learn how to use Kruptar (Atlas does not seem to work on my PC). I'm hell bent on re-directing those pointers for now, because Kruptar is very much out of my league. as I am unfortunately strictly an amateur. I think I'm determined enough to figure this out...eventually. But (this is the important part!) I've run into a snag: there are 54 bytes located in the F0 bank, starting at 00303600 and ending at 303635, which I can not account for...except in that, as the first thing I tried to do was over-write them all with commands FF, they are apparently vital to opening the menu! Whatever this line of code is, it is now essential, but I will have to move it if I am to proceed this way, as the extended dialog will eat that too. Here is the code: Code: 00303600 - C2 20 B9 00 00 29 FF 00 0A AA BF 00 63 F0 AA A0 Compounding this mystery, I've also managed to lose all of my documentation associated with this project, and it is only because of sharing copies of the ROM with friends that the project itself has not been lost completely. So I have no idea where this code comes from. I am at something of a loss. I suspect that this line of code may have to do with the restored character class names, as that is the next thing in the code, but I cannot be sure. I also believe that a line in the code, located at 0003F2A6, may be a pointer to this line of code, as it does not appear in a raw version of the rom, and reads... Code: 22 00 34 F0 ...which seems to be a three byte jump routine, to the F0 bank at 00303600 (it is a headered ROM). But I could be completely off base. Can anybody make sense of this? Any and all assistance would be welcome. I can even whip up a quick patch of my work so far if you want to try a hands-on approach. RE: I need help with a 'mystery' code located in my project's F0 bank - NPCnextdoor - 08-08-2021 Hello. When I disassemble the code, it looks like this: Code: m=false,x=false The RAM address $2180 has to do with skills being learned. From the wiki: Quote:$208E-$21C9 Character Spell Lists (4 * 79 items [1 esper + 54 spells + 24 lores], 4 bytes each) Also, it seems you have two tables containing values, one at F0/0000 and one at F0/6300. That's the preliminary information I can provide without my first coffee in the morning. RE: I need help with a 'mystery' code located in my project's F0 bank - SilentEnigma - 08-08-2021 This is a new subroutine for the character class names. Angelo moved it in later versions to F2/3400. I pulled the following from my own update's readme: Code: Original: And a the subroutine itself from my notes... Code: New Subroutine F2/3400: Hope that helps! RE: I need help with a 'mystery' code located in my project's F0 bank - Marketa Lazarova - 08-08-2021 I'll say it was helpful! I think I may be able to get this to work after all; especially using the readme from your update. Its too late for me to apply the update itself (and I did try - disaster!) but I think I can work with what I have. One more little nibble of concern. This following line of code appears at address 30C400, and its the only other portion of F0 bank I can't account for... Code: 48 A5 E8 C9 38 F0 02 80 0F A5 E7 C9 82 90 09 A9 ...I picked at it a little, and have decided it has something to do with the display of status effects in menus in the context of the class subroutine, as changing the data causes the game to crash when the menu is called up while under the influence of a status effect, or when changing status effects in the menu. As it appears rather late in F0 bank, it may not actually ever get over-written, but I don't know where it is, nor where it is referenced to from the rest of the data. I can't seem to find any reference to it in your readme or anything identical or similar to it in the original data. RE: I need help with a 'mystery' code located in my project's F0 bank - SilentEnigma - 08-30-2021 This is indeed a subroutine that has to do with class names, which get overridden whenever status icons display in the same space (as you may know). Not sure when it gets called, though, so I cannot confirm or deny your specific findings. Later versions of Angelo's patch again moved it from the $F0 bank to the $F2 bank. ...So in my copy it shows up at 32C400 (headered file) = F2/C200. Code: Original I think the above is the only reference you will need to fix when you move the data. |