Home » Archimedes archive » Acorn User » AU 1994-09.adf » !StarInfo_Star » VanMourik/!MARTIN/MARTIN3
VanMourik/!MARTIN/MARTIN3
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 1994-09.adf » !StarInfo_Star |
Filename: | VanMourik/!MARTIN/MARTIN3 |
Read OK: | ✔ |
File size: | 0578 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM>MARTIN3 20REM JEAN VAN MOURIK MILLCOTTAGE DERWYDD AMMANFORD DYFED SA183LQ UK. 1994 25REM SEE END OFF CODE FOR ALTERNATIVE 'MARTIN' ROUTINES 30MODE12:COLOUR132:CLS:PRINT:PRINT" MARTIN MAP V.3":PRINT 40PRINT" RIGHT BUTTON TO START A NEW MAP.":PRINT 50PRINT" MIDDLE TO SEE THE SAME PATTERN ENLARGED.":PRINT:PRINT" LEFT TO MOVE PLOTTING AT POINTERS POSITION.":PRINT:PRINT" TO SAVE PRESS 'S'" 55PRINT:PRINT:PRINT" CLICK TO START" 60REPEAT:MOUSEA,B,C:A=RND:UNTILC 70PROCMODE:D%=0:REPEAT:MOUSEA,B,C:UNTILC=0:*POINTER 80ORIGIN 640,512:REM j, k, l DEFINE THE GENERATED IMAGE 90PRINT"LINE 130 j=RND(1)*6:k=RND(1)/2:l=RND(1)*9" 100FORZ=0TO15:READF,D,E:COLOURZ,F,D,E:NEXT:Q=SQR2*2:R=Q:C%=1 110 120REM MAIN LOOP 130REPEAT:IF C%=1 j=RND(1)*6:k=RND(1)/2:l=RND(1)*9:Q=R:x=9/Q:y=9/Q 140PRINTTAB(0,2)"j="j:PRINT"k="k:PRINT"l="l 150REPEAT:D%+=1:GCOLD%MOD15+1 160FORI%=1TO1567:Z=y-SGNx*SQRABS(k*x-l):y=j-x:x=Z:POINTQ*(x+y),Q*(x-y):NEXT 170MOUSEA%,B%,C%:IFC%=4 x=(A%+B%)/(Q*2):y=(A%-B%)/(Q*2):UNTIL0 175S$=INKEY$(1):IF S$="S":*SCREENSAVE IMAGE 180UNTILC%:IFC%=2 Q=Q*1.3 190REPEAT:MOUSEA,B,C:A=RND:UNTILC=0:CLS:UNTIL0 200 310DEFPROCMODE LOCAL C%,F% 320SYS "OS_CheckModeValid",20 TO ;F% 330C%=(F%AND%0010)>>1 340IF NOT (C%=1) MODE 20:MO%=1 ELSE MODE 12:MO%=0 350OFF:ENDPROC 360 444DATA 0,0,0,192,0,240,144,48,240,96,96,240,48,144,240,0,192,240,0,240,192,48,240,144,96,240,96,144,240,48,192,240,0,240,192,0,240,144,48,240,96,96,240,48,144,240,0,192 REM R,G,B PALETTE VALUES 450 460REM ALTERNATIVES TO LINE 160 465FORI%=1TO1567:Z=y-SGNx*ABS(k*x-l):y=j-x:x=Z:POINTQ*(x+y),Q*(x-y):NEXT 470FORI%=1TO1567:Z=y-SGNx*SQRABS(k*x-l):y=j-x:x=Z:POINTQ*(x+y),Q*(x-y):NEXT
�>MARTIN3 K� JEAN VAN MOURIK MILLCOTTAGE DERWYDD AMMANFORD DYFED SA183LQ UK. 1994 8� SEE END OFF CODE FOR ALTERNATIVE 'MARTIN' ROUTINES 9�12:�132:�:�:�" MARTIN MAP V.3":� (*�" RIGHT BUTTON TO START A NEW MAP.":� 2z�" MIDDLE TO SEE THE SAME PATTERN ENLARGED.":�:�" LEFT TO MOVE PLOTTING AT POINTERS POSITION.":�:�" TO SAVE PRESS 'S'" 7�:�:�" CLICK TO START" <�:ȗA,B,C:A=�:�C F&�MODE:D%=0:�:ȗA,B,C:�C=0:*POINTER P3ȑ 640,512:� j, k, l DEFINE THE GENERATED IMAGE Z1�"LINE 130 j=RND(1)*6:k=RND(1)/2:l=RND(1)*9" d-�Z=0�15:�F,D,E:�Z,F,D,E:�:Q=�2*2:R=Q:C%=1 n x� MAIN LOOP �7�:� C%=1 j=�(1)*6:k=�(1)/2:l=�(1)*9:Q=R:x=9/Q:y=9/Q ��0,2)"j="j:�"k="k:�"l="l ��:D%+=1:�D%�15+1 �=�I%=1�1567:Z=y-�x*��(k*x-l):y=j-x:x=Z:ȒQ*(x+y),Q*(x-y):� �7ȗA%,B%,C%:�C%=4 x=(A%+B%)/(Q*2):y=(A%-B%)/(Q*2):�0 �&S$=�(1):� S$="S":*SCREENSAVE IMAGE ��C%:�C%=2 Q=Q*1.3 ��:ȗA,B,C:A=�:�C=0:�:�0 � 6��MODE � C%,F% @#ș "OS_CheckModeValid",20 � ;F% JC%=(F%�%0010)>>1 T&� � (C%=1) � 20:MO%=1 � � 12:MO%=0 ^�:� h ��� 0,0,0,192,0,240,144,48,240,96,96,240,48,144,240,0,192,240,0,240,192,48,240,144,96,240,96,144,240,48,192,240,0,240,192,0,240,144,48,240,96,96,240,48,144,240,0,192 REM R,G,B PALETTE VALUES � �� ALTERNATIVES TO LINE 160 �<�I%=1�1567:Z=y-�x*�(k*x-l):y=j-x:x=Z:ȒQ*(x+y),Q*(x-y):� �=�I%=1�1567:Z=y-�x*��(k*x-l):y=j-x:x=Z:ȒQ*(x+y),Q*(x-y):� �
00000000 0d 00 0a 0d f4 3e 4d 41 52 54 49 4e 33 0d 00 14 |.....>MARTIN3...| 00000010 4b f4 20 4a 45 41 4e 20 56 41 4e 20 4d 4f 55 52 |K. JEAN VAN MOUR| 00000020 49 4b 20 4d 49 4c 4c 43 4f 54 54 41 47 45 20 44 |IK MILLCOTTAGE D| 00000030 45 52 57 59 44 44 20 41 4d 4d 41 4e 46 4f 52 44 |ERWYDD AMMANFORD| 00000040 20 44 59 46 45 44 20 53 41 31 38 33 4c 51 20 20 | DYFED SA183LQ | 00000050 55 4b 2e 20 31 39 39 34 0d 00 19 38 f4 20 53 45 |UK. 1994...8. SE| 00000060 45 20 45 4e 44 20 4f 46 46 20 43 4f 44 45 20 46 |E END OFF CODE F| 00000070 4f 52 20 41 4c 54 45 52 4e 41 54 49 56 45 20 27 |OR ALTERNATIVE '| 00000080 4d 41 52 54 49 4e 27 20 52 4f 55 54 49 4e 45 53 |MARTIN' ROUTINES| 00000090 0d 00 1e 39 eb 31 32 3a fb 31 33 32 3a db 3a f1 |...9.12:.132:.:.| 000000a0 3a f1 22 20 20 20 20 20 20 20 20 20 20 20 20 20 |:." | 000000b0 20 20 20 20 20 20 4d 41 52 54 49 4e 20 4d 41 50 | MARTIN MAP| 000000c0 20 20 20 56 2e 33 22 3a f1 0d 00 28 2a f1 22 20 | V.3":...(*." | 000000d0 52 49 47 48 54 20 42 55 54 54 4f 4e 20 54 4f 20 |RIGHT BUTTON TO | 000000e0 53 54 41 52 54 20 41 20 4e 45 57 20 4d 41 50 2e |START A NEW MAP.| 000000f0 22 3a f1 0d 00 32 7a f1 22 20 4d 49 44 44 4c 45 |":...2z." MIDDLE| 00000100 20 54 4f 20 53 45 45 20 54 48 45 20 53 41 4d 45 | TO SEE THE SAME| 00000110 20 50 41 54 54 45 52 4e 20 45 4e 4c 41 52 47 45 | PATTERN ENLARGE| 00000120 44 2e 22 3a f1 3a f1 22 20 4c 45 46 54 20 54 4f |D.":.:." LEFT TO| 00000130 20 4d 4f 56 45 20 50 4c 4f 54 54 49 4e 47 20 41 | MOVE PLOTTING A| 00000140 54 20 50 4f 49 4e 54 45 52 53 20 50 4f 53 49 54 |T POINTERS POSIT| 00000150 49 4f 4e 2e 22 3a f1 3a f1 22 20 54 4f 20 53 41 |ION.":.:." TO SA| 00000160 56 45 20 50 52 45 53 53 20 27 53 27 22 0d 00 37 |VE PRESS 'S'"..7| 00000170 1a f1 3a f1 3a f1 22 20 43 4c 49 43 4b 20 54 4f |..:.:." CLICK TO| 00000180 20 53 54 41 52 54 22 0d 00 3c 14 f5 3a c8 97 41 | START"..<..:..A| 00000190 2c 42 2c 43 3a 41 3d b3 3a fd 43 0d 00 46 26 f2 |,B,C:A=.:.C..F&.| 000001a0 4d 4f 44 45 3a 44 25 3d 30 3a f5 3a c8 97 41 2c |MODE:D%=0:.:..A,| 000001b0 42 2c 43 3a fd 43 3d 30 3a 2a 50 4f 49 4e 54 45 |B,C:.C=0:*POINTE| 000001c0 52 0d 00 50 33 c8 91 20 36 34 30 2c 35 31 32 3a |R..P3.. 640,512:| 000001d0 f4 20 6a 2c 20 6b 2c 20 6c 20 44 45 46 49 4e 45 |. j, k, l DEFINE| 000001e0 20 54 48 45 20 47 45 4e 45 52 41 54 45 44 20 49 | THE GENERATED I| 000001f0 4d 41 47 45 0d 00 5a 31 f1 22 4c 49 4e 45 20 31 |MAGE..Z1."LINE 1| 00000200 33 30 20 20 6a 3d 52 4e 44 28 31 29 2a 36 3a 6b |30 j=RND(1)*6:k| 00000210 3d 52 4e 44 28 31 29 2f 32 3a 6c 3d 52 4e 44 28 |=RND(1)/2:l=RND(| 00000220 31 29 2a 39 22 0d 00 64 2d e3 5a 3d 30 b8 31 35 |1)*9"..d-.Z=0.15| 00000230 3a f3 46 2c 44 2c 45 3a fb 5a 2c 46 2c 44 2c 45 |:.F,D,E:.Z,F,D,E| 00000240 3a ed 3a 51 3d b6 32 2a 32 3a 52 3d 51 3a 43 25 |:.:Q=.2*2:R=Q:C%| 00000250 3d 31 0d 00 6e 05 20 0d 00 78 0f f4 20 4d 41 49 |=1..n. ..x.. MAI| 00000260 4e 20 4c 4f 4f 50 0d 00 82 37 f5 3a e7 20 43 25 |N LOOP...7.:. C%| 00000270 3d 31 20 6a 3d b3 28 31 29 2a 36 3a 6b 3d b3 28 |=1 j=.(1)*6:k=.(| 00000280 31 29 2f 32 3a 6c 3d b3 28 31 29 2a 39 3a 51 3d |1)/2:l=.(1)*9:Q=| 00000290 52 3a 78 3d 39 2f 51 3a 79 3d 39 2f 51 0d 00 8c |R:x=9/Q:y=9/Q...| 000002a0 1d f1 8a 30 2c 32 29 22 6a 3d 22 6a 3a f1 22 6b |...0,2)"j="j:."k| 000002b0 3d 22 6b 3a f1 22 6c 3d 22 6c 0d 00 96 14 f5 3a |="k:."l="l.....:| 000002c0 44 25 2b 3d 31 3a e6 44 25 83 31 35 2b 31 0d 00 |D%+=1:.D%.15+1..| 000002d0 a0 3d e3 49 25 3d 31 b8 31 35 36 37 3a 5a 3d 79 |.=.I%=1.1567:Z=y| 000002e0 2d b4 78 2a b6 94 28 6b 2a 78 2d 6c 29 3a 79 3d |-.x*..(k*x-l):y=| 000002f0 6a 2d 78 3a 78 3d 5a 3a c8 92 51 2a 28 78 2b 79 |j-x:x=Z:..Q*(x+y| 00000300 29 2c 51 2a 28 78 2d 79 29 3a ed 0d 00 aa 37 c8 |),Q*(x-y):....7.| 00000310 97 41 25 2c 42 25 2c 43 25 3a e7 43 25 3d 34 20 |.A%,B%,C%:.C%=4 | 00000320 78 3d 28 41 25 2b 42 25 29 2f 28 51 2a 32 29 3a |x=(A%+B%)/(Q*2):| 00000330 79 3d 28 41 25 2d 42 25 29 2f 28 51 2a 32 29 3a |y=(A%-B%)/(Q*2):| 00000340 fd 30 0d 00 af 26 53 24 3d bf 28 31 29 3a e7 20 |.0...&S$=.(1):. | 00000350 53 24 3d 22 53 22 3a 2a 53 43 52 45 45 4e 53 41 |S$="S":*SCREENSA| 00000360 56 45 20 49 4d 41 47 45 0d 00 b4 15 fd 43 25 3a |VE IMAGE.....C%:| 00000370 e7 43 25 3d 32 20 51 3d 51 2a 31 2e 33 0d 00 be |.C%=2 Q=Q*1.3...| 00000380 1b f5 3a c8 97 41 2c 42 2c 43 3a 41 3d b3 3a fd |..:..A,B,C:A=.:.| 00000390 43 3d 30 3a db 3a fd 30 0d 00 c8 05 20 0d 01 36 |C=0:.:.0.... ..6| 000003a0 12 dd f2 4d 4f 44 45 20 ea 20 43 25 2c 46 25 0d |...MODE . C%,F%.| 000003b0 01 40 23 c8 99 20 22 4f 53 5f 43 68 65 63 6b 4d |.@#.. "OS_CheckM| 000003c0 6f 64 65 56 61 6c 69 64 22 2c 32 30 20 b8 20 3b |odeValid",20 . ;| 000003d0 46 25 0d 01 4a 14 43 25 3d 28 46 25 80 25 30 30 |F%..J.C%=(F%.%00| 000003e0 31 30 29 3e 3e 31 0d 01 54 26 e7 20 ac 20 28 43 |10)>>1..T&. . (C| 000003f0 25 3d 31 29 20 eb 20 32 30 3a 4d 4f 25 3d 31 20 |%=1) . 20:MO%=1 | 00000400 8b 20 eb 20 31 32 3a 4d 4f 25 3d 30 0d 01 5e 07 |. . 12:MO%=0..^.| 00000410 87 3a e1 0d 01 68 05 20 0d 01 bc c2 dc 20 30 2c |.:...h. ..... 0,| 00000420 30 2c 30 2c 31 39 32 2c 30 2c 32 34 30 2c 31 34 |0,0,192,0,240,14| 00000430 34 2c 34 38 2c 32 34 30 2c 39 36 2c 39 36 2c 32 |4,48,240,96,96,2| 00000440 34 30 2c 34 38 2c 31 34 34 2c 32 34 30 2c 30 2c |40,48,144,240,0,| 00000450 31 39 32 2c 32 34 30 2c 30 2c 32 34 30 2c 31 39 |192,240,0,240,19| 00000460 32 2c 34 38 2c 32 34 30 2c 31 34 34 2c 39 36 2c |2,48,240,144,96,| 00000470 32 34 30 2c 39 36 2c 31 34 34 2c 32 34 30 2c 34 |240,96,144,240,4| 00000480 38 2c 31 39 32 2c 32 34 30 2c 30 2c 32 34 30 2c |8,192,240,0,240,| 00000490 31 39 32 2c 30 2c 32 34 30 2c 31 34 34 2c 34 38 |192,0,240,144,48| 000004a0 2c 32 34 30 2c 39 36 2c 39 36 2c 32 34 30 2c 34 |,240,96,96,240,4| 000004b0 38 2c 31 34 34 2c 32 34 30 2c 30 2c 31 39 32 20 |8,144,240,0,192 | 000004c0 20 20 52 45 4d 20 52 2c 47 2c 42 20 50 41 4c 45 | REM R,G,B PALE| 000004d0 54 54 45 20 56 41 4c 55 45 53 0d 01 c2 05 20 0d |TTE VALUES.... .| 000004e0 01 cc 1e f4 20 41 4c 54 45 52 4e 41 54 49 56 45 |.... ALTERNATIVE| 000004f0 53 20 54 4f 20 4c 49 4e 45 20 31 36 30 0d 01 d1 |S TO LINE 160...| 00000500 3c e3 49 25 3d 31 b8 31 35 36 37 3a 5a 3d 79 2d |<.I%=1.1567:Z=y-| 00000510 b4 78 2a 94 28 6b 2a 78 2d 6c 29 3a 79 3d 6a 2d |.x*.(k*x-l):y=j-| 00000520 78 3a 78 3d 5a 3a c8 92 51 2a 28 78 2b 79 29 2c |x:x=Z:..Q*(x+y),| 00000530 51 2a 28 78 2d 79 29 3a ed 0d 01 d6 3d e3 49 25 |Q*(x-y):....=.I%| 00000540 3d 31 b8 31 35 36 37 3a 5a 3d 79 2d b4 78 2a b6 |=1.1567:Z=y-.x*.| 00000550 94 28 6b 2a 78 2d 6c 29 3a 79 3d 6a 2d 78 3a 78 |.(k*x-l):y=j-x:x| 00000560 3d 5a 3a c8 92 51 2a 28 78 2b 79 29 2c 51 2a 28 |=Z:..Q*(x+y),Q*(| 00000570 78 2d 79 29 3a ed 0d ff |x-y):...| 00000578