Users browsing this thread: 2 Guest(s)
A Guide to Ability Learning
07-19-2020, 08:52 PM
(07-19-2020, 01:49 PM)C-Dude Wrote: If you're going to NOP a line, you need to replace each byte of that line with an EA. For instance, if you're removing LDA $300A, you need to replace all three bytes with EA.Oooh, That makes much more sense now that I know what that command actually does. So yes I changed all the bytes in the offset $C25EE5-$C25EF0 to EA and that fixed that problem.
EA EA EA
Quote:C-DudeYou lost me on that, maybe an example would help cement that better. Phew, this reminds me of Calculus class in college, what a nightmare that was. Still, I shall try my best tackling this problem, let's see...
CMP is 'Compare A', and is extremely important. It checks if A has a certain value, by subtracting the number that follows from it (without updating it) and setting the carry accordingly. For instance, if the current value in A is 7, and you CMP 6, then the result of the subtraction is 1 and the carry is not set (because 7 doesn't have to 'borrow' a number to subtract 6). If you took A is 7 and you CMP 8, then the result of the subtraction is -1 ($FF) and the carry IS set, as 7 was too small to subtract 8
So I was trying to incorporate the information you gave me regarding JMLs to both the Level Up check and the Recruitment Guides. I actually have free space at $D095F0-$D097FF (probably from allocating instruments or music data from my last project) so I used that for the Level up Guide. (I also used Locke, since I want him to learn Dance instead of Mog)
Code:
C0/A18E: C905 CMP #$05 (is character Sabin?)
C0/A190: D003 BNE $A195 (branch if not)
C0/A192: 4C01A2 JMP $A201
C0/A195: 60 RTS
Changed $C0/A18E
C0/A18E: 5C F0 95 D0 JMP #D095F0
D0/95F0: C905 CMP #$05 (is character Sabin?)
D0/95F2: D004 BNE $95F8 (branch if not)
D0/95F4: 5C 01 A2 4C JML $C0A201 (this goes to Sabins learning)
D0/95F8: C901 CMP #01 (is character Locke?)
D0/95FA: D004 BNE $9600 (Branch if not)
D0/95FC: 5C QQ RR TT JML(This goes to Locke's Dance Learning)*
D0/9600: 5C 95 A1 C0 JML $C0A195 (This goes back up to the RTS 60)
Code:
C2/61B9: 5C 04 96 D0 JML $D09604
D0/9604: C9 01 CMP #$01 (Is Character Locke?)
D0/9606: D0 04 BNE #$04 (If it's not Locke, skip the next four bytes)
D0/9608: 5C TT RR QQ JML $QQRRTT (Jump to Dance learning, Freespace)*
D0/960C: C9 00 CMP #$00 (Is Character Terra?)
D0/960E: F0 04 BEQ #$04 (If it is Terra, we branch to her natural learning)
D0/96A1: 5C BD 61 C2 JML $C261BD (If it isn't Terra or Locke, jump to Celes check)
I'm just not sure how to create a Dance Learning Routine yet.
« Next Oldest | Next Newest »
Users browsing this thread: 2 Guest(s)