_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

Multiple names: DDPLOTTING.L, GASWET

FILE INFORMATION

FILENAME(S):
• DDPLOTTING.L<br>• GASWET

FILE TYPE(S): SEQ, DEL

FILE SIZE: 2.7K

FIRST SEEN: 2025-12-01 02:26:21

APPEARS ON: 2 disk(s)

FILE HASH

28296f7af69240feaca4553c5573ee1e1598ccbc070e87c0fc03fa8f811d6032

FOUND ON DISKS (2 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
HUUB GILLISSEN DDPLOTTING.L SEQ hedning, shine 6 1 DOWNLOAD FILE
HUUB GILLISSEN GASWET DEL hedning, shine 6 1 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 30 30 30 31 20 2F 2F 20  57 52 49 54 54 45 4E 20  |0001 // WRITTEN |
00000010: 42 59 20 42 2E 44 2E 47  52 41 49 4E 47 45 52 20  |BY B.D.GRAINGER |
00000020: 28 49 43 50 55 47 29 0D  0A 30 30 30 32 20 2F 2F  |(ICPUG)..0002 //|
00000030: 20 46 4F 52 20 43 4F 4D  41 4C 20 56 45 52 53 49  | FOR COMAL VERSI|
00000040: 4F 4E 20 30 2E 36 34 0D  0A 30 30 30 33 20 2F 2F  |ON 0.64..0003 //|
00000050: 20 50 52 4F 47 2E 20 56  45 52 53 2E 20 31 2E 30  | PROG. VERS. 1.0|
00000060: 20 4D 41 59 20 31 39 38  33 0D 0A 30 30 30 34 20  | MAY 1983..0004 |
00000070: 2F 2F 0D 0A 30 30 30 35  20 2F 2F 20 54 48 45 53  |//..0005 // THES|
00000080: 45 20 52 4F 55 54 49 4E  45 53 20 41 4C 4C 4F 57  |E ROUTINES ALLOW|
00000090: 20 44 4F 55 42 4C 45 0D  0A 30 30 30 36 20 2F 2F  | DOUBLE..0006 //|
000000A0: 20 44 45 4E 53 49 54 59  20 50 4C 4F 54 54 49 4E  | DENSITY PLOTTIN|
000000B0: 47 20 42 59 20 55 53 45  20 4F 46 0D 0A 30 30 30  |G BY USE OF..000|
000000C0: 37 20 2F 2F 20 53 45 54  28 58 2C 59 2C 43 4F 4C  |7 // SET(X,Y,COL|
000000D0: 4F 55 52 24 29 20 41 4E  44 0D 0A 30 30 30 38 20  |OUR$) AND..0008 |
000000E0: 2F 2F 20 52 45 53 45 54  28 58 2C 59 2C 43 4F 4C  |// RESET(X,Y,COL|
000000F0: 4F 55 52 24 29 20 43 4F  4D 4D 41 4E 44 53 2E 0D  |OUR$) COMMANDS..|
00000100: 0A 30 30 30 39 20 2F 2F  20 31 3C 3D 58 3C 3D 38  |.0009 // 1<=X<=8|
00000110: 30 20 41 4E 44 20 31 3C  3D 59 3C 3D 35 30 2E 0D  |0 AND 1<=Y<=50..|
00000120: 0A 30 30 31 30 20 2F 2F  20 53 43 52 45 45 4E 20  |.0010 // SCREEN |
00000130: 54 4F 50 20 4C 45 46 54  20 49 53 20 58 3D 31 2C  |TOP LEFT IS X=1,|
00000140: 20 59 3D 31 2E 0D 0A 30  30 31 31 20 2F 2F 20 50  | Y=1...0011 // P|
00000150: 4F 49 4E 54 28 58 2C 59  29 20 57 49 4C 4C 20 42  |OINT(X,Y) WILL B|
00000160: 45 20 54 52 55 45 20 49  46 20 41 0D 0A 30 30 31  |E TRUE IF A..001|
00000170: 32 20 2F 2F 20 50 4F 49  4E 54 20 45 58 49 53 54  |2 // POINT EXIST|
00000180: 53 20 41 54 20 58 2C 59  2C 20 4F 54 48 45 52 57  |S AT X,Y, OTHERW|
00000190: 49 53 45 0D 0A 30 30 31  33 20 2F 2F 20 49 54 20  |ISE..0013 // IT |
000001A0: 57 49 4C 4C 20 42 45 20  46 41 4C 53 45 2E 0D 0A  |WILL BE FALSE...|
000001B0: 30 30 31 34 20 2F 2F 20  43 4F 4C 4F 55 52 24 20  |0014 // COLOUR$ |
000001C0: 49 53 20 41 4E 59 20 53  54 41 4E 44 41 52 44 20  |IS ANY STANDARD |
000001D0: 43 4F 4C 4F 55 52 0D 0A  30 30 31 35 20 2F 2F 20  |COLOUR..0015 // |
000001E0: 45 2E 47 2E 20 22 42 4C  41 43 4B 22 0D 0A 30 30  |E.G. "BLACK"..00|
000001F0: 31 36 20 2F 2F 0D 0A 30  30 31 37 20 2F 2F 20 4C  |16 //..0017 // L|
00000200: 49 4E 45 53 20 32 30 32  30 20 41 4E 44 20 35 30  |INES 2020 AND 50|
00000210: 32 30 20 41 52 45 20 53  50 45 43 49 41 4C 0D 0A  |20 ARE SPECIAL..|
00000220: 30 30 31 38 20 2F 2F 20  44 4F 20 4E 4F 54 20 54  |0018 // DO NOT T|
00000230: 52 59 20 54 4F 20 45 4E  54 45 52 20 54 48 45 4D  |RY TO ENTER THEM|
00000240: 20 46 52 4F 4D 0D 0A 30  30 31 39 20 2F 2F 20 54  | FROM..0019 // T|
00000250: 48 45 20 4B 45 59 42 4F  41 52 44 0D 0A 30 39 39  |HE KEYBOARD..099|
00000260: 39 20 2F 2F 0D 0A 31 30  30 30 20 50 52 4F 43 20  |9 //..1000 PROC |
00000270: 53 45 54 28 58 2C 59 2C  43 4F 4C 4F 55 52 24 29  |SET(X,Y,COLOUR$)|
00000280: 20 43 4C 4F 53 45 44 0D  0A 31 30 31 30 20 46 49  | CLOSED..1010 FI|
00000290: 4E 44 28 58 2C 59 2C 56  41 4C 55 45 2C 53 43 52  |ND(X,Y,VALUE,SCR|
000002A0: 45 45 4E 2C 53 44 43 48  41 52 29 0D 0A 31 30 31  |EEN,SDCHAR)..101|
000002B0: 35 20 49 46 20 4E 4F 54  20 28 53 44 43 48 41 52  |5 IF NOT (SDCHAR|
000002C0: 20 4D 4F 44 20 32 5E 56  41 4C 55 45 2D 53 44 43  | MOD 2^VALUE-SDC|
000002D0: 48 41 52 20 4D 4F 44 20  32 5E 28 56 41 4C 55 45  |HAR MOD 2^(VALUE|
000002E0: 2D 31 29 29 20 54 48 45  4E 20 53 44 43 48 41 52  |-1)) THEN SDCHAR|
000002F0: 3A 2B 32 5E 28 56 41 4C  55 45 2D 31 29 0D 0A 31  |:+2^(VALUE-1)..1|
00000300: 30 31 37 20 53 45 54 27  43 4F 4C 4F 55 52 28 43  |017 SET'COLOUR(C|
00000310: 4F 4C 4F 55 52 24 2C 43  48 41 52 27 43 4F 4C 4F  |OLOUR$,CHAR'COLO|
00000320: 55 52 29 0D 0A 31 30 32  30 20 50 4C 4F 54 28 53  |UR)..1020 PLOT(S|
00000330: 44 43 48 41 52 2C 53 43  52 45 45 4E 2C 43 48 41  |DCHAR,SCREEN,CHA|
00000340: 52 27 43 4F 4C 4F 55 52  29 0D 0A 31 30 33 30 20  |R'COLOUR)..1030 |
00000350: 45 4E 44 50 52 4F 43 20  53 45 54 0D 0A 31 30 33  |ENDPROC SET..103|
00000360: 39 20 2F 2F 0D 0A 31 30  34 30 20 50 52 4F 43 20  |9 //..1040 PROC |
00000370: 52 45 53 45 54 28 58 2C  59 2C 43 4F 4C 4F 55 52  |RESET(X,Y,COLOUR|
00000380: 24 29 20 43 4C 4F 53 45  44 0D 0A 31 30 35 30 20  |$) CLOSED..1050 |
00000390: 46 49 4E 44 28 58 2C 59  2C 56 41 4C 55 45 2C 53  |FIND(X,Y,VALUE,S|
000003A0: 43 52 45 45 4E 2C 53 44  43 48 41 52 29 0D 0A 31  |CREEN,SDCHAR)..1|
000003B0: 30 35 35 20 49 46 20 53  44 43 48 41 52 20 4D 4F  |055 IF SDCHAR MO|
000003C0: 44 20 32 5E 56 41 4C 55  45 2D 53 44 43 48 41 52  |D 2^VALUE-SDCHAR|
000003D0: 20 4D 4F 44 20 32 5E 28  56 41 4C 55 45 2D 31 29  | MOD 2^(VALUE-1)|
000003E0: 20 54 48 45 4E 20 53 44  43 48 41 52 3A 2D 32 5E  | THEN SDCHAR:-2^|
000003F0: 28 56 41 4C 55 45 2D 31  29 0D 0A 31 30 35 37 20  |(VALUE-1)..1057 |
00000400: 53 45 54 27 43 4F 4C 4F  55 52 28 43 4F 4C 4F 55  |SET'COLOUR(COLOU|
00000410: 52 24 2C 43 48 41 52 27  43 4F 4C 4F 55 52 29 0D  |R$,CHAR'COLOUR).|
00000420: 0A 31 30 36 30 20 50 4C  4F 54 28 53 44 43 48 41  |.1060 PLOT(SDCHA|
00000430: 52 2C 53 43 52 45 45 4E  2C 43 48 41 52 27 43 4F  |R,SCREEN,CHAR'CO|
00000440: 4C 4F 55 52 29 0D 0A 31  30 37 30 20 45 4E 44 50  |LOUR)..1070 ENDP|
00000450: 52 4F 43 20 52 45 53 45  54 0D 0A 31 30 37 39 20  |ROC RESET..1079 |
00000460: 2F 2F 0D 0A 31 30 38 30  20 46 55 4E 43 20 50 4F  |//..1080 FUNC PO|
00000470: 49 4E 54 28 58 2C 59 29  20 43 4C 4F 53 45 44 0D  |INT(X,Y) CLOSED.|
00000480: 0A 31 30 39 30 20 46 49  4E 44 28 58 2C 59 2C 56  |.1090 FIND(X,Y,V|
00000490: 41 4C 55 45 2C 53 43 52  45 45 4E 2C 53 44 43 48  |ALUE,SCREEN,SDCH|
000004A0: 41 52 29 0D 0A 31 31 30  30 20 49 46 20 53 44 43  |AR)..1100 IF SDC|
000004B0: 48 41 52 20 4D 4F 44 20  32 5E 56 41 4C 55 45 2D  |HAR MOD 2^VALUE-|
000004C0: 53 44 43 48 41 52 20 4D  4F 44 20 32 5E 28 56 41  |SDCHAR MOD 2^(VA|
000004D0: 4C 55 45 2D 31 29 20 54  48 45 4E 20 52 45 54 55  |LUE-1) THEN RETU|
000004E0: 52 4E 20 31 0D 0A 31 31  31 30 20 52 45 54 55 52  |RN 1..1110 RETUR|
000004F0: 4E 20 30 0D 0A 31 31 32  30 20 45 4E 44 46 55 4E  |N 0..1120 ENDFUN|
00000500: 43 20 50 4F 49 4E 54 0D  0A 31 39 39 39 20 2F 2F  |C POINT..1999 //|
00000510: 0D 0A 32 30 30 30 20 50  52 4F 43 20 46 49 4E 44  |..2000 PROC FIND|
00000520: 28 58 2C 59 2C 52 45 46  20 56 41 4C 55 45 2C 52  |(X,Y,REF VALUE,R|
00000530: 45 46 20 53 43 52 45 45  4E 2C 52 45 46 20 53 44  |EF SCREEN,REF SD|
00000540: 43 48 41 52 29 20 43 4C  4F 53 45 44 0D 0A 32 30  |CHAR) CLOSED..20|
00000550: 31 30 20 44 49 4D 20 44  44 43 48 41 52 53 24 20  |10 DIM DDCHARS$ |
00000560: 4F 46 20 31 36 0D 0A 32  30 32 30 20 44 44 43 48  |OF 16..2020 DDCH|
00000570: 41 52 53 24 3A 3D 22 20  6C 7C E1 7E 7F E2 FB 7B  |ARS$:=" l|.~...{|
00000580: 62 FF FE 61 FC EC 22 2B  43 48 52 24 28 31 36 30  |b..a.."+CHR$(160|
00000590: 29 0D 0A 32 30 32 35 20  58 3A 2D 31 3B 20 59 3A  |)..2025 X:-1; Y:|
000005A0: 2D 31 0D 0A 32 30 33 30  20 56 41 4C 55 45 3A 3D  |-1..2030 VALUE:=|
000005B0: 33 3B 20 54 45 4D 50 3A  3D 31 0D 0A 32 30 34 30  |3; TEMP:=1..2040|
000005C0: 20 49 46 20 58 20 4D 4F  44 20 32 20 54 48 45 4E  | IF X MOD 2 THEN|
000005D0: 20 56 41 4C 55 45 3A 3D  32 3B 20 54 45 4D 50 3A  | VALUE:=2; TEMP:|
000005E0: 3D 2D 31 0D 0A 32 30 36  30 20 49 46 20 59 20 4D  |=-1..2060 IF Y M|
000005F0: 4F 44 20 32 20 54 48 45  4E 20 56 41 4C 55 45 3A  |OD 2 THEN VALUE:|
00000600: 3D 56 41 4C 55 45 2B 54  45 4D 50 0D 0A 32 30 38  |=VALUE+TEMP..208|
00000610: 30 20 58 3A 3D 58 20 44  49 56 20 32 3B 20 59 3A  |0 X:=X DIV 2; Y:|
00000620: 3D 59 20 44 49 56 20 32  0D 0A 32 30 39 30 20 49  |=Y DIV 2..2090 I|
00000630: 46 20 58 3C 30 20 4F 52  20 58 3E 33 39 20 4F 52  |F X<0 OR X>39 OR|
00000640: 20 59 3C 30 20 4F 52 20  59 3E 32 34 20 54 48 45  | Y<0 OR Y>24 THE|
00000650: 4E 20 45 52 52 4F 52 0D  0A 32 31 30 30 20 53 43  |N ERROR..2100 SC|
00000660: 52 45 45 4E 3A 3D 31 30  32 34 2B 34 30 2A 59 2B  |REEN:=1024+40*Y+|
00000670: 58 0D 0A 32 31 31 30 20  53 44 43 48 41 52 3A 3D  |X..2110 SDCHAR:=|
00000680: 43 48 52 24 28 50 45 45  4B 28 53 43 52 45 45 4E  |CHR$(PEEK(SCREEN|
00000690: 29 29 20 49 4E 20 44 44  43 48 41 52 53 24 0D 0A  |)) IN DDCHARS$..|
000006A0: 32 31 31 35 20 49 46 20  53 44 43 48 41 52 3E 30  |2115 IF SDCHAR>0|
000006B0: 20 54 48 45 4E 20 53 44  43 48 41 52 3A 2D 31 0D  | THEN SDCHAR:-1.|
000006C0: 0A 32 31 32 30 20 45 4E  44 50 52 4F 43 20 46 49  |.2120 ENDPROC FI|
000006D0: 4E 44 0D 0A 33 39 39 39  20 2F 2F 0D 0A 34 30 30  |ND..3999 //..400|
000006E0: 30 20 50 52 4F 43 20 45  52 52 4F 52 20 0D 0A 34  |0 PROC ERROR ..4|
000006F0: 30 31 30 20 50 52 49 4E  54 20 22 50 4C 4F 54 54  |010 PRINT "PLOTT|
00000700: 49 4E 47 20 52 41 4E 47  45 20 45 52 52 4F 52 22  |ING RANGE ERROR"|
00000710: 0D 0A 34 30 32 30 20 53  54 4F 50 20 0D 0A 34 30  |..4020 STOP ..40|
00000720: 33 30 20 45 4E 44 50 52  4F 43 20 45 52 52 4F 52  |30 ENDPROC ERROR|
00000730: 0D 0A 34 39 39 39 20 2F  2F 0D 0A 35 30 30 30 20  |..4999 //..5000 |
00000740: 50 52 4F 43 20 50 4C 4F  54 28 53 44 43 48 41 52  |PROC PLOT(SDCHAR|
00000750: 2C 53 43 52 45 45 4E 2C  43 48 41 52 27 43 4F 4C  |,SCREEN,CHAR'COL|
00000760: 4F 55 52 29 20 43 4C 4F  53 45 44 0D 0A 35 30 31  |OUR) CLOSED..501|
00000770: 30 20 44 49 4D 20 44 44  43 48 41 52 53 24 20 4F  |0 DIM DDCHARS$ O|
00000780: 46 20 31 36 0D 0A 35 30  32 30 20 44 44 43 48 41  |F 16..5020 DDCHA|
00000790: 52 53 24 3A 3D 22 20 6C  7C E1 7E 7F E2 FB 7B 62  |RS$:=" l|.~...{b|
000007A0: FF FE 61 FC EC 22 2B 43  48 52 24 28 31 36 30 29  |..a.."+CHR$(160)|
000007B0: 0D 0A 35 30 33 30 20 50  4F 4B 45 20 53 43 52 45  |..5030 POKE SCRE|
000007C0: 45 4E 2C 4F 52 44 28 44  44 43 48 41 52 53 24 28  |EN,ORD(DDCHARS$(|
000007D0: 53 44 43 48 41 52 2B 31  29 29 0D 0A 35 30 34 30  |SDCHAR+1))..5040|
000007E0: 20 50 4F 4B 45 20 53 43  52 45 45 4E 2B 35 34 32  | POKE SCREEN+542|
000007F0: 37 32 2C 43 48 41 52 27  43 4F 4C 4F 55 52 0D 0A  |72,CHAR'COLOUR..|
00000800: 35 30 35 30 20 45 4E 44  50 52 4F 43 20 50 4C 4F  |5050 ENDPROC PLO|
00000810: 54 0D 0A 35 39 39 39 20  2F 2F 0D 0A 36 30 30 30  |T..5999 //..6000|
00000820: 20 50 52 4F 43 20 53 45  54 27 43 4F 4C 4F 55 52  | PROC SET'COLOUR|
00000830: 28 43 4F 4C 4F 55 52 24  2C 52 45 46 20 43 48 41  |(COLOUR$,REF CHA|
00000840: 52 27 43 4F 4C 4F 55 52  29 20 43 4C 4F 53 45 44  |R'COLOUR) CLOSED|
00000850: 0D 0A 36 30 31 30 20 43  41 53 45 20 43 4F 4C 4F  |..6010 CASE COLO|
00000860: 55 52 24 20 4F 46 0D 0A  36 30 32 30 20 57 48 45  |UR$ OF..6020 WHE|
00000870: 4E 20 22 42 4C 41 43 4B  22 0D 0A 36 30 33 30 20  |N "BLACK"..6030 |
00000880: 49 3A 3D 30 0D 0A 36 30  34 30 20 57 48 45 4E 20  |I:=0..6040 WHEN |
00000890: 22 57 48 49 54 45 22 0D  0A 36 30 35 30 20 49 3A  |"WHITE"..6050 I:|
000008A0: 3D 31 0D 0A 36 30 36 30  20 57 48 45 4E 20 22 52  |=1..6060 WHEN "R|
000008B0: 45 44 22 0D 0A 36 30 37  30 20 49 3A 3D 32 0D 0A  |ED"..6070 I:=2..|
000008C0: 36 30 38 30 20 57 48 45  4E 20 22 43 59 41 4E 22  |6080 WHEN "CYAN"|
000008D0: 0D 0A 36 30 39 30 20 49  3A 3D 33 0D 0A 36 31 30  |..6090 I:=3..610|
000008E0: 30 20 57 48 45 4E 20 22  50 55 52 50 4C 45 22 0D  |0 WHEN "PURPLE".|
000008F0: 0A 36 31 31 30 20 49 3A  3D 34 0D 0A 36 31 32 30  |.6110 I:=4..6120|
00000900: 20 57 48 45 4E 20 22 47  52 45 45 4E 22 0D 0A 36  | WHEN "GREEN"..6|
00000910: 31 33 30 20 49 3A 3D 35  0D 0A 36 31 34 30 20 57  |130 I:=5..6140 W|
00000920: 48 45 4E 20 22 42 4C 55  45 22 0D 0A 36 31 35 30  |HEN "BLUE"..6150|
00000930: 20 49 3A 3D 36 0D 0A 36  31 36 30 20 57 48 45 4E  | I:=6..6160 WHEN|
00000940: 20 22 59 45 4C 4C 4F 57  22 0D 0A 36 31 37 30 20  | "YELLOW"..6170 |
00000950: 49 3A 3D 37 0D 0A 36 31  38 30 20 57 48 45 4E 20  |I:=7..6180 WHEN |
00000960: 22 4F 52 41 4E 47 45 22  0D 0A 36 31 39 30 20 49  |"ORANGE"..6190 I|
00000970: 3A 3D 38 0D 0A 36 32 30  30 20 57 48 45 4E 20 22  |:=8..6200 WHEN "|
00000980: 42 52 4F 57 4E 22 0D 0A  36 32 31 30 20 49 3A 3D  |BROWN"..6210 I:=|
00000990: 39 0D 0A 36 32 32 30 20  57 48 45 4E 20 22 4C 49  |9..6220 WHEN "LI|
000009A0: 47 48 54 20 52 45 44 22  0D 0A 36 32 33 30 20 49  |GHT RED"..6230 I|
000009B0: 3A 3D 31 30 0D 0A 36 32  34 30 20 57 48 45 4E 20  |:=10..6240 WHEN |
000009C0: 22 47 52 45 59 20 31 22  0D 0A 36 32 35 30 20 49  |"GREY 1"..6250 I|
000009D0: 3A 3D 31 31 0D 0A 36 32  36 30 20 57 48 45 4E 20  |:=11..6260 WHEN |
000009E0: 22 47 52 45 59 20 32 22  0D 0A 36 32 37 30 20 49  |"GREY 2"..6270 I|
000009F0: 3A 3D 31 32 0D 0A 36 32  38 30 20 57 48 45 4E 20  |:=12..6280 WHEN |
00000A00: 22 4C 49 47 48 54 20 47  52 45 45 4E 22 0D 0A 36  |"LIGHT GREEN"..6|
00000A10: 32 39 30 20 49 3A 3D 31  33 0D 0A 36 33 30 30 20  |290 I:=13..6300 |
00000A20: 57 48 45 4E 20 22 4C 49  47 48 54 20 42 4C 55 45  |WHEN "LIGHT BLUE|
00000A30: 22 0D 0A 36 33 31 30 20  49 3A 3D 31 34 0D 0A 36  |"..6310 I:=14..6|
00000A40: 33 32 30 20 57 48 45 4E  20 22 47 52 45 59 20 33  |320 WHEN "GREY 3|
00000A50: 22 0D 0A 36 33 33 30 20  49 3A 3D 31 35 0D 0A 36  |"..6330 I:=15..6|
00000A60: 33 34 30 20 4F 54 48 45  52 57 49 53 45 20 0D 0A  |340 OTHERWISE ..|
00000A70: 36 33 35 30 20 49 3A 3D  32 0D 0A 36 33 36 30 20  |6350 I:=2..6360 |
00000A80: 50 52 49 4E 54 20 22 55  4E 4B 4E 4F 57 4E 20 43  |PRINT "UNKNOWN C|
00000A90: 4F 4C 4F 55 52 20 45 52  52 4F 52 2E 20 57 48 49  |OLOUR ERROR. WHI|
00000AA0: 54 45 20 48 41 53 20 42  45 45 4E 20 53 45 54 22  |TE HAS BEEN SET"|
00000AB0: 0D 0A 36 33 37 30 20 45  4E 44 43 41 53 45 20 0D  |..6370 ENDCASE .|
00000AC0: 0A 36 33 37 35 20 43 48  41 52 27 43 4F 4C 4F 55  |.6375 CHAR'COLOU|
00000AD0: 52 3A 3D 49 0D 0A 36 33  38 30 20 45 4E 44 50 52  |R:=I..6380 ENDPR|
00000AE0: 4F 43 20 53 45 54 27 43  4F 4C 4F 55 52 0D 0A 49  |OC SET'COLOUR..I|
00000AF0: 45 AA 0B D0 00                                    |E....           |
0001 // WRITTEN BY B.D.GRAINGER (ICPUG).
.0002 // FOR COMAL VERSION 0.64..0003 //
 PROG. VERS. 1.0 MAY 1983..0004 //..0005
 // THESE ROUTINES ALLOW DOUBLE..0006 //
 DENSITY PLOTTING BY USE OF..0007 // SET
(X,Y,COLOUR$) AND..0008 // RESET(X,Y,COL
OUR$) COMMANDS...0009 // 1<=X<=80 AND 1<
=Y<=50...0010 // SCREEN TOP LEFT IS X=1,
 Y=1...0011 // POINT(X,Y) WILL BE TRUE I
