Release 2026-11-04-r2 · SHA256 d3e1523a3c8f8b0c7df5be4bf016ab659c4a6cfae2f7997f80c8fa9d075faf63 · Click a line number for a direct link.
1| Optional ordinary human B release: minimum six native skater interaction ticks.2| Native ABAA owns countdown; native14E54 owns contact admission. No frame,3| collision, puck movement, CPU pass, keeper save or RNG hook is added.4| Off=0, On=1 at F010. Four independent tagged records4D2A..4D31 (Light gap).5| +0 human release, +4 mapped load, +8 mapped store, +12 season-only reset.6 .equ VALUE,0xFFFFF0107 .equ MAP,0xA130F18 .text9 .globl _start10_start:11 bra.w release12 bra.w load13 bra.w put14 bra.w reset1516release:17 move.w %sr,-(%sp)18 movem.l %d0/%a0,-(%sp)19 cmpi.w #1,VALUE20 bne.w released21 btst #3,0x62(%a3)22 beq.w released23 tst.w 0x34(%a3)24 bmi.w released25 move.w 0x52(%a3),%d026 cmpi.w #11,%d027 bhi.w released28 cmp.w 0xFFFFB7AA,%d029 bne.w released30 tst.w 0xFFFFD41231 bne.w released32 btst #0,0xFFFFC2FA33 bne.w released34 btst #2,0xFFFFC2F235 bne.w released36 btst #3,0xFFFFC2F637 bne.w released38 move.b 0xFFFFC2EA,%d039 andi.b #0x11,%d040 bne.w released41 move.b 0xFFFFC2EC,%d042 andi.b #0x81,%d043 bne.w released44 btst #0,0x63(%a3)45 bne.w released46 lea 0xFFFFB04A,%a047 moveq #11,%d048actors:49 tst.w 0x34(%a0)50 ble.s next | native keeper and inactive roles never change51 tst.b 0x5E(%a0)52 bmi.s next | preserve special/long signed native lock states53 cmpi.b #6,0x5E(%a0)54 bcc.s next | never shorten passer/injury/other native cooldown55 move.b #6,0x5E(%a0)56next:57 adda.w #128,%a058 dbra %d0,actors59released:60 movem.l (%sp)+,%d0/%a061 move.w (%sp)+,%sr62 rts6364record:65 lea 0x209A55,%a0 | native, Full, Light, Mini; two logical bytes each66 tst.w 0xFFFFF06C67 beq.s record_done68 move.w 0xFFFFF06A,%d069 subq.w #1,%d070 cmpi.w #2,%d071 bhi.s record_done72 addq.w #1,%d073 lsl.w #2,%d074 adda.w %d0,%a075record_done:76 rts77load:78 move.w %sr,-(%sp)79 movem.l %d0-%d1/%a0,-(%sp)80 clr.w VALUE81 bsr.s record82 moveq #0,%d083 move.b (%a0),%d084 move.w %d0,%d185 andi.w #0xFE,%d186 cmpi.w #0x70,%d187 bne.s loaded88 not.b %d089 cmp.b 2(%a0),%d090 bne.s loaded91 not.b %d092 andi.w #1,%d093 move.w %d0,VALUE94loaded:95 movem.l (%sp)+,%d0-%d1/%a096 move.w (%sp)+,%sr97 rts98put:99 move.w %sr,-(%sp)100 movem.l %d0-%d1/%a0,-(%sp)101 bsr.w record102 moveq #0x70,%d0103 cmpi.w #1,VALUE104 bne.s write105 addq.w #1,%d0106write:107 move.b %d0,(%a0)108 not.b %d0109 move.b %d0,2(%a0)110 lea 0x208001,%a0111 moveq #0,%d0112 move.w #0x1FFD,%d1113sum:114 add.b (%a0),%d0115 addq.l #2,%a0116 dbra %d1,sum117 not.b %d0118 move.b %d0,(%a0)119 not.b %d0120 move.b %d0,2(%a0)121 movem.l (%sp)+,%d0-%d1/%a0122 move.w (%sp)+,%sr123 rts124reset:125 move.w 0xFFFFF06C,-(%sp)126 move.w #1,0xFFFFF06C | native→fresh season never resets the native choice127 clr.w VALUE128 bsr.w put129 move.w (%sp)+,0xFFFFF06C130 rts131