Home » Archimedes archive » Acorn User » AU 1997-02 B.adf » Regulars » StarInfo/circles/Atkins/JUGGLER

StarInfo/circles/Atkins/JUGGLER

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 1997-02 B.adf » Regulars
Filename: StarInfo/circles/Atkins/JUGGLER
Read OK:
File size: 20A5 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM>JUGGLE
   20ON ERROR PROC_Error:END
   30REM-----------------------------------------------------------------------------------------
   40      PROC_INIT
   50      PROC_Scene
   60      PROC_Mainline
   70      STOP
   80REM------------------------------------------------------------------------------------
   90      DEF PROC_Error
  100       GCOL 1,48
  110       SYS "OS_Byte",112,1:SYS "OS_Byte",113,1
  120       PRINT TAB(1,1);"JUGGLER - "; REPORT$ " AT LINE ";ERL:STOP
  130      ENDPROC
  140REM------------------------------------------------------------------------------------
  150      DEF PROC_Mainline
  151       Loop = 300
  170       REPEAT
  180        PROC_Process(1,Loop,8,2,700,70,0,"'Shower'")
  190        PROC_Process(3,Loop,8,2,700,70,2,"'Shower'")
  200        PROC_Process(8,Loop,8,2,700,70,4,"'Shower'")
  210
  220        PROC_Process(2,Loop,4,4,600,600,20,"'Crossover'")
  230        PROC_Process(3,Loop,4,4,600,20,20,"'Crossover'")
  240        PROC_Process(5,Loop,4,4,600,20,20,"'Crossover'")
  250
  260        PROC_Process(3,Loop,4,4,700,700,4,"'Plodger'")
  270        PROC_Process(7,Loop,4,4,700,700,4,"'Plodger'")
  280        PROC_Process(4,Loop,2,2,700,-400,2,"'Floor Bounce'")
  290       UNTIL FALSE
  300      ENDPROC
  310REM-----------------------------------------------------------------------------------------
  320      DEF PROC_Scene
  330       HandLeftX  = 300:HandLeftY  =100:HandRightX  =1000:HandRightY  =100
  340       HandLeft   = FN_Define(0,HandLeftX,HandLeftY,40,Pink)
  350       HandRight  = FN_Define(1,HandRightX,HandRightY,40,Pink)
  360       BallRed    = FN_Define(2,20,0,30,Red)
  370       BallGreen  = FN_Define(2,20,60,30,Green)
  380       BallBlue   = FN_Define(2,20,120,30,Blue)
  390       BallCyan   = FN_Define(2,20,180,30,Cyan)
  400       BallMagenta= FN_Define(2,20,240,30,Magenta)
  410       BallYellow = FN_Define(2,20,300,30,Yellow)
  420       BallRed1   = FN_Define(2,20,360,30,Red)
  430       BallGreen1 = FN_Define(2,20,420,30,Green)
  440       BallBlue1  = FN_Define(2,20,480,30,Blue)
  450      ENDPROC
  460REM----------------------------------------------------------------------------------------
  470      DEF PROC_SetMove(b,f,t,h,s)
  480       b!RowFrom   = f
  490       b!RowTo     = t
  500       b!RowHeight = h
  510       b!RowSpeed  = s
  520       b!RowCount  = 0
  530       f!RowBall   = 0
  540       b!RowStat   = 1
  550       BallSpeed   = s
  560      ENDPROC
  570REM----------------------------------------------------------------------------------------
  580      DEF PROC_MoveBall(b)               :REM b = Address of ball entry
  590       IF b!RowStat  <> 0 THEN
  600         f=b!RowFrom
  610         t=b!RowTo
  620         s=b!RowSpeed
  630         d=t!RowX-f!RowX:dd=d/180
  640         b!RowCount += s
  650         a=b!RowCount
  660         h=b!RowHeight
  670         b!RowX  =f!RowX+dd*(a+(a/3)*SINRADa)
  680         b!RowY  =f!RowY+h*SINRAD(a)
  690         IF a >= 180 THEN
  700REM Landed in hand
  710           t!RowY     +=20
  720           b!RowSpeed = 0
  730           t!RowBall=b
  740           b!RowStat=0
  750         ENDIF
  760       ENDIF
  770      ENDPROC
  780REM-----------------------------------------------------------------------------------------
  790      DEF PROC_SetBall(b,h)
  800       IF b!RowStat=0 THEN
  810        b!RowX    = h!RowX
  820        b!RowY    = h!RowY
  830        h!RowBall =b
  840        BallCount+=1
  850       ENDIF
  860      ENDPROC
  870REM-----------------------------------------------------------------------------------------
  880      DEF FN_Define(t,x,y,s,RGB)
  890       M=B+MaxBall*RowLen
  900       M!RowType    =   t
  910       M!RowX       =   x
  920       M!RowY       =   y
  930       M!RowSize    =   s
  940       M!RowRGB     =   RGB
  950       M!RowCount   =   0
  960       M!RowStat    =   0
  970       M!RowBall    =   0
  980       MaxBall  += 1
  990      =M
 1000REM---------------------------------------------------------------------------------------
 1010      DEF PROC_Reset(BallMax,SpeedLow,SpeedHi,Low,High,HandInc)
 1020       HandLeft!RowX =300
 1030       HandRight!RowX=1000
 1040       BallCount = 0
 1050       BallSpeed = 1
 1060       Cycle     = 0
 1070       Delay     = 0
 1080       D0        = 0
 1090       D1        = 180/BallMax
 1100       D2        = 2*D1
 1110       D3        = 3*D1
 1120       D4        = 4*D1
 1130       D5        = 5*D1
 1140       D6        = 6*D1
 1150       D7        = 7*D1
 1160       D8        = 8*D1
 1170       FOR I% = 2 TO MaxBall
 1180        J% = B+I%*RowLen
 1190        J%!RowX       =   -100
 1200        J%!RowY       =   -100
 1210        J%!RowCount   =   0
 1220        J%!RowStat    =   0
 1230        J%!RowBall    =   0
 1240       NEXT I%
 1250      ENDPROC
 1260REM---------------------------------------------------------------------------------------
 1270      DEF PROC_Process(BallMax,Count,SpeedLow,SpeedHi,Low,High,HandInc,Style$)
 1280       LOCAL Bl
 1290       PROC_Reset(BallMax,SpeedLow,SpeedHi,Low,High,HandInc)
 1300       FOR I% = 0 TO Count
 1310        Cycle += BallSpeed
 1320        FOR Ball = 0 TO MaxBall
 1330         Bl=B+Ball*RowLen
 1340         CASE Bl!RowType OF
 1350           WHEN 0:
 1360            IF Bl!RowBall <> 0 THEN
 1370              PROC_SetMove(Bl!RowBall,HandLeft,HandRight,RND(50)+Low,SpeedHi)
 1380            ENDIF
 1390           WHEN 1:
 1400            IF Bl!RowBall <> 0 THEN
 1410              PROC_SetMove(Bl!RowBall,HandRight,HandLeft,RND(200)+High,SpeedLow)
 1420            ENDIF
 1430           WHEN 2:PROC_MoveBall(Bl)
 1440         ENDCASE
 1450        NEXT Ball
 1460        IF BallCount < BallMax THEN
 1470           IF Cycle > D0 PROC_SetBall(BallRed,HandLeft)
 1480           IF Cycle > D1 PROC_SetBall(BallBlue,HandLeft)
 1490           IF Cycle > D2 PROC_SetBall(BallGreen,HandLeft)
 1500           IF Cycle > D3 PROC_SetBall(BallCyan,HandLeft)
 1510           IF Cycle > D4 PROC_SetBall(BallMagenta,HandLeft)
 1520           IF Cycle > D5 PROC_SetBall(BallYellow,HandLeft)
 1530           IF Cycle > D6 PROC_SetBall(BallRed1,HandLeft)
 1540           IF Cycle > D7 PROC_SetBall(BallBlue1,HandLeft)
 1550           IF Cycle > D8 PROC_SetBall(BallGreen1,HandLeft)
 1560        ENDIF
 1570        PROC_Show(Style$,I%)
 1580       NEXT I%
 1590      ENDPROC
 1600REM---------------------------------------------------------------------------------------
 1610      DEF PROC_Show(Style$,I%)
 1620       CLG
 1630       FOR Object = 0 TO MaxBall
 1640        O% = B+Object*RowLen
 1650        SYS CTSG%,!(O%+RowRGB),,,%100000000,0
 1660        x=!(O%+RowX):y=!(O%+RowY)
 1670        CASE !(O%+RowType) OF
 1680         WHEN 0:!(O%+RowX)+=HandInc*SINRAD(Cycle)
 1690                     !(O%+RowY)=HandLeftY
 1690                CIRCLE FILL x-60,y-10,12
 1700                CIRCLE FILL x-40,y-35,10
 1710                CIRCLE FILL x-15,y-42,10
 1720                CIRCLE FILL x+10,y-42,10
 1730                CIRCLE FILL x+30,y-30,8
 1740         WHEN 1:!(O%+RowX)-=HandInc*SINRAD(Cycle)
 1750                     !(O%+RowY)=HandRightY
 1750                CIRCLE FILL x-50,y-30,8
 1760                CIRCLE FILL x-30,y-35,10
 1770                CIRCLE FILL x-5,y-42,10
 1780                CIRCLE FILL x+20,y-42,10
 1790                CIRCLE FILL x+40,y-20,12
 1800         WHEN 2:CIRCLE FILL x,y,!(O%+RowSize)
 1810        ENDCASE
 1820       NEXT Object
 1830       PRINT TAB(1,2);"This is a ";BallCount;" ball ";Style$;" count = ";I%;"   "
 1840       IF BANKS THEN
 1850         SYS "OS_Byte",112,BANK1
 1860         SYS "OS_Byte",113,BANK2
 1870         SWAP BANK1,BANK2
 1880       ENDIF
 1890      ENDPROC
 1900REM-----------------------------------------------------------------------------------------
 1910REM INITIALISATION PROCEDURE
 1920
 1930    DEF PROC_INIT
 1940
 1950     PROC_RowMetrics
 1960     DIM  B 20*RowLen
 1970     MaxBall   = 0
 1980
 1990     SYS "OS_SWINumberFromString",,"ColourTrans_SetGCOL" TO CTSG%
 2000     SYS "OS_ReadModeVariable",-1,11 TO ,,x
 2010     SYS "OS_ReadModeVariable",-1,12 TO ,,y
 2020     SYS "OS_ReadModeVariable",-1,4 TO ,,ex
 2030     SYS "OS_ReadModeVariable",-1,5 TO ,,ey
 2040     MaxWidth=(x+1)<<ex:MaxHeight=(y+1)<<ey
 2050
 2060     Red     = 255<<8
 2070     Green   = 255<<16
 2080     Blue    = 255<<24
 2090     Pink    = Red OR 100<<16 OR 100<<24
 2100     Yellow  = Red OR Green
 2110     Cyan    = Green OR Blue
 2120     Magenta = Red OR Blue
 2130     White   = Red OR Green OR Blue
 2140
 2150     BANK1=1:BANK2=2:BANKS=TRUE
 2160     MODE 28+128
 2170     GCOL 128
 2180     CLG
 2190    ENDPROC
 2200
 2210REM-----------------------------------------------------------------------------------------
 2220    DEF PROC_RowMetrics
 2230REM Real numbers
 2240     RowX       = 0
 2250     RowY       = 8
 2260REM Integers
 2270     RowRGB     = 16
 2280     RowSize    = 20
 2290     RowSpeed   = 24
 2300     RowType    = 28                         :REM 0=Left Hand, 1=RightHand,2 = ball
 2310     RowCount   = 32
 2320     RowHeight  = 36
 2330     RowWhere   = 40
 2340     RowBall    = 44
 2350     RowFrom    = 48
 2360     RowTo      = 52
 2370     RowStat    = 56
 2380     RowLen     = 60
 2390
 2400     RowWords   = RowLen/4
 2410
 2420    ENDPROC

