Release 2026-11-04-r2 · SHA256 1d0b99d8c1e95a1f1f927c65fcc271b506bb99d048ab20da279060fe0782fe46 · Click a line number for a direct link.
1| Retain the real native interception, including its B24 animation. A genuine2| friendly pass must not lose its CPU one-timer request solely because that3| interception temporarily sets busy. No actor, puck, RNG or SRAM writes.4| +0 frame eligibility, +4 finishing geometry, +8 owned-catch opening guard.5 .text6 .globl _start7_start:8 bra.w frame_guard9 bra.w finish_ready10 bra.w owned_catch11frame_guard:12 move.w %sr,-(%sp)13 movem.l %d1-%d3,-(%sp)14 moveq #0,%d015 cmpi.w #1,0xFFFFF07A16 bne.w guard_done17 btst #3,0x62(%a3)18 bne.w guard_done19 btst #2,0x63(%a3)20 bne.w guard_done21 tst.w 0x34(%a3)22 ble.w guard_done23 btst #0,0xFFFFC2EA24 bne.w guard_done25 btst #4,0xFFFFC2EA26 bne.w guard_done27 btst #7,0xFFFFC2EC28 bne.w guard_done29 btst #7,0xFFFFC2EE30 bne.w guard_done31 btst #2,0xFFFFC2F232 bne.w guard_done33 move.b 0xFFFFC2FA,%d134 andi.w #5,%d135 bne.w guard_done36 btst #5,0x62(%a3)37 beq.w guard_yes | original ordinary guard semantics3839 cmpi.w #0xB24,0x58(%a3)40 bne.w guard_done | other busy actions remain excluded41 cmpi.w #0x5042,0xFFFFF08642 bne.w guard_done43 tst.w 0xFFFFF08A44 bmi.w guard_done | zero is the original last valid frame tick45 move.w 0x52(%a3),%d146 cmpi.w #11,%d147 bhi.w guard_done48 move.w %d1,%d249 addq.w #1,%d250 cmp.w 0xFFFFF088,%d251 bne.w guard_done52 cmp.w 0xFFFFBEE0,%d153 beq.s target_valid54 cmp.w 0xFFFFB7AA,%d155 bne.w guard_done56 move.w %d1,%d357 ori.w #0xFF00,%d358 cmp.w 0xFFFFBEE0,%d359 bne.w guard_done | native catch stamps FF|receiver as target60target_valid:61 move.w 0xFFFFBEDA,%d262 cmpi.w #11,%d263 bhi.w guard_done64 move.w %d1,%d365 subi.w #6,%d366 subi.w #6,%d267 eor.w %d3,%d268 bmi.w guard_done69 cmp.w 0xFFFFB7AA,%d170 beq.s catch_context71 move.w 0xFFFFB7AA,%d272 andi.w #0xFF00,%d273 cmpi.w #0xFF00,%d274 bne.w guard_done75 move.w 0xFFFFB7AA,%d276 andi.w #255,%d277 cmp.w 0xFFFFBEDA,%d278 bne.w guard_done79catch_context:80 btst #0,0xFFFFC2EC81 bne.w guard_done82 move.w 0xFFFFF738,%d283 subi.w #0xA502,%d284 cmpi.w #5,%d285 bcs.w guard_done86guard_yes:87 moveq #1,%d088guard_done:89 movem.l (%sp)+,%d1-%d390 move.w (%sp)+,%sr91 tst.w %d092 rts9394finish_ready:95 move.w %sr,-(%sp)96 movem.l %d1-%d2,-(%sp)97 bsr.w frame_guard98 tst.w %d099 beq.s ready_done100 moveq #0,%d0101 move.w 0x14(%a3),%d1102 btst #7,0x62(%a3)103 bne.s ready_depth104 neg.w %d1105ready_depth:106 cmpi.w #160,%d1107 blt.s ready_done108 cmpi.w #252,%d1109 bgt.s ready_done110 move.w (%a3),%d2111 bpl.s ready_abs112 neg.w %d2113ready_abs:114 cmpi.w #92,%d2115 bgt.s ready_done116 jsr 0x2DD018 | unchanged native playbook lane geometry117ready_done:118 movem.l (%sp)+,%d1-%d2119 move.w (%sp)+,%sr120 tst.w %d0121 rts122123owned_catch:124 move.w %sr,-(%sp)125 move.w %d1,-(%sp)126 moveq #0,%d0127 cmpi.w #0xB24,0x58(%a3)128 bne.s owned_done129 move.w 0x52(%a3),%d1130 cmp.w 0xFFFFB7AA,%d1131 bne.s owned_done132 bsr.w frame_guard133owned_done:134 move.w (%sp)+,%d1135 move.w (%sp)+,%sr136 tst.w %d0137 rts138