øAslickproductions.org/forum/index.php?PHPSESSID=so1iojs5ocdn0o2vf0tti7fbu6&topic=1980.15e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index6f8e.htmlslickproductions.org/forum/index.php?PHPSESSID=so1iojs5ocdn0o2vf0tti7fbu6&board=17.0e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index6f8e.html.zx9õg^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿȰUJOKtext/htmlISO-8859-1gzip(¾ÖJÿÿÿÿÿÿÿÿTue, 10 Mar 2020 20:31:11 GMT0ó°° ®0®P®€§²ð®7õg^ÿÿÿÿÿÿÿÿã5J FF5 Bugs & Glitches

Author Topic: FF5 Bugs & Glitches  (Read 23829 times)

Deathlike2

  • FF4 R&D Master
  • *
  • Posts: 3,538
  • I'm looking at you, bitch!
    • View Profile
Re: FF5 Bugs & Glitches
« Reply #15 on: March 17, 2011, 12:04:19 AM »
I've compiled the posts into one post so you can feel free to clean up the duplicate.

Original reply:
In other news, Judgment Staff/Staff of Light also deals double damage with !Jump and gets no damage penalty from !Rapid Fire :p

I'll have to look into it... is this FF5 or FF5A specific?


Quote
I fooled around with weapon-related oddities yesterday. I was most surprisd that the Twin Lance dealt double damage with !Jump it's a lance, it makes sense, but it's otherwise such a unique weapon I hadn't expected it to work LIKE a Lance with !Jump. It useless since !Jump removes it's double damage feature so you don't win any damage with !Jump, but still fun.

I'll look into that... but my guess is that's it's someone's goof on that (blame TOSE for port fail).

Quote
The Blood Sword is such a strange weapon. It's a magic spell through the !Fight command; it's power isn't reduced by !Rapid Fire, nor is it increased by Sword Dance or !Focus. I half-expected the Blood Sword to share the Staves affinity for double-damage sources (since they are both magical damage routines), but 'tis not the case.

The aforementioned Staffs run different code than the Blood Sword... the Blood Sword itself follows its own set of coding... so that's to be expected.

 :edit: - 2nd reply
In other news, Judgment Staff/Staff of Light also deals double damage with !Jump and gets no damage penalty from !Rapid Fire :p

Ok... I've confirmed it with FF5 and FF5A Euro (it'll apply to the US version probably as well). As I've said before... those two weapons use a different algo, so they share the same problem. The Staffs themselves deal less damage against Shell... I forget if other weapons follow that lead (I believe there are some).

Quote
I fooled around with weapon-related oddities yesterday. I was most surprisd that the Twin Lance dealt double damage with !Jump it's a lance, it makes sense, but it's otherwise such a unique weapon I hadn't expected it to work LIKE a Lance with !Jump. It useless since !Jump removes it's double damage feature so you don't win any damage with !Jump, but still fun.

Twin Lance has the Spears property, so it's consistent in the 2x damage... while Double Lance itself is only Fight specific...

Hey, if you want a fun related bug/feature... the Twin Lance doesn't cause the Necromancer to counter. It has a physical (Protect) and magic counter (Shell), but it doesn't trigger either.

 :edit: - 3rd reply
Actually... all Rods, Judgment Staff+Light Staff, AND the Sage Staff ignore the attack reduction for Rapid Fire. It's simple to the fact in that the calculation for damage reduction is specifically geared towards weapons or specifically against Defense... not Magic Defense. This is also why the Blood Sword is consistent with this.

Also... this wasn't actually obvious when digging... but the Dragoon Spear shares the same attribute as the Man Eater in the attack algo... this is why they have the same 2x Jump damage property. I think it has to do with lumping them in the racial damage component... they just forgot that the Man Eater isn't a spear...

:edit: - 4th reply
Sage Staff actually adheres to the 1/2 attack power rule ONLY against undead... seriously?

Also... huge doc errata. You CAN dish critical hits via Jump (assuming the weapon you equip has a chance to dish a critical hit). The damage dealt is there, but there's no visual cue to show for it. Had fun doing this with the Tempest Katana and Yoichi's Bow.

 :edit:
Crossed out the error.

 :edit: - 5th reply
Sage Staff actually adheres to the 1/2 attack power rule ONLY against undead... seriously?

That statement was tested on FF5. Apparently this behavior is "fixed" in FF5A (both US+Euro versions) as in it deals full damage instead of half damage.

 :edit:
Jumping for critical hits was tested in FF5A and it works!

 :edit:
Never mind... there is no bug with undead and the Sage Staff in FF5... :-/


 :edit: - 6th reply
The Light Staff, Judgement Staff, AND the Blood Sword are all back row compatible by design. Since they use magic defense as part of the calculations and "magic" based attacks ignore row, those weapons are back row compatible. They do not necessarily need the back row bit set. FF5A does not inform you of this for the Blood Sword though. FF5 also doesn't tell you that the Light+Judgment Staff are back row compatible.

