spannerisms / usdasm

GNU General Public License v3.0
3 stars 0 forks source link

Many bin files required #1

Closed Nalwonk closed 4 months ago

Nalwonk commented 9 months ago

I wasn't sure how else to ask this, and I'm sorry if I'm being a bother, but it there some reason this version of the disassembly requires so many specific bin files while the Japanese one just has a select few, and a tool that will set them up for you?

It seems like a lot to ask to have someone manually grab each individual graphics page, for example and make a file for it.

Sorry for the bother, again.

spannerisms commented 4 months ago

This disassembly is meant more as a supplement for general hacking with existing tools such as ZScream. Really, I just wanted a way to see every individual instruction's address. The Japanese 1.0 version of the game is the one that interests me the most, and that's why it has what has admittedly—but proudly—excessive documentation of everything, even the encoding of compressed data. Including such documentation for the US version felt redundant.

I stripped out all of the general annotations and squished the large chunks of data into individual files, because I don't want to maintain two nearly-identical projects at the same ridiculously high standard. I've been making sure label changes are kept in sync, and even that's a chore.

As for why there's no program packaged with the disassembly: in my experience, the only people actually building these disassemblies use operating systems other than Windows. I am a person who is fine with Windows, and none of the languages I use are cross-platform. Except for Java. But people don't like Java. I was able to get someone to help with the Japanese version, because he has a lot of interest in that version as well. Also, he's a nice guy, but I don't want to take advantage of his kindness. He has plenty of projects of his own that I have no right to steal him away from.

I also don't consider building the disassemblies to be all that important. Their primary purpose is documentation and analysis of the game's code. Complete assembly to me is just a verification that the disassembly is 100% accurate.

All that said, I would accept a PR that adds a Python program for extracting the required files. It should be an easy task for anyone familiar enough with the language. I made sure to include SNES bus addresses and sizes with every file.