Home » Personal collection » Acorn ADFS disks » Electron » Programs.ADF » Graphics/Super-PIC
Graphics/Super-PIC
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 » Personal collection » Acorn ADFS disks » Electron » Programs.ADF |
Filename: | Graphics/Super-PIC |
Read OK: | ✔ |
File size: | 0479 bytes |
Load address: | FFFF0E00 |
Exec address: | FFFF8023 |
Duplicates
There are 6 duplicate copies of this file in the archive:
- Personal collection » Acorn ADFS disks » Electron » Programs_B.ADF » Graphics/Super-PIC
- Personal collection » Acorn ADFS disks » Electron » Programs.ADF » Graphics/Super-PIC
- Personal collection » Acorn ADFS disks » Electron » Programs_V2.ADF » Graphics/Super-PIC
- Personal collection » Acorn ADFS disks » Greaseweazled » adfs_Programs.adf » Graphics/Super-PIC
- Personal collection » Acorn hard disk » misc » misc2 » dcfprogs/Graphics/Super-PIC
- Personal collection » Acorn hard disk » misc » misc3 » dcfprog3/Graphics/Super-PIC
- Personal collection » Acorn tapes » Own_Work » drawer_tl_tape08a_c15_acorn_pixel.wav » SUPER-PIC
File contents
10 C=7 20 MODE 2:Y=0:Y2=0:ON ERROR PROCerror 30 VDU 28,0,4,12,0:NE=0:DIM L(290,4) 40 A$=GET$ 50 IF A$="Z" THEN GCOL 0,0:MOVE Y,Y2:DRAW Y,Y2:GCOL0,C:Y=Y-1 60 IF A$="X" THEN GCOL 0,0:MOVE Y,Y2:DRAW Y,Y2:GCOL 0,C:Y=Y+1 70 IF A$=":" THEN GCOL 0,0:MOVE Y,Y2:DRAW Y,Y2:GCOL 0,C:Y2=Y2+1 80 IF A$="/" THEN GCOL 0,0:MOVE Y,Y2:DRAW Y,Y2:GCOL 0,C:Y2=Y2-1 90 IF A$="M" THEN L(NE,0)=Y:L(NE,1)=Y2 95 IF A$="Q" THEN GCOL 0,0:MOVE Y,Y2:DRAW Y,Y2:GCOL 0,C:Y=500:Y2=500 100 IF A$="D" THEN L(NE,2)=Y:L(NE,3)=Y2:NE=NE+1:MOVE L(NE-1,0),L(NE-1,1):DRAW L(NE-1,2),L(NE-1,3):L(NE-1,4)=C 105 IF A$="Z" THEN INPUTY,Y2 110 IF A$="R" THEN PROCredraw 120 IF A$="S" THEN PROCsave 130 IF A$="L" THEN PROCload 140 IF A$="C" THEN INPUT C:FOR C2=0 TO 15:IF C=C2 THEN GCOL 0,C:NEXTC2 150 IF Y<0 OR Y>1000 THEN Y=1000 160 IF Y2<0 OR Y2>800 THEN Y2=800 170 MOVE Y,Y2:DRAW Y,Y2:GOTO 40 180 DEFPROCredraw 190 IF NE=0 THEN ENDPROC 200 FOR R=1 TO NE:COLOUR L(R,4) 210 MOVE L(R,0),L(R,1):DRAW L(R,2),L(R,3) 220 NEXT:ENDPROC 230 DEFPROCload:CLEAR:Y=0:Y2=0:DIM L(290,4) 240 INPUT"FILENAME";F$:*EXEC F$:ENDPROC 250 DEFPROCsave 260 INPUT"FILENAME";F$:*SPOOL F$ 270 PRINT"MODE 2:VDU 28,0,4,12,0:NE=";NE 290 FOR S=0 TO NE-1:PRINT"GCOL";L(S,4) 300 PRINT"MOVE";L(S,0);",";L(S,1);":DRAW";L(S,2);",";L(S,3):NEXT:*SPOOL 310 ENDPROC 320 DEFPROCerror 330 IF ERR=15 THEN PRINT"OUT OF MEMORY!":PRINT"SAVING":PROCsave 340 IF ERR=17 THEN PRINT"ESCAPE!":VDU7 350 IF ERR<>17 AND ERR<>15 THEN PRINTERR:END 360 ENDPROC
C=7 � 2:Y=0:Y2=0:� � �error " � 28,0,4,12,0:NE=0:� L(290,4) ( A$=� 2. � A$="Z" � � 0,0:� Y,Y2:� Y,Y2:�0,C:Y=Y-1 </ � A$="X" � � 0,0:� Y,Y2:� Y,Y2:� 0,C:Y=Y+1 F1 � A$=":" � � 0,0:� Y,Y2:� Y,Y2:� 0,C:Y2=Y2+1 P1 � A$="/" � � 0,0:� Y,Y2:� Y,Y2:� 0,C:Y2=Y2-1 Z$ � A$="M" � L(NE,0)=Y:L(NE,1)=Y2 _6 � A$="Q" � � 0,0:� Y,Y2:� Y,Y2:� 0,C:Y=500:Y2=500 dd � A$="D" � L(NE,2)=Y:L(NE,3)=Y2:NE=NE+1:� L(NE-1,0),L(NE-1,1):� L(NE-1,2),L(NE-1,3):L(NE-1,4)=C i � A$="Z" � �Y,Y2 n � A$="R" � �redraw x � A$="S" � �save � � A$="L" � �load �2 � A$="C" � � C:� C2=0 � 15:� C=C2 � � 0,C:�C2 � � Y<0 � Y>1000 � Y=1000 � � Y2<0 � Y2>800 � Y2=800 � � Y,Y2:� Y,Y2:� �Th@ � ��redraw � � NE=0 � � � � R=1 � NE:� L(R,4) �$ � L(R,0),L(R,1):� L(R,2),L(R,3) � �:� �! ��load:�:Y=0:Y2=0:� L(290,4) �$ �"FILENAME";F$:*EXEC F$:ENDPROC � ��save �"FILENAME";F$:*SPOOL F$ % �"MODE 2:VDU 28,0,4,12,0:NE=";NE "! � S=0 � NE-1:�"GCOL";L(S,4) ,A �"MOVE";L(S,0);",";L(S,1);":DRAW";L(S,2);",";L(S,3):�:*SPOOL 6 � @ ��error J/ � �=15 � �"OUT OF MEMORY!":�"SAVING":�save T � �=17 � �"ESCAPE!":�7 ^ � �<>17 � �<>15 � �:� h � �
00000000 0d 00 0a 08 20 43 3d 37 0d 00 14 1c 20 eb 20 32 |.... C=7.... . 2| 00000010 3a 59 3d 30 3a 59 32 3d 30 3a ee 20 85 20 f2 65 |:Y=0:Y2=0:. . .e| 00000020 72 72 6f 72 0d 00 1e 22 20 ef 20 32 38 2c 30 2c |rror..." . 28,0,| 00000030 34 2c 31 32 2c 30 3a 4e 45 3d 30 3a de 20 4c 28 |4,12,0:NE=0:. L(| 00000040 32 39 30 2c 34 29 0d 00 28 09 20 41 24 3d be 0d |290,4)..(. A$=..| 00000050 00 32 2e 20 e7 20 41 24 3d 22 5a 22 20 8c 20 e6 |.2. . A$="Z" . .| 00000060 20 30 2c 30 3a ec 20 59 2c 59 32 3a df 20 59 2c | 0,0:. Y,Y2:. Y,| 00000070 59 32 3a e6 30 2c 43 3a 59 3d 59 2d 31 0d 00 3c |Y2:.0,C:Y=Y-1..<| 00000080 2f 20 e7 20 41 24 3d 22 58 22 20 8c 20 e6 20 30 |/ . A$="X" . . 0| 00000090 2c 30 3a ec 20 59 2c 59 32 3a df 20 59 2c 59 32 |,0:. Y,Y2:. Y,Y2| 000000a0 3a e6 20 30 2c 43 3a 59 3d 59 2b 31 0d 00 46 31 |:. 0,C:Y=Y+1..F1| 000000b0 20 e7 20 41 24 3d 22 3a 22 20 8c 20 e6 20 30 2c | . A$=":" . . 0,| 000000c0 30 3a ec 20 59 2c 59 32 3a df 20 59 2c 59 32 3a |0:. Y,Y2:. Y,Y2:| 000000d0 e6 20 30 2c 43 3a 59 32 3d 59 32 2b 31 0d 00 50 |. 0,C:Y2=Y2+1..P| 000000e0 31 20 e7 20 41 24 3d 22 2f 22 20 8c 20 e6 20 30 |1 . A$="/" . . 0| 000000f0 2c 30 3a ec 20 59 2c 59 32 3a df 20 59 2c 59 32 |,0:. Y,Y2:. Y,Y2| 00000100 3a e6 20 30 2c 43 3a 59 32 3d 59 32 2d 31 0d 00 |:. 0,C:Y2=Y2-1..| 00000110 5a 24 20 e7 20 41 24 3d 22 4d 22 20 8c 20 4c 28 |Z$ . A$="M" . L(| 00000120 4e 45 2c 30 29 3d 59 3a 4c 28 4e 45 2c 31 29 3d |NE,0)=Y:L(NE,1)=| 00000130 59 32 0d 00 5f 36 20 e7 20 41 24 3d 22 51 22 20 |Y2.._6 . A$="Q" | 00000140 8c 20 e6 20 30 2c 30 3a ec 20 59 2c 59 32 3a df |. . 0,0:. Y,Y2:.| 00000150 20 59 2c 59 32 3a e6 20 30 2c 43 3a 59 3d 35 30 | Y,Y2:. 0,C:Y=50| 00000160 30 3a 59 32 3d 35 30 30 0d 00 64 64 20 e7 20 41 |0:Y2=500..dd . A| 00000170 24 3d 22 44 22 20 8c 20 4c 28 4e 45 2c 32 29 3d |$="D" . L(NE,2)=| 00000180 59 3a 4c 28 4e 45 2c 33 29 3d 59 32 3a 4e 45 3d |Y:L(NE,3)=Y2:NE=| 00000190 4e 45 2b 31 3a ec 20 4c 28 4e 45 2d 31 2c 30 29 |NE+1:. L(NE-1,0)| 000001a0 2c 4c 28 4e 45 2d 31 2c 31 29 3a df 20 4c 28 4e |,L(NE-1,1):. L(N| 000001b0 45 2d 31 2c 32 29 2c 4c 28 4e 45 2d 31 2c 33 29 |E-1,2),L(NE-1,3)| 000001c0 3a 4c 28 4e 45 2d 31 2c 34 29 3d 43 0d 00 69 15 |:L(NE-1,4)=C..i.| 000001d0 20 e7 20 41 24 3d 22 5a 22 20 8c 20 e8 59 2c 59 | . A$="Z" . .Y,Y| 000001e0 32 0d 00 6e 17 20 e7 20 41 24 3d 22 52 22 20 8c |2..n. . A$="R" .| 000001f0 20 f2 72 65 64 72 61 77 0d 00 78 15 20 e7 20 41 | .redraw..x. . A| 00000200 24 3d 22 53 22 20 8c 20 f2 73 61 76 65 0d 00 82 |$="S" . .save...| 00000210 15 20 e7 20 41 24 3d 22 4c 22 20 8c 20 f2 6c 6f |. . A$="L" . .lo| 00000220 61 64 0d 00 8c 32 20 e7 20 41 24 3d 22 43 22 20 |ad...2 . A$="C" | 00000230 8c 20 e8 20 43 3a e3 20 43 32 3d 30 20 b8 20 31 |. . C:. C2=0 . 1| 00000240 35 3a e7 20 43 3d 43 32 20 8c 20 e6 20 30 2c 43 |5:. C=C2 . . 0,C| 00000250 3a ed 43 32 0d 00 96 1c 20 e7 20 59 3c 30 20 84 |:.C2.... . Y<0 .| 00000260 20 59 3e 31 30 30 30 20 8c 20 59 3d 31 30 30 30 | Y>1000 . Y=1000| 00000270 0d 00 a0 1d 20 e7 20 59 32 3c 30 20 84 20 59 32 |.... . Y2<0 . Y2| 00000280 3e 38 30 30 20 8c 20 59 32 3d 38 30 30 0d 00 aa |>800 . Y2=800...| 00000290 19 20 ec 20 59 2c 59 32 3a df 20 59 2c 59 32 3a |. . Y,Y2:. Y,Y2:| 000002a0 e5 20 8d 54 68 40 0d 00 b4 0d 20 dd f2 72 65 64 |. .Th@.... ..red| 000002b0 72 61 77 0d 00 be 0f 20 e7 20 4e 45 3d 30 20 8c |raw.... . NE=0 .| 000002c0 20 e1 0d 00 c8 18 20 e3 20 52 3d 31 20 b8 20 4e | ..... . R=1 . N| 000002d0 45 3a fb 20 4c 28 52 2c 34 29 0d 00 d2 24 20 ec |E:. L(R,4)...$ .| 000002e0 20 4c 28 52 2c 30 29 2c 4c 28 52 2c 31 29 3a df | L(R,0),L(R,1):.| 000002f0 20 4c 28 52 2c 32 29 2c 4c 28 52 2c 33 29 0d 00 | L(R,2),L(R,3)..| 00000300 dc 08 20 ed 3a e1 0d 00 e6 21 20 dd f2 6c 6f 61 |.. .:....! ..loa| 00000310 64 3a d8 3a 59 3d 30 3a 59 32 3d 30 3a de 20 4c |d:.:Y=0:Y2=0:. L| 00000320 28 32 39 30 2c 34 29 0d 00 f0 24 20 e8 22 46 49 |(290,4)...$ ."FI| 00000330 4c 45 4e 41 4d 45 22 3b 46 24 3a 2a 45 58 45 43 |LENAME";F$:*EXEC| 00000340 20 46 24 3a 45 4e 44 50 52 4f 43 0d 00 fa 0b 20 | F$:ENDPROC.... | 00000350 dd f2 73 61 76 65 0d 01 04 1d 20 e8 22 46 49 4c |..save.... ."FIL| 00000360 45 4e 41 4d 45 22 3b 46 24 3a 2a 53 50 4f 4f 4c |ENAME";F$:*SPOOL| 00000370 20 46 24 0d 01 0e 25 20 f1 22 4d 4f 44 45 20 32 | F$...% ."MODE 2| 00000380 3a 56 44 55 20 32 38 2c 30 2c 34 2c 31 32 2c 30 |:VDU 28,0,4,12,0| 00000390 3a 4e 45 3d 22 3b 4e 45 0d 01 22 21 20 e3 20 53 |:NE=";NE.."! . S| 000003a0 3d 30 20 b8 20 4e 45 2d 31 3a f1 22 47 43 4f 4c |=0 . NE-1:."GCOL| 000003b0 22 3b 4c 28 53 2c 34 29 20 0d 01 2c 41 20 f1 22 |";L(S,4) ..,A ."| 000003c0 4d 4f 56 45 22 3b 4c 28 53 2c 30 29 3b 22 2c 22 |MOVE";L(S,0);","| 000003d0 3b 4c 28 53 2c 31 29 3b 22 3a 44 52 41 57 22 3b |;L(S,1);":DRAW";| 000003e0 4c 28 53 2c 32 29 3b 22 2c 22 3b 4c 28 53 2c 33 |L(S,2);",";L(S,3| 000003f0 29 3a ed 3a 2a 53 50 4f 4f 4c 0d 01 36 06 20 e1 |):.:*SPOOL..6. .| 00000400 0d 01 40 0c 20 dd f2 65 72 72 6f 72 0d 01 4a 2f |..@. ..error..J/| 00000410 20 e7 20 9f 3d 31 35 20 8c 20 f1 22 4f 55 54 20 | . .=15 . ."OUT | 00000420 4f 46 20 4d 45 4d 4f 52 59 21 22 3a f1 22 53 41 |OF MEMORY!":."SA| 00000430 56 49 4e 47 22 3a f2 73 61 76 65 0d 01 54 1b 20 |VING":.save..T. | 00000440 e7 20 9f 3d 31 37 20 8c 20 f1 22 45 53 43 41 50 |. .=17 . ."ESCAP| 00000450 45 21 22 3a ef 37 0d 01 5e 1b 20 e7 20 9f 3c 3e |E!":.7..^. . .<>| 00000460 31 37 20 80 20 9f 3c 3e 31 35 20 8c 20 f1 9f 3a |17 . .<>15 . ..:| 00000470 e0 0d 01 68 06 20 e1 0d ff |...h. ...| 00000479