Also, my guess to the primary reason why the Rune Bell isn't backward compatible in FF5 as stated is because it is following the Rune weapon type coding... which always takes back row into account. The weapon might have the bit set but the game won't take that into account.

 :edit:
FF5A uses the same Rune weapon rules as FF5, so telling you that it is back row compatible is not entirely correct.

A minor nitpick, but the Gaia Hammer in FF5A doesn't tell you the weapon is back row compatible.

 :edit: - First Post after the post merging
With regards to the Regen status. Are we sure it's Regen that supposed to be applied and not some other status? In any case, the monsters you have listed (with the exception of the Genji Shield Gilgamesh) are the only ones with that attribute.

Also, I'm unsure if the FF5A doc is correct about the Fairy Bow. 0x72 is for Creatures and this weapon doesn't deal with them. It is more likely to be 0x35. Even if that's not exactly the case, it does operate correctly as far as I can tell....

 :edit: - 2nd Edit after bleh
According the the FF5A doc, the Mace of Zeus is stated to use 0x3A (meaning it uses the Long Reach Axes) algo. This is not correct. It's supposed to be 0x34, the Axe algo. Even in its description in FF5A does not mention it to be back row compatible.

Also.... apparently the Fairy Bow attack property is correct, but it technically is not the one that should be used... which I don't think it matters too much but still noteworthy.
« Last Edit: March 17, 2011, 02:28:38 AM by Deathlike2 »
Working on the next Yet To Be Named FF4 "Hardtype" Hack Download Latest: v1.48

Video Demos: #1 #2 #3

samurai goroh

  • FF5 Hacker
  • *
  • Posts: 221
  • Gender: Male
    • View Profile
    • My page
Re: FF5 Bugs & Glitches
« Reply #16 on: March 17, 2011, 01:11:38 PM »
These are leftovers that may or may not be considered bugs, as you can't normally trigger them w/o using cheats or hacking the game...:

Dummy Items: There are some items that can't be acquired in the game (perhaps maybe they can with the Quick morph bug, but never tried that), they include the Mythril Staff(#39), Sabre(#54), Cursed/Hematic Shield (#CE), Dummy (#EE), FF (#FF) and other unnamed/unused items...

Dummy Terrain Backgrounds: There are 2 (IIRC) battle backgrounds that are programmed but never used

