Home » Archimedes archive » Micro User » MU 1991-01.adf » PD-Stuff » !Impact/Designer
!Impact/Designer
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 » Micro User » MU 1991-01.adf » PD-Stuff |
Filename: | !Impact/Designer |
Read OK: | ✔ |
File size: | 077B bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10ONERROR:MODE7:REPORT:PRINT" AT LINE ";ERL:END 20MODE9 30COLOUR1,&80,&80,&80 40COLOUR2,&B0,&B0,&B0 50COLOUR3,&00,&90,&10 60COLOUR4,&E0,&00,&00 70COLOUR5,&F0,&B0,&00 80COLOUR6,&F0,&F0,&00 90COLOUR7,&00,&40,&A0 100COLOUR8,&00,&F0,&00 110COLOUR9,&00,&B0,&60 120COLOUR10,&40,&90,&F0 130COLOUR11,&70,&00,&D0 140COLOUR12,&B0,&70,&00 150COLOUR13,&F0,&90,&00 160COLOUR14,&E0,&00,&E0 170COLOUR15,&F0,&F0,&F0 180MOUSESTEP2 190VDU23,224,247,247,247,0,127,127,127,0 200VDU23,225,247,247,247,0,126,126,126,0 210VDU23,226,&7F,&7F,&7F,&7F,&7F,&7F,&7F,0 220VDU23,227,&FF,&FF,&FF,&FF,&FF,&FF,&FF,0 230VDU23,228,&80,&80,&80,0,0,0,0,0 240VDU23,229,119,119,119,0,63,63,63,0 250COLOUR13 260FORI=0TO27:VDU224:NEXT:VDU228:PRINT 270FORI=0TO23:VDU225:PRINTSTRING$(26,CHR$32);:VDU229,228:PRINT:NEXT 280VDU23,1,0| 290DIM blocks% 23400 292test=OPENIN("<Obey$Dir>.screens"):CLOSE#0:IF test=0 THEN 293FORI%=blocks% TO blocks%+23400 STEP4:!I%=0:NEXT 294OSCLI("SAVE <Obey$Dir>.Screens "+STR$~blocks%+" 5B68") 2945*SETTYPE <Obey$Dir>.Screens Data 295ENDIF 296OSCLI("LOAD <Obey$Dir>.Screens "+STR$~blocks%) 300S%=0 310GCOL63:FORY%=384 TO 960 STEP32:MOVE32,Y%:DRAW864,Y%:NEXT 320FORX%=32TO864 STEP 64:MOVEX%,384:DRAWX%,960:NEXT 330FORI%=0TO15:COLOURI%:PRINTTAB(((I%MOD4)*3)+28,((I%DIV4)*2)+2);:VDU32,226,227:NEXT 340PRINTTAB(30,14)"SAVE" 341PRINTTAB(30,16)"SCREEN +":PRINTTAB(30,18)"SCREEN -" 350*POINTER 360COLOUR255 361PROCdrawscreen 370REPEAT:MOUSE X%,Y%,B% 371IF B%<>0 ANDX%>973ANDX%<1080ANDY%<570ANDY%>550THEN PROCsave 372IF B%<>0 ANDX%>973ANDY%<506ANDY%>474 THEN S%+=1:PROCnextscreen 373IF B%<>0 ANDX%>973ANDY%<444ANDY%>412 THEN S%-=1:PROCprevscreen 380IF X%>960 AND B%<>0 THEN PROCcolour 390IF X%<960 ANDB%<>0 THEN PROCshowblock(C%) 400UNTILFALSE 410END 420DEFPROCshowblock(C%) 430IF Y%<384 OR Y%>960 OR X%>848 THEN ENDPROC 440X%-=32:X%=X%DIV64:Y%=Y%DIV32 450COLOURC%:PRINTTAB((X%<<1)+1,31-Y%);CHR$226;CHR$227 460START%=(S%*234)+blocks% 470pointer%=START%+X%+((29-Y%)*13):?pointer%=C% 480ENDPROC 490DEFPROCcolour 500C%=POINT(X%,Y%) 510ENDPROC 600DEFPROCsave 601OSCLI("SAVE screens "+STR$~blocks%+" +5B68") 602ENDPROC 700DEFPROCdrawscreen 710START%=(S%*234)+blocks%:count%=0:PRINTTAB(1,2); 711REPEAT 720C%=count%?START%:COLOURC% 730VDU226,227:count%+=1:IF count%MOD13=0 THEN VDU13,10,9 740UNTILcount%=234 750ENDPROC 800DEFPROCnextscreen 810IF S%=100 THEN S%=0 820PROCdrawscreen 830ENDPROC 900DEFPROCprevscreen 910IF S%<0 THEN S%=99 920PROCdrawscreen 930ENDPROC
�:�7:�:�" AT LINE ";�:� �9 �1,&80,&80,&80 (�2,&B0,&B0,&B0 2�3,&00,&90,&10 <�4,&E0,&00,&00 F�5,&F0,&B0,&00 P�6,&F0,&F0,&00 Z�7,&00,&40,&A0 d�8,&00,&F0,&00 n�9,&00,&B0,&60 x�10,&40,&90,&F0 ��11,&70,&00,&D0 ��12,&B0,&70,&00 ��13,&F0,&90,&00 ��14,&E0,&00,&E0 ��15,&F0,&F0,&F0 �ȗ�2 �'�23,224,247,247,247,0,127,127,127,0 �'�23,225,247,247,247,0,126,126,126,0 �)�23,226,&7F,&7F,&7F,&7F,&7F,&7F,&7F,0 �)�23,227,&FF,&FF,&FF,&FF,&FF,&FF,&FF,0 �!�23,228,&80,&80,&80,0,0,0,0,0 �$�23,229,119,119,119,0,63,63,63,0 ��13 �I=0�27:�224:�:�228:� (�I=0�23:�225:��26,�32);:�229,228:�:� �23,1,0| "� blocks% 23400 $/test=�("<Obey$Dir>.screens"):�#0:� test=0 � %*�I%=blocks% � blocks%+23400 �4:!I%=0:� &3�("SAVE <Obey$Dir>.Screens "+�~blocks%+" 5B68") �$*SETTYPE <Obey$Dir>.Screens Data '� (+�("LOAD <Obey$Dir>.Screens "+�~blocks%) ,S%=0 6*�63:�Y%=384 � 960 �32:�32,Y%:�864,Y%:� @%�X%=32�864 � 64:�X%,384:�X%,960:� J=�I%=0�15:�I%:�((I%�4)*3)+28,((I%�4)*2)+2);:�32,226,227:� T�30,14)"SAVE" U)�30,16)"SCREEN +":�30,18)"SCREEN -" ^*POINTER h�255 i�drawscreen r�:ȗ X%,Y%,B% s0� B%<>0 �X%>973�X%<1080�Y%<570�Y%>550� �save t5� B%<>0 �X%>973�Y%<506�Y%>474 � S%+=1:�nextscreen u5� B%<>0 �X%>973�Y%<444�Y%>412 � S%-=1:�prevscreen |� X%>960 � B%<>0 � �colour �$� X%<960 �B%<>0 � �showblock(C%) ��� �� ���showblock(C%) �"� Y%<384 � Y%>960 � X%>848 � � �X%-=32:X%=X%�64:Y%=Y%�32 �$�C%:�(X%<<1)+1,31-Y%);�226;�227 �START%=(S%*234)+blocks% �0pointer%=START%+X%+((29-Y%)*13):?pointer%=C% �� ���colour �C%=�X%,Y%) �� X ��save Y)�("SAVE screens "+�~blocks%+" +5B68") Z� ���drawscreen �,START%=(S%*234)+blocks%:count%=0:�1,2); �� �C%=count%?START%:�C% �/�226,227:count%+=1:� count%�13=0 � �13,10,9 ��count%=234 �� ��nextscreen *� S%=100 � S%=0 4�drawscreen >� ���prevscreen �� S%<0 � S%=99 ��drawscreen �� �
00000000 0d 00 0a 1c ee 85 3a eb 37 3a f6 3a f1 22 20 41 |......:.7:.:." A| 00000010 54 20 4c 49 4e 45 20 22 3b 9e 3a e0 0d 00 14 06 |T LINE ";.:.....| 00000020 eb 39 0d 00 1e 12 fb 31 2c 26 38 30 2c 26 38 30 |.9.....1,&80,&80| 00000030 2c 26 38 30 0d 00 28 12 fb 32 2c 26 42 30 2c 26 |,&80..(..2,&B0,&| 00000040 42 30 2c 26 42 30 0d 00 32 12 fb 33 2c 26 30 30 |B0,&B0..2..3,&00| 00000050 2c 26 39 30 2c 26 31 30 0d 00 3c 12 fb 34 2c 26 |,&90,&10..<..4,&| 00000060 45 30 2c 26 30 30 2c 26 30 30 0d 00 46 12 fb 35 |E0,&00,&00..F..5| 00000070 2c 26 46 30 2c 26 42 30 2c 26 30 30 0d 00 50 12 |,&F0,&B0,&00..P.| 00000080 fb 36 2c 26 46 30 2c 26 46 30 2c 26 30 30 0d 00 |.6,&F0,&F0,&00..| 00000090 5a 12 fb 37 2c 26 30 30 2c 26 34 30 2c 26 41 30 |Z..7,&00,&40,&A0| 000000a0 0d 00 64 12 fb 38 2c 26 30 30 2c 26 46 30 2c 26 |..d..8,&00,&F0,&| 000000b0 30 30 0d 00 6e 12 fb 39 2c 26 30 30 2c 26 42 30 |00..n..9,&00,&B0| 000000c0 2c 26 36 30 0d 00 78 13 fb 31 30 2c 26 34 30 2c |,&60..x..10,&40,| 000000d0 26 39 30 2c 26 46 30 0d 00 82 13 fb 31 31 2c 26 |&90,&F0.....11,&| 000000e0 37 30 2c 26 30 30 2c 26 44 30 0d 00 8c 13 fb 31 |70,&00,&D0.....1| 000000f0 32 2c 26 42 30 2c 26 37 30 2c 26 30 30 0d 00 96 |2,&B0,&70,&00...| 00000100 13 fb 31 33 2c 26 46 30 2c 26 39 30 2c 26 30 30 |..13,&F0,&90,&00| 00000110 0d 00 a0 13 fb 31 34 2c 26 45 30 2c 26 30 30 2c |.....14,&E0,&00,| 00000120 26 45 30 0d 00 aa 13 fb 31 35 2c 26 46 30 2c 26 |&E0.....15,&F0,&| 00000130 46 30 2c 26 46 30 0d 00 b4 08 c8 97 88 32 0d 00 |F0,&F0.......2..| 00000140 be 27 ef 32 33 2c 32 32 34 2c 32 34 37 2c 32 34 |.'.23,224,247,24| 00000150 37 2c 32 34 37 2c 30 2c 31 32 37 2c 31 32 37 2c |7,247,0,127,127,| 00000160 31 32 37 2c 30 0d 00 c8 27 ef 32 33 2c 32 32 35 |127,0...'.23,225| 00000170 2c 32 34 37 2c 32 34 37 2c 32 34 37 2c 30 2c 31 |,247,247,247,0,1| 00000180 32 36 2c 31 32 36 2c 31 32 36 2c 30 0d 00 d2 29 |26,126,126,0...)| 00000190 ef 32 33 2c 32 32 36 2c 26 37 46 2c 26 37 46 2c |.23,226,&7F,&7F,| 000001a0 26 37 46 2c 26 37 46 2c 26 37 46 2c 26 37 46 2c |&7F,&7F,&7F,&7F,| 000001b0 26 37 46 2c 30 0d 00 dc 29 ef 32 33 2c 32 32 37 |&7F,0...).23,227| 000001c0 2c 26 46 46 2c 26 46 46 2c 26 46 46 2c 26 46 46 |,&FF,&FF,&FF,&FF| 000001d0 2c 26 46 46 2c 26 46 46 2c 26 46 46 2c 30 0d 00 |,&FF,&FF,&FF,0..| 000001e0 e6 21 ef 32 33 2c 32 32 38 2c 26 38 30 2c 26 38 |.!.23,228,&80,&8| 000001f0 30 2c 26 38 30 2c 30 2c 30 2c 30 2c 30 2c 30 0d |0,&80,0,0,0,0,0.| 00000200 00 f0 24 ef 32 33 2c 32 32 39 2c 31 31 39 2c 31 |..$.23,229,119,1| 00000210 31 39 2c 31 31 39 2c 30 2c 36 33 2c 36 33 2c 36 |19,119,0,63,63,6| 00000220 33 2c 30 0d 00 fa 07 fb 31 33 0d 01 04 19 e3 49 |3,0.....13.....I| 00000230 3d 30 b8 32 37 3a ef 32 32 34 3a ed 3a ef 32 32 |=0.27:.224:.:.22| 00000240 38 3a f1 0d 01 0e 28 e3 49 3d 30 b8 32 33 3a ef |8:....(.I=0.23:.| 00000250 32 32 35 3a f1 c4 32 36 2c bd 33 32 29 3b 3a ef |225:..26,.32);:.| 00000260 32 32 39 2c 32 32 38 3a f1 3a ed 0d 01 18 0c ef |229,228:.:......| 00000270 32 33 2c 31 2c 30 7c 0d 01 22 13 de 20 62 6c 6f |23,1,0|..".. blo| 00000280 63 6b 73 25 20 32 33 34 30 30 0d 01 24 2f 74 65 |cks% 23400..$/te| 00000290 73 74 3d 8e 28 22 3c 4f 62 65 79 24 44 69 72 3e |st=.("<Obey$Dir>| 000002a0 2e 73 63 72 65 65 6e 73 22 29 3a d9 23 30 3a e7 |.screens"):.#0:.| 000002b0 20 74 65 73 74 3d 30 20 8c 0d 01 25 2a e3 49 25 | test=0 ...%*.I%| 000002c0 3d 62 6c 6f 63 6b 73 25 20 b8 20 62 6c 6f 63 6b |=blocks% . block| 000002d0 73 25 2b 32 33 34 30 30 20 88 34 3a 21 49 25 3d |s%+23400 .4:!I%=| 000002e0 30 3a ed 0d 01 26 33 ff 28 22 53 41 56 45 20 3c |0:...&3.("SAVE <| 000002f0 4f 62 65 79 24 44 69 72 3e 2e 53 63 72 65 65 6e |Obey$Dir>.Screen| 00000300 73 20 22 2b c3 7e 62 6c 6f 63 6b 73 25 2b 22 20 |s "+.~blocks%+" | 00000310 35 42 36 38 22 29 0d 0b 81 24 2a 53 45 54 54 59 |5B68")...$*SETTY| 00000320 50 45 20 3c 4f 62 65 79 24 44 69 72 3e 2e 53 63 |PE <Obey$Dir>.Sc| 00000330 72 65 65 6e 73 20 44 61 74 61 0d 01 27 05 cd 0d |reens Data..'...| 00000340 01 28 2b ff 28 22 4c 4f 41 44 20 3c 4f 62 65 79 |.(+.("LOAD <Obey| 00000350 24 44 69 72 3e 2e 53 63 72 65 65 6e 73 20 22 2b |$Dir>.Screens "+| 00000360 c3 7e 62 6c 6f 63 6b 73 25 29 0d 01 2c 08 53 25 |.~blocks%)..,.S%| 00000370 3d 30 0d 01 36 2a e6 36 33 3a e3 59 25 3d 33 38 |=0..6*.63:.Y%=38| 00000380 34 20 b8 20 39 36 30 20 88 33 32 3a ec 33 32 2c |4 . 960 .32:.32,| 00000390 59 25 3a df 38 36 34 2c 59 25 3a ed 0d 01 40 25 |Y%:.864,Y%:...@%| 000003a0 e3 58 25 3d 33 32 b8 38 36 34 20 88 20 36 34 3a |.X%=32.864 . 64:| 000003b0 ec 58 25 2c 33 38 34 3a df 58 25 2c 39 36 30 3a |.X%,384:.X%,960:| 000003c0 ed 0d 01 4a 3d e3 49 25 3d 30 b8 31 35 3a fb 49 |...J=.I%=0.15:.I| 000003d0 25 3a f1 8a 28 28 49 25 83 34 29 2a 33 29 2b 32 |%:..((I%.4)*3)+2| 000003e0 38 2c 28 28 49 25 81 34 29 2a 32 29 2b 32 29 3b |8,((I%.4)*2)+2);| 000003f0 3a ef 33 32 2c 32 32 36 2c 32 32 37 3a ed 0d 01 |:.32,226,227:...| 00000400 54 12 f1 8a 33 30 2c 31 34 29 22 53 41 56 45 22 |T...30,14)"SAVE"| 00000410 0d 01 55 29 f1 8a 33 30 2c 31 36 29 22 53 43 52 |..U)..30,16)"SCR| 00000420 45 45 4e 20 2b 22 3a f1 8a 33 30 2c 31 38 29 22 |EEN +":..30,18)"| 00000430 53 43 52 45 45 4e 20 2d 22 0d 01 5e 0c 2a 50 4f |SCREEN -"..^.*PO| 00000440 49 4e 54 45 52 0d 01 68 08 fb 32 35 35 0d 01 69 |INTER..h..255..i| 00000450 0f f2 64 72 61 77 73 63 72 65 65 6e 0d 01 72 11 |..drawscreen..r.| 00000460 f5 3a c8 97 20 58 25 2c 59 25 2c 42 25 0d 01 73 |.:.. X%,Y%,B%..s| 00000470 30 e7 20 42 25 3c 3e 30 20 80 58 25 3e 39 37 33 |0. B%<>0 .X%>973| 00000480 80 58 25 3c 31 30 38 30 80 59 25 3c 35 37 30 80 |.X%<1080.Y%<570.| 00000490 59 25 3e 35 35 30 8c 20 f2 73 61 76 65 0d 01 74 |Y%>550. .save..t| 000004a0 35 e7 20 42 25 3c 3e 30 20 80 58 25 3e 39 37 33 |5. B%<>0 .X%>973| 000004b0 80 59 25 3c 35 30 36 80 59 25 3e 34 37 34 20 8c |.Y%<506.Y%>474 .| 000004c0 20 53 25 2b 3d 31 3a f2 6e 65 78 74 73 63 72 65 | S%+=1:.nextscre| 000004d0 65 6e 0d 01 75 35 e7 20 42 25 3c 3e 30 20 80 58 |en..u5. B%<>0 .X| 000004e0 25 3e 39 37 33 80 59 25 3c 34 34 34 80 59 25 3e |%>973.Y%<444.Y%>| 000004f0 34 31 32 20 8c 20 53 25 2d 3d 31 3a f2 70 72 65 |412 . S%-=1:.pre| 00000500 76 73 63 72 65 65 6e 0d 01 7c 1e e7 20 58 25 3e |vscreen..|.. X%>| 00000510 39 36 30 20 80 20 42 25 3c 3e 30 20 8c 20 f2 63 |960 . B%<>0 . .c| 00000520 6f 6c 6f 75 72 0d 01 86 24 e7 20 58 25 3c 39 36 |olour...$. X%<96| 00000530 30 20 80 42 25 3c 3e 30 20 8c 20 f2 73 68 6f 77 |0 .B%<>0 . .show| 00000540 62 6c 6f 63 6b 28 43 25 29 0d 01 90 06 fd a3 0d |block(C%).......| 00000550 01 9a 05 e0 0d 01 a4 13 dd f2 73 68 6f 77 62 6c |..........showbl| 00000560 6f 63 6b 28 43 25 29 0d 01 ae 22 e7 20 59 25 3c |ock(C%)...". Y%<| 00000570 33 38 34 20 84 20 59 25 3e 39 36 30 20 84 20 58 |384 . Y%>960 . X| 00000580 25 3e 38 34 38 20 8c 20 e1 0d 01 b8 1c 58 25 2d |%>848 . .....X%-| 00000590 3d 33 32 3a 58 25 3d 58 25 81 36 34 3a 59 25 3d |=32:X%=X%.64:Y%=| 000005a0 59 25 81 33 32 0d 01 c2 24 fb 43 25 3a f1 8a 28 |Y%.32...$.C%:..(| 000005b0 58 25 3c 3c 31 29 2b 31 2c 33 31 2d 59 25 29 3b |X%<<1)+1,31-Y%);| 000005c0 bd 32 32 36 3b bd 32 32 37 0d 01 cc 1b 53 54 41 |.226;.227....STA| 000005d0 52 54 25 3d 28 53 25 2a 32 33 34 29 2b 62 6c 6f |RT%=(S%*234)+blo| 000005e0 63 6b 73 25 0d 01 d6 30 70 6f 69 6e 74 65 72 25 |cks%...0pointer%| 000005f0 3d 53 54 41 52 54 25 2b 58 25 2b 28 28 32 39 2d |=START%+X%+((29-| 00000600 59 25 29 2a 31 33 29 3a 3f 70 6f 69 6e 74 65 72 |Y%)*13):?pointer| 00000610 25 3d 43 25 0d 01 e0 05 e1 0d 01 ea 0c dd f2 63 |%=C%...........c| 00000620 6f 6c 6f 75 72 0d 01 f4 0e 43 25 3d b0 58 25 2c |olour....C%=.X%,| 00000630 59 25 29 0d 01 fe 05 e1 0d 02 58 0a dd f2 73 61 |Y%).......X...sa| 00000640 76 65 0d 02 59 29 ff 28 22 53 41 56 45 20 73 63 |ve..Y).("SAVE sc| 00000650 72 65 65 6e 73 20 22 2b c3 7e 62 6c 6f 63 6b 73 |reens "+.~blocks| 00000660 25 2b 22 20 2b 35 42 36 38 22 29 0d 02 5a 05 e1 |%+" +5B68")..Z..| 00000670 0d 02 bc 10 dd f2 64 72 61 77 73 63 72 65 65 6e |......drawscreen| 00000680 0d 02 c6 2c 53 54 41 52 54 25 3d 28 53 25 2a 32 |...,START%=(S%*2| 00000690 33 34 29 2b 62 6c 6f 63 6b 73 25 3a 63 6f 75 6e |34)+blocks%:coun| 000006a0 74 25 3d 30 3a f1 8a 31 2c 32 29 3b 0d 02 c7 05 |t%=0:..1,2);....| 000006b0 f5 0d 02 d0 18 43 25 3d 63 6f 75 6e 74 25 3f 53 |.....C%=count%?S| 000006c0 54 41 52 54 25 3a fb 43 25 0d 02 da 2f ef 32 32 |TART%:.C%.../.22| 000006d0 36 2c 32 32 37 3a 63 6f 75 6e 74 25 2b 3d 31 3a |6,227:count%+=1:| 000006e0 e7 20 63 6f 75 6e 74 25 83 31 33 3d 30 20 8c 20 |. count%.13=0 . | 000006f0 ef 31 33 2c 31 30 2c 39 0d 02 e4 0f fd 63 6f 75 |.13,10,9.....cou| 00000700 6e 74 25 3d 32 33 34 0d 02 ee 05 e1 0d 03 20 10 |nt%=234....... .| 00000710 dd f2 6e 65 78 74 73 63 72 65 65 6e 0d 03 2a 13 |..nextscreen..*.| 00000720 e7 20 53 25 3d 31 30 30 20 8c 20 53 25 3d 30 0d |. S%=100 . S%=0.| 00000730 03 34 0f f2 64 72 61 77 73 63 72 65 65 6e 0d 03 |.4..drawscreen..| 00000740 3e 05 e1 0d 03 84 10 dd f2 70 72 65 76 73 63 72 |>........prevscr| 00000750 65 65 6e 0d 03 8e 12 e7 20 53 25 3c 30 20 8c 20 |een..... S%<0 . | 00000760 53 25 3d 39 39 0d 03 98 0f f2 64 72 61 77 73 63 |S%=99.....drawsc| 00000770 72 65 65 6e 0d 03 a2 05 e1 0d ff |reen.......| 0000077b