Home » Archimedes archive » Acorn Computing » 1993 07 Mega Disk.adf » 93_07 » DataVision/!DataVis/Accs/CASHBOOKG/Miscellany/!MINEFIELD/!RunImage

DataVision/!DataVis/Accs/CASHBOOKG/Miscellany/!MINEFIELD/!RunImage

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 » Archimedes archive » Acorn Computing » 1993 07 Mega Disk.adf » 93_07
Filename: DataVision/!DataVis/Accs/CASHBOOKG/Miscellany/!MINEFIELD/!RunImage
Read OK:
File size: 131C bytes
Load address: 0000
Exec address: 0000
File contents
   10REM> <MINEFIELD$dir>.!RunImage
   20REM by MAG (& Cat on a good day)
   30REM Acorn Computerating
   40REMPROCvoices
   50REMSOUND ON
   60MODE13
   70OFF
   80O$="OS_SpriteOp"
   90REMDIV Load in the Spritefile
  100sprites$="<MINEFIELD$dir>.MINEfile2"
  110file%=OPENIN(sprites$)
  120size%=EXT#file%+64
  130CLOSE#file%
  140
  150REMMODDimension an AREA the SIZE of          MODthe file to store sprites in
  160DIM area% size%
  170area%!0=size%
  180
  190REMEORInitialise area to load the            EORsprite definitions to
  200SYS O$,256+9,area%
  210
  220REMORNow load the sprite definitions        ORto this area
  230SYS O$,256+10,area%,sprites$
  240
  250
  260REMDIV_____SET UP ONCE ONLY_________
  270
  280PROCdims
  290PROCsprites
  300
  310REMDIV------------------------------
  320
  330
  340REPEAT
  350PROCinit
  360
  370REPEAT
  380PROCscreen
  390PROCoptions
  400
  410PROCstart
  420
  430REMMOD---LOOP------
  440
  450REPEAT
  460PROCkeys
  470PRINTTAB(3,2);"Mines ";M%
  480PRINTTAB(28,2);"SWEEP":l$=STR$(to_sweep%):WHILELENl$<3l$=" "+l$:ENDWHILE:PRINTTAB(34,2)l$
  490UNTILdead%=1ORto_sweep%=0
  500
  510SYS6,15
  520IFto_sweep%=0PROCwin
  530UNTILdead%=1
  540IFdead%=1PROCdead
  550UNTIL0
  560END
  570
  580REMEORSORT SPRITES OUT
  590DEFPROCsprites
  600FORI%=1TO8
  610PROCsetsprite("NUM"+STR$(I%),num%(I%),h%,w%)
  620NEXT
  630PROCsetsprite("SQUARE",square%,h%,w%)
  640PROCsetsprite("BOMB",bomb%,h%,w%)
  650PROCsetsprite("CURSOR",cursor%,h%,w%)
  660PROCsetsprite("BACKGROUND",backg%,h%,w%)
  670PROCsetsprite("SOUNDON",soundON%,h%,w%)
  680PROCsetsprite("SOUNDOFF",soundOFF%,h%,w%)
  690PROCsetsprite("WIN",winikon%,h%,w%)
  700PROCsetsprite("LOSE",loseikon%,h%,w%)
  710ENDPROC
  720
  730REMMODInit sprites
  740DEFPROCsetsprite(string$,RETURN value%,RETURN width%,RETURN height%)
  750SYS O$,256+24,area%,string$ TO,,value%
  760SYS O$,256+40,area%,string$ TO,,,width%,height%
  770ENDPROC
  780
  790REMEORINIT
  800DEFPROCinit
  810soundx%=40
  820soundy%=24
  830resultx%=592
  840resulty%=900
  850GX%=40
  860GY%=192
  870X%=GX%
  880Y%=GY%
  890m%=40
  900shown%=120
  910M%=100
  920ENDPROC
  930
  940REMERRORSCREEN
  950DEFPROCscreen
  960SYS O$,&222,area%,backg%,0,0,0
  970PROCsound_ikon(1)
  980ENDPROC
  990
 1000REMDIVSTART
 1010DEFPROCstart
 1020go%=0
 1030seen%=0
 1040C%()=0
 1050swept%()=0
 1060to_sweep%=480
 1070total_swept%=0
 1080Z%=0
 1090REPEAT
 1100R%=RND(480)-1
 1110x%=(R%MOD30)*40+GX%
 1120y%=(R%DIV30)*40+GY%
 1130IFC%(R%)=0C%(R%)=9:Z%+=1
 1140UNTILZ%=M%
 1150REMSOUND1,-15,1,250
 1160FORI%=1TOshown%
 1170REPEAT:G%=RND(480)-1:X%=(G%MOD30)*40+GX%:Y%=(G%DIV30)*40+GY%:UNTILswept%(G%)=0
 1180PROClook
 1190NEXT
 1200X%=GX%:Y%=GY%
 1210SYS O$,&222,area%,cursor%,X%,Y%,11
 1220G%=0
 1230dead%=0
 1240to_sweep%=to_sweep%-(M%-seen%)
 1250total_swept%=480-to_sweep%
 1260COLOUR128+5
 1270go%=1
 1280ENDPROC
 1290
 1300REMLINEDIMS
 1310DEFPROCdims
 1320DIMC%(480)
 1330DIMnum%(8)
 1340DIMswept%(480)
 1350ENDPROC
 1360
 1370REMORKEYS
 1380DEFPROCkeys
 1390IFINKEY-116 SOUND ON:PROCsound_ikon(1)
 1400IFINKEY-21  SOUND OFF:PROCsound_ikon(0)
 1410IFINKEY-98PROCM(-m%,0,-1)
 1420IFINKEY-67PROCM(m%,0,1)
 1430IFINKEY-80PROCM(0,m%,30)
 1440IFINKEY-105PROCM(0,-m%,-30)
 1450IFINKEY-74PROCfire
 1460IFINKEY-52to_sweep%=0
 1470ENDPROC
 1480
 1490REMMODMOVEMENT
 1500DEFPROCM(x%,y%,g%)
 1510IFX%+x%<GX%OR X%+x%>1200ENDPROC
 1520IFY%+y%<GY%OR Y%+y%>792ENDPROC
 1530SYS O$,&222,area%,cursor%,X%,Y%,11
 1540X%+=x%:Y%+=y%
 1550G%+=g%
 1560SYS O$,&222,area%,cursor%,X%,Y%,11
 1570REMSOUND1,-2,240,1
 1580IFINKEY-3TIME=0:REPEATUNTILTIME>3:ENDPROC
 1590TIME=0:REPEATUNTILTIME>12
 1600ENDPROC
 1605
 1610REMLINEVOICES
 1620DEFPROCvoices
 1630VOICES 4
 1640*CHANNELVOICE 1 10
 1650*CHANNELVOICE 2 13
 1660*CHANNELVOICE 3 12
 1670*CHANNELVOICE 4 13
 1680ENDPROC
 1685
 1690REMDIVFIRE
 1700DEFPROCfire
 1710SYS O$,&222,area%,cursor%,X%,Y%,11
 1720IFC%(G%)=9dead%=1:ENDPROC
 1730PROClook
 1740SYS O$,&222,area%,cursor%,X%,Y%,11
 1750ENDPROC
 1760
 1770REMLINELOOK
 1780DEFPROClook
 1790IFswept%(G%)=0swept%(G%)=1:to_sweep%-=1:total_swept%+=1
 1800IFC%(G%)=9seen%+=1
 1810IFC%(G%)=9SYS O$,&222,area%,bomb%,X%,Y%,0:ENDPROC
 1820H%=0
 1830IFG%MOD30>0:IFG%+29<480:IFC%(G%+29)=9H%+=1
 1840IFG%+30<480:IFC%(G%+30)=9H%+=1
 1850IFG%MOD30<29:IFG%+31<480:IFC%(G%+31)=9H%+=1
 1860IFG%MOD30>0:IFG%-1>0:IFC%(G%-1)=9H%+=1
 1870IFG%MOD30<29:IFG%+1<480:IFC%(G%+1)=9H%+=1
 1880IFG%MOD30>0:IFG%-31>0:IFC%(G%-31)=9H%+=1
 1890IFG%-30>0:IFC%(G%-30)=9H%+=1
 1900IFG%MOD30<29:IFG%-29>0:IFC%(G%-29)=9H%+=1
 1910CASE H% OF
 1920WHEN 0:SYS O$,&222,area%,square%,X%,Y%,0
 1930WHEN 1,2,3,4,5,6,7,8:SYS O$,&222,area%,num%(H%),X%,Y%,0
 1940ENDCASE
 1950IFgo%=0ENDPROC
 1960FORI=1TOH%
 1970REMSOUND4,-10,(I*4)+80,5
 1980REMSOUND2,-10,(I*4)+92,5
 1990TIME=0:REPEATUNTILTIME>6
 2000NEXT
 2010ENDPROC
 2020
 2030REMEORDEAD!!
 2040DEFPROCdead
 2050REMSOUND1,-15,30,20
 2060SYS O$,&222,area%,loseikon%,resultx%,resulty%,0
 2070SYS O$,&222,area%,cursor%,X%,Y%,3
 2080FORI=1TO10
 2090SYS O$,&222,area%,bomb%,X%,Y%,3
 2100TIME=0:REPEATUNTILTIME>8
 2110NEXT
 2120REMSOUND1,-15,20,20
 2130FORI%=0TO479
 2140x%=(I%MOD30)*40+GX%
 2150y%=(I%DIV30)*40+GY%
 2160IFC%(I%)=9SYS O$,&222,area%,bomb%,x%,y%,0:IFx%=X%ANDy%=Y%SYS O$,&222,area%,cursor%,X%,Y%,8
 2170NEXT
 2180SYS6,15
 2190PRINTTAB(7,27)"Press SPACE to play again"
 2200REPEATUNTILGET=32
 2210ENDPROC
 2220REMMODWIN
 2230DEFPROCwin
 2240REMSOUND3,-15,90,250
 2250SYS O$,&222,area%,winikon%,resultx%,resulty%,0
 2260FORI%=0TO479
 2270x%=(I%MOD30)*40+GX%
 2280y%=(I%DIV30)*40+GY%
 2290IFC%(I%)=9ANDswept%(I%)=0SYS O$,&222,area%,bomb%,x%,y%,0
 2300NEXT
 2310PRINTTAB(7,27)"Press SPACE to play again"
 2320REPEATUNTILGET=32
 2330ENDPROC
 2340REMERROROPTIONS
 2350DEFPROCoptions
 2360COLOUR128+5:COLOUR6
 2370PRINTTAB(2,4)"Do you wish to alter settings? (Y/N)":YN$=GET$
 2380PRINTTAB(2,4)SPC37
 2390IFYN$<>"Y"ENDPROC
 2400INPUTTAB(2,4)"How many MINES? (1-479) "M%
 2410IFM%<1 OR M%>479PRINTTAB(2,4)SPC37:GOTO2400
 2420INPUTTAB(2,4)"Reveal how many squares? (1-479) "shown%
 2430IFshown%<1 OR shown%>479PRINTTAB(2,4)SPC37:GOTO2420
 2440PRINTTAB(2,4)SPC37
 2450ENDPROC
 2460
 2470REMLINESOUND IKON ON/OFF
 2480DEFPROCsound_ikon(onoff%)
 2490IFonoff%=0SYS O$,&222,area%,soundOFF%,soundx%,soundy%,0
 2500IFonoff%=1SYS O$,&222,area%,soundON%,soundx%,soundy%,0
 2510ENDPROC

 �> <MINEFIELD$dir>.!RunImage
