Home » Archimedes archive » Acorn User » AU 1993-05 (2).adf » !Pong/!RunImage

!Pong/!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 User » AU 1993-05 (2).adf
Filename: !Pong/!RunImage
Read OK:
File size: 126A bytes
Load address: FFFFFB44
Exec address: 7BE95677
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
   10REM     >Pong
   20REM By  Fin Fahey
   30REM For 32-bit machines
   40REM (c) BAU May 1993
   50:
   60MODE 12:CLS:CLG:OFF:SOUND ON
   70DIM Chardat%(15,15)
   80FOR n=0 TO 12
   90FOR m=0 TO 14
  100READ Chardat%(n,m)
  110NEXT m
  120NEXT n
  130:
  140Gap%=600:Pad%=80:PSpeed%=10
  150Padlo%=(1000-Gap%)/2:Padhi%=Padlo%+Gap%-Pad%
  160Turn%=0:PROCEnd
  170:
  180WHILE 0=0
  190PROCGame
  200PROCScreen
  210PROCLoop
  220PROCEnd
  230ENDWHILE
  240:
  250REM Start Game
  260DEF PROCGame  BSpeed1%=0:BSpeed2%=0
  270Score1%=15:Score2%=15:Win%=0
  280PROCstart
  290ENDPROC
  300:
  310REM Main game loop
  320DEF PROCLoop  WHILE Score1%>0 AND Score2%>0
  330IF INKEY(-98) THEN PROCDown1
  340IF INKEY(-66) THEN PROCUp1
  350:
  360MOUSE x%,y%,But%
  370IF But%>3 THEN PROCUp2
  380IF But%=1 OR But%=3 THEN PROCDown2
  390:
  400PROCball
  410IF Win%<>0 THEN PROCNew
  420ENDWHILE
  430ENDPROC
  440:
  450REM Check score
  460DEF PROCNew   IF Win%=1 THEN
  470Col%=0:PROCscore1
  480Score1%=Score1%-1:Col%=1
  490PROCscore1
  500ELSE
  510Col%=0:PROCscore2
  520Score2%=Score2%-1:Col%=1
  530PROCscore2
  540ENDIF
  550GCOL 0:RECTANGLE FILL 8,8,8
  560PROCstart
  570ENDPROC
  580:
  590REM Animate Ball
  600DEF PROCball  GCOL 0:RECTANGLE FILL 8,8,8 TO Ballx%,Bally%
  610Win%=0:Chy%=0
  620Bally%=Bally%+Ballvy%:Ballx%=Ballx%+Ballvx%
  630:
  640IF Bally%<=30 THEN
  650Bally%=30:Ballvy%=-Ballvy%:Chy%=1:SOUND 1,-15,110,5
  660ELSE
  670IF Bally%>=999 THEN Bally%=999:Ballvy%=-Ballvy%:Chy%=1:SOUND 1,-15,110,5
  680ENDIF
  690:
  700IF Chy%=0 THEN
  710IF Ballx%<=400 THEN
  720IF POINT(Ballx%-8,Bally%)=7 THEN
  730Ballvx%=ABS(Ballvx%):tim%=tim%+1
  740IF Bally%>Padlo% AND Bally%<Padhi% THEN
  750Ballvy%=Ballvy%+SGN(Ballvy%)*BSpeed1%:SOUND 1,-15,80,5
  760IF tim%>8 THEN Ballvx%=Ballvx%+3:Ballvy%=Ballvy%+2:tim%=0
  770ELSE
  780SOUND 1,-15,110,5
  790ENDIF
  800ELSE
  810IF Ballx%<=40 THEN Win%=1:SOUND 1,-15,130,5
  820ENDIF
  830ENDIF
  840:
  850IF Ballx%>=624 THEN
  860IF POINT(Ballx%+8,Bally%)=7 THEN
  870Ballvx%=-(ABS(Ballvx%)):tim%=tim%+1
  880IF Bally%>Padlo% AND Bally%<Padhi% THEN
  890Ballvy%=Ballvy%+SGN(Ballvy%)*BSpeed2%:SOUND 1,-15,90,5
  900IF tim%>8 THEN Ballvx%=Ballvx%+3:Ballvy%=Ballvy%+2:tim%=0
  910ELSE
  920SOUND 1,-15,110,5
  930ENDIF
  940ELSE
  950IF Ballx%>=990 THEN Win%=-1:SOUND 1,-15,130,5
  960ENDIF
  970ENDIF
  980ENDIF
  990GCOL 7
 1000RECTANGLE FILL Ballx%,Bally%,8 TO 8,8
 1010IF Win%=0 THEN RECTANGLE FILL Ballx%,Bally%,8
 1020WAIT
 1030ENDPROC
 1040:
 1050REM Determine ball values
 1060DEF PROCstart Bally%=INT(RND(1)*800)+100:Ballvx%=0:Ballvy%=INT(RND(1)*3)+1
 1070IF Turn%=0 THEN Ballx%=400:Ballvx%=-INT(RND(1)*8)-3
 1080IF Turn%=1 THEN Ballx%=624:Ballvx%=INT(RND(1)*8)+3
 1090IF Turn%=1 THEN Turn%=0 ELSE Turn%=1
 1100ENDPROC
 1110:
 1120REM Move paddle 1 down
 1130DEF PROCDown1 IF Pad1%>Padlo% THEN
 1140GCOL 0:PROCpad1
 1150GCOL 7:Pad1%=Pad1%-PSpeed%
 1160PROCpad1
 1170IF BSpeed1%>-4 THEN BSpeed1%=BSpeed1%-2
 1180ENDIF
 1190ENDPROC
 1200:
 1210REM Move paddle 1 Up
 1220DEF PROCUp1 IF Pad1%<Padhi% THEN
 1230GCOL 0:PROCpad1
 1240GCOL 7:Pad1%=Pad1%+PSpeed%
 1250PROCpad1
 1260IF BSpeed1%<4 THEN BSpeed1%=BSpeed1%+2
 1270ENDIF
 1280ENDPROC
 1290:
 1300REM Move paddle 2 down
 1310DEF PROCDown2 IF Pad2%>Padlo% THEN
 1320GCOL 0:PROCpad2
 1330GCOL 7:Pad2%=Pad2%-PSpeed%
 1340PROCpad2
 1350IF BSpeed2%>-4 THEN BSpeed2%=BSpeed2%-2
 1360ENDIF
 1370ENDPROC
 1380:
 1390REM Move paddle 2 Up
 1400DEF PROCUp2   IF Pad2%<Padhi% THEN
 1410GCOL 0:PROCpad2
 1420GCOL 7:Pad2%=Pad2%+PSpeed%
 1430PROCpad2
 1440IF BSpeed2%<4 THEN BSpeed2%=BSpeed2%+2
 1450ENDIF
 1460ENDPROC
 1470:
 1480REM Draw screen
 1490DEF PROCScreen  CLS:CLG:Score1%=15:Score2%=15:GCOL 7
 1500y=0:PROCHor
 1510y=1000:PROCHor
 1520x=516:PROCVert
 1530:
 1540RECTANGLE FILL 96,0,8,(1000-Gap%)/2
 1550RECTANGLE FILL 96,500+Gap%/2,8,(1000-Gap%)/2
 1560:
 1570RECTANGLE FILL 936,0,8,(1000-Gap%)/2
 1580RECTANGLE FILL 936,500+Gap%/2,8,(1000-Gap%)/2
 1590:
 1600PROCscore1
 1610:
 1620PROCscore2
 1630Pad1%=400:Pad2%=400
 1640PROCpad1
 1650PROCpad2
 1660ENDPROC
 1670:
 1680REM Draw paddle 1
 1690DEF PROCpad1   RECTANGLE FILL 96,Pad1%,8,Pad%
 1700ENDPROC
 1710:
 1720REM Draw paddle 2
 1730DEF PROCpad2   RECTANGLE FILL 936,Pad2%,8,Pad%
 1740ENDPROC
 1750:
 1760REM Draw score 1
 1770DEF PROCscore1 score%=Score1%:x=430:y=920
 1780PROCNum2
 1790ENDPROC
 1800:
 1810REM Draw score 2
 1820DEF PROCscore2 score%=Score2%:x=530:y=920
 1830PROCNum2
 1840ENDPROC
 1850:
 1860REM Draw horizontal line
 1870DEF PROCHor FOR x=96 TO 928 STEP 32
 1880RECTANGLE FILL x,y,16,12
 1890NEXT x
 1900ENDPROC
 1910:
 1920REM Draw vertical line
 1930DEF PROCVert FOR y=0 TO 1024 STEP 32
 1940RECTANGLE FILL x,y,8,12
 1950NEXT y
 1960ENDPROC
 1970:
 1980REM Draw two digit score
 1990DEF PROCNum2 num1%=INT(score%/10):num2%=score%-num1%*10
 2000GCOL 0:RECTANGLE FILL x,y,66,40:GCOL 7
 2010IF num1%<>0 THEN num%=num1%:PROCNum
 2020x=x+36:num%=num2%:PROCNum
 2030ENDPROC
 2040:
 2050REM Draw one digit
 2060DEF PROCNum b%=0
 2070FOR n=0 TO 2
 2080FOR m=0 TO 4
 2090IF Chardat%(num%,b%)=1 THEN
 2100RECTANGLE FILL x+10*n*scale,y+8*m*scale,8*(scale+z%),6*(scale+z%)
 2110ENDIF
 2120b%=b%+1
 2130NEXT m
 2140NEXT n
 2150ENDPROC
 2160:
 2170REM Make big pong
 2180DEF PROCPong scale=4:z%=1:x=400:y=500:num%=10:PROCNum
 2190x=550:y=500:num%=0:PROCNum
 2200x=700:y=500:num%=11:PROCNum
 2210x=850:y=500:num%=12:PROCNum
 2220scale=1:z%=0
 2230ENDPROC
 2240:
 2250REM Waiting to play
 2260DEF PROCEnd CLS:CLG:But%=0
 2270WHILE But%=0
 2280GCOL 7:PROCPong
 2290GCOL 0:FOR n=0 TO 15000:NEXT n
 2300PROCPong:FOR n=0 TO 15000:NEXT n
 2310MOUSE x%,y%,But%
 2320ENDWHILE
 2330ENDPROC
 2340:
 2350REM data for characters
 2360DATA 1,1,1,1,1,1,0,0,0,1,1,1,1,1,1
 2370DATA 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0
 2380DATA 1,1,1,0,1,1,0,1,0,1,1,0,1,1,1
 2390DATA 1,0,0,0,1,1,0,1,0,1,1,1,1,1,1
 2400DATA 0,1,1,1,1,1,1,0,0,0,0,1,0,0,0
 2410:
 2420DATA 1,0,1,1,1,1,0,1,0,1,1,1,1,0,1
 2430DATA 1,1,1,1,1,1,0,1,0,0,1,1,1,0,0
 2440DATA 0,0,0,0,1,0,0,0,0,1,1,1,1,1,1
 2450DATA 1,1,1,1,1,1,0,1,0,1,1,1,1,1,1
 2460DATA 0,0,1,1,1,0,0,1,0,1,1,1,1,1,1
 2470:
 2480DATA 1,1,1,1,1,0,0,1,0,1,0,0,1,1,1
 2490DATA 1,1,1,1,1,0,1,1,1,0,1,1,1,1,1
 2500DATA 1,1,1,1,1,1,0,0,0,1,1,1,0,0,1
 2510:

�     >Pong
� By  Fin Fahey
� For 32-bit machines
(� (c) BAU May 1993
2:
<� 12:�:�:�:� �
F� Chardat%(15,15)
P� n=0 � 12
Z� m=0 � 14
d� Chardat%(n,m)
n� m
x� n
�:
�Gap%=600:Pad%=80:PSpeed%=10
�0Padlo%=(1000-Gap%)/2:Padhi%=Padlo%+Gap%-Pad%
�Turn%=0:�End
�:
�
ȕ 0=0
�	�Game
��Screen
�	�Loop
��End
��
�:
�� Start Game
"� �Game  BSpeed1%=0:BSpeed2%=0
 Score1%=15:Score2%=15:Win%=0

�start
"�
,:
6� Main game loop
@%� �Loop  ȕ Score1%>0 � Score2%>0
J� �(-98) � �Down1
T� �(-66) � �Up1
^:
hȗ x%,y%,But%
r� But%>3 � �Up2
|� But%=1 � But%=3 � �Down2
�:
�	�ball
�� Win%<>0 � �New
��
��
�:
�� Check score
�� �New   � Win%=1 �
�Col%=0:�score1
�Score1%=Score1%-1:Col%=1
��score1
��
�Col%=0:�score2
Score2%=Score2%-1:Col%=1
�score2
�
&� 0:ȓ Ȑ 8,8,8
0
�start
:�
D:
N� Animate Ball
X,� �ball  � 0:ȓ Ȑ 8,8,8 � Ballx%,Bally%
bWin%=0:Chy%=0
l/Bally%=Bally%+Ballvy%:Ballx%=Ballx%+Ballvx%
v:
�� Bally%<=30 �
�3Bally%=30:Ballvy%=-Ballvy%:Chy%=1:� 1,-15,110,5
��
�D� Bally%>=999 � Bally%=999:Ballvy%=-Ballvy%:Chy%=1:� 1,-15,110,5
��
�:
�� Chy%=0 �
�� Ballx%<=400 �
�� �Ballx%-8,Bally%)=7 �
�"Ballvx%=�(Ballvx%):tim%=tim%+1
�%� Bally%>Padlo% � Bally%<Padhi% �
�4Ballvy%=Ballvy%+�(Ballvy%)*BSpeed1%:� 1,-15,80,5
�9� tim%>8 � Ballvx%=Ballvx%+3:Ballvy%=Ballvy%+2:tim%=0
�
� 1,-15,110,5
�
 �
