Home » Recent acquisitions » Commodore_16 » tape009b_c16_commodore_16_games_pack_1.wav » sam
sam
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
| Tape/disk: | Home » Recent acquisitions » Commodore_16 » tape009b_c16_commodore_16_games_pack_1.wav |
| Filename: | sam |
| Read OK: | ✔ |
| File size: | 0848 bytes |
| Load address: | 1001 |
| Exec address: | 0000 |
File contents
10 VOL8:COLOR0,14,6:COLOR4,6:SC=3072:CL=2048
20 DIMDR%(7,1):DIMMC%(7):EX=-1:LV=1
30 FORI=0TO7:READDR%(I,0):READDR%(I,1):NEXT:FORI=0TO7:READMC%(I):NEXT
40 DATA1,0,1,-1,0,-1,-1,-1,-1,0,-1,1,0,1,1,1,62,78,30,77,60,78,33,77
50 PRINT"<clr><red><cursor down><cursor down><cursor down>"
60 PRINT" ╭🭸🭸╮ ╭🭸🭸╮ ╭🭸╮╭🭸╮"
70 PRINT" 🭲 ┴ 🭲 🭲 🭲 🭲🭲 🭲"
80 PRINT" ╰🭸🭸╮ ├🭸🭸┤ 🭲 ╰╯ 🭲"
90 PRINT" ┬ 🭲 🭲 🭲 🭲 🭲"
100 PRINT" ╰🭸🭸╯ ● ┴ ┴ ● ┴ ┴ ●"
110 PRINT"<black><cursor down><cursor down> CONTROLS"
120 PRINT"<light blue><cursor down><cursor down> 'I' TURN MISSILE LEFT"
130 PRINT"<cursor down> 'P' TURN MISSILE RIGHT"
140 PRINT"<cursor down> SPACEBAR FIRES MISSILE"
150 PRINT"<cursor down><cursor down> RETURN TO START"
160 GETA$:IFA$=""THEN160
170 IFASC(A$)<>13THEN160
180 PRINT"<clr><blue> S.A.M."
190 GOSUB670:K=0:N=LV*5:PC=0
200 FORI=0TO39:POKE4032+I,104:POKE3008+I,57:NEXT
210 POKE4050,85:POKE4051,66:POKE4052,73
220 MX=2:MY=22:D=2:F$=""
230 GETA$:TN=TN+1
240 IFA$<>" "THEN280
250 SOUND3,750,5:SOUND3,765,5:SOUND3,780,5:SOUND3,795,10
260 PT=PT-1:PC=PC-1:GOSUB670
270 POKESC+40*MY+MX,32:MY=22:MX=19:D=2:POKESC+40*MY+MX,MC%(D):F$="F"
280 IFF$=""THEN380
290 POKESC+40*MY+MX,32:POKECL+40*MY+MX,0
300 MX=MX+DR%(D,0):MY=MY+DR%(D,1)
310 IFMX<0ORMX>39ORMY<2ORMY>23THEN220
320 TG=PEEK(SC+40*MY+MX)
330 IFTG<>32THENGOSUB560:GOTO230
340 POKESC+40*MY+MX,MC%(D):POKECL+40*MY+MX,0
350 IFA$="I"THEND=D+1:IFD>7THEND=0
360 IFA$="P"THEND=D-1:IFD<0THEND=7
370 SOUND1,1000-ABS(EX-MX)-ABS(EY-MY),3
380 IFTN<6-LVTHEN230
390 TN=0:IFEX>=0ANDEX<=39THEN430
400 FORI=1TO10:SOUND2,900-5*I,4:FORJ=1TO4:NEXTJ:NEXTI
410 EX=0:ED=1:IFRND(0)>.5THENEX=39:ED=5
420 EY=INT(RND(0)*8+RND(0)*8+2)
430 POKESC+40*EY+EX,32
440 IFEY+DR%(ED,1)<3THENEY=3:ED=INT(RND(0)*5+4):GOTO510
450 IFEY+DR%(ED,1)>23THENEY=23:ED=INT(RND(0)*5):GOTO530
460 EX=EX+DR%(ED,0):EY=EY+DR%(ED,1)
470 ED=ED+INT(RND(0)*3)-1
480 IFEX<0THENEX=1:ED=INT(RND(0)*4+6)
490 IFEX>39THENEX=38:ED=INT(RND(0)*5+2)
500 IFED<0THENED=ED+7
510 IFED>7THENED=ED-7
520 EG=PEEK(SC+40*EY+EX)
530 POKESC+40*EY+EX,65:POKECL+40*EY+EX,49
540 IFEG<>32THENGOSUB560
550 GOTO230
560 POKESC+40*MY+MX,42:PT=PT+5*LV+1:PC=PC+5*LV+1
570 FORI=1TO25:SOUND3,1000-5*I,5:NEXT
580 FORI=60TO127:POKECL+40*MY+MX,I:NEXT
590 F$="":POKESC+40*MY+MX,32:X=19:MY=22:EX=-1:K=K+1
600 IFK<>NTHEN670
610 FORI=1TO20+2*LV:SOUND1,600+I*5,5:SOUND2,900-4*I,5:FORJ=1TO5:NEXTJ:NEXTI
620 PRINT"<black><cursor down><cursor down><cursor down><cursor down><cursor down><cursor right><cursor right><cursor right><cursor right>LEVEL ";LV;" COMPLETED."
630 PRINT"<cursor down> KILL RATIO = ";100*PC/(N*5*LV);"%"
640 PRINT"<cursor down><cursor down><yellow> RETURN TO CONTINUE"
650 LV=LV+1:IFLV>5THENLV=5
660 PRINT"<home><cursor down> <red>SCORE <yellow>";PT:GOTO160
670 PRINT"<home><cursor down> <red>SCORE <yellow> <cursor left><cursor left><cursor left><cursor left><cursor left><cursor left>";PT:RETURN
% �8:�0,14,6:�4,6:SC�3072:CL�2048 F �DR%(7,1):�MC%(7):EX��1:LV�1 x �I�0�7:�DR%(I,0):�DR%(I,1):�:�I�0�7:�MC%(I):� �( �1,0,1,-1,0,-1,-1,-1,-1,0,-1,1,0,1,1,1,62,78,30,77,60,78,33,77 �2 �"�"