I don't remember off top of my head, that was a really long time ago. Pretty sure it was just engine/battle/core.asm and a new file called engine/battle/physical_special_split for the code and type_constants.asm for the new constants I used to declare each move as Physical, Special, or Status.
Basically, you should be able to just search "PhysicalSpecialSplit" in core.asm to see where I call it and how. At the bottom you'll need to add the small routine that does callba _PhysicalSpecialSplit and then include the main routine in another bank. It probably isn't the best way to do it, since it adds a new table that declares each move as Physical, Special, or Status instead of like adding it into the move data structure, but eh.
EDIT: Oh, and I think I used a temporary RAM address in wram.asm that I called something like wTempMove or something like that to hold on to the move ID and the result when I called the actual routine from core.asm so it didn't get lost in the bankswitch.