*'� Ballx%<=40 � Win%=1:� 1,-15,130,5
4�
>�
H:
R� Ballx%>=624 �
\� �Ballx%+8,Bally%)=7 �
f%Ballvx%=-(�(Ballvx%)):tim%=tim%+1
p%� Bally%>Padlo% � Bally%<Padhi% �
z4Ballvy%=Ballvy%+�(Ballvy%)*BSpeed2%:� 1,-15,90,5
�9� tim%>8 � Ballvx%=Ballvx%+3:Ballvy%=Ballvy%+2:tim%=0
��
�� 1,-15,110,5
��
��
�)� Ballx%>=990 � Win%=-1:� 1,-15,130,5
��
��
��
�� 7
�ȓ Ȑ Ballx%,Bally%,8 � 8,8
�$� Win%=0 � ȓ Ȑ Ballx%,Bally%,8
�Ȗ
�
:
� Determine ball values
$A� �start Bally%=�(�(1)*800)+100:Ballvx%=0:Ballvy%=�(�(1)*3)+1
./� Turn%=0 � Ballx%=400:Ballvx%=-�(�(1)*8)-3
8.� Turn%=1 � Ballx%=624:Ballvx%=�(�(1)*8)+3
B!� Turn%=1 � Turn%=0 � Turn%=1
L�
V:
`� Move paddle 1 down
j� �Down1 � Pad1%>Padlo% �
t
� 0:�pad1
~� 7:Pad1%=Pad1%-PSpeed%
�	�pad1
�'� BSpeed1%>-4 � BSpeed1%=BSpeed1%-2
��
��
�:
�� Move paddle 1 Up
�� �Up1 � Pad1%<Padhi% �
�
� 0:�pad1
�� 7:Pad1%=Pad1%+PSpeed%
�	�pad1
�&� BSpeed1%<4 � BSpeed1%=BSpeed1%+2
��
�

:
� Move paddle 2 down
� �Down2 � Pad2%>Padlo% �
(
� 0:�pad2
2� 7:Pad2%=Pad2%-PSpeed%
<	�pad2
F'� BSpeed2%>-4 � BSpeed2%=BSpeed2%-2
P�
Z�
d:
n� Move paddle 2 Up
x� �Up2   � Pad2%<Padhi% �
�
� 0:�pad2
�� 7:Pad2%=Pad2%+PSpeed%
�	�pad2
�&� BSpeed2%<4 � BSpeed2%=BSpeed2%+2
��
��
�:
�� Draw screen
�,� �Screen  �:�:Score1%=15:Score2%=15:� 7
�y=0:�Hor
�y=1000:�Hor
�x=516:�Vert
�:
ȓ Ȑ 96,0,8,(1000-Gap%)/2
'ȓ Ȑ 96,500+Gap%/2,8,(1000-Gap%)/2
:
"ȓ Ȑ 936,0,8,(1000-Gap%)/2
,(ȓ Ȑ 936,500+Gap%/2,8,(1000-Gap%)/2
6:
@�score1
J:
T�score2
^Pad1%=400:Pad2%=400
h	�pad1
r	�pad2
|�
�:
�� Draw paddle 1
�#� �pad1   ȓ Ȑ 96,Pad1%,8,Pad%
��
�:
�� Draw paddle 2
�$� �pad2   ȓ Ȑ 936,Pad2%,8,Pad%
��
�:
�� Draw score 1
�(� �score1 score%=Score1%:x=430:y=920
�	�Num2
��
:
� Draw score 2
(� �score2 score%=Score2%:x=530:y=920
&	�Num2
0�
::
D� Draw horizontal line
N� �Hor � x=96 � 928 � 32
Xȓ Ȑ x,y,16,12
b� x
l�
v:
�� Draw vertical line
�� �Vert � y=0 � 1024 � 32
�ȓ Ȑ x,y,8,12
�� y
��
�:
�� Draw two digit score
�4� �Num2 num1%=�(score%/10):num2%=score%-num1%*10
�� 0:ȓ Ȑ x,y,66,40:� 7
� � num1%<>0 � num%=num1%:�Num
�x=x+36:num%=num2%:�Num
��
�:
� Draw one digit
� �Num b%=0

� n=0 � 2
 
� m=0 � 4
*� Chardat%(num%,b%)=1 �
4<ȓ Ȑ x+10*n*scale,y+8*m*scale,8*(scale+z%),6*(scale+z%)
>�
Hb%=b%+1
R� m
\� n
f�
p:
z� Make big pong
�1� �Pong scale=4:z%=1:x=400:y=500:num%=10:�Num
�x=550:y=500:num%=0:�Num
�x=700:y=500:num%=11:�Num
�x=850:y=500:num%=12:�Num
�scale=1:z%=0
��
�:
�� Waiting to play
�� �End �:�:But%=0
�
ȕ But%=0
�
� 7:�Pong
�� 0:� n=0 � 15000:� n
��Pong:� n=0 � 15000:� n
	ȗ x%,y%,But%
	�
	�
	$:
	.� data for characters
	8#� 1,1,1,1,1,1,0,0,0,1,1,1,1,1,1
	B#� 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0
	L#� 1,1,1,0,1,1,0,1,0,1,1,0,1,1,1
	V#� 1,0,0,0,1,1,0,1,0,1,1,1,1,1,1
	`#� 0,1,1,1,1,1,1,0,0,0,0,1,0,0,0
	j:
	t#� 1,0,1,1,1,1,0,1,0,1,1,1,1,0,1
	~#� 1,1,1,1,1,1,0,1,0,0,1,1,1,0,0
	�#� 0,0,0,0,1,0,0,0,0,1,1,1,1,1,1
	�#� 1,1,1,1,1,1,0,1,0,1,1,1,1,1,1
	�#� 0,0,1,1,1,0,0,1,0,1,1,1,1,1,1
	�:
	�#� 1,1,1,1,1,0,0,1,0,1,0,0,1,1,1
	�#� 1,1,1,1,1,0,1,1,1,0,1,1,1,1,1
	�#� 1,1,1,1,1,1,0,0,0,1,1,1,0,0,1
	�:
�
00000000  0d 00 0a 0f f4 20 20 20  20 20 3e 50 6f 6e 67 0d  |.....     >Pong.|
00000010  00 14 13 f4 20 42 79 20  20 46 69 6e 20 46 61 68  |.... By  Fin Fah|
00000020  65 79 0d 00 1e 19 f4 20  46 6f 72 20 33 32 2d 62  |ey..... For 32-b|
00000030  69 74 20 6d 61 63 68 69  6e 65 73 0d 00 28 16 f4  |it machines..(..|
00000040  20 28 63 29 20 42 41 55  20 4d 61 79 20 31 39 39  | (c) BAU May 199|
00000050  33 0d 00 32 05 3a 0d 00  3c 12 eb 20 31 32 3a db  |3..2.:..<.. 12:.|
00000060  3a da 3a 87 3a d4 20 ee  0d 00 46 15 de 20 43 68  |:.:.:. ...F.. Ch|
00000070  61 72 64 61 74 25 28 31  35 2c 31 35 29 0d 00 50  |ardat%(15,15)..P|
00000080  0e e3 20 6e 3d 30 20 b8  20 31 32 0d 00 5a 0e e3  |.. n=0 . 12..Z..|
00000090  20 6d 3d 30 20 b8 20 31  34 0d 00 64 13 f3 20 43  | m=0 . 14..d.. C|
000000a0  68 61 72 64 61 74 25 28  6e 2c 6d 29 0d 00 6e 07  |hardat%(n,m)..n.|
000000b0  ed 20 6d 0d 00 78 07 ed  20 6e 0d 00 82 05 3a 0d  |. m..x.. n....:.|
000000c0  00 8c 1f 47 61 70 25 3d  36 30 30 3a 50 61 64 25  |...Gap%=600:Pad%|
000000d0  3d 38 30 3a 50 53 70 65  65 64 25 3d 31 30 0d 00  |=80:PSpeed%=10..|
000000e0  96 30 50 61 64 6c 6f 25  3d 28 31 30 30 30 2d 47  |.0Padlo%=(1000-G|
000000f0  61 70 25 29 2f 32 3a 50  61 64 68 69 25 3d 50 61  |ap%)/2:Padhi%=Pa|
00000100  64 6c 6f 25 2b 47 61 70  25 2d 50 61 64 25 0d 00  |dlo%+Gap%-Pad%..|
00000110  a0 10 54 75 72 6e 25 3d  30 3a f2 45 6e 64 0d 00  |..Turn%=0:.End..|
00000120  aa 05 3a 0d 00 b4 0a c8  95 20 30 3d 30 0d 00 be  |..:...... 0=0...|
00000130  09 f2 47 61 6d 65 0d 00  c8 0b f2 53 63 72 65 65  |..Game.....Scree|
00000140  6e 0d 00 d2 09 f2 4c 6f  6f 70 0d 00 dc 08 f2 45  |n.....Loop.....E|
00000150  6e 64 0d 00 e6 05 ce 0d  00 f0 05 3a 0d 00 fa 10  |nd.........:....|
00000160  f4 20 53 74 61 72 74 20  47 61 6d 65 0d 01 04 22  |. Start Game..."|
00000170  dd 20 f2 47 61 6d 65 20  20 42 53 70 65 65 64 31  |. .Game  BSpeed1|
00000180  25 3d 30 3a 42 53 70 65  65 64 32 25 3d 30 0d 01  |%=0:BSpeed2%=0..|
00000190  0e 20 53 63 6f 72 65 31  25 3d 31 35 3a 53 63 6f  |. Score1%=15:Sco|
000001a0  72 65 32 25 3d 31 35 3a  57 69 6e 25 3d 30 0d 01  |re2%=15:Win%=0..|
000001b0  18 0a f2 73 74 61 72 74  0d 01 22 05 e1 0d 01 2c  |...start.."....,|
000001c0  05 3a 0d 01 36 14 f4 20  4d 61 69 6e 20 67 61 6d  |.:..6.. Main gam|
000001d0  65 20 6c 6f 6f 70 0d 01  40 25 dd 20 f2 4c 6f 6f  |e loop..@%. .Loo|
000001e0  70 20 20 c8 95 20 53 63  6f 72 65 31 25 3e 30 20  |p  .. Score1%>0 |
000001f0  80 20 53 63 6f 72 65 32  25 3e 30 0d 01 4a 15 e7  |. Score2%>0..J..|
00000200  20 a6 28 2d 39 38 29 20  8c 20 f2 44 6f 77 6e 31  | .(-98) . .Down1|
00000210  0d 01 54 13 e7 20 a6 28  2d 36 36 29 20 8c 20 f2  |..T.. .(-66) . .|
00000220  55 70 31 0d 01 5e 05 3a  0d 01 68 11 c8 97 20 78  |Up1..^.:..h... x|
00000230  25 2c 79 25 2c 42 75 74  25 0d 01 72 13 e7 20 42  |%,y%,But%..r.. B|
00000240  75 74 25 3e 33 20 8c 20  f2 55 70 32 0d 01 7c 1e  |ut%>3 . .Up2..|.|
00000250  e7 20 42 75 74 25 3d 31  20 84 20 42 75 74 25 3d  |. But%=1 . But%=|
00000260  33 20 8c 20 f2 44 6f 77  6e 32 0d 01 86 05 3a 0d  |3 . .Down2....:.|
00000270  01 90 09 f2 62 61 6c 6c  0d 01 9a 14 e7 20 57 69  |....ball..... Wi|
00000280  6e 25 3c 3e 30 20 8c 20  f2 4e 65 77 0d 01 a4 05  |n%<>0 . .New....|
00000290  ce 0d 01 ae 05 e1 0d 01  b8 05 3a 0d 01 c2 11 f4  |..........:.....|
000002a0  20 43 68 65 63 6b 20 73  63 6f 72 65 0d 01 cc 17  | Check score....|
000002b0  dd 20 f2 4e 65 77 20 20  20 e7 20 57 69 6e 25 3d  |. .New   . Win%=|
000002c0  31 20 8c 0d 01 d6 12 43  6f 6c 25 3d 30 3a f2 73  |1 .....Col%=0:.s|
000002d0  63 6f 72 65 31 0d 01 e0  1c 53 63 6f 72 65 31 25  |core1....Score1%|
000002e0  3d 53 63 6f 72 65 31 25  2d 31 3a 43 6f 6c 25 3d  |=Score1%-1:Col%=|
000002f0  31 0d 01 ea 0b f2 73 63  6f 72 65 31 0d 01 f4 05  |1.....score1....|
00000300  cc 0d 01 fe 12 43 6f 6c  25 3d 30 3a f2 73 63 6f  |.....Col%=0:.sco|
00000310  72 65 32 0d 02 08 1c 53  63 6f 72 65 32 25 3d 53  |re2....Score2%=S|
00000320  63 6f 72 65 32 25 2d 31  3a 43 6f 6c 25 3d 31 0d  |core2%-1:Col%=1.|
00000330  02 12 0b f2 73 63 6f 72  65 32 0d 02 1c 05 cd 0d  |....score2......|
00000340  02 26 13 e6 20 30 3a c8  93 20 c8 90 20 38 2c 38  |.&.. 0:.. .. 8,8|
00000350  2c 38 0d 02 30 0a f2 73  74 61 72 74 0d 02 3a 05  |,8..0..start..:.|
00000360  e1 0d 02 44 05 3a 0d 02  4e 12 f4 20 41 6e 69 6d  |...D.:..N.. Anim|
00000370  61 74 65 20 42 61 6c 6c  0d 02 58 2c dd 20 f2 62  |ate Ball..X,. .b|
00000380  61 6c 6c 20 20 e6 20 30  3a c8 93 20 c8 90 20 38  |all  . 0:.. .. 8|
00000390  2c 38 2c 38 20 b8 20 42  61 6c 6c 78 25 2c 42 61  |,8,8 . Ballx%,Ba|
000003a0  6c 6c 79 25 0d 02 62 11  57 69 6e 25 3d 30 3a 43  |lly%..b.Win%=0:C|
000003b0  68 79 25 3d 30 0d 02 6c  2f 42 61 6c 6c 79 25 3d  |hy%=0..l/Bally%=|
000003c0  42 61 6c 6c 79 25 2b 42  61 6c 6c 76 79 25 3a 42  |Bally%+Ballvy%:B|
000003d0  61 6c 6c 78 25 3d 42 61  6c 6c 78 25 2b 42 61 6c  |allx%=Ballx%+Bal|
000003e0  6c 76 78 25 0d 02 76 05  3a 0d 02 80 12 e7 20 42  |lvx%..v.:..... B|
000003f0  61 6c 6c 79 25 3c 3d 33  30 20 8c 0d 02 8a 33 42  |ally%<=30 ....3B|
00000400  61 6c 6c 79 25 3d 33 30  3a 42 61 6c 6c 76 79 25  |ally%=30:Ballvy%|
00000410  3d 2d 42 61 6c 6c 76 79  25 3a 43 68 79 25 3d 31  |=-Ballvy%:Chy%=1|
00000420  3a d4 20 31 2c 2d 31 35  2c 31 31 30 2c 35 0d 02  |:. 1,-15,110,5..|
00000430  94 05 cc 0d 02 9e 44 e7  20 42 61 6c 6c 79 25 3e  |......D. Bally%>|
00000440  3d 39 39 39 20 8c 20 42  61 6c 6c 79 25 3d 39 39  |=999 . Bally%=99|
00000450  39 3a 42 61 6c 6c 76 79  25 3d 2d 42 61 6c 6c 76  |9:Ballvy%=-Ballv|
00000460  79 25 3a 43 68 79 25 3d  31 3a d4 20 31 2c 2d 31  |y%:Chy%=1:. 1,-1|
00000470  35 2c 31 31 30 2c 35 0d  02 a8 05 cd 0d 02 b2 05  |5,110,5.........|
00000480  3a 0d 02 bc 0e e7 20 43  68 79 25 3d 30 20 8c 0d  |:..... Chy%=0 ..|
00000490  02 c6 13 e7 20 42 61 6c  6c 78 25 3c 3d 34 30 30  |.... Ballx%<=400|
000004a0  20 8c 0d 02 d0 1b e7 20  b0 42 61 6c 6c 78 25 2d  | ...... .Ballx%-|
000004b0  38 2c 42 61 6c 6c 79 25  29 3d 37 20 8c 0d 02 da  |8,Bally%)=7 ....|
000004c0  22 42 61 6c 6c 76 78 25  3d 94 28 42 61 6c 6c 76  |"Ballvx%=.(Ballv|
000004d0  78 25 29 3a 74 69 6d 25  3d 74 69 6d 25 2b 31 0d  |x%):tim%=tim%+1.|
000004e0  02 e4 25 e7 20 42 61 6c  6c 79 25 3e 50 61 64 6c  |..%. Bally%>Padl|
000004f0  6f 25 20 80 20 42 61 6c  6c 79 25 3c 50 61 64 68  |o% . Bally%<Padh|
00000500  69 25 20 8c 0d 02 ee 34  42 61 6c 6c 76 79 25 3d  |i% ....4Ballvy%=|
00000510  42 61 6c 6c 76 79 25 2b  b4 28 42 61 6c 6c 76 79  |Ballvy%+.(Ballvy|
00000520  25 29 2a 42 53 70 65 65  64 31 25 3a d4 20 31 2c  |%)*BSpeed1%:. 1,|
00000530  2d 31 35 2c 38 30 2c 35  0d 02 f8 39 e7 20 74 69  |-15,80,5...9. ti|
00000540  6d 25 3e 38 20 8c 20 42  61 6c 6c 76 78 25 3d 42  |m%>8 . Ballvx%=B|
00000550  61 6c 6c 76 78 25 2b 33  3a 42 61 6c 6c 76 79 25  |allvx%+3:Ballvy%|
00000560  3d 42 61 6c 6c 76 79 25  2b 32 3a 74 69 6d 25 3d  |=Ballvy%+2:tim%=|
00000570  30 0d 03 02 05 cc 0d 03  0c 11 d4 20 31 2c 2d 31  |0.......... 1,-1|
00000580  35 2c 31 31 30 2c 35 0d  03 16 05 cd 0d 03 20 05  |5,110,5....... .|
00000590  cc 0d 03 2a 27 e7 20 42  61 6c 6c 78 25 3c 3d 34  |...*'. Ballx%<=4|
000005a0  30 20 8c 20 57 69 6e 25  3d 31 3a d4 20 31 2c 2d  |0 . Win%=1:. 1,-|
000005b0  31 35 2c 31 33 30 2c 35  0d 03 34 05 cd 0d 03 3e  |15,130,5..4....>|
000005c0  05 cd 0d 03 48 05 3a 0d  03 52 13 e7 20 42 61 6c  |....H.:..R.. Bal|
000005d0  6c 78 25 3e 3d 36 32 34  20 8c 0d 03 5c 1b e7 20  |lx%>=624 ...\.. |
000005e0  b0 42 61 6c 6c 78 25 2b  38 2c 42 61 6c 6c 79 25  |.Ballx%+8,Bally%|
000005f0  29 3d 37 20 8c 0d 03 66  25 42 61 6c 6c 76 78 25  |)=7 ...f%Ballvx%|
00000600  3d 2d 28 94 28 42 61 6c  6c 76 78 25 29 29 3a 74  |=-(.(Ballvx%)):t|
00000610  69 6d 25 3d 74 69 6d 25  2b 31 0d 03 70 25 e7 20  |im%=tim%+1..p%. |
00000620  42 61 6c 6c 79 25 3e 50  61 64 6c 6f 25 20 80 20  |Bally%>Padlo% . |
00000630  42 61 6c 6c 79 25 3c 50  61 64 68 69 25 20 8c 0d  |Bally%<Padhi% ..|
00000640  03 7a 34 42 61 6c 6c 76  79 25 3d 42 61 6c 6c 76  |.z4Ballvy%=Ballv|
00000650  79 25 2b b4 28 42 61 6c  6c 76 79 25 29 2a 42 53  |y%+.(Ballvy%)*BS|
00000660  70 65 65 64 32 25 3a d4  20 31 2c 2d 31 35 2c 39  |peed2%:. 1,-15,9|
00000670  30 2c 35 0d 03 84 39 e7  20 74 69 6d 25 3e 38 20  |0,5...9. tim%>8 |
00000680  8c 20 42 61 6c 6c 76 78  25 3d 42 61 6c 6c 76 78  |. Ballvx%=Ballvx|
00000690  25 2b 33 3a 42 61 6c 6c  76 79 25 3d 42 61 6c 6c  |%+3:Ballvy%=Ball|
000006a0  76 79 25 2b 32 3a 74 69  6d 25 3d 30 0d 03 8e 05  |vy%+2:tim%=0....|
000006b0  cc 0d 03 98 11 d4 20 31  2c 2d 31 35 2c 31 31 30  |...... 1,-15,110|
000006c0  2c 35 0d 03 a2 05 cd 0d  03 ac 05 cc 0d 03 b6 29  |,5.............)|
000006d0  e7 20 42 61 6c 6c 78 25  3e 3d 39 39 30 20 8c 20  |. Ballx%>=990 . |
000006e0  57 69 6e 25 3d 2d 31 3a  d4 20 31 2c 2d 31 35 2c  |Win%=-1:. 1,-15,|
000006f0  31 33 30 2c 35 0d 03 c0  05 cd 0d 03 ca 05 cd 0d  |130,5...........|
00000700  03 d4 05 cd 0d 03 de 07  e6 20 37 0d 03 e8 1f c8  |......... 7.....|
00000710  93 20 c8 90 20 42 61 6c  6c 78 25 2c 42 61 6c 6c  |. .. Ballx%,Ball|
00000720  79 25 2c 38 20 b8 20 38  2c 38 0d 03 f2 24 e7 20  |y%,8 . 8,8...$. |
00000730  57 69 6e 25 3d 30 20 8c  20 c8 93 20 c8 90 20 42  |Win%=0 . .. .. B|
00000740  61 6c 6c 78 25 2c 42 61  6c 6c 79 25 2c 38 0d 03  |allx%,Bally%,8..|
00000750  fc 06 c8 96 0d 04 06 05  e1 0d 04 10 05 3a 0d 04  |.............:..|
00000760  1a 1b f4 20 44 65 74 65  72 6d 69 6e 65 20 62 61  |... Determine ba|
00000770  6c 6c 20 76 61 6c 75 65  73 0d 04 24 41 dd 20 f2  |ll values..$A. .|
00000780  73 74 61 72 74 20 42 61  6c 6c 79 25 3d a8 28 b3  |start Bally%=.(.|
00000790  28 31 29 2a 38 30 30 29  2b 31 30 30 3a 42 61 6c  |(1)*800)+100:Bal|
000007a0  6c 76 78 25 3d 30 3a 42  61 6c 6c 76 79 25 3d a8  |lvx%=0:Ballvy%=.|
000007b0  28 b3 28 31 29 2a 33 29  2b 31 0d 04 2e 2f e7 20  |(.(1)*3)+1.../. |
000007c0  54 75 72 6e 25 3d 30 20  8c 20 42 61 6c 6c 78 25  |Turn%=0 . Ballx%|
000007d0  3d 34 30 30 3a 42 61 6c  6c 76 78 25 3d 2d a8 28  |=400:Ballvx%=-.(|
000007e0  b3 28 31 29 2a 38 29 2d  33 0d 04 38 2e e7 20 54  |.(1)*8)-3..8.. T|
000007f0  75 72 6e 25 3d 31 20 8c  20 42 61 6c 6c 78 25 3d  |urn%=1 . Ballx%=|
00000800  36 32 34 3a 42 61 6c 6c  76 78 25 3d a8 28 b3 28  |624:Ballvx%=.(.(|
00000810  31 29 2a 38 29 2b 33 0d  04 42 21 e7 20 54 75 72  |1)*8)+3..B!. Tur|
00000820  6e 25 3d 31 20 8c 20 54  75 72 6e 25 3d 30 20 8b  |n%=1 . Turn%=0 .|
00000830  20 54 75 72 6e 25 3d 31  0d 04 4c 05 e1 0d 04 56  | Turn%=1..L....V|
00000840  05 3a 0d 04 60 18 f4 20  4d 6f 76 65 20 70 61 64  |.:..`.. Move pad|
00000850  64 6c 65 20 31 20 64 6f  77 6e 0d 04 6a 1d dd 20  |dle 1 down..j.. |
00000860  f2 44 6f 77 6e 31 20 e7  20 50 61 64 31 25 3e 50  |.Down1 . Pad1%>P|
00000870  61 64 6c 6f 25 20 8c 0d  04 74 0d e6 20 30 3a f2  |adlo% ...t.. 0:.|
00000880  70 61 64 31 0d 04 7e 1b  e6 20 37 3a 50 61 64 31  |pad1..~.. 7:Pad1|
00000890  25 3d 50 61 64 31 25 2d  50 53 70 65 65 64 25 0d  |%=Pad1%-PSpeed%.|
000008a0  04 88 09 f2 70 61 64 31  0d 04 92 27 e7 20 42 53  |....pad1...'. BS|
000008b0  70 65 65 64 31 25 3e 2d  34 20 8c 20 42 53 70 65  |peed1%>-4 . BSpe|
000008c0  65 64 31 25 3d 42 53 70  65 65 64 31 25 2d 32 0d  |ed1%=BSpeed1%-2.|
000008d0  04 9c 05 cd 0d 04 a6 05  e1 0d 04 b0 05 3a 0d 04  |.............:..|
000008e0  ba 16 f4 20 4d 6f 76 65  20 70 61 64 64 6c 65 20  |... Move paddle |
000008f0  31 20 55 70 0d 04 c4 1b  dd 20 f2 55 70 31 20 e7  |1 Up..... .Up1 .|
00000900  20 50 61 64 31 25 3c 50  61 64 68 69 25 20 8c 0d  | Pad1%<Padhi% ..|
00000910  04 ce 0d e6 20 30 3a f2  70 61 64 31 0d 04 d8 1b  |.... 0:.pad1....|
00000920  e6 20 37 3a 50 61 64 31  25 3d 50 61 64 31 25 2b  |. 7:Pad1%=Pad1%+|
00000930  50 53 70 65 65 64 25 0d  04 e2 09 f2 70 61 64 31  |PSpeed%.....pad1|
00000940  0d 04 ec 26 e7 20 42 53  70 65 65 64 31 25 3c 34  |...&. BSpeed1%<4|
00000950  20 8c 20 42 53 70 65 65  64 31 25 3d 42 53 70 65  | . BSpeed1%=BSpe|
00000960  65 64 31 25 2b 32 0d 04  f6 05 cd 0d 05 00 05 e1  |ed1%+2..........|
00000970  0d 05 0a 05 3a 0d 05 14  18 f4 20 4d 6f 76 65 20  |....:..... Move |
00000980  70 61 64 64 6c 65 20 32  20 64 6f 77 6e 0d 05 1e  |paddle 2 down...|
00000990  1d dd 20 f2 44 6f 77 6e  32 20 e7 20 50 61 64 32  |.. .Down2 . Pad2|
000009a0  25 3e 50 61 64 6c 6f 25  20 8c 0d 05 28 0d e6 20  |%>Padlo% ...(.. |
000009b0  30 3a f2 70 61 64 32 0d  05 32 1b e6 20 37 3a 50  |0:.pad2..2.. 7:P|
000009c0  61 64 32 25 3d 50 61 64  32 25 2d 50 53 70 65 65  |ad2%=Pad2%-PSpee|
000009d0  64 25 0d 05 3c 09 f2 70  61 64 32 0d 05 46 27 e7  |d%..<..pad2..F'.|
000009e0  20 42 53 70 65 65 64 32  25 3e 2d 34 20 8c 20 42  | BSpeed2%>-4 . B|
000009f0  53 70 65 65 64 32 25 3d  42 53 70 65 65 64 32 25  |Speed2%=BSpeed2%|
00000a00  2d 32 0d 05 50 05 cd 0d  05 5a 05 e1 0d 05 64 05  |-2..P....Z....d.|
00000a10  3a 0d 05 6e 16 f4 20 4d  6f 76 65 20 70 61 64 64  |:..n.. Move padd|
00000a20  6c 65 20 32 20 55 70 0d  05 78 1d dd 20 f2 55 70  |le 2 Up..x.. .Up|
00000a30  32 20 20 20 e7 20 50 61  64 32 25 3c 50 61 64 68  |2   . Pad2%<Padh|
00000a40  69 25 20 8c 0d 05 82 0d  e6 20 30 3a f2 70 61 64  |i% ...... 0:.pad|
00000a50  32 0d 05 8c 1b e6 20 37  3a 50 61 64 32 25 3d 50  |2..... 7:Pad2%=P|
00000a60  61 64 32 25 2b 50 53 70  65 65 64 25 0d 05 96 09  |ad2%+PSpeed%....|
00000a70  f2 70 61 64 32 0d 05 a0  26 e7 20 42 53 70 65 65  |.pad2...&. BSpee|
00000a80  64 32 25 3c 34 20 8c 20  42 53 70 65 65 64 32 25  |d2%<4 . BSpeed2%|
00000a90  3d 42 53 70 65 65 64 32  25 2b 32 0d 05 aa 05 cd  |=BSpeed2%+2.....|
00000aa0  0d 05 b4 05 e1 0d 05 be  05 3a 0d 05 c8 11 f4 20  |.........:..... |
00000ab0  44 72 61 77 20 73 63 72  65 65 6e 0d 05 d2 2c dd  |Draw screen...,.|
00000ac0  20 f2 53 63 72 65 65 6e  20 20 db 3a da 3a 53 63  | .Screen  .:.:Sc|
00000ad0  6f 72 65 31 25 3d 31 35  3a 53 63 6f 72 65 32 25  |ore1%=15:Score2%|
00000ae0  3d 31 35 3a e6 20 37 0d  05 dc 0c 79 3d 30 3a f2  |=15:. 7....y=0:.|
00000af0  48 6f 72 0d 05 e6 0f 79  3d 31 30 30 30 3a f2 48  |Hor....y=1000:.H|
00000b00  6f 72 0d 05 f0 0f 78 3d  35 31 36 3a f2 56 65 72  |or....x=516:.Ver|
00000b10  74 0d 05 fa 05 3a 0d 06  04 1e c8 93 20 c8 90 20  |t....:...... .. |
00000b20  39 36 2c 30 2c 38 2c 28  31 30 30 30 2d 47 61 70  |96,0,8,(1000-Gap|
00000b30  25 29 2f 32 0d 06 0e 27  c8 93 20 c8 90 20 39 36  |%)/2...'.. .. 96|
00000b40  2c 35 30 30 2b 47 61 70  25 2f 32 2c 38 2c 28 31  |,500+Gap%/2,8,(1|
00000b50  30 30 30 2d 47 61 70 25  29 2f 32 0d 06 18 05 3a  |000-Gap%)/2....:|
00000b60  0d 06 22 1f c8 93 20 c8  90 20 39 33 36 2c 30 2c  |.."... .. 936,0,|
00000b70  38 2c 28 31 30 30 30 2d  47 61 70 25 29 2f 32 0d  |8,(1000-Gap%)/2.|
00000b80  06 2c 28 c8 93 20 c8 90  20 39 33 36 2c 35 30 30  |.,(.. .. 936,500|
00000b90  2b 47 61 70 25 2f 32 2c  38 2c 28 31 30 30 30 2d  |+Gap%/2,8,(1000-|
00000ba0  47 61 70 25 29 2f 32 0d  06 36 05 3a 0d 06 40 0b  |Gap%)/2..6.:..@.|
00000bb0  f2 73 63 6f 72 65 31 0d  06 4a 05 3a 0d 06 54 0b  |.score1..J.:..T.|
00000bc0  f2 73 63 6f 72 65 32 0d  06 5e 17 50 61 64 31 25  |.score2..^.Pad1%|
00000bd0  3d 34 30 30 3a 50 61 64  32 25 3d 34 30 30 0d 06  |=400:Pad2%=400..|
00000be0  68 09 f2 70 61 64 31 0d  06 72 09 f2 70 61 64 32  |h..pad1..r..pad2|
00000bf0  0d 06 7c 05 e1 0d 06 86  05 3a 0d 06 90 13 f4 20  |..|......:..... |
00000c00  44 72 61 77 20 70 61 64  64 6c 65 20 31 0d 06 9a  |Draw paddle 1...|
00000c10  23 dd 20 f2 70 61 64 31  20 20 20 c8 93 20 c8 90  |#. .pad1   .. ..|
00000c20  20 39 36 2c 50 61 64 31  25 2c 38 2c 50 61 64 25  | 96,Pad1%,8,Pad%|
00000c30  0d 06 a4 05 e1 0d 06 ae  05 3a 0d 06 b8 13 f4 20  |.........:..... |
00000c40  44 72 61 77 20 70 61 64  64 6c 65 20 32 0d 06 c2  |Draw paddle 2...|
00000c50  24 dd 20 f2 70 61 64 32  20 20 20 c8 93 20 c8 90  |$. .pad2   .. ..|
00000c60  20 39 33 36 2c 50 61 64  32 25 2c 38 2c 50 61 64  | 936,Pad2%,8,Pad|
00000c70  25 0d 06 cc 05 e1 0d 06  d6 05 3a 0d 06 e0 12 f4  |%.........:.....|
00000c80  20 44 72 61 77 20 73 63  6f 72 65 20 31 0d 06 ea  | Draw score 1...|
00000c90  28 dd 20 f2 73 63 6f 72  65 31 20 73 63 6f 72 65  |(. .score1 score|
00000ca0  25 3d 53 63 6f 72 65 31  25 3a 78 3d 34 33 30 3a  |%=Score1%:x=430:|
00000cb0  79 3d 39 32 30 0d 06 f4  09 f2 4e 75 6d 32 0d 06  |y=920.....Num2..|
00000cc0  fe 05 e1 0d 07 08 05 3a  0d 07 12 12 f4 20 44 72  |.......:..... Dr|
00000cd0  61 77 20 73 63 6f 72 65  20 32 0d 07 1c 28 dd 20  |aw score 2...(. |
00000ce0  f2 73 63 6f 72 65 32 20  73 63 6f 72 65 25 3d 53  |.score2 score%=S|
00000cf0  63 6f 72 65 32 25 3a 78  3d 35 33 30 3a 79 3d 39  |core2%:x=530:y=9|
00000d00  32 30 0d 07 26 09 f2 4e  75 6d 32 0d 07 30 05 e1  |20..&..Num2..0..|
00000d10  0d 07 3a 05 3a 0d 07 44  1a f4 20 44 72 61 77 20  |..:.:..D.. Draw |
00000d20  68 6f 72 69 7a 6f 6e 74  61 6c 20 6c 69 6e 65 0d  |horizontal line.|
00000d30  07 4e 1c dd 20 f2 48 6f  72 20 e3 20 78 3d 39 36  |.N.. .Hor . x=96|
00000d40  20 b8 20 39 32 38 20 88  20 33 32 0d 07 58 13 c8  | . 928 . 32..X..|
00000d50  93 20 c8 90 20 78 2c 79  2c 31 36 2c 31 32 0d 07  |. .. x,y,16,12..|
00000d60  62 07 ed 20 78 0d 07 6c  05 e1 0d 07 76 05 3a 0d  |b.. x..l....v.:.|
00000d70  07 80 18 f4 20 44 72 61  77 20 76 65 72 74 69 63  |.... Draw vertic|
00000d80  61 6c 20 6c 69 6e 65 0d  07 8a 1d dd 20 f2 56 65  |al line..... .Ve|
00000d90  72 74 20 e3 20 79 3d 30  20 b8 20 31 30 32 34 20  |rt . y=0 . 1024 |
00000da0  88 20 33 32 0d 07 94 12  c8 93 20 c8 90 20 78 2c  |. 32...... .. x,|
00000db0  79 2c 38 2c 31 32 0d 07  9e 07 ed 20 79 0d 07 a8  |y,8,12..... y...|
00000dc0  05 e1 0d 07 b2 05 3a 0d  07 bc 1a f4 20 44 72 61  |......:..... Dra|
00000dd0  77 20 74 77 6f 20 64 69  67 69 74 20 73 63 6f 72  |w two digit scor|
00000de0  65 0d 07 c6 34 dd 20 f2  4e 75 6d 32 20 6e 75 6d  |e...4. .Num2 num|
00000df0  31 25 3d a8 28 73 63 6f  72 65 25 2f 31 30 29 3a  |1%=.(score%/10):|
00000e00  6e 75 6d 32 25 3d 73 63  6f 72 65 25 2d 6e 75 6d  |num2%=score%-num|
00000e10  31 25 2a 31 30 0d 07 d0  1b e6 20 30 3a c8 93 20  |1%*10..... 0:.. |
00000e20  c8 90 20 78 2c 79 2c 36  36 2c 34 30 3a e6 20 37  |.. x,y,66,40:. 7|
00000e30  0d 07 da 20 e7 20 6e 75  6d 31 25 3c 3e 30 20 8c  |... . num1%<>0 .|
00000e40  20 6e 75 6d 25 3d 6e 75  6d 31 25 3a f2 4e 75 6d  | num%=num1%:.Num|
00000e50  0d 07 e4 1a 78 3d 78 2b  33 36 3a 6e 75 6d 25 3d  |....x=x+36:num%=|
00000e60  6e 75 6d 32 25 3a f2 4e  75 6d 0d 07 ee 05 e1 0d  |num2%:.Num......|
00000e70  07 f8 05 3a 0d 08 02 14  f4 20 44 72 61 77 20 6f  |...:..... Draw o|
00000e80  6e 65 20 64 69 67 69 74  0d 08 0c 0f dd 20 f2 4e  |ne digit..... .N|
00000e90  75 6d 20 62 25 3d 30 0d  08 16 0d e3 20 6e 3d 30  |um b%=0..... n=0|
00000ea0  20 b8 20 32 0d 08 20 0d  e3 20 6d 3d 30 20 b8 20  | . 2.. .. m=0 . |
00000eb0  34 0d 08 2a 1b e7 20 43  68 61 72 64 61 74 25 28  |4..*.. Chardat%(|
00000ec0  6e 75 6d 25 2c 62 25 29  3d 31 20 8c 0d 08 34 3c  |num%,b%)=1 ...4<|
00000ed0  c8 93 20 c8 90 20 78 2b  31 30 2a 6e 2a 73 63 61  |.. .. x+10*n*sca|
00000ee0  6c 65 2c 79 2b 38 2a 6d  2a 73 63 61 6c 65 2c 38  |le,y+8*m*scale,8|
00000ef0  2a 28 73 63 61 6c 65 2b  7a 25 29 2c 36 2a 28 73  |*(scale+z%),6*(s|
00000f00  63 61 6c 65 2b 7a 25 29  0d 08 3e 05 cd 0d 08 48  |cale+z%)..>....H|
00000f10  0b 62 25 3d 62 25 2b 31  0d 08 52 07 ed 20 6d 0d  |.b%=b%+1..R.. m.|
00000f20  08 5c 07 ed 20 6e 0d 08  66 05 e1 0d 08 70 05 3a  |.\.. n..f....p.:|
00000f30  0d 08 7a 13 f4 20 4d 61  6b 65 20 62 69 67 20 70  |..z.. Make big p|
00000f40  6f 6e 67 0d 08 84 31 dd  20 f2 50 6f 6e 67 20 73  |ong...1. .Pong s|
00000f50  63 61 6c 65 3d 34 3a 7a  25 3d 31 3a 78 3d 34 30  |cale=4:z%=1:x=40|
00000f60  30 3a 79 3d 35 30 30 3a  6e 75 6d 25 3d 31 30 3a  |0:y=500:num%=10:|
00000f70  f2 4e 75 6d 0d 08 8e 1b  78 3d 35 35 30 3a 79 3d  |.Num....x=550:y=|
00000f80  35 30 30 3a 6e 75 6d 25  3d 30 3a f2 4e 75 6d 0d  |500:num%=0:.Num.|
00000f90  08 98 1c 78 3d 37 30 30  3a 79 3d 35 30 30 3a 6e  |...x=700:y=500:n|
00000fa0  75 6d 25 3d 31 31 3a f2  4e 75 6d 0d 08 a2 1c 78  |um%=11:.Num....x|
00000fb0  3d 38 35 30 3a 79 3d 35  30 30 3a 6e 75 6d 25 3d  |=850:y=500:num%=|
00000fc0  31 32 3a f2 4e 75 6d 0d  08 ac 10 73 63 61 6c 65  |12:.Num....scale|
00000fd0  3d 31 3a 7a 25 3d 30 0d  08 b6 05 e1 0d 08 c0 05  |=1:z%=0.........|
00000fe0  3a 0d 08 ca 15 f4 20 57  61 69 74 69 6e 67 20 74  |:..... Waiting t|
00000ff0  6f 20 70 6c 61 79 0d 08  d4 15 dd 20 f2 45 6e 64  |o play..... .End|
00001000  20 db 3a da 3a 42 75 74  25 3d 30 0d 08 de 0d c8  | .:.:But%=0.....|
00001010  95 20 42 75 74 25 3d 30  0d 08 e8 0d e6 20 37 3a  |. But%=0..... 7:|
00001020  f2 50 6f 6e 67 0d 08 f2  19 e6 20 30 3a e3 20 6e  |.Pong..... 0:. n|
00001030  3d 30 20 b8 20 31 35 30  30 30 3a ed 20 6e 0d 08  |=0 . 15000:. n..|
00001040  fc 1b f2 50 6f 6e 67 3a  e3 20 6e 3d 30 20 b8 20  |...Pong:. n=0 . |
00001050  31 35 30 30 30 3a ed 20  6e 0d 09 06 11 c8 97 20  |15000:. n...... |
00001060  78 25 2c 79 25 2c 42 75  74 25 0d 09 10 05 ce 0d  |x%,y%,But%......|
00001070  09 1a 05 e1 0d 09 24 05  3a 0d 09 2e 19 f4 20 64  |......$.:..... d|
00001080  61 74 61 20 66 6f 72 20  63 68 61 72 61 63 74 65  |ata for characte|
00001090  72 73 0d 09 38 23 dc 20  31 2c 31 2c 31 2c 31 2c  |rs..8#. 1,1,1,1,|
000010a0  31 2c 31 2c 30 2c 30 2c  30 2c 31 2c 31 2c 31 2c  |1,1,0,0,0,1,1,1,|
000010b0  31 2c 31 2c 31 0d 09 42  23 dc 20 30 2c 30 2c 30  |1,1,1..B#. 0,0,0|
000010c0  2c 30 2c 30 2c 31 2c 31  2c 31 2c 31 2c 31 2c 30  |,0,0,1,1,1,1,1,0|
000010d0  2c 30 2c 30 2c 30 2c 30  0d 09 4c 23 dc 20 31 2c  |,0,0,0,0..L#. 1,|
000010e0  31 2c 31 2c 30 2c 31 2c  31 2c 30 2c 31 2c 30 2c  |1,1,0,1,1,0,1,0,|
000010f0  31 2c 31 2c 30 2c 31 2c  31 2c 31 0d 09 56 23 dc  |1,1,0,1,1,1..V#.|
00001100  20 31 2c 30 2c 30 2c 30  2c 31 2c 31 2c 30 2c 31  | 1,0,0,0,1,1,0,1|
00001110  2c 30 2c 31 2c 31 2c 31  2c 31 2c 31 2c 31 0d 09  |,0,1,1,1,1,1,1..|
00001120  60 23 dc 20 30 2c 31 2c  31 2c 31 2c 31 2c 31 2c  |`#. 0,1,1,1,1,1,|
00001130  31 2c 30 2c 30 2c 30 2c  30 2c 31 2c 30 2c 30 2c  |1,0,0,0,0,1,0,0,|
00001140  30 0d 09 6a 05 3a 0d 09  74 23 dc 20 31 2c 30 2c  |0..j.:..t#. 1,0,|
00001150  31 2c 31 2c 31 2c 31 2c  30 2c 31 2c 30 2c 31 2c  |1,1,1,1,0,1,0,1,|
00001160  31 2c 31 2c 31 2c 30 2c  31 0d 09 7e 23 dc 20 31  |1,1,1,0,1..~#. 1|
00001170  2c 31 2c 31 2c 31 2c 31  2c 31 2c 30 2c 31 2c 30  |,1,1,1,1,1,0,1,0|
00001180  2c 30 2c 31 2c 31 2c 31  2c 30 2c 30 0d 09 88 23  |,0,1,1,1,0,0...#|
00001190  dc 20 30 2c 30 2c 30 2c  30 2c 31 2c 30 2c 30 2c  |. 0,0,0,0,1,0,0,|
000011a0  30 2c 30 2c 31 2c 31 2c  31 2c 31 2c 31 2c 31 0d  |0,0,1,1,1,1,1,1.|
000011b0  09 92 23 dc 20 31 2c 31  2c 31 2c 31 2c 31 2c 31  |..#. 1,1,1,1,1,1|
000011c0  2c 30 2c 31 2c 30 2c 31  2c 31 2c 31 2c 31 2c 31  |,0,1,0,1,1,1,1,1|
000011d0  2c 31 0d 09 9c 23 dc 20  30 2c 30 2c 31 2c 31 2c  |,1...#. 0,0,1,1,|
000011e0  31 2c 30 2c 30 2c 31 2c  30 2c 31 2c 31 2c 31 2c  |1,0,0,1,0,1,1,1,|
000011f0  31 2c 31 2c 31 0d 09 a6  05 3a 0d 09 b0 23 dc 20  |1,1,1....:...#. |
00001200  31 2c 31 2c 31 2c 31 2c  31 2c 30 2c 30 2c 31 2c  |1,1,1,1,1,0,0,1,|
00001210  30 2c 31 2c 30 2c 30 2c  31 2c 31 2c 31 0d 09 ba  |0,1,0,0,1,1,1...|
00001220  23 dc 20 31 2c 31 2c 31  2c 31 2c 31 2c 30 2c 31  |#. 1,1,1,1,1,0,1|
00001230  2c 31 2c 31 2c 30 2c 31  2c 31 2c 31 2c 31 2c 31  |,1,1,0,1,1,1,1,1|
00001240  0d 09 c4 23 dc 20 31 2c  31 2c 31 2c 31 2c 31 2c  |...#. 1,1,1,1,1,|
00001250  31 2c 30 2c 30 2c 30 2c  31 2c 31 2c 31 2c 30 2c  |1,0,0,0,1,1,1,0,|
00001260  30 2c 31 0d 09 ce 05 3a  0d ff                    |0,1....:..|
0000126a