10 CALL LINK("SCRN2") ! SCREEN MODE 15 CALL MAGNIFY(2) ! MAGNIFY 2 SPRITE SIZE 20 CALL LINK("SCREEN",2) ! SCREEN IS BLACK 30 CALL CLEAR ! BLANK SCREEN 40 CALL CHAR(40,"3C7EFFFFFFFF7E3C") ! DEFINE OUR SPRITE 50 N=1 ! DECLARE "N" AS 1, THIS IS USED FOR PIXEL INCREMENTATIONS ON SPRITE 60 T1=0 ! DECLARE "T1" AS ZERO, THIS IS TIMER FOR COLOUR CHANGE 70 C=3 ! DECLARE "C" AS 3, THIS IS OUR SPRITE COLOUR TO START WITH 80 CALL SPRITE(#1,40,C,100,N) ! PLACE OUR SPRITE ! MAIN ROUTINE 1100 GOSUB 2100 ! INCREMENT "N" BY 1 1110 GOSUB 2200 ! INCREMENT "T1" BY 1 UNTIL..... 1120 GOSUB 2300 ! .... IT EITHER REACHES 200, OR IT DOESN'T. IF IT DOES, T1=0 AND C=C+1 (UP TO 16) 1130 GOTO 1100 ! BACK TO THE START 2100 N=N+1 :: IF N>255 THEN N=1 ! INCREMENT N BY 1 2110 CALL LOCATE(#1,100,N) ! PLACE THE SPRITE IN NEW POSITION 2120 RETURN ! TERMINATE SUBROUTINE 2200 T1=T1+1 ! INCREMENT T1 BY 1 2210 RETURN ! TERMINATE SUBROUTINE 2300 IF T1>199 THEN 2305 ELSE 2399 ! IF T1 AT 200 YET? 2305 T1=0 ! YES, SO MAKE IT NILL.... 2310 C=C+1::IF C>16 THEN C=3 ! AND INCREMENT C UNTIL 16 2315 CALL COLOR(#1,C) ! COLOUR THE SPRITE WITH C VALUE 2399 RETURN ! TERMINATE SUBROUTINE