• Welcome to Final Fantasy Hacktics. Please login or sign up.
 

Comprehensive Disassembly Text Files - Personal Project

Started by nitwit, March 30, 2020, 05:42:14 pm

nitwit

I'm posting this here on the chance that someone else is working on getting all the data tables and disassembled routines on the wiki into a form which can be assembled. Right now it's just copies of most of the disassembled routines for the files straight from the wiki.  Attached is a zipped folder with text files containing the disassembled routines.

It's more tedious than difficult, but with current circumstances being what they are I have more free time than usual. If you want to have the disassembled routines in a convenient off-line form, this would be it. If you have additional information not found in these files or one the wiki, please share or update the wiki.

Goals
  • Rip the disassembled routines from the files I haven't done yet from the wiki into the appropriate text files.
  • Add the missing routines into these text files.
  • Add data tables to the text files.
  • Make a duplicate set of files named with the *.asm extension instead of the *.txt extension, for assembling.
  • Replace all the routine calls in *.asm with labels.
  • Replace operands with labels where appropriate in *.asm; will require a bit of thought or maybe pseudo-opcodes.
  • Put data tables in the *.asm files in a form which my assembler will recognize, ideally using labels so they can be resized and altered at will.
  • Put compressed text tables, uncompressed text tables where they exist, and metadata/pointers for media assets into the files or devise some way to automate their creation given a set of inputs.
  • Do whatever else I currently don't know to get the *.asm files to assemble.
  • Apply all the essential and definitive bug-fixes, optimizations, and extensions to the *.asm files.
  • Improve comments in both *.txt and *asm files.
  • Discuss, plan, and implement new optimizations and extensions.
  • Port the codebase and assets to a platform that allows more resources for improving and expanding the codebase, data, and assets, such as the PS2 or PSP. Please note that the PSP version is hardly a real port.

It wouldn't be a bad idea to upload these files to a source host that allows incremental revision such as Github. I make no claims of copyright to any of these files.

I use the assembler ARMIPS.

This thread may be useful if it isn't already incorporated in the wiki.

As of the last edit of this post I have grabbed all the wiki entries on equip.out and require.out; they are in the zip file below. I'm going with the smallest files first. They are missing quite a few disassembled routines which weren't in or disappeared from the wiki, and the comments are sparse compared to SCUS and the battle.out file.

Let me know if you have any issues with these files.
  • Modding version: PSX

Xifanie

Quote from: nitwit on March 30, 2020, 05:42:14 pmIt's more tedious than difficult
My ASM dyslexia says otherwise lol.

That's a really cool project though, I approve! I've always been super thankful for the wiki documentation and the more there is, the better. 🙂
I wish I could help (hell I wish I could've when I was healthy), but I'm going to leave it up to you and others!

Good luck! Great project.
  • Modding version: PSX
Anything is possible as long as it is within the hardware's limits. (ie. disc space, RAM, Video RAM, processor, etc.)
<R999> My target market is not FFT mod players
<Raijinili> remember that? it was awful

nitwit

If anyone's wondering, I'm still working on this but it's going very slow. I'm halfway through world.bin right now. Should be done in another 12 hours of work, which for reasons of sanity I can't do all at once.

You can find out if any routines are missing by searching for the text "missing" in any given file. There are quite a few that were never disassembled, or were disassembled and lost. A handful of wiki pages seem like they existed at one point but now don't. I'll hold off on disassembling those routines and adding them until after I'm finished with all the others and after I add the data tables.
  • Modding version: PSX