All the SNES versions of Final Fantasy II/IV have a bug where the long range (or ignore row) bit is set when a character equips a long range weapon, but it is not removed when switching to a weapon that is not long range.
These two patches correct this behavior in all versions of the game. Just make sure you use the right patch for your version. Both patches are for UNHEADERED ROMs.
SNES Final Fantasy II/IV Long Range Fix
by Dragoon ZERO 2012/2/12
Thanks to:
The community at Slick Productions/Forum Slickness (slickproductions.org)
Geiger's Snes9x debugger (geigercount.net/crypt/)
FuSoYa's Lunar Address and Lunar IPS (fusoya.eludevisibility.org/)
All the SNES versions of Final Fantasy II/IV have a bug where the long range
(or ignore row) bit is set when a charcter equips a long range weapon, but it
is not removed when switching to a weapon that is not long range.
These two patches correct this behavior in all versions of the game. Just
make sure you use the right patch for your version. Both patches are for
UNHEADERED ROMs.
lr_bit_fix_10_J_J2E.ips is for:
Final Fantasy II (U) (V1.0) [!]
Final Fantasy IV (J)
Final Fantasy IV (j2e translation)
lr_bit_fix_11_ET.ips is for:
Final Fantasy II (U) (V1.1)
Final Fantasy IV - Easy Type (J)
I have tested these fixes in both US versions and have not encountered any
problems. If you do notice any instances where the fix is not working (or if
it's screwing something else up) send me a PM at the RHDN forums:
http://www.romhacking.net/forum/index.php
$03/9D90 AD 77 39 LDA $3977 [$7E:3977] A:001E X:0000 Y:002E P:envMxdIzc
$03/9D93 29 20 AND #$20 A:0080 X:0000 Y:002E P:eNvMxdIzc
$03/9D95 D0 07 BNE $07 [$9D9E] A:0000 X:0000 Y:002E P:envMxdIZc
$03/9D97 AD 9C 28 LDA $289C [$7E:289C] A:0000 X:0000 Y:002E P:envMxdIZc
$03/9D9A 29 20 AND #$20 A:00FF X:0000 Y:002E P:eNvMxdIzc
$03/9D9C F0 09 BEQ $09 [$9DA7] A:0020 X:0000 Y:002E P:envMxdIzc
$03/9D9E A0 01 00 LDY #$0001 A:0020 X:0000 Y:002E P:envMxdIzc
$03/9DA1 B1 80 LDA ($80),y[$7E:2001] A:0020 X:0000 Y:0001 P:envMxdIzc
$03/9DA3 09 20 ORA #$20 A:0000 X:0000 Y:0001 P:envMxdIZc
$03/9DA5 91 80 STA ($80),y[$7E:2001] A:0020 X:0000 Y:0001 P:envMxdIzc
$03/9DA7 60 RTS A:0020 X:0000 Y:0001 P:envMxdIzc
A0 01 00 LDY #$0001
B1 80 LDA ($80),y
29 DF AND #$DF
91 80 STA ($80),y
AD 9C 28 LDA $289C
29 20 AND #$20
F0 06 BEQ $06
B1 80 LDA ($80),y
09 20 ORA #$20
91 80 STA ($80),y
60 RTS
$19D86 in unheadered US 1.0, J, and j2e translation
$19D90 in unheadered US 1.1 and Easy Type
A0 01 00 B1 80 29 DF 91 80 AD 9C 28 29 20 F0 06 B1 80 09 20 91 80 60
Final Fantasy II (USA).sfc - NOINTRO
CRC32: 65D0A825
MD5: 4FA9E542B954DCB954D5CE38188D9D41
SHA-1: 2FA447E3E010CE8BA5B4E746F6609AA0E324D947
SHA-256: 680535DC1C4196C53B40DC9C2C9BC159A77802AB8D4B474BEF5DC0281C15AD06