F A..0012 // POINT EXISTS AT X,Y, OTHERW
ISE..0013 // IT WILL BE FALSE...0014 // 
COLOUR$ IS ANY STANDARD COLOUR..0015 // 
E.G. "BLACK"..0016 //..0017 // LINES 202
0 AND 5020 ARE SPECIAL..0018 // DO NOT T
RY TO ENTER THEM FROM..0019 // THE KEYBO
ARD..0999 //..1000 PROC SET(X,Y,COLOUR$)
 CLOSED..1010 FIND(X,Y,VALUE,SCREEN,SDCH
AR)..1015 IF NOT (SDCHAR MOD 2^VALUE-SDC
HAR MOD 2^(VALUE-1)) THEN SDCHAR:+2^(VAL
UE-1)..1017 SET'COLOUR(COLOUR$,CHAR'COLO
UR)..1020 PLOT(SDCHAR,SCREEN,CHAR'COLOUR
)..1030 ENDPROC SET..1039 //..1040 PROC 
RESET(X,Y,COLOUR$) CLOSED..1050 FIND(X,Y
,VALUE,SCREEN,SDCHAR)..1055 IF SDCHAR MO
D 2^VALUE-SDCHAR MOD 2^(VALUE-1) THEN SD
CHAR:-2^(VALUE-1)..1057 SET'COLOUR(COLOU
R$,CHAR'COLOUR)..1060 PLOT(SDCHAR,SCREEN
,CHAR'COLOUR)..1070 ENDPROC RESET..1079 
//..1080 FUNC POINT(X,Y) CLOSED..1090 FI
ND(X,Y,VALUE,SCREEN,SDCHAR)..1100 IF SDC
HAR MOD 2^VALUE-SDCHAR MOD 2^(VALUE-1) T
HEN RETURN 1..1110 RETURN 0..1120 ENDFUN
C POINT..1999 //..2000 PROC FIND(X,Y,REF
 VALUE,REF SCREEN,REF SDCHAR) CLOSED..20