"� by MAG (& Cat on a good day)
� Acorn Computerating
(�PROCvoices
2
�SOUND ON
<�13
F�
PO$="OS_SpriteOp"
Z� Load in the Spritefile
d(sprites$="<MINEFIELD$dir>.MINEfile2"
nfile%=�(sprites$)
xsize%=�#file%+64
��#file%
�
�J�Dimension an AREA the SIZE of          �the file to store sprites in
�� area% size%
�area%!0=size%
�
�C�Initialise area to load the            �sprite definitions to
�ș O$,256+9,area%
�
�:�Now load the sprite definitions        �to this area
�ș O$,256+10,area%,sprites$
�
�
$�_____SET UP ONCE ONLY_________

	�dims
"�sprites
,
6$�------------------------------
@
J
T�
^	�init
h
r�
|�screen
��options
�
�
�start
�
��---LOOP------
�
��
�	�keys
��3,2);"Mines ";M%
�@�28,2);"SWEEP":l$=�(to_sweep%):ȕ�l$<3l$=" "+l$:�:�34,2)l$
��dead%=1�to_sweep%=0
�
�
ș6,15
�to_sweep%=0�win
�dead%=1
�dead%=1�dead
&�0
0�
:
D�SORT SPRITES OUT
N
��sprites
X�I%=1�8
b*�setsprite("NUM"+�(I%),num%(I%),h%,w%)
l�
v&�setsprite("SQUARE",square%,h%,w%)
�"�setsprite("BOMB",bomb%,h%,w%)
�&�setsprite("CURSOR",cursor%,h%,w%)
�)�setsprite("BACKGROUND",backg%,h%,w%)
�(�setsprite("SOUNDON",soundON%,h%,w%)
�*�setsprite("SOUNDOFF",soundOFF%,h%,w%)
�$�setsprite("WIN",winikon%,h%,w%)
�&�setsprite("LOSE",loseikon%,h%,w%)
��
�
��Init sprites
�4��setsprite(string$,� value%,� width%,� height%)
�(ș O$,256+24,area%,string$ �,,value%
�1ș O$,256+40,area%,string$ �,,,width%,height%
�


�INIT
 
��init
*soundx%=40
4soundy%=24
>resultx%=592
Hresulty%=900
R
GX%=40
\GY%=192
f
X%=GX%
p
Y%=GY%
z	m%=40
�shown%=120
�
M%=100
��
�
��SCREEN
���screen
�!ș O$,&222,area%,backg%,0,0,0
��sound_ikon(1)
��
�
��START
���start
�	go%=0
seen%=0

C%()=0
swept%()=0
$to_sweep%=480
.total_swept%=0
8Z%=0
B�
LR%=�(480)-1
Vx%=(R%�30)*40+GX%
`y%=(R%�30)*40+GY%
j�C%(R%)=0C%(R%)=9:Z%+=1
t
�Z%=M%
~�SOUND1,-15,1,250
��I%=1�shown%
�C�:G%=�(480)-1:X%=(G%�30)*40+GX%:Y%=(G%�30)*40+GY%:�swept%(G%)=0
�	�look
��
�X%=GX%:Y%=GY%
�%ș O$,&222,area%,cursor%,X%,Y%,11
�G%=0
�dead%=0
�"to_sweep%=to_sweep%-(M%-seen%)
�total_swept%=480-to_sweep%
�
�128+5
�	go%=1
�



�DIMS

��dims
(�C%(480)
2�num%(8)
<�swept%(480)
F�
P
Z
�KEYS
d
��keys
n�-116 � �:�sound_ikon(1)
x�-21  � �:�sound_ikon(0)
��-98�M(-m%,0,-1)
��-67�M(m%,0,1)
��-80�M(0,m%,30)
��-105�M(0,-m%,-30)
��-74�fire
��-52to_sweep%=0
��
�
��MOVEMENT
���M(x%,y%,g%)
��X%+x%<GX%� X%+x%>1200�
��Y%+y%<GY%� Y%+y%>792�
�%ș O$,&222,area%,cursor%,X%,Y%,11
X%+=x%:Y%+=y%

G%+=g%
%ș O$,&222,area%,cursor%,X%,Y%,11
"�SOUND1,-2,240,1
,�-3�=0:���>3:�
6�=0:���>12
@�
E
J�VOICES
T��voices
^Ƞ 4
h*CHANNELVOICE 1 10
r*CHANNELVOICE 2 13
|*CHANNELVOICE 3 12
�*CHANNELVOICE 4 13
��
�
�
�FIRE
�
��fire
�%ș O$,&222,area%,cursor%,X%,Y%,11
��C%(G%)=9dead%=1:�
�	�look
�%ș O$,&222,area%,cursor%,X%,Y%,11
��
�
�
�LOOK
�
��look
�:�swept%(G%)=0swept%(G%)=1:to_sweep%-=1:total_swept%+=1
�C%(G%)=9seen%+=1
-�C%(G%)=9ș O$,&222,area%,bomb%,X%,Y%,0:�
H%=0
&)�G%�30>0:�G%+29<480:�C%(G%+29)=9H%+=1
0 �G%+30<480:�C%(G%+30)=9H%+=1
:*�G%�30<29:�G%+31<480:�C%(G%+31)=9H%+=1
D%�G%�30>0:�G%-1>0:�C%(G%-1)=9H%+=1
N(�G%�30<29:�G%+1<480:�C%(G%+1)=9H%+=1
X'�G%�30>0:�G%-31>0:�C%(G%-31)=9H%+=1
b�G%-30>0:�C%(G%-30)=9H%+=1
l(�G%�30<29:�G%-29>0:�C%(G%-29)=9H%+=1
vȎ H% �
�(� 0:ș O$,&222,area%,square%,X%,Y%,0
�7� 1,2,3,4,5,6,7,8:ș O$,&222,area%,num%(H%),X%,Y%,0
��
��go%=0�
��I=1�H%
��SOUND4,-10,(I*4)+80,5
��SOUND2,-10,(I*4)+92,5
�
�=0:���>6
��
��
�
��DEAD!!
�
��dead
�SOUND1,-15,30,20
2ș O$,&222,area%,loseikon%,resultx%,resulty%,0
$ș O$,&222,area%,cursor%,X%,Y%,3
 �I=1�10
*"ș O$,&222,area%,bomb%,X%,Y%,3
4
�=0:���>8
>�
H�SOUND1,-15,20,20
R
�I%=0�479
\x%=(I%�30)*40+GX%
fy%=(I%�30)*40+GY%
pX�C%(I%)=9ș O$,&222,area%,bomb%,x%,y%,0:�x%=X%�y%=Y%ș O$,&222,area%,cursor%,X%,Y%,8
z�
�
ș6,15
�&�7,27)"Press SPACE to play again"
�
���=32
��
�	�WIN
�	��win
��SOUND3,-15,90,250
�1ș O$,&222,area%,winikon%,resultx%,resulty%,0
�
�I%=0�479
�x%=(I%�30)*40+GX%
�y%=(I%�30)*40+GY%
�8�C%(I%)=9�swept%(I%)=0ș O$,&222,area%,bomb%,x%,y%,0
��
	&�7,27)"Press SPACE to play again"
	
���=32
	�
	$
�OPTIONS
	.
��options
	8
�128+5:�6
	B6�2,4)"Do you wish to alter settings? (Y/N)":YN$=�
	L
�2,4)�37
	V�YN$<>"Y"�
	`&�2,4)"How many MINES? (1-479) "M%
	j!�M%<1 � M%>479�2,4)�37:�D`I
	t3�2,4)"Reveal how many squares? (1-479) "shown%
	~)�shown%<1 � shown%>479�2,4)�37:�DtI
	�
�2,4)�37
	��
	�
	��SOUND IKON ON/OFF
	���sound_ikon(onoff%)
	�9�onoff%=0ș O$,&222,area%,soundOFF%,soundx%,soundy%,0
	�8�onoff%=1ș O$,&222,area%,soundON%,soundx%,soundy%,0
	��
�
00000000  0d 00 0a 20 f4 3e 20 3c  4d 49 4e 45 46 49 45 4c  |... .> <MINEFIEL|
00000010  44 24 64 69 72 3e 2e 21  52 75 6e 49 6d 61 67 65  |D$dir>.!RunImage|
00000020  0d 00 14 22 f4 20 62 79  20 4d 41 47 20 28 26 20  |...". by MAG (& |
00000030  43 61 74 20 6f 6e 20 61  20 67 6f 6f 64 20 64 61  |Cat on a good da|
00000040  79 29 0d 00 1e 19 f4 20  41 63 6f 72 6e 20 43 6f  |y)..... Acorn Co|
00000050  6d 70 75 74 65 72 61 74  69 6e 67 0d 00 28 0f f4  |mputerating..(..|
00000060  50 52 4f 43 76 6f 69 63  65 73 0d 00 32 0d f4 53  |PROCvoices..2..S|
00000070  4f 55 4e 44 20 4f 4e 0d  00 3c 07 eb 31 33 0d 00  |OUND ON..<..13..|
00000080  46 05 87 0d 00 50 14 4f  24 3d 22 4f 53 5f 53 70  |F....P.O$="OS_Sp|
00000090  72 69 74 65 4f 70 22 0d  00 5a 1d f4 81 20 4c 6f  |riteOp"..Z... Lo|
000000a0  61 64 20 69 6e 20 74 68  65 20 53 70 72 69 74 65  |ad in the Sprite|
000000b0  66 69 6c 65 0d 00 64 28  73 70 72 69 74 65 73 24  |file..d(sprites$|
000000c0  3d 22 3c 4d 49 4e 45 46  49 45 4c 44 24 64 69 72  |="<MINEFIELD$dir|
000000d0  3e 2e 4d 49 4e 45 66 69  6c 65 32 22 0d 00 6e 15  |>.MINEfile2"..n.|
000000e0  66 69 6c 65 25 3d 8e 28  73 70 72 69 74 65 73 24  |file%=.(sprites$|
000000f0  29 0d 00 78 14 73 69 7a  65 25 3d a2 23 66 69 6c  |)..x.size%=.#fil|
00000100  65 25 2b 36 34 0d 00 82  0b d9 23 66 69 6c 65 25  |e%+64.....#file%|
00000110  0d 00 8c 04 0d 00 96 4a  f4 83 44 69 6d 65 6e 73  |.......J..Dimens|
00000120  69 6f 6e 20 61 6e 20 41  52 45 41 20 74 68 65 20  |ion an AREA the |
00000130  53 49 5a 45 20 6f 66 20  20 20 20 20 20 20 20 20  |SIZE of         |
00000140  20 83 74 68 65 20 66 69  6c 65 20 74 6f 20 73 74  | .the file to st|
00000150  6f 72 65 20 73 70 72 69  74 65 73 20 69 6e 0d 00  |ore sprites in..|
00000160  a0 11 de 20 61 72 65 61  25 20 73 69 7a 65 25 0d  |... area% size%.|
00000170  00 aa 11 61 72 65 61 25  21 30 3d 73 69 7a 65 25  |...area%!0=size%|
00000180  0d 00 b4 04 0d 00 be 43  f4 82 49 6e 69 74 69 61  |.......C..Initia|
00000190  6c 69 73 65 20 61 72 65  61 20 74 6f 20 6c 6f 61  |lise area to loa|
000001a0  64 20 74 68 65 20 20 20  20 20 20 20 20 20 20 20  |d the           |
000001b0  20 82 73 70 72 69 74 65  20 64 65 66 69 6e 69 74  | .sprite definit|
000001c0  69 6f 6e 73 20 74 6f 0d  00 c8 15 c8 99 20 4f 24  |ions to...... O$|
000001d0  2c 32 35 36 2b 39 2c 61  72 65 61 25 0d 00 d2 04  |,256+9,area%....|
000001e0  0d 00 dc 3a f4 84 4e 6f  77 20 6c 6f 61 64 20 74  |...:..Now load t|
000001f0  68 65 20 73 70 72 69 74  65 20 64 65 66 69 6e 69  |he sprite defini|
00000200  74 69 6f 6e 73 20 20 20  20 20 20 20 20 84 74 6f  |tions        .to|
00000210  20 74 68 69 73 20 61 72  65 61 0d 00 e6 1f c8 99  | this area......|
00000220  20 4f 24 2c 32 35 36 2b  31 30 2c 61 72 65 61 25  | O$,256+10,area%|
00000230  2c 73 70 72 69 74 65 73  24 0d 00 f0 04 0d 00 fa  |,sprites$.......|
00000240  04 0d 01 04 24 f4 81 5f  5f 5f 5f 5f 53 45 54 20  |....$.._____SET |
00000250  55 50 20 4f 4e 43 45 20  4f 4e 4c 59 5f 5f 5f 5f  |UP ONCE ONLY____|
00000260  5f 5f 5f 5f 5f 0d 01 0e  04 0d 01 18 09 f2 64 69  |_____.........di|
00000270  6d 73 0d 01 22 0c f2 73  70 72 69 74 65 73 0d 01  |ms.."..sprites..|
00000280  2c 04 0d 01 36 24 f4 81  2d 2d 2d 2d 2d 2d 2d 2d  |,...6$..--------|
00000290  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
000002a0  2d 2d 2d 2d 2d 2d 0d 01  40 04 0d 01 4a 04 0d 01  |------..@...J...|
000002b0  54 05 f5 0d 01 5e 09 f2  69 6e 69 74 0d 01 68 04  |T....^..init..h.|
000002c0  0d 01 72 05 f5 0d 01 7c  0b f2 73 63 72 65 65 6e  |..r....|..screen|
000002d0  0d 01 86 0c f2 6f 70 74  69 6f 6e 73 0d 01 90 04  |.....options....|
000002e0  0d 01 9a 0a f2 73 74 61  72 74 0d 01 a4 04 0d 01  |.....start......|
000002f0  ae 13 f4 83 2d 2d 2d 4c  4f 4f 50 2d 2d 2d 2d 2d  |....---LOOP-----|
00000300  2d 0d 01 b8 04 0d 01 c2  05 f5 0d 01 cc 09 f2 6b  |-..............k|
00000310  65 79 73 0d 01 d6 16 f1  8a 33 2c 32 29 3b 22 4d  |eys......3,2);"M|
00000320  69 6e 65 73 20 22 3b 4d  25 0d 01 e0 40 f1 8a 32  |ines ";M%...@..2|
00000330  38 2c 32 29 3b 22 53 57  45 45 50 22 3a 6c 24 3d  |8,2);"SWEEP":l$=|
00000340  c3 28 74 6f 5f 73 77 65  65 70 25 29 3a c8 95 a9  |.(to_sweep%):...|
00000350  6c 24 3c 33 6c 24 3d 22  20 22 2b 6c 24 3a ce 3a  |l$<3l$=" "+l$:.:|
00000360  f1 8a 33 34 2c 32 29 6c  24 0d 01 ea 18 fd 64 65  |..34,2)l$.....de|
00000370  61 64 25 3d 31 84 74 6f  5f 73 77 65 65 70 25 3d  |ad%=1.to_sweep%=|
00000380  30 0d 01 f4 04 0d 01 fe  0a c8 99 36 2c 31 35 0d  |0..........6,15.|
00000390  02 08 14 e7 74 6f 5f 73  77 65 65 70 25 3d 30 f2  |....to_sweep%=0.|
000003a0  77 69 6e 0d 02 12 0c fd  64 65 61 64 25 3d 31 0d  |win.....dead%=1.|
000003b0  02 1c 11 e7 64 65 61 64  25 3d 31 f2 64 65 61 64  |....dead%=1.dead|
000003c0  0d 02 26 06 fd 30 0d 02  30 05 e0 0d 02 3a 04 0d  |..&..0..0....:..|
000003d0  02 44 16 f4 82 53 4f 52  54 20 53 50 52 49 54 45  |.D...SORT SPRITE|
000003e0  53 20 4f 55 54 0d 02 4e  0d dd f2 73 70 72 69 74  |S OUT..N...sprit|
000003f0  65 73 0d 02 58 0b e3 49  25 3d 31 b8 38 0d 02 62  |es..X..I%=1.8..b|
00000400  2a f2 73 65 74 73 70 72  69 74 65 28 22 4e 55 4d  |*.setsprite("NUM|
00000410  22 2b c3 28 49 25 29 2c  6e 75 6d 25 28 49 25 29  |"+.(I%),num%(I%)|
00000420  2c 68 25 2c 77 25 29 0d  02 6c 05 ed 0d 02 76 26  |,h%,w%)..l....v&|
00000430  f2 73 65 74 73 70 72 69  74 65 28 22 53 51 55 41  |.setsprite("SQUA|
00000440  52 45 22 2c 73 71 75 61  72 65 25 2c 68 25 2c 77  |RE",square%,h%,w|
00000450  25 29 0d 02 80 22 f2 73  65 74 73 70 72 69 74 65  |%)...".setsprite|
00000460  28 22 42 4f 4d 42 22 2c  62 6f 6d 62 25 2c 68 25  |("BOMB",bomb%,h%|
00000470  2c 77 25 29 0d 02 8a 26  f2 73 65 74 73 70 72 69  |,w%)...&.setspri|
00000480  74 65 28 22 43 55 52 53  4f 52 22 2c 63 75 72 73  |te("CURSOR",curs|
00000490  6f 72 25 2c 68 25 2c 77  25 29 0d 02 94 29 f2 73  |or%,h%,w%)...).s|
000004a0  65 74 73 70 72 69 74 65  28 22 42 41 43 4b 47 52  |etsprite("BACKGR|
000004b0  4f 55 4e 44 22 2c 62 61  63 6b 67 25 2c 68 25 2c  |OUND",backg%,h%,|
000004c0  77 25 29 0d 02 9e 28 f2  73 65 74 73 70 72 69 74  |w%)...(.setsprit|
000004d0  65 28 22 53 4f 55 4e 44  4f 4e 22 2c 73 6f 75 6e  |e("SOUNDON",soun|
000004e0  64 4f 4e 25 2c 68 25 2c  77 25 29 0d 02 a8 2a f2  |dON%,h%,w%)...*.|
000004f0  73 65 74 73 70 72 69 74  65 28 22 53 4f 55 4e 44  |setsprite("SOUND|
00000500  4f 46 46 22 2c 73 6f 75  6e 64 4f 46 46 25 2c 68  |OFF",soundOFF%,h|
00000510  25 2c 77 25 29 0d 02 b2  24 f2 73 65 74 73 70 72  |%,w%)...$.setspr|
00000520  69 74 65 28 22 57 49 4e  22 2c 77 69 6e 69 6b 6f  |ite("WIN",winiko|
00000530  6e 25 2c 68 25 2c 77 25  29 0d 02 bc 26 f2 73 65  |n%,h%,w%)...&.se|
00000540  74 73 70 72 69 74 65 28  22 4c 4f 53 45 22 2c 6c  |tsprite("LOSE",l|
00000550  6f 73 65 69 6b 6f 6e 25  2c 68 25 2c 77 25 29 0d  |oseikon%,h%,w%).|
00000560  02 c6 05 e1 0d 02 d0 04  0d 02 da 12 f4 83 49 6e  |..............In|
00000570  69 74 20 73 70 72 69 74  65 73 0d 02 e4 34 dd f2  |it sprites...4..|
00000580  73 65 74 73 70 72 69 74  65 28 73 74 72 69 6e 67  |setsprite(string|
00000590  24 2c f8 20 76 61 6c 75  65 25 2c f8 20 77 69 64  |$,. value%,. wid|
000005a0  74 68 25 2c f8 20 68 65  69 67 68 74 25 29 0d 02  |th%,. height%)..|
000005b0  ee 28 c8 99 20 4f 24 2c  32 35 36 2b 32 34 2c 61  |.(.. O$,256+24,a|
000005c0  72 65 61 25 2c 73 74 72  69 6e 67 24 20 b8 2c 2c  |rea%,string$ .,,|
000005d0  76 61 6c 75 65 25 0d 02  f8 31 c8 99 20 4f 24 2c  |value%...1.. O$,|
000005e0  32 35 36 2b 34 30 2c 61  72 65 61 25 2c 73 74 72  |256+40,area%,str|
000005f0  69 6e 67 24 20 b8 2c 2c  2c 77 69 64 74 68 25 2c  |ing$ .,,,width%,|
00000600  68 65 69 67 68 74 25 0d  03 02 05 e1 0d 03 0c 04  |height%.........|
00000610  0d 03 16 0a f4 82 49 4e  49 54 0d 03 20 0a dd f2  |......INIT.. ...|
00000620  69 6e 69 74 0d 03 2a 0e  73 6f 75 6e 64 78 25 3d  |init..*.soundx%=|
00000630  34 30 0d 03 34 0e 73 6f  75 6e 64 79 25 3d 32 34  |40..4.soundy%=24|
00000640  0d 03 3e 10 72 65 73 75  6c 74 78 25 3d 35 39 32  |..>.resultx%=592|
00000650  0d 03 48 10 72 65 73 75  6c 74 79 25 3d 39 30 30  |..H.resulty%=900|
00000660  0d 03 52 0a 47 58 25 3d  34 30 0d 03 5c 0b 47 59  |..R.GX%=40..\.GY|
00000670  25 3d 31 39 32 0d 03 66  0a 58 25 3d 47 58 25 0d  |%=192..f.X%=GX%.|
00000680  03 70 0a 59 25 3d 47 59  25 0d 03 7a 09 6d 25 3d  |.p.Y%=GY%..z.m%=|
00000690  34 30 0d 03 84 0e 73 68  6f 77 6e 25 3d 31 32 30  |40....shown%=120|
000006a0  0d 03 8e 0a 4d 25 3d 31  30 30 0d 03 98 05 e1 0d  |....M%=100......|
000006b0  03 a2 04 0d 03 ac 0c f4  85 53 43 52 45 45 4e 0d  |.........SCREEN.|
000006c0  03 b6 0c dd f2 73 63 72  65 65 6e 0d 03 c0 21 c8  |.....screen...!.|
000006d0  99 20 4f 24 2c 26 32 32  32 2c 61 72 65 61 25 2c  |. O$,&222,area%,|
000006e0  62 61 63 6b 67 25 2c 30  2c 30 2c 30 0d 03 ca 12  |backg%,0,0,0....|
000006f0  f2 73 6f 75 6e 64 5f 69  6b 6f 6e 28 31 29 0d 03  |.sound_ikon(1)..|
00000700  d4 05 e1 0d 03 de 04 0d  03 e8 0b f4 81 53 54 41  |.............STA|
00000710  52 54 0d 03 f2 0b dd f2  73 74 61 72 74 0d 03 fc  |RT......start...|
00000720  09 67 6f 25 3d 30 0d 04  06 0b 73 65 65 6e 25 3d  |.go%=0....seen%=|
00000730  30 0d 04 10 0a 43 25 28  29 3d 30 0d 04 1a 0e 73  |0....C%()=0....s|
00000740  77 65 70 74 25 28 29 3d  30 0d 04 24 11 74 6f 5f  |wept%()=0..$.to_|
00000750  73 77 65 65 70 25 3d 34  38 30 0d 04 2e 12 74 6f  |sweep%=480....to|
00000760  74 61 6c 5f 73 77 65 70  74 25 3d 30 0d 04 38 08  |tal_swept%=0..8.|
00000770  5a 25 3d 30 0d 04 42 05  f5 0d 04 4c 0f 52 25 3d  |Z%=0..B....L.R%=|
00000780  b3 28 34 38 30 29 2d 31  0d 04 56 15 78 25 3d 28  |.(480)-1..V.x%=(|
00000790  52 25 83 33 30 29 2a 34  30 2b 47 58 25 0d 04 60  |R%.30)*40+GX%..`|
000007a0  15 79 25 3d 28 52 25 81  33 30 29 2a 34 30 2b 47  |.y%=(R%.30)*40+G|
000007b0  59 25 0d 04 6a 1b e7 43  25 28 52 25 29 3d 30 43  |Y%..j..C%(R%)=0C|
000007c0  25 28 52 25 29 3d 39 3a  5a 25 2b 3d 31 0d 04 74  |%(R%)=9:Z%+=1..t|
000007d0  0a fd 5a 25 3d 4d 25 0d  04 7e 15 f4 53 4f 55 4e  |..Z%=M%..~..SOUN|
000007e0  44 31 2c 2d 31 35 2c 31  2c 32 35 30 0d 04 88 10  |D1,-15,1,250....|
000007f0  e3 49 25 3d 31 b8 73 68  6f 77 6e 25 0d 04 92 43  |.I%=1.shown%...C|
00000800  f5 3a 47 25 3d b3 28 34  38 30 29 2d 31 3a 58 25  |.:G%=.(480)-1:X%|
00000810  3d 28 47 25 83 33 30 29  2a 34 30 2b 47 58 25 3a  |=(G%.30)*40+GX%:|
00000820  59 25 3d 28 47 25 81 33  30 29 2a 34 30 2b 47 59  |Y%=(G%.30)*40+GY|
00000830  25 3a fd 73 77 65 70 74  25 28 47 25 29 3d 30 0d  |%:.swept%(G%)=0.|
00000840  04 9c 09 f2 6c 6f 6f 6b  0d 04 a6 05 ed 0d 04 b0  |....look........|
00000850  11 58 25 3d 47 58 25 3a  59 25 3d 47 59 25 0d 04  |.X%=GX%:Y%=GY%..|
00000860  ba 25 c8 99 20 4f 24 2c  26 32 32 32 2c 61 72 65  |.%.. O$,&222,are|
00000870  61 25 2c 63 75 72 73 6f  72 25 2c 58 25 2c 59 25  |a%,cursor%,X%,Y%|
00000880  2c 31 31 0d 04 c4 08 47  25 3d 30 0d 04 ce 0b 64  |,11....G%=0....d|
00000890  65 61 64 25 3d 30 0d 04  d8 22 74 6f 5f 73 77 65  |ead%=0..."to_swe|
000008a0  65 70 25 3d 74 6f 5f 73  77 65 65 70 25 2d 28 4d  |ep%=to_sweep%-(M|
000008b0  25 2d 73 65 65 6e 25 29  0d 04 e2 1e 74 6f 74 61  |%-seen%)....tota|
000008c0  6c 5f 73 77 65 70 74 25  3d 34 38 30 2d 74 6f 5f  |l_swept%=480-to_|
000008d0  73 77 65 65 70 25 0d 04  ec 0a fb 31 32 38 2b 35  |sweep%.....128+5|
000008e0  0d 04 f6 09 67 6f 25 3d  31 0d 05 00 05 e1 0d 05  |....go%=1.......|
000008f0  0a 04 0d 05 14 0a f4 86  44 49 4d 53 0d 05 1e 0a  |........DIMS....|
00000900  dd f2 64 69 6d 73 0d 05  28 0c de 43 25 28 34 38  |..dims..(..C%(48|
00000910  30 29 0d 05 32 0c de 6e  75 6d 25 28 38 29 0d 05  |0)..2..num%(8)..|
00000920  3c 10 de 73 77 65 70 74  25 28 34 38 30 29 0d 05  |<..swept%(480)..|
00000930  46 05 e1 0d 05 50 04 0d  05 5a 0a f4 84 4b 45 59  |F....P...Z...KEY|
00000940  53 0d 05 64 0a dd f2 6b  65 79 73 0d 05 6e 1d e7  |S..d...keys..n..|
00000950  a6 2d 31 31 36 20 d4 20  ee 3a f2 73 6f 75 6e 64  |.-116 . .:.sound|
00000960  5f 69 6b 6f 6e 28 31 29  0d 05 78 1d e7 a6 2d 32  |_ikon(1)..x...-2|
00000970  31 20 20 d4 20 87 3a f2  73 6f 75 6e 64 5f 69 6b  |1  . .:.sound_ik|
00000980  6f 6e 28 30 29 0d 05 82  15 e7 a6 2d 39 38 f2 4d  |on(0)......-98.M|
00000990  28 2d 6d 25 2c 30 2c 2d  31 29 0d 05 8c 13 e7 a6  |(-m%,0,-1)......|
000009a0  2d 36 37 f2 4d 28 6d 25  2c 30 2c 31 29 0d 05 96  |-67.M(m%,0,1)...|
000009b0  14 e7 a6 2d 38 30 f2 4d  28 30 2c 6d 25 2c 33 30  |...-80.M(0,m%,30|
000009c0  29 0d 05 a0 17 e7 a6 2d  31 30 35 f2 4d 28 30 2c  |)......-105.M(0,|
000009d0  2d 6d 25 2c 2d 33 30 29  0d 05 aa 0e e7 a6 2d 37  |-m%,-30)......-7|
000009e0  34 f2 66 69 72 65 0d 05  b4 14 e7 a6 2d 35 32 74  |4.fire......-52t|
000009f0  6f 5f 73 77 65 65 70 25  3d 30 0d 05 be 05 e1 0d  |o_sweep%=0......|
00000a00  05 c8 04 0d 05 d2 0e f4  83 4d 4f 56 45 4d 45 4e  |.........MOVEMEN|
00000a10  54 0d 05 dc 11 dd f2 4d  28 78 25 2c 79 25 2c 67  |T......M(x%,y%,g|
00000a20  25 29 0d 05 e6 1b e7 58  25 2b 78 25 3c 47 58 25  |%).....X%+x%<GX%|
00000a30  84 20 58 25 2b 78 25 3e  31 32 30 30 e1 0d 05 f0  |. X%+x%>1200....|
00000a40  1a e7 59 25 2b 79 25 3c  47 59 25 84 20 59 25 2b  |..Y%+y%<GY%. Y%+|
00000a50  79 25 3e 37 39 32 e1 0d  05 fa 25 c8 99 20 4f 24  |y%>792....%.. O$|
00000a60  2c 26 32 32 32 2c 61 72  65 61 25 2c 63 75 72 73  |,&222,area%,curs|
00000a70  6f 72 25 2c 58 25 2c 59  25 2c 31 31 0d 06 04 11  |or%,X%,Y%,11....|
00000a80  58 25 2b 3d 78 25 3a 59  25 2b 3d 79 25 0d 06 0e  |X%+=x%:Y%+=y%...|
00000a90  0a 47 25 2b 3d 67 25 0d  06 18 25 c8 99 20 4f 24  |.G%+=g%...%.. O$|
00000aa0  2c 26 32 32 32 2c 61 72  65 61 25 2c 63 75 72 73  |,&222,area%,curs|
00000ab0  6f 72 25 2c 58 25 2c 59  25 2c 31 31 0d 06 22 14  |or%,X%,Y%,11..".|
00000ac0  f4 53 4f 55 4e 44 31 2c  2d 32 2c 32 34 30 2c 31  |.SOUND1,-2,240,1|
00000ad0  0d 06 2c 13 e7 a6 2d 33  91 3d 30 3a f5 fd 91 3e  |..,...-3.=0:...>|
00000ae0  33 3a e1 0d 06 36 0e d1  3d 30 3a f5 fd 91 3e 31  |3:...6..=0:...>1|
00000af0  32 0d 06 40 05 e1 0d 06  45 04 0d 06 4a 0c f4 86  |2..@....E...J...|
00000b00  56 4f 49 43 45 53 0d 06  54 0c dd f2 76 6f 69 63  |VOICES..T...voic|
00000b10  65 73 0d 06 5e 08 c8 a0  20 34 0d 06 68 16 2a 43  |es..^... 4..h.*C|
00000b20  48 41 4e 4e 45 4c 56 4f  49 43 45 20 31 20 31 30  |HANNELVOICE 1 10|
00000b30  0d 06 72 16 2a 43 48 41  4e 4e 45 4c 56 4f 49 43  |..r.*CHANNELVOIC|
00000b40  45 20 32 20 31 33 0d 06  7c 16 2a 43 48 41 4e 4e  |E 2 13..|.*CHANN|
00000b50  45 4c 56 4f 49 43 45 20  33 20 31 32 0d 06 86 16  |ELVOICE 3 12....|
00000b60  2a 43 48 41 4e 4e 45 4c  56 4f 49 43 45 20 34 20  |*CHANNELVOICE 4 |
00000b70  31 33 0d 06 90 05 e1 0d  06 95 04 0d 06 9a 0a f4  |13..............|
00000b80  81 46 49 52 45 0d 06 a4  0a dd f2 66 69 72 65 0d  |.FIRE......fire.|
00000b90  06 ae 25 c8 99 20 4f 24  2c 26 32 32 32 2c 61 72  |..%.. O$,&222,ar|
00000ba0  65 61 25 2c 63 75 72 73  6f 72 25 2c 58 25 2c 59  |ea%,cursor%,X%,Y|
00000bb0  25 2c 31 31 0d 06 b8 16  e7 43 25 28 47 25 29 3d  |%,11.....C%(G%)=|
00000bc0  39 64 65 61 64 25 3d 31  3a e1 0d 06 c2 09 f2 6c  |9dead%=1:......l|
00000bd0  6f 6f 6b 0d 06 cc 25 c8  99 20 4f 24 2c 26 32 32  |ook...%.. O$,&22|
00000be0  32 2c 61 72 65 61 25 2c  63 75 72 73 6f 72 25 2c  |2,area%,cursor%,|
00000bf0  58 25 2c 59 25 2c 31 31  0d 06 d6 05 e1 0d 06 e0  |X%,Y%,11........|
00000c00  04 0d 06 ea 0a f4 86 4c  4f 4f 4b 0d 06 f4 0a dd  |.......LOOK.....|
00000c10  f2 6c 6f 6f 6b 0d 06 fe  3a e7 73 77 65 70 74 25  |.look...:.swept%|
00000c20  28 47 25 29 3d 30 73 77  65 70 74 25 28 47 25 29  |(G%)=0swept%(G%)|
00000c30  3d 31 3a 74 6f 5f 73 77  65 65 70 25 2d 3d 31 3a  |=1:to_sweep%-=1:|
00000c40  74 6f 74 61 6c 5f 73 77  65 70 74 25 2b 3d 31 0d  |total_swept%+=1.|
00000c50  07 08 15 e7 43 25 28 47  25 29 3d 39 73 65 65 6e  |....C%(G%)=9seen|
00000c60  25 2b 3d 31 0d 07 12 2d  e7 43 25 28 47 25 29 3d  |%+=1...-.C%(G%)=|
00000c70  39 c8 99 20 4f 24 2c 26  32 32 32 2c 61 72 65 61  |9.. O$,&222,area|
00000c80  25 2c 62 6f 6d 62 25 2c  58 25 2c 59 25 2c 30 3a  |%,bomb%,X%,Y%,0:|
00000c90  e1 0d 07 1c 08 48 25 3d  30 0d 07 26 29 e7 47 25  |.....H%=0..&).G%|
00000ca0  83 33 30 3e 30 3a e7 47  25 2b 32 39 3c 34 38 30  |.30>0:.G%+29<480|
00000cb0  3a e7 43 25 28 47 25 2b  32 39 29 3d 39 48 25 2b  |:.C%(G%+29)=9H%+|
00000cc0  3d 31 0d 07 30 20 e7 47  25 2b 33 30 3c 34 38 30  |=1..0 .G%+30<480|
00000cd0  3a e7 43 25 28 47 25 2b  33 30 29 3d 39 48 25 2b  |:.C%(G%+30)=9H%+|
00000ce0  3d 31 0d 07 3a 2a e7 47  25 83 33 30 3c 32 39 3a  |=1..:*.G%.30<29:|
00000cf0  e7 47 25 2b 33 31 3c 34  38 30 3a e7 43 25 28 47  |.G%+31<480:.C%(G|
00000d00  25 2b 33 31 29 3d 39 48  25 2b 3d 31 0d 07 44 25  |%+31)=9H%+=1..D%|
00000d10  e7 47 25 83 33 30 3e 30  3a e7 47 25 2d 31 3e 30  |.G%.30>0:.G%-1>0|
00000d20  3a e7 43 25 28 47 25 2d  31 29 3d 39 48 25 2b 3d  |:.C%(G%-1)=9H%+=|
00000d30  31 0d 07 4e 28 e7 47 25  83 33 30 3c 32 39 3a e7  |1..N(.G%.30<29:.|
00000d40  47 25 2b 31 3c 34 38 30  3a e7 43 25 28 47 25 2b  |G%+1<480:.C%(G%+|
00000d50  31 29 3d 39 48 25 2b 3d  31 0d 07 58 27 e7 47 25  |1)=9H%+=1..X'.G%|
00000d60  83 33 30 3e 30 3a e7 47  25 2d 33 31 3e 30 3a e7  |.30>0:.G%-31>0:.|
00000d70  43 25 28 47 25 2d 33 31  29 3d 39 48 25 2b 3d 31  |C%(G%-31)=9H%+=1|
00000d80  0d 07 62 1e e7 47 25 2d  33 30 3e 30 3a e7 43 25  |..b..G%-30>0:.C%|
00000d90  28 47 25 2d 33 30 29 3d  39 48 25 2b 3d 31 0d 07  |(G%-30)=9H%+=1..|
00000da0  6c 28 e7 47 25 83 33 30  3c 32 39 3a e7 47 25 2d  |l(.G%.30<29:.G%-|
00000db0  32 39 3e 30 3a e7 43 25  28 47 25 2d 32 39 29 3d  |29>0:.C%(G%-29)=|
00000dc0  39 48 25 2b 3d 31 0d 07  76 0b c8 8e 20 48 25 20  |9H%+=1..v... H% |
00000dd0  ca 0d 07 80 28 c9 20 30  3a c8 99 20 4f 24 2c 26  |....(. 0:.. O$,&|
00000de0  32 32 32 2c 61 72 65 61  25 2c 73 71 75 61 72 65  |222,area%,square|
00000df0  25 2c 58 25 2c 59 25 2c  30 0d 07 8a 37 c9 20 31  |%,X%,Y%,0...7. 1|
00000e00  2c 32 2c 33 2c 34 2c 35  2c 36 2c 37 2c 38 3a c8  |,2,3,4,5,6,7,8:.|
00000e10  99 20 4f 24 2c 26 32 32  32 2c 61 72 65 61 25 2c  |. O$,&222,area%,|
00000e20  6e 75 6d 25 28 48 25 29  2c 58 25 2c 59 25 2c 30  |num%(H%),X%,Y%,0|
00000e30  0d 07 94 05 cb 0d 07 9e  0b e7 67 6f 25 3d 30 e1  |..........go%=0.|
00000e40  0d 07 a8 0b e3 49 3d 31  b8 48 25 0d 07 b2 1a f4  |.....I=1.H%.....|
00000e50  53 4f 55 4e 44 34 2c 2d  31 30 2c 28 49 2a 34 29  |SOUND4,-10,(I*4)|
00000e60  2b 38 30 2c 35 0d 07 bc  1a f4 53 4f 55 4e 44 32  |+80,5.....SOUND2|
00000e70  2c 2d 31 30 2c 28 49 2a  34 29 2b 39 32 2c 35 0d  |,-10,(I*4)+92,5.|
00000e80  07 c6 0d d1 3d 30 3a f5  fd 91 3e 36 0d 07 d0 05  |....=0:...>6....|
00000e90  ed 0d 07 da 05 e1 0d 07  e4 04 0d 07 ee 0c f4 82  |................|
00000ea0  44 45 41 44 21 21 0d 07  f8 0a dd f2 64 65 61 64  |DEAD!!......dead|
00000eb0  0d 08 02 15 f4 53 4f 55  4e 44 31 2c 2d 31 35 2c  |.....SOUND1,-15,|
00000ec0  33 30 2c 32 30 0d 08 0c  32 c8 99 20 4f 24 2c 26  |30,20...2.. O$,&|
00000ed0  32 32 32 2c 61 72 65 61  25 2c 6c 6f 73 65 69 6b  |222,area%,loseik|
00000ee0  6f 6e 25 2c 72 65 73 75  6c 74 78 25 2c 72 65 73  |on%,resultx%,res|
00000ef0  75 6c 74 79 25 2c 30 0d  08 16 24 c8 99 20 4f 24  |ulty%,0...$.. O$|
00000f00  2c 26 32 32 32 2c 61 72  65 61 25 2c 63 75 72 73  |,&222,area%,curs|
00000f10  6f 72 25 2c 58 25 2c 59  25 2c 33 0d 08 20 0b e3  |or%,X%,Y%,3.. ..|
00000f20  49 3d 31 b8 31 30 0d 08  2a 22 c8 99 20 4f 24 2c  |I=1.10..*".. O$,|
00000f30  26 32 32 32 2c 61 72 65  61 25 2c 62 6f 6d 62 25  |&222,area%,bomb%|
00000f40  2c 58 25 2c 59 25 2c 33  0d 08 34 0d d1 3d 30 3a  |,X%,Y%,3..4..=0:|
00000f50  f5 fd 91 3e 38 0d 08 3e  05 ed 0d 08 48 15 f4 53  |...>8..>....H..S|
00000f60  4f 55 4e 44 31 2c 2d 31  35 2c 32 30 2c 32 30 0d  |OUND1,-15,20,20.|
00000f70  08 52 0d e3 49 25 3d 30  b8 34 37 39 0d 08 5c 15  |.R..I%=0.479..\.|
00000f80  78 25 3d 28 49 25 83 33  30 29 2a 34 30 2b 47 58  |x%=(I%.30)*40+GX|
00000f90  25 0d 08 66 15 79 25 3d  28 49 25 81 33 30 29 2a  |%..f.y%=(I%.30)*|
00000fa0  34 30 2b 47 59 25 0d 08  70 58 e7 43 25 28 49 25  |40+GY%..pX.C%(I%|
00000fb0  29 3d 39 c8 99 20 4f 24  2c 26 32 32 32 2c 61 72  |)=9.. O$,&222,ar|
00000fc0  65 61 25 2c 62 6f 6d 62  25 2c 78 25 2c 79 25 2c  |ea%,bomb%,x%,y%,|
00000fd0  30 3a e7 78 25 3d 58 25  80 79 25 3d 59 25 c8 99  |0:.x%=X%.y%=Y%..|
00000fe0  20 4f 24 2c 26 32 32 32  2c 61 72 65 61 25 2c 63  | O$,&222,area%,c|
00000ff0  75 72 73 6f 72 25 2c 58  25 2c 59 25 2c 38 0d 08  |ursor%,X%,Y%,8..|
00001000  7a 05 ed 0d 08 84 0a c8  99 36 2c 31 35 0d 08 8e  |z........6,15...|
00001010  26 f1 8a 37 2c 32 37 29  22 50 72 65 73 73 20 53  |&..7,27)"Press S|
00001020  50 41 43 45 20 74 6f 20  70 6c 61 79 20 61 67 61  |PACE to play aga|
00001030  69 6e 22 0d 08 98 0a f5  fd a5 3d 33 32 0d 08 a2  |in".......=32...|
00001040  05 e1 0d 08 ac 09 f4 83  57 49 4e 0d 08 b6 09 dd  |........WIN.....|
00001050  f2 77 69 6e 0d 08 c0 16  f4 53 4f 55 4e 44 33 2c  |.win.....SOUND3,|
00001060  2d 31 35 2c 39 30 2c 32  35 30 0d 08 ca 31 c8 99  |-15,90,250...1..|
00001070  20 4f 24 2c 26 32 32 32  2c 61 72 65 61 25 2c 77  | O$,&222,area%,w|
00001080  69 6e 69 6b 6f 6e 25 2c  72 65 73 75 6c 74 78 25  |inikon%,resultx%|
00001090  2c 72 65 73 75 6c 74 79  25 2c 30 0d 08 d4 0d e3  |,resulty%,0.....|
000010a0  49 25 3d 30 b8 34 37 39  0d 08 de 15 78 25 3d 28  |I%=0.479....x%=(|
000010b0  49 25 83 33 30 29 2a 34  30 2b 47 58 25 0d 08 e8  |I%.30)*40+GX%...|
000010c0  15 79 25 3d 28 49 25 81  33 30 29 2a 34 30 2b 47  |.y%=(I%.30)*40+G|
000010d0  59 25 0d 08 f2 38 e7 43  25 28 49 25 29 3d 39 80  |Y%...8.C%(I%)=9.|
000010e0  73 77 65 70 74 25 28 49  25 29 3d 30 c8 99 20 4f  |swept%(I%)=0.. O|
000010f0  24 2c 26 32 32 32 2c 61  72 65 61 25 2c 62 6f 6d  |$,&222,area%,bom|
00001100  62 25 2c 78 25 2c 79 25  2c 30 0d 08 fc 05 ed 0d  |b%,x%,y%,0......|
00001110  09 06 26 f1 8a 37 2c 32  37 29 22 50 72 65 73 73  |..&..7,27)"Press|
00001120  20 53 50 41 43 45 20 74  6f 20 70 6c 61 79 20 61  | SPACE to play a|
00001130  67 61 69 6e 22 0d 09 10  0a f5 fd a5 3d 33 32 0d  |gain".......=32.|
00001140  09 1a 05 e1 0d 09 24 0d  f4 85 4f 50 54 49 4f 4e  |......$...OPTION|
00001150  53 0d 09 2e 0d dd f2 6f  70 74 69 6f 6e 73 0d 09  |S......options..|
00001160  38 0d fb 31 32 38 2b 35  3a fb 36 0d 09 42 36 f1  |8..128+5:.6..B6.|
00001170  8a 32 2c 34 29 22 44 6f  20 79 6f 75 20 77 69 73  |.2,4)"Do you wis|
00001180  68 20 74 6f 20 61 6c 74  65 72 20 73 65 74 74 69  |h to alter setti|
00001190  6e 67 73 3f 20 28 59 2f  4e 29 22 3a 59 4e 24 3d  |ngs? (Y/N)":YN$=|
000011a0  be 0d 09 4c 0d f1 8a 32  2c 34 29 89 33 37 0d 09  |...L...2,4).37..|
000011b0  56 0e e7 59 4e 24 3c 3e  22 59 22 e1 0d 09 60 26  |V..YN$<>"Y"...`&|
000011c0  e8 8a 32 2c 34 29 22 48  6f 77 20 6d 61 6e 79 20  |..2,4)"How many |
000011d0  4d 49 4e 45 53 3f 20 28  31 2d 34 37 39 29 20 22  |MINES? (1-479) "|
000011e0  4d 25 0d 09 6a 21 e7 4d  25 3c 31 20 84 20 4d 25  |M%..j!.M%<1 . M%|
000011f0  3e 34 37 39 f1 8a 32 2c  34 29 89 33 37 3a e5 8d  |>479..2,4).37:..|
00001200  44 60 49 0d 09 74 33 e8  8a 32 2c 34 29 22 52 65  |D`I..t3..2,4)"Re|
00001210  76 65 61 6c 20 68 6f 77  20 6d 61 6e 79 20 73 71  |veal how many sq|
00001220  75 61 72 65 73 3f 20 28  31 2d 34 37 39 29 20 22  |uares? (1-479) "|
00001230  73 68 6f 77 6e 25 0d 09  7e 29 e7 73 68 6f 77 6e  |shown%..~).shown|
00001240  25 3c 31 20 84 20 73 68  6f 77 6e 25 3e 34 37 39  |%<1 . shown%>479|
00001250  f1 8a 32 2c 34 29 89 33  37 3a e5 8d 44 74 49 0d  |..2,4).37:..DtI.|
00001260  09 88 0d f1 8a 32 2c 34  29 89 33 37 0d 09 92 05  |.....2,4).37....|
00001270  e1 0d 09 9c 04 0d 09 a6  17 f4 86 53 4f 55 4e 44  |...........SOUND|
00001280  20 49 4b 4f 4e 20 4f 4e  2f 4f 46 46 0d 09 b0 18  | IKON ON/OFF....|
00001290  dd f2 73 6f 75 6e 64 5f  69 6b 6f 6e 28 6f 6e 6f  |..sound_ikon(ono|
000012a0  66 66 25 29 0d 09 ba 39  e7 6f 6e 6f 66 66 25 3d  |ff%)...9.onoff%=|
000012b0  30 c8 99 20 4f 24 2c 26  32 32 32 2c 61 72 65 61  |0.. O$,&222,area|
000012c0  25 2c 73 6f 75 6e 64 4f  46 46 25 2c 73 6f 75 6e  |%,soundOFF%,soun|
000012d0  64 78 25 2c 73 6f 75 6e  64 79 25 2c 30 0d 09 c4  |dx%,soundy%,0...|
000012e0  38 e7 6f 6e 6f 66 66 25  3d 31 c8 99 20 4f 24 2c  |8.onoff%=1.. O$,|
000012f0  26 32 32 32 2c 61 72 65  61 25 2c 73 6f 75 6e 64  |&222,area%,sound|
00001300  4f 4e 25 2c 73 6f 75 6e  64 78 25 2c 73 6f 75 6e  |ON%,soundx%,soun|
00001310  64 79 25 2c 30 0d 09 ce  05 e1 0d ff              |dy%,0.......|
0000131c