klmz:
Language: asm
$A784:A5 00 LDA $0000 = #$0A ; load global timer
$A786:5D 10 07 EOR $0710,X @ $0718 = #$00 ; xor with 0
$A789:30 D7 BMI $A762 ; if timer negative, do some code
$A78B:A9 03 LDA #$03 ; it was positive, just load 3
$A78D:9D 50 07 STA $0750,X @ $0758 = #$01 ; store it to $758
$A790:60 RTS (from $A004)
You:
Language: asm
$A784:A5 00 LDA $0000 = #$A3 ; load global timer
$A786:5D 10 07 EOR $0710,X @ $0718 = #$00 ; xor with 0
$A789:30 D7 BMI $A762 ; if timer negative, do some code
$A762:A9 80 LDA #$80 ; it was negative, jumped
$A764:20 BB A2 JSR $A2BB
$A2BB:9D C0 07 STA $07C0,X @ $07C8 = #$00
$A2BE:A9 FF LDA #$FF
$A2C0:9D D0 07 STA $07D0,X @ $07D8 = #$00
$A2C3:9D B0 07 STA $07B0,X @ $07B8 = #$00
$A2C6:60 RTS (from $A2BB)
$A767:A9 02 LDA #$02 ; load 2
$A769:9D 50 07 STA $0750,X @ $0758 = #$01 ; store it to $758
$A76C:BD 90 06 LDA $0690,X @ $0698 = #$FF
$A76F:C9 20 CMP #$20
$A771:B0 10 BCS $A783
$A783:60 RTS (from $A004)
Result:
$0000 -> $0758 -> $0678. Delay stage start by 93 frames :)
You'll still be 10 frames ahead. No guarantee other enemies will behave though XD