Release 2026-11-04-r2 · SHA256 61262f15d20ecf65045dea0a36579b1d867ad7325af5a532620e5e7d8387ec92 · Click a line number for a direct link.
1| Independent even-lane preseason preferences. No odd SRAM byte is changed.2| Four logical bytes per slot at even index7D00..7D0B: TF,value,~value.3| Pending first-game choices may change; a played season uses its saved record.4| +0 row load(all GPR/SR),+4 writer(native TST.W D2 flags).5 .equ TVALUE,0xFFFFF85C6 .equ VIEW,0xFFFFF06C7 .equ SLOT,0xFFFFF06A8 .equ MAP,0xA130F19 .text10 .globl _start11_start:12 bra.w load13 bra.w writer14load:15 move.w %sr,-(%sp)16 movem.l %d0-%d7/%a0-%a6,-(%sp)17 clr.w TVALUE18 tst.w VIEW19 beq.w loaded20 tst.w 0xFFFFF84C21 bne.w loaded22 moveq #0,%d023 move.w SLOT,%d024 subq.w #1,%d025 cmpi.w #2,%d026 bhi.w loaded27 move.w #0x2700,%sr28 lsl.w #3,%d029 lea 0x20FA00,%a030 adda.w %d0,%a031 bsr.w wait_dma32 move.b #1,MAP33 cmpi.b #0x54,(%a0)34 bne.s no_preference35 cmpi.b #0x46,2(%a0)36 bne.s no_preference37 moveq #0,%d038 move.b 4(%a0),%d039 cmpi.w #1,%d040 bhi.s no_preference41 move.b 6(%a0),%d142 not.b %d143 cmp.b %d1,%d044 bne.s no_preference45 move.w %d0,TVALUE46 move.b #0,MAP47 cmpi.l #0x5345534E,0xFFFFE3E048 bne.s loaded49 tst.w 0xFFFFE3E850 beq.s loaded51 bra.s authoritative52no_preference:53 move.b #0,MAP54authoritative:55 move.w SLOT,%d056 jsr 0x23401457 tst.l %d058 ble.s loaded59 movea.l %d0,%a060 bsr.w wait_dma61 move.b #1,MAP62 moveq #0,%d063 move.b 12(%a0),%d064 move.w %d0,TVALUE65 move.b #0,MAP66loaded:67 movem.l (%sp)+,%d0-%d7/%a0-%a668 move.w (%sp)+,%sr69 rts70writer:71 cmpi.w #1,%d372 bhi.w writer_flags73 tst.w VIEW74 beq.w writer_flags75 tst.w 0xFFFFF84C76 bne.w writer_flags77 cmpi.w #1,0xFFFFE3F078 beq.w writer_flags79 cmpi.w #3,0xFFFFE3F080 beq.w writer_flags81 cmpi.w #4,0xFFFFE3F082 beq.w writer_flags83 move.w %sr,-(%sp)84 movem.l %d0-%d1/%a0,-(%sp)85 moveq #0,%d086 move.w SLOT,%d087 subq.w #1,%d088 cmpi.w #2,%d089 bhi.s written90 move.w #0x2700,%sr91 lsl.w #3,%d092 lea 0x20FA00,%a093 adda.w %d0,%a094 bsr.s wait_dma95 move.b #1,MAP96 clr.b (%a0)97 move.b #0x46,2(%a0)98 move.b %d3,4(%a0)99 move.w %d3,%d0100 not.b %d0101 move.b %d0,6(%a0)102 move.b #0x54,(%a0)103 move.b #0,MAP104 move.w %d3,TVALUE105written:106 movem.l (%sp)+,%d0-%d1/%a0107 move.w (%sp)+,%sr108writer_flags:109 tst.w %d2110 rts111wait_dma:112 btst #1,0xC00005113 bne.s wait_dma114 rts115