Home » Archimedes archive » Acorn Computing » 1993 06 Mega Disk.adf » 93_06 » Miscellany/Begin/MORPH3
Miscellany/Begin/MORPH3
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Acorn Computing » 1993 06 Mega Disk.adf » 93_06 |
Filename: | Miscellany/Begin/MORPH3 |
Read OK: | ✔ |
File size: | 0F14 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM> MORPH3 20REM by Mike Goldberg 30REM (c) Acorn Computing 40MODE 9 50OFF:ON ERROR REPORT:PRINT" at ";ERL:END 60PROCinit 70PROCoriginal 80PROCdraw1 90PROCfx1(8,8,56) 100PROCfx5(-8,4,32) 110PROCfx5(16,-8,16) 120PROCfx4(128,59,1) 130PROCfx4(128,59,0) 140PROCdefault 150PROCfx1(-8,0,16) 160PROCfx2(0,-8,32) 170PROCfx2(0,8,32) 180PROCfx2(8,0,16) 190PROCfx2(-8,0,32) 200PROCfx2(8,0,16) 210PROCfx2(8,8,16) 220PROCfx2(-8,0,32) 230PROCfx2(0,-8,16) 240PROCfx2(8,0,16) 250PROCfx1(4,-4,32) 260PROCfx3(4,4,32) 270PROCfx3(-8,-8,16) 280PROCfx1(0,16,8) 290PROCfx3(-8,-8,32) 300PROCfx3(4,4,64) 310PROCfx5(8,0,32) 320PROCfx5(-16,0,16) 330PROCfx1(4,0,8) 340PROCfx5(-16,0,32) 350PROCfx5(16,0,32) 360REM 370PROCmorph1(2) 380PROCmorph1(3) 390PROCmorph1(4) 400PROCmorph1(1) 410END 420 430REM INIT 440DEFPROCinit 450mins%=60 460DIMsin(mins%-1),cos(mins%-1) 470FORI%=0TOmins%-1 480sin(I%)=SINRAD(I%*(360/mins%)) 490cos(I%)=COSRAD(I%*(360/mins%)) 500NEXT 510SYS6,112,2:CLS 520SYS6,113,1:CLS:Z%=1 530nodes%=12 540N%=nodes% 550DIMoriginX%(N%) 560DIMoriginY%(N%) 570DIMP%(nodes%) 580DIMX%(nodes%),Y%(nodes%) 590DIMoldX%(nodes%),oldY%(nodes%) 600DIMmorphX%(nodes%),morphY%(nodes%) 610DIMgot_it%(N%) 620ENDPROC 630 640REM original shape defaultington 650DEFPROCoriginal 660PROCrestore(0) 670FORI%=0TOnodes% 680READX%(I%),Y%(I%) 690NEXT 700oldX%()=X%() 710oldY%()=Y%() 720ENDPROC 730 740REM DRAW 1st IMAGE 750DEFPROCdraw1 760GCOL2 770MOVEX%(0),Y%(0) 780FORI%=0TON% 790DRAWX%(I%),Y%(I%) 800NEXT 810DRAWX%(0),Y%(0) 820ENDPROC 830 840DEFPROCswitch:Z%=3-Z%:SYS6,112,Z%:SYS6,113,Z%:WAIT:CLS:ENDPROC 880 890REM FX1 You really move me! 900DEFPROCfx1(x%,y%,t%) 910FORJ%=1TOt% 920PROCswitch 930X%()+=x% 940Y%()+=y% 950PROCdraw1 960NEXT 970ENDPROC 980 990REM FX2 6-POINT Stretch 1000DEFPROCfx2(x%,y%,t%) 1010FORK%=1TOt% 1020PROCswitch 1030FORJ%=0TON% 1040CASE J% OF 1050WHEN0,3,6,7,9,10,12: 1060 X%(J%)+=x% 1070 Y%(J%)+=y% 1080ENDCASE 1090NEXT 1100PROCdraw1 1110NEXT 1120ENDPROC 1130 1140REM FX3 INFLATE! 1150DEFPROCfx3(x%,y%,t%) 1160FORK%=1TOt% 1170PROCswitch 1180FORJ%=0TON% 1190CASE J% OF 1200WHEN2,3,4:Y%(J%)+=y% 1210WHEN7,9,10,12,8,11:Y%(J%)-=y% 1220WHEN0:X%(0)-=x%:Y%(0)-=y% 1230WHEN1:X%(1)-=x%:Y%(1)+=y% 1240WHEN5:X%(5)+=x%:Y%(5)+=y% 1250WHEN6:X%(6)+=x%:Y%(6)-=y% 1260ENDCASE 1270NEXT 1280PROCdraw1 1290NEXT 1300ENDPROC 1310 1320REM rotate 1330DEFPROCfx4(R%,t%,all%) 1340 1350originX%()=X%() 1360originY%()=Y%() 1370 1380FORK%=1TOt% 1390PROCswitch 1400FORJ%=0TON% 1410IFall%=0THEN 1420CASE J% OF 1430WHEN1,2,3,4,5: 1440X%(J%)=originX%(J%)+R%*sin(K%) 1450Y%(J%)=originY%(J%)+R%*cos(K%)-R% 1460ENDCASE 1470ENDIF 1480IFall%=1THEN 1490X%(J%)=originX%(J%)+R%*sin(K%) 1500Y%(J%)=originY%(J%)+R%*cos(K%)-R% 1510ENDIF 1520NEXT 1530PROCdraw1 1540NEXT 1550ENDPROC 1560 1570REM reminder only 1580FORI%=0TOmins%-1 1590POINTX%+R%*sin(I%),Y%+R%*cos(I%) 1600NEXT 1610REM CROSS OVER 1620DEFPROCfx5(x%,y%,t%) 1630FORK%=1TOt% 1640PROCswitch 1650FORJ%=0TON% 1660CASE J% OF 1670WHEN0,1,2,10,11,12 1680 X%(J%)+=x% 1690 Y%(J%)+=y% 1700WHEN4,5,6,7,8,9 1710 X%(J%)-=x% 1720 Y%(J%)+=y% 1730ENDCASE 1740NEXT 1750PROCdraw1 1760NEXT 1770ENDPROC 1780 1790REM Return shape to original shape 1800DEFPROCdefault 1810nowX%=X%(0) 1820nowY%=Y%(0) 1830PROCoriginal 1840X%()+=nowX% 1850Y%()+=nowY% 1860PROCdraw1 1870ENDPROC 1880 1890REM MORPH1 1900DEFPROCmorph1(R%) 1910PROCrestore(R%) 1920got_it%()=0 1930FORI%=1TO12 1940READmorphX%(I%),morphY%(I%) 1950NEXT 1960stop%=0 1970REPEAT 1980PROCswitch 1990FORJ%=1TO12 2000IFmorphX%(J%)<oldX%(J%)X%(J%)-=4:oldX%(J%)-=4 2010IFmorphX%(J%)>oldX%(J%)X%(J%)+=4:oldX%(J%)+=4 2020IFmorphY%(J%)<oldY%(J%)Y%(J%)-=4:oldY%(J%)-=4 2030IFmorphY%(J%)>oldY%(J%)Y%(J%)+=4:oldY%(J%)+=4 2040IFgot_it%(J%)=0:IFoldX%(J%)=morphX%(J%)ANDoldY%(J%)=morphY%(J%)stop%+=1:got_it%(J%)=1 2050NEXT 2060PROCdraw1 2070UNTILstop%=N% 2080ENDPROC 2090 2100REM == SHAPE DATA == 2110 2120DEFPROCrestore(X%) 2130CASE X% OF 2140 WHEN 0 : RESTORE 2220 2150 WHEN 1 : RESTORE 2240 2160 WHEN 2 : RESTORE 2370 2170 WHEN 3 : RESTORE 2510 2180 WHEN 4 : RESTORE 2650 2190 ENDCASE 2200ENDPROC 2210 2220REM letter M 2230DATA0,0 2240DATA0,192 2250DATA64,192 2260DATA120,56 2270DATA172,192 2280DATA240,192 2290DATA240,0 2300DATA200,0 2310DATA200,120 2320DATA160,0 2330DATA80,0 2340DATA40,120 2350DATA40,0 2360 2370REM letter I 2380DATA0,192 2390DATA40,192 2400DATA40,96 2410DATA40,88 2420DATA40,80 2430DATA40,72 2440DATA40,64 2450DATA40,56 2460DATA40,48 2470DATA40,40 2480DATA40,32 2490DATA40,0 2500 2510REM letter K 2520DATA0,192 2530DATA40,192 2540DATA40,120 2550DATA112,192 2560DATA168,192 2570DATA80,104 2580DATA184,0 2590DATA120,0 2600DATA40,80 2610DATA40,0 2620DATA40,0 2630DATA40,0 2640 2650REM letter E 2660DATA0,192 2670DATA160,192 2680DATA160,152 2690DATA40,152 2700DATA40,112 2710DATA120,112 2720DATA120,80 2730DATA40,80 2740DATA40,40 2750DATA160,40 2760DATA160,0 2770DATA160,0
�> MORPH3 � by Mike Goldberg � (c) Acorn Computing (� 9 2�:� � �:�" at ";�:� < �init F �original P �draw1 Z�fx1(8,8,56) d�fx5(-8,4,32) n�fx5(16,-8,16) x�fx4(128,59,1) ��fx4(128,59,0) ��default ��fx1(-8,0,16) ��fx2(0,-8,32) ��fx2(0,8,32) ��fx2(8,0,16) ��fx2(-8,0,32) ��fx2(8,0,16) ��fx2(8,8,16) ��fx2(-8,0,32) ��fx2(0,-8,16) ��fx2(8,0,16) ��fx1(4,-4,32) �fx3(4,4,32) �fx3(-8,-8,16) �fx1(0,16,8) "�fx3(-8,-8,32) ,�fx3(4,4,64) 6�fx5(8,0,32) @�fx5(-16,0,16) J�fx1(4,0,8) T�fx5(-16,0,32) ^�fx5(16,0,32) h� r�morph1(2) |�morph1(3) ��morph1(4) ��morph1(1) �� � � � INIT � ��init �mins%=60 ��sin(mins%-1),cos(mins%-1) ��I%=0�mins%-1 �sin(I%)=��(I%*(360/mins%)) �cos(I%)=��(I%*(360/mins%)) �� �ș6,112,2:� ș6,113,1:�:Z%=1 nodes%=12 N%=nodes% &�originX%(N%) 0�originY%(N%) :�P%(nodes%) D�X%(nodes%),Y%(nodes%) N �oldX%(nodes%),oldY%(nodes%) X$�morphX%(nodes%),morphY%(nodes%) b�got_it%(N%) l� v �"� original shape defaultington ���original ��restore(0) ��I%=0�nodes% ��X%(I%),Y%(I%) �� �oldX%()=X%() �oldY%()=Y%() �� � �� DRAW 1st IMAGE ���draw1 ��2 �X%(0),Y%(0) �I%=0�N% �X%(I%),Y%(I%) � *�X%(0),Y%(0) 4� > H1��switch:Z%=3-Z%:ș6,112,Z%:ș6,113,Z%:Ȗ:�:� p z� FX1 You really move me! ���fx1(x%,y%,t%) ��J%=1�t% ��switch �X%()+=x% �Y%()+=y% � �draw1 �� �� � �� FX2 6-POINT Stretch ���fx2(x%,y%,t%) ��K%=1�t% ��switch �J%=0�N% Ȏ J% � �0,3,6,7,9,10,12: $ X%(J%)+=x% . Y%(J%)+=y% 8� B� L �draw1 V� `� j t� FX3 INFLATE! ~��fx3(x%,y%,t%) ��K%=1�t% ��switch ��J%=0�N% �Ȏ J% � ��2,3,4:Y%(J%)+=y% ��7,9,10,12,8,11:Y%(J%)-=y% ��0:X%(0)-=x%:Y%(0)-=y% ��1:X%(1)-=x%:Y%(1)+=y% ��5:X%(5)+=x%:Y%(5)+=y% ��6:X%(6)+=x%:Y%(6)-=y% �� �� �draw1 � � (� rotate 2��fx4(R%,t%,all%) < ForiginX%()=X%() PoriginY%()=Y%() Z d�K%=1�t% n�switch x�J%=0�N% ��all%=0� �Ȏ J% � ��1,2,3,4,5: �"X%(J%)=originX%(J%)+R%*sin(K%) �%Y%(J%)=originY%(J%)+R%*cos(K%)-R% �� �� ��all%=1� �"X%(J%)=originX%(J%)+R%*sin(K%) �%Y%(J%)=originY%(J%)+R%*cos(K%)-R% �� �� � �draw1 � � "� reminder only ,�I%=0�mins%-1 6!ȒX%+R%*sin(I%),Y%+R%*cos(I%) @� J� CROSS OVER T��fx5(x%,y%,t%) ^�K%=1�t% h�switch r�J%=0�N% |Ȏ J% � ��0,1,2,10,11,12 � X%(J%)+=x% � Y%(J%)+=y% ��4,5,6,7,8,9 � X%(J%)-=x% � Y%(J%)+=y% �� �� � �draw1 �� �� � �$� Return shape to original shape ��default nowX%=X%(0) nowY%=Y%(0) & �original 0X%()+=nowX% :Y%()+=nowY% D �draw1 N� X b� MORPH1 l��morph1(R%) v�restore(R%) �got_it%()=0 ��I%=1�12 ��morphX%(I%),morphY%(I%) �� �stop%=0 �� ��switch ��J%=1�12 �0�morphX%(J%)<oldX%(J%)X%(J%)-=4:oldX%(J%)-=4 �0�morphX%(J%)>oldX%(J%)X%(J%)+=4:oldX%(J%)+=4 �0�morphY%(J%)<oldY%(J%)Y%(J%)-=4:oldY%(J%)-=4 �0�morphY%(J%)>oldY%(J%)Y%(J%)+=4:oldY%(J%)+=4 �U�got_it%(J%)=0:�oldX%(J%)=morphX%(J%)�oldY%(J%)=morphY%(J%)stop%+=1:got_it%(J%)=1 � �draw1 �stop%=N% � * 4� == SHAPE DATA == > H��restore(X%) RȎ X% � \ � 0 : � �tlH f � 1 : � �d@H p � 2 : � �DBI z � 3 : � �dNI � � 4 : � �DZJ � � �� � �� letter M ��0,0 � �0,192 ��64,192 ��120,56 ��172,192 ��240,192 � �240,0 � �200,0 �200,120 �160,0 �80,0 $�40,120 . �40,0 8 B� letter I L �0,192 V�40,192 ` �40,96 j �40,88 t �40,80 ~ �40,72 � �40,64 � �40,56 � �40,48 � �40,40 � �40,32 � �40,0 � �� letter K � �0,192 ��40,192 ��40,120 ��112,192 �168,192 �80,104 �184,0 �120,0 ( �40,80 2 �40,0 < �40,0 F �40,0 P Z� letter E d �0,192 n�160,192 x�160,152 ��40,152 ��40,112 ��120,112 ��120,80 � �40,80 � �40,40 ��160,40 � �160,0 � �160,0 �
00000000 0d 00 0a 0d f4 3e 20 4d 4f 52 50 48 33 0d 00 14 |.....> MORPH3...| 00000010 16 f4 20 62 79 20 4d 69 6b 65 20 47 6f 6c 64 62 |.. by Mike Goldb| 00000020 65 72 67 0d 00 1e 19 f4 20 28 63 29 20 41 63 6f |erg..... (c) Aco| 00000030 72 6e 20 43 6f 6d 70 75 74 69 6e 67 0d 00 28 07 |rn Computing..(.| 00000040 eb 20 39 0d 00 32 17 87 3a ee 20 85 20 f6 3a f1 |. 9..2..:. . .:.| 00000050 22 20 61 74 20 22 3b 9e 3a e0 0d 00 3c 09 f2 69 |" at ";.:...<..i| 00000060 6e 69 74 0d 00 46 0d f2 6f 72 69 67 69 6e 61 6c |nit..F..original| 00000070 0d 00 50 0a f2 64 72 61 77 31 0d 00 5a 10 f2 66 |..P..draw1..Z..f| 00000080 78 31 28 38 2c 38 2c 35 36 29 0d 00 64 11 f2 66 |x1(8,8,56)..d..f| 00000090 78 35 28 2d 38 2c 34 2c 33 32 29 0d 00 6e 12 f2 |x5(-8,4,32)..n..| 000000a0 66 78 35 28 31 36 2c 2d 38 2c 31 36 29 0d 00 78 |fx5(16,-8,16)..x| 000000b0 12 f2 66 78 34 28 31 32 38 2c 35 39 2c 31 29 0d |..fx4(128,59,1).| 000000c0 00 82 12 f2 66 78 34 28 31 32 38 2c 35 39 2c 30 |....fx4(128,59,0| 000000d0 29 0d 00 8c 0c f2 64 65 66 61 75 6c 74 0d 00 96 |).....default...| 000000e0 11 f2 66 78 31 28 2d 38 2c 30 2c 31 36 29 0d 00 |..fx1(-8,0,16)..| 000000f0 a0 11 f2 66 78 32 28 30 2c 2d 38 2c 33 32 29 0d |...fx2(0,-8,32).| 00000100 00 aa 10 f2 66 78 32 28 30 2c 38 2c 33 32 29 0d |....fx2(0,8,32).| 00000110 00 b4 10 f2 66 78 32 28 38 2c 30 2c 31 36 29 0d |....fx2(8,0,16).| 00000120 00 be 11 f2 66 78 32 28 2d 38 2c 30 2c 33 32 29 |....fx2(-8,0,32)| 00000130 0d 00 c8 10 f2 66 78 32 28 38 2c 30 2c 31 36 29 |.....fx2(8,0,16)| 00000140 0d 00 d2 10 f2 66 78 32 28 38 2c 38 2c 31 36 29 |.....fx2(8,8,16)| 00000150 0d 00 dc 11 f2 66 78 32 28 2d 38 2c 30 2c 33 32 |.....fx2(-8,0,32| 00000160 29 0d 00 e6 11 f2 66 78 32 28 30 2c 2d 38 2c 31 |).....fx2(0,-8,1| 00000170 36 29 0d 00 f0 10 f2 66 78 32 28 38 2c 30 2c 31 |6).....fx2(8,0,1| 00000180 36 29 0d 00 fa 11 f2 66 78 31 28 34 2c 2d 34 2c |6).....fx1(4,-4,| 00000190 33 32 29 0d 01 04 10 f2 66 78 33 28 34 2c 34 2c |32).....fx3(4,4,| 000001a0 33 32 29 0d 01 0e 12 f2 66 78 33 28 2d 38 2c 2d |32).....fx3(-8,-| 000001b0 38 2c 31 36 29 0d 01 18 10 f2 66 78 31 28 30 2c |8,16).....fx1(0,| 000001c0 31 36 2c 38 29 0d 01 22 12 f2 66 78 33 28 2d 38 |16,8).."..fx3(-8| 000001d0 2c 2d 38 2c 33 32 29 0d 01 2c 10 f2 66 78 33 28 |,-8,32)..,..fx3(| 000001e0 34 2c 34 2c 36 34 29 0d 01 36 10 f2 66 78 35 28 |4,4,64)..6..fx5(| 000001f0 38 2c 30 2c 33 32 29 0d 01 40 12 f2 66 78 35 28 |8,0,32)..@..fx5(| 00000200 2d 31 36 2c 30 2c 31 36 29 0d 01 4a 0f f2 66 78 |-16,0,16)..J..fx| 00000210 31 28 34 2c 30 2c 38 29 0d 01 54 12 f2 66 78 35 |1(4,0,8)..T..fx5| 00000220 28 2d 31 36 2c 30 2c 33 32 29 0d 01 5e 11 f2 66 |(-16,0,32)..^..f| 00000230 78 35 28 31 36 2c 30 2c 33 32 29 0d 01 68 05 f4 |x5(16,0,32)..h..| 00000240 0d 01 72 0e f2 6d 6f 72 70 68 31 28 32 29 0d 01 |..r..morph1(2)..| 00000250 7c 0e f2 6d 6f 72 70 68 31 28 33 29 0d 01 86 0e ||..morph1(3)....| 00000260 f2 6d 6f 72 70 68 31 28 34 29 0d 01 90 0e f2 6d |.morph1(4).....m| 00000270 6f 72 70 68 31 28 31 29 0d 01 9a 05 e0 0d 01 a4 |orph1(1)........| 00000280 04 0d 01 ae 0a f4 20 49 4e 49 54 0d 01 b8 0a dd |...... INIT.....| 00000290 f2 69 6e 69 74 0d 01 c2 0c 6d 69 6e 73 25 3d 36 |.init....mins%=6| 000002a0 30 0d 01 cc 1e de 73 69 6e 28 6d 69 6e 73 25 2d |0.....sin(mins%-| 000002b0 31 29 2c 63 6f 73 28 6d 69 6e 73 25 2d 31 29 0d |1),cos(mins%-1).| 000002c0 01 d6 11 e3 49 25 3d 30 b8 6d 69 6e 73 25 2d 31 |....I%=0.mins%-1| 000002d0 0d 01 e0 1e 73 69 6e 28 49 25 29 3d b5 b2 28 49 |....sin(I%)=..(I| 000002e0 25 2a 28 33 36 30 2f 6d 69 6e 73 25 29 29 0d 01 |%*(360/mins%))..| 000002f0 ea 1e 63 6f 73 28 49 25 29 3d 9b b2 28 49 25 2a |..cos(I%)=..(I%*| 00000300 28 33 36 30 2f 6d 69 6e 73 25 29 29 0d 01 f4 05 |(360/mins%))....| 00000310 ed 0d 01 fe 0f c8 99 36 2c 31 31 32 2c 32 3a db |.......6,112,2:.| 00000320 0d 02 08 14 c8 99 36 2c 31 31 33 2c 31 3a db 3a |......6,113,1:.:| 00000330 5a 25 3d 31 0d 02 12 0d 6e 6f 64 65 73 25 3d 31 |Z%=1....nodes%=1| 00000340 32 0d 02 1c 0d 4e 25 3d 6e 6f 64 65 73 25 0d 02 |2....N%=nodes%..| 00000350 26 11 de 6f 72 69 67 69 6e 58 25 28 4e 25 29 0d |&..originX%(N%).| 00000360 02 30 11 de 6f 72 69 67 69 6e 59 25 28 4e 25 29 |.0..originY%(N%)| 00000370 0d 02 3a 0f de 50 25 28 6e 6f 64 65 73 25 29 0d |..:..P%(nodes%).| 00000380 02 44 1a de 58 25 28 6e 6f 64 65 73 25 29 2c 59 |.D..X%(nodes%),Y| 00000390 25 28 6e 6f 64 65 73 25 29 0d 02 4e 20 de 6f 6c |%(nodes%)..N .ol| 000003a0 64 58 25 28 6e 6f 64 65 73 25 29 2c 6f 6c 64 59 |dX%(nodes%),oldY| 000003b0 25 28 6e 6f 64 65 73 25 29 0d 02 58 24 de 6d 6f |%(nodes%)..X$.mo| 000003c0 72 70 68 58 25 28 6e 6f 64 65 73 25 29 2c 6d 6f |rphX%(nodes%),mo| 000003d0 72 70 68 59 25 28 6e 6f 64 65 73 25 29 0d 02 62 |rphY%(nodes%)..b| 000003e0 10 de 67 6f 74 5f 69 74 25 28 4e 25 29 0d 02 6c |..got_it%(N%)..l| 000003f0 05 e1 0d 02 76 04 0d 02 80 22 f4 20 6f 72 69 67 |....v....". orig| 00000400 69 6e 61 6c 20 73 68 61 70 65 20 64 65 66 61 75 |inal shape defau| 00000410 6c 74 69 6e 67 74 6f 6e 0d 02 8a 0e dd f2 6f 72 |ltington......or| 00000420 69 67 69 6e 61 6c 0d 02 94 0f f2 72 65 73 74 6f |iginal.....resto| 00000430 72 65 28 30 29 0d 02 9e 10 e3 49 25 3d 30 b8 6e |re(0).....I%=0.n| 00000440 6f 64 65 73 25 0d 02 a8 12 f3 58 25 28 49 25 29 |odes%.....X%(I%)| 00000450 2c 59 25 28 49 25 29 0d 02 b2 05 ed 0d 02 bc 10 |,Y%(I%).........| 00000460 6f 6c 64 58 25 28 29 3d 58 25 28 29 0d 02 c6 10 |oldX%()=X%()....| 00000470 6f 6c 64 59 25 28 29 3d 59 25 28 29 0d 02 d0 05 |oldY%()=Y%()....| 00000480 e1 0d 02 da 04 0d 02 e4 14 f4 20 44 52 41 57 20 |.......... DRAW | 00000490 31 73 74 20 49 4d 41 47 45 0d 02 ee 0b dd f2 64 |1st IMAGE......d| 000004a0 72 61 77 31 0d 02 f8 06 e6 32 0d 03 02 10 ec 58 |raw1.....2.....X| 000004b0 25 28 30 29 2c 59 25 28 30 29 0d 03 0c 0c e3 49 |%(0),Y%(0).....I| 000004c0 25 3d 30 b8 4e 25 0d 03 16 12 df 58 25 28 49 25 |%=0.N%.....X%(I%| 000004d0 29 2c 59 25 28 49 25 29 0d 03 20 05 ed 0d 03 2a |),Y%(I%).. ....*| 000004e0 10 df 58 25 28 30 29 2c 59 25 28 30 29 0d 03 34 |..X%(0),Y%(0)..4| 000004f0 05 e1 0d 03 3e 04 0d 03 48 31 dd f2 73 77 69 74 |....>...H1..swit| 00000500 63 68 3a 5a 25 3d 33 2d 5a 25 3a c8 99 36 2c 31 |ch:Z%=3-Z%:..6,1| 00000510 31 32 2c 5a 25 3a c8 99 36 2c 31 31 33 2c 5a 25 |12,Z%:..6,113,Z%| 00000520 3a c8 96 3a db 3a e1 0d 03 70 04 0d 03 7a 1d f4 |:..:.:...p...z..| 00000530 20 46 58 31 20 59 6f 75 20 72 65 61 6c 6c 79 20 | FX1 You really | 00000540 6d 6f 76 65 20 6d 65 21 0d 03 84 13 dd f2 66 78 |move me!......fx| 00000550 31 28 78 25 2c 79 25 2c 74 25 29 0d 03 8e 0c e3 |1(x%,y%,t%).....| 00000560 4a 25 3d 31 b8 74 25 0d 03 98 0b f2 73 77 69 74 |J%=1.t%.....swit| 00000570 63 68 0d 03 a2 0c 58 25 28 29 2b 3d 78 25 0d 03 |ch....X%()+=x%..| 00000580 ac 0c 59 25 28 29 2b 3d 79 25 0d 03 b6 0a f2 64 |..Y%()+=y%.....d| 00000590 72 61 77 31 0d 03 c0 05 ed 0d 03 ca 05 e1 0d 03 |raw1............| 000005a0 d4 04 0d 03 de 19 f4 20 46 58 32 20 36 2d 50 4f |....... FX2 6-PO| 000005b0 49 4e 54 20 53 74 72 65 74 63 68 0d 03 e8 13 dd |INT Stretch.....| 000005c0 f2 66 78 32 28 78 25 2c 79 25 2c 74 25 29 0d 03 |.fx2(x%,y%,t%)..| 000005d0 f2 0c e3 4b 25 3d 31 b8 74 25 0d 03 fc 0b f2 73 |...K%=1.t%.....s| 000005e0 77 69 74 63 68 0d 04 06 0c e3 4a 25 3d 30 b8 4e |witch.....J%=0.N| 000005f0 25 0d 04 10 0b c8 8e 20 4a 25 20 ca 0d 04 1a 15 |%...... J% .....| 00000600 c9 30 2c 33 2c 36 2c 37 2c 39 2c 31 30 2c 31 32 |.0,3,6,7,9,10,12| 00000610 3a 0d 04 24 0f 20 58 25 28 4a 25 29 2b 3d 78 25 |:..$. X%(J%)+=x%| 00000620 0d 04 2e 0f 20 59 25 28 4a 25 29 2b 3d 79 25 0d |.... Y%(J%)+=y%.| 00000630 04 38 05 cb 0d 04 42 05 ed 0d 04 4c 0a f2 64 72 |.8....B....L..dr| 00000640 61 77 31 0d 04 56 05 ed 0d 04 60 05 e1 0d 04 6a |aw1..V....`....j| 00000650 04 0d 04 74 12 f4 20 46 58 33 20 49 4e 46 4c 41 |...t.. FX3 INFLA| 00000660 54 45 21 0d 04 7e 13 dd f2 66 78 33 28 78 25 2c |TE!..~...fx3(x%,| 00000670 79 25 2c 74 25 29 0d 04 88 0c e3 4b 25 3d 31 b8 |y%,t%).....K%=1.| 00000680 74 25 0d 04 92 0b f2 73 77 69 74 63 68 0d 04 9c |t%.....switch...| 00000690 0c e3 4a 25 3d 30 b8 4e 25 0d 04 a6 0b c8 8e 20 |..J%=0.N%...... | 000006a0 4a 25 20 ca 0d 04 b0 15 c9 32 2c 33 2c 34 3a 59 |J% ......2,3,4:Y| 000006b0 25 28 4a 25 29 2b 3d 79 25 0d 04 ba 1e c9 37 2c |%(J%)+=y%.....7,| 000006c0 39 2c 31 30 2c 31 32 2c 38 2c 31 31 3a 59 25 28 |9,10,12,8,11:Y%(| 000006d0 4a 25 29 2d 3d 79 25 0d 04 c4 1a c9 30 3a 58 25 |J%)-=y%.....0:X%| 000006e0 28 30 29 2d 3d 78 25 3a 59 25 28 30 29 2d 3d 79 |(0)-=x%:Y%(0)-=y| 000006f0 25 0d 04 ce 1a c9 31 3a 58 25 28 31 29 2d 3d 78 |%.....1:X%(1)-=x| 00000700 25 3a 59 25 28 31 29 2b 3d 79 25 0d 04 d8 1a c9 |%:Y%(1)+=y%.....| 00000710 35 3a 58 25 28 35 29 2b 3d 78 25 3a 59 25 28 35 |5:X%(5)+=x%:Y%(5| 00000720 29 2b 3d 79 25 0d 04 e2 1a c9 36 3a 58 25 28 36 |)+=y%.....6:X%(6| 00000730 29 2b 3d 78 25 3a 59 25 28 36 29 2d 3d 79 25 0d |)+=x%:Y%(6)-=y%.| 00000740 04 ec 05 cb 0d 04 f6 05 ed 0d 05 00 0a f2 64 72 |..............dr| 00000750 61 77 31 0d 05 0a 05 ed 0d 05 14 05 e1 0d 05 1e |aw1.............| 00000760 04 0d 05 28 0c f4 20 72 6f 74 61 74 65 0d 05 32 |...(.. rotate..2| 00000770 15 dd f2 66 78 34 28 52 25 2c 74 25 2c 61 6c 6c |...fx4(R%,t%,all| 00000780 25 29 0d 05 3c 04 0d 05 46 13 6f 72 69 67 69 6e |%)..<...F.origin| 00000790 58 25 28 29 3d 58 25 28 29 0d 05 50 13 6f 72 69 |X%()=X%()..P.ori| 000007a0 67 69 6e 59 25 28 29 3d 59 25 28 29 0d 05 5a 04 |ginY%()=Y%()..Z.| 000007b0 0d 05 64 0c e3 4b 25 3d 31 b8 74 25 0d 05 6e 0b |..d..K%=1.t%..n.| 000007c0 f2 73 77 69 74 63 68 0d 05 78 0c e3 4a 25 3d 30 |.switch..x..J%=0| 000007d0 b8 4e 25 0d 05 82 0c e7 61 6c 6c 25 3d 30 8c 0d |.N%.....all%=0..| 000007e0 05 8c 0b c8 8e 20 4a 25 20 ca 0d 05 96 0f c9 31 |..... J% ......1| 000007f0 2c 32 2c 33 2c 34 2c 35 3a 0d 05 a0 22 58 25 28 |,2,3,4,5:..."X%(| 00000800 4a 25 29 3d 6f 72 69 67 69 6e 58 25 28 4a 25 29 |J%)=originX%(J%)| 00000810 2b 52 25 2a 73 69 6e 28 4b 25 29 0d 05 aa 25 59 |+R%*sin(K%)...%Y| 00000820 25 28 4a 25 29 3d 6f 72 69 67 69 6e 59 25 28 4a |%(J%)=originY%(J| 00000830 25 29 2b 52 25 2a 63 6f 73 28 4b 25 29 2d 52 25 |%)+R%*cos(K%)-R%| 00000840 0d 05 b4 05 cb 0d 05 be 05 cd 0d 05 c8 0c e7 61 |...............a| 00000850 6c 6c 25 3d 31 8c 0d 05 d2 22 58 25 28 4a 25 29 |ll%=1...."X%(J%)| 00000860 3d 6f 72 69 67 69 6e 58 25 28 4a 25 29 2b 52 25 |=originX%(J%)+R%| 00000870 2a 73 69 6e 28 4b 25 29 0d 05 dc 25 59 25 28 4a |*sin(K%)...%Y%(J| 00000880 25 29 3d 6f 72 69 67 69 6e 59 25 28 4a 25 29 2b |%)=originY%(J%)+| 00000890 52 25 2a 63 6f 73 28 4b 25 29 2d 52 25 0d 05 e6 |R%*cos(K%)-R%...| 000008a0 05 cd 0d 05 f0 05 ed 0d 05 fa 0a f2 64 72 61 77 |............draw| 000008b0 31 0d 06 04 05 ed 0d 06 0e 05 e1 0d 06 18 04 0d |1...............| 000008c0 06 22 13 f4 20 72 65 6d 69 6e 64 65 72 20 6f 6e |.".. reminder on| 000008d0 6c 79 0d 06 2c 11 e3 49 25 3d 30 b8 6d 69 6e 73 |ly..,..I%=0.mins| 000008e0 25 2d 31 0d 06 36 21 c8 92 58 25 2b 52 25 2a 73 |%-1..6!..X%+R%*s| 000008f0 69 6e 28 49 25 29 2c 59 25 2b 52 25 2a 63 6f 73 |in(I%),Y%+R%*cos| 00000900 28 49 25 29 0d 06 40 05 ed 0d 06 4a 10 f4 20 43 |(I%)..@....J.. C| 00000910 52 4f 53 53 20 4f 56 45 52 0d 06 54 13 dd f2 66 |ROSS OVER..T...f| 00000920 78 35 28 78 25 2c 79 25 2c 74 25 29 0d 06 5e 0c |x5(x%,y%,t%)..^.| 00000930 e3 4b 25 3d 31 b8 74 25 0d 06 68 0b f2 73 77 69 |.K%=1.t%..h..swi| 00000940 74 63 68 0d 06 72 0c e3 4a 25 3d 30 b8 4e 25 0d |tch..r..J%=0.N%.| 00000950 06 7c 0b c8 8e 20 4a 25 20 ca 0d 06 86 13 c9 30 |.|... J% ......0| 00000960 2c 31 2c 32 2c 31 30 2c 31 31 2c 31 32 0d 06 90 |,1,2,10,11,12...| 00000970 0f 20 58 25 28 4a 25 29 2b 3d 78 25 0d 06 9a 0f |. X%(J%)+=x%....| 00000980 20 59 25 28 4a 25 29 2b 3d 79 25 0d 06 a4 10 c9 | Y%(J%)+=y%.....| 00000990 34 2c 35 2c 36 2c 37 2c 38 2c 39 0d 06 ae 0f 20 |4,5,6,7,8,9.... | 000009a0 58 25 28 4a 25 29 2d 3d 78 25 0d 06 b8 0f 20 59 |X%(J%)-=x%.... Y| 000009b0 25 28 4a 25 29 2b 3d 79 25 0d 06 c2 05 cb 0d 06 |%(J%)+=y%.......| 000009c0 cc 05 ed 0d 06 d6 0a f2 64 72 61 77 31 0d 06 e0 |........draw1...| 000009d0 05 ed 0d 06 ea 05 e1 0d 06 f4 04 0d 06 fe 24 f4 |..............$.| 000009e0 20 52 65 74 75 72 6e 20 73 68 61 70 65 20 74 6f | Return shape to| 000009f0 20 6f 72 69 67 69 6e 61 6c 20 73 68 61 70 65 0d | original shape.| 00000a00 07 08 0d dd f2 64 65 66 61 75 6c 74 0d 07 12 0f |.....default....| 00000a10 6e 6f 77 58 25 3d 58 25 28 30 29 0d 07 1c 0f 6e |nowX%=X%(0)....n| 00000a20 6f 77 59 25 3d 59 25 28 30 29 0d 07 26 0d f2 6f |owY%=Y%(0)..&..o| 00000a30 72 69 67 69 6e 61 6c 0d 07 30 0f 58 25 28 29 2b |riginal..0.X%()+| 00000a40 3d 6e 6f 77 58 25 0d 07 3a 0f 59 25 28 29 2b 3d |=nowX%..:.Y%()+=| 00000a50 6e 6f 77 59 25 0d 07 44 0a f2 64 72 61 77 31 0d |nowY%..D..draw1.| 00000a60 07 4e 05 e1 0d 07 58 04 0d 07 62 0c f4 20 4d 4f |.N....X...b.. MO| 00000a70 52 50 48 31 0d 07 6c 10 dd f2 6d 6f 72 70 68 31 |RPH1..l...morph1| 00000a80 28 52 25 29 0d 07 76 10 f2 72 65 73 74 6f 72 65 |(R%)..v..restore| 00000a90 28 52 25 29 0d 07 80 0f 67 6f 74 5f 69 74 25 28 |(R%)....got_it%(| 00000aa0 29 3d 30 0d 07 8a 0c e3 49 25 3d 31 b8 31 32 0d |)=0.....I%=1.12.| 00000ab0 07 94 1c f3 6d 6f 72 70 68 58 25 28 49 25 29 2c |....morphX%(I%),| 00000ac0 6d 6f 72 70 68 59 25 28 49 25 29 0d 07 9e 05 ed |morphY%(I%).....| 00000ad0 0d 07 a8 0b 73 74 6f 70 25 3d 30 0d 07 b2 05 f5 |....stop%=0.....| 00000ae0 0d 07 bc 0b f2 73 77 69 74 63 68 0d 07 c6 0c e3 |.....switch.....| 00000af0 4a 25 3d 31 b8 31 32 0d 07 d0 30 e7 6d 6f 72 70 |J%=1.12...0.morp| 00000b00 68 58 25 28 4a 25 29 3c 6f 6c 64 58 25 28 4a 25 |hX%(J%)<oldX%(J%| 00000b10 29 58 25 28 4a 25 29 2d 3d 34 3a 6f 6c 64 58 25 |)X%(J%)-=4:oldX%| 00000b20 28 4a 25 29 2d 3d 34 0d 07 da 30 e7 6d 6f 72 70 |(J%)-=4...0.morp| 00000b30 68 58 25 28 4a 25 29 3e 6f 6c 64 58 25 28 4a 25 |hX%(J%)>oldX%(J%| 00000b40 29 58 25 28 4a 25 29 2b 3d 34 3a 6f 6c 64 58 25 |)X%(J%)+=4:oldX%| 00000b50 28 4a 25 29 2b 3d 34 0d 07 e4 30 e7 6d 6f 72 70 |(J%)+=4...0.morp| 00000b60 68 59 25 28 4a 25 29 3c 6f 6c 64 59 25 28 4a 25 |hY%(J%)<oldY%(J%| 00000b70 29 59 25 28 4a 25 29 2d 3d 34 3a 6f 6c 64 59 25 |)Y%(J%)-=4:oldY%| 00000b80 28 4a 25 29 2d 3d 34 0d 07 ee 30 e7 6d 6f 72 70 |(J%)-=4...0.morp| 00000b90 68 59 25 28 4a 25 29 3e 6f 6c 64 59 25 28 4a 25 |hY%(J%)>oldY%(J%| 00000ba0 29 59 25 28 4a 25 29 2b 3d 34 3a 6f 6c 64 59 25 |)Y%(J%)+=4:oldY%| 00000bb0 28 4a 25 29 2b 3d 34 0d 07 f8 55 e7 67 6f 74 5f |(J%)+=4...U.got_| 00000bc0 69 74 25 28 4a 25 29 3d 30 3a e7 6f 6c 64 58 25 |it%(J%)=0:.oldX%| 00000bd0 28 4a 25 29 3d 6d 6f 72 70 68 58 25 28 4a 25 29 |(J%)=morphX%(J%)| 00000be0 80 6f 6c 64 59 25 28 4a 25 29 3d 6d 6f 72 70 68 |.oldY%(J%)=morph| 00000bf0 59 25 28 4a 25 29 73 74 6f 70 25 2b 3d 31 3a 67 |Y%(J%)stop%+=1:g| 00000c00 6f 74 5f 69 74 25 28 4a 25 29 3d 31 0d 08 02 05 |ot_it%(J%)=1....| 00000c10 ed 0d 08 0c 0a f2 64 72 61 77 31 0d 08 16 0d fd |......draw1.....| 00000c20 73 74 6f 70 25 3d 4e 25 0d 08 20 05 e1 0d 08 2a |stop%=N%.. ....*| 00000c30 04 0d 08 34 16 f4 20 3d 3d 20 53 48 41 50 45 20 |...4.. == SHAPE | 00000c40 44 41 54 41 20 3d 3d 0d 08 3e 04 0d 08 48 11 dd |DATA ==..>...H..| 00000c50 f2 72 65 73 74 6f 72 65 28 58 25 29 0d 08 52 0b |.restore(X%)..R.| 00000c60 c8 8e 20 58 25 20 ca 0d 08 5c 12 20 20 c9 20 30 |.. X% ...\. . 0| 00000c70 20 3a 20 f7 20 8d 74 6c 48 0d 08 66 12 20 20 c9 | : . .tlH..f. .| 00000c80 20 31 20 3a 20 f7 20 8d 64 40 48 0d 08 70 12 20 | 1 : . .d@H..p. | 00000c90 20 c9 20 32 20 3a 20 f7 20 8d 44 42 49 0d 08 7a | . 2 : . .DBI..z| 00000ca0 12 20 20 c9 20 33 20 3a 20 f7 20 8d 64 4e 49 0d |. . 3 : . .dNI.| 00000cb0 08 84 12 20 20 c9 20 34 20 3a 20 f7 20 8d 44 5a |... . 4 : . .DZ| 00000cc0 4a 0d 08 8e 07 20 20 cb 0d 08 98 05 e1 0d 08 a2 |J.... .........| 00000cd0 04 0d 08 ac 0e f4 20 6c 65 74 74 65 72 20 4d 0d |...... letter M.| 00000ce0 08 b6 08 dc 30 2c 30 0d 08 c0 0a dc 30 2c 31 39 |....0,0.....0,19| 00000cf0 32 0d 08 ca 0b dc 36 34 2c 31 39 32 0d 08 d4 0b |2.....64,192....| 00000d00 dc 31 32 30 2c 35 36 0d 08 de 0c dc 31 37 32 2c |.120,56.....172,| 00000d10 31 39 32 0d 08 e8 0c dc 32 34 30 2c 31 39 32 0d |192.....240,192.| 00000d20 08 f2 0a dc 32 34 30 2c 30 0d 08 fc 0a dc 32 30 |....240,0.....20| 00000d30 30 2c 30 0d 09 06 0c dc 32 30 30 2c 31 32 30 0d |0,0.....200,120.| 00000d40 09 10 0a dc 31 36 30 2c 30 0d 09 1a 09 dc 38 30 |....160,0.....80| 00000d50 2c 30 0d 09 24 0b dc 34 30 2c 31 32 30 0d 09 2e |,0..$..40,120...| 00000d60 09 dc 34 30 2c 30 0d 09 38 04 0d 09 42 0e f4 20 |..40,0..8...B.. | 00000d70 6c 65 74 74 65 72 20 49 0d 09 4c 0a dc 30 2c 31 |letter I..L..0,1| 00000d80 39 32 0d 09 56 0b dc 34 30 2c 31 39 32 0d 09 60 |92..V..40,192..`| 00000d90 0a dc 34 30 2c 39 36 0d 09 6a 0a dc 34 30 2c 38 |..40,96..j..40,8| 00000da0 38 0d 09 74 0a dc 34 30 2c 38 30 0d 09 7e 0a dc |8..t..40,80..~..| 00000db0 34 30 2c 37 32 0d 09 88 0a dc 34 30 2c 36 34 0d |40,72.....40,64.| 00000dc0 09 92 0a dc 34 30 2c 35 36 0d 09 9c 0a dc 34 30 |....40,56.....40| 00000dd0 2c 34 38 0d 09 a6 0a dc 34 30 2c 34 30 0d 09 b0 |,48.....40,40...| 00000de0 0a dc 34 30 2c 33 32 0d 09 ba 09 dc 34 30 2c 30 |..40,32.....40,0| 00000df0 0d 09 c4 04 0d 09 ce 0e f4 20 6c 65 74 74 65 72 |......... letter| 00000e00 20 4b 0d 09 d8 0a dc 30 2c 31 39 32 0d 09 e2 0b | K.....0,192....| 00000e10 dc 34 30 2c 31 39 32 0d 09 ec 0b dc 34 30 2c 31 |.40,192.....40,1| 00000e20 32 30 0d 09 f6 0c dc 31 31 32 2c 31 39 32 0d 0a |20.....112,192..| 00000e30 00 0c dc 31 36 38 2c 31 39 32 0d 0a 0a 0b dc 38 |...168,192.....8| 00000e40 30 2c 31 30 34 0d 0a 14 0a dc 31 38 34 2c 30 0d |0,104.....184,0.| 00000e50 0a 1e 0a dc 31 32 30 2c 30 0d 0a 28 0a dc 34 30 |....120,0..(..40| 00000e60 2c 38 30 0d 0a 32 09 dc 34 30 2c 30 0d 0a 3c 09 |,80..2..40,0..<.| 00000e70 dc 34 30 2c 30 0d 0a 46 09 dc 34 30 2c 30 0d 0a |.40,0..F..40,0..| 00000e80 50 04 0d 0a 5a 0e f4 20 6c 65 74 74 65 72 20 45 |P...Z.. letter E| 00000e90 0d 0a 64 0a dc 30 2c 31 39 32 0d 0a 6e 0c dc 31 |..d..0,192..n..1| 00000ea0 36 30 2c 31 39 32 0d 0a 78 0c dc 31 36 30 2c 31 |60,192..x..160,1| 00000eb0 35 32 0d 0a 82 0b dc 34 30 2c 31 35 32 0d 0a 8c |52.....40,152...| 00000ec0 0b dc 34 30 2c 31 31 32 0d 0a 96 0c dc 31 32 30 |..40,112.....120| 00000ed0 2c 31 31 32 0d 0a a0 0b dc 31 32 30 2c 38 30 0d |,112.....120,80.| 00000ee0 0a aa 0a dc 34 30 2c 38 30 0d 0a b4 0a dc 34 30 |....40,80.....40| 00000ef0 2c 34 30 0d 0a be 0b dc 31 36 30 2c 34 30 0d 0a |,40.....160,40..| 00000f00 c8 0a dc 31 36 30 2c 30 0d 0a d2 0a dc 31 36 30 |...160,0.....160| 00000f10 2c 30 0d ff |,0..| 00000f14