home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Compute! Gazette 1988 November
/
1988-11.d64
/
supra.demo
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-09-20
|
3KB
|
118 lines
10 rem copyright 1988 compute! publications, inc. - all rights reserved
20 poke56,136:clr:x=rnd(-ti)
30 poke53280,0:poke53281,0:print"[147]please wait..."
40 x=0:fori=1to380:reada:x=x+a:next:ifx<>50225thenprint"data error.":stop
50 restore:sys2186
60 dimx(10),y(10),c(16)
70 fori=0to217:reada:poke49148+i,a:next
80 sys49298:rem move character rom to ram for sprite conversions
90 sys2183:poke251,0
100 restore:goto510
110 fori=0to8*64:poke8192+i,0:next
120 fori=0to7:poke53287+i,1:poke2040+i,128+i:next
130 poke53277,255:poke53269,0:poke53271,0
140 print"[147]":poke251,1:poke252,0:poke253,0
150 a$="welcome to supratechnic":t=1:gosub1130
160 fory=1to1500:next
170 fort=0to200:forf=1to5:next
180 sys49342:next
190 forf=1to1500:next
200 poke53269,0
210 a$="full graphic mode":t=2:gosub1130
220 t=0:poke251,2:poke252,0:poke253,0
230 sys2189
240 t=t+1:ift=5then310
250 gosub1070
260 gosub1200
270 restore:fori=0to2:reade:poke252,e
280 forj=0to500:next:next
290 reade:poke252,e
300 goto240
310 poke252,2
320 fort=0to82:gosub1230:next
330 poke53269,252
340 fort=0to28:gosub1230:next
350 poke53269,224
360 fort=0to28:gosub1230:next
370 poke53269,0
380 fort=0to1000:next
390 poke252,0:poke251,1:poke253,0:sys2192
400 a$="spritemode":t=3:gosub1130
410 fori=0to500:next
420 forg=1to6
430 gosub1210:fori=0to500:next:next
500 poke252,0:poke251,0:poke253,0:sys2192:poke53269,0:goto140
510 data5,6,10,9
520 rem extended ml routines
530 data169,8,141,19,192,169,12,141,20
540 data192,172,60,3,162,0,189,61,3,141
550 data8,12,238,19,192,208,3,238,20
560 data192,173,19,192,201,16,240,7,232
570 data136,208,231,76,10,192,173,20
580 data192,201,13,208,242,96
590 data169,0,170,141,104,192,169,32
600 data141,105,192,169,3,133,167,169
610 data0,133,169,189,60,3,133,168,138
620 data72,24,38,168,38,169,38,168,38,169
630 data38,168,38,169,24,165,169,105,136,133,169
640 data162,0,160,0,177,168,157,194,33
650 data232,232,232,200,192,8,208,243,104,170,232
660 data224,24,208,1,96,238,104,192,198
670 data167,208,193,24,173,104,192,105,61,141
680 data104,192,144,3,238,105,192,76,62
690 data192,120,165,1,72,169,49,133,1,160,0
700 data132,170,132,168,169,208,133,169
710 data169,128,133,171,177,168,145,170,200,208
720 data249,230,169,230,171,165,169,201
730 data224,208,239,104,133,1,88,96
740 data162,1,222,0,208,232,232,224,17
750 data208,247,96,162,1,254,0,208,232
760 data232,224,17,208,247,96
770 rem full graphic mode graphic data
780 x(1)=peek(61):y(1)=peek(62)
790 data252,248,240,224,192,128,1,3
800 data7,15,31,63,255,255,170,85
810 data170,85,170,85,255,255,-1
820 x(2)=peek(61):y(2)=peek(62)
830 data255,255,0,0,255,255,204,51
840 data204,51,255,255,24,24,24,24
850 data255,255,204,51,204,51,-1
860 x(3)=peek(61):y(3)=peek(62)
870 data240,240,240,240,15,15,15,15
880 data255,255,255,204,51,204,51
890 data204,51,204,51,255,255,255
900 data170,85,170,85,170,85,170,85
910 data255,255,255,-1
920 x(4)=peek(61):y(4)=peek(62)
930 data255,255,255,3,6,12,24,48,96
940 data192,192,96,48,24,12,6,3
950 data255,255,255,170,85,170,85
960 data204,51,204,51,204,170,85
970 data170,85,-1
980 rem sprite positions
990 x(5)=peek(61):y(5)=peek(62)
1000 data128,100,176,100,224,100,168,130,88,160,136,160,184,160,232,160
1010 x(6)=peek(61):y(6)=peek(62)
1020 data160,100,208,100,132,130,180,130,228,130,160,160,208,160,0,100
1030 x(7)=peek(61):y(7)=peek(62)
1040 data136,35,184,35,152,0,200,0,0,100,0,100,0,100,0,100
1050 goto110
1060 rem quick fill graphic buffer with data
1070 poke65,x(t):poke66,y(t):i=0
1080 reada:ifa=-1then1100
1090 poke829+i,a:i=i+1:goto1080
1100 poke828,i:i=peek(252):poke252,0
1110 sys49152:poke252,i:return
1120 rem convert string to sprites and set position from data
1130 poke53269,0
1140 iflen(a$)<24thena$=a$+" ":goto1140
1150 fori=1to24:poke827+i,asc(mid$(a$,i,1)):next
1160 sys49203
1170 poke65,x(t+4):poke66,y(t+4)
1180 fori=0to15:readc(i):poke53248+i,c(i):next
1190 poke53269,255:return
1200 a=int(rnd(1)*14)+2:poke253,a:poke53281,a:return
1210 a=int(rnd(1)*14)+2:poke253,a:a=int(rnd(1)*14)+2:poke53281,a:return
1220 rem decrease y on all sprites
1230 sys49342:fory=0to10:next:return