PARAMETER
FILE INFORMATION
FILENAME(S): PARAMETER
FILE TYPE(S): SEQ
FILE SIZE: 3.9K
FIRST SEEN: 2025-11-30 21:28:19
APPEARS ON: 1 disk(s)
FILE HASH
fd86f95ab37d7439c20cccc9d5b4fc3a84a4ad1a2389b94b8f72db7f3b71d6d8
FOUND ON DISKS (1 DISKS)
| DISK TITLE | FILENAME | FILE TYPE | COLLECTION | TRACK | SECTOR | ACTIONS |
|---|---|---|---|---|---|---|
| VCGN D 64007 | PARAMETER | SEQ | DuncanTwain | 5 | 11 | DOWNLOAD FILE |
FILE CONTENT & ANALYSIS
00000000: 50 52 4F 43 45 44 55 52 45 0D 20 20 20 20 20 20 |PROCEDURE. |
00000010: 20 20 20 20 70 61 72 61 6D 65 74 65 72 73 3B 0D | parameters;.|
00000020: 43 4F 4E 53 54 0D 20 20 20 20 20 20 61 30 3D 31 |CONST. a0=1|
00000030: 30 3B 0D 20 20 20 20 20 20 62 30 3D 31 37 3B 0D |0;. b0=17;.|
00000040: 20 20 20 20 20 6E 75 6C 3D 34 38 3B 0D 56 41 52 | nul=48;.VAR|
00000050: 0D 20 20 20 20 66 2C 67 2C 78 2C 68 6F 65 6B 3A |. f,g,x,hoek:|
00000060: 20 69 6E 74 65 67 65 72 3B 0D 20 20 20 20 20 20 | integer;. |
00000070: 20 20 20 20 20 61 2C 62 3A 20 69 6E 74 65 67 65 | a,b: intege|
00000080: 72 3B 0D 20 20 20 20 20 20 20 20 20 20 20 20 63 |r;. c|
00000090: 72 3A 20 63 68 61 72 3B 0D 20 20 20 68 6F 65 6B |r: char;. hoek|
000000A0: 31 2C 68 6F 65 6B 32 3A 20 69 6E 74 65 67 65 72 |1,hoek2: integer|
000000B0: 3B 0D 20 20 20 20 20 20 20 20 73 74 61 74 75 73 |;. status|
000000C0: 3A 20 62 6F 6F 6C 65 61 6E 3B 0D 20 20 50 52 4F |: boolean;. PRO|
000000D0: 43 45 44 55 52 45 0D 20 20 20 20 20 20 20 20 20 |CEDURE. |
000000E0: 20 20 20 73 74 69 63 6B 0D 20 20 20 20 20 20 20 | stick. |
000000F0: 20 20 20 20 28 56 41 52 20 64 3A 20 69 6E 74 65 | (VAR d: inte|
00000100: 67 65 72 3B 0D 20 20 20 20 20 20 20 20 20 20 20 |ger;. |
00000110: 20 56 41 52 20 66 3A 20 62 6F 6F 6C 65 61 6E 29 | VAR f: boolean)|
00000120: 3B 0D 20 20 43 4F 4E 53 54 0D 20 20 20 20 20 20 |;. CONST. |
00000130: 20 20 20 20 70 6F 6F 72 74 3D 24 64 63 30 30 3B | poort=$dc00;|
00000140: 0D 20 20 20 20 20 20 20 20 20 64 A4 6D 61 73 6B |. d.mask|
00000150: 3D 24 30 30 30 66 3B 0D 20 20 20 20 20 20 20 20 |=$000f;. |
00000160: 20 66 A4 6D 61 73 6B 3D 24 30 30 31 30 3B 0D 20 | f.mask=$0010;. |
00000170: 20 42 45 47 49 4E 0D 20 20 20 20 64 3A 3D 61 6E | BEGIN. d:=an|
00000180: 64 62 28 66 A4 6D 61 73 6B 2C 70 65 65 6B 28 70 |db(f.mask,peek(p|
00000190: 6F 6F 72 74 29 29 3B 0D 20 20 20 20 66 3A 3D 4E |oort));. f:=N|
000001A0: 4F 54 28 64 3D 66 A4 6D 61 73 6B 29 3B 0D 20 20 |OT(d=f.mask);. |
000001B0: 20 20 64 3A 3D 61 6E 64 62 28 64 A4 6D 61 73 6B | d:=andb(d.mask|
000001C0: 2C 70 65 65 6B 28 70 6F 6F 72 74 29 29 3B 0D 20 |,peek(poort));. |
000001D0: 20 20 20 64 3A 3D 78 6F 72 62 28 64 A4 6D 61 73 | d:=xorb(d.mas|
000001E0: 6B 2C 64 29 3B 0D 20 20 45 4E 44 0D 20 20 3B 0D |k,d);. END. ;.|
000001F0: 20 20 50 52 4F 43 45 44 55 52 45 0D 20 20 20 20 | PROCEDURE. |
00000200: 20 20 20 20 20 20 20 20 6C 69 6E 65 28 79 3A 20 | line(y: |
00000210: 69 6E 74 65 67 65 72 29 3B 0D 20 20 43 4F 4E 53 |integer);. CONS|
00000220: 54 0D 20 20 20 20 20 20 20 20 68 6F 6D 65 3D 31 |T. home=1|
00000230: 39 3B 0D 20 20 20 20 20 20 20 20 76 74 61 62 3D |9;. vtab=|
00000240: 31 37 3B 0D 20 20 56 41 52 0D 20 20 20 20 20 20 |17;. VAR. |
00000250: 20 20 20 20 20 69 3A 20 69 6E 74 65 67 65 72 3B | i: integer;|
00000260: 0D 20 20 42 45 47 49 4E 0D 20 20 20 20 77 72 69 |. BEGIN. wri|
00000270: 74 65 28 63 68 72 28 68 6F 6D 65 29 29 3B 0D 20 |te(chr(home));. |
00000280: 20 20 20 46 4F 52 20 69 3A 3D 31 20 54 4F 20 79 | FOR i:=1 TO y|
00000290: 20 44 4F 0D 20 20 20 20 20 20 77 72 69 74 65 28 | DO. write(|
000002A0: 63 68 72 28 76 74 61 62 29 29 0D 20 20 45 4E 44 |chr(vtab)). END|
000002B0: 0D 20 20 3B 0D 20 20 46 55 4E 43 54 49 4F 4E 20 |. ;. FUNCTION |
000002C0: 68 61 6E 64 6C 65 64 3A 20 62 6F 6F 6C 65 61 6E |handled: boolean|
000002D0: 3B 0D 20 20 56 41 52 0D 20 20 20 20 20 20 20 20 |;. VAR. |
000002E0: 64 3A 20 69 6E 74 65 67 65 72 3B 0D 20 20 20 20 |d: integer;. |
000002F0: 20 20 20 20 66 3A 20 62 6F 6F 6C 65 61 6E 3B 0D | f: boolean;.|
00000300: 20 20 42 45 47 49 4E 0D 20 20 20 20 73 74 69 63 | BEGIN. stic|
00000310: 6B 28 64 2C 66 29 3B 0D 20 20 20 20 68 61 6E 64 |k(d,f);. hand|
00000320: 6C 65 64 3A 3D 28 66 20 4F 52 20 4E 4F 54 28 64 |led:=(f OR NOT(d|
00000330: 3D 30 29 29 3B 0D 20 20 45 4E 44 0D 20 20 3B 0D |=0));. END. ;.|
00000340: 20 20 50 52 4F 43 45 44 55 52 45 0D 20 20 20 20 | PROCEDURE. |
00000350: 20 20 20 20 20 20 20 20 6C 65 65 73 0D 20 20 20 | lees. |
00000360: 20 20 20 20 20 20 20 20 28 56 41 52 20 68 6F 65 | (VAR hoe|
00000370: 6B 3A 20 69 6E 74 65 67 65 72 3B 0D 20 20 20 20 |k: integer;. |
00000380: 20 20 20 20 20 20 20 20 56 41 52 20 20 70 65 6E | VAR pen|
00000390: 3A 20 62 6F 6F 6C 65 61 6E 29 3B 0D 20 20 43 4F |: boolean);. CO|
000003A0: 4E 53 54 0D 20 20 20 20 20 20 20 20 6C 3D 20 38 |NST. l= 8|
000003B0: 3B 0D 20 20 56 41 52 0D 20 20 20 20 20 20 66 2C |;. VAR. f,|
000003C0: 66 69 72 73 74 3A 20 62 6F 6F 6C 65 61 6E 3B 0D |first: boolean;.|
000003D0: 20 20 20 20 20 20 20 20 20 20 20 20 64 3A 20 69 | d: i|
000003E0: 6E 74 65 67 65 72 3B 0D 20 20 20 20 50 52 4F 43 |nteger;. PROC|
000003F0: 45 44 55 52 45 20 62 6C 69 6E 6B 3B 0D 20 20 20 |EDURE blink;. |
00000400: 20 43 4F 4E 53 54 20 20 6D 65 6D 3D 24 30 34 30 | CONST mem=$040|
00000410: 30 3B 0D 20 20 20 20 20 20 20 20 20 20 20 20 72 |0;. r|
00000420: 79 3D 34 30 3B 0D 20 20 20 20 56 41 52 20 20 20 |y=40;. VAR |
00000430: 20 63 2C 7A 3A 20 69 6E 74 65 67 65 72 3B 0D 20 | c,z: integer;. |
00000440: 20 20 20 42 45 47 49 4E 0D 20 20 20 20 20 20 7A | BEGIN. z|
00000450: 3A 3D 6D 65 6D 2B 72 79 2A 62 2B 61 3B 0D 20 20 |:=mem+ry*b+a;. |
00000460: 20 20 20 20 63 3A 3D 78 6F 72 62 28 70 65 65 6B | c:=xorb(peek|
00000470: 28 7A 29 2C 24 38 30 29 3B 0D 20 20 20 20 20 20 |(z),$80);. |
00000480: 70 6F 6B 65 28 7A 2C 63 29 3B 0D 20 20 20 20 45 |poke(z,c);. E|
00000490: 4E 44 0D 20 20 20 20 3B 0D 20 20 20 20 50 52 4F |ND. ;. PRO|
000004A0: 43 45 44 55 52 45 0D 20 20 20 20 20 20 20 20 20 |CEDURE. |
000004B0: 20 20 20 20 20 64 72 61 77 74 6F 0D 20 20 20 20 | drawto. |
000004C0: 20 20 20 20 20 20 20 20 20 28 6B 3A 20 69 6E 74 | (k: int|
000004D0: 65 67 65 72 3B 0D 20 20 20 20 20 20 20 20 20 20 |eger;. |
000004E0: 20 20 20 20 73 3A 20 62 6F 6F 6C 65 61 6E 29 3B | s: boolean);|
000004F0: 0D 20 20 20 20 43 4F 4E 53 54 20 20 63 3D 31 36 |. CONST c=16|
00000500: 39 3B 0D 20 20 20 20 56 41 52 20 20 20 20 69 3A |9;. VAR i:|
00000510: 20 69 6E 74 65 67 65 72 3B 0D 20 20 20 20 42 45 | integer;. BE|
00000520: 47 49 4E 0D 20 20 20 20 20 20 49 46 20 73 20 54 |GIN. IF s T|
00000530: 48 45 4E 20 42 45 47 49 4E 0D 20 20 20 20 20 20 |HEN BEGIN. |
00000540: 20 46 4F 52 20 69 3A 3D 31 20 54 4F 20 32 20 44 | FOR i:=1 TO 2 D|
00000550: 4F 20 42 45 47 49 4E 0D 20 20 20 20 20 20 20 20 |O BEGIN. |
00000560: 76 64 75 28 62 2C 61 2C 63 68 72 28 63 29 29 3B |vdu(b,a,chr(c));|
00000570: 0D 20 20 20 20 20 20 20 20 61 3A 3D 61 2B 65 5B |. a:=a+e[|
00000580: 6B 5D 2E 78 3B 0D 20 20 20 20 20 20 20 20 62 3A |k].x;. b:|
00000590: 3D 62 2D 65 5B 6B 5D 2E 79 3B 0D 20 20 20 20 20 |=b-e[k].y;. |
000005A0: 20 20 45 4E 44 3B 0D 20 20 20 20 20 20 20 76 64 | END;. vd|
000005B0: 75 28 62 2C 61 2C 63 68 72 28 63 29 29 3B 0D 20 |u(b,a,chr(c));. |
000005C0: 20 20 20 20 20 45 4E 44 0D 20 20 20 20 20 20 45 | END. E|
000005D0: 4C 53 45 20 42 45 47 49 4E 0D 20 20 20 20 20 20 |LSE BEGIN. |
000005E0: 20 20 61 3A 3D 61 2B 32 2A 65 5B 6B 5D 2E 78 3B | a:=a+2*e[k].x;|
000005F0: 0D 20 20 20 20 20 20 20 20 62 3A 3D 62 2D 32 2A |. b:=b-2*|
00000600: 65 5B 6B 5D 2E 79 3B 0D 20 20 20 20 20 20 45 4E |e[k].y;. EN|
00000610: 44 0D 20 20 20 20 45 4E 44 0D 20 20 20 20 3B 0D |D. END. ;.|
00000620: 20 20 42 45 47 49 4E 20 28 2A 20 6C 65 65 73 20 | BEGIN (* lees |
00000630: 2A 29 0D 20 20 20 20 66 69 72 73 74 3A 3D 66 61 |*). first:=fa|
00000640: 6C 73 65 3B 0D 20 20 20 20 70 65 6E 3A 3D 74 72 |lse;. pen:=tr|
00000650: 75 65 3B 0D 20 20 20 20 52 45 50 45 41 54 0D 20 |ue;. REPEAT. |
00000660: 20 20 20 20 20 62 6C 69 6E 6B 3B 0D 20 20 20 20 | blink;. |
00000670: 20 20 73 74 69 63 6B 28 64 2C 66 29 3B 0D 20 20 | stick(d,f);. |
00000680: 20 20 20 20 49 46 20 66 20 54 48 45 4E A0 70 65 | IF f THEN.pe|
00000690: 6E 3A 3D 66 61 6C 73 65 3B 0D 20 20 20 20 20 20 |n:=false;. |
000006A0: 6C 69 6E 65 28 39 29 3B 0D 20 20 20 20 20 20 62 |line(9);. b|
000006B0: 6C 69 6E 6B 3B 0D 20 20 20 20 20 20 49 46 20 28 |link;. IF (|
000006C0: 64 20 49 4E 20 5B 31 2C 32 2C 34 2C 38 5D 29 0D |d IN [1,2,4,8]).|
000006D0: 20 20 20 20 20 20 20 54 48 45 4E 20 42 45 47 49 | THEN BEGI|
000006E0: 4E 0D 20 20 20 20 20 20 20 20 66 69 72 73 74 3A |N. first:|
000006F0: 3D 74 72 75 65 3B 0D 20 20 20 20 20 20 20 20 43 |=true;. C|
00000700: 41 53 45 20 64 20 4F 46 0D 20 20 20 20 20 20 20 |ASE d OF. |
00000710: 20 20 20 31 3A 20 42 45 47 49 4E 20 68 6F 65 6B | 1: BEGIN hoek|
00000720: 3A 3D 33 3B 0D 20 20 20 20 20 20 20 20 20 20 20 |:=3;. |
00000730: 77 72 69 74 65 28 27 4F 70 27 3A 36 29 20 20 20 |write('Op':6) |
00000740: 20 45 4E 44 3B 0D 20 20 20 20 20 20 20 20 20 20 | END;. |
00000750: 32 3A 20 42 45 47 49 4E 20 68 6F 65 6B 3A 3D 31 |2: BEGIN hoek:=1|
00000760: 3B 0D 20 20 20 20 20 20 20 20 20 20 20 77 72 69 |;. wri|
00000770: 74 65 28 27 4E 65 65 72 27 3A 36 29 20 20 45 4E |te('Neer':6) EN|
00000780: 44 3B 0D 20 20 20 20 20 20 20 20 20 20 34 3A 20 |D;. 4: |
00000790: 42 45 47 49 4E 20 68 6F 65 6B 3A 3D 32 3B 0D 20 |BEGIN hoek:=2;. |
000007A0: 20 20 20 20 20 20 20 20 20 20 77 72 69 74 65 28 | write(|
000007B0: 27 4C 69 6E 6B 73 27 3A 36 29 20 45 4E 44 3B 0D |'Links':6) END;.|
000007C0: 20 20 20 20 20 20 20 20 20 20 38 3A 20 42 45 47 | 8: BEG|
000007D0: 49 4E 20 68 6F 65 6B 3A 3D 30 3B 0D 20 20 20 20 |IN hoek:=0;. |
000007E0: 20 20 20 20 20 20 20 77 72 69 74 65 28 27 52 65 | write('Re|
000007F0: 63 68 74 73 27 3A 36 29 45 4E 44 3B 0D 20 20 20 |chts':6)END;. |
00000800: 20 20 20 20 20 45 4E 44 0D 20 20 20 20 20 20 20 | END. |
00000810: 45 4E 44 0D 20 20 20 20 20 20 45 4C 53 45 20 77 |END. ELSE w|
00000820: 72 69 74 65 28 27 20 27 3A 36 29 3B 0D 20 20 20 |rite(' ':6);. |
00000830: 20 20 20 62 6C 69 6E 6B 3B 0D 20 20 20 20 20 20 | blink;. |
00000840: 77 72 69 74 65 28 27 20 20 50 65 6E 20 73 63 68 |write(' Pen sch|
00000850: 72 79 66 74 20 27 29 3B 0D 20 20 20 20 20 20 49 |ryft ');. I|
00000860: 46 20 70 65 6E 20 54 48 45 4E 20 77 72 69 74 65 |F pen THEN write|
00000870: 28 27 20 77 65 6C 27 29 0D 20 20 20 20 20 20 20 |(' wel'). |
00000880: 20 20 20 20 20 20 45 4C 53 45 20 77 72 69 74 65 | ELSE write|
00000890: 28 27 6E 69 65 74 27 29 3B 0D 20 20 20 20 20 20 |('niet');. |
000008A0: 62 6C 69 6E 6B 3B 0D 20 20 20 20 55 4E 54 49 4C |blink;. UNTIL|
000008B0: 20 66 69 72 73 74 20 41 4E 44 20 4E 4F 54 20 68 | first AND NOT h|
000008C0: 61 6E 64 6C 65 64 3B 0D 20 20 20 20 64 72 61 77 |andled;. draw|
000008D0: 74 6F 28 68 6F 65 6B 2C 70 65 6E 29 3B 0D 20 20 |to(hoek,pen);. |
000008E0: 45 4E 44 0D 20 20 3B 0D 20 20 50 52 4F 43 45 44 |END. ;. PROCED|
000008F0: 55 52 45 20 73 65 74 A4 70 6F 77 65 72 3B 0D 20 |URE set.power;. |
00000900: 20 56 41 52 20 69 2C 78 3A 20 69 6E 74 65 67 65 | VAR i,x: intege|
00000910: 72 3B 0D 20 20 42 45 47 49 4E 0D 20 20 20 20 78 |r;. BEGIN. x|
00000920: 3A 3D 31 3B 0D 20 20 20 20 46 4F 52 20 69 3A 3D |:=1;. FOR i:=|
00000930: 6F 72 64 65 20 44 4F 57 4E 54 4F 20 31 20 44 4F |orde DOWNTO 1 DO|
00000940: 20 42 45 47 49 4E 0D 20 20 20 20 20 20 78 3A 3D | BEGIN. x:=|
00000950: 78 2A 6C 3B 0D 20 20 20 20 20 20 70 6F 77 65 72 |x*l;. power|
00000960: 5B 69 5D 3A 3D 78 3B 0D 20 20 20 20 45 4E 44 0D |[i]:=x;. END.|
00000970: 20 20 45 4E 44 0D 20 20 3B 0D 20 20 50 52 4F 43 | END. ;. PROC|
00000980: 45 44 55 52 45 20 74 61 62 3B 0D 20 20 42 45 47 |EDURE tab;. BEG|
00000990: 49 4E 20 77 72 69 74 65 28 27 20 27 3A 33 29 20 |IN write(' ':3) |
000009A0: 45 4E 44 0D 20 20 3B 0D 20 20 50 52 4F 43 45 44 |END. ;. PROCED|
000009B0: 55 52 45 20 73 77 65 65 70 3B 0D 20 20 43 4F 4E |URE sweep;. CON|
000009C0: 53 54 20 20 73 6C 3D 37 31 39 3B 0D 20 20 56 41 |ST sl=719;. VA|
000009D0: 52 20 20 20 20 20 69 3A 20 69 6E 74 65 67 65 72 |R i: integer|
000009E0: 3B 0D 20 20 42 45 47 49 4E 0D 20 20 20 20 6C 69 |;. BEGIN. li|
000009F0: 6E 65 28 36 29 3B 0D 20 20 20 20 46 4F 52 A0 69 |ne(6);. FOR.i|
00000A00: 3A 3D 31 20 54 4F 20 73 6C 20 44 4F 20 77 72 69 |:=1 TO sl DO wri|
00000A10: 74 65 28 27 20 27 29 3B 0D 20 20 20 20 76 64 75 |te(' ');. vdu|
00000A20: 28 32 34 2C 33 39 2C 27 20 27 29 3B 0D 20 20 45 |(24,39,' ');. E|
00000A30: 4E 44 0D 20 20 3B 0D 42 45 47 49 4E 20 28 2A 20 |ND. ;.BEGIN (* |
00000A40: 70 61 72 61 6D 65 74 65 72 73 20 2A 29 0D 20 20 |parameters *). |
00000A50: 63 72 3A 3D 63 68 72 28 31 33 29 3B 0D 20 20 62 |cr:=chr(13);. b|
00000A60: 6F 72 64 65 72 28 30 29 3B 20 73 63 72 65 65 6E |order(0); screen|
00000A70: 28 32 29 3B 0D 20 20 70 61 67 65 3B 20 65 6D 70 |(2);. page; emp|
00000A80: 74 79 3B 0D 20 20 77 72 69 74 65 6C 6E 28 27 20 |ty;. writeln(' |
00000A90: 43 41 4E 54 4F 52 20 44 55 53 54 20 27 29 3B 0D |CANTOR DUST ');.|
00000AA0: 20 20 77 72 69 74 65 6C 6E 28 27 20 28 4F 72 74 | writeln(' (Ort|
00000AB0: 68 6F 67 6F 6E 61 6C 65 20 62 61 73 69 73 29 27 |hogonale basis)'|
00000AC0: 29 3B 0D 20 20 74 61 62 3B 0D 20 20 77 72 69 74 |);. tab;. writ|
00000AD0: 65 28 27 41 61 6E 74 61 6C 20 67 65 6E 65 72 61 |e('Aantal genera|
00000AE0: 74 6F 72 65 6E 27 29 3B 0D 20 20 77 72 69 74 65 |toren');. write|
00000AF0: 28 27 20 5B 31 2E 2E 38 5D 20 3D 20 27 29 3B 0D |(' [1..8] = ');.|
00000B00: 20 20 72 65 61 64 6C 6E 28 6E 67 29 3B 0D 20 20 | readln(ng);. |
00000B10: 49 46 20 4E 4F 54 20 28 6E 67 20 49 4E 20 5B 31 |IF NOT (ng IN [1|
00000B20: 2E 2E 38 5D 29 0D 20 20 20 20 20 54 48 45 4E 20 |..8]). THEN |
00000B30: 6E 67 3A 3D 31 3B 0D 20 20 74 61 62 3B 0D 20 20 |ng:=1;. tab;. |
00000B40: 77 72 69 74 65 6C 6E 28 27 47 65 65 66 20 64 65 |writeln('Geef de|
00000B50: 20 67 65 6E 65 72 61 74 6F 72 65 6E 27 29 3B 0D | generatoren');.|
00000B60: 20 20 74 61 62 3B 0D 20 20 77 72 69 74 65 6C 6E | tab;. writeln|
00000B70: 28 27 47 65 62 72 75 69 6B 20 64 65 20 6A 6F 79 |('Gebruik de joy|
00000B80: 73 74 69 63 6B 27 29 3B 0D 20 20 46 4F 52 20 67 |stick');. FOR g|
00000B90: 3A 3D 31 20 54 4F 20 6E 67 20 44 4F 20 42 45 47 |:=1 TO ng DO BEG|
00000BA0: 49 4E 0D 20 20 20 20 6C 69 6E 65 28 35 29 3B 0D |IN. line(5);.|
00000BB0: 20 20 20 20 77 72 69 74 65 28 27 52 65 65 6B 73 | write('Reeks|
00000BC0: 20 5B 27 2C 67 3A 31 2C 27 5D 20 27 29 3B 0D 20 | [',g:1,'] ');. |
00000BD0: 20 20 20 77 72 69 74 65 28 27 23 66 72 61 63 74 | write('#fract|
00000BE0: 75 72 65 73 20 3D 20 27 29 3B 0D 20 20 20 20 72 |ures = ');. r|
00000BF0: 65 61 64 6C 6E 28 6E 66 5B 67 5D 29 3B 0D 20 20 |eadln(nf[g]);. |
00000C00: 20 20 49 46 20 28 6E 66 5B 67 5D 3E 66 6D 61 78 | IF (nf[g]>fmax|
00000C10: 29 20 54 48 45 4E 20 6E 66 5B 67 5D 3A 3D 34 3B |) THEN nf[g]:=4;|
00000C20: 0D 20 20 20 20 61 3A 3D 61 30 3B 20 62 3A 3D 62 |. a:=a0; b:=b|
00000C30: 30 20 3B 20 68 6F 65 6B 31 3A 3D 30 3B 0D 20 20 |0 ; hoek1:=0;. |
00000C40: 20 20 46 4F 52 20 66 3A 3D 31 20 54 4F 20 6E 66 | FOR f:=1 TO nf|
00000C50: 5B 67 5D 20 44 4F 0D 20 20 20 20 42 45 47 49 4E |[g] DO. BEGIN|
00000C60: 0D 20 20 20 20 20 20 6C 65 65 73 28 68 6F 65 6B |. lees(hoek|
00000C70: 32 2C 73 74 61 74 75 73 29 3B 0D 20 20 20 20 20 |2,status);. |
00000C80: 20 68 6F 65 6B 3A 3D 28 68 6F 65 6B 32 2D 68 6F | hoek:=(hoek2-ho|
00000C90: 65 6B 31 2B 34 29 20 4D 4F 44 20 34 3B 0D 20 20 |ek1+4) MOD 4;. |
00000CA0: 20 20 20 20 72 65 65 6B 73 5B 67 5D 5B 66 5D 2E | reeks[g][f].|
00000CB0: 64 72 61 61 69 3A 3D 68 6F 65 6B 3B 0D 20 20 20 |draai:=hoek;. |
00000CC0: 20 20 20 72 65 65 6B 73 5B 67 5D 5B 66 5D 2E 70 | reeks[g][f].p|
00000CD0: 65 6E 3A 3D 73 74 61 74 75 73 3B 0D 20 20 20 20 |en:=status;. |
00000CE0: 20 20 68 6F 65 6B 31 3A 3D 68 6F 65 6B 32 3B 0D | hoek1:=hoek2;.|
00000CF0: 20 20 20 20 20 20 49 46 20 73 74 61 74 75 73 20 | IF status |
00000D00: 54 48 45 4E 20 70 65 6E 28 37 29 0D 20 20 20 20 |THEN pen(7). |
00000D10: 20 20 20 20 20 20 20 20 20 20 20 20 45 4C 53 45 | ELSE|
00000D20: 20 70 65 6E 28 30 29 3B 0D 20 20 20 20 20 20 76 | pen(0);. v|
00000D30: 64 75 28 36 2C 32 2A 66 2C 63 68 72 28 6E 75 6C |du(6,2*f,chr(nul|
00000D40: 2B 68 6F 65 6B 29 29 3B 0D 20 20 20 20 20 20 70 |+hoek));. p|
00000D50: 65 6E 28 31 34 29 3B 0D 20 20 20 20 20 20 68 6F |en(14);. ho|
00000D60: 65 6B 31 3A 3D 68 6F 65 6B 32 3B 0D 20 20 20 20 |ek1:=hoek2;. |
00000D70: 45 4E 44 3B 0D 20 20 20 20 73 77 65 65 70 3B 0D |END;. sweep;.|
00000D80: 20 20 45 4E 44 3B 0D 20 20 70 61 67 65 3B 0D 20 | END;. page;. |
00000D90: 20 77 72 69 74 65 28 27 41 61 6E 74 61 6C 20 67 | write('Aantal g|
00000DA0: 65 6E 65 72 61 74 69 65 73 20 27 29 3B 0D 20 20 |eneraties ');. |
00000DB0: 77 72 69 74 65 28 27 20 5B 31 2E 2E 38 5D 20 3D |write(' [1..8] =|
00000DC0: 20 27 29 3B 0D 20 20 72 65 61 64 6C 6E 28 6F 72 | ');. readln(or|
00000DD0: 64 65 29 3B 0D 20 20 49 46 20 4E 4F 54 20 28 6F |de);. IF NOT (o|
00000DE0: 72 64 65 20 49 4E 20 5B 31 2E 2E 38 5D 29 0D 20 |rde IN [1..8]). |
00000DF0: 20 20 20 20 54 48 45 4E 20 6F 72 64 65 3A 3D 31 | THEN orde:=1|
00000E00: 3B 0D 20 20 77 72 69 74 65 28 27 47 65 6E 65 72 |;. write('Gener|
00000E10: 61 74 6F 72 28 30 29 20 69 73 20 65 65 6E 20 27 |ator(0) is een '|
00000E20: 2C 0D 20 20 20 20 20 20 20 20 27 77 69 6C 6C 65 |,. 'wille|
00000E30: 6B 65 75 72 69 67 65 20 6B 65 75 7A 65 20 27 2C |keurige keuze ',|
00000E40: 63 72 2C 0D 20 20 20 20 20 20 20 20 27 75 69 74 |cr,. 'uit|
00000E50: 20 64 65 20 67 65 6E 65 72 61 74 6F 72 73 20 27 | de generators '|
00000E60: 2C 0D 20 20 20 20 20 20 20 20 27 5B 32 2E 2E 61 |,. '[2..a|
00000E70: 61 6E 74 61 6C 5D 2E 27 2C 63 72 29 3B 0D 20 20 |antal].',cr);. |
00000E80: 77 72 69 74 65 28 27 47 65 6E 65 72 61 74 6F 72 |write('Generator|
00000E90: 20 72 65 65 6B 73 20 3D 20 27 29 3B 0D 20 20 46 | reeks = ');. F|
00000EA0: 4F 52 A0 67 3A 3D 31 20 54 4F 20 6F 72 64 65 20 |OR.g:=1 TO orde |
00000EB0: 44 4F 20 42 45 47 49 4E 0D 20 20 20 20 72 65 61 |DO BEGIN. rea|
00000EC0: 64 28 78 29 3B 0D 20 20 20 20 49 46 20 28 78 20 |d(x);. IF (x |
00000ED0: 49 4E 20 5B 31 2E 2E 6E 67 5D 20 29 0D 20 20 20 |IN [1..ng] ). |
00000EE0: 20 20 20 20 54 48 45 4E 20 67 65 6E A4 72 79 5B | THEN gen.ry[|
00000EF0: 67 5D 3A 3D 78 0D 20 20 20 20 20 20 20 45 4C 53 |g]:=x. ELS|
00000F00: 45 20 67 65 6E A4 72 79 5B 67 5D 3A 3D 30 0D 20 |E gen.ry[g]:=0. |
00000F10: 20 45 4E 44 3B 0D 20 20 72 65 61 64 6C 6E 3B 0D | END;. readln;.|
00000F20: 20 20 77 72 69 74 65 28 27 4C 65 6E 67 74 65 20 | write('Lengte |
00000F30: 7A 79 64 65 20 3D 20 27 29 3B 0D 20 20 72 65 61 |zyde = ');. rea|
00000F40: 64 6C 6E 28 6C 29 3B 0D 20 20 73 65 74 A4 70 6F |dln(l);. set.po|
00000F50: 77 65 72 3B 0D 20 20 77 72 69 74 65 28 27 53 74 |wer;. write('St|
00000F60: 61 72 74 20 70 6F 73 69 74 69 65 20 5B 78 20 79 |art positie [x y|
00000F70: 5D 20 3D 20 27 29 3B 0D 20 20 72 65 61 64 6C 6E |] = ');. readln|
00000F80: 28 78 30 2C 79 30 29 3B 0D 45 4E 44 0D 3B 0D E6 |(x0,y0);.END.;..|
PROCEDURE. PARAMETERS;.CONST.
A0=10;. B0=17;. NUL=48;.VAR
. F,G,X,HOEK: INTEGER;. A,B
: INTEGER;. CR: CHAR;. HOEK
1,HOEK2: INTEGER;. STATUS: BOOLEA
N;. PROCEDURE. STICK.
(VAR D: INTEGER;. VAR F:
BOOLEAN);. CONST. POORT=$DC00;
. D.MASK=$000F;. F.MASK=
$0010;. BEGIN. D:=ANDB(F.MASK,PEEK(P
OORT));. F:=NOT(D=F.MASK);. D:=AND
B(D.MASK,PEEK(POORT));. D:=XORB(D.MAS
K,D);. END. ;. PROCEDURE.
LINE(Y: INTEGER);. CONST. HOME=1
9;. VTAB=17;. VAR. I:
INTEGER;. BEGIN. WRITE(CHR(HOME));.
FOR I:=1 TO Y DO. WRITE(CHR(VTAB
)). END. ;. FUNCTION HANDLED: BOOLEAN
;. VAR. D: INTEGER;. F: B
OOLEAN;. BEGIN. STICK(D,F);. HAND
LED:=(F OR NOT(D=0));. END. ;. PROCED
URE. LEES. (VAR HOE
K: INTEGER;. VAR PEN: BOOLEA
N);. CONST. L= 8;. VAR. F,
FIRST: BOOLEAN;. D: INTEGER;.
PROCEDURE BLINK;. CONST MEM=$040
0;. RY=40;. VAR C,Z: IN
TEGER;. BEGIN. Z:=MEM+RY*B+A;.
C:=XORB(PEEK(Z),$80);. POKE(Z,C
);. END. ;. PROCEDURE.
DRAWTO. (K: INTEGER;.
S: BOOLEAN);. CONST C=16
9;. VAR I: INTEGER;. BEGIN.
IF S THEN BEGIN. FOR I:=1 TO 2 D
O BEGIN. VDU(B,A,CHR(C));.
A:=A+E[K].X;. B:=B-E[K].Y;.
END;. VDU(B,A,CHR(C));. END
. ELSE BEGIN. A:=A+2*E[K].X;
. B:=B-2*E[K].Y;. END. EN
D. ;. BEGIN (* LEES *). FIRST:=FA
LSE;. PEN:=TRUE;. REPEAT. BLI
NK;. STICK(D,F);. IF F THEN PE
N:=FALSE;. LINE(9);. BLINK;.
IF (D IN [1,2,4,8]). THEN BEGI
N. FIRST:=TRUE;. CASE D OF
. 1: BEGIN HOEK:=3;.
WRITE('OP':6) END;. 2: BEGIN
HOEK:=1;. WRITE('NEER':6) EN
D;. 4: BEGIN HOEK:=2;.
WRITE('LINKS':6) END;. 8: BEG
IN HOEK:=0;. WRITE('RECHTS':6)
END;. END. END. ELSE W
RITE(' ':6);. BLINK;. WRITE('
PEN SCHRYFT ');. IF PEN THEN WRITE
(' WEL'). ELSE WRITE('NIET')
;. BLINK;. UNTIL FIRST AND NOT H
ANDLED;. DRAWTO(HOEK,PEN);. END. ;.
PROCEDURE SET.POWER;. VAR I,X: INTEGE
R;. BEGIN. X:=1;. FOR I:=ORDE DOW
NTO 1 DO BEGIN. X:=X*L;. POWER
[I]:=X;. END. END. ;. PROCEDURE TA
B;. BEGIN WRITE(' ':3) END. ;. PROCED
URE SWEEP;. CONST SL=719;. VAR I:
INTEGER;. BEGIN. LINE(6);. FOR I
:=1 TO SL DO WRITE(' ');. VDU(24,39,'
');. END. ;.BEGIN (* PARAMETERS *).
CR:=CHR(13);. BORDER(0); SCREEN(2);. P
AGE; EMPTY;. WRITELN(' CANTOR DUST ');.
WRITELN(' (ORTHOGONALE BASIS)');. TAB
;. WRITE('AANTAL GENERATOREN');. WRITE
(' [1..8] = ');. READLN(NG);. IF NOT (
NG IN [1..8]). THEN NG:=1;. TAB;.
WRITELN('GEEF DE GENERATOREN');. TAB;.
WRITELN('GEBRUIK DE JOYSTICK');. FOR G
:=1 TO NG DO BEGIN. LINE(5);. WRIT
E('REEKS [',G:1,'] ');. WRITE('#FRACT
URES = ');. READLN(NF[G]);. IF (NF
[G]>FMAX) THEN NF[G]:=4;. A:=A0; B:=B
0 ; HOEK1:=0;. FOR F:=1 TO NF[G] DO.
BEGIN. LEES(HOEK2,STATUS);.
HOEK:=(HOEK2-HOEK1+4) MOD 4;. REEK
S[G][F].DRAAI:=HOEK;. REEKS[G][F].P
EN:=STATUS;. HOEK1:=HOEK2;. IF
STATUS THEN PEN(7). ELSE
PEN(0);. VDU(6,2*F,CHR(NUL+HOEK));
. PEN(14);. HOEK1:=HOEK2;.
END;. SWEEP;. END;. PAGE;. WRITE('
AANTAL GENERATIES ');. WRITE(' [1..8] =
');. READLN(ORDE);. IF NOT (ORDE IN [
1..8]). THEN ORDE:=1;. WRITE('GENER
ATOR(0) IS EEN ',. 'WILLEKEURIGE
KEUZE ',CR,. 'UIT DE GENERATORS '
,. '[2..AANTAL].',CR);. WRITE('G
ENERATOR REEKS = ');. FOR G:=1 TO ORDE
DO BEGIN. READ(X);. IF (X IN [1..N
G] ). THEN GEN.RY[G]:=X. ELS
E GEN.RY[G]:=0. END;. READLN;. WRITE(
'LENGTE ZYDE = ');. READLN(L);. SET.PO
WER;. WRITE('START POSITIE [X Y] = ');.
READLN(X0,Y0);.END.;..
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL