Users browsing this thread: 1 Guest(s)
Disabling Auto-Optimize/Remove on Genji Glove/Gauntlet

#1
 
Status
None
I've replaced those Relics with entirely different ones, and the optimize is utterly pointless! How might I go about disabling this?
 
Quote  

#2
Posts: 2,550
Threads: 98
Thanks Received: 148
Thanks Given: 160
Joined: Aug 2009
Reputation: 52
Status
Nattak\'d
Start by looking in the C0 bank disassembly for 'Optimum equip character', specifically this:
(perform "equipment check" on the current party)

I -think- that may be it, though I'm probably wrong. I'm not sure how to just disable it for when removing/equipping the Genji Glove or Gauntlet, is the thing.

I'm not sure if changing the code to EA EA EA etc. will do the trick, ($EA is code for NOP).
There may be some further asm hacking required. Hopefully someone here can help out more.


We are born, live, die and then do the same thing over again.
Quote  

#3
Posts: 3,971
Threads: 279
Thanks Received: 237
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
(12-22-2012, 04:53 PM)Riketz Wrote: I've replaced those Relics with entirely different ones, and the optimize is utterly pointless! How might I go about disabling this?

Try NOP these calls. They are part of the process when a relic change equipment (any relic):

Code:
C3/1C1D:    20F096      JSR $96F0      (Optimum command - fully equips standard equipment)
C3/1C29:    20A896      JSR $96A8      (Empty command - removes standard equipment)


Edit: The above method would work but you would still have the sound effect and the menu change except no optimum would be done, even for the merit award.

I think I located the code that handle more precisely what you want to do. If it's the merit award, genji glove or gauntlet, the routine will store #$01 in $99. You can simply NOP everything that concern the gauntlet and genji glove in the following routine. I didn't tested anything:

Code:
C3/9F5C:    20F293      JSR $93F2
C3/9F5F:    B92300      LDA $0023,Y    (load accessory slot 1)
C3/9F62:    C5B0        CMP $B0
C3/9F64:    D009        BNE $9F6F
C3/9F66:    B92400      LDA $0024,Y    (load accessory slot 2)
C3/9F69:    C5B1        CMP $B1
C3/9F6B:    D002        BNE $9F6F
C3/9F6D:    803A        BRA $9FA9
C3/9F6F:    A5B0        LDA $B0
C3/9F71:    C9D1        CMP #$D1       (is it the Genji Glove?)
C3/9F73:    F037        BEQ $9FAC      (branch if so)
C3/9F75:    C9D0        CMP #$D0       (is it the Gauntlet?)
C3/9F77:    F033        BEQ $9FAC      (branch if so)
C3/9F79:    C9DA        CMP #$DA       (is it the Merit Award?)
C3/9F7B:    F02F        BEQ $9FAC      (branch if so)
C3/9F7D:    A5B1        LDA $B1
C3/9F7F:    C9D1        CMP #$D1       (is it the Genji Glove?)
C3/9F81:    F029        BEQ $9FAC      (branch if so)
C3/9F83:    C9D0        CMP #$D0       (is it the Gauntlet?)
C3/9F85:    F025        BEQ $9FAC      (branch if so)
C3/9F87:    C9DA        CMP #$DA       (is it the Merit Award?)
C3/9F89:    F021        BEQ $9FAC      (branch if so)
C3/9F8B:    B92300      LDA $0023,Y    (load accessory slot 1)
C3/9F8E:    C9D1        CMP #$D1       (is it the Genji Glove?)
C3/9F90:    F01A        BEQ $9FAC      (branch if so)
C3/9F92:    C9D0        CMP #$D0       (is it the Gauntlet?)
C3/9F94:    F016        BEQ $9FAC      (branch if so)
C3/9F96:    C9DA        CMP #$DA       (is it the Merit Award?)
C3/9F98:    F012        BEQ $9FAC      (branch if so)
C3/9F9A:    B92400      LDA $0024,Y    (load accessory slot 2)
C3/9F9D:    C9D1        CMP #$D1       (is it the Genji Glove?)
C3/9F9F:    F00B        BEQ $9FAC      (branch if so)
C3/9FA1:    C9D0        CMP #$D0       (is it the Gauntlet?)
C3/9FA3:    F007        BEQ $9FAC      (branch if so)
C3/9FA5:    C9DA        CMP #$DA       (is it the Merit Award?)
C3/9FA7:    F003        BEQ $9FAC      (branch if so)
C3/9FA9:    6499        STZ $99        (if none of the above, store 00)
C3/9FAB:    60          RTS

Code:
C3/9FAC:    A901        LDA #$01
C3/9FAE:    8599        STA $99
C3/9FB0:    60          RTS
  Find
Quote  

#4
 
Status
None
Haha, I'm trying out a Hex Editor for the first time. I believe I've at least found the... address for the string in question, but not sure what "NOP" means. Will post again if I have any measure of success.
 
Quote  

#5
Posts: 3,971
Threads: 279
Thanks Received: 237
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
(12-22-2012, 05:18 PM)Gi Nattak Wrote: I'm not sure if changing the code to EA EA EA etc. will do the trick, ($EA is code for NOP).

  Find
Quote  

#6
Posts: 2,550
Threads: 98
Thanks Received: 148
Thanks Given: 160
Joined: Aug 2009
Reputation: 52
Status
Nattak\'d
NOP, or 'No Operation' (command $EA) allows you to bypass code and read whatever's next.
It's an assembly command.


We are born, live, die and then do the same thing over again.
Quote  

#7
 
Status
None
Ah, I used a hex editor to turn those addresses listed into EA, or something, then the game became a black screen at boot.
Could someone point me to where I might learn to understand all of this moonspeak? Also, it seems like it'd be easier to direct everything to "no".

My whole goal here is to prevent the game from taking the player to the Equip screen every time one of the replacement items is used. I've made Genji Glove into Hero Glove, a fun little advanced version of Hero Ring, but disabled dual wielding or dual group on all relics in general. Gauntlet is Armor Charm, a bit of extra padding for very early game on front-line fighters. As such, both Relics are used frequently in World of Balance, and even a good ways into World of Ruin.
 
Quote  

#8
Posts: 3,971
Threads: 279
Thanks Received: 237
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
(12-23-2012, 06:26 PM)Riketz Wrote: Ah, I used a hex editor to turn those addresses listed into EA, or something, then the game became a black screen at boot.

It's clear that if your turned the whole routines into EA the game will crash and this what not what I mentioned to change. You also have no idea what the code means.

(12-23-2012, 06:26 PM)Riketz Wrote: Could someone point me to where I might learn to understand all of this moonspeak? Also, it seems like it'd be easier to direct everything to "no".

There is a lot of moonspeak resources on the net. You could start here and here. You can also type in Google "65816 assembly". After that you can take bank C3 and learn with the help of the existing comments what you need to change and where to find it.

It would be too long to explain everything and I'm not doing an ASM course via posts on a forum but this is an optimized routine with the change I first mentionned that I think will give your game the desired effects. I didn't tested it and I don't have the time to.

Code:
C3/9F5C:    20F293      JSR $93F2
C3/9F5F:    B92300      LDA $0023,Y    (load accessory slot 1)
C3/9F62:    C5B0        CMP $B0
C3/9F64:    D009        BNE $9F6F
C3/9F66:    B92400      LDA $0024,Y    (load accessory slot 2)
C3/9F69:    C5B1        CMP $B1
C3/9F6B:    D002        BNE $9F6F
C3/9F6D:    803A        BRA $9FA9
C3/9F6F:    A5B0        LDA $B0
C3/9F71:    C9DA        CMP #$DA       (is it the Merit Award?)  
C3/9F73:    F017        BEQ $9F8C      (branch if so)      
C3/9F75:    A5B1        LDA $B1        
C3/9F77:    C9DA        CMP #$DA       (is it the Merit Award?)        
C3/9F79:    F011        BEQ $9F8C      (branch if so)      
C3/9F7B:    B92300      LDA $0023,Y    (load accessory slot 1)  
C3/9F7E:    C9DA        CMP #$DA       (is it the Merit Award?)
C3/9F80:    F00A        BEQ $9F8C      (branch if so)
C3/9F82:    B92400      LDA $0024,Y    (load accessory slot 2)
C3/9F85:    C9DA        CMP #$DA       (is it the Merit Award?)
C3/9F87:    F003        BEQ $9F8C      (branch if so)
C3/9F89:    6499        STZ $99        
C3/9F8B:    60          RTS
C3/9F8C:    A901        LDA #$01
C3/9F8E:    8599        STA $99
C3/9F90:    60          RTS
  Find
Quote  

#9
 
Status
None
Ah, that is more than enough, and your suggestions and resources are more than helpful. I've been working on an FF6 mod for a couple of years now, and this tweak along with figuring out how to change the Katana graphic in Cyan's Swdtech skills into a Sword will finally allow me to call it "complete."
Again, thank you both so much.
 
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite