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

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 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL