Users browsing this thread: 1 Guest(s)
Which Patches Seem Good But Are Bugged?

#11
Posts: 281
Threads: 18
Thanks Received: 13
Thanks Given: 8
Joined: Mar 2014
Reputation: 8
Status
None
Applying Geiger's Painful Chainsaw patch causes Drill to lose its defense-ignoring property and instead take on the effect of Debilitator.

Geiger rewrote the Chainsaw special effect to replace it with what I believe is the slicing effect of Scimitar, $4F:
Code:
Item Effect:
C2/2B30:    A99E        LDA #$9E
C2/2B32:    8DA911      STA $11A9 (Use effect 4F)
C2/2B35:    A920        LDA #$20
C2/2B37:    0CA211      TSB $11A2 (Set ignore defense)
C2/2B3A:    60          RTS

In the process he changed the offset of the code that sets the defense-ignoring part of Chainsaw, which in an unchanged ROM resides in:
Code:
C2/2B4D: A9 20        LDA #$20
C2/2B4F: 0C A2 11     TSB $11A2      (Set ignore defense)

Drill relies on this part of the code for its own piercing effect. Geiger forgot to update the Tool effects pointer table, causing the Drill pointer to veer off into the Debilitator code.

Code:
Code pointers
C2/2B24: 4D 2B     (Drill)

C2/2B4D is in the middle of a string of NOPs that Geiger used for padding since his patch left 9 unused bytes at C2/2B4A - C2/2B52. That string of NOPs leads into the code for the Debilitator effect:

Code:
C2/2B53: A9 AC        LDA #$AC
C2/2B55: 80 02        BRA $2B59      (Set Debilitator effect)
The fix is simple. Change the Drill pointer to the correct offset:

Code:
Code pointers
C2/2B24: 35 2B     (Drill)
  Find
Quote  



Messages In This Thread
RE: Which Patches Seem Good But Are Bugged? - by seibaby - 03-07-2016, 05:58 AM

Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite