'$DYNAMIC DEFINT A-Z 'assembly DECLARE SUB setmodex () DECLARE SUB setpal (p()) DECLARE SUB copypage (BYVAL page1, BYVAL page2) DECLARE SUB setvispage (BYVAL page) DECLARE SUB clearpage (BYVAL page) DECLARE SUB putpixel (BYVAL x, BYVAL y, BYVAL c, BYVAL p) DECLARE SUB rotatesprite (pic(), pal(), BYVAL po, BYVAL x, BYVAL y, BYVAL a, BYVAL p) DECLARE SUB drawsprite (pic(), pal(), BYVAL po, BYVAL x, BYVAL y, BYVAL p) DECLARE SUB rectangle (BYVAL x, BYVAL y, BYVAL w, BYVAL h, BYVAL c, BYVAL p) DECLARE FUNCTION getcos (BYVAL a) DECLARE FUNCTION getsin (BYVAL a) DIM pic(1000), pal(100), newpal(1450) setmodex DEF SEG = VARSEG(newpal(0)) BLOAD "palette.sto", VARPTR(newpal(0)) setpal newpal() DEF SEG = VARSEG(pic(0)) BLOAD "aim.pic", VARPTR(pic(0)) DEF SEG = VARSEG(pal(0)) BLOAD "eggs.pal", VARPTR(pal(0)) a$ = "" i = -256 cpage = 0: vpage = 1 WHILE a$ = "" clearpage cpage a$ = INKEY$ t! = TIMER i = i + 1 rotatesprite pic(), pal(), 0, 160, 100, i, cpage putpixel 160 + getcos(i) / 3, 100 + getsin(i) / 3, 15, cpage drawsprite pic(), pal(), 0, 60, 100, cpage WHILE t! = TIMER: WEND SWAP cpage, vpage setvispage vpage WEND SCREEN 12: CLS : SCREEN 0: WIDTH 80