START macro move.l a7,a5 move.l 4(a5),a5 move.l $c(a5),d0 add.l $14(a5),d0 add.l $1c(a5),d0 add.l #$100,d0 lea pile,a7 move.l d0,-(sp) move.l a5,-(sp) move #0,-(sp) move #$4a,-(sp) trap #1 add.l #12,sp section bss even ds.l 200 pile section text endm BMOVE macro lea \1,a0 lea \2,a1 move.l \3,d0 move.b (a0)+,(a1)+ subq.l #1,d0 dc.w $66fa bne.s s1 endm NNOP macro dcb.w \1,$4e71 endm SAVEPAL macro movem.l $ffff8240.w,d0-d7 movem.l d0-d7,\1 endm LOADPAL macro movem.l \1,d0-d7 movem.l d0-d7,$ffff8240.w endm mouseoff macro move.b #$12,$fffffc02.w endm mouseon macro move.b #$08,$fffffc02.w endm supexec macro pea \1 move.w #$26,-(sp) trap #14 addq.l #6,sp endm supervis macro move.l \1,-(sp) move.w #$20,-(sp) trap #1 addq.l #6,sp endm soundoff macro move.l #$08080000,$ffff8800.w move.l #$09090000,$ffff8800.w move.l #$0A0A0000,$ffff8800.w endm setscreen macro move.w \1,-(sp) move.l \2,-(sp) move.l \3,-(sp) move.w #$5,-(sp) trap #14 lea 12(sp),sp endm setscreen2 macro move.w \1,d0 move.b d0,$ffff8260.w move.l \2,d0 lsr.w #8,d0 move.l d0,$ffff8200.w endm pterm macro clr.w -(sp) trap #1 endm print macro pea \1 move.w #9,-(sp) trap #1 addq.l #6,sp endm getrez macro move.w #4,-(sp) trap #14 addq.l #2,sp move.w d0,\1 endm getrez2 macro move.b $ffff8260.w,d0 and.w #3,d0 move.w d0,\1 endm getphys macro move.w #3,-(sp) trap #14 addq.l #2,sp move.l d0,\1 endm getphys2 macro move.l $ffff8200.w,d0 lsl.w #8,d0 move.l d0,\1 endm getlog macro move.w #3,-(sp) trap #14 addq.l #2,sp move.l d0,\1 endm getkey macro move.w #7,-(sp) trap #1 addq.l #2,sp endm vsync macro move.w #$25,-(sp) trap #14 addq.l #2,sp endm readsct macro move.w \1,-(sp) nb sct move.w \2,-(sp) side move.w \3,-(sp) track move.w \4,-(sp) sct move.w \5,-(sp) drive clr.l -(sp) move.l \6,-(sp) tampon move.w #8,-(sp) trap #14 lea 20(sp),sp endm writesct macro move.w \1,-(sp) nb sct move.w \2,-(sp) side move.w \3,-(sp) track move.w \4,-(sp) sct move.w \5,-(sp) drive clr.l -(sp) move.l \6,-(sp) tampon move.w #9,-(sp) trap #14 lea 20(sp),sp endm v_init macro \1 set \2 endm v_inc macro \1 set \1+\2 endm mtable_l macro v_init moffset,0 rept \1 dc.l \2+moffset v_inc moffset,\3 endr endm mtable_w macro v_init moffset,0 rept \1 dc.w \2+moffset v_inc moffset,\3 endr endm mtable_b macro v_init moffset,0 rept \1 dc.b \2+moffset v_inc moffset,\3 endr endm