Dummy Enemies: There are some enemies that have name & sprite but cannot be fought. e.g. Big Boss(#FE) & NeoGoblin(#155)

Dummy Commands: There are some commands leftovers, like Dummy1(#24) & Dummy2 (#27) (Check section 1.10 to know what I'm talking about :P)

Dummy Rooms: There are some rooms that where planned, but didn't made it to see the light. e.g. Castle Tycoon - Dungeon(#56)


:edit: I just remember another useless bug.

When you see an NPC that likes to move, you can move yourself on the same place he's going to be (therefore having 2 characters on the same place). But, in order to work, you must be adjacent to him, you can't be in front & you only have 1 frame (1/60 sec) to pull it out. In other words, if he moves horizontally, you have to move vertically or vice versa.

This is displayed on my TAS (which I've had liked on another post) when I'm on the Moogle Village or on the Great Forest of Mua...

« Last Edit: March 17, 2011, 06:48:12 PM by samurai goroh »
I'm the best in the universe! Just remember! [F-zero X]

noisecross

  • FF5 Hacker
  • *
  • Posts: 146
    • View Profile
Re: FF5 Bugs & Glitches
« Reply #17 on: July 02, 2014, 01:00:00 PM »
When a character catches a monster, its name should be displayed on the "Stats" submenu, but only "blanks" are displayed instead in the RPGe v1.1 translation.

To understand why is that happening, the monster names table was originally stored on D0/5C00 but now is stored on E0/0050.
Moreover, the original size of monster names was 8 bytes long, but now is 10 bytes long.

With that in mind I have found the code in charge of displaying these names:
Code: [Select]
C2/CA04: 68      pla ; Monster index
C2/CA05: 0A      asl A ; .
C2/CA06: 0A      asl A ; .
C2/CA07: 0A      asl A ; *8 (must be *10)
C2/CA08: 18      clc
C2/CA09: 69005C  adc #$5C00 ; Monster name offset in bank D0 (must be 0050 in bank E0)
C2/CA0C: A8      tay ; Y is offset to the monster
C2/CA0D: A2C856  ldx #$56C8 ; X is pointer to the RAM tile to write the text (0x7E56C8)
C2/CA10: A908D0  lda #$D008 ; aabb: aa = Bank, bb = #characters (must be -> E00A)
C2/CA13: 209DE5  jsr $E59D ; Dump

So, to fix the code, the addressing and the multiplication must be set to:
Code: [Select]
C2/CA05 22 00 5C D0 (jsr D05C00)
C2/CA0A 50 00
C2/CA11 0A E0

[...]
multiplyBy10:
D0/5C00: 0A      asl
D0/5C01: 48 pha ; Stack[1] is input*2
D0/5C02: 0A      asl
D0/5C03: 0A      asl ; A = input * 8
D0/5C04: 18      clc
D0/5C05: 6301 adc $01,S ; A = A + Stack[1] = input*8 + input*2 = input*10
D0/5C07: FA      plx ; Free used stack
D0/5C08: 18      clc
D0/5C09: 6B      rtl

The fix uses the addresses from D0/5C00 to D0/5C09 so it is not compatible with any patch using these addresses.
I am attaching the patch as an IPS to apply over unheaded roms.

I find strange that no one has noticed this before. Am I using an older or corrupt version of the translation?
« Last Edit: May 19, 2015, 05:53:40 PM by Jorgur »

LightPhoenix

  • FF5 Hacker
  • *
  • Posts: 130
    • View Profile
Re: FF5 Bugs & Glitches
« Reply #18 on: July 05, 2014, 04:14:24 PM »
Good catch!

I suspect the reason it hasn't been noticed is that it's because Catch/Release isn't something that used terribly often, and it's not difficult to remember which creature you've caught.

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: FF5 Bugs & Glitches
« Reply #19 on: July 06, 2014, 08:21:34 PM »
Yes, it's my bet that the original translators, nor many people were even aware of your Captured Monster showing up in your stat screen. I certainly didn't know! Good fix though.

noisecross

  • FF5 Hacker
  • *
  • Posts: 146
    • View Profile
Re: FF5 Bugs & Glitches
« Reply #20 on: July 10, 2014, 01:31:56 PM »
Here we go with another fix. This one is for the chicken berserk bug.
This bug happens when the Chicken Knife is trying to run its special command (!Escape) and the team have only berserks.

The code where a weapon check for its special command is here:
Code: [Select]
C2/4665: 20 A2 02    JSR $02A2   ; (0 to 99)
C2/4668: A6 0E       LDX $0E
C2/466A: DD 8F 40    CMP $408F,X
C2/466D: B0 06       BCS $4675 ; Jump to not run the weapon special ability
C2/466F: BD 90 40    LDA $4090,x ; A = Weapon special ability
C2/4672: 4C D5 49    JMP $49D5   ; Force new command

The fix then is overwriting the address C2/466F with a long jump to the patch:
Code: [Select]
C2/466F 5C XL XM XH JMP XXXXXX   ; jump to patch
C2/4673 EA          NOP
C2/4674 EA          NOP

And the patch works as:
1. If the weapon command is not !Escape, everything is right -> read weapon command and return
2. If the weapon command is !Escape but the attacker is not a berserk, everything is right -> read !Escape and return
3. If running away is forbidden in this combat, the command !Escape is not bugged -> read !Escape and return
4. The bug can happen... -> Set the status 'Hidden' to every character, read !Hide and return

When the 4 characters are hidden, the run away happens automatically avoiding the restriction of the berserk class.

Code: [Select]
0xBD, 0x90, 0x40,       /* LDA $4090,X *//* Read weapon special command */
0xC9, 0x0A,             /* CMP #$0A    */
0xD0, 0x0B,             /* BNE #$0B    *//* If (command != 'Escape') return command; */
0xA6, 0x32,             /* LDX $32     */
0xBD, 0x21, 0x20,       /* LDA $2021,X */
0x29, 0x08,             /* AND #$08    */
0xD0, 0x06,             /* BNE #$06    *//* If (!Attacker.Berserk) load A and return */
0xA9, 0x0A,             /* LDA #$0A    *//* Run command !Escape */
0x5C, 0xD5, 0x49, 0xC2, /* JMP $C249D5 */
0xAD, 0xF0, 0x3E,       /* LDA $3EF0   *//* (Check if can run)   */
0x30, 0xF5,             /* BMI #$F5    *//* Cannot run, so choose !Escape command */
0xA9, 0x01,             /* LDA #$01    *//* Load 'Hidden' status */
0x8D, 0x1D, 0x20,       /* STA $201D   *//* Set 'Hidden' to PC1  */
0x8D, 0x9D, 0x20,       /* STA $209D   *//* Set 'Hidden' to PC2  */
0x8D, 0x1D, 0x21,       /* STA $211D   *//* Set 'Hidden' to PC3  */
0x8D, 0x9D, 0x21,       /* STA $219D   *//* Set 'Hidden' to PC4  */
0xA9, 0x25,             /* LDA #$25    *//* Run command !Hide    */
0x5C, 0xD5, 0x49, 0xC2, /* JMP $C249D5 */

I am attaching the patch as an IPS to apply over unheaded roms.
The fix patch uses the addresses from D0/2F05 to D0/2F30 so it is not compatible with any patch using these addresses. As long as I know, no patch in http://slickproductions.org/ff5patches.php share these addresses.
« Last Edit: May 19, 2015, 05:54:04 PM by Jorgur »

Digitsie

  • Mom Bomb
  • *
  • Posts: 105
    • View Profile
Re: FF5 Bugs & Glitches
« Reply #21 on: December 10, 2014, 02:54:55 PM »
noisecross's two patches aren't working.

Jorgur

  • Moderator
  • *
  • Posts: 437
  • Gender: Male
    • View Profile
Re: FF5 Bugs & Glitches
« Reply #22 on: December 10, 2014, 03:02:50 PM »
Quote from: Noisecross
I am attaching the patch as an IPS to apply over unheaded roms.
Is your ROM headered?

Digitsie

  • Mom Bomb
  • *
  • Posts: 105
    • View Profile
Re: FF5 Bugs & Glitches
« Reply #23 on: December 10, 2014, 03:33:34 PM »
Er, lemme rephrase that. His two downloads aren't working. :D


Jorgur

  • Moderator
  • *
  • Posts: 437
  • Gender: Male
    • View Profile
Re: FF5 Bugs & Glitches
« Reply #24 on: December 10, 2014, 03:41:56 PM »
Crud, I don't seem to have them. I sent him a PM about it.

For now, if anyone reading this has the files, please upload them here!

noisecross

  • FF5 Hacker
  • *
  • Posts: 146
    • View Profile
Re: FF5 Bugs & Glitches
« Reply #25 on: December 10, 2014, 07:33:22 PM »
Glad to see the forum is operational again!
Here you are the patches again.

Jorgur

  • Moderator
  • *
  • Posts: 437
  • Gender: Male
    • View Profile
Re: FF5 Bugs & Glitches
« Reply #26 on: December 26, 2014, 02:04:24 PM »
I thought the wiki would be the perfect place for this project so I created a page for it.
http://slickproductions.org/slickwiki/index.php/FF5_Bugs_and_Glitches
« Last Edit: December 26, 2014, 05:07:26 PM by Jorgur »

assassin

  • Bane of Retards
  • *
  • Posts: 1,033
  • space bears are not gentle!
    • View Profile
    • My Barren Webpage
Re: FF5 Bugs & Glitches
« Reply #27 on: December 31, 2014, 01:58:20 PM »
damage types that call C2/8811 to finalize damage will multiply M by 2 if "Target Can't Evade vs. Attack type".  then if the attack is found to be "Magic Sword Drain", or if "Healing?" (elemental absorb, it seems) alongside a nonzero Variable $63, this higher M is used to recalculate damage or healing.

damage types that call C2/8A05 to finalize damage do something similar.  M _can_ be multiplied by 2 if "Target Can't Evade vs. Attack type".  then if the attack is found to be "Healing?" (elemental absorb, it seems) alongside a nonzero Variable $63, this higher M is used to recalculate damage or healing.  the difference here is that M is only doubled IF it was found to be 0 and floored at 1.  so the "Target Can't Evade vs. Attack type" bonus is being applied VERY narrowly.  this makes me wonder whether the "BNE $8A26" at C2/8A0F shouldn't have been "BNE $8A13" instead.  if it's intentional, that raises the question why "REP #$20 / ASL $52 / SEP #$20" at C2/8A20 even needs the REP and SEP, if they know 16-bit $52 has to hold 0001h there.

i don't expect the answer as to whether there's a bug to come quickly, as this M bonus doesn't seem well-known to begin with (i can't find it in the Algorithms/Stats FAQ).  if we determine exactly which C2/8811-using attacks it influences and how, maybe we'll be in a better position to judge what's going on in C2/8A05.
« Last Edit: December 31, 2014, 02:30:05 PM by assassin »

noisecross

  • FF5 Hacker
  • *
  • Posts: 146
    • View Profile
Re: FF5 Bugs & Glitches
« Reply #28 on: January 30, 2015, 03:11:51 AM »
About the bug "!Tame works on all BUT those with a Magic Beast nature", I cannot reproduce it.
The '!Tame' command set 'stop' status only in 'magic beast' monsters.
The 'tame' whip effect set 'paralysis' status in every monster non inmune to that status.

Am I missing something here?

Jorgur

  • Moderator
  • *
  • Posts: 437
  • Gender: Male
    • View Profile
Re: FF5 Bugs & Glitches
« Reply #29 on: January 30, 2015, 05:05:40 AM »
That's in the GBA version. All I know is that it doesn't work when it should.
http://slickproductions.org/forum/index.php?topic=510.0

I fixed it in the 2nd post.