1 REM +++++++++++++++++++++++++++++++++ 2 REM ! Program .... SPRITE.BAS 3 REM ! Utg}va 1.3 84 11 26 4 REM ! av (c) Tom Sj|berg 7 REM ! Minne 16 Kbytes 8 REM ! Ins{nt av 2401 9 REM +++++++++++++++++++++++++++++++++ 10 REM DEMONSTRATION AV SPRITES ABC80 42 REM =============================== 43 REM = DRAW maskinkod kr{vs ! = 44 REM = = 45 REM = 65408-65535 bildlager = 46 REM = POKE Q3%,0 eller 1 = 47 REM = 0 = samverkande sprite = 48 REM = 1 = separata sprite = 49 REM = Z%=FNS%(3,rad,kol) s{tt = 50 REM = sprite 3 p} sk{rmen = 51 REM =============================== 60 REM . SPRITE 1 S%=1 61 DATA .,.,.,.,.,.,.,.,.,.,.,.,.,.,.,. 62 DATA .,.,.,.,.,.,.,.,.,.,.,.,.,.,.,. 63 DATA .,.,.,.,,,.,.,.,,.,.,,.,.,. 64 DATA .,.,.,.,.,.,,.,.,,.,.,,.,.,. 65 DATA ,,,,,.,.,,.,,,,,.,.,. 66 DATA .,.,.,.,.,.,,.,.,,.,.,,.,.,. 67 DATA .,.,.,.,,,.,.,.,,.,.,,.,.,. 68 DATA .,.,.,.,.,.,.,.,.,.,.,.,.,.,.,. 69 REM . SPRITE 2 S%=2 70 DATA .,.,.,.,.,.,.,.,.,.,.,.,.,.,.,. 71 DATA .,.,.,.,.,.,.,.,.,.,.,.,.,.,.,. 72 DATA .,.,,,.,.,.,.,.,,.,.,.,,.,. 73 DATA .,,.,.,.,.,.,.,.,,.,.,.,,.,. 74 DATA ,.,.,,,,,,.,.,,.,,.,.,. 75 DATA .,,.,.,.,.,.,.,.,.,,.,,.,.,. 76 DATA .,.,,,.,.,.,.,.,.,.,,.,.,.,. 77 DATA .,.,.,.,.,.,.,.,.,.,.,.,.,.,.,. 78 REM . SPRITE 3 S%=3 79 DATA .,.,.,.,,.,.,.,.,.,.,.,.,.,.,. 80 DATA .,.,.,.,,.,.,.,.,.,.,.,.,.,.,. 81 DATA .,.,.,.,,.,.,.,.,,.,.,,.,.,. 82 DATA .,.,.,.,,.,.,.,.,,,.,,.,.,. 83 DATA .,.,,.,,.,,.,.,,.,,,.,.,. 84 DATA .,.,,.,.,.,,.,.,,.,.,,.,.,. 85 DATA .,.,.,,.,,.,.,.,,.,.,,.,.,. 86 DATA .,.,.,.,,.,.,.,.,.,.,.,.,.,.,. 87 REM . SPRITE 4 S%=4 88 DATA .,.,.,.,,.,.,.,.,.,.,.,.,.,.,. 89 DATA .,.,.,,.,,.,.,.,.,.,.,.,.,.,. 90 DATA .,.,,.,.,.,,.,.,,.,.,,.,.,. 91 DATA .,.,,.,,.,,.,.,,.,.,,.,.,. 92 DATA .,.,.,.,,.,.,.,.,,.,.,,.,.,. 93 DATA .,.,.,.,,.,.,.,.,,.,.,,.,.,. 94 DATA .,.,.,.,,.,.,.,.,,,,,.,.,. 95 DATA .,.,.,.,,.,.,.,.,.,.,.,.,.,.,. 100 GOSUB 60100 : REM *INITIERA SPRITE* 110 DIM R%(4%),K%(4%) 120 POKE Q3%,0% 130 FOR S%=1% TO 4% : R%(S%)=43% : K%(S%)=33% : Z%=FNS%(S%,R%(S%),K%(S%)) : NEXT S% : S%=4% : S1%=4% 135 GOTO 510 : REM ***** INFO ****** 140 REM ******* TEXT,GRAFMOD ******* 150 ; CHR$(12%); 160 ; CUR(0,1)'U 0=>samverkan 1=>bild1 2=>bild2'; 170 ; CUR(1,0)'G H (Av Tom Sj|berg) 3=>bild3 4=>bild4'CUR(2,1)'N'; 190 FOR I%=3 TO 23 : ; CUR(I%,0);CHR$(151); : NEXT I% 200 ; CUR(3%,1%)' p,&######),p '; 201 ; CUR(4%,1%)' `<# #,0 '; 202 ; CUR(5%,1%)' x! #d '; 203 ; CUR(6%,1%)' : "e '; 204 ; CUR(7%,1%)' : e '; 205 ; CUR(8%,1%)' h! "4 '; 206 ; CUR(9%,1%)' 6 `p0pp pp0 p0pppp`pp i '; 207 ; CUR(10%,1%)' 5 7 5"55 k j !j "j " j '; 208 ; CUR(11%,1%)' 5 +l0=.!},'' j j j,$ j '; 209 ; CUR(12%,1%)' 5 55 7m0 j j j j '; 210 ; CUR(13%,1%)' 5 "-.!% % - .$ .$ *,,% j '; 211 ; CUR(14%,1%)' i 5 '; 212 ; CUR(15%,1%)' e z '; 213 ; CUR(16%,1%)' "t 8! '; 214 ; CUR(17%,1%)' e0 :! '; 215 ; CUR(18%,1%)' )d0 p'' '; 216 ; CUR(19%,1%)' #,p0 `p,# '; 217 ; CUR(20%,1%)' "######! '; 218 ; CUR(23%,21%)CHR$(135%)'f|r info tryck i'; 290 GOTO 430 300 REM ******* MAIN-LOOP ********** 310 T$=CHR$((INP(56%) OR 32%)-128%) 320 ON INSTR(1%,'nuhg01234i',T$)+1% GOTO 310,340,350,360,370,380,390,400,410,420,510 330 REM 340 S1%=3% : R%(S%)=R%(S%)+1% : IF R%(S%)>71% R%(S%)=71% : GOTO 430 ELSE 430 350 S1%=4% : R%(S%)=R%(S%)-1% : IF R%(S%)<8% R%(S%)=8% : GOTO 430 ELSE 430 360 S1%=1% : K%(S%)=K%(S%)+1% : IF K%(S%)>79% K%(S%)=79% : GOTO 430 ELSE 430 370 S1%=2% : K%(S%)=K%(S%)-1% : IF K%(S%)<-4% K%(S%)=-4% : GOTO 430 ELSE 430 380 F%=0% : POKE Q3%,F% : S%=S% : GOTO 430 390 F%=1% : POKE Q3%,F% : S%=1% : GOTO 430 400 F%=1% : POKE Q3%,F% : S%=2% : GOTO 430 410 F%=1% : POKE Q3%,F% : S%=3% : GOTO 430 420 F%=1% : POKE Q3%,F% : S%=4% : GOTO 430 430 IF F% Z%=FNS%(S%,R%(S%),K%(S%)) ELSE Z%=FNS%(S1%,R%(S%),K%(S%)) 440 GOTO 310 500 REM ******* INFORMATION ******** 510 ; CHR$(12%,151%,55%)STRING$(36%,35%)CHR$(107%) 520 ; CHR$(151%,53%,32%,135%)' DEMONSTRATION AV SPRITES ABC80 'CHR$(151%,106%) 530 ; CHR$(151%,117%)STRING$(36%,112%)CHR$(122%) 540 ; CUR(6%,0%)'"K|r" med tangenterna : N =ner'CUR(5%,24%)'U =upp'CUR(7%,24%)'G =v{nster'CUR(8%,24%)'H =h|ger' 550 ; CUR(11%,0%)'K|r f|rst bara med U,G,H,N .' : ; 'Tryck sedan 1 och "k|r"' : ; 'Tryck sedan 2 och "k|r" osv' 555 ; : ; CHR$(151%)STRING$(38%,57%) : ; 560 ; 'Detta och mer kan }stadkommas med hj{lp' : ; 'av maskinkoden som finns i programmet' 570 ; CUR(20%,3%)'DRAW16K.BAC eller DRAW32K.BAC'CUR(22%,0%)'Se vidare filerna SPRITE.INF & DRAW.INF' 580 ; CUR(13%,30%)'RETURN'; : POKE 65013%,0% : GET G$ : GOTO 150 60100 REM ##### SUBR INITIERA ######### 60101 DEFFNS%(S%,R%,K%)=CALL(Q4%+(S%-1%)*2%,256%*R%+K%) 60102 REM JUSTERA F\R BOFA 60104 C4%=PEEK(65052%)+SWAP%(PEEK(65053%)) : Q4%=C4%-278% : Q3%=Q4%+8% 60106 REM JUSTERA F\R CHECKSUMMA 60108 IF PEEK(8906%)<>182% POKE C4%-154%,208% : POKE C4%-94%,240% 60110 REM ------- LADDA SPRITES ------- 60112 FOR I%=65408% TO 65535% : POKE I%,0% : NEXT I% 60114 FOR I%=65408% TO 65407%+4%*16% 60116 FOR I1%=0% TO 7% : READ Q$ 60118 IF Q$='' B%=B%+2%^I1% 60120 NEXT I1% : POKE I%,B% : B%=0% 60122 NEXT I% : RETURN 60124 REM #############################