Skip to content

Modoh/FF5Assembly

Repository files navigation

FF5Assembly

Complete assembly code for FF5's C2 bank (battle logic).

This isn't just commented diassembly. All of the addresses are labeled, so code can be added easily without being limited by the size of the original routines, just the size of the entire bank. The ff5_structures file is also useful as a fairly complete memory map.

Optionally, some gameplay tweaks and bug fixes can be enabled. Right now, that includes allowing Magic Sword with more weapon types, adjusting damage formulas for knives and a few others, and fixing Power Drinks. These haven't been tested much yet and I plan to expand on this side of things, such as implementing Sword Slap. Regardless, the original code and behavior will always be available.

Assembles with the Asar assembler (v1.81), patching over an existing FF5 rom. Can be configured to generate byte identical data to the original rom. It should work with any FF5 rom or hack of it, but will overwrite any changes in the battle portion of the C2 bank ($C20000-C29FFF). The menu code starting at $C2A000 is unaffected (which is good, because most translations make changes there).

I don't currently have plans to expand this project outside the C2 bank battle code, but that could change in the future.

c2battle.asm

This is the main file holding the C2 bank code. This is what should be fed to the Asar assembler.

ff5_structures.asm

Labels all of the memory and rom locations that the battle code accesses. Also serves as something of a memory map.

settings.asm

Settings for the assembler, such as whether to include gameplay tweaks or restrict code to its original addresses.

macros.asm

Utility macros to generate jump tables, among other things.

outsidec2.asm

Holds no code, only labels to routines called outside the C2 bank.

attacktweaks.asm damagetweaks.asm

These implement the combat tweaks, if enabled in settings.

About

FF5 C2 combat code, fully labeled and relocatable within its bank

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published