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