�>JUGGLE
� � �_Error:�
^�-----------------------------------------------------------------------------------------
(      �_INIT
2      �_Scene
<      �_Mainline
F      �
PY�------------------------------------------------------------------------------------
Z      � �_Error
d       � 1,48
n0       ș "OS_Byte",112,1:ș "OS_Byte",113,1
x3       � �1,1);"JUGGLER - "; �$ " AT LINE ";�:�
�      �
�Y�------------------------------------------------------------------------------------
�      � �_Mainline
�       Loop = 300
�       �
�5        �_Process(1,Loop,8,2,700,70,0,"'Shower'")
�5        �_Process(3,Loop,8,2,700,70,2,"'Shower'")
�5        �_Process(8,Loop,8,2,700,70,4,"'Shower'")
�
�:        �_Process(2,Loop,4,4,600,600,20,"'Crossover'")
�9        �_Process(3,Loop,4,4,600,20,20,"'Crossover'")
�9        �_Process(5,Loop,4,4,600,20,20,"'Crossover'")
�
7        �_Process(3,Loop,4,4,700,700,4,"'Plodger'")
7        �_Process(7,Loop,4,4,700,700,4,"'Plodger'")
=        �_Process(4,Loop,2,2,700,-400,2,"'Floor Bounce'")
"       � �
,      �
6^�-----------------------------------------------------------------------------------------
@      � �_Scene
JN       HandLeftX  = 300:HandLeftY  =100:HandRightX  =1000:HandRightY  =100
T?       HandLeft   = �_Define(0,HandLeftX,HandLeftY,40,Pink)
^A       HandRight  = �_Define(1,HandRightX,HandRightY,40,Pink)
h/       BallRed    = �_Define(2,20,0,30,Red)
r2       BallGreen  = �_Define(2,20,60,30,Green)
|2       BallBlue   = �_Define(2,20,120,30,Blue)
�2       BallCyan   = �_Define(2,20,180,30,Cyan)
�5       BallMagenta= �_Define(2,20,240,30,Magenta)
�4       BallYellow = �_Define(2,20,300,30,Yellow)
�1       BallRed1   = �_Define(2,20,360,30,Red)
�3       BallGreen1 = �_Define(2,20,420,30,Green)
�2       BallBlue1  = �_Define(2,20,480,30,Blue)
�      �
�]�----------------------------------------------------------------------------------------
�       � �_SetMove(b,f,t,h,s)
�       b!RowFrom   = f
�       b!RowTo     = t
�       b!RowHeight = h
�       b!RowSpeed  = s
       b!RowCount  = 0
       f!RowBall   = 0
       b!RowStat   = 1
&       BallSpeed   = s
0      �
:]�----------------------------------------------------------------------------------------
DD      � �_MoveBall(b)               :� b = Address of ball entry
N       � b!RowStat  <> 0 �
X         f=b!RowFrom
b         t=b!RowTo
l         s=b!RowSpeed
v%         d=t!RowX-f!RowX:dd=d/180
�         b!RowCount += s
�         a=b!RowCount
�         h=b!RowHeight
�-         b!RowX  =f!RowX+dd*(a+(a/3)*��a)
�$         b!RowY  =f!RowY+h*��(a)
�         � a >= 180 �
�� Landed in hand
�           t!RowY     +=20
�           b!RowSpeed = 0
�           t!RowBall=b
�           b!RowStat=0
�         �
�       �
      �
^�-----------------------------------------------------------------------------------------
      � �_SetBall(b,h)
        � b!RowStat=0 �
*        b!RowX    = h!RowX
4        b!RowY    = h!RowY
>        h!RowBall =b
H        BallCount+=1
R       �
\      �
f^�-----------------------------------------------------------------------------------------
p!      � �_Define(t,x,y,s,RGB)
z       M=B+MaxBall*RowLen
�       M!RowType    =   t
�       M!RowX       =   x
�       M!RowY       =   y
�       M!RowSize    =   s
�       M!RowRGB     =   RGB
�       M!RowCount   =   0
�       M!RowStat    =   0
�       M!RowBall    =   0
�       MaxBall  += 1
�      =M
�\�---------------------------------------------------------------------------------------
�>      � �_Reset(BallMax,SpeedLow,SpeedHi,Low,High,HandInc)
�       HandLeft!RowX =300
       HandRight!RowX=1000
       BallCount = 0
       BallSpeed = 1
$       Cycle     = 0
.       Delay     = 0
8       D0        = 0
B"       D1        = 180/BallMax
L       D2        = 2*D1
V       D3        = 3*D1
`       D4        = 4*D1
j       D5        = 5*D1
t       D6        = 6*D1
~       D7        = 7*D1
�       D8        = 8*D1
�       � I% = 2 � MaxBall
�        J% = B+I%*RowLen
�"        J%!RowX       =   -100
�"        J%!RowY       =   -100
�        J%!RowCount   =   0
�        J%!RowStat    =   0
�        J%!RowBall    =   0
�       � I%
�      �
�\�---------------------------------------------------------------------------------------
�M      � �_Process(BallMax,Count,SpeedLow,SpeedHi,Low,High,HandInc,Style$)
       � Bl

=       �_Reset(BallMax,SpeedLow,SpeedHi,Low,High,HandInc)
       � I% = 0 � Count
        Cycle += BallSpeed
(         � Ball = 0 � MaxBall
2         Bl=B+Ball*RowLen
<         Ȏ Bl!RowType �
F           � 0:
P#            � Bl!RowBall <> 0 �
ZL              �_SetMove(Bl!RowBall,HandLeft,HandRight,�(50)+Low,SpeedHi)
d            �
n           � 1:
x#            � Bl!RowBall <> 0 �
�O              �_SetMove(Bl!RowBall,HandRight,HandLeft,�(200)+High,SpeedLow)
�            �
�!           � 2:�_MoveBall(Bl)
�         �
�        � Ball
�#        � BallCount < BallMax �
�7           � Cycle > D0 �_SetBall(BallRed,HandLeft)
�8           � Cycle > D1 �_SetBall(BallBlue,HandLeft)
�9           � Cycle > D2 �_SetBall(BallGreen,HandLeft)
�8           � Cycle > D3 �_SetBall(BallCyan,HandLeft)
�;           � Cycle > D4 �_SetBall(BallMagenta,HandLeft)
�:           � Cycle > D5 �_SetBall(BallYellow,HandLeft)
�8           � Cycle > D6 �_SetBall(BallRed1,HandLeft)
9           � Cycle > D7 �_SetBall(BallBlue1,HandLeft)
:           � Cycle > D8 �_SetBall(BallGreen1,HandLeft)

        �
"        �_Show(Style$,I%)
,       � I%
6      �
@\�---------------------------------------------------------------------------------------
J      � �_Show(Style$,I%)
T       �
^!       � Object = 0 � MaxBall
h         O% = B+Object*RowLen
r0        ș CTSG%,!(O%+RowRGB),,,%100000000,0
|%        x=!(O%+RowX):y=!(O%+RowY)
�        Ȏ !(O%+RowType) �
�.         � 0:!(O%+RowX)+=HandInc*��(Cycle)
�-                     !(O%+RowY)=HandLeftY
�&                ȏ Ȑ x-60,y-10,12
�&                ȏ Ȑ x-40,y-35,10
�&                ȏ Ȑ x-15,y-42,10
�&                ȏ Ȑ x+10,y-42,10
�%                ȏ Ȑ x+30,y-30,8
�.         � 1:!(O%+RowX)-=HandInc*��(Cycle)
�.                     !(O%+RowY)=HandRightY
�%                ȏ Ȑ x-50,y-30,8
�&                ȏ Ȑ x-30,y-35,10
�%                ȏ Ȑ x-5,y-42,10
�&                ȏ Ȑ x+20,y-42,10
�&                ȏ Ȑ x+40,y-20,12
(         � 2:ȏ Ȑ x,y,!(O%+RowSize)

        �
       � Object
&N       � �1,2);"This is a ";BallCount;" ball ";Style$;" count = ";I%;"   "
0       � BANKS �
:#         ș "OS_Byte",112,BANK1
D#         ș "OS_Byte",113,BANK2
N         Ȕ BANK1,BANK2
X       �
b      �
l^�-----------------------------------------------------------------------------------------
v� INITIALISATION PROCEDURE
�
�    � �_INIT
�
�     �_RowMetrics
�     �  B 20*RowLen
�     MaxBall   = 0
�
�C     ș "OS_SWINumberFromString",,"ColourTrans_SetGCOL" � CTSG%
�-     ș "OS_ReadModeVariable",-1,11 � ,,x
�-     ș "OS_ReadModeVariable",-1,12 � ,,y
�-     ș "OS_ReadModeVariable",-1,4 � ,,ex
�-     ș "OS_ReadModeVariable",-1,5 � ,,ey
�/     MaxWidth=(x+1)<<ex:MaxHeight=(y+1)<<ey

     Red     = 255<<8
     Green   = 255<<16
      Blue    = 255<<24
**     Pink    = Red � 100<<16 � 100<<24
4     Yellow  = Red � Green
>     Cyan    = Green � Blue
H     Magenta = Red � Blue
R%     White   = Red � Green � Blue
\
f      BANK1=1:BANK2=2:BANKS=�
p     � 28+128
z     � 128
�
     �
�	    �
�
�^�-----------------------------------------------------------------------------------------
�    � �_RowMetrics
�� Real numbers
�     RowX       = 0
�     RowY       = 8
�� Integers
�     RowRGB     = 16
�     RowSize    = 20
�     RowSpeed   = 24
�U     RowType    = 28                         :� 0=Left Hand, 1=RightHand,2 = ball
	     RowCount   = 32
	     RowHeight  = 36
	     RowWhere   = 40
	$     RowBall    = 44
	.     RowFrom    = 48
	8     RowTo      = 52
	B     RowStat    = 56
	L     RowLen     = 60
	V
	`     RowWords   = RowLen/4
	j
	t	    �
�
00000000  0d 00 0a 0c f4 3e 4a 55  47 47 4c 45 0d 00 14 11  |.....>JUGGLE....|
00000010  ee 20 85 20 f2 5f 45 72  72 6f 72 3a e0 0d 00 1e  |. . ._Error:....|
00000020  5e f4 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |^.--------------|
00000030  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000070  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 0d 00 28 10 20  |-----------..(. |
00000080  20 20 20 20 20 f2 5f 49  4e 49 54 0d 00 32 11 20  |     ._INIT..2. |
00000090  20 20 20 20 20 f2 5f 53  63 65 6e 65 0d 00 3c 14  |     ._Scene..<.|
000000a0  20 20 20 20 20 20 f2 5f  4d 61 69 6e 6c 69 6e 65  |      ._Mainline|
000000b0  0d 00 46 0b 20 20 20 20  20 20 fa 0d 00 50 59 f4  |..F.      ...PY.|
000000c0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000110  2d 2d 2d 2d 0d 00 5a 13  20 20 20 20 20 20 dd 20  |----..Z.      . |
00000120  f2 5f 45 72 72 6f 72 0d  00 64 11 20 20 20 20 20  |._Error..d.     |
00000130  20 20 e6 20 31 2c 34 38  0d 00 6e 30 20 20 20 20  |  . 1,48..n0    |
00000140  20 20 20 c8 99 20 22 4f  53 5f 42 79 74 65 22 2c  |   .. "OS_Byte",|
00000150  31 31 32 2c 31 3a c8 99  20 22 4f 53 5f 42 79 74  |112,1:.. "OS_Byt|
00000160  65 22 2c 31 31 33 2c 31  0d 00 78 33 20 20 20 20  |e",113,1..x3    |
00000170  20 20 20 f1 20 8a 31 2c  31 29 3b 22 4a 55 47 47  |   . .1,1);"JUGG|
00000180  4c 45 52 20 2d 20 22 3b  20 f6 24 20 22 20 41 54  |LER - "; .$ " AT|
00000190  20 4c 49 4e 45 20 22 3b  9e 3a fa 0d 00 82 0b 20  | LINE ";.:..... |
000001a0  20 20 20 20 20 e1 0d 00  8c 59 f4 2d 2d 2d 2d 2d  |     ....Y.-----|
000001b0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000001f0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 0d  |---------------.|
00000200  00 96 16 20 20 20 20 20  20 dd 20 f2 5f 4d 61 69  |...      . ._Mai|
00000210  6e 6c 69 6e 65 0d 00 97  15 20 20 20 20 20 20 20  |nline....       |
00000220  4c 6f 6f 70 20 3d 20 33  30 30 0d 00 aa 0c 20 20  |Loop = 300....  |
00000230  20 20 20 20 20 f5 0d 00  b4 35 20 20 20 20 20 20  |     ....5      |
00000240  20 20 f2 5f 50 72 6f 63  65 73 73 28 31 2c 4c 6f  |  ._Process(1,Lo|
00000250  6f 70 2c 38 2c 32 2c 37  30 30 2c 37 30 2c 30 2c  |op,8,2,700,70,0,|
00000260  22 27 53 68 6f 77 65 72  27 22 29 0d 00 be 35 20  |"'Shower'")...5 |
00000270  20 20 20 20 20 20 20 f2  5f 50 72 6f 63 65 73 73  |       ._Process|
00000280  28 33 2c 4c 6f 6f 70 2c  38 2c 32 2c 37 30 30 2c  |(3,Loop,8,2,700,|
00000290  37 30 2c 32 2c 22 27 53  68 6f 77 65 72 27 22 29  |70,2,"'Shower'")|
000002a0  0d 00 c8 35 20 20 20 20  20 20 20 20 f2 5f 50 72  |...5        ._Pr|
000002b0  6f 63 65 73 73 28 38 2c  4c 6f 6f 70 2c 38 2c 32  |ocess(8,Loop,8,2|
000002c0  2c 37 30 30 2c 37 30 2c  34 2c 22 27 53 68 6f 77  |,700,70,4,"'Show|
000002d0  65 72 27 22 29 0d 00 d2  04 0d 00 dc 3a 20 20 20  |er'").......:   |
000002e0  20 20 20 20 20 f2 5f 50  72 6f 63 65 73 73 28 32  |     ._Process(2|
000002f0  2c 4c 6f 6f 70 2c 34 2c  34 2c 36 30 30 2c 36 30  |,Loop,4,4,600,60|
00000300  30 2c 32 30 2c 22 27 43  72 6f 73 73 6f 76 65 72  |0,20,"'Crossover|
00000310  27 22 29 0d 00 e6 39 20  20 20 20 20 20 20 20 f2  |'")...9        .|
00000320  5f 50 72 6f 63 65 73 73  28 33 2c 4c 6f 6f 70 2c  |_Process(3,Loop,|
00000330  34 2c 34 2c 36 30 30 2c  32 30 2c 32 30 2c 22 27  |4,4,600,20,20,"'|
00000340  43 72 6f 73 73 6f 76 65  72 27 22 29 0d 00 f0 39  |Crossover'")...9|
00000350  20 20 20 20 20 20 20 20  f2 5f 50 72 6f 63 65 73  |        ._Proces|
00000360  73 28 35 2c 4c 6f 6f 70  2c 34 2c 34 2c 36 30 30  |s(5,Loop,4,4,600|
00000370  2c 32 30 2c 32 30 2c 22  27 43 72 6f 73 73 6f 76  |,20,20,"'Crossov|
00000380  65 72 27 22 29 0d 00 fa  04 0d 01 04 37 20 20 20  |er'").......7   |
00000390  20 20 20 20 20 f2 5f 50  72 6f 63 65 73 73 28 33  |     ._Process(3|
000003a0  2c 4c 6f 6f 70 2c 34 2c  34 2c 37 30 30 2c 37 30  |,Loop,4,4,700,70|
000003b0  30 2c 34 2c 22 27 50 6c  6f 64 67 65 72 27 22 29  |0,4,"'Plodger'")|
000003c0  0d 01 0e 37 20 20 20 20  20 20 20 20 f2 5f 50 72  |...7        ._Pr|
000003d0  6f 63 65 73 73 28 37 2c  4c 6f 6f 70 2c 34 2c 34  |ocess(7,Loop,4,4|
000003e0  2c 37 30 30 2c 37 30 30  2c 34 2c 22 27 50 6c 6f  |,700,700,4,"'Plo|
000003f0  64 67 65 72 27 22 29 0d  01 18 3d 20 20 20 20 20  |dger'")...=     |
00000400  20 20 20 f2 5f 50 72 6f  63 65 73 73 28 34 2c 4c  |   ._Process(4,L|
00000410  6f 6f 70 2c 32 2c 32 2c  37 30 30 2c 2d 34 30 30  |oop,2,2,700,-400|
00000420  2c 32 2c 22 27 46 6c 6f  6f 72 20 42 6f 75 6e 63  |,2,"'Floor Bounc|
00000430  65 27 22 29 0d 01 22 0e  20 20 20 20 20 20 20 fd  |e'")..".       .|
00000440  20 a3 0d 01 2c 0b 20 20  20 20 20 20 e1 0d 01 36  | ...,.      ...6|
00000450  5e f4 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |^.--------------|
00000460  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000004a0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 0d 01 40 13 20  |-----------..@. |
000004b0  20 20 20 20 20 dd 20 f2  5f 53 63 65 6e 65 0d 01  |     . ._Scene..|
000004c0  4a 4e 20 20 20 20 20 20  20 48 61 6e 64 4c 65 66  |JN       HandLef|
000004d0  74 58 20 20 3d 20 33 30  30 3a 48 61 6e 64 4c 65  |tX  = 300:HandLe|
000004e0  66 74 59 20 20 3d 31 30  30 3a 48 61 6e 64 52 69  |ftY  =100:HandRi|
000004f0  67 68 74 58 20 20 3d 31  30 30 30 3a 48 61 6e 64  |ghtX  =1000:Hand|
00000500  52 69 67 68 74 59 20 20  3d 31 30 30 0d 01 54 3f  |RightY  =100..T?|
00000510  20 20 20 20 20 20 20 48  61 6e 64 4c 65 66 74 20  |       HandLeft |
00000520  20 20 3d 20 a4 5f 44 65  66 69 6e 65 28 30 2c 48  |  = ._Define(0,H|
00000530  61 6e 64 4c 65 66 74 58  2c 48 61 6e 64 4c 65 66  |andLeftX,HandLef|
00000540  74 59 2c 34 30 2c 50 69  6e 6b 29 0d 01 5e 41 20  |tY,40,Pink)..^A |
00000550  20 20 20 20 20 20 48 61  6e 64 52 69 67 68 74 20  |      HandRight |
00000560  20 3d 20 a4 5f 44 65 66  69 6e 65 28 31 2c 48 61  | = ._Define(1,Ha|
00000570  6e 64 52 69 67 68 74 58  2c 48 61 6e 64 52 69 67  |ndRightX,HandRig|
00000580  68 74 59 2c 34 30 2c 50  69 6e 6b 29 0d 01 68 2f  |htY,40,Pink)..h/|
00000590  20 20 20 20 20 20 20 42  61 6c 6c 52 65 64 20 20  |       BallRed  |
000005a0  20 20 3d 20 a4 5f 44 65  66 69 6e 65 28 32 2c 32  |  = ._Define(2,2|
000005b0  30 2c 30 2c 33 30 2c 52  65 64 29 0d 01 72 32 20  |0,0,30,Red)..r2 |
000005c0  20 20 20 20 20 20 42 61  6c 6c 47 72 65 65 6e 20  |      BallGreen |
000005d0  20 3d 20 a4 5f 44 65 66  69 6e 65 28 32 2c 32 30  | = ._Define(2,20|
000005e0  2c 36 30 2c 33 30 2c 47  72 65 65 6e 29 0d 01 7c  |,60,30,Green)..||
000005f0  32 20 20 20 20 20 20 20  42 61 6c 6c 42 6c 75 65  |2       BallBlue|
00000600  20 20 20 3d 20 a4 5f 44  65 66 69 6e 65 28 32 2c  |   = ._Define(2,|
00000610  32 30 2c 31 32 30 2c 33  30 2c 42 6c 75 65 29 0d  |20,120,30,Blue).|
00000620  01 86 32 20 20 20 20 20  20 20 42 61 6c 6c 43 79  |..2       BallCy|
00000630  61 6e 20 20 20 3d 20 a4  5f 44 65 66 69 6e 65 28  |an   = ._Define(|
00000640  32 2c 32 30 2c 31 38 30  2c 33 30 2c 43 79 61 6e  |2,20,180,30,Cyan|
00000650  29 0d 01 90 35 20 20 20  20 20 20 20 42 61 6c 6c  |)...5       Ball|
00000660  4d 61 67 65 6e 74 61 3d  20 a4 5f 44 65 66 69 6e  |Magenta= ._Defin|
00000670  65 28 32 2c 32 30 2c 32  34 30 2c 33 30 2c 4d 61  |e(2,20,240,30,Ma|
00000680  67 65 6e 74 61 29 0d 01  9a 34 20 20 20 20 20 20  |genta)...4      |
00000690  20 42 61 6c 6c 59 65 6c  6c 6f 77 20 3d 20 a4 5f  | BallYellow = ._|
000006a0  44 65 66 69 6e 65 28 32  2c 32 30 2c 33 30 30 2c  |Define(2,20,300,|
000006b0  33 30 2c 59 65 6c 6c 6f  77 29 0d 01 a4 31 20 20  |30,Yellow)...1  |
000006c0  20 20 20 20 20 42 61 6c  6c 52 65 64 31 20 20 20  |     BallRed1   |
000006d0  3d 20 a4 5f 44 65 66 69  6e 65 28 32 2c 32 30 2c  |= ._Define(2,20,|
000006e0  33 36 30 2c 33 30 2c 52  65 64 29 0d 01 ae 33 20  |360,30,Red)...3 |
000006f0  20 20 20 20 20 20 42 61  6c 6c 47 72 65 65 6e 31  |      BallGreen1|
00000700  20 3d 20 a4 5f 44 65 66  69 6e 65 28 32 2c 32 30  | = ._Define(2,20|
00000710  2c 34 32 30 2c 33 30 2c  47 72 65 65 6e 29 0d 01  |,420,30,Green)..|
00000720  b8 32 20 20 20 20 20 20  20 42 61 6c 6c 42 6c 75  |.2       BallBlu|
00000730  65 31 20 20 3d 20 a4 5f  44 65 66 69 6e 65 28 32  |e1  = ._Define(2|
00000740  2c 32 30 2c 34 38 30 2c  33 30 2c 42 6c 75 65 29  |,20,480,30,Blue)|
00000750  0d 01 c2 0b 20 20 20 20  20 20 e1 0d 01 cc 5d f4  |....      ....].|
00000760  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000007b0  2d 2d 2d 2d 2d 2d 2d 2d  0d 01 d6 20 20 20 20 20  |--------...     |
000007c0  20 20 dd 20 f2 5f 53 65  74 4d 6f 76 65 28 62 2c  |  . ._SetMove(b,|
000007d0  66 2c 74 2c 68 2c 73 29  0d 01 e0 1a 20 20 20 20  |f,t,h,s)....    |
000007e0  20 20 20 62 21 52 6f 77  46 72 6f 6d 20 20 20 3d  |   b!RowFrom   =|
000007f0  20 66 0d 01 ea 1a 20 20  20 20 20 20 20 62 21 52  | f....       b!R|
00000800  6f 77 54 6f 20 20 20 20  20 3d 20 74 0d 01 f4 1a  |owTo     = t....|
00000810  20 20 20 20 20 20 20 62  21 52 6f 77 48 65 69 67  |       b!RowHeig|
00000820  68 74 20 3d 20 68 0d 01  fe 1a 20 20 20 20 20 20  |ht = h....      |
00000830  20 62 21 52 6f 77 53 70  65 65 64 20 20 3d 20 73  | b!RowSpeed  = s|
00000840  0d 02 08 1a 20 20 20 20  20 20 20 62 21 52 6f 77  |....       b!Row|
00000850  43 6f 75 6e 74 20 20 3d  20 30 0d 02 12 1a 20 20  |Count  = 0....  |
00000860  20 20 20 20 20 66 21 52  6f 77 42 61 6c 6c 20 20  |     f!RowBall  |
00000870  20 3d 20 30 0d 02 1c 1a  20 20 20 20 20 20 20 62  | = 0....       b|
00000880  21 52 6f 77 53 74 61 74  20 20 20 3d 20 31 0d 02  |!RowStat   = 1..|
00000890  26 1a 20 20 20 20 20 20  20 42 61 6c 6c 53 70 65  |&.       BallSpe|
000008a0  65 64 20 20 20 3d 20 73  0d 02 30 0b 20 20 20 20  |ed   = s..0.    |
000008b0  20 20 e1 0d 02 3a 5d f4  2d 2d 2d 2d 2d 2d 2d 2d  |  ...:].--------|
000008c0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000910  0d 02 44 44 20 20 20 20  20 20 dd 20 f2 5f 4d 6f  |..DD      . ._Mo|
00000920  76 65 42 61 6c 6c 28 62  29 20 20 20 20 20 20 20  |veBall(b)       |
00000930  20 20 20 20 20 20 20 20  3a f4 20 62 20 3d 20 41  |        :. b = A|
00000940  64 64 72 65 73 73 20 6f  66 20 62 61 6c 6c 20 65  |ddress of ball e|
00000950  6e 74 72 79 0d 02 4e 1e  20 20 20 20 20 20 20 e7  |ntry..N.       .|
00000960  20 62 21 52 6f 77 53 74  61 74 20 20 3c 3e 20 30  | b!RowStat  <> 0|
00000970  20 8c 0d 02 58 18 20 20  20 20 20 20 20 20 20 66  | ...X.         f|
00000980  3d 62 21 52 6f 77 46 72  6f 6d 0d 02 62 16 20 20  |=b!RowFrom..b.  |
00000990  20 20 20 20 20 20 20 74  3d 62 21 52 6f 77 54 6f  |       t=b!RowTo|
000009a0  0d 02 6c 19 20 20 20 20  20 20 20 20 20 73 3d 62  |..l.         s=b|
000009b0  21 52 6f 77 53 70 65 65  64 0d 02 76 25 20 20 20  |!RowSpeed..v%   |
000009c0  20 20 20 20 20 20 64 3d  74 21 52 6f 77 58 2d 66  |      d=t!RowX-f|
000009d0  21 52 6f 77 58 3a 64 64  3d 64 2f 31 38 30 0d 02  |!RowX:dd=d/180..|
000009e0  80 1c 20 20 20 20 20 20  20 20 20 62 21 52 6f 77  |..         b!Row|
000009f0  43 6f 75 6e 74 20 2b 3d  20 73 0d 02 8a 19 20 20  |Count += s....  |
00000a00  20 20 20 20 20 20 20 61  3d 62 21 52 6f 77 43 6f  |       a=b!RowCo|
00000a10  75 6e 74 0d 02 94 1a 20  20 20 20 20 20 20 20 20  |unt....         |
00000a20  68 3d 62 21 52 6f 77 48  65 69 67 68 74 0d 02 9e  |h=b!RowHeight...|
00000a30  2d 20 20 20 20 20 20 20  20 20 62 21 52 6f 77 58  |-         b!RowX|
00000a40  20 20 3d 66 21 52 6f 77  58 2b 64 64 2a 28 61 2b  |  =f!RowX+dd*(a+|
00000a50  28 61 2f 33 29 2a b5 b2  61 29 0d 02 a8 24 20 20  |(a/3)*..a)...$  |
00000a60  20 20 20 20 20 20 20 62  21 52 6f 77 59 20 20 3d  |       b!RowY  =|
00000a70  66 21 52 6f 77 59 2b 68  2a b5 b2 28 61 29 0d 02  |f!RowY+h*..(a)..|
00000a80  b2 19 20 20 20 20 20 20  20 20 20 e7 20 61 20 3e  |..         . a >|
00000a90  3d 20 31 38 30 20 8c 0d  02 bc 14 f4 20 4c 61 6e  |= 180 ...... Lan|
00000aa0  64 65 64 20 69 6e 20 68  61 6e 64 0d 02 c6 1e 20  |ded in hand.... |
00000ab0  20 20 20 20 20 20 20 20  20 20 74 21 52 6f 77 59  |          t!RowY|
00000ac0  20 20 20 20 20 2b 3d 32  30 0d 02 d0 1d 20 20 20  |     +=20....   |
00000ad0  20 20 20 20 20 20 20 20  62 21 52 6f 77 53 70 65  |        b!RowSpe|
00000ae0  65 64 20 3d 20 30 0d 02  da 1a 20 20 20 20 20 20  |ed = 0....      |
00000af0  20 20 20 20 20 74 21 52  6f 77 42 61 6c 6c 3d 62  |     t!RowBall=b|
00000b00  0d 02 e4 1a 20 20 20 20  20 20 20 20 20 20 20 62  |....           b|
00000b10  21 52 6f 77 53 74 61 74  3d 30 0d 02 ee 0e 20 20  |!RowStat=0....  |
00000b20  20 20 20 20 20 20 20 cd  0d 02 f8 0c 20 20 20 20  |       .....    |
00000b30  20 20 20 cd 0d 03 02 0b  20 20 20 20 20 20 e1 0d  |   .....      ..|
00000b40  03 0c 5e f4 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |..^.------------|
00000b50  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000b90  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 0d 03 16  |-------------...|
00000ba0  1a 20 20 20 20 20 20 dd  20 f2 5f 53 65 74 42 61  |.      . ._SetBa|
00000bb0  6c 6c 28 62 2c 68 29 0d  03 20 1a 20 20 20 20 20  |ll(b,h).. .     |
00000bc0  20 20 e7 20 62 21 52 6f  77 53 74 61 74 3d 30 20  |  . b!RowStat=0 |
00000bd0  8c 0d 03 2a 1e 20 20 20  20 20 20 20 20 62 21 52  |...*.        b!R|
00000be0  6f 77 58 20 20 20 20 3d  20 68 21 52 6f 77 58 0d  |owX    = h!RowX.|
00000bf0  03 34 1e 20 20 20 20 20  20 20 20 62 21 52 6f 77  |.4.        b!Row|
00000c00  59 20 20 20 20 3d 20 68  21 52 6f 77 59 0d 03 3e  |Y    = h!RowY..>|
00000c10  18 20 20 20 20 20 20 20  20 68 21 52 6f 77 42 61  |.        h!RowBa|
00000c20  6c 6c 20 3d 62 0d 03 48  18 20 20 20 20 20 20 20  |ll =b..H.       |
00000c30  20 42 61 6c 6c 43 6f 75  6e 74 2b 3d 31 0d 03 52  | BallCount+=1..R|
00000c40  0c 20 20 20 20 20 20 20  cd 0d 03 5c 0b 20 20 20  |.       ...\.   |
00000c50  20 20 20 e1 0d 03 66 5e  f4 2d 2d 2d 2d 2d 2d 2d  |   ...f^.-------|
00000c60  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000cb0  2d 2d 0d 03 70 21 20 20  20 20 20 20 dd 20 a4 5f  |--..p!      . ._|
00000cc0  44 65 66 69 6e 65 28 74  2c 78 2c 79 2c 73 2c 52  |Define(t,x,y,s,R|
00000cd0  47 42 29 0d 03 7a 1d 20  20 20 20 20 20 20 4d 3d  |GB)..z.       M=|
00000ce0  42 2b 4d 61 78 42 61 6c  6c 2a 52 6f 77 4c 65 6e  |B+MaxBall*RowLen|
00000cf0  0d 03 84 1d 20 20 20 20  20 20 20 4d 21 52 6f 77  |....       M!Row|
00000d00  54 79 70 65 20 20 20 20  3d 20 20 20 74 0d 03 8e  |Type    =   t...|
00000d10  1d 20 20 20 20 20 20 20  4d 21 52 6f 77 58 20 20  |.       M!RowX  |
00000d20  20 20 20 20 20 3d 20 20  20 78 0d 03 98 1d 20 20  |     =   x....  |
00000d30  20 20 20 20 20 4d 21 52  6f 77 59 20 20 20 20 20  |     M!RowY     |
00000d40  20 20 3d 20 20 20 79 0d  03 a2 1d 20 20 20 20 20  |  =   y....     |
00000d50  20 20 4d 21 52 6f 77 53  69 7a 65 20 20 20 20 3d  |  M!RowSize    =|
00000d60  20 20 20 73 0d 03 ac 1f  20 20 20 20 20 20 20 4d  |   s....       M|
00000d70  21 52 6f 77 52 47 42 20  20 20 20 20 3d 20 20 20  |!RowRGB     =   |
00000d80  52 47 42 0d 03 b6 1d 20  20 20 20 20 20 20 4d 21  |RGB....       M!|
00000d90  52 6f 77 43 6f 75 6e 74  20 20 20 3d 20 20 20 30  |RowCount   =   0|
00000da0  0d 03 c0 1d 20 20 20 20  20 20 20 4d 21 52 6f 77  |....       M!Row|
00000db0  53 74 61 74 20 20 20 20  3d 20 20 20 30 0d 03 ca  |Stat    =   0...|
00000dc0  1d 20 20 20 20 20 20 20  4d 21 52 6f 77 42 61 6c  |.       M!RowBal|
00000dd0  6c 20 20 20 20 3d 20 20  20 30 0d 03 d4 18 20 20  |l    =   0....  |
00000de0  20 20 20 20 20 4d 61 78  42 61 6c 6c 20 20 2b 3d  |     MaxBall  +=|
00000df0  20 31 0d 03 de 0c 20 20  20 20 20 20 3d 4d 0d 03  | 1....      =M..|
00000e00  e8 5c f4 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.\.-------------|
00000e10  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000e50  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0d 03 f2 3e 20 20  |----------...>  |
00000e60  20 20 20 20 dd 20 f2 5f  52 65 73 65 74 28 42 61  |    . ._Reset(Ba|
00000e70  6c 6c 4d 61 78 2c 53 70  65 65 64 4c 6f 77 2c 53  |llMax,SpeedLow,S|
00000e80  70 65 65 64 48 69 2c 4c  6f 77 2c 48 69 67 68 2c  |peedHi,Low,High,|
00000e90  48 61 6e 64 49 6e 63 29  0d 03 fc 1d 20 20 20 20  |HandInc)....    |
00000ea0  20 20 20 48 61 6e 64 4c  65 66 74 21 52 6f 77 58  |   HandLeft!RowX|
00000eb0  20 3d 33 30 30 0d 04 06  1e 20 20 20 20 20 20 20  | =300....       |
00000ec0  48 61 6e 64 52 69 67 68  74 21 52 6f 77 58 3d 31  |HandRight!RowX=1|
00000ed0  30 30 30 0d 04 10 18 20  20 20 20 20 20 20 42 61  |000....       Ba|
00000ee0  6c 6c 43 6f 75 6e 74 20  3d 20 30 0d 04 1a 18 20  |llCount = 0.... |
00000ef0  20 20 20 20 20 20 42 61  6c 6c 53 70 65 65 64 20  |      BallSpeed |
00000f00  3d 20 31 0d 04 24 18 20  20 20 20 20 20 20 43 79  |= 1..$.       Cy|
00000f10  63 6c 65 20 20 20 20 20  3d 20 30 0d 04 2e 18 20  |cle     = 0.... |
00000f20  20 20 20 20 20 20 44 65  6c 61 79 20 20 20 20 20  |      Delay     |
00000f30  3d 20 30 0d 04 38 18 20  20 20 20 20 20 20 44 30  |= 0..8.       D0|
00000f40  20 20 20 20 20 20 20 20  3d 20 30 0d 04 42 22 20  |        = 0..B" |
00000f50  20 20 20 20 20 20 44 31  20 20 20 20 20 20 20 20  |      D1        |
00000f60  3d 20 31 38 30 2f 42 61  6c 6c 4d 61 78 0d 04 4c  |= 180/BallMax..L|
00000f70  1b 20 20 20 20 20 20 20  44 32 20 20 20 20 20 20  |.       D2      |
00000f80  20 20 3d 20 32 2a 44 31  0d 04 56 1b 20 20 20 20  |  = 2*D1..V.    |
00000f90  20 20 20 44 33 20 20 20  20 20 20 20 20 3d 20 33  |   D3        = 3|
00000fa0  2a 44 31 0d 04 60 1b 20  20 20 20 20 20 20 44 34  |*D1..`.       D4|
00000fb0  20 20 20 20 20 20 20 20  3d 20 34 2a 44 31 0d 04  |        = 4*D1..|
00000fc0  6a 1b 20 20 20 20 20 20  20 44 35 20 20 20 20 20  |j.       D5     |
00000fd0  20 20 20 3d 20 35 2a 44  31 0d 04 74 1b 20 20 20  |   = 5*D1..t.   |
00000fe0  20 20 20 20 44 36 20 20  20 20 20 20 20 20 3d 20  |    D6        = |
00000ff0  36 2a 44 31 0d 04 7e 1b  20 20 20 20 20 20 20 44  |6*D1..~.       D|
00001000  37 20 20 20 20 20 20 20  20 3d 20 37 2a 44 31 0d  |7        = 7*D1.|
00001010  04 88 1b 20 20 20 20 20  20 20 44 38 20 20 20 20  |...       D8    |
00001020  20 20 20 20 3d 20 38 2a  44 31 0d 04 92 1d 20 20  |    = 8*D1....  |
00001030  20 20 20 20 20 e3 20 49  25 20 3d 20 32 20 b8 20  |     . I% = 2 . |
00001040  4d 61 78 42 61 6c 6c 0d  04 9c 1c 20 20 20 20 20  |MaxBall....     |
00001050  20 20 20 4a 25 20 3d 20  42 2b 49 25 2a 52 6f 77  |   J% = B+I%*Row|
00001060  4c 65 6e 0d 04 a6 22 20  20 20 20 20 20 20 20 4a  |Len..."        J|
00001070  25 21 52 6f 77 58 20 20  20 20 20 20 20 3d 20 20  |%!RowX       =  |
00001080  20 2d 31 30 30 0d 04 b0  22 20 20 20 20 20 20 20  | -100..."       |
00001090  20 4a 25 21 52 6f 77 59  20 20 20 20 20 20 20 3d  | J%!RowY       =|
000010a0  20 20 20 2d 31 30 30 0d  04 ba 1f 20 20 20 20 20  |   -100....     |
000010b0  20 20 20 4a 25 21 52 6f  77 43 6f 75 6e 74 20 20  |   J%!RowCount  |
000010c0  20 3d 20 20 20 30 0d 04  c4 1f 20 20 20 20 20 20  | =   0....      |
000010d0  20 20 4a 25 21 52 6f 77  53 74 61 74 20 20 20 20  |  J%!RowStat    |
000010e0  3d 20 20 20 30 0d 04 ce  1f 20 20 20 20 20 20 20  |=   0....       |
000010f0  20 4a 25 21 52 6f 77 42  61 6c 6c 20 20 20 20 3d  | J%!RowBall    =|
00001100  20 20 20 30 0d 04 d8 0f  20 20 20 20 20 20 20 ed  |   0....       .|
00001110  20 49 25 0d 04 e2 0b 20  20 20 20 20 20 e1 0d 04  | I%....      ...|
00001120  ec 5c f4 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.\.-------------|
00001130  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00001170  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0d 04 f6 4d 20 20  |----------...M  |
00001180  20 20 20 20 dd 20 f2 5f  50 72 6f 63 65 73 73 28  |    . ._Process(|
00001190  42 61 6c 6c 4d 61 78 2c  43 6f 75 6e 74 2c 53 70  |BallMax,Count,Sp|
000011a0  65 65 64 4c 6f 77 2c 53  70 65 65 64 48 69 2c 4c  |eedLow,SpeedHi,L|
000011b0  6f 77 2c 48 69 67 68 2c  48 61 6e 64 49 6e 63 2c  |ow,High,HandInc,|
000011c0  53 74 79 6c 65 24 29 0d  05 00 0f 20 20 20 20 20  |Style$)....     |
000011d0  20 20 ea 20 42 6c 0d 05  0a 3d 20 20 20 20 20 20  |  . Bl...=      |
000011e0  20 f2 5f 52 65 73 65 74  28 42 61 6c 6c 4d 61 78  | ._Reset(BallMax|
000011f0  2c 53 70 65 65 64 4c 6f  77 2c 53 70 65 65 64 48  |,SpeedLow,SpeedH|
00001200  69 2c 4c 6f 77 2c 48 69  67 68 2c 48 61 6e 64 49  |i,Low,High,HandI|
00001210  6e 63 29 0d 05 14 1b 20  20 20 20 20 20 20 e3 20  |nc)....       . |
00001220  49 25 20 3d 20 30 20 b8  20 43 6f 75 6e 74 0d 05  |I% = 0 . Count..|
00001230  1e 1e 20 20 20 20 20 20  20 20 43 79 63 6c 65 20  |..        Cycle |
00001240  2b 3d 20 42 61 6c 6c 53  70 65 65 64 0d 05 28 20  |+= BallSpeed..( |
00001250  20 20 20 20 20 20 20 20  e3 20 42 61 6c 6c 20 3d  |        . Ball =|
00001260  20 30 20 b8 20 4d 61 78  42 61 6c 6c 0d 05 32 1d  | 0 . MaxBall..2.|
00001270  20 20 20 20 20 20 20 20  20 42 6c 3d 42 2b 42 61  |         Bl=B+Ba|
00001280  6c 6c 2a 52 6f 77 4c 65  6e 0d 05 3c 1c 20 20 20  |ll*RowLen..<.   |
00001290  20 20 20 20 20 20 c8 8e  20 42 6c 21 52 6f 77 54  |      .. Bl!RowT|
000012a0  79 70 65 20 ca 0d 05 46  13 20 20 20 20 20 20 20  |ype ...F.       |
000012b0  20 20 20 20 c9 20 30 3a  0d 05 50 23 20 20 20 20  |    . 0:..P#    |
000012c0  20 20 20 20 20 20 20 20  e7 20 42 6c 21 52 6f 77  |        . Bl!Row|
000012d0  42 61 6c 6c 20 3c 3e 20  30 20 8c 0d 05 5a 4c 20  |Ball <> 0 ...ZL |
000012e0  20 20 20 20 20 20 20 20  20 20 20 20 20 f2 5f 53  |             ._S|
000012f0  65 74 4d 6f 76 65 28 42  6c 21 52 6f 77 42 61 6c  |etMove(Bl!RowBal|
00001300  6c 2c 48 61 6e 64 4c 65  66 74 2c 48 61 6e 64 52  |l,HandLeft,HandR|
00001310  69 67 68 74 2c b3 28 35  30 29 2b 4c 6f 77 2c 53  |ight,.(50)+Low,S|
00001320  70 65 65 64 48 69 29 0d  05 64 11 20 20 20 20 20  |peedHi)..d.     |
00001330  20 20 20 20 20 20 20 cd  0d 05 6e 13 20 20 20 20  |       ...n.    |
00001340  20 20 20 20 20 20 20 c9  20 31 3a 0d 05 78 23 20  |       . 1:..x# |
00001350  20 20 20 20 20 20 20 20  20 20 20 e7 20 42 6c 21  |           . Bl!|
00001360  52 6f 77 42 61 6c 6c 20  3c 3e 20 30 20 8c 0d 05  |RowBall <> 0 ...|
00001370  82 4f 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.O              |
00001380  f2 5f 53 65 74 4d 6f 76  65 28 42 6c 21 52 6f 77  |._SetMove(Bl!Row|
00001390  42 61 6c 6c 2c 48 61 6e  64 52 69 67 68 74 2c 48  |Ball,HandRight,H|
000013a0  61 6e 64 4c 65 66 74 2c  b3 28 32 30 30 29 2b 48  |andLeft,.(200)+H|
000013b0  69 67 68 2c 53 70 65 65  64 4c 6f 77 29 0d 05 8c  |igh,SpeedLow)...|
000013c0  11 20 20 20 20 20 20 20  20 20 20 20 20 cd 0d 05  |.            ...|
000013d0  96 21 20 20 20 20 20 20  20 20 20 20 20 c9 20 32  |.!           . 2|
000013e0  3a f2 5f 4d 6f 76 65 42  61 6c 6c 28 42 6c 29 0d  |:._MoveBall(Bl).|
000013f0  05 a0 0e 20 20 20 20 20  20 20 20 20 cb 0d 05 aa  |...         ....|
00001400  12 20 20 20 20 20 20 20  20 ed 20 42 61 6c 6c 0d  |.        . Ball.|
00001410  05 b4 23 20 20 20 20 20  20 20 20 e7 20 42 61 6c  |..#        . Bal|
00001420  6c 43 6f 75 6e 74 20 3c  20 42 61 6c 6c 4d 61 78  |lCount < BallMax|
00001430  20 8c 0d 05 be 37 20 20  20 20 20 20 20 20 20 20  | ....7          |
00001440  20 e7 20 43 79 63 6c 65  20 3e 20 44 30 20 f2 5f  | . Cycle > D0 ._|
00001450  53 65 74 42 61 6c 6c 28  42 61 6c 6c 52 65 64 2c  |SetBall(BallRed,|
00001460  48 61 6e 64 4c 65 66 74  29 0d 05 c8 38 20 20 20  |HandLeft)...8   |
00001470  20 20 20 20 20 20 20 20  e7 20 43 79 63 6c 65 20  |        . Cycle |
00001480  3e 20 44 31 20 f2 5f 53  65 74 42 61 6c 6c 28 42  |> D1 ._SetBall(B|
00001490  61 6c 6c 42 6c 75 65 2c  48 61 6e 64 4c 65 66 74  |allBlue,HandLeft|
000014a0  29 0d 05 d2 39 20 20 20  20 20 20 20 20 20 20 20  |)...9           |
000014b0  e7 20 43 79 63 6c 65 20  3e 20 44 32 20 f2 5f 53  |. Cycle > D2 ._S|
000014c0  65 74 42 61 6c 6c 28 42  61 6c 6c 47 72 65 65 6e  |etBall(BallGreen|
000014d0  2c 48 61 6e 64 4c 65 66  74 29 0d 05 dc 38 20 20  |,HandLeft)...8  |
000014e0  20 20 20 20 20 20 20 20  20 e7 20 43 79 63 6c 65  |         . Cycle|
000014f0  20 3e 20 44 33 20 f2 5f  53 65 74 42 61 6c 6c 28  | > D3 ._SetBall(|
00001500  42 61 6c 6c 43 79 61 6e  2c 48 61 6e 64 4c 65 66  |BallCyan,HandLef|
00001510  74 29 0d 05 e6 3b 20 20  20 20 20 20 20 20 20 20  |t)...;          |
00001520  20 e7 20 43 79 63 6c 65  20 3e 20 44 34 20 f2 5f  | . Cycle > D4 ._|
00001530  53 65 74 42 61 6c 6c 28  42 61 6c 6c 4d 61 67 65  |SetBall(BallMage|
00001540  6e 74 61 2c 48 61 6e 64  4c 65 66 74 29 0d 05 f0  |nta,HandLeft)...|
00001550  3a 20 20 20 20 20 20 20  20 20 20 20 e7 20 43 79  |:           . Cy|
00001560  63 6c 65 20 3e 20 44 35  20 f2 5f 53 65 74 42 61  |cle > D5 ._SetBa|
00001570  6c 6c 28 42 61 6c 6c 59  65 6c 6c 6f 77 2c 48 61  |ll(BallYellow,Ha|
00001580  6e 64 4c 65 66 74 29 0d  05 fa 38 20 20 20 20 20  |ndLeft)...8     |
00001590  20 20 20 20 20 20 e7 20  43 79 63 6c 65 20 3e 20  |      . Cycle > |
000015a0  44 36 20 f2 5f 53 65 74  42 61 6c 6c 28 42 61 6c  |D6 ._SetBall(Bal|
000015b0  6c 52 65 64 31 2c 48 61  6e 64 4c 65 66 74 29 0d  |lRed1,HandLeft).|
000015c0  06 04 39 20 20 20 20 20  20 20 20 20 20 20 e7 20  |..9           . |
000015d0  43 79 63 6c 65 20 3e 20  44 37 20 f2 5f 53 65 74  |Cycle > D7 ._Set|
000015e0  42 61 6c 6c 28 42 61 6c  6c 42 6c 75 65 31 2c 48  |Ball(BallBlue1,H|
000015f0  61 6e 64 4c 65 66 74 29  0d 06 0e 3a 20 20 20 20  |andLeft)...:    |
00001600  20 20 20 20 20 20 20 e7  20 43 79 63 6c 65 20 3e  |       . Cycle >|
00001610  20 44 38 20 f2 5f 53 65  74 42 61 6c 6c 28 42 61  | D8 ._SetBall(Ba|
00001620  6c 6c 47 72 65 65 6e 31  2c 48 61 6e 64 4c 65 66  |llGreen1,HandLef|
00001630  74 29 0d 06 18 0d 20 20  20 20 20 20 20 20 cd 0d  |t)....        ..|
00001640  06 22 1d 20 20 20 20 20  20 20 20 f2 5f 53 68 6f  |.".        ._Sho|
00001650  77 28 53 74 79 6c 65 24  2c 49 25 29 0d 06 2c 0f  |w(Style$,I%)..,.|
00001660  20 20 20 20 20 20 20 ed  20 49 25 0d 06 36 0b 20  |       . I%..6. |
00001670  20 20 20 20 20 e1 0d 06  40 5c f4 2d 2d 2d 2d 2d  |     ...@\.-----|
00001680  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000016d0  2d 2d 0d 06 4a 1d 20 20  20 20 20 20 dd 20 f2 5f  |--..J.      . ._|
000016e0  53 68 6f 77 28 53 74 79  6c 65 24 2c 49 25 29 0d  |Show(Style$,I%).|
000016f0  06 54 0c 20 20 20 20 20  20 20 da 0d 06 5e 21 20  |.T.       ...^! |
00001700  20 20 20 20 20 20 e3 20  4f 62 6a 65 63 74 20 3d  |      . Object =|
00001710  20 30 20 b8 20 4d 61 78  42 61 6c 6c 0d 06 68 20  | 0 . MaxBall..h |
00001720  20 20 20 20 20 20 20 20  4f 25 20 3d 20 42 2b 4f  |        O% = B+O|
00001730  62 6a 65 63 74 2a 52 6f  77 4c 65 6e 0d 06 72 30  |bject*RowLen..r0|
00001740  20 20 20 20 20 20 20 20  c8 99 20 43 54 53 47 25  |        .. CTSG%|
00001750  2c 21 28 4f 25 2b 52 6f  77 52 47 42 29 2c 2c 2c  |,!(O%+RowRGB),,,|
00001760  25 31 30 30 30 30 30 30  30 30 2c 30 0d 06 7c 25  |%100000000,0..|%|
00001770  20 20 20 20 20 20 20 20  78 3d 21 28 4f 25 2b 52  |        x=!(O%+R|
00001780  6f 77 58 29 3a 79 3d 21  28 4f 25 2b 52 6f 77 59  |owX):y=!(O%+RowY|
00001790  29 0d 06 86 1e 20 20 20  20 20 20 20 20 c8 8e 20  |)....        .. |
000017a0  21 28 4f 25 2b 52 6f 77  54 79 70 65 29 20 ca 0d  |!(O%+RowType) ..|
000017b0  06 90 2e 20 20 20 20 20  20 20 20 20 c9 20 30 3a  |...         . 0:|
000017c0  21 28 4f 25 2b 52 6f 77  58 29 2b 3d 48 61 6e 64  |!(O%+RowX)+=Hand|
000017d0  49 6e 63 2a b5 b2 28 43  79 63 6c 65 29 0d 06 9a  |Inc*..(Cycle)...|
000017e0  2d 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |-               |
000017f0  20 20 20 20 20 20 21 28  4f 25 2b 52 6f 77 59 29  |      !(O%+RowY)|
00001800  3d 48 61 6e 64 4c 65 66  74 59 0d 06 9a 26 20 20  |=HandLeftY...&  |
00001810  20 20 20 20 20 20 20 20  20 20 20 20 20 20 c8 8f  |              ..|
00001820  20 c8 90 20 78 2d 36 30  2c 79 2d 31 30 2c 31 32  | .. x-60,y-10,12|
00001830  0d 06 a4 26 20 20 20 20  20 20 20 20 20 20 20 20  |...&            |
00001840  20 20 20 20 c8 8f 20 c8  90 20 78 2d 34 30 2c 79  |    .. .. x-40,y|
00001850  2d 33 35 2c 31 30 0d 06  ae 26 20 20 20 20 20 20  |-35,10...&      |
00001860  20 20 20 20 20 20 20 20  20 20 c8 8f 20 c8 90 20  |          .. .. |
00001870  78 2d 31 35 2c 79 2d 34  32 2c 31 30 0d 06 b8 26  |x-15,y-42,10...&|
00001880  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001890  c8 8f 20 c8 90 20 78 2b  31 30 2c 79 2d 34 32 2c  |.. .. x+10,y-42,|
000018a0  31 30 0d 06 c2 25 20 20  20 20 20 20 20 20 20 20  |10...%          |
000018b0  20 20 20 20 20 20 c8 8f  20 c8 90 20 78 2b 33 30  |      .. .. x+30|
000018c0  2c 79 2d 33 30 2c 38 0d  06 cc 2e 20 20 20 20 20  |,y-30,8....     |
000018d0  20 20 20 20 c9 20 31 3a  21 28 4f 25 2b 52 6f 77  |    . 1:!(O%+Row|
000018e0  58 29 2d 3d 48 61 6e 64  49 6e 63 2a b5 b2 28 43  |X)-=HandInc*..(C|
000018f0  79 63 6c 65 29 0d 06 d6  2e 20 20 20 20 20 20 20  |ycle)....       |
00001900  20 20 20 20 20 20 20 20  20 20 20 20 20 20 21 28  |              !(|
00001910  4f 25 2b 52 6f 77 59 29  3d 48 61 6e 64 52 69 67  |O%+RowY)=HandRig|
00001920  68 74 59 0d 06 d6 25 20  20 20 20 20 20 20 20 20  |htY...%         |
00001930  20 20 20 20 20 20 20 c8  8f 20 c8 90 20 78 2d 35  |       .. .. x-5|
00001940  30 2c 79 2d 33 30 2c 38  0d 06 e0 26 20 20 20 20  |0,y-30,8...&    |
00001950  20 20 20 20 20 20 20 20  20 20 20 20 c8 8f 20 c8  |            .. .|
00001960  90 20 78 2d 33 30 2c 79  2d 33 35 2c 31 30 0d 06  |. x-30,y-35,10..|
00001970  ea 25 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.%              |
00001980  20 20 c8 8f 20 c8 90 20  78 2d 35 2c 79 2d 34 32  |  .. .. x-5,y-42|
00001990  2c 31 30 0d 06 f4 26 20  20 20 20 20 20 20 20 20  |,10...&         |
000019a0  20 20 20 20 20 20 20 c8  8f 20 c8 90 20 78 2b 32  |       .. .. x+2|
000019b0  30 2c 79 2d 34 32 2c 31  30 0d 06 fe 26 20 20 20  |0,y-42,10...&   |
000019c0  20 20 20 20 20 20 20 20  20 20 20 20 20 c8 8f 20  |             .. |
000019d0  c8 90 20 78 2b 34 30 2c  79 2d 32 30 2c 31 32 0d  |.. x+40,y-20,12.|
000019e0  07 08 28 20 20 20 20 20  20 20 20 20 c9 20 32 3a  |..(         . 2:|
000019f0  c8 8f 20 c8 90 20 78 2c  79 2c 21 28 4f 25 2b 52  |.. .. x,y,!(O%+R|
00001a00  6f 77 53 69 7a 65 29 0d  07 12 0d 20 20 20 20 20  |owSize)....     |
00001a10  20 20 20 cb 0d 07 1c 13  20 20 20 20 20 20 20 ed  |   .....       .|
00001a20  20 4f 62 6a 65 63 74 0d  07 26 4e 20 20 20 20 20  | Object..&N     |
00001a30  20 20 f1 20 8a 31 2c 32  29 3b 22 54 68 69 73 20  |  . .1,2);"This |
00001a40  69 73 20 61 20 22 3b 42  61 6c 6c 43 6f 75 6e 74  |is a ";BallCount|
00001a50  3b 22 20 62 61 6c 6c 20  22 3b 53 74 79 6c 65 24  |;" ball ";Style$|
00001a60  3b 22 20 63 6f 75 6e 74  20 3d 20 22 3b 49 25 3b  |;" count = ";I%;|
00001a70  22 20 20 20 22 0d 07 30  14 20 20 20 20 20 20 20  |"   "..0.       |
00001a80  e7 20 42 41 4e 4b 53 20  8c 0d 07 3a 23 20 20 20  |. BANKS ...:#   |
00001a90  20 20 20 20 20 20 c8 99  20 22 4f 53 5f 42 79 74  |      .. "OS_Byt|
00001aa0  65 22 2c 31 31 32 2c 42  41 4e 4b 31 0d 07 44 23  |e",112,BANK1..D#|
00001ab0  20 20 20 20 20 20 20 20  20 c8 99 20 22 4f 53 5f  |         .. "OS_|
00001ac0  42 79 74 65 22 2c 31 31  33 2c 42 41 4e 4b 32 0d  |Byte",113,BANK2.|
00001ad0  07 4e 1b 20 20 20 20 20  20 20 20 20 c8 94 20 42  |.N.         .. B|
00001ae0  41 4e 4b 31 2c 42 41 4e  4b 32 0d 07 58 0c 20 20  |ANK1,BANK2..X.  |
00001af0  20 20 20 20 20 cd 0d 07  62 0b 20 20 20 20 20 20  |     ...b.      |
00001b00  e1 0d 07 6c 5e f4 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |...l^.----------|
00001b10  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00001b50  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 0d  |---------------.|
00001b60  07 76 1e f4 20 49 4e 49  54 49 41 4c 49 53 41 54  |.v.. INITIALISAT|
00001b70  49 4f 4e 20 50 52 4f 43  45 44 55 52 45 0d 07 80  |ION PROCEDURE...|
00001b80  04 0d 07 8a 10 20 20 20  20 dd 20 f2 5f 49 4e 49  |.....    . ._INI|
00001b90  54 0d 07 94 04 0d 07 9e  15 20 20 20 20 20 f2 5f  |T........     ._|
00001ba0  52 6f 77 4d 65 74 72 69  63 73 0d 07 a8 17 20 20  |RowMetrics....  |
00001bb0  20 20 20 de 20 20 42 20  32 30 2a 52 6f 77 4c 65  |   .  B 20*RowLe|
00001bc0  6e 0d 07 b2 16 20 20 20  20 20 4d 61 78 42 61 6c  |n....     MaxBal|
00001bd0  6c 20 20 20 3d 20 30 0d  07 bc 04 0d 07 c6 43 20  |l   = 0.......C |
00001be0  20 20 20 20 c8 99 20 22  4f 53 5f 53 57 49 4e 75  |    .. "OS_SWINu|
00001bf0  6d 62 65 72 46 72 6f 6d  53 74 72 69 6e 67 22 2c  |mberFromString",|
00001c00  2c 22 43 6f 6c 6f 75 72  54 72 61 6e 73 5f 53 65  |,"ColourTrans_Se|
00001c10  74 47 43 4f 4c 22 20 b8  20 43 54 53 47 25 0d 07  |tGCOL" . CTSG%..|
00001c20  d0 2d 20 20 20 20 20 c8  99 20 22 4f 53 5f 52 65  |.-     .. "OS_Re|
00001c30  61 64 4d 6f 64 65 56 61  72 69 61 62 6c 65 22 2c  |adModeVariable",|
00001c40  2d 31 2c 31 31 20 b8 20  2c 2c 78 0d 07 da 2d 20  |-1,11 . ,,x...- |
00001c50  20 20 20 20 c8 99 20 22  4f 53 5f 52 65 61 64 4d  |    .. "OS_ReadM|
00001c60  6f 64 65 56 61 72 69 61  62 6c 65 22 2c 2d 31 2c  |odeVariable",-1,|
00001c70  31 32 20 b8 20 2c 2c 79  0d 07 e4 2d 20 20 20 20  |12 . ,,y...-    |
00001c80  20 c8 99 20 22 4f 53 5f  52 65 61 64 4d 6f 64 65  | .. "OS_ReadMode|
00001c90  56 61 72 69 61 62 6c 65  22 2c 2d 31 2c 34 20 b8  |Variable",-1,4 .|
00001ca0  20 2c 2c 65 78 0d 07 ee  2d 20 20 20 20 20 c8 99  | ,,ex...-     ..|
00001cb0  20 22 4f 53 5f 52 65 61  64 4d 6f 64 65 56 61 72  | "OS_ReadModeVar|
00001cc0  69 61 62 6c 65 22 2c 2d  31 2c 35 20 b8 20 2c 2c  |iable",-1,5 . ,,|
00001cd0  65 79 0d 07 f8 2f 20 20  20 20 20 4d 61 78 57 69  |ey.../     MaxWi|
00001ce0  64 74 68 3d 28 78 2b 31  29 3c 3c 65 78 3a 4d 61  |dth=(x+1)<<ex:Ma|
00001cf0  78 48 65 69 67 68 74 3d  28 79 2b 31 29 3c 3c 65  |xHeight=(y+1)<<e|
00001d00  79 0d 08 02 04 0d 08 0c  19 20 20 20 20 20 52 65  |y........     Re|
00001d10  64 20 20 20 20 20 3d 20  32 35 35 3c 3c 38 0d 08  |d     = 255<<8..|
00001d20  16 1a 20 20 20 20 20 47  72 65 65 6e 20 20 20 3d  |..     Green   =|
00001d30  20 32 35 35 3c 3c 31 36  0d 08 20 1a 20 20 20 20  | 255<<16.. .    |
00001d40  20 42 6c 75 65 20 20 20  20 3d 20 32 35 35 3c 3c  | Blue    = 255<<|
00001d50  32 34 0d 08 2a 2a 20 20  20 20 20 50 69 6e 6b 20  |24..**     Pink |
00001d60  20 20 20 3d 20 52 65 64  20 84 20 31 30 30 3c 3c  |   = Red . 100<<|
00001d70  31 36 20 84 20 31 30 30  3c 3c 32 34 0d 08 34 1e  |16 . 100<<24..4.|
00001d80  20 20 20 20 20 59 65 6c  6c 6f 77 20 20 3d 20 52  |     Yellow  = R|
00001d90  65 64 20 84 20 47 72 65  65 6e 0d 08 3e 1f 20 20  |ed . Green..>.  |
00001da0  20 20 20 43 79 61 6e 20  20 20 20 3d 20 47 72 65  |   Cyan    = Gre|
00001db0  65 6e 20 84 20 42 6c 75  65 0d 08 48 1d 20 20 20  |en . Blue..H.   |
00001dc0  20 20 4d 61 67 65 6e 74  61 20 3d 20 52 65 64 20  |  Magenta = Red |
00001dd0  84 20 42 6c 75 65 0d 08  52 25 20 20 20 20 20 57  |. Blue..R%     W|
00001de0  68 69 74 65 20 20 20 3d  20 52 65 64 20 84 20 47  |hite   = Red . G|
00001df0  72 65 65 6e 20 84 20 42  6c 75 65 0d 08 5c 04 0d  |reen . Blue..\..|
00001e00  08 66 20 20 20 20 20 20  42 41 4e 4b 31 3d 31 3a  |.f      BANK1=1:|
00001e10  42 41 4e 4b 32 3d 32 3a  42 41 4e 4b 53 3d b9 0d  |BANK2=2:BANKS=..|
00001e20  08 70 11 20 20 20 20 20  eb 20 32 38 2b 31 32 38  |.p.     . 28+128|
00001e30  0d 08 7a 0e 20 20 20 20  20 e6 20 31 32 38 0d 08  |..z.     . 128..|
00001e40  84 0a 20 20 20 20 20 da  0d 08 8e 09 20 20 20 20  |..     .....    |
00001e50  e1 0d 08 98 04 0d 08 a2  5e f4 2d 2d 2d 2d 2d 2d  |........^.------|
00001e60  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00001eb0  2d 2d 2d 0d 08 ac 16 20  20 20 20 dd 20 f2 5f 52  |---....    . ._R|
00001ec0  6f 77 4d 65 74 72 69 63  73 0d 08 b6 12 f4 20 52  |owMetrics..... R|
00001ed0  65 61 6c 20 6e 75 6d 62  65 72 73 0d 08 c0 17 20  |eal numbers.... |
00001ee0  20 20 20 20 52 6f 77 58  20 20 20 20 20 20 20 3d  |    RowX       =|
00001ef0  20 30 0d 08 ca 17 20 20  20 20 20 52 6f 77 59 20  | 0....     RowY |
00001f00  20 20 20 20 20 20 3d 20  38 0d 08 d4 0e f4 20 49  |      = 8..... I|
00001f10  6e 74 65 67 65 72 73 0d  08 de 18 20 20 20 20 20  |ntegers....     |
00001f20  52 6f 77 52 47 42 20 20  20 20 20 3d 20 31 36 0d  |RowRGB     = 16.|
00001f30  08 e8 18 20 20 20 20 20  52 6f 77 53 69 7a 65 20  |...     RowSize |
00001f40  20 20 20 3d 20 32 30 0d  08 f2 18 20 20 20 20 20  |   = 20....     |
00001f50  52 6f 77 53 70 65 65 64  20 20 20 3d 20 32 34 0d  |RowSpeed   = 24.|
00001f60  08 fc 55 20 20 20 20 20  52 6f 77 54 79 70 65 20  |..U     RowType |
00001f70  20 20 20 3d 20 32 38 20  20 20 20 20 20 20 20 20  |   = 28         |
00001f80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001f90  3a f4 20 30 3d 4c 65 66  74 20 48 61 6e 64 2c 20  |:. 0=Left Hand, |
00001fa0  31 3d 52 69 67 68 74 48  61 6e 64 2c 32 20 3d 20  |1=RightHand,2 = |
00001fb0  62 61 6c 6c 0d 09 06 18  20 20 20 20 20 52 6f 77  |ball....     Row|
00001fc0  43 6f 75 6e 74 20 20 20  3d 20 33 32 0d 09 10 18  |Count   = 32....|
00001fd0  20 20 20 20 20 52 6f 77  48 65 69 67 68 74 20 20  |     RowHeight  |
00001fe0  3d 20 33 36 0d 09 1a 18  20 20 20 20 20 52 6f 77  |= 36....     Row|
00001ff0  57 68 65 72 65 20 20 20  3d 20 34 30 0d 09 24 18  |Where   = 40..$.|
00002000  20 20 20 20 20 52 6f 77  42 61 6c 6c 20 20 20 20  |     RowBall    |
00002010  3d 20 34 34 0d 09 2e 18  20 20 20 20 20 52 6f 77  |= 44....     Row|
00002020  46 72 6f 6d 20 20 20 20  3d 20 34 38 0d 09 38 18  |From    = 48..8.|
00002030  20 20 20 20 20 52 6f 77  54 6f 20 20 20 20 20 20  |     RowTo      |
00002040  3d 20 35 32 0d 09 42 18  20 20 20 20 20 52 6f 77  |= 52..B.     Row|
00002050  53 74 61 74 20 20 20 20  3d 20 35 36 0d 09 4c 18  |Stat    = 56..L.|
00002060  20 20 20 20 20 52 6f 77  4c 65 6e 20 20 20 20 20  |     RowLen     |
00002070  3d 20 36 30 0d 09 56 04  0d 09 60 1e 20 20 20 20  |= 60..V...`.    |
00002080  20 52 6f 77 57 6f 72 64  73 20 20 20 3d 20 52 6f  | RowWords   = Ro|
00002090  77 4c 65 6e 2f 34 0d 09  6a 04 0d 09 74 09 20 20  |wLen/4..j...t.  |
000020a0  20 20 e1 0d ff                                    |  ...|
000020a5