experimental/momentum.s

Download file

Release 2026-11-04-r2 · SHA256 476a3a714bf8b422ad960513265976d73e4af4f22d892d3a3e873e00d7dc67e3 · Click a line number for a direct link.

1| Independent existing momentum switch:0On(default),1Off. Easy assistance separate.2    .equ VALUE,0xFFFFF84A3    .text4    .globl _start5_start:6    bra.w load7    bra.w put8    bra.w reset9    bra.w disabled10    bra.w gate_d011    bra.w gate_d212    bra.w gate_d413record:14    lea 0x209AA5,%a0              | native/Full/Light/Mini logical4D52..5915    tst.w 0xFFFFF06C16    beq.s record_done17    move.w 0xFFFFF06A,%d018    subq.w #1,%d019    cmpi.w #2,%d020    bhi.s record_done21    addq.w #1,%d022    lsl.w #2,%d023    adda.w %d0,%a024record_done:25    rts26load:27    move.w %sr,-(%sp)28    movem.l %d0-%d1/%a0,-(%sp)29    clr.w VALUE30    bsr.s record31    moveq #0,%d032    move.b (%a0),%d033    move.w %d0,%d134    andi.w #0xFE,%d135    cmpi.w #0x7A,%d136    bne.s loaded37    not.b %d038    cmp.b 2(%a0),%d039    bne.s loaded40    not.b %d041    andi.w #1,%d042    move.w %d0,VALUE43loaded:44    movem.l (%sp)+,%d0-%d1/%a045    move.w (%sp)+,%sr46    rts47put:48    move.w %sr,-(%sp)49    movem.l %d0-%d1/%a0,-(%sp)50    bsr.w record51    moveq #0x7A,%d052    cmpi.w #1,VALUE53    bne.s write54    addq.w #1,%d055write:56    move.b %d0,(%a0)57    not.b %d058    move.b %d0,2(%a0)59    lea 0x208001,%a060    moveq #0,%d061    move.w #0x1FFD,%d162sum:63    add.b (%a0),%d064    addq.l #2,%a065    dbra %d1,sum66    not.b %d067    move.b %d0,(%a0)68    not.b %d069    move.b %d0,2(%a0)70    movem.l (%sp)+,%d0-%d1/%a071    move.w (%sp)+,%sr72    rts73reset:74    move.w %sr,-(%sp)75    move.w 0xFFFFF06C,-(%sp)76    move.w #1,0xFFFFF06C77    clr.w VALUE78    bsr.w put79    move.w (%sp)+,0xFFFFF06C80    move.w (%sp)+,%sr81    rts8283| Consume actual counters while Off; no banked event or stale applied percent.84| Full GPR/SR preserved. Native frame rescales cached active actors from BASE;85| the loader/roster/crit gates independently enforce zero effective percentage.86disabled:87    move.w %sr,-(%sp)88    clr.w 0xFFFFF70289    clr.w 0xFFFFF70E90    clr.w 0xFFFFF72A91    clr.w 0xFFFFF72C92    clr.w 0xFFFFF72E93    move.w 0xFFFFC6CE,0xFFFFF70494    move.w 0xFFFFC6DE,0xFFFFF70695    move.w 0xFFFFCA32,0xFFFFF70896    move.w 0xFFFFCA42,0xFFFFF70A97    move.w 0xFFFFC468,0xFFFFF70C98    move.w (%sp)+,%sr99    rts100gate_d0:101    move.w %sr,-(%sp)102    cmpi.w #1,VALUE103    bne.s gate_d0_done104    moveq #0,%d0105gate_d0_done:106    move.w (%sp)+,%sr107    rts108gate_d2:109    move.w %sr,-(%sp)110    cmpi.w #1,VALUE111    bne.s gate_d2_done112    moveq #0,%d2113gate_d2_done:114    move.w (%sp)+,%sr115    rts116gate_d4:117    move.w %sr,-(%sp)118    cmpi.w #1,VALUE119    bne.s gate_d4_done120    moveq #0,%d4121gate_d4_done:122    move.w (%sp)+,%sr123    rts124