Release 2026-11-04-r2 · SHA256 18afc3c7c4d452d82f850c0ad57eed54b8ee55b21b0a07a7c7f411138af1285c · Click a line number for a direct link.
1 .ifndef WITH_REFINEMENTS2 .equ WITH_REFINEMENTS,03 .endif4| Clear the previous power-play display without losing either live team pointer.5| Native EASNLogo clobbers A2 with VRAM offset $030A; updatepwrplay still needs6| A2/A3 to compare penalty queues immediately after this call.7 .text8 .globl _start9_start:10 .if WITH_REFINEMENTS11 bra.w clear12 bra.w draw_box13clear:14 .endif15 bclr #5,0xFFFFC2EE16 beq.w done17 .if WITH_REFINEMENTS18 | Retire only the requested72x32pixel PP box above the existing clock frame.19 move.w %sr,-(%sp)20 movem.l %d0-%d2,-(%sp)21 ori.w #0x700,%sr22 move.w #0x8F02,0xC0000423 move.l #0x69800003,%d2 | row19,col0; nine cells like the clock below24 moveq #3,%d125clear_row:26 move.l %d2,0xC0000427 moveq #8,%d028clear_cell:29 move.w #0x07FF,0xC0000030 dbra %d0,clear_cell31 addi.l #0x00800000,%d232 dbra %d1,clear_row33 movem.l (%sp)+,%d0-%d234 move.w (%sp)+,%sr35 .endif36 movem.l %a2-%a3,-(%sp)37 jsr 0x12D7038 movem.l (%sp)+,%a2-%a339done:40 rts41 .if WITH_REFINEMENTS42draw_box:43 move.w %sr,-(%sp)44 movem.l %d0-%d2/%a0,-(%sp)45 ori.w #0x700,%sr46 move.w #0x8F02,0xC0000447 lea box_words(%pc),%a048 move.l #0x69800003,%d249 moveq #3,%d150draw_row:51 move.l %d2,0xC0000452 moveq #8,%d053draw_cell:54 move.w (%a0)+,0xC0000055 dbra %d0,draw_cell56 addi.l #0x00800000,%d257 dbra %d1,draw_row58 movem.l (%sp)+,%d0-%d2/%a059 move.w (%sp)+,%sr60 bset #5,0xFFFFC2EE | exact displaced native PP flag/CCR behavior61 jmp 0x12AD2 | continue native club/timer/stat accounting62box_words:63 .word 0xA3FF,0xA400,0xA400,0xA400,0xA400,0xA400,0xA400,0xA400,0xA40164 .word 0xA402,0xA403,0xA403,0xA403,0xA403,0xA403,0xA403,0xA403,0xA40465 .word 0xA402,0xA403,0xA403,0xA403,0xA403,0xA403,0xA403,0xA403,0xA40466 .word 0xA405,0xA406,0xA406,0xA406,0xA406,0xA406,0xA406,0xA406,0xA40767 .endif68