Hey, i really need help with making a patch to double up the y-speed acceleration of the lakitu cloud for an sa1 rom...
in smwdisc its this part of code:
so i made this patch:
...so the patch doesnt work, im not able to control the y speed anymore and cloud is sinking...i really dont know too much about writing patches...so what am i doing wrong?
in smwdisc its this part of code:
Code
CscDecideY: A0 00 LDY.B #$00 CODE_02D24F: A5 15 LDA RAM_ControllerA CODE_02D251: 29 0C AND.B #$0C CODE_02D253: F0 1A BEQ CscHandleY CODE_02D255: A0 10 LDY.B #$10 ;max down speed CODE_02D257: 29 08 AND.B #$08 CODE_02D259: F0 14 BEQ CscHandleY CODE_02D25B: A0 F0 LDY.B #$F0 ;max up speed CODE_02D25D: 80 10 BRA CscHandleY ... CscHandleY: 84 00 STY $00 CODE_02D271: B5 AA LDA RAM_SpriteSpeedY,X CODE_02D273: C5 00 CMP $00 CODE_02D275: F0 08 BEQ CODE_02D27F CODE_02D277: 10 04 BPL CODE_02D27D CODE_02D279: F6 AA INC RAM_SpriteSpeedY,X ;so here i have to CODE_02D27B: F6 AA INC RAM_SpriteSpeedY,X ;double up acc, right? CODE_02D27D: D6 AA DEC RAM_SpriteSpeedY,X ; CODE_02D27F: B5 B6 LDA RAM_SpriteSpeedX,X CODE_02D281: 85 7B STA RAM_MarioSpeedX CODE_02D283: B5 AA LDA RAM_SpriteSpeedY,X CODE_02D285: 85 7D STA RAM_MarioSpeedY Return02D287: 6B RTL
so i made this patch:
Code
lorom if read1($00FFD5) == $23 !sa1 = 1 ; SA-1 base addresses !db = $3000 !addr = $6000 !bank = $000000 sa1rom else !sa1 = 0 ; Non SA-1 base addresses !db = $0000 !addr = $0000 !bank = $800000 endif org $02D271 autoclean JML CustomCode6 freedata CustomCode6: LDA $AA,x CMP $00 BEQ + BPL ++ INC $AA,x INC $AA,x BRA + ++ DEC $AA,x DEC $AA,x + JML $02D27F RTL
...so the patch doesnt work, im not able to control the y speed anymore and cloud is sinking...i really dont know too much about writing patches...so what am i doing wrong?