øAslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;area=showposts;sa=topics;u=116e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index8023.htmlslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;u=116e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index8023.html.zxj†h^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈPˬ=OKtext/htmlISO-8859-1gzip0|Ö¬=ÿÿÿÿÿÿÿÿWed, 11 Mar 2020 06:50:43 GMT0ó°° ®0®P®€§²ð®j†h^¬= Show Posts - Novalia Spirit

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Novalia Spirit

Pages: 1
1
Game Modification Station / New bank C3 disassembly, and related docs
« on: July 12, 2016, 11:34:15 PM »
From the official description:

Quote
A set of fully commented disassemblies and complementary documents pertaining to bank C3 from the SNES versions of Final Fantasy VI. The bank handles all of the field menus, as well as ending scenes that are beyond the scope of the event program.

The archive includes:
  • A reassemblable, optimized disassembly of bank C3. As it stands, the bank is reduced by 26,021 bytes, and is consequently 42.3% smaller.
  • An alternative version of the optimized disassembly that sacrifices an insignificant amount of space in favor of definitions for global text arrays.
  • A reassemblable, unmodified disassembly of bank C3. Recommended for projects of limited scope or for testing purposes. Useful for reverting modifications, for locating data, or for determining loop points or entry points.
  • A basic disassembly of bank C3. The main purpose of this document is to provide the address of every instruction in an unmodified game.
  • A basic disassembly of bank D4, which acts as an extension of bank C3. A reassemblable, unmodified version is also included.
  • A basic disassembly of bank C2, a hodgepodge in terms of content, purged of code and data irrelevant to bank C3.
  • A complete memory map, one for the menus and one for the ending, that details the structure of both RAM and VRAM.
  • A character table required by the assembler to convert game text to hex.
  • Define-type directives that cover hard-coded and untypable characters, as well as global text arrays.
  • Release notes that include additional information such as abbreviations and compilation instructions.
The current plan is to produce an equivalent of each document for the Super Famicom version. Given the abundance of memory available, the implementation of labels for RAM addresses was dismissed as impractical. In the same vein, the size of every instruction is not explicitly specified at this time.

This project is the result of more than a thousand hours of effort. In order to address concerns regarding accuracy and consistency, all of the documents were written from scratch. My own contributions to the existing bank C3 disassembly, such as the long list of menu commands near the beginning of the document, were not even consulted.

As might be expected, my annotation system has evolved quite a bit over the years: comments are now denoted by a semicolon instead of parentheses, which arguably enhances readability, and are generally far more useful and accurate; they are also brief and concise, though admittedly terse in some areas; most functions are now divided into subsections, improving not only readability, but also comprehension, as the segment titles often compensate for the terseness. Oh, and yes, I still comment every single line individually... sorry if I got anyone's hopes up! :P

I might post a list of bug findings, content that has been cut, version differences, and other observations if the thread garners enough interest.

Download link: http://www.romhacking.net/documents/736/

Pages: 1