Home » Archimedes archive » Archimedes World » AW-1991-04.adf » April91 » !AWApr91/Goodies/Morph/!PlayMorph/MORPH

!AWApr91/Goodies/Morph/!PlayMorph/MORPH

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 » Archimedes World » AW-1991-04.adf » April91
Filename: !AWApr91/Goodies/Morph/!PlayMorph/MORPH
Read OK:
File size: 1247 bytes
Load address: 0000
Exec address: 0000
Duplicates

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

File contents
   10 REM>MORPH
   20 
   30 REM    'metaMORPHosis' (C) S.S.Pardesi  1988
   40 
   50 ON ERROR MODE0:REPORT:PRINT " AT LINE ";ERL:END
   60 PROCsetup_screen
   70
   80 PROCinst
   90 PROCinitialise_variables
  100 PROCmenu
  110 END
  120 
  130 DEFPROCdraw_new_pics
  140 PROCinitialise_screen
  150 PROCdraw_first
  160 PROCdraw_second
  170 PROCcalculate_a_bit
  180 OK=TRUE
  190 ENDPROC
  200 
  210 DEFPROCinitialise_variables
  220 NP%=300
  230 DIM X%(NP%),Y%(NP%),A%(NP%),B%(NP%)
  240 DIM XI(NP%),YI(NP%)
  250 DEL%=20
  260 SEC%=100
  270 CNT%=0:FCNT%=0
  280 AS%=1
  290 ENDPROC
  300 
  310 DEFPROCinitialise_screen
  320 PROCsetup_screen
  330 MOUSE ON
  340 MOUSE RECTANGLE 0,0,1279,850
  350 RECTANGLE 0,0,1279,850
  360 CNT%=0:FCNT%=0
  370 AS%=1
  380 ENDPROC
  390 
  400 DEFPROCdraw_first
  410PRINT "LEFT : Place Point         MIDDLE : Erase Previous Points         RIGHT : Exit"
  420PRINT TAB(25,3) "Points so far plotted (Max ";NP%;") : "
  430 REPEAT:MOUSE X%,Y%,Z%:UNTIL Z%=0
  440 REPEAT
  450 MOUSE XPOS%,YPOS%,BUT%
  460IF BUT%=4 THEN PROCdraw_line(X%(),Y%(),59)
  470IF CNT%>0 AND BUT%=2 THEN PROCerase(X%(),Y%(),59)
  480UNTIL BUT%=1 OR CNT%=NP%
  490 IF CNT%=0 THEN 440
  500 FCNT%=CNT%
  510 ENDPROC
  520 
  530 DEFPROCdraw_second
  540 CLS
  550 RECTANGLE 0,0,1279,850
  560PRINT "LEFT : Place Point         MIDDLE : Erase Previous Points         AUTOMATIC EXIT"
  570 PRINT TAB(7,3) "Points in FIRST picture : ";FCNT%
  580 PRINT TAB(43,3) "Points in SECOND picture : "
  590 REPEAT:MOUSE X%,Y%,Z%:UNTIL Z%=0
  600 CNT%=0
  610 REPEAT
  620 MOUSE XPOS%,YPOS%,BUT%
  630 IF BUT%=4 THEN PROCdraw_line(A%(),B%(),70)
  640 IF CNT%>0 AND BUT%=2 THEN PROCerase(A%(),B%(),70)
  650 UNTIL CNT%=FCNT%
  660 ENDPROC
  670
  680 DEFPROCcalculate_a_bit
  690 FOR I%=1 TO CNT%
  700 XI(I%)=(X%(I%)-A%(I%))/SEC%
  710 YI(I%)=(Y%(I%)-B%(I%))/SEC%
  720 NEXT I%
  730 ENDPROC
  740 
  750 DEFPROCanimate(BE%,EN%,SP%)
  760 FOR I%=BE% TO EN%-1 STEP SP%
  770 BANK%=BANK% EOR 3:SYS 6,112,BANK%:CLS
  780 MOVE A%(1)+(XI(1)*I%),B%(1)+(YI(1)*I%)
  790 FOR J%=1 TO CNT%
  800 DRAW A%(J%)+(XI(J%)*I%),B%(J%)+(YI(J%)*I%)
  810 NEXT J%
  820 SYS 6,113,BANK%:WAIT
  830MOUSE XPOS%,YPOS%,BUT%:IF BUT%=1 EXIT=TRUE:ENDPROC
  840 NEXT I%
  850 A$=INKEY$(25)
  860 ENDPROC
  870 
  880 DEFPROCinst
  890 PRINT
  900 PRINT TAB(30) "metaMORPHosis ver 1.0"
  910 PRINT
  920 PRINT TAB(30) "(C) S.S.Pardesi  1988"
  930PRINT
  940 PRINT
  950 PRINT "This program allows the user to draw two wire frame pictures which the computer"
  960 PRINT
  970 PRINT "then animates by transforming the first picture into the second."
  980 PRINT
  990 PRINT
 1000 PRINT TAB(25) "* * PRESS ANY KEY TO CONTINUE * *"
 1010 A$=GET$
 1020 ENDPROC
 1030 
 1040 DEFPROCdisplay
 1050 EXIT=FALSE
 1060 MOUSE OFF
 1070 REPEAT
 1080 PROCanimate(1,SEC%,ABS(AS%))
 1090 PROCanimate(SEC%,2,ABS(AS%)*(-1))
 1100 UNTIL EXIT=TRUE
 1110 MOUSE ON
 1120 OK=TRUE
 1130 ENDPROC
 1140 
 1150 DEFPROCerase(QA%(),WS%(),TAB%)
 1160 GCOL 0
 1170 MOVE QA%(CNT%-1),WS%(CNT%-1)
 1180 DRAW QA%(CNT%),WS%(CNT%)
 1190 GCOL 1
 1200 MOVE QA%(CNT%-1),WS%(CNT%-1)
 1210 CNT%-=1
 1220 PRINT TAB(TAB%,3);CNT%;"  ";
 1230 A$=INKEY$(30)
 1240 ENDPROC
 1250 
 1260 DEFPROCdraw_line(QA%(),WS%(),TAB%)
 1270 CNT%+=1
 1280 IF CNT%=1 THEN MOVE XPOS%,YPOS%
 1290 QA%(CNT%)=XPOS%:WS%(CNT%)=YPOS%
 1300 DRAW XPOS%,YPOS%
 1310 PRINT TAB(TAB%,3);CNT%
 1320 A$=INKEY$(DEL%)
 1330 ENDPROC
 1340 
 1350 DEFPROCmenu
 1360 REPEAT
 1370 OK=FALSE
 1380 PROCsetup_screen
 1390 MOUSE ON
 1400 PRINT TAB(0,0) "ANIMATE PICS.","CHANGE ANIMATION SPEED","ALTER PLOTTING SENSITIVITY"
 1410 PRINT TAB(0,2) "SAVE PICTURES","   LOAD PICTURES","    DRAW NEW PICTURES","  QUIT"
 1420 MOUSE RECTANGLE 0,925,1279,98
 1430 REPEAT
 1440 MOUSE X%,Y%,Z%
 1450 IF FNrec(0,990,210,32) AND CNT%>0 THEN PROCdisplay
 1460 IF FNrec(315,992,357,32) AND CNT%>0 THEN PROCalter_speed
 1470 IF FNrec(800,992,1220,32) THEN PROCalter_plotting
 1480 IF FNrec(0,930,210,32) AND CNT%>0 THEN PROCsave_pics
 1490 IF FNrec(385,930,210,32) THEN PROCload_pics
 1500 IF FNrec(704,930,276,32) THEN PROCdraw_new_pics
 1510 IF FNrec(1150,930,1220,32) THEN PROCquit
 1520 UNTIL OK
 1530 UNTIL FALSE
 1540 
 1550 DEFFNrec(XC%,YC%,WC%,HC%)=X%>XC% AND X%<XC%+WC% AND Y%>YC% AND Y%<YC%+HC% AND Z%=4
 1560 ENDPROC
 1570 
 1580 DEFPROCquit
 1590 MODE 0
 1600 END
 1610 ENDPROC
 1620 
 1630 DEFPROCalter_plotting
 1640 PROCsetup_screen
 1650 PRINT TAB(0,0)"LEFT : Decrease Sensitivity"," MIDDLE : Increase Sensitivity","    RIGHT : Exit"
 1660 PRINT TAB(23,3)"Current Sensitivity (0-45) : ";50-DEL%
 1670 REPEAT:MOUSE X%,Y%,Z%:UNTIL Z%=0
 1680 REPEAT
 1690 MOUSE X%,Y%,Z%
 1700 IF Z%=4 AND DEL%<50 DEL%+=1
 1710 IF Z%=2 AND DEL%>5 DEL%-=1
 1720 PRINT TAB(52,3);50-DEL%;"  "
 1730 A$=INKEY$(7)
 1740 UNTIL Z%=1
 1750 OK=TRUE
 1760 ENDPROC
 1770 
 1780 DEFPROCalter_speed
 1790 PROCsetup_screen
 1800 PRINT TAB(0,0)"LEFT : Decrease Speed"," MIDDLE : Increase Speed","   RIGHT : Exit"
 1810 PRINT TAB(26,3)"Current Speed (1-";CNT%;") : ";AS%;"  "
 1820 REPEAT:MOUSE X%,Y%,Z%:UNTIL Z%=0
 1830 REPEAT
 1840 MOUSE X%,Y%,Z%
 1850 IF Z%=2 AND AS%<CNT% AS%+=1
 1860 IF Z%=4 AND AS%>1 AS%-=1
 1870 PRINT TAB(48,3);" ";AS%;"  "
 1880 A$=INKEY$(15)
 1890 UNTIL Z%=1
 1900 OK=TRUE
 1910 ENDPROC
 1920 
 1930 DEFPROCsave_pics
 1940 PROCget_filename("SAVE")
 1950 IF F$="" THEN OK=TRUE:ENDPROC
 1960 A=OPENOUT F$
 1970 PRINT# A,CNT%
 1980 FOR I%=1 TO CNT%
 1990 PRINT# A,X%(I%),Y%(I%),A%(I%),B%(I%)
 2000 NEXT I%
 2010 CLOSE# A
 2020 OK=TRUE
 2030 ENDPROC
 2040 
 2050 DEFPROCload_pics
 2060 PROCget_filename("LOAD")
 2070 IF F$="" THEN OK=TRUE:ENDPROC
 2080 A=OPENIN F$
 2090 INPUT# A,CNT%
 2100 FOR I%=1 TO CNT%
 2110 INPUT# A,X%(I%),Y%(I%),A%(I%),B%(I%)
 2120 NEXT I%
 2130 CLOSE# A
 2140 PROCcalculate_a_bit
 2150 AS%=1
 2160 OK=TRUE
 2170 ENDPROC
 2180 
 2190 DEFPROCsetup_screen
 2200 MODE 0
 2210 OFF
 2220 ENDPROC
 2230 
 2240 DEFPROCget_filename(M$)
 2250 REPEAT
 2260 PROCsetup_screen
 2270 PRINT TAB(0,0);"Enter filename to ";M$
 2280 PRINT TAB(0,4)
 2290 *MOUNT
 2300 *CAT
 2310 INPUT TAB(0,2) "Filename (Max 10 characters) : ";F$
 2320 UNTIL LEN(F$)<11
 2330 ENDPROC

 �>MORPH
 
/ �    'metaMORPHosis' (C) S.S.Pardesi  1988
( 
2 � � �0:�:� " AT LINE ";�:�
< �setup_screen
F
P
 �inst
Z �initialise_variables
d
 �menu
n �
x 
� ��draw_new_pics
� �initialise_screen
� �draw_first
� �draw_second
� �calculate_a_bit
�	 OK=�
� �
� 
� ��initialise_variables
� NP%=300
�& � X%(NP%),Y%(NP%),A%(NP%),B%(NP%)
� � XI(NP%),YI(NP%)
� DEL%=20

 SEC%=100
 CNT%=0:FCNT%=0

 AS%=1
" �
, 
6 ��initialise_screen
@ �setup_screen
J	 ȗ �
T ȗ ȓ 0,0,1279,850
^ ȓ 0,0,1279,850
h CNT%=0:FCNT%=0
r
 AS%=1
| �
� 
� ��draw_first
�V� "LEFT : Place Point         MIDDLE : Erase Previous Points         RIGHT : Exit"
�5� �25,3) "Points so far plotted (Max ";NP%;") : "
� �:ȗ X%,Y%,Z%:� Z%=0
� �
� ȗ XPOS%,YPOS%,BUT%
�'� BUT%=4 � �draw_line(X%(),Y%(),59)
�,� CNT%>0 � BUT%=2 � �erase(X%(),Y%(),59)
�� BUT%=1 � CNT%=NP%
� � CNT%=0 � �txA
� FCNT%=CNT%
� �
 
 ��draw_second
 �
& ȓ 0,0,1279,850
0X� "LEFT : Place Point         MIDDLE : Erase Previous Points         AUTOMATIC EXIT"
:/ � �7,3) "Points in FIRST picture : ";FCNT%
D+ � �43,3) "Points in SECOND picture : "
N �:ȗ X%,Y%,Z%:� Z%=0
X CNT%=0
b �
l ȗ XPOS%,YPOS%,BUT%
v( � BUT%=4 � �draw_line(A%(),B%(),70)
�- � CNT%>0 � BUT%=2 � �erase(A%(),B%(),70)
� � CNT%=FCNT%
� �
�
� ��calculate_a_bit
� � I%=1 � CNT%
�  XI(I%)=(X%(I%)-A%(I%))/SEC%
�  YI(I%)=(Y%(I%)-B%(I%))/SEC%
�	 � I%
� �
� 
� ��animate(BE%,EN%,SP%)
� � I%=BE% � EN%-1 � SP%
% BANK%=BANK% � 3:ș 6,112,BANK%:�
( � A%(1)+(XI(1)*I%),B%(1)+(YI(1)*I%)
 � J%=1 � CNT%
 , � A%(J%)+(XI(J%)*I%),B%(J%)+(YI(J%)*I%)
*	 � J%
4 ș 6,113,BANK%:Ȗ
>)ȗ XPOS%,YPOS%,BUT%:� BUT%=1 EXIT=�:�
H	 � I%
R
 A$=�(25)
\ �
f 
p ��inst
z �
�# � �30) "metaMORPHosis ver 1.0"
� �
�# � �30) "(C) S.S.Pardesi  1988"
��
� �
�X � "This program allows the user to draw two wire frame pictures which the computer"
� �
�I � "then animates by transforming the first picture into the second."
� �
� �
�/ � �25) "* * PRESS ANY KEY TO CONTINUE * *"
�	 A$=�
� �
 
 ��display
 EXIT=�
$	 ȗ �
. �
8 �animate(1,SEC%,�(AS%))
B! �animate(SEC%,2,�(AS%)*(-1))
L
 � EXIT=�
V	 ȗ �
`	 OK=�
j �
t 
~ ��erase(QA%(),WS%(),TAB%)
� � 0
� � QA%(CNT%-1),WS%(CNT%-1)
� � QA%(CNT%),WS%(CNT%)
� � 1
� � QA%(CNT%-1),WS%(CNT%-1)
� CNT%-=1
� � �TAB%,3);CNT%;"  ";
�
 A$=�(30)
� �
� 
�" ��draw_line(QA%(),WS%(),TAB%)
� CNT%+=1
 � CNT%=1 � � XPOS%,YPOS%

$ QA%(CNT%)=XPOS%:WS%(CNT%)=YPOS%
 � XPOS%,YPOS%
 � �TAB%,3);CNT%
( A$=�(DEL%)
2 �
< 
F ��menu
P �
Z	 OK=�
d �setup_screen
n	 ȗ �
xR � �0,0) "ANIMATE PICS.","CHANGE ANIMATION SPEED","ALTER PLOTTING SENSITIVITY"
�P � �0,2) "SAVE PICTURES","   LOAD PICTURES","    DRAW NEW PICTURES","  QUIT"
� ȗ ȓ 0,925,1279,98
� �
� ȗ X%,Y%,Z%
�- � �rec(0,990,210,32) � CNT%>0 � �display
�3 � �rec(315,992,357,32) � CNT%>0 � �alter_speed
�. � �rec(800,992,1220,32) � �alter_plotting
�/ � �rec(0,930,210,32) � CNT%>0 � �save_pics
�( � �rec(385,930,210,32) � �load_pics
�, � �rec(704,930,276,32) � �draw_new_pics
�% � �rec(1150,930,1220,32) � �quit
�	 � OK
� � �
 
L ݤrec(XC%,YC%,WC%,HC%)=X%>XC% � X%<XC%+WC% � Y%>YC% � Y%<YC%+HC% � Z%=4
 �
" 
, ��quit
6 � 0
@ �
J �
T 
^ ��alter_plotting
h �setup_screen
r] � �0,0)"LEFT : Decrease Sensitivity"," MIDDLE : Increase Sensitivity","    RIGHT : Exit"
|4 � �23,3)"Current Sensitivity (0-45) : ";50-DEL%
� �:ȗ X%,Y%,Z%:� Z%=0
� �
� ȗ X%,Y%,Z%
� � Z%=4 � DEL%<50 DEL%+=1
� � Z%=2 � DEL%>5 DEL%-=1
� � �52,3);50-DEL%;"  "
� A$=�(7)
� � Z%=1
�	 OK=�
� �
� 
� ��alter_speed
� �setup_screen
P � �0,0)"LEFT : Decrease Speed"," MIDDLE : Increase Speed","   RIGHT : Exit"
5 � �26,3)"Current Speed (1-";CNT%;") : ";AS%;"  "
 �:ȗ X%,Y%,Z%:� Z%=0
& �
0 ȗ X%,Y%,Z%
: � Z%=2 � AS%<CNT% AS%+=1
D � Z%=4 � AS%>1 AS%-=1
N � �48,3);" ";AS%;"  "
X
 A$=�(15)
b � Z%=1
l	 OK=�
v �
� 
� ��save_pics
� �get_filename("SAVE")
� � F$="" � OK=�:�
� A=� F$
� �# A,CNT%
� � I%=1 � CNT%
�% �# A,X%(I%),Y%(I%),A%(I%),B%(I%)
�	 � I%
�	 �# A
�	 OK=�
� �
� 
 ��load_pics
 �get_filename("LOAD")
 � F$="" � OK=�:�
  A=� F$
* �# A,CNT%
4 � I%=1 � CNT%
>% �# A,X%(I%),Y%(I%),A%(I%),B%(I%)
H	 � I%
R	 �# A
\ �calculate_a_bit
f
 AS%=1
p	 OK=�
z �
� 
� ��setup_screen
� � 0
� �
� �
� 
� ��get_filename(M$)
� �
� �setup_screen
�$ � �0,0);"Enter filename to ";M$
� � �0,4)
� *MOUNT
�	 *CAT
	1 � �0,2) "Filename (Max 10 characters) : ";F$
	 � �(F$)<11
	 �
�
00000000  0d 00 0a 0c 20 f4 3e 4d  4f 52 50 48 0d 00 14 05  |.... .>MORPH....|
00000010  20 0d 00 1e 2f 20 f4 20  20 20 20 27 6d 65 74 61  | .../ .    'meta|
00000020  4d 4f 52 50 48 6f 73 69  73 27 20 28 43 29 20 53  |MORPHosis' (C) S|
00000030  2e 53 2e 50 61 72 64 65  73 69 20 20 31 39 38 38  |.S.Pardesi  1988|
00000040  0d 00 28 05 20 0d 00 32  1f 20 ee 20 85 20 eb 30  |..(. ..2. . . .0|
00000050  3a f6 3a f1 20 22 20 41  54 20 4c 49 4e 45 20 22  |:.:. " AT LINE "|
00000060  3b 9e 3a e0 0d 00 3c 12  20 f2 73 65 74 75 70 5f  |;.:...<. .setup_|
00000070  73 63 72 65 65 6e 0d 00  46 04 0d 00 50 0a 20 f2  |screen..F...P. .|
00000080  69 6e 73 74 0d 00 5a 1a  20 f2 69 6e 69 74 69 61  |inst..Z. .initia|
00000090  6c 69 73 65 5f 76 61 72  69 61 62 6c 65 73 0d 00  |lise_variables..|
000000a0  64 0a 20 f2 6d 65 6e 75  0d 00 6e 06 20 e0 0d 00  |d. .menu..n. ...|
000000b0  78 05 20 0d 00 82 14 20  dd f2 64 72 61 77 5f 6e  |x. .... ..draw_n|
000000c0  65 77 5f 70 69 63 73 0d  00 8c 17 20 f2 69 6e 69  |ew_pics.... .ini|
000000d0  74 69 61 6c 69 73 65 5f  73 63 72 65 65 6e 0d 00  |tialise_screen..|
000000e0  96 10 20 f2 64 72 61 77  5f 66 69 72 73 74 0d 00  |.. .draw_first..|
000000f0  a0 11 20 f2 64 72 61 77  5f 73 65 63 6f 6e 64 0d  |.. .draw_second.|
00000100  00 aa 15 20 f2 63 61 6c  63 75 6c 61 74 65 5f 61  |... .calculate_a|
00000110  5f 62 69 74 0d 00 b4 09  20 4f 4b 3d b9 0d 00 be  |_bit.... OK=....|
00000120  06 20 e1 0d 00 c8 05 20  0d 00 d2 1b 20 dd f2 69  |. ..... .... ..i|
00000130  6e 69 74 69 61 6c 69 73  65 5f 76 61 72 69 61 62  |nitialise_variab|
00000140  6c 65 73 0d 00 dc 0c 20  4e 50 25 3d 33 30 30 0d  |les.... NP%=300.|
00000150  00 e6 26 20 de 20 58 25  28 4e 50 25 29 2c 59 25  |..& . X%(NP%),Y%|
00000160  28 4e 50 25 29 2c 41 25  28 4e 50 25 29 2c 42 25  |(NP%),A%(NP%),B%|
00000170  28 4e 50 25 29 0d 00 f0  16 20 de 20 58 49 28 4e  |(NP%).... . XI(N|
00000180  50 25 29 2c 59 49 28 4e  50 25 29 0d 00 fa 0c 20  |P%),YI(NP%).... |
00000190  44 45 4c 25 3d 32 30 0d  01 04 0d 20 53 45 43 25  |DEL%=20.... SEC%|
000001a0  3d 31 30 30 0d 01 0e 13  20 43 4e 54 25 3d 30 3a  |=100.... CNT%=0:|
000001b0  46 43 4e 54 25 3d 30 0d  01 18 0a 20 41 53 25 3d  |FCNT%=0.... AS%=|
000001c0  31 0d 01 22 06 20 e1 0d  01 2c 05 20 0d 01 36 18  |1..". ...,. ..6.|
000001d0  20 dd f2 69 6e 69 74 69  61 6c 69 73 65 5f 73 63  | ..initialise_sc|
000001e0  72 65 65 6e 0d 01 40 12  20 f2 73 65 74 75 70 5f  |reen..@. .setup_|
000001f0  73 63 72 65 65 6e 0d 01  4a 09 20 c8 97 20 ee 0d  |screen..J. .. ..|
00000200  01 54 17 20 c8 97 20 c8  93 20 30 2c 30 2c 31 32  |.T. .. .. 0,0,12|
00000210  37 39 2c 38 35 30 0d 01  5e 14 20 c8 93 20 30 2c  |79,850..^. .. 0,|
00000220  30 2c 31 32 37 39 2c 38  35 30 0d 01 68 13 20 43  |0,1279,850..h. C|
00000230  4e 54 25 3d 30 3a 46 43  4e 54 25 3d 30 0d 01 72  |NT%=0:FCNT%=0..r|
00000240  0a 20 41 53 25 3d 31 0d  01 7c 06 20 e1 0d 01 86  |. AS%=1..|. ....|
00000250  05 20 0d 01 90 11 20 dd  f2 64 72 61 77 5f 66 69  |. .... ..draw_fi|
00000260  72 73 74 0d 01 9a 56 f1  20 22 4c 45 46 54 20 3a  |rst...V. "LEFT :|
00000270  20 50 6c 61 63 65 20 50  6f 69 6e 74 20 20 20 20  | Place Point    |
00000280  20 20 20 20 20 4d 49 44  44 4c 45 20 3a 20 45 72  |     MIDDLE : Er|
00000290  61 73 65 20 50 72 65 76  69 6f 75 73 20 50 6f 69  |ase Previous Poi|
000002a0  6e 74 73 20 20 20 20 20  20 20 20 20 52 49 47 48  |nts         RIGH|
000002b0  54 20 3a 20 45 78 69 74  22 0d 01 a4 35 f1 20 8a  |T : Exit"...5. .|
000002c0  32 35 2c 33 29 20 22 50  6f 69 6e 74 73 20 73 6f  |25,3) "Points so|
000002d0  20 66 61 72 20 70 6c 6f  74 74 65 64 20 28 4d 61  | far plotted (Ma|
000002e0  78 20 22 3b 4e 50 25 3b  22 29 20 3a 20 22 0d 01  |x ";NP%;") : "..|
000002f0  ae 19 20 f5 3a c8 97 20  58 25 2c 59 25 2c 5a 25  |.. .:.. X%,Y%,Z%|
00000300  3a fd 20 5a 25 3d 30 0d  01 b8 06 20 f5 0d 01 c2  |:. Z%=0.... ....|
00000310  18 20 c8 97 20 58 50 4f  53 25 2c 59 50 4f 53 25  |. .. XPOS%,YPOS%|
00000320  2c 42 55 54 25 0d 01 cc  27 e7 20 42 55 54 25 3d  |,BUT%...'. BUT%=|
00000330  34 20 8c 20 f2 64 72 61  77 5f 6c 69 6e 65 28 58  |4 . .draw_line(X|
00000340  25 28 29 2c 59 25 28 29  2c 35 39 29 0d 01 d6 2c  |%(),Y%(),59)...,|
00000350  e7 20 43 4e 54 25 3e 30  20 80 20 42 55 54 25 3d  |. CNT%>0 . BUT%=|
00000360  32 20 8c 20 f2 65 72 61  73 65 28 58 25 28 29 2c  |2 . .erase(X%(),|
00000370  59 25 28 29 2c 35 39 29  0d 01 e0 17 fd 20 42 55  |Y%(),59)..... BU|
00000380  54 25 3d 31 20 84 20 43  4e 54 25 3d 4e 50 25 0d  |T%=1 . CNT%=NP%.|
00000390  01 ea 14 20 e7 20 43 4e  54 25 3d 30 20 8c 20 8d  |... . CNT%=0 . .|
000003a0  74 78 41 0d 01 f4 0f 20  46 43 4e 54 25 3d 43 4e  |txA.... FCNT%=CN|
000003b0  54 25 0d 01 fe 06 20 e1  0d 02 08 05 20 0d 02 12  |T%.... ..... ...|
000003c0  12 20 dd f2 64 72 61 77  5f 73 65 63 6f 6e 64 0d  |. ..draw_second.|
000003d0  02 1c 06 20 db 0d 02 26  14 20 c8 93 20 30 2c 30  |... ...&. .. 0,0|
000003e0  2c 31 32 37 39 2c 38 35  30 0d 02 30 58 f1 20 22  |,1279,850..0X. "|
000003f0  4c 45 46 54 20 3a 20 50  6c 61 63 65 20 50 6f 69  |LEFT : Place Poi|
00000400  6e 74 20 20 20 20 20 20  20 20 20 4d 49 44 44 4c  |nt         MIDDL|
00000410  45 20 3a 20 45 72 61 73  65 20 50 72 65 76 69 6f  |E : Erase Previo|
00000420  75 73 20 50 6f 69 6e 74  73 20 20 20 20 20 20 20  |us Points       |
00000430  20 20 41 55 54 4f 4d 41  54 49 43 20 45 58 49 54  |  AUTOMATIC EXIT|
00000440  22 0d 02 3a 2f 20 f1 20  8a 37 2c 33 29 20 22 50  |"..:/ . .7,3) "P|
00000450  6f 69 6e 74 73 20 69 6e  20 46 49 52 53 54 20 70  |oints in FIRST p|
00000460  69 63 74 75 72 65 20 3a  20 22 3b 46 43 4e 54 25  |icture : ";FCNT%|
00000470  0d 02 44 2b 20 f1 20 8a  34 33 2c 33 29 20 22 50  |..D+ . .43,3) "P|
00000480  6f 69 6e 74 73 20 69 6e  20 53 45 43 4f 4e 44 20  |oints in SECOND |
00000490  70 69 63 74 75 72 65 20  3a 20 22 0d 02 4e 19 20  |picture : "..N. |
000004a0  f5 3a c8 97 20 58 25 2c  59 25 2c 5a 25 3a fd 20  |.:.. X%,Y%,Z%:. |
000004b0  5a 25 3d 30 0d 02 58 0b  20 43 4e 54 25 3d 30 0d  |Z%=0..X. CNT%=0.|
000004c0  02 62 06 20 f5 0d 02 6c  18 20 c8 97 20 58 50 4f  |.b. ...l. .. XPO|
000004d0  53 25 2c 59 50 4f 53 25  2c 42 55 54 25 0d 02 76  |S%,YPOS%,BUT%..v|
000004e0  28 20 e7 20 42 55 54 25  3d 34 20 8c 20 f2 64 72  |( . BUT%=4 . .dr|
000004f0  61 77 5f 6c 69 6e 65 28  41 25 28 29 2c 42 25 28  |aw_line(A%(),B%(|
00000500  29 2c 37 30 29 0d 02 80  2d 20 e7 20 43 4e 54 25  |),70)...- . CNT%|
00000510  3e 30 20 80 20 42 55 54  25 3d 32 20 8c 20 f2 65  |>0 . BUT%=2 . .e|
00000520  72 61 73 65 28 41 25 28  29 2c 42 25 28 29 2c 37  |rase(A%(),B%(),7|
00000530  30 29 0d 02 8a 11 20 fd  20 43 4e 54 25 3d 46 43  |0).... . CNT%=FC|
00000540  4e 54 25 0d 02 94 06 20  e1 0d 02 9e 04 0d 02 a8  |NT%.... ........|
00000550  16 20 dd f2 63 61 6c 63  75 6c 61 74 65 5f 61 5f  |. ..calculate_a_|
00000560  62 69 74 0d 02 b2 12 20  e3 20 49 25 3d 31 20 b8  |bit.... . I%=1 .|
00000570  20 43 4e 54 25 0d 02 bc  20 20 58 49 28 49 25 29  | CNT%...  XI(I%)|
00000580  3d 28 58 25 28 49 25 29  2d 41 25 28 49 25 29 29  |=(X%(I%)-A%(I%))|
00000590  2f 53 45 43 25 0d 02 c6  20 20 59 49 28 49 25 29  |/SEC%...  YI(I%)|
000005a0  3d 28 59 25 28 49 25 29  2d 42 25 28 49 25 29 29  |=(Y%(I%)-B%(I%))|
000005b0  2f 53 45 43 25 0d 02 d0  09 20 ed 20 49 25 0d 02  |/SEC%.... . I%..|
000005c0  da 06 20 e1 0d 02 e4 05  20 0d 02 ee 1b 20 dd f2  |.. ..... .... ..|
000005d0  61 6e 69 6d 61 74 65 28  42 45 25 2c 45 4e 25 2c  |animate(BE%,EN%,|
000005e0  53 50 25 29 0d 02 f8 1b  20 e3 20 49 25 3d 42 45  |SP%).... . I%=BE|
000005f0  25 20 b8 20 45 4e 25 2d  31 20 88 20 53 50 25 0d  |% . EN%-1 . SP%.|
00000600  03 02 25 20 42 41 4e 4b  25 3d 42 41 4e 4b 25 20  |..% BANK%=BANK% |
00000610  82 20 33 3a c8 99 20 36  2c 31 31 32 2c 42 41 4e  |. 3:.. 6,112,BAN|
00000620  4b 25 3a db 0d 03 0c 28  20 ec 20 41 25 28 31 29  |K%:....( . A%(1)|
00000630  2b 28 58 49 28 31 29 2a  49 25 29 2c 42 25 28 31  |+(XI(1)*I%),B%(1|
00000640  29 2b 28 59 49 28 31 29  2a 49 25 29 0d 03 16 12  |)+(YI(1)*I%)....|
00000650  20 e3 20 4a 25 3d 31 20  b8 20 43 4e 54 25 0d 03  | . J%=1 . CNT%..|
00000660  20 2c 20 df 20 41 25 28  4a 25 29 2b 28 58 49 28  | , . A%(J%)+(XI(|
00000670  4a 25 29 2a 49 25 29 2c  42 25 28 4a 25 29 2b 28  |J%)*I%),B%(J%)+(|
00000680  59 49 28 4a 25 29 2a 49  25 29 0d 03 2a 09 20 ed  |YI(J%)*I%)..*. .|
00000690  20 4a 25 0d 03 34 16 20  c8 99 20 36 2c 31 31 33  | J%..4. .. 6,113|
000006a0  2c 42 41 4e 4b 25 3a c8  96 0d 03 3e 29 c8 97 20  |,BANK%:....>).. |
000006b0  58 50 4f 53 25 2c 59 50  4f 53 25 2c 42 55 54 25  |XPOS%,YPOS%,BUT%|
000006c0  3a e7 20 42 55 54 25 3d  31 20 45 58 49 54 3d b9  |:. BUT%=1 EXIT=.|
000006d0  3a e1 0d 03 48 09 20 ed  20 49 25 0d 03 52 0d 20  |:...H. . I%..R. |
000006e0  41 24 3d bf 28 32 35 29  0d 03 5c 06 20 e1 0d 03  |A$=.(25)..\. ...|
000006f0  66 05 20 0d 03 70 0b 20  dd f2 69 6e 73 74 0d 03  |f. ..p. ..inst..|
00000700  7a 06 20 f1 0d 03 84 23  20 f1 20 8a 33 30 29 20  |z. ....# . .30) |
00000710  22 6d 65 74 61 4d 4f 52  50 48 6f 73 69 73 20 76  |"metaMORPHosis v|
00000720  65 72 20 31 2e 30 22 0d  03 8e 06 20 f1 0d 03 98  |er 1.0".... ....|
00000730  23 20 f1 20 8a 33 30 29  20 22 28 43 29 20 53 2e  |# . .30) "(C) S.|
00000740  53 2e 50 61 72 64 65 73  69 20 20 31 39 38 38 22  |S.Pardesi  1988"|
00000750  0d 03 a2 05 f1 0d 03 ac  06 20 f1 0d 03 b6 58 20  |......... ....X |
00000760  f1 20 22 54 68 69 73 20  70 72 6f 67 72 61 6d 20  |. "This program |
00000770  61 6c 6c 6f 77 73 20 74  68 65 20 75 73 65 72 20  |allows the user |
00000780  74 6f 20 64 72 61 77 20  74 77 6f 20 77 69 72 65  |to draw two wire|
00000790  20 66 72 61 6d 65 20 70  69 63 74 75 72 65 73 20  | frame pictures |
000007a0  77 68 69 63 68 20 74 68  65 20 63 6f 6d 70 75 74  |which the comput|
000007b0  65 72 22 0d 03 c0 06 20  f1 0d 03 ca 49 20 f1 20  |er".... ....I . |
000007c0  22 74 68 65 6e 20 61 6e  69 6d 61 74 65 73 20 62  |"then animates b|
000007d0  79 20 74 72 61 6e 73 66  6f 72 6d 69 6e 67 20 74  |y transforming t|
000007e0  68 65 20 66 69 72 73 74  20 70 69 63 74 75 72 65  |he first picture|
000007f0  20 69 6e 74 6f 20 74 68  65 20 73 65 63 6f 6e 64  | into the second|
00000800  2e 22 0d 03 d4 06 20 f1  0d 03 de 06 20 f1 0d 03  |.".... ..... ...|
00000810  e8 2f 20 f1 20 8a 32 35  29 20 22 2a 20 2a 20 50  |./ . .25) "* * P|
00000820  52 45 53 53 20 41 4e 59  20 4b 45 59 20 54 4f 20  |RESS ANY KEY TO |
00000830  43 4f 4e 54 49 4e 55 45  20 2a 20 2a 22 0d 03 f2  |CONTINUE * *"...|
00000840  09 20 41 24 3d be 0d 03  fc 06 20 e1 0d 04 06 05  |. A$=..... .....|
00000850  20 0d 04 10 0e 20 dd f2  64 69 73 70 6c 61 79 0d  | .... ..display.|
00000860  04 1a 0b 20 45 58 49 54  3d a3 0d 04 24 09 20 c8  |... EXIT=...$. .|
00000870  97 20 87 0d 04 2e 06 20  f5 0d 04 38 1c 20 f2 61  |. ..... ...8. .a|
00000880  6e 69 6d 61 74 65 28 31  2c 53 45 43 25 2c 94 28  |nimate(1,SEC%,.(|
00000890  41 53 25 29 29 0d 04 42  21 20 f2 61 6e 69 6d 61  |AS%))..B! .anima|
000008a0  74 65 28 53 45 43 25 2c  32 2c 94 28 41 53 25 29  |te(SEC%,2,.(AS%)|
000008b0  2a 28 2d 31 29 29 0d 04  4c 0d 20 fd 20 45 58 49  |*(-1))..L. . EXI|
000008c0  54 3d b9 0d 04 56 09 20  c8 97 20 ee 0d 04 60 09  |T=...V. .. ...`.|
000008d0  20 4f 4b 3d b9 0d 04 6a  06 20 e1 0d 04 74 05 20  | OK=...j. ...t. |
000008e0  0d 04 7e 1e 20 dd f2 65  72 61 73 65 28 51 41 25  |..~. ..erase(QA%|
000008f0  28 29 2c 57 53 25 28 29  2c 54 41 42 25 29 0d 04  |(),WS%(),TAB%)..|
00000900  88 08 20 e6 20 30 0d 04  92 1e 20 ec 20 51 41 25  |.. . 0.... . QA%|
00000910  28 43 4e 54 25 2d 31 29  2c 57 53 25 28 43 4e 54  |(CNT%-1),WS%(CNT|
00000920  25 2d 31 29 0d 04 9c 1a  20 df 20 51 41 25 28 43  |%-1).... . QA%(C|
00000930  4e 54 25 29 2c 57 53 25  28 43 4e 54 25 29 0d 04  |NT%),WS%(CNT%)..|
00000940  a6 08 20 e6 20 31 0d 04  b0 1e 20 ec 20 51 41 25  |.. . 1.... . QA%|
00000950  28 43 4e 54 25 2d 31 29  2c 57 53 25 28 43 4e 54  |(CNT%-1),WS%(CNT|
00000960  25 2d 31 29 0d 04 ba 0c  20 43 4e 54 25 2d 3d 31  |%-1).... CNT%-=1|
00000970  0d 04 c4 1a 20 f1 20 8a  54 41 42 25 2c 33 29 3b  |.... . .TAB%,3);|
00000980  43 4e 54 25 3b 22 20 20  22 3b 0d 04 ce 0d 20 41  |CNT%;"  ";.... A|
00000990  24 3d bf 28 33 30 29 0d  04 d8 06 20 e1 0d 04 e2  |$=.(30).... ....|
000009a0  05 20 0d 04 ec 22 20 dd  f2 64 72 61 77 5f 6c 69  |. ..." ..draw_li|
000009b0  6e 65 28 51 41 25 28 29  2c 57 53 25 28 29 2c 54  |ne(QA%(),WS%(),T|
000009c0  41 42 25 29 0d 04 f6 0c  20 43 4e 54 25 2b 3d 31  |AB%).... CNT%+=1|
000009d0  0d 05 00 1d 20 e7 20 43  4e 54 25 3d 31 20 8c 20  |.... . CNT%=1 . |
000009e0  ec 20 58 50 4f 53 25 2c  59 50 4f 53 25 0d 05 0a  |. XPOS%,YPOS%...|
000009f0  24 20 51 41 25 28 43 4e  54 25 29 3d 58 50 4f 53  |$ QA%(CNT%)=XPOS|
00000a00  25 3a 57 53 25 28 43 4e  54 25 29 3d 59 50 4f 53  |%:WS%(CNT%)=YPOS|
00000a10  25 0d 05 14 12 20 df 20  58 50 4f 53 25 2c 59 50  |%.... . XPOS%,YP|
00000a20  4f 53 25 0d 05 1e 14 20  f1 20 8a 54 41 42 25 2c  |OS%.... . .TAB%,|
00000a30  33 29 3b 43 4e 54 25 0d  05 28 0f 20 41 24 3d bf  |3);CNT%..(. A$=.|
00000a40  28 44 45 4c 25 29 0d 05  32 06 20 e1 0d 05 3c 05  |(DEL%)..2. ...<.|
00000a50  20 0d 05 46 0b 20 dd f2  6d 65 6e 75 0d 05 50 06  | ..F. ..menu..P.|
00000a60  20 f5 0d 05 5a 09 20 4f  4b 3d a3 0d 05 64 12 20  | ...Z. OK=...d. |
00000a70  f2 73 65 74 75 70 5f 73  63 72 65 65 6e 0d 05 6e  |.setup_screen..n|
00000a80  09 20 c8 97 20 ee 0d 05  78 52 20 f1 20 8a 30 2c  |. .. ...xR . .0,|
00000a90  30 29 20 22 41 4e 49 4d  41 54 45 20 50 49 43 53  |0) "ANIMATE PICS|
00000aa0  2e 22 2c 22 43 48 41 4e  47 45 20 41 4e 49 4d 41  |.","CHANGE ANIMA|
00000ab0  54 49 4f 4e 20 53 50 45  45 44 22 2c 22 41 4c 54  |TION SPEED","ALT|
00000ac0  45 52 20 50 4c 4f 54 54  49 4e 47 20 53 45 4e 53  |ER PLOTTING SENS|
00000ad0  49 54 49 56 49 54 59 22  0d 05 82 50 20 f1 20 8a  |ITIVITY"...P . .|
00000ae0  30 2c 32 29 20 22 53 41  56 45 20 50 49 43 54 55  |0,2) "SAVE PICTU|
00000af0  52 45 53 22 2c 22 20 20  20 4c 4f 41 44 20 50 49  |RES","   LOAD PI|
00000b00  43 54 55 52 45 53 22 2c  22 20 20 20 20 44 52 41  |CTURES","    DRA|
00000b10  57 20 4e 45 57 20 50 49  43 54 55 52 45 53 22 2c  |W NEW PICTURES",|
00000b20  22 20 20 51 55 49 54 22  0d 05 8c 18 20 c8 97 20  |"  QUIT".... .. |
00000b30  c8 93 20 30 2c 39 32 35  2c 31 32 37 39 2c 39 38  |.. 0,925,1279,98|
00000b40  0d 05 96 06 20 f5 0d 05  a0 10 20 c8 97 20 58 25  |.... ..... .. X%|
00000b50  2c 59 25 2c 5a 25 0d 05  aa 2d 20 e7 20 a4 72 65  |,Y%,Z%...- . .re|
00000b60  63 28 30 2c 39 39 30 2c  32 31 30 2c 33 32 29 20  |c(0,990,210,32) |
00000b70  80 20 43 4e 54 25 3e 30  20 8c 20 f2 64 69 73 70  |. CNT%>0 . .disp|
00000b80  6c 61 79 0d 05 b4 33 20  e7 20 a4 72 65 63 28 33  |lay...3 . .rec(3|
00000b90  31 35 2c 39 39 32 2c 33  35 37 2c 33 32 29 20 80  |15,992,357,32) .|
00000ba0  20 43 4e 54 25 3e 30 20  8c 20 f2 61 6c 74 65 72  | CNT%>0 . .alter|
00000bb0  5f 73 70 65 65 64 0d 05  be 2e 20 e7 20 a4 72 65  |_speed.... . .re|
00000bc0  63 28 38 30 30 2c 39 39  32 2c 31 32 32 30 2c 33  |c(800,992,1220,3|
00000bd0  32 29 20 8c 20 f2 61 6c  74 65 72 5f 70 6c 6f 74  |2) . .alter_plot|
00000be0  74 69 6e 67 0d 05 c8 2f  20 e7 20 a4 72 65 63 28  |ting.../ . .rec(|
00000bf0  30 2c 39 33 30 2c 32 31  30 2c 33 32 29 20 80 20  |0,930,210,32) . |
00000c00  43 4e 54 25 3e 30 20 8c  20 f2 73 61 76 65 5f 70  |CNT%>0 . .save_p|
00000c10  69 63 73 0d 05 d2 28 20  e7 20 a4 72 65 63 28 33  |ics...( . .rec(3|
00000c20  38 35 2c 39 33 30 2c 32  31 30 2c 33 32 29 20 8c  |85,930,210,32) .|
00000c30  20 f2 6c 6f 61 64 5f 70  69 63 73 0d 05 dc 2c 20  | .load_pics..., |
00000c40  e7 20 a4 72 65 63 28 37  30 34 2c 39 33 30 2c 32  |. .rec(704,930,2|
00000c50  37 36 2c 33 32 29 20 8c  20 f2 64 72 61 77 5f 6e  |76,32) . .draw_n|
00000c60  65 77 5f 70 69 63 73 0d  05 e6 25 20 e7 20 a4 72  |ew_pics...% . .r|
00000c70  65 63 28 31 31 35 30 2c  39 33 30 2c 31 32 32 30  |ec(1150,930,1220|
00000c80  2c 33 32 29 20 8c 20 f2  71 75 69 74 0d 05 f0 09  |,32) . .quit....|
00000c90  20 fd 20 4f 4b 0d 05 fa  08 20 fd 20 a3 0d 06 04  | . OK.... . ....|
00000ca0  05 20 0d 06 0e 4c 20 dd  a4 72 65 63 28 58 43 25  |. ...L ..rec(XC%|
00000cb0  2c 59 43 25 2c 57 43 25  2c 48 43 25 29 3d 58 25  |,YC%,WC%,HC%)=X%|
00000cc0  3e 58 43 25 20 80 20 58  25 3c 58 43 25 2b 57 43  |>XC% . X%<XC%+WC|
00000cd0  25 20 80 20 59 25 3e 59  43 25 20 80 20 59 25 3c  |% . Y%>YC% . Y%<|
00000ce0  59 43 25 2b 48 43 25 20  80 20 5a 25 3d 34 0d 06  |YC%+HC% . Z%=4..|
00000cf0  18 06 20 e1 0d 06 22 05  20 0d 06 2c 0b 20 dd f2  |.. ...". ..,. ..|
00000d00  71 75 69 74 0d 06 36 08  20 eb 20 30 0d 06 40 06  |quit..6. . 0..@.|
00000d10  20 e0 0d 06 4a 06 20 e1  0d 06 54 05 20 0d 06 5e  | ...J. ...T. ..^|
00000d20  15 20 dd f2 61 6c 74 65  72 5f 70 6c 6f 74 74 69  |. ..alter_plotti|
00000d30  6e 67 0d 06 68 12 20 f2  73 65 74 75 70 5f 73 63  |ng..h. .setup_sc|
00000d40  72 65 65 6e 0d 06 72 5d  20 f1 20 8a 30 2c 30 29  |reen..r] . .0,0)|
00000d50  22 4c 45 46 54 20 3a 20  44 65 63 72 65 61 73 65  |"LEFT : Decrease|
00000d60  20 53 65 6e 73 69 74 69  76 69 74 79 22 2c 22 20  | Sensitivity"," |
00000d70  4d 49 44 44 4c 45 20 3a  20 49 6e 63 72 65 61 73  |MIDDLE : Increas|
00000d80  65 20 53 65 6e 73 69 74  69 76 69 74 79 22 2c 22  |e Sensitivity","|
00000d90  20 20 20 20 52 49 47 48  54 20 3a 20 45 78 69 74  |    RIGHT : Exit|
00000da0  22 0d 06 7c 34 20 f1 20  8a 32 33 2c 33 29 22 43  |"..|4 . .23,3)"C|
00000db0  75 72 72 65 6e 74 20 53  65 6e 73 69 74 69 76 69  |urrent Sensitivi|
00000dc0  74 79 20 28 30 2d 34 35  29 20 3a 20 22 3b 35 30  |ty (0-45) : ";50|
00000dd0  2d 44 45 4c 25 0d 06 86  19 20 f5 3a c8 97 20 58  |-DEL%.... .:.. X|
00000de0  25 2c 59 25 2c 5a 25 3a  fd 20 5a 25 3d 30 0d 06  |%,Y%,Z%:. Z%=0..|
00000df0  90 06 20 f5 0d 06 9a 10  20 c8 97 20 58 25 2c 59  |.. ..... .. X%,Y|
00000e00  25 2c 5a 25 0d 06 a4 1d  20 e7 20 5a 25 3d 34 20  |%,Z%.... . Z%=4 |
00000e10  80 20 44 45 4c 25 3c 35  30 20 44 45 4c 25 2b 3d  |. DEL%<50 DEL%+=|
00000e20  31 0d 06 ae 1c 20 e7 20  5a 25 3d 32 20 80 20 44  |1.... . Z%=2 . D|
00000e30  45 4c 25 3e 35 20 44 45  4c 25 2d 3d 31 0d 06 b8  |EL%>5 DEL%-=1...|
00000e40  1a 20 f1 20 8a 35 32 2c  33 29 3b 35 30 2d 44 45  |. . .52,3);50-DE|
00000e50  4c 25 3b 22 20 20 22 0d  06 c2 0c 20 41 24 3d bf  |L%;"  ".... A$=.|
00000e60  28 37 29 0d 06 cc 0b 20  fd 20 5a 25 3d 31 0d 06  |(7).... . Z%=1..|
00000e70  d6 09 20 4f 4b 3d b9 0d  06 e0 06 20 e1 0d 06 ea  |.. OK=..... ....|
00000e80  05 20 0d 06 f4 12 20 dd  f2 61 6c 74 65 72 5f 73  |. .... ..alter_s|
00000e90  70 65 65 64 0d 06 fe 12  20 f2 73 65 74 75 70 5f  |peed.... .setup_|
00000ea0  73 63 72 65 65 6e 0d 07  08 50 20 f1 20 8a 30 2c  |screen...P . .0,|
00000eb0  30 29 22 4c 45 46 54 20  3a 20 44 65 63 72 65 61  |0)"LEFT : Decrea|
00000ec0  73 65 20 53 70 65 65 64  22 2c 22 20 4d 49 44 44  |se Speed"," MIDD|
00000ed0  4c 45 20 3a 20 49 6e 63  72 65 61 73 65 20 53 70  |LE : Increase Sp|
00000ee0  65 65 64 22 2c 22 20 20  20 52 49 47 48 54 20 3a  |eed","   RIGHT :|
00000ef0  20 45 78 69 74 22 0d 07  12 35 20 f1 20 8a 32 36  | Exit"...5 . .26|
00000f00  2c 33 29 22 43 75 72 72  65 6e 74 20 53 70 65 65  |,3)"Current Spee|
00000f10  64 20 28 31 2d 22 3b 43  4e 54 25 3b 22 29 20 3a  |d (1-";CNT%;") :|
00000f20  20 22 3b 41 53 25 3b 22  20 20 22 0d 07 1c 19 20  | ";AS%;"  ".... |
00000f30  f5 3a c8 97 20 58 25 2c  59 25 2c 5a 25 3a fd 20  |.:.. X%,Y%,Z%:. |
00000f40  5a 25 3d 30 0d 07 26 06  20 f5 0d 07 30 10 20 c8  |Z%=0..&. ...0. .|
00000f50  97 20 58 25 2c 59 25 2c  5a 25 0d 07 3a 1d 20 e7  |. X%,Y%,Z%..:. .|
00000f60  20 5a 25 3d 32 20 80 20  41 53 25 3c 43 4e 54 25  | Z%=2 . AS%<CNT%|
00000f70  20 41 53 25 2b 3d 31 0d  07 44 1a 20 e7 20 5a 25  | AS%+=1..D. . Z%|
00000f80  3d 34 20 80 20 41 53 25  3e 31 20 41 53 25 2d 3d  |=4 . AS%>1 AS%-=|
00000f90  31 0d 07 4e 1a 20 f1 20  8a 34 38 2c 33 29 3b 22  |1..N. . .48,3);"|
00000fa0  20 22 3b 41 53 25 3b 22  20 20 22 0d 07 58 0d 20  | ";AS%;"  "..X. |
00000fb0  41 24 3d bf 28 31 35 29  0d 07 62 0b 20 fd 20 5a  |A$=.(15)..b. . Z|
00000fc0  25 3d 31 0d 07 6c 09 20  4f 4b 3d b9 0d 07 76 06  |%=1..l. OK=...v.|
00000fd0  20 e1 0d 07 80 05 20 0d  07 8a 10 20 dd f2 73 61  | ..... .... ..sa|
00000fe0  76 65 5f 70 69 63 73 0d  07 94 1a 20 f2 67 65 74  |ve_pics.... .get|
00000ff0  5f 66 69 6c 65 6e 61 6d  65 28 22 53 41 56 45 22  |_filename("SAVE"|
00001000  29 0d 07 9e 15 20 e7 20  46 24 3d 22 22 20 8c 20  |).... . F$="" . |
00001010  4f 4b 3d b9 3a e1 0d 07  a8 0b 20 41 3d ae 20 46  |OK=.:..... A=. F|
00001020  24 0d 07 b2 0e 20 f1 23  20 41 2c 43 4e 54 25 0d  |$.... .# A,CNT%.|
00001030  07 bc 12 20 e3 20 49 25  3d 31 20 b8 20 43 4e 54  |... . I%=1 . CNT|
00001040  25 0d 07 c6 25 20 f1 23  20 41 2c 58 25 28 49 25  |%...% .# A,X%(I%|
00001050  29 2c 59 25 28 49 25 29  2c 41 25 28 49 25 29 2c  |),Y%(I%),A%(I%),|
00001060  42 25 28 49 25 29 0d 07  d0 09 20 ed 20 49 25 0d  |B%(I%).... . I%.|
00001070  07 da 09 20 d9 23 20 41  0d 07 e4 09 20 4f 4b 3d  |... .# A.... OK=|
00001080  b9 0d 07 ee 06 20 e1 0d  07 f8 05 20 0d 08 02 10  |..... ..... ....|
00001090  20 dd f2 6c 6f 61 64 5f  70 69 63 73 0d 08 0c 1a  | ..load_pics....|
000010a0  20 f2 67 65 74 5f 66 69  6c 65 6e 61 6d 65 28 22  | .get_filename("|
000010b0  4c 4f 41 44 22 29 0d 08  16 15 20 e7 20 46 24 3d  |LOAD").... . F$=|
000010c0  22 22 20 8c 20 4f 4b 3d  b9 3a e1 0d 08 20 0b 20  |"" . OK=.:... . |
000010d0  41 3d 8e 20 46 24 0d 08  2a 0e 20 e8 23 20 41 2c  |A=. F$..*. .# A,|
000010e0  43 4e 54 25 0d 08 34 12  20 e3 20 49 25 3d 31 20  |CNT%..4. . I%=1 |
000010f0  b8 20 43 4e 54 25 0d 08  3e 25 20 e8 23 20 41 2c  |. CNT%..>% .# A,|
00001100  58 25 28 49 25 29 2c 59  25 28 49 25 29 2c 41 25  |X%(I%),Y%(I%),A%|
00001110  28 49 25 29 2c 42 25 28  49 25 29 0d 08 48 09 20  |(I%),B%(I%)..H. |
00001120  ed 20 49 25 0d 08 52 09  20 d9 23 20 41 0d 08 5c  |. I%..R. .# A..\|
00001130  15 20 f2 63 61 6c 63 75  6c 61 74 65 5f 61 5f 62  |. .calculate_a_b|
00001140  69 74 0d 08 66 0a 20 41  53 25 3d 31 0d 08 70 09  |it..f. AS%=1..p.|
00001150  20 4f 4b 3d b9 0d 08 7a  06 20 e1 0d 08 84 05 20  | OK=...z. ..... |
00001160  0d 08 8e 13 20 dd f2 73  65 74 75 70 5f 73 63 72  |.... ..setup_scr|
00001170  65 65 6e 0d 08 98 08 20  eb 20 30 0d 08 a2 06 20  |een.... . 0.... |
00001180  87 0d 08 ac 06 20 e1 0d  08 b6 05 20 0d 08 c0 17  |..... ..... ....|
00001190  20 dd f2 67 65 74 5f 66  69 6c 65 6e 61 6d 65 28  | ..get_filename(|
000011a0  4d 24 29 0d 08 ca 06 20  f5 0d 08 d4 12 20 f2 73  |M$).... ..... .s|
000011b0  65 74 75 70 5f 73 63 72  65 65 6e 0d 08 de 24 20  |etup_screen...$ |
000011c0  f1 20 8a 30 2c 30 29 3b  22 45 6e 74 65 72 20 66  |. .0,0);"Enter f|
000011d0  69 6c 65 6e 61 6d 65 20  74 6f 20 22 3b 4d 24 0d  |ilename to ";M$.|
000011e0  08 e8 0c 20 f1 20 8a 30  2c 34 29 0d 08 f2 0b 20  |... . .0,4).... |
000011f0  2a 4d 4f 55 4e 54 0d 08  fc 09 20 2a 43 41 54 0d  |*MOUNT.... *CAT.|
00001200  09 06 31 20 e8 20 8a 30  2c 32 29 20 22 46 69 6c  |..1 . .0,2) "Fil|
00001210  65 6e 61 6d 65 20 28 4d  61 78 20 31 30 20 63 68  |ename (Max 10 ch|
00001220  61 72 61 63 74 65 72 73  29 20 3a 20 22 3b 46 24  |aracters) : ";F$|
00001230  0d 09 10 0f 20 fd 20 a9  28 46 24 29 3c 31 31 0d  |.... . .(F$)<11.|
00001240  09 1a 06 20 e1 0d ff                              |... ...|
00001247