10 DIM DDCHARS$ OF 16..2020 DDCHARS$:=" 
L|.~..{B..A.."+CHR$(160)..2025 X:-1; Y:
-1..2030 VALUE:=3; TEMP:=1..2040 IF X MO
D 2 THEN VALUE:=2; TEMP:=-1..2060 IF Y M
OD 2 THEN VALUE:=VALUE+TEMP..2080 X:=X D
IV 2; Y:=Y DIV 2..2090 IF X<0 OR X>39 OR
 Y<0 OR Y>24 THEN ERROR..2100 SCREEN:=10
24+40*Y+X..2110 SDCHAR:=CHR$(PEEK(SCREEN
)) IN DDCHARS$..2115 IF SDCHAR>0 THEN SD
CHAR:-1..2120 ENDPROC FIND..3999 //..400
0 PROC ERROR ..4010 PRINT "PLOTTING RANG
E ERROR"..4020 STOP ..4030 ENDPROC ERROR
..4999 //..5000 PROC PLOT(SDCHAR,SCREEN,
CHAR'COLOUR) CLOSED..5010 DIM DDCHARS$ O
F 16..5020 DDCHARS$:=" L|.~..{B..A.."+C
HR$(160)..5030 POKE SCREEN,ORD(DDCHARS$(
SDCHAR+1))..5040 POKE SCREEN+54272,CHAR'
COLOUR..5050 ENDPROC PLOT..5999 //..6000
 PROC SET'COLOUR(COLOUR$,REF CHAR'COLOUR
) CLOSED..6010 CASE COLOUR$ OF..6020 WHE
N "BLACK"..6030 I:=0..6040 WHEN "WHITE".
.6050 I:=1..6060 WHEN "RED"..6070 I:=2..
6080 WHEN "CYAN"..6090 I:=3..6100 WHEN "
PURPLE"..6110 I:=4..6120 WHEN "GREEN"..6
130 I:=5..6140 WHEN "BLUE"..6150 I:=6..6
160 WHEN "YELLOW"..6170 I:=7..6180 WHEN 
"ORANGE"..6190 I:=8..6200 WHEN "BROWN"..
6210 I:=9..6220 WHEN "LIGHT RED"..6230 I
:=10..6240 WHEN "GREY 1"..6250 I:=11..62
60 WHEN "GREY 2"..6270 I:=12..6280 WHEN 
"LIGHT GREEN"..6290 I:=13..6300 WHEN "LI
GHT BLUE"..6310 I:=14..6320 WHEN "GREY 3
"..6330 I:=15..6340 OTHERWISE ..6350 I:=
2..6360 PRINT "UNKNOWN COLOUR ERROR. WHI
TE HAS BEEN SET"..6370 ENDCASE ..6375 CH
AR'COLOUR:=I..6380 ENDPROC SET'COLOUR..I
E..P.
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL