DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ 5 A C D I T Z

⟦1cb99ab61⟧ Bits:30005858 dBase II komplet med Zip formularer, 5¼" Floppy Disk, CP/M Filesystem - JET80, CpmFileSystem_Jet80, ImdContainer

    Length: 819200 (0xc8000)
    Description: Bits:30005858 dBase II komplet med Zip formularer
    Types: 5¼" Floppy Disk, CP/M Filesystem - JET80, CpmFileSystem_Jet80, ImdContainer

Namespace CP/M Filesystem - JET80

bytes name artifact
1024 ADRESSE.DBF ⟦22c0fbed4⟧
19712 DBASE.COM ⟦4206b9f3b⟧
52736 DBASEMSG.TXT ⟦22b3a61f6⟧ TextFile
40192 DBASEOVR.COM ⟦4308502a3⟧
13568 DBINS.COM ⟦50dacba2d⟧
6656 DGEN.OVL ⟦2beba358b⟧
13312 ZIP.COM ⟦f95f948a4⟧
29952 ZIPIN.COM ⟦690cb83c3⟧
20352 ZSCRN.OVL ⟦a9b3ae608⟧

OctetView - JET80

0x00000…00020 (0, 0, 1)  e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
         […0x13f…]
0x02800…02820 (1, 0, 1)  DirEnt {status=0x00, name=»DBASE   COM«, xl=0x00, bc=0x00, xh=0x00, rc=0x80, al=[0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009], flags=[0,0,0,0,0,0,0,0,1,0,0]}
0x02820…02840            DirEnt {status=0x00, name=»DBASE   COM«, xl=0x01, bc=0x00, xh=0x00, rc=0x1a, al=[0x000a, 0x000b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,1,0,0]}
0x02840…02860            DirEnt {status=0x00, name=»DBASEMSGTXT«, xl=0x00, bc=0x00, xh=0x00, rc=0x80, al=[0x000c, 0x000d, 0x000e, 0x000f, 0x0010, 0x0011, 0x0012, 0x0013], flags=[0,0,0,0,0,0,0,0,1,0,0]}
0x02860…02880            DirEnt {status=0x00, name=»DBASEMSGTXT«, xl=0x01, bc=0x00, xh=0x00, rc=0x80, al=[0x0014, 0x0015, 0x0016, 0x0017, 0x0018, 0x0019, 0x001a, 0x001b], flags=[0,0,0,0,0,0,0,0,1,0,0]}
0x02880…028a0            DirEnt {status=0x00, name=»DBASEMSGTXT«, xl=0x02, bc=0x00, xh=0x00, rc=0x80, al=[0x001c, 0x001d, 0x001e, 0x001f, 0x0020, 0x0021, 0x0022, 0x0023], flags=[0,0,0,0,0,0,0,0,1,0,0]}
0x028a0…028c0            DirEnt {status=0x00, name=»DBASEMSGTXT«, xl=0x03, bc=0x00, xh=0x00, rc=0x1c, al=[0x0024, 0x0025, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,1,0,0]}
0x028c0…028e0            DirEnt {status=0x00, name=»DBASEOVRCOM«, xl=0x00, bc=0x00, xh=0x00, rc=0x80, al=[0x0026, 0x0027, 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d], flags=[0,0,0,0,0,0,0,0,1,0,0]}
0x028e0…02900            DirEnt {status=0x00, name=»DBASEOVRCOM«, xl=0x01, bc=0x00, xh=0x00, rc=0x80, al=[0x002e, 0x002f, 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035], flags=[0,0,0,0,0,0,0,0,1,0,0]}
0x02900…02920            DirEnt {status=0x00, name=»DBASEOVRCOM«, xl=0x02, bc=0x00, xh=0x00, rc=0x3a, al=[0x0036, 0x0037, 0x0038, 0x0039, 0x0000, 0x0000, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,1,0,0]}
0x02920…02940            DirEnt {status=0x00, name=»ZIP     COM«, xl=0x00, bc=0x00, xh=0x00, rc=0x68, al=[0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, 0x0040, 0x0000], flags=[0,0,0,0,0,0,0,0,1,0,0]}
0x02940…02960            DirEnt {status=0x00, name=»ZIPIN   COM«, xl=0x00, bc=0x00, xh=0x00, rc=0x80, al=[0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048], flags=[0,0,0,0,0,0,0,0,1,0,0]}
0x02960…02980            DirEnt {status=0x00, name=»ZIPIN   COM«, xl=0x01, bc=0x00, xh=0x00, rc=0x6a, al=[0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0000], flags=[0,0,0,0,0,0,0,0,1,0,0]}
0x02980…029a0            DirEnt {status=0x00, name=»DGEN    OVL«, xl=0x00, bc=0x00, xh=0x00, rc=0x34, al=[0x0050, 0x0051, 0x0052, 0x0053, 0x0000, 0x0000, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,1,0,0]}
0x029a0…029c0            DirEnt {status=0x00, name=»DBINS   COM«, xl=0x00, bc=0x00, xh=0x00, rc=0x6a, al=[0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]}
0x029c0…029e0            DirEnt {status=0x00, name=»ADRESSE DBF«, xl=0x00, bc=0x00, xh=0x00, rc=0x08, al=[0x005b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]}
0x029e0…02a00            DirEnt {status=0x00, name=»ZSCRN   OVL«, xl=0x00, bc=0x00, xh=0x00, rc=0x80, al=[0x005c, 0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, 0x0063], flags=[0,0,0,0,0,0,0,0,0,0,0]}
0x02a00…02a20            DirEnt {status=0x00, name=»ZSCRN   OVL«, xl=0x01, bc=0x00, xh=0x00, rc=0x1f, al=[0x0064, 0x0065, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]}
0x02a20…02a40            UnusedDirEnt {status=0xe5}
         […0x6e…]
0x03800…03c00 (1, 0, 5)  DataBlock {»DBASE.COM«}
         […0x13…]
0x08800…08c00 (3, 0, 5)  DataBlock {»DBASEMSG.TXT«}
         […0x33…]
0x15800…15c00 (8, 1, 2)  DataBlock {»DBASEOVR.COM«}
         […0x27…]
0x1f800…1fc00 (12, 1, 2) DataBlock {»ZIP.COM«}
         […0xd…]
0x23000…23400 (14, 0, 1) DataBlock {»ZIPIN.COM«}
         […0x1d…]
0x2a800…2ac00 (17, 0, 1) DataBlock {»DGEN.OVL«}
         […0x7…]
0x2c800…2cc00 (17, 1, 4) DataBlock {»DBINS.COM«}
         […0xd…]
0x30000…30400 (19, 0, 3) DataBlock {»ADRESSE.DBF«}
         […0x1…]
0x30800…30c00 (19, 0, 5) DataBlock {»ZSCRN.OVL«}
         […0x13…]
0x35800…35820 (21, 0, 5) 30 34 44 38 0d 0a 4c 30 34 44 35 3a 09 4d 4f 56 09 42 58 2c 4f 46 46 53 45 54 20 55 53 5f 4c 43   ┆04D8  L04D5: MOV BX,OFFSET US_LC┆
0x35820…35840            5f 54 41 42 0d 0a 4c 30 34 44 38 3a 09 44 45 43 09 41 4c 0d 0a 09 44 42 09 32 45 48 09 3b 43 53   ┆_TAB  L04D8: DEC AL   DB 2EH ;CS┆
0x35840…35860            3a 0d 0a 09 58 4c 41 54 0d 0a 4c 30 34 44 43 3a 09 43 4d 50 09 41 4c 2c 30 46 46 48 0d 0a 09 4a   ┆:   XLAT  L04DC: CMP AL,0FFH   J┆
0x35860…35880            45 09 4c 30 35 32 37 0d 0a 09 43 4d 50 09 41 48 2c 30 46 46 48 0d 0a 09 4a 45 09 4c 30 35 32 37   ┆E L0527   CMP AH,0FFH   JE L0527┆
0x35880…358a0            0d 0a 4c 30 34 45 35 3a 09 54 45 53 54 09 42 59 54 45 20 50 54 52 20 44 53 3a 5b 4b 42 5f 46 4c   ┆  L04E5: TEST BYTE PTR DS:ÆKB_FL┆
0x358a0…358c0            41 47 5d 2c 43 41 50 53 5f 53 54 41 54 45 0d 0a 09 4a 45 09 4c 30 35 35 43 0d 0a 09 54 45 53 54   ┆AGÅ,CAPS_STATE   JE L055C   TEST┆
0x358c0…358e0            09 42 59 54 45 20 50 54 52 20 44 53 3a 5b 4b 42 5f 46 4c 41 47 5d 2c 4c 45 46 54 5f 53 48 49 46   ┆ BYTE PTR DS:ÆKB_FLAGÅ,LEFT_SHIF┆
0x358e0…35900            54 2b 52 49 47 48 54 5f 53 48 49 46 54 0d 0a 09 4a 45 09 4c 30 35 32 41 0d 0a 09 43 4d 50 09 41   ┆T+RIGHT_SHIFT   JE L052A   CMP A┆
0x35900…35920            4c 2c 38 45 48 0d 0a 09 4a 4e 45 09 4c 30 34 46 42 0d 0a 09 4d 4f 56 09 41 4c 2c 38 34 48 0d 0a   ┆L,8EH   JNE L04FB   MOV AL,84H  ┆
0x35920…35940            09 4a 4d 50 09 53 48 4f 52 54 20 4c 30 35 35 43 0d 0a 4c 30 34 46 42 3a 09 43 4d 50 09 41 4c 2c   ┆ JMP SHORT L055C  L04FB: CMP AL,┆
0x35940…35960            39 32 48 0d 0a 09 4a 4e 45 09 4c 30 35 30 33 0d 0a 09 4d 4f 56 09 41 4c 2c 39 31 48 0d 0a 09 4a   ┆92H   JNE L0503   MOV AL,91H   J┆
0x35960…35980            4d 50 09 53 48 4f 52 54 20 4c 30 35 35 43 0d 0a 4c 30 35 30 33 3a 09 43 4d 50 09 41 4c 2c 39 39   ┆MP SHORT L055C  L0503: CMP AL,99┆
0x35980…359a0            48 0d 0a 09 4a 4e 45 09 4c 30 35 30 42 0d 0a 09 4d 4f 56 09 41 4c 2c 39 34 48 0d 0a 09 4a 4d 50   ┆H   JNE L050B   MOV AL,94H   JMP┆
0x359a0…359c0            09 53 48 4f 52 54 20 4c 30 35 35 43 0d 0a 4c 30 35 30 42 3a 09 43 4d 50 09 41 4c 2c 39 44 48 0d   ┆ SHORT L055C  L050B: CMP AL,9DH ┆
0x359c0…359e0            0a 09 4a 4e 45 09 4c 30 35 31 33 0d 0a 09 4d 4f 56 09 41 4c 2c 39 42 48 0d 0a 09 4a 4d 50 09 53   ┆  JNE L0513   MOV AL,9BH   JMP S┆
0x359e0…35a00            48 4f 52 54 20 4c 30 35 35 43 0d 0a 4c 30 35 31 33 3a 09 43 4d 50 09 41 4c 2c 38 46 48 0d 0a 09   ┆HORT L055C  L0513: CMP AL,8FH   ┆
0x35a00…35a20            4a 4e 45 09 4c 30 35 31 42 0d 0a 09 4d 4f 56 09 41 4c 2c 38 36 48 0d 0a 09 4a 4d 50 09 53 48 4f   ┆JNE L051B   MOV AL,86H   JMP SHO┆
0x35a20…35a40            52 54 20 4c 30 35 35 43 0d 0a 4c 30 35 31 42 3a 09 43 4d 50 09 41 4c 2c 34 31 48 0d 0a 09 4a 42   ┆RT L055C  L051B: CMP AL,41H   JB┆
0x35a40…35a60            09 4c 30 35 35 43 0d 0a 09 43 4d 50 09 41 4c 2c 35 41 48 0d 0a 09 4a 4e 42 45 09 4c 30 35 35 43   ┆ L055C   CMP AL,5AH   JNBE L055C┆
0x35a60…35a80            0d 0a 09 41 44 44 09 41 4c 2c 32 30 48 0d 0a 09 4a 4d 50 09 53 48 4f 52 54 20 4c 30 35 35 43 0d   ┆   ADD AL,20H   JMP SHORT L055C ┆
0x35a80…35aa0            0a 4c 30 35 32 37 3a 09 4a 4d 50 09 4c 30 31 43 32 0d 0a 4c 30 35 32 41 3a 09 43 4d 50 09 41 4c   ┆ L0527: JMP L01C2  L052A: CMP AL┆
0x35aa0…35ac0            2c 38 34 48 0d 0a 09 4a 4e 45 09 4c 30 35 33 32 0d 0a 09 4d 4f 56 09 41 4c 2c 38 45 48 0d 0a 09   ┆,84H   JNE L0532   MOV AL,8EH   ┆
0x35ac0…35ae0            4a 4d 50 09 53 48 4f 52 54 20 4c 30 35 35 43 0d 0a 4c 30 35 33 32 3a 09 43 4d 50 09 41 4c 2c 39   ┆JMP SHORT L055C  L0532: CMP AL,9┆
0x35ae0…35b00            31 48 0d 0a 09 4a 4e 45 09 4c 30 35 33 41 0d 0a 09 4d 4f 56 09 41 4c 2c 39 32 48 0d 0a 09 4a 4d   ┆1H   JNE L053A   MOV AL,92H   JM┆
0x35b00…35b20            50 09 53 48 4f 52 54 20 4c 30 35 35 43 0d 0a 4c 30 35 33 41 3a 09 43 4d 50 09 41 4c 2c 39 34 48   ┆P SHORT L055C  L053A: CMP AL,94H┆
0x35b20…35b40            0d 0a 09 4a 4e 45 09 4c 30 35 34 32 0d 0a 09 4d 4f 56 09 41 4c 2c 39 39 48 0d 0a 09 4a 4d 50 09   ┆   JNE L0542   MOV AL,99H   JMP ┆
0x35b40…35b60            53 48 4f 52 54 20 4c 30 35 35 43 0d 0a 4c 30 35 34 32 3a 09 43 4d 50 09 41 4c 2c 39 42 48 0d 0a   ┆SHORT L055C  L0542: CMP AL,9BH  ┆
0x35b60…35b80            09 4a 4e 45 09 4c 30 35 34 41 0d 0a 09 4d 4f 56 09 41 4c 2c 39 44 48 0d 0a 09 4a 4d 50 09 53 48   ┆ JNE L054A   MOV AL,9DH   JMP SH┆
0x35b80…35ba0            4f 52 54 20 4c 30 35 35 43 0d 0a 4c 30 35 34 41 3a 09 43 4d 50 09 41 4c 2c 38 36 48 0d 0a 09 4a   ┆ORT L055C  L054A: CMP AL,86H   J┆
0x35ba0…35bc0            4e 45 09 4c 30 35 35 32 0d 0a 09 4d 4f 56 09 41 4c 2c 38 46 48 0d 0a 09 4a 4d 50 09 53 48 4f 52   ┆NE L0552   MOV AL,8FH   JMP SHOR┆
0x35bc0…35be0            54 20 4c 30 35 35 43 0d 0a 4c 30 35 35 32 3a 09 43 4d 50 09 41 4c 2c 36 31 48 0d 0a 09 4a 42 09   ┆T L055C  L0552: CMP AL,61H   JB ┆
0x35be0…35c00            4c 30 35 35 43 0d 0a 09 43 4d 50 09 41 4c 2c 37 41 48 0d 0a 09 4a 4e 42 45 09 4c 30 35 35 43 0d   ┆L055C   CMP AL,7AH   JNBE L055C ┆
0x35c00…35c20 (21, 1, 1) 0a 09 53 55 42 09 41 4c 2c 32 30 48 0d 0a 4c 30 35 35 43 3a 09 4d 4f 56 09 44 49 2c 4f 46 46 53   ┆  SUB AL,20H  L055C: MOV DI,OFFS┆
0x35c20…35c40            45 54 20 54 41 42 31 39 38 0d 0a 09 50 55 53 48 09 43 53 0d 0a 09 50 4f 50 09 45 53 0d 0a 09 4d   ┆ET TAB198   PUSH CS   POP ES   M┆
0x35c40…35c60            4f 56 09 43 58 2c 30 30 30 34 48 0d 0a 09 52 45 50 4e 5a 09 53 43 41 53 57 0d 0a 09 4a 4e 45 09   ┆OV CX,0004H   REPNZ SCASW   JNE ┆
0x35c60…35c80            4c 30 35 37 42 0d 0a 09 53 55 42 09 44 49 2c 4f 46 46 53 45 54 20 54 41 42 31 39 38 0d 0a 09 4d   ┆L057B   SUB DI,OFFSET TAB198   M┆
0x35c80…35ca0            4f 56 09 57 4f 52 44 20 50 54 52 20 43 53 3a 5b 54 41 42 31 45 38 5d 2c 41 58 0d 0a 09 4d 4f 56   ┆OV WORD PTR CS:ÆTAB1E8Å,AX   MOV┆
0x35ca0…35cc0            09 41 58 2c 44 49 0d 0a 09 53 48 52 09 41 58 2c 31 0d 0a 09 4d 4f 56 09 42 59 54 45 20 50 54 52   ┆ AX,DI   SHR AX,1   MOV BYTE PTR┆
0x35cc0…35ce0            20 43 53 3a 5b 54 41 42 31 45 38 2b 32 5d 2c 41 4c 0d 0a 09 4a 4d 50 09 4c 30 31 43 32 0d 0a 4c   ┆ CS:ÆTAB1E8+2Å,AL   JMP L01C2  L┆
0x35ce0…35d00            30 35 37 42 3a 0d 0a 09 43 4d 50 09 42 59 54 45 20 50 54 52 20 43 53 3a 5b 54 41 42 31 45 38 5d   ┆057B:   CMP BYTE PTR CS:ÆTAB1E8Å┆
0x35d00…35d20            2c 30 30 48 0d 0a 09 4a 45 09 4c 30 35 46 30 0d 0a 09 50 55 53 48 09 41 58 0d 0a 09 4d 4f 56 09   ┆,00H   JE L05F0   PUSH AX   MOV ┆
0x35d20…35d40            41 4c 2c 42 59 54 45 20 50 54 52 20 43 53 3a 5b 54 41 42 31 45 38 2b 32 5d 0d 0a 09 4d 4f 56 09   ┆AL,BYTE PTR CS:ÆTAB1E8+2Å   MOV ┆
0x35d40…35d60            41 48 2c 30 39 48 0d 0a 09 44 45 43 09 41 4c 0d 0a 09 4d 55 4c 09 41 48 0d 0a 09 4d 4f 56 09 44   ┆AH,09H   DEC AL   MUL AH   MOV D┆
0x35d60…35d80            49 2c 4f 46 46 53 45 54 20 54 41 42 31 41 30 0d 0a 09 41 44 44 09 44 49 2c 41 58 0d 0a 09 4d 4f   ┆I,OFFSET TAB1A0   ADD DI,AX   MO┆
0x35d80…35da0            56 09 43 58 2c 30 30 30 39 48 0d 0a 09 50 4f 50 09 41 58 0d 0a 09 52 45 50 4e 5a 09 53 43 41 53   ┆V CX,0009H   POP AX   REPNZ SCAS┆
0x35da0…35dc0            42 0d 0a 09 4a 4e 45 09 4c 30 35 42 30 0d 0a 09 53 55 42 09 44 49 2c 4f 46 46 53 45 54 20 54 41   ┆B   JNE L05B0   SUB DI,OFFSET TA┆
0x35dc0…35de0            42 31 41 30 2b 31 0d 0a 09 4d 4f 56 09 41 4c 2c 45 53 3a 5b 44 49 2b 4f 46 46 53 45 54 20 54 41   ┆B1A0+1   MOV AL,ES:ÆDI+OFFSET TA┆
0x35de0…35e00            42 31 43 34 5d 0d 0a 09 53 55 42 09 41 48 2c 41 48 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52   ┆B1C4Å   SUB AH,AH   MOV WORD PTR┆
0x35e00…35e20            20 43 53 3a 5b 54 41 42 31 45 38 5d 2c 30 30 30 30 48 0d 0a 09 4a 4d 50 09 53 48 4f 52 54 20 4c   ┆ CS:ÆTAB1E8Å,0000H   JMP SHORT L┆
0x35e20…35e40            30 35 46 30 0d 0a 09 4e 4f 50 0d 0a 4c 30 35 42 30 3a 09 43 4d 50 09 41 4c 2c 32 30 48 0d 0a 09   ┆05F0   NOP  L05B0: CMP AL,20H   ┆
0x35e40…35e60            4a 4e 45 09 4c 30 35 43 39 0d 0a 09 4d 4f 56 09 41 58 2c 57 4f 52 44 20 50 54 52 20 43 53 3a 5b   ┆JNE L05C9   MOV AX,WORD PTR CS:Æ┆
0x35e60…35e80            54 41 42 31 45 38 5d 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 43 53 3a 5b 54 41 42 31 45   ┆TAB1E8Å   MOV WORD PTR CS:ÆTAB1E┆
0x35e80…35ea0            38 5d 2c 30 30 30 30 48 0d 0a 09 43 4d 50 09 41 4c 2c 30 46 45 48 0d 0a 09 4a 4e 45 09 4c 30 35   ┆8Å,0000H   CMP AL,0FEH   JNE L05┆
0x35ea0…35ec0            46 30 0d 0a 09 43 41 4c 4c 09 4c 30 36 32 35 0d 0a 09 4a 4d 50 09 53 48 4f 52 54 20 4c 30 35 46   ┆F0   CALL L0625   JMP SHORT L05F┆
0x35ec0…35ee0            30 0d 0a 09 4e 4f 50 0d 0a 4c 30 35 43 39 3a 09 50 55 53 48 09 41 58 0d 0a 09 43 41 4c 4c 09 4c   ┆0   NOP  L05C9: PUSH AX   CALL L┆
0x35ee0…35f00            30 36 32 35 0d 0a 09 4d 4f 56 09 41 58 2c 57 4f 52 44 20 50 54 52 20 43 53 3a 5b 54 41 42 31 45   ┆0625   MOV AX,WORD PTR CS:ÆTAB1E┆
0x35f00…35f20            38 5d 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 43 53 3a 5b 54 41 42 31 45 38 5d 2c 30 30   ┆8Å   MOV WORD PTR CS:ÆTAB1E8Å,00┆
0x35f20…35f40            30 30 48 0d 0a 09 4d 4f 56 09 42 58 2c 44 53 3a 5b 42 55 46 46 45 52 5f 54 41 49 4c 5d 0d 0a 09   ┆00H   MOV BX,DS:ÆBUFFER_TAILÅ   ┆
0x35f40…35f60            4d 4f 56 09 53 49 2c 42 58 0d 0a 09 43 41 4c 4c 09 4c 30 36 31 39 0d 0a 09 43 4d 50 09 42 58 2c   ┆MOV SI,BX   CALL L0619   CMP BX,┆
0x35f60…35f80            44 53 3a 5b 42 55 46 46 45 52 5f 48 45 41 44 5d 0d 0a 09 50 4f 50 09 44 49 0d 0a 09 4a 45 09 4c   ┆DS:ÆBUFFER_HEADÅ   POP DI   JE L┆
0x35f80…35fa0            30 36 30 38 0d 0a 09 4d 4f 56 09 5b 53 49 5d 2c 41 58 0d 0a 09 4d 4f 56 09 44 53 3a 5b 42 55 46   ┆0608   MOV ÆSIÅ,AX   MOV DS:ÆBUF┆
0x35fa0…35fc0            46 45 52 5f 54 41 49 4c 5d 2c 42 58 0d 0a 09 4d 4f 56 09 41 58 2c 44 49 0d 0a 4c 30 35 46 30 3a   ┆FER_TAILÅ,BX   MOV AX,DI  L05F0:┆
0x35fc0…35fe0            09 4d 4f 56 09 42 58 2c 44 53 3a 5b 42 55 46 46 45 52 5f 54 41 49 4c 5d 0d 0a 09 4d 4f 56 09 53   ┆ MOV BX,DS:ÆBUFFER_TAILÅ   MOV S┆
0x35fe0…36000            49 2c 42 58 0d 0a 09 43 41 4c 4c 09 4c 30 36 31 39 0d 0a 09 43 4d 50 09 42 58 2c 44 53 3a 5b 42   ┆I,BX   CALL L0619   CMP BX,DS:ÆB┆
0x36000…36020 (21, 1, 2) 55 46 46 45 52 5f 48 45 41 44 5d 0d 0a 09 4a 45 09 4c 30 36 30 38 0d 0a 09 4d 4f 56 09 5b 53 49   ┆UFFER_HEADÅ   JE L0608   MOV ÆSI┆
0x36020…36040            5d 2c 41 58 0d 0a 09 4d 4f 56 09 44 53 3a 5b 42 55 46 46 45 52 5f 54 41 49 4c 5d 2c 42 58 0d 0a   ┆Å,AX   MOV DS:ÆBUFFER_TAILÅ,BX  ┆
0x36040…36060            09 4a 4d 50 09 4c 30 31 43 32 0d 0a 4c 30 36 30 38 3a 09 43 41 4c 4c 09 4c 30 36 32 35 0d 0a 09   ┆ JMP L01C2  L0608: CALL L0625   ┆
0x36060…36080            4a 4d 50 09 4c 30 31 43 32 0d 0a 4c 30 36 30 45 3a 09 53 55 42 09 41 4c 2c 33 42 48 0d 0a 4c 30   ┆JMP L01C2  L060E: SUB AL,3BH  L0┆
0x36080…360a0            36 31 30 3a 09 44 42 09 32 45 48 09 3b 43 53 3a 0d 0a 09 58 4c 41 54 0d 0a 09 4d 4f 56 09 41 48   ┆610: DB 2EH ;CS:   XLAT   MOV AH┆
0x360a0…360c0            2c 41 4c 0d 0a 09 4d 4f 56 09 41 4c 2c 30 30 48 0d 0a 09 4a 4d 50 09 4c 30 34 44 43 0d 0a 4c 30   ┆,AL   MOV AL,00H   JMP L04DC  L0┆
0x360c0…360e0            36 31 39 3a 09 41 44 44 09 42 58 2c 2b 30 32 48 0d 0a 09 43 4d 50 09 42 58 2c 2b 33 45 48 0d 0a   ┆619: ADD BX,+02H   CMP BX,+3EH  ┆
0x360e0…36100            09 4a 4e 45 09 4c 30 36 32 34 0d 0a 09 4d 4f 56 09 42 58 2c 30 30 31 45 48 0d 0a 4c 30 36 32 34   ┆ JNE L0624   MOV BX,001EH  L0624┆
0x36100…36120            3a 09 44 42 09 30 43 33 48 3b 20 52 45 54 20 20 0d 0a 4c 30 36 32 35 3a 09 50 55 53 48 09 41 58   ┆: DB 0C3H; RET    L0625: PUSH AX┆
0x36120…36140            0d 0a 09 50 55 53 48 09 42 58 0d 0a 09 50 55 53 48 09 43 58 0d 0a 09 4d 4f 56 09 42 58 2c 30 30   ┆   PUSH BX   PUSH CX   MOV BX,00┆
0x36140…36160            43 30 48 0d 0a 09 49 4e 09 41 4c 2c 36 31 48 0d 0a 09 50 55 53 48 09 41 58 0d 0a 4c 30 36 32 45   ┆C0H   IN AL,61H   PUSH AX  L062E┆
0x36160…36180            3a 09 41 4e 44 09 41 4c 2c 30 46 43 48 0d 0a 09 4f 55 54 09 36 31 48 2c 41 4c 0d 0a 09 4d 4f 56   ┆: AND AL,0FCH   OUT 61H,AL   MOV┆
0x36180…361a0            09 43 58 2c 30 30 34 38 48 0d 0a 4c 30 36 33 35 3a 09 4c 4f 4f 50 09 4c 30 36 33 35 0d 0a 09 4f   ┆ CX,0048H  L0635: LOOP L0635   O┆
0x361a0…361c0            52 09 41 4c 2c 30 32 48 0d 0a 09 4f 55 54 09 36 31 48 2c 41 4c 0d 0a 09 4d 4f 56 09 43 58 2c 30   ┆R AL,02H   OUT 61H,AL   MOV CX,0┆
0x361c0…361e0            30 34 38 48 0d 0a 4c 30 36 33 45 3a 09 4c 4f 4f 50 09 4c 30 36 33 45 0d 0a 09 44 45 43 09 42 58   ┆048H  L063E: LOOP L063E   DEC BX┆
0x361e0…36200            0d 0a 09 4a 4e 45 09 4c 30 36 32 45 0d 0a 09 50 4f 50 09 41 58 0d 0a 09 4f 55 54 09 36 31 48 2c   ┆   JNE L062E   POP AX   OUT 61H,┆
0x36200…36220            41 4c 0d 0a 09 50 4f 50 09 43 58 0d 0a 09 50 4f 50 09 42 58 0d 0a 09 50 4f 50 09 41 58 0d 0a 09   ┆AL   POP CX   POP BX   POP AX   ┆
0x36220…36240            44 42 09 30 43 33 48 3b 20 52 45 54 20 20 0d 0a 3b 0d 0a 46 49 4e 49 54 09 45 51 55 09 24 0d 0a   ┆DB 0C3H; RET    ;  FINIT EQU $  ┆
0x36240…36260            3b 0d 0a 53 50 41 52 45 09 44 42 09 36 20 44 55 50 28 30 29 0d 0a 3b 0d 0a 3b 09 4c 4f 41 44 45   ┆;  SPARE DB 6 DUP(0)  ;  ; LOADE┆
0x36260…36280            52 20 52 4f 55 54 49 4e 45 2e 0d 0a 3b 0d 0a 4c 30 36 35 30 3a 09 53 55 42 09 41 58 2c 41 58 0d   ┆R ROUTINE.  ;  L0650: SUB AX,AX ┆
0x36280…362a0            0a 09 4d 4f 56 09 44 53 2c 41 58 0d 0a 09 4d 4f 56 09 41 58 2c 30 30 30 31 48 0d 0a 09 4d 4f 56   ┆  MOV DS,AX   MOV AX,0001H   MOV┆
0x362a0…362c0            09 57 4f 52 44 20 50 54 52 20 43 53 3a 5b 30 31 30 31 48 5d 2c 41 58 0d 0a 09 4d 4f 56 09 42 59   ┆ WORD PTR CS:Æ0101HÅ,AX   MOV BY┆
0x362c0…362e0            54 45 20 50 54 52 20 43 53 3a 5b 30 31 30 33 48 5d 2c 30 46 46 48 09 3b 53 45 54 20 44 41 4e 49   ┆TE PTR CS:Æ0103HÅ,0FFH ;SET DANI┆
0x362e0…36300            53 48 0d 0a 09 43 4c 49 0d 0a 09 4d 4f 56 09 41 58 2c 30 31 30 30 48 0d 0a 09 4d 4f 56 09 57 4f   ┆SH   CLI   MOV AX,0100H   MOV WO┆
0x36300…36320            52 44 20 50 54 52 20 44 53 3a 5b 30 30 32 34 48 5d 2c 41 58 09 3b 4f 46 46 53 45 54 20 53 45 47   ┆RD PTR DS:Æ0024HÅ,AX ;OFFSET SEG┆
0x36320…36340            4d 45 4e 54 28 56 45 43 54 4f 52 29 0d 0a 09 4d 4f 56 09 41 58 2c 43 53 0d 0a 09 4d 4f 56 09 57   ┆MENT(VECTOR)   MOV AX,CS   MOV W┆
0x36340…36360            4f 52 44 20 50 54 52 20 44 53 3a 5b 30 30 32 36 48 5d 2c 41 58 09 3b 4e 45 57 20 56 45 43 54 4f   ┆ORD PTR DS:Æ0026HÅ,AX ;NEW VECTO┆
0x36360…36380            52 20 41 44 52 45 53 53 0d 0a 09 53 54 49 0d 0a 09 4d 4f 56 09 44 58 2c 46 49 4e 49 54 2d 53 54   ┆R ADRESS   STI   MOV DX,FINIT-ST┆
0x36380…363a0            41 52 54 09 3b 53 49 5a 45 20 52 45 53 49 44 45 4e 54 20 50 4f 52 54 49 4f 4e 0d 0a 09 49 4e 43   ┆ART ;SIZE RESIDENT PORTION   INC┆
0x363a0…363c0            09 44 58 0d 0a 09 49 4e 43 09 44 58 0d 0a 09 49 4e 54 09 32 37 48 0d 0a 3b 0d 0a 58 50 52 4f 43   ┆ DX   INC DX   INT 27H  ;  XPROC┆
0x363c0…363e0            09 45 4e 44 50 0d 0a 58 53 45 47 09 45 4e 44 53 0d 0a 09 45 4e 44 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a   ┆ ENDP  XSEG ENDS   END          ┆
0x363e0…36400            1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆                                ┆
0x36400…36420 (21, 1, 3) e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
         […0x1f…]
0x36800…36820 (21, 1, 4) 00 00 00 00 00 00 00 00 7e 81 a5 81 bd 99 81 7e 7e ff db ff c3 e7 ff 7e 6c fe fe fe 7c 38 10 00   ┆        ü      üü      ül   ø8  ┆
0x36820…36840            10 38 7c fe 7c 38 10 00 38 7c 38 fe fe 7c 38 7c 10 10 38 7c fe 7c 38 7c 00 00 18 3c 3c 18 00 00   ┆ 8ø ø8  8ø8  ø8ø  8ø ø8ø   <<   ┆
0x36840…36860            ff ff e7 c3 c3 e7 ff ff 00 3c 66 42 42 66 3c 00 ff c3 99 bd bd 99 c3 ff 0f 07 0f 7d cc cc cc 78   ┆         <fBBf<            å   x┆
0x36860…36880            3c 66 66 66 3c 18 7e 18 3f 33 3f 30 30 70 f0 e0 7f 63 7f 63 63 67 e6 c0 99 5a 3c e7 e7 3c 5a 99   ┆<fff< ü ?3?00p   c ccg   Z<  <Z ┆
0x36880…368a0            80 e0 f8 fe f8 e0 80 00 02 0e 3e fe 3e 0e 02 00 18 3c 7e 18 18 7e 3c 18 66 66 66 66 66 00 66 00   ┆          > >    <ü  ü< fffff f ┆
0x368a0…368c0            7f db db 7b 1b 1b 1b 00 3e 63 38 6c 6c 38 cc 78 00 00 00 00 7e 7e 7e 00 18 3c 7e 18 7e 3c 18 ff   ┆   æ    >c8ll8 x    üüü  <ü ü<  ┆
0x368c0…368e0            18 3c 7e 18 18 18 18 00 18 18 18 18 7e 3c 18 00 00 18 0c fe 0c 18 00 00 00 30 60 fe 60 30 00 00   ┆ <ü         ü<           0` `0  ┆
0x368e0…36900            00 00 c0 c0 c0 fe 00 00 00 24 66 ff 66 24 00 00 00 18 3c 7e ff ff 00 00 00 ff ff 7e 3c 18 00 00   ┆         $f f$    <ü       ü<   ┆
0x36900…36920            00 00 00 00 00 00 00 00 30 78 78 30 30 00 30 00 6c 6c 6c 00 00 00 00 00 6c 6c fe 6c fe 6c 6c 00   ┆        0xx00 0 lll     ll l ll ┆
0x36920…36940            30 7c c0 78 0c f8 30 00 00 c6 cc 18 30 66 c6 00 38 6c 38 76 dc cc 76 00 60 60 c0 00 00 00 00 00   ┆0ø x  0     0f  8l8v  v ``      ┆
0x36940…36960            18 30 60 60 60 30 18 00 60 30 18 18 18 30 60 00 00 66 3c ff 3c 66 00 00 00 30 30 fc 30 30 00 00   ┆ 0```0  `0   0`  f< <f   00 00  ┆
0x36960…36980            00 00 00 00 00 30 30 60 00 00 00 fc 00 00 00 00 00 00 00 00 00 30 30 00 06 0c 18 30 60 c0 80 00   ┆     00`             00    0`   ┆
0x36980…369a0            7c c6 ce de f6 e6 7c 00 30 70 30 30 30 30 fc 00 78 cc 0c 38 60 cc fc 00 78 cc 0c 38 0c cc 78 00   ┆ø     ø 0p0000  x  8`   x  8  x ┆
0x369a0…369c0            1c 3c 6c cc fe 0c 1e 00 fc c0 f8 0c 0c cc 78 00 38 60 c0 f8 cc cc 78 00 fc cc 0c 18 30 30 30 00   ┆ <l           x 8`    x     000 ┆
0x369c0…369e0            78 cc cc 78 cc cc 78 00 78 cc cc 7c 0c 18 70 00 00 30 30 00 00 30 30 00 00 30 30 00 00 30 30 60   ┆x  x  x x  ø  p  00  00  00  00`┆
0x369e0…36a00            18 30 60 c0 60 30 18 00 00 00 fc 00 00 fc 00 00 60 30 18 0c 18 30 60 00 78 cc 0c 18 30 00 30 00   ┆ 0` `0          `0   0` x   0 0 ┆
0x36a00…36a20            7c c6 de de de c0 78 00 30 78 cc cc fc cc cc 00 fc 66 66 7c 66 66 fc 00 3c 66 c0 c0 c0 66 3c 00   ┆ø     x 0x       fføff  <f   f< ┆
0x36a20…36a40            f8 6c 66 66 66 6c f8 00 fe 62 68 78 68 62 fe 00 fe 62 68 78 68 60 f0 00 3c 66 c0 c0 ce 66 3e 00   ┆ lfffl   bhxhb   bhxh`  <f   f> ┆
0x36a40…36a60            cc cc cc fc cc cc cc 00 78 30 30 30 30 30 78 00 1e 0c 0c 0c cc cc 78 00 e6 66 6c 78 6c 66 e6 00   ┆        x00000x       x  flxlf  ┆
0x36a60…36a80            f0 60 60 60 62 66 fe 00 c6 ee fe fe d6 c6 c6 00 c6 e6 f6 de ce c6 c6 00 38 6c c6 c6 c6 6c 38 00   ┆ ```bf                  8l   l8 ┆
0x36a80…36aa0            fc 66 66 7c 60 60 f0 00 78 cc cc cc dc 78 1c 00 fc 66 66 7c 6c 66 e6 00 78 cc e0 70 1c cc 78 00   ┆ ffø``  x    x   ffølf  x  p  x ┆
0x36aa0…36ac0            fc b4 30 30 30 30 78 00 cc cc cc cc cc cc fc 00 cc cc cc cc cc 78 30 00 c6 c6 c6 d6 fe ee c6 00   ┆  0000x              x0         ┆
0x36ac0…36ae0            c6 c6 6c 38 38 6c c6 00 cc cc cc 78 30 30 78 00 fe c6 8c 18 32 66 fe 00 78 60 60 60 60 60 78 00   ┆  l88l     x00x     2f  x`````x ┆
0x36ae0…36b00            c0 60 30 18 0c 06 02 00 78 18 18 18 18 18 78 00 10 38 6c c6 00 00 00 00 00 00 00 00 00 00 00 ff   ┆ `0     x     x  8l             ┆
0x36b00…36b20            30 30 18 00 00 00 00 00 00 00 78 0c 7c cc 76 00 e0 60 60 7c 66 66 dc 00 00 00 78 cc c0 cc 78 00   ┆00        x ø v  ``øff    x   x ┆
0x36b20…36b40            1c 0c 0c 7c cc cc 76 00 00 00 78 cc fc c0 78 00 38 6c 60 f0 60 60 f0 00 00 00 76 cc cc 7c 0c f8   ┆   ø  v   x   x 8l` ``    v  ø  ┆
0x36b40…36b60            e0 60 6c 76 66 66 e6 00 30 00 70 30 30 30 78 00 0c 00 0c 0c 0c cc cc 78 e0 60 66 6c 78 6c e6 00   ┆ `lvff  0 p000x        x `flxl  ┆
0x36b60…36b80            70 30 30 30 30 30 78 00 00 00 cc fe fe d6 c6 00 00 00 f8 cc cc cc cc 00 00 00 78 cc cc cc 78 00   ┆p00000x                   x   x ┆
0x36b80…36ba0            00 00 dc 66 66 7c 60 f0 00 00 76 cc cc 7c 0c 1e 00 00 dc 76 66 60 f0 00 00 00 7c c0 78 0c f8 00   ┆   ffø`   v  ø     vf`    ø x   ┆
0x36ba0…36bc0            10 30 7c 30 30 34 18 00 00 00 cc cc cc cc 76 00 00 00 cc cc cc 78 30 00 00 00 c6 d6 fe fe 6c 00   ┆ 0ø004        v      x0       l ┆
0x36bc0…36be0            00 00 c6 6c 38 6c c6 00 00 00 cc cc cc 7c 0c f8 00 00 fc 98 30 64 fc 00 1c 30 30 e0 30 30 1c 00   ┆   l8l       ø      0d   00 00  ┆
0x36be0…36c00            18 18 18 00 18 18 18 00 e0 30 30 1c 30 30 e0 00 76 dc 00 00 00 00 00 00 00 10 38 6c c6 c6 fe 00   ┆         00 00  v         8l    ┆
0x36c00…36c20 (21, 1, 5) 3c 66 60 66 3c 0c 06 3c 00 66 00 66 66 66 3f 00 0e 00 3c 66 7e 60 3c 00 7e c3 3c 06 3e 66 3f 00   ┆<f`f<  < f fff?   <fü`< ü < >f? ┆
0x36c20…36c40            66 00 3c 06 3e 66 3f 00 70 00 3c 06 3e 66 3f 00 30 00 78 0c 7c cc 7e 00 00 00 3c 60 60 3c 06 1c   ┆f < >f? p < >f? 0 x ø ü   <``<  ┆
0x36c40…36c60            7e c3 3c 66 7e 60 3c 00 66 00 3c 66 7e 60 3c 00 70 00 3c 66 7e 60 3c 00 66 00 38 18 18 18 3c 00   ┆ü <fü`< f <fü`< p <fü`< f 8   < ┆
0x36c60…36c80            7c c6 38 18 18 18 3c 00 70 00 38 18 18 18 3c 00 63 1c 36 63 7f 63 63 00 30 00 78 cc fc cc cc 00   ┆ø 8   < p 8   < c 6c cc 0 x     ┆
0x36c80…36ca0            0e 00 7e 30 3c 30 7e 00 00 00 fe 12 fe 90 fe 00 3e 6c cc fe cc cc ce 00 38 66 00 3c 66 66 3c 00   ┆  ü0<0ü         >l      8f <ff< ┆
0x36ca0…36cc0            00 66 00 3c 66 66 3c 00 00 70 00 3c 66 66 3c 00 3c 66 00 66 66 66 3f 00 00 70 00 66 66 66 3f 00   ┆ f <ff<  p <ff< <f fff?  p fff? ┆
0x36cc0…36ce0            00 66 00 66 66 3e 06 7c c3 18 3c 66 66 3c 18 00 66 00 66 66 66 66 3c 00 00 02 7c ce d6 e6 7c 80   ┆ f ff> ø  <ff<  f ffff<   ø   ø ┆
0x36ce0…36d00            1c 36 32 78 30 73 7e 00 7c c6 ce d6 e6 c6 7c 00 f0 60 66 60 62 66 fe 00 70 30 30 36 30 30 78 00   ┆ 62x0sü ø     ø  `f`bf  p00600x ┆
0x36d00…36d20            0e 00 3c 06 3e 66 3f 00 1c 00 38 18 18 18 3c 00 00 0e 00 3c 66 66 3c 00 00 0e 00 66 66 66 3f 00   ┆  < >f?   8   <    <ff<    fff? ┆
0x36d20…36d40            00 7c 00 7c 66 66 66 00 7e 00 66 76 7e 6e 66 00 00 7e 00 3c 66 66 3c 00 7e 00 1c 36 63 36 1c 00   ┆ ø øfff ü fvünf  ü <ff< ü  6c6  ┆
0x36d40…36d60            18 00 18 30 60 66 3c 00 7e 00 3c 06 3e 66 3f 00 7e 00 3c 66 7e 66 66 00 10 38 6c 6c 38 34 58 00   ┆   0`f< ü < >f? ü <füff  8ll84X ┆
0x36d60…36d80            c0 c0 00 f8 cc cc cc 00 18 18 00 18 18 18 18 00 7c 18 30 98 70 00 00 00 00 c6 7c c6 c6 7c c6 00   ┆                ø 0 p     ø  ø  ┆
0x36d80…36da0            22 88 22 88 22 88 22 88 55 aa 55 aa 55 aa 55 aa db 77 db ee db 77 db ee 18 18 18 18 18 18 18 18   ┆" " " " U U U U  w   w          ┆
0x36da0…36dc0            18 18 18 18 f8 18 18 18 18 18 f8 18 f8 18 18 18 36 36 36 36 f6 36 36 36 00 00 00 00 fe 36 36 36   ┆                6666 666     666┆
0x36dc0…36de0            00 00 f8 18 f8 18 18 18 36 36 f6 06 f6 36 36 36 36 36 36 36 36 36 36 36 00 00 fe 06 f6 36 36 36   ┆        66   66666666666     666┆
0x36de0…36e00            36 36 f6 06 fe 00 00 00 36 36 36 36 fe 00 00 00 18 18 f8 18 f8 00 00 00 00 00 00 00 f8 18 18 18   ┆66      6666                    ┆
0x36e00…36e20            18 18 18 18 1f 00 00 00 18 18 18 18 ff 00 00 00 00 00 00 00 ff 18 18 18 18 18 18 18 1f 18 18 18   ┆                                ┆
0x36e20…36e40            00 00 00 00 ff 00 00 00 18 18 18 18 ff 18 18 18 18 18 1f 18 1f 18 18 18 36 36 36 36 37 36 36 36   ┆                        66667666┆
0x36e40…36e60            36 36 37 30 3f 00 00 00 00 00 3f 30 37 36 36 36 36 36 f7 00 ff 00 00 00 00 00 ff 00 f7 36 36 36   ┆6670?     ?0766666           666┆
0x36e60…36e80            36 36 37 30 37 36 36 36 00 00 ff 00 ff 00 00 00 36 36 f7 00 f7 36 36 36 18 18 ff 00 ff 00 00 00   ┆66707666        66   666        ┆
0x36e80…36ea0            36 36 36 36 ff 00 00 00 00 00 ff 00 ff 18 18 18 00 00 00 00 ff 36 36 36 36 36 36 36 3f 00 00 00   ┆6666                 6666666?   ┆
0x36ea0…36ec0            18 18 1f 18 1f 00 00 00 00 00 1f 18 1f 18 18 18 00 00 00 00 3f 36 36 36 36 36 36 36 ff 36 36 36   ┆                    ?6666666 666┆
0x36ec0…36ee0            18 18 ff 18 ff 18 18 18 18 18 18 18 f8 00 00 00 00 00 00 00 1f 18 18 18 ff ff ff ff ff ff ff ff   ┆                                ┆
0x36ee0…36f00            00 00 00 00 ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 0f 0f 0f 0f 0f 0f 0f 0f ff ff ff ff 00 00 00 00   ┆                                ┆
0x36f00…36f20            00 00 3b 6e 64 6e 3b 00 00 3c 66 7c 66 7c 60 60 00 7e 66 60 60 60 60 00 00 7f 36 36 36 36 36 00   ┆  ;ndn;  <føfø`` üf````   66666 ┆
0x36f20…36f40            7e 66 30 18 30 66 7e 00 00 00 3f 6c 6c 6c 38 00 00 33 33 33 33 3e 30 60 00 3b 6e 0c 0c 0c 0c 00   ┆üf0 0fü   ?lll8  3333>0` ;n     ┆
0x36f40…36f60            7e 18 3c 66 66 3c 18 7e 1c 36 63 7f 63 36 1c 00 1c 36 63 63 36 36 77 00 0e 18 0c 3e 66 66 3c 00   ┆ü <ff< ü 6c c6   6cc66w    >ff< ┆
0x36f60…36f80            00 00 7e db db 7e 00 00 06 0c 7e db db 7e 60 c0 1c 60 c0 fc c0 60 1c 00 3c 66 66 66 66 66 66 00   ┆  ü  ü    ü  ü`  `   `  <ffffff ┆
0x36f80…36fa0            00 7e 00 7e 00 7e 00 00 18 18 7e 18 18 00 7e 00 30 18 0c 18 30 00 7e 00 0c 18 30 18 0c 00 7e 00   ┆ ü ü ü    ü   ü 0   0 ü   0   ü ┆
0x36fa0…36fc0            0e 1b 1b 18 18 18 18 18 18 18 18 18 18 d8 d8 70 18 18 00 7e 00 18 18 00 00 76 dc 00 76 dc 00 00   ┆               p   ü     v  v   ┆
0x36fc0…36fe0            38 6c 6c 38 00 00 00 00 00 00 00 18 18 00 00 00 00 00 00 00 18 00 00 00 0f 0c 0c 0c ec 6c 3c 1c   ┆8ll8                         l< ┆
0x36fe0…37000            78 6c 6c 6c 6c 00 00 00 70 18 30 60 78 00 00 00 00 00 3c 3c 3c 3c 00 00 7e 81 bd a1 bd 29 26 00   ┆xllll   p 0`x     <<<<  ü    )& ┆
0x37000…37020 (22, 0, 1) 00 00 00 00 00 00 00 00 7e 81 a5 81 bd 99 81 7e 7e ff db ff c3 e7 ff 7e 6c fe fe fe 7c 38 10 00   ┆        ü      üü      ül   ø8  ┆
0x37020…37040            10 38 7c fe 7c 38 10 00 38 7c 38 fe fe 7c 38 7c 10 10 38 7c fe 7c 38 7c 00 00 18 3c 3c 18 00 00   ┆ 8ø ø8  8ø8  ø8ø  8ø ø8ø   <<   ┆
0x37040…37060            ff ff e7 c3 c3 e7 ff ff 00 3c 66 42 42 66 3c 00 ff c3 99 bd bd 99 c3 ff 0f 07 0f 7d cc cc cc 78   ┆         <fBBf<            å   x┆
0x37060…37080            3c 66 66 66 3c 18 7e 18 3f 33 3f 30 30 70 f0 e0 7f 63 7f 63 63 67 e6 c0 99 5a 3c e7 e7 3c 5a 99   ┆<fff< ü ?3?00p   c ccg   Z<  <Z ┆
0x37080…370a0            80 e0 f8 fe f8 e0 80 00 02 0e 3e fe 3e 0e 02 00 18 3c 7e 18 18 7e 3c 18 66 66 66 66 66 00 66 00   ┆          > >    <ü  ü< fffff f ┆
0x370a0…370c0            7f db db 7b 1b 1b 1b 00 3e 63 38 6c 6c 38 cc 78 00 00 00 00 7e 7e 7e 00 18 3c 7e 18 7e 3c 18 ff   ┆   æ    >c8ll8 x    üüü  <ü ü<  ┆
0x370c0…370e0            18 3c 7e 18 18 18 18 00 18 18 18 18 7e 3c 18 00 00 18 0c fe 0c 18 00 00 00 30 60 fe 60 30 00 00   ┆ <ü         ü<           0` `0  ┆
0x370e0…37100            00 00 c0 c0 c0 fe 00 00 00 24 66 ff 66 24 00 00 00 18 3c 7e ff ff 00 00 00 ff ff 7e 3c 18 00 00   ┆         $f f$    <ü       ü<   ┆
0x37100…37120            00 00 00 00 00 00 00 00 30 78 78 30 30 00 30 00 6c 6c 6c 00 00 00 00 00 6c 6c fe 6c fe 6c 6c 00   ┆        0xx00 0 lll     ll l ll ┆
0x37120…37140            30 7c c0 78 0c f8 30 00 00 c6 cc 18 30 66 c6 00 38 6c 38 76 dc cc 76 00 60 60 c0 00 00 00 00 00   ┆0ø x  0     0f  8l8v  v ``      ┆
0x37140…37160            18 30 60 60 60 30 18 00 60 30 18 18 18 30 60 00 00 66 3c ff 3c 66 00 00 00 30 30 fc 30 30 00 00   ┆ 0```0  `0   0`  f< <f   00 00  ┆
0x37160…37180            00 00 00 00 00 30 30 60 00 00 00 fc 00 00 00 00 00 00 00 00 00 30 30 00 06 0c 18 30 60 c0 80 00   ┆     00`             00    0`   ┆
0x37180…371a0            7c c6 ce de f6 e6 7c 00 30 70 30 30 30 30 fc 00 78 cc 0c 38 60 cc fc 00 78 cc 0c 38 0c cc 78 00   ┆ø     ø 0p0000  x  8`   x  8  x ┆
0x371a0…371c0            1c 3c 6c cc fe 0c 1e 00 fc c0 f8 0c 0c cc 78 00 38 60 c0 f8 cc cc 78 00 fc cc 0c 18 30 30 30 00   ┆ <l           x 8`    x     000 ┆
0x371c0…371e0            78 cc cc 78 cc cc 78 00 78 cc cc 7c 0c 18 70 00 00 30 30 00 00 30 30 00 00 30 30 00 00 30 30 60   ┆x  x  x x  ø  p  00  00  00  00`┆
0x371e0…37200            18 30 60 c0 60 30 18 00 00 00 fc 00 00 fc 00 00 60 30 18 0c 18 30 60 00 78 cc 0c 18 30 00 30 00   ┆ 0` `0          `0   0` x   0 0 ┆
0x37200…37220            7c c6 de de de c0 78 00 30 78 cc cc fc cc cc 00 fc 66 66 7c 66 66 fc 00 3c 66 c0 c0 c0 66 3c 00   ┆ø     x 0x       fføff  <f   f< ┆
0x37220…37240            f8 6c 66 66 66 6c f8 00 fe 62 68 78 68 62 fe 00 fe 62 68 78 68 60 f0 00 3c 66 c0 c0 ce 66 3e 00   ┆ lfffl   bhxhb   bhxh`  <f   f> ┆
0x37240…37260            cc cc cc fc cc cc cc 00 78 30 30 30 30 30 78 00 1e 0c 0c 0c cc cc 78 00 e6 66 6c 78 6c 66 e6 00   ┆        x00000x       x  flxlf  ┆
0x37260…37280            f0 60 60 60 62 66 fe 00 c6 ee fe fe d6 c6 c6 00 c6 e6 f6 de ce c6 c6 00 38 6c c6 c6 c6 6c 38 00   ┆ ```bf                  8l   l8 ┆
0x37280…372a0            fc 66 66 7c 60 60 f0 00 78 cc cc cc dc 78 1c 00 fc 66 66 7c 6c 66 e6 00 78 cc e0 70 1c cc 78 00   ┆ ffø``  x    x   ffølf  x  p  x ┆
0x372a0…372c0            fc b4 30 30 30 30 78 00 cc cc cc cc cc cc fc 00 cc cc cc cc cc 78 30 00 c6 c6 c6 d6 fe ee c6 00   ┆  0000x              x0         ┆
0x372c0…372e0            c6 c6 6c 38 38 6c c6 00 cc cc cc 78 30 30 78 00 fe c6 8c 18 32 66 fe 00 78 60 60 60 60 60 78 00   ┆  l88l     x00x     2f  x`````x ┆
0x372e0…37300            c0 60 30 18 0c 06 02 00 78 18 18 18 18 18 78 00 10 38 6c c6 00 00 00 00 00 00 00 00 00 00 00 ff   ┆ `0     x     x  8l             ┆
0x37300…37320            30 30 18 00 00 00 00 00 00 00 78 0c 7c cc 76 00 e0 60 60 7c 66 66 dc 00 00 00 78 cc c0 cc 78 00   ┆00        x ø v  ``øff    x   x ┆
0x37320…37340            1c 0c 0c 7c cc cc 76 00 00 00 78 cc fc c0 78 00 38 6c 60 f0 60 60 f0 00 00 00 76 cc cc 7c 0c f8   ┆   ø  v   x   x 8l` ``    v  ø  ┆
0x37340…37360            e0 60 6c 76 66 66 e6 00 30 00 70 30 30 30 78 00 0c 00 0c 0c 0c cc cc 78 e0 60 66 6c 78 6c e6 00   ┆ `lvff  0 p000x        x `flxl  ┆
0x37360…37380            70 30 30 30 30 30 78 00 00 00 cc fe fe d6 c6 00 00 00 f8 cc cc cc cc 00 00 00 78 cc cc cc 78 00   ┆p00000x                   x   x ┆
0x37380…373a0            00 00 dc 66 66 7c 60 f0 00 00 76 cc cc 7c 0c 1e 00 00 dc 76 66 60 f0 00 00 00 7c c0 78 0c f8 00   ┆   ffø`   v  ø     vf`    ø x   ┆
0x373a0…373c0            10 30 7c 30 30 34 18 00 00 00 cc cc cc cc 76 00 00 00 cc cc cc 78 30 00 00 00 c6 d6 fe fe 6c 00   ┆ 0ø004        v      x0       l ┆
0x373c0…373e0            00 00 c6 6c 38 6c c6 00 00 00 cc cc cc 7c 0c f8 00 00 fc 98 30 64 fc 00 1c 30 30 e0 30 30 1c 00   ┆   l8l       ø      0d   00 00  ┆
0x373e0…37400            18 18 18 00 18 18 18 00 e0 30 30 1c 30 30 e0 00 76 dc 00 00 00 00 00 00 00 10 38 6c c6 c6 fe 00   ┆         00 00  v         8l    ┆
0x37400…37420 (22, 0, 2) 3c 66 60 66 3c 0c 06 3c 00 66 00 66 66 66 3f 00 0e 00 3c 66 7e 60 3c 00 7e c3 3c 06 3e 66 3f 00   ┆<f`f<  < f fff?   <fü`< ü < >f? ┆
0x37420…37440            66 00 3c 06 3e 66 3f 00 70 00 3c 06 3e 66 3f 00 30 00 78 0c 7c cc 7e 00 00 00 3c 60 60 3c 06 1c   ┆f < >f? p < >f? 0 x ø ü   <``<  ┆
0x37440…37460            7e c3 3c 66 7e 60 3c 00 66 00 3c 66 7e 60 3c 00 70 00 3c 66 7e 60 3c 00 66 00 38 18 18 18 3c 00   ┆ü <fü`< f <fü`< p <fü`< f 8   < ┆
0x37460…37480            7c c6 38 18 18 18 3c 00 70 00 38 18 18 18 3c 00 63 1c 36 63 7f 63 63 00 30 00 78 cc fc cc cc 00   ┆ø 8   < p 8   < c 6c cc 0 x     ┆
0x37480…374a0            0e 00 7e 30 3c 30 7e 00 00 00 fe 12 fe 90 fe 00 3e 6c cc fe cc cc ce 00 38 66 00 3c 66 66 3c 00   ┆  ü0<0ü         >l      8f <ff< ┆
0x374a0…374c0            00 66 00 3c 66 66 3c 00 00 70 00 3c 66 66 3c 00 3c 66 00 66 66 66 3f 00 00 70 00 66 66 66 3f 00   ┆ f <ff<  p <ff< <f fff?  p fff? ┆
0x374c0…374e0            00 66 00 66 66 3e 06 7c c3 18 3c 66 66 3c 18 00 66 00 66 66 66 66 3c 00 00 02 7c ce d6 e6 7c 80   ┆ f ff> ø  <ff<  f ffff<   ø   ø ┆
0x374e0…37500            1c 36 32 78 30 73 7e 00 7c c6 ce d6 e6 c6 7c 00 f0 60 66 60 62 66 fe 00 70 30 30 36 30 30 78 00   ┆ 62x0sü ø     ø  `f`bf  p00600x ┆
0x37500…37520            0e 00 3c 06 3e 66 3f 00 1c 00 38 18 18 18 3c 00 00 0e 00 3c 66 66 3c 00 00 0e 00 66 66 66 3f 00   ┆  < >f?   8   <    <ff<    fff? ┆
0x37520…37540            00 7c 00 7c 66 66 66 00 7e 00 66 76 7e 6e 66 00 00 7e 00 3c 66 66 3c 00 7e 00 1c 36 63 36 1c 00   ┆ ø øfff ü fvünf  ü <ff< ü  6c6  ┆
0x37540…37560            18 00 18 30 60 66 3c 00 7e 00 3c 06 3e 66 3f 00 7e 00 3c 66 7e 66 66 00 10 38 6c 6c 38 34 58 00   ┆   0`f< ü < >f? ü <füff  8ll84X ┆
0x37560…37580            c0 c0 00 f8 cc cc cc 00 18 18 00 18 18 18 18 00 7c 18 30 98 70 00 00 00 00 c6 7c c6 c6 7c c6 00   ┆                ø 0 p     ø  ø  ┆
0x37580…375a0            22 88 22 88 22 88 22 88 55 aa 55 aa 55 aa 55 aa db 77 db ee db 77 db ee 18 18 18 18 18 18 18 18   ┆" " " " U U U U  w   w          ┆
0x375a0…375c0            18 18 18 18 f8 18 18 18 18 18 f8 18 f8 18 18 18 36 36 36 36 f6 36 36 36 00 00 00 00 fe 36 36 36   ┆                6666 666     666┆
0x375c0…375e0            00 00 f8 18 f8 18 18 18 36 36 f6 06 f6 36 36 36 36 36 36 36 36 36 36 36 00 00 fe 06 f6 36 36 36   ┆        66   66666666666     666┆
0x375e0…37600            36 36 f6 06 fe 00 00 00 36 36 36 36 fe 00 00 00 18 18 f8 18 f8 00 00 00 00 00 00 00 f8 18 18 18   ┆66      6666                    ┆
0x37600…37620            18 18 18 18 1f 00 00 00 18 18 18 18 ff 00 00 00 00 00 00 00 ff 18 18 18 18 18 18 18 1f 18 18 18   ┆                                ┆
0x37620…37640            00 00 00 00 ff 00 00 00 18 18 18 18 ff 18 18 18 18 18 1f 18 1f 18 18 18 36 36 36 36 37 36 36 36   ┆                        66667666┆
0x37640…37660            36 36 37 30 3f 00 00 00 00 00 3f 30 37 36 36 36 36 36 f7 00 ff 00 00 00 00 00 ff 00 f7 36 36 36   ┆6670?     ?0766666           666┆
0x37660…37680            36 36 37 30 37 36 36 36 00 00 ff 00 ff 00 00 00 36 36 f7 00 f7 36 36 36 18 18 ff 00 ff 00 00 00   ┆66707666        66   666        ┆
0x37680…376a0            36 36 36 36 ff 00 00 00 00 00 ff 00 ff 18 18 18 00 00 00 00 ff 36 36 36 36 36 36 36 3f 00 00 00   ┆6666                 6666666?   ┆
0x376a0…376c0            18 18 1f 18 1f 00 00 00 00 00 1f 18 1f 18 18 18 00 00 00 00 3f 36 36 36 36 36 36 36 ff 36 36 36   ┆                    ?6666666 666┆
0x376c0…376e0            18 18 ff 18 ff 18 18 18 18 18 18 18 f8 00 00 00 00 00 00 00 1f 18 18 18 ff ff ff ff ff ff ff ff   ┆                                ┆
0x376e0…37700            00 00 00 00 ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 0f 0f 0f 0f 0f 0f 0f 0f ff ff ff ff 00 00 00 00   ┆                                ┆
0x37700…37720            00 00 3b 6e 64 6e 3b 00 00 3c 66 7c 66 7c 60 60 00 7e 66 60 60 60 60 00 00 7f 36 36 36 36 36 00   ┆  ;ndn;  <føfø`` üf````   66666 ┆
0x37720…37740            7e 66 30 18 30 66 7e 00 00 00 3f 6c 6c 6c 38 00 00 33 33 33 33 3e 30 60 00 3b 6e 0c 0c 0c 0c 00   ┆üf0 0fü   ?lll8  3333>0` ;n     ┆
0x37740…37760            7e 18 3c 66 66 3c 18 7e 1c 36 63 7f 63 36 1c 00 1c 36 63 63 36 36 77 00 0e 18 0c 3e 66 66 3c 00   ┆ü <ff< ü 6c c6   6cc66w    >ff< ┆
0x37760…37780            00 00 7e db db 7e 00 00 06 0c 7e db db 7e 60 c0 1c 60 c0 fc c0 60 1c 00 3c 66 66 66 66 66 66 00   ┆  ü  ü    ü  ü`  `   `  <ffffff ┆
0x37780…377a0            00 7e 00 7e 00 7e 00 00 18 18 7e 18 18 00 7e 00 30 18 0c 18 30 00 7e 00 0c 18 30 18 0c 00 7e 00   ┆ ü ü ü    ü   ü 0   0 ü   0   ü ┆
0x377a0…377c0            0e 1b 1b 18 18 18 18 18 18 18 18 18 18 d8 d8 70 18 18 00 7e 00 18 18 00 00 76 dc 00 76 dc 00 00   ┆               p   ü     v  v   ┆
0x377c0…377e0            38 6c 6c 38 00 00 00 00 00 00 00 18 18 00 00 00 00 00 00 00 18 00 00 00 0f 0c 0c 0c ec 6c 3c 1c   ┆8ll8                         l< ┆
0x377e0…37800            78 6c 6c 6c 6c 00 00 00 70 18 30 60 78 00 00 00 00 00 3c 3c 3c 3c 00 00 7e 81 bd a1 bd 29 26 00   ┆xllll   p 0`x     <<<<  ü    )& ┆
0x37800…37820 (22, 0, 3) 28 2a 47 53 56 2d 43 50 49 2a 29 0d 0a 43 4f 4e 53 54 0d 0a 20 20 62 6c 61 63 6b 20 09 3d 20 30   ┆(*GSV-CPI*)  CONST    black  = 0┆
0x37820…37840            3b 0d 0a 20 20 77 68 69 74 65 20 09 3d 20 24 46 46 3b 0d 0a 20 20 74 72 61 6e 73 70 09 3d 20 30   ┆;    white  = $FF;    transp = 0┆
0x37840…37860            31 3b 0d 0a 20 20 57 6e 64 5f 6d 61 78 20 09 3d 20 35 3b 0d 0a 20 20 63 68 61 72 66 69 6c 6e 61   ┆1;    Wnd_max  = 5;    charfilna┆
0x37860…37880            6d 65 20 09 3d 20 27 38 78 38 66 6f 6e 74 2e 63 68 72 27 3b 0d 0a 20 20 74 78 74 5f 6d 6f 64 65   ┆me  = '8x8font.chr';    txt_mode┆
0x37880…378a0            09 3a 20 42 4f 4f 4c 45 41 4e 20 3d 20 74 72 75 65 3b 0d 0a 20 20 20 20 0d 0a 28 2a 20 20 46 6f   ┆ : BOOLEAN = true;        (*  Fo┆
0x378a0…378c0            72 65 2d 20 61 6e 64 20 62 61 63 6b 67 72 6f 75 6e 64 63 6f 6c 6f 72 73 2a 29 0d 0a 28 2a 20 20   ┆re- and backgroundcolors*)  (*  ┆
0x378c0…378e0            20 20 4c 69 67 68 74 54 78 74 20 6f 6e 6c 79 20 77 6f 72 6b 73 20 46 4f 52 20 66 6f 72 65 67 72   ┆  LightTxt only works FOR foregr┆
0x378e0…37900            6f 75 6e 64 63 6f 6c 6f 72 73 2a 29 0d 0a 28 2a 20 20 20 20 42 6c 69 6e 6b 54 78 74 20 6f 6e 6c   ┆oundcolors*)  (*    BlinkTxt onl┆
0x37900…37920            79 20 77 6f 72 6b 73 20 46 4f 52 20 62 61 63 6b 67 72 6f 75 6e 64 63 6f 6c 6f 72 73 20 2a 29 0d   ┆y works FOR backgroundcolors *) ┆
0x37920…37940            0a 20 20 62 6c 61 63 6b 54 78 74 09 3d 20 30 3b 20 20 62 6c 75 65 54 78 74 09 3d 20 31 3b 0d 0a   ┆   blackTxt = 0;  blueTxt = 1;  ┆
0x37940…37960            20 20 67 72 65 65 6e 74 78 74 09 3d 20 32 3b 20 20 63 79 61 6e 74 78 74 09 3d 20 33 3b 0d 0a 20   ┆  greentxt = 2;  cyantxt = 3;   ┆
0x37960…37980            20 72 65 64 54 78 74 09 3d 20 34 3b 20 20 6d 61 67 65 6e 74 61 74 78 74 3d 20 35 3b 0d 0a 20 20   ┆ redTxt = 4;  magentatxt= 5;    ┆
0x37980…379a0            79 65 6c 6c 6f 77 74 78 74 09 3d 20 36 3b 20 20 77 68 69 74 65 74 78 74 09 3d 20 37 3b 0d 0a 20   ┆yellowtxt = 6;  whitetxt = 7;   ┆
0x379a0…379c0            20 6c 69 67 68 74 74 78 74 09 3d 20 38 3b 20 20 62 6c 69 6e 6b 74 78 74 20 20 3d 20 38 3b 0d 0a   ┆ lighttxt = 8;  blinktxt  = 8;  ┆
0x379c0…379e0            0d 0a 20 20 68 65 6c 70 3a 41 52 52 41 59 28 2e 30 2e 2e 37 2e 29 20 4f 46 20 53 54 52 49 4e 47   ┆    help:ARRAY(.0..7.) OF STRING┆
0x379e0…37a00            28 2e 34 30 2e 29 20 3d 0d 0a 20 20 20 20 28 27 3c 48 4f 4d 45 3e 20 20 6d 61 72 6b 9b 72 20 74   ┆(.40.) =      ('<HOME>  mark r t┆
0x37a00…37a20            69 6c 20 74 65 6b 73 74 73 74 61 72 74 27 2c 0d 0a 20 20 20 20 27 3c 45 4e 44 3e 20 20 20 6d 61   ┆il tekststart',      '<END>   ma┆
0x37a20…37a40            72 6b 9b 72 20 74 69 6c 20 74 65 6b 73 74 73 6c 75 74 27 2c 0d 0a 20 20 20 20 27 3c 44 45 4c 3e   ┆rk r til tekstslut',      '<DEL>┆
0x37a40…37a60            20 20 20 73 6c 65 74 20 74 65 67 6e 20 70 86 20 6d 61 72 6b 9b 72 65 6e 73 20 70 6c 61 64 73 27   ┆   slet tegn p  mark rens plads'┆
0x37a60…37a80            2c 0d 0a 20 20 20 20 27 3c 49 4e 53 3e 20 20 20 73 6b 69 66 74 20 6d 65 6c 6c 65 6d 20 6f 76 65   ┆,      '<INS>   skift mellem ove┆
0x37a80…37aa0            72 73 6b 72 69 76 20 6f 67 20 69 6e 64 73 91 74 27 2c 0d 0a 20 20 20 20 27 3c 46 35 3e 20 20 20   ┆rskriv og inds t',      '<F5>   ┆
0x37aa0…37ac0            20 73 6c 65 74 20 6c 69 6e 69 65 20 66 72 61 20 6d 61 72 6b 9b 72 65 6e 73 20 70 6c 61 64 73 27   ┆ slet linie fra mark rens plads'┆
0x37ac0…37ae0            2c 0d 0a 20 20 20 20 27 3c 11 27 40 31 39 36 27 3e 20 20 20 20 73 6c 65 74 20 74 65 67 6e 20 74   ┆,      '< '@196'>    slet tegn t┆
0x37ae0…37b00            69 6c 20 76 65 6e 73 74 72 65 20 46 4f 52 20 6d 61 72 6b 9b 72 27 2c 0d 0a 20 20 20 20 27 3c 1b   ┆il venstre FOR mark r',      '< ┆
0x37b00…37b20            3e 20 20 20 20 20 72 79 6b 20 6d 61 72 6b 9b 72 20 65 6e 20 70 6c 61 64 73 20 74 69 6c 20 76 65   ┆>     ryk mark r en plads til ve┆
0x37b20…37b40            6e 73 74 72 65 27 2c 0d 0a 20 20 20 20 27 3c 27 40 32 36 27 3e 20 20 20 20 20 72 79 6b 20 6d 61   ┆nstre',      '<'@26'>     ryk ma┆
0x37b40…37b60            72 6b 9b 72 20 65 6e 20 70 6c 61 64 73 20 74 69 6c 20 68 9b 6a 72 65 27 29 3b 0d 0a 0d 0a 0d 0a   ┆rk r en plads til h jre');      ┆
0x37b60…37b80            54 59 50 45 0d 0a 20 20 42 75 66 74 79 70 65 20 09 3d 20 5e 49 4e 54 45 47 45 52 3b 0d 0a 20 20   ┆TYPE    Buftype  = ^INTEGER;    ┆
0x37b80…37ba0            73 74 72 38 30 20 09 3d 20 53 54 52 49 4e 47 28 2e 38 30 2e 29 3b 0d 0a 20 20 73 74 72 31 20 20   ┆str80  = STRING(.80.);    str1  ┆
0x37ba0…37bc0            20 20 20 20 20 20 20 20 3d 20 53 54 52 49 4e 47 5b 31 5d 3b 0d 0a 20 20 73 74 72 31 35 20 20 20   ┆        = STRINGÆ1Å;    str15   ┆
0x37bc0…37be0            20 20 20 20 20 20 3d 20 53 54 52 49 4e 47 5b 31 35 5d 3b 0d 0a 20 20 73 74 72 32 35 20 20 20 20   ┆      = STRINGÆ15Å;    str25    ┆
0x37be0…37c00            20 20 20 20 20 3d 20 53 54 52 49 4e 47 5b 32 35 5d 3b 0d 0a 20 20 63 68 61 72 73 65 74 20 20 20   ┆     = STRINGÆ25Å;    charset   ┆
0x37c00…37c20 (22, 0, 4) 20 20 20 20 3d 20 73 65 74 20 6f 66 20 63 68 61 72 3b 0d 0a 20 20 57 6e 64 5f 54 59 50 45 20 3d   ┆    = set of char;    Wnd_TYPE =┆
0x37c20…37c40            20 52 45 43 4f 52 44 0d 0a 20 20 20 20 78 31 2c 20 79 31 09 09 3a 20 49 4e 54 45 47 45 52 3b 0d   ┆ RECORD      x1, y1  : INTEGER; ┆
0x37c40…37c60            0a 20 20 20 20 6d 61 78 78 2c 20 6d 61 78 79 09 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20   ┆     maxx, maxy  : INTEGER;     ┆
0x37c60…37c80            20 70 65 6e 63 6f 6c 6f 72 2c 20 62 61 63 6b 63 6f 6c 6f 72 09 3a 20 49 4e 54 45 47 45 52 3b 0d   ┆ pencolor, backcolor : INTEGER; ┆
0x37c80…37ca0            0a 20 20 20 20 74 78 74 6d 61 78 78 2c 20 74 78 74 6d 61 78 79 09 3a 20 49 4e 54 45 47 45 52 3b   ┆     txtmaxx, txtmaxy : INTEGER;┆
0x37ca0…37cc0            0d 0a 20 20 20 20 74 78 74 78 31 2c 20 74 78 74 79 31 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20   ┆      txtx1, txty1 : INTEGER;   ┆
0x37cc0…37ce0            20 20 20 68 64 72 09 09 09 3a 20 73 74 72 38 30 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 20 20 57   ┆   hdr   : str80;    END;      W┆
0x37ce0…37d00            6c 64 5f 54 59 50 45 20 3d 20 52 45 43 4f 52 44 0d 0a 20 20 20 20 78 31 2c 20 79 31 09 3a 20 52   ┆ld_TYPE = RECORD      x1, y1 : R┆
0x37d00…37d20            45 41 4c 3b 0d 0a 20 20 20 20 78 72 61 6e 67 65 2c 20 79 72 61 6e 67 65 3a 20 52 45 41 4c 3b 0d   ┆EAL;      xrange, yrange: REAL; ┆
0x37d20…37d40            0a 20 20 20 20 58 4f 6c 64 2c 20 59 6f 6c 64 09 3a 20 52 45 41 4c 3b 0d 0a 20 20 45 4e 44 3b 0d   ┆     XOld, Yold : REAL;    END; ┆
0x37d40…37d60            0a 0d 0a 20 20 73 61 76 65 5f 54 59 50 45 20 3d 20 52 45 43 4f 52 44 0d 0a 20 20 20 20 63 6f 6e   ┆     save_TYPE = RECORD      con┆
0x37d60…37d80            74 65 6e 74 09 3a 20 62 75 66 74 79 70 65 3b 0d 0a 20 20 20 20 6c 65 6e 67 74 68 09 3a 20 49 4e   ┆tent : buftype;      length : IN┆
0x37d80…37da0            54 45 47 45 52 3b 0d 0a 20 20 20 20 77 69 6e 64 09 3a 20 57 6e 64 5f 54 59 50 45 3b 0d 0a 20 20   ┆TEGER;      wind : Wnd_TYPE;    ┆
0x37da0…37dc0            20 20 6f 6c 64 31 2c 20 6f 6c 64 32 09 3a 20 52 45 41 4c 3b 0d 0a 20 20 20 20 61 63 74 75 61 6c   ┆  old1, old2 : REAL;      actual┆
0x37dc0…37de0            09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 0d 0a 20 20 72 65 67 74 79   ┆ : INTEGER;    END;        regty┆
0x37de0…37e00            70 20 3d 20 52 45 43 4f 52 44 0d 0a 20 20 20 20 61 78 2c 62 78 2c 63 78 2c 64 78 2c 62 70 2c 73   ┆p = RECORD      ax,bx,cx,dx,bp,s┆
0x37e00…37e20            69 2c 64 69 2c 64 73 2c 65 73 2c 66 6c 61 67 73 3a 49 4e 54 45 47 45 52 0d 0a 20 20 45 4e 44 3b   ┆i,di,ds,es,flags:INTEGER    END;┆
0x37e20…37e40            0d 0a 20 20 6f 70 72 74 79 70 65 09 3d 20 28 73 61 76 65 2c 6c 6f 61 64 2c 73 63 72 73 77 61 70   ┆    oprtype = (save,load,scrswap┆
0x37e40…37e60            29 3b 0d 0a 20 20 63 68 61 72 66 69 6c 74 79 70 65 09 3d 20 41 52 52 41 59 28 2e 30 2e 2e 32 35   ┆);    charfiltype = ARRAY(.0..25┆
0x37e60…37e80            35 2e 29 20 4f 46 20 41 52 52 41 59 28 2e 30 2e 2e 37 2e 29 20 4f 46 20 42 59 54 45 3b 0d 0a 0d   ┆5.) OF ARRAY(.0..7.) OF BYTE;   ┆
0x37e80…37ea0            0a 20 20 74 78 74 5f 6c 69 6e 65 63 68 61 72 09 3d 20 52 45 43 4f 52 44 0d 0a 20 20 20 20 43 41   ┆   txt_linechar = RECORD      CA┆
0x37ea0…37ec0            53 45 20 42 4f 4f 4c 45 41 4e 20 4f 46 0d 0a 20 20 20 20 20 20 74 72 75 65 3a 20 28 63 68 3a 20   ┆SE BOOLEAN OF        true: (ch: ┆
0x37ec0…37ee0            43 48 41 52 3b 20 20 61 74 74 3a 20 42 59 54 45 29 3b 0d 0a 20 20 20 20 20 20 66 61 6c 73 65 3a   ┆CHAR;  att: BYTE);        false:┆
0x37ee0…37f00            28 62 6f 74 68 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 20 20 53 63   ┆(both: INTEGER);    END;      Sc┆
0x37f00…37f20            72 5f 54 59 50 45 09 3d 20 28 4f 4c 49 5f 68 69 67 68 2c 4f 4c 49 5f 6c 6f 77 29 3b 0d 0a 20 20   ┆r_TYPE = (OLI_high,OLI_low);    ┆
0x37f20…37f40            50 72 6e 5f 54 59 50 45 20 20 20 20 20 20 3d 20 28 4e 45 43 5f 31 36 62 69 74 2c 4e 45 43 5f 38   ┆Prn_TYPE      = (NEC_16bit,NEC_8┆
0x37f40…37f60            62 69 74 29 3b 0d 0a 20 20 70 74 72 5f 54 59 50 45 09 3d 20 5e 49 4e 54 45 47 45 52 3b 0d 0a 20   ┆bit);    ptr_TYPE = ^INTEGER;   ┆
0x37f60…37f80            20 74 78 74 5f 6c 69 6e 65 09 3d 20 41 52 52 41 59 28 2e 30 2e 2e 37 39 2e 29 20 4f 46 20 74 78   ┆ txt_line = ARRAY(.0..79.) OF tx┆
0x37f80…37fa0            74 5f 6c 69 6e 65 63 68 61 72 3b 0d 0a 20 20 74 78 74 5f 63 68 61 72 73 65 74 20 20 20 3d 20 53   ┆t_linechar;    txt_charset   = S┆
0x37fa0…37fc0            45 54 20 4f 46 20 43 48 41 52 3b 0d 0a 20 20 61 6e 79 73 74 72 20 20 20 20 20 20 20 20 3d 20 73   ┆ET OF CHAR;    anystr        = s┆
0x37fc0…37fe0            74 72 69 6e 67 5b 32 35 35 5d 3b 0d 0a 56 41 52 0d 0a 20 20 53 63 72 5f 6d 61 78 78 09 3a 20 49   ┆tringÆ255Å;  VAR    Scr_maxx : I┆
0x37fe0…38000            4e 54 45 47 45 52 3b 0d 0a 20 20 53 63 72 5f 6d 61 78 79 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a   ┆NTEGER;    Scr_maxy : INTEGER;  ┆
0x38000…38020 (22, 0, 5) 20 20 53 63 72 5f 73 65 67 6d 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 53 63 72 5f 61 73 70   ┆  Scr_segm : INTEGER;    Scr_asp┆
0x38020…38040            65 63 74 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 53 63 72 5f 78 61 64 64 72 09 3a 20 41 52   ┆ect : INTEGER;    Scr_xaddr : AR┆
0x38040…38060            52 41 59 28 2e 30 2e 2e 36 34 30 2e 29 20 4f 46 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 53 63 72   ┆RAY(.0..640.) OF INTEGER;    Scr┆
0x38060…38080            5f 79 61 64 64 72 09 3a 20 41 52 52 41 59 28 2e 30 2e 2e 34 30 30 2e 29 20 4f 46 20 49 4e 54 45   ┆_yaddr : ARRAY(.0..400.) OF INTE┆
0x38080…380a0            47 45 52 3b 0d 0a 20 20 53 63 72 5f 42 45 47 49 4e 09 3a 20 5e 49 4e 54 45 47 45 52 3b 0d 0a 0d   ┆GER;    Scr_BEGIN : ^INTEGER;   ┆
0x380a0…380c0            0a 20 20 57 6e 64 5f 09 09 3a 20 57 6e 64 5f 54 59 50 45 3b 0d 0a 20 20 57 6e 64 5f 70 61 6c 65   ┆   Wnd_  : Wnd_TYPE;    Wnd_pale┆
0x380c0…380e0            74 74 65 20 20 20 3a 20 41 52 52 41 59 28 2e 30 2e 2e 31 35 2e 29 20 4f 46 20 62 79 74 65 3b 0d   ┆tte   : ARRAY(.0..15.) OF byte; ┆
0x380e0…38100            0a 20 20 57 6c 64 5f 09 09 3a 20 57 6c 64 5f 54 59 50 45 3b 0d 0a 0d 0a 20 20 57 6e 64 5f 61 72   ┆   Wld_  : Wld_TYPE;      Wnd_ar┆
0x38100…38120            72 09 3a 20 41 52 52 41 59 28 2e 31 2e 2e 57 6e 64 5f 6d 61 78 2e 29 20 4f 46 20 57 6e 64 5f 54   ┆r : ARRAY(.1..Wnd_max.) OF Wnd_T┆
0x38120…38140            59 50 45 3b 0d 0a 20 20 57 6c 64 5f 61 72 72 09 3a 20 41 52 52 41 59 28 2e 31 2e 2e 57 6e 64 5f   ┆YPE;    Wld_arr : ARRAY(.1..Wnd_┆
0x38140…38160            6d 61 78 2e 29 20 4f 46 20 77 6c 64 5f 54 59 50 45 3b 0d 0a 20 20 53 61 76 65 5f 61 72 72 09 3a   ┆max.) OF wld_TYPE;    Save_arr :┆
0x38160…38180            20 41 52 52 41 59 28 2e 31 2e 2e 57 6e 64 5f 6d 61 78 2e 29 20 4f 46 20 73 61 76 65 5f 54 59 50   ┆ ARRAY(.1..Wnd_max.) OF save_TYP┆
0x38180…381a0            45 3b 0d 0a 20 20 57 6e 64 5f 61 63 74 75 61 6c 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 57   ┆E;    Wnd_actual : INTEGER;    W┆
0x381a0…381c0            6e 64 5f 43 6f 6c 6f 72 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 72 65 67 09 09 3a 20 72 65   ┆nd_Color : INTEGER;    reg  : re┆
0x381c0…381e0            67 74 79 70 3b 0d 0a 20 20 53 63 72 5f 73 74 61 72 74 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20   ┆gtyp;    Scr_start : INTEGER;   ┆
0x381e0…38200            20 67 72 61 70 68 5f 54 59 50 45 09 3a 20 53 63 72 5f 54 59 50 45 3b 0d 0a 20 20 53 63 72 5f 43   ┆ graph_TYPE : Scr_TYPE;    Scr_C┆
0x38200…38220            48 41 52 09 3a 20 63 68 61 72 66 69 6c 74 79 70 65 3b 0d 0a 20 20 74 78 74 5f 6c 69 6e 65 70 74   ┆HAR : charfiltype;    txt_linept┆
0x38220…38240            72 09 3a 20 41 52 52 41 59 28 2e 30 2e 2e 32 34 2e 29 20 4f 46 20 5e 74 78 74 5f 6c 69 6e 65 3b   ┆r : ARRAY(.0..24.) OF ^txt_line;┆
0x38240…38260            0d 0a 20 20 54 78 74 5f 6d 61 78 78 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 54 78 74 5f 6d   ┆    Txt_maxx : INTEGER;    Txt_m┆
0x38260…38280            61 78 79 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 0d 0a 0d 0a 0d 0a 63 6f 6e 73 74 0d 0a 20 20 73   ┆axy : INTEGER;        const    s┆
0x38280…382a0            63 72 5f 73 77 61 70 5f 3a 20 6f 70 72 74 79 70 65 3d 6c 6f 61 64 3b 0d 0a 0d 0a 7b 20 43 53 54   ┆cr_swap_: oprtype=load;    æ CST┆
0x382a0…382c0            52 20 72 65 74 75 72 6e 73 20 61 20 73 74 72 69 6e 67 20 77 69 74 68 20 4e 20 63 68 61 72 61 63   ┆R returns a string with N charac┆
0x382c0…382e0            74 65 72 73 20 6f 66 20 76 61 6c 75 65 20 43 20 7d 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 63 73   ┆ters of value C å    FUNCTION cs┆
0x382e0…38300            74 72 28 63 3a 20 63 68 61 72 3b 20 6e 3a 20 69 6e 74 65 67 65 72 29 3a 20 61 6e 79 73 74 72 3b   ┆tr(c: char; n: integer): anystr;┆
0x38300…38320            0d 0a 56 41 52 0d 0a 20 20 73 3a 20 53 54 52 49 4e 47 5b 32 35 35 5d 3b 0d 0a 42 45 47 49 4e 0d   ┆  VAR    s: STRINGÆ255Å;  BEGIN ┆
0x38320…38340            0a 20 20 49 46 20 6e 3c 30 20 54 48 45 4e 20 6e 3a 3d 30 3b 20 73 5b 30 5d 3a 3d 63 68 72 28 6e   ┆   IF n<0 THEN n:=0; sÆ0Å:=chr(n┆
0x38340…38360            29 3b 20 66 69 6c 6c 28 73 5b 31 5d 2c 6e 2c 63 29 3b 0d 0a 20 20 63 73 74 72 3a 3d 73 3b 0d 0a   ┆); fill(sÆ1Å,n,c);    cstr:=s;  ┆
0x38360…38380            45 4e 44 3b 0d 0a 0d 0a 7b 20 42 45 45 50 20 73 6f 75 6e 64 73 20 74 68 65 20 74 65 72 6d 69 6e   ┆END;    æ BEEP sounds the termin┆
0x38380…383a0            61 6c 27 73 20 62 65 6c 6c 20 6f 72 20 62 65 65 70 65 72 20 7d 0d 0a 0d 0a 50 52 4f 43 45 44 55   ┆al's bell or beeper å    PROCEDU┆
0x383a0…383c0            52 45 20 62 65 65 70 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 77 72 69 74 65 28 5e 47 29 3b 0d 0a 45   ┆RE beep;  BEGIN    write(^G);  E┆
0x383c0…383e0            4e 44 3b 0d 0a 0d 0a 0d 0a 7b 20 43 41 50 20 63 6f 6e 76 65 72 74 73 20 61 20 63 68 61 72 61 63   ┆ND;      æ CAP converts a charac┆
0x383e0…38400            74 65 72 20 74 6f 20 75 70 70 65 72 20 63 61 73 65 20 7d 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20   ┆ter to upper case å    FUNCTION ┆
0x38400…38420 (22, 1, 1) 63 61 70 28 63 68 3a 20 63 68 61 72 29 3a 20 63 68 61 72 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 49   ┆cap(ch: char): char;  BEGIN    I┆
0x38420…38440            46 20 28 63 68 3e 3d 27 61 27 29 20 41 4e 44 20 28 63 68 3c 3d 27 7a 27 29 20 54 48 45 4e 0d 0a   ┆F (ch>='a') AND (ch<='z') THEN  ┆
0x38440…38460            20 20 63 61 70 3a 3d 63 68 72 28 6f 72 64 28 63 68 29 2d 33 32 29 20 45 4c 53 45 20 63 61 70 3a   ┆  cap:=chr(ord(ch)-32) ELSE cap:┆
0x38460…38480            3d 63 68 3b 0d 0a 45 4e 44 3b 0d 0a 7b 20 43 4c 52 46 52 41 4d 45 20 63 6c 65 61 72 73 20 74 68   ┆=ch;  END;  æ CLRFRAME clears th┆
0x38480…384a0            65 20 64 69 73 70 6c 61 79 20 66 72 61 6d 65 2c 20 69 2e 65 2e 20 6c 69 6e 65 73 20 33 20 74 6f   ┆e display frame, i.e. lines 3 to┆
0x384a0…384c0            20 32 30 20 7d 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 63 6c 72 66 72 61 6d 65 3b 0d 0a 56 41   ┆ 20 å    PROCEDURE clrframe;  VA┆
0x384c0…384e0            52 0d 0a 20 20 69 3a 20 69 6e 74 65 67 65 72 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 46 4f 52 20 69   ┆R    i: integer;  BEGIN    FOR i┆
0x384e0…38500            3a 3d 34 20 54 4f 20 32 30 20 44 4f 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 67 6f 74 6f 78   ┆:=4 TO 20 DO    BEGIN      gotox┆
0x38500…38520            79 28 30 2c 69 29 3b 20 77 72 69 74 65 28 63 6c 72 65 6f 6c 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a   ┆y(0,i); write(clreol);    END;  ┆
0x38520…38540            45 4e 44 3b 0d 0a 0d 0a 50 72 6f 63 65 64 75 72 65 20 63 6c 72 66 65 6a 6c 3b 0d 0a 42 65 67 69   ┆END;    Procedure clrfejl;  Begi┆
0x38540…38560            6e 0d 0a 20 20 67 6f 74 6f 78 79 28 30 2c 32 34 29 3b 20 57 72 69 74 65 28 63 6c 72 65 6f 6c 29   ┆n    gotoxy(0,24); Write(clreol)┆
0x38560…38580            3b 0d 0a 45 6e 64 3b 0d 0a 20 20 0d 0a 50 72 6f 63 65 64 75 72 65 20 72 61 6d 6d 65 3b 0d 0a 42   ┆;  End;      Procedure ramme;  B┆
0x38580…385a0            65 67 69 6e 0d 0a 20 20 67 6f 74 6f 78 79 28 30 2c 30 29 3b 20 77 72 69 74 65 6c 6e 28 63 73 74   ┆egin    gotoxy(0,0); writeln(cst┆
0x385a0…385c0            72 28 27 2d 27 2c 37 39 29 29 3b 0d 0a 20 20 57 72 69 74 65 6c 6e 3b 0d 0a 20 20 77 72 69 74 65   ┆r('-',79));    Writeln;    write┆
0x385c0…385e0            6c 6e 28 63 73 74 72 28 27 2d 27 2c 37 39 29 29 3b 0d 0a 20 20 67 6f 74 6f 78 79 28 30 2c 32 31   ┆ln(cstr('-',79));    gotoxy(0,21┆
0x385e0…38600            29 3b 20 77 72 69 74 65 6c 6e 28 63 73 74 72 28 27 2d 27 2c 37 39 29 29 3b 0d 0a 20 20 77 72 69   ┆); writeln(cstr('-',79));    wri┆
0x38600…38620            74 65 6c 6e 3b 20 0d 0a 20 20 77 72 69 74 65 28 63 73 74 72 28 27 2d 27 2c 37 39 29 29 3b 0d 0a   ┆teln;     write(cstr('-',79));  ┆
0x38620…38640            45 6e 64 3b 0d 0a 0d 0a 0d 0a 0d 0a 7b 20 53 45 4c 45 43 54 20 64 69 73 70 6c 61 79 20 74 68 65   ┆End;        æ SELECT display the┆
0x38640…38660            20 70 72 6f 6d 70 74 20 73 74 72 69 6e 67 20 50 52 20 6f 6e 20 6c 69 6e 65 20 32 32 2c 20 61 6e   ┆ prompt string PR on line 22, an┆
0x38660…38680            64 20 77 61 69 74 73 20 20 20 20 20 7d 0d 0a 7b 20 75 6e 74 69 6c 20 74 68 65 20 75 73 65 72 20   ┆d waits     å  æ until the user ┆
0x38680…386a0            65 6e 74 65 72 73 20 61 20 63 68 61 72 61 63 74 65 72 20 77 68 69 63 68 20 69 73 20 63 6f 6e 74   ┆enters a character which is cont┆
0x386a0…386c0            61 69 6e 65 64 20 69 6e 20 74 68 65 20 20 20 7d 0d 0a 7b 20 54 45 52 4d 20 63 68 61 72 61 63 74   ┆ained in the   å  æ TERM charact┆
0x386c0…386e0            65 72 20 73 65 74 2e 20 54 68 65 20 63 68 61 72 61 63 74 65 72 20 69 73 20 74 68 65 6e 20 72 65   ┆er set. The character is then re┆
0x386e0…38700            74 75 72 6e 65 64 20 69 6e 20 54 43 2e 20 20 20 20 20 7d 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45   ┆turned in TC.     å    PROCEDURE┆
0x38700…38720            20 73 65 6c 65 63 74 28 70 72 3a 20 73 74 72 38 30 3b 20 74 65 72 6d 3a 20 63 68 61 72 73 65 74   ┆ select(pr: str80; term: charset┆
0x38720…38740            3b 20 56 41 52 20 74 63 3a 20 63 68 61 72 29 3b 0d 0a 56 41 52 0d 0a 20 20 63 68 3a 20 63 68 61   ┆; VAR tc: char);  VAR    ch: cha┆
0x38740…38760            72 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 67 6f 74 6f 78 79 28 30 2c 32 32 29 3b 20 77 72 69 74 65   ┆r;  BEGIN    gotoxy(0,22); write┆
0x38760…38780            28 70 72 2c 27 3f 20 27 2c 63 6c 72 65 6f 6c 29 3b 0d 0a 20 20 52 45 50 45 41 54 0d 0a 20 20 20   ┆(pr,'? ',clreol);    REPEAT     ┆
0x38780…387a0            20 72 65 61 64 28 6b 62 64 2c 63 68 29 3b 20 74 63 3a 3d 63 61 70 28 63 68 29 3b 0d 0a 20 20 20   ┆ read(kbd,ch); tc:=cap(ch);     ┆
0x387a0…387c0            20 49 46 20 4e 4f 54 28 74 63 20 49 4e 20 74 65 72 6d 29 20 54 48 45 4e 20 62 65 65 70 3b 0d 0a   ┆ IF NOT(tc IN term) THEN beep;  ┆
0x387c0…387e0            20 20 55 4e 54 49 4c 20 74 63 20 49 4e 20 74 65 72 6d 3b 0d 0a 20 20 77 72 69 74 65 28 63 68 29   ┆  UNTIL tc IN term;    write(ch)┆
0x387e0…38800            3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 73 65 6c 65 63 74 31 28 76 30 3a   ┆;  END;    PROCEDURE select1(v0:┆
0x38800…38820 (22, 1, 2) 20 73 74 72 31 35 3b 20 76 31 2c 76 32 2c 76 33 2c 76 34 2c 76 35 2c 76 36 2c 76 37 3a 20 73 74   ┆ str15; v1,v2,v3,v4,v5,v6,v7: st┆
0x38820…38840            72 32 35 3b 20 56 41 52 20 63 68 3a 20 63 68 61 72 29 3b 0d 0a 0d 0a 56 61 72 0d 0a 20 20 20 20   ┆r25; VAR ch: char);    Var      ┆
0x38840…38860            74 65 72 6d 3a 20 63 68 61 72 73 65 74 3b 0d 0a 20 20 42 65 67 69 6e 0d 0a 20 20 20 20 74 65 72   ┆term: charset;    Begin      ter┆
0x38860…38880            6d 3a 3d 5b 27 41 27 2c 27 42 27 2c 27 43 27 2c 27 44 27 2c 27 45 27 2c 27 46 27 2c 27 47 27 5d   ┆m:=Æ'A','B','C','D','E','F','G'Å┆
0x38880…388a0            3b 0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 32 30 2c 31 32 29 3b 57 72 69 74 65 28 63 73 74 72 28   ┆;      gotoxy(20,12);Write(cstr(┆
0x388a0…388c0            27 2d 27 2c 32 39 29 29 3b 0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 32 30 2c 31 33 29 3b 57 72 69   ┆'-',29));      gotoxy(20,13);Wri┆
0x388c0…388e0            74 65 28 27 7c 27 2c 76 30 2c 63 6c 72 65 6f 6c 29 3b 47 6f 74 6f 78 79 28 34 38 2c 31 33 29 3b   ┆te('ø',v0,clreol);Gotoxy(48,13);┆
0x388e0…38900            57 72 69 74 65 28 27 7c 27 29 3b 0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 32 30 2c 31 34 29 3b 57   ┆Write('ø');      gotoxy(20,14);W┆
0x38900…38920            72 69 74 65 28 27 7c 20 41 29 20 27 2c 76 31 2c 63 6c 72 65 6f 6c 29 3b 47 6f 74 6f 78 79 28 34   ┆rite('ø A) ',v1,clreol);Gotoxy(4┆
0x38920…38940            38 2c 31 34 29 3b 57 72 69 74 65 28 27 7c 27 29 3b 0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 32 30   ┆8,14);Write('ø');      gotoxy(20┆
0x38940…38960            2c 31 35 29 3b 57 72 69 74 65 28 27 7c 20 42 29 20 27 2c 76 32 2c 63 6c 72 65 6f 6c 29 3b 47 6f   ┆,15);Write('ø B) ',v2,clreol);Go┆
0x38960…38980            74 6f 78 79 28 34 38 2c 31 35 29 3b 57 72 69 74 65 28 27 7c 27 29 3b 0d 0a 20 20 20 20 67 6f 74   ┆toxy(48,15);Write('ø');      got┆
0x38980…389a0            6f 78 79 28 32 30 2c 31 36 29 3b 57 72 69 74 65 28 27 7c 20 43 29 20 27 2c 76 33 2c 63 6c 72 65   ┆oxy(20,16);Write('ø C) ',v3,clre┆
0x389a0…389c0            6f 6c 29 3b 47 6f 74 6f 78 79 28 34 38 2c 31 36 29 3b 57 72 69 74 65 28 27 7c 27 29 3b 0d 0a 20   ┆ol);Gotoxy(48,16);Write('ø');   ┆
0x389c0…389e0            20 20 20 67 6f 74 6f 78 79 28 32 30 2c 31 37 29 3b 57 72 69 74 65 28 27 7c 20 44 29 20 27 2c 76   ┆   gotoxy(20,17);Write('ø D) ',v┆
0x389e0…38a00            34 2c 63 6c 72 65 6f 6c 29 3b 47 6f 74 6f 78 79 28 34 38 2c 31 37 29 3b 57 72 69 74 65 28 27 7c   ┆4,clreol);Gotoxy(48,17);Write('ø┆
0x38a00…38a20            27 29 3b 0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 32 30 2c 31 38 29 3b 57 72 69 74 65 28 27 7c 20   ┆');      gotoxy(20,18);Write('ø ┆
0x38a20…38a40            45 29 20 27 2c 76 35 2c 63 6c 72 65 6f 6c 29 3b 47 6f 74 6f 78 79 28 34 38 2c 31 38 29 3b 57 72   ┆E) ',v5,clreol);Gotoxy(48,18);Wr┆
0x38a40…38a60            69 74 65 28 27 7c 27 29 3b 0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 32 30 2c 31 39 29 3b 57 72 69   ┆ite('ø');      gotoxy(20,19);Wri┆
0x38a60…38a80            74 65 28 27 7c 20 46 29 20 27 2c 76 36 2c 63 6c 72 65 6f 6c 29 3b 47 6f 74 6f 78 79 28 34 38 2c   ┆te('ø F) ',v6,clreol);Gotoxy(48,┆
0x38a80…38aa0            31 39 29 3b 57 72 69 74 65 28 27 7c 27 29 3b 0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 32 30 2c 32   ┆19);Write('ø');      gotoxy(20,2┆
0x38aa0…38ac0            30 29 3b 57 72 69 74 65 28 27 7c 20 47 29 20 27 2c 76 37 2c 63 6c 72 65 6f 6c 29 3b 47 6f 74 6f   ┆0);Write('ø G) ',v7,clreol);Goto┆
0x38ac0…38ae0            78 79 28 34 38 2c 32 30 29 3b 57 72 69 74 65 28 27 7c 27 29 3b 0d 0a 20 20 20 20 67 6f 74 6f 78   ┆xy(48,20);Write('ø');      gotox┆
0x38ae0…38b00            79 28 30 2c 32 32 29 3b 20 57 72 69 74 65 28 27 49 6e 64 74 61 73 74 20 76 61 6c 67 3a 20 27 2c   ┆y(0,22); Write('Indtast valg: ',┆
0x38b00…38b20            63 6c 72 65 6f 6c 29 3b 20 0d 0a 20 20 20 20 52 65 70 65 61 74 0d 0a 20 20 20 20 20 20 72 65 61   ┆clreol);       Repeat        rea┆
0x38b20…38b40            64 28 6b 62 64 2c 63 68 29 3b 20 63 68 3a 3d 63 61 70 28 63 68 29 3b 0d 0a 20 20 20 20 20 20 49   ┆d(kbd,ch); ch:=cap(ch);        I┆
0x38b40…38b60            46 20 4e 4f 54 28 63 68 20 49 4e 20 74 65 72 6d 29 20 54 48 45 4e 20 62 65 65 70 3b 0d 0a 20 20   ┆F NOT(ch IN term) THEN beep;    ┆
0x38b60…38b80            20 20 55 4e 54 49 4c 20 63 68 20 49 4e 20 74 65 72 6d 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 77   ┆  UNTIL ch IN term;            w┆
0x38b80…38ba0            72 69 74 65 28 63 68 29 3b 0d 0a 0d 0a 20 20 45 6e 64 3b 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 7b 20 49   ┆rite(ch);      End;          æ I┆
0x38ba0…38bc0            4e 50 53 54 52 20 69 73 20 61 20 67 65 6e 65 72 61 6c 69 7a 65 64 20 73 74 72 69 6e 67 20 69 6e   ┆NPSTR is a generalized string in┆
0x38bc0…38be0            70 75 74 20 72 6f 75 74 69 6e 65 20 77 68 69 63 68 20 73 75 70 70 6f 72 74 73 20 20 20 7d 0d 0a   ┆put routine which supports   å  ┆
0x38be0…38c00            7b 20 6f 6e 2d 73 63 72 65 65 6e 20 65 64 69 74 69 6e 67 2e 20 53 20 69 73 20 61 6e 79 20 73 74   ┆æ on-screen editing. S is any st┆
0x38c00…38c20 (22, 1, 3) 72 69 6e 67 20 76 61 72 69 61 62 6c 65 2e 20 4c 20 69 73 20 74 68 65 20 6d 61 78 69 6d 75 6d 20   ┆ring variable. L is the maximum ┆
0x38c20…38c40            7d 0d 0a 7b 20 69 6e 70 75 74 20 6c 65 6e 67 74 68 2e 20 58 20 61 6e 64 20 59 20 61 72 65 20 74   ┆å  æ input length. X and Y are t┆
0x38c40…38c60            68 65 20 64 69 73 70 6c 61 79 20 63 6f 6f 72 64 69 6e 61 74 65 73 2e 20 54 45 52 4d 20 69 73 20   ┆he display coordinates. TERM is ┆
0x38c60…38c80            61 20 20 7d 0d 0a 7b 20 73 65 74 20 6f 66 20 76 61 6c 69 64 20 74 65 72 6d 69 6e 61 74 6f 72 20   ┆a  å  æ set of valid terminator ┆
0x38c80…38ca0            63 68 61 72 61 63 74 65 72 73 2c 20 61 6e 64 20 54 43 20 72 65 74 75 72 6e 73 20 74 68 65 20 63   ┆characters, and TC returns the c┆
0x38ca0…38cc0            68 61 72 2d 20 20 7d 0d 0a 7b 20 61 63 74 65 72 20 74 68 61 74 20 74 65 72 6d 69 6e 61 74 65 64   ┆har-  å  æ acter that terminated┆
0x38cc0…38ce0            20 74 68 65 20 69 6e 70 75 74 2e 20 4f 6e 20 65 6e 74 72 79 2c 20 53 20 69 73 20 64 69 73 70 6c   ┆ the input. On entry, S is displ┆
0x38ce0…38d00            61 79 65 64 20 61 74 20 20 7d 0d 0a 7b 20 58 2c 59 20 6f 6e 20 74 68 65 20 73 63 72 65 65 6e 2c   ┆ayed at  å  æ X,Y on the screen,┆
0x38d00…38d20            20 70 61 64 64 65 64 20 74 6f 20 74 68 65 20 72 69 67 68 74 20 77 69 74 68 20 75 6e 64 65 72 73   ┆ padded to the right with unders┆
0x38d20…38d40            63 6f 72 65 73 2e 20 54 68 65 20 20 7d 0d 0a 7b 20 73 74 72 69 6e 67 20 6d 61 79 20 74 68 65 6e   ┆cores. The  å  æ string may then┆
0x38d40…38d60            20 62 65 20 65 64 69 74 65 64 20 75 73 69 6e 67 20 73 74 61 6e 64 61 72 64 20 63 6f 6e 74 72 6f   ┆ be edited using standard contro┆
0x38d60…38d80            6c 20 6b 65 79 73 3a 20 5e 53 20 61 6e 64 20 7d 0d 0a 7b 20 5e 44 20 66 6f 72 20 6c 65 66 74 20   ┆l keys: ^S and å  æ ^D for left ┆
0x38d80…38da0            61 6e 64 20 72 69 67 68 74 2c 20 5e 41 20 61 6e 64 20 5e 46 20 66 6f 72 20 62 65 67 69 6e 6e 69   ┆and right, ^A and ^F for beginni┆
0x38da0…38dc0            6e 67 20 61 6e 64 20 65 6e 64 20 6f 66 20 20 20 20 20 7d 0d 0a 7b 20 6c 69 6e 65 2c 20 5e 47 20   ┆ng and end of     å  æ line, ^G ┆
0x38dc0…38de0            74 6f 20 64 65 6c 65 74 65 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 75 6e 64 65 72 20 74 68   ┆to delete the character under th┆
0x38de0…38e00            65 20 63 75 72 73 6f 72 2c 20 5e 48 20 6f 72 20 44 45 4c 20 20 7d 0d 0a 7b 20 74 6f 20 62 61 63   ┆e cursor, ^H or DEL  å  æ to bac┆
0x38e00…38e20            6b 73 70 61 63 65 2c 20 61 6e 64 20 5e 59 20 74 6f 20 64 65 6c 65 74 65 20 74 6f 20 65 6e 64 20   ┆kspace, and ^Y to delete to end ┆
0x38e20…38e40            6f 66 20 74 68 65 20 6c 69 6e 65 2e 20 57 68 65 6e 20 61 20 20 20 20 20 7d 0d 0a 7b 20 63 68 61   ┆of the line. When a     å  æ cha┆
0x38e40…38e60            72 61 63 74 65 72 20 69 73 20 74 79 70 65 64 2c 20 69 74 20 69 73 20 69 6e 73 65 72 74 65 64 20   ┆racter is typed, it is inserted ┆
0x38e60…38e80            61 74 20 74 68 65 20 63 75 72 73 6f 72 20 61 74 20 74 68 65 20 72 65 2d 20 20 20 7d 0d 0a 7b 20   ┆at the cursor at the re-   å  æ ┆
0x38e80…38ea0            6d 61 69 6e 64 65 72 20 6f 66 20 74 68 65 20 6c 69 6e 65 20 69 73 20 6d 6f 76 65 64 20 74 6f 20   ┆mainder of the line is moved to ┆
0x38ea0…38ec0            74 68 65 20 72 69 67 68 74 2e 20 57 68 65 6e 20 61 20 74 65 72 6d 69 6e 61 74 6f 72 20 20 7d 0d   ┆the right. When a terminator  å ┆
0x38ec0…38ee0            0a 7b 20 63 68 61 72 61 63 74 65 72 20 69 73 20 74 79 70 65 64 2c 20 74 68 65 20 74 72 61 69 6c   ┆ æ character is typed, the trail┆
0x38ee0…38f00            69 6e 67 20 75 6e 64 65 72 73 63 6f 72 73 20 61 72 65 20 72 65 6d 6f 76 65 64 2c 20 61 6e 64 20   ┆ing underscors are removed, and ┆
0x38f00…38f20            20 7d 0d 0a 7b 20 49 4e 50 53 54 52 20 72 65 74 75 72 6e 73 20 77 69 74 68 20 74 68 65 20 65 64   ┆ å  æ INPSTR returns with the ed┆
0x38f20…38f40            69 74 65 64 20 73 74 72 69 6e 67 20 69 6e 20 53 20 61 6e 64 20 74 68 65 20 74 65 72 6d 69 6e 61   ┆ited string in S and the termina┆
0x38f40…38f60            74 6f 72 20 7d 0d 0a 7b 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 54 43 2e 20 20 20 20 20 20 20   ┆tor å  æ character in TC.       ┆
0x38f60…38f80            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x38f80…38fa0            20 20 20 20 20 20 20 7d 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 69 6e 70 73 74 72 28 56 41 52   ┆       å    PROCEDURE inpstr(VAR┆
0x38fa0…38fc0            20 73 3a 20 61 6e 79 73 74 72 3b 20 6c 2c 78 2c 79 3a 20 69 6e 74 65 67 65 72 3b 0d 0a 20 20 74   ┆ s: anystr; l,x,y: integer;    t┆
0x38fc0…38fe0            65 72 6d 20 3a 20 63 68 61 72 73 65 74 3b 20 56 41 52 20 74 63 3a 20 63 68 61 72 29 3b 0d 0a 43   ┆erm : charset; VAR tc: char);  C┆
0x38fe0…39000            4f 4e 53 54 0d 0a 20 20 66 63 20 3d 20 27 5f 27 3b 0d 0a 4c 61 62 65 6c 20 6c 6c 3b 0d 0a 56 41   ┆ONST    fc = '_';  Label ll;  VA┆
0x39000…39020 (22, 1, 4) 52 0d 0a 20 20 74 65 6b 73 74 3a 20 73 74 72 32 35 3b 0d 0a 20 20 69 2c 74 61 6c 2c 61 6e 74 61   ┆R    tekst: str25;    i,tal,anta┆
0x39020…39040            6c 2c 78 78 2c 79 79 2c 70 3a 20 69 6e 74 65 67 65 72 3b 0d 0a 20 20 70 61 61 2c 63 68 3a 20 63   ┆l,xx,yy,p: integer;    paa,ch: c┆
0x39040…39060            68 61 72 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 0d 0a 20 20 67 6f 74 6f 78 79 28 78 2c 79 29 3b 20   ┆har;  BEGIN        gotoxy(x,y); ┆
0x39060…39080            77 72 69 74 65 28 73 2c 63 73 74 72 28 66 63 2c 6c 2d 6c 65 6e 28 73 29 29 29 3b 20 70 3a 3d 30   ┆write(s,cstr(fc,l-len(s))); p:=0┆
0x39080…390a0            3b 0d 0a 20 20 78 78 3a 3d 78 3b 79 79 3a 3d 79 3b 61 6e 74 61 6c 3a 3d 78 78 3b 0d 0a 20 20 0d   ┆;    xx:=x;yy:=y;antal:=xx;     ┆
0x390a0…390c0            0a 20 20 52 45 50 45 41 54 0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 78 78 2c 79 79 29 3b 20 0d 0a   ┆   REPEAT      gotoxy(xx,yy);   ┆
0x390c0…390e0            20 20 20 20 6c 6c 3a 0d 0a 20 20 20 20 72 65 61 64 28 6b 62 64 2c 63 68 29 3b 0d 0a 20 20 20 20   ┆    ll:      read(kbd,ch);      ┆
0x390e0…39100            43 41 53 45 20 63 68 20 4f 46 0d 0a 20 20 20 20 20 20 40 33 32 2e 2e 40 31 32 36 2c 20 40 31 32   ┆CASE ch OF        @32..@126, @12┆
0x39100…39120            38 2e 2e 40 32 35 35 3a 0d 0a 20 20 20 20 20 20 49 46 20 70 3c 6c 20 54 48 45 4e 0d 0a 20 20 20   ┆8..@255:        IF p<l THEN     ┆
0x39120…39140            20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 49 46 20 6c 65 6e 28 73 29 3d 6c 20 54 48   ┆   BEGIN          IF len(s)=l TH┆
0x39140…39160            45 4e 20 64 65 6c 65 74 65 28 73 2c 6c 2c 31 29 3b 0d 0a 20 20 20 20 20 20 20 20 78 78 3a 3d 78   ┆EN delete(s,l,1);          xx:=x┆
0x39160…39180            78 2b 31 3b 0d 0a 20 20 20 20 20 20 20 20 70 3a 3d 70 2b 31 3b 20 69 6e 73 65 72 74 28 63 68 2c   ┆x+1;          p:=p+1; insert(ch,┆
0x39180…391a0            73 2c 70 29 3b 0d 0a 20 20 20 20 20 20 20 20 77 72 69 74 65 28 63 6f 70 79 28 73 2c 70 2c 6c 29   ┆s,p);          write(copy(s,p,l)┆
0x391a0…391c0            29 3b 0d 0a 20 20 20 20 20 20 20 20 49 66 20 78 78 3d 38 31 20 74 68 65 6e 0d 0a 20 20 20 20 20   ┆);          If xx=81 then       ┆
0x391c0…391e0            20 20 20 62 65 67 69 6e 0d 0a 20 20 20 20 20 20 20 20 20 78 78 3a 3d 31 3b 20 0d 0a 20 20 20 20   ┆   begin           xx:=1;       ┆
0x391e0…39200            20 20 20 20 20 20 79 79 3a 3d 79 79 2b 31 3b 0d 0a 20 20 20 20 20 20 20 20 65 6e 64 3b 0d 0a 20   ┆      yy:=yy+1;          end;   ┆
0x39200…39220            20 20 20 20 20 45 4e 44 20 45 4c 53 45 20 62 65 65 70 3b 0d 0a 20 20 20 20 20 20 0d 0a 20 20 20   ┆     END ELSE beep;             ┆
0x39220…39240            20 20 20 5e 5a 3a 20 42 65 67 69 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 70 61 61   ┆   ^Z: Begin              If paa┆
0x39240…39260            3d 27 4a 27 20 74 68 65 6e 20 42 65 67 69 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46   ┆='J' then Begin                F┆
0x39260…39280            6f 72 20 69 3a 3d 20 35 20 74 6f 20 31 30 20 64 6f 20 42 65 67 69 6e 0d 0a 20 20 20 20 20 20 20   ┆or i:= 5 to 10 do Begin         ┆
0x39280…392a0            20 20 20 20 20 20 20 20 20 67 6f 74 6f 78 79 28 34 30 2c 69 29 3b 20 57 72 69 74 65 28 63 6c 72   ┆         gotoxy(40,i); Write(clr┆
0x392a0…392c0            65 6f 6c 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6e 64 3b 0d 0a 20 20 20 20 20   ┆eol);                End;       ┆
0x392c0…392e0            20 20 20 20 20 20 20 20 20 70 61 61 3a 3d 20 27 4e 27 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20   ┆         paa:= 'N';             ┆
0x392e0…39300            20 20 20 67 6f 74 6f 20 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 45 6e 64 3b 20 20 20   ┆   goto ll;              End;   ┆
0x39300…39320            20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 6f 74 6f 78 79 28 34 30 2c 35 29 3b 20 57 72 69   ┆               gotoxy(40,5); Wri┆
0x39320…39340            74 65 28 27 5e 41 3a 20 4d 61 72 6b 9b 72 20 66 6c 79 74 74 65 73 20 68 65 6c 74 20 74 69 6c 20   ┆te('^A: Mark r flyttes helt til ┆
0x39340…39360            76 65 6e 73 74 72 65 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 6f 74 6f 78 79 28 34   ┆venstre');              gotoxy(4┆
0x39360…39380            30 2c 36 29 3b 20 57 72 69 74 65 28 27 5e 53 3a 20 4d 61 72 6b 9b 72 20 66 6c 79 74 74 65 73 20   ┆0,6); Write('^S: Mark r flyttes ┆
0x39380…393a0            65 6e 20 20 20 74 69 6c 20 76 65 6e 73 74 72 65 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20   ┆en   til venstre');             ┆
0x393a0…393c0            20 67 6f 74 6f 78 79 28 34 30 2c 37 29 3b 20 57 72 69 74 65 28 27 5e 44 3a 20 4d 61 72 6b 9b 72   ┆ gotoxy(40,7); Write('^D: Mark r┆
0x393c0…393e0            20 66 6c 79 74 74 65 73 20 65 6e 20 20 20 74 69 6c 20 68 9b 6a 72 65 27 29 3b 0d 0a 20 20 20 20   ┆ flyttes en   til h jre');      ┆
0x393e0…39400            20 20 20 20 20 20 20 20 67 6f 74 6f 78 79 28 34 30 2c 38 29 3b 20 57 72 69 74 65 28 27 5e 46 3a   ┆        gotoxy(40,8); Write('^F:┆
0x39400…39420 (22, 1, 5) 20 4d 61 72 6b 9b 72 20 66 6c 79 74 74 65 73 20 68 65 6c 74 20 74 69 6c 20 68 9b 6a 72 65 27 29   ┆ Mark r flyttes helt til h jre')┆
0x39420…39440            3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 6f 74 6f 78 79 28 34 30 2c 39 29 3b 20 57 72 69   ┆;              gotoxy(40,9); Wri┆
0x39440…39460            74 65 28 27 5e 47 3a 20 54 65 67 6e 20 6f 76 65 72 20 6d 61 72 6b 9b 72 20 73 6c 65 74 74 65 73   ┆te('^G: Tegn over mark r slettes┆
0x39460…39480            27 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 6f 74 6f 78 79 28 34 30 2c 31 30 29 3b 20   ┆');              gotoxy(40,10); ┆
0x39480…394a0            57 72 69 74 65 28 27 5e 48 3a 20 54 65 67 6e 20 68 65 6c 74 20 74 69 6c 20 68 9b 6a 72 65 20 73   ┆Write('^H: Tegn helt til h jre s┆
0x394a0…394c0            6c 65 74 74 65 73 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 61 3a 3d 27 4a 27 3b   ┆lettes');              paa:='J';┆
0x394c0…394e0            0d 0a 20 20 20 20 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a   ┆            END;                ┆
0x394e0…39500            20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 0d 0a   ┆                                ┆
0x39500…39520            20 20 20 20 20 20 5e 53 3a 20 49 46 20 70 3e 30 20 54 48 45 4e 20 42 65 67 69 6e 0d 0a 20 20 20   ┆      ^S: IF p>0 THEN Begin     ┆
0x39520…39540            20 20 20 20 20 20 20 70 3a 3d 70 2d 31 3b 20 78 78 3a 3d 78 78 2d 31 3b 0d 0a 20 20 20 20 20 20   ┆       p:=p-1; xx:=xx-1;        ┆
0x39540…39560            20 20 20 20 49 66 20 28 78 78 3d 2d 31 29 20 61 6e 64 20 28 79 79 20 3c 3e 20 79 29 20 74 68 65   ┆    If (xx=-1) and (yy <> y) the┆
0x39560…39580            6e 20 42 65 67 69 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 79 79 3a 3d 79 79 2d 31 3b 0d 0a   ┆n Begin              yy:=yy-1;  ┆
0x39580…395a0            20 20 20 20 20 20 20 20 20 20 20 20 78 78 3a 3d 37 39 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 45   ┆            xx:=79;            E┆
0x395a0…395c0            6e 64 3b 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 45 6e 64 20 45 4c 53 45 20 62 65 65 70 3b 0d   ┆nd;              End ELSE beep; ┆
0x395c0…395e0            0a 20 20 20 20 20 20 5e 44 3a 20 49 46 20 70 3c 6c 65 6e 28 73 29 20 54 48 45 4e 20 42 65 67 69   ┆       ^D: IF p<len(s) THEN Begi┆
0x395e0…39600            6e 0d 0a 20 20 20 20 20 20 20 20 20 20 70 3a 3d 70 2b 31 3b 20 78 78 3a 3d 78 78 2b 31 3b 20 0d   ┆n            p:=p+1; xx:=xx+1;  ┆
0x39600…39620            0a 20 20 20 20 20 20 20 20 20 20 49 66 20 78 78 3d 38 30 20 74 68 65 6e 20 42 65 67 69 6e 20 0d   ┆           If xx=80 then Begin  ┆
0x39620…39640            0a 20 20 20 20 20 20 20 20 20 20 20 20 78 78 3a 3d 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆             xx:= 0;            ┆
0x39640…39660            20 20 79 79 20 3a 3d 20 79 79 20 2b 20 31 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 45 6e 64 3b 0d   ┆  yy := yy + 1;            End; ┆
0x39660…39680            0a 20 20 20 20 20 20 20 20 20 20 45 6e 64 20 45 4c 53 45 20 62 65 65 70 3b 0d 0a 20 20 20 20 20   ┆           End ELSE beep;       ┆
0x39680…396a0            20 5e 41 3a 20 42 65 67 69 6e 20 70 3a 3d 30 3b 20 78 78 3a 3d 78 3b 20 79 79 3a 3d 79 3b 20 45   ┆ ^A: Begin p:=0; xx:=x; yy:=y; E┆
0x396a0…396c0            6e 64 3b 0d 0a 20 20 20 20 20 20 5e 46 3a 20 42 65 67 69 6e 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆nd;        ^F: Begin            ┆
0x396c0…396e0            20 20 79 79 3a 3d 79 79 20 2b 74 72 75 6e 63 20 28 28 6c 65 6e 28 73 29 2b 78 29 2f 20 38 31 29   ┆  yy:=yy +trunc ((len(s)+x)/ 81)┆
0x396e0…39700            3b 20 78 78 3a 3d 20 28 6c 65 6e 28 73 29 2b 78 29 20 6d 6f 64 20 38 31 20 3b 0d 0a 20 20 20 20   ┆; xx:= (len(s)+x) mod 81 ;      ┆
0x39700…39720            20 20 20 20 20 20 20 20 70 3a 3d 6c 65 6e 28 73 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 45 6e   ┆        p:=len(s);            En┆
0x39720…39740            64 3b 0d 0a 20 20 20 20 20 20 5e 47 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 49 46 20 70 3c 6c 65   ┆d;        ^G:            IF p<le┆
0x39740…39760            6e 28 73 29 20 54 48 45 4e 0d 0a 20 20 20 20 20 20 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20   ┆n(s) THEN            BEGIN      ┆
0x39760…39780            20 20 20 20 20 20 20 20 64 65 6c 65 74 65 28 73 2c 70 2b 31 2c 31 29 3b 20 77 72 69 74 65 28 63   ┆        delete(s,p+1,1); write(c┆
0x39780…397a0            6f 70 79 28 73 2c 70 2b 31 2c 6c 29 2c 66 63 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 45 4e 44   ┆opy(s,p+1,l),fc);            END┆
0x397a0…397c0            20 65 6c 73 65 20 62 65 65 70 3b 0d 0a 20 20 20 20 20 20 5e 48 2c 40 31 32 37 3a 20 20 20 20 20   ┆ else beep;        ^H,@127:     ┆
0x397c0…397e0            20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 49 46 20 70 3e 30 20 54   ┆                        IF p>0 T┆
0x397e0…39800            48 45 4e 0d 0a 20 20 20 20 20 20 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆HEN            BEGIN            ┆
0x39800…39820 (23, 0, 1) 20 20 64 65 6c 65 74 65 28 73 2c 70 2c 31 29 3b 20 77 72 69 74 65 28 5e 48 2c 63 6f 70 79 28 73   ┆  delete(s,p,1); write(^H,copy(s┆
0x39820…39840            2c 70 2c 6c 29 2c 66 63 29 3b 20 70 3a 3d 70 2d 31 3b 78 78 3a 3d 78 78 2d 31 3b 0d 0a 20 20 20   ┆,p,l),fc); p:=p-1;xx:=xx-1;     ┆
0x39840…39860            20 20 20 20 20 20 20 45 4e 44 20 45 4c 53 45 20 62 65 65 70 3b 0d 0a 20 20 20 20 20 20 5e 59 3a   ┆       END ELSE beep;        ^Y:┆
0x39860…39880            0d 0a 20 20 20 20 20 20 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 77   ┆            BEGIN              w┆
0x39880…398a0            72 69 74 65 28 63 73 74 72 28 66 63 2c 6c 65 6e 28 73 29 2d 70 29 29 3b 20 64 65 6c 65 74 65 28   ┆rite(cstr(fc,len(s)-p)); delete(┆
0x398a0…398c0            73 2c 70 2b 31 2c 6c 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 4f   ┆s,p+1,l);            END;      O┆
0x398c0…398e0            54 48 45 52 57 49 53 45 0d 0a 20 20 20 20 20 20 49 46 20 4e 4f 54 28 63 68 20 49 4e 20 74 65 72   ┆THERWISE        IF NOT(ch IN ter┆
0x398e0…39900            6d 29 20 54 48 45 4e 20 62 65 65 70 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 0d 0a 20 20 55   ┆m) THEN beep;      END;        U┆
0x39900…39920            4e 54 49 4c 20 63 68 20 49 4e 20 74 65 72 6d 3b 0d 0a 20 20 69 66 20 70 20 3c 20 6c 65 6e 28 73   ┆NTIL ch IN term;    if p < len(s┆
0x39920…39940            29 20 74 68 65 6e 20 42 65 67 69 6e 0d 0a 20 20 20 20 79 79 3a 3d 79 79 20 2b 74 72 75 6e 63 20   ┆) then Begin      yy:=yy +trunc ┆
0x39940…39960            28 28 6c 65 6e 28 73 29 2b 78 29 2f 20 38 31 29 3b 0d 0a 20 20 20 20 78 78 3a 3d 20 28 6c 65 6e   ┆((len(s)+x)/ 81);      xx:= (len┆
0x39960…39980            28 73 29 2b 78 29 20 6d 6f 64 20 38 31 20 3b 0d 0a 20 20 45 6e 64 3b 20 20 0d 0a 20 20 70 3a 3d   ┆(s)+x) mod 81 ;    End;      p:=┆
0x39980…399a0            6c 65 6e 28 73 29 3b 20 67 6f 74 6f 78 79 28 78 78 2c 79 79 29 3b 20 77 72 69 74 65 28 27 27 3a   ┆len(s); gotoxy(xx,yy); write('':┆
0x399a0…399c0            6c 2d 70 29 3b 0d 0a 20 20 74 63 3a 3d 63 68 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a   ┆l-p);    tc:=ch;  END;          ┆
0x399c0…399e0            0d 0a 28 2a 49 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆  (*I---------------------------┆
0x399e0…39a00            2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆--------------------------------┆
0x39a00…39a20            2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 49 2a 29 0d 0a 28 2a 49 20 20 20 44 65 20 65 66 74 65 72   ┆-------------I*)  (*I   De efter┆
0x39a20…39a40            66 9b 6c 67 65 6e 64 65 20 70 72 6f 63 65 64 75 72 65 72 20 65 72 20 6d 61 73 6b 69 6e 73 70 65   ┆f lgende procedurer er maskinspe┆
0x39a40…39a60            63 69 66 69 6b 6b 65 2e 20 44 65 20 65 72 20 64 65 20 20 20 20 20 20 20 20 20 49 2a 29 0d 0a 28   ┆cifikke. De er de         I*)  (┆
0x39a60…39a80            2a 49 20 20 20 65 6e 65 73 74 65 20 73 6f 6d 20 73 6b 61 6c 20 75 64 73 6b 69 66 74 65 73 20 68   ┆*I   eneste som skal udskiftes h┆
0x39a80…39aa0            76 69 73 20 70 72 6f 67 72 61 6d 6d 65 74 20 73 6b 61 6c 20 74 69 6c 70 61 73 73 65 73 20 65 6e   ┆vis programmet skal tilpasses en┆
0x39aa0…39ac0            20 61 6e 64 65 6e 20 20 20 20 49 2a 29 0d 0a 28 2a 49 20 20 20 64 61 74 61 6d 61 74 74 79 70 65   ┆ anden    I*)  (*I   datamattype┆
0x39ac0…39ae0            2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆.                               ┆
0x39ae0…39b00            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 2a 29 0d 0a 28   ┆                          I*)  (┆
0x39b00…39b20            2a 49 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆*I                              ┆
0x39b20…39b40            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x39b40…39b60            20 20 20 20 20 20 20 20 20 20 49 2a 29 0d 0a 28 2a 49 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆          I*)  (*I--------------┆
0x39b60…39b80            2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆--------------------------------┆
0x39b80…39ba0            2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 49 2a 29 0d 0a 0d   ┆--------------------------I*)   ┆
0x39ba0…39bc0            0a 50 52 4f 43 45 44 55 52 45 20 69 6e 69 74 5f 67 72 61 70 68 69 63 73 28 74 79 70 3a 20 53 63   ┆ PROCEDURE init_graphics(typ: Sc┆
0x39bc0…39be0            72 5f 54 59 50 45 29 3b 0d 0a 56 41 52 0d 0a 20 20 53 63 72 5f 4d 4f 44 2c 20 69 3a 20 49 4e 54   ┆r_TYPE);  VAR    Scr_MOD, i: INT┆
0x39be0…39c00            45 47 45 52 3b 0d 0a 20 20 63 68 61 72 66 69 6c 3a 20 46 49 4c 45 20 4f 46 20 63 68 61 72 66 69   ┆EGER;    charfil: FILE OF charfi┆
0x39c00…39c20 (23, 0, 2) 6c 74 79 70 65 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 43 41 53 45 20 74 79 70 20 20 4f 46 0d 0a 20   ┆ltype;  BEGIN    CASE typ  OF   ┆
0x39c20…39c40            20 20 20 4f 4c 49 5f 6c 6f 77 3a 20 28 2a 20 4f 6c 69 76 65 74 74 69 20 67 72 61 70 68 69 63 73   ┆   OLI_low: (* Olivetti graphics┆
0x39c40…39c60            20 36 34 30 2a 32 30 30 20 70 6f 69 6e 74 73 20 2a 29 0d 0a 20 20 20 20 42 45 47 49 4e 0d 0a 20   ┆ 640*200 points *)      BEGIN   ┆
0x39c60…39c80            20 20 20 20 20 53 63 72 5f 73 65 67 6d 3a 3d 24 42 38 30 30 3b 0d 0a 20 20 20 20 20 20 53 63 72   ┆     Scr_segm:=$B800;        Scr┆
0x39c80…39ca0            5f 4d 4f 44 3a 3d 32 3b 0d 0a 20 20 20 20 20 20 53 63 72 5f 73 74 61 72 74 3a 3d 36 3b 0d 0a 20   ┆_MOD:=2;        Scr_start:=6;   ┆
0x39ca0…39cc0            20 20 20 20 20 53 63 72 5f 6d 61 78 78 3a 3d 36 33 39 3b 0d 0a 20 20 20 20 20 20 53 63 72 5f 6d   ┆     Scr_maxx:=639;        Scr_m┆
0x39cc0…39ce0            61 78 79 3a 3d 31 39 39 3b 0d 0a 20 20 20 20 20 20 53 63 72 5f 61 73 70 65 63 74 3a 3d 32 32 30   ┆axy:=199;        Scr_aspect:=220┆
0x39ce0…39d00            3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 4f 4c 49 5f 68 69 67 68 3a 20 28 2a 20 4f 6c   ┆;      END;      OLI_high: (* Ol┆
0x39d00…39d20            69 76 65 74 74 69 20 67 72 61 70 68 69 63 73 20 36 34 30 2a 34 30 30 20 70 6f 69 6e 74 73 20 2a   ┆ivetti graphics 640*400 points *┆
0x39d20…39d40            29 0d 0a 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 53 63 72 5f 73 65 67 6d 3a 3d 24 42   ┆)      BEGIN        Scr_segm:=$B┆
0x39d40…39d60            38 30 30 3b 0d 0a 20 20 20 20 20 20 53 63 72 5f 4d 4f 44 3a 3d 34 3b 0d 0a 20 20 20 20 20 20 53   ┆800;        Scr_MOD:=4;        S┆
0x39d60…39d80            63 72 5f 73 74 61 72 74 3a 3d 36 34 3b 0d 0a 20 20 20 20 20 20 53 63 72 5f 6d 61 78 78 3a 3d 36   ┆cr_start:=64;        Scr_maxx:=6┆
0x39d80…39da0            33 39 3b 0d 0a 20 20 20 20 20 20 53 63 72 5f 6d 61 78 79 3a 3d 33 39 39 3b 0d 0a 20 20 20 20 20   ┆39;        Scr_maxy:=399;       ┆
0x39da0…39dc0            20 53 63 72 5f 61 73 70 65 63 74 3a 3d 31 31 37 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 45   ┆ Scr_aspect:=117;      END;    E┆
0x39dc0…39de0            4e 44 3b 0d 0a 20 20 74 78 74 5f 6d 61 78 78 3a 3d 37 39 3b 0d 0a 20 20 74 78 74 5f 6d 61 78 79   ┆ND;    txt_maxx:=79;    txt_maxy┆
0x39de0…39e00            3a 3d 32 34 3b 0d 0a 20 20 0d 0a 20 20 46 4f 52 20 69 3a 3d 20 30 20 54 4f 20 53 63 72 5f 6d 61   ┆:=24;        FOR i:= 0 TO Scr_ma┆
0x39e00…39e20            78 78 20 44 4f 20 53 63 72 5f 78 61 64 64 72 28 2e 69 2e 29 3a 3d 69 20 44 49 56 20 38 3b 0d 0a   ┆xx DO Scr_xaddr(.i.):=i DIV 8;  ┆
0x39e20…39e40            20 20 46 4f 52 20 69 3a 3d 20 30 20 54 4f 20 53 63 72 5f 6d 61 78 79 20 44 4f 0d 0a 20 20 20 20   ┆  FOR i:= 0 TO Scr_maxy DO      ┆
0x39e40…39e60            53 63 72 5f 79 61 64 64 72 28 2e 53 63 72 5f 6d 61 78 79 2d 69 2e 29 3a 3d 28 28 69 20 4d 4f 44   ┆Scr_yaddr(.Scr_maxy-i.):=((i MOD┆
0x39e60…39e80            20 53 63 72 5f 4d 4f 44 29 2a 24 32 30 30 30 29 20 2b 20 28 28 69 20 44 49 56 20 53 63 72 5f 4d   ┆ Scr_MOD)*$2000) + ((i DIV Scr_M┆
0x39e80…39ea0            4f 44 29 2a 38 30 29 3b 0d 0a 20 20 61 73 73 69 67 6e 28 63 68 61 72 66 69 6c 2c 63 68 61 72 66   ┆OD)*80);    assign(charfil,charf┆
0x39ea0…39ec0            69 6c 6e 61 6d 65 29 3b 0d 0a 20 20 72 65 73 65 74 28 63 68 61 72 66 69 6c 29 3b 0d 0a 20 20 72   ┆ilname);    reset(charfil);    r┆
0x39ec0…39ee0            65 61 64 28 63 68 61 72 66 69 6c 2c 53 63 72 5f 43 48 41 52 29 3b 0d 0a 20 20 63 6c 6f 73 65 28   ┆ead(charfil,Scr_CHAR);    close(┆
0x39ee0…39f00            63 68 61 72 66 69 6c 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 69 6e 69   ┆charfil);  END;    PROCEDURE ini┆
0x39f00…39f20            74 5f 74 65 78 74 3b 0d 0a 56 41 52 20 78 2c 69 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47   ┆t_text;  VAR x,i : INTEGER;  BEG┆
0x39f20…39f40            49 4e 0d 0a 20 20 78 3a 3d 30 3b 0d 0a 20 20 46 4f 52 20 69 3a 3d 30 20 54 4f 20 32 34 20 44 4f   ┆IN    x:=0;    FOR i:=0 TO 24 DO┆
0x39f40…39f60            20 42 45 47 49 4e 0d 0a 20 20 20 20 74 78 74 5f 6c 69 6e 65 70 74 72 28 2e 69 2e 29 3a 3d 70 74   ┆ BEGIN      txt_lineptr(.i.):=pt┆
0x39f60…39f80            72 28 24 42 38 30 30 2c 78 29 3b 0d 0a 20 20 20 20 78 3a 3d 78 2b 31 36 30 3b 0d 0a 20 20 45 4e   ┆r($B800,x);      x:=x+160;    EN┆
0x39f80…39fa0            44 3b 0d 0a 45 4e 44 3b 0d 0a 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 77 72 69 74 65 73 74 72   ┆D;  END;      PROCEDURE writestr┆
0x39fa0…39fc0            28 63 6f 6c 2c 72 6f 77 3a 20 49 4e 54 45 47 45 52 3b 20 73 74 72 3a 20 73 74 72 38 30 29 3b 0d   ┆(col,row: INTEGER; str: str80); ┆
0x39fc0…39fe0            0a 56 41 52 20 61 74 74 72 69 62 3a 20 42 59 54 45 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 61 74 74   ┆ VAR attrib: BYTE;  BEGIN    att┆
0x39fe0…3a000            72 69 62 3a 3d 57 6e 64 5f 70 61 6c 65 74 74 65 28 2e 57 6e 64 5f 61 63 74 75 61 6c 2e 29 3b 0d   ┆rib:=Wnd_palette(.Wnd_actual.); ┆
0x3a000…3a020 (23, 0, 3) 0a 20 20 43 4f 44 45 0d 0a 20 20 20 24 31 45 2c 24 31 45 2c 24 38 41 2c 24 38 36 2c 72 6f 77 2c   ┆   CODE     $1E,$1E,$8A,$86,row,┆
0x3a020…3a040            24 42 33 2c 24 35 30 2c 24 46 36 2c 24 45 33 2c 24 32 42 2c 24 44 42 2c 24 38 41 2c 24 39 45 2c   ┆$B3,$50,$F6,$E3,$2B,$DB,$8A,$9E,┆
0x3a040…3a060            63 6f 6c 2c 0d 0a 20 20 20 24 30 33 2c 24 43 33 2c 24 30 33 2c 24 43 30 2c 24 38 42 2c 24 46 38   ┆col,     $03,$C3,$03,$C0,$8B,$F8┆
0x3a060…3a080            2c 24 62 65 2c 24 30 30 2c 24 30 30 2c 24 38 41 2c 24 42 45 2c 61 74 74 72 69 62 2c 0d 0a 20 20   ┆,$be,$00,$00,$8A,$BE,attrib,    ┆
0x3a080…3a0a0            20 24 38 61 2c 24 38 65 2c 73 74 72 2c 24 32 32 2c 24 63 39 2c 24 37 34 2c 24 33 65 2c 24 32 62   ┆ $8a,$8e,str,$22,$c9,$74,$3e,$2b┆
0x3a0a0…3a0c0            2c 24 63 30 2c 24 38 45 2c 24 44 38 2c 24 41 30 2c 24 34 39 2c 24 30 34 2c 0d 0a 20 20 20 24 31   ┆,$c0,$8E,$D8,$A0,$49,$04,     $1┆
0x3a0c0…3a0e0            46 2c 24 32 43 2c 24 30 37 2c 24 37 34 2c 24 32 32 2c 24 42 41 2c 24 30 30 2c 24 42 38 2c 24 38   ┆F,$2C,$07,$74,$22,$BA,$00,$B8,$8┆
0x3a0e0…3a100            45 2c 24 44 41 2c 24 42 41 2c 24 44 41 2c 24 30 33 2c 24 34 36 2c 0d 0a 20 20 20 24 38 61 2c 24   ┆E,$DA,$BA,$DA,$03,$46,     $8a,$┆
0x3a100…3a120            39 41 2c 73 74 72 2c 24 45 43 2c 24 41 38 2c 24 30 31 2c 24 37 35 2c 24 46 42 2c 24 46 41 2c 24   ┆9A,str,$EC,$A8,$01,$75,$FB,$FA,$┆
0x3a120…3a140            45 43 2c 24 41 38 2c 24 30 31 2c 24 37 34 2c 24 46 42 2c 0d 0a 20 20 20 24 38 39 2c 24 31 44 2c   ┆EC,$A8,$01,$74,$FB,     $89,$1D,┆
0x3a140…3a160            24 34 37 2c 24 34 37 2c 24 45 32 2c 24 45 61 2c 24 32 41 2c 24 43 30 2c 24 37 34 2c 24 31 30 2c   ┆$47,$47,$E2,$Ea,$2A,$C0,$74,$10,┆
0x3a160…3a180            24 42 41 2c 24 30 30 2c 24 42 30 2c 0d 0a 20 20 20 24 38 45 2c 24 44 41 2c 24 34 36 2c 24 38 61   ┆$BA,$00,$B0,     $8E,$DA,$46,$8a┆
0x3a180…3a1a0            2c 24 39 41 2c 73 74 72 2c 24 38 39 2c 24 31 44 2c 24 34 37 2c 24 34 37 2c 24 45 32 2c 24 46 35   ┆,$9A,str,$89,$1D,$47,$47,$E2,$F5┆
0x3a1a0…3a1c0            2c 24 31 46 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 67 72 61 70 68 6d 6f   ┆,$1F;  END;    PROCEDURE graphmo┆
0x3a1c0…3a1e0            64 65 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 49 46 20 74 78 74 5f 6d 6f 64 65 20 54 48 45 4e 20 42   ┆de;  BEGIN    IF txt_mode THEN B┆
0x3a1e0…3a200            45 47 49 4e 0d 0a 20 20 20 20 74 78 74 5f 6d 61 78 78 3a 3d 53 63 72 5f 6d 61 78 78 20 44 49 56   ┆EGIN      txt_maxx:=Scr_maxx DIV┆
0x3a200…3a220            20 38 3b 0d 0a 20 20 20 20 74 78 74 5f 6d 61 78 79 3a 3d 53 63 72 5f 6d 61 78 79 20 44 49 56 20   ┆ 8;      txt_maxy:=Scr_maxy DIV ┆
0x3a220…3a240            38 3b 0d 0a 20 20 20 20 74 78 74 5f 6d 6f 64 65 3a 3d 66 61 6c 73 65 3b 0d 0a 20 20 20 20 72 65   ┆8;      txt_mode:=false;      re┆
0x3a240…3a260            67 2e 61 78 3a 3d 53 63 72 5f 73 74 61 72 74 3b 0d 0a 20 20 20 20 73 77 69 6e 74 28 24 31 30 2c   ┆g.ax:=Scr_start;      swint($10,┆
0x3a260…3a280            72 65 67 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 20 0d 0a 0d 0a 50 52 4f 43 45 44 55 52   ┆reg);    END;  END;     PROCEDUR┆
0x3a280…3a2a0            45 20 74 65 78 74 6d 6f 64 65 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 49 46 20 4e 4f 54 20 74 78 74   ┆E textmode;  BEGIN    IF NOT txt┆
0x3a2a0…3a2c0            5f 6d 6f 64 65 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 74 78 74 5f 6d 61 78 78 3a 3d   ┆_mode THEN BEGIN      txt_maxx:=┆
0x3a2c0…3a2e0            37 39 3b 0d 0a 20 20 20 20 74 78 74 5f 6d 61 78 79 3a 3d 32 34 3b 0d 0a 20 20 20 20 74 78 74 5f   ┆79;      txt_maxy:=24;      txt_┆
0x3a2e0…3a300            6d 6f 64 65 3a 3d 74 72 75 65 3b 0d 0a 20 20 20 20 72 65 67 2e 61 78 3a 3d 24 30 33 3b 0d 0a 20   ┆mode:=true;      reg.ax:=$03;   ┆
0x3a300…3a320            20 20 20 73 77 69 6e 74 28 24 31 30 2c 72 65 67 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b   ┆   swint($10,reg);    END;  END;┆
0x3a320…3a340            0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 73 70 63 28 6c 3a 20 49 4e 54 45 47 45 52 3b 20 63 68 3a   ┆    FUNCTION spc(l: INTEGER; ch:┆
0x3a340…3a360            20 43 48 41 52 29 3a 73 74 72 38 30 3b 0d 0a 56 41 52 20 0d 0a 20 20 73 09 3a 20 73 74 72 38 30   ┆ CHAR):str80;  VAR     s : str80┆
0x3a360…3a380            3b 0d 0a 20 20 73 6c 67 74 20 20 3a 20 42 59 54 45 20 41 54 20 73 3b 0d 0a 42 45 47 49 4e 0d 0a   ┆;    slgt  : BYTE AT s;  BEGIN  ┆
0x3a380…3a3a0            20 20 73 6c 67 74 3a 3d 6c 3b 0d 0a 20 20 66 69 6c 6c 28 73 28 2e 31 2e 29 2c 6c 2c 63 68 29 3b   ┆  slgt:=l;    fill(s(.1.),l,ch);┆
0x3a3a0…3a3c0            0d 0a 20 20 73 70 63 3a 3d 73 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 72 65   ┆    spc:=s;  END;    FUNCTION re┆
0x3a3c0…3a3e0            61 64 73 74 72 74 78 74 28 78 2c 79 2c 6c 3a 20 49 4e 54 45 47 45 52 29 3a 20 73 74 72 38 30 3b   ┆adstrtxt(x,y,l: INTEGER): str80;┆
0x3a3e0…3a400            0d 0a 56 41 52 0d 0a 20 20 69 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 73 74 72 3a 20 73 74 72   ┆  VAR    i: INTEGER;    str: str┆
0x3a400…3a420 (23, 0, 4) 38 30 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 73 74 72 3a 3d 27 27 3b 0d 0a 20 20 57 49 54 48 20 57   ┆80;  BEGIN    str:='';    WITH W┆
0x3a420…3a440            6e 64 5f 20 44 4f 0d 0a 20 20 20 20 46 4f 52 20 69 3a 3d 74 78 74 78 31 2b 78 20 54 4f 20 74 78   ┆nd_ DO      FOR i:=txtx1+x TO tx┆
0x3a440…3a460            74 78 31 2b 6c 20 44 4f 0d 0a 20 20 20 20 20 20 73 74 72 3a 3d 73 74 72 2b 74 78 74 5f 6c 69 6e   ┆tx1+l DO        str:=str+txt_lin┆
0x3a460…3a480            65 70 74 72 28 2e 79 2e 29 5e 28 2e 69 2e 29 2e 63 68 3b 0d 0a 20 20 72 65 61 64 73 74 72 54 78   ┆eptr(.y.)^(.i.).ch;    readstrTx┆
0x3a480…3a4a0            74 3a 3d 73 74 72 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 73 77 61 70 28   ┆t:=str;  END;    PROCEDURE swap(┆
0x3a4a0…3a4c0            56 41 52 20 61 2c 62 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 20 63 3a 20 49 4e 54 45 47   ┆VAR a,b: INTEGER);  VAR c: INTEG┆
0x3a4c0…3a4e0            45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 63 3a 3d 61 3b 20 61 3a 3d 62 3b 20 62 3a 3d 63 3b 0d   ┆ER;  BEGIN    c:=a; a:=b; b:=c; ┆
0x3a4e0…3a500            0a 45 4e 44 3b 20 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 63 72 5f 77 72 69 74 65 64 6f 74   ┆ END;     PROCEDURE Scr_writedot┆
0x3a500…3a520            28 78 2c 79 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 57 6e 64 5f 43 6f 6c 6f   ┆(x,y: INTEGER);  BEGIN  Wnd_Colo┆
0x3a520…3a540            72 3a 3d 57 6e 64 5f 2e 70 65 6e 63 6f 6c 6f 72 3b 0d 0a 43 4f 44 45 0d 0a 24 38 42 2c 24 37 45   ┆r:=Wnd_.pencolor;  CODE  $8B,$7E┆
0x3a540…3a560            2c 24 30 36 2c 24 38 42 2c 24 37 36 2c 24 30 34 2c 24 38 39 2c 24 46 39 2c 24 44 31 2c 24 45 37   ┆,$06,$8B,$76,$04,$89,$F9,$D1,$E7┆
0x3a560…3a580            2c 24 44 31 2c 24 45 36 2c 24 38 42 2c 24 39 44 2c 3e 53 63 72 5f 78 61 64 64 72 2c 0d 0a 24 30   ┆,$D1,$E6,$8B,$9D,>Scr_xaddr,  $0┆
0x3a580…3a5a0            33 2c 24 39 43 2c 3e 53 63 72 5f 79 61 64 64 72 2c 24 38 30 2c 24 45 31 2c 24 30 37 2c 24 42 32   ┆3,$9C,>Scr_yaddr,$80,$E1,$07,$B2┆
0x3a5a0…3a5c0            2c 24 38 30 2c 24 44 32 2c 24 45 41 2c 24 38 45 2c 24 30 36 2c 3e 53 63 72 5f 73 65 67 6d 2c 24   ┆,$80,$D2,$EA,$8E,$06,>Scr_segm,$┆
0x3a5c0…3a5e0            41 30 2c 0d 0a 3e 57 6e 64 5f 63 6f 6c 6f 72 2c 24 33 43 2c 24 46 46 2c 24 37 35 2c 24 30 35 2c   ┆A0,  >Wnd_color,$3C,$FF,$75,$05,┆
0x3a5e0…3a600            24 32 36 2c 24 30 38 2c 24 31 37 2c 24 45 42 2c 24 30 45 2c 24 33 43 2c 24 30 30 2c 24 37 35 2c   ┆$26,$08,$17,$EB,$0E,$3C,$00,$75,┆
0x3a600…3a620            24 30 37 2c 24 46 36 2c 0d 0a 24 44 32 2c 24 32 36 2c 24 32 30 2c 24 31 37 2c 24 45 42 2c 24 30   ┆$07,$F6,  $D2,$26,$20,$17,$EB,$0┆
0x3a620…3a640            33 2c 24 32 36 2c 24 33 30 2c 24 31 37 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52   ┆3,$26,$30,$17;  END;    PROCEDUR┆
0x3a640…3a660            45 20 6d 6f 76 65 53 63 72 5f 74 6f 6d 65 6d 28 78 2c 79 2c 78 6c 65 6e 3a 20 49 4e 54 45 47 45   ┆E moveScr_tomem(x,y,xlen: INTEGE┆
0x3a660…3a680            52 3b 6b 31 2c 6b 32 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 43 4f 44 45 0d   ┆R;k1,k2: INTEGER);  BEGIN  CODE ┆
0x3a680…3a6a0            0a 24 38 42 2c 24 37 45 2c 24 30 41 2c 24 44 31 2c 24 45 37 2c 24 38 42 2c 24 38 35 2c 3e 53 63   ┆ $8B,$7E,$0A,$D1,$E7,$8B,$85,>Sc┆
0x3a6a0…3a6c0            72 5f 79 61 64 64 72 2c 24 38 42 2c 24 34 45 2c 24 30 38 2c 24 38 42 2c 24 37 45 2c 24 30 43 2c   ┆r_yaddr,$8B,$4E,$08,$8B,$7E,$0C,┆
0x3a6c0…3a6e0            24 44 31 2c 0d 0a 24 45 37 2c 24 38 45 2c 24 30 36 2c 3e 53 63 72 5f 73 65 67 6d 2c 24 31 45 2c   ┆$D1,  $E7,$8E,$06,>Scr_segm,$1E,┆
0x3a6e0…3a700            24 43 35 2c 24 37 36 2c 24 30 34 2c 24 38 43 2c 24 44 41 2c 24 38 39 2c 24 43 33 2c 24 31 46 2c   ┆$C5,$76,$04,$8C,$DA,$89,$C3,$1F,┆
0x3a700…3a720            24 30 33 2c 24 39 44 2c 0d 0a 3e 53 63 72 5f 78 61 64 64 72 2c 24 31 45 2c 24 38 45 2c 24 44 41   ┆$03,$9D,  >Scr_xaddr,$1E,$8E,$DA┆
0x3a720…3a740            2c 24 35 31 2c 24 32 36 2c 24 38 61 2c 24 30 66 2c 24 38 38 2c 24 30 63 2c 24 35 39 2c 24 34 36   ┆,$51,$26,$8a,$0f,$88,$0c,$59,$46┆
0x3a740…3a760            2c 24 38 33 2c 24 43 37 2c 24 31 30 2c 0d 0a 24 45 32 2c 24 45 39 2c 24 31 46 3b 0d 0a 45 4e 44   ┆,$83,$C7,$10,  $E2,$E9,$1F;  END┆
0x3a760…3a780            3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 6d 6f 76 65 6d 65 6d 74 6f 53 63 72 5f 28 78 2c 79   ┆;    PROCEDURE movememtoScr_(x,y┆
0x3a780…3a7a0            2c 78 6c 65 6e 3a 20 49 4e 54 45 47 45 52 3b 6b 31 2c 6b 32 3a 49 4e 54 45 47 45 52 29 3b 0d 0a   ┆,xlen: INTEGER;k1,k2:INTEGER);  ┆
0x3a7a0…3a7c0            42 45 47 49 4e 0d 0a 43 4f 44 45 0d 0a 24 38 42 2c 24 37 45 2c 24 30 41 2c 24 44 31 2c 24 45 37   ┆BEGIN  CODE  $8B,$7E,$0A,$D1,$E7┆
0x3a7c0…3a7e0            2c 24 38 42 2c 24 38 35 2c 3e 53 63 72 5f 79 61 64 64 72 2c 24 38 42 2c 24 34 45 2c 24 30 38 2c   ┆,$8B,$85,>Scr_yaddr,$8B,$4E,$08,┆
0x3a7e0…3a800            24 38 42 2c 24 37 45 2c 24 30 43 2c 24 44 31 2c 0d 0a 24 45 37 2c 24 38 45 2c 24 30 36 2c 3e 53   ┆$8B,$7E,$0C,$D1,  $E7,$8E,$06,>S┆
0x3a800…3a820 (23, 0, 5) 63 72 5f 73 65 67 6d 2c 24 31 45 2c 24 43 35 2c 24 37 36 2c 24 30 34 2c 24 38 43 2c 24 44 41 2c   ┆cr_segm,$1E,$C5,$76,$04,$8C,$DA,┆
0x3a820…3a840            24 38 39 2c 24 43 33 2c 24 31 46 2c 24 30 33 2c 24 39 44 2c 0d 0a 3e 53 63 72 5f 78 61 64 64 72   ┆$89,$C3,$1F,$03,$9D,  >Scr_xaddr┆
0x3a840…3a860            2c 24 31 45 2c 24 38 45 2c 24 44 41 2c 24 35 31 2c 24 38 41 2c 24 30 43 2c 24 32 36 2c 24 38 38   ┆,$1E,$8E,$DA,$51,$8A,$0C,$26,$88┆
0x3a860…3a880            2c 24 30 46 2c 24 35 39 2c 24 34 36 2c 24 38 33 2c 24 43 37 2c 24 31 30 2c 0d 0a 24 45 32 2c 24   ┆,$0F,$59,$46,$83,$C7,$10,  $E2,$┆
0x3a880…3a8a0            45 39 2c 24 31 46 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 66 69 6c 6c 76   ┆E9,$1F;  END;    PROCEDURE fillv┆
0x3a8a0…3a8c0            69 64 65 6f 6c 69 6e 65 28 78 2c 79 2c 78 6c 65 6e 2c 63 6f 6c 6f 72 3a 20 49 4e 54 45 47 45 52   ┆ideoline(x,y,xlen,color: INTEGER┆
0x3a8c0…3a8e0            29 3b 0d 0a 42 45 47 49 4e 0d 0a 43 4f 44 45 0d 0a 24 38 42 2c 24 37 45 2c 24 30 38 2c 24 44 31   ┆);  BEGIN  CODE  $8B,$7E,$08,$D1┆
0x3a8e0…3a900            2c 24 45 37 2c 24 38 42 2c 24 38 35 2c 3e 53 63 72 5f 79 61 64 64 72 2c 24 38 42 2c 24 34 45 2c   ┆,$E7,$8B,$85,>Scr_yaddr,$8B,$4E,┆
0x3a900…3a920            24 30 36 2c 24 38 42 2c 24 37 45 2c 24 30 41 2c 24 38 45 2c 0d 0a 24 30 36 2c 3e 53 63 72 5f 73   ┆$06,$8B,$7E,$0A,$8E,  $06,>Scr_s┆
0x3a920…3a940            65 67 6d 2c 24 38 42 2c 24 35 36 2c 24 30 34 2c 24 38 39 2c 24 43 33 2c 24 38 39 2c 24 46 45 2c   ┆egm,$8B,$56,$04,$89,$C3,$89,$FE,┆
0x3a940…3a960            24 44 31 2c 24 45 36 2c 24 30 33 2c 24 39 43 2c 3e 53 63 72 5f 78 61 64 64 72 2c 0d 0a 24 32 36   ┆$D1,$E6,$03,$9C,>Scr_xaddr,  $26┆
0x3a960…3a980            2c 24 38 38 2c 24 31 37 2c 24 38 33 2c 24 43 37 2c 24 30 38 2c 24 45 32 2c 24 45 45 3b 0d 0a 45   ┆,$88,$17,$83,$C7,$08,$E2,$EE;  E┆
0x3a980…3a9a0            4e 44 3b 0d 0a 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 62 61 73 65 61 64 64 72 28 78 2c 79 3a 20   ┆ND;      FUNCTION baseaddr(x,y: ┆
0x3a9a0…3a9c0            49 4e 54 45 47 45 52 29 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 43 4f 44 45 0d   ┆INTEGER): INTEGER;  BEGIN  CODE ┆
0x3a9c0…3a9e0            0a 24 38 42 2c 24 37 45 2c 24 30 36 2c 24 38 42 2c 24 37 36 2c 24 30 34 2c 24 44 31 2c 24 45 37   ┆ $8B,$7E,$06,$8B,$76,$04,$D1,$E7┆
0x3a9e0…3aa00            2c 24 44 31 2c 24 45 36 2c 24 38 42 2c 24 39 43 2c 3e 53 63 72 5f 79 61 64 64 72 2c 24 30 33 2c   ┆,$D1,$E6,$8B,$9C,>Scr_yaddr,$03,┆
0x3aa00…3aa20            24 39 44 2c 0d 0a 3e 53 63 72 5f 78 61 64 64 72 2c 24 38 39 2c 24 35 45 2c 24 30 38 3b 0d 0a 45   ┆$9D,  >Scr_xaddr,$89,$5E,$08;  E┆
0x3aa20…3aa40            4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 53 63 72 5f 52 65 61 64 44 6f 74 28 78 2c 79 3a   ┆ND;    FUNCTION Scr_ReadDot(x,y:┆
0x3aa40…3aa60            49 4e 54 45 47 45 52 29 3a 42 4f 4f 4c 45 41 4e 3b 0d 0a 56 41 52 20 74 6f 74 61 6c 3a 20 49 4e   ┆INTEGER):BOOLEAN;  VAR total: IN┆
0x3aa60…3aa80            54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 74 6f 74 61 6c 3a 3d 53 63 72 5f 78 61 64 64 72   ┆TEGER;  BEGIN   total:=Scr_xaddr┆
0x3aa80…3aaa0            28 2e 78 2e 29 2b 53 63 72 5f 79 61 64 64 72 28 2e 79 2e 29 3b 0d 0a 20 53 63 72 5f 72 65 61 64   ┆(.x.)+Scr_yaddr(.y.);   Scr_read┆
0x3aaa0…3aac0            64 6f 74 3a 3d 0d 0a 20 28 57 6e 64 5f 2e 70 65 6e 63 6f 6c 6f 72 3d 62 6c 61 63 6b 29 20 45 58   ┆dot:=   (Wnd_.pencolor=black) EX┆
0x3aac0…3aae0            4f 52 20 28 6d 65 6d 28 2e 53 63 72 5f 73 65 67 6d 3a 74 6f 74 61 6c 2e 29 20 41 4e 44 20 28 31   ┆OR (mem(.Scr_segm:total.) AND (1┆
0x3aae0…3ab00            32 38 20 53 48 52 20 28 78 20 41 4e 44 20 37 29 29 3c 3e 30 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a   ┆28 SHR (x AND 7))<>0);  END;    ┆
0x3ab00…3ab20            50 52 4f 43 45 44 55 52 45 20 53 63 72 5f 66 69 6c 6c 28 78 31 2c 79 31 2c 78 32 2c 79 32 3a 49   ┆PROCEDURE Scr_fill(x1,y1,x2,y2:I┆
0x3ab20…3ab40            4e 54 45 47 45 52 3b 20 63 6f 6c 6f 72 3a 20 42 59 54 45 29 3b 0d 0a 56 41 52 0d 0a 20 79 2c 6c   ┆NTEGER; color: BYTE);  VAR   y,l┆
0x3ab40…3ab60            3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 6c 3a 3d 28 78 32 2d 78 31 2b 31   ┆: INTEGER;  BEGIN    l:=(x2-x1+1┆
0x3ab60…3ab80            29 20 44 49 56 20 38 3b 0d 0a 20 20 46 4f 52 20 79 3a 3d 79 31 20 54 4f 20 79 32 20 44 4f 20 42   ┆) DIV 8;    FOR y:=y1 TO y2 DO B┆
0x3ab80…3aba0            45 47 49 4e 0d 0a 20 20 20 20 66 69 6c 6c 76 69 64 65 6f 6c 69 6e 65 28 78 31 2c 79 2c 6c 2c 63   ┆EGIN      fillvideoline(x1,y,l,c┆
0x3aba0…3abc0            6f 6c 6f 72 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52   ┆olor);    END;  END;    PROCEDUR┆
0x3abc0…3abe0            45 20 53 63 72 5f 44 72 61 77 63 68 61 72 28 78 2c 79 3a 20 49 4e 54 45 47 45 52 3b 63 68 3a 20   ┆E Scr_Drawchar(x,y: INTEGER;ch: ┆
0x3abe0…3ac00            43 48 41 52 29 3b 0d 0a 56 41 52 20 20 74 6f 74 61 6c 2c 69 3a 20 49 4e 54 45 47 45 52 3b 0d 0a   ┆CHAR);  VAR  total,i: INTEGER;  ┆
0x3ac00…3ac20 (23, 1, 1) 42 45 47 49 4e 0d 0a 20 20 46 4f 52 20 69 3a 3d 30 20 54 4f 20 37 20 44 4f 20 42 45 47 49 4e 0d   ┆BEGIN    FOR i:=0 TO 7 DO BEGIN ┆
0x3ac20…3ac40            0a 20 20 20 20 74 6f 74 61 6c 3a 3d 53 63 72 5f 78 61 64 64 72 28 2e 78 2e 29 2b 53 63 72 5f 79   ┆     total:=Scr_xaddr(.x.)+Scr_y┆
0x3ac40…3ac60            61 64 64 72 28 2e 79 2d 69 2b 37 2e 29 3b 0d 0a 20 20 20 20 43 41 53 45 20 57 6e 64 5f 2e 70 65   ┆addr(.y-i+7.);      CASE Wnd_.pe┆
0x3ac60…3ac80            6e 63 6f 6c 6f 72 20 4f 46 0d 0a 20 20 20 20 77 68 69 74 65 3a 0d 0a 20 20 20 20 20 20 6d 65 6d   ┆ncolor OF      white:        mem┆
0x3ac80…3aca0            28 2e 53 63 72 5f 73 65 67 6d 3a 74 6f 74 61 6c 2e 29 3a 3d 53 63 72 5f 43 48 41 52 28 2e 6f 72   ┆(.Scr_segm:total.):=Scr_CHAR(.or┆
0x3aca0…3acc0            64 28 63 68 29 2c 69 2e 29 3b 0d 0a 20 20 20 20 62 6c 61 63 6b 3a 0d 0a 20 20 20 20 20 20 6d 65   ┆d(ch),i.);      black:        me┆
0x3acc0…3ace0            6d 28 2e 53 63 72 5f 73 65 67 6d 3a 74 6f 74 61 6c 2e 29 3a 3d 20 28 4e 4f 54 20 53 63 72 5f 43   ┆m(.Scr_segm:total.):= (NOT Scr_C┆
0x3ace0…3ad00            48 41 52 28 2e 6f 72 64 28 63 68 29 2c 69 2e 29 20 41 4e 44 20 24 46 46 29 3b 0d 0a 20 20 20 20   ┆HAR(.ord(ch),i.) AND $FF);      ┆
0x3ad00…3ad20            74 72 61 6e 73 70 3a 0d 0a 20 20 20 20 20 20 6d 65 6d 28 2e 53 63 72 5f 73 65 67 6d 3a 74 6f 74   ┆transp:        mem(.Scr_segm:tot┆
0x3ad20…3ad40            61 6c 2e 29 3a 3d 20 53 63 72 5f 43 48 41 52 28 2e 6f 72 64 28 63 68 29 2c 69 2e 29 20 45 58 4f   ┆al.):= Scr_CHAR(.ord(ch),i.) EXO┆
0x3ad40…3ad60            52 20 6d 65 6d 28 2e 53 63 72 5f 73 65 67 6d 3a 74 6f 74 61 6c 2e 29 3b 0d 0a 20 20 20 20 45 4e   ┆R mem(.Scr_segm:total.);      EN┆
0x3ad60…3ad80            44 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 63   ┆D;    END;  END;    PROCEDURE Sc┆
0x3ad80…3ada0            72 5f 64 72 61 77 4c 69 6e 65 28 78 78 31 2c 79 79 31 2c 78 78 32 2c 79 79 32 3a 20 49 4e 54 45   ┆r_drawLine(xx1,yy1,xx2,yy2: INTE┆
0x3ada0…3adc0            47 45 52 29 3b 0d 0a 56 41 52 0d 0a 20 20 6c 67 5f 64 65 6c 74 61 2c 20 73 68 5f 64 65 6c 74 61   ┆GER);  VAR    lg_delta, sh_delta┆
0x3adc0…3ade0            2c 20 6c 67 5f 73 74 65 70 2c 20 73 68 5f 73 74 65 70 2c 20 63 79 63 6c 65 2c 20 74 6f 74 61 6c   ┆, lg_step, sh_step, cycle, total┆
0x3ade0…3ae00            3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 6c 67 5f 64 65 6c 74 61 3a 3d 78   ┆: INTEGER;  BEGIN    lg_delta:=x┆
0x3ae00…3ae20            78 32 2d 78 78 31 3b 20 73 68 5f 64 65 6c 74 61 3a 3d 79 79 32 2d 79 79 31 3b 0d 0a 20 20 49 46   ┆x2-xx1; sh_delta:=yy2-yy1;    IF┆
0x3ae20…3ae40            20 6c 67 5f 64 65 6c 74 61 3c 30 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 6c 67 5f 64   ┆ lg_delta<0 THEN BEGIN      lg_d┆
0x3ae40…3ae60            65 6c 74 61 3a 3d 2d 6c 67 5f 64 65 6c 74 61 3b 20 6c 67 5f 73 74 65 70 3a 3d 2d 31 0d 0a 20 20   ┆elta:=-lg_delta; lg_step:=-1    ┆
0x3ae60…3ae80            45 4e 44 20 45 4c 53 45 20 6c 67 5f 73 74 65 70 3a 3d 31 3b 0d 0a 20 20 49 46 20 73 68 5f 64 65   ┆END ELSE lg_step:=1;    IF sh_de┆
0x3ae80…3aea0            6c 74 61 3c 30 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 73 68 5f 64 65 6c 74 61 3a 3d   ┆lta<0 THEN BEGIN      sh_delta:=┆
0x3aea0…3aec0            2d 73 68 5f 64 65 6c 74 61 3b 20 73 68 5f 73 74 65 70 3a 3d 2d 31 0d 0a 20 20 45 4e 44 20 45 4c   ┆-sh_delta; sh_step:=-1    END EL┆
0x3aec0…3aee0            53 45 20 73 68 5f 73 74 65 70 3a 3d 31 3b 0d 0a 20 20 49 46 20 73 68 5f 64 65 6c 74 61 3c 6c 67   ┆SE sh_step:=1;    IF sh_delta<lg┆
0x3aee0…3af00            5f 64 65 6c 74 61 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 63 79 63 6c 65 3a 3d 6c 67   ┆_delta THEN BEGIN      cycle:=lg┆
0x3af00…3af20            5f 64 65 6c 74 61 20 53 48 52 20 32 3b 0d 0a 20 20 20 20 57 48 49 4c 45 20 78 78 31 3c 3e 78 78   ┆_delta SHR 2;      WHILE xx1<>xx┆
0x3af20…3af40            32 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 53 63 72 5f 77 72 69 74 65 64 6f 74 28 78   ┆2 DO BEGIN        Scr_writedot(x┆
0x3af40…3af60            78 31 2c 79 79 31 29 3b 0d 0a 20 20 20 20 20 20 78 78 31 3a 3d 78 78 31 2b 6c 67 5f 73 74 65 70   ┆x1,yy1);        xx1:=xx1+lg_step┆
0x3af60…3af80            3b 20 63 79 63 6c 65 3a 3d 63 79 63 6c 65 2b 73 68 5f 64 65 6c 74 61 3b 0d 0a 20 20 20 20 20 20   ┆; cycle:=cycle+sh_delta;        ┆
0x3af80…3afa0            49 46 20 63 79 63 6c 65 3e 6c 67 5f 64 65 6c 74 61 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20   ┆IF cycle>lg_delta THEN BEGIN    ┆
0x3afa0…3afc0            20 20 20 20 20 20 79 79 31 3a 3d 79 79 31 2b 73 68 5f 73 74 65 70 3b 20 63 79 63 6c 65 3a 3d 63   ┆      yy1:=yy1+sh_step; cycle:=c┆
0x3afc0…3afe0            79 63 6c 65 2d 6c 67 5f 64 65 6c 74 61 3b 0d 0a 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20   ┆ycle-lg_delta;        END;      ┆
0x3afe0…3b000            45 4e 44 3b 0d 0a 20 20 45 4e 44 0d 0a 20 20 45 4c 53 45 20 42 45 47 49 4e 0d 0a 20 20 20 20 63   ┆END;    END    ELSE BEGIN      c┆
0x3b000…3b020 (23, 1, 2) 79 63 6c 65 3a 3d 73 68 5f 64 65 6c 74 61 20 53 48 52 20 32 3b 0d 0a 20 20 20 20 73 77 61 70 28   ┆ycle:=sh_delta SHR 2;      swap(┆
0x3b020…3b040            6c 67 5f 64 65 6c 74 61 2c 73 68 5f 64 65 6c 74 61 29 3b 0d 0a 20 20 20 20 73 77 61 70 28 6c 67   ┆lg_delta,sh_delta);      swap(lg┆
0x3b040…3b060            5f 73 74 65 70 2c 73 68 5f 73 74 65 70 29 3b 0d 0a 20 20 20 20 57 48 49 4c 45 20 79 79 31 3c 3e   ┆_step,sh_step);      WHILE yy1<>┆
0x3b060…3b080            79 79 32 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 53 63 72 5f 77 72 69 74 65 64 6f 74   ┆yy2 DO BEGIN        Scr_writedot┆
0x3b080…3b0a0            28 78 78 31 2c 79 79 31 29 3b 0d 0a 20 20 20 20 20 20 79 79 31 3a 3d 79 79 31 2b 6c 67 5f 73 74   ┆(xx1,yy1);        yy1:=yy1+lg_st┆
0x3b0a0…3b0c0            65 70 3b 20 63 79 63 6c 65 3a 3d 63 79 63 6c 65 2b 73 68 5f 64 65 6c 74 61 3b 0d 0a 20 20 20 20   ┆ep; cycle:=cycle+sh_delta;      ┆
0x3b0c0…3b0e0            20 20 49 46 20 63 79 63 6c 65 3e 6c 67 5f 64 65 6c 74 61 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a   ┆  IF cycle>lg_delta THEN BEGIN  ┆
0x3b0e0…3b100            20 20 20 20 20 20 20 20 78 78 31 3a 3d 78 78 31 2b 73 68 5f 73 74 65 70 3b 20 63 79 63 6c 65 3a   ┆        xx1:=xx1+sh_step; cycle:┆
0x3b100…3b120            3d 63 79 63 6c 65 2d 6c 67 5f 64 65 6c 74 61 3b 0d 0a 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20   ┆=cycle-lg_delta;        END;    ┆
0x3b120…3b140            20 20 45 4e 44 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e   ┆  END;    END;  END;    FUNCTION┆
0x3b140…3b160            20 69 73 71 72 74 28 61 72 67 3a 20 49 4e 54 45 47 45 52 29 3a 49 4e 54 45 47 45 52 3b 0d 0a 56   ┆ isqrt(arg: INTEGER):INTEGER;  V┆
0x3b160…3b180            41 52 0d 0a 20 20 6f 64 64 5f 69 6e 74 2c 20 6f 6c 64 5f 61 72 67 2c 20 66 69 72 73 74 5f 73 71   ┆AR    odd_int, old_arg, first_sq┆
0x3b180…3b1a0            72 74 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 6f 64 64 5f 69 6e 74 3a 3d   ┆rt: INTEGER;  BEGIN    odd_int:=┆
0x3b1a0…3b1c0            31 3b 20 6f 6c 64 5f 61 72 67 3a 3d 61 72 67 3b 0d 0a 20 20 57 48 49 4c 45 20 61 72 67 3e 3d 30   ┆1; old_arg:=arg;    WHILE arg>=0┆
0x3b1c0…3b1e0            20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 61 72 67 3a 3d 61 72 67 2d 6f 64 64 5f 69 6e 74 3b   ┆ DO BEGIN      arg:=arg-odd_int;┆
0x3b1e0…3b200            0d 0a 20 20 20 20 6f 64 64 5f 69 6e 74 3a 3d 6f 64 64 5f 69 6e 74 2b 32 3b 0d 0a 20 20 45 4e 44   ┆      odd_int:=odd_int+2;    END┆
0x3b200…3b220            3b 0d 0a 20 20 66 69 72 73 74 5f 73 71 72 74 3a 3d 6f 64 64 5f 69 6e 74 20 53 48 52 20 31 3b 0d   ┆;    first_sqrt:=odd_int SHR 1; ┆
0x3b220…3b240            0a 20 20 49 46 20 73 71 72 28 66 69 72 73 74 5f 73 71 72 74 29 2d 66 69 72 73 74 5f 73 71 72 74   ┆   IF sqr(first_sqrt)-first_sqrt┆
0x3b240…3b260            2b 31 3e 6f 6c 64 5f 61 72 67 20 54 48 45 4e 0d 0a 20 20 20 20 69 73 71 72 74 3a 3d 66 69 72 73   ┆+1>old_arg THEN      isqrt:=firs┆
0x3b260…3b280            74 5f 73 71 72 74 2d 31 20 45 4c 53 45 20 69 73 71 72 74 3a 3d 66 69 72 73 74 5f 73 71 72 74 3b   ┆t_sqrt-1 ELSE isqrt:=first_sqrt;┆
0x3b280…3b2a0            0d 0a 45 4e 44 3b 0d 0a 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 63 72 5f 6f 70 65 72 61 74   ┆  END;      PROCEDURE Scr_operat┆
0x3b2a0…3b2c0            69 6f 6e 28 6f 70 72 3a 20 6f 70 72 74 79 70 65 3b 78 31 2c 20 79 31 2c 20 78 32 2c 20 79 32 3a   ┆ion(opr: oprtype;x1, y1, x2, y2:┆
0x3b2c0…3b2e0            20 49 4e 54 45 47 45 52 3b 62 75 66 66 65 72 3a 20 62 75 66 74 79 70 65 29 3b 0d 0a 56 41 52 0d   ┆ INTEGER;buffer: buftype);  VAR ┆
0x3b2e0…3b300            0a 20 20 69 2c 78 2c 79 2c 79 79 2c 6b 31 2c 6b 32 2c 6c 2c 74 6f 74 61 6c 3a 20 49 4e 54 45 47   ┆   i,x,y,yy,k1,k2,l,total: INTEG┆
0x3b300…3b320            45 52 3b 0d 0a 20 20 73 77 70 62 75 66 3a 20 61 72 72 61 79 28 2e 30 2e 2e 31 30 30 2e 29 20 6f   ┆ER;    swpbuf: array(.0..100.) o┆
0x3b320…3b340            66 20 62 79 74 65 3b 0d 0a 20 20 62 75 66 70 3a 5e 69 6e 74 65 67 65 72 3b 0d 0a 42 45 47 49 4e   ┆f byte;    bufp:^integer;  BEGIN┆
0x3b340…3b360            0d 0a 20 20 6b 31 3a 3d 6f 66 73 28 62 75 66 66 65 72 5e 29 3b 6b 32 3a 3d 73 65 67 28 62 75 66   ┆    k1:=ofs(buffer^);k2:=seg(buf┆
0x3b360…3b380            66 65 72 5e 29 3b 20 6c 3a 3d 28 78 32 2d 78 31 2b 37 29 20 44 49 56 20 38 3b 62 75 66 70 3a 3d   ┆fer^); l:=(x2-x1+7) DIV 8;bufp:=┆
0x3b380…3b3a0            61 64 64 72 28 73 77 70 62 75 66 29 3b 0d 0a 20 20 46 4f 52 20 79 3a 3d 79 31 20 54 4f 20 79 32   ┆addr(swpbuf);    FOR y:=y1 TO y2┆
0x3b3a0…3b3c0            20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 63 61 73 65 20 6f 70 72 20 6f 66 0d 0a 20 20 20 20   ┆ DO BEGIN      case opr of      ┆
0x3b3c0…3b3e0            20 20 6c 6f 61 64 3a 20 6d 6f 76 65 6d 65 6d 74 6f 53 63 72 5f 28 78 31 2c 79 2c 6c 2c 6b 32 2c   ┆  load: movememtoScr_(x1,y,l,k2,┆
0x3b3e0…3b400            6b 31 29 3b 0d 0a 20 20 20 20 20 20 73 61 76 65 3a 20 6d 6f 76 65 53 63 72 5f 74 6f 6d 65 6d 28   ┆k1);        save: moveScr_tomem(┆
0x3b400…3b420 (23, 1, 3) 78 31 2c 79 2c 6c 2c 6b 32 2c 6b 31 29 3b 0d 0a 20 20 20 20 20 20 73 63 72 73 77 61 70 3a 0d 0a   ┆x1,y,l,k2,k1);        scrswap:  ┆
0x3b420…3b440            20 20 20 20 20 20 62 65 67 69 6e 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 65 73 63 72 5f 74 6f 6d   ┆      begin          movescr_tom┆
0x3b440…3b460            65 6d 28 78 31 2c 79 2c 6c 2c 73 65 67 28 73 77 70 62 75 66 29 2c 6f 66 73 28 73 77 70 62 75 66   ┆em(x1,y,l,seg(swpbuf),ofs(swpbuf┆
0x3b460…3b480            29 29 3b 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 65 6d 65 6d 74 6f 73 63 72 5f 28 78 31 2c 79 2c   ┆));          movememtoscr_(x1,y,┆
0x3b480…3b4a0            6c 2c 6b 32 2c 6b 31 29 3b 0d 0a 20 20 20 20 20 20 20 20 62 75 66 66 65 72 3a 3d 70 74 72 28 6b   ┆l,k2,k1);          buffer:=ptr(k┆
0x3b4a0…3b4c0            32 2c 6b 31 29 3b 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 65 28 73 77 70 62 75 66 2c 62 75 66 66   ┆2,k1);          move(swpbuf,buff┆
0x3b4c0…3b4e0            65 72 5e 2c 6c 29 3b 0d 0a 20 20 20 20 20 20 65 6e 64 3b 0d 0a 20 20 20 20 20 20 6f 74 68 65 72   ┆er^,l);        end;        other┆
0x3b4e0…3b500            77 69 73 65 20 68 61 6c 74 3b 0d 0a 20 20 20 20 20 65 6e 64 3b 0d 0a 20 20 20 20 6b 31 3a 3d 6b   ┆wise halt;       end;      k1:=k┆
0x3b500…3b520            31 2b 6c 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20   ┆1+l;    END;  END;    PROCEDURE ┆
0x3b520…3b540            57 6e 64 5f 57 72 69 74 65 44 6f 74 28 78 2c 20 79 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 20 20   ┆Wnd_WriteDot(x, y: INTEGER);    ┆
0x3b540…3b560            42 45 47 49 4e 0d 0a 20 20 20 20 49 46 20 28 28 78 20 3e 3d 20 30 29 20 41 4e 44 20 28 78 20 3c   ┆BEGIN      IF ((x >= 0) AND (x <┆
0x3b560…3b580            3d 20 57 6e 64 5f 2e 4d 61 78 58 29 29 20 41 4e 44 20 28 28 79 20 3e 3d 20 30 29 20 41 4e 44 20   ┆= Wnd_.MaxX)) AND ((y >= 0) AND ┆
0x3b580…3b5a0            28 79 20 3c 3d 20 57 6e 64 5f 2e 4d 61 78 59 29 29 20 54 48 45 4e 0d 0a 20 20 20 20 20 20 53 63   ┆(y <= Wnd_.MaxY)) THEN        Sc┆
0x3b5a0…3b5c0            72 5f 57 72 69 74 65 44 6f 74 28 78 20 2b 20 57 6e 64 5f 2e 58 31 2c 20 79 20 2b 20 57 6e 64 5f   ┆r_WriteDot(x + Wnd_.X1, y + Wnd_┆
0x3b5c0…3b5e0            2e 59 31 29 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 57 6e 64 5f 52 65 61   ┆.Y1)    END;    FUNCTION Wnd_Rea┆
0x3b5e0…3b600            64 44 6f 74 28 78 2c 20 79 20 3a 20 49 4e 54 45 47 45 52 29 20 3a 20 42 4f 4f 4c 45 41 4e 3b 0d   ┆dDot(x, y : INTEGER) : BOOLEAN; ┆
0x3b600…3b620            0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 49 46 20 28 78 20 3c 20 30 29 20 4f 52 20 28 78 20 3e   ┆   BEGIN      IF (x < 0) OR (x >┆
0x3b620…3b640            20 57 6e 64 5f 2e 4d 61 78 58 29 20 4f 52 20 28 79 20 3c 20 30 29 20 4f 52 20 28 79 20 3e 20 57   ┆ Wnd_.MaxX) OR (y < 0) OR (y > W┆
0x3b640…3b660            6e 64 5f 2e 4d 61 78 59 29 20 54 48 45 4e 0d 0a 20 20 20 20 20 20 57 6e 64 5f 52 65 61 64 44 6f   ┆nd_.MaxY) THEN        Wnd_ReadDo┆
0x3b660…3b680            74 20 3a 3d 20 66 61 6c 73 65 0d 0a 20 20 20 20 45 4c 53 45 20 57 6e 64 5f 52 65 61 64 44 6f 74   ┆t := false      ELSE Wnd_ReadDot┆
0x3b680…3b6a0            20 3a 3d 20 53 63 72 5f 52 65 61 64 44 6f 74 28 78 20 2b 20 57 6e 64 5f 2e 58 31 2c 79 20 2b 20   ┆ := Scr_ReadDot(x + Wnd_.X1,y + ┆
0x3b6a0…3b6c0            57 6e 64 5f 2e 59 31 29 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 63 6f 6e   ┆Wnd_.Y1)    END;    FUNCTION con┆
0x3b6c0…3b6e0            76 65 72 74 28 78 78 3a 52 45 41 4c 29 3a 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20   ┆vert(xx:REAL):INTEGER;  BEGIN   ┆
0x3b6e0…3b700            20 49 46 20 78 78 3e 6d 61 78 69 6e 74 20 54 48 45 4e 20 63 6f 6e 76 65 72 74 3a 3d 6d 61 78 69   ┆ IF xx>maxint THEN convert:=maxi┆
0x3b700…3b720            6e 74 20 45 4c 53 45 20 49 46 20 78 78 3c 2d 6d 61 78 69 6e 74 20 54 48 45 4e 0d 0a 20 20 63 6f   ┆nt ELSE IF xx<-maxint THEN    co┆
0x3b720…3b740            6e 76 65 72 74 3a 3d 2d 6d 61 78 69 6e 74 20 45 4c 53 45 20 63 6f 6e 76 65 72 74 3a 3d 74 72 75   ┆nvert:=-maxint ELSE convert:=tru┆
0x3b740…3b760            6e 63 28 78 78 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 5f 47 72 4f 75 74   ┆nc(xx);  END;    FUNCTION _GrOut┆
0x3b760…3b780            63 6f 64 65 28 78 31 2c 20 79 31 2c 20 4d 61 78 58 2c 20 4d 61 78 59 3a 20 49 4e 54 45 47 45 52   ┆code(x1, y1, MaxX, MaxY: INTEGER┆
0x3b780…3b7a0            29 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 56 41 52 20 61 3a 20 42 59 54 45 3b 0d 0a 42 45 47 49 4e   ┆): INTEGER;  VAR a: BYTE;  BEGIN┆
0x3b7a0…3b7c0            0d 0a 20 20 61 3a 3d 30 3b 0d 0a 20 20 49 46 20 78 31 3e 6d 61 78 78 20 54 48 45 4e 20 61 3a 3d   ┆    a:=0;    IF x1>maxx THEN a:=┆
0x3b7c0…3b7e0            61 20 4f 52 20 24 30 34 3b 0d 0a 20 20 49 46 20 78 31 3c 30 20 54 48 45 4e 20 61 3a 3d 61 20 4f   ┆a OR $04;    IF x1<0 THEN a:=a O┆
0x3b7e0…3b800            52 20 24 30 38 3b 0d 0a 20 20 49 46 20 79 31 3e 6d 61 78 79 20 54 48 45 4e 20 61 3a 3d 61 20 4f   ┆R $08;    IF y1>maxy THEN a:=a O┆
0x3b800…3b820 (23, 1, 4) 52 20 24 30 31 3b 0d 0a 20 20 49 46 20 79 31 3c 30 20 54 48 45 4e 20 61 3a 3d 61 20 4f 52 20 24   ┆R $01;    IF y1<0 THEN a:=a OR $┆
0x3b820…3b840            30 32 3b 0d 0a 20 20 5f 47 72 4f 75 74 63 6f 64 65 3a 3d 61 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46   ┆02;    _GrOutcode:=a;  END;    F┆
0x3b840…3b860            55 4e 43 54 49 4f 4e 20 5f 57 6e 64 5f 43 6c 69 70 4c 69 6e 65 28 56 41 52 20 78 31 2c 20 79 31   ┆UNCTION _Wnd_ClipLine(VAR x1, y1┆
0x3b860…3b880            2c 20 78 32 2c 20 79 32 20 3a 20 49 4e 54 45 47 45 52 29 20 3a 20 42 4f 4f 4c 45 41 4e 3b 0d 0a   ┆, x2, y2 : INTEGER) : BOOLEAN;  ┆
0x3b880…3b8a0            56 41 52 20 64 6f 6e 65 20 3a 20 42 4f 4f 4c 45 41 4e 3b 0d 0a 20 20 6f 75 74 63 6f 64 65 31 2c   ┆VAR done : BOOLEAN;    outcode1,┆
0x3b8a0…3b8c0            20 6f 75 74 63 6f 64 65 32 20 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 64   ┆ outcode2 : INTEGER;  BEGIN    d┆
0x3b8c0…3b8e0            6f 6e 65 20 20 3a 3d 20 46 41 4c 53 45 3b 0d 0a 20 20 5f 57 6e 64 5f 43 6c 69 70 4c 69 6e 65 20   ┆one  := FALSE;    _Wnd_ClipLine ┆
0x3b8e0…3b900            3a 3d 20 46 41 4c 53 45 3b 0d 0a 20 20 6f 75 74 63 6f 64 65 32 20 3a 3d 20 5f 47 72 4f 75 74 63   ┆:= FALSE;    outcode2 := _GrOutc┆
0x3b900…3b920            6f 64 65 28 78 32 2c 20 79 32 2c 20 57 6e 64 5f 2e 4d 61 78 58 2c 20 57 6e 64 5f 2e 4d 61 78 59   ┆ode(x2, y2, Wnd_.MaxX, Wnd_.MaxY┆
0x3b920…3b940            29 3b 0d 0a 20 20 52 45 50 45 41 54 0d 0a 20 20 20 20 6f 75 74 63 6f 64 65 31 20 3a 3d 20 5f 47   ┆);    REPEAT      outcode1 := _G┆
0x3b940…3b960            72 4f 75 74 63 6f 64 65 28 78 31 2c 20 79 31 2c 20 20 57 6e 64 5f 2e 4d 61 78 58 2c 20 57 6e 64   ┆rOutcode(x1, y1,  Wnd_.MaxX, Wnd┆
0x3b960…3b980            5f 2e 4d 61 78 59 29 3b 0d 0a 20 20 20 20 49 46 20 28 6f 75 74 63 6f 64 65 31 20 4f 52 20 6f 75   ┆_.MaxY);      IF (outcode1 OR ou┆
0x3b980…3b9a0            74 63 6f 64 65 32 29 20 3d 20 30 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 5f 57   ┆tcode2) = 0 THEN BEGIN        _W┆
0x3b9a0…3b9c0            6e 64 5f 43 6c 69 70 4c 69 6e 65 20 3a 3d 20 54 52 55 45 3b 0d 0a 20 20 20 20 20 20 64 6f 6e 65   ┆nd_ClipLine := TRUE;        done┆
0x3b9c0…3b9e0            20 3a 3d 20 54 52 55 45 20 45 4e 44 0d 0a 20 20 20 20 45 4c 53 45 20 49 46 20 28 6f 75 74 63 6f   ┆ := TRUE END      ELSE IF (outco┆
0x3b9e0…3ba00            64 65 31 20 41 4e 44 20 20 6f 75 74 63 6f 64 65 32 29 20 3c 3e 20 30 20 54 48 45 4e 0d 0a 20 20   ┆de1 AND  outcode2) <> 0 THEN    ┆
0x3ba00…3ba20            20 20 20 20 20 42 45 47 49 4e 20 5f 57 6e 64 5f 43 6c 69 70 4c 69 6e 65 20 3a 3d 20 46 41 4c 53   ┆     BEGIN _Wnd_ClipLine := FALS┆
0x3ba20…3ba40            45 3b 20 64 6f 6e 65 20 3a 3d 20 54 52 55 45 0d 0a 20 20 20 20 45 4e 44 20 45 4c 53 45 20 42 45   ┆E; done := TRUE      END ELSE BE┆
0x3ba40…3ba60            47 49 4e 0d 0a 20 20 20 20 20 20 49 46 20 6f 75 74 63 6f 64 65 31 20 3d 20 30 20 54 48 45 4e 20   ┆GIN        IF outcode1 = 0 THEN ┆
0x3ba60…3ba80            42 45 47 49 4e 20 53 77 61 70 28 6f 75 74 63 6f 64 65 31 2c 6f 75 74 63 6f 64 65 32 29 3b 0d 0a   ┆BEGIN Swap(outcode1,outcode2);  ┆
0x3ba80…3baa0            20 20 20 20 20 20 53 77 61 70 28 78 31 2c 20 78 32 29 3b 0d 0a 20 20 20 20 20 20 53 77 61 70 28   ┆      Swap(x1, x2);        Swap(┆
0x3baa0…3bac0            79 31 2c 20 79 32 29 0d 0a 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 20 20 49 46 20 28 6f   ┆y1, y2)        END;        IF (o┆
0x3bac0…3bae0            75 74 63 6f 64 65 31 20 20 41 4e 44 20 24 30 31 29 20 3c 3e 20 30 20 54 48 45 4e 20 42 45 47 49   ┆utcode1  AND $01) <> 0 THEN BEGI┆
0x3bae0…3bb00            4e 0d 0a 20 20 20 20 20 20 20 20 78 31 20 3a 3d 20 78 31 20 2b 20 63 6f 6e 76 65 72 74 28 28 78   ┆N          x1 := x1 + convert((x┆
0x3bb00…3bb20            32 20 2d 20 78 31 29 20 2a 20 28 28 57 6e 64 5f 2e 4d 61 78 59 20 2d 20 79 31 29 20 2f 20 28 79   ┆2 - x1) * ((Wnd_.MaxY - y1) / (y┆
0x3bb20…3bb40            32 20 20 2d 20 79 31 29 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 79 31 20 3a 3d 20 57 6e 64 5f 2e   ┆2  - y1)));          y1 := Wnd_.┆
0x3bb40…3bb60            4d 61 78 59 0d 0a 20 20 20 20 20 20 45 4e 44 20 45 4c 53 45 20 49 46 20 28 6f 75 74 63 6f 64 65   ┆MaxY        END ELSE IF (outcode┆
0x3bb60…3bb80            31 20 41 4e 44 20 24 30 32 29 20 3c 3e 20 30 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20   ┆1 AND $02) <> 0 THEN BEGIN      ┆
0x3bb80…3bba0            20 20 20 20 78 31 20 3a 3d 20 78 31 20 2b 20 63 6f 6e 76 65 72 74 28 28 78 32 20 2d 20 78 31 29   ┆    x1 := x1 + convert((x2 - x1)┆
0x3bba0…3bbc0            20 2a 20 28 28 30 2e 30 2d 79 31 29 20 2f 20 28 79 32 20 2d 20 79 31 29 29 29 3b 0d 0a 20 20 20   ┆ * ((0.0-y1) / (y2 - y1)));     ┆
0x3bbc0…3bbe0            20 20 20 20 20 79 31 20 3a 3d 20 30 0d 0a 20 20 20 20 20 20 45 4e 44 20 45 4c 53 45 20 49 46 20   ┆     y1 := 0        END ELSE IF ┆
0x3bbe0…3bc00            28 6f 75 74 63 6f 64 65 31 20 41 4e 44 20 24 30 34 29 20 3c 3e 20 30 20 54 48 45 4e 20 42 45 47   ┆(outcode1 AND $04) <> 0 THEN BEG┆
0x3bc00…3bc20 (23, 1, 5) 49 4e 0d 0a 20 20 20 20 20 20 20 20 79 31 20 3a 3d 20 79 31 20 2b 20 63 6f 6e 76 65 72 74 28 28   ┆IN          y1 := y1 + convert((┆
0x3bc20…3bc40            79 32 20 2d 20 79 31 29 20 2a 20 28 28 57 6e 64 5f 2e 4d 61 78 58 20 2d 20 78 31 29 20 2f 20 28   ┆y2 - y1) * ((Wnd_.MaxX - x1) / (┆
0x3bc40…3bc60            78 32 20 2d 20 78 31 29 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 78 31 20 3a 3d 20 57 6e 64 5f 2e   ┆x2 - x1)));          x1 := Wnd_.┆
0x3bc60…3bc80            4d 61 78 58 0d 0a 20 20 20 20 20 20 45 4e 44 20 45 4c 53 45 20 49 46 20 28 6f 75 74 63 6f 64 65   ┆MaxX        END ELSE IF (outcode┆
0x3bc80…3bca0            31 20 41 4e 44 20 24 30 38 29 20 3c 3e 20 30 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20   ┆1 AND $08) <> 0 THEN BEGIN      ┆
0x3bca0…3bcc0            20 20 20 20 79 31 20 3a 3d 20 79 31 20 2b 20 63 6f 6e 76 65 72 74 28 28 79 32 20 2d 20 79 31 29   ┆    y1 := y1 + convert((y2 - y1)┆
0x3bcc0…3bce0            20 2a 28 28 30 2e 30 2d 78 31 29 20 2f 20 28 78 32 20 2d 20 78 31 29 29 29 3b 0d 0a 20 20 20 20   ┆ *((0.0-x1) / (x2 - x1)));      ┆
0x3bce0…3bd00            20 20 20 20 78 31 20 3a 3d 20 30 0d 0a 20 20 20 20 20 20 45 4e 44 0d 0a 20 20 20 20 45 4e 44 0d   ┆    x1 := 0        END      END ┆
0x3bd00…3bd20            0a 20 20 55 4e 54 49 4c 20 64 6f 6e 65 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45   ┆   UNTIL done  END;    PROCEDURE┆
0x3bd20…3bd40            20 57 6e 64 5f 44 72 61 77 4c 69 6e 65 28 78 31 2c 20 79 31 2c 20 78 32 2c 20 79 32 3a 20 49 4e   ┆ Wnd_DrawLine(x1, y1, x2, y2: IN┆
0x3bd40…3bd60            54 45 47 45 52 29 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 49 46 20 5f 57 6e 64 5f 43 6c   ┆TEGER);    BEGIN      IF _Wnd_Cl┆
0x3bd60…3bd80            69 70 4c 69 6e 65 28 78 31 2c 20 79 31 2c 20 78 32 2c 20 79 32 29 20 54 48 45 4e 0d 0a 20 20 20   ┆ipLine(x1, y1, x2, y2) THEN     ┆
0x3bd80…3bda0            20 20 20 53 63 72 5f 44 72 61 77 4c 69 6e 65 28 78 31 20 2b 20 57 6e 64 5f 2e 58 31 2c 20 79 31   ┆   Scr_DrawLine(x1 + Wnd_.X1, y1┆
0x3bda0…3bdc0            20 2b 20 57 6e 64 5f 2e 59 31 2c 20 78 32 20 2b 20 57 6e 64 5f 2e 58 31 2c 0d 0a 20 20 20 20 20   ┆ + Wnd_.Y1, x2 + Wnd_.X1,       ┆
0x3bdc0…3bde0            20 79 32 20 2b 20 57 6e 64 5f 2e 59 31 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45   ┆ y2 + Wnd_.Y1);    END;    PROCE┆
0x3bde0…3be00            44 55 52 45 20 57 6e 64 5f 44 72 61 77 42 6f 78 28 78 31 2c 20 79 31 2c 20 78 32 2c 20 79 32 20   ┆DURE Wnd_DrawBox(x1, y1, x2, y2 ┆
0x3be00…3be20            3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 20 20 56 41 52 20 44 72 61 77 54 6f 70 2c 20 44 72 61 77   ┆: INTEGER);    VAR DrawTop, Draw┆
0x3be20…3be40            42 6f 74 2c 20 44 72 61 77 4c 65 66 74 2c 20 44 72 61 77 52 69 67 68 74 20 3a 20 42 4f 4f 4c 45   ┆Bot, DrawLeft, DrawRight : BOOLE┆
0x3be40…3be60            41 4e 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 49 46 20 78 31 20 3e 20 78 32 20 54 48 45   ┆AN;    BEGIN      IF x1 > x2 THE┆
0x3be60…3be80            4e 20 53 77 61 70 28 78 31 2c 20 78 32 29 3b 0d 0a 20 20 20 20 49 46 20 79 31 20 3e 20 79 32 20   ┆N Swap(x1, x2);      IF y1 > y2 ┆
0x3be80…3bea0            54 48 45 4e 20 53 77 61 70 28 79 31 2c 20 79 32 29 3b 0d 0a 0d 0a 20 20 20 20 49 46 20 78 31 20   ┆THEN Swap(y1, y2);        IF x1 ┆
0x3bea0…3bec0            3e 20 57 6e 64 5f 2e 4d 61 78 58 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20 20 20 49 46 20 79   ┆> Wnd_.MaxX THEN exit;      IF y┆
0x3bec0…3bee0            31 20 3e 20 57 6e 64 5f 2e 4d 61 78 59 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20 20 20 49 46   ┆1 > Wnd_.MaxY THEN exit;      IF┆
0x3bee0…3bf00            20 78 32 20 3c 20 30 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20 20 20 49 46 20 79 32 20 3c 20   ┆ x2 < 0 THEN exit;      IF y2 < ┆
0x3bf00…3bf20            30 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 0d 0a 20 20 20 20 44 72 61 77 54 6f 70 20 3a 3d 20 54   ┆0 THEN exit;        DrawTop := T┆
0x3bf20…3bf40            52 55 45 3b 0d 0a 20 20 20 20 44 72 61 77 42 6f 74 20 3a 3d 20 54 52 55 45 3b 0d 0a 20 20 20 20   ┆RUE;      DrawBot := TRUE;      ┆
0x3bf40…3bf60            44 72 61 77 4c 65 66 74 20 3a 3d 20 54 52 55 45 3b 0d 0a 20 20 20 20 44 72 61 77 52 69 67 68 74   ┆DrawLeft := TRUE;      DrawRight┆
0x3bf60…3bf80            20 3a 3d 20 54 52 55 45 3b 0d 0a 0d 0a 20 20 20 20 49 46 20 78 31 20 3c 20 30 20 54 48 45 4e 20   ┆ := TRUE;        IF x1 < 0 THEN ┆
0x3bf80…3bfa0            42 45 47 49 4e 0d 0a 20 20 20 20 20 20 78 31 20 3a 3d 20 30 3b 0d 0a 20 20 20 20 20 20 44 72 61   ┆BEGIN        x1 := 0;        Dra┆
0x3bfa0…3bfc0            77 4c 65 66 74 20 3a 3d 20 46 41 4c 53 45 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 49 46   ┆wLeft := FALSE      END;      IF┆
0x3bfc0…3bfe0            20 79 31 20 3c 20 30 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 79 31 20 3a 3d 20   ┆ y1 < 0 THEN BEGIN        y1 := ┆
0x3bfe0…3c000            30 3b 0d 0a 20 20 20 20 20 20 44 72 61 77 54 6f 70 20 3a 3d 20 46 41 4c 53 45 0d 0a 20 20 20 20   ┆0;        DrawTop := FALSE      ┆
0x3c000…3c020 (24, 0, 1) 45 4e 44 3b 0d 0a 20 20 20 20 49 46 20 78 32 20 3e 20 57 6e 64 5f 2e 4d 61 78 58 20 54 48 45 4e   ┆END;      IF x2 > Wnd_.MaxX THEN┆
0x3c020…3c040            20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 78 32 20 3a 3d 20 57 6e 64 5f 2e 4d 61 78 58 3b 0d 0a   ┆ BEGIN        x2 := Wnd_.MaxX;  ┆
0x3c040…3c060            20 20 20 20 20 20 44 72 61 77 52 69 67 68 74 20 3a 3d 20 46 41 4c 53 45 0d 0a 20 20 20 20 45 4e   ┆      DrawRight := FALSE      EN┆
0x3c060…3c080            44 3b 0d 0a 20 20 20 20 49 46 20 79 32 20 3e 20 57 6e 64 5f 2e 4d 61 78 59 20 54 48 45 4e 20 42   ┆D;      IF y2 > Wnd_.MaxY THEN B┆
0x3c080…3c0a0            45 47 49 4e 0d 0a 20 20 20 20 20 20 79 32 20 3a 3d 20 57 6e 64 5f 2e 4d 61 78 59 3b 0d 0a 20 20   ┆EGIN        y2 := Wnd_.MaxY;    ┆
0x3c0a0…3c0c0            20 20 20 20 44 72 61 77 42 6f 74 20 3a 3d 20 46 41 4c 53 45 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a   ┆    DrawBot := FALSE      END;  ┆
0x3c0c0…3c0e0            0d 0a 20 20 20 20 78 31 20 3a 3d 20 78 31 20 2b 20 57 6e 64 5f 2e 58 31 3b 0d 0a 20 20 20 20 78   ┆      x1 := x1 + Wnd_.X1;      x┆
0x3c0e0…3c100            32 20 3a 3d 20 78 32 20 2b 20 57 6e 64 5f 2e 58 31 3b 0d 0a 20 20 20 20 79 31 20 3a 3d 20 28 79   ┆2 := x2 + Wnd_.X1;      y1 := (y┆
0x3c100…3c120            31 20 2b 20 57 6e 64 5f 2e 59 31 29 3b 0d 0a 20 20 20 20 79 32 20 3a 3d 20 28 79 32 20 2b 20 57   ┆1 + Wnd_.Y1);      y2 := (y2 + W┆
0x3c120…3c140            6e 64 5f 2e 59 31 29 3b 0d 0a 0d 0a 20 20 20 20 49 46 20 44 72 61 77 54 6f 70 20 54 48 45 4e 20   ┆nd_.Y1);        IF DrawTop THEN ┆
0x3c140…3c160            53 63 72 5f 44 72 61 77 4c 69 6e 65 28 78 31 2c 20 79 31 2c 20 78 32 2c 20 79 31 29 3b 0d 0a 20   ┆Scr_DrawLine(x1, y1, x2, y1);   ┆
0x3c160…3c180            20 20 20 49 46 20 44 72 61 77 52 69 67 68 74 20 54 48 45 4e 20 53 63 72 5f 44 72 61 77 4c 69 6e   ┆   IF DrawRight THEN Scr_DrawLin┆
0x3c180…3c1a0            65 28 78 32 2c 20 79 31 2c 20 78 32 2c 20 79 32 29 3b 0d 0a 20 20 20 20 49 46 20 44 72 61 77 42   ┆e(x2, y1, x2, y2);      IF DrawB┆
0x3c1a0…3c1c0            6f 74 20 54 48 45 4e 20 53 63 72 5f 44 72 61 77 4c 69 6e 65 28 78 32 2c 20 79 32 2c 20 78 31 2c   ┆ot THEN Scr_DrawLine(x2, y2, x1,┆
0x3c1c0…3c1e0            20 79 32 29 3b 0d 0a 20 20 20 20 49 46 20 44 72 61 77 4c 65 66 74 20 54 48 45 4e 20 53 63 72 5f   ┆ y2);      IF DrawLeft THEN Scr_┆
0x3c1e0…3c200            44 72 61 77 4c 69 6e 65 28 78 31 2c 20 79 32 2c 20 78 31 2c 20 79 31 29 0d 0a 20 20 45 4e 44 3b   ┆DrawLine(x1, y2, x1, y1)    END;┆
0x3c200…3c220            0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 57 6e 64 5f 44 72 61 77 43 68 61 72 28 78 2c 20 79 20   ┆    PROCEDURE Wnd_DrawChar(x, y ┆
0x3c220…3c240            3a 20 49 4e 54 45 47 45 52 3b 20 63 20 3a 20 43 48 41 52 29 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a   ┆: INTEGER; c : CHAR);    BEGIN  ┆
0x3c240…3c260            20 20 20 20 49 46 20 78 20 3c 20 30 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20 20 20 49 46 20   ┆    IF x < 0 THEN exit;      IF ┆
0x3c260…3c280            28 78 2b 37 29 20 3e 20 57 6e 64 5f 2e 4d 61 78 58 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20   ┆(x+7) > Wnd_.MaxX THEN exit;    ┆
0x3c280…3c2a0            20 20 20 49 46 20 79 20 3c 20 30 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20 20 20 20 49 46 20   ┆   IF y < 0 THEN exit;       IF ┆
0x3c2a0…3c2c0            28 79 2b 37 29 20 3e 20 57 6e 64 5f 2e 4d 61 78 59 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20   ┆(y+7) > Wnd_.MaxY THEN exit;    ┆
0x3c2c0…3c2e0            20 20 53 63 72 5f 44 72 61 77 43 68 61 72 28 28 78 20 2b 20 57 6e 64 5f 2e 58 31 20 2b 20 37 29   ┆  Scr_DrawChar((x + Wnd_.X1 + 7)┆
0x3c2e0…3c300            20 41 4e 44 20 24 46 46 46 38 2c 20 28 79 20 2b 20 57 6e 64 5f 2e 59 31 29 2c 20 63 29 0d 0a 20   ┆ AND $FFF8, (y + Wnd_.Y1), c)   ┆
0x3c300…3c320            20 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 57 6e 64 5f 44 72 61 77 54 65 78 74 28   ┆ END;    PROCEDURE Wnd_DrawText(┆
0x3c320…3c340            78 2c 20 79 20 3a 20 49 4e 54 45 47 45 52 3b 20 74 20 3a 73 74 72 38 30 20 29 3b 0d 0a 20 20 56   ┆x, y : INTEGER; t :str80 );    V┆
0x3c340…3c360            41 52 20 69 20 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 46 4f   ┆AR i : INTEGER;    BEGIN      FO┆
0x3c360…3c380            52 20 69 20 3a 3d 20 31 20 54 4f 20 6c 65 6e 28 74 29 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20   ┆R i := 1 TO len(t) DO BEGIN     ┆
0x3c380…3c3a0            20 20 20 57 6e 64 5f 44 72 61 77 43 68 61 72 28 78 2c 20 79 2c 20 74 5b 69 5d 29 3b 0d 0a 20 20   ┆   Wnd_DrawChar(x, y, tÆiÅ);    ┆
0x3c3a0…3c3c0            20 20 20 20 78 20 3a 3d 20 78 20 2b 20 38 0d 0a 20 20 20 20 45 4e 44 0d 0a 20 20 45 4e 44 3b 0d   ┆    x := x + 8      END    END; ┆
0x3c3c0…3c3e0            0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 57 6e 64 5f 63 69 72 63 6c 65 28 63 78 2c 20 63 79 2c 20   ┆   PROCEDURE Wnd_circle(cx, cy, ┆
0x3c3e0…3c400            72 61 64 69 75 73 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 0d 0a 20 20 61 2c 20 61 66 2c   ┆radius: INTEGER);  VAR    a, af,┆
0x3c400…3c420 (24, 0, 2) 20 62 2c 20 62 66 2c 20 74 61 72 67 65 74 2c 20 72 32 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45   ┆ b, bf, target, r2: INTEGER;  BE┆
0x3c420…3c440            47 49 4e 0d 0a 20 20 74 61 72 67 65 74 3a 3d 30 3b 20 61 3a 3d 20 72 61 64 69 75 73 3b 20 62 3a   ┆GIN    target:=0; a:= radius; b:┆
0x3c440…3c460            3d 30 3b 20 72 32 3a 3d 73 71 72 28 72 61 64 69 75 73 29 3b 0d 0a 20 20 57 48 49 4c 45 20 61 3e   ┆=0; r2:=sqr(radius);    WHILE a>┆
0x3c460…3c480            3d 62 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 62 3a 3d 69 73 71 72 74 28 72 32 20 2d 20 73   ┆=b DO BEGIN      b:=isqrt(r2 - s┆
0x3c480…3c4a0            71 72 28 61 29 29 3b 0d 0a 20 20 20 20 73 77 61 70 28 74 61 72 67 65 74 2c 20 62 29 3b 0d 0a 20   ┆qr(a));      swap(target, b);   ┆
0x3c4a0…3c4c0            20 20 20 57 48 49 4c 45 20 62 3c 74 61 72 67 65 74 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20   ┆   WHILE b<target DO BEGIN      ┆
0x3c4c0…3c4e0            20 20 61 66 3a 3d 53 63 72 5f 61 73 70 65 63 74 2a 61 20 44 49 56 20 31 30 30 3b 20 62 66 3a 3d   ┆  af:=Scr_aspect*a DIV 100; bf:=┆
0x3c4e0…3c500            53 63 72 5f 61 73 70 65 63 74 2a 62 20 44 49 56 20 31 30 30 3b 0d 0a 20 20 20 20 20 20 57 6e 64   ┆Scr_aspect*b DIV 100;        Wnd┆
0x3c500…3c520            5f 57 72 69 74 65 44 6f 74 28 63 78 2b 61 66 2c 63 79 2b 62 29 3b 20 57 6e 64 5f 57 72 69 74 65   ┆_WriteDot(cx+af,cy+b); Wnd_Write┆
0x3c520…3c540            44 6f 74 28 63 78 2b 62 66 2c 63 79 2b 61 29 3b 0d 0a 20 20 20 20 20 20 57 6e 64 5f 57 72 69 74   ┆Dot(cx+bf,cy+a);        Wnd_Writ┆
0x3c540…3c560            65 44 6f 74 28 63 78 2d 61 66 2c 63 79 2b 62 29 3b 20 57 6e 64 5f 57 72 69 74 65 44 6f 74 28 63   ┆eDot(cx-af,cy+b); Wnd_WriteDot(c┆
0x3c560…3c580            78 2d 62 66 2c 63 79 2b 61 29 3b 0d 0a 20 20 20 20 20 20 57 6e 64 5f 57 72 69 74 65 44 6f 74 28   ┆x-bf,cy+a);        Wnd_WriteDot(┆
0x3c580…3c5a0            63 78 2d 61 66 2c 63 79 2d 62 29 3b 20 57 6e 64 5f 57 72 69 74 65 44 6f 74 28 63 78 2d 62 66 2c   ┆cx-af,cy-b); Wnd_WriteDot(cx-bf,┆
0x3c5a0…3c5c0            63 79 2d 61 29 3b 0d 0a 20 20 20 20 20 20 57 6e 64 5f 57 72 69 74 65 44 6f 74 28 63 78 2b 61 66   ┆cy-a);        Wnd_WriteDot(cx+af┆
0x3c5c0…3c5e0            2c 63 79 2d 62 29 3b 20 57 6e 64 5f 57 72 69 74 65 44 6f 74 28 63 78 2b 62 66 2c 63 79 2d 61 29   ┆,cy-b); Wnd_WriteDot(cx+bf,cy-a)┆
0x3c5e0…3c600            3b 0d 0a 20 20 20 20 20 20 62 3a 3d 62 2b 31 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20   ┆;        b:=b+1;      END;      ┆
0x3c600…3c620            61 3a 3d 61 2d 31 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54 49 4f   ┆a:=a-1;    END;  END;    FUNCTIO┆
0x3c620…3c640            4e 20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 78 20 3a 20 52 45 41 4c 29 20 3a 20 49 4e 54   ┆N _Wld_ToWindowX(x : REAL) : INT┆
0x3c640…3c660            45 47 45 52 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f   ┆EGER;    BEGIN      _Wld_ToWindo┆
0x3c660…3c680            77 58 20 3a 3d 20 63 6f 6e 76 65 72 74 28 28 28 78 20 2d 20 57 6c 64 5f 2e 58 31 29 20 2a 20 57   ┆wX := convert(((x - Wld_.X1) * W┆
0x3c680…3c6a0            6e 64 5f 2e 4d 61 78 58 29 20 2f 20 57 6c 64 5f 2e 58 52 61 6e 67 65 29 0d 0a 20 20 45 4e 44 3b   ┆nd_.MaxX) / Wld_.XRange)    END;┆
0x3c6a0…3c6c0            0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 59 28 79 20 3a 20   ┆    FUNCTION _Wld_ToWindowY(y : ┆
0x3c6c0…3c6e0            52 45 41 4c 29 20 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 5f   ┆REAL) : INTEGER;    BEGIN      _┆
0x3c6e0…3c700            57 6c 64 5f 54 6f 57 69 6e 64 6f 77 59 20 3a 3d 20 63 6f 6e 76 65 72 74 28 28 28 79 20 2d 20 57   ┆Wld_ToWindowY := convert(((y - W┆
0x3c700…3c720            6c 64 5f 2e 59 31 29 20 2a 20 57 6e 64 5f 2e 4d 61 78 59 29 20 2f 20 57 6c 64 5f 2e 59 52 61 6e   ┆ld_.Y1) * Wnd_.MaxY) / Wld_.YRan┆
0x3c720…3c740            67 65 29 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 61 76 65 76 69 65   ┆ge)    END;    PROCEDURE Savevie┆
0x3c740…3c760            77 70 6f 72 74 28 6e 6f 3a 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 0d 0a 20 20 73 69 7a 3a 20   ┆wport(no:INTEGER);  VAR    siz: ┆
0x3c760…3c780            49 4e 54 45 47 45 52 3b 0d 0a 20 20 69 2c 6a 2c 61 64 72 6f 66 73 2c 61 64 72 73 65 67 09 3a 20   ┆INTEGER;    i,j,adrofs,adrseg : ┆
0x3c780…3c7a0            49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 61 72 72 28   ┆INTEGER;  BEGIN    WITH Wnd_arr(┆
0x3c7a0…3c7c0            2e 6e 6f 2e 29 2c 73 61 76 65 5f 61 72 72 28 2e 6e 6f 2e 29 20 44 4f 20 42 45 47 49 4e 0d 0a 20   ┆.no.),save_arr(.no.) DO BEGIN   ┆
0x3c7c0…3c7e0            20 20 20 49 46 20 74 78 74 5f 6d 6f 64 65 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20   ┆   IF txt_mode THEN BEGIN       ┆
0x3c7e0…3c800            20 73 69 7a 3a 3d 28 74 78 74 6d 61 78 78 2b 31 29 2a 28 74 78 74 6d 61 78 79 2b 31 29 2a 32 3b   ┆ siz:=(txtmaxx+1)*(txtmaxy+1)*2;┆
0x3c800…3c820 (24, 0, 3) 0d 0a 20 20 20 20 20 20 49 46 20 28 63 6f 6e 74 65 6e 74 3d 4e 49 4c 29 20 4f 52 20 28 73 69 7a   ┆        IF (content=NIL) OR (siz┆
0x3c820…3c840            3e 6c 65 6e 67 74 68 29 20 54 48 45 4e 0d 0a 20 20 20 20 20 20 20 20 42 45 47 49 4e 20 61 6c 6c   ┆>length) THEN          BEGIN all┆
0x3c840…3c860            6f 63 61 74 65 28 63 6f 6e 74 65 6e 74 2c 73 69 7a 29 3b 20 6c 65 6e 67 74 68 3a 3d 73 69 7a 20   ┆ocate(content,siz); length:=siz ┆
0x3c860…3c880            45 4e 44 3b 0d 0a 20 20 20 20 20 20 61 64 72 73 65 67 3a 3d 73 65 67 28 63 6f 6e 74 65 6e 74 5e   ┆END;        adrseg:=seg(content^┆
0x3c880…3c8a0            29 3b 20 61 64 72 6f 66 73 3a 3d 6f 66 73 28 63 6f 6e 74 65 6e 74 5e 29 3b 0d 0a 20 20 20 20 20   ┆); adrofs:=ofs(content^);       ┆
0x3c8a0…3c8c0            20 46 4f 52 20 69 3a 3d 74 78 74 79 31 20 54 4f 20 74 78 74 79 31 2b 74 78 74 6d 61 78 79 20 44   ┆ FOR i:=txty1 TO txty1+txtmaxy D┆
0x3c8c0…3c8e0            4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 46 4f 52 20 6a 3a 3d 74 78 74 78 31 20 54 4f   ┆O BEGIN          FOR j:=txtx1 TO┆
0x3c8e0…3c900            20 74 78 74 78 31 2b 74 78 74 6d 61 78 78 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20   ┆ txtx1+txtmaxx DO BEGIN         ┆
0x3c900…3c920            20 20 20 6d 65 6d 77 28 2e 61 64 72 73 65 67 3a 61 64 72 6f 66 73 2e 29 3a 3d 74 78 74 5f 6c 69   ┆   memw(.adrseg:adrofs.):=txt_li┆
0x3c920…3c940            6e 65 70 74 72 28 2e 69 2e 29 5e 28 2e 6a 2e 29 2e 62 6f 74 68 3b 0d 0a 20 20 20 20 20 20 20 20   ┆neptr(.i.)^(.j.).both;          ┆
0x3c940…3c960            20 20 61 64 72 6f 66 73 3a 3d 61 64 72 6f 66 73 2b 32 3b 0d 0a 20 20 20 20 20 20 20 20 45 4e 44   ┆  adrofs:=adrofs+2;          END┆
0x3c960…3c980            3b 0d 0a 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 45 4e 44 0d 0a 20 20 20 20 45 4c 53 45   ┆;        END;      END      ELSE┆
0x3c980…3c9a0            20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 73 69 7a 3a 3d 28 6d 61 78 78 2b 38 29 20 44 49 56 20   ┆ BEGIN        siz:=(maxx+8) DIV ┆
0x3c9a0…3c9c0            38 20 2a 20 28 6d 61 78 79 2b 31 29 3b 0d 0a 20 20 20 20 20 20 49 46 20 28 63 6f 6e 74 65 6e 74   ┆8 * (maxy+1);        IF (content┆
0x3c9c0…3c9e0            3d 4e 49 4c 29 20 4f 52 20 28 73 69 7a 3e 6c 65 6e 67 74 68 29 20 54 48 45 4e 0d 0a 20 20 20 20   ┆=NIL) OR (siz>length) THEN      ┆
0x3c9e0…3ca00            20 20 20 20 42 45 47 49 4e 20 61 6c 6c 6f 63 61 74 65 28 63 6f 6e 74 65 6e 74 2c 73 69 7a 29 3b   ┆    BEGIN allocate(content,siz);┆
0x3ca00…3ca20            20 6c 65 6e 67 74 68 3a 3d 73 69 7a 20 45 4e 44 3b 0d 0a 20 20 20 20 20 20 6f 6c 64 31 3a 3d 57   ┆ length:=siz END;        old1:=W┆
0x3ca20…3ca40            6c 64 5f 2e 78 6f 6c 64 3b 20 6f 6c 64 32 3a 3d 57 6c 64 5f 2e 79 6f 6c 64 3b 0d 0a 20 20 20 20   ┆ld_.xold; old2:=Wld_.yold;      ┆
0x3ca40…3ca60            20 20 53 63 72 5f 6f 70 65 72 61 74 69 6f 6e 28 73 61 76 65 2c 20 78 31 2c 20 79 31 2c 20 6d 61   ┆  Scr_operation(save, x1, y1, ma┆
0x3ca60…3ca80            78 78 2b 78 31 2c 20 6d 61 78 79 2b 79 31 2c 63 6f 6e 74 65 6e 74 29 3b 0d 0a 20 20 20 20 45 4e   ┆xx+x1, maxy+y1,content);      EN┆
0x3ca80…3caa0            44 3b 0d 0a 20 20 20 20 77 69 6e 64 3a 3d 57 6e 64 5f 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 73   ┆D;      wind:=Wnd_;    END;    s┆
0x3caa0…3cac0            63 72 5f 73 77 61 70 5f 3a 3d 6c 6f 61 64 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 0d 0a 0d 0a 50 52 4f   ┆cr_swap_:=load;  END;        PRO┆
0x3cac0…3cae0            43 45 44 55 52 45 20 4c 6f 61 64 76 69 65 77 70 6f 72 74 28 6e 6f 2c 78 2c 79 3a 20 49 4e 54 45   ┆CEDURE Loadviewport(no,x,y: INTE┆
0x3cae0…3cb00            47 45 52 29 3b 0d 0a 56 41 52 0d 0a 20 20 62 6f 2c 69 2c 6a 2c 61 64 72 6f 66 73 2c 61 64 72 73   ┆GER);  VAR    bo,i,j,adrofs,adrs┆
0x3cb00…3cb20            65 67 2c 6e 6f 32 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 6e 6f 32 3a   ┆eg,no2 : INTEGER;  BEGIN    no2:┆
0x3cb20…3cb40            3d 61 62 73 28 6e 6f 29 3b 0d 0a 20 20 57 6e 64 5f 3a 3d 57 6e 64 5f 61 72 72 28 2e 6e 6f 32 2e   ┆=abs(no);    Wnd_:=Wnd_arr(.no2.┆
0x3cb40…3cb60            29 3b 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 61 72 72 28 2e 6e 6f 32 2e 29 2c 20 73 61 76 65 5f   ┆);    WITH Wnd_arr(.no2.), save_┆
0x3cb60…3cb80            61 72 72 28 2e 6e 6f 32 2e 29 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 49 46 20 63 6f 6e 74   ┆arr(.no2.) DO BEGIN      IF cont┆
0x3cb80…3cba0            65 6e 74 3d 4e 49 4c 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20 20 20 78 31 3a 3d 78 31 2b 78   ┆ent=NIL THEN exit;      x1:=x1+x┆
0x3cba0…3cbc0            3b 0d 0a 20 20 20 20 79 31 3a 3d 79 31 2b 79 3b 0d 0a 20 20 20 20 74 78 74 78 31 3a 3d 74 78 74   ┆;      y1:=y1+y;      txtx1:=txt┆
0x3cbc0…3cbe0            78 31 2b 78 3b 0d 0a 20 20 20 20 74 78 74 79 31 3a 3d 74 78 74 79 31 2b 79 3b 0d 0a 20 20 20 20   ┆x1+x;      txty1:=txty1+y;      ┆
0x3cbe0…3cc00            49 46 20 74 78 74 5f 6d 6f 64 65 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 61 64   ┆IF txt_mode THEN BEGIN        ad┆
0x3cc00…3cc20 (24, 0, 4) 72 73 65 67 3a 3d 73 65 67 28 63 6f 6e 74 65 6e 74 5e 29 3b 20 61 64 72 6f 66 73 3a 3d 6f 66 73   ┆rseg:=seg(content^); adrofs:=ofs┆
0x3cc20…3cc40            28 63 6f 6e 74 65 6e 74 5e 29 3b 0d 0a 20 20 20 20 20 20 46 4f 52 20 69 3a 3d 74 78 74 79 31 20   ┆(content^);        FOR i:=txty1 ┆
0x3cc40…3cc60            54 4f 20 74 78 74 79 31 2b 74 78 74 6d 61 78 79 20 44 4f 0d 0a 20 20 20 20 20 20 20 20 46 4f 52   ┆TO txty1+txtmaxy DO          FOR┆
0x3cc60…3cc80            20 6a 3a 3d 74 78 74 78 31 20 54 4f 20 74 78 74 78 31 2b 74 78 74 6d 61 78 78 20 44 4f 20 42 45   ┆ j:=txtx1 TO txtx1+txtmaxx DO BE┆
0x3cc80…3cca0            47 49 4e 0d 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 73 63 72 5f 73 77 61 70 5f 20 3d 73 63 72   ┆GIN            if scr_swap_ =scr┆
0x3cca0…3ccc0            73 77 61 70 20 74 68 65 6e 20 62 65 67 69 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 3a   ┆swap then begin              bo:┆
0x3ccc0…3cce0            3d 74 78 74 5f 6c 69 6e 65 70 74 72 28 2e 69 2e 29 5e 28 2e 6a 2e 29 2e 62 6f 74 68 3b 0d 0a 20   ┆=txt_lineptr(.i.)^(.j.).both;   ┆
0x3cce0…3cd00            20 20 20 20 20 20 20 20 20 20 20 74 78 74 5f 6c 69 6e 65 70 74 72 28 2e 69 2e 29 5e 28 2e 6a 2e   ┆           txt_lineptr(.i.)^(.j.┆
0x3cd00…3cd20            29 2e 62 6f 74 68 3a 3d 6d 65 6d 77 28 2e 61 64 72 73 65 67 3a 61 64 72 6f 66 73 2e 29 3b 0d 0a   ┆).both:=memw(.adrseg:adrofs.);  ┆
0x3cd20…3cd40            20 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d 77 28 2e 61 64 72 73 65 67 3a 61 64 72 6f 66 73 2e   ┆            memw(.adrseg:adrofs.┆
0x3cd40…3cd60            29 3a 3d 62 6f 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 65 6e 64 20 65 6c 73 65 0d 0a 20 20 20 20   ┆):=bo;            end else      ┆
0x3cd60…3cd80            20 20 20 20 20 20 20 20 74 78 74 5f 6c 69 6e 65 70 74 72 28 2e 69 2e 29 5e 28 2e 6a 2e 29 2e 62   ┆        txt_lineptr(.i.)^(.j.).b┆
0x3cd80…3cda0            6f 74 68 3a 3d 6d 65 6d 77 28 2e 61 64 72 73 65 67 3a 61 64 72 6f 66 73 2e 29 3b 0d 0a 20 20 20   ┆oth:=memw(.adrseg:adrofs.);     ┆
0x3cda0…3cdc0            20 20 20 20 20 20 20 61 64 72 6f 66 73 3a 3d 61 64 72 6f 66 73 2b 32 3b 0d 0a 20 20 20 20 20 20   ┆       adrofs:=adrofs+2;        ┆
0x3cdc0…3cde0            20 20 45 4e 44 3b 0d 0a 20 20 20 20 45 4e 44 0d 0a 20 20 20 20 45 4c 53 45 20 42 45 47 49 4e 0d   ┆  END;      END      ELSE BEGIN ┆
0x3cde0…3ce00            0a 20 20 20 20 20 20 20 53 63 72 5f 6f 70 65 72 61 74 69 6f 6e 28 73 63 72 5f 73 77 61 70 5f 2c   ┆        Scr_operation(scr_swap_,┆
0x3ce00…3ce20            78 31 2c 20 79 31 2c 20 6d 61 78 78 2b 78 31 2c 20 6d 61 78 79 2b 79 31 2c 63 6f 6e 74 65 6e 74   ┆x1, y1, maxx+x1, maxy+y1,content┆
0x3ce20…3ce40            29 3b 0d 0a 20 20 20 20 20 20 20 57 6c 64 5f 2e 78 6f 6c 64 3a 3d 6f 6c 64 31 3b 20 57 6c 64 5f   ┆);         Wld_.xold:=old1; Wld_┆
0x3ce40…3ce60            2e 79 6f 6c 64 3a 3d 6f 6c 64 32 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 49 46 20 6e   ┆.yold:=old2;      END;      IF n┆
0x3ce60…3ce80            6f 3c 30 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 72 65 6c 65 61 73 65 28 63 6f   ┆o<0 THEN BEGIN        release(co┆
0x3ce80…3cea0            6e 74 65 6e 74 29 3b 63 6f 6e 74 65 6e 74 3a 3d 4e 49 4c 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20   ┆ntent);content:=NIL      END;   ┆
0x3cea0…3cec0            20 20 20 57 6e 64 5f 3a 3d 77 69 6e 64 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 57 49 54 48 20 57   ┆   Wnd_:=wind;    END;    WITH W┆
0x3cec0…3cee0            6e 64 5f 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 78 31 3a 3d 78 31 2b 78 3b 0d 0a 20 20 20   ┆nd_ DO BEGIN      x1:=x1+x;     ┆
0x3cee0…3cf00            20 79 31 3a 3d 79 31 2b 79 3b 0d 0a 20 20 20 20 74 78 74 78 31 3a 3d 74 78 74 78 31 2b 78 3b 0d   ┆ y1:=y1+y;      txtx1:=txtx1+x; ┆
0x3cf00…3cf20            0a 20 20 20 20 74 78 74 79 31 3a 3d 74 78 74 79 31 2b 79 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 28 2a   ┆     txty1:=txty1+y;    END;  (*┆
0x3cf20…3cf40            20 20 73 61 76 65 5f 61 72 72 28 2e 6e 6f 32 2e 29 2e 77 69 6e 64 3a 3d 57 6e 64 5f 3b 2a 29 0d   ┆  save_arr(.no2.).wind:=Wnd_;*) ┆
0x3cf40…3cf60            0a 20 20 57 6e 64 5f 61 63 74 75 61 6c 3a 3d 6e 6f 32 3b 0d 0a 20 20 73 63 72 5f 73 77 61 70 5f   ┆   Wnd_actual:=no2;    scr_swap_┆
0x3cf60…3cf80            3a 3d 6c 6f 61 64 0d 0a 45 4e 44 3b 0d 0a 0d 0a 70 72 6f 63 65 64 75 72 65 20 73 77 61 70 76 69   ┆:=load  END;    procedure swapvi┆
0x3cf80…3cfa0            65 77 70 6f 72 74 28 6e 6f 2c 78 2c 79 3a 69 6e 74 65 67 65 72 29 3b 0d 0a 62 65 67 69 6e 0d 0a   ┆ewport(no,x,y:integer);  begin  ┆
0x3cfa0…3cfc0            20 20 73 63 72 5f 73 77 61 70 5f 3a 3d 73 63 72 73 77 61 70 3b 0d 0a 20 20 6c 6f 61 64 76 69 65   ┆  scr_swap_:=scrswap;    loadvie┆
0x3cfc0…3cfe0            77 70 6f 72 74 28 6e 6f 2c 78 2c 79 29 3b 0d 0a 65 6e 64 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52   ┆wport(no,x,y);  end;    PROCEDUR┆
0x3cfe0…3d000            45 20 70 6c 6f 74 28 78 2c 20 79 20 3a 20 52 45 41 4c 29 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a 20   ┆E plot(x, y : REAL);    BEGIN   ┆
0x3d000…3d020 (24, 0, 5) 20 20 20 57 6e 64 5f 57 72 69 74 65 44 6f 74 28 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 78   ┆   Wnd_WriteDot(_Wld_ToWindowX(x┆
0x3d020…3d040            29 2c 20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 59 28 79 29 29 3b 0d 0a 20 20 20 20 57 6c 64 5f   ┆), _Wld_ToWindowY(y));      Wld_┆
0x3d040…3d060            2e 58 6f 6c 64 3a 3d 78 3b 20 57 6c 64 5f 2e 59 6f 6c 64 3a 3d 79 3b 0d 0a 20 20 45 4e 44 3b 0d   ┆.Xold:=x; Wld_.Yold:=y;    END; ┆
0x3d060…3d080            0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 63 69 72 63 6c 65 28 78 2c 79 2c 72 3a 20 52 45 41 4c 29   ┆   PROCEDURE circle(x,y,r: REAL)┆
0x3d080…3d0a0            3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 20 20 57 6e 64 5f 63 69 72 63 6c 65 28 5f 57 6c 64 5f 54 6f   ┆;  BEGIN      Wnd_circle(_Wld_To┆
0x3d0a0…3d0c0            57 69 6e 64 6f 77 58 28 78 29 2c 20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 59 28 79 29 2c 5f 77   ┆WindowX(x), _Wld_ToWindowY(y),_w┆
0x3d0c0…3d0e0            6c 64 5f 74 6f 77 69 6e 64 6f 77 59 28 72 29 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54   ┆ld_towindowY(r));  END;    FUNCT┆
0x3d0e0…3d100            49 4f 4e 20 67 65 74 63 6f 6c 6f 72 28 78 2c 20 79 20 3a 20 52 45 41 4c 29 3a 20 42 4f 4f 4c 45   ┆ION getcolor(x, y : REAL): BOOLE┆
0x3d100…3d120            41 4e 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 67 65 74 63 6f 6c 6f 72 20 3a 3d 20 57 6e   ┆AN;    BEGIN      getcolor := Wn┆
0x3d120…3d140            64 5f 52 65 61 64 44 6f 74 28 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 78 29 2c 20 5f 57 6c   ┆d_ReadDot(_Wld_ToWindowX(x), _Wl┆
0x3d140…3d160            64 5f 54 6f 57 69 6e 64 6f 77 59 28 79 29 29 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45   ┆d_ToWindowY(y))    END;    PROCE┆
0x3d160…3d180            44 55 52 45 20 6d 6f 76 65 74 6f 28 78 2c 79 3a 52 45 41 4c 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20   ┆DURE moveto(x,y:REAL);  BEGIN   ┆
0x3d180…3d1a0            20 57 6c 64 5f 2e 58 4f 6c 64 3a 3d 78 3b 20 57 6c 64 5f 2e 59 4f 6c 64 3a 3d 79 3b 0d 0a 45 4e   ┆ Wld_.XOld:=x; Wld_.YOld:=y;  EN┆
0x3d1a0…3d1c0            44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 6d 6f 76 65 72 65 6c 28 78 2c 79 3a 20 52 45 41   ┆D;    PROCEDURE moverel(x,y: REA┆
0x3d1c0…3d1e0            4c 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 6d 6f 76 65 74 6f 28 57 6c 64 5f 2e 58 4f 6c 64 2b 78   ┆L);  BEGIN    moveto(Wld_.XOld+x┆
0x3d1e0…3d200            2c 57 6c 64 5f 2e 59 4f 6c 64 2b 79 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52   ┆,Wld_.YOld+y);  END;    PROCEDUR┆
0x3d200…3d220            45 20 44 72 61 77 74 6f 28 78 32 2c 20 79 32 20 3a 20 52 45 41 4c 29 3b 0d 0a 20 20 42 45 47 49   ┆E Drawto(x2, y2 : REAL);    BEGI┆
0x3d220…3d240            4e 0d 0a 20 20 20 20 57 6e 64 5f 44 72 61 77 4c 69 6e 65 28 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f   ┆N      Wnd_DrawLine(_Wld_ToWindo┆
0x3d240…3d260            77 58 28 57 6c 64 5f 2e 58 4f 6c 64 29 2c 20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 59 28 57 6c   ┆wX(Wld_.XOld), _Wld_ToWindowY(Wl┆
0x3d260…3d280            64 5f 2e 59 4f 6c 64 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f 57 6c 64   ┆d_.YOld),                   _Wld┆
0x3d280…3d2a0            5f 54 6f 57 69 6e 64 6f 77 58 28 78 32 29 2c 20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 59 28 79   ┆_ToWindowX(x2), _Wld_ToWindowY(y┆
0x3d2a0…3d2c0            32 29 29 3b 0d 0a 20 20 20 20 57 6c 64 5f 2e 58 4f 6c 64 3a 3d 78 32 3b 20 57 6c 64 5f 2e 59 4f   ┆2));      Wld_.XOld:=x2; Wld_.YO┆
0x3d2c0…3d2e0            6c 64 3a 3d 79 32 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 64 72 61   ┆ld:=y2;    END;    PROCEDURE dra┆
0x3d2e0…3d300            77 72 65 6c 28 78 2c 79 3a 20 52 45 41 4c 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 64 72 61 77 74   ┆wrel(x,y: REAL);  BEGIN    drawt┆
0x3d300…3d320            6f 28 78 2b 57 6c 64 5f 2e 58 4f 6c 64 2c 79 2b 57 6c 64 5f 2e 59 4f 6c 64 29 3b 0d 0a 45 4e 44   ┆o(x+Wld_.XOld,y+Wld_.YOld);  END┆
0x3d320…3d340            3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 50 6c 6f 74 43 68 61 72 28 78 2c 20 79 20 3a 20 52   ┆;    PROCEDURE PlotChar(x, y : R┆
0x3d340…3d360            45 41 4c 3b 20 63 20 3a 20 43 48 41 52 29 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 57 6e   ┆EAL; c : CHAR);    BEGIN      Wn┆
0x3d360…3d380            64 5f 44 72 61 77 43 68 61 72 28 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 78 29 2c 20 5f 57   ┆d_DrawChar(_Wld_ToWindowX(x), _W┆
0x3d380…3d3a0            6c 64 5f 54 6f 57 69 6e 64 6f 77 59 28 79 29 2c 20 63 29 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 50   ┆ld_ToWindowY(y), c)    END;    P┆
0x3d3a0…3d3c0            52 4f 43 45 44 55 52 45 20 50 6c 6f 74 54 65 78 74 28 78 2c 20 79 3a 20 52 45 41 4c 3b 20 74 3a   ┆ROCEDURE PlotText(x, y: REAL; t:┆
0x3d3c0…3d3e0            20 73 74 72 38 30 29 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 57 6e 64 5f 44 72 61 77 54   ┆ str80);    BEGIN      Wnd_DrawT┆
0x3d3e0…3d400            65 78 74 28 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 78 29 2c 20 5f 57 6c 64 5f 54 6f 57 49   ┆ext(_Wld_ToWindowX(x), _Wld_ToWI┆
0x3d400…3d420 (24, 1, 1) 6e 64 6f 77 59 28 79 29 2c 20 74 29 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 0d 0a 70 72 6f 63 65 64   ┆ndowY(y), t)    END;      proced┆
0x3d420…3d440            75 72 65 20 70 6c 6f 74 74 65 78 74 73 69 7a 65 28 78 2c 79 3a 20 72 65 61 6c 3b 20 73 69 7a 78   ┆ure plottextsize(x,y: real; sizx┆
0x3d440…3d460            2c 73 69 7a 79 3a 20 69 6e 74 65 67 65 72 3b 20 73 3a 20 73 74 72 38 30 29 3b 0d 0a 76 61 72 0d   ┆,sizy: integer; s: str80);  var ┆
0x3d460…3d480            0a 20 20 69 2c 78 31 2c 79 31 2c 78 32 2c 79 32 2c 78 62 65 67 2c 78 65 6e 64 2c 79 62 65 67 2c   ┆   i,x1,y1,x2,y2,xbeg,xend,ybeg,┆
0x3d480…3d4a0            79 65 6e 64 2c 78 78 2c 79 79 3a 20 69 6e 74 65 67 65 72 3b 0d 0a 20 20 63 62 79 74 65 3a 20 62   ┆yend,xx,yy: integer;    cbyte: b┆
0x3d4a0…3d4c0            79 74 65 3b 0d 0a 62 65 67 69 6e 0d 0a 20 20 78 78 3a 3d 5f 77 6c 64 5f 74 6f 77 69 6e 64 6f 77   ┆yte;  begin    xx:=_wld_towindow┆
0x3d4c0…3d4e0            78 28 78 29 3b 0d 0a 20 20 79 79 3a 3d 5f 77 6c 64 5f 74 6f 77 69 6e 64 6f 77 79 28 79 29 3b 0d   ┆x(x);    yy:=_wld_towindowy(y); ┆
0x3d4e0…3d500            0a 20 20 66 6f 72 20 69 3a 3d 31 20 74 6f 20 6c 65 6e 28 73 29 20 64 6f 20 62 65 67 69 6e 0d 0a   ┆   for i:=1 to len(s) do begin  ┆
0x3d500…3d520            20 20 20 20 66 6f 72 20 79 31 3a 3d 30 20 74 6f 20 37 20 64 6f 20 62 65 67 69 6e 0d 0a 20 20 20   ┆    for y1:=0 to 7 do begin     ┆
0x3d520…3d540            20 20 20 63 62 79 74 65 3a 3d 73 63 72 5f 63 68 61 72 28 2e 62 79 74 65 28 73 28 2e 69 2e 29 29   ┆   cbyte:=scr_char(.byte(s(.i.))┆
0x3d540…3d560            2c 28 37 2d 79 31 29 2e 29 20 3b 0d 0a 20 20 20 20 20 20 66 6f 72 20 78 31 3a 3d 30 20 74 6f 20   ┆,(7-y1).) ;        for x1:=0 to ┆
0x3d560…3d580            37 20 64 6f 20 62 65 67 69 6e 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 63 62 79 74 65 20 73 68   ┆7 do begin          if (cbyte sh┆
0x3d580…3d5a0            72 20 28 37 2d 78 31 29 29 20 61 6e 64 20 31 3c 3e 30 20 74 68 65 6e 20 62 65 67 69 6e 0d 0a 20   ┆r (7-x1)) and 1<>0 then begin   ┆
0x3d5a0…3d5c0            20 20 20 20 20 20 20 20 20 78 62 65 67 3a 3d 78 78 2b 78 31 2a 73 69 7a 78 3b 0d 0a 20 20 20 20   ┆         xbeg:=xx+x1*sizx;      ┆
0x3d5c0…3d5e0            20 20 20 20 20 20 78 65 6e 64 3a 3d 78 62 65 67 2b 73 69 7a 78 2d 31 3b 0d 0a 20 20 20 20 20 20   ┆      xend:=xbeg+sizx-1;        ┆
0x3d5e0…3d600            20 20 20 20 79 62 65 67 3a 3d 79 79 2b 79 31 2a 73 69 7a 79 3b 0d 0a 20 20 20 20 20 20 20 20 20   ┆    ybeg:=yy+y1*sizy;           ┆
0x3d600…3d620            20 79 65 6e 64 3a 3d 79 62 65 67 2b 73 69 7a 79 2d 31 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 66   ┆ yend:=ybeg+sizy-1;            f┆
0x3d620…3d640            6f 72 20 78 32 3a 3d 78 62 65 67 20 74 6f 20 78 65 6e 64 20 64 6f 0d 0a 20 20 20 20 20 20 20 20   ┆or x2:=xbeg to xend do          ┆
0x3d640…3d660            20 20 20 20 66 6f 72 20 79 32 3a 3d 79 62 65 67 20 74 6f 20 79 65 6e 64 20 64 6f 20 77 6e 64 5f   ┆    for y2:=ybeg to yend do wnd_┆
0x3d660…3d680            77 72 69 74 65 64 6f 74 28 78 32 2c 79 32 29 3b 0d 0a 20 20 20 20 20 20 20 20 65 6e 64 3b 0d 0a   ┆writedot(x2,y2);          end;  ┆
0x3d680…3d6a0            20 20 20 20 20 20 65 6e 64 3b 0d 0a 20 20 20 20 65 6e 64 3b 0d 0a 20 20 20 20 78 78 3a 3d 78 78   ┆      end;      end;      xx:=xx┆
0x3d6a0…3d6c0            2b 73 69 7a 78 2a 38 3b 0d 0a 20 20 65 6e 64 3b 0d 0a 65 6e 64 3b 20 28 2a 20 70 72 6f 63 65 64   ┆+sizx*8;    end;  end; (* proced┆
0x3d6c0…3d6e0            75 72 65 20 70 6c 6f 74 63 68 61 72 73 69 7a 65 28 78 2c 79 3a 20 72 65 61 6c 3b 20 73 69 7a 3a   ┆ure plotcharsize(x,y: real; siz:┆
0x3d6e0…3d700            20 69 6e 74 65 67 65 72 3b 20 63 68 3a 20 63 68 61 72 29 3b 20 2a 29 0d 0a 0d 0a 50 52 4f 43 45   ┆ integer; ch: char); *)    PROCE┆
0x3d700…3d720            44 55 52 45 20 64 72 61 77 73 74 72 28 63 6f 6c 2c 72 6f 77 3a 49 4e 54 45 47 45 52 3b 73 3a 73   ┆DURE drawstr(col,row:INTEGER;s:s┆
0x3d720…3d740            74 72 38 30 29 3b 0d 0a 56 41 52 20 61 74 74 72 69 62 3a 20 42 59 54 45 3b 0d 0a 20 6c 09 3a 20   ┆tr80);  VAR attrib: BYTE;   l : ┆
0x3d740…3d760            49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 20 44 4f 0d   ┆INTEGER;  BEGIN    WITH Wnd_ DO ┆
0x3d760…3d780            0a 20 20 20 20 49 46 20 74 78 74 5f 6d 6f 64 65 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20   ┆     IF txt_mode THEN BEGIN     ┆
0x3d780…3d7a0            20 20 20 72 6f 77 3a 3d 72 6f 77 2b 74 78 74 79 31 3b 0d 0a 20 20 20 20 20 20 49 46 20 28 63 6f   ┆   row:=row+txty1;        IF (co┆
0x3d7a0…3d7c0            6c 2b 6c 65 6e 28 73 29 29 3e 28 74 78 74 6d 61 78 78 2b 31 29 20 54 48 45 4e 20 6c 3a 3d 74 78   ┆l+len(s))>(txtmaxx+1) THEN l:=tx┆
0x3d7c0…3d7e0            74 6d 61 78 78 2b 31 2d 63 6f 6c 20 45 4c 53 45 20 6c 3a 3d 6c 65 6e 28 73 29 3b 0d 0a 20 20 20   ┆tmaxx+1-col ELSE l:=len(s);     ┆
0x3d7e0…3d800            20 20 20 63 6f 6c 3a 3d 63 6f 6c 2b 74 78 74 78 31 3b 0d 0a 20 20 20 20 20 20 49 46 20 72 6f 77   ┆   col:=col+txtx1;        IF row┆
0x3d800…3d820 (24, 1, 2) 3c 3d 74 78 74 6d 61 78 79 2b 74 78 74 79 31 20 54 48 45 4e 0d 0a 20 20 20 20 20 20 20 20 77 72   ┆<=txtmaxy+txty1 THEN          wr┆
0x3d820…3d840            69 74 65 73 74 72 28 63 6f 6c 2c 72 6f 77 2c 63 6f 70 79 28 73 2c 31 2c 6c 29 29 3b 0d 0a 20 20   ┆itestr(col,row,copy(s,1,l));    ┆
0x3d840…3d860            20 20 45 4e 44 0d 0a 20 20 20 20 45 4c 53 45 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 63 6f 6c   ┆  END      ELSE BEGIN        col┆
0x3d860…3d880            3a 3d 20 63 6f 6c 20 53 48 4c 20 33 20 3b 0d 0a 20 20 20 20 20 20 72 6f 77 3a 3d 20 6d 61 78 79   ┆:= col SHL 3 ;        row:= maxy┆
0x3d880…3d8a0            20 2d 20 37 20 2d 20 28 72 6f 77 20 2a 20 38 29 3b 0d 0a 20 20 20 20 20 20 57 6e 64 5f 64 72 61   ┆ - 7 - (row * 8);        Wnd_dra┆
0x3d8a0…3d8c0            77 74 65 78 74 28 63 6f 6c 2c 72 6f 77 2c 73 29 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 45 4e 44   ┆wtext(col,row,s);      END;  END┆
0x3d8c0…3d8e0            3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 64 72 61 77 72 65 61 6c 28 78 2c 79 3a 49 4e 54 45   ┆;    PROCEDURE drawreal(x,y:INTE┆
0x3d8e0…3d900            47 45 52 3b 20 72 3a 52 45 41 4c 3b 20 6c 2c 64 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52   ┆GER; r:REAL; l,d: INTEGER);  VAR┆
0x3d900…3d920            0d 0a 20 20 73 3a 20 73 74 72 38 30 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 73 74 72 28 72 3a 6c 3a   ┆    s: str80;  BEGIN    str(r:l:┆
0x3d920…3d940            64 2c 73 29 3b 0d 0a 20 20 64 72 61 77 73 74 72 28 78 2c 79 2c 73 29 3b 0d 0a 45 4e 44 3b 0d 0a   ┆d,s);    drawstr(x,y,s);  END;  ┆
0x3d940…3d960            0d 0a 50 52 4f 43 45 44 55 52 45 20 57 69 6e 64 6f 77 28 6e 6f 3a 20 49 4e 54 45 47 45 52 3b 20   ┆  PROCEDURE Window(no: INTEGER; ┆
0x3d960…3d980            78 78 31 2c 20 78 78 32 2c 20 79 79 31 2c 20 79 79 32 20 3a 20 52 45 41 4c 29 3b 0d 0a 42 45 47   ┆xx1, xx2, yy1, yy2 : REAL);  BEG┆
0x3d980…3d9a0            49 4e 0d 0a 20 20 57 49 54 48 20 57 6c 64 5f 61 72 72 28 2e 6e 6f 2e 29 20 44 4f 20 42 45 47 49   ┆IN    WITH Wld_arr(.no.) DO BEGI┆
0x3d9a0…3d9c0            4e 0d 0a 20 20 20 20 58 31 20 3a 3d 20 78 78 31 3b 0d 0a 20 20 20 20 59 31 20 3a 3d 20 79 79 31   ┆N      X1 := xx1;      Y1 := yy1┆
0x3d9c0…3d9e0            3b 0d 0a 20 20 20 20 58 4f 6c 64 3a 3d 20 78 78 31 3b 0d 0a 20 20 20 20 59 4f 6c 64 3a 3d 20 79   ┆;      XOld:= xx1;      YOld:= y┆
0x3d9e0…3da00            79 31 3b 0d 0a 20 20 20 20 58 52 61 6e 67 65 20 3a 3d 20 78 78 32 20 2d 20 78 78 31 20 3b 0d 0a   ┆y1;      XRange := xx2 - xx1 ;  ┆
0x3da00…3da20            20 20 20 20 59 52 61 6e 67 65 20 3a 3d 20 79 79 32 20 2d 20 79 79 31 20 0d 0a 20 20 45 4e 44 3b   ┆    YRange := yy2 - yy1     END;┆
0x3da20…3da40            0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 73 65 6c 65 63 74 77 69 6e 64 6f 77   ┆  END;    PROCEDURE selectwindow┆
0x3da40…3da60            28 6e 6f 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 77 6c 64 5f 3a 3d 77   ┆(no: INTEGER);  BEGIN    wld_:=w┆
0x3da60…3da80            6c 64 5f 61 72 72 28 2e 6e 6f 2e 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45   ┆ld_arr(.no.);  END;    PROCEDURE┆
0x3da80…3daa0            20 63 6c 65 61 72 3b 0d 0a 56 41 52 20 69 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 73 74 72   ┆ clear;  VAR i : INTEGER;    str┆
0x3daa0…3dac0            3a 20 73 74 72 38 30 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 20 44 4f 0d   ┆: str80;  BEGIN    WITH Wnd_ DO ┆
0x3dac0…3dae0            0a 20 20 20 20 49 46 20 74 78 74 5f 6d 6f 64 65 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20   ┆     IF txt_mode THEN BEGIN     ┆
0x3dae0…3db00            20 20 20 73 74 72 3a 3d 73 70 63 28 74 78 74 6d 61 78 78 2b 31 2c 27 20 27 29 3b 0d 0a 20 20 20   ┆   str:=spc(txtmaxx+1,' ');     ┆
0x3db00…3db20            20 20 20 46 4f 52 20 69 3a 3d 30 20 54 4f 20 74 78 74 6d 61 78 79 20 44 4f 0d 0a 20 20 20 20 20   ┆   FOR i:=0 TO txtmaxy DO       ┆
0x3db20…3db40            20 20 20 64 72 61 77 73 74 72 28 30 2c 69 2c 73 74 72 29 3b 0d 0a 20 20 20 20 45 4e 44 0d 0a 20   ┆   drawstr(0,i,str);      END   ┆
0x3db40…3db60            20 20 20 45 4c 53 45 0d 0a 20 20 20 20 20 20 53 63 72 5f 46 69 6c 6c 28 78 31 2c 20 79 31 2c 20   ┆   ELSE        Scr_Fill(x1, y1, ┆
0x3db60…3db80            78 31 2b 4d 61 78 58 2c 20 79 31 20 2b 20 6d 61 78 59 20 2c 62 61 63 6b 63 6f 6c 6f 72 29 3b 0d   ┆x1+MaxX, y1 + maxY ,backcolor); ┆
0x3db80…3dba0            0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 44 72 61 77 42 6f 78 28 78 31 2c 20 79   ┆ END;    PROCEDURE DrawBox(x1, y┆
0x3dba0…3dbc0            31 2c 20 78 32 2c 20 79 32 20 3a 20 52 45 41 4c 29 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20   ┆1, x2, y2 : REAL);    BEGIN     ┆
0x3dbc0…3dbe0            20 57 6e 64 5f 44 72 61 77 42 6f 78 28 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 78 31 29 2c   ┆ Wnd_DrawBox(_Wld_ToWindowX(x1),┆
0x3dbe0…3dc00            20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 59 28 79 31 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆ _Wld_ToWindowY(y1),            ┆
0x3dc00…3dc20 (24, 1, 3) 20 20 20 20 20 20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 78 32 29 2c 20 5f 57 6c 64 5f 54   ┆      _Wld_ToWindowX(x2), _Wld_T┆
0x3dc20…3dc40            6f 57 69 6e 64 6f 77 59 28 79 32 29 29 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55   ┆oWindowY(y2))    END;    PROCEDU┆
0x3dc40…3dc60            52 45 20 76 69 65 77 70 6f 72 74 63 6f 6c 6f 72 28 6e 6f 2c 20 66 63 6f 6c 6f 72 2c 20 62 63 6f   ┆RE viewportcolor(no, fcolor, bco┆
0x3dc60…3dc80            6c 6f 72 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 49 54 48 20 57 6e   ┆lor: INTEGER);  BEGIN    WITH Wn┆
0x3dc80…3dca0            64 5f 61 72 72 28 2e 6e 6f 2e 29 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 70 65 6e 63   ┆d_arr(.no.) DO BEGIN        penc┆
0x3dca0…3dcc0            6f 6c 6f 72 3a 3d 66 63 6f 6c 6f 72 3b 0d 0a 20 20 20 20 20 20 62 61 63 6b 63 6f 6c 6f 72 3a 3d   ┆olor:=fcolor;        backcolor:=┆
0x3dcc0…3dce0            62 63 6f 6c 6f 72 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45   ┆bcolor;      END;  END;    PROCE┆
0x3dce0…3dd00            44 55 52 45 20 74 65 78 74 76 69 65 77 70 6f 72 74 63 6f 6c 6f 72 28 6e 6f 2c 20 66 63 6f 6c 6f   ┆DURE textviewportcolor(no, fcolo┆
0x3dd00…3dd20            72 2c 20 62 63 6f 6c 6f 72 3a 20 42 59 54 45 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 6e 64 5f   ┆r, bcolor: BYTE);  BEGIN    Wnd_┆
0x3dd20…3dd40            70 61 6c 65 74 74 65 28 2e 6e 6f 2e 29 3a 3d 66 63 6f 6c 6f 72 2b 28 62 63 6f 6c 6f 72 20 53 48   ┆palette(.no.):=fcolor+(bcolor SH┆
0x3dd40…3dd60            4c 20 34 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 76 69 65 77 70 6f 72   ┆L 4);  END;    PROCEDURE viewpor┆
0x3dd60…3dd80            74 68 65 61 64 65 72 28 6e 6f 3a 20 49 4e 54 45 47 45 52 3b 20 68 3a 20 73 74 72 38 30 29 3b 0d   ┆theader(no: INTEGER; h: str80); ┆
0x3dd80…3dda0            0a 42 45 47 49 4e 0d 0a 20 20 57 6e 64 5f 61 72 72 28 2e 6e 6f 2e 29 2e 68 64 72 3a 3d 68 3b 0d   ┆ BEGIN    Wnd_arr(.no.).hdr:=h; ┆
0x3dda0…3ddc0            0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 76 69 65 77 70 6f 72 74 28 6e 6f 2c 20   ┆ END;    PROCEDURE viewport(no, ┆
0x3ddc0…3dde0            78 78 31 2c 20 78 78 32 2c 20 79 79 31 2c 20 79 79 32 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56   ┆xx1, xx2, yy1, yy2: INTEGER);  V┆
0x3dde0…3de00            41 52 20 63 68 3a 20 43 48 41 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 78 78 31 20 3a 3d 20 28 78   ┆AR ch: CHAR;  BEGIN    xx1 := (x┆
0x3de00…3de20            78 31 20 2b 20 37 29 20 41 4e 44 20 24 66 66 66 38 3b 0d 0a 20 20 78 78 32 20 3a 3d 20 28 28 78   ┆x1 + 7) AND $fff8;    xx2 := ((x┆
0x3de20…3de40            78 32 20 2b 20 37 29 20 41 4e 44 20 24 66 66 66 38 29 2d 31 3b 0d 0a 20 20 49 46 20 78 78 31 3c   ┆x2 + 7) AND $fff8)-1;    IF xx1<┆
0x3de40…3de60            30 20 54 48 45 4e 20 78 78 31 3a 3d 30 3b 0d 0a 20 20 49 46 20 78 78 32 3e 53 63 72 5f 6d 61 78   ┆0 THEN xx1:=0;    IF xx2>Scr_max┆
0x3de60…3de80            78 20 54 48 45 4e 20 78 78 32 3a 3d 53 63 72 5f 6d 61 78 78 3b 0d 0a 20 20 49 46 20 79 79 31 3c   ┆x THEN xx2:=Scr_maxx;    IF yy1<┆
0x3de80…3dea0            30 20 54 48 45 4e 20 79 79 31 3a 3d 30 3b 0d 0a 20 20 49 46 20 79 79 32 3e 53 63 72 5f 6d 61 78   ┆0 THEN yy1:=0;    IF yy2>Scr_max┆
0x3dea0…3dec0            79 20 54 48 45 4e 20 79 79 32 3a 3d 53 63 72 5f 6d 61 78 79 3b 0d 0a 20 20 49 46 20 79 79 31 3e   ┆y THEN yy2:=Scr_maxy;    IF yy1>┆
0x3dec0…3dee0            79 79 32 20 54 48 45 4e 20 73 77 61 70 28 79 79 31 2c 79 79 32 29 3b 0d 0a 20 20 49 46 20 78 78   ┆yy2 THEN swap(yy1,yy2);    IF xx┆
0x3dee0…3df00            31 3e 78 78 32 20 54 48 45 4e 20 73 77 61 70 28 78 78 31 2c 79 79 31 29 3b 0d 0a 20 20 57 49 54   ┆1>xx2 THEN swap(xx1,yy1);    WIT┆
0x3df00…3df20            48 20 57 6e 64 5f 61 72 72 28 2e 6e 6f 2e 29 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 58 31   ┆H Wnd_arr(.no.) DO BEGIN      X1┆
0x3df20…3df40            20 3a 3d 20 78 78 31 3b 0d 0a 20 20 20 20 59 31 20 3a 3d 20 79 79 31 3b 0d 0a 20 20 20 20 4d 61   ┆ := xx1;      Y1 := yy1;      Ma┆
0x3df40…3df60            78 58 20 3a 3d 20 78 78 32 20 2d 20 78 78 31 20 3b 0d 0a 20 20 20 20 4d 61 78 59 20 3a 3d 20 79   ┆xX := xx2 - xx1 ;      MaxY := y┆
0x3df60…3df80            79 32 20 2d 20 79 79 31 20 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43   ┆y2 - yy1 ;    END;  END;    PROC┆
0x3df80…3dfa0            45 44 55 52 45 20 74 65 78 74 76 69 65 77 70 6f 72 74 28 6e 6f 2c 20 78 78 31 2c 20 78 78 32 2c   ┆EDURE textviewport(no, xx1, xx2,┆
0x3dfa0…3dfc0            20 79 79 31 2c 20 79 79 32 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 49   ┆ yy1, yy2: INTEGER);  BEGIN    I┆
0x3dfc0…3dfe0            46 20 78 78 32 3c 78 78 31 20 54 48 45 4e 20 68 61 6c 74 3b 0d 0a 20 20 49 46 20 79 79 32 3c 79   ┆F xx2<xx1 THEN halt;    IF yy2<y┆
0x3dfe0…3e000            79 31 20 54 48 45 4e 20 68 61 6c 74 3b 0d 0a 20 20 49 46 20 78 78 31 3c 30 20 54 48 45 4e 20 78   ┆y1 THEN halt;    IF xx1<0 THEN x┆
0x3e000…3e020 (24, 1, 4) 78 31 3a 3d 30 3b 0d 0a 20 20 49 46 20 79 79 31 3c 30 20 54 48 45 4e 20 79 79 31 3a 3d 30 3b 0d   ┆x1:=0;    IF yy1<0 THEN yy1:=0; ┆
0x3e020…3e040            0a 20 20 49 46 20 78 78 32 3e 54 78 74 5f 6d 61 78 78 20 54 48 45 4e 20 78 78 32 3a 3d 54 78 74   ┆   IF xx2>Txt_maxx THEN xx2:=Txt┆
0x3e040…3e060            5f 6d 61 78 78 3b 0d 0a 20 20 49 46 20 79 79 32 3e 54 78 74 5f 6d 61 78 79 20 54 48 45 4e 20 79   ┆_maxx;    IF yy2>Txt_maxy THEN y┆
0x3e060…3e080            79 32 3a 3d 54 78 74 5f 6d 61 78 79 3b 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 61 72 72 28 2e 6e   ┆y2:=Txt_maxy;    WITH Wnd_arr(.n┆
0x3e080…3e0a0            6f 2e 29 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 74 78 74 78 31 3a 3d 78 78 31 3b 0d 0a 20   ┆o.) DO BEGIN      txtx1:=xx1;   ┆
0x3e0a0…3e0c0            20 20 20 74 78 74 79 31 3a 3d 79 79 31 3b 0d 0a 20 20 20 20 74 78 74 6d 61 78 78 3a 3d 78 78 32   ┆   txty1:=yy1;      txtmaxx:=xx2┆
0x3e0c0…3e0e0            2d 78 78 31 3b 0d 0a 20 20 20 20 74 78 74 6d 61 78 79 3a 3d 79 79 32 2d 79 79 31 3b 0d 0a 20 20   ┆-xx1;      txtmaxy:=yy2-yy1;    ┆
0x3e0e0…3e100            45 4e 44 3b 0d 0a 20 20 76 69 65 77 70 6f 72 74 28 6e 6f 2c 78 78 31 2a 38 2c 78 78 32 2a 38 2b   ┆END;    viewport(no,xx1*8,xx2*8+┆
0x3e100…3e120            37 2c 53 63 72 5f 6d 61 78 79 2d 28 28 79 79 32 2a 38 29 2b 37 29 2c 53 63 72 5f 6d 61 78 79 2d   ┆7,Scr_maxy-((yy2*8)+7),Scr_maxy-┆
0x3e120…3e140            28 79 79 31 2a 38 29 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 73 65 6c   ┆(yy1*8));  END;    PROCEDURE sel┆
0x3e140…3e160            65 63 74 76 69 65 77 70 6f 72 74 28 6e 6f 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e   ┆ectviewport(no: INTEGER);  BEGIN┆
0x3e160…3e180            0d 0a 20 20 57 6e 64 5f 3a 3d 57 6e 64 5f 61 72 72 28 2e 6e 6f 2e 29 3b 0d 0a 20 20 57 6e 64 5f   ┆    Wnd_:=Wnd_arr(.no.);    Wnd_┆
0x3e180…3e1a0            61 63 74 75 61 6c 3a 3d 6e 6f 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 47   ┆actual:=no;  END;    PROCEDURE G┆
0x3e1a0…3e1c0            72 61 70 68 69 63 53 63 72 65 65 6e 28 74 79 70 20 3a 53 63 72 5f 54 59 50 45 29 3b 0d 0a 20 20   ┆raphicScreen(typ :Scr_TYPE);    ┆
0x3e1c0…3e1e0            56 41 52 20 69 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 74 78   ┆VAR i: INTEGER;    BEGIN      tx┆
0x3e1e0…3e200            74 5f 6d 6f 64 65 3a 3d 74 72 75 65 3b 0d 0a 20 20 20 20 65 68 6f 66 73 3a 3d 6f 66 73 28 74 65   ┆t_mode:=true;      ehofs:=ofs(te┆
0x3e200…3e220            78 74 6d 6f 64 65 29 3b 0d 0a 20 20 20 20 6d 61 72 6b 28 53 63 72 5f 42 45 47 49 4e 29 3b 0d 0a   ┆xtmode);      mark(Scr_BEGIN);  ┆
0x3e220…3e240            20 20 20 20 67 72 61 70 68 5f 54 59 50 45 3a 3d 74 79 70 3b 0d 0a 20 20 20 20 69 6e 69 74 5f 67   ┆    graph_TYPE:=typ;      init_g┆
0x3e240…3e260            72 61 70 68 69 63 73 28 74 79 70 29 3b 0d 0a 20 20 20 20 69 6e 69 74 5f 74 65 78 74 3b 0d 0a 20   ┆raphics(typ);      init_text;   ┆
0x3e260…3e280            20 20 20 46 4f 52 20 69 3a 3d 31 20 54 4f 20 57 6e 64 5f 6d 61 78 20 44 4f 20 42 45 47 49 4e 0d   ┆   FOR i:=1 TO Wnd_max DO BEGIN ┆
0x3e280…3e2a0            0a 20 20 20 20 20 20 74 65 78 74 76 69 65 77 70 6f 72 74 28 69 2c 30 2c 37 39 2c 30 2c 32 34 29   ┆       textviewport(i,0,79,0,24)┆
0x3e2a0…3e2c0            3b 0d 0a 20 20 20 20 20 20 74 65 78 74 76 69 65 77 70 6f 72 74 63 6f 6c 6f 72 28 69 2c 77 68 69   ┆;        textviewportcolor(i,whi┆
0x3e2c0…3e2e0            74 65 74 78 74 2c 62 6c 61 63 6b 74 78 74 29 3b 0d 0a 20 20 20 20 20 20 76 69 65 77 70 6f 72 74   ┆tetxt,blacktxt);        viewport┆
0x3e2e0…3e300            28 69 2c 30 2c 20 53 63 72 5f 4d 61 78 58 2c 20 30 2c 20 53 63 72 5f 4d 61 78 59 29 3b 0d 0a 20   ┆(i,0, Scr_MaxX, 0, Scr_MaxY);   ┆
0x3e300…3e320            20 20 20 20 20 77 69 6e 64 6f 77 28 69 2c 30 2e 30 2c 20 53 63 72 5f 4d 61 78 58 2c 20 30 2e 30   ┆     window(i,0.0, Scr_MaxX, 0.0┆
0x3e320…3e340            2c 20 53 63 72 5f 4d 61 78 59 29 3b 0d 0a 20 20 20 20 20 20 76 69 65 77 70 6f 72 74 63 6f 6c 6f   ┆, Scr_MaxY);        viewportcolo┆
0x3e340…3e360            72 28 69 2c 77 68 69 74 65 2c 62 6c 61 63 6b 29 3b 0d 0a 20 20 20 20 20 20 57 49 54 48 20 73 61   ┆r(i,white,black);        WITH sa┆
0x3e360…3e380            76 65 5f 61 72 72 28 2e 69 2e 29 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 63 6f   ┆ve_arr(.i.) DO BEGIN          co┆
0x3e380…3e3a0            6e 74 65 6e 74 3a 3d 4e 49 4c 3b 20 0d 0a 20 20 20 20 20 20 20 20 6c 65 6e 67 74 68 3a 3d 30 3b   ┆ntent:=NIL;           length:=0;┆
0x3e3a0…3e3c0            20 0d 0a 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 20 20 57 6e 64 5f 61 72 72 28 2e 69 2e   ┆         END;        Wnd_arr(.i.┆
0x3e3c0…3e3e0            29 2e 68 64 72 3a 3d 27 27 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 73 65 6c 65 63 74   ┆).hdr:='';      END;      select┆
0x3e3e0…3e400            76 69 65 77 70 6f 72 74 28 31 29 3b 0d 0a 20 20 20 20 73 65 6c 65 63 74 77 69 6e 64 6f 77 28 31   ┆viewport(1);      selectwindow(1┆
0x3e400…3e420 (24, 1, 5) 29 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 42 6f 78 57 69 6e 64 6f 77   ┆)    END;    PROCEDURE BoxWindow┆
0x3e420…3e440            3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 6e 64 5f 44 72 61 77 42 6f 78 28 30 2c 20 30 2c 20 57 6e   ┆;  BEGIN    Wnd_DrawBox(0, 0, Wn┆
0x3e440…3e460            64 5f 2e 4d 61 78 58 2c 20 57 6e 64 5f 2e 4d 61 78 59 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52   ┆d_.MaxX, Wnd_.MaxY);  END;    PR┆
0x3e460…3e480            4f 43 45 44 55 52 45 20 64 72 61 77 68 65 61 64 65 72 3b 0d 0a 56 41 52 0d 0a 20 20 69 2c 6f 6c   ┆OCEDURE drawheader;  VAR    i,ol┆
0x3e480…3e4a0            64 63 6f 6c 6f 72 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 49 54 48 20   ┆dcolor: INTEGER;  BEGIN    WITH ┆
0x3e4a0…3e4c0            57 6e 64 5f 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 49 46 20 68 64 72 3c 3e 27 27 20 54 48   ┆Wnd_ DO BEGIN      IF hdr<>'' TH┆
0x3e4c0…3e4e0            45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 69 3a 3d 28 6d 61 78 78 20 44 49 56 20 38 20 2d   ┆EN BEGIN        i:=(maxx DIV 8 -┆
0x3e4e0…3e500            20 6c 65 6e 28 68 64 72 29 29 20 44 49 56 20 32 3b 0d 0a 20 20 20 20 20 20 49 46 20 69 3c 30 20   ┆ len(hdr)) DIV 2;        IF i<0 ┆
0x3e500…3e520            54 48 45 4e 20 69 3a 3d 30 3b 0d 0a 20 20 20 20 20 20 53 63 72 5f 66 69 6c 6c 28 78 31 2c 79 31   ┆THEN i:=0;        Scr_fill(x1,y1┆
0x3e520…3e540            2b 6d 61 78 79 2d 31 30 2c 78 31 2b 6d 61 78 78 2c 79 31 2b 6d 61 78 79 2c 24 46 46 29 3b 0d 0a   ┆+maxy-10,x1+maxx,y1+maxy,$FF);  ┆
0x3e540…3e560            20 20 20 20 20 20 6f 6c 64 63 6f 6c 6f 72 3a 3d 70 65 6e 63 6f 6c 6f 72 3b 0d 0a 20 20 20 20 20   ┆      oldcolor:=pencolor;       ┆
0x3e560…3e580            20 70 65 6e 63 6f 6c 6f 72 3a 3d 62 6c 61 63 6b 3b 0d 0a 20 20 20 20 20 20 57 6e 64 5f 64 72 61   ┆ pencolor:=black;        Wnd_dra┆
0x3e580…3e5a0            77 62 6f 78 28 30 2c 6d 61 78 79 2d 31 30 2c 6d 61 78 78 2c 6d 61 78 79 29 3b 0d 0a 20 20 20 20   ┆wbox(0,maxy-10,maxx,maxy);      ┆
0x3e5a0…3e5c0            20 20 6d 61 78 79 3a 3d 6d 61 78 79 2d 32 3b 0d 0a 20 20 20 20 20 20 44 72 61 77 53 74 72 28 69   ┆  maxy:=maxy-2;        DrawStr(i┆
0x3e5c0…3e5e0            2c 30 2c 68 64 72 29 3b 0d 0a 20 20 20 20 20 20 6d 61 78 79 3a 3d 6d 61 78 79 2d 38 3b 0d 0a 20   ┆,0,hdr);        maxy:=maxy-8;   ┆
0x3e5e0…3e600            20 20 20 20 20 70 65 6e 63 6f 6c 6f 72 3a 3d 6f 6c 64 63 6f 6c 6f 72 3b 0d 0a 20 20 20 20 45 4e   ┆     pencolor:=oldcolor;      EN┆
0x3e600…3e620            44 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 64 72   ┆D;    END;  END;    PROCEDURE dr┆
0x3e620…3e640            61 77 66 72 61 6d 65 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 20 44 4f 20   ┆awframe;  BEGIN    WITH Wnd_ DO ┆
0x3e640…3e660            42 45 47 49 4e 0d 0a 20 20 20 20 64 72 61 77 68 65 61 64 65 72 3b 0d 0a 20 20 20 20 57 6e 64 5f   ┆BEGIN      drawheader;      Wnd_┆
0x3e660…3e680            44 72 61 77 42 6f 78 28 30 2c 20 30 2c 20 4d 61 78 58 2c 20 4d 61 78 59 29 3b 0d 0a 20 20 20 20   ┆DrawBox(0, 0, MaxX, MaxY);      ┆
0x3e680…3e6a0            78 31 3a 3d 78 31 2b 31 3b 0d 0a 20 20 20 20 79 31 3a 3d 79 31 2b 31 3b 0d 0a 20 20 20 20 6d 61   ┆x1:=x1+1;      y1:=y1+1;      ma┆
0x3e6a0…3e6c0            78 79 3a 3d 6d 61 78 79 2d 32 3b 0d 0a 20 20 20 20 6d 61 78 78 3a 3d 6d 61 78 78 2d 32 3b 0d 0a   ┆xy:=maxy-2;      maxx:=maxx-2;  ┆
0x3e6c0…3e6e0            20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 67 6f 74 6f 74 78   ┆  END;  END;    PROCEDURE gototx┆
0x3e6e0…3e700            74 28 78 2c 79 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 67 6f 74 6f 78   ┆t(x,y: INTEGER);  BEGIN    gotox┆
0x3e700…3e720            79 28 78 2c 79 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 7b 50 52 4f 43 45 44 55 52 45 20 67 6f 74 6f   ┆y(x,y);  END;    æPROCEDURE goto┆
0x3e720…3e740            78 79 28 78 2c 79 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 67 6f 74 6f   ┆xy(x,y: INTEGER);  BEGIN    goto┆
0x3e740…3e760            74 78 74 28 78 2b 57 6e 64 5f 2e 74 78 74 78 31 2c 79 2b 57 6e 64 5f 2e 74 78 74 79 31 29 3b 0d   ┆txt(x+Wnd_.txtx1,y+Wnd_.txty1); ┆
0x3e760…3e780            0a 45 4e 44 3b 0d 0a 7d 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 77 72 69 74 65 66 72 61 6d 65   ┆ END;  å    PROCEDURE writeframe┆
0x3e780…3e7a0            3b 0d 0a 56 41 52 0d 0a 20 20 69 2c 6c 68 2c 6c 78 2c 6c 79 3a 20 49 4e 54 45 47 45 52 3b 0d 0a   ┆;  VAR    i,lh,lx,ly: INTEGER;  ┆
0x3e7a0…3e7c0            20 20 73 3a 20 73 74 72 38 30 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 20   ┆  s: str80;  BEGIN    WITH Wnd_ ┆
0x3e7c0…3e7e0            44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 6c 78 3a 3d 74 78 74 6d 61 78 78 3b 20 6c 79 3a 3d 74   ┆DO BEGIN      lx:=txtmaxx; ly:=t┆
0x3e7e0…3e800            78 74 6d 61 78 79 3b 20 6c 68 3a 3d 28 28 6c 78 2b 32 29 2d 6c 65 6e 28 68 64 72 29 29 20 44 49   ┆xtmaxy; lh:=((lx+2)-len(hdr)) DI┆
0x3e800…3e820 (25, 0, 1) 56 20 32 2b 31 3b 0d 0a 20 20 20 20 73 3a 3d 27 c9 27 2b 73 70 63 28 6c 78 2d 31 2c 27 cd 27 29   ┆V 2+1;      s:=' '+spc(lx-1,' ')┆
0x3e820…3e840            2b 27 bb 27 3b 0d 0a 20 20 20 20 6d 6f 76 65 28 68 64 72 28 2e 31 2e 29 2c 73 28 2e 6c 68 2e 29   ┆+' ';      move(hdr(.1.),s(.lh.)┆
0x3e840…3e860            2c 6c 65 6e 28 68 64 72 29 29 3b 0d 0a 20 20 20 20 64 72 61 77 73 74 72 28 30 2c 30 2c 73 29 3b   ┆,len(hdr));      drawstr(0,0,s);┆
0x3e860…3e880            0d 0a 20 20 20 20 73 3a 3d 27 ba 27 2b 73 70 63 28 6c 78 2d 31 2c 27 20 27 29 2b 27 ba 27 3b 0d   ┆      s:=' '+spc(lx-1,' ')+' '; ┆
0x3e880…3e8a0            0a 20 20 20 20 46 4f 52 20 69 3a 3d 31 20 54 4f 20 6c 79 2d 31 20 44 4f 20 64 72 61 77 73 74 72   ┆     FOR i:=1 TO ly-1 DO drawstr┆
0x3e8a0…3e8c0            28 30 2c 69 2c 73 29 3b 0d 0a 20 20 20 20 64 72 61 77 73 74 72 28 30 2c 6c 79 2c 27 c8 27 2b 73   ┆(0,i,s);      drawstr(0,ly,' '+s┆
0x3e8c0…3e8e0            70 63 28 6c 78 2d 31 2c 27 cd 27 29 2b 27 bc 27 29 3b 0d 0a 20 20 20 20 74 78 74 78 31 3a 3d 73   ┆pc(lx-1,' ')+' ');      txtx1:=s┆
0x3e8e0…3e900            75 63 63 28 74 78 74 78 31 29 3b 74 78 74 6d 61 78 78 3a 3d 74 78 74 6d 61 78 78 2d 32 3b 0d 0a   ┆ucc(txtx1);txtmaxx:=txtmaxx-2;  ┆
0x3e900…3e920            20 20 20 20 74 78 74 79 31 3a 3d 73 75 63 63 28 74 78 74 79 31 29 3b 74 78 74 6d 61 78 79 3a 3d   ┆    txty1:=succ(txty1);txtmaxy:=┆
0x3e920…3e940            74 78 74 6d 61 78 79 2d 32 3b 0d 0a 20 20 20 20 78 31 3a 3d 78 31 2b 38 3b 6d 61 78 78 3a 3d 6d   ┆txtmaxy-2;      x1:=x1+8;maxx:=m┆
0x3e940…3e960            61 78 78 2d 31 36 3b 0d 0a 20 20 20 20 79 31 3a 3d 79 31 2b 38 3b 6d 61 78 79 3a 3d 6d 61 78 79   ┆axx-16;      y1:=y1+8;maxy:=maxy┆
0x3e960…3e980            2d 31 36 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 20 20 0d 0a 50 52 4f 43 45 44 55 52   ┆-16;    END;  END;      PROCEDUR┆
0x3e980…3e9a0            45 20 42 49 54 42 49 54 28 4f 6c 64 42 79 74 65 3a 42 79 74 65 3b 56 41 52 20 4e 65 77 62 79 74   ┆E BITBIT(OldByte:Byte;VAR Newbyt┆
0x3e9a0…3e9c0            65 3a 20 62 79 74 65 29 3b 0d 0a 76 61 72 20 20 0d 0a 20 20 62 69 74 3a 20 62 79 74 65 3b 0d 0a   ┆e: byte);  var      bit: byte;  ┆
0x3e9c0…3e9e0            20 20 6a 2c 69 2c 6e 3a 69 6e 74 65 67 65 72 3b 0d 0a 0d 0a 42 45 47 49 4e 0d 0a 20 20 4e 65 77   ┆  j,i,n:integer;    BEGIN    New┆
0x3e9e0…3ea00            42 79 74 65 3a 3d 24 30 30 3b 0d 0a 20 20 66 6f 72 20 6a 3a 3d 20 31 20 74 6f 20 34 20 64 6f 0d   ┆Byte:=$00;    for j:= 1 to 4 do ┆
0x3ea00…3ea20            0a 20 20 62 65 67 69 6e 0d 0a 20 20 20 20 63 61 73 65 20 6a 20 6f 66 0d 0a 20 20 20 20 31 3a 20   ┆   begin      case j of      1: ┆
0x3ea20…3ea40            6e 3a 3d 31 3b 0d 0a 20 20 20 20 32 3a 20 6e 3a 3d 32 3b 0d 0a 20 20 20 20 33 3a 20 6e 3a 3d 34   ┆n:=1;      2: n:=2;      3: n:=4┆
0x3ea40…3ea60            3b 0d 0a 20 20 20 20 34 3a 20 6e 3a 3d 38 3b 0d 0a 20 20 20 20 65 6e 64 3b 0d 0a 20 20 20 20 42   ┆;      4: n:=8;      end;      B┆
0x3ea60…3ea80            69 74 3a 3d 4f 6c 64 62 79 74 65 20 41 4e 44 20 6e 3b 0d 0a 20 20 20 20 42 69 74 3a 3d 42 69 74   ┆it:=Oldbyte AND n;      Bit:=Bit┆
0x3ea80…3eaa0            20 53 48 4c 20 6a 3b 0d 0a 20 20 20 20 4e 65 77 62 79 74 65 3a 3d 4e 65 77 62 79 74 65 20 4f 52   ┆ SHL j;      Newbyte:=Newbyte OR┆
0x3eaa0…3eac0            20 42 69 74 3b 0d 0a 20 20 20 20 42 69 74 3a 3d 42 69 74 20 53 48 52 20 31 3b 0d 0a 20 20 20 20   ┆ Bit;      Bit:=Bit SHR 1;      ┆
0x3eac0…3eae0            4e 65 77 62 79 74 65 3a 3d 4e 65 77 62 79 74 65 20 4f 52 20 42 69 74 3b 0d 0a 20 20 65 6e 64 3b   ┆Newbyte:=Newbyte OR Bit;    end;┆
0x3eae0…3eb00            0d 0a 65 6e 64 3b 0d 0a 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 63 72 5f 64 75 6d 70 28 6d   ┆  end;      PROCEDURE Scr_dump(m┆
0x3eb00…3eb20            6f 64 65 3a 70 72 6e 5f 54 59 50 45 29 3b 0d 0a 56 41 52 0d 0a 20 20 70 72 69 6e 74 65 72 3a 20   ┆ode:prn_TYPE);  VAR    printer: ┆
0x3eb20…3eb40            74 65 78 74 3b 0d 0a 20 20 69 2c 6a 2c 6b 2c 6b 31 2c 73 6d 61 78 2c 74 6d 61 78 3a 20 49 4e 54   ┆text;    i,j,k,k1,smax,tmax: INT┆
0x3eb40…3eb60            45 47 45 52 3b 0d 0a 20 20 69 6e 69 74 5f 63 68 3a 20 53 54 52 49 4e 47 28 2e 36 2e 29 3b 0d 0a   ┆EGER;    init_ch: STRING(.6.);  ┆
0x3eb60…3eb80            20 20 67 72 5f 73 74 72 3a 20 53 54 52 49 4e 47 28 2e 34 2e 29 3b 0d 0a 0d 0a 20 20 63 68 3a 20   ┆  gr_str: STRING(.4.);      ch: ┆
0x3eb80…3eba0            63 68 61 72 3b 0d 0a 20 20 48 69 67 68 43 48 2c 4c 6f 77 43 48 3a 20 62 79 74 65 3b 0d 0a 20 20   ┆char;    HighCH,LowCH: byte;    ┆
0x3eba0…3ebc0            48 69 67 68 42 79 74 65 2c 4c 6f 77 42 79 74 65 3a 20 62 79 74 65 3b 0d 0a 20 20 62 69 74 6d 6f   ┆HighByte,LowByte: byte;    bitmo┆
0x3ebc0…3ebe0            64 65 3a 20 63 68 61 72 3b 0d 0a 20 20 0d 0a 42 45 47 49 4e 0d 0a 20 20 61 73 73 69 67 6e 28 70   ┆de: char;      BEGIN    assign(p┆
0x3ebe0…3ec00            72 69 6e 74 65 72 2c 27 6c 73 74 3a 27 29 3b 0d 0a 20 20 72 65 73 65 74 28 70 72 69 6e 74 65 72   ┆rinter,'lst:');    reset(printer┆
0x3ec00…3ec20 (25, 0, 2) 29 3b 0d 0a 20 20 49 46 20 69 6f 72 65 73 3c 3e 30 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20   ┆);    IF iores<>0 THEN exit;    ┆
0x3ec20…3ec40            49 46 20 6d 6f 64 65 20 69 6e 20 28 2e 4e 45 43 5f 31 36 62 69 74 2e 29 20 74 68 65 6e 0d 0a 20   ┆IF mode in (.NEC_16bit.) then   ┆
0x3ec40…3ec60            20 62 65 67 69 6e 0d 0a 20 20 20 20 6b 31 3a 3d 32 3b 0d 0a 20 20 20 20 62 69 74 6d 6f 64 65 3a   ┆ begin      k1:=2;      bitmode:┆
0x3ec60…3ec80            3d 27 49 27 3b 0d 0a 20 20 77 72 69 74 65 6c 6e 28 27 31 36 20 62 69 74 27 29 3b 0d 0a 20 20 65   ┆='I';    writeln('16 bit');    e┆
0x3ec80…3eca0            6e 64 20 65 6c 73 65 0d 0a 20 20 62 65 67 69 6e 0d 0a 20 20 20 20 6b 31 3a 3d 32 3b 0d 0a 20 20   ┆nd else    begin      k1:=2;    ┆
0x3eca0…3ecc0            20 20 62 69 74 6d 6f 64 65 3a 3d 27 53 27 3b 0d 0a 20 20 77 72 69 74 65 6c 6e 28 27 20 38 20 62   ┆  bitmode:='S';    writeln(' 8 b┆
0x3ecc0…3ece0            69 74 27 29 3b 0d 0a 20 20 65 6e 64 3b 20 20 20 20 0d 0a 20 20 73 6d 61 78 3a 3d 28 53 63 72 5f   ┆it');    end;        smax:=(Scr_┆
0x3ece0…3ed00            6d 61 78 79 2b 31 29 2a 6b 31 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 77 72 69 74 65 6c   ┆maxy+1)*k1;    BEGIN      writel┆
0x3ed00…3ed20            6e 28 70 72 69 6e 74 65 72 2c 63 68 72 28 32 37 29 2b 27 54 31 36 27 2b 63 68 72 28 32 37 29 2b   ┆n(printer,chr(27)+'T16'+chr(27)+┆
0x3ed20…3ed40            27 3e 27 2b 63 68 72 28 32 37 29 2b 27 4e 27 29 3b 0d 0a 20 20 20 20 73 74 72 28 73 6d 61 78 3a   ┆'>'+chr(27)+'N');      str(smax:┆
0x3ed40…3ed60            34 2c 67 72 5f 73 74 72 29 3b 0d 0a 20 20 20 20 46 4f 52 20 69 3a 3d 31 20 54 4f 20 34 20 44 4f   ┆4,gr_str);      FOR i:=1 TO 4 DO┆
0x3ed60…3ed80            20 49 46 20 67 72 5f 73 74 72 28 2e 69 2e 29 3d 27 20 27 20 54 48 45 4e 20 67 72 5f 73 74 72 28   ┆ IF gr_str(.i.)=' ' THEN gr_str(┆
0x3ed80…3eda0            2e 69 2e 29 3a 3d 27 30 27 3b 0d 0a 20 20 20 20 69 6e 69 74 5f 63 68 3a 3d 63 68 72 28 32 37 29   ┆.i.):='0';      init_ch:=chr(27)┆
0x3eda0…3edc0            2b 62 69 74 6d 6f 64 65 2b 67 72 5f 73 74 72 3b 20 74 6d 61 78 3a 3d 74 78 74 5f 6d 61 78 78 3b   ┆+bitmode+gr_str; tmax:=txt_maxx;┆
0x3edc0…3ede0            0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 46 4f 52 20 69 3a 3d 30 20 54 4f 20 74 78 74 5f 6d 61 78 78   ┆    END;    FOR i:=0 TO txt_maxx┆
0x3ede0…3ee00            20 20 44 4f 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 77 72 69 74 65 28 70 72 69 6e 74 65 72   ┆  DO    BEGIN      write(printer┆
0x3ee00…3ee20            2c 69 6e 69 74 5f 63 68 29 3b 0d 0a 20 20 20 20 46 4f 52 20 6a 3a 3d 53 63 72 5f 6d 61 78 79 20   ┆,init_ch);      FOR j:=Scr_maxy ┆
0x3ee20…3ee40            44 4f 57 4e 54 4f 20 30 20 44 4f 0d 0a 20 20 20 20 62 65 67 69 6e 0d 0a 20 20 20 20 20 20 4c 6f   ┆DOWNTO 0 DO      begin        Lo┆
0x3ee40…3ee60            77 62 79 74 65 3a 3d 24 30 30 3b 20 48 69 67 68 62 79 74 65 3a 3d 24 30 30 3b 20 0d 0a 20 20 20   ┆wbyte:=$00; Highbyte:=$00;      ┆
0x3ee60…3ee80            20 20 20 63 68 3a 3d 63 68 72 28 6d 65 6d 28 2e 53 63 72 5f 73 65 67 6d 3a 53 63 72 5f 79 61 64   ┆   ch:=chr(mem(.Scr_segm:Scr_yad┆
0x3ee80…3eea0            64 72 28 2e 6a 2e 29 2b 53 63 72 5f 78 61 64 64 72 28 2e 28 74 6d 61 78 2d 69 29 2a 38 2e 29 2e   ┆dr(.j.)+Scr_xaddr(.(tmax-i)*8.).┆
0x3eea0…3eec0            29 29 3b 0d 0a 20 20 20 20 20 20 69 66 20 62 69 74 6d 6f 64 65 3d 27 53 27 20 74 68 65 6e 0d 0a   ┆));        if bitmode='S' then  ┆
0x3eec0…3eee0            20 20 20 20 20 20 62 65 67 69 6e 0d 0a 20 20 20 20 20 20 20 20 77 72 69 74 65 28 70 72 69 6e 74   ┆      begin          write(print┆
0x3eee0…3ef00            65 72 2c 63 68 2c 63 68 29 3b 0d 0a 20 20 20 20 20 20 65 6e 64 20 65 6c 73 65 20 20 0d 0a 20 20   ┆er,ch,ch);        end else      ┆
0x3ef00…3ef20            20 20 20 20 62 65 67 69 6e 0d 0a 20 20 20 20 20 20 20 20 49 46 20 43 48 3e 40 30 20 54 48 45 4e   ┆    begin          IF CH>@0 THEN┆
0x3ef20…3ef40            0d 0a 20 20 20 20 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 20 20 48 69 67 68 43   ┆          BEGIN            HighC┆
0x3ef40…3ef60            48 3a 3d 6f 72 64 28 63 68 29 20 61 6e 64 20 24 66 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 48   ┆H:=ord(ch) and $f0;            H┆
0x3ef60…3ef80            69 67 68 43 48 3a 3d 48 69 67 68 43 48 20 73 68 72 20 34 3b 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆ighCH:=HighCH shr 4;            ┆
0x3ef80…3efa0            4c 6f 77 43 48 3a 3d 6f 72 64 28 63 68 29 20 61 6e 64 20 24 30 66 3b 0d 0a 20 20 20 20 20 20 20   ┆LowCH:=ord(ch) and $0f;         ┆
0x3efa0…3efc0            20 20 20 42 49 54 42 49 54 28 48 69 67 68 43 48 2c 48 69 67 68 42 79 74 65 29 3b 20 42 49 54 42   ┆   BITBIT(HighCH,HighByte); BITB┆
0x3efc0…3efe0            49 54 28 4c 6f 77 43 48 2c 4c 6f 77 42 79 74 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 45 4e 44 3b   ┆IT(LowCH,LowByte);          END;┆
0x3efe0…3f000            0d 0a 20 20 20 20 20 20 20 20 77 72 69 74 65 28 70 72 69 6e 74 65 72 2c 63 68 72 28 4c 6f 77 42   ┆          write(printer,chr(LowB┆
0x3f000…3f020 (25, 0, 3) 79 74 65 29 2c 63 68 72 28 48 69 67 68 42 79 74 65 29 2c 63 68 72 28 4c 6f 77 42 79 74 65 29 2c   ┆yte),chr(HighByte),chr(LowByte),┆
0x3f020…3f040            63 68 72 28 48 69 67 68 42 79 74 65 29 29 3b 0d 0a 20 20 20 20 20 20 65 6e 64 3b 0d 0a 20 20 20   ┆chr(HighByte));        end;     ┆
0x3f040…3f060            20 20 20 69 66 20 6b 65 79 70 72 65 73 73 20 74 68 65 6e 0d 0a 20 20 20 20 20 20 62 65 67 69 6e   ┆   if keypress then        begin┆
0x3f060…3f080            0d 0a 20 20 20 20 20 20 20 20 72 65 61 64 28 6b 62 64 2c 63 68 29 3b 0d 0a 20 20 20 20 20 20 20   ┆          read(kbd,ch);         ┆
0x3f080…3f0a0            20 72 65 61 64 28 6b 62 64 2c 63 68 29 3b 0d 0a 20 20 20 20 20 20 20 20 65 78 69 74 3b 0d 0a 20   ┆ read(kbd,ch);          exit;   ┆
0x3f0a0…3f0c0            20 20 20 20 20 65 6e 64 3b 0d 0a 20 20 20 20 65 6e 64 3b 0d 0a 20 20 20 20 77 72 69 74 65 6c 6e   ┆     end;      end;      writeln┆
0x3f0c0…3f0e0            28 70 72 69 6e 74 65 72 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 77 72 69 74 65 6c 6e 28 70 72   ┆(printer);    END;    writeln(pr┆
0x3f0e0…3f100            69 6e 74 65 72 2c 63 68 72 28 32 37 29 2b 27 2b 41 27 29 3b 0d 0a 20 20 63 6c 6f 73 65 28 70 72   ┆inter,chr(27)+'+A');    close(pr┆
0x3f100…3f120            69 6e 74 65 72 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 77 72 69 74 65   ┆inter);  END;    PROCEDURE write┆
0x3f120…3f140            68 65 6c 70 28 6e 6f 2c 77 2c 6c 3a 20 49 4e 54 45 47 45 52 3b 56 41 52 20 73 74 29 3b 0d 0a 56   ┆help(no,w,l: INTEGER;VAR st);  V┆
0x3f140…3f160            41 52 0d 0a 20 20 69 2c 6a 2c 6b 2c 61 63 74 75 61 6c 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20   ┆AR    i,j,k,actual : INTEGER;   ┆
0x3f160…3f180            20 73 74 72 09 3a 73 74 72 38 30 3b 0d 0a 20 20 73 74 72 6c 67 74 3a 62 79 74 65 20 41 54 20 73   ┆ str :str80;    strlgt:byte AT s┆
0x3f180…3f1a0            74 72 3b 0d 0a 20 20 63 68 3a 20 43 48 41 52 3b 0d 0a 20 20 77 69 6e 3a 20 57 6e 64 5f 54 59 50   ┆tr;    ch: CHAR;    win: Wnd_TYP┆
0x3f1a0…3f1c0            45 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 61 63 74 75 61 6c 3a 3d 57 6e 64 5f 61 63 74 75 61 6c 3b   ┆E;  BEGIN    actual:=Wnd_actual;┆
0x3f1c0…3f1e0            0d 0a 20 20 77 69 6e 3a 3d 57 6e 64 5f 3b 0d 0a 20 20 73 65 6c 65 63 74 76 69 65 77 70 6f 72 74   ┆    win:=Wnd_;    selectviewport┆
0x3f1e0…3f200            28 6e 6f 29 3b 0d 0a 20 20 73 61 76 65 76 69 65 77 70 6f 72 74 28 6e 6f 29 3b 0d 0a 20 20 77 72   ┆(no);    saveviewport(no);    wr┆
0x3f200…3f220            69 74 65 66 72 61 6d 65 3b 0d 0a 20 20 6b 3a 3d 30 3b 0d 0a 20 20 46 4f 52 20 69 3a 3d 31 20 54   ┆iteframe;    k:=0;    FOR i:=1 T┆
0x3f220…3f240            4f 20 6c 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 73 74 72 6c 67 74 3a 3d 6d 65 6d 28 2e 73   ┆O l DO BEGIN      strlgt:=mem(.s┆
0x3f240…3f260            65 67 28 73 74 29 3a 6f 66 73 28 73 74 29 2b 6b 2e 29 3b 0d 0a 20 20 20 20 46 4f 52 20 6a 3a 3d   ┆eg(st):ofs(st)+k.);      FOR j:=┆
0x3f260…3f280            31 20 54 4f 20 73 74 72 6c 67 74 20 44 4f 0d 0a 20 20 20 20 20 20 73 74 72 28 2e 6a 2e 29 3a 3d   ┆1 TO strlgt DO        str(.j.):=┆
0x3f280…3f2a0            43 48 41 52 28 6d 65 6d 28 2e 73 65 67 28 73 74 29 3a 6f 66 73 28 73 74 29 2b 6b 2b 6a 2e 29 29   ┆CHAR(mem(.seg(st):ofs(st)+k+j.))┆
0x3f2a0…3f2c0            3b 0d 0a 20 20 20 20 6b 3a 3d 6b 2b 77 2b 31 3b 0d 0a 20 20 20 20 64 72 61 77 73 74 72 28 30 2c   ┆;      k:=k+w+1;      drawstr(0,┆
0x3f2c0…3f2e0            69 2d 31 2c 73 74 72 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 52 45 50 45 41 54 20 72 65 61 64   ┆i-1,str);    END;    REPEAT read┆
0x3f2e0…3f300            28 6b 62 64 2c 63 68 29 20 55 4e 54 49 4c 20 63 68 20 69 6e 20 28 2e 40 31 33 2c 40 33 32 2e 29   ┆(kbd,ch) UNTIL ch in (.@13,@32.)┆
0x3f300…3f320            3b 0d 0a 20 20 6c 6f 61 64 76 69 65 77 70 6f 72 74 28 6e 6f 2c 30 2c 30 29 3b 0d 0a 20 20 57 6e   ┆;    loadviewport(no,0,0);    Wn┆
0x3f320…3f340            64 5f 61 63 74 75 61 6c 3a 3d 61 63 74 75 61 6c 3b 0d 0a 20 20 57 6e 64 5f 3a 3d 77 69 6e 3b 0d   ┆d_actual:=actual;    Wnd_:=win; ┆
0x3f340…3f360            0a 45 4e 44 3b 0d 0a 0d 0a 7b 55 64 73 6b 72 69 76 65 72 20 61 6b 73 65 73 79 73 74 65 6d 65 74   ┆ END;    æUdskriver aksesystemet┆
0x3f360…3f380            20 74 69 6c 20 65 6e 20 78 2c 79 20 67 72 61 66 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ til en x,y graf:               ┆
0x3f380…3f3a0            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 7b 78 64 65 6e 73 2f 79 64 65   ┆                 å    æxdens/yde┆
0x3f3a0…3f3c0            6e 73 3a 20 20 65 74 20 74 61 6c 20 6d 65 6c 6c 65 6d 20 30 20 6f 67 20 39 2c 20 64 65 72 20 61   ┆ns:  et tal mellem 0 og 9, der a┆
0x3f3c0…3f3e0            6e 67 69 76 65 72 20 68 76 6f 72 6d 61 6e 67 65 20 6d 65 6c 6c 65 6d 72 75 6d 7d 0d 0a 7b 20 20   ┆ngiver hvormange mellemrumå  æ  ┆
0x3f3e0…3f400            20 20 20 20 20 20 20 20 20 20 20 20 64 65 72 20 65 72 20 6d 65 6c 6c 65 6d 20 75 64 73 6b 72 69   ┆            der er mellem udskri┆
0x3f400…3f420 (25, 0, 4) 76 6e 69 6e 67 65 6e 20 61 66 20 76 91 72 64 69 65 72 20 70 86 20 68 65 6e 68 6f 6c 64 73 76 69   ┆vningen af v rdier p  henholdsvi┆
0x3f420…3f440            73 7d 0d 0a 7b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 20 6f 67 20 79 2d 61 6b 73 65 6e 20   ┆så  æ              x og y-aksen ┆
0x3f440…3f460            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x3f460…3f480            20 20 20 20 20 20 20 20 7d 0d 0a 7b 67 69 74 74 65 72 3a 20 20 54 72 75 65 3a 20 20 67 69 74 74   ┆        å  ægitter:  True:  gitt┆
0x3f480…3f4a0            65 72 20 74 65 67 6e 65 73 20 20 20 46 61 6c 73 65 3a 20 20 67 69 74 74 65 72 20 74 65 67 6e 65   ┆er tegnes   False:  gitter tegne┆
0x3f4a0…3f4c0            73 20 69 6b 6b 65 20 20 20 20 20 20 20 20 20 7d 0d 0a 7b 45 6b 73 70 6f 78 78 2f 79 79 3a 20 27   ┆s ikke         å  æEkspoxx/yy: '┆
0x3f4c0…3f4e0            4a 27 20 3a 20 20 78 2f 79 2d 61 6b 73 65 20 76 91 72 64 69 65 72 20 75 64 73 6b 72 69 76 65 73   ┆J' :  x/y-akse v rdier udskrives┆
0x3f4e0…3f500            20 65 6b 73 70 6f 6e 65 6e 74 69 65 6c 74 20 20 20 20 20 20 20 20 7d 0d 0a 7b 20 20 20 20 20 20   ┆ eksponentielt        å  æ      ┆
0x3f500…3f520            20 20 20 20 20 20 27 4e 27 20 3a 20 20 76 91 72 64 69 65 72 20 75 64 73 6b 72 69 76 65 73 20 69   ┆      'N' :  v rdier udskrives i┆
0x3f520…3f540            6b 6b 65 20 65 6b 73 70 6f 6e 65 6e 74 69 65 6c 74 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a   ┆kke eksponentielt            å  ┆
0x3f540…3f560            0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 64 72 61 77 61 78 69 73 28 20 78 64 65 6e 73 2c 20 79   ┆    PROCEDURE drawaxis( xdens, y┆
0x3f560…3f580            64 65 6e 73 3a 20 49 4e 54 45 47 45 52 3b 20 67 69 74 74 65 72 3a 20 62 6f 6f 6c 65 61 6e 3b 20   ┆dens: INTEGER; gitter: boolean; ┆
0x3f580…3f5a0            0d 0a 45 6b 73 70 6f 78 78 2c 20 45 6b 73 70 6f 79 79 20 3a 20 73 74 72 31 29 3b 0d 0a 56 41 52   ┆  Ekspoxx, Ekspoyy : str1);  VAR┆
0x3f5a0…3f5c0            0d 0a 20 20 78 6b 30 2c 20 79 6b 30 2c 20 78 6b 31 2c 20 79 6b 31 2c 20 4e 64 69 66 66 09 3a 20   ┆    xk0, yk0, xk1, yk1, Ndiff : ┆
0x3f5c0…3f5e0            49 4e 54 45 47 45 52 3b 0d 0a 20 20 65 6b 73 70 6f 78 2c 20 65 6b 73 70 6f 79 2c 6a 2c 69 2c 20   ┆INTEGER;    ekspox, ekspoy,j,i, ┆
0x3f5e0…3f600            79 73 2c 20 78 73 2c 20 64 65 6c 74 61 2c 20 6e 70 6f 69 6e 74 73 09 3a 20 49 4e 54 45 47 45 52   ┆ys, xs, delta, npoints : INTEGER┆
0x3f600…3f620            3b 0d 0a 20 20 64 69 66 66 2c 20 6e 75 6d 62 65 72 2c 20 73 2c 20 66 72 61 63 74 3a 20 52 45 41   ┆;    diff, number, s, fract: REA┆
0x3f620…3f640            4c 3b 0d 0a 20 20 73 74 3a 20 73 74 72 38 30 3b 0d 0a 0d 0a 7b 4f 6d 66 6f 72 6d 65 72 20 65 74   ┆L;    st: str80;    æOmformer et┆
0x3f640…3f660            20 61 6c 6d 69 6e 64 65 6c 69 67 74 20 74 61 6c 20 28 78 31 29 2c 20 76 65 64 20 68 6a 91 6c 70   ┆ almindeligt tal (x1), ved hj lp┆
0x3f660…3f680            20 61 66 20 65 6e 20 6f 70 67 69 76 65 6e 20 65 6b 73 70 6f 6e 65 6e 74 20 28 65 78 70 6f 29 7d   ┆ af en opgiven eksponent (expo)å┆
0x3f680…3f6a0            0d 0a 7b 74 69 6c 20 65 6e 20 73 74 72 69 6e 67 2c 20 68 76 6f 72 20 74 61 6c 6c 65 74 20 61 6e   ┆  ætil en string, hvor tallet an┆
0x3f6a0…3f6c0            67 69 76 65 73 20 65 6b 73 70 6f 6e 65 6e 74 69 65 6c 74 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆gives eksponentielt             ┆
0x3f6c0…3f6e0            20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 73   ┆             å        FUNCTION s┆
0x3f6e0…3f700            74 72 69 6e 67 6e 75 6d 62 65 72 28 78 31 3a 20 52 45 41 4c 3b 65 6b 73 70 6f 09 3a 20 49 4e 54   ┆tringnumber(x1: REAL;ekspo : INT┆
0x3f700…3f720            45 47 45 52 29 3a 20 73 74 72 38 30 3b 0d 0a 56 41 52 20 73 3a 20 73 74 72 38 30 3b 0d 0a 42 45   ┆EGER): str80;  VAR s: str80;  BE┆
0x3f720…3f740            47 49 4e 0d 0a 20 20 73 74 72 28 78 31 2a 65 78 70 28 2d 65 6b 73 70 6f 2a 6c 6e 28 31 30 2e 30   ┆GIN    str(x1*exp(-ekspo*ln(10.0┆
0x3f740…3f760            29 29 3a 35 3a 32 2c 73 29 3b 0d 0a 20 20 73 74 72 69 6e 67 6e 75 6d 62 65 72 3a 3d 73 3b 0d 0a   ┆)):5:2,s);    stringnumber:=s;  ┆
0x3f760…3f780            45 4e 44 3b 0d 0a 0d 0a 7b 42 65 72 65 67 6e 65 72 20 68 76 6f 72 73 74 6f 72 20 65 6b 73 70 6f   ┆END;    æBeregner hvorstor ekspo┆
0x3f780…3f7a0            6e 65 6e 74 65 6e 20 73 6b 61 6c 20 76 91 72 65 2c 20 68 76 69 73 20 64 65 74 20 73 74 9b 72 73   ┆nenten skal v re, hvis det st rs┆
0x3f7a0…3f7c0            74 65 20 74 61 6c 20 73 6b 61 6c 20 76 91 72 65 7d 0d 0a 7b 6d 69 6e 64 72 65 20 65 6e 64 20 31   ┆te tal skal v reå  æmindre end 1┆
0x3f7c0…3f7e0            2e 30 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆.00                             ┆
0x3f7e0…3f800            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 0d 0a 0d   ┆                           å    ┆
0x3f800…3f820 (25, 0, 5) 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 47 65 74 45 78 70 6f 6e 65 6e 74 28 58 31 3a 52 45 41 4c 29   ┆   FUNCTION GetExponent(X1:REAL)┆
0x3f820…3f840            3a 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 47 65 74 45 78 70 6f 6e 65 6e 74 3a   ┆:INTEGER;  BEGIN    GetExponent:┆
0x3f840…3f860            3d 30 3b 0d 0a 20 20 49 46 20 58 31 3c 3e 30 2e 30 20 54 48 45 4e 0d 0a 20 20 20 20 49 46 20 61   ┆=0;    IF X1<>0.0 THEN      IF a┆
0x3f860…3f880            62 73 28 58 31 29 3e 3d 31 2e 30 20 54 48 45 4e 20 47 65 74 45 78 70 6f 6e 65 6e 74 3a 3d 74 72   ┆bs(X1)>=1.0 THEN GetExponent:=tr┆
0x3f880…3f8a0            75 6e 63 28 6c 6e 28 61 62 73 28 58 31 29 29 2f 6c 6e 28 31 30 2e 30 29 29 0d 0a 20 20 20 20 45   ┆unc(ln(abs(X1))/ln(10.0))      E┆
0x3f8a0…3f8c0            4c 53 45 20 47 65 74 45 78 70 6f 6e 65 6e 74 3a 3d 2d 74 72 75 6e 63 28 61 62 73 28 6c 6e 28 61   ┆LSE GetExponent:=-trunc(abs(ln(a┆
0x3f8c0…3f8e0            62 73 28 58 31 29 29 29 2f 6c 6e 28 31 30 2e 30 29 2b 31 2e 30 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d   ┆bs(X1)))/ln(10.0)+1.0);  END;   ┆
0x3f8e0…3f900            0a 7b 55 64 73 6b 72 69 76 65 72 20 68 76 6f 72 73 74 6f 72 20 65 6b 73 70 6f 6e 65 6e 74 65 6e   ┆ æUdskriver hvorstor eksponenten┆
0x3f900…3f920            20 65 72 7d 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 44 72 61 77 45 78 70 6f 6e 65 6e 74 28 78   ┆ erå    PROCEDURE DrawExponent(x┆
0x3f920…3f940            31 2c 79 31 2c 4d 61 78 45 78 70 6f 6e 65 6e 74 3a 49 4e 54 45 47 45 52 3b 73 3a 20 73 74 72 38   ┆1,y1,MaxExponent:INTEGER;s: str8┆
0x3f940…3f960            30 29 3b 0d 0a 56 41 52 20 69 3a 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 6e   ┆0);  VAR i:INTEGER;  BEGIN    Wn┆
0x3f960…3f980            64 5f 64 72 61 77 74 65 78 74 28 78 31 2c 79 31 2c 73 29 3b 0d 0a 20 20 69 3a 3d 6c 65 6e 28 73   ┆d_drawtext(x1,y1,s);    i:=len(s┆
0x3f980…3f9a0            29 3b 0d 0a 20 20 73 74 72 28 4d 61 78 45 78 70 6f 6e 65 6e 74 2c 53 29 3b 0d 0a 20 20 57 6e 64   ┆);    str(MaxExponent,S);    Wnd┆
0x3f9a0…3f9c0            5f 64 72 61 77 74 65 78 74 28 78 31 2b 69 2a 38 2c 20 79 31 2b 32 2c 20 53 29 3b 20 20 20 20 20   ┆_drawtext(x1+i*8, y1+2, S);     ┆
0x3f9c0…3f9e0            20 0d 0a 45 4e 44 3b 0d 0a 0d 0a 0d 0a 7b 55 64 73 6b 72 69 76 65 72 20 65 6e 20 73 74 72 69 6e   ┆   END;      æUdskriver en strin┆
0x3f9e0…3fa00            67 20 61 66 20 74 61 6c 20 70 86 20 65 6e 20 67 69 76 65 6e 20 70 6f 73 69 74 69 6f 6e 2c 20 6d   ┆g af tal p  en given position, m┆
0x3fa00…3fa20            65 64 20 65 6e 20 6f 70 67 69 76 65 6e 20 65 6b 73 70 6f 6e 65 6e 74 20 20 20 7d 0d 0a 7b 78 31   ┆ed en opgiven eksponent   å  æx1┆
0x3fa20…3fa40            20 6f 67 20 79 31 3a 20 75 64 73 6b 72 69 76 6e 69 6e 67 73 6b 6f 6f 72 64 69 6e 61 74 65 72 6e   ┆ og y1: udskrivningskoordinatern┆
0x3fa40…3fa60            65 20 20 20 20 4d 61 78 45 78 70 6f 6e 65 6e 74 3a 20 65 78 73 70 6f 6e 65 6e 74 65 6e 20 64 65   ┆e    MaxExponent: exsponenten de┆
0x3fa60…3fa80            72 20 61 6e 76 65 6e 64 65 73 7d 0d 0a 7b 76 65 64 20 75 64 73 6b 72 69 76 6e 69 6e 67 65 6e 20   ┆r anvendeså  æved udskrivningen ┆
0x3fa80…3faa0            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x3faa0…3fac0            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 0d   ┆                          å     ┆
0x3fac0…3fae0            0a 50 52 4f 43 45 44 55 52 45 20 44 72 61 77 4e 75 6d 28 78 31 2c 79 31 2c 4d 61 78 45 78 70 6f   ┆ PROCEDURE DrawNum(x1,y1,MaxExpo┆
0x3fae0…3fb00            6e 65 6e 74 3a 49 4e 54 45 47 45 52 3b 4e 75 6d 62 65 72 3a 52 45 41 4c 29 3b 0d 0a 56 41 52 20   ┆nent:INTEGER;Number:REAL);  VAR ┆
0x3fb00…3fb20            69 3a 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 53 74 72 4e 75 6d 62 65 72 3a 20 73 74 72 38 30   ┆i:INTEGER;      StrNumber: str80┆
0x3fb20…3fb40            3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 53 74 72 4e 75 6d 62 65 72 3a 3d 53 74 72 69 6e 67 4e 75 6d   ┆;  BEGIN    StrNumber:=StringNum┆
0x3fb40…3fb60            62 65 72 28 4e 75 6d 62 65 72 2c 4d 61 78 45 78 70 6f 6e 65 6e 74 29 3b 0d 0a 20 20 57 6e 64 5f   ┆ber(Number,MaxExponent);    Wnd_┆
0x3fb60…3fb80            44 72 61 77 74 65 78 74 28 78 31 2c 79 31 2c 53 74 72 4e 75 6d 62 65 72 29 3b 0d 0a 45 4e 44 3b   ┆Drawtext(x1,y1,StrNumber);  END;┆
0x3fb80…3fba0            0d 0a 0d 0a 42 45 47 49 4e 0d 0a 20 20 0d 0a 20 20 7b 78 64 65 6e 73 20 6f 67 20 79 64 65 6e 73   ┆    BEGIN        æxdens og ydens┆
0x3fba0…3fbc0            20 6f 6d 64 61 6e 6e 65 73 20 73 86 20 64 65 20 70 61 73 73 65 20 74 69 6c 20 70 72 6f 67 72 61   ┆ omdannes s  de passe til progra┆
0x3fbc0…3fbe0            6d 6d 65 74 7d 0d 0a 20 20 0d 0a 20 20 78 64 65 6e 73 20 3a 3d 20 31 30 20 2d 20 78 64 65 6e 73   ┆mmetå        xdens := 10 - xdens┆
0x3fbe0…3fc00            3b 0d 0a 20 20 79 64 65 6e 73 20 3a 3d 20 31 30 20 2d 20 79 64 65 6e 73 3b 0d 0a 20 20 0d 0a 20   ┆;    ydens := 10 - ydens;       ┆
0x3fc00…3fc20 (25, 1, 1) 20 63 6c 65 61 72 3b 0d 0a 20 20 0d 0a 20 20 7b 74 65 67 6e 65 72 20 6b 61 73 73 65 20 72 75 6e   ┆ clear;        ætegner kasse run┆
0x3fc20…3fc40            64 74 20 6f 6d 20 67 72 61 66 65 6e 7d 0d 0a 20 20 0d 0a 20 20 64 72 61 77 66 72 61 6d 65 3b 20   ┆dt om grafenå        drawframe; ┆
0x3fc40…3fc60            20 20 0d 0a 20 20 78 6b 30 3a 3d 36 2a 38 2b 32 3b 0d 0a 20 20 79 6b 30 3a 3d 31 32 3b 0d 0a 20   ┆      xk0:=6*8+2;    yk0:=12;   ┆
0x3fc60…3fc80            20 78 6b 31 3a 3d 57 6e 64 5f 2e 6d 61 78 78 2d 32 34 3b 0d 0a 20 20 79 6b 31 3a 3d 57 6e 64 5f   ┆ xk1:=Wnd_.maxx-24;    yk1:=Wnd_┆
0x3fc80…3fca0            2e 6d 61 78 79 2d 38 3b 0d 0a 20 0d 0a 20 20 7b 74 65 67 6e 65 72 20 61 6b 73 65 72 6e 65 2c 69   ┆.maxy-8;       ætegner akserne,i┆
0x3fca0…3fcc0            6b 6b 65 20 64 65 6c 73 74 72 65 67 65 72 6e 65 20 7d 0d 0a 20 0d 0a 20 20 57 6e 64 5f 64 72 61   ┆kke delstregerne å       Wnd_dra┆
0x3fcc0…3fce0            77 6c 69 6e 65 28 78 6b 30 2c 79 6b 30 2c 78 6b 30 2c 79 6b 31 29 3b 20 20 20 20 0d 0a 20 20 57   ┆wline(xk0,yk0,xk0,yk1);        W┆
0x3fce0…3fd00            6e 64 5f 64 72 61 77 6c 69 6e 65 28 78 6b 30 2c 79 6b 30 2c 78 6b 31 2c 79 6b 30 29 3b 20 20 20   ┆nd_drawline(xk0,yk0,xk1,yk0);   ┆
0x3fd00…3fd20            20 0d 0a 20 20 57 6e 64 5f 64 72 61 77 6c 69 6e 65 28 78 6b 30 2c 79 6b 30 2c 78 6b 30 2d 34 2c   ┆     Wnd_drawline(xk0,yk0,xk0-4,┆
0x3fd20…3fd40            79 6b 30 29 3b 20 20 0d 0a 20 20 57 6e 64 5f 64 72 61 77 6c 69 6e 65 28 78 6b 30 2c 79 6b 30 2d   ┆yk0);      Wnd_drawline(xk0,yk0-┆
0x3fd40…3fd60            34 2c 78 6b 30 2c 79 6b 30 29 3b 20 20 0d 0a 20 20 64 65 6c 74 61 3a 3d 57 6e 64 5f 2e 6d 61 78   ┆4,xk0,yk0);      delta:=Wnd_.max┆
0x3fd60…3fd80            79 2d 79 6b 30 3b 0d 0a 20 20 6e 70 6f 69 6e 74 73 3a 3d 64 65 6c 74 61 20 44 49 56 20 38 2b 31   ┆y-yk0;    npoints:=delta DIV 8+1┆
0x3fd80…3fda0            3b 20 20 20 20 20 20 20 20 20 20 20 7b 61 6e 74 61 6c 20 64 65 6c 73 74 72 65 67 65 72 20 70 86   ┆;           æantal delstreger p ┆
0x3fda0…3fdc0            20 79 2d 61 6b 73 65 6e 7d 0d 0a 20 20 6e 64 69 66 66 3a 3d 64 65 6c 74 61 2d 28 6e 70 6f 69 6e   ┆ y-aksenå    ndiff:=delta-(npoin┆
0x3fdc0…3fde0            74 73 2a 38 29 3b 0d 0a 0d 0a 20 20 7b 44 65 6e 20 6d 61 6b 73 69 6d 61 6c 65 20 65 6b 73 70 6f   ┆ts*8);      æDen maksimale ekspo┆
0x3fde0…3fe00            6e 74 20 62 65 72 65 67 6e 65 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆nt beregnes                     ┆
0x3fe00…3fe20            20 20 20 20 7d 0d 0a 20 20 7b 48 76 69 73 20 65 6b 73 70 6f 79 20 3a 3d 20 30 20 62 6c 69 76 65   ┆    å    æHvis ekspoy := 0 blive┆
0x3fe20…3fe40            72 20 74 61 6c 65 6e 65 20 75 64 73 6b 72 65 76 65 74 20 75 64 65 6e 20 65 6b 73 70 6f 6e 65 6e   ┆r talene udskrevet uden eksponen┆
0x3fe40…3fe60            74 7d 0d 0a 20 20 0d 0a 20 20 49 66 20 65 6b 73 70 6f 79 79 20 3d 20 27 4a 27 20 74 68 65 6e 20   ┆tå        If ekspoyy = 'J' then ┆
0x3fe60…3fe80            0d 0a 20 20 20 0d 0a 20 20 57 49 54 48 20 77 6c 64 5f 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20   ┆         WITH wld_ DO BEGIN     ┆
0x3fe80…3fea0            20 49 46 20 61 62 73 28 79 72 61 6e 67 65 2b 79 31 29 3e 61 62 73 28 79 31 29 20 54 48 45 4e 20   ┆ IF abs(yrange+y1)>abs(y1) THEN ┆
0x3fea0…3fec0            65 6b 73 70 6f 79 3a 3d 67 65 74 65 78 70 6f 6e 65 6e 74 28 79 72 61 6e 67 65 2b 79 31 29 0d 0a   ┆ekspoy:=getexponent(yrange+y1)  ┆
0x3fec0…3fee0            20 20 20 20 45 4c 53 45 20 65 6b 73 70 6f 79 3a 3d 67 65 74 65 78 70 6f 6e 65 6e 74 28 79 31 29   ┆    ELSE ekspoy:=getexponent(y1)┆
0x3fee0…3ff00            3b 0d 0a 20 20 45 4e 44 0d 0a 20 20 0d 0a 20 20 45 6c 73 65 20 65 6b 73 70 6f 79 20 3a 3d 20 30   ┆;    END        Else ekspoy := 0┆
0x3ff00…3ff20            3b 0d 0a 20 20 20 0d 0a 20 20 7b 75 64 73 6b 72 69 76 65 72 20 79 2a 31 30 20 70 86 20 79 2d 61   ┆;         æudskriver y*10 p  y-a┆
0x3ff20…3ff40            6b 73 65 6e 7d 0d 0a 20 20 0d 0a 20 20 49 46 20 28 79 64 65 6e 73 3e 30 29 20 61 6e 64 20 28 65   ┆ksenå        IF (ydens>0) and (e┆
0x3ff40…3ff60            6b 73 70 6f 79 20 3c 3e 20 30 29 20 54 48 45 4e 20 0d 0a 20 20 20 20 64 72 61 77 65 78 70 6f 6e   ┆kspoy <> 0) THEN       drawexpon┆
0x3ff60…3ff80            65 6e 74 28 30 2c 57 6e 64 5f 2e 6d 61 78 79 2d 31 30 2c 65 6b 73 70 6f 79 2c 27 79 2a 31 30 27   ┆ent(0,Wnd_.maxy-10,ekspoy,'y*10'┆
0x3ff80…3ffa0            29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆);                              ┆
0x3ffa0…3ffc0            20 20 20 20 20 20 20 20 0d 0a 20 20 46 72 61 63 74 3a 3d 4e 44 69 66 66 2f 4e 50 6f 69 6e 74 73   ┆            Fract:=NDiff/NPoints┆
0x3ffc0…3ffe0            3b 0d 0a 20 20 73 3a 3d 2d 46 72 61 63 74 3b 0d 0a 20 20 79 73 3a 3d 79 6b 30 2d 38 3b 0d 0a 20   ┆;    s:=-Fract;    ys:=yk0-8;   ┆
0x3ffe0…40000            20 44 69 66 66 3a 3d 28 77 6c 64 5f 2e 79 72 61 6e 67 65 29 2f 4e 50 6f 69 6e 74 73 3b 0d 0a 20   ┆ Diff:=(wld_.yrange)/NPoints;   ┆
0x40000…40020 (25, 1, 2) 20 0d 0a 20 20 7b 64 65 6c 73 74 72 65 67 65 72 20 70 86 20 79 2d 61 6b 73 65 6e 20 74 65 67 6e   ┆     ædelstreger p  y-aksen tegn┆
0x40020…40040            65 73 7d 0d 0a 20 20 0d 0a 20 20 46 4f 52 20 69 3a 3d 30 20 54 4f 20 4e 50 6f 69 6e 74 73 2d 31   ┆eså        FOR i:=0 TO NPoints-1┆
0x40040…40060            20 44 4f 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 79 73 3a   ┆ DO              BEGIN       ys:┆
0x40060…40080            3d 79 73 2b 38 3b 0d 0a 20 20 20 20 20 4e 75 6d 62 65 72 3a 3d 77 6c 64 5f 2e 59 31 2b 69 2a 44   ┆=ys+8;       Number:=wld_.Y1+i*D┆
0x40080…400a0            69 66 66 3b 0d 0a 20 20 0d 0a 20 20 20 20 20 7b 54 65 67 6e 65 72 20 64 65 6c 73 74 72 65 67 65   ┆iff;           æTegner delstrege┆
0x400a0…400c0            72 20 70 86 20 79 2d 61 6b 73 65 6e 7d 0d 0a 20 20 0d 0a 20 20 20 20 20 49 46 20 79 64 65 6e 73   ┆r p  y-aksenå           IF ydens┆
0x400c0…400e0            3e 30 20 54 48 45 4e 20 57 6e 64 5f 44 72 61 77 4c 69 6e 65 28 78 6b 30 2c 79 73 2c 78 6b 30 2d   ┆>0 THEN Wnd_DrawLine(xk0,ys,xk0-┆
0x400e0…40100            34 2c 79 73 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆4,ys);                          ┆
0x40100…40120            20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 49 46 20 28 79 64 65 6e 73 3e 30 29 20 41 4e 44 20   ┆               IF (ydens>0) AND ┆
0x40120…40140            28 69 20 4d 4f 44 20 28 31 30 2d 59 44 65 6e 73 29 3d 30 29 20 54 48 45 4e 20 42 45 47 49 4e 0d   ┆(i MOD (10-YDens)=0) THEN BEGIN ┆
0x40140…40160            0a 20 20 20 20 20 20 20 6a 3a 3d 78 6b 30 3b 0d 0a 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20   ┆        j:=xk0;                 ┆
0x40160…40180            20 7b 75 64 73 6b 72 69 76 6e 69 6e 67 20 61 66 20 67 69 74 74 65 72 7d 0d 0a 20 20 20 20 20 20   ┆ æudskrivning af gitterå        ┆
0x40180…401a0            20 0d 0a 20 20 20 20 20 20 20 49 46 20 67 69 74 74 65 72 20 54 48 45 4e 20 20 20 20 20 20 20 20   ┆          IF gitter THEN        ┆
0x401a0…401c0            20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 57 48 49 4c 45 20 6a 3c 3d 78 6b 31   ┆                    WHILE j<=xk1┆
0x401c0…401e0            20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 20 57 6e 64 5f 77 72 69 74 65 64 6f 74   ┆ DO BEGIN           Wnd_writedot┆
0x401e0…40200            28 6a 2c 79 73 29 3b 20 6a 3a 3d 6a 2b 33 3b 0d 0a 20 20 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20   ┆(j,ys); j:=j+3;          END;   ┆
0x40200…40220            20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 7b 75 64 73 6b 72 69 76 65 72 20 76 91 72 64 69 65   ┆               æudskriver v rdie┆
0x40220…40240            72 20 66 6f 72 20 79 2d 61 6b 73 65 6e 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 7b 79   ┆r for y-aksen       å         æy┆
0x40240…40260            73 3a 20 79 2d 76 91 72 64 69 65 6e 20 66 6f 72 20 75 64 73 6b 72 69 76 6e 69 6e 67 73 73 74 65   ┆s: y-v rdien for udskrivningsste┆
0x40260…40280            64 65 74 7d 0d 0a 20 20 20 20 20 20 20 7b 65 6b 73 70 6f 79 3a 20 65 6b 73 70 6f 6e 65 6e 74 65   ┆detå         æekspoy: eksponente┆
0x40280…402a0            6e 20 64 65 72 20 61 6e 76 65 6e 64 65 73 20 20 20 20 7d 20 20 0d 0a 20 20 20 20 20 20 20 7b 6e   ┆n der anvendes    å           æn┆
0x402a0…402c0            75 6d 62 65 72 3a 20 44 65 74 20 74 61 6c 2c 20 64 65 72 20 73 6b 72 69 76 65 73 20 20 20 20 20   ┆umber: Det tal, der skrives     ┆
0x402c0…402e0            20 20 20 7d 20 0d 0a 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 49 46 20 28 79 73 3c   ┆   å                     IF (ys<┆
0x402e0…40300            57 6e 64 5f 2e 6d 61 78 79 2d 32 30 29 20 54 48 45 4e 20 20 20 20 20 20 20 44 72 61 77 4e 75 6d   ┆Wnd_.maxy-20) THEN       DrawNum┆
0x40300…40320            28 30 2c 79 73 2c 45 6b 73 70 6f 59 2c 4e 75 6d 62 65 72 29 3b 20 20 0d 0a 20 20 20 20 20 20 20   ┆(0,ys,EkspoY,Number);           ┆
0x40320…40340            45 4e 44 3b 0d 0a 20 20 20 45 4e 44 3b 0d 0a 20 20 64 65 6c 74 61 3a 3d 57 6e 64 5f 2e 6d 61 78   ┆END;     END;    delta:=Wnd_.max┆
0x40340…40360            78 2d 78 6b 30 2d 32 3b 0d 0a 20 20 6e 70 6f 69 6e 74 73 3a 3d 64 65 6c 74 61 20 44 49 56 20 34   ┆x-xk0-2;    npoints:=delta DIV 4┆
0x40360…40380            30 2b 31 3b 0d 0a 20 20 6e 64 69 66 66 3a 3d 64 65 6c 74 61 2d 28 6e 70 6f 69 6e 74 73 2a 34 30   ┆0+1;    ndiff:=delta-(npoints*40┆
0x40380…403a0            29 3b 0d 0a 20 20 0d 0a 20 20 49 66 20 65 6b 73 70 6f 78 78 20 3d 20 27 4a 27 20 74 68 65 6e 20   ┆);        If ekspoxx = 'J' then ┆
0x403a0…403c0            0d 0a 20 20 0d 0a 20 20 57 49 54 48 20 77 6c 64 5f 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20   ┆        WITH wld_ DO BEGIN      ┆
0x403c0…403e0            49 46 20 61 62 73 28 78 72 61 6e 67 65 2b 78 31 29 3e 61 62 73 28 78 31 29 20 54 48 45 4e 20 65   ┆IF abs(xrange+x1)>abs(x1) THEN e┆
0x403e0…40400            6b 73 70 6f 79 3a 3d 67 65 74 65 78 70 6f 6e 65 6e 74 28 78 72 61 6e 67 65 2b 78 31 29 0d 0a 20   ┆kspoy:=getexponent(xrange+x1)   ┆
0x40400…40420 (25, 1, 3) 20 20 20 45 4c 53 45 20 65 6b 73 70 6f 79 3a 3d 67 65 74 65 78 70 6f 6e 65 6e 74 28 78 31 29 3b   ┆   ELSE ekspoy:=getexponent(x1);┆
0x40420…40440            0d 0a 20 20 45 4e 44 0d 0a 20 20 0d 0a 20 20 65 6c 73 65 20 65 6b 73 70 6f 79 20 3a 3d 20 30 3b   ┆    END        else ekspoy := 0;┆
0x40440…40460            0d 0a 20 20 0d 0a 20 20 49 46 20 28 78 64 65 6e 73 3e 30 29 20 61 6e 64 20 28 65 6b 73 70 6f 79   ┆        IF (xdens>0) and (ekspoy┆
0x40460…40480            20 3c 3e 20 30 29 20 54 48 45 4e 20 0d 0a 20 20 20 20 64 72 61 77 65 78 70 6f 6e 65 6e 74 28 57   ┆ <> 0) THEN       drawexponent(W┆
0x40480…404a0            6e 64 5f 2e 6d 61 78 78 2d 34 38 2c 30 2c 65 6b 73 70 6f 79 2c 27 78 2a 31 30 27 29 3b 0d 0a 20   ┆nd_.maxx-48,0,ekspoy,'x*10');   ┆
0x404a0…404c0            20 0d 0a 20 20 46 72 61 63 74 3a 3d 4e 44 69 66 66 2f 4e 50 6f 69 6e 74 73 3b 0d 0a 20 20 73 3a   ┆     Fract:=NDiff/NPoints;    s:┆
0x404c0…404e0            3d 2d 46 72 61 63 74 3b 0d 0a 20 20 79 73 3a 3d 78 6b 30 2d 34 30 3b 0d 0a 20 20 44 69 66 66 3a   ┆=-Fract;    ys:=xk0-40;    Diff:┆
0x404e0…40500            3d 28 77 6c 64 5f 2e 78 72 61 6e 67 65 29 2f 4e 50 6f 69 6e 74 73 3b 0d 0a 20 20 46 4f 52 20 69   ┆=(wld_.xrange)/NPoints;    FOR i┆
0x40500…40520            3a 3d 30 20 54 4f 20 4e 50 6f 69 6e 74 73 2d 31 20 44 4f 0d 0a 20 20 20 42 45 47 49 4e 0d 0a 20   ┆:=0 TO NPoints-1 DO     BEGIN   ┆
0x40520…40540            20 20 20 79 73 3a 3d 79 73 2b 34 30 3b 0d 0a 20 20 20 20 4e 75 6d 62 65 72 3a 3d 77 6c 64 5f 2e   ┆   ys:=ys+40;      Number:=wld_.┆
0x40540…40560            78 31 2b 69 2a 44 69 66 66 3b 0d 0a 20 20 20 20 49 46 20 78 64 65 6e 73 3e 30 20 54 48 45 4e 20   ┆x1+i*Diff;      IF xdens>0 THEN ┆
0x40560…40580            57 6e 64 5f 44 72 61 77 4c 69 6e 65 28 79 73 2c 79 6b 30 2c 79 73 2c 79 6b 30 2d 34 29 3b 0d 0a   ┆Wnd_DrawLine(ys,yk0,ys,yk0-4);  ┆
0x40580…405a0            20 20 20 20 49 46 20 28 78 64 65 6e 73 3e 30 29 20 41 4e 44 20 28 69 20 4d 4f 44 20 28 31 30 2d   ┆    IF (xdens>0) AND (i MOD (10-┆
0x405a0…405c0            78 44 65 6e 73 29 3d 30 29 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 6a 3a 3d 79   ┆xDens)=0) THEN BEGIN        j:=y┆
0x405c0…405e0            6b 30 3b 0d 0a 20 20 20 20 20 20 49 46 20 67 69 74 74 65 72 20 54 48 45 4e 0d 0a 20 20 20 20 20   ┆k0;        IF gitter THEN       ┆
0x405e0…40600            20 20 57 48 49 4c 45 20 6a 3c 3d 79 6b 31 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20   ┆  WHILE j<=yk1 DO BEGIN         ┆
0x40600…40620            20 57 6e 64 5f 77 72 69 74 65 64 6f 74 28 79 73 2c 6a 29 3b 20 6a 3a 3d 6a 2b 33 3b 0d 0a 20 20   ┆ Wnd_writedot(ys,j); j:=j+3;    ┆
0x40620…40640            20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 20 20 49 46 20 28 79 73 3c 57 6e 64 5f 2e 6d 61 78   ┆     END;        IF (ys<Wnd_.max┆
0x40640…40660            78 2d 34 38 29 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 44 72 61 77 4e 75 6d   ┆x-48)THEN BEGIN          DrawNum┆
0x40660…40680            28 79 73 2d 34 30 2c 30 2c 45 6b 73 70 6f 59 2c 4e 75 6d 62 65 72 29 3b 0d 0a 20 20 20 20 20 20   ┆(ys-40,0,EkspoY,Number);        ┆
0x40680…406a0            45 4e 44 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 45 4e 44 3b 0d 0a 20 20 57 49 54 48 20   ┆END;      END;     END;    WITH ┆
0x406a0…406c0            57 6e 64 5f 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 78 31 3a 3d 78 31 2b 78 6b 30 3b 0d 0a   ┆Wnd_ DO BEGIN      x1:=x1+xk0;  ┆
0x406c0…406e0            20 20 20 20 6d 61 78 78 3a 3d 6d 61 78 78 2d 78 6b 30 3b 0d 0a 20 20 20 20 79 31 3a 3d 79 31 2b   ┆    maxx:=maxx-xk0;      y1:=y1+┆
0x406e0…40700            79 6b 30 3b 0d 0a 20 20 20 20 6d 61 78 79 3a 3d 6d 61 78 79 2d 79 6b 30 3b 0d 0a 20 20 45 4e 44   ┆yk0;      maxy:=maxy-yk0;    END┆
0x40700…40720            3b 0d 0a 45 4e 44 3b 0d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆;  END;                         ┆
0x40720…40740            00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
         […0x2…]
0x40780…407a0            e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
         […0x3…]
0x40800…40820 (25, 1, 4) 28 2a 47 53 56 2d 43 50 49 2a 29 0d 0a 43 4f 4e 53 54 0d 0a 20 20 62 6c 61 63 6b 20 09 3d 20 30   ┆(*GSV-CPI*)  CONST    black  = 0┆
0x40820…40840            3b 0d 0a 20 20 77 68 69 74 65 20 09 3d 20 24 46 46 3b 0d 0a 20 20 74 72 61 6e 73 70 09 3d 20 30   ┆;    white  = $FF;    transp = 0┆
0x40840…40860            31 3b 0d 0a 20 20 57 6e 64 5f 6d 61 78 20 09 3d 20 35 3b 0d 0a 20 20 63 68 61 72 66 69 6c 6e 61   ┆1;    Wnd_max  = 5;    charfilna┆
0x40860…40880            6d 65 20 09 3d 20 27 38 78 38 66 6f 6e 74 2e 63 68 72 27 3b 0d 0a 20 20 74 78 74 5f 6d 6f 64 65   ┆me  = '8x8font.chr';    txt_mode┆
0x40880…408a0            09 3a 20 42 4f 4f 4c 45 41 4e 20 3d 20 74 72 75 65 3b 0d 0a 20 20 20 20 0d 0a 28 2a 20 20 46 6f   ┆ : BOOLEAN = true;        (*  Fo┆
0x408a0…408c0            72 65 2d 20 61 6e 64 20 62 61 63 6b 67 72 6f 75 6e 64 63 6f 6c 6f 72 73 2a 29 0d 0a 28 2a 20 20   ┆re- and backgroundcolors*)  (*  ┆
0x408c0…408e0            20 20 4c 69 67 68 74 54 78 74 20 6f 6e 6c 79 20 77 6f 72 6b 73 20 46 4f 52 20 66 6f 72 65 67 72   ┆  LightTxt only works FOR foregr┆
0x408e0…40900            6f 75 6e 64 63 6f 6c 6f 72 73 2a 29 0d 0a 28 2a 20 20 20 20 42 6c 69 6e 6b 54 78 74 20 6f 6e 6c   ┆oundcolors*)  (*    BlinkTxt onl┆
0x40900…40920            79 20 77 6f 72 6b 73 20 46 4f 52 20 62 61 63 6b 67 72 6f 75 6e 64 63 6f 6c 6f 72 73 20 2a 29 0d   ┆y works FOR backgroundcolors *) ┆
0x40920…40940            0a 20 20 62 6c 61 63 6b 54 78 74 09 3d 20 30 3b 20 20 62 6c 75 65 54 78 74 09 3d 20 31 3b 0d 0a   ┆   blackTxt = 0;  blueTxt = 1;  ┆
0x40940…40960            20 20 67 72 65 65 6e 74 78 74 09 3d 20 32 3b 20 20 63 79 61 6e 74 78 74 09 3d 20 33 3b 0d 0a 20   ┆  greentxt = 2;  cyantxt = 3;   ┆
0x40960…40980            20 72 65 64 54 78 74 09 3d 20 34 3b 20 20 6d 61 67 65 6e 74 61 74 78 74 3d 20 35 3b 0d 0a 20 20   ┆ redTxt = 4;  magentatxt= 5;    ┆
0x40980…409a0            79 65 6c 6c 6f 77 74 78 74 09 3d 20 36 3b 20 20 77 68 69 74 65 74 78 74 09 3d 20 37 3b 0d 0a 20   ┆yellowtxt = 6;  whitetxt = 7;   ┆
0x409a0…409c0            20 6c 69 67 68 74 74 78 74 09 3d 20 38 3b 20 20 62 6c 69 6e 6b 74 78 74 20 20 3d 20 38 3b 0d 0a   ┆ lighttxt = 8;  blinktxt  = 8;  ┆
0x409c0…409e0            0d 0a 20 20 68 65 6c 70 3a 41 52 52 41 59 28 2e 30 2e 2e 37 2e 29 20 4f 46 20 53 54 52 49 4e 47   ┆    help:ARRAY(.0..7.) OF STRING┆
0x409e0…40a00            28 2e 34 30 2e 29 20 3d 0d 0a 20 20 20 20 28 27 3c 48 4f 4d 45 3e 20 20 6d 61 72 6b 9b 72 20 74   ┆(.40.) =      ('<HOME>  mark r t┆
0x40a00…40a20            69 6c 20 74 65 6b 73 74 73 74 61 72 74 27 2c 0d 0a 20 20 20 20 27 3c 45 4e 44 3e 20 20 20 6d 61   ┆il tekststart',      '<END>   ma┆
0x40a20…40a40            72 6b 9b 72 20 74 69 6c 20 74 65 6b 73 74 73 6c 75 74 27 2c 0d 0a 20 20 20 20 27 3c 44 45 4c 3e   ┆rk r til tekstslut',      '<DEL>┆
0x40a40…40a60            20 20 20 73 6c 65 74 20 74 65 67 6e 20 70 86 20 6d 61 72 6b 9b 72 65 6e 73 20 70 6c 61 64 73 27   ┆   slet tegn p  mark rens plads'┆
0x40a60…40a80            2c 0d 0a 20 20 20 20 27 3c 49 4e 53 3e 20 20 20 73 6b 69 66 74 20 6d 65 6c 6c 65 6d 20 6f 76 65   ┆,      '<INS>   skift mellem ove┆
0x40a80…40aa0            72 73 6b 72 69 76 20 6f 67 20 69 6e 64 73 91 74 27 2c 0d 0a 20 20 20 20 27 3c 46 35 3e 20 20 20   ┆rskriv og inds t',      '<F5>   ┆
0x40aa0…40ac0            20 73 6c 65 74 20 6c 69 6e 69 65 20 66 72 61 20 6d 61 72 6b 9b 72 65 6e 73 20 70 6c 61 64 73 27   ┆ slet linie fra mark rens plads'┆
0x40ac0…40ae0            2c 0d 0a 20 20 20 20 27 3c 11 27 40 31 39 36 27 3e 20 20 20 20 73 6c 65 74 20 74 65 67 6e 20 74   ┆,      '< '@196'>    slet tegn t┆
0x40ae0…40b00            69 6c 20 76 65 6e 73 74 72 65 20 46 4f 52 20 6d 61 72 6b 9b 72 27 2c 0d 0a 20 20 20 20 27 3c 1b   ┆il venstre FOR mark r',      '< ┆
0x40b00…40b20            3e 20 20 20 20 20 72 79 6b 20 6d 61 72 6b 9b 72 20 65 6e 20 70 6c 61 64 73 20 74 69 6c 20 76 65   ┆>     ryk mark r en plads til ve┆
0x40b20…40b40            6e 73 74 72 65 27 2c 0d 0a 20 20 20 20 27 3c 27 40 32 36 27 3e 20 20 20 20 20 72 79 6b 20 6d 61   ┆nstre',      '<'@26'>     ryk ma┆
0x40b40…40b60            72 6b 9b 72 20 65 6e 20 70 6c 61 64 73 20 74 69 6c 20 68 9b 6a 72 65 27 29 3b 0d 0a 0d 0a 0d 0a   ┆rk r en plads til h jre');      ┆
0x40b60…40b80            54 59 50 45 0d 0a 20 20 42 75 66 74 79 70 65 20 09 3d 20 5e 49 4e 54 45 47 45 52 3b 0d 0a 20 20   ┆TYPE    Buftype  = ^INTEGER;    ┆
0x40b80…40ba0            73 74 72 38 30 20 09 3d 20 53 54 52 49 4e 47 28 2e 38 30 2e 29 3b 0d 0a 20 20 73 74 72 31 20 20   ┆str80  = STRING(.80.);    str1  ┆
0x40ba0…40bc0            20 20 20 20 20 20 20 20 3d 20 53 54 52 49 4e 47 5b 31 5d 3b 0d 0a 20 20 73 74 72 31 35 20 20 20   ┆        = STRINGÆ1Å;    str15   ┆
0x40bc0…40be0            20 20 20 20 20 20 3d 20 53 54 52 49 4e 47 5b 31 35 5d 3b 0d 0a 20 20 73 74 72 32 35 20 20 20 20   ┆      = STRINGÆ15Å;    str25    ┆
0x40be0…40c00            20 20 20 20 20 3d 20 53 54 52 49 4e 47 5b 32 35 5d 3b 0d 0a 20 20 63 68 61 72 73 65 74 20 20 20   ┆     = STRINGÆ25Å;    charset   ┆
0x40c00…40c20 (25, 1, 5) 20 20 20 20 3d 20 73 65 74 20 6f 66 20 63 68 61 72 3b 0d 0a 20 20 57 6e 64 5f 54 59 50 45 20 3d   ┆    = set of char;    Wnd_TYPE =┆
0x40c20…40c40            20 52 45 43 4f 52 44 0d 0a 20 20 20 20 78 31 2c 20 79 31 09 09 3a 20 49 4e 54 45 47 45 52 3b 0d   ┆ RECORD      x1, y1  : INTEGER; ┆
0x40c40…40c60            0a 20 20 20 20 6d 61 78 78 2c 20 6d 61 78 79 09 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20   ┆     maxx, maxy  : INTEGER;     ┆
0x40c60…40c80            20 70 65 6e 63 6f 6c 6f 72 2c 20 62 61 63 6b 63 6f 6c 6f 72 09 3a 20 49 4e 54 45 47 45 52 3b 0d   ┆ pencolor, backcolor : INTEGER; ┆
0x40c80…40ca0            0a 20 20 20 20 74 78 74 6d 61 78 78 2c 20 74 78 74 6d 61 78 79 09 3a 20 49 4e 54 45 47 45 52 3b   ┆     txtmaxx, txtmaxy : INTEGER;┆
0x40ca0…40cc0            0d 0a 20 20 20 20 74 78 74 78 31 2c 20 74 78 74 79 31 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20   ┆      txtx1, txty1 : INTEGER;   ┆
0x40cc0…40ce0            20 20 20 68 64 72 09 09 09 3a 20 73 74 72 38 30 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 20 20 57   ┆   hdr   : str80;    END;      W┆
0x40ce0…40d00            6c 64 5f 54 59 50 45 20 3d 20 52 45 43 4f 52 44 0d 0a 20 20 20 20 78 31 2c 20 79 31 09 3a 20 52   ┆ld_TYPE = RECORD      x1, y1 : R┆
0x40d00…40d20            45 41 4c 3b 0d 0a 20 20 20 20 78 72 61 6e 67 65 2c 20 79 72 61 6e 67 65 3a 20 52 45 41 4c 3b 0d   ┆EAL;      xrange, yrange: REAL; ┆
0x40d20…40d40            0a 20 20 20 20 58 4f 6c 64 2c 20 59 6f 6c 64 09 3a 20 52 45 41 4c 3b 0d 0a 20 20 45 4e 44 3b 0d   ┆     XOld, Yold : REAL;    END; ┆
0x40d40…40d60            0a 0d 0a 20 20 73 61 76 65 5f 54 59 50 45 20 3d 20 52 45 43 4f 52 44 0d 0a 20 20 20 20 63 6f 6e   ┆     save_TYPE = RECORD      con┆
0x40d60…40d80            74 65 6e 74 09 3a 20 62 75 66 74 79 70 65 3b 0d 0a 20 20 20 20 6c 65 6e 67 74 68 09 3a 20 49 4e   ┆tent : buftype;      length : IN┆
0x40d80…40da0            54 45 47 45 52 3b 0d 0a 20 20 20 20 77 69 6e 64 09 3a 20 57 6e 64 5f 54 59 50 45 3b 0d 0a 20 20   ┆TEGER;      wind : Wnd_TYPE;    ┆
0x40da0…40dc0            20 20 6f 6c 64 31 2c 20 6f 6c 64 32 09 3a 20 52 45 41 4c 3b 0d 0a 20 20 20 20 61 63 74 75 61 6c   ┆  old1, old2 : REAL;      actual┆
0x40dc0…40de0            09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 0d 0a 20 20 72 65 67 74 79   ┆ : INTEGER;    END;        regty┆
0x40de0…40e00            70 20 3d 20 52 45 43 4f 52 44 0d 0a 20 20 20 20 61 78 2c 62 78 2c 63 78 2c 64 78 2c 62 70 2c 73   ┆p = RECORD      ax,bx,cx,dx,bp,s┆
0x40e00…40e20            69 2c 64 69 2c 64 73 2c 65 73 2c 66 6c 61 67 73 3a 49 4e 54 45 47 45 52 0d 0a 20 20 45 4e 44 3b   ┆i,di,ds,es,flags:INTEGER    END;┆
0x40e20…40e40            0d 0a 20 20 6f 70 72 74 79 70 65 09 3d 20 28 73 61 76 65 2c 6c 6f 61 64 2c 73 63 72 73 77 61 70   ┆    oprtype = (save,load,scrswap┆
0x40e40…40e60            29 3b 0d 0a 20 20 63 68 61 72 66 69 6c 74 79 70 65 09 3d 20 41 52 52 41 59 28 2e 30 2e 2e 32 35   ┆);    charfiltype = ARRAY(.0..25┆
0x40e60…40e80            35 2e 29 20 4f 46 20 41 52 52 41 59 28 2e 30 2e 2e 37 2e 29 20 4f 46 20 42 59 54 45 3b 0d 0a 0d   ┆5.) OF ARRAY(.0..7.) OF BYTE;   ┆
0x40e80…40ea0            0a 20 20 74 78 74 5f 6c 69 6e 65 63 68 61 72 09 3d 20 52 45 43 4f 52 44 0d 0a 20 20 20 20 43 41   ┆   txt_linechar = RECORD      CA┆
0x40ea0…40ec0            53 45 20 42 4f 4f 4c 45 41 4e 20 4f 46 0d 0a 20 20 20 20 20 20 74 72 75 65 3a 20 28 63 68 3a 20   ┆SE BOOLEAN OF        true: (ch: ┆
0x40ec0…40ee0            43 48 41 52 3b 20 20 61 74 74 3a 20 42 59 54 45 29 3b 0d 0a 20 20 20 20 20 20 66 61 6c 73 65 3a   ┆CHAR;  att: BYTE);        false:┆
0x40ee0…40f00            28 62 6f 74 68 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 20 20 53 63   ┆(both: INTEGER);    END;      Sc┆
0x40f00…40f20            72 5f 54 59 50 45 09 3d 20 28 4f 4c 49 5f 68 69 67 68 2c 4f 4c 49 5f 6c 6f 77 29 3b 0d 0a 20 20   ┆r_TYPE = (OLI_high,OLI_low);    ┆
0x40f20…40f40            50 72 6e 5f 54 59 50 45 20 20 20 20 20 20 3d 20 28 4e 45 43 5f 31 36 62 69 74 2c 4e 45 43 5f 38   ┆Prn_TYPE      = (NEC_16bit,NEC_8┆
0x40f40…40f60            62 69 74 29 3b 0d 0a 20 20 70 74 72 5f 54 59 50 45 09 3d 20 5e 49 4e 54 45 47 45 52 3b 0d 0a 20   ┆bit);    ptr_TYPE = ^INTEGER;   ┆
0x40f60…40f80            20 74 78 74 5f 6c 69 6e 65 09 3d 20 41 52 52 41 59 28 2e 30 2e 2e 37 39 2e 29 20 4f 46 20 74 78   ┆ txt_line = ARRAY(.0..79.) OF tx┆
0x40f80…40fa0            74 5f 6c 69 6e 65 63 68 61 72 3b 0d 0a 20 20 74 78 74 5f 63 68 61 72 73 65 74 20 20 20 3d 20 53   ┆t_linechar;    txt_charset   = S┆
0x40fa0…40fc0            45 54 20 4f 46 20 43 48 41 52 3b 0d 0a 20 20 61 6e 79 73 74 72 20 20 20 20 20 20 20 20 3d 20 73   ┆ET OF CHAR;    anystr        = s┆
0x40fc0…40fe0            74 72 69 6e 67 5b 32 35 35 5d 3b 0d 0a 56 41 52 0d 0a 20 20 53 63 72 5f 6d 61 78 78 09 3a 20 49   ┆tringÆ255Å;  VAR    Scr_maxx : I┆
0x40fe0…41000            4e 54 45 47 45 52 3b 0d 0a 20 20 53 63 72 5f 6d 61 78 79 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a   ┆NTEGER;    Scr_maxy : INTEGER;  ┆
0x41000…41020 (26, 0, 1) 20 20 53 63 72 5f 73 65 67 6d 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 53 63 72 5f 61 73 70   ┆  Scr_segm : INTEGER;    Scr_asp┆
0x41020…41040            65 63 74 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 53 63 72 5f 78 61 64 64 72 09 3a 20 41 52   ┆ect : INTEGER;    Scr_xaddr : AR┆
0x41040…41060            52 41 59 28 2e 30 2e 2e 36 34 30 2e 29 20 4f 46 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 53 63 72   ┆RAY(.0..640.) OF INTEGER;    Scr┆
0x41060…41080            5f 79 61 64 64 72 09 3a 20 41 52 52 41 59 28 2e 30 2e 2e 34 30 30 2e 29 20 4f 46 20 49 4e 54 45   ┆_yaddr : ARRAY(.0..400.) OF INTE┆
0x41080…410a0            47 45 52 3b 0d 0a 20 20 53 63 72 5f 42 45 47 49 4e 09 3a 20 5e 49 4e 54 45 47 45 52 3b 0d 0a 0d   ┆GER;    Scr_BEGIN : ^INTEGER;   ┆
0x410a0…410c0            0a 20 20 57 6e 64 5f 09 09 3a 20 57 6e 64 5f 54 59 50 45 3b 0d 0a 20 20 57 6e 64 5f 70 61 6c 65   ┆   Wnd_  : Wnd_TYPE;    Wnd_pale┆
0x410c0…410e0            74 74 65 20 20 20 3a 20 41 52 52 41 59 28 2e 30 2e 2e 31 35 2e 29 20 4f 46 20 62 79 74 65 3b 0d   ┆tte   : ARRAY(.0..15.) OF byte; ┆
0x410e0…41100            0a 20 20 57 6c 64 5f 09 09 3a 20 57 6c 64 5f 54 59 50 45 3b 0d 0a 0d 0a 20 20 57 6e 64 5f 61 72   ┆   Wld_  : Wld_TYPE;      Wnd_ar┆
0x41100…41120            72 09 3a 20 41 52 52 41 59 28 2e 31 2e 2e 57 6e 64 5f 6d 61 78 2e 29 20 4f 46 20 57 6e 64 5f 54   ┆r : ARRAY(.1..Wnd_max.) OF Wnd_T┆
0x41120…41140            59 50 45 3b 0d 0a 20 20 57 6c 64 5f 61 72 72 09 3a 20 41 52 52 41 59 28 2e 31 2e 2e 57 6e 64 5f   ┆YPE;    Wld_arr : ARRAY(.1..Wnd_┆
0x41140…41160            6d 61 78 2e 29 20 4f 46 20 77 6c 64 5f 54 59 50 45 3b 0d 0a 20 20 53 61 76 65 5f 61 72 72 09 3a   ┆max.) OF wld_TYPE;    Save_arr :┆
0x41160…41180            20 41 52 52 41 59 28 2e 31 2e 2e 57 6e 64 5f 6d 61 78 2e 29 20 4f 46 20 73 61 76 65 5f 54 59 50   ┆ ARRAY(.1..Wnd_max.) OF save_TYP┆
0x41180…411a0            45 3b 0d 0a 20 20 57 6e 64 5f 61 63 74 75 61 6c 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 57   ┆E;    Wnd_actual : INTEGER;    W┆
0x411a0…411c0            6e 64 5f 43 6f 6c 6f 72 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 72 65 67 09 09 3a 20 72 65   ┆nd_Color : INTEGER;    reg  : re┆
0x411c0…411e0            67 74 79 70 3b 0d 0a 20 20 53 63 72 5f 73 74 61 72 74 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20   ┆gtyp;    Scr_start : INTEGER;   ┆
0x411e0…41200            20 67 72 61 70 68 5f 54 59 50 45 09 3a 20 53 63 72 5f 54 59 50 45 3b 0d 0a 20 20 53 63 72 5f 43   ┆ graph_TYPE : Scr_TYPE;    Scr_C┆
0x41200…41220            48 41 52 09 3a 20 63 68 61 72 66 69 6c 74 79 70 65 3b 0d 0a 20 20 74 78 74 5f 6c 69 6e 65 70 74   ┆HAR : charfiltype;    txt_linept┆
0x41220…41240            72 09 3a 20 41 52 52 41 59 28 2e 30 2e 2e 32 34 2e 29 20 4f 46 20 5e 74 78 74 5f 6c 69 6e 65 3b   ┆r : ARRAY(.0..24.) OF ^txt_line;┆
0x41240…41260            0d 0a 20 20 54 78 74 5f 6d 61 78 78 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 54 78 74 5f 6d   ┆    Txt_maxx : INTEGER;    Txt_m┆
0x41260…41280            61 78 79 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 0d 0a 0d 0a 0d 0a 63 6f 6e 73 74 0d 0a 20 20 73   ┆axy : INTEGER;        const    s┆
0x41280…412a0            63 72 5f 73 77 61 70 5f 3a 20 6f 70 72 74 79 70 65 3d 6c 6f 61 64 3b 0d 0a 0d 0a 7b 20 43 53 54   ┆cr_swap_: oprtype=load;    æ CST┆
0x412a0…412c0            52 20 72 65 74 75 72 6e 73 20 61 20 73 74 72 69 6e 67 20 77 69 74 68 20 4e 20 63 68 61 72 61 63   ┆R returns a string with N charac┆
0x412c0…412e0            74 65 72 73 20 6f 66 20 76 61 6c 75 65 20 43 20 7d 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 63 73   ┆ters of value C å    FUNCTION cs┆
0x412e0…41300            74 72 28 63 3a 20 63 68 61 72 3b 20 6e 3a 20 69 6e 74 65 67 65 72 29 3a 20 61 6e 79 73 74 72 3b   ┆tr(c: char; n: integer): anystr;┆
0x41300…41320            0d 0a 56 41 52 0d 0a 20 20 73 3a 20 53 54 52 49 4e 47 5b 32 35 35 5d 3b 0d 0a 42 45 47 49 4e 0d   ┆  VAR    s: STRINGÆ255Å;  BEGIN ┆
0x41320…41340            0a 20 20 49 46 20 6e 3c 30 20 54 48 45 4e 20 6e 3a 3d 30 3b 20 73 5b 30 5d 3a 3d 63 68 72 28 6e   ┆   IF n<0 THEN n:=0; sÆ0Å:=chr(n┆
0x41340…41360            29 3b 20 66 69 6c 6c 28 73 5b 31 5d 2c 6e 2c 63 29 3b 0d 0a 20 20 63 73 74 72 3a 3d 73 3b 0d 0a   ┆); fill(sÆ1Å,n,c);    cstr:=s;  ┆
0x41360…41380            45 4e 44 3b 0d 0a 0d 0a 7b 20 42 45 45 50 20 73 6f 75 6e 64 73 20 74 68 65 20 74 65 72 6d 69 6e   ┆END;    æ BEEP sounds the termin┆
0x41380…413a0            61 6c 27 73 20 62 65 6c 6c 20 6f 72 20 62 65 65 70 65 72 20 7d 0d 0a 0d 0a 50 52 4f 43 45 44 55   ┆al's bell or beeper å    PROCEDU┆
0x413a0…413c0            52 45 20 62 65 65 70 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 77 72 69 74 65 28 5e 47 29 3b 0d 0a 45   ┆RE beep;  BEGIN    write(^G);  E┆
0x413c0…413e0            4e 44 3b 0d 0a 0d 0a 0d 0a 7b 20 43 41 50 20 63 6f 6e 76 65 72 74 73 20 61 20 63 68 61 72 61 63   ┆ND;      æ CAP converts a charac┆
0x413e0…41400            74 65 72 20 74 6f 20 75 70 70 65 72 20 63 61 73 65 20 7d 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20   ┆ter to upper case å    FUNCTION ┆
0x41400…41420 (26, 0, 2) 63 61 70 28 63 68 3a 20 63 68 61 72 29 3a 20 63 68 61 72 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 49   ┆cap(ch: char): char;  BEGIN    I┆
0x41420…41440            46 20 28 63 68 3e 3d 27 61 27 29 20 41 4e 44 20 28 63 68 3c 3d 27 7a 27 29 20 54 48 45 4e 0d 0a   ┆F (ch>='a') AND (ch<='z') THEN  ┆
0x41440…41460            20 20 63 61 70 3a 3d 63 68 72 28 6f 72 64 28 63 68 29 2d 33 32 29 20 45 4c 53 45 20 63 61 70 3a   ┆  cap:=chr(ord(ch)-32) ELSE cap:┆
0x41460…41480            3d 63 68 3b 0d 0a 45 4e 44 3b 0d 0a 7b 20 43 4c 52 46 52 41 4d 45 20 63 6c 65 61 72 73 20 74 68   ┆=ch;  END;  æ CLRFRAME clears th┆
0x41480…414a0            65 20 64 69 73 70 6c 61 79 20 66 72 61 6d 65 2c 20 69 2e 65 2e 20 6c 69 6e 65 73 20 33 20 74 6f   ┆e display frame, i.e. lines 3 to┆
0x414a0…414c0            20 32 30 20 7d 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 63 6c 72 66 72 61 6d 65 3b 0d 0a 56 41   ┆ 20 å    PROCEDURE clrframe;  VA┆
0x414c0…414e0            52 0d 0a 20 20 69 3a 20 69 6e 74 65 67 65 72 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 46 4f 52 20 69   ┆R    i: integer;  BEGIN    FOR i┆
0x414e0…41500            3a 3d 34 20 54 4f 20 32 30 20 44 4f 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 67 6f 74 6f 78   ┆:=4 TO 20 DO    BEGIN      gotox┆
0x41500…41520            79 28 30 2c 69 29 3b 20 77 72 69 74 65 28 63 6c 72 65 6f 6c 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a   ┆y(0,i); write(clreol);    END;  ┆
0x41520…41540            45 4e 44 3b 0d 0a 0d 0a 50 72 6f 63 65 64 75 72 65 20 63 6c 72 66 65 6a 6c 3b 0d 0a 42 65 67 69   ┆END;    Procedure clrfejl;  Begi┆
0x41540…41560            6e 0d 0a 20 20 67 6f 74 6f 78 79 28 30 2c 32 34 29 3b 20 57 72 69 74 65 28 63 6c 72 65 6f 6c 29   ┆n    gotoxy(0,24); Write(clreol)┆
0x41560…41580            3b 0d 0a 45 6e 64 3b 0d 0a 20 20 0d 0a 50 72 6f 63 65 64 75 72 65 20 72 61 6d 6d 65 3b 0d 0a 42   ┆;  End;      Procedure ramme;  B┆
0x41580…415a0            65 67 69 6e 0d 0a 20 20 67 6f 74 6f 78 79 28 30 2c 30 29 3b 20 77 72 69 74 65 6c 6e 28 63 73 74   ┆egin    gotoxy(0,0); writeln(cst┆
0x415a0…415c0            72 28 27 2d 27 2c 37 39 29 29 3b 0d 0a 20 20 57 72 69 74 65 6c 6e 3b 0d 0a 20 20 77 72 69 74 65   ┆r('-',79));    Writeln;    write┆
0x415c0…415e0            6c 6e 28 63 73 74 72 28 27 2d 27 2c 37 39 29 29 3b 0d 0a 20 20 67 6f 74 6f 78 79 28 30 2c 32 31   ┆ln(cstr('-',79));    gotoxy(0,21┆
0x415e0…41600            29 3b 20 77 72 69 74 65 6c 6e 28 63 73 74 72 28 27 2d 27 2c 37 39 29 29 3b 0d 0a 20 20 77 72 69   ┆); writeln(cstr('-',79));    wri┆
0x41600…41620            74 65 6c 6e 3b 20 0d 0a 20 20 77 72 69 74 65 28 63 73 74 72 28 27 2d 27 2c 37 39 29 29 3b 0d 0a   ┆teln;     write(cstr('-',79));  ┆
0x41620…41640            45 6e 64 3b 0d 0a 0d 0a 0d 0a 0d 0a 7b 20 53 45 4c 45 43 54 20 64 69 73 70 6c 61 79 20 74 68 65   ┆End;        æ SELECT display the┆
0x41640…41660            20 70 72 6f 6d 70 74 20 73 74 72 69 6e 67 20 50 52 20 6f 6e 20 6c 69 6e 65 20 32 32 2c 20 61 6e   ┆ prompt string PR on line 22, an┆
0x41660…41680            64 20 77 61 69 74 73 20 20 20 20 20 7d 0d 0a 7b 20 75 6e 74 69 6c 20 74 68 65 20 75 73 65 72 20   ┆d waits     å  æ until the user ┆
0x41680…416a0            65 6e 74 65 72 73 20 61 20 63 68 61 72 61 63 74 65 72 20 77 68 69 63 68 20 69 73 20 63 6f 6e 74   ┆enters a character which is cont┆
0x416a0…416c0            61 69 6e 65 64 20 69 6e 20 74 68 65 20 20 20 7d 0d 0a 7b 20 54 45 52 4d 20 63 68 61 72 61 63 74   ┆ained in the   å  æ TERM charact┆
0x416c0…416e0            65 72 20 73 65 74 2e 20 54 68 65 20 63 68 61 72 61 63 74 65 72 20 69 73 20 74 68 65 6e 20 72 65   ┆er set. The character is then re┆
0x416e0…41700            74 75 72 6e 65 64 20 69 6e 20 54 43 2e 20 20 20 20 20 7d 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45   ┆turned in TC.     å    PROCEDURE┆
0x41700…41720            20 73 65 6c 65 63 74 28 70 72 3a 20 73 74 72 38 30 3b 20 74 65 72 6d 3a 20 63 68 61 72 73 65 74   ┆ select(pr: str80; term: charset┆
0x41720…41740            3b 20 56 41 52 20 74 63 3a 20 63 68 61 72 29 3b 0d 0a 56 41 52 0d 0a 20 20 63 68 3a 20 63 68 61   ┆; VAR tc: char);  VAR    ch: cha┆
0x41740…41760            72 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 67 6f 74 6f 78 79 28 30 2c 32 32 29 3b 20 77 72 69 74 65   ┆r;  BEGIN    gotoxy(0,22); write┆
0x41760…41780            28 70 72 2c 27 3f 20 27 2c 63 6c 72 65 6f 6c 29 3b 0d 0a 20 20 52 45 50 45 41 54 0d 0a 20 20 20   ┆(pr,'? ',clreol);    REPEAT     ┆
0x41780…417a0            20 72 65 61 64 28 6b 62 64 2c 63 68 29 3b 20 74 63 3a 3d 63 61 70 28 63 68 29 3b 0d 0a 20 20 20   ┆ read(kbd,ch); tc:=cap(ch);     ┆
0x417a0…417c0            20 49 46 20 4e 4f 54 28 74 63 20 49 4e 20 74 65 72 6d 29 20 54 48 45 4e 20 62 65 65 70 3b 0d 0a   ┆ IF NOT(tc IN term) THEN beep;  ┆
0x417c0…417e0            20 20 55 4e 54 49 4c 20 74 63 20 49 4e 20 74 65 72 6d 3b 0d 0a 20 20 77 72 69 74 65 28 63 68 29   ┆  UNTIL tc IN term;    write(ch)┆
0x417e0…41800            3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 73 65 6c 65 63 74 31 28 76 30 3a   ┆;  END;    PROCEDURE select1(v0:┆
0x41800…41820 (26, 0, 3) 20 73 74 72 31 35 3b 20 76 31 2c 76 32 2c 76 33 2c 76 34 2c 76 35 2c 76 36 2c 76 37 3a 20 73 74   ┆ str15; v1,v2,v3,v4,v5,v6,v7: st┆
0x41820…41840            72 32 35 3b 20 56 41 52 20 63 68 3a 20 63 68 61 72 29 3b 0d 0a 0d 0a 56 61 72 0d 0a 20 20 20 20   ┆r25; VAR ch: char);    Var      ┆
0x41840…41860            74 65 72 6d 3a 20 63 68 61 72 73 65 74 3b 0d 0a 20 20 42 65 67 69 6e 0d 0a 20 20 20 20 74 65 72   ┆term: charset;    Begin      ter┆
0x41860…41880            6d 3a 3d 5b 27 41 27 2c 27 42 27 2c 27 43 27 2c 27 44 27 2c 27 45 27 2c 27 46 27 2c 27 47 27 5d   ┆m:=Æ'A','B','C','D','E','F','G'Å┆
0x41880…418a0            3b 0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 32 30 2c 31 32 29 3b 57 72 69 74 65 28 63 73 74 72 28   ┆;      gotoxy(20,12);Write(cstr(┆
0x418a0…418c0            27 2d 27 2c 32 39 29 29 3b 0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 32 30 2c 31 33 29 3b 57 72 69   ┆'-',29));      gotoxy(20,13);Wri┆
0x418c0…418e0            74 65 28 27 7c 27 2c 76 30 2c 63 6c 72 65 6f 6c 29 3b 47 6f 74 6f 78 79 28 34 38 2c 31 33 29 3b   ┆te('ø',v0,clreol);Gotoxy(48,13);┆
0x418e0…41900            57 72 69 74 65 28 27 7c 27 29 3b 0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 32 30 2c 31 34 29 3b 57   ┆Write('ø');      gotoxy(20,14);W┆
0x41900…41920            72 69 74 65 28 27 7c 20 41 29 20 27 2c 76 31 2c 63 6c 72 65 6f 6c 29 3b 47 6f 74 6f 78 79 28 34   ┆rite('ø A) ',v1,clreol);Gotoxy(4┆
0x41920…41940            38 2c 31 34 29 3b 57 72 69 74 65 28 27 7c 27 29 3b 0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 32 30   ┆8,14);Write('ø');      gotoxy(20┆
0x41940…41960            2c 31 35 29 3b 57 72 69 74 65 28 27 7c 20 42 29 20 27 2c 76 32 2c 63 6c 72 65 6f 6c 29 3b 47 6f   ┆,15);Write('ø B) ',v2,clreol);Go┆
0x41960…41980            74 6f 78 79 28 34 38 2c 31 35 29 3b 57 72 69 74 65 28 27 7c 27 29 3b 0d 0a 20 20 20 20 67 6f 74   ┆toxy(48,15);Write('ø');      got┆
0x41980…419a0            6f 78 79 28 32 30 2c 31 36 29 3b 57 72 69 74 65 28 27 7c 20 43 29 20 27 2c 76 33 2c 63 6c 72 65   ┆oxy(20,16);Write('ø C) ',v3,clre┆
0x419a0…419c0            6f 6c 29 3b 47 6f 74 6f 78 79 28 34 38 2c 31 36 29 3b 57 72 69 74 65 28 27 7c 27 29 3b 0d 0a 20   ┆ol);Gotoxy(48,16);Write('ø');   ┆
0x419c0…419e0            20 20 20 67 6f 74 6f 78 79 28 32 30 2c 31 37 29 3b 57 72 69 74 65 28 27 7c 20 44 29 20 27 2c 76   ┆   gotoxy(20,17);Write('ø D) ',v┆
0x419e0…41a00            34 2c 63 6c 72 65 6f 6c 29 3b 47 6f 74 6f 78 79 28 34 38 2c 31 37 29 3b 57 72 69 74 65 28 27 7c   ┆4,clreol);Gotoxy(48,17);Write('ø┆
0x41a00…41a20            27 29 3b 0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 32 30 2c 31 38 29 3b 57 72 69 74 65 28 27 7c 20   ┆');      gotoxy(20,18);Write('ø ┆
0x41a20…41a40            45 29 20 27 2c 76 35 2c 63 6c 72 65 6f 6c 29 3b 47 6f 74 6f 78 79 28 34 38 2c 31 38 29 3b 57 72   ┆E) ',v5,clreol);Gotoxy(48,18);Wr┆
0x41a40…41a60            69 74 65 28 27 7c 27 29 3b 0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 32 30 2c 31 39 29 3b 57 72 69   ┆ite('ø');      gotoxy(20,19);Wri┆
0x41a60…41a80            74 65 28 27 7c 20 46 29 20 27 2c 76 36 2c 63 6c 72 65 6f 6c 29 3b 47 6f 74 6f 78 79 28 34 38 2c   ┆te('ø F) ',v6,clreol);Gotoxy(48,┆
0x41a80…41aa0            31 39 29 3b 57 72 69 74 65 28 27 7c 27 29 3b 0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 32 30 2c 32   ┆19);Write('ø');      gotoxy(20,2┆
0x41aa0…41ac0            30 29 3b 57 72 69 74 65 28 27 7c 20 47 29 20 27 2c 76 37 2c 63 6c 72 65 6f 6c 29 3b 47 6f 74 6f   ┆0);Write('ø G) ',v7,clreol);Goto┆
0x41ac0…41ae0            78 79 28 34 38 2c 32 30 29 3b 57 72 69 74 65 28 27 7c 27 29 3b 0d 0a 20 20 20 20 67 6f 74 6f 78   ┆xy(48,20);Write('ø');      gotox┆
0x41ae0…41b00            79 28 30 2c 32 32 29 3b 20 57 72 69 74 65 28 27 49 6e 64 74 61 73 74 20 76 61 6c 67 3a 20 27 2c   ┆y(0,22); Write('Indtast valg: ',┆
0x41b00…41b20            63 6c 72 65 6f 6c 29 3b 20 0d 0a 20 20 20 20 52 65 70 65 61 74 0d 0a 20 20 20 20 20 20 72 65 61   ┆clreol);       Repeat        rea┆
0x41b20…41b40            64 28 6b 62 64 2c 63 68 29 3b 20 63 68 3a 3d 63 61 70 28 63 68 29 3b 0d 0a 20 20 20 20 20 20 49   ┆d(kbd,ch); ch:=cap(ch);        I┆
0x41b40…41b60            46 20 4e 4f 54 28 63 68 20 49 4e 20 74 65 72 6d 29 20 54 48 45 4e 20 62 65 65 70 3b 0d 0a 20 20   ┆F NOT(ch IN term) THEN beep;    ┆
0x41b60…41b80            20 20 55 4e 54 49 4c 20 63 68 20 49 4e 20 74 65 72 6d 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 77   ┆  UNTIL ch IN term;            w┆
0x41b80…41ba0            72 69 74 65 28 63 68 29 3b 0d 0a 0d 0a 20 20 45 6e 64 3b 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 7b 20 49   ┆rite(ch);      End;          æ I┆
0x41ba0…41bc0            4e 50 53 54 52 20 69 73 20 61 20 67 65 6e 65 72 61 6c 69 7a 65 64 20 73 74 72 69 6e 67 20 69 6e   ┆NPSTR is a generalized string in┆
0x41bc0…41be0            70 75 74 20 72 6f 75 74 69 6e 65 20 77 68 69 63 68 20 73 75 70 70 6f 72 74 73 20 20 20 7d 0d 0a   ┆put routine which supports   å  ┆
0x41be0…41c00            7b 20 6f 6e 2d 73 63 72 65 65 6e 20 65 64 69 74 69 6e 67 2e 20 53 20 69 73 20 61 6e 79 20 73 74   ┆æ on-screen editing. S is any st┆
0x41c00…41c20 (26, 0, 4) 72 69 6e 67 20 76 61 72 69 61 62 6c 65 2e 20 4c 20 69 73 20 74 68 65 20 6d 61 78 69 6d 75 6d 20   ┆ring variable. L is the maximum ┆
0x41c20…41c40            7d 0d 0a 7b 20 69 6e 70 75 74 20 6c 65 6e 67 74 68 2e 20 58 20 61 6e 64 20 59 20 61 72 65 20 74   ┆å  æ input length. X and Y are t┆
0x41c40…41c60            68 65 20 64 69 73 70 6c 61 79 20 63 6f 6f 72 64 69 6e 61 74 65 73 2e 20 54 45 52 4d 20 69 73 20   ┆he display coordinates. TERM is ┆
0x41c60…41c80            61 20 20 7d 0d 0a 7b 20 73 65 74 20 6f 66 20 76 61 6c 69 64 20 74 65 72 6d 69 6e 61 74 6f 72 20   ┆a  å  æ set of valid terminator ┆
0x41c80…41ca0            63 68 61 72 61 63 74 65 72 73 2c 20 61 6e 64 20 54 43 20 72 65 74 75 72 6e 73 20 74 68 65 20 63   ┆characters, and TC returns the c┆
0x41ca0…41cc0            68 61 72 2d 20 20 7d 0d 0a 7b 20 61 63 74 65 72 20 74 68 61 74 20 74 65 72 6d 69 6e 61 74 65 64   ┆har-  å  æ acter that terminated┆
0x41cc0…41ce0            20 74 68 65 20 69 6e 70 75 74 2e 20 4f 6e 20 65 6e 74 72 79 2c 20 53 20 69 73 20 64 69 73 70 6c   ┆ the input. On entry, S is displ┆
0x41ce0…41d00            61 79 65 64 20 61 74 20 20 7d 0d 0a 7b 20 58 2c 59 20 6f 6e 20 74 68 65 20 73 63 72 65 65 6e 2c   ┆ayed at  å  æ X,Y on the screen,┆
0x41d00…41d20            20 70 61 64 64 65 64 20 74 6f 20 74 68 65 20 72 69 67 68 74 20 77 69 74 68 20 75 6e 64 65 72 73   ┆ padded to the right with unders┆
0x41d20…41d40            63 6f 72 65 73 2e 20 54 68 65 20 20 7d 0d 0a 7b 20 73 74 72 69 6e 67 20 6d 61 79 20 74 68 65 6e   ┆cores. The  å  æ string may then┆
0x41d40…41d60            20 62 65 20 65 64 69 74 65 64 20 75 73 69 6e 67 20 73 74 61 6e 64 61 72 64 20 63 6f 6e 74 72 6f   ┆ be edited using standard contro┆
0x41d60…41d80            6c 20 6b 65 79 73 3a 20 5e 53 20 61 6e 64 20 7d 0d 0a 7b 20 5e 44 20 66 6f 72 20 6c 65 66 74 20   ┆l keys: ^S and å  æ ^D for left ┆
0x41d80…41da0            61 6e 64 20 72 69 67 68 74 2c 20 5e 41 20 61 6e 64 20 5e 46 20 66 6f 72 20 62 65 67 69 6e 6e 69   ┆and right, ^A and ^F for beginni┆
0x41da0…41dc0            6e 67 20 61 6e 64 20 65 6e 64 20 6f 66 20 20 20 20 20 7d 0d 0a 7b 20 6c 69 6e 65 2c 20 5e 47 20   ┆ng and end of     å  æ line, ^G ┆
0x41dc0…41de0            74 6f 20 64 65 6c 65 74 65 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 75 6e 64 65 72 20 74 68   ┆to delete the character under th┆
0x41de0…41e00            65 20 63 75 72 73 6f 72 2c 20 5e 48 20 6f 72 20 44 45 4c 20 20 7d 0d 0a 7b 20 74 6f 20 62 61 63   ┆e cursor, ^H or DEL  å  æ to bac┆
0x41e00…41e20            6b 73 70 61 63 65 2c 20 61 6e 64 20 5e 59 20 74 6f 20 64 65 6c 65 74 65 20 74 6f 20 65 6e 64 20   ┆kspace, and ^Y to delete to end ┆
0x41e20…41e40            6f 66 20 74 68 65 20 6c 69 6e 65 2e 20 57 68 65 6e 20 61 20 20 20 20 20 7d 0d 0a 7b 20 63 68 61   ┆of the line. When a     å  æ cha┆
0x41e40…41e60            72 61 63 74 65 72 20 69 73 20 74 79 70 65 64 2c 20 69 74 20 69 73 20 69 6e 73 65 72 74 65 64 20   ┆racter is typed, it is inserted ┆
0x41e60…41e80            61 74 20 74 68 65 20 63 75 72 73 6f 72 20 61 74 20 74 68 65 20 72 65 2d 20 20 20 7d 0d 0a 7b 20   ┆at the cursor at the re-   å  æ ┆
0x41e80…41ea0            6d 61 69 6e 64 65 72 20 6f 66 20 74 68 65 20 6c 69 6e 65 20 69 73 20 6d 6f 76 65 64 20 74 6f 20   ┆mainder of the line is moved to ┆
0x41ea0…41ec0            74 68 65 20 72 69 67 68 74 2e 20 57 68 65 6e 20 61 20 74 65 72 6d 69 6e 61 74 6f 72 20 20 7d 0d   ┆the right. When a terminator  å ┆
0x41ec0…41ee0            0a 7b 20 63 68 61 72 61 63 74 65 72 20 69 73 20 74 79 70 65 64 2c 20 74 68 65 20 74 72 61 69 6c   ┆ æ character is typed, the trail┆
0x41ee0…41f00            69 6e 67 20 75 6e 64 65 72 73 63 6f 72 73 20 61 72 65 20 72 65 6d 6f 76 65 64 2c 20 61 6e 64 20   ┆ing underscors are removed, and ┆
0x41f00…41f20            20 7d 0d 0a 7b 20 49 4e 50 53 54 52 20 72 65 74 75 72 6e 73 20 77 69 74 68 20 74 68 65 20 65 64   ┆ å  æ INPSTR returns with the ed┆
0x41f20…41f40            69 74 65 64 20 73 74 72 69 6e 67 20 69 6e 20 53 20 61 6e 64 20 74 68 65 20 74 65 72 6d 69 6e 61   ┆ited string in S and the termina┆
0x41f40…41f60            74 6f 72 20 7d 0d 0a 7b 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 54 43 2e 20 20 20 20 20 20 20   ┆tor å  æ character in TC.       ┆
0x41f60…41f80            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x41f80…41fa0            20 20 20 20 20 20 20 7d 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 69 6e 70 73 74 72 28 56 41 52   ┆       å    PROCEDURE inpstr(VAR┆
0x41fa0…41fc0            20 73 3a 20 61 6e 79 73 74 72 3b 20 6c 2c 78 2c 79 3a 20 69 6e 74 65 67 65 72 3b 0d 0a 20 20 74   ┆ s: anystr; l,x,y: integer;    t┆
0x41fc0…41fe0            65 72 6d 20 3a 20 63 68 61 72 73 65 74 3b 20 56 41 52 20 74 63 3a 20 63 68 61 72 29 3b 0d 0a 43   ┆erm : charset; VAR tc: char);  C┆
0x41fe0…42000            4f 4e 53 54 0d 0a 20 20 66 63 20 3d 20 27 5f 27 3b 0d 0a 4c 61 62 65 6c 20 6c 6c 3b 0d 0a 56 41   ┆ONST    fc = '_';  Label ll;  VA┆
0x42000…42020 (26, 0, 5) 52 0d 0a 20 20 74 65 6b 73 74 3a 20 73 74 72 32 35 3b 0d 0a 20 20 69 2c 74 61 6c 2c 61 6e 74 61   ┆R    tekst: str25;    i,tal,anta┆
0x42020…42040            6c 2c 78 78 2c 79 79 2c 70 3a 20 69 6e 74 65 67 65 72 3b 0d 0a 20 20 70 61 61 2c 63 68 3a 20 63   ┆l,xx,yy,p: integer;    paa,ch: c┆
0x42040…42060            68 61 72 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 0d 0a 20 20 67 6f 74 6f 78 79 28 78 2c 79 29 3b 20   ┆har;  BEGIN        gotoxy(x,y); ┆
0x42060…42080            77 72 69 74 65 28 73 2c 63 73 74 72 28 66 63 2c 6c 2d 6c 65 6e 28 73 29 29 29 3b 20 70 3a 3d 30   ┆write(s,cstr(fc,l-len(s))); p:=0┆
0x42080…420a0            3b 0d 0a 20 20 78 78 3a 3d 78 3b 79 79 3a 3d 79 3b 61 6e 74 61 6c 3a 3d 78 78 3b 0d 0a 20 20 0d   ┆;    xx:=x;yy:=y;antal:=xx;     ┆
0x420a0…420c0            0a 20 20 52 45 50 45 41 54 0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 78 78 2c 79 79 29 3b 20 0d 0a   ┆   REPEAT      gotoxy(xx,yy);   ┆
0x420c0…420e0            20 20 20 20 6c 6c 3a 0d 0a 20 20 20 20 72 65 61 64 28 6b 62 64 2c 63 68 29 3b 0d 0a 20 20 20 20   ┆    ll:      read(kbd,ch);      ┆
0x420e0…42100            43 41 53 45 20 63 68 20 4f 46 0d 0a 20 20 20 20 20 20 40 33 32 2e 2e 40 31 32 36 2c 20 40 31 32   ┆CASE ch OF        @32..@126, @12┆
0x42100…42120            38 2e 2e 40 32 35 35 3a 0d 0a 20 20 20 20 20 20 49 46 20 70 3c 6c 20 54 48 45 4e 0d 0a 20 20 20   ┆8..@255:        IF p<l THEN     ┆
0x42120…42140            20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 49 46 20 6c 65 6e 28 73 29 3d 6c 20 54 48   ┆   BEGIN          IF len(s)=l TH┆
0x42140…42160            45 4e 20 64 65 6c 65 74 65 28 73 2c 6c 2c 31 29 3b 0d 0a 20 20 20 20 20 20 20 20 78 78 3a 3d 78   ┆EN delete(s,l,1);          xx:=x┆
0x42160…42180            78 2b 31 3b 0d 0a 20 20 20 20 20 20 20 20 70 3a 3d 70 2b 31 3b 20 69 6e 73 65 72 74 28 63 68 2c   ┆x+1;          p:=p+1; insert(ch,┆
0x42180…421a0            73 2c 70 29 3b 0d 0a 20 20 20 20 20 20 20 20 77 72 69 74 65 28 63 6f 70 79 28 73 2c 70 2c 6c 29   ┆s,p);          write(copy(s,p,l)┆
0x421a0…421c0            29 3b 0d 0a 20 20 20 20 20 20 20 20 49 66 20 78 78 3d 38 31 20 74 68 65 6e 0d 0a 20 20 20 20 20   ┆);          If xx=81 then       ┆
0x421c0…421e0            20 20 20 62 65 67 69 6e 0d 0a 20 20 20 20 20 20 20 20 20 78 78 3a 3d 31 3b 20 0d 0a 20 20 20 20   ┆   begin           xx:=1;       ┆
0x421e0…42200            20 20 20 20 20 20 79 79 3a 3d 79 79 2b 31 3b 0d 0a 20 20 20 20 20 20 20 20 65 6e 64 3b 0d 0a 20   ┆      yy:=yy+1;          end;   ┆
0x42200…42220            20 20 20 20 20 45 4e 44 20 45 4c 53 45 20 62 65 65 70 3b 0d 0a 20 20 20 20 20 20 0d 0a 20 20 20   ┆     END ELSE beep;             ┆
0x42220…42240            20 20 20 5e 5a 3a 20 42 65 67 69 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 70 61 61   ┆   ^Z: Begin              If paa┆
0x42240…42260            3d 27 4a 27 20 74 68 65 6e 20 42 65 67 69 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46   ┆='J' then Begin                F┆
0x42260…42280            6f 72 20 69 3a 3d 20 35 20 74 6f 20 31 30 20 64 6f 20 42 65 67 69 6e 0d 0a 20 20 20 20 20 20 20   ┆or i:= 5 to 10 do Begin         ┆
0x42280…422a0            20 20 20 20 20 20 20 20 20 67 6f 74 6f 78 79 28 34 30 2c 69 29 3b 20 57 72 69 74 65 28 63 6c 72   ┆         gotoxy(40,i); Write(clr┆
0x422a0…422c0            65 6f 6c 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6e 64 3b 0d 0a 20 20 20 20 20   ┆eol);                End;       ┆
0x422c0…422e0            20 20 20 20 20 20 20 20 20 70 61 61 3a 3d 20 27 4e 27 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20   ┆         paa:= 'N';             ┆
0x422e0…42300            20 20 20 67 6f 74 6f 20 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 45 6e 64 3b 20 20 20   ┆   goto ll;              End;   ┆
0x42300…42320            20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 6f 74 6f 78 79 28 34 30 2c 35 29 3b 20 57 72 69   ┆               gotoxy(40,5); Wri┆
0x42320…42340            74 65 28 27 5e 41 3a 20 4d 61 72 6b 9b 72 20 66 6c 79 74 74 65 73 20 68 65 6c 74 20 74 69 6c 20   ┆te('^A: Mark r flyttes helt til ┆
0x42340…42360            76 65 6e 73 74 72 65 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 6f 74 6f 78 79 28 34   ┆venstre');              gotoxy(4┆
0x42360…42380            30 2c 36 29 3b 20 57 72 69 74 65 28 27 5e 53 3a 20 4d 61 72 6b 9b 72 20 66 6c 79 74 74 65 73 20   ┆0,6); Write('^S: Mark r flyttes ┆
0x42380…423a0            65 6e 20 20 20 74 69 6c 20 76 65 6e 73 74 72 65 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20   ┆en   til venstre');             ┆
0x423a0…423c0            20 67 6f 74 6f 78 79 28 34 30 2c 37 29 3b 20 57 72 69 74 65 28 27 5e 44 3a 20 4d 61 72 6b 9b 72   ┆ gotoxy(40,7); Write('^D: Mark r┆
0x423c0…423e0            20 66 6c 79 74 74 65 73 20 65 6e 20 20 20 74 69 6c 20 68 9b 6a 72 65 27 29 3b 0d 0a 20 20 20 20   ┆ flyttes en   til h jre');      ┆
0x423e0…42400            20 20 20 20 20 20 20 20 67 6f 74 6f 78 79 28 34 30 2c 38 29 3b 20 57 72 69 74 65 28 27 5e 46 3a   ┆        gotoxy(40,8); Write('^F:┆
0x42400…42420 (26, 1, 1) 20 4d 61 72 6b 9b 72 20 66 6c 79 74 74 65 73 20 68 65 6c 74 20 74 69 6c 20 68 9b 6a 72 65 27 29   ┆ Mark r flyttes helt til h jre')┆
0x42420…42440            3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 6f 74 6f 78 79 28 34 30 2c 39 29 3b 20 57 72 69   ┆;              gotoxy(40,9); Wri┆
0x42440…42460            74 65 28 27 5e 47 3a 20 54 65 67 6e 20 6f 76 65 72 20 6d 61 72 6b 9b 72 20 73 6c 65 74 74 65 73   ┆te('^G: Tegn over mark r slettes┆
0x42460…42480            27 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 6f 74 6f 78 79 28 34 30 2c 31 30 29 3b 20   ┆');              gotoxy(40,10); ┆
0x42480…424a0            57 72 69 74 65 28 27 5e 48 3a 20 54 65 67 6e 20 68 65 6c 74 20 74 69 6c 20 68 9b 6a 72 65 20 73   ┆Write('^H: Tegn helt til h jre s┆
0x424a0…424c0            6c 65 74 74 65 73 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 61 3a 3d 27 4a 27 3b   ┆lettes');              paa:='J';┆
0x424c0…424e0            0d 0a 20 20 20 20 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a   ┆            END;                ┆
0x424e0…42500            20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 0d 0a   ┆                                ┆
0x42500…42520            20 20 20 20 20 20 5e 53 3a 20 49 46 20 70 3e 30 20 54 48 45 4e 20 42 65 67 69 6e 0d 0a 20 20 20   ┆      ^S: IF p>0 THEN Begin     ┆
0x42520…42540            20 20 20 20 20 20 20 70 3a 3d 70 2d 31 3b 20 78 78 3a 3d 78 78 2d 31 3b 0d 0a 20 20 20 20 20 20   ┆       p:=p-1; xx:=xx-1;        ┆
0x42540…42560            20 20 20 20 49 66 20 28 78 78 3d 2d 31 29 20 61 6e 64 20 28 79 79 20 3c 3e 20 79 29 20 74 68 65   ┆    If (xx=-1) and (yy <> y) the┆
0x42560…42580            6e 20 42 65 67 69 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 79 79 3a 3d 79 79 2d 31 3b 0d 0a   ┆n Begin              yy:=yy-1;  ┆
0x42580…425a0            20 20 20 20 20 20 20 20 20 20 20 20 78 78 3a 3d 37 39 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 45   ┆            xx:=79;            E┆
0x425a0…425c0            6e 64 3b 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 45 6e 64 20 45 4c 53 45 20 62 65 65 70 3b 0d   ┆nd;              End ELSE beep; ┆
0x425c0…425e0            0a 20 20 20 20 20 20 5e 44 3a 20 49 46 20 70 3c 6c 65 6e 28 73 29 20 54 48 45 4e 20 42 65 67 69   ┆       ^D: IF p<len(s) THEN Begi┆
0x425e0…42600            6e 0d 0a 20 20 20 20 20 20 20 20 20 20 70 3a 3d 70 2b 31 3b 20 78 78 3a 3d 78 78 2b 31 3b 20 0d   ┆n            p:=p+1; xx:=xx+1;  ┆
0x42600…42620            0a 20 20 20 20 20 20 20 20 20 20 49 66 20 78 78 3d 38 30 20 74 68 65 6e 20 42 65 67 69 6e 20 0d   ┆           If xx=80 then Begin  ┆
0x42620…42640            0a 20 20 20 20 20 20 20 20 20 20 20 20 78 78 3a 3d 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆             xx:= 0;            ┆
0x42640…42660            20 20 79 79 20 3a 3d 20 79 79 20 2b 20 31 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 45 6e 64 3b 0d   ┆  yy := yy + 1;            End; ┆
0x42660…42680            0a 20 20 20 20 20 20 20 20 20 20 45 6e 64 20 45 4c 53 45 20 62 65 65 70 3b 0d 0a 20 20 20 20 20   ┆           End ELSE beep;       ┆
0x42680…426a0            20 5e 41 3a 20 42 65 67 69 6e 20 70 3a 3d 30 3b 20 78 78 3a 3d 78 3b 20 79 79 3a 3d 79 3b 20 45   ┆ ^A: Begin p:=0; xx:=x; yy:=y; E┆
0x426a0…426c0            6e 64 3b 0d 0a 20 20 20 20 20 20 5e 46 3a 20 42 65 67 69 6e 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆nd;        ^F: Begin            ┆
0x426c0…426e0            20 20 79 79 3a 3d 79 79 20 2b 74 72 75 6e 63 20 28 28 6c 65 6e 28 73 29 2b 78 29 2f 20 38 31 29   ┆  yy:=yy +trunc ((len(s)+x)/ 81)┆
0x426e0…42700            3b 20 78 78 3a 3d 20 28 6c 65 6e 28 73 29 2b 78 29 20 6d 6f 64 20 38 31 20 3b 0d 0a 20 20 20 20   ┆; xx:= (len(s)+x) mod 81 ;      ┆
0x42700…42720            20 20 20 20 20 20 20 20 70 3a 3d 6c 65 6e 28 73 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 45 6e   ┆        p:=len(s);            En┆
0x42720…42740            64 3b 0d 0a 20 20 20 20 20 20 5e 47 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 49 46 20 70 3c 6c 65   ┆d;        ^G:            IF p<le┆
0x42740…42760            6e 28 73 29 20 54 48 45 4e 0d 0a 20 20 20 20 20 20 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20   ┆n(s) THEN            BEGIN      ┆
0x42760…42780            20 20 20 20 20 20 20 20 64 65 6c 65 74 65 28 73 2c 70 2b 31 2c 31 29 3b 20 77 72 69 74 65 28 63   ┆        delete(s,p+1,1); write(c┆
0x42780…427a0            6f 70 79 28 73 2c 70 2b 31 2c 6c 29 2c 66 63 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 45 4e 44   ┆opy(s,p+1,l),fc);            END┆
0x427a0…427c0            20 65 6c 73 65 20 62 65 65 70 3b 0d 0a 20 20 20 20 20 20 5e 48 2c 40 31 32 37 3a 20 20 20 20 20   ┆ else beep;        ^H,@127:     ┆
0x427c0…427e0            20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 49 46 20 70 3e 30 20 54   ┆                        IF p>0 T┆
0x427e0…42800            48 45 4e 0d 0a 20 20 20 20 20 20 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆HEN            BEGIN            ┆
0x42800…42820 (26, 1, 2) 20 20 64 65 6c 65 74 65 28 73 2c 70 2c 31 29 3b 20 77 72 69 74 65 28 5e 48 2c 63 6f 70 79 28 73   ┆  delete(s,p,1); write(^H,copy(s┆
0x42820…42840            2c 70 2c 6c 29 2c 66 63 29 3b 20 70 3a 3d 70 2d 31 3b 78 78 3a 3d 78 78 2d 31 3b 0d 0a 20 20 20   ┆,p,l),fc); p:=p-1;xx:=xx-1;     ┆
0x42840…42860            20 20 20 20 20 20 20 45 4e 44 20 45 4c 53 45 20 62 65 65 70 3b 0d 0a 20 20 20 20 20 20 5e 59 3a   ┆       END ELSE beep;        ^Y:┆
0x42860…42880            0d 0a 20 20 20 20 20 20 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 77   ┆            BEGIN              w┆
0x42880…428a0            72 69 74 65 28 63 73 74 72 28 66 63 2c 6c 65 6e 28 73 29 2d 70 29 29 3b 20 64 65 6c 65 74 65 28   ┆rite(cstr(fc,len(s)-p)); delete(┆
0x428a0…428c0            73 2c 70 2b 31 2c 6c 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 4f   ┆s,p+1,l);            END;      O┆
0x428c0…428e0            54 48 45 52 57 49 53 45 0d 0a 20 20 20 20 20 20 49 46 20 4e 4f 54 28 63 68 20 49 4e 20 74 65 72   ┆THERWISE        IF NOT(ch IN ter┆
0x428e0…42900            6d 29 20 54 48 45 4e 20 62 65 65 70 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 0d 0a 20 20 55   ┆m) THEN beep;      END;        U┆
0x42900…42920            4e 54 49 4c 20 63 68 20 49 4e 20 74 65 72 6d 3b 0d 0a 20 20 69 66 20 70 20 3c 20 6c 65 6e 28 73   ┆NTIL ch IN term;    if p < len(s┆
0x42920…42940            29 20 74 68 65 6e 20 42 65 67 69 6e 0d 0a 20 20 20 20 79 79 3a 3d 79 79 20 2b 74 72 75 6e 63 20   ┆) then Begin      yy:=yy +trunc ┆
0x42940…42960            28 28 6c 65 6e 28 73 29 2b 78 29 2f 20 38 31 29 3b 0d 0a 20 20 20 20 78 78 3a 3d 20 28 6c 65 6e   ┆((len(s)+x)/ 81);      xx:= (len┆
0x42960…42980            28 73 29 2b 78 29 20 6d 6f 64 20 38 31 20 3b 0d 0a 20 20 45 6e 64 3b 20 20 0d 0a 20 20 70 3a 3d   ┆(s)+x) mod 81 ;    End;      p:=┆
0x42980…429a0            6c 65 6e 28 73 29 3b 20 67 6f 74 6f 78 79 28 78 78 2c 79 79 29 3b 20 77 72 69 74 65 28 27 27 3a   ┆len(s); gotoxy(xx,yy); write('':┆
0x429a0…429c0            6c 2d 70 29 3b 0d 0a 20 20 74 63 3a 3d 63 68 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a   ┆l-p);    tc:=ch;  END;          ┆
0x429c0…429e0            0d 0a 28 2a 49 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆  (*I---------------------------┆
0x429e0…42a00            2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆--------------------------------┆
0x42a00…42a20            2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 49 2a 29 0d 0a 28 2a 49 20 20 20 44 65 20 65 66 74 65 72   ┆-------------I*)  (*I   De efter┆
0x42a20…42a40            66 9b 6c 67 65 6e 64 65 20 70 72 6f 63 65 64 75 72 65 72 20 65 72 20 6d 61 73 6b 69 6e 73 70 65   ┆f lgende procedurer er maskinspe┆
0x42a40…42a60            63 69 66 69 6b 6b 65 2e 20 44 65 20 65 72 20 64 65 20 20 20 20 20 20 20 20 20 49 2a 29 0d 0a 28   ┆cifikke. De er de         I*)  (┆
0x42a60…42a80            2a 49 20 20 20 65 6e 65 73 74 65 20 73 6f 6d 20 73 6b 61 6c 20 75 64 73 6b 69 66 74 65 73 20 68   ┆*I   eneste som skal udskiftes h┆
0x42a80…42aa0            76 69 73 20 70 72 6f 67 72 61 6d 6d 65 74 20 73 6b 61 6c 20 74 69 6c 70 61 73 73 65 73 20 65 6e   ┆vis programmet skal tilpasses en┆
0x42aa0…42ac0            20 61 6e 64 65 6e 20 20 20 20 49 2a 29 0d 0a 28 2a 49 20 20 20 64 61 74 61 6d 61 74 74 79 70 65   ┆ anden    I*)  (*I   datamattype┆
0x42ac0…42ae0            2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆.                               ┆
0x42ae0…42b00            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 2a 29 0d 0a 28   ┆                          I*)  (┆
0x42b00…42b20            2a 49 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆*I                              ┆
0x42b20…42b40            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x42b40…42b60            20 20 20 20 20 20 20 20 20 20 49 2a 29 0d 0a 28 2a 49 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆          I*)  (*I--------------┆
0x42b60…42b80            2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆--------------------------------┆
0x42b80…42ba0            2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 49 2a 29 0d 0a 0d   ┆--------------------------I*)   ┆
0x42ba0…42bc0            0a 50 52 4f 43 45 44 55 52 45 20 69 6e 69 74 5f 67 72 61 70 68 69 63 73 28 74 79 70 3a 20 53 63   ┆ PROCEDURE init_graphics(typ: Sc┆
0x42bc0…42be0            72 5f 54 59 50 45 29 3b 0d 0a 56 41 52 0d 0a 20 20 53 63 72 5f 4d 4f 44 2c 20 69 3a 20 49 4e 54   ┆r_TYPE);  VAR    Scr_MOD, i: INT┆
0x42be0…42c00            45 47 45 52 3b 0d 0a 20 20 63 68 61 72 66 69 6c 3a 20 46 49 4c 45 20 4f 46 20 63 68 61 72 66 69   ┆EGER;    charfil: FILE OF charfi┆
0x42c00…42c20 (26, 1, 3) 6c 74 79 70 65 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 43 41 53 45 20 74 79 70 20 20 4f 46 0d 0a 20   ┆ltype;  BEGIN    CASE typ  OF   ┆
0x42c20…42c40            20 20 20 4f 4c 49 5f 6c 6f 77 3a 20 28 2a 20 4f 6c 69 76 65 74 74 69 20 67 72 61 70 68 69 63 73   ┆   OLI_low: (* Olivetti graphics┆
0x42c40…42c60            20 36 34 30 2a 32 30 30 20 70 6f 69 6e 74 73 20 2a 29 0d 0a 20 20 20 20 42 45 47 49 4e 0d 0a 20   ┆ 640*200 points *)      BEGIN   ┆
0x42c60…42c80            20 20 20 20 20 53 63 72 5f 73 65 67 6d 3a 3d 24 42 38 30 30 3b 0d 0a 20 20 20 20 20 20 53 63 72   ┆     Scr_segm:=$B800;        Scr┆
0x42c80…42ca0            5f 4d 4f 44 3a 3d 32 3b 0d 0a 20 20 20 20 20 20 53 63 72 5f 73 74 61 72 74 3a 3d 36 3b 0d 0a 20   ┆_MOD:=2;        Scr_start:=6;   ┆
0x42ca0…42cc0            20 20 20 20 20 53 63 72 5f 6d 61 78 78 3a 3d 36 33 39 3b 0d 0a 20 20 20 20 20 20 53 63 72 5f 6d   ┆     Scr_maxx:=639;        Scr_m┆
0x42cc0…42ce0            61 78 79 3a 3d 31 39 39 3b 0d 0a 20 20 20 20 20 20 53 63 72 5f 61 73 70 65 63 74 3a 3d 32 32 30   ┆axy:=199;        Scr_aspect:=220┆
0x42ce0…42d00            3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 4f 4c 49 5f 68 69 67 68 3a 20 28 2a 20 4f 6c   ┆;      END;      OLI_high: (* Ol┆
0x42d00…42d20            69 76 65 74 74 69 20 67 72 61 70 68 69 63 73 20 36 34 30 2a 34 30 30 20 70 6f 69 6e 74 73 20 2a   ┆ivetti graphics 640*400 points *┆
0x42d20…42d40            29 0d 0a 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 53 63 72 5f 73 65 67 6d 3a 3d 24 42   ┆)      BEGIN        Scr_segm:=$B┆
0x42d40…42d60            38 30 30 3b 0d 0a 20 20 20 20 20 20 53 63 72 5f 4d 4f 44 3a 3d 34 3b 0d 0a 20 20 20 20 20 20 53   ┆800;        Scr_MOD:=4;        S┆
0x42d60…42d80            63 72 5f 73 74 61 72 74 3a 3d 36 34 3b 0d 0a 20 20 20 20 20 20 53 63 72 5f 6d 61 78 78 3a 3d 36   ┆cr_start:=64;        Scr_maxx:=6┆
0x42d80…42da0            33 39 3b 0d 0a 20 20 20 20 20 20 53 63 72 5f 6d 61 78 79 3a 3d 33 39 39 3b 0d 0a 20 20 20 20 20   ┆39;        Scr_maxy:=399;       ┆
0x42da0…42dc0            20 53 63 72 5f 61 73 70 65 63 74 3a 3d 31 31 37 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 45   ┆ Scr_aspect:=117;      END;    E┆
0x42dc0…42de0            4e 44 3b 0d 0a 20 20 74 78 74 5f 6d 61 78 78 3a 3d 37 39 3b 0d 0a 20 20 74 78 74 5f 6d 61 78 79   ┆ND;    txt_maxx:=79;    txt_maxy┆
0x42de0…42e00            3a 3d 32 34 3b 0d 0a 20 20 0d 0a 20 20 46 4f 52 20 69 3a 3d 20 30 20 54 4f 20 53 63 72 5f 6d 61   ┆:=24;        FOR i:= 0 TO Scr_ma┆
0x42e00…42e20            78 78 20 44 4f 20 53 63 72 5f 78 61 64 64 72 28 2e 69 2e 29 3a 3d 69 20 44 49 56 20 38 3b 0d 0a   ┆xx DO Scr_xaddr(.i.):=i DIV 8;  ┆
0x42e20…42e40            20 20 46 4f 52 20 69 3a 3d 20 30 20 54 4f 20 53 63 72 5f 6d 61 78 79 20 44 4f 0d 0a 20 20 20 20   ┆  FOR i:= 0 TO Scr_maxy DO      ┆
0x42e40…42e60            53 63 72 5f 79 61 64 64 72 28 2e 53 63 72 5f 6d 61 78 79 2d 69 2e 29 3a 3d 28 28 69 20 4d 4f 44   ┆Scr_yaddr(.Scr_maxy-i.):=((i MOD┆
0x42e60…42e80            20 53 63 72 5f 4d 4f 44 29 2a 24 32 30 30 30 29 20 2b 20 28 28 69 20 44 49 56 20 53 63 72 5f 4d   ┆ Scr_MOD)*$2000) + ((i DIV Scr_M┆
0x42e80…42ea0            4f 44 29 2a 38 30 29 3b 0d 0a 20 20 61 73 73 69 67 6e 28 63 68 61 72 66 69 6c 2c 63 68 61 72 66   ┆OD)*80);    assign(charfil,charf┆
0x42ea0…42ec0            69 6c 6e 61 6d 65 29 3b 0d 0a 20 20 72 65 73 65 74 28 63 68 61 72 66 69 6c 29 3b 0d 0a 20 20 72   ┆ilname);    reset(charfil);    r┆
0x42ec0…42ee0            65 61 64 28 63 68 61 72 66 69 6c 2c 53 63 72 5f 43 48 41 52 29 3b 0d 0a 20 20 63 6c 6f 73 65 28   ┆ead(charfil,Scr_CHAR);    close(┆
0x42ee0…42f00            63 68 61 72 66 69 6c 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 69 6e 69   ┆charfil);  END;    PROCEDURE ini┆
0x42f00…42f20            74 5f 74 65 78 74 3b 0d 0a 56 41 52 20 78 2c 69 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47   ┆t_text;  VAR x,i : INTEGER;  BEG┆
0x42f20…42f40            49 4e 0d 0a 20 20 78 3a 3d 30 3b 0d 0a 20 20 46 4f 52 20 69 3a 3d 30 20 54 4f 20 32 34 20 44 4f   ┆IN    x:=0;    FOR i:=0 TO 24 DO┆
0x42f40…42f60            20 42 45 47 49 4e 0d 0a 20 20 20 20 74 78 74 5f 6c 69 6e 65 70 74 72 28 2e 69 2e 29 3a 3d 70 74   ┆ BEGIN      txt_lineptr(.i.):=pt┆
0x42f60…42f80            72 28 24 42 38 30 30 2c 78 29 3b 0d 0a 20 20 20 20 78 3a 3d 78 2b 31 36 30 3b 0d 0a 20 20 45 4e   ┆r($B800,x);      x:=x+160;    EN┆
0x42f80…42fa0            44 3b 0d 0a 45 4e 44 3b 0d 0a 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 77 72 69 74 65 73 74 72   ┆D;  END;      PROCEDURE writestr┆
0x42fa0…42fc0            28 63 6f 6c 2c 72 6f 77 3a 20 49 4e 54 45 47 45 52 3b 20 73 74 72 3a 20 73 74 72 38 30 29 3b 0d   ┆(col,row: INTEGER; str: str80); ┆
0x42fc0…42fe0            0a 56 41 52 20 61 74 74 72 69 62 3a 20 42 59 54 45 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 61 74 74   ┆ VAR attrib: BYTE;  BEGIN    att┆
0x42fe0…43000            72 69 62 3a 3d 57 6e 64 5f 70 61 6c 65 74 74 65 28 2e 57 6e 64 5f 61 63 74 75 61 6c 2e 29 3b 0d   ┆rib:=Wnd_palette(.Wnd_actual.); ┆
0x43000…43020 (26, 1, 4) 0a 20 20 43 4f 44 45 0d 0a 20 20 20 24 31 45 2c 24 31 45 2c 24 38 41 2c 24 38 36 2c 72 6f 77 2c   ┆   CODE     $1E,$1E,$8A,$86,row,┆
0x43020…43040            24 42 33 2c 24 35 30 2c 24 46 36 2c 24 45 33 2c 24 32 42 2c 24 44 42 2c 24 38 41 2c 24 39 45 2c   ┆$B3,$50,$F6,$E3,$2B,$DB,$8A,$9E,┆
0x43040…43060            63 6f 6c 2c 0d 0a 20 20 20 24 30 33 2c 24 43 33 2c 24 30 33 2c 24 43 30 2c 24 38 42 2c 24 46 38   ┆col,     $03,$C3,$03,$C0,$8B,$F8┆
0x43060…43080            2c 24 62 65 2c 24 30 30 2c 24 30 30 2c 24 38 41 2c 24 42 45 2c 61 74 74 72 69 62 2c 0d 0a 20 20   ┆,$be,$00,$00,$8A,$BE,attrib,    ┆
0x43080…430a0            20 24 38 61 2c 24 38 65 2c 73 74 72 2c 24 32 32 2c 24 63 39 2c 24 37 34 2c 24 33 65 2c 24 32 62   ┆ $8a,$8e,str,$22,$c9,$74,$3e,$2b┆
0x430a0…430c0            2c 24 63 30 2c 24 38 45 2c 24 44 38 2c 24 41 30 2c 24 34 39 2c 24 30 34 2c 0d 0a 20 20 20 24 31   ┆,$c0,$8E,$D8,$A0,$49,$04,     $1┆
0x430c0…430e0            46 2c 24 32 43 2c 24 30 37 2c 24 37 34 2c 24 32 32 2c 24 42 41 2c 24 30 30 2c 24 42 38 2c 24 38   ┆F,$2C,$07,$74,$22,$BA,$00,$B8,$8┆
0x430e0…43100            45 2c 24 44 41 2c 24 42 41 2c 24 44 41 2c 24 30 33 2c 24 34 36 2c 0d 0a 20 20 20 24 38 61 2c 24   ┆E,$DA,$BA,$DA,$03,$46,     $8a,$┆
0x43100…43120            39 41 2c 73 74 72 2c 24 45 43 2c 24 41 38 2c 24 30 31 2c 24 37 35 2c 24 46 42 2c 24 46 41 2c 24   ┆9A,str,$EC,$A8,$01,$75,$FB,$FA,$┆
0x43120…43140            45 43 2c 24 41 38 2c 24 30 31 2c 24 37 34 2c 24 46 42 2c 0d 0a 20 20 20 24 38 39 2c 24 31 44 2c   ┆EC,$A8,$01,$74,$FB,     $89,$1D,┆
0x43140…43160            24 34 37 2c 24 34 37 2c 24 45 32 2c 24 45 61 2c 24 32 41 2c 24 43 30 2c 24 37 34 2c 24 31 30 2c   ┆$47,$47,$E2,$Ea,$2A,$C0,$74,$10,┆
0x43160…43180            24 42 41 2c 24 30 30 2c 24 42 30 2c 0d 0a 20 20 20 24 38 45 2c 24 44 41 2c 24 34 36 2c 24 38 61   ┆$BA,$00,$B0,     $8E,$DA,$46,$8a┆
0x43180…431a0            2c 24 39 41 2c 73 74 72 2c 24 38 39 2c 24 31 44 2c 24 34 37 2c 24 34 37 2c 24 45 32 2c 24 46 35   ┆,$9A,str,$89,$1D,$47,$47,$E2,$F5┆
0x431a0…431c0            2c 24 31 46 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 67 72 61 70 68 6d 6f   ┆,$1F;  END;    PROCEDURE graphmo┆
0x431c0…431e0            64 65 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 49 46 20 74 78 74 5f 6d 6f 64 65 20 54 48 45 4e 20 42   ┆de;  BEGIN    IF txt_mode THEN B┆
0x431e0…43200            45 47 49 4e 0d 0a 20 20 20 20 74 78 74 5f 6d 61 78 78 3a 3d 53 63 72 5f 6d 61 78 78 20 44 49 56   ┆EGIN      txt_maxx:=Scr_maxx DIV┆
0x43200…43220            20 38 3b 0d 0a 20 20 20 20 74 78 74 5f 6d 61 78 79 3a 3d 53 63 72 5f 6d 61 78 79 20 44 49 56 20   ┆ 8;      txt_maxy:=Scr_maxy DIV ┆
0x43220…43240            38 3b 0d 0a 20 20 20 20 74 78 74 5f 6d 6f 64 65 3a 3d 66 61 6c 73 65 3b 0d 0a 20 20 20 20 72 65   ┆8;      txt_mode:=false;      re┆
0x43240…43260            67 2e 61 78 3a 3d 53 63 72 5f 73 74 61 72 74 3b 0d 0a 20 20 20 20 73 77 69 6e 74 28 24 31 30 2c   ┆g.ax:=Scr_start;      swint($10,┆
0x43260…43280            72 65 67 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 20 0d 0a 0d 0a 50 52 4f 43 45 44 55 52   ┆reg);    END;  END;     PROCEDUR┆
0x43280…432a0            45 20 74 65 78 74 6d 6f 64 65 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 49 46 20 4e 4f 54 20 74 78 74   ┆E textmode;  BEGIN    IF NOT txt┆
0x432a0…432c0            5f 6d 6f 64 65 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 74 78 74 5f 6d 61 78 78 3a 3d   ┆_mode THEN BEGIN      txt_maxx:=┆
0x432c0…432e0            37 39 3b 0d 0a 20 20 20 20 74 78 74 5f 6d 61 78 79 3a 3d 32 34 3b 0d 0a 20 20 20 20 74 78 74 5f   ┆79;      txt_maxy:=24;      txt_┆
0x432e0…43300            6d 6f 64 65 3a 3d 74 72 75 65 3b 0d 0a 20 20 20 20 72 65 67 2e 61 78 3a 3d 24 30 33 3b 0d 0a 20   ┆mode:=true;      reg.ax:=$03;   ┆
0x43300…43320            20 20 20 73 77 69 6e 74 28 24 31 30 2c 72 65 67 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b   ┆   swint($10,reg);    END;  END;┆
0x43320…43340            0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 73 70 63 28 6c 3a 20 49 4e 54 45 47 45 52 3b 20 63 68 3a   ┆    FUNCTION spc(l: INTEGER; ch:┆
0x43340…43360            20 43 48 41 52 29 3a 73 74 72 38 30 3b 0d 0a 56 41 52 20 0d 0a 20 20 73 09 3a 20 73 74 72 38 30   ┆ CHAR):str80;  VAR     s : str80┆
0x43360…43380            3b 0d 0a 20 20 73 6c 67 74 20 20 3a 20 42 59 54 45 20 41 54 20 73 3b 0d 0a 42 45 47 49 4e 0d 0a   ┆;    slgt  : BYTE AT s;  BEGIN  ┆
0x43380…433a0            20 20 73 6c 67 74 3a 3d 6c 3b 0d 0a 20 20 66 69 6c 6c 28 73 28 2e 31 2e 29 2c 6c 2c 63 68 29 3b   ┆  slgt:=l;    fill(s(.1.),l,ch);┆
0x433a0…433c0            0d 0a 20 20 73 70 63 3a 3d 73 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 72 65   ┆    spc:=s;  END;    FUNCTION re┆
0x433c0…433e0            61 64 73 74 72 74 78 74 28 78 2c 79 2c 6c 3a 20 49 4e 54 45 47 45 52 29 3a 20 73 74 72 38 30 3b   ┆adstrtxt(x,y,l: INTEGER): str80;┆
0x433e0…43400            0d 0a 56 41 52 0d 0a 20 20 69 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 73 74 72 3a 20 73 74 72   ┆  VAR    i: INTEGER;    str: str┆
0x43400…43420 (26, 1, 5) 38 30 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 73 74 72 3a 3d 27 27 3b 0d 0a 20 20 57 49 54 48 20 57   ┆80;  BEGIN    str:='';    WITH W┆
0x43420…43440            6e 64 5f 20 44 4f 0d 0a 20 20 20 20 46 4f 52 20 69 3a 3d 74 78 74 78 31 2b 78 20 54 4f 20 74 78   ┆nd_ DO      FOR i:=txtx1+x TO tx┆
0x43440…43460            74 78 31 2b 6c 20 44 4f 0d 0a 20 20 20 20 20 20 73 74 72 3a 3d 73 74 72 2b 74 78 74 5f 6c 69 6e   ┆tx1+l DO        str:=str+txt_lin┆
0x43460…43480            65 70 74 72 28 2e 79 2e 29 5e 28 2e 69 2e 29 2e 63 68 3b 0d 0a 20 20 72 65 61 64 73 74 72 54 78   ┆eptr(.y.)^(.i.).ch;    readstrTx┆
0x43480…434a0            74 3a 3d 73 74 72 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 73 77 61 70 28   ┆t:=str;  END;    PROCEDURE swap(┆
0x434a0…434c0            56 41 52 20 61 2c 62 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 20 63 3a 20 49 4e 54 45 47   ┆VAR a,b: INTEGER);  VAR c: INTEG┆
0x434c0…434e0            45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 63 3a 3d 61 3b 20 61 3a 3d 62 3b 20 62 3a 3d 63 3b 0d   ┆ER;  BEGIN    c:=a; a:=b; b:=c; ┆
0x434e0…43500            0a 45 4e 44 3b 20 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 63 72 5f 77 72 69 74 65 64 6f 74   ┆ END;     PROCEDURE Scr_writedot┆
0x43500…43520            28 78 2c 79 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 57 6e 64 5f 43 6f 6c 6f   ┆(x,y: INTEGER);  BEGIN  Wnd_Colo┆
0x43520…43540            72 3a 3d 57 6e 64 5f 2e 70 65 6e 63 6f 6c 6f 72 3b 0d 0a 43 4f 44 45 0d 0a 24 38 42 2c 24 37 45   ┆r:=Wnd_.pencolor;  CODE  $8B,$7E┆
0x43540…43560            2c 24 30 36 2c 24 38 42 2c 24 37 36 2c 24 30 34 2c 24 38 39 2c 24 46 39 2c 24 44 31 2c 24 45 37   ┆,$06,$8B,$76,$04,$89,$F9,$D1,$E7┆
0x43560…43580            2c 24 44 31 2c 24 45 36 2c 24 38 42 2c 24 39 44 2c 3e 53 63 72 5f 78 61 64 64 72 2c 0d 0a 24 30   ┆,$D1,$E6,$8B,$9D,>Scr_xaddr,  $0┆
0x43580…435a0            33 2c 24 39 43 2c 3e 53 63 72 5f 79 61 64 64 72 2c 24 38 30 2c 24 45 31 2c 24 30 37 2c 24 42 32   ┆3,$9C,>Scr_yaddr,$80,$E1,$07,$B2┆
0x435a0…435c0            2c 24 38 30 2c 24 44 32 2c 24 45 41 2c 24 38 45 2c 24 30 36 2c 3e 53 63 72 5f 73 65 67 6d 2c 24   ┆,$80,$D2,$EA,$8E,$06,>Scr_segm,$┆
0x435c0…435e0            41 30 2c 0d 0a 3e 57 6e 64 5f 63 6f 6c 6f 72 2c 24 33 43 2c 24 46 46 2c 24 37 35 2c 24 30 35 2c   ┆A0,  >Wnd_color,$3C,$FF,$75,$05,┆
0x435e0…43600            24 32 36 2c 24 30 38 2c 24 31 37 2c 24 45 42 2c 24 30 45 2c 24 33 43 2c 24 30 30 2c 24 37 35 2c   ┆$26,$08,$17,$EB,$0E,$3C,$00,$75,┆
0x43600…43620            24 30 37 2c 24 46 36 2c 0d 0a 24 44 32 2c 24 32 36 2c 24 32 30 2c 24 31 37 2c 24 45 42 2c 24 30   ┆$07,$F6,  $D2,$26,$20,$17,$EB,$0┆
0x43620…43640            33 2c 24 32 36 2c 24 33 30 2c 24 31 37 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52   ┆3,$26,$30,$17;  END;    PROCEDUR┆
0x43640…43660            45 20 6d 6f 76 65 53 63 72 5f 74 6f 6d 65 6d 28 78 2c 79 2c 78 6c 65 6e 3a 20 49 4e 54 45 47 45   ┆E moveScr_tomem(x,y,xlen: INTEGE┆
0x43660…43680            52 3b 6b 31 2c 6b 32 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 43 4f 44 45 0d   ┆R;k1,k2: INTEGER);  BEGIN  CODE ┆
0x43680…436a0            0a 24 38 42 2c 24 37 45 2c 24 30 41 2c 24 44 31 2c 24 45 37 2c 24 38 42 2c 24 38 35 2c 3e 53 63   ┆ $8B,$7E,$0A,$D1,$E7,$8B,$85,>Sc┆
0x436a0…436c0            72 5f 79 61 64 64 72 2c 24 38 42 2c 24 34 45 2c 24 30 38 2c 24 38 42 2c 24 37 45 2c 24 30 43 2c   ┆r_yaddr,$8B,$4E,$08,$8B,$7E,$0C,┆
0x436c0…436e0            24 44 31 2c 0d 0a 24 45 37 2c 24 38 45 2c 24 30 36 2c 3e 53 63 72 5f 73 65 67 6d 2c 24 31 45 2c   ┆$D1,  $E7,$8E,$06,>Scr_segm,$1E,┆
0x436e0…43700            24 43 35 2c 24 37 36 2c 24 30 34 2c 24 38 43 2c 24 44 41 2c 24 38 39 2c 24 43 33 2c 24 31 46 2c   ┆$C5,$76,$04,$8C,$DA,$89,$C3,$1F,┆
0x43700…43720            24 30 33 2c 24 39 44 2c 0d 0a 3e 53 63 72 5f 78 61 64 64 72 2c 24 31 45 2c 24 38 45 2c 24 44 41   ┆$03,$9D,  >Scr_xaddr,$1E,$8E,$DA┆
0x43720…43740            2c 24 35 31 2c 24 32 36 2c 24 38 61 2c 24 30 66 2c 24 38 38 2c 24 30 63 2c 24 35 39 2c 24 34 36   ┆,$51,$26,$8a,$0f,$88,$0c,$59,$46┆
0x43740…43760            2c 24 38 33 2c 24 43 37 2c 24 31 30 2c 0d 0a 24 45 32 2c 24 45 39 2c 24 31 46 3b 0d 0a 45 4e 44   ┆,$83,$C7,$10,  $E2,$E9,$1F;  END┆
0x43760…43780            3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 6d 6f 76 65 6d 65 6d 74 6f 53 63 72 5f 28 78 2c 79   ┆;    PROCEDURE movememtoScr_(x,y┆
0x43780…437a0            2c 78 6c 65 6e 3a 20 49 4e 54 45 47 45 52 3b 6b 31 2c 6b 32 3a 49 4e 54 45 47 45 52 29 3b 0d 0a   ┆,xlen: INTEGER;k1,k2:INTEGER);  ┆
0x437a0…437c0            42 45 47 49 4e 0d 0a 43 4f 44 45 0d 0a 24 38 42 2c 24 37 45 2c 24 30 41 2c 24 44 31 2c 24 45 37   ┆BEGIN  CODE  $8B,$7E,$0A,$D1,$E7┆
0x437c0…437e0            2c 24 38 42 2c 24 38 35 2c 3e 53 63 72 5f 79 61 64 64 72 2c 24 38 42 2c 24 34 45 2c 24 30 38 2c   ┆,$8B,$85,>Scr_yaddr,$8B,$4E,$08,┆
0x437e0…43800            24 38 42 2c 24 37 45 2c 24 30 43 2c 24 44 31 2c 0d 0a 24 45 37 2c 24 38 45 2c 24 30 36 2c 3e 53   ┆$8B,$7E,$0C,$D1,  $E7,$8E,$06,>S┆
0x43800…43820 (27, 0, 1) 63 72 5f 73 65 67 6d 2c 24 31 45 2c 24 43 35 2c 24 37 36 2c 24 30 34 2c 24 38 43 2c 24 44 41 2c   ┆cr_segm,$1E,$C5,$76,$04,$8C,$DA,┆
0x43820…43840            24 38 39 2c 24 43 33 2c 24 31 46 2c 24 30 33 2c 24 39 44 2c 0d 0a 3e 53 63 72 5f 78 61 64 64 72   ┆$89,$C3,$1F,$03,$9D,  >Scr_xaddr┆
0x43840…43860            2c 24 31 45 2c 24 38 45 2c 24 44 41 2c 24 35 31 2c 24 38 41 2c 24 30 43 2c 24 32 36 2c 24 38 38   ┆,$1E,$8E,$DA,$51,$8A,$0C,$26,$88┆
0x43860…43880            2c 24 30 46 2c 24 35 39 2c 24 34 36 2c 24 38 33 2c 24 43 37 2c 24 31 30 2c 0d 0a 24 45 32 2c 24   ┆,$0F,$59,$46,$83,$C7,$10,  $E2,$┆
0x43880…438a0            45 39 2c 24 31 46 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 66 69 6c 6c 76   ┆E9,$1F;  END;    PROCEDURE fillv┆
0x438a0…438c0            69 64 65 6f 6c 69 6e 65 28 78 2c 79 2c 78 6c 65 6e 2c 63 6f 6c 6f 72 3a 20 49 4e 54 45 47 45 52   ┆ideoline(x,y,xlen,color: INTEGER┆
0x438c0…438e0            29 3b 0d 0a 42 45 47 49 4e 0d 0a 43 4f 44 45 0d 0a 24 38 42 2c 24 37 45 2c 24 30 38 2c 24 44 31   ┆);  BEGIN  CODE  $8B,$7E,$08,$D1┆
0x438e0…43900            2c 24 45 37 2c 24 38 42 2c 24 38 35 2c 3e 53 63 72 5f 79 61 64 64 72 2c 24 38 42 2c 24 34 45 2c   ┆,$E7,$8B,$85,>Scr_yaddr,$8B,$4E,┆
0x43900…43920            24 30 36 2c 24 38 42 2c 24 37 45 2c 24 30 41 2c 24 38 45 2c 0d 0a 24 30 36 2c 3e 53 63 72 5f 73   ┆$06,$8B,$7E,$0A,$8E,  $06,>Scr_s┆
0x43920…43940            65 67 6d 2c 24 38 42 2c 24 35 36 2c 24 30 34 2c 24 38 39 2c 24 43 33 2c 24 38 39 2c 24 46 45 2c   ┆egm,$8B,$56,$04,$89,$C3,$89,$FE,┆
0x43940…43960            24 44 31 2c 24 45 36 2c 24 30 33 2c 24 39 43 2c 3e 53 63 72 5f 78 61 64 64 72 2c 0d 0a 24 32 36   ┆$D1,$E6,$03,$9C,>Scr_xaddr,  $26┆
0x43960…43980            2c 24 38 38 2c 24 31 37 2c 24 38 33 2c 24 43 37 2c 24 30 38 2c 24 45 32 2c 24 45 45 3b 0d 0a 45   ┆,$88,$17,$83,$C7,$08,$E2,$EE;  E┆
0x43980…439a0            4e 44 3b 0d 0a 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 62 61 73 65 61 64 64 72 28 78 2c 79 3a 20   ┆ND;      FUNCTION baseaddr(x,y: ┆
0x439a0…439c0            49 4e 54 45 47 45 52 29 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 43 4f 44 45 0d   ┆INTEGER): INTEGER;  BEGIN  CODE ┆
0x439c0…439e0            0a 24 38 42 2c 24 37 45 2c 24 30 36 2c 24 38 42 2c 24 37 36 2c 24 30 34 2c 24 44 31 2c 24 45 37   ┆ $8B,$7E,$06,$8B,$76,$04,$D1,$E7┆
0x439e0…43a00            2c 24 44 31 2c 24 45 36 2c 24 38 42 2c 24 39 43 2c 3e 53 63 72 5f 79 61 64 64 72 2c 24 30 33 2c   ┆,$D1,$E6,$8B,$9C,>Scr_yaddr,$03,┆
0x43a00…43a20            24 39 44 2c 0d 0a 3e 53 63 72 5f 78 61 64 64 72 2c 24 38 39 2c 24 35 45 2c 24 30 38 3b 0d 0a 45   ┆$9D,  >Scr_xaddr,$89,$5E,$08;  E┆
0x43a20…43a40            4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 53 63 72 5f 52 65 61 64 44 6f 74 28 78 2c 79 3a   ┆ND;    FUNCTION Scr_ReadDot(x,y:┆
0x43a40…43a60            49 4e 54 45 47 45 52 29 3a 42 4f 4f 4c 45 41 4e 3b 0d 0a 56 41 52 20 74 6f 74 61 6c 3a 20 49 4e   ┆INTEGER):BOOLEAN;  VAR total: IN┆
0x43a60…43a80            54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 74 6f 74 61 6c 3a 3d 53 63 72 5f 78 61 64 64 72   ┆TEGER;  BEGIN   total:=Scr_xaddr┆
0x43a80…43aa0            28 2e 78 2e 29 2b 53 63 72 5f 79 61 64 64 72 28 2e 79 2e 29 3b 0d 0a 20 53 63 72 5f 72 65 61 64   ┆(.x.)+Scr_yaddr(.y.);   Scr_read┆
0x43aa0…43ac0            64 6f 74 3a 3d 0d 0a 20 28 57 6e 64 5f 2e 70 65 6e 63 6f 6c 6f 72 3d 62 6c 61 63 6b 29 20 45 58   ┆dot:=   (Wnd_.pencolor=black) EX┆
0x43ac0…43ae0            4f 52 20 28 6d 65 6d 28 2e 53 63 72 5f 73 65 67 6d 3a 74 6f 74 61 6c 2e 29 20 41 4e 44 20 28 31   ┆OR (mem(.Scr_segm:total.) AND (1┆
0x43ae0…43b00            32 38 20 53 48 52 20 28 78 20 41 4e 44 20 37 29 29 3c 3e 30 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a   ┆28 SHR (x AND 7))<>0);  END;    ┆
0x43b00…43b20            50 52 4f 43 45 44 55 52 45 20 53 63 72 5f 66 69 6c 6c 28 78 31 2c 79 31 2c 78 32 2c 79 32 3a 49   ┆PROCEDURE Scr_fill(x1,y1,x2,y2:I┆
0x43b20…43b40            4e 54 45 47 45 52 3b 20 63 6f 6c 6f 72 3a 20 42 59 54 45 29 3b 0d 0a 56 41 52 0d 0a 20 79 2c 6c   ┆NTEGER; color: BYTE);  VAR   y,l┆
0x43b40…43b60            3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 6c 3a 3d 28 78 32 2d 78 31 2b 31   ┆: INTEGER;  BEGIN    l:=(x2-x1+1┆
0x43b60…43b80            29 20 44 49 56 20 38 3b 0d 0a 20 20 46 4f 52 20 79 3a 3d 79 31 20 54 4f 20 79 32 20 44 4f 20 42   ┆) DIV 8;    FOR y:=y1 TO y2 DO B┆
0x43b80…43ba0            45 47 49 4e 0d 0a 20 20 20 20 66 69 6c 6c 76 69 64 65 6f 6c 69 6e 65 28 78 31 2c 79 2c 6c 2c 63   ┆EGIN      fillvideoline(x1,y,l,c┆
0x43ba0…43bc0            6f 6c 6f 72 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52   ┆olor);    END;  END;    PROCEDUR┆
0x43bc0…43be0            45 20 53 63 72 5f 44 72 61 77 63 68 61 72 28 78 2c 79 3a 20 49 4e 54 45 47 45 52 3b 63 68 3a 20   ┆E Scr_Drawchar(x,y: INTEGER;ch: ┆
0x43be0…43c00            43 48 41 52 29 3b 0d 0a 56 41 52 20 20 74 6f 74 61 6c 2c 69 3a 20 49 4e 54 45 47 45 52 3b 0d 0a   ┆CHAR);  VAR  total,i: INTEGER;  ┆
0x43c00…43c20 (27, 0, 2) 42 45 47 49 4e 0d 0a 20 20 46 4f 52 20 69 3a 3d 30 20 54 4f 20 37 20 44 4f 20 42 45 47 49 4e 0d   ┆BEGIN    FOR i:=0 TO 7 DO BEGIN ┆
0x43c20…43c40            0a 20 20 20 20 74 6f 74 61 6c 3a 3d 53 63 72 5f 78 61 64 64 72 28 2e 78 2e 29 2b 53 63 72 5f 79   ┆     total:=Scr_xaddr(.x.)+Scr_y┆
0x43c40…43c60            61 64 64 72 28 2e 79 2d 69 2b 37 2e 29 3b 0d 0a 20 20 20 20 43 41 53 45 20 57 6e 64 5f 2e 70 65   ┆addr(.y-i+7.);      CASE Wnd_.pe┆
0x43c60…43c80            6e 63 6f 6c 6f 72 20 4f 46 0d 0a 20 20 20 20 77 68 69 74 65 3a 0d 0a 20 20 20 20 20 20 6d 65 6d   ┆ncolor OF      white:        mem┆
0x43c80…43ca0            28 2e 53 63 72 5f 73 65 67 6d 3a 74 6f 74 61 6c 2e 29 3a 3d 53 63 72 5f 43 48 41 52 28 2e 6f 72   ┆(.Scr_segm:total.):=Scr_CHAR(.or┆
0x43ca0…43cc0            64 28 63 68 29 2c 69 2e 29 3b 0d 0a 20 20 20 20 62 6c 61 63 6b 3a 0d 0a 20 20 20 20 20 20 6d 65   ┆d(ch),i.);      black:        me┆
0x43cc0…43ce0            6d 28 2e 53 63 72 5f 73 65 67 6d 3a 74 6f 74 61 6c 2e 29 3a 3d 20 28 4e 4f 54 20 53 63 72 5f 43   ┆m(.Scr_segm:total.):= (NOT Scr_C┆
0x43ce0…43d00            48 41 52 28 2e 6f 72 64 28 63 68 29 2c 69 2e 29 20 41 4e 44 20 24 46 46 29 3b 0d 0a 20 20 20 20   ┆HAR(.ord(ch),i.) AND $FF);      ┆
0x43d00…43d20            74 72 61 6e 73 70 3a 0d 0a 20 20 20 20 20 20 6d 65 6d 28 2e 53 63 72 5f 73 65 67 6d 3a 74 6f 74   ┆transp:        mem(.Scr_segm:tot┆
0x43d20…43d40            61 6c 2e 29 3a 3d 20 53 63 72 5f 43 48 41 52 28 2e 6f 72 64 28 63 68 29 2c 69 2e 29 20 45 58 4f   ┆al.):= Scr_CHAR(.ord(ch),i.) EXO┆
0x43d40…43d60            52 20 6d 65 6d 28 2e 53 63 72 5f 73 65 67 6d 3a 74 6f 74 61 6c 2e 29 3b 0d 0a 20 20 20 20 45 4e   ┆R mem(.Scr_segm:total.);      EN┆
0x43d60…43d80            44 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 63   ┆D;    END;  END;    PROCEDURE Sc┆
0x43d80…43da0            72 5f 64 72 61 77 4c 69 6e 65 28 78 78 31 2c 79 79 31 2c 78 78 32 2c 79 79 32 3a 20 49 4e 54 45   ┆r_drawLine(xx1,yy1,xx2,yy2: INTE┆
0x43da0…43dc0            47 45 52 29 3b 0d 0a 56 41 52 0d 0a 20 20 6c 67 5f 64 65 6c 74 61 2c 20 73 68 5f 64 65 6c 74 61   ┆GER);  VAR    lg_delta, sh_delta┆
0x43dc0…43de0            2c 20 6c 67 5f 73 74 65 70 2c 20 73 68 5f 73 74 65 70 2c 20 63 79 63 6c 65 2c 20 74 6f 74 61 6c   ┆, lg_step, sh_step, cycle, total┆
0x43de0…43e00            3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 6c 67 5f 64 65 6c 74 61 3a 3d 78   ┆: INTEGER;  BEGIN    lg_delta:=x┆
0x43e00…43e20            78 32 2d 78 78 31 3b 20 73 68 5f 64 65 6c 74 61 3a 3d 79 79 32 2d 79 79 31 3b 0d 0a 20 20 49 46   ┆x2-xx1; sh_delta:=yy2-yy1;    IF┆
0x43e20…43e40            20 6c 67 5f 64 65 6c 74 61 3c 30 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 6c 67 5f 64   ┆ lg_delta<0 THEN BEGIN      lg_d┆
0x43e40…43e60            65 6c 74 61 3a 3d 2d 6c 67 5f 64 65 6c 74 61 3b 20 6c 67 5f 73 74 65 70 3a 3d 2d 31 0d 0a 20 20   ┆elta:=-lg_delta; lg_step:=-1    ┆
0x43e60…43e80            45 4e 44 20 45 4c 53 45 20 6c 67 5f 73 74 65 70 3a 3d 31 3b 0d 0a 20 20 49 46 20 73 68 5f 64 65   ┆END ELSE lg_step:=1;    IF sh_de┆
0x43e80…43ea0            6c 74 61 3c 30 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 73 68 5f 64 65 6c 74 61 3a 3d   ┆lta<0 THEN BEGIN      sh_delta:=┆
0x43ea0…43ec0            2d 73 68 5f 64 65 6c 74 61 3b 20 73 68 5f 73 74 65 70 3a 3d 2d 31 0d 0a 20 20 45 4e 44 20 45 4c   ┆-sh_delta; sh_step:=-1    END EL┆
0x43ec0…43ee0            53 45 20 73 68 5f 73 74 65 70 3a 3d 31 3b 0d 0a 20 20 49 46 20 73 68 5f 64 65 6c 74 61 3c 6c 67   ┆SE sh_step:=1;    IF sh_delta<lg┆
0x43ee0…43f00            5f 64 65 6c 74 61 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 63 79 63 6c 65 3a 3d 6c 67   ┆_delta THEN BEGIN      cycle:=lg┆
0x43f00…43f20            5f 64 65 6c 74 61 20 53 48 52 20 32 3b 0d 0a 20 20 20 20 57 48 49 4c 45 20 78 78 31 3c 3e 78 78   ┆_delta SHR 2;      WHILE xx1<>xx┆
0x43f20…43f40            32 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 53 63 72 5f 77 72 69 74 65 64 6f 74 28 78   ┆2 DO BEGIN        Scr_writedot(x┆
0x43f40…43f60            78 31 2c 79 79 31 29 3b 0d 0a 20 20 20 20 20 20 78 78 31 3a 3d 78 78 31 2b 6c 67 5f 73 74 65 70   ┆x1,yy1);        xx1:=xx1+lg_step┆
0x43f60…43f80            3b 20 63 79 63 6c 65 3a 3d 63 79 63 6c 65 2b 73 68 5f 64 65 6c 74 61 3b 0d 0a 20 20 20 20 20 20   ┆; cycle:=cycle+sh_delta;        ┆
0x43f80…43fa0            49 46 20 63 79 63 6c 65 3e 6c 67 5f 64 65 6c 74 61 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20   ┆IF cycle>lg_delta THEN BEGIN    ┆
0x43fa0…43fc0            20 20 20 20 20 20 79 79 31 3a 3d 79 79 31 2b 73 68 5f 73 74 65 70 3b 20 63 79 63 6c 65 3a 3d 63   ┆      yy1:=yy1+sh_step; cycle:=c┆
0x43fc0…43fe0            79 63 6c 65 2d 6c 67 5f 64 65 6c 74 61 3b 0d 0a 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20   ┆ycle-lg_delta;        END;      ┆
0x43fe0…44000            45 4e 44 3b 0d 0a 20 20 45 4e 44 0d 0a 20 20 45 4c 53 45 20 42 45 47 49 4e 0d 0a 20 20 20 20 63   ┆END;    END    ELSE BEGIN      c┆
0x44000…44020 (27, 0, 3) 79 63 6c 65 3a 3d 73 68 5f 64 65 6c 74 61 20 53 48 52 20 32 3b 0d 0a 20 20 20 20 73 77 61 70 28   ┆ycle:=sh_delta SHR 2;      swap(┆
0x44020…44040            6c 67 5f 64 65 6c 74 61 2c 73 68 5f 64 65 6c 74 61 29 3b 0d 0a 20 20 20 20 73 77 61 70 28 6c 67   ┆lg_delta,sh_delta);      swap(lg┆
0x44040…44060            5f 73 74 65 70 2c 73 68 5f 73 74 65 70 29 3b 0d 0a 20 20 20 20 57 48 49 4c 45 20 79 79 31 3c 3e   ┆_step,sh_step);      WHILE yy1<>┆
0x44060…44080            79 79 32 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 53 63 72 5f 77 72 69 74 65 64 6f 74   ┆yy2 DO BEGIN        Scr_writedot┆
0x44080…440a0            28 78 78 31 2c 79 79 31 29 3b 0d 0a 20 20 20 20 20 20 79 79 31 3a 3d 79 79 31 2b 6c 67 5f 73 74   ┆(xx1,yy1);        yy1:=yy1+lg_st┆
0x440a0…440c0            65 70 3b 20 63 79 63 6c 65 3a 3d 63 79 63 6c 65 2b 73 68 5f 64 65 6c 74 61 3b 0d 0a 20 20 20 20   ┆ep; cycle:=cycle+sh_delta;      ┆
0x440c0…440e0            20 20 49 46 20 63 79 63 6c 65 3e 6c 67 5f 64 65 6c 74 61 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a   ┆  IF cycle>lg_delta THEN BEGIN  ┆
0x440e0…44100            20 20 20 20 20 20 20 20 78 78 31 3a 3d 78 78 31 2b 73 68 5f 73 74 65 70 3b 20 63 79 63 6c 65 3a   ┆        xx1:=xx1+sh_step; cycle:┆
0x44100…44120            3d 63 79 63 6c 65 2d 6c 67 5f 64 65 6c 74 61 3b 0d 0a 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20   ┆=cycle-lg_delta;        END;    ┆
0x44120…44140            20 20 45 4e 44 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e   ┆  END;    END;  END;    FUNCTION┆
0x44140…44160            20 69 73 71 72 74 28 61 72 67 3a 20 49 4e 54 45 47 45 52 29 3a 49 4e 54 45 47 45 52 3b 0d 0a 56   ┆ isqrt(arg: INTEGER):INTEGER;  V┆
0x44160…44180            41 52 0d 0a 20 20 6f 64 64 5f 69 6e 74 2c 20 6f 6c 64 5f 61 72 67 2c 20 66 69 72 73 74 5f 73 71   ┆AR    odd_int, old_arg, first_sq┆
0x44180…441a0            72 74 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 6f 64 64 5f 69 6e 74 3a 3d   ┆rt: INTEGER;  BEGIN    odd_int:=┆
0x441a0…441c0            31 3b 20 6f 6c 64 5f 61 72 67 3a 3d 61 72 67 3b 0d 0a 20 20 57 48 49 4c 45 20 61 72 67 3e 3d 30   ┆1; old_arg:=arg;    WHILE arg>=0┆
0x441c0…441e0            20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 61 72 67 3a 3d 61 72 67 2d 6f 64 64 5f 69 6e 74 3b   ┆ DO BEGIN      arg:=arg-odd_int;┆
0x441e0…44200            0d 0a 20 20 20 20 6f 64 64 5f 69 6e 74 3a 3d 6f 64 64 5f 69 6e 74 2b 32 3b 0d 0a 20 20 45 4e 44   ┆      odd_int:=odd_int+2;    END┆
0x44200…44220            3b 0d 0a 20 20 66 69 72 73 74 5f 73 71 72 74 3a 3d 6f 64 64 5f 69 6e 74 20 53 48 52 20 31 3b 0d   ┆;    first_sqrt:=odd_int SHR 1; ┆
0x44220…44240            0a 20 20 49 46 20 73 71 72 28 66 69 72 73 74 5f 73 71 72 74 29 2d 66 69 72 73 74 5f 73 71 72 74   ┆   IF sqr(first_sqrt)-first_sqrt┆
0x44240…44260            2b 31 3e 6f 6c 64 5f 61 72 67 20 54 48 45 4e 0d 0a 20 20 20 20 69 73 71 72 74 3a 3d 66 69 72 73   ┆+1>old_arg THEN      isqrt:=firs┆
0x44260…44280            74 5f 73 71 72 74 2d 31 20 45 4c 53 45 20 69 73 71 72 74 3a 3d 66 69 72 73 74 5f 73 71 72 74 3b   ┆t_sqrt-1 ELSE isqrt:=first_sqrt;┆
0x44280…442a0            0d 0a 45 4e 44 3b 0d 0a 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 63 72 5f 6f 70 65 72 61 74   ┆  END;      PROCEDURE Scr_operat┆
0x442a0…442c0            69 6f 6e 28 6f 70 72 3a 20 6f 70 72 74 79 70 65 3b 78 31 2c 20 79 31 2c 20 78 32 2c 20 79 32 3a   ┆ion(opr: oprtype;x1, y1, x2, y2:┆
0x442c0…442e0            20 49 4e 54 45 47 45 52 3b 62 75 66 66 65 72 3a 20 62 75 66 74 79 70 65 29 3b 0d 0a 56 41 52 0d   ┆ INTEGER;buffer: buftype);  VAR ┆
0x442e0…44300            0a 20 20 69 2c 78 2c 79 2c 79 79 2c 6b 31 2c 6b 32 2c 6c 2c 74 6f 74 61 6c 3a 20 49 4e 54 45 47   ┆   i,x,y,yy,k1,k2,l,total: INTEG┆
0x44300…44320            45 52 3b 0d 0a 20 20 73 77 70 62 75 66 3a 20 61 72 72 61 79 28 2e 30 2e 2e 31 30 30 2e 29 20 6f   ┆ER;    swpbuf: array(.0..100.) o┆
0x44320…44340            66 20 62 79 74 65 3b 0d 0a 20 20 62 75 66 70 3a 5e 69 6e 74 65 67 65 72 3b 0d 0a 42 45 47 49 4e   ┆f byte;    bufp:^integer;  BEGIN┆
0x44340…44360            0d 0a 20 20 6b 31 3a 3d 6f 66 73 28 62 75 66 66 65 72 5e 29 3b 6b 32 3a 3d 73 65 67 28 62 75 66   ┆    k1:=ofs(buffer^);k2:=seg(buf┆
0x44360…44380            66 65 72 5e 29 3b 20 6c 3a 3d 28 78 32 2d 78 31 2b 37 29 20 44 49 56 20 38 3b 62 75 66 70 3a 3d   ┆fer^); l:=(x2-x1+7) DIV 8;bufp:=┆
0x44380…443a0            61 64 64 72 28 73 77 70 62 75 66 29 3b 0d 0a 20 20 46 4f 52 20 79 3a 3d 79 31 20 54 4f 20 79 32   ┆addr(swpbuf);    FOR y:=y1 TO y2┆
0x443a0…443c0            20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 63 61 73 65 20 6f 70 72 20 6f 66 0d 0a 20 20 20 20   ┆ DO BEGIN      case opr of      ┆
0x443c0…443e0            20 20 6c 6f 61 64 3a 20 6d 6f 76 65 6d 65 6d 74 6f 53 63 72 5f 28 78 31 2c 79 2c 6c 2c 6b 32 2c   ┆  load: movememtoScr_(x1,y,l,k2,┆
0x443e0…44400            6b 31 29 3b 0d 0a 20 20 20 20 20 20 73 61 76 65 3a 20 6d 6f 76 65 53 63 72 5f 74 6f 6d 65 6d 28   ┆k1);        save: moveScr_tomem(┆
0x44400…44420 (27, 0, 4) 78 31 2c 79 2c 6c 2c 6b 32 2c 6b 31 29 3b 0d 0a 20 20 20 20 20 20 73 63 72 73 77 61 70 3a 0d 0a   ┆x1,y,l,k2,k1);        scrswap:  ┆
0x44420…44440            20 20 20 20 20 20 62 65 67 69 6e 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 65 73 63 72 5f 74 6f 6d   ┆      begin          movescr_tom┆
0x44440…44460            65 6d 28 78 31 2c 79 2c 6c 2c 73 65 67 28 73 77 70 62 75 66 29 2c 6f 66 73 28 73 77 70 62 75 66   ┆em(x1,y,l,seg(swpbuf),ofs(swpbuf┆
0x44460…44480            29 29 3b 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 65 6d 65 6d 74 6f 73 63 72 5f 28 78 31 2c 79 2c   ┆));          movememtoscr_(x1,y,┆
0x44480…444a0            6c 2c 6b 32 2c 6b 31 29 3b 0d 0a 20 20 20 20 20 20 20 20 62 75 66 66 65 72 3a 3d 70 74 72 28 6b   ┆l,k2,k1);          buffer:=ptr(k┆
0x444a0…444c0            32 2c 6b 31 29 3b 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 65 28 73 77 70 62 75 66 2c 62 75 66 66   ┆2,k1);          move(swpbuf,buff┆
0x444c0…444e0            65 72 5e 2c 6c 29 3b 0d 0a 20 20 20 20 20 20 65 6e 64 3b 0d 0a 20 20 20 20 20 20 6f 74 68 65 72   ┆er^,l);        end;        other┆
0x444e0…44500            77 69 73 65 20 68 61 6c 74 3b 0d 0a 20 20 20 20 20 65 6e 64 3b 0d 0a 20 20 20 20 6b 31 3a 3d 6b   ┆wise halt;       end;      k1:=k┆
0x44500…44520            31 2b 6c 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20   ┆1+l;    END;  END;    PROCEDURE ┆
0x44520…44540            57 6e 64 5f 57 72 69 74 65 44 6f 74 28 78 2c 20 79 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 20 20   ┆Wnd_WriteDot(x, y: INTEGER);    ┆
0x44540…44560            42 45 47 49 4e 0d 0a 20 20 20 20 49 46 20 28 28 78 20 3e 3d 20 30 29 20 41 4e 44 20 28 78 20 3c   ┆BEGIN      IF ((x >= 0) AND (x <┆
0x44560…44580            3d 20 57 6e 64 5f 2e 4d 61 78 58 29 29 20 41 4e 44 20 28 28 79 20 3e 3d 20 30 29 20 41 4e 44 20   ┆= Wnd_.MaxX)) AND ((y >= 0) AND ┆
0x44580…445a0            28 79 20 3c 3d 20 57 6e 64 5f 2e 4d 61 78 59 29 29 20 54 48 45 4e 0d 0a 20 20 20 20 20 20 53 63   ┆(y <= Wnd_.MaxY)) THEN        Sc┆
0x445a0…445c0            72 5f 57 72 69 74 65 44 6f 74 28 78 20 2b 20 57 6e 64 5f 2e 58 31 2c 20 79 20 2b 20 57 6e 64 5f   ┆r_WriteDot(x + Wnd_.X1, y + Wnd_┆
0x445c0…445e0            2e 59 31 29 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 57 6e 64 5f 52 65 61   ┆.Y1)    END;    FUNCTION Wnd_Rea┆
0x445e0…44600            64 44 6f 74 28 78 2c 20 79 20 3a 20 49 4e 54 45 47 45 52 29 20 3a 20 42 4f 4f 4c 45 41 4e 3b 0d   ┆dDot(x, y : INTEGER) : BOOLEAN; ┆
0x44600…44620            0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 49 46 20 28 78 20 3c 20 30 29 20 4f 52 20 28 78 20 3e   ┆   BEGIN      IF (x < 0) OR (x >┆
0x44620…44640            20 57 6e 64 5f 2e 4d 61 78 58 29 20 4f 52 20 28 79 20 3c 20 30 29 20 4f 52 20 28 79 20 3e 20 57   ┆ Wnd_.MaxX) OR (y < 0) OR (y > W┆
0x44640…44660            6e 64 5f 2e 4d 61 78 59 29 20 54 48 45 4e 0d 0a 20 20 20 20 20 20 57 6e 64 5f 52 65 61 64 44 6f   ┆nd_.MaxY) THEN        Wnd_ReadDo┆
0x44660…44680            74 20 3a 3d 20 66 61 6c 73 65 0d 0a 20 20 20 20 45 4c 53 45 20 57 6e 64 5f 52 65 61 64 44 6f 74   ┆t := false      ELSE Wnd_ReadDot┆
0x44680…446a0            20 3a 3d 20 53 63 72 5f 52 65 61 64 44 6f 74 28 78 20 2b 20 57 6e 64 5f 2e 58 31 2c 79 20 2b 20   ┆ := Scr_ReadDot(x + Wnd_.X1,y + ┆
0x446a0…446c0            57 6e 64 5f 2e 59 31 29 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 63 6f 6e   ┆Wnd_.Y1)    END;    FUNCTION con┆
0x446c0…446e0            76 65 72 74 28 78 78 3a 52 45 41 4c 29 3a 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20   ┆vert(xx:REAL):INTEGER;  BEGIN   ┆
0x446e0…44700            20 49 46 20 78 78 3e 6d 61 78 69 6e 74 20 54 48 45 4e 20 63 6f 6e 76 65 72 74 3a 3d 6d 61 78 69   ┆ IF xx>maxint THEN convert:=maxi┆
0x44700…44720            6e 74 20 45 4c 53 45 20 49 46 20 78 78 3c 2d 6d 61 78 69 6e 74 20 54 48 45 4e 0d 0a 20 20 63 6f   ┆nt ELSE IF xx<-maxint THEN    co┆
0x44720…44740            6e 76 65 72 74 3a 3d 2d 6d 61 78 69 6e 74 20 45 4c 53 45 20 63 6f 6e 76 65 72 74 3a 3d 74 72 75   ┆nvert:=-maxint ELSE convert:=tru┆
0x44740…44760            6e 63 28 78 78 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 5f 47 72 4f 75 74   ┆nc(xx);  END;    FUNCTION _GrOut┆
0x44760…44780            63 6f 64 65 28 78 31 2c 20 79 31 2c 20 4d 61 78 58 2c 20 4d 61 78 59 3a 20 49 4e 54 45 47 45 52   ┆code(x1, y1, MaxX, MaxY: INTEGER┆
0x44780…447a0            29 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 56 41 52 20 61 3a 20 42 59 54 45 3b 0d 0a 42 45 47 49 4e   ┆): INTEGER;  VAR a: BYTE;  BEGIN┆
0x447a0…447c0            0d 0a 20 20 61 3a 3d 30 3b 0d 0a 20 20 49 46 20 78 31 3e 6d 61 78 78 20 54 48 45 4e 20 61 3a 3d   ┆    a:=0;    IF x1>maxx THEN a:=┆
0x447c0…447e0            61 20 4f 52 20 24 30 34 3b 0d 0a 20 20 49 46 20 78 31 3c 30 20 54 48 45 4e 20 61 3a 3d 61 20 4f   ┆a OR $04;    IF x1<0 THEN a:=a O┆
0x447e0…44800            52 20 24 30 38 3b 0d 0a 20 20 49 46 20 79 31 3e 6d 61 78 79 20 54 48 45 4e 20 61 3a 3d 61 20 4f   ┆R $08;    IF y1>maxy THEN a:=a O┆
0x44800…44820 (27, 0, 5) 52 20 24 30 31 3b 0d 0a 20 20 49 46 20 79 31 3c 30 20 54 48 45 4e 20 61 3a 3d 61 20 4f 52 20 24   ┆R $01;    IF y1<0 THEN a:=a OR $┆
0x44820…44840            30 32 3b 0d 0a 20 20 5f 47 72 4f 75 74 63 6f 64 65 3a 3d 61 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46   ┆02;    _GrOutcode:=a;  END;    F┆
0x44840…44860            55 4e 43 54 49 4f 4e 20 5f 57 6e 64 5f 43 6c 69 70 4c 69 6e 65 28 56 41 52 20 78 31 2c 20 79 31   ┆UNCTION _Wnd_ClipLine(VAR x1, y1┆
0x44860…44880            2c 20 78 32 2c 20 79 32 20 3a 20 49 4e 54 45 47 45 52 29 20 3a 20 42 4f 4f 4c 45 41 4e 3b 0d 0a   ┆, x2, y2 : INTEGER) : BOOLEAN;  ┆
0x44880…448a0            56 41 52 20 64 6f 6e 65 20 3a 20 42 4f 4f 4c 45 41 4e 3b 0d 0a 20 20 6f 75 74 63 6f 64 65 31 2c   ┆VAR done : BOOLEAN;    outcode1,┆
0x448a0…448c0            20 6f 75 74 63 6f 64 65 32 20 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 64   ┆ outcode2 : INTEGER;  BEGIN    d┆
0x448c0…448e0            6f 6e 65 20 20 3a 3d 20 46 41 4c 53 45 3b 0d 0a 20 20 5f 57 6e 64 5f 43 6c 69 70 4c 69 6e 65 20   ┆one  := FALSE;    _Wnd_ClipLine ┆
0x448e0…44900            3a 3d 20 46 41 4c 53 45 3b 0d 0a 20 20 6f 75 74 63 6f 64 65 32 20 3a 3d 20 5f 47 72 4f 75 74 63   ┆:= FALSE;    outcode2 := _GrOutc┆
0x44900…44920            6f 64 65 28 78 32 2c 20 79 32 2c 20 57 6e 64 5f 2e 4d 61 78 58 2c 20 57 6e 64 5f 2e 4d 61 78 59   ┆ode(x2, y2, Wnd_.MaxX, Wnd_.MaxY┆
0x44920…44940            29 3b 0d 0a 20 20 52 45 50 45 41 54 0d 0a 20 20 20 20 6f 75 74 63 6f 64 65 31 20 3a 3d 20 5f 47   ┆);    REPEAT      outcode1 := _G┆
0x44940…44960            72 4f 75 74 63 6f 64 65 28 78 31 2c 20 79 31 2c 20 20 57 6e 64 5f 2e 4d 61 78 58 2c 20 57 6e 64   ┆rOutcode(x1, y1,  Wnd_.MaxX, Wnd┆
0x44960…44980            5f 2e 4d 61 78 59 29 3b 0d 0a 20 20 20 20 49 46 20 28 6f 75 74 63 6f 64 65 31 20 4f 52 20 6f 75   ┆_.MaxY);      IF (outcode1 OR ou┆
0x44980…449a0            74 63 6f 64 65 32 29 20 3d 20 30 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 5f 57   ┆tcode2) = 0 THEN BEGIN        _W┆
0x449a0…449c0            6e 64 5f 43 6c 69 70 4c 69 6e 65 20 3a 3d 20 54 52 55 45 3b 0d 0a 20 20 20 20 20 20 64 6f 6e 65   ┆nd_ClipLine := TRUE;        done┆
0x449c0…449e0            20 3a 3d 20 54 52 55 45 20 45 4e 44 0d 0a 20 20 20 20 45 4c 53 45 20 49 46 20 28 6f 75 74 63 6f   ┆ := TRUE END      ELSE IF (outco┆
0x449e0…44a00            64 65 31 20 41 4e 44 20 20 6f 75 74 63 6f 64 65 32 29 20 3c 3e 20 30 20 54 48 45 4e 0d 0a 20 20   ┆de1 AND  outcode2) <> 0 THEN    ┆
0x44a00…44a20            20 20 20 20 20 42 45 47 49 4e 20 5f 57 6e 64 5f 43 6c 69 70 4c 69 6e 65 20 3a 3d 20 46 41 4c 53   ┆     BEGIN _Wnd_ClipLine := FALS┆
0x44a20…44a40            45 3b 20 64 6f 6e 65 20 3a 3d 20 54 52 55 45 0d 0a 20 20 20 20 45 4e 44 20 45 4c 53 45 20 42 45   ┆E; done := TRUE      END ELSE BE┆
0x44a40…44a60            47 49 4e 0d 0a 20 20 20 20 20 20 49 46 20 6f 75 74 63 6f 64 65 31 20 3d 20 30 20 54 48 45 4e 20   ┆GIN        IF outcode1 = 0 THEN ┆
0x44a60…44a80            42 45 47 49 4e 20 53 77 61 70 28 6f 75 74 63 6f 64 65 31 2c 6f 75 74 63 6f 64 65 32 29 3b 0d 0a   ┆BEGIN Swap(outcode1,outcode2);  ┆
0x44a80…44aa0            20 20 20 20 20 20 53 77 61 70 28 78 31 2c 20 78 32 29 3b 0d 0a 20 20 20 20 20 20 53 77 61 70 28   ┆      Swap(x1, x2);        Swap(┆
0x44aa0…44ac0            79 31 2c 20 79 32 29 0d 0a 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 20 20 49 46 20 28 6f   ┆y1, y2)        END;        IF (o┆
0x44ac0…44ae0            75 74 63 6f 64 65 31 20 20 41 4e 44 20 24 30 31 29 20 3c 3e 20 30 20 54 48 45 4e 20 42 45 47 49   ┆utcode1  AND $01) <> 0 THEN BEGI┆
0x44ae0…44b00            4e 0d 0a 20 20 20 20 20 20 20 20 78 31 20 3a 3d 20 78 31 20 2b 20 63 6f 6e 76 65 72 74 28 28 78   ┆N          x1 := x1 + convert((x┆
0x44b00…44b20            32 20 2d 20 78 31 29 20 2a 20 28 28 57 6e 64 5f 2e 4d 61 78 59 20 2d 20 79 31 29 20 2f 20 28 79   ┆2 - x1) * ((Wnd_.MaxY - y1) / (y┆
0x44b20…44b40            32 20 20 2d 20 79 31 29 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 79 31 20 3a 3d 20 57 6e 64 5f 2e   ┆2  - y1)));          y1 := Wnd_.┆
0x44b40…44b60            4d 61 78 59 0d 0a 20 20 20 20 20 20 45 4e 44 20 45 4c 53 45 20 49 46 20 28 6f 75 74 63 6f 64 65   ┆MaxY        END ELSE IF (outcode┆
0x44b60…44b80            31 20 41 4e 44 20 24 30 32 29 20 3c 3e 20 30 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20   ┆1 AND $02) <> 0 THEN BEGIN      ┆
0x44b80…44ba0            20 20 20 20 78 31 20 3a 3d 20 78 31 20 2b 20 63 6f 6e 76 65 72 74 28 28 78 32 20 2d 20 78 31 29   ┆    x1 := x1 + convert((x2 - x1)┆
0x44ba0…44bc0            20 2a 20 28 28 30 2e 30 2d 79 31 29 20 2f 20 28 79 32 20 2d 20 79 31 29 29 29 3b 0d 0a 20 20 20   ┆ * ((0.0-y1) / (y2 - y1)));     ┆
0x44bc0…44be0            20 20 20 20 20 79 31 20 3a 3d 20 30 0d 0a 20 20 20 20 20 20 45 4e 44 20 45 4c 53 45 20 49 46 20   ┆     y1 := 0        END ELSE IF ┆
0x44be0…44c00            28 6f 75 74 63 6f 64 65 31 20 41 4e 44 20 24 30 34 29 20 3c 3e 20 30 20 54 48 45 4e 20 42 45 47   ┆(outcode1 AND $04) <> 0 THEN BEG┆
0x44c00…44c20 (27, 1, 1) 49 4e 0d 0a 20 20 20 20 20 20 20 20 79 31 20 3a 3d 20 79 31 20 2b 20 63 6f 6e 76 65 72 74 28 28   ┆IN          y1 := y1 + convert((┆
0x44c20…44c40            79 32 20 2d 20 79 31 29 20 2a 20 28 28 57 6e 64 5f 2e 4d 61 78 58 20 2d 20 78 31 29 20 2f 20 28   ┆y2 - y1) * ((Wnd_.MaxX - x1) / (┆
0x44c40…44c60            78 32 20 2d 20 78 31 29 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 78 31 20 3a 3d 20 57 6e 64 5f 2e   ┆x2 - x1)));          x1 := Wnd_.┆
0x44c60…44c80            4d 61 78 58 0d 0a 20 20 20 20 20 20 45 4e 44 20 45 4c 53 45 20 49 46 20 28 6f 75 74 63 6f 64 65   ┆MaxX        END ELSE IF (outcode┆
0x44c80…44ca0            31 20 41 4e 44 20 24 30 38 29 20 3c 3e 20 30 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20   ┆1 AND $08) <> 0 THEN BEGIN      ┆
0x44ca0…44cc0            20 20 20 20 79 31 20 3a 3d 20 79 31 20 2b 20 63 6f 6e 76 65 72 74 28 28 79 32 20 2d 20 79 31 29   ┆    y1 := y1 + convert((y2 - y1)┆
0x44cc0…44ce0            20 2a 28 28 30 2e 30 2d 78 31 29 20 2f 20 28 78 32 20 2d 20 78 31 29 29 29 3b 0d 0a 20 20 20 20   ┆ *((0.0-x1) / (x2 - x1)));      ┆
0x44ce0…44d00            20 20 20 20 78 31 20 3a 3d 20 30 0d 0a 20 20 20 20 20 20 45 4e 44 0d 0a 20 20 20 20 45 4e 44 0d   ┆    x1 := 0        END      END ┆
0x44d00…44d20            0a 20 20 55 4e 54 49 4c 20 64 6f 6e 65 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45   ┆   UNTIL done  END;    PROCEDURE┆
0x44d20…44d40            20 57 6e 64 5f 44 72 61 77 4c 69 6e 65 28 78 31 2c 20 79 31 2c 20 78 32 2c 20 79 32 3a 20 49 4e   ┆ Wnd_DrawLine(x1, y1, x2, y2: IN┆
0x44d40…44d60            54 45 47 45 52 29 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 49 46 20 5f 57 6e 64 5f 43 6c   ┆TEGER);    BEGIN      IF _Wnd_Cl┆
0x44d60…44d80            69 70 4c 69 6e 65 28 78 31 2c 20 79 31 2c 20 78 32 2c 20 79 32 29 20 54 48 45 4e 0d 0a 20 20 20   ┆ipLine(x1, y1, x2, y2) THEN     ┆
0x44d80…44da0            20 20 20 53 63 72 5f 44 72 61 77 4c 69 6e 65 28 78 31 20 2b 20 57 6e 64 5f 2e 58 31 2c 20 79 31   ┆   Scr_DrawLine(x1 + Wnd_.X1, y1┆
0x44da0…44dc0            20 2b 20 57 6e 64 5f 2e 59 31 2c 20 78 32 20 2b 20 57 6e 64 5f 2e 58 31 2c 0d 0a 20 20 20 20 20   ┆ + Wnd_.Y1, x2 + Wnd_.X1,       ┆
0x44dc0…44de0            20 79 32 20 2b 20 57 6e 64 5f 2e 59 31 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45   ┆ y2 + Wnd_.Y1);    END;    PROCE┆
0x44de0…44e00            44 55 52 45 20 57 6e 64 5f 44 72 61 77 42 6f 78 28 78 31 2c 20 79 31 2c 20 78 32 2c 20 79 32 20   ┆DURE Wnd_DrawBox(x1, y1, x2, y2 ┆
0x44e00…44e20            3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 20 20 56 41 52 20 44 72 61 77 54 6f 70 2c 20 44 72 61 77   ┆: INTEGER);    VAR DrawTop, Draw┆
0x44e20…44e40            42 6f 74 2c 20 44 72 61 77 4c 65 66 74 2c 20 44 72 61 77 52 69 67 68 74 20 3a 20 42 4f 4f 4c 45   ┆Bot, DrawLeft, DrawRight : BOOLE┆
0x44e40…44e60            41 4e 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 49 46 20 78 31 20 3e 20 78 32 20 54 48 45   ┆AN;    BEGIN      IF x1 > x2 THE┆
0x44e60…44e80            4e 20 53 77 61 70 28 78 31 2c 20 78 32 29 3b 0d 0a 20 20 20 20 49 46 20 79 31 20 3e 20 79 32 20   ┆N Swap(x1, x2);      IF y1 > y2 ┆
0x44e80…44ea0            54 48 45 4e 20 53 77 61 70 28 79 31 2c 20 79 32 29 3b 0d 0a 0d 0a 20 20 20 20 49 46 20 78 31 20   ┆THEN Swap(y1, y2);        IF x1 ┆
0x44ea0…44ec0            3e 20 57 6e 64 5f 2e 4d 61 78 58 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20 20 20 49 46 20 79   ┆> Wnd_.MaxX THEN exit;      IF y┆
0x44ec0…44ee0            31 20 3e 20 57 6e 64 5f 2e 4d 61 78 59 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20 20 20 49 46   ┆1 > Wnd_.MaxY THEN exit;      IF┆
0x44ee0…44f00            20 78 32 20 3c 20 30 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20 20 20 49 46 20 79 32 20 3c 20   ┆ x2 < 0 THEN exit;      IF y2 < ┆
0x44f00…44f20            30 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 0d 0a 20 20 20 20 44 72 61 77 54 6f 70 20 3a 3d 20 54   ┆0 THEN exit;        DrawTop := T┆
0x44f20…44f40            52 55 45 3b 0d 0a 20 20 20 20 44 72 61 77 42 6f 74 20 3a 3d 20 54 52 55 45 3b 0d 0a 20 20 20 20   ┆RUE;      DrawBot := TRUE;      ┆
0x44f40…44f60            44 72 61 77 4c 65 66 74 20 3a 3d 20 54 52 55 45 3b 0d 0a 20 20 20 20 44 72 61 77 52 69 67 68 74   ┆DrawLeft := TRUE;      DrawRight┆
0x44f60…44f80            20 3a 3d 20 54 52 55 45 3b 0d 0a 0d 0a 20 20 20 20 49 46 20 78 31 20 3c 20 30 20 54 48 45 4e 20   ┆ := TRUE;        IF x1 < 0 THEN ┆
0x44f80…44fa0            42 45 47 49 4e 0d 0a 20 20 20 20 20 20 78 31 20 3a 3d 20 30 3b 0d 0a 20 20 20 20 20 20 44 72 61   ┆BEGIN        x1 := 0;        Dra┆
0x44fa0…44fc0            77 4c 65 66 74 20 3a 3d 20 46 41 4c 53 45 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 49 46   ┆wLeft := FALSE      END;      IF┆
0x44fc0…44fe0            20 79 31 20 3c 20 30 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 79 31 20 3a 3d 20   ┆ y1 < 0 THEN BEGIN        y1 := ┆
0x44fe0…45000            30 3b 0d 0a 20 20 20 20 20 20 44 72 61 77 54 6f 70 20 3a 3d 20 46 41 4c 53 45 0d 0a 20 20 20 20   ┆0;        DrawTop := FALSE      ┆
0x45000…45020 (27, 1, 2) 45 4e 44 3b 0d 0a 20 20 20 20 49 46 20 78 32 20 3e 20 57 6e 64 5f 2e 4d 61 78 58 20 54 48 45 4e   ┆END;      IF x2 > Wnd_.MaxX THEN┆
0x45020…45040            20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 78 32 20 3a 3d 20 57 6e 64 5f 2e 4d 61 78 58 3b 0d 0a   ┆ BEGIN        x2 := Wnd_.MaxX;  ┆
0x45040…45060            20 20 20 20 20 20 44 72 61 77 52 69 67 68 74 20 3a 3d 20 46 41 4c 53 45 0d 0a 20 20 20 20 45 4e   ┆      DrawRight := FALSE      EN┆
0x45060…45080            44 3b 0d 0a 20 20 20 20 49 46 20 79 32 20 3e 20 57 6e 64 5f 2e 4d 61 78 59 20 54 48 45 4e 20 42   ┆D;      IF y2 > Wnd_.MaxY THEN B┆
0x45080…450a0            45 47 49 4e 0d 0a 20 20 20 20 20 20 79 32 20 3a 3d 20 57 6e 64 5f 2e 4d 61 78 59 3b 0d 0a 20 20   ┆EGIN        y2 := Wnd_.MaxY;    ┆
0x450a0…450c0            20 20 20 20 44 72 61 77 42 6f 74 20 3a 3d 20 46 41 4c 53 45 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a   ┆    DrawBot := FALSE      END;  ┆
0x450c0…450e0            0d 0a 20 20 20 20 78 31 20 3a 3d 20 78 31 20 2b 20 57 6e 64 5f 2e 58 31 3b 0d 0a 20 20 20 20 78   ┆      x1 := x1 + Wnd_.X1;      x┆
0x450e0…45100            32 20 3a 3d 20 78 32 20 2b 20 57 6e 64 5f 2e 58 31 3b 0d 0a 20 20 20 20 79 31 20 3a 3d 20 28 79   ┆2 := x2 + Wnd_.X1;      y1 := (y┆
0x45100…45120            31 20 2b 20 57 6e 64 5f 2e 59 31 29 3b 0d 0a 20 20 20 20 79 32 20 3a 3d 20 28 79 32 20 2b 20 57   ┆1 + Wnd_.Y1);      y2 := (y2 + W┆
0x45120…45140            6e 64 5f 2e 59 31 29 3b 0d 0a 0d 0a 20 20 20 20 49 46 20 44 72 61 77 54 6f 70 20 54 48 45 4e 20   ┆nd_.Y1);        IF DrawTop THEN ┆
0x45140…45160            53 63 72 5f 44 72 61 77 4c 69 6e 65 28 78 31 2c 20 79 31 2c 20 78 32 2c 20 79 31 29 3b 0d 0a 20   ┆Scr_DrawLine(x1, y1, x2, y1);   ┆
0x45160…45180            20 20 20 49 46 20 44 72 61 77 52 69 67 68 74 20 54 48 45 4e 20 53 63 72 5f 44 72 61 77 4c 69 6e   ┆   IF DrawRight THEN Scr_DrawLin┆
0x45180…451a0            65 28 78 32 2c 20 79 31 2c 20 78 32 2c 20 79 32 29 3b 0d 0a 20 20 20 20 49 46 20 44 72 61 77 42   ┆e(x2, y1, x2, y2);      IF DrawB┆
0x451a0…451c0            6f 74 20 54 48 45 4e 20 53 63 72 5f 44 72 61 77 4c 69 6e 65 28 78 32 2c 20 79 32 2c 20 78 31 2c   ┆ot THEN Scr_DrawLine(x2, y2, x1,┆
0x451c0…451e0            20 79 32 29 3b 0d 0a 20 20 20 20 49 46 20 44 72 61 77 4c 65 66 74 20 54 48 45 4e 20 53 63 72 5f   ┆ y2);      IF DrawLeft THEN Scr_┆
0x451e0…45200            44 72 61 77 4c 69 6e 65 28 78 31 2c 20 79 32 2c 20 78 31 2c 20 79 31 29 0d 0a 20 20 45 4e 44 3b   ┆DrawLine(x1, y2, x1, y1)    END;┆
0x45200…45220            0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 57 6e 64 5f 44 72 61 77 43 68 61 72 28 78 2c 20 79 20   ┆    PROCEDURE Wnd_DrawChar(x, y ┆
0x45220…45240            3a 20 49 4e 54 45 47 45 52 3b 20 63 20 3a 20 43 48 41 52 29 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a   ┆: INTEGER; c : CHAR);    BEGIN  ┆
0x45240…45260            20 20 20 20 49 46 20 78 20 3c 20 30 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20 20 20 49 46 20   ┆    IF x < 0 THEN exit;      IF ┆
0x45260…45280            28 78 2b 37 29 20 3e 20 57 6e 64 5f 2e 4d 61 78 58 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20   ┆(x+7) > Wnd_.MaxX THEN exit;    ┆
0x45280…452a0            20 20 20 49 46 20 79 20 3c 20 30 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20 20 20 20 49 46 20   ┆   IF y < 0 THEN exit;       IF ┆
0x452a0…452c0            28 79 2b 37 29 20 3e 20 57 6e 64 5f 2e 4d 61 78 59 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20   ┆(y+7) > Wnd_.MaxY THEN exit;    ┆
0x452c0…452e0            20 20 53 63 72 5f 44 72 61 77 43 68 61 72 28 28 78 20 2b 20 57 6e 64 5f 2e 58 31 20 2b 20 37 29   ┆  Scr_DrawChar((x + Wnd_.X1 + 7)┆
0x452e0…45300            20 41 4e 44 20 24 46 46 46 38 2c 20 28 79 20 2b 20 57 6e 64 5f 2e 59 31 29 2c 20 63 29 0d 0a 20   ┆ AND $FFF8, (y + Wnd_.Y1), c)   ┆
0x45300…45320            20 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 57 6e 64 5f 44 72 61 77 54 65 78 74 28   ┆ END;    PROCEDURE Wnd_DrawText(┆
0x45320…45340            78 2c 20 79 20 3a 20 49 4e 54 45 47 45 52 3b 20 74 20 3a 73 74 72 38 30 20 29 3b 0d 0a 20 20 56   ┆x, y : INTEGER; t :str80 );    V┆
0x45340…45360            41 52 20 69 20 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 46 4f   ┆AR i : INTEGER;    BEGIN      FO┆
0x45360…45380            52 20 69 20 3a 3d 20 31 20 54 4f 20 6c 65 6e 28 74 29 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20   ┆R i := 1 TO len(t) DO BEGIN     ┆
0x45380…453a0            20 20 20 57 6e 64 5f 44 72 61 77 43 68 61 72 28 78 2c 20 79 2c 20 74 5b 69 5d 29 3b 0d 0a 20 20   ┆   Wnd_DrawChar(x, y, tÆiÅ);    ┆
0x453a0…453c0            20 20 20 20 78 20 3a 3d 20 78 20 2b 20 38 0d 0a 20 20 20 20 45 4e 44 0d 0a 20 20 45 4e 44 3b 0d   ┆    x := x + 8      END    END; ┆
0x453c0…453e0            0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 57 6e 64 5f 63 69 72 63 6c 65 28 63 78 2c 20 63 79 2c 20   ┆   PROCEDURE Wnd_circle(cx, cy, ┆
0x453e0…45400            72 61 64 69 75 73 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 0d 0a 20 20 61 2c 20 61 66 2c   ┆radius: INTEGER);  VAR    a, af,┆
0x45400…45420 (27, 1, 3) 20 62 2c 20 62 66 2c 20 74 61 72 67 65 74 2c 20 72 32 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45   ┆ b, bf, target, r2: INTEGER;  BE┆
0x45420…45440            47 49 4e 0d 0a 20 20 74 61 72 67 65 74 3a 3d 30 3b 20 61 3a 3d 20 72 61 64 69 75 73 3b 20 62 3a   ┆GIN    target:=0; a:= radius; b:┆
0x45440…45460            3d 30 3b 20 72 32 3a 3d 73 71 72 28 72 61 64 69 75 73 29 3b 0d 0a 20 20 57 48 49 4c 45 20 61 3e   ┆=0; r2:=sqr(radius);    WHILE a>┆
0x45460…45480            3d 62 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 62 3a 3d 69 73 71 72 74 28 72 32 20 2d 20 73   ┆=b DO BEGIN      b:=isqrt(r2 - s┆
0x45480…454a0            71 72 28 61 29 29 3b 0d 0a 20 20 20 20 73 77 61 70 28 74 61 72 67 65 74 2c 20 62 29 3b 0d 0a 20   ┆qr(a));      swap(target, b);   ┆
0x454a0…454c0            20 20 20 57 48 49 4c 45 20 62 3c 74 61 72 67 65 74 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20   ┆   WHILE b<target DO BEGIN      ┆
0x454c0…454e0            20 20 61 66 3a 3d 53 63 72 5f 61 73 70 65 63 74 2a 61 20 44 49 56 20 31 30 30 3b 20 62 66 3a 3d   ┆  af:=Scr_aspect*a DIV 100; bf:=┆
0x454e0…45500            53 63 72 5f 61 73 70 65 63 74 2a 62 20 44 49 56 20 31 30 30 3b 0d 0a 20 20 20 20 20 20 57 6e 64   ┆Scr_aspect*b DIV 100;        Wnd┆
0x45500…45520            5f 57 72 69 74 65 44 6f 74 28 63 78 2b 61 66 2c 63 79 2b 62 29 3b 20 57 6e 64 5f 57 72 69 74 65   ┆_WriteDot(cx+af,cy+b); Wnd_Write┆
0x45520…45540            44 6f 74 28 63 78 2b 62 66 2c 63 79 2b 61 29 3b 0d 0a 20 20 20 20 20 20 57 6e 64 5f 57 72 69 74   ┆Dot(cx+bf,cy+a);        Wnd_Writ┆
0x45540…45560            65 44 6f 74 28 63 78 2d 61 66 2c 63 79 2b 62 29 3b 20 57 6e 64 5f 57 72 69 74 65 44 6f 74 28 63   ┆eDot(cx-af,cy+b); Wnd_WriteDot(c┆
0x45560…45580            78 2d 62 66 2c 63 79 2b 61 29 3b 0d 0a 20 20 20 20 20 20 57 6e 64 5f 57 72 69 74 65 44 6f 74 28   ┆x-bf,cy+a);        Wnd_WriteDot(┆
0x45580…455a0            63 78 2d 61 66 2c 63 79 2d 62 29 3b 20 57 6e 64 5f 57 72 69 74 65 44 6f 74 28 63 78 2d 62 66 2c   ┆cx-af,cy-b); Wnd_WriteDot(cx-bf,┆
0x455a0…455c0            63 79 2d 61 29 3b 0d 0a 20 20 20 20 20 20 57 6e 64 5f 57 72 69 74 65 44 6f 74 28 63 78 2b 61 66   ┆cy-a);        Wnd_WriteDot(cx+af┆
0x455c0…455e0            2c 63 79 2d 62 29 3b 20 57 6e 64 5f 57 72 69 74 65 44 6f 74 28 63 78 2b 62 66 2c 63 79 2d 61 29   ┆,cy-b); Wnd_WriteDot(cx+bf,cy-a)┆
0x455e0…45600            3b 0d 0a 20 20 20 20 20 20 62 3a 3d 62 2b 31 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20   ┆;        b:=b+1;      END;      ┆
0x45600…45620            61 3a 3d 61 2d 31 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54 49 4f   ┆a:=a-1;    END;  END;    FUNCTIO┆
0x45620…45640            4e 20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 78 20 3a 20 52 45 41 4c 29 20 3a 20 49 4e 54   ┆N _Wld_ToWindowX(x : REAL) : INT┆
0x45640…45660            45 47 45 52 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f   ┆EGER;    BEGIN      _Wld_ToWindo┆
0x45660…45680            77 58 20 3a 3d 20 63 6f 6e 76 65 72 74 28 28 28 78 20 2d 20 57 6c 64 5f 2e 58 31 29 20 2a 20 57   ┆wX := convert(((x - Wld_.X1) * W┆
0x45680…456a0            6e 64 5f 2e 4d 61 78 58 29 20 2f 20 57 6c 64 5f 2e 58 52 61 6e 67 65 29 0d 0a 20 20 45 4e 44 3b   ┆nd_.MaxX) / Wld_.XRange)    END;┆
0x456a0…456c0            0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 59 28 79 20 3a 20   ┆    FUNCTION _Wld_ToWindowY(y : ┆
0x456c0…456e0            52 45 41 4c 29 20 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 5f   ┆REAL) : INTEGER;    BEGIN      _┆
0x456e0…45700            57 6c 64 5f 54 6f 57 69 6e 64 6f 77 59 20 3a 3d 20 63 6f 6e 76 65 72 74 28 28 28 79 20 2d 20 57   ┆Wld_ToWindowY := convert(((y - W┆
0x45700…45720            6c 64 5f 2e 59 31 29 20 2a 20 57 6e 64 5f 2e 4d 61 78 59 29 20 2f 20 57 6c 64 5f 2e 59 52 61 6e   ┆ld_.Y1) * Wnd_.MaxY) / Wld_.YRan┆
0x45720…45740            67 65 29 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 61 76 65 76 69 65   ┆ge)    END;    PROCEDURE Savevie┆
0x45740…45760            77 70 6f 72 74 28 6e 6f 3a 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 0d 0a 20 20 73 69 7a 3a 20   ┆wport(no:INTEGER);  VAR    siz: ┆
0x45760…45780            49 4e 54 45 47 45 52 3b 0d 0a 20 20 69 2c 6a 2c 61 64 72 6f 66 73 2c 61 64 72 73 65 67 09 3a 20   ┆INTEGER;    i,j,adrofs,adrseg : ┆
0x45780…457a0            49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 61 72 72 28   ┆INTEGER;  BEGIN    WITH Wnd_arr(┆
0x457a0…457c0            2e 6e 6f 2e 29 2c 73 61 76 65 5f 61 72 72 28 2e 6e 6f 2e 29 20 44 4f 20 42 45 47 49 4e 0d 0a 20   ┆.no.),save_arr(.no.) DO BEGIN   ┆
0x457c0…457e0            20 20 20 49 46 20 74 78 74 5f 6d 6f 64 65 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20   ┆   IF txt_mode THEN BEGIN       ┆
0x457e0…45800            20 73 69 7a 3a 3d 28 74 78 74 6d 61 78 78 2b 31 29 2a 28 74 78 74 6d 61 78 79 2b 31 29 2a 32 3b   ┆ siz:=(txtmaxx+1)*(txtmaxy+1)*2;┆
0x45800…45820 (27, 1, 4) 0d 0a 20 20 20 20 20 20 49 46 20 28 63 6f 6e 74 65 6e 74 3d 4e 49 4c 29 20 4f 52 20 28 73 69 7a   ┆        IF (content=NIL) OR (siz┆
0x45820…45840            3e 6c 65 6e 67 74 68 29 20 54 48 45 4e 0d 0a 20 20 20 20 20 20 20 20 42 45 47 49 4e 20 61 6c 6c   ┆>length) THEN          BEGIN all┆
0x45840…45860            6f 63 61 74 65 28 63 6f 6e 74 65 6e 74 2c 73 69 7a 29 3b 20 6c 65 6e 67 74 68 3a 3d 73 69 7a 20   ┆ocate(content,siz); length:=siz ┆
0x45860…45880            45 4e 44 3b 0d 0a 20 20 20 20 20 20 61 64 72 73 65 67 3a 3d 73 65 67 28 63 6f 6e 74 65 6e 74 5e   ┆END;        adrseg:=seg(content^┆
0x45880…458a0            29 3b 20 61 64 72 6f 66 73 3a 3d 6f 66 73 28 63 6f 6e 74 65 6e 74 5e 29 3b 0d 0a 20 20 20 20 20   ┆); adrofs:=ofs(content^);       ┆
0x458a0…458c0            20 46 4f 52 20 69 3a 3d 74 78 74 79 31 20 54 4f 20 74 78 74 79 31 2b 74 78 74 6d 61 78 79 20 44   ┆ FOR i:=txty1 TO txty1+txtmaxy D┆
0x458c0…458e0            4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 46 4f 52 20 6a 3a 3d 74 78 74 78 31 20 54 4f   ┆O BEGIN          FOR j:=txtx1 TO┆
0x458e0…45900            20 74 78 74 78 31 2b 74 78 74 6d 61 78 78 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20   ┆ txtx1+txtmaxx DO BEGIN         ┆
0x45900…45920            20 20 20 6d 65 6d 77 28 2e 61 64 72 73 65 67 3a 61 64 72 6f 66 73 2e 29 3a 3d 74 78 74 5f 6c 69   ┆   memw(.adrseg:adrofs.):=txt_li┆
0x45920…45940            6e 65 70 74 72 28 2e 69 2e 29 5e 28 2e 6a 2e 29 2e 62 6f 74 68 3b 0d 0a 20 20 20 20 20 20 20 20   ┆neptr(.i.)^(.j.).both;          ┆
0x45940…45960            20 20 61 64 72 6f 66 73 3a 3d 61 64 72 6f 66 73 2b 32 3b 0d 0a 20 20 20 20 20 20 20 20 45 4e 44   ┆  adrofs:=adrofs+2;          END┆
0x45960…45980            3b 0d 0a 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 45 4e 44 0d 0a 20 20 20 20 45 4c 53 45   ┆;        END;      END      ELSE┆
0x45980…459a0            20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 73 69 7a 3a 3d 28 6d 61 78 78 2b 38 29 20 44 49 56 20   ┆ BEGIN        siz:=(maxx+8) DIV ┆
0x459a0…459c0            38 20 2a 20 28 6d 61 78 79 2b 31 29 3b 0d 0a 20 20 20 20 20 20 49 46 20 28 63 6f 6e 74 65 6e 74   ┆8 * (maxy+1);        IF (content┆
0x459c0…459e0            3d 4e 49 4c 29 20 4f 52 20 28 73 69 7a 3e 6c 65 6e 67 74 68 29 20 54 48 45 4e 0d 0a 20 20 20 20   ┆=NIL) OR (siz>length) THEN      ┆
0x459e0…45a00            20 20 20 20 42 45 47 49 4e 20 61 6c 6c 6f 63 61 74 65 28 63 6f 6e 74 65 6e 74 2c 73 69 7a 29 3b   ┆    BEGIN allocate(content,siz);┆
0x45a00…45a20            20 6c 65 6e 67 74 68 3a 3d 73 69 7a 20 45 4e 44 3b 0d 0a 20 20 20 20 20 20 6f 6c 64 31 3a 3d 57   ┆ length:=siz END;        old1:=W┆
0x45a20…45a40            6c 64 5f 2e 78 6f 6c 64 3b 20 6f 6c 64 32 3a 3d 57 6c 64 5f 2e 79 6f 6c 64 3b 0d 0a 20 20 20 20   ┆ld_.xold; old2:=Wld_.yold;      ┆
0x45a40…45a60            20 20 53 63 72 5f 6f 70 65 72 61 74 69 6f 6e 28 73 61 76 65 2c 20 78 31 2c 20 79 31 2c 20 6d 61   ┆  Scr_operation(save, x1, y1, ma┆
0x45a60…45a80            78 78 2b 78 31 2c 20 6d 61 78 79 2b 79 31 2c 63 6f 6e 74 65 6e 74 29 3b 0d 0a 20 20 20 20 45 4e   ┆xx+x1, maxy+y1,content);      EN┆
0x45a80…45aa0            44 3b 0d 0a 20 20 20 20 77 69 6e 64 3a 3d 57 6e 64 5f 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 73   ┆D;      wind:=Wnd_;    END;    s┆
0x45aa0…45ac0            63 72 5f 73 77 61 70 5f 3a 3d 6c 6f 61 64 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 0d 0a 0d 0a 50 52 4f   ┆cr_swap_:=load;  END;        PRO┆
0x45ac0…45ae0            43 45 44 55 52 45 20 4c 6f 61 64 76 69 65 77 70 6f 72 74 28 6e 6f 2c 78 2c 79 3a 20 49 4e 54 45   ┆CEDURE Loadviewport(no,x,y: INTE┆
0x45ae0…45b00            47 45 52 29 3b 0d 0a 56 41 52 0d 0a 20 20 62 6f 2c 69 2c 6a 2c 61 64 72 6f 66 73 2c 61 64 72 73   ┆GER);  VAR    bo,i,j,adrofs,adrs┆
0x45b00…45b20            65 67 2c 6e 6f 32 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 6e 6f 32 3a   ┆eg,no2 : INTEGER;  BEGIN    no2:┆
0x45b20…45b40            3d 61 62 73 28 6e 6f 29 3b 0d 0a 20 20 57 6e 64 5f 3a 3d 57 6e 64 5f 61 72 72 28 2e 6e 6f 32 2e   ┆=abs(no);    Wnd_:=Wnd_arr(.no2.┆
0x45b40…45b60            29 3b 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 61 72 72 28 2e 6e 6f 32 2e 29 2c 20 73 61 76 65 5f   ┆);    WITH Wnd_arr(.no2.), save_┆
0x45b60…45b80            61 72 72 28 2e 6e 6f 32 2e 29 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 49 46 20 63 6f 6e 74   ┆arr(.no2.) DO BEGIN      IF cont┆
0x45b80…45ba0            65 6e 74 3d 4e 49 4c 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20 20 20 78 31 3a 3d 78 31 2b 78   ┆ent=NIL THEN exit;      x1:=x1+x┆
0x45ba0…45bc0            3b 0d 0a 20 20 20 20 79 31 3a 3d 79 31 2b 79 3b 0d 0a 20 20 20 20 74 78 74 78 31 3a 3d 74 78 74   ┆;      y1:=y1+y;      txtx1:=txt┆
0x45bc0…45be0            78 31 2b 78 3b 0d 0a 20 20 20 20 74 78 74 79 31 3a 3d 74 78 74 79 31 2b 79 3b 0d 0a 20 20 20 20   ┆x1+x;      txty1:=txty1+y;      ┆
0x45be0…45c00            49 46 20 74 78 74 5f 6d 6f 64 65 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 61 64   ┆IF txt_mode THEN BEGIN        ad┆
0x45c00…45c20 (27, 1, 5) 72 73 65 67 3a 3d 73 65 67 28 63 6f 6e 74 65 6e 74 5e 29 3b 20 61 64 72 6f 66 73 3a 3d 6f 66 73   ┆rseg:=seg(content^); adrofs:=ofs┆
0x45c20…45c40            28 63 6f 6e 74 65 6e 74 5e 29 3b 0d 0a 20 20 20 20 20 20 46 4f 52 20 69 3a 3d 74 78 74 79 31 20   ┆(content^);        FOR i:=txty1 ┆
0x45c40…45c60            54 4f 20 74 78 74 79 31 2b 74 78 74 6d 61 78 79 20 44 4f 0d 0a 20 20 20 20 20 20 20 20 46 4f 52   ┆TO txty1+txtmaxy DO          FOR┆
0x45c60…45c80            20 6a 3a 3d 74 78 74 78 31 20 54 4f 20 74 78 74 78 31 2b 74 78 74 6d 61 78 78 20 44 4f 20 42 45   ┆ j:=txtx1 TO txtx1+txtmaxx DO BE┆
0x45c80…45ca0            47 49 4e 0d 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 73 63 72 5f 73 77 61 70 5f 20 3d 73 63 72   ┆GIN            if scr_swap_ =scr┆
0x45ca0…45cc0            73 77 61 70 20 74 68 65 6e 20 62 65 67 69 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 3a   ┆swap then begin              bo:┆
0x45cc0…45ce0            3d 74 78 74 5f 6c 69 6e 65 70 74 72 28 2e 69 2e 29 5e 28 2e 6a 2e 29 2e 62 6f 74 68 3b 0d 0a 20   ┆=txt_lineptr(.i.)^(.j.).both;   ┆
0x45ce0…45d00            20 20 20 20 20 20 20 20 20 20 20 74 78 74 5f 6c 69 6e 65 70 74 72 28 2e 69 2e 29 5e 28 2e 6a 2e   ┆           txt_lineptr(.i.)^(.j.┆
0x45d00…45d20            29 2e 62 6f 74 68 3a 3d 6d 65 6d 77 28 2e 61 64 72 73 65 67 3a 61 64 72 6f 66 73 2e 29 3b 0d 0a   ┆).both:=memw(.adrseg:adrofs.);  ┆
0x45d20…45d40            20 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d 77 28 2e 61 64 72 73 65 67 3a 61 64 72 6f 66 73 2e   ┆            memw(.adrseg:adrofs.┆
0x45d40…45d60            29 3a 3d 62 6f 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 65 6e 64 20 65 6c 73 65 0d 0a 20 20 20 20   ┆):=bo;            end else      ┆
0x45d60…45d80            20 20 20 20 20 20 20 20 74 78 74 5f 6c 69 6e 65 70 74 72 28 2e 69 2e 29 5e 28 2e 6a 2e 29 2e 62   ┆        txt_lineptr(.i.)^(.j.).b┆
0x45d80…45da0            6f 74 68 3a 3d 6d 65 6d 77 28 2e 61 64 72 73 65 67 3a 61 64 72 6f 66 73 2e 29 3b 0d 0a 20 20 20   ┆oth:=memw(.adrseg:adrofs.);     ┆
0x45da0…45dc0            20 20 20 20 20 20 20 61 64 72 6f 66 73 3a 3d 61 64 72 6f 66 73 2b 32 3b 0d 0a 20 20 20 20 20 20   ┆       adrofs:=adrofs+2;        ┆
0x45dc0…45de0            20 20 45 4e 44 3b 0d 0a 20 20 20 20 45 4e 44 0d 0a 20 20 20 20 45 4c 53 45 20 42 45 47 49 4e 0d   ┆  END;      END      ELSE BEGIN ┆
0x45de0…45e00            0a 20 20 20 20 20 20 20 53 63 72 5f 6f 70 65 72 61 74 69 6f 6e 28 73 63 72 5f 73 77 61 70 5f 2c   ┆        Scr_operation(scr_swap_,┆
0x45e00…45e20            78 31 2c 20 79 31 2c 20 6d 61 78 78 2b 78 31 2c 20 6d 61 78 79 2b 79 31 2c 63 6f 6e 74 65 6e 74   ┆x1, y1, maxx+x1, maxy+y1,content┆
0x45e20…45e40            29 3b 0d 0a 20 20 20 20 20 20 20 57 6c 64 5f 2e 78 6f 6c 64 3a 3d 6f 6c 64 31 3b 20 57 6c 64 5f   ┆);         Wld_.xold:=old1; Wld_┆
0x45e40…45e60            2e 79 6f 6c 64 3a 3d 6f 6c 64 32 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 49 46 20 6e   ┆.yold:=old2;      END;      IF n┆
0x45e60…45e80            6f 3c 30 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 72 65 6c 65 61 73 65 28 63 6f   ┆o<0 THEN BEGIN        release(co┆
0x45e80…45ea0            6e 74 65 6e 74 29 3b 63 6f 6e 74 65 6e 74 3a 3d 4e 49 4c 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20   ┆ntent);content:=NIL      END;   ┆
0x45ea0…45ec0            20 20 20 57 6e 64 5f 3a 3d 77 69 6e 64 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 57 49 54 48 20 57   ┆   Wnd_:=wind;    END;    WITH W┆
0x45ec0…45ee0            6e 64 5f 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 78 31 3a 3d 78 31 2b 78 3b 0d 0a 20 20 20   ┆nd_ DO BEGIN      x1:=x1+x;     ┆
0x45ee0…45f00            20 79 31 3a 3d 79 31 2b 79 3b 0d 0a 20 20 20 20 74 78 74 78 31 3a 3d 74 78 74 78 31 2b 78 3b 0d   ┆ y1:=y1+y;      txtx1:=txtx1+x; ┆
0x45f00…45f20            0a 20 20 20 20 74 78 74 79 31 3a 3d 74 78 74 79 31 2b 79 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 28 2a   ┆     txty1:=txty1+y;    END;  (*┆
0x45f20…45f40            20 20 73 61 76 65 5f 61 72 72 28 2e 6e 6f 32 2e 29 2e 77 69 6e 64 3a 3d 57 6e 64 5f 3b 2a 29 0d   ┆  save_arr(.no2.).wind:=Wnd_;*) ┆
0x45f40…45f60            0a 20 20 57 6e 64 5f 61 63 74 75 61 6c 3a 3d 6e 6f 32 3b 0d 0a 20 20 73 63 72 5f 73 77 61 70 5f   ┆   Wnd_actual:=no2;    scr_swap_┆
0x45f60…45f80            3a 3d 6c 6f 61 64 0d 0a 45 4e 44 3b 0d 0a 0d 0a 70 72 6f 63 65 64 75 72 65 20 73 77 61 70 76 69   ┆:=load  END;    procedure swapvi┆
0x45f80…45fa0            65 77 70 6f 72 74 28 6e 6f 2c 78 2c 79 3a 69 6e 74 65 67 65 72 29 3b 0d 0a 62 65 67 69 6e 0d 0a   ┆ewport(no,x,y:integer);  begin  ┆
0x45fa0…45fc0            20 20 73 63 72 5f 73 77 61 70 5f 3a 3d 73 63 72 73 77 61 70 3b 0d 0a 20 20 6c 6f 61 64 76 69 65   ┆  scr_swap_:=scrswap;    loadvie┆
0x45fc0…45fe0            77 70 6f 72 74 28 6e 6f 2c 78 2c 79 29 3b 0d 0a 65 6e 64 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52   ┆wport(no,x,y);  end;    PROCEDUR┆
0x45fe0…46000            45 20 70 6c 6f 74 28 78 2c 20 79 20 3a 20 52 45 41 4c 29 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a 20   ┆E plot(x, y : REAL);    BEGIN   ┆
0x46000…46020 (28, 0, 1) 20 20 20 57 6e 64 5f 57 72 69 74 65 44 6f 74 28 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 78   ┆   Wnd_WriteDot(_Wld_ToWindowX(x┆
0x46020…46040            29 2c 20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 59 28 79 29 29 3b 0d 0a 20 20 20 20 57 6c 64 5f   ┆), _Wld_ToWindowY(y));      Wld_┆
0x46040…46060            2e 58 6f 6c 64 3a 3d 78 3b 20 57 6c 64 5f 2e 59 6f 6c 64 3a 3d 79 3b 0d 0a 20 20 45 4e 44 3b 0d   ┆.Xold:=x; Wld_.Yold:=y;    END; ┆
0x46060…46080            0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 63 69 72 63 6c 65 28 78 2c 79 2c 72 3a 20 52 45 41 4c 29   ┆   PROCEDURE circle(x,y,r: REAL)┆
0x46080…460a0            3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 20 20 57 6e 64 5f 63 69 72 63 6c 65 28 5f 57 6c 64 5f 54 6f   ┆;  BEGIN      Wnd_circle(_Wld_To┆
0x460a0…460c0            57 69 6e 64 6f 77 58 28 78 29 2c 20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 59 28 79 29 2c 5f 77   ┆WindowX(x), _Wld_ToWindowY(y),_w┆
0x460c0…460e0            6c 64 5f 74 6f 77 69 6e 64 6f 77 59 28 72 29 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54   ┆ld_towindowY(r));  END;    FUNCT┆
0x460e0…46100            49 4f 4e 20 67 65 74 63 6f 6c 6f 72 28 78 2c 20 79 20 3a 20 52 45 41 4c 29 3a 20 42 4f 4f 4c 45   ┆ION getcolor(x, y : REAL): BOOLE┆
0x46100…46120            41 4e 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 67 65 74 63 6f 6c 6f 72 20 3a 3d 20 57 6e   ┆AN;    BEGIN      getcolor := Wn┆
0x46120…46140            64 5f 52 65 61 64 44 6f 74 28 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 78 29 2c 20 5f 57 6c   ┆d_ReadDot(_Wld_ToWindowX(x), _Wl┆
0x46140…46160            64 5f 54 6f 57 69 6e 64 6f 77 59 28 79 29 29 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45   ┆d_ToWindowY(y))    END;    PROCE┆
0x46160…46180            44 55 52 45 20 6d 6f 76 65 74 6f 28 78 2c 79 3a 52 45 41 4c 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20   ┆DURE moveto(x,y:REAL);  BEGIN   ┆
0x46180…461a0            20 57 6c 64 5f 2e 58 4f 6c 64 3a 3d 78 3b 20 57 6c 64 5f 2e 59 4f 6c 64 3a 3d 79 3b 0d 0a 45 4e   ┆ Wld_.XOld:=x; Wld_.YOld:=y;  EN┆
0x461a0…461c0            44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 6d 6f 76 65 72 65 6c 28 78 2c 79 3a 20 52 45 41   ┆D;    PROCEDURE moverel(x,y: REA┆
0x461c0…461e0            4c 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 6d 6f 76 65 74 6f 28 57 6c 64 5f 2e 58 4f 6c 64 2b 78   ┆L);  BEGIN    moveto(Wld_.XOld+x┆
0x461e0…46200            2c 57 6c 64 5f 2e 59 4f 6c 64 2b 79 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52   ┆,Wld_.YOld+y);  END;    PROCEDUR┆
0x46200…46220            45 20 44 72 61 77 74 6f 28 78 32 2c 20 79 32 20 3a 20 52 45 41 4c 29 3b 0d 0a 20 20 42 45 47 49   ┆E Drawto(x2, y2 : REAL);    BEGI┆
0x46220…46240            4e 0d 0a 20 20 20 20 57 6e 64 5f 44 72 61 77 4c 69 6e 65 28 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f   ┆N      Wnd_DrawLine(_Wld_ToWindo┆
0x46240…46260            77 58 28 57 6c 64 5f 2e 58 4f 6c 64 29 2c 20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 59 28 57 6c   ┆wX(Wld_.XOld), _Wld_ToWindowY(Wl┆
0x46260…46280            64 5f 2e 59 4f 6c 64 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f 57 6c 64   ┆d_.YOld),                   _Wld┆
0x46280…462a0            5f 54 6f 57 69 6e 64 6f 77 58 28 78 32 29 2c 20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 59 28 79   ┆_ToWindowX(x2), _Wld_ToWindowY(y┆
0x462a0…462c0            32 29 29 3b 0d 0a 20 20 20 20 57 6c 64 5f 2e 58 4f 6c 64 3a 3d 78 32 3b 20 57 6c 64 5f 2e 59 4f   ┆2));      Wld_.XOld:=x2; Wld_.YO┆
0x462c0…462e0            6c 64 3a 3d 79 32 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 64 72 61   ┆ld:=y2;    END;    PROCEDURE dra┆
0x462e0…46300            77 72 65 6c 28 78 2c 79 3a 20 52 45 41 4c 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 64 72 61 77 74   ┆wrel(x,y: REAL);  BEGIN    drawt┆
0x46300…46320            6f 28 78 2b 57 6c 64 5f 2e 58 4f 6c 64 2c 79 2b 57 6c 64 5f 2e 59 4f 6c 64 29 3b 0d 0a 45 4e 44   ┆o(x+Wld_.XOld,y+Wld_.YOld);  END┆
0x46320…46340            3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 50 6c 6f 74 43 68 61 72 28 78 2c 20 79 20 3a 20 52   ┆;    PROCEDURE PlotChar(x, y : R┆
0x46340…46360            45 41 4c 3b 20 63 20 3a 20 43 48 41 52 29 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 57 6e   ┆EAL; c : CHAR);    BEGIN      Wn┆
0x46360…46380            64 5f 44 72 61 77 43 68 61 72 28 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 78 29 2c 20 5f 57   ┆d_DrawChar(_Wld_ToWindowX(x), _W┆
0x46380…463a0            6c 64 5f 54 6f 57 69 6e 64 6f 77 59 28 79 29 2c 20 63 29 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 50   ┆ld_ToWindowY(y), c)    END;    P┆
0x463a0…463c0            52 4f 43 45 44 55 52 45 20 50 6c 6f 74 54 65 78 74 28 78 2c 20 79 3a 20 52 45 41 4c 3b 20 74 3a   ┆ROCEDURE PlotText(x, y: REAL; t:┆
0x463c0…463e0            20 73 74 72 38 30 29 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 57 6e 64 5f 44 72 61 77 54   ┆ str80);    BEGIN      Wnd_DrawT┆
0x463e0…46400            65 78 74 28 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 78 29 2c 20 5f 57 6c 64 5f 54 6f 57 49   ┆ext(_Wld_ToWindowX(x), _Wld_ToWI┆
0x46400…46420 (28, 0, 2) 6e 64 6f 77 59 28 79 29 2c 20 74 29 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 0d 0a 70 72 6f 63 65 64   ┆ndowY(y), t)    END;      proced┆
0x46420…46440            75 72 65 20 70 6c 6f 74 74 65 78 74 73 69 7a 65 28 78 2c 79 3a 20 72 65 61 6c 3b 20 73 69 7a 78   ┆ure plottextsize(x,y: real; sizx┆
0x46440…46460            2c 73 69 7a 79 3a 20 69 6e 74 65 67 65 72 3b 20 73 3a 20 73 74 72 38 30 29 3b 0d 0a 76 61 72 0d   ┆,sizy: integer; s: str80);  var ┆
0x46460…46480            0a 20 20 69 2c 78 31 2c 79 31 2c 78 32 2c 79 32 2c 78 62 65 67 2c 78 65 6e 64 2c 79 62 65 67 2c   ┆   i,x1,y1,x2,y2,xbeg,xend,ybeg,┆
0x46480…464a0            79 65 6e 64 2c 78 78 2c 79 79 3a 20 69 6e 74 65 67 65 72 3b 0d 0a 20 20 63 62 79 74 65 3a 20 62   ┆yend,xx,yy: integer;    cbyte: b┆
0x464a0…464c0            79 74 65 3b 0d 0a 62 65 67 69 6e 0d 0a 20 20 78 78 3a 3d 5f 77 6c 64 5f 74 6f 77 69 6e 64 6f 77   ┆yte;  begin    xx:=_wld_towindow┆
0x464c0…464e0            78 28 78 29 3b 0d 0a 20 20 79 79 3a 3d 5f 77 6c 64 5f 74 6f 77 69 6e 64 6f 77 79 28 79 29 3b 0d   ┆x(x);    yy:=_wld_towindowy(y); ┆
0x464e0…46500            0a 20 20 66 6f 72 20 69 3a 3d 31 20 74 6f 20 6c 65 6e 28 73 29 20 64 6f 20 62 65 67 69 6e 0d 0a   ┆   for i:=1 to len(s) do begin  ┆
0x46500…46520            20 20 20 20 66 6f 72 20 79 31 3a 3d 30 20 74 6f 20 37 20 64 6f 20 62 65 67 69 6e 0d 0a 20 20 20   ┆    for y1:=0 to 7 do begin     ┆
0x46520…46540            20 20 20 63 62 79 74 65 3a 3d 73 63 72 5f 63 68 61 72 28 2e 62 79 74 65 28 73 28 2e 69 2e 29 29   ┆   cbyte:=scr_char(.byte(s(.i.))┆
0x46540…46560            2c 28 37 2d 79 31 29 2e 29 20 3b 0d 0a 20 20 20 20 20 20 66 6f 72 20 78 31 3a 3d 30 20 74 6f 20   ┆,(7-y1).) ;        for x1:=0 to ┆
0x46560…46580            37 20 64 6f 20 62 65 67 69 6e 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 63 62 79 74 65 20 73 68   ┆7 do begin          if (cbyte sh┆
0x46580…465a0            72 20 28 37 2d 78 31 29 29 20 61 6e 64 20 31 3c 3e 30 20 74 68 65 6e 20 62 65 67 69 6e 0d 0a 20   ┆r (7-x1)) and 1<>0 then begin   ┆
0x465a0…465c0            20 20 20 20 20 20 20 20 20 78 62 65 67 3a 3d 78 78 2b 78 31 2a 73 69 7a 78 3b 0d 0a 20 20 20 20   ┆         xbeg:=xx+x1*sizx;      ┆
0x465c0…465e0            20 20 20 20 20 20 78 65 6e 64 3a 3d 78 62 65 67 2b 73 69 7a 78 2d 31 3b 0d 0a 20 20 20 20 20 20   ┆      xend:=xbeg+sizx-1;        ┆
0x465e0…46600            20 20 20 20 79 62 65 67 3a 3d 79 79 2b 79 31 2a 73 69 7a 79 3b 0d 0a 20 20 20 20 20 20 20 20 20   ┆    ybeg:=yy+y1*sizy;           ┆
0x46600…46620            20 79 65 6e 64 3a 3d 79 62 65 67 2b 73 69 7a 79 2d 31 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 66   ┆ yend:=ybeg+sizy-1;            f┆
0x46620…46640            6f 72 20 78 32 3a 3d 78 62 65 67 20 74 6f 20 78 65 6e 64 20 64 6f 0d 0a 20 20 20 20 20 20 20 20   ┆or x2:=xbeg to xend do          ┆
0x46640…46660            20 20 20 20 66 6f 72 20 79 32 3a 3d 79 62 65 67 20 74 6f 20 79 65 6e 64 20 64 6f 20 77 6e 64 5f   ┆    for y2:=ybeg to yend do wnd_┆
0x46660…46680            77 72 69 74 65 64 6f 74 28 78 32 2c 79 32 29 3b 0d 0a 20 20 20 20 20 20 20 20 65 6e 64 3b 0d 0a   ┆writedot(x2,y2);          end;  ┆
0x46680…466a0            20 20 20 20 20 20 65 6e 64 3b 0d 0a 20 20 20 20 65 6e 64 3b 0d 0a 20 20 20 20 78 78 3a 3d 78 78   ┆      end;      end;      xx:=xx┆
0x466a0…466c0            2b 73 69 7a 78 2a 38 3b 0d 0a 20 20 65 6e 64 3b 0d 0a 65 6e 64 3b 20 28 2a 20 70 72 6f 63 65 64   ┆+sizx*8;    end;  end; (* proced┆
0x466c0…466e0            75 72 65 20 70 6c 6f 74 63 68 61 72 73 69 7a 65 28 78 2c 79 3a 20 72 65 61 6c 3b 20 73 69 7a 3a   ┆ure plotcharsize(x,y: real; siz:┆
0x466e0…46700            20 69 6e 74 65 67 65 72 3b 20 63 68 3a 20 63 68 61 72 29 3b 20 2a 29 0d 0a 0d 0a 50 52 4f 43 45   ┆ integer; ch: char); *)    PROCE┆
0x46700…46720            44 55 52 45 20 64 72 61 77 73 74 72 28 63 6f 6c 2c 72 6f 77 3a 49 4e 54 45 47 45 52 3b 73 3a 73   ┆DURE drawstr(col,row:INTEGER;s:s┆
0x46720…46740            74 72 38 30 29 3b 0d 0a 56 41 52 20 61 74 74 72 69 62 3a 20 42 59 54 45 3b 0d 0a 20 6c 09 3a 20   ┆tr80);  VAR attrib: BYTE;   l : ┆
0x46740…46760            49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 20 44 4f 0d   ┆INTEGER;  BEGIN    WITH Wnd_ DO ┆
0x46760…46780            0a 20 20 20 20 49 46 20 74 78 74 5f 6d 6f 64 65 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20   ┆     IF txt_mode THEN BEGIN     ┆
0x46780…467a0            20 20 20 72 6f 77 3a 3d 72 6f 77 2b 74 78 74 79 31 3b 0d 0a 20 20 20 20 20 20 49 46 20 28 63 6f   ┆   row:=row+txty1;        IF (co┆
0x467a0…467c0            6c 2b 6c 65 6e 28 73 29 29 3e 28 74 78 74 6d 61 78 78 2b 31 29 20 54 48 45 4e 20 6c 3a 3d 74 78   ┆l+len(s))>(txtmaxx+1) THEN l:=tx┆
0x467c0…467e0            74 6d 61 78 78 2b 31 2d 63 6f 6c 20 45 4c 53 45 20 6c 3a 3d 6c 65 6e 28 73 29 3b 0d 0a 20 20 20   ┆tmaxx+1-col ELSE l:=len(s);     ┆
0x467e0…46800            20 20 20 63 6f 6c 3a 3d 63 6f 6c 2b 74 78 74 78 31 3b 0d 0a 20 20 20 20 20 20 49 46 20 72 6f 77   ┆   col:=col+txtx1;        IF row┆
0x46800…46820 (28, 0, 3) 3c 3d 74 78 74 6d 61 78 79 2b 74 78 74 79 31 20 54 48 45 4e 0d 0a 20 20 20 20 20 20 20 20 77 72   ┆<=txtmaxy+txty1 THEN          wr┆
0x46820…46840            69 74 65 73 74 72 28 63 6f 6c 2c 72 6f 77 2c 63 6f 70 79 28 73 2c 31 2c 6c 29 29 3b 0d 0a 20 20   ┆itestr(col,row,copy(s,1,l));    ┆
0x46840…46860            20 20 45 4e 44 0d 0a 20 20 20 20 45 4c 53 45 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 63 6f 6c   ┆  END      ELSE BEGIN        col┆
0x46860…46880            3a 3d 20 63 6f 6c 20 53 48 4c 20 33 20 3b 0d 0a 20 20 20 20 20 20 72 6f 77 3a 3d 20 6d 61 78 79   ┆:= col SHL 3 ;        row:= maxy┆
0x46880…468a0            20 2d 20 37 20 2d 20 28 72 6f 77 20 2a 20 38 29 3b 0d 0a 20 20 20 20 20 20 57 6e 64 5f 64 72 61   ┆ - 7 - (row * 8);        Wnd_dra┆
0x468a0…468c0            77 74 65 78 74 28 63 6f 6c 2c 72 6f 77 2c 73 29 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 45 4e 44   ┆wtext(col,row,s);      END;  END┆
0x468c0…468e0            3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 64 72 61 77 72 65 61 6c 28 78 2c 79 3a 49 4e 54 45   ┆;    PROCEDURE drawreal(x,y:INTE┆
0x468e0…46900            47 45 52 3b 20 72 3a 52 45 41 4c 3b 20 6c 2c 64 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52   ┆GER; r:REAL; l,d: INTEGER);  VAR┆
0x46900…46920            0d 0a 20 20 73 3a 20 73 74 72 38 30 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 73 74 72 28 72 3a 6c 3a   ┆    s: str80;  BEGIN    str(r:l:┆
0x46920…46940            64 2c 73 29 3b 0d 0a 20 20 64 72 61 77 73 74 72 28 78 2c 79 2c 73 29 3b 0d 0a 45 4e 44 3b 0d 0a   ┆d,s);    drawstr(x,y,s);  END;  ┆
0x46940…46960            0d 0a 50 52 4f 43 45 44 55 52 45 20 57 69 6e 64 6f 77 28 6e 6f 3a 20 49 4e 54 45 47 45 52 3b 20   ┆  PROCEDURE Window(no: INTEGER; ┆
0x46960…46980            78 78 31 2c 20 78 78 32 2c 20 79 79 31 2c 20 79 79 32 20 3a 20 52 45 41 4c 29 3b 0d 0a 42 45 47   ┆xx1, xx2, yy1, yy2 : REAL);  BEG┆
0x46980…469a0            49 4e 0d 0a 20 20 57 49 54 48 20 57 6c 64 5f 61 72 72 28 2e 6e 6f 2e 29 20 44 4f 20 42 45 47 49   ┆IN    WITH Wld_arr(.no.) DO BEGI┆
0x469a0…469c0            4e 0d 0a 20 20 20 20 58 31 20 3a 3d 20 78 78 31 3b 0d 0a 20 20 20 20 59 31 20 3a 3d 20 79 79 31   ┆N      X1 := xx1;      Y1 := yy1┆
0x469c0…469e0            3b 0d 0a 20 20 20 20 58 4f 6c 64 3a 3d 20 78 78 31 3b 0d 0a 20 20 20 20 59 4f 6c 64 3a 3d 20 79   ┆;      XOld:= xx1;      YOld:= y┆
0x469e0…46a00            79 31 3b 0d 0a 20 20 20 20 58 52 61 6e 67 65 20 3a 3d 20 78 78 32 20 2d 20 78 78 31 20 3b 0d 0a   ┆y1;      XRange := xx2 - xx1 ;  ┆
0x46a00…46a20            20 20 20 20 59 52 61 6e 67 65 20 3a 3d 20 79 79 32 20 2d 20 79 79 31 20 0d 0a 20 20 45 4e 44 3b   ┆    YRange := yy2 - yy1     END;┆
0x46a20…46a40            0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 73 65 6c 65 63 74 77 69 6e 64 6f 77   ┆  END;    PROCEDURE selectwindow┆
0x46a40…46a60            28 6e 6f 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 77 6c 64 5f 3a 3d 77   ┆(no: INTEGER);  BEGIN    wld_:=w┆
0x46a60…46a80            6c 64 5f 61 72 72 28 2e 6e 6f 2e 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45   ┆ld_arr(.no.);  END;    PROCEDURE┆
0x46a80…46aa0            20 63 6c 65 61 72 3b 0d 0a 56 41 52 20 69 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 73 74 72   ┆ clear;  VAR i : INTEGER;    str┆
0x46aa0…46ac0            3a 20 73 74 72 38 30 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 20 44 4f 0d   ┆: str80;  BEGIN    WITH Wnd_ DO ┆
0x46ac0…46ae0            0a 20 20 20 20 49 46 20 74 78 74 5f 6d 6f 64 65 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20   ┆     IF txt_mode THEN BEGIN     ┆
0x46ae0…46b00            20 20 20 73 74 72 3a 3d 73 70 63 28 74 78 74 6d 61 78 78 2b 31 2c 27 20 27 29 3b 0d 0a 20 20 20   ┆   str:=spc(txtmaxx+1,' ');     ┆
0x46b00…46b20            20 20 20 46 4f 52 20 69 3a 3d 30 20 54 4f 20 74 78 74 6d 61 78 79 20 44 4f 0d 0a 20 20 20 20 20   ┆   FOR i:=0 TO txtmaxy DO       ┆
0x46b20…46b40            20 20 20 64 72 61 77 73 74 72 28 30 2c 69 2c 73 74 72 29 3b 0d 0a 20 20 20 20 45 4e 44 0d 0a 20   ┆   drawstr(0,i,str);      END   ┆
0x46b40…46b60            20 20 20 45 4c 53 45 0d 0a 20 20 20 20 20 20 53 63 72 5f 46 69 6c 6c 28 78 31 2c 20 79 31 2c 20   ┆   ELSE        Scr_Fill(x1, y1, ┆
0x46b60…46b80            78 31 2b 4d 61 78 58 2c 20 79 31 20 2b 20 6d 61 78 59 20 2c 62 61 63 6b 63 6f 6c 6f 72 29 3b 0d   ┆x1+MaxX, y1 + maxY ,backcolor); ┆
0x46b80…46ba0            0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 44 72 61 77 42 6f 78 28 78 31 2c 20 79   ┆ END;    PROCEDURE DrawBox(x1, y┆
0x46ba0…46bc0            31 2c 20 78 32 2c 20 79 32 20 3a 20 52 45 41 4c 29 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20   ┆1, x2, y2 : REAL);    BEGIN     ┆
0x46bc0…46be0            20 57 6e 64 5f 44 72 61 77 42 6f 78 28 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 78 31 29 2c   ┆ Wnd_DrawBox(_Wld_ToWindowX(x1),┆
0x46be0…46c00            20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 59 28 79 31 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆ _Wld_ToWindowY(y1),            ┆
0x46c00…46c20 (28, 0, 4) 20 20 20 20 20 20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 78 32 29 2c 20 5f 57 6c 64 5f 54   ┆      _Wld_ToWindowX(x2), _Wld_T┆
0x46c20…46c40            6f 57 69 6e 64 6f 77 59 28 79 32 29 29 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55   ┆oWindowY(y2))    END;    PROCEDU┆
0x46c40…46c60            52 45 20 76 69 65 77 70 6f 72 74 63 6f 6c 6f 72 28 6e 6f 2c 20 66 63 6f 6c 6f 72 2c 20 62 63 6f   ┆RE viewportcolor(no, fcolor, bco┆
0x46c60…46c80            6c 6f 72 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 49 54 48 20 57 6e   ┆lor: INTEGER);  BEGIN    WITH Wn┆
0x46c80…46ca0            64 5f 61 72 72 28 2e 6e 6f 2e 29 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 70 65 6e 63   ┆d_arr(.no.) DO BEGIN        penc┆
0x46ca0…46cc0            6f 6c 6f 72 3a 3d 66 63 6f 6c 6f 72 3b 0d 0a 20 20 20 20 20 20 62 61 63 6b 63 6f 6c 6f 72 3a 3d   ┆olor:=fcolor;        backcolor:=┆
0x46cc0…46ce0            62 63 6f 6c 6f 72 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45   ┆bcolor;      END;  END;    PROCE┆
0x46ce0…46d00            44 55 52 45 20 74 65 78 74 76 69 65 77 70 6f 72 74 63 6f 6c 6f 72 28 6e 6f 2c 20 66 63 6f 6c 6f   ┆DURE textviewportcolor(no, fcolo┆
0x46d00…46d20            72 2c 20 62 63 6f 6c 6f 72 3a 20 42 59 54 45 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 6e 64 5f   ┆r, bcolor: BYTE);  BEGIN    Wnd_┆
0x46d20…46d40            70 61 6c 65 74 74 65 28 2e 6e 6f 2e 29 3a 3d 66 63 6f 6c 6f 72 2b 28 62 63 6f 6c 6f 72 20 53 48   ┆palette(.no.):=fcolor+(bcolor SH┆
0x46d40…46d60            4c 20 34 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 76 69 65 77 70 6f 72   ┆L 4);  END;    PROCEDURE viewpor┆
0x46d60…46d80            74 68 65 61 64 65 72 28 6e 6f 3a 20 49 4e 54 45 47 45 52 3b 20 68 3a 20 73 74 72 38 30 29 3b 0d   ┆theader(no: INTEGER; h: str80); ┆
0x46d80…46da0            0a 42 45 47 49 4e 0d 0a 20 20 57 6e 64 5f 61 72 72 28 2e 6e 6f 2e 29 2e 68 64 72 3a 3d 68 3b 0d   ┆ BEGIN    Wnd_arr(.no.).hdr:=h; ┆
0x46da0…46dc0            0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 76 69 65 77 70 6f 72 74 28 6e 6f 2c 20   ┆ END;    PROCEDURE viewport(no, ┆
0x46dc0…46de0            78 78 31 2c 20 78 78 32 2c 20 79 79 31 2c 20 79 79 32 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56   ┆xx1, xx2, yy1, yy2: INTEGER);  V┆
0x46de0…46e00            41 52 20 63 68 3a 20 43 48 41 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 78 78 31 20 3a 3d 20 28 78   ┆AR ch: CHAR;  BEGIN    xx1 := (x┆
0x46e00…46e20            78 31 20 2b 20 37 29 20 41 4e 44 20 24 66 66 66 38 3b 0d 0a 20 20 78 78 32 20 3a 3d 20 28 28 78   ┆x1 + 7) AND $fff8;    xx2 := ((x┆
0x46e20…46e40            78 32 20 2b 20 37 29 20 41 4e 44 20 24 66 66 66 38 29 2d 31 3b 0d 0a 20 20 49 46 20 78 78 31 3c   ┆x2 + 7) AND $fff8)-1;    IF xx1<┆
0x46e40…46e60            30 20 54 48 45 4e 20 78 78 31 3a 3d 30 3b 0d 0a 20 20 49 46 20 78 78 32 3e 53 63 72 5f 6d 61 78   ┆0 THEN xx1:=0;    IF xx2>Scr_max┆
0x46e60…46e80            78 20 54 48 45 4e 20 78 78 32 3a 3d 53 63 72 5f 6d 61 78 78 3b 0d 0a 20 20 49 46 20 79 79 31 3c   ┆x THEN xx2:=Scr_maxx;    IF yy1<┆
0x46e80…46ea0            30 20 54 48 45 4e 20 79 79 31 3a 3d 30 3b 0d 0a 20 20 49 46 20 79 79 32 3e 53 63 72 5f 6d 61 78   ┆0 THEN yy1:=0;    IF yy2>Scr_max┆
0x46ea0…46ec0            79 20 54 48 45 4e 20 79 79 32 3a 3d 53 63 72 5f 6d 61 78 79 3b 0d 0a 20 20 49 46 20 79 79 31 3e   ┆y THEN yy2:=Scr_maxy;    IF yy1>┆
0x46ec0…46ee0            79 79 32 20 54 48 45 4e 20 73 77 61 70 28 79 79 31 2c 79 79 32 29 3b 0d 0a 20 20 49 46 20 78 78   ┆yy2 THEN swap(yy1,yy2);    IF xx┆
0x46ee0…46f00            31 3e 78 78 32 20 54 48 45 4e 20 73 77 61 70 28 78 78 31 2c 79 79 31 29 3b 0d 0a 20 20 57 49 54   ┆1>xx2 THEN swap(xx1,yy1);    WIT┆
0x46f00…46f20            48 20 57 6e 64 5f 61 72 72 28 2e 6e 6f 2e 29 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 58 31   ┆H Wnd_arr(.no.) DO BEGIN      X1┆
0x46f20…46f40            20 3a 3d 20 78 78 31 3b 0d 0a 20 20 20 20 59 31 20 3a 3d 20 79 79 31 3b 0d 0a 20 20 20 20 4d 61   ┆ := xx1;      Y1 := yy1;      Ma┆
0x46f40…46f60            78 58 20 3a 3d 20 78 78 32 20 2d 20 78 78 31 20 3b 0d 0a 20 20 20 20 4d 61 78 59 20 3a 3d 20 79   ┆xX := xx2 - xx1 ;      MaxY := y┆
0x46f60…46f80            79 32 20 2d 20 79 79 31 20 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43   ┆y2 - yy1 ;    END;  END;    PROC┆
0x46f80…46fa0            45 44 55 52 45 20 74 65 78 74 76 69 65 77 70 6f 72 74 28 6e 6f 2c 20 78 78 31 2c 20 78 78 32 2c   ┆EDURE textviewport(no, xx1, xx2,┆
0x46fa0…46fc0            20 79 79 31 2c 20 79 79 32 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 49   ┆ yy1, yy2: INTEGER);  BEGIN    I┆
0x46fc0…46fe0            46 20 78 78 32 3c 78 78 31 20 54 48 45 4e 20 68 61 6c 74 3b 0d 0a 20 20 49 46 20 79 79 32 3c 79   ┆F xx2<xx1 THEN halt;    IF yy2<y┆
0x46fe0…47000            79 31 20 54 48 45 4e 20 68 61 6c 74 3b 0d 0a 20 20 49 46 20 78 78 31 3c 30 20 54 48 45 4e 20 78   ┆y1 THEN halt;    IF xx1<0 THEN x┆
0x47000…47020 (28, 0, 5) 78 31 3a 3d 30 3b 0d 0a 20 20 49 46 20 79 79 31 3c 30 20 54 48 45 4e 20 79 79 31 3a 3d 30 3b 0d   ┆x1:=0;    IF yy1<0 THEN yy1:=0; ┆
0x47020…47040            0a 20 20 49 46 20 78 78 32 3e 54 78 74 5f 6d 61 78 78 20 54 48 45 4e 20 78 78 32 3a 3d 54 78 74   ┆   IF xx2>Txt_maxx THEN xx2:=Txt┆
0x47040…47060            5f 6d 61 78 78 3b 0d 0a 20 20 49 46 20 79 79 32 3e 54 78 74 5f 6d 61 78 79 20 54 48 45 4e 20 79   ┆_maxx;    IF yy2>Txt_maxy THEN y┆
0x47060…47080            79 32 3a 3d 54 78 74 5f 6d 61 78 79 3b 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 61 72 72 28 2e 6e   ┆y2:=Txt_maxy;    WITH Wnd_arr(.n┆
0x47080…470a0            6f 2e 29 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 74 78 74 78 31 3a 3d 78 78 31 3b 0d 0a 20   ┆o.) DO BEGIN      txtx1:=xx1;   ┆
0x470a0…470c0            20 20 20 74 78 74 79 31 3a 3d 79 79 31 3b 0d 0a 20 20 20 20 74 78 74 6d 61 78 78 3a 3d 78 78 32   ┆   txty1:=yy1;      txtmaxx:=xx2┆
0x470c0…470e0            2d 78 78 31 3b 0d 0a 20 20 20 20 74 78 74 6d 61 78 79 3a 3d 79 79 32 2d 79 79 31 3b 0d 0a 20 20   ┆-xx1;      txtmaxy:=yy2-yy1;    ┆
0x470e0…47100            45 4e 44 3b 0d 0a 20 20 76 69 65 77 70 6f 72 74 28 6e 6f 2c 78 78 31 2a 38 2c 78 78 32 2a 38 2b   ┆END;    viewport(no,xx1*8,xx2*8+┆
0x47100…47120            37 2c 53 63 72 5f 6d 61 78 79 2d 28 28 79 79 32 2a 38 29 2b 37 29 2c 53 63 72 5f 6d 61 78 79 2d   ┆7,Scr_maxy-((yy2*8)+7),Scr_maxy-┆
0x47120…47140            28 79 79 31 2a 38 29 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 73 65 6c   ┆(yy1*8));  END;    PROCEDURE sel┆
0x47140…47160            65 63 74 76 69 65 77 70 6f 72 74 28 6e 6f 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e   ┆ectviewport(no: INTEGER);  BEGIN┆
0x47160…47180            0d 0a 20 20 57 6e 64 5f 3a 3d 57 6e 64 5f 61 72 72 28 2e 6e 6f 2e 29 3b 0d 0a 20 20 57 6e 64 5f   ┆    Wnd_:=Wnd_arr(.no.);    Wnd_┆
0x47180…471a0            61 63 74 75 61 6c 3a 3d 6e 6f 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 47   ┆actual:=no;  END;    PROCEDURE G┆
0x471a0…471c0            72 61 70 68 69 63 53 63 72 65 65 6e 28 74 79 70 20 3a 53 63 72 5f 54 59 50 45 29 3b 0d 0a 20 20   ┆raphicScreen(typ :Scr_TYPE);    ┆
0x471c0…471e0            56 41 52 20 69 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 74 78   ┆VAR i: INTEGER;    BEGIN      tx┆
0x471e0…47200            74 5f 6d 6f 64 65 3a 3d 74 72 75 65 3b 0d 0a 20 20 20 20 65 68 6f 66 73 3a 3d 6f 66 73 28 74 65   ┆t_mode:=true;      ehofs:=ofs(te┆
0x47200…47220            78 74 6d 6f 64 65 29 3b 0d 0a 20 20 20 20 6d 61 72 6b 28 53 63 72 5f 42 45 47 49 4e 29 3b 0d 0a   ┆xtmode);      mark(Scr_BEGIN);  ┆
0x47220…47240            20 20 20 20 67 72 61 70 68 5f 54 59 50 45 3a 3d 74 79 70 3b 0d 0a 20 20 20 20 69 6e 69 74 5f 67   ┆    graph_TYPE:=typ;      init_g┆
0x47240…47260            72 61 70 68 69 63 73 28 74 79 70 29 3b 0d 0a 20 20 20 20 69 6e 69 74 5f 74 65 78 74 3b 0d 0a 20   ┆raphics(typ);      init_text;   ┆
0x47260…47280            20 20 20 46 4f 52 20 69 3a 3d 31 20 54 4f 20 57 6e 64 5f 6d 61 78 20 44 4f 20 42 45 47 49 4e 0d   ┆   FOR i:=1 TO Wnd_max DO BEGIN ┆
0x47280…472a0            0a 20 20 20 20 20 20 74 65 78 74 76 69 65 77 70 6f 72 74 28 69 2c 30 2c 37 39 2c 30 2c 32 34 29   ┆       textviewport(i,0,79,0,24)┆
0x472a0…472c0            3b 0d 0a 20 20 20 20 20 20 74 65 78 74 76 69 65 77 70 6f 72 74 63 6f 6c 6f 72 28 69 2c 77 68 69   ┆;        textviewportcolor(i,whi┆
0x472c0…472e0            74 65 74 78 74 2c 62 6c 61 63 6b 74 78 74 29 3b 0d 0a 20 20 20 20 20 20 76 69 65 77 70 6f 72 74   ┆tetxt,blacktxt);        viewport┆
0x472e0…47300            28 69 2c 30 2c 20 53 63 72 5f 4d 61 78 58 2c 20 30 2c 20 53 63 72 5f 4d 61 78 59 29 3b 0d 0a 20   ┆(i,0, Scr_MaxX, 0, Scr_MaxY);   ┆
0x47300…47320            20 20 20 20 20 77 69 6e 64 6f 77 28 69 2c 30 2e 30 2c 20 53 63 72 5f 4d 61 78 58 2c 20 30 2e 30   ┆     window(i,0.0, Scr_MaxX, 0.0┆
0x47320…47340            2c 20 53 63 72 5f 4d 61 78 59 29 3b 0d 0a 20 20 20 20 20 20 76 69 65 77 70 6f 72 74 63 6f 6c 6f   ┆, Scr_MaxY);        viewportcolo┆
0x47340…47360            72 28 69 2c 77 68 69 74 65 2c 62 6c 61 63 6b 29 3b 0d 0a 20 20 20 20 20 20 57 49 54 48 20 73 61   ┆r(i,white,black);        WITH sa┆
0x47360…47380            76 65 5f 61 72 72 28 2e 69 2e 29 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 63 6f   ┆ve_arr(.i.) DO BEGIN          co┆
0x47380…473a0            6e 74 65 6e 74 3a 3d 4e 49 4c 3b 20 0d 0a 20 20 20 20 20 20 20 20 6c 65 6e 67 74 68 3a 3d 30 3b   ┆ntent:=NIL;           length:=0;┆
0x473a0…473c0            20 0d 0a 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 20 20 57 6e 64 5f 61 72 72 28 2e 69 2e   ┆         END;        Wnd_arr(.i.┆
0x473c0…473e0            29 2e 68 64 72 3a 3d 27 27 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 73 65 6c 65 63 74   ┆).hdr:='';      END;      select┆
0x473e0…47400            76 69 65 77 70 6f 72 74 28 31 29 3b 0d 0a 20 20 20 20 73 65 6c 65 63 74 77 69 6e 64 6f 77 28 31   ┆viewport(1);      selectwindow(1┆
0x47400…47420 (28, 1, 1) 29 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 42 6f 78 57 69 6e 64 6f 77   ┆)    END;    PROCEDURE BoxWindow┆
0x47420…47440            3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 6e 64 5f 44 72 61 77 42 6f 78 28 30 2c 20 30 2c 20 57 6e   ┆;  BEGIN    Wnd_DrawBox(0, 0, Wn┆
0x47440…47460            64 5f 2e 4d 61 78 58 2c 20 57 6e 64 5f 2e 4d 61 78 59 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52   ┆d_.MaxX, Wnd_.MaxY);  END;    PR┆
0x47460…47480            4f 43 45 44 55 52 45 20 64 72 61 77 68 65 61 64 65 72 3b 0d 0a 56 41 52 0d 0a 20 20 69 2c 6f 6c   ┆OCEDURE drawheader;  VAR    i,ol┆
0x47480…474a0            64 63 6f 6c 6f 72 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 49 54 48 20   ┆dcolor: INTEGER;  BEGIN    WITH ┆
0x474a0…474c0            57 6e 64 5f 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 49 46 20 68 64 72 3c 3e 27 27 20 54 48   ┆Wnd_ DO BEGIN      IF hdr<>'' TH┆
0x474c0…474e0            45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 69 3a 3d 28 6d 61 78 78 20 44 49 56 20 38 20 2d   ┆EN BEGIN        i:=(maxx DIV 8 -┆
0x474e0…47500            20 6c 65 6e 28 68 64 72 29 29 20 44 49 56 20 32 3b 0d 0a 20 20 20 20 20 20 49 46 20 69 3c 30 20   ┆ len(hdr)) DIV 2;        IF i<0 ┆
0x47500…47520            54 48 45 4e 20 69 3a 3d 30 3b 0d 0a 20 20 20 20 20 20 53 63 72 5f 66 69 6c 6c 28 78 31 2c 79 31   ┆THEN i:=0;        Scr_fill(x1,y1┆
0x47520…47540            2b 6d 61 78 79 2d 31 30 2c 78 31 2b 6d 61 78 78 2c 79 31 2b 6d 61 78 79 2c 24 46 46 29 3b 0d 0a   ┆+maxy-10,x1+maxx,y1+maxy,$FF);  ┆
0x47540…47560            20 20 20 20 20 20 6f 6c 64 63 6f 6c 6f 72 3a 3d 70 65 6e 63 6f 6c 6f 72 3b 0d 0a 20 20 20 20 20   ┆      oldcolor:=pencolor;       ┆
0x47560…47580            20 70 65 6e 63 6f 6c 6f 72 3a 3d 62 6c 61 63 6b 3b 0d 0a 20 20 20 20 20 20 57 6e 64 5f 64 72 61   ┆ pencolor:=black;        Wnd_dra┆
0x47580…475a0            77 62 6f 78 28 30 2c 6d 61 78 79 2d 31 30 2c 6d 61 78 78 2c 6d 61 78 79 29 3b 0d 0a 20 20 20 20   ┆wbox(0,maxy-10,maxx,maxy);      ┆
0x475a0…475c0            20 20 6d 61 78 79 3a 3d 6d 61 78 79 2d 32 3b 0d 0a 20 20 20 20 20 20 44 72 61 77 53 74 72 28 69   ┆  maxy:=maxy-2;        DrawStr(i┆
0x475c0…475e0            2c 30 2c 68 64 72 29 3b 0d 0a 20 20 20 20 20 20 6d 61 78 79 3a 3d 6d 61 78 79 2d 38 3b 0d 0a 20   ┆,0,hdr);        maxy:=maxy-8;   ┆
0x475e0…47600            20 20 20 20 20 70 65 6e 63 6f 6c 6f 72 3a 3d 6f 6c 64 63 6f 6c 6f 72 3b 0d 0a 20 20 20 20 45 4e   ┆     pencolor:=oldcolor;      EN┆
0x47600…47620            44 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 64 72   ┆D;    END;  END;    PROCEDURE dr┆
0x47620…47640            61 77 66 72 61 6d 65 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 20 44 4f 20   ┆awframe;  BEGIN    WITH Wnd_ DO ┆
0x47640…47660            42 45 47 49 4e 0d 0a 20 20 20 20 64 72 61 77 68 65 61 64 65 72 3b 0d 0a 20 20 20 20 57 6e 64 5f   ┆BEGIN      drawheader;      Wnd_┆
0x47660…47680            44 72 61 77 42 6f 78 28 30 2c 20 30 2c 20 4d 61 78 58 2c 20 4d 61 78 59 29 3b 0d 0a 20 20 20 20   ┆DrawBox(0, 0, MaxX, MaxY);      ┆
0x47680…476a0            78 31 3a 3d 78 31 2b 31 3b 0d 0a 20 20 20 20 79 31 3a 3d 79 31 2b 31 3b 0d 0a 20 20 20 20 6d 61   ┆x1:=x1+1;      y1:=y1+1;      ma┆
0x476a0…476c0            78 79 3a 3d 6d 61 78 79 2d 32 3b 0d 0a 20 20 20 20 6d 61 78 78 3a 3d 6d 61 78 78 2d 32 3b 0d 0a   ┆xy:=maxy-2;      maxx:=maxx-2;  ┆
0x476c0…476e0            20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 67 6f 74 6f 74 78   ┆  END;  END;    PROCEDURE gototx┆
0x476e0…47700            74 28 78 2c 79 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 67 6f 74 6f 78   ┆t(x,y: INTEGER);  BEGIN    gotox┆
0x47700…47720            79 28 78 2c 79 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 7b 50 52 4f 43 45 44 55 52 45 20 67 6f 74 6f   ┆y(x,y);  END;    æPROCEDURE goto┆
0x47720…47740            78 79 28 78 2c 79 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 67 6f 74 6f   ┆xy(x,y: INTEGER);  BEGIN    goto┆
0x47740…47760            74 78 74 28 78 2b 57 6e 64 5f 2e 74 78 74 78 31 2c 79 2b 57 6e 64 5f 2e 74 78 74 79 31 29 3b 0d   ┆txt(x+Wnd_.txtx1,y+Wnd_.txty1); ┆
0x47760…47780            0a 45 4e 44 3b 0d 0a 7d 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 77 72 69 74 65 66 72 61 6d 65   ┆ END;  å    PROCEDURE writeframe┆
0x47780…477a0            3b 0d 0a 56 41 52 0d 0a 20 20 69 2c 6c 68 2c 6c 78 2c 6c 79 3a 20 49 4e 54 45 47 45 52 3b 0d 0a   ┆;  VAR    i,lh,lx,ly: INTEGER;  ┆
0x477a0…477c0            20 20 73 3a 20 73 74 72 38 30 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 20   ┆  s: str80;  BEGIN    WITH Wnd_ ┆
0x477c0…477e0            44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 6c 78 3a 3d 74 78 74 6d 61 78 78 3b 20 6c 79 3a 3d 74   ┆DO BEGIN      lx:=txtmaxx; ly:=t┆
0x477e0…47800            78 74 6d 61 78 79 3b 20 6c 68 3a 3d 28 28 6c 78 2b 32 29 2d 6c 65 6e 28 68 64 72 29 29 20 44 49   ┆xtmaxy; lh:=((lx+2)-len(hdr)) DI┆
0x47800…47820 (28, 1, 2) 56 20 32 2b 31 3b 0d 0a 20 20 20 20 73 3a 3d 27 c9 27 2b 73 70 63 28 6c 78 2d 31 2c 27 cd 27 29   ┆V 2+1;      s:=' '+spc(lx-1,' ')┆
0x47820…47840            2b 27 bb 27 3b 0d 0a 20 20 20 20 6d 6f 76 65 28 68 64 72 28 2e 31 2e 29 2c 73 28 2e 6c 68 2e 29   ┆+' ';      move(hdr(.1.),s(.lh.)┆
0x47840…47860            2c 6c 65 6e 28 68 64 72 29 29 3b 0d 0a 20 20 20 20 64 72 61 77 73 74 72 28 30 2c 30 2c 73 29 3b   ┆,len(hdr));      drawstr(0,0,s);┆
0x47860…47880            0d 0a 20 20 20 20 73 3a 3d 27 ba 27 2b 73 70 63 28 6c 78 2d 31 2c 27 20 27 29 2b 27 ba 27 3b 0d   ┆      s:=' '+spc(lx-1,' ')+' '; ┆
0x47880…478a0            0a 20 20 20 20 46 4f 52 20 69 3a 3d 31 20 54 4f 20 6c 79 2d 31 20 44 4f 20 64 72 61 77 73 74 72   ┆     FOR i:=1 TO ly-1 DO drawstr┆
0x478a0…478c0            28 30 2c 69 2c 73 29 3b 0d 0a 20 20 20 20 64 72 61 77 73 74 72 28 30 2c 6c 79 2c 27 c8 27 2b 73   ┆(0,i,s);      drawstr(0,ly,' '+s┆
0x478c0…478e0            70 63 28 6c 78 2d 31 2c 27 cd 27 29 2b 27 bc 27 29 3b 0d 0a 20 20 20 20 74 78 74 78 31 3a 3d 73   ┆pc(lx-1,' ')+' ');      txtx1:=s┆
0x478e0…47900            75 63 63 28 74 78 74 78 31 29 3b 74 78 74 6d 61 78 78 3a 3d 74 78 74 6d 61 78 78 2d 32 3b 0d 0a   ┆ucc(txtx1);txtmaxx:=txtmaxx-2;  ┆
0x47900…47920            20 20 20 20 74 78 74 79 31 3a 3d 73 75 63 63 28 74 78 74 79 31 29 3b 74 78 74 6d 61 78 79 3a 3d   ┆    txty1:=succ(txty1);txtmaxy:=┆
0x47920…47940            74 78 74 6d 61 78 79 2d 32 3b 0d 0a 20 20 20 20 78 31 3a 3d 78 31 2b 38 3b 6d 61 78 78 3a 3d 6d   ┆txtmaxy-2;      x1:=x1+8;maxx:=m┆
0x47940…47960            61 78 78 2d 31 36 3b 0d 0a 20 20 20 20 79 31 3a 3d 79 31 2b 38 3b 6d 61 78 79 3a 3d 6d 61 78 79   ┆axx-16;      y1:=y1+8;maxy:=maxy┆
0x47960…47980            2d 31 36 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 20 20 0d 0a 50 52 4f 43 45 44 55 52   ┆-16;    END;  END;      PROCEDUR┆
0x47980…479a0            45 20 42 49 54 42 49 54 28 4f 6c 64 42 79 74 65 3a 42 79 74 65 3b 56 41 52 20 4e 65 77 62 79 74   ┆E BITBIT(OldByte:Byte;VAR Newbyt┆
0x479a0…479c0            65 3a 20 62 79 74 65 29 3b 0d 0a 76 61 72 20 20 0d 0a 20 20 62 69 74 3a 20 62 79 74 65 3b 0d 0a   ┆e: byte);  var      bit: byte;  ┆
0x479c0…479e0            20 20 6a 2c 69 2c 6e 3a 69 6e 74 65 67 65 72 3b 0d 0a 0d 0a 42 45 47 49 4e 0d 0a 20 20 4e 65 77   ┆  j,i,n:integer;    BEGIN    New┆
0x479e0…47a00            42 79 74 65 3a 3d 24 30 30 3b 0d 0a 20 20 66 6f 72 20 6a 3a 3d 20 31 20 74 6f 20 34 20 64 6f 0d   ┆Byte:=$00;    for j:= 1 to 4 do ┆
0x47a00…47a20            0a 20 20 62 65 67 69 6e 0d 0a 20 20 20 20 63 61 73 65 20 6a 20 6f 66 0d 0a 20 20 20 20 31 3a 20   ┆   begin      case j of      1: ┆
0x47a20…47a40            6e 3a 3d 31 3b 0d 0a 20 20 20 20 32 3a 20 6e 3a 3d 32 3b 0d 0a 20 20 20 20 33 3a 20 6e 3a 3d 34   ┆n:=1;      2: n:=2;      3: n:=4┆
0x47a40…47a60            3b 0d 0a 20 20 20 20 34 3a 20 6e 3a 3d 38 3b 0d 0a 20 20 20 20 65 6e 64 3b 0d 0a 20 20 20 20 42   ┆;      4: n:=8;      end;      B┆
0x47a60…47a80            69 74 3a 3d 4f 6c 64 62 79 74 65 20 41 4e 44 20 6e 3b 0d 0a 20 20 20 20 42 69 74 3a 3d 42 69 74   ┆it:=Oldbyte AND n;      Bit:=Bit┆
0x47a80…47aa0            20 53 48 4c 20 6a 3b 0d 0a 20 20 20 20 4e 65 77 62 79 74 65 3a 3d 4e 65 77 62 79 74 65 20 4f 52   ┆ SHL j;      Newbyte:=Newbyte OR┆
0x47aa0…47ac0            20 42 69 74 3b 0d 0a 20 20 20 20 42 69 74 3a 3d 42 69 74 20 53 48 52 20 31 3b 0d 0a 20 20 20 20   ┆ Bit;      Bit:=Bit SHR 1;      ┆
0x47ac0…47ae0            4e 65 77 62 79 74 65 3a 3d 4e 65 77 62 79 74 65 20 4f 52 20 42 69 74 3b 0d 0a 20 20 65 6e 64 3b   ┆Newbyte:=Newbyte OR Bit;    end;┆
0x47ae0…47b00            0d 0a 65 6e 64 3b 0d 0a 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 63 72 5f 64 75 6d 70 28 6d   ┆  end;      PROCEDURE Scr_dump(m┆
0x47b00…47b20            6f 64 65 3a 70 72 6e 5f 54 59 50 45 29 3b 0d 0a 56 41 52 0d 0a 20 20 70 72 69 6e 74 65 72 3a 20   ┆ode:prn_TYPE);  VAR    printer: ┆
0x47b20…47b40            74 65 78 74 3b 0d 0a 20 20 69 2c 6a 2c 6b 2c 6b 31 2c 73 6d 61 78 2c 74 6d 61 78 3a 20 49 4e 54   ┆text;    i,j,k,k1,smax,tmax: INT┆
0x47b40…47b60            45 47 45 52 3b 0d 0a 20 20 69 6e 69 74 5f 63 68 3a 20 53 54 52 49 4e 47 28 2e 36 2e 29 3b 0d 0a   ┆EGER;    init_ch: STRING(.6.);  ┆
0x47b60…47b80            20 20 67 72 5f 73 74 72 3a 20 53 54 52 49 4e 47 28 2e 34 2e 29 3b 0d 0a 0d 0a 20 20 63 68 3a 20   ┆  gr_str: STRING(.4.);      ch: ┆
0x47b80…47ba0            63 68 61 72 3b 0d 0a 20 20 48 69 67 68 43 48 2c 4c 6f 77 43 48 3a 20 62 79 74 65 3b 0d 0a 20 20   ┆char;    HighCH,LowCH: byte;    ┆
0x47ba0…47bc0            48 69 67 68 42 79 74 65 2c 4c 6f 77 42 79 74 65 3a 20 62 79 74 65 3b 0d 0a 20 20 62 69 74 6d 6f   ┆HighByte,LowByte: byte;    bitmo┆
0x47bc0…47be0            64 65 3a 20 63 68 61 72 3b 0d 0a 20 20 0d 0a 42 45 47 49 4e 0d 0a 20 20 61 73 73 69 67 6e 28 70   ┆de: char;      BEGIN    assign(p┆
0x47be0…47c00            72 69 6e 74 65 72 2c 27 6c 73 74 3a 27 29 3b 0d 0a 20 20 72 65 73 65 74 28 70 72 69 6e 74 65 72   ┆rinter,'lst:');    reset(printer┆
0x47c00…47c20 (28, 1, 3) 29 3b 0d 0a 20 20 49 46 20 69 6f 72 65 73 3c 3e 30 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20   ┆);    IF iores<>0 THEN exit;    ┆
0x47c20…47c40            49 46 20 6d 6f 64 65 20 69 6e 20 28 2e 4e 45 43 5f 31 36 62 69 74 2e 29 20 74 68 65 6e 0d 0a 20   ┆IF mode in (.NEC_16bit.) then   ┆
0x47c40…47c60            20 62 65 67 69 6e 0d 0a 20 20 20 20 6b 31 3a 3d 32 3b 0d 0a 20 20 20 20 62 69 74 6d 6f 64 65 3a   ┆ begin      k1:=2;      bitmode:┆
0x47c60…47c80            3d 27 49 27 3b 0d 0a 20 20 77 72 69 74 65 6c 6e 28 27 31 36 20 62 69 74 27 29 3b 0d 0a 20 20 65   ┆='I';    writeln('16 bit');    e┆
0x47c80…47ca0            6e 64 20 65 6c 73 65 0d 0a 20 20 62 65 67 69 6e 0d 0a 20 20 20 20 6b 31 3a 3d 32 3b 0d 0a 20 20   ┆nd else    begin      k1:=2;    ┆
0x47ca0…47cc0            20 20 62 69 74 6d 6f 64 65 3a 3d 27 53 27 3b 0d 0a 20 20 77 72 69 74 65 6c 6e 28 27 20 38 20 62   ┆  bitmode:='S';    writeln(' 8 b┆
0x47cc0…47ce0            69 74 27 29 3b 0d 0a 20 20 65 6e 64 3b 20 20 20 20 0d 0a 20 20 73 6d 61 78 3a 3d 28 53 63 72 5f   ┆it');    end;        smax:=(Scr_┆
0x47ce0…47d00            6d 61 78 79 2b 31 29 2a 6b 31 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 77 72 69 74 65 6c   ┆maxy+1)*k1;    BEGIN      writel┆
0x47d00…47d20            6e 28 70 72 69 6e 74 65 72 2c 63 68 72 28 32 37 29 2b 27 54 31 36 27 2b 63 68 72 28 32 37 29 2b   ┆n(printer,chr(27)+'T16'+chr(27)+┆
0x47d20…47d40            27 3e 27 2b 63 68 72 28 32 37 29 2b 27 4e 27 29 3b 0d 0a 20 20 20 20 73 74 72 28 73 6d 61 78 3a   ┆'>'+chr(27)+'N');      str(smax:┆
0x47d40…47d60            34 2c 67 72 5f 73 74 72 29 3b 0d 0a 20 20 20 20 46 4f 52 20 69 3a 3d 31 20 54 4f 20 34 20 44 4f   ┆4,gr_str);      FOR i:=1 TO 4 DO┆
0x47d60…47d80            20 49 46 20 67 72 5f 73 74 72 28 2e 69 2e 29 3d 27 20 27 20 54 48 45 4e 20 67 72 5f 73 74 72 28   ┆ IF gr_str(.i.)=' ' THEN gr_str(┆
0x47d80…47da0            2e 69 2e 29 3a 3d 27 30 27 3b 0d 0a 20 20 20 20 69 6e 69 74 5f 63 68 3a 3d 63 68 72 28 32 37 29   ┆.i.):='0';      init_ch:=chr(27)┆
0x47da0…47dc0            2b 62 69 74 6d 6f 64 65 2b 67 72 5f 73 74 72 3b 20 74 6d 61 78 3a 3d 74 78 74 5f 6d 61 78 78 3b   ┆+bitmode+gr_str; tmax:=txt_maxx;┆
0x47dc0…47de0            0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 46 4f 52 20 69 3a 3d 30 20 54 4f 20 74 78 74 5f 6d 61 78 78   ┆    END;    FOR i:=0 TO txt_maxx┆
0x47de0…47e00            20 20 44 4f 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 77 72 69 74 65 28 70 72 69 6e 74 65 72   ┆  DO    BEGIN      write(printer┆
0x47e00…47e20            2c 69 6e 69 74 5f 63 68 29 3b 0d 0a 20 20 20 20 46 4f 52 20 6a 3a 3d 53 63 72 5f 6d 61 78 79 20   ┆,init_ch);      FOR j:=Scr_maxy ┆
0x47e20…47e40            44 4f 57 4e 54 4f 20 30 20 44 4f 0d 0a 20 20 20 20 62 65 67 69 6e 0d 0a 20 20 20 20 20 20 4c 6f   ┆DOWNTO 0 DO      begin        Lo┆
0x47e40…47e60            77 62 79 74 65 3a 3d 24 30 30 3b 20 48 69 67 68 62 79 74 65 3a 3d 24 30 30 3b 20 0d 0a 20 20 20   ┆wbyte:=$00; Highbyte:=$00;      ┆
0x47e60…47e80            20 20 20 63 68 3a 3d 63 68 72 28 6d 65 6d 28 2e 53 63 72 5f 73 65 67 6d 3a 53 63 72 5f 79 61 64   ┆   ch:=chr(mem(.Scr_segm:Scr_yad┆
0x47e80…47ea0            64 72 28 2e 6a 2e 29 2b 53 63 72 5f 78 61 64 64 72 28 2e 28 74 6d 61 78 2d 69 29 2a 38 2e 29 2e   ┆dr(.j.)+Scr_xaddr(.(tmax-i)*8.).┆
0x47ea0…47ec0            29 29 3b 0d 0a 20 20 20 20 20 20 69 66 20 62 69 74 6d 6f 64 65 3d 27 53 27 20 74 68 65 6e 0d 0a   ┆));        if bitmode='S' then  ┆
0x47ec0…47ee0            20 20 20 20 20 20 62 65 67 69 6e 0d 0a 20 20 20 20 20 20 20 20 77 72 69 74 65 28 70 72 69 6e 74   ┆      begin          write(print┆
0x47ee0…47f00            65 72 2c 63 68 2c 63 68 29 3b 0d 0a 20 20 20 20 20 20 65 6e 64 20 65 6c 73 65 20 20 0d 0a 20 20   ┆er,ch,ch);        end else      ┆
0x47f00…47f20            20 20 20 20 62 65 67 69 6e 0d 0a 20 20 20 20 20 20 20 20 49 46 20 43 48 3e 40 30 20 54 48 45 4e   ┆    begin          IF CH>@0 THEN┆
0x47f20…47f40            0d 0a 20 20 20 20 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 20 20 48 69 67 68 43   ┆          BEGIN            HighC┆
0x47f40…47f60            48 3a 3d 6f 72 64 28 63 68 29 20 61 6e 64 20 24 66 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 48   ┆H:=ord(ch) and $f0;            H┆
0x47f60…47f80            69 67 68 43 48 3a 3d 48 69 67 68 43 48 20 73 68 72 20 34 3b 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆ighCH:=HighCH shr 4;            ┆
0x47f80…47fa0            4c 6f 77 43 48 3a 3d 6f 72 64 28 63 68 29 20 61 6e 64 20 24 30 66 3b 0d 0a 20 20 20 20 20 20 20   ┆LowCH:=ord(ch) and $0f;         ┆
0x47fa0…47fc0            20 20 20 42 49 54 42 49 54 28 48 69 67 68 43 48 2c 48 69 67 68 42 79 74 65 29 3b 20 42 49 54 42   ┆   BITBIT(HighCH,HighByte); BITB┆
0x47fc0…47fe0            49 54 28 4c 6f 77 43 48 2c 4c 6f 77 42 79 74 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 45 4e 44 3b   ┆IT(LowCH,LowByte);          END;┆
0x47fe0…48000            0d 0a 20 20 20 20 20 20 20 20 77 72 69 74 65 28 70 72 69 6e 74 65 72 2c 63 68 72 28 4c 6f 77 42   ┆          write(printer,chr(LowB┆
0x48000…48020 (28, 1, 4) 79 74 65 29 2c 63 68 72 28 48 69 67 68 42 79 74 65 29 2c 63 68 72 28 4c 6f 77 42 79 74 65 29 2c   ┆yte),chr(HighByte),chr(LowByte),┆
0x48020…48040            63 68 72 28 48 69 67 68 42 79 74 65 29 29 3b 0d 0a 20 20 20 20 20 20 65 6e 64 3b 0d 0a 20 20 20   ┆chr(HighByte));        end;     ┆
0x48040…48060            20 20 20 69 66 20 6b 65 79 70 72 65 73 73 20 74 68 65 6e 0d 0a 20 20 20 20 20 20 62 65 67 69 6e   ┆   if keypress then        begin┆
0x48060…48080            0d 0a 20 20 20 20 20 20 20 20 72 65 61 64 28 6b 62 64 2c 63 68 29 3b 0d 0a 20 20 20 20 20 20 20   ┆          read(kbd,ch);         ┆
0x48080…480a0            20 72 65 61 64 28 6b 62 64 2c 63 68 29 3b 0d 0a 20 20 20 20 20 20 20 20 65 78 69 74 3b 0d 0a 20   ┆ read(kbd,ch);          exit;   ┆
0x480a0…480c0            20 20 20 20 20 65 6e 64 3b 0d 0a 20 20 20 20 65 6e 64 3b 0d 0a 20 20 20 20 77 72 69 74 65 6c 6e   ┆     end;      end;      writeln┆
0x480c0…480e0            28 70 72 69 6e 74 65 72 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 77 72 69 74 65 6c 6e 28 70 72   ┆(printer);    END;    writeln(pr┆
0x480e0…48100            69 6e 74 65 72 2c 63 68 72 28 32 37 29 2b 27 2b 41 27 29 3b 0d 0a 20 20 63 6c 6f 73 65 28 70 72   ┆inter,chr(27)+'+A');    close(pr┆
0x48100…48120            69 6e 74 65 72 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 77 72 69 74 65   ┆inter);  END;    PROCEDURE write┆
0x48120…48140            68 65 6c 70 28 6e 6f 2c 77 2c 6c 3a 20 49 4e 54 45 47 45 52 3b 56 41 52 20 73 74 29 3b 0d 0a 56   ┆help(no,w,l: INTEGER;VAR st);  V┆
0x48140…48160            41 52 0d 0a 20 20 69 2c 6a 2c 6b 2c 61 63 74 75 61 6c 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20   ┆AR    i,j,k,actual : INTEGER;   ┆
0x48160…48180            20 73 74 72 09 3a 73 74 72 38 30 3b 0d 0a 20 20 73 74 72 6c 67 74 3a 62 79 74 65 20 41 54 20 73   ┆ str :str80;    strlgt:byte AT s┆
0x48180…481a0            74 72 3b 0d 0a 20 20 63 68 3a 20 43 48 41 52 3b 0d 0a 20 20 77 69 6e 3a 20 57 6e 64 5f 54 59 50   ┆tr;    ch: CHAR;    win: Wnd_TYP┆
0x481a0…481c0            45 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 61 63 74 75 61 6c 3a 3d 57 6e 64 5f 61 63 74 75 61 6c 3b   ┆E;  BEGIN    actual:=Wnd_actual;┆
0x481c0…481e0            0d 0a 20 20 77 69 6e 3a 3d 57 6e 64 5f 3b 0d 0a 20 20 73 65 6c 65 63 74 76 69 65 77 70 6f 72 74   ┆    win:=Wnd_;    selectviewport┆
0x481e0…48200            28 6e 6f 29 3b 0d 0a 20 20 73 61 76 65 76 69 65 77 70 6f 72 74 28 6e 6f 29 3b 0d 0a 20 20 77 72   ┆(no);    saveviewport(no);    wr┆
0x48200…48220            69 74 65 66 72 61 6d 65 3b 0d 0a 20 20 6b 3a 3d 30 3b 0d 0a 20 20 46 4f 52 20 69 3a 3d 31 20 54   ┆iteframe;    k:=0;    FOR i:=1 T┆
0x48220…48240            4f 20 6c 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 73 74 72 6c 67 74 3a 3d 6d 65 6d 28 2e 73   ┆O l DO BEGIN      strlgt:=mem(.s┆
0x48240…48260            65 67 28 73 74 29 3a 6f 66 73 28 73 74 29 2b 6b 2e 29 3b 0d 0a 20 20 20 20 46 4f 52 20 6a 3a 3d   ┆eg(st):ofs(st)+k.);      FOR j:=┆
0x48260…48280            31 20 54 4f 20 73 74 72 6c 67 74 20 44 4f 0d 0a 20 20 20 20 20 20 73 74 72 28 2e 6a 2e 29 3a 3d   ┆1 TO strlgt DO        str(.j.):=┆
0x48280…482a0            43 48 41 52 28 6d 65 6d 28 2e 73 65 67 28 73 74 29 3a 6f 66 73 28 73 74 29 2b 6b 2b 6a 2e 29 29   ┆CHAR(mem(.seg(st):ofs(st)+k+j.))┆
0x482a0…482c0            3b 0d 0a 20 20 20 20 6b 3a 3d 6b 2b 77 2b 31 3b 0d 0a 20 20 20 20 64 72 61 77 73 74 72 28 30 2c   ┆;      k:=k+w+1;      drawstr(0,┆
0x482c0…482e0            69 2d 31 2c 73 74 72 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 52 45 50 45 41 54 20 72 65 61 64   ┆i-1,str);    END;    REPEAT read┆
0x482e0…48300            28 6b 62 64 2c 63 68 29 20 55 4e 54 49 4c 20 63 68 20 69 6e 20 28 2e 40 31 33 2c 40 33 32 2e 29   ┆(kbd,ch) UNTIL ch in (.@13,@32.)┆
0x48300…48320            3b 0d 0a 20 20 6c 6f 61 64 76 69 65 77 70 6f 72 74 28 6e 6f 2c 30 2c 30 29 3b 0d 0a 20 20 57 6e   ┆;    loadviewport(no,0,0);    Wn┆
0x48320…48340            64 5f 61 63 74 75 61 6c 3a 3d 61 63 74 75 61 6c 3b 0d 0a 20 20 57 6e 64 5f 3a 3d 77 69 6e 3b 0d   ┆d_actual:=actual;    Wnd_:=win; ┆
0x48340…48360            0a 45 4e 44 3b 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 7b 55 64 73 6b 72 69 76 65 72 20 61 6b   ┆ END;              æUdskriver ak┆
0x48360…48380            73 65 73 79 73 74 65 6d 65 74 20 74 69 6c 20 65 6e 20 78 2c 79 20 67 72 61 66 3a 20 20 20 20 20   ┆sesystemet til en x,y graf:     ┆
0x48380…483a0            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a   ┆                           å    ┆
0x483a0…483c0            0d 0a 7b 78 64 65 6e 73 2f 79 64 65 6e 73 3a 20 20 65 74 20 74 61 6c 20 6d 65 6c 6c 65 6d 20 30   ┆  æxdens/ydens:  et tal mellem 0┆
0x483c0…483e0            20 6f 67 20 39 2c 20 64 65 72 20 61 6e 67 69 76 65 72 20 68 76 6f 72 6d 61 6e 67 65 20 6d 65 6c   ┆ og 9, der angiver hvormange mel┆
0x483e0…48400            6c 65 6d 72 75 6d 7d 0d 0a 7b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 72 20 65 72 20 6d   ┆lemrumå  æ              der er m┆
0x48400…48420 (28, 1, 5) 65 6c 6c 65 6d 20 75 64 73 6b 72 69 76 6e 69 6e 67 65 6e 20 61 66 20 76 91 72 64 69 65 72 20 70   ┆ellem udskrivningen af v rdier p┆
0x48420…48440            86 20 68 65 6e 68 6f 6c 64 73 76 69 73 7d 0d 0a 7b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78   ┆  henholdsviså  æ              x┆
0x48440…48460            20 6f 67 20 79 2d 61 6b 73 65 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ og y-aksen                     ┆
0x48460…48480            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 7b 67 69 74 74 65 72 3a 20   ┆                    å  ægitter: ┆
0x48480…484a0            20 54 72 75 65 3a 20 20 67 69 74 74 65 72 20 74 65 67 6e 65 73 20 20 20 46 61 6c 73 65 3a 20 20   ┆ True:  gitter tegnes   False:  ┆
0x484a0…484c0            67 69 74 74 65 72 20 74 65 67 6e 65 73 20 69 6b 6b 65 20 20 20 20 20 20 20 20 20 7d 0d 0a 7b 45   ┆gitter tegnes ikke         å  æE┆
0x484c0…484e0            6b 73 70 6f 78 78 2f 79 79 3a 20 27 4a 27 20 3a 20 20 78 2f 79 2d 61 6b 73 65 20 76 91 72 64 69   ┆kspoxx/yy: 'J' :  x/y-akse v rdi┆
0x484e0…48500            65 72 20 75 64 73 6b 72 69 76 65 73 20 65 6b 73 70 6f 6e 65 6e 74 69 65 6c 74 20 20 20 20 20 20   ┆er udskrives eksponentielt      ┆
0x48500…48520            20 20 7d 0d 0a 7b 20 20 20 20 20 20 20 20 20 20 20 20 27 4e 27 20 3a 20 20 76 91 72 64 69 65 72   ┆  å  æ            'N' :  v rdier┆
0x48520…48540            20 75 64 73 6b 72 69 76 65 73 20 69 6b 6b 65 20 65 6b 73 70 6f 6e 65 6e 74 69 65 6c 74 20 20 20   ┆ udskrives ikke eksponentielt   ┆
0x48540…48560            20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 64 72 61 77 61 78   ┆         å      PROCEDURE drawax┆
0x48560…48580            69 73 28 20 78 64 65 6e 73 2c 20 79 64 65 6e 73 3a 20 49 4e 54 45 47 45 52 3b 20 67 69 74 74 65   ┆is( xdens, ydens: INTEGER; gitte┆
0x48580…485a0            72 3a 20 62 6f 6f 6c 65 61 6e 3b 20 0d 0a 45 6b 73 70 6f 78 78 2c 20 45 6b 73 70 6f 79 79 20 3a   ┆r: boolean;   Ekspoxx, Ekspoyy :┆
0x485a0…485c0            20 73 74 72 31 29 3b 0d 0a 56 41 52 0d 0a 20 20 78 6b 30 2c 20 79 6b 30 2c 20 78 6b 31 2c 20 79   ┆ str1);  VAR    xk0, yk0, xk1, y┆
0x485c0…485e0            6b 31 2c 20 4e 64 69 66 66 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 65 6b 73 70 6f 78 2c 20   ┆k1, Ndiff : INTEGER;    ekspox, ┆
0x485e0…48600            65 6b 73 70 6f 79 2c 6a 2c 69 2c 20 79 73 2c 20 78 73 2c 20 64 65 6c 74 61 2c 20 6e 70 6f 69 6e   ┆ekspoy,j,i, ys, xs, delta, npoin┆
0x48600…48620            74 73 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 64 69 66 66 2c 20 6e 75 6d 62 65 72 2c 20 73   ┆ts : INTEGER;    diff, number, s┆
0x48620…48640            2c 20 66 72 61 63 74 3a 20 52 45 41 4c 3b 0d 0a 20 20 73 74 3a 20 73 74 72 38 30 3b 0d 0a 0d 0a   ┆, fract: REAL;    st: str80;    ┆
0x48640…48660            7b 4f 6d 66 6f 72 6d 65 72 20 65 74 20 61 6c 6d 69 6e 64 65 6c 69 67 74 20 74 61 6c 20 28 78 31   ┆æOmformer et almindeligt tal (x1┆
0x48660…48680            29 2c 20 76 65 64 20 68 6a 91 6c 70 20 61 66 20 65 6e 20 6f 70 67 69 76 65 6e 20 65 6b 73 70 6f   ┆), ved hj lp af en opgiven ekspo┆
0x48680…486a0            6e 65 6e 74 20 28 65 78 70 6f 29 7d 0d 0a 7b 74 69 6c 20 65 6e 20 73 74 72 69 6e 67 2c 20 68 76   ┆nent (expo)å  ætil en string, hv┆
0x486a0…486c0            6f 72 20 74 61 6c 6c 65 74 20 61 6e 67 69 76 65 73 20 65 6b 73 70 6f 6e 65 6e 74 69 65 6c 74 20   ┆or tallet angives eksponentielt ┆
0x486c0…486e0            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20   ┆                         å      ┆
0x486e0…48700            0d 0a 46 55 4e 43 54 49 4f 4e 20 73 74 72 69 6e 67 6e 75 6d 62 65 72 28 78 31 3a 20 52 45 41 4c   ┆  FUNCTION stringnumber(x1: REAL┆
0x48700…48720            3b 65 6b 73 70 6f 09 3a 20 49 4e 54 45 47 45 52 29 3a 20 73 74 72 38 30 3b 0d 0a 56 41 52 20 73   ┆;ekspo : INTEGER): str80;  VAR s┆
0x48720…48740            3a 20 73 74 72 38 30 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 73 74 72 28 78 31 2a 65 78 70 28 2d 65   ┆: str80;  BEGIN    str(x1*exp(-e┆
0x48740…48760            6b 73 70 6f 2a 6c 6e 28 31 30 2e 30 29 29 3a 35 3a 32 2c 73 29 3b 0d 0a 20 20 73 74 72 69 6e 67   ┆kspo*ln(10.0)):5:2,s);    string┆
0x48760…48780            6e 75 6d 62 65 72 3a 3d 73 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 7b 42 65 72 65 67 6e 65 72 20 68 76   ┆number:=s;  END;    æBeregner hv┆
0x48780…487a0            6f 72 73 74 6f 72 20 65 6b 73 70 6f 6e 65 6e 74 65 6e 20 73 6b 61 6c 20 76 91 72 65 2c 20 68 76   ┆orstor eksponenten skal v re, hv┆
0x487a0…487c0            69 73 20 64 65 74 20 73 74 9b 72 73 74 65 20 74 61 6c 20 73 6b 61 6c 20 76 91 72 65 7d 0d 0a 7b   ┆is det st rste tal skal v reå  æ┆
0x487c0…487e0            6d 69 6e 64 72 65 20 65 6e 64 20 31 2e 30 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆mindre end 1.00                 ┆
0x487e0…48800            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x48800…48820 (29, 0, 1) 20 20 20 20 20 20 20 7d 20 0d 0a 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 47 65 74 45 78 70 6f 6e   ┆       å       FUNCTION GetExpon┆
0x48820…48840            65 6e 74 28 58 31 3a 52 45 41 4c 29 3a 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20   ┆ent(X1:REAL):INTEGER;  BEGIN    ┆
0x48840…48860            47 65 74 45 78 70 6f 6e 65 6e 74 3a 3d 30 3b 0d 0a 20 20 49 46 20 58 31 3c 3e 30 2e 30 20 54 48   ┆GetExponent:=0;    IF X1<>0.0 TH┆
0x48860…48880            45 4e 0d 0a 20 20 20 20 49 46 20 61 62 73 28 58 31 29 3e 3d 31 2e 30 20 54 48 45 4e 20 47 65 74   ┆EN      IF abs(X1)>=1.0 THEN Get┆
0x48880…488a0            45 78 70 6f 6e 65 6e 74 3a 3d 74 72 75 6e 63 28 6c 6e 28 61 62 73 28 58 31 29 29 2f 6c 6e 28 31   ┆Exponent:=trunc(ln(abs(X1))/ln(1┆
0x488a0…488c0            30 2e 30 29 29 0d 0a 20 20 20 20 45 4c 53 45 20 47 65 74 45 78 70 6f 6e 65 6e 74 3a 3d 2d 74 72   ┆0.0))      ELSE GetExponent:=-tr┆
0x488c0…488e0            75 6e 63 28 61 62 73 28 6c 6e 28 61 62 73 28 58 31 29 29 29 2f 6c 6e 28 31 30 2e 30 29 2b 31 2e   ┆unc(abs(ln(abs(X1)))/ln(10.0)+1.┆
0x488e0…48900            30 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 7b 55 64 73 6b 72 69 76 65 72 20 68 76 6f 72 73 74 6f 72   ┆0);  END;    æUdskriver hvorstor┆
0x48900…48920            20 65 6b 73 70 6f 6e 65 6e 74 65 6e 20 65 72 7d 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 44 72   ┆ eksponenten erå    PROCEDURE Dr┆
0x48920…48940            61 77 45 78 70 6f 6e 65 6e 74 28 78 31 2c 79 31 2c 4d 61 78 45 78 70 6f 6e 65 6e 74 3a 49 4e 54   ┆awExponent(x1,y1,MaxExponent:INT┆
0x48940…48960            45 47 45 52 3b 73 3a 20 73 74 72 38 30 29 3b 0d 0a 56 41 52 20 69 3a 49 4e 54 45 47 45 52 3b 0d   ┆EGER;s: str80);  VAR i:INTEGER; ┆
0x48960…48980            0a 42 45 47 49 4e 0d 0a 20 20 57 6e 64 5f 64 72 61 77 74 65 78 74 28 78 31 2c 79 31 2c 73 29 3b   ┆ BEGIN    Wnd_drawtext(x1,y1,s);┆
0x48980…489a0            0d 0a 20 20 69 3a 3d 6c 65 6e 28 73 29 3b 0d 0a 20 20 73 74 72 28 4d 61 78 45 78 70 6f 6e 65 6e   ┆    i:=len(s);    str(MaxExponen┆
0x489a0…489c0            74 2c 53 29 3b 0d 0a 20 20 57 6e 64 5f 64 72 61 77 74 65 78 74 28 78 31 2b 69 2a 38 2c 20 79 31   ┆t,S);    Wnd_drawtext(x1+i*8, y1┆
0x489c0…489e0            2b 32 2c 20 53 29 3b 20 20 20 20 20 20 0d 0a 45 4e 44 3b 0d 0a 0d 0a 0d 0a 7b 55 64 73 6b 72 69   ┆+2, S);        END;      æUdskri┆
0x489e0…48a00            76 65 72 20 65 6e 20 73 74 72 69 6e 67 20 61 66 20 74 61 6c 20 70 86 20 65 6e 20 67 69 76 65 6e   ┆ver en string af tal p  en given┆
0x48a00…48a20            20 70 6f 73 69 74 69 6f 6e 2c 20 6d 65 64 20 65 6e 20 6f 70 67 69 76 65 6e 20 65 6b 73 70 6f 6e   ┆ position, med en opgiven ekspon┆
0x48a20…48a40            65 6e 74 20 20 20 7d 0d 0a 7b 78 31 20 6f 67 20 79 31 3a 20 75 64 73 6b 72 69 76 6e 69 6e 67 73   ┆ent   å  æx1 og y1: udskrivnings┆
0x48a40…48a60            6b 6f 6f 72 64 69 6e 61 74 65 72 6e 65 20 20 20 20 4d 61 78 45 78 70 6f 6e 65 6e 74 3a 20 65 78   ┆koordinaterne    MaxExponent: ex┆
0x48a60…48a80            73 70 6f 6e 65 6e 74 65 6e 20 64 65 72 20 61 6e 76 65 6e 64 65 73 7d 0d 0a 7b 76 65 64 20 75 64   ┆sponenten der anvendeså  æved ud┆
0x48a80…48aa0            73 6b 72 69 76 6e 69 6e 67 65 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆skrivningen                     ┆
0x48aa0…48ac0            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x48ac0…48ae0            20 20 20 20 20 20 7d 0d 0a 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 44 72 61 77 4e 75 6d 28 78   ┆      å      PROCEDURE DrawNum(x┆
0x48ae0…48b00            31 2c 79 31 2c 4d 61 78 45 78 70 6f 6e 65 6e 74 3a 49 4e 54 45 47 45 52 3b 4e 75 6d 62 65 72 3a   ┆1,y1,MaxExponent:INTEGER;Number:┆
0x48b00…48b20            52 45 41 4c 29 3b 0d 0a 56 41 52 20 69 3a 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 53 74 72 4e   ┆REAL);  VAR i:INTEGER;      StrN┆
0x48b20…48b40            75 6d 62 65 72 3a 20 73 74 72 38 30 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 53 74 72 4e 75 6d 62 65   ┆umber: str80;  BEGIN    StrNumbe┆
0x48b40…48b60            72 3a 3d 53 74 72 69 6e 67 4e 75 6d 62 65 72 28 4e 75 6d 62 65 72 2c 4d 61 78 45 78 70 6f 6e 65   ┆r:=StringNumber(Number,MaxExpone┆
0x48b60…48b80            6e 74 29 3b 0d 0a 20 20 57 6e 64 5f 44 72 61 77 74 65 78 74 28 78 31 2c 79 31 2c 53 74 72 4e 75   ┆nt);    Wnd_Drawtext(x1,y1,StrNu┆
0x48b80…48ba0            6d 62 65 72 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 42 45 47 49 4e 0d 0a 20 20 0d 0a 20 20 7b 78 64   ┆mber);  END;    BEGIN        æxd┆
0x48ba0…48bc0            65 6e 73 20 6f 67 20 79 64 65 6e 73 20 6f 6d 64 61 6e 6e 65 73 20 73 86 20 64 65 20 70 61 73 73   ┆ens og ydens omdannes s  de pass┆
0x48bc0…48be0            65 20 74 69 6c 20 70 72 6f 67 72 61 6d 6d 65 74 7d 0d 0a 20 20 0d 0a 20 20 78 64 65 6e 73 20 3a   ┆e til programmetå        xdens :┆
0x48be0…48c00            3d 20 31 30 20 2d 20 78 64 65 6e 73 3b 0d 0a 20 20 79 64 65 6e 73 20 3a 3d 20 31 30 20 2d 20 79   ┆= 10 - xdens;    ydens := 10 - y┆
0x48c00…48c20 (29, 0, 2) 64 65 6e 73 3b 0d 0a 20 20 0d 0a 20 20 63 6c 65 61 72 3b 0d 0a 20 20 0d 0a 20 20 7b 74 65 67 6e   ┆dens;        clear;        ætegn┆
0x48c20…48c40            65 72 20 6b 61 73 73 65 20 72 75 6e 64 74 20 6f 6d 20 67 72 61 66 65 6e 7d 0d 0a 20 20 0d 0a 20   ┆er kasse rundt om grafenå       ┆
0x48c40…48c60            20 64 72 61 77 66 72 61 6d 65 3b 20 20 20 0d 0a 20 20 78 6b 30 3a 3d 36 2a 38 2b 32 3b 0d 0a 20   ┆ drawframe;       xk0:=6*8+2;   ┆
0x48c60…48c80            20 79 6b 30 3a 3d 31 32 3b 0d 0a 20 20 78 6b 31 3a 3d 57 6e 64 5f 2e 6d 61 78 78 2d 32 34 3b 0d   ┆ yk0:=12;    xk1:=Wnd_.maxx-24; ┆
0x48c80…48ca0            0a 20 20 79 6b 31 3a 3d 57 6e 64 5f 2e 6d 61 78 79 2d 38 3b 0d 0a 20 0d 0a 20 20 7b 74 65 67 6e   ┆   yk1:=Wnd_.maxy-8;       ætegn┆
0x48ca0…48cc0            65 72 20 61 6b 73 65 72 6e 65 2c 69 6b 6b 65 20 64 65 6c 73 74 72 65 67 65 72 6e 65 20 7d 0d 0a   ┆er akserne,ikke delstregerne å  ┆
0x48cc0…48ce0            20 0d 0a 20 20 57 6e 64 5f 64 72 61 77 6c 69 6e 65 28 78 6b 30 2c 79 6b 30 2c 78 6b 30 2c 79 6b   ┆     Wnd_drawline(xk0,yk0,xk0,yk┆
0x48ce0…48d00            31 29 3b 20 20 20 20 0d 0a 20 20 57 6e 64 5f 64 72 61 77 6c 69 6e 65 28 78 6b 30 2c 79 6b 30 2c   ┆1);        Wnd_drawline(xk0,yk0,┆
0x48d00…48d20            78 6b 31 2c 79 6b 30 29 3b 20 20 20 20 0d 0a 20 20 57 6e 64 5f 64 72 61 77 6c 69 6e 65 28 78 6b   ┆xk1,yk0);        Wnd_drawline(xk┆
0x48d20…48d40            30 2c 79 6b 30 2c 78 6b 30 2d 34 2c 79 6b 30 29 3b 20 20 0d 0a 20 20 57 6e 64 5f 64 72 61 77 6c   ┆0,yk0,xk0-4,yk0);      Wnd_drawl┆
0x48d40…48d60            69 6e 65 28 78 6b 30 2c 79 6b 30 2d 34 2c 78 6b 30 2c 79 6b 30 29 3b 20 20 0d 0a 20 20 64 65 6c   ┆ine(xk0,yk0-4,xk0,yk0);      del┆
0x48d60…48d80            74 61 3a 3d 57 6e 64 5f 2e 6d 61 78 79 2d 79 6b 30 3b 0d 0a 20 20 6e 70 6f 69 6e 74 73 3a 3d 64   ┆ta:=Wnd_.maxy-yk0;    npoints:=d┆
0x48d80…48da0            65 6c 74 61 20 44 49 56 20 38 2b 31 3b 20 20 20 20 20 20 20 20 20 20 20 7b 61 6e 74 61 6c 20 64   ┆elta DIV 8+1;           æantal d┆
0x48da0…48dc0            65 6c 73 74 72 65 67 65 72 20 70 86 20 79 2d 61 6b 73 65 6e 7d 0d 0a 20 20 6e 64 69 66 66 3a 3d   ┆elstreger p  y-aksenå    ndiff:=┆
0x48dc0…48de0            64 65 6c 74 61 2d 28 6e 70 6f 69 6e 74 73 2a 38 29 3b 0d 0a 0d 0a 20 20 7b 44 65 6e 20 6d 61 6b   ┆delta-(npoints*8);      æDen mak┆
0x48de0…48e00            73 69 6d 61 6c 65 20 65 6b 73 70 6f 6e 74 20 62 65 72 65 67 6e 65 73 20 20 20 20 20 20 20 20 20   ┆simale ekspont beregnes         ┆
0x48e00…48e20            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 7b 48 76 69 73 20 65 6b 73 70 6f   ┆                å    æHvis ekspo┆
0x48e20…48e40            79 20 3a 3d 20 30 20 62 6c 69 76 65 72 20 74 61 6c 65 6e 65 20 75 64 73 6b 72 65 76 65 74 20 75   ┆y := 0 bliver talene udskrevet u┆
0x48e40…48e60            64 65 6e 20 65 6b 73 70 6f 6e 65 6e 74 7d 0d 0a 20 20 0d 0a 20 20 49 66 20 65 6b 73 70 6f 79 79   ┆den eksponentå        If ekspoyy┆
0x48e60…48e80            20 3d 20 27 4a 27 20 74 68 65 6e 20 0d 0a 20 20 20 0d 0a 20 20 57 49 54 48 20 77 6c 64 5f 20 44   ┆ = 'J' then          WITH wld_ D┆
0x48e80…48ea0            4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 49 46 20 61 62 73 28 79 72 61 6e 67 65 2b 79 31 29 3e 61   ┆O BEGIN      IF abs(yrange+y1)>a┆
0x48ea0…48ec0            62 73 28 79 31 29 20 54 48 45 4e 20 65 6b 73 70 6f 79 3a 3d 67 65 74 65 78 70 6f 6e 65 6e 74 28   ┆bs(y1) THEN ekspoy:=getexponent(┆
0x48ec0…48ee0            79 72 61 6e 67 65 2b 79 31 29 0d 0a 20 20 20 20 45 4c 53 45 20 65 6b 73 70 6f 79 3a 3d 67 65 74   ┆yrange+y1)      ELSE ekspoy:=get┆
0x48ee0…48f00            65 78 70 6f 6e 65 6e 74 28 79 31 29 3b 0d 0a 20 20 45 4e 44 0d 0a 20 20 0d 0a 20 20 45 6c 73 65   ┆exponent(y1);    END        Else┆
0x48f00…48f20            20 65 6b 73 70 6f 79 20 3a 3d 20 30 3b 0d 0a 20 20 20 0d 0a 20 20 7b 75 64 73 6b 72 69 76 65 72   ┆ ekspoy := 0;         æudskriver┆
0x48f20…48f40            20 79 2a 31 30 20 70 86 20 79 2d 61 6b 73 65 6e 7d 0d 0a 20 20 0d 0a 20 20 49 46 20 28 79 64 65   ┆ y*10 p  y-aksenå        IF (yde┆
0x48f40…48f60            6e 73 3e 30 29 20 61 6e 64 20 28 65 6b 73 70 6f 79 20 3c 3e 20 30 29 20 54 48 45 4e 20 0d 0a 20   ┆ns>0) and (ekspoy <> 0) THEN    ┆
0x48f60…48f80            20 20 20 64 72 61 77 65 78 70 6f 6e 65 6e 74 28 30 2c 57 6e 64 5f 2e 6d 61 78 79 2d 31 30 2c 65   ┆   drawexponent(0,Wnd_.maxy-10,e┆
0x48f80…48fa0            6b 73 70 6f 79 2c 27 79 2a 31 30 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆kspoy,'y*10');                  ┆
0x48fa0…48fc0            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 46 72 61 63 74 3a 3d 4e   ┆                        Fract:=N┆
0x48fc0…48fe0            44 69 66 66 2f 4e 50 6f 69 6e 74 73 3b 0d 0a 20 20 73 3a 3d 2d 46 72 61 63 74 3b 0d 0a 20 20 79   ┆Diff/NPoints;    s:=-Fract;    y┆
0x48fe0…49000            73 3a 3d 79 6b 30 2d 38 3b 0d 0a 20 20 44 69 66 66 3a 3d 28 77 6c 64 5f 2e 79 72 61 6e 67 65 29   ┆s:=yk0-8;    Diff:=(wld_.yrange)┆
0x49000…49020 (29, 0, 3) 2f 4e 50 6f 69 6e 74 73 3b 0d 0a 20 20 0d 0a 20 20 7b 64 65 6c 73 74 72 65 67 65 72 20 70 86 20   ┆/NPoints;        ædelstreger p  ┆
0x49020…49040            79 2d 61 6b 73 65 6e 20 74 65 67 6e 65 73 7d 0d 0a 20 20 0d 0a 20 20 46 4f 52 20 69 3a 3d 30 20   ┆y-aksen tegneså        FOR i:=0 ┆
0x49040…49060            54 4f 20 4e 50 6f 69 6e 74 73 2d 31 20 44 4f 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 42 45 47   ┆TO NPoints-1 DO              BEG┆
0x49060…49080            49 4e 0d 0a 20 20 20 20 20 79 73 3a 3d 79 73 2b 38 3b 0d 0a 20 20 20 20 20 4e 75 6d 62 65 72 3a   ┆IN       ys:=ys+8;       Number:┆
0x49080…490a0            3d 77 6c 64 5f 2e 59 31 2b 69 2a 44 69 66 66 3b 0d 0a 20 20 0d 0a 20 20 20 20 20 7b 54 65 67 6e   ┆=wld_.Y1+i*Diff;           æTegn┆
0x490a0…490c0            65 72 20 64 65 6c 73 74 72 65 67 65 72 20 70 86 20 79 2d 61 6b 73 65 6e 7d 0d 0a 20 20 0d 0a 20   ┆er delstreger p  y-aksenå       ┆
0x490c0…490e0            20 20 20 20 49 46 20 79 64 65 6e 73 3e 30 20 54 48 45 4e 20 57 6e 64 5f 44 72 61 77 4c 69 6e 65   ┆    IF ydens>0 THEN Wnd_DrawLine┆
0x490e0…49100            28 78 6b 30 2c 79 73 2c 78 6b 30 2d 34 2c 79 73 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   ┆(xk0,ys,xk0-4,ys);              ┆
0x49100…49120            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 49 46 20 28 79   ┆                           IF (y┆
0x49120…49140            64 65 6e 73 3e 30 29 20 41 4e 44 20 28 69 20 4d 4f 44 20 28 31 30 2d 59 44 65 6e 73 29 3d 30 29   ┆dens>0) AND (i MOD (10-YDens)=0)┆
0x49140…49160            20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 6a 3a 3d 78 6b 30 3b 0d 0a 20 20 20   ┆ THEN BEGIN         j:=xk0;     ┆
0x49160…49180            20 20 20 20 0d 0a 20 20 20 20 20 20 20 7b 75 64 73 6b 72 69 76 6e 69 6e 67 20 61 66 20 67 69 74   ┆             æudskrivning af git┆
0x49180…491a0            74 65 72 7d 0d 0a 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 49 46 20 67 69 74 74 65 72 20   ┆terå                  IF gitter ┆
0x491a0…491c0            54 48 45 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20   ┆THEN                            ┆
0x491c0…491e0            57 48 49 4c 45 20 6a 3c 3d 78 6b 31 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 20   ┆WHILE j<=xk1 DO BEGIN           ┆
0x491e0…49200            57 6e 64 5f 77 72 69 74 65 64 6f 74 28 6a 2c 79 73 29 3b 20 6a 3a 3d 6a 2b 33 3b 0d 0a 20 20 20   ┆Wnd_writedot(j,ys); j:=j+3;     ┆
0x49200…49220            20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 7b 75 64 73 6b   ┆     END;                  æudsk┆
0x49220…49240            72 69 76 65 72 20 76 91 72 64 69 65 72 20 66 6f 72 20 79 2d 61 6b 73 65 6e 20 20 20 20 20 20 20   ┆river v rdier for y-aksen       ┆
0x49240…49260            7d 0d 0a 20 20 20 20 20 20 20 7b 79 73 3a 20 79 2d 76 91 72 64 69 65 6e 20 66 6f 72 20 75 64 73   ┆å         æys: y-v rdien for uds┆
0x49260…49280            6b 72 69 76 6e 69 6e 67 73 73 74 65 64 65 74 7d 0d 0a 20 20 20 20 20 20 20 7b 65 6b 73 70 6f 79   ┆krivningsstedetå         æekspoy┆
0x49280…492a0            3a 20 65 6b 73 70 6f 6e 65 6e 74 65 6e 20 64 65 72 20 61 6e 76 65 6e 64 65 73 20 20 20 20 7d 20   ┆: eksponenten der anvendes    å ┆
0x492a0…492c0            20 0d 0a 20 20 20 20 20 20 20 7b 6e 75 6d 62 65 72 3a 20 44 65 74 20 74 61 6c 2c 20 64 65 72 20   ┆          ænumber: Det tal, der ┆
0x492c0…492e0            73 6b 72 69 76 65 73 20 20 20 20 20 20 20 20 7d 20 0d 0a 20 20 20 20 20 20 20 20 20 0d 0a 20 20   ┆skrives        å                ┆
0x492e0…49300            20 20 20 20 20 49 46 20 28 79 73 3c 57 6e 64 5f 2e 6d 61 78 79 2d 32 30 29 20 54 48 45 4e 20 20   ┆     IF (ys<Wnd_.maxy-20) THEN  ┆
0x49300…49320            20 20 20 20 20 44 72 61 77 4e 75 6d 28 30 2c 79 73 2c 45 6b 73 70 6f 59 2c 4e 75 6d 62 65 72 29   ┆     DrawNum(0,ys,EkspoY,Number)┆
0x49320…49340            3b 20 20 0d 0a 20 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 45 4e 44 3b 0d 0a 20 20 64 65 6c   ┆;           END;     END;    del┆
0x49340…49360            74 61 3a 3d 57 6e 64 5f 2e 6d 61 78 78 2d 78 6b 30 2d 32 3b 0d 0a 20 20 6e 70 6f 69 6e 74 73 3a   ┆ta:=Wnd_.maxx-xk0-2;    npoints:┆
0x49360…49380            3d 64 65 6c 74 61 20 44 49 56 20 34 30 2b 31 3b 0d 0a 20 20 6e 64 69 66 66 3a 3d 64 65 6c 74 61   ┆=delta DIV 40+1;    ndiff:=delta┆
0x49380…493a0            2d 28 6e 70 6f 69 6e 74 73 2a 34 30 29 3b 0d 0a 20 20 0d 0a 20 20 49 66 20 65 6b 73 70 6f 78 78   ┆-(npoints*40);        If ekspoxx┆
0x493a0…493c0            20 3d 20 27 4a 27 20 74 68 65 6e 20 0d 0a 20 20 0d 0a 20 20 57 49 54 48 20 77 6c 64 5f 20 44 4f   ┆ = 'J' then         WITH wld_ DO┆
0x493c0…493e0            20 42 45 47 49 4e 0d 0a 20 20 20 20 49 46 20 61 62 73 28 78 72 61 6e 67 65 2b 78 31 29 3e 61 62   ┆ BEGIN      IF abs(xrange+x1)>ab┆
0x493e0…49400            73 28 78 31 29 20 54 48 45 4e 20 65 6b 73 70 6f 79 3a 3d 67 65 74 65 78 70 6f 6e 65 6e 74 28 78   ┆s(x1) THEN ekspoy:=getexponent(x┆
0x49400…49420 (29, 0, 4) 72 61 6e 67 65 2b 78 31 29 0d 0a 20 20 20 20 45 4c 53 45 20 65 6b 73 70 6f 79 3a 3d 67 65 74 65   ┆range+x1)      ELSE ekspoy:=gete┆
0x49420…49440            78 70 6f 6e 65 6e 74 28 78 31 29 3b 0d 0a 20 20 45 4e 44 0d 0a 20 20 0d 0a 20 20 65 6c 73 65 20   ┆xponent(x1);    END        else ┆
0x49440…49460            65 6b 73 70 6f 79 20 3a 3d 20 30 3b 0d 0a 20 20 0d 0a 20 20 49 46 20 28 78 64 65 6e 73 3e 30 29   ┆ekspoy := 0;        IF (xdens>0)┆
0x49460…49480            20 61 6e 64 20 28 65 6b 73 70 6f 79 20 3c 3e 20 30 29 20 54 48 45 4e 20 0d 0a 20 20 20 20 64 72   ┆ and (ekspoy <> 0) THEN       dr┆
0x49480…494a0            61 77 65 78 70 6f 6e 65 6e 74 28 57 6e 64 5f 2e 6d 61 78 78 2d 34 38 2c 30 2c 65 6b 73 70 6f 79   ┆awexponent(Wnd_.maxx-48,0,ekspoy┆
0x494a0…494c0            2c 27 78 2a 31 30 27 29 3b 0d 0a 20 20 0d 0a 20 20 46 72 61 63 74 3a 3d 4e 44 69 66 66 2f 4e 50   ┆,'x*10');        Fract:=NDiff/NP┆
0x494c0…494e0            6f 69 6e 74 73 3b 0d 0a 20 20 73 3a 3d 2d 46 72 61 63 74 3b 0d 0a 20 20 79 73 3a 3d 78 6b 30 2d   ┆oints;    s:=-Fract;    ys:=xk0-┆
0x494e0…49500            34 30 3b 0d 0a 20 20 44 69 66 66 3a 3d 28 77 6c 64 5f 2e 78 72 61 6e 67 65 29 2f 4e 50 6f 69 6e   ┆40;    Diff:=(wld_.xrange)/NPoin┆
0x49500…49520            74 73 3b 0d 0a 20 20 46 4f 52 20 69 3a 3d 30 20 54 4f 20 4e 50 6f 69 6e 74 73 2d 31 20 44 4f 0d   ┆ts;    FOR i:=0 TO NPoints-1 DO ┆
0x49520…49540            0a 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 79 73 3a 3d 79 73 2b 34 30 3b 0d 0a 20 20 20 20 4e   ┆    BEGIN      ys:=ys+40;      N┆
0x49540…49560            75 6d 62 65 72 3a 3d 77 6c 64 5f 2e 78 31 2b 69 2a 44 69 66 66 3b 0d 0a 20 20 20 20 49 46 20 78   ┆umber:=wld_.x1+i*Diff;      IF x┆
0x49560…49580            64 65 6e 73 3e 30 20 54 48 45 4e 20 57 6e 64 5f 44 72 61 77 4c 69 6e 65 28 79 73 2c 79 6b 30 2c   ┆dens>0 THEN Wnd_DrawLine(ys,yk0,┆
0x49580…495a0            79 73 2c 79 6b 30 2d 34 29 3b 0d 0a 20 20 20 20 49 46 20 28 78 64 65 6e 73 3e 30 29 20 41 4e 44   ┆ys,yk0-4);      IF (xdens>0) AND┆
0x495a0…495c0            20 28 69 20 4d 4f 44 20 28 31 30 2d 78 44 65 6e 73 29 3d 30 29 20 54 48 45 4e 20 42 45 47 49 4e   ┆ (i MOD (10-xDens)=0) THEN BEGIN┆
0x495c0…495e0            0d 0a 20 20 20 20 20 20 6a 3a 3d 79 6b 30 3b 0d 0a 20 20 20 20 20 20 49 46 20 67 69 74 74 65 72   ┆        j:=yk0;        IF gitter┆
0x495e0…49600            20 54 48 45 4e 0d 0a 20 20 20 20 20 20 20 57 48 49 4c 45 20 6a 3c 3d 79 6b 31 20 44 4f 20 42 45   ┆ THEN         WHILE j<=yk1 DO BE┆
0x49600…49620            47 49 4e 0d 0a 20 20 20 20 20 20 20 20 57 6e 64 5f 77 72 69 74 65 64 6f 74 28 79 73 2c 6a 29 3b   ┆GIN          Wnd_writedot(ys,j);┆
0x49620…49640            20 6a 3a 3d 6a 2b 33 3b 0d 0a 20 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 20 20 49 46 20   ┆ j:=j+3;         END;        IF ┆
0x49640…49660            28 79 73 3c 57 6e 64 5f 2e 6d 61 78 78 2d 34 38 29 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20   ┆(ys<Wnd_.maxx-48)THEN BEGIN     ┆
0x49660…49680            20 20 20 20 20 44 72 61 77 4e 75 6d 28 79 73 2d 34 30 2c 30 2c 45 6b 73 70 6f 59 2c 4e 75 6d 62   ┆     DrawNum(ys-40,0,EkspoY,Numb┆
0x49680…496a0            65 72 29 3b 0d 0a 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 45   ┆er);        END;      END;     E┆
0x496a0…496c0            4e 44 3b 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 78   ┆ND;    WITH Wnd_ DO BEGIN      x┆
0x496c0…496e0            31 3a 3d 78 31 2b 78 6b 30 3b 0d 0a 20 20 20 20 6d 61 78 78 3a 3d 6d 61 78 78 2d 78 6b 30 3b 0d   ┆1:=x1+xk0;      maxx:=maxx-xk0; ┆
0x496e0…49700            0a 20 20 20 20 79 31 3a 3d 79 31 2b 79 6b 30 3b 0d 0a 20 20 20 20 6d 61 78 79 3a 3d 6d 61 78 79   ┆     y1:=y1+yk0;      maxy:=maxy┆
0x49700…49720            2d 79 6b 30 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 00 00 00 00 00 00 00 00 00 00 00   ┆-yk0;    END;  END;             ┆
0x49720…49740            00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
         […0x2…]
0x49780…497a0            e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
         […0x3…]
0x49800…49820 (29, 0, 5) 7b 4a 45 4f 20 38 35 30 37 33 30 20 7d 0d 0a 0d 0a 63 6f 6e 73 74 20 20 48 65 72 63 47 72 61 70   ┆æJEO 850730 å    const  HercGrap┆
0x49820…49840            68 54 61 62 6c 65 20 3a 20 61 72 72 61 79 20 5b 31 2e 2e 31 32 5d 20 6f 66 20 62 79 74 65 20 3d   ┆hTable : array Æ1..12Å of byte =┆
0x49840…49860            20 28 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 33 35 2c   ┆ (                          $35,┆
0x49860…49880            24 32 44 2c 24 32 45 2c 24 30 37 2c 24 35 42 2c 24 30 32 2c 24 35 37 2c 24 35 37 2c 24 30 32 2c   ┆$2D,$2E,$07,$5B,$02,$57,$57,$02,┆
0x49880…498a0            24 30 33 2c 24 30 31 2c 24 30 43 29 3b 0d 0a 63 6f 6e 73 74 20 20 48 65 72 63 54 65 78 74 54 61   ┆$03,$01,$0C);  const  HercTextTa┆
0x498a0…498c0            62 6c 65 20 20 3a 20 61 72 72 61 79 20 5b 31 2e 2e 31 32 5d 20 6f 66 20 62 79 74 65 20 3d 20 28   ┆ble  : array Æ1..12Å of byte = (┆
0x498c0…498e0            0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 36 31 2c 24 35   ┆                          $61,$5┆
0x498e0…49900            30 2c 24 35 32 2c 24 30 46 2c 24 31 39 2c 24 30 36 2c 24 31 39 2c 24 31 39 2c 24 30 32 2c 24 30   ┆0,$52,$0F,$19,$06,$19,$19,$02,$0┆
0x49900…49920            44 2c 24 30 42 2c 24 30 43 29 3b 0d 0a 0d 0a 74 79 70 65 20 47 72 61 70 68 69 63 46 6f 6e 74 20   ┆D,$0B,$0C);    type GraphicFont ┆
0x49920…49940            3d 20 61 72 72 61 79 20 5b 30 2e 2e 33 31 5d 20 6f 66 20 69 6e 74 65 67 65 72 3b 0d 0a 0d 0a 76   ┆= array Æ0..31Å of integer;    v┆
0x49940…49960            61 72 20 50 4c 4f 54 43 4f 55 4e 54 2c 50 4c 4f 54 4c 49 4e 45 53 3a 20 49 4e 54 45 47 45 52 3b   ┆ar PLOTCOUNT,PLOTLINES: INTEGER;┆
0x49960…49980            0d 0a 20 20 20 20 50 4c 4f 54 44 45 46 49 4e 54 3a 20 41 52 52 41 59 20 5b 31 2e 2e 33 32 5d 20   ┆      PLOTDEFINT: ARRAY Æ1..32Å ┆
0x49980…499a0            4f 46 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 50 4c 4f 54 44 45 46 52 45 41 4c 3a 20 41 52   ┆OF INTEGER;      PLOTDEFREAL: AR┆
0x499a0…499c0            52 41 59 20 5b 31 2e 2e 32 34 5d 20 4f 46 20 52 45 41 4c 3b 0d 0a 20 20 20 20 50 4c 4f 54 46 49   ┆RAY Æ1..24Å OF REAL;      PLOTFI┆
0x499c0…499e0            4c 45 3a 20 54 45 58 54 3b 0d 0a 20 20 20 20 48 43 44 65 66 49 6e 74 3a 20 61 72 72 61 79 20 5b   ┆LE: TEXT;      HCDefInt: array Æ┆
0x499e0…49a00            31 2e 2e 31 30 5d 20 6f 66 20 69 6e 74 65 67 65 72 3b 0d 0a 20 20 20 20 48 43 44 65 66 52 65 61   ┆1..10Å of integer;      HCDefRea┆
0x49a00…49a20            6c 3a 20 61 72 72 61 79 20 5b 31 2e 2e 31 30 5d 20 6f 66 20 72 65 61 6c 3b 0d 0a 20 20 20 20 48   ┆l: array Æ1..10Å of real;      H┆
0x49a20…49a40            43 46 6f 6e 74 3a 20 47 72 61 70 68 69 63 46 6f 6e 74 3b 0d 0a 20 20 20 20 48 43 46 6f 6e 74 46   ┆CFont: GraphicFont;      HCFontF┆
0x49a40…49a60            69 6c 65 3a 20 66 69 6c 65 20 6f 66 20 47 72 61 70 68 69 63 46 6f 6e 74 3b 0d 0a 0d 0a 50 52 4f   ┆ile: file of GraphicFont;    PRO┆
0x49a60…49a80            43 45 44 55 52 45 20 4d 61 72 6b 52 65 63 74 61 6e 67 6c 65 28 58 6c 6f 77 2c 59 6c 6f 77 2c 58   ┆CEDURE MarkRectangle(Xlow,Ylow,X┆
0x49a80…49aa0            73 69 7a 65 2c 59 73 69 7a 65 3a 20 69 6e 74 65 67 65 72 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20   ┆size,Ysize: integer);  BEGIN    ┆
0x49aa0…49ac0            6d 6f 76 65 74 6f 28 58 6c 6f 77 2c 59 6c 6f 77 29 3b 0d 0a 20 20 64 72 61 77 74 6f 28 58 6c 6f   ┆moveto(Xlow,Ylow);    drawto(Xlo┆
0x49ac0…49ae0            77 2c 59 6c 6f 77 2b 59 73 69 7a 65 29 3b 0d 0a 20 20 64 72 61 77 74 6f 28 58 6c 6f 77 2b 58 73   ┆w,Ylow+Ysize);    drawto(Xlow+Xs┆
0x49ae0…49b00            69 7a 65 2c 59 6c 6f 77 2b 59 73 69 7a 65 29 3b 0d 0a 20 20 64 72 61 77 74 6f 28 58 6c 6f 77 2b   ┆ize,Ylow+Ysize);    drawto(Xlow+┆
0x49b00…49b20            58 73 69 7a 65 2c 59 6c 6f 77 29 3b 0d 0a 20 20 64 72 61 77 74 6f 28 58 6c 6f 77 2c 59 6c 6f 77   ┆Xsize,Ylow);    drawto(Xlow,Ylow┆
0x49b20…49b40            29 3b 0d 0a 20 20 50 65 6e 55 70 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20   ┆);    PenUp;  END;    PROCEDURE ┆
0x49b40…49b60            6d 61 72 6b 63 69 72 63 6c 65 28 78 2c 79 2c 72 3a 20 52 45 41 4c 29 3b 0d 0a 42 45 47 49 4e 0d   ┆markcircle(x,y,r: REAL);  BEGIN ┆
0x49b60…49b80            0a 20 20 63 69 72 63 6c 65 28 78 2c 79 2c 72 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45   ┆   circle(x,y,r);  END;    PROCE┆
0x49b80…49ba0            44 55 52 45 20 6d 61 72 6b 77 65 67 64 65 0d 0a 28 78 63 65 6e 74 65 72 2c 79 63 65 6e 74 65 72   ┆DURE markwegde  (xcenter,ycenter┆
0x49ba0…49bc0            2c 72 61 64 69 75 73 2c 73 74 61 72 74 61 6e 67 6c 65 2c 73 77 65 65 70 61 6e 67 6c 65 2c 63 68   ┆,radius,startangle,sweepangle,ch┆
0x49bc0…49be0            6f 72 64 61 6e 67 6c 65 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 43 4f 4e 53 54 20 50 68 69 20 3d   ┆ordangle: INTEGER);  CONST Phi =┆
0x49be0…49c00            20 33 2e 31 34 3b 0d 0a 56 41 52 0d 0a 20 20 4e 75 6d 2c 49 20 3a 20 49 6e 74 65 67 65 72 3b 0d   ┆ 3.14;  VAR    Num,I : Integer; ┆
0x49c00…49c20 (29, 1, 1) 0a 20 20 20 20 46 61 63 20 3a 20 52 65 61 6c 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 46 61 63 3a 3d   ┆     Fac : Real;  BEGIN    Fac:=┆
0x49c20…49c40            50 68 69 2f 31 38 30 2e 30 3b 0d 0a 20 20 4e 75 6d 3a 3d 53 77 65 65 70 41 6e 67 6c 65 20 64 69   ┆Phi/180.0;    Num:=SweepAngle di┆
0x49c40…49c60            76 20 43 68 6f 72 64 41 6e 67 6c 65 3b 0d 0a 20 20 6d 6f 76 65 74 6f 28 58 43 65 6e 74 65 72 2b   ┆v ChordAngle;    moveto(XCenter+┆
0x49c60…49c80            72 6f 75 6e 64 28 63 6f 73 28 53 74 61 72 74 41 6e 67 6c 65 2a 46 61 63 29 2a 52 61 64 69 75 73   ┆round(cos(StartAngle*Fac)*Radius┆
0x49c80…49ca0            29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 59 43 65 6e 74 65 72 2b 72 6f 75 6e 64 28 73 69   ┆),              YCenter+round(si┆
0x49ca0…49cc0            6e 28 53 74 61 72 74 41 6e 67 6c 65 2a 46 61 63 29 2a 52 61 64 69 75 73 29 29 3b 0d 0a 20 20 46   ┆n(StartAngle*Fac)*Radius));    F┆
0x49cc0…49ce0            4f 52 20 49 3a 3d 31 20 54 4f 20 4e 75 6d 20 64 6f 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20   ┆OR I:=1 TO Num do    BEGIN      ┆
0x49ce0…49d00            64 72 61 77 74 6f 28 58 43 65 6e 74 65 72 2b 72 6f 75 6e 64 28 63 6f 73 28 28 53 74 61 72 74 41   ┆drawto(XCenter+round(cos((StartA┆
0x49d00…49d20            6e 67 6c 65 2b 69 2a 43 68 6f 72 64 41 6e 67 6c 65 29 2a 46 61 63 29 2a 52 61 64 69 75 73 29 2c   ┆ngle+i*ChordAngle)*Fac)*Radius),┆
0x49d20…49d40            0d 0a 20 20 20 20 20 20 20 20 20 20 59 43 65 6e 74 65 72 2b 72 6f 75 6e 64 28 73 69 6e 28 28 53   ┆            YCenter+round(sin((S┆
0x49d40…49d60            74 61 72 74 41 6e 67 6c 65 2b 69 2a 43 68 6f 72 64 41 6e 67 6c 65 29 2a 46 61 63 29 2a 52 61 64   ┆tartAngle+i*ChordAngle)*Fac)*Rad┆
0x49d60…49d80            69 75 73 29 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 6d 6f 76 65 74 6f 28 58 43 65 6e 74 65 72   ┆ius));    END;    moveto(XCenter┆
0x49d80…49da0            2c 59 43 65 6e 74 65 72 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 46 49   ┆,YCenter);  END;    PROCEDURE FI┆
0x49da0…49dc0            4c 4c 57 45 44 47 45 28 58 43 45 4e 54 45 52 2c 59 43 45 4e 54 45 52 2c 52 41 44 49 55 53 2c 53   ┆LLWEDGE(XCENTER,YCENTER,RADIUS,S┆
0x49dc0…49de0            54 41 52 54 41 4e 47 4c 45 2c 53 57 45 45 50 41 4e 47 4c 45 2c 43 48 4f 52 44 41 4e 47 4c 45 3a   ┆TARTANGLE,SWEEPANGLE,CHORDANGLE:┆
0x49de0…49e00            20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 50 4c 41 43 45 55 50 28 58 43 45 4e 54   ┆ INTEGER);  BEGIN  PLACEUP(XCENT┆
0x49e00…49e20            45 52 2c 59 43 45 4e 54 45 52 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20   ┆ER,YCENTER);  END;    PROCEDURE ┆
0x49e20…49e40            4d 41 52 4b 53 59 4d 42 4f 4c 4d 4f 44 45 28 58 2c 59 2c 53 59 4d 42 4f 4c 3a 20 49 4e 54 45 47   ┆MARKSYMBOLMODE(X,Y,SYMBOL: INTEG┆
0x49e40…49e60            45 52 29 3b 0d 0a 56 41 52 20 4f 4c 44 57 2c 4f 4c 44 48 3a 20 52 45 41 4c 3b 0d 0a 42 45 47 49   ┆ER);  VAR OLDW,OLDH: REAL;  BEGI┆
0x49e60…49e80            4e 0d 0a 4f 4c 44 57 3a 3d 50 4c 4f 54 44 45 46 52 45 41 4c 5b 31 5d 3b 0d 0a 4f 4c 44 48 3a 3d   ┆N  OLDW:=PLOTDEFREALÆ1Å;  OLDH:=┆
0x49e80…49ea0            50 4c 4f 54 44 45 46 52 45 41 4c 5b 32 5d 3b 0d 0a 43 48 41 52 53 49 5a 45 28 50 4c 4f 54 44 45   ┆PLOTDEFREALÆ2Å;  CHARSIZE(PLOTDE┆
0x49ea0…49ec0            46 52 45 41 4c 5b 33 5d 29 3b 0d 0a 45 4e 44 3b 0d 0a 28 2a 20 4a 45 4f 20 38 35 30 37 32 37 20   ┆FREALÆ3Å);  END;  (* JEO 850727 ┆
0x49ec0…49ee0            2a 29 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 43 4f 4e 56 45 52 54 53 43 41 4c 45 28 44 41 54 41   ┆*)    FUNCTION CONVERTSCALE(DATA┆
0x49ee0…49f00            50 4f 53 3a 20 52 45 41 4c 3b 58 59 3a 20 49 4e 54 45 47 45 52 29 3a 20 49 4e 54 45 47 45 52 3b   ┆POS: REAL;XY: INTEGER): INTEGER;┆
0x49f00…49f20            0d 0a 76 61 72 20 4d 69 64 3a 20 52 65 61 6c 3b 0d 0a 42 45 47 49 4e 0d 0a 4d 69 64 3a 3d 50 6c   ┆  var Mid: Real;  BEGIN  Mid:=Pl┆
0x49f20…49f40            6f 74 44 65 66 52 65 61 6c 5b 33 2b 34 2a 58 59 5d 2a 28 44 61 74 61 50 6f 73 2d 50 6c 6f 74 44   ┆otDefRealÆ3+4*XYÅ*(DataPos-PlotD┆
0x49f40…49f60            65 66 52 65 61 6c 5b 31 33 2b 58 59 5d 29 3b 0d 0a 69 66 20 28 4d 69 64 3e 2d 33 32 37 36 37 29   ┆efRealÆ13+XYÅ);  if (Mid>-32767)┆
0x49f60…49f80            20 61 6e 64 20 28 4d 69 64 3c 33 32 37 36 37 29 20 74 68 65 6e 0d 0a 20 43 4f 4e 56 45 52 54 53   ┆ and (Mid<32767) then   CONVERTS┆
0x49f80…49fa0            43 41 4c 45 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 33 2b 58 59 5d 2b 52 4f 55 4e 44 28 4d 69   ┆CALE:=PLOTDEFINTÆ13+XYÅ+ROUND(Mi┆
0x49fa0…49fc0            64 29 0d 0a 65 6c 73 65 20 43 6f 6e 76 65 72 74 53 63 61 6c 65 3a 3d 4d 69 73 49 6e 74 0d 0a 45   ┆d)  else ConvertScale:=MisInt  E┆
0x49fc0…49fe0            4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 41 58 49 53 54 49 54 4c 45 50 4c 41 43 45 28   ┆ND;    PROCEDURE AXISTITLEPLACE(┆
0x49fe0…4a000            50 4c 41 43 45 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 50 4c 4f 54 44 45 46   ┆PLACE: INTEGER);  BEGIN  PLOTDEF┆
0x4a000…4a020 (29, 1, 2) 49 4e 54 5b 32 39 5d 3a 3d 50 4c 41 43 45 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55   ┆INTÆ29Å:=PLACE;  END;    PROCEDU┆
0x4a020…4a040            52 45 20 4d 41 52 47 49 4e 28 4c 4f 57 2c 48 49 47 48 3a 20 52 45 41 4c 3b 49 41 58 49 53 3a 20   ┆RE MARGIN(LOW,HIGH: REAL;IAXIS: ┆
0x4a040…4a060            49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 50 4c 4f 54 44 45 46 49 4e 54 5b 31 33 2b   ┆INTEGER);  BEGIN  PLOTDEFINTÆ13+┆
0x4a060…4a080            49 41 58 49 53 5d 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 37 2b 49 41 58 49 53 5d 2b 52 4f 55 4e   ┆IAXISÅ:=PLOTDEFINTÆ7+IAXISÅ+ROUN┆
0x4a080…4a0a0            44 28 4c 4f 57 2a 34 30 30 29 3b 0d 0a 50 4c 4f 54 44 45 46 49 4e 54 5b 31 35 2b 49 41 58 49 53   ┆D(LOW*400);  PLOTDEFINTÆ15+IAXIS┆
0x4a0a0…4a0c0            5d 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 39 2b 49 41 58 49 53 5d 2d 52 4f 55 4e 44 28 48 49 47   ┆Å:=PLOTDEFINTÆ9+IAXISÅ-ROUND(HIG┆
0x4a0c0…4a0e0            48 2a 34 30 30 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 41 58 49 53 53   ┆H*400);  END;    PROCEDURE AXISS┆
0x4a0e0…4a100            50 41 43 45 28 4c 4f 57 2c 48 49 47 48 3a 20 52 45 41 4c 3b 49 41 58 49 53 3a 20 49 4e 54 45 47   ┆PACE(LOW,HIGH: REAL;IAXIS: INTEG┆
0x4a100…4a120            45 52 29 3b 0d 0a 76 61 72 20 49 41 78 69 73 32 3a 20 69 6e 74 65 67 65 72 3b 0d 0a 42 45 47 49   ┆ER);  var IAxis2: integer;  BEGI┆
0x4a120…4a140            4e 0d 0a 49 41 78 69 73 32 3a 3d 61 62 73 28 49 41 78 69 73 29 2a 32 3b 0d 0a 50 4c 4f 54 44 45   ┆N  IAxis2:=abs(IAxis)*2;  PLOTDE┆
0x4a140…4a160            46 52 45 41 4c 5b 31 34 2b 49 41 78 69 73 32 5d 3a 3d 4c 4f 57 3b 0d 0a 50 4c 4f 54 44 45 46 52   ┆FREALÆ14+IAxis2Å:=LOW;  PLOTDEFR┆
0x4a160…4a180            45 41 4c 5b 31 35 2b 49 41 78 69 73 32 5d 3a 3d 48 49 47 48 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 70   ┆EALÆ15+IAxis2Å:=HIGH;  END;    p┆
0x4a180…4a1a0            72 6f 63 65 64 75 72 65 20 44 65 66 69 6e 65 46 69 67 75 72 65 28 50 65 6e 2c 50 61 70 65 72 53   ┆rocedure DefineFigure(Pen,PaperS┆
0x4a1a0…4a1c0            69 7a 65 2c 41 78 54 69 74 50 6c 61 63 3a 20 69 6e 74 65 67 65 72 3b 0d 0a 20 20 20 20 20 20 20   ┆ize,AxTitPlac: integer;         ┆
0x4a1c0…4a1e0            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 58 53 69 7a 65 2c 59 53 69 7a 65 2c 4b 61 72 53   ┆                XSize,YSize,KarS┆
0x4a1e0…4a200            69 7a 65 2c 4d 61 72 6b 53 69 7a 65 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ize,MarkSize,                   ┆
0x4a200…4a220            20 20 20 20 20 20 4d 61 72 67 53 69 7a 65 2c 4c 6f 77 53 70 61 63 65 2c 48 69 67 68 53 70 61 63   ┆      MargSize,LowSpace,HighSpac┆
0x4a220…4a240            65 3a 20 72 65 61 6c 29 3b 0d 0a 62 65 67 69 6e 0d 0a 57 69 6e 64 6f 77 28 50 61 70 65 72 53 69   ┆e: real);  begin  Window(PaperSi┆
0x4a240…4a260            7a 65 2c 30 2c 30 2c 58 53 69 7a 65 2c 59 53 69 7a 65 29 3b 0d 0a 43 68 61 72 53 69 7a 65 28 4b   ┆ze,0,0,XSize,YSize);  CharSize(K┆
0x4a260…4a280            61 72 53 69 7a 65 29 3b 0d 0a 4d 61 72 6b 65 72 53 69 7a 65 28 4d 61 72 6b 53 69 7a 65 29 3b 0d   ┆arSize);  MarkerSize(MarkSize); ┆
0x4a280…4a2a0            0a 4d 61 72 67 69 6e 28 4d 61 72 67 53 69 7a 65 2c 4d 61 72 67 53 69 7a 65 2c 31 29 3b 0d 0a 4d   ┆ Margin(MargSize,MargSize,1);  M┆
0x4a2a0…4a2c0            61 72 67 69 6e 28 4d 61 72 67 53 69 7a 65 2c 4d 61 72 67 53 69 7a 65 2c 32 29 3b 0d 0a 41 78 69   ┆argin(MargSize,MargSize,2);  Axi┆
0x4a2c0…4a2e0            73 54 69 74 6c 65 50 6c 61 63 65 28 41 78 54 69 74 50 6c 61 63 29 3b 0d 0a 41 78 69 73 53 70 61   ┆sTitlePlace(AxTitPlac);  AxisSpa┆
0x4a2e0…4a300            63 65 28 4c 6f 77 53 70 61 63 65 2c 48 69 67 68 53 70 61 63 65 2c 31 29 3b 0d 0a 41 78 69 73 53   ┆ce(LowSpace,HighSpace,1);  AxisS┆
0x4a300…4a320            70 61 63 65 28 4c 6f 77 53 70 61 63 65 2c 48 69 67 68 53 70 61 63 65 2c 32 29 3b 0d 0a 47 65 74   ┆pace(LowSpace,HighSpace,2);  Get┆
0x4a320…4a340            50 65 6e 28 50 65 6e 29 3b 0d 0a 65 6e 64 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 54 41   ┆Pen(Pen);  end;    PROCEDURE STA┆
0x4a340…4a360            4e 44 41 52 44 46 49 47 55 52 45 3b 0d 0a 42 45 47 49 4e 0d 0a 44 65 66 69 6e 65 46 69 67 75 72   ┆NDARDFIGURE;  BEGIN  DefineFigur┆
0x4a360…4a380            65 28 31 2c 34 2c 33 2c 31 36 2c 31 32 2c 30 2e 38 35 2c 30 2e 37 2c 32 2c 32 2c 30 29 3b 0d 0a   ┆e(1,4,3,16,12,0.85,0.7,2,2,0);  ┆
0x4a380…4a3a0            45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 44 45 46 49 4e 45 41 58 49 53 28 41 58 4d   ┆END;    PROCEDURE DEFINEAXIS(AXM┆
0x4a3a0…4a3c0            49 4e 2c 41 58 4d 41 58 2c 41 58 53 54 45 50 3a 20 52 45 41 4c 3b 49 41 58 49 53 3a 20 49 4e 54   ┆IN,AXMAX,AXSTEP: REAL;IAXIS: INT┆
0x4a3c0…4a3e0            45 47 45 52 29 3b 0d 0a 56 41 52 20 49 41 78 69 73 31 2c 49 41 78 69 73 32 2c 49 41 78 69 73 34   ┆EGER);  VAR IAxis1,IAxis2,IAxis4┆
0x4a3e0…4a400            3a 20 69 6e 74 65 67 65 72 3b 0d 0a 20 20 20 20 50 43 54 2c 53 54 41 52 54 56 41 4c 2c 53 4c 55   ┆: integer;      PCT,STARTVAL,SLU┆
0x4a400…4a420 (29, 1, 3) 54 56 41 4c 3a 20 52 45 41 4c 3b 0d 0a 42 45 47 49 4e 0d 0a 49 41 78 69 73 31 3a 3d 61 62 73 28   ┆TVAL: REAL;  BEGIN  IAxis1:=abs(┆
0x4a420…4a440            49 41 78 69 73 29 3b 0d 0a 49 41 78 69 73 32 3a 3d 32 2a 49 41 78 69 73 31 3b 0d 0a 49 41 78 69   ┆IAxis);  IAxis2:=2*IAxis1;  IAxi┆
0x4a440…4a460            73 34 3a 3d 32 2a 49 41 78 69 73 32 3b 0d 0a 50 43 54 3a 3d 28 41 58 4d 41 58 2d 41 58 4d 49 4e   ┆s4:=2*IAxis2;  PCT:=(AXMAX-AXMIN┆
0x4a460…4a480            29 2f 31 30 30 2e 30 3b 0d 0a 53 54 41 52 54 56 41 4c 3a 3d 41 58 4d 49 4e 2d 50 43 54 2a 50 4c   ┆)/100.0;  STARTVAL:=AXMIN-PCT*PL┆
0x4a480…4a4a0            4f 54 44 45 46 52 45 41 4c 5b 31 34 2b 49 41 78 69 73 32 5d 3b 0d 0a 53 4c 55 54 56 41 4c 3a 3d   ┆OTDEFREALÆ14+IAxis2Å;  SLUTVAL:=┆
0x4a4a0…4a4c0            41 58 4d 41 58 2b 50 43 54 2a 50 4c 4f 54 44 45 46 52 45 41 4c 5b 31 35 2b 49 41 78 69 73 32 5d   ┆AXMAX+PCT*PLOTDEFREALÆ15+IAxis2Å┆
0x4a4c0…4a4e0            3b 0d 0a 50 4c 4f 54 44 45 46 52 45 41 4c 5b 49 41 78 69 73 34 5d 3a 3d 41 58 4d 49 4e 3b 0d 0a   ┆;  PLOTDEFREALÆIAxis4Å:=AXMIN;  ┆
0x4a4e0…4a500            50 4c 4f 54 44 45 46 52 45 41 4c 5b 31 2b 49 41 78 69 73 34 5d 3a 3d 41 58 4d 41 58 3b 0d 0a 50   ┆PLOTDEFREALÆ1+IAxis4Å:=AXMAX;  P┆
0x4a500…4a520            4c 4f 54 44 45 46 52 45 41 4c 5b 32 2b 49 41 78 69 73 34 5d 3a 3d 41 58 53 54 45 50 3b 0d 0a 50   ┆LOTDEFREALÆ2+IAxis4Å:=AXSTEP;  P┆
0x4a520…4a540            4c 4f 54 44 45 46 52 45 41 4c 5b 33 2b 49 41 78 69 73 34 5d 3a 3d 28 50 4c 4f 54 44 45 46 49 4e   ┆LOTDEFREALÆ3+IAxis4Å:=(PLOTDEFIN┆
0x4a540…4a560            54 5b 31 35 2b 49 41 78 69 73 31 5d 2d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 33 2b 49 41 78 69 73   ┆TÆ15+IAxis1Å-PLOTDEFINTÆ13+IAxis┆
0x4a560…4a580            31 5d 29 2f 28 53 4c 55 54 56 41 4c 2d 53 54 41 52 54 56 41 4c 29 3b 0d 0a 50 4c 4f 54 44 45 46   ┆1Å)/(SLUTVAL-STARTVAL);  PLOTDEF┆
0x4a580…4a5a0            52 45 41 4c 5b 31 33 2b 49 41 78 69 73 31 5d 3a 3d 53 54 41 52 54 56 41 4c 3b 0d 0a 45 4e 44 3b   ┆REALÆ13+IAxis1Å:=STARTVAL;  END;┆
0x4a5a0…4a5c0            0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 41 58 49 53 43 4f 4f 52 44 49 4e 41 54 45 53 28 49 41   ┆    PROCEDURE AXISCOORDINATES(IA┆
0x4a5c0…4a5e0            58 49 53 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆XIS: INTEGER;                   ┆
0x4a5e0…4a600            20 20 20 20 20 20 20 20 20 56 41 52 20 58 53 54 41 52 54 2c 59 53 54 41 52 54 2c 54 49 43 4b 53   ┆         VAR XSTART,YSTART,TICKS┆
0x4a600…4a620            54 41 52 54 2c 53 4c 55 54 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 76 61 72 20 49 41 78 69 73 31   ┆TART,SLUT: INTEGER);  var IAxis1┆
0x4a620…4a640            3a 20 69 6e 74 65 67 65 72 3b 0d 0a 42 45 47 49 4e 0d 0a 49 41 78 69 73 31 3a 3d 61 62 73 28 49   ┆: integer;  BEGIN  IAxis1:=abs(I┆
0x4a640…4a660            41 78 69 73 29 3b 0d 0a 49 46 20 49 41 58 49 53 3d 2d 32 20 54 48 45 4e 20 58 53 54 41 52 54 3a   ┆Axis);  IF IAXIS=-2 THEN XSTART:┆
0x4a660…4a680            3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 36 5d 0d 0a 45 4c 53 45 20 58 53 54 41 52 54 3a 3d 50 4c   ┆=PLOTDEFINTÆ16Å  ELSE XSTART:=PL┆
0x4a680…4a6a0            4f 54 44 45 46 49 4e 54 5b 31 34 5d 3b 0d 0a 49 46 20 49 41 58 49 53 3d 2d 31 20 54 48 45 4e 20   ┆OTDEFINTÆ14Å;  IF IAXIS=-1 THEN ┆
0x4a6a0…4a6c0            59 53 54 41 52 54 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 37 5d 0d 0a 45 4c 53 45 20 59 53 54   ┆YSTART:=PLOTDEFINTÆ17Å  ELSE YST┆
0x4a6c0…4a6e0            41 52 54 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 35 5d 3b 0d 0a 54 49 43 4b 53 54 41 52 54 3a   ┆ART:=PLOTDEFINTÆ15Å;  TICKSTART:┆
0x4a6e0…4a700            3d 43 4f 4e 56 45 52 54 53 43 41 4c 45 28 50 4c 4f 54 44 45 46 52 45 41 4c 5b 34 2a 49 41 78 69   ┆=CONVERTSCALE(PLOTDEFREALÆ4*IAxi┆
0x4a700…4a720            73 31 5d 2c 49 41 78 69 73 31 29 3b 0d 0a 53 4c 55 54 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31   ┆s1Å,IAxis1);  SLUT:=PLOTDEFINTÆ1┆
0x4a720…4a740            35 2b 49 41 78 69 73 31 5d 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4d 41   ┆5+IAxis1Å;  END;    PROCEDURE MA┆
0x4a740…4a760            4b 45 41 58 49 53 28 49 41 58 49 53 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 20 4e 55 4d   ┆KEAXIS(IAXIS: INTEGER);  VAR NUM┆
0x4a760…4a780            2c 50 4f 53 2c 54 49 43 4b 53 54 41 52 54 2c 53 4c 55 54 2c 49 41 78 69 73 31 2c 49 41 78 69 73   ┆,POS,TICKSTART,SLUT,IAxis1,IAxis┆
0x4a780…4a7a0            34 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 53 54 41 52 54 3a 20 41 52 52 41 59 20 5b 31   ┆4: INTEGER;      START: ARRAY Æ1┆
0x4a7a0…4a7c0            2e 2e 32 5d 20 4f 46 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 49 41 78 69 73 31 3a   ┆..2Å OF INTEGER;  BEGIN  IAxis1:┆
0x4a7c0…4a7e0            3d 61 62 73 28 49 41 78 69 73 29 3b 0d 0a 49 41 78 69 73 34 3a 3d 34 2a 49 41 78 69 73 31 3b 0d   ┆=abs(IAxis);  IAxis4:=4*IAxis1; ┆
0x4a7e0…4a800            0a 54 49 43 4b 4c 45 4e 47 54 48 28 30 2e 32 2c 49 41 58 49 53 29 3b 0d 0a 41 58 49 53 43 4f 4f   ┆ TICKLENGTH(0.2,IAXIS);  AXISCOO┆
0x4a800…4a820 (29, 1, 4) 52 44 49 4e 41 54 45 53 28 49 41 58 49 53 2c 53 54 41 52 54 5b 31 5d 2c 53 54 41 52 54 5b 32 5d   ┆RDINATES(IAXIS,STARTÆ1Å,STARTÆ2Å┆
0x4a820…4a840            2c 54 49 43 4b 53 54 41 52 54 2c 53 4c 55 54 29 3b 0d 0a 50 4c 41 43 45 44 4f 57 4e 28 53 54 41   ┆,TICKSTART,SLUT);  PLACEDOWN(STA┆
0x4a840…4a860            52 54 5b 31 5d 2c 53 54 41 52 54 5b 32 5d 29 3b 0d 0a 49 46 20 49 41 78 69 73 31 3d 31 20 54 48   ┆RTÆ1Å,STARTÆ2Å);  IF IAxis1=1 TH┆
0x4a860…4a880            45 4e 20 50 4c 54 4c 49 4e 45 28 53 4c 55 54 2c 53 54 41 52 54 5b 32 5d 29 0d 0a 45 4c 53 45 20   ┆EN PLTLINE(SLUT,STARTÆ2Å)  ELSE ┆
0x4a880…4a8a0            50 4c 54 4c 49 4e 45 28 53 54 41 52 54 5b 31 5d 2c 53 4c 55 54 29 3b 0d 0a 4e 55 4d 3a 3d 30 3b   ┆PLTLINE(STARTÆ1Å,SLUT);  NUM:=0;┆
0x4a8a0…4a8c0            0d 0a 50 4f 53 3a 3d 54 49 43 4b 53 54 41 52 54 3b 0d 0a 57 48 49 4c 45 20 50 4f 53 3c 3d 28 53   ┆  POS:=TICKSTART;  WHILE POS<=(S┆
0x4a8c0…4a8e0            4c 55 54 2b 31 29 20 44 4f 0d 0a 20 42 45 47 49 4e 0d 0a 20 49 46 20 49 41 78 69 73 31 3d 31 20   ┆LUT+1) DO   BEGIN   IF IAxis1=1 ┆
0x4a8e0…4a900            54 48 45 4e 20 50 4c 41 43 45 55 50 28 50 4f 53 2c 53 54 41 52 54 5b 32 5d 29 0d 0a 20 45 4c 53   ┆THEN PLACEUP(POS,STARTÆ2Å)   ELS┆
0x4a900…4a920            45 20 50 4c 41 43 45 55 50 28 53 54 41 52 54 5b 31 5d 2c 50 4f 53 29 3b 0d 0a 20 54 49 43 4b 4d   ┆E PLACEUP(STARTÆ1Å,POS);   TICKM┆
0x4a920…4a940            41 52 4b 28 49 41 58 49 53 29 3b 0d 0a 20 4e 55 4d 3a 3d 4e 55 4d 2b 31 3b 0d 0a 20 50 4f 53 3a   ┆ARK(IAXIS);   NUM:=NUM+1;   POS:┆
0x4a940…4a960            3d 54 49 43 4b 53 54 41 52 54 2b 52 4f 55 4e 44 28 50 4c 4f 54 44 45 46 52 45 41 4c 5b 33 2b 49   ┆=TICKSTART+ROUND(PLOTDEFREALÆ3+I┆
0x4a960…4a980            41 78 69 73 34 5d 2a 4e 55 4d 2a 50 4c 4f 54 44 45 46 52 45 41 4c 5b 32 2b 49 41 78 69 73 34 5d   ┆Axis4Å*NUM*PLOTDEFREALÆ2+IAxis4Å┆
0x4a980…4a9a0            29 3b 0d 0a 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 41 58 49   ┆);   END;  END;    PROCEDURE AXI┆
0x4a9a0…4a9c0            53 54 49 43 4b 28 4e 54 49 43 4b 53 2c 49 41 58 49 53 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56   ┆STICK(NTICKS,IAXIS: INTEGER);  V┆
0x4a9c0…4a9e0            41 52 20 4e 55 4d 2c 50 4f 53 2c 54 49 43 4b 53 54 41 52 54 2c 53 4c 55 54 2c 4e 50 41 52 54 53   ┆AR NUM,POS,TICKSTART,SLUT,NPARTS┆
0x4a9e0…4aa00            2c 49 41 78 69 73 31 2c 49 41 78 69 73 34 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 53 54   ┆,IAxis1,IAxis4: INTEGER;      ST┆
0x4aa00…4aa20            41 52 54 3a 20 41 52 52 41 59 20 5b 31 2e 2e 32 5d 20 4f 46 20 49 4e 54 45 47 45 52 3b 0d 0a 20   ┆ART: ARRAY Æ1..2Å OF INTEGER;   ┆
0x4aa20…4aa40            20 20 20 44 45 4c 54 41 3a 20 52 45 41 4c 3b 0d 0a 42 45 47 49 4e 0d 0a 49 41 78 69 73 31 3a 3d   ┆   DELTA: REAL;  BEGIN  IAxis1:=┆
0x4aa40…4aa60            61 62 73 28 49 41 78 69 73 29 3b 0d 0a 49 41 78 69 73 34 3a 3d 34 2a 49 41 78 69 73 31 3b 0d 0a   ┆abs(IAxis);  IAxis4:=4*IAxis1;  ┆
0x4aa60…4aa80            4e 50 41 52 54 53 3a 3d 4e 54 49 43 4b 53 2b 31 3b 0d 0a 54 49 43 4b 4c 45 4e 47 54 48 28 30 2e   ┆NPARTS:=NTICKS+1;  TICKLENGTH(0.┆
0x4aa80…4aaa0            31 2c 49 41 58 49 53 29 3b 0d 0a 41 58 49 53 43 4f 4f 52 44 49 4e 41 54 45 53 28 49 41 58 49 53   ┆1,IAXIS);  AXISCOORDINATES(IAXIS┆
0x4aaa0…4aac0            2c 53 54 41 52 54 5b 31 5d 2c 53 54 41 52 54 5b 32 5d 2c 54 49 43 4b 53 54 41 52 54 2c 53 4c 55   ┆,STARTÆ1Å,STARTÆ2Å,TICKSTART,SLU┆
0x4aac0…4aae0            54 29 3b 0d 0a 44 45 4c 54 41 3a 3d 50 4c 4f 54 44 45 46 52 45 41 4c 5b 32 2b 49 41 78 69 73 34   ┆T);  DELTA:=PLOTDEFREALÆ2+IAxis4┆
0x4aae0…4ab00            5d 2f 4e 50 41 52 54 53 3b 0d 0a 4e 55 4d 3a 3d 30 3b 0d 0a 50 4f 53 3a 3d 54 49 43 4b 53 54 41   ┆Å/NPARTS;  NUM:=0;  POS:=TICKSTA┆
0x4ab00…4ab20            52 54 3b 0d 0a 57 48 49 4c 45 20 50 4f 53 3c 3d 28 53 4c 55 54 2b 31 29 20 44 4f 0d 0a 20 42 45   ┆RT;  WHILE POS<=(SLUT+1) DO   BE┆
0x4ab20…4ab40            47 49 4e 0d 0a 20 49 46 20 28 4e 55 4d 20 4d 4f 44 20 4e 50 41 52 54 53 29 3e 30 20 54 48 45 4e   ┆GIN   IF (NUM MOD NPARTS)>0 THEN┆
0x4ab40…4ab60            0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 49 46 20 49 41 78 69 73 31 3d 31 20 54 48 45 4e 20 50 4c   ┆    BEGIN    IF IAxis1=1 THEN PL┆
0x4ab60…4ab80            41 43 45 55 50 28 50 4f 53 2c 53 54 41 52 54 5b 32 5d 29 0d 0a 20 20 45 4c 53 45 20 50 4c 41 43   ┆ACEUP(POS,STARTÆ2Å)    ELSE PLAC┆
0x4ab80…4aba0            45 55 50 28 53 54 41 52 54 5b 31 5d 2c 50 4f 53 29 3b 0d 0a 20 20 54 49 43 4b 4d 41 52 4b 28 49   ┆EUP(STARTÆ1Å,POS);    TICKMARK(I┆
0x4aba0…4abc0            41 58 49 53 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 4e 55 4d 3a 3d 4e 55 4d 2b 31 3b 0d 0a 20 50   ┆AXIS);    END;   NUM:=NUM+1;   P┆
0x4abc0…4abe0            4f 53 3a 3d 54 49 43 4b 53 54 41 52 54 2b 52 4f 55 4e 44 28 50 4c 4f 54 44 45 46 52 45 41 4c 5b   ┆OS:=TICKSTART+ROUND(PLOTDEFREALÆ┆
0x4abe0…4ac00            33 2b 49 41 78 69 73 34 5d 2a 4e 55 4d 2a 44 45 4c 54 41 29 3b 0d 0a 20 45 4e 44 3b 0d 0a 45 4e   ┆3+IAxis4Å*NUM*DELTA);   END;  EN┆
0x4ac00…4ac20 (29, 1, 5) 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 41 58 49 53 4c 41 42 45 4c 28 46 49 45 4c 44 53   ┆D;    PROCEDURE AXISLABEL(FIELDS┆
0x4ac20…4ac40            49 5a 45 2c 44 45 43 49 4d 41 4c 53 2c 49 41 58 49 53 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56   ┆IZE,DECIMALS,IAXIS: INTEGER);  V┆
0x4ac40…4ac60            41 52 20 53 4c 55 54 2c 58 52 45 4c 2c 59 52 45 4c 2c 4e 55 4d 2c 50 4f 53 2c 54 49 43 4b 53 54   ┆AR SLUT,XREL,YREL,NUM,POS,TICKST┆
0x4ac60…4ac80            41 52 54 2c 49 41 78 69 73 31 2c 49 41 78 69 73 34 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20   ┆ART,IAxis1,IAxis4: INTEGER;     ┆
0x4ac80…4aca0            20 53 54 41 52 54 3a 20 41 52 52 41 59 20 5b 31 2e 2e 32 5d 20 4f 46 20 49 4e 54 45 47 45 52 3b   ┆ START: ARRAY Æ1..2Å OF INTEGER;┆
0x4aca0…4acc0            0d 0a 20 20 20 20 58 43 53 49 5a 45 2c 59 43 53 49 5a 45 3a 20 52 45 41 4c 3b 0d 0a 42 45 47 49   ┆      XCSIZE,YCSIZE: REAL;  BEGI┆
0x4acc0…4ace0            4e 0d 0a 49 41 78 69 73 31 3a 3d 61 62 73 28 49 41 78 69 73 29 3b 0d 0a 49 41 78 69 73 34 3a 3d   ┆N  IAxis1:=abs(IAxis);  IAxis4:=┆
0x4ace0…4ad00            34 2a 49 41 78 69 73 31 3b 0d 0a 41 58 49 53 43 4f 4f 52 44 49 4e 41 54 45 53 28 49 41 58 49 53   ┆4*IAxis1;  AXISCOORDINATES(IAXIS┆
0x4ad00…4ad20            2c 53 54 41 52 54 5b 31 5d 2c 53 54 41 52 54 5b 32 5d 2c 54 49 43 4b 53 54 41 52 54 2c 53 4c 55   ┆,STARTÆ1Å,STARTÆ2Å,TICKSTART,SLU┆
0x4ad20…4ad40            54 29 3b 0d 0a 63 61 73 65 20 49 41 78 69 73 20 6f 66 0d 0a 20 2d 32 3a 20 42 45 47 49 4e 0d 0a   ┆T);  case IAxis of   -2: BEGIN  ┆
0x4ad40…4ad60            20 20 20 20 20 58 52 45 4c 3a 3d 52 4f 55 4e 44 28 30 2e 33 33 2a 50 6c 6f 74 44 65 66 52 65 61   ┆     XREL:=ROUND(0.33*PlotDefRea┆
0x4ad60…4ad80            6c 5b 32 30 5d 29 2b 38 30 3b 0d 0a 20 20 20 20 20 59 52 45 4c 3a 3d 2d 52 4f 55 4e 44 28 30 2e   ┆lÆ20Å)+80;       YREL:=-ROUND(0.┆
0x4ad80…4ada0            32 35 2a 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 29 3b 0d 0a 20 20 20 20 20 50 4c 4f 54 44   ┆25*PlotDefRealÆ21Å);       PLOTD┆
0x4ada0…4adc0            45 46 49 4e 54 5b 31 39 5d 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 36 5d 2b 52 4f 55 4e 44 28   ┆EFINTÆ19Å:=PLOTDEFINTÆ16Å+ROUND(┆
0x4adc0…4ade0            46 49 45 4c 44 53 49 5a 45 2a 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 30 5d 29 2b 38 30 3b 0d 0a   ┆FIELDSIZE*PlotDefRealÆ20Å)+80;  ┆
0x4ade0…4ae00            20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 32 3a 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 58 52 45 4c   ┆     END;    2: BEGIN       XREL┆
0x4ae00…4ae20            3a 3d 2d 52 4f 55 4e 44 28 46 49 45 4c 44 53 49 5a 45 2a 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32   ┆:=-ROUND(FIELDSIZE*PlotDefRealÆ2┆
0x4ae20…4ae40            30 5d 29 2d 38 30 3b 0d 0a 20 20 20 20 20 59 52 45 4c 3a 3d 2d 52 4f 55 4e 44 28 30 2e 32 35 2a   ┆0Å)-80;       YREL:=-ROUND(0.25*┆
0x4ae40…4ae60            50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 29 3b 0d 0a 20 20 20 20 20 50 4c 4f 54 44 45 46 49   ┆PlotDefRealÆ21Å);       PLOTDEFI┆
0x4ae60…4ae80            4e 54 5b 31 38 5d 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 34 5d 2b 58 52 45 4c 3b 0d 0a 20 20   ┆NTÆ18Å:=PLOTDEFINTÆ14Å+XREL;    ┆
0x4ae80…4aea0            20 20 20 45 4e 44 3b 0d 0a 20 2d 31 3a 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 58 52 45 4c 3a 3d   ┆   END;   -1: BEGIN       XREL:=┆
0x4aea0…4aec0            2d 52 4f 55 4e 44 28 30 2e 35 2a 46 49 45 4c 44 53 49 5a 45 2a 50 6c 6f 74 44 65 66 52 65 61 6c   ┆-ROUND(0.5*FIELDSIZE*PlotDefReal┆
0x4aec0…4aee0            5b 32 30 5d 29 3b 0d 0a 20 20 20 20 20 59 52 45 4c 3a 3d 52 4f 55 4e 44 28 30 2e 32 2a 50 6c 6f   ┆Æ20Å);       YREL:=ROUND(0.2*Plo┆
0x4aee0…4af00            74 44 65 66 52 65 61 6c 5b 32 31 5d 29 2b 38 30 3b 0d 0a 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20   ┆tDefRealÆ21Å)+80;       END;    ┆
0x4af00…4af20            31 3a 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 58 52 45 4c 3a 3d 2d 52 4f 55 4e 44 28 30 2e 35 2a   ┆1: BEGIN       XREL:=-ROUND(0.5*┆
0x4af20…4af40            46 49 45 4c 44 53 49 5a 45 2a 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 30 5d 29 3b 0d 0a 20 20 20   ┆FIELDSIZE*PlotDefRealÆ20Å);     ┆
0x4af40…4af60            20 20 59 52 45 4c 3a 3d 2d 52 4f 55 4e 44 28 30 2e 37 2a 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32   ┆  YREL:=-ROUND(0.7*PlotDefRealÆ2┆
0x4af60…4af80            31 5d 29 2d 38 30 3b 0d 0a 20 20 20 20 20 45 4e 44 3b 0d 0a 20 65 6e 64 3b 0d 0a 4e 55 4d 3a 3d   ┆1Å)-80;       END;   end;  NUM:=┆
0x4af80…4afa0            30 3b 0d 0a 50 4f 53 3a 3d 54 49 43 4b 53 54 41 52 54 3b 0d 0a 57 48 49 4c 45 20 50 4f 53 3c 3d   ┆0;  POS:=TICKSTART;  WHILE POS<=┆
0x4afa0…4afc0            28 53 4c 55 54 2b 31 29 20 44 4f 0d 0a 20 42 45 47 49 4e 0d 0a 20 49 46 20 49 41 78 69 73 31 3d   ┆(SLUT+1) DO   BEGIN   IF IAxis1=┆
0x4afc0…4afe0            31 20 54 48 45 4e 20 50 4c 41 43 45 55 50 28 50 4f 53 2b 58 52 45 4c 2c 53 54 41 52 54 5b 32 5d   ┆1 THEN PLACEUP(POS+XREL,STARTÆ2Å┆
0x4afe0…4b000            2b 59 52 45 4c 29 0d 0a 20 45 4c 53 45 20 50 4c 41 43 45 55 50 28 53 54 41 52 54 5b 31 5d 2b 58   ┆+YREL)   ELSE PLACEUP(STARTÆ1Å+X┆
0x4b000…4b020 (30, 0, 1) 52 45 4c 2c 50 4f 53 2b 59 52 45 4c 29 3b 0d 0a 20 50 4c 54 4e 55 4d 42 45 52 28 50 4c 4f 54 44   ┆REL,POS+YREL);   PLTNUMBER(PLOTD┆
0x4b020…4b040            45 46 52 45 41 4c 5b 49 41 78 69 73 34 5d 2b 4e 55 4d 2a 50 4c 4f 54 44 45 46 52 45 41 4c 5b 32   ┆EFREALÆIAxis4Å+NUM*PLOTDEFREALÆ2┆
0x4b040…4b060            2b 49 41 78 69 73 34 5d 2c 46 49 45 4c 44 53 49 5a 45 2c 44 45 43 49 4d 41 4c 53 29 3b 0d 0a 20   ┆+IAxis4Å,FIELDSIZE,DECIMALS);   ┆
0x4b060…4b080            4e 55 4d 3a 3d 4e 55 4d 2b 31 3b 0d 0a 20 50 4f 53 3a 3d 54 49 43 4b 53 54 41 52 54 2b 52 4f 55   ┆NUM:=NUM+1;   POS:=TICKSTART+ROU┆
0x4b080…4b0a0            4e 44 28 50 4c 4f 54 44 45 46 52 45 41 4c 5b 33 2b 49 41 78 69 73 34 5d 2a 4e 55 4d 2a 50 4c 4f   ┆ND(PLOTDEFREALÆ3+IAxis4Å*NUM*PLO┆
0x4b0a0…4b0c0            54 44 45 46 52 45 41 4c 5b 32 2b 49 41 78 69 73 34 5d 29 3b 0d 0a 20 45 4e 44 3b 0d 0a 45 4e 44   ┆TDEFREALÆ2+IAxis4Å);   END;  END┆
0x4b0c0…4b0e0            3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 48 4f 57 41 58 49 53 28 41 58 4d 49 4e 2c 41 58   ┆;    PROCEDURE SHOWAXIS(AXMIN,AX┆
0x4b0e0…4b100            4d 41 58 2c 41 58 53 54 45 50 3a 20 52 45 41 4c 3b 4e 54 49 43 4b 53 2c 44 45 43 49 4d 41 4c 53   ┆MAX,AXSTEP: REAL;NTICKS,DECIMALS┆
0x4b100…4b120            2c 49 41 58 49 53 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 20 4e 31 2c 4e 32 3a 20 49 4e   ┆,IAXIS: INTEGER);  VAR N1,N2: IN┆
0x4b120…4b140            54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 4e 31 3a 3d 48 49 47 48 43 49 46 46 45 52 28 41 58   ┆TEGER;  BEGIN  N1:=HIGHCIFFER(AX┆
0x4b140…4b160            4d 49 4e 29 3b 0d 0a 4e 32 3a 3d 48 49 47 48 43 49 46 46 45 52 28 41 58 4d 41 58 29 3b 0d 0a 49   ┆MIN);  N2:=HIGHCIFFER(AXMAX);  I┆
0x4b160…4b180            46 20 4e 32 3e 4e 31 20 54 48 45 4e 20 4e 31 3a 3d 4e 32 3b 0d 0a 49 46 20 44 45 43 49 4d 41 4c   ┆F N2>N1 THEN N1:=N2;  IF DECIMAL┆
0x4b180…4b1a0            53 3e 30 20 54 48 45 4e 20 4e 31 3a 3d 4e 31 2b 44 45 43 49 4d 41 4c 53 2b 31 3b 0d 0a 44 45 46   ┆S>0 THEN N1:=N1+DECIMALS+1;  DEF┆
0x4b1a0…4b1c0            49 4e 45 41 58 49 53 28 41 58 4d 49 4e 2c 41 58 4d 41 58 2c 41 58 53 54 45 50 2c 49 41 58 49 53   ┆INEAXIS(AXMIN,AXMAX,AXSTEP,IAXIS┆
0x4b1c0…4b1e0            29 3b 0d 0a 4d 41 4b 45 41 58 49 53 28 49 41 58 49 53 29 3b 0d 0a 41 58 49 53 54 49 43 4b 28 4e   ┆);  MAKEAXIS(IAXIS);  AXISTICK(N┆
0x4b1e0…4b200            54 49 43 4b 53 2c 49 41 58 49 53 29 3b 0d 0a 41 58 49 53 4c 41 42 45 4c 28 4e 31 2c 44 45 43 49   ┆TICKS,IAXIS);  AXISLABEL(N1,DECI┆
0x4b200…4b220            4d 41 4c 53 2c 49 41 58 49 53 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20   ┆MALS,IAXIS);  END;    PROCEDURE ┆
0x4b220…4b240            41 58 49 53 54 49 54 4c 45 28 54 49 54 4c 45 3a 20 53 54 52 38 30 3b 49 41 58 49 53 3a 20 49 4e   ┆AXISTITLE(TITLE: STR80;IAXIS: IN┆
0x4b240…4b260            54 45 47 45 52 29 3b 0d 0a 56 41 52 20 50 4f 53 2c 49 41 78 69 73 31 3a 20 49 4e 54 45 47 45 52   ┆TEGER);  VAR POS,IAxis1: INTEGER┆
0x4b260…4b280            3b 0d 0a 20 20 20 20 52 45 4c 3a 20 52 45 41 4c 3b 0d 0a 42 45 47 49 4e 0d 0a 49 41 78 69 73 31   ┆;      REL: REAL;  BEGIN  IAxis1┆
0x4b280…4b2a0            3a 3d 61 62 73 28 49 41 78 69 73 29 3b 0d 0a 63 61 73 65 20 50 6c 6f 74 44 65 66 49 6e 74 5b 32   ┆:=abs(IAxis);  case PlotDefIntÆ2┆
0x4b2a0…4b2c0            39 5d 20 6f 66 0d 0a 20 31 3a 20 42 45 47 49 4e 0d 0a 20 20 20 20 50 4f 53 3a 3d 50 4c 4f 54 44   ┆9Å of   1: BEGIN      POS:=PLOTD┆
0x4b2c0…4b2e0            45 46 49 4e 54 5b 31 33 2b 49 41 78 69 73 31 5d 3b 0d 0a 20 20 20 20 52 45 4c 3a 3d 30 3b 0d 0a   ┆EFINTÆ13+IAxis1Å;      REL:=0;  ┆
0x4b2e0…4b300            20 20 20 20 45 4e 44 3b 0d 0a 20 32 3a 20 42 45 47 49 4e 0d 0a 20 20 20 20 50 4f 53 3a 3d 28 50   ┆    END;   2: BEGIN      POS:=(P┆
0x4b300…4b320            4c 4f 54 44 45 46 49 4e 54 5b 31 33 2b 49 41 78 69 73 31 5d 2b 50 4c 4f 54 44 45 46 49 4e 54 5b   ┆LOTDEFINTÆ13+IAxis1Å+PLOTDEFINTÆ┆
0x4b320…4b340            31 35 2b 49 41 78 69 73 31 5d 29 20 44 49 56 20 32 3b 0d 0a 20 20 20 20 52 45 4c 3a 3d 2d 30 2e   ┆15+IAxis1Å) DIV 2;      REL:=-0.┆
0x4b340…4b360            35 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 6f 74 68 65 72 77 69 73 65 0d 0a 20 20 20 20 42 45   ┆5;      END;   otherwise      BE┆
0x4b360…4b380            47 49 4e 0d 0a 20 20 20 20 50 4f 53 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 35 2b 49 41 78 69   ┆GIN      POS:=PLOTDEFINTÆ15+IAxi┆
0x4b380…4b3a0            73 31 5d 3b 0d 0a 20 20 20 20 52 45 4c 3a 3d 2d 31 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 65   ┆s1Å;      REL:=-1;      END;   e┆
0x4b3a0…4b3c0            6e 64 3b 0d 0a 63 61 73 65 20 49 41 78 69 73 20 6f 66 0d 0a 20 2d 32 3a 20 42 45 47 49 4e 0d 0a   ┆nd;  case IAxis of   -2: BEGIN  ┆
0x4b3c0…4b3e0            20 20 20 20 20 43 48 41 52 52 4f 54 41 54 45 28 39 30 29 3b 0d 0a 20 20 20 20 20 50 4c 41 43 45   ┆     CHARROTATE(90);       PLACE┆
0x4b3e0…4b400            4c 41 42 45 4c 28 50 4c 4f 54 44 45 46 49 4e 54 5b 31 39 5d 2c 50 4f 53 2c 4c 45 4e 28 54 49 54   ┆LABEL(PLOTDEFINTÆ19Å,POS,LEN(TIT┆
0x4b400…4b420 (30, 0, 2) 4c 45 29 2c 52 45 4c 2c 2d 31 29 3b 0d 0a 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 32 3a 20 42 45   ┆LE),REL,-1);       END;    2: BE┆
0x4b420…4b440            47 49 4e 0d 0a 20 20 20 20 20 43 48 41 52 52 4f 54 41 54 45 28 39 30 29 3b 0d 0a 20 20 20 20 20   ┆GIN       CHARROTATE(90);       ┆
0x4b440…4b460            50 4c 41 43 45 4c 41 42 45 4c 28 50 4c 4f 54 44 45 46 49 4e 54 5b 31 38 5d 2c 50 4f 53 2c 4c 45   ┆PLACELABEL(PLOTDEFINTÆ18Å,POS,LE┆
0x4b460…4b480            4e 28 54 49 54 4c 45 29 2c 52 45 4c 2c 30 2e 35 29 3b 0d 0a 20 20 20 20 20 45 4e 44 3b 0d 0a 20   ┆N(TITLE),REL,0.5);       END;   ┆
0x4b480…4b4a0            2d 31 3a 20 50 4c 41 43 45 4c 41 42 45 4c 28 50 4f 53 2c 50 4c 4f 54 44 45 46 49 4e 54 5b 31 37   ┆-1: PLACELABEL(POS,PLOTDEFINTÆ17┆
0x4b4a0…4b4c0            5d 2b 38 30 2c 4c 45 4e 28 54 49 54 4c 45 29 2c 52 45 4c 2c 31 2e 32 29 3b 0d 0a 20 20 31 3a 20   ┆Å+80,LEN(TITLE),REL,1.2);    1: ┆
0x4b4c0…4b4e0            50 4c 41 43 45 4c 41 42 45 4c 28 50 4f 53 2c 50 4c 4f 54 44 45 46 49 4e 54 5b 31 35 5d 2d 38 30   ┆PLACELABEL(POS,PLOTDEFINTÆ15Å-80┆
0x4b4e0…4b500            2c 4c 45 4e 28 54 49 54 4c 45 29 2c 52 45 4c 2c 2d 31 2e 37 29 3b 0d 0a 20 20 65 6e 64 3b 0d 0a   ┆,LEN(TITLE),REL,-1.7);    end;  ┆
0x4b500…4b520            50 4c 54 4c 41 42 45 4c 28 54 49 54 4c 45 29 3b 0d 0a 49 46 20 49 41 78 69 73 31 3d 32 20 54 48   ┆PLTLABEL(TITLE);  IF IAxis1=2 TH┆
0x4b520…4b540            45 4e 20 43 48 41 52 52 4f 54 41 54 45 28 30 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45   ┆EN CHARROTATE(0);  END;    PROCE┆
0x4b540…4b560            44 55 52 45 20 4d 41 52 4b 45 52 50 4c 4f 54 28 4f 42 53 50 31 2c 4f 42 53 50 32 2c 56 41 52 50   ┆DURE MARKERPLOT(OBSP1,OBSP2,VARP┆
0x4b560…4b580            31 2c 56 41 52 50 32 2c 53 59 4d 42 4f 4c 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 20 50   ┆1,VARP2,SYMBOL: INTEGER);  VAR P┆
0x4b580…4b5a0            2c 58 2c 59 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 46 4f 52 20 50 3a 3d 4f 42   ┆,X,Y: INTEGER;  BEGIN  FOR P:=OB┆
0x4b5a0…4b5c0            53 50 31 20 54 4f 20 4f 42 53 50 32 20 44 4f 0d 0a 49 46 20 28 44 41 54 41 5b 50 2c 56 41 52 50   ┆SP1 TO OBSP2 DO  IF (DATAÆP,VARP┆
0x4b5c0…4b5e0            31 5d 3c 3e 4d 49 53 52 45 41 4c 29 20 41 4e 44 20 28 44 41 54 41 5b 50 2c 56 41 52 50 32 5d 3c   ┆1Å<>MISREAL) AND (DATAÆP,VARP2Å<┆
0x4b5e0…4b600            3e 4d 49 53 52 45 41 4c 29 20 54 48 45 4e 0d 0a 20 42 45 47 49 4e 0d 0a 20 58 3a 3d 43 4f 4e 56   ┆>MISREAL) THEN   BEGIN   X:=CONV┆
0x4b600…4b620            45 52 54 53 43 41 4c 45 28 44 41 54 41 5b 50 2c 56 41 52 50 31 5d 2c 31 29 3b 0d 0a 20 59 3a 3d   ┆ERTSCALE(DATAÆP,VARP1Å,1);   Y:=┆
0x4b620…4b640            43 4f 4e 56 45 52 54 53 43 41 4c 45 28 44 41 54 41 5b 50 2c 56 41 52 50 32 5d 2c 32 29 3b 0d 0a   ┆CONVERTSCALE(DATAÆP,VARP2Å,2);  ┆
0x4b640…4b660            20 4d 41 52 4b 45 52 28 58 2c 59 2c 53 59 4d 42 4f 4c 29 3b 0d 0a 20 45 4e 44 3b 0d 0a 45 4e 44   ┆ MARKER(X,Y,SYMBOL);   END;  END┆
0x4b660…4b680            3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4c 49 4e 45 50 4c 4f 54 28 4f 42 53 50 31 2c 4f 42   ┆;    PROCEDURE LINEPLOT(OBSP1,OB┆
0x4b680…4b6a0            53 50 32 2c 56 41 52 50 31 2c 56 41 52 50 32 2c 4c 54 59 50 45 3a 20 49 4e 54 45 47 45 52 29 3b   ┆SP2,VARP1,VARP2,LTYPE: INTEGER);┆
0x4b6a0…4b6c0            0d 0a 56 41 52 20 58 2c 59 2c 50 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 44 4f 57 4e 3a   ┆  VAR X,Y,P: INTEGER;      DOWN:┆
0x4b6c0…4b6e0            20 42 4f 4f 4c 45 41 4e 3b 0d 0a 42 45 47 49 4e 0d 0a 4c 49 4e 45 54 59 50 45 28 4c 54 59 50 45   ┆ BOOLEAN;  BEGIN  LINETYPE(LTYPE┆
0x4b6e0…4b700            29 3b 0d 0a 44 4f 57 4e 3a 3d 46 41 4c 53 45 3b 0d 0a 46 4f 52 20 50 3a 3d 4f 42 53 50 31 20 54   ┆);  DOWN:=FALSE;  FOR P:=OBSP1 T┆
0x4b700…4b720            4f 20 4f 42 53 50 32 20 44 4f 0d 0a 49 46 20 28 44 41 54 41 5b 50 2c 56 41 52 50 31 5d 3c 3e 4d   ┆O OBSP2 DO  IF (DATAÆP,VARP1Å<>M┆
0x4b720…4b740            49 53 52 45 41 4c 29 20 41 4e 44 20 28 44 41 54 41 5b 50 2c 56 41 52 50 32 5d 3c 3e 4d 49 53 52   ┆ISREAL) AND (DATAÆP,VARP2Å<>MISR┆
0x4b740…4b760            45 41 4c 29 20 54 48 45 4e 0d 0a 20 42 45 47 49 4e 0d 0a 20 58 3a 3d 43 4f 4e 56 45 52 54 53 43   ┆EAL) THEN   BEGIN   X:=CONVERTSC┆
0x4b760…4b780            41 4c 45 28 44 41 54 41 5b 50 2c 56 41 52 50 31 5d 2c 31 29 3b 0d 0a 20 59 3a 3d 43 4f 4e 56 45   ┆ALE(DATAÆP,VARP1Å,1);   Y:=CONVE┆
0x4b780…4b7a0            52 54 53 43 41 4c 45 28 44 41 54 41 5b 50 2c 56 41 52 50 32 5d 2c 32 29 3b 0d 0a 20 49 46 20 44   ┆RTSCALE(DATAÆP,VARP2Å,2);   IF D┆
0x4b7a0…4b7c0            4f 57 4e 20 54 48 45 4e 20 50 4c 54 4c 49 4e 45 28 58 2c 59 29 0d 0a 20 45 4c 53 45 20 0d 0a 20   ┆OWN THEN PLTLINE(X,Y)   ELSE    ┆
0x4b7c0…4b7e0            20 42 45 47 49 4e 0d 0a 20 20 50 4c 41 43 45 44 4f 57 4e 28 58 2c 59 29 3b 0d 0a 20 20 44 4f 57   ┆ BEGIN    PLACEDOWN(X,Y);    DOW┆
0x4b7e0…4b800            4e 3a 3d 54 52 55 45 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 45 4e 44 3b 0d 0a 50 45 4e 55 50 3b 0d   ┆N:=TRUE;    END;   END;  PENUP; ┆
0x4b800…4b820 (30, 0, 3) 0a 4c 49 4e 45 54 59 50 45 28 31 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45   ┆ LINETYPE(1);  END;    PROCEDURE┆
0x4b820…4b840            20 52 45 46 45 52 45 4e 43 45 4c 49 4e 45 28 52 45 46 50 4f 49 4e 54 3a 20 52 45 41 4c 3b 49 41   ┆ REFERENCELINE(REFPOINT: REAL;IA┆
0x4b840…4b860            58 49 53 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 20 50 4f 53 2c 49 41 78 69 73 31 3a 20   ┆XIS: INTEGER);  VAR POS,IAxis1: ┆
0x4b860…4b880            49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 49 41 78 69 73 31 3a 3d 61 62 73 28 49 41 78   ┆INTEGER;  BEGIN  IAxis1:=abs(IAx┆
0x4b880…4b8a0            69 73 29 3b 0d 0a 50 4c 4f 54 44 45 46 52 45 41 4c 5b 31 31 2b 49 41 78 69 73 31 5d 3a 3d 52 45   ┆is);  PLOTDEFREALÆ11+IAxis1Å:=RE┆
0x4b8a0…4b8c0            46 50 4f 49 4e 54 3b 0d 0a 50 4f 53 3a 3d 43 4f 4e 56 45 52 54 53 43 41 4c 45 28 52 45 46 50 4f   ┆FPOINT;  POS:=CONVERTSCALE(REFPO┆
0x4b8c0…4b8e0            49 4e 54 2c 49 41 78 69 73 31 29 3b 0d 0a 49 46 20 49 41 58 49 53 3d 31 20 54 48 45 4e 0d 0a 20   ┆INT,IAxis1);  IF IAXIS=1 THEN   ┆
0x4b8e0…4b900            42 45 47 49 4e 0d 0a 20 50 4c 41 43 45 44 4f 57 4e 28 50 4f 53 2c 50 4c 4f 54 44 45 46 49 4e 54   ┆BEGIN   PLACEDOWN(POS,PLOTDEFINT┆
0x4b900…4b920            5b 31 35 5d 29 3b 0d 0a 20 50 4c 54 4c 49 4e 45 28 50 4f 53 2c 50 4c 4f 54 44 45 46 49 4e 54 5b   ┆Æ15Å);   PLTLINE(POS,PLOTDEFINTÆ┆
0x4b920…4b940            31 37 5d 29 3b 0d 0a 20 50 45 4e 55 50 3b 0d 0a 20 45 4e 44 0d 0a 45 4c 53 45 20 49 46 20 49 41   ┆17Å);   PENUP;   END  ELSE IF IA┆
0x4b940…4b960            58 49 53 3d 32 20 54 48 45 4e 0d 0a 20 42 45 47 49 4e 0d 0a 20 50 4c 41 43 45 44 4f 57 4e 28 50   ┆XIS=2 THEN   BEGIN   PLACEDOWN(P┆
0x4b960…4b980            4c 4f 54 44 45 46 49 4e 54 5b 31 34 5d 2c 50 4f 53 29 3b 0d 0a 20 50 4c 54 4c 49 4e 45 28 50 4c   ┆LOTDEFINTÆ14Å,POS);   PLTLINE(PL┆
0x4b980…4b9a0            4f 54 44 45 46 49 4e 54 5b 31 36 5d 2c 50 4f 53 29 3b 0d 0a 20 50 45 4e 55 50 3b 0d 0a 20 45 4e   ┆OTDEFINTÆ16Å,POS);   PENUP;   EN┆
0x4b9a0…4b9c0            44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4e 45 45 44 4c 45 50 4c 4f 54   ┆D;  END;    PROCEDURE NEEDLEPLOT┆
0x4b9c0…4b9e0            28 4f 42 53 50 31 2c 4f 42 53 50 32 2c 56 41 52 50 31 2c 56 41 52 50 32 2c 56 41 52 50 33 2c 49   ┆(OBSP1,OBSP2,VARP1,VARP2,VARP3,I┆
0x4b9e0…4ba00            41 58 49 53 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 20 50 2c 58 2c 59 2c 52 45 46 3a 20   ┆AXIS: INTEGER);  VAR P,X,Y,REF: ┆
0x4ba00…4ba20            49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 44 41 54 3a 20 52 45 41 4c 3b 0d 0a 42 45 47 49 4e 0d   ┆INTEGER;      DAT: REAL;  BEGIN ┆
0x4ba20…4ba40            0a 46 4f 52 20 50 3a 3d 4f 42 53 50 31 20 54 4f 20 4f 42 53 50 32 20 44 4f 0d 0a 49 46 20 28 44   ┆ FOR P:=OBSP1 TO OBSP2 DO  IF (D┆
0x4ba40…4ba60            41 54 41 5b 50 2c 56 41 52 50 31 5d 3c 3e 4d 49 53 52 45 41 4c 29 20 41 4e 44 20 28 44 41 54 41   ┆ATAÆP,VARP1Å<>MISREAL) AND (DATA┆
0x4ba60…4ba80            5b 50 2c 56 41 52 50 32 5d 3c 3e 4d 49 53 52 45 41 4c 29 20 54 48 45 4e 0d 0a 20 42 45 47 49 4e   ┆ÆP,VARP2Å<>MISREAL) THEN   BEGIN┆
0x4ba80…4baa0            0d 0a 20 49 46 20 56 41 52 50 33 3c 3e 4d 49 53 49 4e 54 20 54 48 45 4e 20 44 41 54 3a 3d 44 41   ┆   IF VARP3<>MISINT THEN DAT:=DA┆
0x4baa0…4bac0            54 41 5b 50 2c 56 41 52 50 33 5d 0d 0a 20 45 4c 53 45 20 44 41 54 3a 3d 50 6c 6f 74 44 65 66 52   ┆TAÆP,VARP3Å   ELSE DAT:=PlotDefR┆
0x4bac0…4bae0            65 61 6c 5b 31 34 2d 49 41 58 49 53 5d 3b 0d 0a 20 49 46 20 44 41 54 3c 3e 4d 49 53 52 45 41 4c   ┆ealÆ14-IAXISÅ;   IF DAT<>MISREAL┆
0x4bae0…4bb00            20 54 48 45 4e 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 49 46 20 49 41 58 49 53 3d 31 20 54 48 45   ┆ THEN    BEGIN    IF IAXIS=1 THE┆
0x4bb00…4bb20            4e 0d 0a 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 58 3a 3d 43 4f 4e 56 45 52 54 53 43 41 4c 45 28   ┆N     BEGIN     X:=CONVERTSCALE(┆
0x4bb20…4bb40            44 41 54 41 5b 50 2c 56 41 52 50 31 5d 2c 31 29 3b 0d 0a 20 20 20 59 3a 3d 43 4f 4e 56 45 52 54   ┆DATAÆP,VARP1Å,1);     Y:=CONVERT┆
0x4bb40…4bb60            53 43 41 4c 45 28 44 41 54 41 5b 50 2c 56 41 52 50 32 5d 2c 32 29 3b 0d 0a 20 20 20 52 45 46 3a   ┆SCALE(DATAÆP,VARP2Å,2);     REF:┆
0x4bb60…4bb80            3d 43 4f 4e 56 45 52 54 53 43 41 4c 45 28 44 41 54 2c 32 29 3b 0d 0a 20 20 20 50 4c 41 43 45 44   ┆=CONVERTSCALE(DAT,2);     PLACED┆
0x4bb80…4bba0            4f 57 4e 28 58 2c 52 45 46 29 3b 0d 0a 20 20 20 50 4c 54 4c 49 4e 45 28 58 2c 59 29 3b 0d 0a 20   ┆OWN(X,REF);     PLTLINE(X,Y);   ┆
0x4bba0…4bbc0            20 20 50 45 4e 55 50 3b 0d 0a 20 20 20 45 4e 44 0d 0a 20 20 45 4c 53 45 0d 0a 20 20 20 42 45 47   ┆  PENUP;     END    ELSE     BEG┆
0x4bbc0…4bbe0            49 4e 0d 0a 20 20 20 59 3a 3d 43 4f 4e 56 45 52 54 53 43 41 4c 45 28 44 41 54 41 5b 50 2c 56 41   ┆IN     Y:=CONVERTSCALE(DATAÆP,VA┆
0x4bbe0…4bc00            52 50 31 5d 2c 32 29 3b 0d 0a 20 20 20 58 3a 3d 43 4f 4e 56 45 52 54 53 43 41 4c 45 28 44 41 54   ┆RP1Å,2);     X:=CONVERTSCALE(DAT┆
0x4bc00…4bc20 (30, 0, 4) 41 5b 50 2c 56 41 52 50 32 5d 2c 31 29 3b 0d 0a 20 20 20 52 45 46 3a 3d 43 4f 4e 56 45 52 54 53   ┆AÆP,VARP2Å,1);     REF:=CONVERTS┆
0x4bc20…4bc40            43 41 4c 45 28 44 41 54 2c 31 29 3b 0d 0a 20 20 20 50 4c 41 43 45 44 4f 57 4e 28 52 45 46 2c 59   ┆CALE(DAT,1);     PLACEDOWN(REF,Y┆
0x4bc40…4bc60            29 3b 0d 0a 20 20 20 50 4c 54 4c 49 4e 45 28 58 2c 59 29 3b 0d 0a 20 20 20 50 45 4e 55 50 3b 0d   ┆);     PLTLINE(X,Y);     PENUP; ┆
0x4bc60…4bc80            0a 20 20 20 45 4e 44 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d   ┆    END;    END;   END;  END;   ┆
0x4bc80…4bca0            0a 50 52 4f 43 45 44 55 52 45 20 42 41 52 53 28 4f 42 53 50 31 2c 4f 42 53 50 32 2c 56 41 52 50   ┆ PROCEDURE BARS(OBSP1,OBSP2,VARP┆
0x4bca0…4bcc0            31 2c 56 41 52 50 32 2c 56 41 52 50 33 3a 20 49 4e 54 45 47 45 52 3b 57 49 44 54 48 3a 20 52 45   ┆1,VARP2,VARP3: INTEGER;WIDTH: RE┆
0x4bcc0…4bce0            41 4c 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 41 54 54 45 52 4e 31 2c 50 41 54   ┆AL;                 PATTERN1,PAT┆
0x4bce0…4bd00            54 45 52 4e 32 2c 49 41 58 49 53 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 20 58 4c 4f 57   ┆TERN2,IAXIS: INTEGER);  VAR XLOW┆
0x4bd00…4bd20            2c 59 4c 4f 57 2c 58 53 49 5a 45 2c 59 53 49 5a 45 2c 50 2c 4c 41 53 54 50 41 54 54 45 52 4e 3a   ┆,YLOW,XSIZE,YSIZE,P,LASTPATTERN:┆
0x4bd20…4bd40            20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 44 49 46 2c 52 45 46 3a 20 52 45 41 4c 3b 0d 0a 42   ┆ INTEGER;      DIF,REF: REAL;  B┆
0x4bd40…4bd60            45 47 49 4e 0d 0a 49 46 20 49 41 58 49 53 3d 31 20 54 48 45 4e 20 58 53 49 5a 45 3a 3d 52 4f 55   ┆EGIN  IF IAXIS=1 THEN XSIZE:=ROU┆
0x4bd60…4bd80            4e 44 28 50 4c 4f 54 44 45 46 52 45 41 4c 5b 37 5d 2a 57 49 44 54 48 29 0d 0a 45 4c 53 45 20 59   ┆ND(PLOTDEFREALÆ7Å*WIDTH)  ELSE Y┆
0x4bd80…4bda0            53 49 5a 45 3a 3d 52 4f 55 4e 44 28 50 4c 4f 54 44 45 46 52 45 41 4c 5b 31 31 5d 2a 57 49 44 54   ┆SIZE:=ROUND(PLOTDEFREALÆ11Å*WIDT┆
0x4bda0…4bdc0            48 29 3b 0d 0a 4c 41 53 54 50 41 54 54 45 52 4e 3a 3d 4d 49 53 49 4e 54 3b 0d 0a 46 4f 52 20 50   ┆H);  LASTPATTERN:=MISINT;  FOR P┆
0x4bdc0…4bde0            3a 3d 4f 42 53 50 31 20 54 4f 20 4f 42 53 50 32 20 44 4f 0d 0a 49 46 20 28 44 41 54 41 5b 50 2c   ┆:=OBSP1 TO OBSP2 DO  IF (DATAÆP,┆
0x4bde0…4be00            56 41 52 50 31 5d 3c 3e 4d 49 53 52 45 41 4c 29 20 41 4e 44 20 28 44 41 54 41 5b 50 2c 56 41 52   ┆VARP1Å<>MISREAL) AND (DATAÆP,VAR┆
0x4be00…4be20            50 32 5d 3c 3e 4d 49 53 52 45 41 4c 29 20 54 48 45 4e 0d 0a 20 42 45 47 49 4e 0d 0a 20 49 46 20   ┆P2Å<>MISREAL) THEN   BEGIN   IF ┆
0x4be20…4be40            56 41 52 50 33 3c 3e 4d 49 53 49 4e 54 20 54 48 45 4e 20 52 45 46 3a 3d 44 41 54 41 5b 50 2c 56   ┆VARP3<>MISINT THEN REF:=DATAÆP,V┆
0x4be40…4be60            41 52 50 33 5d 0d 0a 20 45 4c 53 45 20 52 45 46 3a 3d 50 4c 4f 54 44 45 46 52 45 41 4c 5b 31 34   ┆ARP3Å   ELSE REF:=PLOTDEFREALÆ14┆
0x4be60…4be80            2d 49 41 58 49 53 5d 3b 0d 0a 20 49 46 20 52 45 46 3c 3e 4d 49 53 52 45 41 4c 20 54 48 45 4e 0d   ┆-IAXISÅ;   IF REF<>MISREAL THEN ┆
0x4be80…4bea0            0a 20 20 42 45 47 49 4e 0d 0a 20 20 44 49 46 3a 3d 44 41 54 41 5b 50 2c 56 41 52 50 32 5d 2d 52   ┆   BEGIN    DIF:=DATAÆP,VARP2Å-R┆
0x4bea0…4bec0            45 46 3b 0d 0a 20 20 49 46 20 49 41 58 49 53 3d 31 20 54 48 45 4e 0d 0a 20 20 20 42 45 47 49 4e   ┆EF;    IF IAXIS=1 THEN     BEGIN┆
0x4bec0…4bee0            0d 0a 20 20 20 58 4c 4f 57 3a 3d 43 4f 4e 56 45 52 54 53 43 41 4c 45 28 44 41 54 41 5b 50 2c 56   ┆     XLOW:=CONVERTSCALE(DATAÆP,V┆
0x4bee0…4bf00            41 52 50 31 5d 2c 31 29 2d 28 58 53 49 5a 45 20 44 49 56 20 32 29 3b 0d 0a 20 20 20 59 53 49 5a   ┆ARP1Å,1)-(XSIZE DIV 2);     YSIZ┆
0x4bf00…4bf20            45 3a 3d 52 4f 55 4e 44 28 50 4c 4f 54 44 45 46 52 45 41 4c 5b 31 31 5d 2a 41 42 53 28 44 49 46   ┆E:=ROUND(PLOTDEFREALÆ11Å*ABS(DIF┆
0x4bf20…4bf40            29 29 3b 0d 0a 20 20 20 49 46 20 44 49 46 3c 30 20 54 48 45 4e 20 59 4c 4f 57 3a 3d 43 4f 4e 56   ┆));     IF DIF<0 THEN YLOW:=CONV┆
0x4bf40…4bf60            45 52 54 53 43 41 4c 45 28 44 41 54 41 5b 50 2c 56 41 52 50 32 5d 2c 32 29 0d 0a 20 20 20 45 4c   ┆ERTSCALE(DATAÆP,VARP2Å,2)     EL┆
0x4bf60…4bf80            53 45 20 59 4c 4f 57 3a 3d 43 4f 4e 56 45 52 54 53 43 41 4c 45 28 52 45 46 2c 32 29 3b 0d 0a 20   ┆SE YLOW:=CONVERTSCALE(REF,2);   ┆
0x4bf80…4bfa0            20 20 45 4e 44 0d 0a 20 20 45 4c 53 45 0d 0a 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 59 4c 4f 57   ┆  END    ELSE     BEGIN     YLOW┆
0x4bfa0…4bfc0            3a 3d 43 4f 4e 56 45 52 54 53 43 41 4c 45 28 44 41 54 41 5b 50 2c 56 41 52 50 31 5d 2c 32 29 2d   ┆:=CONVERTSCALE(DATAÆP,VARP1Å,2)-┆
0x4bfc0…4bfe0            28 59 53 49 5a 45 20 44 49 56 20 32 29 3b 0d 0a 20 20 20 58 53 49 5a 45 3a 3d 52 4f 55 4e 44 28   ┆(YSIZE DIV 2);     XSIZE:=ROUND(┆
0x4bfe0…4c000            50 4c 4f 54 44 45 46 52 45 41 4c 5b 37 5d 2a 41 42 53 28 44 49 46 29 29 3b 0d 0a 20 20 20 49 46   ┆PLOTDEFREALÆ7Å*ABS(DIF));     IF┆
0x4c000…4c020 (30, 0, 5) 20 44 49 46 3c 30 20 54 48 45 4e 20 58 4c 4f 57 3a 3d 43 4f 4e 56 45 52 54 53 43 41 4c 45 28 44   ┆ DIF<0 THEN XLOW:=CONVERTSCALE(D┆
0x4c020…4c040            41 54 41 5b 50 2c 56 41 52 50 32 5d 2c 31 29 0d 0a 20 20 20 45 4c 53 45 20 58 4c 4f 57 3a 3d 43   ┆ATAÆP,VARP2Å,1)     ELSE XLOW:=C┆
0x4c040…4c060            4f 4e 56 45 52 54 53 43 41 4c 45 28 52 45 46 2c 31 29 3b 0d 0a 20 20 20 45 4e 44 3b 0d 0a 20 20   ┆ONVERTSCALE(REF,1);     END;    ┆
0x4c060…4c080            49 46 20 28 44 49 46 3c 3d 30 29 20 41 4e 44 20 28 50 41 54 54 45 52 4e 31 3c 3e 4c 41 53 54 50   ┆IF (DIF<=0) AND (PATTERN1<>LASTP┆
0x4c080…4c0a0            41 54 54 45 52 4e 29 20 54 48 45 4e 0d 0a 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 46 49 4c 4c 50   ┆ATTERN) THEN     BEGIN     FILLP┆
0x4c0a0…4c0c0            41 54 54 45 52 4e 28 50 41 54 54 45 52 4e 31 29 3b 0d 0a 20 20 20 4c 41 53 54 50 41 54 54 45 52   ┆ATTERN(PATTERN1);     LASTPATTER┆
0x4c0c0…4c0e0            4e 3a 3d 50 41 54 54 45 52 4e 31 3b 0d 0a 20 20 20 45 4e 44 0d 0a 20 20 45 4c 53 45 20 49 46 20   ┆N:=PATTERN1;     END    ELSE IF ┆
0x4c0e0…4c100            28 44 49 46 3e 30 29 20 41 4e 44 20 28 50 41 54 54 45 52 4e 32 3c 3e 4c 41 53 54 50 41 54 54 45   ┆(DIF>0) AND (PATTERN2<>LASTPATTE┆
0x4c100…4c120            52 4e 29 20 54 48 45 4e 0d 0a 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 46 49 4c 4c 50 41 54 54 45   ┆RN) THEN     BEGIN     FILLPATTE┆
0x4c120…4c140            52 4e 28 50 41 54 54 45 52 4e 32 29 3b 0d 0a 20 20 20 4c 41 53 54 50 41 54 54 45 52 4e 3a 3d 50   ┆RN(PATTERN2);     LASTPATTERN:=P┆
0x4c140…4c160            41 54 54 45 52 4e 32 3b 0d 0a 20 20 20 45 4e 44 3b 0d 0a 20 20 4d 41 52 4b 52 45 43 54 41 4e 47   ┆ATTERN2;     END;    MARKRECTANG┆
0x4c160…4c180            4c 45 28 58 4c 4f 57 2c 59 4c 4f 57 2c 58 53 49 5a 45 2c 59 53 49 5a 45 29 3b 0d 0a 20 20 49 46   ┆LE(XLOW,YLOW,XSIZE,YSIZE);    IF┆
0x4c180…4c1a0            20 4c 41 53 54 50 41 54 54 45 52 4e 3e 30 20 54 48 45 4e 20 46 49 4c 4c 52 45 43 54 41 4e 47 4c   ┆ LASTPATTERN>0 THEN FILLRECTANGL┆
0x4c1a0…4c1c0            45 28 58 4c 4f 57 2c 59 4c 4f 57 2c 58 53 49 5a 45 2c 59 53 49 5a 45 29 3b 0d 0a 20 20 45 4e 44   ┆E(XLOW,YLOW,XSIZE,YSIZE);    END┆
0x4c1c0…4c1e0            3b 0d 0a 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 48 49 47 48 43   ┆;   END;  END;    FUNCTION HIGHC┆
0x4c1e0…4c200            49 46 46 45 52 28 56 41 4c 55 45 3a 20 52 45 41 4c 29 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 56 41   ┆IFFER(VALUE: REAL): INTEGER;  VA┆
0x4c200…4c220            52 20 56 41 4c 53 54 52 49 4e 47 3a 20 53 54 52 32 30 3b 0d 0a 20 20 20 20 49 2c 44 3a 20 42 59   ┆R VALSTRING: STR20;      I,D: BY┆
0x4c220…4c240            54 45 3b 0d 0a 42 45 47 49 4e 0d 0a 53 54 52 28 56 41 4c 55 45 3a 31 30 3a 30 2c 56 41 4c 53 54   ┆TE;  BEGIN  STR(VALUE:10:0,VALST┆
0x4c240…4c260            52 49 4e 47 29 3b 0d 0a 46 4f 52 20 49 3a 3d 31 20 54 4f 20 31 30 20 44 4f 20 49 46 20 56 41 4c   ┆RING);  FOR I:=1 TO 10 DO IF VAL┆
0x4c260…4c280            53 54 52 49 4e 47 5b 49 5d 3d 27 20 27 20 54 48 45 4e 20 44 3a 3d 49 3b 0d 0a 48 49 47 48 43 49   ┆STRINGÆIÅ=' ' THEN D:=I;  HIGHCI┆
0x4c280…4c2a0            46 46 45 52 3a 3d 31 30 2d 44 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4d 41   ┆FFER:=10-D  END;    PROCEDURE MA┆
0x4c2a0…4c2c0            52 4b 45 52 53 49 5a 45 28 53 49 5a 45 3a 20 52 45 41 4c 29 3b 0d 0a 42 45 47 49 4e 0d 0a 50 4c   ┆RKERSIZE(SIZE: REAL);  BEGIN  PL┆
0x4c2c0…4c2e0            4f 54 44 45 46 52 45 41 4c 5b 33 5d 3a 3d 53 49 5a 45 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f   ┆OTDEFREALÆ3Å:=SIZE;  END;    PRO┆
0x4c2e0…4c300            43 45 44 55 52 45 20 46 4f 4f 54 4e 4f 54 45 50 4c 41 43 45 28 50 4c 41 43 45 3a 20 49 4e 54 45   ┆CEDURE FOOTNOTEPLACE(PLACE: INTE┆
0x4c300…4c320            47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 50 4c 4f 54 44 45 46 49 4e 54 5b 32 36 5d 3a 3d 50 4c   ┆GER);  BEGIN  PLOTDEFINTÆ26Å:=PL┆
0x4c320…4c340            41 43 45 3b 0d 0a 50 4c 4f 54 44 45 46 49 4e 54 5b 32 38 5d 3a 3d 30 3b 0d 0a 45 4e 44 3b 0d 0a   ┆ACE;  PLOTDEFINTÆ28Å:=0;  END;  ┆
0x4c340…4c360            0d 0a 50 52 4f 43 45 44 55 52 45 20 43 4f 4d 4d 45 4e 54 50 4c 41 43 45 28 50 4c 41 43 45 3a 20   ┆  PROCEDURE COMMENTPLACE(PLACE: ┆
0x4c360…4c380            49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 50 4c 4f 54 44 45 46 49 4e 54 5b 32 37 5d   ┆INTEGER);  BEGIN  PLOTDEFINTÆ27Å┆
0x4c380…4c3a0            3a 3d 50 4c 41 43 45 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 50 4c 41 43   ┆:=PLACE;  END;    PROCEDURE PLAC┆
0x4c3a0…4c3c0            45 4c 41 42 45 4c 28 58 2c 59 2c 4c 41 42 45 4c 4c 45 4e 47 54 48 3a 20 49 4e 54 45 47 45 52 3b   ┆ELABEL(X,Y,LABELLENGTH: INTEGER;┆
0x4c3c0…4c3e0            58 44 49 52 2c 59 44 49 52 3a 20 52 45 41 4c 29 3b 0d 0a 42 45 47 49 4e 0d 0a 69 66 20 50 6c 6f   ┆XDIR,YDIR: REAL);  BEGIN  if Plo┆
0x4c3e0…4c400            74 44 65 66 49 6e 74 5b 31 33 5d 3d 30 20 74 68 65 6e 0d 0a 20 50 4c 41 43 45 55 50 28 58 2b 72   ┆tDefIntÆ13Å=0 then   PLACEUP(X+r┆
0x4c400…4c420 (30, 1, 1) 6f 75 6e 64 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 30 5d 2a 58 44 69 72 2a 4c 61 62 65 6c 4c   ┆ound(PlotDefRealÆ20Å*XDir*LabelL┆
0x4c420…4c440            65 6e 67 74 68 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 59 2b 72 6f 75 6e 64 28 50 6c 6f 74 44 65   ┆ength),           Y+round(PlotDe┆
0x4c440…4c460            66 52 65 61 6c 5b 32 31 5d 2a 59 44 69 72 29 29 0d 0a 65 6c 73 65 0d 0a 20 50 6c 61 63 65 55 70   ┆fRealÆ21Å*YDir))  else   PlaceUp┆
0x4c460…4c480            28 58 2d 72 6f 75 6e 64 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 2a 59 44 69 72 29 2c 0d   ┆(X-round(PlotDefRealÆ21Å*YDir), ┆
0x4c480…4c4a0            0a 20 20 20 20 20 20 20 20 20 59 2b 72 6f 75 6e 64 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 30   ┆          Y+round(PlotDefRealÆ20┆
0x4c4a0…4c4c0            5d 2a 58 44 69 72 2a 4c 61 62 65 6c 4c 65 6e 67 74 68 29 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50   ┆Å*XDir*LabelLength));  END;    P┆
0x4c4c0…4c4e0            52 4f 43 45 44 55 52 45 20 48 45 41 44 49 4e 47 28 54 49 54 4c 45 3a 20 53 54 52 38 30 29 3b 0d   ┆ROCEDURE HEADING(TITLE: STR80); ┆
0x4c4e0…4c500            0a 76 61 72 20 42 79 74 65 54 69 74 6c 65 3a 20 61 72 72 61 79 20 5b 30 2e 2e 38 30 5d 20 6f 66   ┆ var ByteTitle: array Æ0..80Å of┆
0x4c500…4c520            20 62 79 74 65 20 61 74 20 54 69 74 6c 65 3b 0d 0a 42 45 47 49 4e 0d 0a 50 4c 41 43 45 4c 41 42   ┆ byte at Title;  BEGIN  PLACELAB┆
0x4c520…4c540            45 4c 28 28 50 4c 4f 54 44 45 46 49 4e 54 5b 38 5d 2b 50 4c 4f 54 44 45 46 49 4e 54 5b 31 30 5d   ┆EL((PLOTDEFINTÆ8Å+PLOTDEFINTÆ10Å┆
0x4c540…4c560            29 20 44 49 56 20 32 2c 50 4c 4f 54 44 45 46 49 4e 54 5b 31 32 5d 2c 42 79 74 65 54 69 74 6c 65   ┆) DIV 2,PLOTDEFINTÆ12Å,ByteTitle┆
0x4c560…4c580            5b 30 5d 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 2d 30 2e 35 2c 2d 31 29 3b 0d 0a 50 4c 54 4c   ┆Æ0Å,             -0.5,-1);  PLTL┆
0x4c580…4c5a0            41 42 45 4c 28 54 49 54 4c 45 29 3b 0d 0a 50 4c 4f 54 44 45 46 49 4e 54 5b 31 32 5d 3a 3d 50 4c   ┆ABEL(TITLE);  PLOTDEFINTÆ12Å:=PL┆
0x4c5a0…4c5c0            4f 54 44 45 46 49 4e 54 5b 31 32 5d 2d 52 4f 55 4e 44 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32   ┆OTDEFINTÆ12Å-ROUND(PlotDefRealÆ2┆
0x4c5c0…4c5e0            31 5d 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 46 4f 4f 54 4e 4f 54 45   ┆1Å);  END;    PROCEDURE FOOTNOTE┆
0x4c5e0…4c600            28 54 49 54 4c 45 3a 20 53 54 52 38 30 29 3b 0d 0a 56 41 52 20 58 2c 59 3a 20 49 4e 54 45 47 45   ┆(TITLE: STR80);  VAR X,Y: INTEGE┆
0x4c600…4c620            52 3b 0d 0a 20 20 20 20 42 79 74 65 54 69 74 6c 65 3a 20 61 72 72 61 79 20 5b 30 2e 2e 38 30 5d   ┆R;      ByteTitle: array Æ0..80Å┆
0x4c620…4c640            20 6f 66 20 62 79 74 65 20 61 74 20 54 69 74 6c 65 3b 0d 0a 42 45 47 49 4e 0d 0a 63 61 73 65 20   ┆ of byte at Title;  BEGIN  case ┆
0x4c640…4c660            50 6c 6f 74 44 65 66 49 6e 74 5b 32 36 5d 20 6f 66 0d 0a 20 31 3a 20 42 45 47 49 4e 0d 0a 20 20   ┆PlotDefIntÆ26Å of   1: BEGIN    ┆
0x4c660…4c680            20 20 58 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 38 5d 2b 52 4f 55 4e 44 28 50 6c 6f 74 44 65 66   ┆  X:=PLOTDEFINTÆ8Å+ROUND(PlotDef┆
0x4c680…4c6a0            52 65 61 6c 5b 32 30 5d 2f 32 29 3b 0d 0a 20 20 20 20 59 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b   ┆RealÆ20Å/2);      Y:=PLOTDEFINTÆ┆
0x4c6a0…4c6c0            31 31 5d 2d 52 4f 55 4e 44 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 2a 28 30 2e 37 35 2b   ┆11Å-ROUND(PlotDefRealÆ21Å*(0.75+┆
0x4c6c0…4c6e0            50 4c 4f 54 44 45 46 49 4e 54 5b 32 38 5d 29 29 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 32 3a   ┆PLOTDEFINTÆ28Å));      END;   2:┆
0x4c6e0…4c700            20 42 45 47 49 4e 0d 0a 20 20 20 20 58 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 30 5d 2d 52 4f   ┆ BEGIN      X:=PLOTDEFINTÆ10Å-RO┆
0x4c700…4c720            55 4e 44 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 30 5d 2a 28 30 2e 32 2b 42 79 74 65 54 69 74   ┆UND(PlotDefRealÆ20Å*(0.2+ByteTit┆
0x4c720…4c740            6c 65 5b 30 5d 29 29 3b 0d 0a 20 20 20 20 59 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 31 5d 2d   ┆leÆ0Å));      Y:=PLOTDEFINTÆ11Å-┆
0x4c740…4c760            52 4f 55 4e 44 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 2a 28 30 2e 37 35 2b 50 4c 4f 54   ┆ROUND(PlotDefRealÆ21Å*(0.75+PLOT┆
0x4c760…4c780            44 45 46 49 4e 54 5b 32 38 5d 29 29 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 33 3a 20 42 45 47   ┆DEFINTÆ28Å));      END;   3: BEG┆
0x4c780…4c7a0            49 4e 0d 0a 20 20 20 20 58 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 38 5d 2b 52 4f 55 4e 44 28 50   ┆IN      X:=PLOTDEFINTÆ8Å+ROUND(P┆
0x4c7a0…4c7c0            6c 6f 74 44 65 66 52 65 61 6c 5b 32 30 5d 2f 32 29 3b 0d 0a 20 20 20 20 59 3a 3d 50 4c 4f 54 44   ┆lotDefRealÆ20Å/2);      Y:=PLOTD┆
0x4c7c0…4c7e0            45 46 49 4e 54 5b 39 5d 2b 52 4f 55 4e 44 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 2a 28   ┆EFINTÆ9Å+ROUND(PlotDefRealÆ21Å*(┆
0x4c7e0…4c800            30 2e 32 35 2b 50 4c 4f 54 44 45 46 49 4e 54 5b 32 38 5d 29 29 3b 0d 0a 20 20 20 20 45 4e 44 3b   ┆0.25+PLOTDEFINTÆ28Å));      END;┆
0x4c800…4c820 (30, 1, 2) 0d 0a 20 34 3a 20 42 45 47 49 4e 0d 0a 20 20 20 20 58 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31   ┆   4: BEGIN      X:=PLOTDEFINTÆ1┆
0x4c820…4c840            30 5d 2d 52 4f 55 4e 44 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 30 5d 2a 28 30 2e 32 2b 42 79   ┆0Å-ROUND(PlotDefRealÆ20Å*(0.2+By┆
0x4c840…4c860            74 65 54 69 74 6c 65 5b 30 5d 29 29 3b 0d 0a 20 20 20 20 59 3a 3d 50 4c 4f 54 44 45 46 49 4e 54   ┆teTitleÆ0Å));      Y:=PLOTDEFINT┆
0x4c860…4c880            5b 39 5d 2b 52 4f 55 4e 44 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 2a 28 30 2e 32 35 2b   ┆Æ9Å+ROUND(PlotDefRealÆ21Å*(0.25+┆
0x4c880…4c8a0            50 4c 4f 54 44 45 46 49 4e 54 5b 32 38 5d 29 29 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 65 6e   ┆PLOTDEFINTÆ28Å));      END;   en┆
0x4c8a0…4c8c0            64 3b 0d 0a 50 4c 41 43 45 55 50 28 58 2c 59 29 3b 0d 0a 50 4c 54 4c 41 42 45 4c 28 54 49 54 4c   ┆d;  PLACEUP(X,Y);  PLTLABEL(TITL┆
0x4c8c0…4c8e0            45 29 3b 0d 0a 50 4c 4f 54 44 45 46 49 4e 54 5b 32 38 5d 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b   ┆E);  PLOTDEFINTÆ28Å:=PLOTDEFINTÆ┆
0x4c8e0…4c900            32 38 5d 2b 31 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 43 4f 4d 4d 45 4e   ┆28Å+1;  END;    PROCEDURE COMMEN┆
0x4c900…4c920            54 28 54 49 54 4c 45 3a 20 53 54 52 38 30 3b 43 4f 4d 4d 45 4e 54 4e 55 4d 42 45 52 3a 20 49 4e   ┆T(TITLE: STR80;COMMENTNUMBER: IN┆
0x4c920…4c940            54 45 47 45 52 29 3b 0d 0a 56 41 52 20 58 2c 59 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20   ┆TEGER);  VAR X,Y: INTEGER;      ┆
0x4c940…4c960            42 79 74 65 54 69 74 6c 65 3a 20 61 72 72 61 79 20 5b 30 2e 2e 38 30 5d 20 6f 66 20 62 79 74 65   ┆ByteTitle: array Æ0..80Å of byte┆
0x4c960…4c980            20 61 74 20 54 69 74 6c 65 3b 0d 0a 42 45 47 49 4e 0d 0a 63 61 73 65 20 50 6c 6f 74 44 65 66 49   ┆ at Title;  BEGIN  case PlotDefI┆
0x4c980…4c9a0            6e 74 5b 32 37 5d 20 6f 66 0d 0a 20 31 3a 20 42 45 47 49 4e 0d 0a 20 20 20 20 58 3a 3d 50 4c 4f   ┆ntÆ27Å of   1: BEGIN      X:=PLO┆
0x4c9a0…4c9c0            54 44 45 46 49 4e 54 5b 38 5d 2b 52 4f 55 4e 44 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 30 5d   ┆TDEFINTÆ8Å+ROUND(PlotDefRealÆ20Å┆
0x4c9c0…4c9e0            2f 32 29 3b 0d 0a 20 20 20 20 59 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 31 5d 2d 52 4f 55 4e   ┆/2);      Y:=PLOTDEFINTÆ11Å-ROUN┆
0x4c9e0…4ca00            44 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 2a 28 30 2e 37 35 2b 43 4f 4d 4d 45 4e 54 4e   ┆D(PlotDefRealÆ21Å*(0.75+COMMENTN┆
0x4ca00…4ca20            55 4d 42 45 52 29 29 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 32 3a 20 42 45 47 49 4e 0d 0a 20   ┆UMBER));      END;   2: BEGIN   ┆
0x4ca20…4ca40            20 20 20 58 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 30 5d 2d 52 4f 55 4e 44 28 50 6c 6f 74 44   ┆   X:=PLOTDEFINTÆ10Å-ROUND(PlotD┆
0x4ca40…4ca60            65 66 52 65 61 6c 5b 32 30 5d 2a 28 30 2e 32 2b 42 79 74 65 54 69 74 6c 65 5b 30 5d 29 29 3b 0d   ┆efRealÆ20Å*(0.2+ByteTitleÆ0Å)); ┆
0x4ca60…4ca80            0a 20 20 20 20 59 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 31 5d 2d 52 4f 55 4e 44 28 50 6c 6f   ┆     Y:=PLOTDEFINTÆ11Å-ROUND(Plo┆
0x4ca80…4caa0            74 44 65 66 52 65 61 6c 5b 32 31 5d 2a 28 30 2e 37 35 2b 43 4f 4d 4d 45 4e 54 4e 55 4d 42 45 52   ┆tDefRealÆ21Å*(0.75+COMMENTNUMBER┆
0x4caa0…4cac0            29 29 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 33 3a 20 42 45 47 49 4e 0d 0a 20 20 20 20 58 3a   ┆));      END;   3: BEGIN      X:┆
0x4cac0…4cae0            3d 50 4c 4f 54 44 45 46 49 4e 54 5b 38 5d 2b 52 4f 55 4e 44 28 50 6c 6f 74 44 65 66 52 65 61 6c   ┆=PLOTDEFINTÆ8Å+ROUND(PlotDefReal┆
0x4cae0…4cb00            5b 32 30 5d 2f 32 29 3b 0d 0a 20 20 20 20 59 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 39 5d 2b 52   ┆Æ20Å/2);      Y:=PLOTDEFINTÆ9Å+R┆
0x4cb00…4cb20            4f 55 4e 44 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 2a 28 30 2e 32 35 2b 43 4f 4d 4d 45   ┆OUND(PlotDefRealÆ21Å*(0.25+COMME┆
0x4cb20…4cb40            4e 54 4e 55 4d 42 45 52 29 29 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 34 3a 20 42 45 47 49 4e   ┆NTNUMBER));      END;   4: BEGIN┆
0x4cb40…4cb60            0d 0a 20 20 20 20 58 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 30 5d 2d 52 4f 55 4e 44 28 50 6c   ┆      X:=PLOTDEFINTÆ10Å-ROUND(Pl┆
0x4cb60…4cb80            6f 74 44 65 66 52 65 61 6c 5b 32 30 5d 2a 28 30 2e 32 2b 42 79 74 65 54 69 74 6c 65 5b 30 5d 29   ┆otDefRealÆ20Å*(0.2+ByteTitleÆ0Å)┆
0x4cb80…4cba0            29 3b 0d 0a 20 20 20 20 59 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 39 5d 2b 52 4f 55 4e 44 28 50   ┆);      Y:=PLOTDEFINTÆ9Å+ROUND(P┆
0x4cba0…4cbc0            6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 2a 28 30 2e 32 35 2b 43 4f 4d 4d 45 4e 54 4e 55 4d 42   ┆lotDefRealÆ21Å*(0.25+COMMENTNUMB┆
0x4cbc0…4cbe0            45 52 29 29 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 65 6e 64 3b 0d 0a 50 4c 41 43 45 55 50 28   ┆ER));      END;   end;  PLACEUP(┆
0x4cbe0…4cc00            58 2c 59 29 3b 0d 0a 50 4c 54 4c 41 42 45 4c 28 54 49 54 4c 45 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d   ┆X,Y);  PLTLABEL(TITLE);  END;   ┆
0x4cc00…4cc20 (30, 1, 3) 0a 50 52 4f 43 45 44 55 52 45 20 6d 61 72 6b 63 72 6f 73 73 28 58 2c 59 2c 72 61 64 69 75 73 3a   ┆ PROCEDURE markcross(X,Y,radius:┆
0x4cc20…4cc40            20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 6d 6f 76 65 74 6f 28 58 2c 59 29   ┆ INTEGER);  BEGIN    moveto(X,Y)┆
0x4cc40…4cc60            3b 20 64 72 61 77 72 65 6c 28 2d 72 61 64 69 75 73 2c 2d 72 61 64 69 75 73 29 3b 20 64 72 61 77   ┆; drawrel(-radius,-radius); draw┆
0x4cc60…4cc80            72 65 6c 28 32 2a 72 61 64 69 75 73 2c 32 2a 72 61 64 69 75 73 29 3b 0d 0a 20 20 6d 6f 76 65 72   ┆rel(2*radius,2*radius);    mover┆
0x4cc80…4cca0            65 6c 28 30 2c 2d 32 2a 72 61 64 69 75 73 29 3b 20 64 72 61 77 72 65 6c 28 2d 32 2a 72 61 64 69   ┆el(0,-2*radius); drawrel(-2*radi┆
0x4cca0…4ccc0            75 73 2c 32 2a 72 61 64 69 75 73 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45   ┆us,2*radius);  END;    PROCEDURE┆
0x4ccc0…4cce0            20 6d 61 72 6b 70 6c 75 73 28 58 2c 59 2c 72 61 64 69 75 73 3a 20 49 4e 54 45 47 45 52 29 3b 0d   ┆ markplus(X,Y,radius: INTEGER); ┆
0x4cce0…4cd00            0a 42 45 47 49 4e 0d 0a 20 20 6d 6f 76 65 74 6f 28 58 2c 59 29 3b 20 64 72 61 77 72 65 6c 28 30   ┆ BEGIN    moveto(X,Y); drawrel(0┆
0x4cd00…4cd20            2c 72 61 64 69 75 73 29 3b 20 64 72 61 77 72 65 6c 28 30 2c 2d 32 2a 72 61 64 69 75 73 29 3b 0d   ┆,radius); drawrel(0,-2*radius); ┆
0x4cd20…4cd40            0a 20 20 6d 6f 76 65 72 65 6c 28 2d 72 61 64 69 75 73 2c 72 61 64 69 75 73 29 3b 20 64 72 61 77   ┆   moverel(-radius,radius); draw┆
0x4cd40…4cd60            72 65 6c 28 32 2a 72 61 64 69 75 73 2c 30 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44   ┆rel(2*radius,0);  END;    PROCED┆
0x4cd60…4cd80            55 52 45 20 6d 61 72 6b 68 61 73 68 28 58 2c 59 2c 72 61 64 69 75 73 3a 20 49 4e 54 45 47 45 52   ┆URE markhash(X,Y,radius: INTEGER┆
0x4cd80…4cda0            29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 6d 6f 76 65 72 65 6c 28 2d 72 61 64 69 75 73 2c 28 72 61   ┆);  BEGIN    moverel(-radius,(ra┆
0x4cda0…4cdc0            64 69 75 73 20 44 49 56 20 32 29 29 3b 20 64 72 61 77 72 65 6c 28 32 2a 72 61 64 69 75 73 2c 30   ┆dius DIV 2)); drawrel(2*radius,0┆
0x4cdc0…4cde0            29 3b 0d 0a 20 20 6d 6f 76 65 72 65 6c 28 2d 32 2a 72 61 64 69 75 73 2c 2d 32 2a 28 72 61 64 69   ┆);    moverel(-2*radius,-2*(radi┆
0x4cde0…4ce00            75 73 20 44 49 56 20 32 29 29 3b 20 64 72 61 77 72 65 6c 28 32 2a 72 61 64 69 75 73 2c 30 29 3b   ┆us DIV 2)); drawrel(2*radius,0);┆
0x4ce00…4ce20            0d 0a 20 20 6d 6f 76 65 72 65 6c 28 2d 72 61 64 69 75 73 2d 28 72 61 64 69 75 73 20 44 49 56 20   ┆    moverel(-radius-(radius DIV ┆
0x4ce20…4ce40            32 29 2c 2d 28 72 61 64 69 75 73 20 44 49 56 20 32 29 29 3b 20 64 72 61 77 72 65 6c 28 30 2c 32   ┆2),-(radius DIV 2)); drawrel(0,2┆
0x4ce40…4ce60            2a 72 61 64 69 75 73 29 3b 0d 0a 20 20 6d 6f 76 65 72 65 6c 28 72 61 64 69 75 73 2c 30 29 3b 20   ┆*radius);    moverel(radius,0); ┆
0x4ce60…4ce80            64 72 61 77 72 65 6c 28 30 2c 2d 32 2a 72 61 64 69 75 73 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50   ┆drawrel(0,-2*radius);  END;    P┆
0x4ce80…4cea0            52 4f 43 45 44 55 52 45 20 6d 61 72 6b 79 28 58 2c 59 2c 72 61 64 69 75 73 3a 20 49 4e 54 45 47   ┆ROCEDURE marky(X,Y,radius: INTEG┆
0x4cea0…4cec0            45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 6d 6f 76 65 74 6f 28 58 2c 59 29 3b 0d 0a 20 20 6d   ┆ER);  BEGIN    moveto(X,Y);    m┆
0x4cec0…4cee0            6f 76 65 72 65 6c 28 30 2c 2d 72 61 64 69 75 73 29 3b 0d 0a 20 20 64 72 61 77 72 65 6c 28 30 2c   ┆overel(0,-radius);    drawrel(0,┆
0x4cee0…4cf00            72 61 64 69 75 73 29 3b 0d 0a 20 20 64 72 61 77 72 65 6c 28 2d 72 61 64 69 75 73 2c 72 61 64 69   ┆radius);    drawrel(-radius,radi┆
0x4cf00…4cf20            75 73 29 3b 0d 0a 20 20 6d 6f 76 65 72 65 6c 28 72 61 64 69 75 73 2c 2d 72 61 64 69 75 73 29 3b   ┆us);    moverel(radius,-radius);┆
0x4cf20…4cf40            0d 0a 20 20 64 72 61 77 72 65 6c 28 72 61 64 69 75 73 2c 72 61 64 69 75 73 29 3b 0d 0a 45 4e 44   ┆    drawrel(radius,radius);  END┆
0x4cf40…4cf60            3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4d 41 52 4b 45 52 28 58 2c 59 2c 53 59 4d 42 4f 4c   ┆;    PROCEDURE MARKER(X,Y,SYMBOL┆
0x4cf60…4cf80            3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 20 4d 41 52 4b 45 52 53 49 5a 45 3a 20 49 4e 54   ┆: INTEGER);  VAR MARKERSIZE: INT┆
0x4cf80…4cfa0            45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 4d 41 52 4b 45 52 53 49 5a 45 3a 3d 31 36 3b 0d 0a 49   ┆EGER;  BEGIN  MARKERSIZE:=16;  I┆
0x4cfa0…4cfc0            46 20 53 59 4d 42 4f 4c 3d 30 20 54 48 45 4e 0d 0a 20 42 45 47 49 4e 0d 0a 20 50 4c 41 43 45 44   ┆F SYMBOL=0 THEN   BEGIN   PLACED┆
0x4cfc0…4cfe0            4f 57 4e 28 58 2c 59 29 3b 0d 0a 20 50 45 4e 55 50 3b 0d 0a 20 45 4e 44 3b 0d 0a 49 46 20 53 59   ┆OWN(X,Y);   PENUP;   END;  IF SY┆
0x4cfe0…4d000            4d 42 4f 4c 3c 31 30 20 54 48 45 4e 0d 0a 20 42 45 47 49 4e 0d 0a 20 41 52 45 41 46 49 4c 4c 54   ┆MBOL<10 THEN   BEGIN   AREAFILLT┆
0x4d000…4d020 (30, 1, 4) 59 50 45 28 31 2c 30 2c 30 29 3b 0d 0a 20 63 61 73 65 20 53 79 6d 62 6f 6c 20 6f 66 0d 0a 20 20   ┆YPE(1,0,0);   case Symbol of    ┆
0x4d020…4d040            31 3a 20 46 49 4c 4c 57 45 44 47 45 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 2c 30 2c 33 36   ┆1: FILLWEDGE(X,Y,MARKERSIZE,0,36┆
0x4d040…4d060            30 2c 35 29 3b 20 20 20 20 20 7b 20 46 69 6c 6c 65 64 20 63 69 72 63 6c 65 20 7d 0d 0a 20 20 32   ┆0,5);     æ Filled circle å    2┆
0x4d060…4d080            3a 20 46 49 4c 4c 52 45 43 54 41 4e 47 4c 45 28 58 2d 4d 41 52 4b 45 52 53 49 5a 45 2c 59 2d 4d   ┆: FILLRECTANGLE(X-MARKERSIZE,Y-M┆
0x4d080…4d0a0            41 52 4b 45 52 53 49 5a 45 2c 32 2a 4d 41 52 4b 45 52 53 49 5a 45 2c 32 2a 4d 41 52 4b 45 52 53   ┆ARKERSIZE,2*MARKERSIZE,2*MARKERS┆
0x4d0a0…4d0c0            49 5a 45 29 3b 20 7b 20 46 69 6c 6c 65 64 20 73 71 75 61 72 65 20 7d 0d 0a 20 20 33 3a 20 46 49   ┆IZE); æ Filled square å    3: FI┆
0x4d0c0…4d0e0            4c 4c 57 45 44 47 45 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 2c 30 2c 33 36 30 2c 39 30 29   ┆LLWEDGE(X,Y,MARKERSIZE,0,360,90)┆
0x4d0e0…4d100            3b 20 20 20 20 7b 20 46 69 6c 6c 65 64 20 64 69 61 6d 6f 6e 64 20 7d 0d 0a 20 20 34 3a 20 46 49   ┆;    æ Filled diamond å    4: FI┆
0x4d100…4d120            4c 4c 57 45 44 47 45 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 2c 2d 33 30 2c 33 36 30 2c 31   ┆LLWEDGE(X,Y,MARKERSIZE,-30,360,1┆
0x4d120…4d140            32 30 29 3b 20 7b 20 46 69 6c 6c 65 64 20 74 72 69 61 6e 67 6c 65 2c 20 65 64 67 65 20 75 70 20   ┆20); æ Filled triangle, edge up ┆
0x4d140…4d160            7d 0d 0a 20 20 35 3a 20 46 49 4c 4c 57 45 44 47 45 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45   ┆å    5: FILLWEDGE(X,Y,MARKERSIZE┆
0x4d160…4d180            2c 33 30 2c 33 36 30 2c 31 32 30 29 3b 20 20 7b 20 46 69 6c 6c 65 64 20 74 72 69 61 6e 67 6c 65   ┆,30,360,120);  æ Filled triangle┆
0x4d180…4d1a0            2c 20 65 64 67 65 20 64 6f 77 6e 20 7d 0d 0a 20 20 36 3a 20 46 49 4c 4c 57 45 44 47 45 28 58 2c   ┆, edge down å    6: FILLWEDGE(X,┆
0x4d1a0…4d1c0            59 2c 4d 41 52 4b 45 52 53 49 5a 45 2c 30 2c 33 36 30 2c 37 32 29 3b 20 20 20 20 7b 20 46 69 6c   ┆Y,MARKERSIZE,0,360,72);    æ Fil┆
0x4d1c0…4d1e0            6c 65 64 20 50 65 6e 74 61 67 6f 6e 20 7d 0d 0a 20 20 37 3a 20 46 49 4c 4c 57 45 44 47 45 28 58   ┆led Pentagon å    7: FILLWEDGE(X┆
0x4d1e0…4d200            2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 2c 31 38 2c 33 36 30 2c 36 30 29 3b 20 20 20 7b 20 46 69   ┆,Y,MARKERSIZE,18,360,60);   æ Fi┆
0x4d200…4d220            6c 6c 65 64 20 48 65 78 61 67 6f 6e 20 7d 0d 0a 20 20 38 3a 20 42 45 47 49 4e 20 20 20 20 20 20   ┆lled Hexagon å    8: BEGIN      ┆
0x4d220…4d240            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 46 69   ┆                            æ Fi┆
0x4d240…4d260            6c 6c 65 64 20 73 74 61 72 74 20 7d 0d 0a 20 20 20 20 20 46 49 4c 4c 57 45 44 47 45 28 58 2c 59   ┆lled start å       FILLWEDGE(X,Y┆
0x4d260…4d280            2c 4d 41 52 4b 45 52 53 49 5a 45 2c 2d 33 30 2c 33 36 30 2c 31 32 30 29 3b 0d 0a 20 20 20 20 20   ┆,MARKERSIZE,-30,360,120);       ┆
0x4d280…4d2a0            46 49 4c 4c 57 45 44 47 45 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 2c 33 30 2c 33 36 30 2c   ┆FILLWEDGE(X,Y,MARKERSIZE,30,360,┆
0x4d2a0…4d2c0            31 32 30 29 3b 0d 0a 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 65 6e 64 3b 0d 0a 20 53 59 4d 42 4f   ┆120);       END;    end;   SYMBO┆
0x4d2c0…4d2e0            4c 3a 3d 53 59 4d 42 4f 4c 2b 31 30 3b 0d 0a 20 45 4e 44 3b 0d 0a 63 61 73 65 20 53 79 6d 62 6f   ┆L:=SYMBOL+10;   END;  case Symbo┆
0x4d2e0…4d300            6c 20 6f 66 0d 0a 20 31 31 3a 20 4d 41 52 4b 43 49 52 43 4c 45 28 58 2c 59 2c 4d 41 52 4b 45 52   ┆l of   11: MARKCIRCLE(X,Y,MARKER┆
0x4d300…4d320            53 49 5a 45 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 43 69 72 63 6c 65 20 20 20 20 20 7d   ┆SIZE);            æ Circle     å┆
0x4d320…4d340            0d 0a 20 31 32 3a 20 4d 41 52 4b 52 45 43 54 41 4e 47 4c 45 28 58 2d 4d 41 52 4b 45 52 53 49 5a   ┆   12: MARKRECTANGLE(X-MARKERSIZ┆
0x4d340…4d360            45 2c 59 2d 4d 41 52 4b 45 52 53 49 5a 45 2c 32 2a 4d 41 52 4b 45 52 53 49 5a 45 2c 32 2a 4d 41   ┆E,Y-MARKERSIZE,2*MARKERSIZE,2*MA┆
0x4d360…4d380            52 4b 45 52 53 49 5a 45 29 3b 20 7b 20 73 71 75 61 72 65 20 7d 0d 0a 20 31 33 3a 20 4d 41 52 4b   ┆RKERSIZE); æ square å   13: MARK┆
0x4d380…4d3a0            57 45 44 47 45 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 2c 30 2c 33 36 30 2c 39 30 29 3b 20   ┆WEDGE(X,Y,MARKERSIZE,0,360,90); ┆
0x4d3a0…4d3c0            20 20 20 7b 20 64 69 61 6d 6f 6e 64 20 20 20 20 7d 0d 0a 20 31 34 3a 20 4d 41 52 4b 57 45 44 47   ┆   æ diamond    å   14: MARKWEDG┆
0x4d3c0…4d3e0            45 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 2c 2d 33 30 2c 33 36 30 2c 31 32 30 29 3b 20 7b   ┆E(X,Y,MARKERSIZE,-30,360,120); æ┆
0x4d3e0…4d400            20 74 72 69 61 6e 67 6c 65 2c 20 65 64 67 65 20 75 70 20 7d 0d 0a 20 31 35 3a 20 4d 41 52 4b 57   ┆ triangle, edge up å   15: MARKW┆
0x4d400…4d420 (30, 1, 5) 45 44 47 45 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 2c 33 30 2c 33 36 30 2c 31 32 30 29 3b   ┆EDGE(X,Y,MARKERSIZE,30,360,120);┆
0x4d420…4d440            20 20 7b 20 74 72 69 61 6e 67 6c 65 2c 20 65 64 67 65 20 64 6f 77 6e 20 7d 0d 0a 20 31 36 3a 20   ┆  æ triangle, edge down å   16: ┆
0x4d440…4d460            4d 41 52 4b 57 45 44 47 45 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 2c 31 38 2c 33 36 30 2c   ┆MARKWEDGE(X,Y,MARKERSIZE,18,360,┆
0x4d460…4d480            37 32 29 3b 20 20 20 7b 20 70 65 6e 74 61 67 6f 6e 20 20 20 7d 0d 0a 20 31 37 3a 20 4d 41 52 4b   ┆72);   æ pentagon   å   17: MARK┆
0x4d480…4d4a0            57 45 44 47 45 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 2c 30 2c 33 36 30 2c 36 30 29 3b 20   ┆WEDGE(X,Y,MARKERSIZE,0,360,60); ┆
0x4d4a0…4d4c0            20 20 20 7b 20 68 65 78 61 67 6f 6e 20 20 20 20 7d 0d 0a 20 31 38 3a 20 20 20 20 20 20 20 20 20   ┆   æ hexagon    å   18:         ┆
0x4d4c0…4d4e0            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28   ┆                               (┆
0x4d4e0…4d500            2a 20 53 54 41 52 20 2a 29 0d 0a 20 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 4d 41 52 4b   ┆* STAR *)       BEGIN       MARK┆
0x4d500…4d520            57 45 44 47 45 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 2c 2d 33 30 2c 33 36 30 2c 31 32 30   ┆WEDGE(X,Y,MARKERSIZE,-30,360,120┆
0x4d520…4d540            29 3b 0d 0a 20 20 20 20 20 4d 41 52 4b 57 45 44 47 45 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a   ┆);       MARKWEDGE(X,Y,MARKERSIZ┆
0x4d540…4d560            45 2c 33 30 2c 33 36 30 2c 31 32 30 29 3b 0d 0a 20 20 20 20 20 45 4e 44 3b 0d 0a 20 32 31 3a 20   ┆E,30,360,120);       END;   21: ┆
0x4d560…4d580            4d 41 52 4b 43 52 4f 53 53 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 29 3b 20 20 20 20 20 20   ┆MARKCROSS(X,Y,MARKERSIZE);      ┆
0x4d580…4d5a0            20 20 20 20 20 20 20 7b 20 63 72 6f 73 73 20 20 20 20 20 20 7d 0d 0a 20 32 32 3a 20 4d 41 52 4b   ┆       æ cross      å   22: MARK┆
0x4d5a0…4d5c0            50 4c 55 53 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 29 3b 20 20 20 20 20 20 20 20 20 20 20   ┆PLUS(X,Y,MARKERSIZE);           ┆
0x4d5c0…4d5e0            20 20 20 7b 20 70 6c 75 73 20 20 20 20 20 20 20 7d 0d 0a 20 32 33 3a 20 4d 41 52 4b 48 41 53 48   ┆   æ plus       å   23: MARKHASH┆
0x4d5e0…4d600            28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b   ┆(X,Y,MARKERSIZE);              æ┆
0x4d600…4d620            20 68 61 73 68 20 20 20 20 20 20 20 7d 0d 0a 20 32 34 3a 20 4d 41 52 4b 59 28 58 2c 59 2c 4d 41   ┆ hash       å   24: MARKY(X,Y,MA┆
0x4d620…4d640            52 4b 45 52 53 49 5a 45 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 20 20 59   ┆RKERSIZE);                 æ   Y┆
0x4d640…4d660            20 20 20 20 7d 20 0d 0a 20 33 33 2e 2e 31 32 37 3a 20 4d 41 52 4b 53 59 4d 42 4f 4c 4d 4f 44 45   ┆    å    33..127: MARKSYMBOLMODE┆
0x4d660…4d680            28 58 2c 59 2c 53 59 4d 42 4f 4c 29 3b 0d 0a 20 65 6e 64 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52   ┆(X,Y,SYMBOL);   end;  END;    PR┆
0x4d680…4d6a0            4f 43 45 44 55 52 45 20 46 52 41 4d 45 3b 0d 0a 42 45 47 49 4e 0d 0a 4d 61 72 6b 52 65 63 74 61   ┆OCEDURE FRAME;  BEGIN  MarkRecta┆
0x4d6a0…4d6c0            6e 67 6c 65 28 50 6c 6f 74 44 65 66 49 6e 74 5b 38 5d 2c 50 6c 6f 74 44 65 66 49 6e 74 5b 39 5d   ┆ngle(PlotDefIntÆ8Å,PlotDefIntÆ9Å┆
0x4d6c0…4d6e0            2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 6c 6f 74 44 65 66 49 6e 74 5b 31 30 5d 2d   ┆,                PlotDefIntÆ10Å-┆
0x4d6e0…4d700            50 6c 6f 74 44 65 66 49 6e 74 5b 38 5d 2c 50 6c 6f 74 44 65 66 49 6e 74 5b 31 31 5d 2d 50 6c 6f   ┆PlotDefIntÆ8Å,PlotDefIntÆ11Å-Plo┆
0x4d700…4d720            74 44 65 66 49 6e 74 5b 39 5d 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20   ┆tDefIntÆ9Å);  END;    PROCEDURE ┆
0x4d720…4d740            4c 45 47 45 4e 44 50 4f 53 49 54 49 4f 4e 28 58 2c 59 3a 20 52 45 41 4c 3b 4c 45 47 50 52 4c 49   ┆LEGENDPOSITION(X,Y: REAL;LEGPRLI┆
0x4d740…4d760            4e 45 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 50 4c 4f 54 44 45 46 49 4e 54   ┆NE: INTEGER);  BEGIN  PLOTDEFINT┆
0x4d760…4d780            5b 32 30 5d 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 38 5d 2b 52 4f 55 4e 44 28 58 2a 34 30 30 29   ┆Æ20Å:=PLOTDEFINTÆ8Å+ROUND(X*400)┆
0x4d780…4d7a0            3b 0d 0a 50 4c 4f 54 44 45 46 49 4e 54 5b 32 31 5d 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 39 5d   ┆;  PLOTDEFINTÆ21Å:=PLOTDEFINTÆ9Å┆
0x4d7a0…4d7c0            2b 52 4f 55 4e 44 28 59 2a 34 30 30 29 3b 0d 0a 50 4c 4f 54 44 45 46 49 4e 54 5b 32 32 5d 3a 3d   ┆+ROUND(Y*400);  PLOTDEFINTÆ22Å:=┆
0x4d7c0…4d7e0            4c 45 47 50 52 4c 49 4e 45 3b 0d 0a 50 4c 4f 54 44 45 46 49 4e 54 5b 32 33 5d 3a 3d 30 3b 0d 0a   ┆LEGPRLINE;  PLOTDEFINTÆ23Å:=0;  ┆
0x4d7e0…4d800            50 4c 4f 54 44 45 46 49 4e 54 5b 32 34 5d 3a 3d 30 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43   ┆PLOTDEFINTÆ24Å:=0;  END;    PROC┆
0x4d800…4d820 (31, 0, 1) 45 44 55 52 45 20 4d 41 4b 45 4f 52 44 49 4e 41 52 59 4c 45 47 45 4e 44 28 58 2c 59 2c 4c 54 59   ┆EDURE MAKEORDINARYLEGEND(X,Y,LTY┆
0x4d820…4d840            50 45 2c 53 59 4d 42 4f 4c 3a 20 49 4e 54 45 47 45 52 3b 54 49 54 4c 45 3a 20 53 54 52 38 30 29   ┆PE,SYMBOL: INTEGER;TITLE: STR80)┆
0x4d840…4d860            3b 0d 0a 56 41 52 20 58 52 65 6c 2c 59 52 45 4c 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20   ┆;  VAR XRel,YREL: INTEGER;      ┆
0x4d860…4d880            42 79 74 65 54 69 74 6c 65 3a 20 61 72 72 61 79 20 5b 30 2e 2e 38 30 5d 20 6f 66 20 62 79 74 65   ┆ByteTitle: array Æ0..80Å of byte┆
0x4d880…4d8a0            20 61 74 20 54 69 74 6c 65 3b 0d 0a 42 45 47 49 4e 0d 0a 49 46 20 53 59 4d 42 4f 4c 3e 30 20 54   ┆ at Title;  BEGIN  IF SYMBOL>0 T┆
0x4d8a0…4d8c0            48 45 4e 0d 0a 20 42 45 47 49 4e 0d 0a 20 4d 41 52 4b 45 52 28 58 2c 59 2c 53 59 4d 42 4f 4c 29   ┆HEN   BEGIN   MARKER(X,Y,SYMBOL)┆
0x4d8c0…4d8e0            3b 0d 0a 20 49 46 20 4c 54 59 50 45 3c 3d 30 20 54 48 45 4e 20 4d 41 52 4b 45 52 28 58 2b 32 30   ┆;   IF LTYPE<=0 THEN MARKER(X+20┆
0x4d8e0…4d900            30 2c 59 2c 53 59 4d 42 4f 4c 29 3b 0d 0a 20 4d 41 52 4b 45 52 28 58 2b 34 30 30 2c 59 2c 53 59   ┆0,Y,SYMBOL);   MARKER(X+400,Y,SY┆
0x4d900…4d920            4d 42 4f 4c 29 3b 0d 0a 20 45 4e 44 3b 0d 0a 49 46 20 4c 54 59 50 45 3e 30 20 54 48 45 4e 0d 0a   ┆MBOL);   END;  IF LTYPE>0 THEN  ┆
0x4d920…4d940            20 42 45 47 49 4e 0d 0a 20 4c 49 4e 45 54 59 50 45 28 4c 54 59 50 45 29 3b 0d 0a 20 50 4c 41 43   ┆ BEGIN   LINETYPE(LTYPE);   PLAC┆
0x4d940…4d960            45 44 4f 57 4e 28 58 2c 59 29 3b 0d 0a 20 50 4c 54 52 45 4c 41 54 49 56 45 28 34 30 30 2c 30 29   ┆EDOWN(X,Y);   PLTRELATIVE(400,0)┆
0x4d960…4d980            3b 0d 0a 20 50 45 4e 55 50 3b 0d 0a 20 4c 49 4e 45 54 59 50 45 28 31 29 3b 0d 0a 20 45 4e 44 3b   ┆;   PENUP;   LINETYPE(1);   END;┆
0x4d980…4d9a0            0d 0a 58 52 65 6c 3a 3d 72 6f 75 6e 64 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 30 5d 29 3b 0d   ┆  XRel:=round(PlotDefRealÆ20Å); ┆
0x4d9a0…4d9c0            0a 59 52 45 4c 3a 3d 52 4f 55 4e 44 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 2a 30 2e 32   ┆ YREL:=ROUND(PlotDefRealÆ21Å*0.2┆
0x4d9c0…4d9e0            35 29 3b 0d 0a 49 46 20 28 53 59 4d 42 4f 4c 3c 3d 30 29 20 41 4e 44 20 28 4c 54 59 50 45 3c 3d   ┆5);  IF (SYMBOL<=0) AND (LTYPE<=┆
0x4d9e0…4da00            30 29 20 54 48 45 4e 20 50 4c 41 43 45 55 50 28 58 2c 59 2d 59 52 45 4c 29 0d 0a 45 4c 53 45 20   ┆0) THEN PLACEUP(X,Y-YREL)  ELSE ┆
0x4da00…4da20            49 46 20 53 59 4d 42 4f 4c 3c 3d 30 20 54 48 45 4e 20 50 4c 41 43 45 55 50 28 58 2b 34 30 30 2b   ┆IF SYMBOL<=0 THEN PLACEUP(X+400+┆
0x4da20…4da40            58 52 45 4c 2c 59 2d 59 52 45 4c 29 0d 0a 45 4c 53 45 20 50 4c 41 43 45 55 50 28 58 2b 34 30 30   ┆XREL,Y-YREL)  ELSE PLACEUP(X+400┆
0x4da40…4da60            2b 58 52 45 4c 2b 52 4f 55 4e 44 28 28 50 4c 4f 54 44 45 46 49 4e 54 5b 35 5d 2d 50 4c 4f 54 44   ┆+XREL+ROUND((PLOTDEFINTÆ5Å-PLOTD┆
0x4da60…4da80            45 46 49 4e 54 5b 34 5d 29 2a 50 4c 4f 54 44 45 46 52 45 41 4c 5b 33 5d 2f 32 30 30 29 2c 0d 0a   ┆EFINTÆ4Å)*PLOTDEFREALÆ3Å/200),  ┆
0x4da80…4daa0            20 20 20 20 20 20 20 20 20 20 20 20 20 59 2d 59 52 45 4c 29 3b 0d 0a 50 4c 54 4c 41 42 45 4c 28   ┆             Y-YREL);  PLTLABEL(┆
0x4daa0…4dac0            54 49 54 4c 45 29 3b 0d 0a 49 46 20 42 79 74 65 54 69 74 6c 65 5b 30 5d 3e 50 4c 4f 54 44 45 46   ┆TITLE);  IF ByteTitleÆ0Å>PLOTDEF┆
0x4dac0…4dae0            49 4e 54 5b 32 33 5d 20 54 48 45 4e 20 50 4c 4f 54 44 45 46 49 4e 54 5b 32 33 5d 3a 3d 42 79 74   ┆INTÆ23Å THEN PLOTDEFINTÆ23Å:=Byt┆
0x4dae0…4db00            65 54 69 74 6c 65 5b 30 5d 3b 0d 0a 50 4c 4f 54 44 45 46 49 4e 54 5b 33 32 5d 3a 3d 30 3b 0d 0a   ┆eTitleÆ0Å;  PLOTDEFINTÆ32Å:=0;  ┆
0x4db00…4db20            45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4d 41 4b 45 50 41 54 54 45 52 4e 4c 45 47   ┆END;    PROCEDURE MAKEPATTERNLEG┆
0x4db20…4db40            45 4e 44 28 58 2c 59 2c 50 41 54 54 45 52 4e 3a 20 49 4e 54 45 47 45 52 3b 54 49 54 4c 45 3a 20   ┆END(X,Y,PATTERN: INTEGER;TITLE: ┆
0x4db40…4db60            53 54 52 38 30 29 3b 0d 0a 56 41 52 20 42 79 74 65 54 69 74 6c 65 3a 20 61 72 72 61 79 20 5b 30   ┆STR80);  VAR ByteTitle: array Æ0┆
0x4db60…4db80            2e 2e 38 30 5d 20 6f 66 20 62 79 74 65 20 61 74 20 54 69 74 6c 65 3b 0d 0a 42 45 47 49 4e 0d 0a   ┆..80Å of byte at Title;  BEGIN  ┆
0x4db80…4dba0            4d 41 52 4b 52 45 43 54 41 4e 47 4c 45 28 58 2c 59 2d 31 30 30 2c 34 30 30 2c 32 30 30 29 3b 0d   ┆MARKRECTANGLE(X,Y-100,400,200); ┆
0x4dba0…4dbc0            0a 49 46 20 50 41 54 54 45 52 4e 3e 30 20 54 48 45 4e 0d 0a 20 42 45 47 49 4e 0d 0a 20 46 49 4c   ┆ IF PATTERN>0 THEN   BEGIN   FIL┆
0x4dbc0…4dbe0            4c 50 41 54 54 45 52 4e 28 50 41 54 54 45 52 4e 29 3b 0d 0a 20 46 49 4c 4c 52 45 43 54 41 4e 47   ┆LPATTERN(PATTERN);   FILLRECTANG┆
0x4dbe0…4dc00            4c 45 28 58 2c 59 2d 31 30 30 2c 34 30 30 2c 32 30 30 29 3b 0d 0a 20 45 4e 44 3b 0d 0a 50 4c 41   ┆LE(X,Y-100,400,200);   END;  PLA┆
0x4dc00…4dc20 (31, 0, 2) 43 45 55 50 28 58 2b 34 30 30 2b 52 4f 55 4e 44 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 30 5d   ┆CEUP(X+400+ROUND(PlotDefRealÆ20Å┆
0x4dc20…4dc40            2b 28 50 4c 4f 54 44 45 46 49 4e 54 5b 35 5d 2d 50 4c 4f 54 44 45 46 49 4e 54 5b 34 5d 29 2a 50   ┆+(PLOTDEFINTÆ5Å-PLOTDEFINTÆ4Å)*P┆
0x4dc40…4dc60            4c 4f 54 44 45 46 52 45 41 4c 5b 33 5d 2f 32 30 30 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20   ┆LOTDEFREALÆ3Å/200),             ┆
0x4dc60…4dc80            20 20 59 2d 52 4f 55 4e 44 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 2a 30 2e 32 35 29 29   ┆  Y-ROUND(PlotDefRealÆ21Å*0.25))┆
0x4dc80…4dca0            3b 0d 0a 50 4c 54 4c 41 42 45 4c 28 54 49 54 4c 45 29 3b 0d 0a 49 46 20 42 79 74 65 54 69 74 6c   ┆;  PLTLABEL(TITLE);  IF ByteTitl┆
0x4dca0…4dcc0            65 5b 30 5d 3e 50 4c 4f 54 44 45 46 49 4e 54 5b 32 33 5d 20 54 48 45 4e 20 50 4c 4f 54 44 45 46   ┆eÆ0Å>PLOTDEFINTÆ23Å THEN PLOTDEF┆
0x4dcc0…4dce0            49 4e 54 5b 32 33 5d 3a 3d 42 79 74 65 54 69 74 6c 65 5b 30 5d 3b 0d 0a 50 4c 4f 54 44 45 46 49   ┆INTÆ23Å:=ByteTitleÆ0Å;  PLOTDEFI┆
0x4dce0…4dd00            4e 54 5b 33 32 5d 3a 3d 31 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4c 45   ┆NTÆ32Å:=1;  END;    PROCEDURE LE┆
0x4dd00…4dd20            47 45 4e 44 28 54 69 74 6c 65 3a 20 53 74 72 38 30 3b 4c 45 47 4e 55 4d 42 45 52 2c 4c 54 59 50   ┆GEND(Title: Str80;LEGNUMBER,LTYP┆
0x4dd20…4dd40            45 2c 53 59 4d 42 4f 4c 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 20 58 52 45 4c 2c 4c 45   ┆E,SYMBOL: INTEGER);  VAR XREL,LE┆
0x4dd40…4dd60            47 53 2c 58 2c 59 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 4c 45 47 53 3a 3d 50   ┆GS,X,Y: INTEGER;  BEGIN  LEGS:=P┆
0x4dd60…4dd80            4c 4f 54 44 45 46 49 4e 54 5b 32 32 5d 20 4d 4f 44 20 31 30 3b 0d 0a 49 46 20 28 50 4c 4f 54 44   ┆LOTDEFINTÆ22Å MOD 10;  IF (PLOTD┆
0x4dd80…4dda0            45 46 49 4e 54 5b 32 32 5d 20 44 49 56 20 31 30 29 3d 30 20 54 48 45 4e 0d 0a 20 58 52 45 4c 3a   ┆EFINTÆ22Å DIV 10)=0 THEN   XREL:┆
0x4dda0…4ddc0            3d 52 4f 55 4e 44 28 28 50 4c 4f 54 44 45 46 49 4e 54 5b 38 5d 2b 50 4c 4f 54 44 45 46 49 4e 54   ┆=ROUND((PLOTDEFINTÆ8Å+PLOTDEFINT┆
0x4ddc0…4dde0            5b 31 30 5d 2d 32 2a 50 4c 4f 54 44 45 46 49 4e 54 5b 32 30 5d 29 2f 4c 45 47 53 29 0d 0a 45 4c   ┆Æ10Å-2*PLOTDEFINTÆ20Å)/LEGS)  EL┆
0x4dde0…4de00            53 45 20 58 52 45 4c 3a 3d 52 4f 55 4e 44 28 28 50 4c 4f 54 44 45 46 49 4e 54 5b 31 30 5d 2d 50   ┆SE XREL:=ROUND((PLOTDEFINTÆ10Å-P┆
0x4de00…4de20            4c 4f 54 44 45 46 49 4e 54 5b 32 30 5d 29 2f 4c 45 47 53 29 3b 0d 0a 58 3a 3d 50 4c 4f 54 44 45   ┆LOTDEFINTÆ20Å)/LEGS);  X:=PLOTDE┆
0x4de20…4de40            46 49 4e 54 5b 32 30 5d 2b 58 52 45 4c 2a 28 28 4c 45 47 4e 55 4d 42 45 52 2d 31 29 20 4d 4f 44   ┆FINTÆ20Å+XREL*((LEGNUMBER-1) MOD┆
0x4de40…4de60            20 4c 45 47 53 29 3b 0d 0a 59 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 32 31 5d 2d 72 6f 75 6e 64   ┆ LEGS);  Y:=PLOTDEFINTÆ21Å-round┆
0x4de60…4de80            28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 2a 28 28 4c 45 47 4e 55 4d 42 45 52 2d 31 29 20   ┆(PlotDefRealÆ21Å*((LEGNUMBER-1) ┆
0x4de80…4dea0            44 49 56 20 4c 45 47 53 29 29 3b 0d 0a 4d 41 4b 45 4f 52 44 49 4e 41 52 59 4c 45 47 45 4e 44 28   ┆DIV LEGS));  MAKEORDINARYLEGEND(┆
0x4dea0…4dec0            58 2c 59 2c 4c 54 59 50 45 2c 53 59 4d 42 4f 4c 2c 54 49 54 4c 45 29 3b 0d 0a 49 46 20 4c 45 47   ┆X,Y,LTYPE,SYMBOL,TITLE);  IF LEG┆
0x4dec0…4dee0            4e 55 4d 42 45 52 3e 50 4c 4f 54 44 45 46 49 4e 54 5b 32 34 5d 20 54 48 45 4e 20 50 4c 4f 54 44   ┆NUMBER>PLOTDEFINTÆ24Å THEN PLOTD┆
0x4dee0…4df00            45 46 49 4e 54 5b 32 34 5d 3a 3d 4c 45 47 4e 55 4d 42 45 52 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50   ┆EFINTÆ24Å:=LEGNUMBER;  END;    P┆
0x4df00…4df20            52 4f 43 45 44 55 52 45 20 50 41 54 54 45 52 4e 4c 45 47 45 4e 44 28 54 69 74 6c 65 3a 20 53 74   ┆ROCEDURE PATTERNLEGEND(Title: St┆
0x4df20…4df40            72 38 30 3b 4c 45 47 4e 55 4d 42 45 52 2c 50 41 54 54 45 52 4e 3a 20 49 4e 54 45 47 45 52 29 3b   ┆r80;LEGNUMBER,PATTERN: INTEGER);┆
0x4df40…4df60            0d 0a 56 41 52 20 58 52 45 4c 2c 4c 45 47 53 2c 58 2c 59 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42   ┆  VAR XREL,LEGS,X,Y: INTEGER;  B┆
0x4df60…4df80            45 47 49 4e 0d 0a 4c 45 47 53 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 32 32 5d 20 4d 4f 44 20 31   ┆EGIN  LEGS:=PLOTDEFINTÆ22Å MOD 1┆
0x4df80…4dfa0            30 3b 0d 0a 49 46 20 28 50 4c 4f 54 44 45 46 49 4e 54 5b 32 32 5d 20 44 49 56 20 31 30 29 3d 30   ┆0;  IF (PLOTDEFINTÆ22Å DIV 10)=0┆
0x4dfa0…4dfc0            20 54 48 45 4e 0d 0a 20 58 52 45 4c 3a 3d 52 4f 55 4e 44 28 28 50 4c 4f 54 44 45 46 49 4e 54 5b   ┆ THEN   XREL:=ROUND((PLOTDEFINTÆ┆
0x4dfc0…4dfe0            38 5d 2b 50 4c 4f 54 44 45 46 49 4e 54 5b 31 30 5d 2d 32 2a 50 4c 4f 54 44 45 46 49 4e 54 5b 32   ┆8Å+PLOTDEFINTÆ10Å-2*PLOTDEFINTÆ2┆
0x4dfe0…4e000            30 5d 29 2f 4c 45 47 53 29 0d 0a 45 4c 53 45 20 58 52 45 4c 3a 3d 52 4f 55 4e 44 28 28 50 4c 4f   ┆0Å)/LEGS)  ELSE XREL:=ROUND((PLO┆
0x4e000…4e020 (31, 0, 3) 54 44 45 46 49 4e 54 5b 31 30 5d 2d 50 4c 4f 54 44 45 46 49 4e 54 5b 32 30 5d 29 2f 4c 45 47 53   ┆TDEFINTÆ10Å-PLOTDEFINTÆ20Å)/LEGS┆
0x4e020…4e040            29 3b 0d 0a 58 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 32 30 5d 2b 58 52 45 4c 2a 28 28 4c 45 47   ┆);  X:=PLOTDEFINTÆ20Å+XREL*((LEG┆
0x4e040…4e060            4e 55 4d 42 45 52 2d 31 29 20 4d 4f 44 20 4c 45 47 53 29 3b 0d 0a 59 3a 3d 50 4c 4f 54 44 45 46   ┆NUMBER-1) MOD LEGS);  Y:=PLOTDEF┆
0x4e060…4e080            49 4e 54 5b 32 31 5d 2d 32 35 30 2a 28 28 4c 45 47 4e 55 4d 42 45 52 2d 31 29 20 44 49 56 20 4c   ┆INTÆ21Å-250*((LEGNUMBER-1) DIV L┆
0x4e080…4e0a0            45 47 53 29 3b 0d 0a 4d 41 4b 45 50 41 54 54 45 52 4e 4c 45 47 45 4e 44 28 58 2c 59 2c 50 41 54   ┆EGS);  MAKEPATTERNLEGEND(X,Y,PAT┆
0x4e0a0…4e0c0            54 45 52 4e 2c 54 49 54 4c 45 29 3b 0d 0a 49 46 20 4c 45 47 4e 55 4d 42 45 52 3e 50 4c 4f 54 44   ┆TERN,TITLE);  IF LEGNUMBER>PLOTD┆
0x4e0c0…4e0e0            45 46 49 4e 54 5b 32 34 5d 20 54 48 45 4e 20 50 4c 4f 54 44 45 46 49 4e 54 5b 32 34 5d 3a 3d 4c   ┆EFINTÆ24Å THEN PLOTDEFINTÆ24Å:=L┆
0x4e0e0…4e100            45 47 4e 55 4d 42 45 52 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4c 45 47   ┆EGNUMBER;  END;    PROCEDURE LEG┆
0x4e100…4e120            45 4e 44 46 52 41 4d 45 3b 0d 0a 56 41 52 20 50 4f 53 41 52 3a 20 41 52 52 41 59 20 5b 31 2e 2e   ┆ENDFRAME;  VAR POSAR: ARRAY Æ1..┆
0x4e120…4e140            34 5d 20 4f 46 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 4c 45 47 53 3a 20 49 4e 54 45 47 45   ┆4Å OF INTEGER;      LEGS: INTEGE┆
0x4e140…4e160            52 3b 0d 0a 20 20 20 20 58 52 45 4c 2c 59 52 45 4c 3a 20 52 45 41 4c 3b 0d 0a 42 45 47 49 4e 0d   ┆R;      XREL,YREL: REAL;  BEGIN ┆
0x4e160…4e180            0a 49 46 20 50 4c 4f 54 44 45 46 49 4e 54 5b 33 32 5d 3d 30 20 54 48 45 4e 20 59 52 45 4c 3a 3d   ┆ IF PLOTDEFINTÆ32Å=0 THEN YREL:=┆
0x4e180…4e1a0            50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 0d 0a 45 4c 53 45 20 59 52 45 4c 3a 3d 32 35 30 3b   ┆PlotDefRealÆ21Å  ELSE YREL:=250;┆
0x4e1a0…4e1c0            0d 0a 50 4f 53 41 52 5b 31 5d 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 32 30 5d 2d 52 4f 55 4e 44   ┆  POSARÆ1Å:=PLOTDEFINTÆ20Å-ROUND┆
0x4e1c0…4e1e0            28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 30 5d 29 3b 0d 0a 50 4f 53 41 52 5b 32 5d 3a 3d 50 4c   ┆(PlotDefRealÆ20Å);  POSARÆ2Å:=PL┆
0x4e1e0…4e200            4f 54 44 45 46 49 4e 54 5b 32 31 5d 2b 52 4f 55 4e 44 28 59 52 45 4c 2a 33 2f 34 29 3b 0d 0a 4c   ┆OTDEFINTÆ21Å+ROUND(YREL*3/4);  L┆
0x4e200…4e220            45 47 53 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 32 32 5d 20 4d 4f 44 20 31 30 3b 0d 0a 49 46 20   ┆EGS:=PLOTDEFINTÆ22Å MOD 10;  IF ┆
0x4e220…4e240            28 50 4c 4f 54 44 45 46 49 4e 54 5b 32 32 5d 20 44 49 56 20 31 30 29 3d 30 20 54 48 45 4e 0d 0a   ┆(PLOTDEFINTÆ22Å DIV 10)=0 THEN  ┆
0x4e240…4e260            20 58 52 45 4c 3a 3d 28 50 4c 4f 54 44 45 46 49 4e 54 5b 38 5d 2b 50 4c 4f 54 44 45 46 49 4e 54   ┆ XREL:=(PLOTDEFINTÆ8Å+PLOTDEFINT┆
0x4e260…4e280            5b 31 30 5d 2d 32 2a 50 4c 4f 54 44 45 46 49 4e 54 5b 32 30 5d 29 2f 4c 45 47 53 0d 0a 45 4c 53   ┆Æ10Å-2*PLOTDEFINTÆ20Å)/LEGS  ELS┆
0x4e280…4e2a0            45 20 58 52 45 4c 3a 3d 28 50 4c 4f 54 44 45 46 49 4e 54 5b 31 30 5d 2d 50 4c 4f 54 44 45 46 49   ┆E XREL:=(PLOTDEFINTÆ10Å-PLOTDEFI┆
0x4e2a0…4e2c0            4e 54 5b 32 30 5d 29 2f 4c 45 47 53 3b 0d 0a 50 4f 53 41 52 5b 34 5d 3a 3d 50 4c 4f 54 44 45 46   ┆NTÆ20Å)/LEGS;  POSARÆ4Å:=PLOTDEF┆
0x4e2c0…4e2e0            49 4e 54 5b 32 31 5d 2d 52 4f 55 4e 44 28 59 52 45 4c 2a 28 28 50 4c 4f 54 44 45 46 49 4e 54 5b   ┆INTÆ21Å-ROUND(YREL*((PLOTDEFINTÆ┆
0x4e2e0…4e300            32 34 5d 2d 31 29 20 44 49 56 20 4c 45 47 53 29 2b 59 52 45 4c 2a 33 2f 34 29 3b 0d 0a 49 46 20   ┆24Å-1) DIV LEGS)+YREL*3/4);  IF ┆
0x4e300…4e320            50 4c 4f 54 44 45 46 49 4e 54 5b 32 34 5d 3c 4c 45 47 53 20 54 48 45 4e 20 4c 45 47 53 3a 3d 50   ┆PLOTDEFINTÆ24Å<LEGS THEN LEGS:=P┆
0x4e320…4e340            4c 4f 54 44 45 46 49 4e 54 5b 32 34 5d 3b 0d 0a 50 4f 53 41 52 5b 33 5d 3a 3d 50 4c 4f 54 44 45   ┆LOTDEFINTÆ24Å;  POSARÆ3Å:=PLOTDE┆
0x4e340…4e360            46 49 4e 54 5b 32 30 5d 2b 0d 0a 20 20 20 20 20 20 20 20 20 20 52 4f 55 4e 44 28 58 52 45 4c 2a   ┆FINTÆ20Å+            ROUND(XREL*┆
0x4e360…4e380            28 4c 45 47 53 2d 31 29 2b 34 30 30 2b 28 50 4c 4f 54 44 45 46 49 4e 54 5b 32 33 5d 2b 32 29 2a   ┆(LEGS-1)+400+(PLOTDEFINTÆ23Å+2)*┆
0x4e380…4e3a0            50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 30 5d 29 3b 0d 0a 49 46 20 50 4f 53 41 52 5b 33 5d 3e 50   ┆PlotDefRealÆ20Å);  IF POSARÆ3Å>P┆
0x4e3a0…4e3c0            4c 4f 54 44 45 46 49 4e 54 5b 31 30 5d 20 54 48 45 4e 20 50 4f 53 41 52 5b 33 5d 3a 3d 50 4c 4f   ┆LOTDEFINTÆ10Å THEN POSARÆ3Å:=PLO┆
0x4e3c0…4e3e0            54 44 45 46 49 4e 54 5b 31 30 5d 3b 0d 0a 49 46 20 50 4f 53 41 52 5b 34 5d 3e 50 4c 4f 54 44 45   ┆TDEFINTÆ10Å;  IF POSARÆ4Å>PLOTDE┆
0x4e3e0…4e400            46 49 4e 54 5b 31 31 5d 20 54 48 45 4e 20 50 4f 53 41 52 5b 34 5d 3a 3d 50 4c 4f 54 44 45 46 49   ┆FINTÆ11Å THEN POSARÆ4Å:=PLOTDEFI┆
0x4e400…4e420 (31, 0, 4) 4e 54 5b 31 31 5d 3b 0d 0a 4d 61 72 6b 52 65 63 74 61 6e 67 6c 65 28 50 6f 73 41 72 5b 31 5d 2c   ┆NTÆ11Å;  MarkRectangle(PosArÆ1Å,┆
0x4e420…4e440            50 6f 73 41 72 5b 32 5d 2c 50 6f 73 41 72 5b 33 5d 2d 50 6f 73 41 72 5b 31 5d 2c 50 6f 73 41 72   ┆PosArÆ2Å,PosArÆ3Å-PosArÆ1Å,PosAr┆
0x4e440…4e460            5b 34 5d 2d 50 6f 73 41 72 5b 32 5d 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52   ┆Æ4Å-PosArÆ2Å);  END;    PROCEDUR┆
0x4e460…4e480            45 20 50 4c 4f 54 4c 49 4e 45 28 58 43 4d 2c 59 43 4d 3a 20 52 45 41 4c 3b 44 4f 57 4e 3a 20 42   ┆E PLOTLINE(XCM,YCM: REAL;DOWN: B┆
0x4e480…4e4a0            6f 6f 6c 65 61 6e 29 3b 0d 0a 42 45 47 49 4e 0d 0a 49 46 20 44 4f 57 4e 20 54 48 45 4e 20 50 65   ┆oolean);  BEGIN  IF DOWN THEN Pe┆
0x4e4a0…4e4c0            6e 44 6f 77 6e 20 45 4c 53 45 20 50 65 6e 55 70 3b 0d 0a 50 4c 54 4c 49 4e 45 28 50 4c 4f 54 44   ┆nDown ELSE PenUp;  PLTLINE(PLOTD┆
0x4e4c0…4e4e0            45 46 49 4e 54 5b 38 5d 2b 52 4f 55 4e 44 28 58 43 4d 2a 34 30 30 29 2c 50 4c 4f 54 44 45 46 49   ┆EFINTÆ8Å+ROUND(XCM*400),PLOTDEFI┆
0x4e4e0…4e500            4e 54 5b 39 5d 2b 52 4f 55 4e 44 28 59 43 4d 2a 34 30 30 29 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a   ┆NTÆ9Å+ROUND(YCM*400));  END;    ┆
0x4e500…4e520            50 52 4f 43 45 44 55 52 45 20 50 4c 4f 54 4d 41 52 4b 45 52 28 58 43 4d 2c 59 43 4d 3a 20 49 4e   ┆PROCEDURE PLOTMARKER(XCM,YCM: IN┆
0x4e520…4e540            54 45 47 45 52 3b 53 59 4d 42 4f 4c 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a   ┆TEGER;SYMBOL: INTEGER);  BEGIN  ┆
0x4e540…4e560            4d 41 52 4b 45 52 28 58 43 4d 2c 59 43 4d 2c 53 59 4d 42 4f 4c 29 3b 0d 0a 45 4e 44 3b 0d 0a 00   ┆MARKER(XCM,YCM,SYMBOL);  END;   ┆
0x4e560…4e580            00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x4e580…4e5a0            e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
         […0x13…]
0x4e800…4e820 (31, 0, 5) 7b 4a 45 4f 20 38 35 30 37 33 30 20 7d 0d 0a 0d 0a 63 6f 6e 73 74 20 20 48 65 72 63 47 72 61 70   ┆æJEO 850730 å    const  HercGrap┆
0x4e820…4e840            68 54 61 62 6c 65 20 3a 20 61 72 72 61 79 20 5b 31 2e 2e 31 32 5d 20 6f 66 20 62 79 74 65 20 3d   ┆hTable : array Æ1..12Å of byte =┆
0x4e840…4e860            20 28 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 33 35 2c   ┆ (                          $35,┆
0x4e860…4e880            24 32 44 2c 24 32 45 2c 24 30 37 2c 24 35 42 2c 24 30 32 2c 24 35 37 2c 24 35 37 2c 24 30 32 2c   ┆$2D,$2E,$07,$5B,$02,$57,$57,$02,┆
0x4e880…4e8a0            24 30 33 2c 24 30 31 2c 24 30 43 29 3b 0d 0a 63 6f 6e 73 74 20 20 48 65 72 63 54 65 78 74 54 61   ┆$03,$01,$0C);  const  HercTextTa┆
0x4e8a0…4e8c0            62 6c 65 20 20 3a 20 61 72 72 61 79 20 5b 31 2e 2e 31 32 5d 20 6f 66 20 62 79 74 65 20 3d 20 28   ┆ble  : array Æ1..12Å of byte = (┆
0x4e8c0…4e8e0            0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 36 31 2c 24 35   ┆                          $61,$5┆
0x4e8e0…4e900            30 2c 24 35 32 2c 24 30 46 2c 24 31 39 2c 24 30 36 2c 24 31 39 2c 24 31 39 2c 24 30 32 2c 24 30   ┆0,$52,$0F,$19,$06,$19,$19,$02,$0┆
0x4e900…4e920            44 2c 24 30 42 2c 24 30 43 29 3b 0d 0a 0d 0a 74 79 70 65 20 47 72 61 70 68 69 63 46 6f 6e 74 20   ┆D,$0B,$0C);    type GraphicFont ┆
0x4e920…4e940            3d 20 61 72 72 61 79 20 5b 30 2e 2e 33 31 5d 20 6f 66 20 69 6e 74 65 67 65 72 3b 0d 0a 0d 0a 76   ┆= array Æ0..31Å of integer;    v┆
0x4e940…4e960            61 72 20 50 4c 4f 54 43 4f 55 4e 54 2c 50 4c 4f 54 4c 49 4e 45 53 3a 20 49 4e 54 45 47 45 52 3b   ┆ar PLOTCOUNT,PLOTLINES: INTEGER;┆
0x4e960…4e980            0d 0a 20 20 20 20 50 4c 4f 54 44 45 46 49 4e 54 3a 20 41 52 52 41 59 20 5b 31 2e 2e 33 32 5d 20   ┆      PLOTDEFINT: ARRAY Æ1..32Å ┆
0x4e980…4e9a0            4f 46 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 50 4c 4f 54 44 45 46 52 45 41 4c 3a 20 41 52   ┆OF INTEGER;      PLOTDEFREAL: AR┆
0x4e9a0…4e9c0            52 41 59 20 5b 31 2e 2e 32 34 5d 20 4f 46 20 52 45 41 4c 3b 0d 0a 20 20 20 20 50 4c 4f 54 46 49   ┆RAY Æ1..24Å OF REAL;      PLOTFI┆
0x4e9c0…4e9e0            4c 45 3a 20 54 45 58 54 3b 0d 0a 20 20 20 20 48 43 44 65 66 49 6e 74 3a 20 61 72 72 61 79 20 5b   ┆LE: TEXT;      HCDefInt: array Æ┆
0x4e9e0…4ea00            31 2e 2e 31 30 5d 20 6f 66 20 69 6e 74 65 67 65 72 3b 0d 0a 20 20 20 20 48 43 44 65 66 52 65 61   ┆1..10Å of integer;      HCDefRea┆
0x4ea00…4ea20            6c 3a 20 61 72 72 61 79 20 5b 31 2e 2e 31 30 5d 20 6f 66 20 72 65 61 6c 3b 0d 0a 20 20 20 20 48   ┆l: array Æ1..10Å of real;      H┆
0x4ea20…4ea40            43 46 6f 6e 74 3a 20 47 72 61 70 68 69 63 46 6f 6e 74 3b 0d 0a 20 20 20 20 48 43 46 6f 6e 74 46   ┆CFont: GraphicFont;      HCFontF┆
0x4ea40…4ea60            69 6c 65 3a 20 66 69 6c 65 20 6f 66 20 47 72 61 70 68 69 63 46 6f 6e 74 3b 0d 0a 0d 0a 50 52 4f   ┆ile: file of GraphicFont;    PRO┆
0x4ea60…4ea80            43 45 44 55 52 45 20 4d 61 72 6b 52 65 63 74 61 6e 67 6c 65 28 58 6c 6f 77 2c 59 6c 6f 77 2c 58   ┆CEDURE MarkRectangle(Xlow,Ylow,X┆
0x4ea80…4eaa0            73 69 7a 65 2c 59 73 69 7a 65 3a 20 69 6e 74 65 67 65 72 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20   ┆size,Ysize: integer);  BEGIN    ┆
0x4eaa0…4eac0            6d 6f 76 65 74 6f 28 58 6c 6f 77 2c 59 6c 6f 77 29 3b 0d 0a 20 20 64 72 61 77 74 6f 28 58 6c 6f   ┆moveto(Xlow,Ylow);    drawto(Xlo┆
0x4eac0…4eae0            77 2c 59 6c 6f 77 2b 59 73 69 7a 65 29 3b 0d 0a 20 20 64 72 61 77 74 6f 28 58 6c 6f 77 2b 58 73   ┆w,Ylow+Ysize);    drawto(Xlow+Xs┆
0x4eae0…4eb00            69 7a 65 2c 59 6c 6f 77 2b 59 73 69 7a 65 29 3b 0d 0a 20 20 64 72 61 77 74 6f 28 58 6c 6f 77 2b   ┆ize,Ylow+Ysize);    drawto(Xlow+┆
0x4eb00…4eb20            58 73 69 7a 65 2c 59 6c 6f 77 29 3b 0d 0a 20 20 64 72 61 77 74 6f 28 58 6c 6f 77 2c 59 6c 6f 77   ┆Xsize,Ylow);    drawto(Xlow,Ylow┆
0x4eb20…4eb40            29 3b 0d 0a 20 20 50 65 6e 55 70 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20   ┆);    PenUp;  END;    PROCEDURE ┆
0x4eb40…4eb60            6d 61 72 6b 63 69 72 63 6c 65 28 78 2c 79 2c 72 3a 20 52 45 41 4c 29 3b 0d 0a 42 45 47 49 4e 0d   ┆markcircle(x,y,r: REAL);  BEGIN ┆
0x4eb60…4eb80            0a 20 20 63 69 72 63 6c 65 28 78 2c 79 2c 72 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45   ┆   circle(x,y,r);  END;    PROCE┆
0x4eb80…4eba0            44 55 52 45 20 6d 61 72 6b 77 65 67 64 65 0d 0a 28 78 63 65 6e 74 65 72 2c 79 63 65 6e 74 65 72   ┆DURE markwegde  (xcenter,ycenter┆
0x4eba0…4ebc0            2c 72 61 64 69 75 73 2c 73 74 61 72 74 61 6e 67 6c 65 2c 73 77 65 65 70 61 6e 67 6c 65 2c 63 68   ┆,radius,startangle,sweepangle,ch┆
0x4ebc0…4ebe0            6f 72 64 61 6e 67 6c 65 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 43 4f 4e 53 54 20 50 68 69 20 3d   ┆ordangle: INTEGER);  CONST Phi =┆
0x4ebe0…4ec00            20 33 2e 31 34 3b 0d 0a 56 41 52 0d 0a 20 20 4e 75 6d 2c 49 20 3a 20 49 6e 74 65 67 65 72 3b 0d   ┆ 3.14;  VAR    Num,I : Integer; ┆
0x4ec00…4ec20 (31, 1, 1) 0a 20 20 20 20 46 61 63 20 3a 20 52 65 61 6c 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 46 61 63 3a 3d   ┆     Fac : Real;  BEGIN    Fac:=┆
0x4ec20…4ec40            50 68 69 2f 31 38 30 2e 30 3b 0d 0a 20 20 4e 75 6d 3a 3d 53 77 65 65 70 41 6e 67 6c 65 20 64 69   ┆Phi/180.0;    Num:=SweepAngle di┆
0x4ec40…4ec60            76 20 43 68 6f 72 64 41 6e 67 6c 65 3b 0d 0a 20 20 6d 6f 76 65 74 6f 28 58 43 65 6e 74 65 72 2b   ┆v ChordAngle;    moveto(XCenter+┆
0x4ec60…4ec80            72 6f 75 6e 64 28 63 6f 73 28 53 74 61 72 74 41 6e 67 6c 65 2a 46 61 63 29 2a 52 61 64 69 75 73   ┆round(cos(StartAngle*Fac)*Radius┆
0x4ec80…4eca0            29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 59 43 65 6e 74 65 72 2b 72 6f 75 6e 64 28 73 69   ┆),              YCenter+round(si┆
0x4eca0…4ecc0            6e 28 53 74 61 72 74 41 6e 67 6c 65 2a 46 61 63 29 2a 52 61 64 69 75 73 29 29 3b 0d 0a 20 20 46   ┆n(StartAngle*Fac)*Radius));    F┆
0x4ecc0…4ece0            4f 52 20 49 3a 3d 31 20 54 4f 20 4e 75 6d 20 64 6f 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20   ┆OR I:=1 TO Num do    BEGIN      ┆
0x4ece0…4ed00            64 72 61 77 74 6f 28 58 43 65 6e 74 65 72 2b 72 6f 75 6e 64 28 63 6f 73 28 28 53 74 61 72 74 41   ┆drawto(XCenter+round(cos((StartA┆
0x4ed00…4ed20            6e 67 6c 65 2b 69 2a 43 68 6f 72 64 41 6e 67 6c 65 29 2a 46 61 63 29 2a 52 61 64 69 75 73 29 2c   ┆ngle+i*ChordAngle)*Fac)*Radius),┆
0x4ed20…4ed40            0d 0a 20 20 20 20 20 20 20 20 20 20 59 43 65 6e 74 65 72 2b 72 6f 75 6e 64 28 73 69 6e 28 28 53   ┆            YCenter+round(sin((S┆
0x4ed40…4ed60            74 61 72 74 41 6e 67 6c 65 2b 69 2a 43 68 6f 72 64 41 6e 67 6c 65 29 2a 46 61 63 29 2a 52 61 64   ┆tartAngle+i*ChordAngle)*Fac)*Rad┆
0x4ed60…4ed80            69 75 73 29 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 6d 6f 76 65 74 6f 28 58 43 65 6e 74 65 72   ┆ius));    END;    moveto(XCenter┆
0x4ed80…4eda0            2c 59 43 65 6e 74 65 72 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 46 49   ┆,YCenter);  END;    PROCEDURE FI┆
0x4eda0…4edc0            4c 4c 57 45 44 47 45 28 58 43 45 4e 54 45 52 2c 59 43 45 4e 54 45 52 2c 52 41 44 49 55 53 2c 53   ┆LLWEDGE(XCENTER,YCENTER,RADIUS,S┆
0x4edc0…4ede0            54 41 52 54 41 4e 47 4c 45 2c 53 57 45 45 50 41 4e 47 4c 45 2c 43 48 4f 52 44 41 4e 47 4c 45 3a   ┆TARTANGLE,SWEEPANGLE,CHORDANGLE:┆
0x4ede0…4ee00            20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 50 4c 41 43 45 55 50 28 58 43 45 4e 54   ┆ INTEGER);  BEGIN  PLACEUP(XCENT┆
0x4ee00…4ee20            45 52 2c 59 43 45 4e 54 45 52 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20   ┆ER,YCENTER);  END;    PROCEDURE ┆
0x4ee20…4ee40            4d 41 52 4b 53 59 4d 42 4f 4c 4d 4f 44 45 28 58 2c 59 2c 53 59 4d 42 4f 4c 3a 20 49 4e 54 45 47   ┆MARKSYMBOLMODE(X,Y,SYMBOL: INTEG┆
0x4ee40…4ee60            45 52 29 3b 0d 0a 56 41 52 20 4f 4c 44 57 2c 4f 4c 44 48 3a 20 52 45 41 4c 3b 0d 0a 42 45 47 49   ┆ER);  VAR OLDW,OLDH: REAL;  BEGI┆
0x4ee60…4ee80            4e 0d 0a 4f 4c 44 57 3a 3d 50 4c 4f 54 44 45 46 52 45 41 4c 5b 31 5d 3b 0d 0a 4f 4c 44 48 3a 3d   ┆N  OLDW:=PLOTDEFREALÆ1Å;  OLDH:=┆
0x4ee80…4eea0            50 4c 4f 54 44 45 46 52 45 41 4c 5b 32 5d 3b 0d 0a 43 48 41 52 53 49 5a 45 28 50 4c 4f 54 44 45   ┆PLOTDEFREALÆ2Å;  CHARSIZE(PLOTDE┆
0x4eea0…4eec0            46 52 45 41 4c 5b 33 5d 29 3b 0d 0a 45 4e 44 3b 0d 0a 28 2a 20 4a 45 4f 20 38 35 30 37 32 37 20   ┆FREALÆ3Å);  END;  (* JEO 850727 ┆
0x4eec0…4eee0            2a 29 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 43 4f 4e 56 45 52 54 53 43 41 4c 45 28 44 41 54 41   ┆*)    FUNCTION CONVERTSCALE(DATA┆
0x4eee0…4ef00            50 4f 53 3a 20 52 45 41 4c 3b 58 59 3a 20 49 4e 54 45 47 45 52 29 3a 20 49 4e 54 45 47 45 52 3b   ┆POS: REAL;XY: INTEGER): INTEGER;┆
0x4ef00…4ef20            0d 0a 76 61 72 20 4d 69 64 3a 20 52 65 61 6c 3b 0d 0a 42 45 47 49 4e 0d 0a 4d 69 64 3a 3d 50 6c   ┆  var Mid: Real;  BEGIN  Mid:=Pl┆
0x4ef20…4ef40            6f 74 44 65 66 52 65 61 6c 5b 33 2b 34 2a 58 59 5d 2a 28 44 61 74 61 50 6f 73 2d 50 6c 6f 74 44   ┆otDefRealÆ3+4*XYÅ*(DataPos-PlotD┆
0x4ef40…4ef60            65 66 52 65 61 6c 5b 31 33 2b 58 59 5d 29 3b 0d 0a 69 66 20 28 4d 69 64 3e 2d 33 32 37 36 37 29   ┆efRealÆ13+XYÅ);  if (Mid>-32767)┆
0x4ef60…4ef80            20 61 6e 64 20 28 4d 69 64 3c 33 32 37 36 37 29 20 74 68 65 6e 0d 0a 20 43 4f 4e 56 45 52 54 53   ┆ and (Mid<32767) then   CONVERTS┆
0x4ef80…4efa0            43 41 4c 45 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 33 2b 58 59 5d 2b 52 4f 55 4e 44 28 4d 69   ┆CALE:=PLOTDEFINTÆ13+XYÅ+ROUND(Mi┆
0x4efa0…4efc0            64 29 0d 0a 65 6c 73 65 20 43 6f 6e 76 65 72 74 53 63 61 6c 65 3a 3d 4d 69 73 49 6e 74 0d 0a 45   ┆d)  else ConvertScale:=MisInt  E┆
0x4efc0…4efe0            4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 41 58 49 53 54 49 54 4c 45 50 4c 41 43 45 28   ┆ND;    PROCEDURE AXISTITLEPLACE(┆
0x4efe0…4f000            50 4c 41 43 45 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 50 4c 4f 54 44 45 46   ┆PLACE: INTEGER);  BEGIN  PLOTDEF┆
0x4f000…4f020 (31, 1, 2) 49 4e 54 5b 32 39 5d 3a 3d 50 4c 41 43 45 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55   ┆INTÆ29Å:=PLACE;  END;    PROCEDU┆
0x4f020…4f040            52 45 20 4d 41 52 47 49 4e 28 4c 4f 57 2c 48 49 47 48 3a 20 52 45 41 4c 3b 49 41 58 49 53 3a 20   ┆RE MARGIN(LOW,HIGH: REAL;IAXIS: ┆
0x4f040…4f060            49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 50 4c 4f 54 44 45 46 49 4e 54 5b 31 33 2b   ┆INTEGER);  BEGIN  PLOTDEFINTÆ13+┆
0x4f060…4f080            49 41 58 49 53 5d 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 37 2b 49 41 58 49 53 5d 2b 52 4f 55 4e   ┆IAXISÅ:=PLOTDEFINTÆ7+IAXISÅ+ROUN┆
0x4f080…4f0a0            44 28 4c 4f 57 2a 34 30 30 29 3b 0d 0a 50 4c 4f 54 44 45 46 49 4e 54 5b 31 35 2b 49 41 58 49 53   ┆D(LOW*400);  PLOTDEFINTÆ15+IAXIS┆
0x4f0a0…4f0c0            5d 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 39 2b 49 41 58 49 53 5d 2d 52 4f 55 4e 44 28 48 49 47   ┆Å:=PLOTDEFINTÆ9+IAXISÅ-ROUND(HIG┆
0x4f0c0…4f0e0            48 2a 34 30 30 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 41 58 49 53 53   ┆H*400);  END;    PROCEDURE AXISS┆
0x4f0e0…4f100            50 41 43 45 28 4c 4f 57 2c 48 49 47 48 3a 20 52 45 41 4c 3b 49 41 58 49 53 3a 20 49 4e 54 45 47   ┆PACE(LOW,HIGH: REAL;IAXIS: INTEG┆
0x4f100…4f120            45 52 29 3b 0d 0a 76 61 72 20 49 41 78 69 73 32 3a 20 69 6e 74 65 67 65 72 3b 0d 0a 42 45 47 49   ┆ER);  var IAxis2: integer;  BEGI┆
0x4f120…4f140            4e 0d 0a 49 41 78 69 73 32 3a 3d 61 62 73 28 49 41 78 69 73 29 2a 32 3b 0d 0a 50 4c 4f 54 44 45   ┆N  IAxis2:=abs(IAxis)*2;  PLOTDE┆
0x4f140…4f160            46 52 45 41 4c 5b 31 34 2b 49 41 78 69 73 32 5d 3a 3d 4c 4f 57 3b 0d 0a 50 4c 4f 54 44 45 46 52   ┆FREALÆ14+IAxis2Å:=LOW;  PLOTDEFR┆
0x4f160…4f180            45 41 4c 5b 31 35 2b 49 41 78 69 73 32 5d 3a 3d 48 49 47 48 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 70   ┆EALÆ15+IAxis2Å:=HIGH;  END;    p┆
0x4f180…4f1a0            72 6f 63 65 64 75 72 65 20 44 65 66 69 6e 65 46 69 67 75 72 65 28 50 65 6e 2c 50 61 70 65 72 53   ┆rocedure DefineFigure(Pen,PaperS┆
0x4f1a0…4f1c0            69 7a 65 2c 41 78 54 69 74 50 6c 61 63 3a 20 69 6e 74 65 67 65 72 3b 0d 0a 20 20 20 20 20 20 20   ┆ize,AxTitPlac: integer;         ┆
0x4f1c0…4f1e0            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 58 53 69 7a 65 2c 59 53 69 7a 65 2c 4b 61 72 53   ┆                XSize,YSize,KarS┆
0x4f1e0…4f200            69 7a 65 2c 4d 61 72 6b 53 69 7a 65 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ize,MarkSize,                   ┆
0x4f200…4f220            20 20 20 20 20 20 4d 61 72 67 53 69 7a 65 2c 4c 6f 77 53 70 61 63 65 2c 48 69 67 68 53 70 61 63   ┆      MargSize,LowSpace,HighSpac┆
0x4f220…4f240            65 3a 20 72 65 61 6c 29 3b 0d 0a 62 65 67 69 6e 0d 0a 57 69 6e 64 6f 77 28 50 61 70 65 72 53 69   ┆e: real);  begin  Window(PaperSi┆
0x4f240…4f260            7a 65 2c 30 2c 30 2c 58 53 69 7a 65 2c 59 53 69 7a 65 29 3b 0d 0a 43 68 61 72 53 69 7a 65 28 4b   ┆ze,0,0,XSize,YSize);  CharSize(K┆
0x4f260…4f280            61 72 53 69 7a 65 29 3b 0d 0a 4d 61 72 6b 65 72 53 69 7a 65 28 4d 61 72 6b 53 69 7a 65 29 3b 0d   ┆arSize);  MarkerSize(MarkSize); ┆
0x4f280…4f2a0            0a 4d 61 72 67 69 6e 28 4d 61 72 67 53 69 7a 65 2c 4d 61 72 67 53 69 7a 65 2c 31 29 3b 0d 0a 4d   ┆ Margin(MargSize,MargSize,1);  M┆
0x4f2a0…4f2c0            61 72 67 69 6e 28 4d 61 72 67 53 69 7a 65 2c 4d 61 72 67 53 69 7a 65 2c 32 29 3b 0d 0a 41 78 69   ┆argin(MargSize,MargSize,2);  Axi┆
0x4f2c0…4f2e0            73 54 69 74 6c 65 50 6c 61 63 65 28 41 78 54 69 74 50 6c 61 63 29 3b 0d 0a 41 78 69 73 53 70 61   ┆sTitlePlace(AxTitPlac);  AxisSpa┆
0x4f2e0…4f300            63 65 28 4c 6f 77 53 70 61 63 65 2c 48 69 67 68 53 70 61 63 65 2c 31 29 3b 0d 0a 41 78 69 73 53   ┆ce(LowSpace,HighSpace,1);  AxisS┆
0x4f300…4f320            70 61 63 65 28 4c 6f 77 53 70 61 63 65 2c 48 69 67 68 53 70 61 63 65 2c 32 29 3b 0d 0a 47 65 74   ┆pace(LowSpace,HighSpace,2);  Get┆
0x4f320…4f340            50 65 6e 28 50 65 6e 29 3b 0d 0a 65 6e 64 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 54 41   ┆Pen(Pen);  end;    PROCEDURE STA┆
0x4f340…4f360            4e 44 41 52 44 46 49 47 55 52 45 3b 0d 0a 42 45 47 49 4e 0d 0a 44 65 66 69 6e 65 46 69 67 75 72   ┆NDARDFIGURE;  BEGIN  DefineFigur┆
0x4f360…4f380            65 28 31 2c 34 2c 33 2c 31 36 2c 31 32 2c 30 2e 38 35 2c 30 2e 37 2c 32 2c 32 2c 30 29 3b 0d 0a   ┆e(1,4,3,16,12,0.85,0.7,2,2,0);  ┆
0x4f380…4f3a0            45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 44 45 46 49 4e 45 41 58 49 53 28 41 58 4d   ┆END;    PROCEDURE DEFINEAXIS(AXM┆
0x4f3a0…4f3c0            49 4e 2c 41 58 4d 41 58 2c 41 58 53 54 45 50 3a 20 52 45 41 4c 3b 49 41 58 49 53 3a 20 49 4e 54   ┆IN,AXMAX,AXSTEP: REAL;IAXIS: INT┆
0x4f3c0…4f3e0            45 47 45 52 29 3b 0d 0a 56 41 52 20 49 41 78 69 73 31 2c 49 41 78 69 73 32 2c 49 41 78 69 73 34   ┆EGER);  VAR IAxis1,IAxis2,IAxis4┆
0x4f3e0…4f400            3a 20 69 6e 74 65 67 65 72 3b 0d 0a 20 20 20 20 50 43 54 2c 53 54 41 52 54 56 41 4c 2c 53 4c 55   ┆: integer;      PCT,STARTVAL,SLU┆
0x4f400…4f420 (31, 1, 3) 54 56 41 4c 3a 20 52 45 41 4c 3b 0d 0a 42 45 47 49 4e 0d 0a 49 41 78 69 73 31 3a 3d 61 62 73 28   ┆TVAL: REAL;  BEGIN  IAxis1:=abs(┆
0x4f420…4f440            49 41 78 69 73 29 3b 0d 0a 49 41 78 69 73 32 3a 3d 32 2a 49 41 78 69 73 31 3b 0d 0a 49 41 78 69   ┆IAxis);  IAxis2:=2*IAxis1;  IAxi┆
0x4f440…4f460            73 34 3a 3d 32 2a 49 41 78 69 73 32 3b 0d 0a 50 43 54 3a 3d 28 41 58 4d 41 58 2d 41 58 4d 49 4e   ┆s4:=2*IAxis2;  PCT:=(AXMAX-AXMIN┆
0x4f460…4f480            29 2f 31 30 30 2e 30 3b 0d 0a 53 54 41 52 54 56 41 4c 3a 3d 41 58 4d 49 4e 2d 50 43 54 2a 50 4c   ┆)/100.0;  STARTVAL:=AXMIN-PCT*PL┆
0x4f480…4f4a0            4f 54 44 45 46 52 45 41 4c 5b 31 34 2b 49 41 78 69 73 32 5d 3b 0d 0a 53 4c 55 54 56 41 4c 3a 3d   ┆OTDEFREALÆ14+IAxis2Å;  SLUTVAL:=┆
0x4f4a0…4f4c0            41 58 4d 41 58 2b 50 43 54 2a 50 4c 4f 54 44 45 46 52 45 41 4c 5b 31 35 2b 49 41 78 69 73 32 5d   ┆AXMAX+PCT*PLOTDEFREALÆ15+IAxis2Å┆
0x4f4c0…4f4e0            3b 0d 0a 50 4c 4f 54 44 45 46 52 45 41 4c 5b 49 41 78 69 73 34 5d 3a 3d 41 58 4d 49 4e 3b 0d 0a   ┆;  PLOTDEFREALÆIAxis4Å:=AXMIN;  ┆
0x4f4e0…4f500            50 4c 4f 54 44 45 46 52 45 41 4c 5b 31 2b 49 41 78 69 73 34 5d 3a 3d 41 58 4d 41 58 3b 0d 0a 50   ┆PLOTDEFREALÆ1+IAxis4Å:=AXMAX;  P┆
0x4f500…4f520            4c 4f 54 44 45 46 52 45 41 4c 5b 32 2b 49 41 78 69 73 34 5d 3a 3d 41 58 53 54 45 50 3b 0d 0a 50   ┆LOTDEFREALÆ2+IAxis4Å:=AXSTEP;  P┆
0x4f520…4f540            4c 4f 54 44 45 46 52 45 41 4c 5b 33 2b 49 41 78 69 73 34 5d 3a 3d 28 50 4c 4f 54 44 45 46 49 4e   ┆LOTDEFREALÆ3+IAxis4Å:=(PLOTDEFIN┆
0x4f540…4f560            54 5b 31 35 2b 49 41 78 69 73 31 5d 2d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 33 2b 49 41 78 69 73   ┆TÆ15+IAxis1Å-PLOTDEFINTÆ13+IAxis┆
0x4f560…4f580            31 5d 29 2f 28 53 4c 55 54 56 41 4c 2d 53 54 41 52 54 56 41 4c 29 3b 0d 0a 50 4c 4f 54 44 45 46   ┆1Å)/(SLUTVAL-STARTVAL);  PLOTDEF┆
0x4f580…4f5a0            52 45 41 4c 5b 31 33 2b 49 41 78 69 73 31 5d 3a 3d 53 54 41 52 54 56 41 4c 3b 0d 0a 45 4e 44 3b   ┆REALÆ13+IAxis1Å:=STARTVAL;  END;┆
0x4f5a0…4f5c0            0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 41 58 49 53 43 4f 4f 52 44 49 4e 41 54 45 53 28 49 41   ┆    PROCEDURE AXISCOORDINATES(IA┆
0x4f5c0…4f5e0            58 49 53 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆XIS: INTEGER;                   ┆
0x4f5e0…4f600            20 20 20 20 20 20 20 20 20 56 41 52 20 58 53 54 41 52 54 2c 59 53 54 41 52 54 2c 54 49 43 4b 53   ┆         VAR XSTART,YSTART,TICKS┆
0x4f600…4f620            54 41 52 54 2c 53 4c 55 54 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 76 61 72 20 49 41 78 69 73 31   ┆TART,SLUT: INTEGER);  var IAxis1┆
0x4f620…4f640            3a 20 69 6e 74 65 67 65 72 3b 0d 0a 42 45 47 49 4e 0d 0a 49 41 78 69 73 31 3a 3d 61 62 73 28 49   ┆: integer;  BEGIN  IAxis1:=abs(I┆
0x4f640…4f660            41 78 69 73 29 3b 0d 0a 49 46 20 49 41 58 49 53 3d 2d 32 20 54 48 45 4e 20 58 53 54 41 52 54 3a   ┆Axis);  IF IAXIS=-2 THEN XSTART:┆
0x4f660…4f680            3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 36 5d 0d 0a 45 4c 53 45 20 58 53 54 41 52 54 3a 3d 50 4c   ┆=PLOTDEFINTÆ16Å  ELSE XSTART:=PL┆
0x4f680…4f6a0            4f 54 44 45 46 49 4e 54 5b 31 34 5d 3b 0d 0a 49 46 20 49 41 58 49 53 3d 2d 31 20 54 48 45 4e 20   ┆OTDEFINTÆ14Å;  IF IAXIS=-1 THEN ┆
0x4f6a0…4f6c0            59 53 54 41 52 54 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 37 5d 0d 0a 45 4c 53 45 20 59 53 54   ┆YSTART:=PLOTDEFINTÆ17Å  ELSE YST┆
0x4f6c0…4f6e0            41 52 54 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 35 5d 3b 0d 0a 54 49 43 4b 53 54 41 52 54 3a   ┆ART:=PLOTDEFINTÆ15Å;  TICKSTART:┆
0x4f6e0…4f700            3d 43 4f 4e 56 45 52 54 53 43 41 4c 45 28 50 4c 4f 54 44 45 46 52 45 41 4c 5b 34 2a 49 41 78 69   ┆=CONVERTSCALE(PLOTDEFREALÆ4*IAxi┆
0x4f700…4f720            73 31 5d 2c 49 41 78 69 73 31 29 3b 0d 0a 53 4c 55 54 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31   ┆s1Å,IAxis1);  SLUT:=PLOTDEFINTÆ1┆
0x4f720…4f740            35 2b 49 41 78 69 73 31 5d 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4d 41   ┆5+IAxis1Å;  END;    PROCEDURE MA┆
0x4f740…4f760            4b 45 41 58 49 53 28 49 41 58 49 53 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 20 4e 55 4d   ┆KEAXIS(IAXIS: INTEGER);  VAR NUM┆
0x4f760…4f780            2c 50 4f 53 2c 54 49 43 4b 53 54 41 52 54 2c 53 4c 55 54 2c 49 41 78 69 73 31 2c 49 41 78 69 73   ┆,POS,TICKSTART,SLUT,IAxis1,IAxis┆
0x4f780…4f7a0            34 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 53 54 41 52 54 3a 20 41 52 52 41 59 20 5b 31   ┆4: INTEGER;      START: ARRAY Æ1┆
0x4f7a0…4f7c0            2e 2e 32 5d 20 4f 46 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 49 41 78 69 73 31 3a   ┆..2Å OF INTEGER;  BEGIN  IAxis1:┆
0x4f7c0…4f7e0            3d 61 62 73 28 49 41 78 69 73 29 3b 0d 0a 49 41 78 69 73 34 3a 3d 34 2a 49 41 78 69 73 31 3b 0d   ┆=abs(IAxis);  IAxis4:=4*IAxis1; ┆
0x4f7e0…4f800            0a 54 49 43 4b 4c 45 4e 47 54 48 28 30 2e 32 2c 49 41 58 49 53 29 3b 0d 0a 41 58 49 53 43 4f 4f   ┆ TICKLENGTH(0.2,IAXIS);  AXISCOO┆
0x4f800…4f820 (31, 1, 4) 52 44 49 4e 41 54 45 53 28 49 41 58 49 53 2c 53 54 41 52 54 5b 31 5d 2c 53 54 41 52 54 5b 32 5d   ┆RDINATES(IAXIS,STARTÆ1Å,STARTÆ2Å┆
0x4f820…4f840            2c 54 49 43 4b 53 54 41 52 54 2c 53 4c 55 54 29 3b 0d 0a 50 4c 41 43 45 44 4f 57 4e 28 53 54 41   ┆,TICKSTART,SLUT);  PLACEDOWN(STA┆
0x4f840…4f860            52 54 5b 31 5d 2c 53 54 41 52 54 5b 32 5d 29 3b 0d 0a 49 46 20 49 41 78 69 73 31 3d 31 20 54 48   ┆RTÆ1Å,STARTÆ2Å);  IF IAxis1=1 TH┆
0x4f860…4f880            45 4e 20 50 4c 54 4c 49 4e 45 28 53 4c 55 54 2c 53 54 41 52 54 5b 32 5d 29 0d 0a 45 4c 53 45 20   ┆EN PLTLINE(SLUT,STARTÆ2Å)  ELSE ┆
0x4f880…4f8a0            50 4c 54 4c 49 4e 45 28 53 54 41 52 54 5b 31 5d 2c 53 4c 55 54 29 3b 0d 0a 4e 55 4d 3a 3d 30 3b   ┆PLTLINE(STARTÆ1Å,SLUT);  NUM:=0;┆
0x4f8a0…4f8c0            0d 0a 50 4f 53 3a 3d 54 49 43 4b 53 54 41 52 54 3b 0d 0a 57 48 49 4c 45 20 50 4f 53 3c 3d 28 53   ┆  POS:=TICKSTART;  WHILE POS<=(S┆
0x4f8c0…4f8e0            4c 55 54 2b 31 29 20 44 4f 0d 0a 20 42 45 47 49 4e 0d 0a 20 49 46 20 49 41 78 69 73 31 3d 31 20   ┆LUT+1) DO   BEGIN   IF IAxis1=1 ┆
0x4f8e0…4f900            54 48 45 4e 20 50 4c 41 43 45 55 50 28 50 4f 53 2c 53 54 41 52 54 5b 32 5d 29 0d 0a 20 45 4c 53   ┆THEN PLACEUP(POS,STARTÆ2Å)   ELS┆
0x4f900…4f920            45 20 50 4c 41 43 45 55 50 28 53 54 41 52 54 5b 31 5d 2c 50 4f 53 29 3b 0d 0a 20 54 49 43 4b 4d   ┆E PLACEUP(STARTÆ1Å,POS);   TICKM┆
0x4f920…4f940            41 52 4b 28 49 41 58 49 53 29 3b 0d 0a 20 4e 55 4d 3a 3d 4e 55 4d 2b 31 3b 0d 0a 20 50 4f 53 3a   ┆ARK(IAXIS);   NUM:=NUM+1;   POS:┆
0x4f940…4f960            3d 54 49 43 4b 53 54 41 52 54 2b 52 4f 55 4e 44 28 50 4c 4f 54 44 45 46 52 45 41 4c 5b 33 2b 49   ┆=TICKSTART+ROUND(PLOTDEFREALÆ3+I┆
0x4f960…4f980            41 78 69 73 34 5d 2a 4e 55 4d 2a 50 4c 4f 54 44 45 46 52 45 41 4c 5b 32 2b 49 41 78 69 73 34 5d   ┆Axis4Å*NUM*PLOTDEFREALÆ2+IAxis4Å┆
0x4f980…4f9a0            29 3b 0d 0a 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 41 58 49   ┆);   END;  END;    PROCEDURE AXI┆
0x4f9a0…4f9c0            53 54 49 43 4b 28 4e 54 49 43 4b 53 2c 49 41 58 49 53 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56   ┆STICK(NTICKS,IAXIS: INTEGER);  V┆
0x4f9c0…4f9e0            41 52 20 4e 55 4d 2c 50 4f 53 2c 54 49 43 4b 53 54 41 52 54 2c 53 4c 55 54 2c 4e 50 41 52 54 53   ┆AR NUM,POS,TICKSTART,SLUT,NPARTS┆
0x4f9e0…4fa00            2c 49 41 78 69 73 31 2c 49 41 78 69 73 34 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 53 54   ┆,IAxis1,IAxis4: INTEGER;      ST┆
0x4fa00…4fa20            41 52 54 3a 20 41 52 52 41 59 20 5b 31 2e 2e 32 5d 20 4f 46 20 49 4e 54 45 47 45 52 3b 0d 0a 20   ┆ART: ARRAY Æ1..2Å OF INTEGER;   ┆
0x4fa20…4fa40            20 20 20 44 45 4c 54 41 3a 20 52 45 41 4c 3b 0d 0a 42 45 47 49 4e 0d 0a 49 41 78 69 73 31 3a 3d   ┆   DELTA: REAL;  BEGIN  IAxis1:=┆
0x4fa40…4fa60            61 62 73 28 49 41 78 69 73 29 3b 0d 0a 49 41 78 69 73 34 3a 3d 34 2a 49 41 78 69 73 31 3b 0d 0a   ┆abs(IAxis);  IAxis4:=4*IAxis1;  ┆
0x4fa60…4fa80            4e 50 41 52 54 53 3a 3d 4e 54 49 43 4b 53 2b 31 3b 0d 0a 54 49 43 4b 4c 45 4e 47 54 48 28 30 2e   ┆NPARTS:=NTICKS+1;  TICKLENGTH(0.┆
0x4fa80…4faa0            31 2c 49 41 58 49 53 29 3b 0d 0a 41 58 49 53 43 4f 4f 52 44 49 4e 41 54 45 53 28 49 41 58 49 53   ┆1,IAXIS);  AXISCOORDINATES(IAXIS┆
0x4faa0…4fac0            2c 53 54 41 52 54 5b 31 5d 2c 53 54 41 52 54 5b 32 5d 2c 54 49 43 4b 53 54 41 52 54 2c 53 4c 55   ┆,STARTÆ1Å,STARTÆ2Å,TICKSTART,SLU┆
0x4fac0…4fae0            54 29 3b 0d 0a 44 45 4c 54 41 3a 3d 50 4c 4f 54 44 45 46 52 45 41 4c 5b 32 2b 49 41 78 69 73 34   ┆T);  DELTA:=PLOTDEFREALÆ2+IAxis4┆
0x4fae0…4fb00            5d 2f 4e 50 41 52 54 53 3b 0d 0a 4e 55 4d 3a 3d 30 3b 0d 0a 50 4f 53 3a 3d 54 49 43 4b 53 54 41   ┆Å/NPARTS;  NUM:=0;  POS:=TICKSTA┆
0x4fb00…4fb20            52 54 3b 0d 0a 57 48 49 4c 45 20 50 4f 53 3c 3d 28 53 4c 55 54 2b 31 29 20 44 4f 0d 0a 20 42 45   ┆RT;  WHILE POS<=(SLUT+1) DO   BE┆
0x4fb20…4fb40            47 49 4e 0d 0a 20 49 46 20 28 4e 55 4d 20 4d 4f 44 20 4e 50 41 52 54 53 29 3e 30 20 54 48 45 4e   ┆GIN   IF (NUM MOD NPARTS)>0 THEN┆
0x4fb40…4fb60            0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 49 46 20 49 41 78 69 73 31 3d 31 20 54 48 45 4e 20 50 4c   ┆    BEGIN    IF IAxis1=1 THEN PL┆
0x4fb60…4fb80            41 43 45 55 50 28 50 4f 53 2c 53 54 41 52 54 5b 32 5d 29 0d 0a 20 20 45 4c 53 45 20 50 4c 41 43   ┆ACEUP(POS,STARTÆ2Å)    ELSE PLAC┆
0x4fb80…4fba0            45 55 50 28 53 54 41 52 54 5b 31 5d 2c 50 4f 53 29 3b 0d 0a 20 20 54 49 43 4b 4d 41 52 4b 28 49   ┆EUP(STARTÆ1Å,POS);    TICKMARK(I┆
0x4fba0…4fbc0            41 58 49 53 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 4e 55 4d 3a 3d 4e 55 4d 2b 31 3b 0d 0a 20 50   ┆AXIS);    END;   NUM:=NUM+1;   P┆
0x4fbc0…4fbe0            4f 53 3a 3d 54 49 43 4b 53 54 41 52 54 2b 52 4f 55 4e 44 28 50 4c 4f 54 44 45 46 52 45 41 4c 5b   ┆OS:=TICKSTART+ROUND(PLOTDEFREALÆ┆
0x4fbe0…4fc00            33 2b 49 41 78 69 73 34 5d 2a 4e 55 4d 2a 44 45 4c 54 41 29 3b 0d 0a 20 45 4e 44 3b 0d 0a 45 4e   ┆3+IAxis4Å*NUM*DELTA);   END;  EN┆
0x4fc00…4fc20 (31, 1, 5) 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 41 58 49 53 4c 41 42 45 4c 28 46 49 45 4c 44 53   ┆D;    PROCEDURE AXISLABEL(FIELDS┆
0x4fc20…4fc40            49 5a 45 2c 44 45 43 49 4d 41 4c 53 2c 49 41 58 49 53 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56   ┆IZE,DECIMALS,IAXIS: INTEGER);  V┆
0x4fc40…4fc60            41 52 20 53 4c 55 54 2c 58 52 45 4c 2c 59 52 45 4c 2c 4e 55 4d 2c 50 4f 53 2c 54 49 43 4b 53 54   ┆AR SLUT,XREL,YREL,NUM,POS,TICKST┆
0x4fc60…4fc80            41 52 54 2c 49 41 78 69 73 31 2c 49 41 78 69 73 34 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20   ┆ART,IAxis1,IAxis4: INTEGER;     ┆
0x4fc80…4fca0            20 53 54 41 52 54 3a 20 41 52 52 41 59 20 5b 31 2e 2e 32 5d 20 4f 46 20 49 4e 54 45 47 45 52 3b   ┆ START: ARRAY Æ1..2Å OF INTEGER;┆
0x4fca0…4fcc0            0d 0a 20 20 20 20 58 43 53 49 5a 45 2c 59 43 53 49 5a 45 3a 20 52 45 41 4c 3b 0d 0a 42 45 47 49   ┆      XCSIZE,YCSIZE: REAL;  BEGI┆
0x4fcc0…4fce0            4e 0d 0a 49 41 78 69 73 31 3a 3d 61 62 73 28 49 41 78 69 73 29 3b 0d 0a 49 41 78 69 73 34 3a 3d   ┆N  IAxis1:=abs(IAxis);  IAxis4:=┆
0x4fce0…4fd00            34 2a 49 41 78 69 73 31 3b 0d 0a 41 58 49 53 43 4f 4f 52 44 49 4e 41 54 45 53 28 49 41 58 49 53   ┆4*IAxis1;  AXISCOORDINATES(IAXIS┆
0x4fd00…4fd20            2c 53 54 41 52 54 5b 31 5d 2c 53 54 41 52 54 5b 32 5d 2c 54 49 43 4b 53 54 41 52 54 2c 53 4c 55   ┆,STARTÆ1Å,STARTÆ2Å,TICKSTART,SLU┆
0x4fd20…4fd40            54 29 3b 0d 0a 63 61 73 65 20 49 41 78 69 73 20 6f 66 0d 0a 20 2d 32 3a 20 42 45 47 49 4e 0d 0a   ┆T);  case IAxis of   -2: BEGIN  ┆
0x4fd40…4fd60            20 20 20 20 20 58 52 45 4c 3a 3d 52 4f 55 4e 44 28 30 2e 33 33 2a 50 6c 6f 74 44 65 66 52 65 61   ┆     XREL:=ROUND(0.33*PlotDefRea┆
0x4fd60…4fd80            6c 5b 32 30 5d 29 2b 38 30 3b 0d 0a 20 20 20 20 20 59 52 45 4c 3a 3d 2d 52 4f 55 4e 44 28 30 2e   ┆lÆ20Å)+80;       YREL:=-ROUND(0.┆
0x4fd80…4fda0            32 35 2a 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 29 3b 0d 0a 20 20 20 20 20 50 4c 4f 54 44   ┆25*PlotDefRealÆ21Å);       PLOTD┆
0x4fda0…4fdc0            45 46 49 4e 54 5b 31 39 5d 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 36 5d 2b 52 4f 55 4e 44 28   ┆EFINTÆ19Å:=PLOTDEFINTÆ16Å+ROUND(┆
0x4fdc0…4fde0            46 49 45 4c 44 53 49 5a 45 2a 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 30 5d 29 2b 38 30 3b 0d 0a   ┆FIELDSIZE*PlotDefRealÆ20Å)+80;  ┆
0x4fde0…4fe00            20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 32 3a 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 58 52 45 4c   ┆     END;    2: BEGIN       XREL┆
0x4fe00…4fe20            3a 3d 2d 52 4f 55 4e 44 28 46 49 45 4c 44 53 49 5a 45 2a 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32   ┆:=-ROUND(FIELDSIZE*PlotDefRealÆ2┆
0x4fe20…4fe40            30 5d 29 2d 38 30 3b 0d 0a 20 20 20 20 20 59 52 45 4c 3a 3d 2d 52 4f 55 4e 44 28 30 2e 32 35 2a   ┆0Å)-80;       YREL:=-ROUND(0.25*┆
0x4fe40…4fe60            50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 29 3b 0d 0a 20 20 20 20 20 50 4c 4f 54 44 45 46 49   ┆PlotDefRealÆ21Å);       PLOTDEFI┆
0x4fe60…4fe80            4e 54 5b 31 38 5d 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 34 5d 2b 58 52 45 4c 3b 0d 0a 20 20   ┆NTÆ18Å:=PLOTDEFINTÆ14Å+XREL;    ┆
0x4fe80…4fea0            20 20 20 45 4e 44 3b 0d 0a 20 2d 31 3a 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 58 52 45 4c 3a 3d   ┆   END;   -1: BEGIN       XREL:=┆
0x4fea0…4fec0            2d 52 4f 55 4e 44 28 30 2e 35 2a 46 49 45 4c 44 53 49 5a 45 2a 50 6c 6f 74 44 65 66 52 65 61 6c   ┆-ROUND(0.5*FIELDSIZE*PlotDefReal┆
0x4fec0…4fee0            5b 32 30 5d 29 3b 0d 0a 20 20 20 20 20 59 52 45 4c 3a 3d 52 4f 55 4e 44 28 30 2e 32 2a 50 6c 6f   ┆Æ20Å);       YREL:=ROUND(0.2*Plo┆
0x4fee0…4ff00            74 44 65 66 52 65 61 6c 5b 32 31 5d 29 2b 38 30 3b 0d 0a 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20   ┆tDefRealÆ21Å)+80;       END;    ┆
0x4ff00…4ff20            31 3a 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 58 52 45 4c 3a 3d 2d 52 4f 55 4e 44 28 30 2e 35 2a   ┆1: BEGIN       XREL:=-ROUND(0.5*┆
0x4ff20…4ff40            46 49 45 4c 44 53 49 5a 45 2a 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 30 5d 29 3b 0d 0a 20 20 20   ┆FIELDSIZE*PlotDefRealÆ20Å);     ┆
0x4ff40…4ff60            20 20 59 52 45 4c 3a 3d 2d 52 4f 55 4e 44 28 30 2e 37 2a 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32   ┆  YREL:=-ROUND(0.7*PlotDefRealÆ2┆
0x4ff60…4ff80            31 5d 29 2d 38 30 3b 0d 0a 20 20 20 20 20 45 4e 44 3b 0d 0a 20 65 6e 64 3b 0d 0a 4e 55 4d 3a 3d   ┆1Å)-80;       END;   end;  NUM:=┆
0x4ff80…4ffa0            30 3b 0d 0a 50 4f 53 3a 3d 54 49 43 4b 53 54 41 52 54 3b 0d 0a 57 48 49 4c 45 20 50 4f 53 3c 3d   ┆0;  POS:=TICKSTART;  WHILE POS<=┆
0x4ffa0…4ffc0            28 53 4c 55 54 2b 31 29 20 44 4f 0d 0a 20 42 45 47 49 4e 0d 0a 20 49 46 20 49 41 78 69 73 31 3d   ┆(SLUT+1) DO   BEGIN   IF IAxis1=┆
0x4ffc0…4ffe0            31 20 54 48 45 4e 20 50 4c 41 43 45 55 50 28 50 4f 53 2b 58 52 45 4c 2c 53 54 41 52 54 5b 32 5d   ┆1 THEN PLACEUP(POS+XREL,STARTÆ2Å┆
0x4ffe0…50000            2b 59 52 45 4c 29 0d 0a 20 45 4c 53 45 20 50 4c 41 43 45 55 50 28 53 54 41 52 54 5b 31 5d 2b 58   ┆+YREL)   ELSE PLACEUP(STARTÆ1Å+X┆
0x50000…50020 (32, 0, 1) 52 45 4c 2c 50 4f 53 2b 59 52 45 4c 29 3b 0d 0a 20 50 4c 54 4e 55 4d 42 45 52 28 50 4c 4f 54 44   ┆REL,POS+YREL);   PLTNUMBER(PLOTD┆
0x50020…50040            45 46 52 45 41 4c 5b 49 41 78 69 73 34 5d 2b 4e 55 4d 2a 50 4c 4f 54 44 45 46 52 45 41 4c 5b 32   ┆EFREALÆIAxis4Å+NUM*PLOTDEFREALÆ2┆
0x50040…50060            2b 49 41 78 69 73 34 5d 2c 46 49 45 4c 44 53 49 5a 45 2c 44 45 43 49 4d 41 4c 53 29 3b 0d 0a 20   ┆+IAxis4Å,FIELDSIZE,DECIMALS);   ┆
0x50060…50080            4e 55 4d 3a 3d 4e 55 4d 2b 31 3b 0d 0a 20 50 4f 53 3a 3d 54 49 43 4b 53 54 41 52 54 2b 52 4f 55   ┆NUM:=NUM+1;   POS:=TICKSTART+ROU┆
0x50080…500a0            4e 44 28 50 4c 4f 54 44 45 46 52 45 41 4c 5b 33 2b 49 41 78 69 73 34 5d 2a 4e 55 4d 2a 50 4c 4f   ┆ND(PLOTDEFREALÆ3+IAxis4Å*NUM*PLO┆
0x500a0…500c0            54 44 45 46 52 45 41 4c 5b 32 2b 49 41 78 69 73 34 5d 29 3b 0d 0a 20 45 4e 44 3b 0d 0a 45 4e 44   ┆TDEFREALÆ2+IAxis4Å);   END;  END┆
0x500c0…500e0            3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 48 4f 57 41 58 49 53 28 41 58 4d 49 4e 2c 41 58   ┆;    PROCEDURE SHOWAXIS(AXMIN,AX┆
0x500e0…50100            4d 41 58 2c 41 58 53 54 45 50 3a 20 52 45 41 4c 3b 4e 54 49 43 4b 53 2c 44 45 43 49 4d 41 4c 53   ┆MAX,AXSTEP: REAL;NTICKS,DECIMALS┆
0x50100…50120            2c 49 41 58 49 53 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 20 4e 31 2c 4e 32 3a 20 49 4e   ┆,IAXIS: INTEGER);  VAR N1,N2: IN┆
0x50120…50140            54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 4e 31 3a 3d 48 49 47 48 43 49 46 46 45 52 28 41 58   ┆TEGER;  BEGIN  N1:=HIGHCIFFER(AX┆
0x50140…50160            4d 49 4e 29 3b 0d 0a 4e 32 3a 3d 48 49 47 48 43 49 46 46 45 52 28 41 58 4d 41 58 29 3b 0d 0a 49   ┆MIN);  N2:=HIGHCIFFER(AXMAX);  I┆
0x50160…50180            46 20 4e 32 3e 4e 31 20 54 48 45 4e 20 4e 31 3a 3d 4e 32 3b 0d 0a 49 46 20 44 45 43 49 4d 41 4c   ┆F N2>N1 THEN N1:=N2;  IF DECIMAL┆
0x50180…501a0            53 3e 30 20 54 48 45 4e 20 4e 31 3a 3d 4e 31 2b 44 45 43 49 4d 41 4c 53 2b 31 3b 0d 0a 44 45 46   ┆S>0 THEN N1:=N1+DECIMALS+1;  DEF┆
0x501a0…501c0            49 4e 45 41 58 49 53 28 41 58 4d 49 4e 2c 41 58 4d 41 58 2c 41 58 53 54 45 50 2c 49 41 58 49 53   ┆INEAXIS(AXMIN,AXMAX,AXSTEP,IAXIS┆
0x501c0…501e0            29 3b 0d 0a 4d 41 4b 45 41 58 49 53 28 49 41 58 49 53 29 3b 0d 0a 41 58 49 53 54 49 43 4b 28 4e   ┆);  MAKEAXIS(IAXIS);  AXISTICK(N┆
0x501e0…50200            54 49 43 4b 53 2c 49 41 58 49 53 29 3b 0d 0a 41 58 49 53 4c 41 42 45 4c 28 4e 31 2c 44 45 43 49   ┆TICKS,IAXIS);  AXISLABEL(N1,DECI┆
0x50200…50220            4d 41 4c 53 2c 49 41 58 49 53 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20   ┆MALS,IAXIS);  END;    PROCEDURE ┆
0x50220…50240            41 58 49 53 54 49 54 4c 45 28 54 49 54 4c 45 3a 20 53 54 52 38 30 3b 49 41 58 49 53 3a 20 49 4e   ┆AXISTITLE(TITLE: STR80;IAXIS: IN┆
0x50240…50260            54 45 47 45 52 29 3b 0d 0a 56 41 52 20 50 4f 53 2c 49 41 78 69 73 31 3a 20 49 4e 54 45 47 45 52   ┆TEGER);  VAR POS,IAxis1: INTEGER┆
0x50260…50280            3b 0d 0a 20 20 20 20 52 45 4c 3a 20 52 45 41 4c 3b 0d 0a 42 45 47 49 4e 0d 0a 49 41 78 69 73 31   ┆;      REL: REAL;  BEGIN  IAxis1┆
0x50280…502a0            3a 3d 61 62 73 28 49 41 78 69 73 29 3b 0d 0a 63 61 73 65 20 50 6c 6f 74 44 65 66 49 6e 74 5b 32   ┆:=abs(IAxis);  case PlotDefIntÆ2┆
0x502a0…502c0            39 5d 20 6f 66 0d 0a 20 31 3a 20 42 45 47 49 4e 0d 0a 20 20 20 20 50 4f 53 3a 3d 50 4c 4f 54 44   ┆9Å of   1: BEGIN      POS:=PLOTD┆
0x502c0…502e0            45 46 49 4e 54 5b 31 33 2b 49 41 78 69 73 31 5d 3b 0d 0a 20 20 20 20 52 45 4c 3a 3d 30 3b 0d 0a   ┆EFINTÆ13+IAxis1Å;      REL:=0;  ┆
0x502e0…50300            20 20 20 20 45 4e 44 3b 0d 0a 20 32 3a 20 42 45 47 49 4e 0d 0a 20 20 20 20 50 4f 53 3a 3d 28 50   ┆    END;   2: BEGIN      POS:=(P┆
0x50300…50320            4c 4f 54 44 45 46 49 4e 54 5b 31 33 2b 49 41 78 69 73 31 5d 2b 50 4c 4f 54 44 45 46 49 4e 54 5b   ┆LOTDEFINTÆ13+IAxis1Å+PLOTDEFINTÆ┆
0x50320…50340            31 35 2b 49 41 78 69 73 31 5d 29 20 44 49 56 20 32 3b 0d 0a 20 20 20 20 52 45 4c 3a 3d 2d 30 2e   ┆15+IAxis1Å) DIV 2;      REL:=-0.┆
0x50340…50360            35 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 6f 74 68 65 72 77 69 73 65 0d 0a 20 20 20 20 42 45   ┆5;      END;   otherwise      BE┆
0x50360…50380            47 49 4e 0d 0a 20 20 20 20 50 4f 53 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 35 2b 49 41 78 69   ┆GIN      POS:=PLOTDEFINTÆ15+IAxi┆
0x50380…503a0            73 31 5d 3b 0d 0a 20 20 20 20 52 45 4c 3a 3d 2d 31 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 65   ┆s1Å;      REL:=-1;      END;   e┆
0x503a0…503c0            6e 64 3b 0d 0a 63 61 73 65 20 49 41 78 69 73 20 6f 66 0d 0a 20 2d 32 3a 20 42 45 47 49 4e 0d 0a   ┆nd;  case IAxis of   -2: BEGIN  ┆
0x503c0…503e0            20 20 20 20 20 43 48 41 52 52 4f 54 41 54 45 28 39 30 29 3b 0d 0a 20 20 20 20 20 50 4c 41 43 45   ┆     CHARROTATE(90);       PLACE┆
0x503e0…50400            4c 41 42 45 4c 28 50 4c 4f 54 44 45 46 49 4e 54 5b 31 39 5d 2c 50 4f 53 2c 4c 45 4e 28 54 49 54   ┆LABEL(PLOTDEFINTÆ19Å,POS,LEN(TIT┆
0x50400…50420 (32, 0, 2) 4c 45 29 2c 52 45 4c 2c 2d 31 29 3b 0d 0a 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 32 3a 20 42 45   ┆LE),REL,-1);       END;    2: BE┆
0x50420…50440            47 49 4e 0d 0a 20 20 20 20 20 43 48 41 52 52 4f 54 41 54 45 28 39 30 29 3b 0d 0a 20 20 20 20 20   ┆GIN       CHARROTATE(90);       ┆
0x50440…50460            50 4c 41 43 45 4c 41 42 45 4c 28 50 4c 4f 54 44 45 46 49 4e 54 5b 31 38 5d 2c 50 4f 53 2c 4c 45   ┆PLACELABEL(PLOTDEFINTÆ18Å,POS,LE┆
0x50460…50480            4e 28 54 49 54 4c 45 29 2c 52 45 4c 2c 30 2e 35 29 3b 0d 0a 20 20 20 20 20 45 4e 44 3b 0d 0a 20   ┆N(TITLE),REL,0.5);       END;   ┆
0x50480…504a0            2d 31 3a 20 50 4c 41 43 45 4c 41 42 45 4c 28 50 4f 53 2c 50 4c 4f 54 44 45 46 49 4e 54 5b 31 37   ┆-1: PLACELABEL(POS,PLOTDEFINTÆ17┆
0x504a0…504c0            5d 2b 38 30 2c 4c 45 4e 28 54 49 54 4c 45 29 2c 52 45 4c 2c 31 2e 32 29 3b 0d 0a 20 20 31 3a 20   ┆Å+80,LEN(TITLE),REL,1.2);    1: ┆
0x504c0…504e0            50 4c 41 43 45 4c 41 42 45 4c 28 50 4f 53 2c 50 4c 4f 54 44 45 46 49 4e 54 5b 31 35 5d 2d 38 30   ┆PLACELABEL(POS,PLOTDEFINTÆ15Å-80┆
0x504e0…50500            2c 4c 45 4e 28 54 49 54 4c 45 29 2c 52 45 4c 2c 2d 31 2e 37 29 3b 0d 0a 20 20 65 6e 64 3b 0d 0a   ┆,LEN(TITLE),REL,-1.7);    end;  ┆
0x50500…50520            50 4c 54 4c 41 42 45 4c 28 54 49 54 4c 45 29 3b 0d 0a 49 46 20 49 41 78 69 73 31 3d 32 20 54 48   ┆PLTLABEL(TITLE);  IF IAxis1=2 TH┆
0x50520…50540            45 4e 20 43 48 41 52 52 4f 54 41 54 45 28 30 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45   ┆EN CHARROTATE(0);  END;    PROCE┆
0x50540…50560            44 55 52 45 20 4d 41 52 4b 45 52 50 4c 4f 54 28 4f 42 53 50 31 2c 4f 42 53 50 32 2c 56 41 52 50   ┆DURE MARKERPLOT(OBSP1,OBSP2,VARP┆
0x50560…50580            31 2c 56 41 52 50 32 2c 53 59 4d 42 4f 4c 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 20 50   ┆1,VARP2,SYMBOL: INTEGER);  VAR P┆
0x50580…505a0            2c 58 2c 59 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 46 4f 52 20 50 3a 3d 4f 42   ┆,X,Y: INTEGER;  BEGIN  FOR P:=OB┆
0x505a0…505c0            53 50 31 20 54 4f 20 4f 42 53 50 32 20 44 4f 0d 0a 49 46 20 28 44 41 54 41 5b 50 2c 56 41 52 50   ┆SP1 TO OBSP2 DO  IF (DATAÆP,VARP┆
0x505c0…505e0            31 5d 3c 3e 4d 49 53 52 45 41 4c 29 20 41 4e 44 20 28 44 41 54 41 5b 50 2c 56 41 52 50 32 5d 3c   ┆1Å<>MISREAL) AND (DATAÆP,VARP2Å<┆
0x505e0…50600            3e 4d 49 53 52 45 41 4c 29 20 54 48 45 4e 0d 0a 20 42 45 47 49 4e 0d 0a 20 58 3a 3d 43 4f 4e 56   ┆>MISREAL) THEN   BEGIN   X:=CONV┆
0x50600…50620            45 52 54 53 43 41 4c 45 28 44 41 54 41 5b 50 2c 56 41 52 50 31 5d 2c 31 29 3b 0d 0a 20 59 3a 3d   ┆ERTSCALE(DATAÆP,VARP1Å,1);   Y:=┆
0x50620…50640            43 4f 4e 56 45 52 54 53 43 41 4c 45 28 44 41 54 41 5b 50 2c 56 41 52 50 32 5d 2c 32 29 3b 0d 0a   ┆CONVERTSCALE(DATAÆP,VARP2Å,2);  ┆
0x50640…50660            20 4d 41 52 4b 45 52 28 58 2c 59 2c 53 59 4d 42 4f 4c 29 3b 0d 0a 20 45 4e 44 3b 0d 0a 45 4e 44   ┆ MARKER(X,Y,SYMBOL);   END;  END┆
0x50660…50680            3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4c 49 4e 45 50 4c 4f 54 28 4f 42 53 50 31 2c 4f 42   ┆;    PROCEDURE LINEPLOT(OBSP1,OB┆
0x50680…506a0            53 50 32 2c 56 41 52 50 31 2c 56 41 52 50 32 2c 4c 54 59 50 45 3a 20 49 4e 54 45 47 45 52 29 3b   ┆SP2,VARP1,VARP2,LTYPE: INTEGER);┆
0x506a0…506c0            0d 0a 56 41 52 20 58 2c 59 2c 50 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 44 4f 57 4e 3a   ┆  VAR X,Y,P: INTEGER;      DOWN:┆
0x506c0…506e0            20 42 4f 4f 4c 45 41 4e 3b 0d 0a 42 45 47 49 4e 0d 0a 4c 49 4e 45 54 59 50 45 28 4c 54 59 50 45   ┆ BOOLEAN;  BEGIN  LINETYPE(LTYPE┆
0x506e0…50700            29 3b 0d 0a 44 4f 57 4e 3a 3d 46 41 4c 53 45 3b 0d 0a 46 4f 52 20 50 3a 3d 4f 42 53 50 31 20 54   ┆);  DOWN:=FALSE;  FOR P:=OBSP1 T┆
0x50700…50720            4f 20 4f 42 53 50 32 20 44 4f 0d 0a 49 46 20 28 44 41 54 41 5b 50 2c 56 41 52 50 31 5d 3c 3e 4d   ┆O OBSP2 DO  IF (DATAÆP,VARP1Å<>M┆
0x50720…50740            49 53 52 45 41 4c 29 20 41 4e 44 20 28 44 41 54 41 5b 50 2c 56 41 52 50 32 5d 3c 3e 4d 49 53 52   ┆ISREAL) AND (DATAÆP,VARP2Å<>MISR┆
0x50740…50760            45 41 4c 29 20 54 48 45 4e 0d 0a 20 42 45 47 49 4e 0d 0a 20 58 3a 3d 43 4f 4e 56 45 52 54 53 43   ┆EAL) THEN   BEGIN   X:=CONVERTSC┆
0x50760…50780            41 4c 45 28 44 41 54 41 5b 50 2c 56 41 52 50 31 5d 2c 31 29 3b 0d 0a 20 59 3a 3d 43 4f 4e 56 45   ┆ALE(DATAÆP,VARP1Å,1);   Y:=CONVE┆
0x50780…507a0            52 54 53 43 41 4c 45 28 44 41 54 41 5b 50 2c 56 41 52 50 32 5d 2c 32 29 3b 0d 0a 20 49 46 20 44   ┆RTSCALE(DATAÆP,VARP2Å,2);   IF D┆
0x507a0…507c0            4f 57 4e 20 54 48 45 4e 20 50 4c 54 4c 49 4e 45 28 58 2c 59 29 0d 0a 20 45 4c 53 45 20 0d 0a 20   ┆OWN THEN PLTLINE(X,Y)   ELSE    ┆
0x507c0…507e0            20 42 45 47 49 4e 0d 0a 20 20 50 4c 41 43 45 44 4f 57 4e 28 58 2c 59 29 3b 0d 0a 20 20 44 4f 57   ┆ BEGIN    PLACEDOWN(X,Y);    DOW┆
0x507e0…50800            4e 3a 3d 54 52 55 45 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 45 4e 44 3b 0d 0a 50 45 4e 55 50 3b 0d   ┆N:=TRUE;    END;   END;  PENUP; ┆
0x50800…50820 (32, 0, 3) 0a 4c 49 4e 45 54 59 50 45 28 31 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45   ┆ LINETYPE(1);  END;    PROCEDURE┆
0x50820…50840            20 52 45 46 45 52 45 4e 43 45 4c 49 4e 45 28 52 45 46 50 4f 49 4e 54 3a 20 52 45 41 4c 3b 49 41   ┆ REFERENCELINE(REFPOINT: REAL;IA┆
0x50840…50860            58 49 53 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 20 50 4f 53 2c 49 41 78 69 73 31 3a 20   ┆XIS: INTEGER);  VAR POS,IAxis1: ┆
0x50860…50880            49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 49 41 78 69 73 31 3a 3d 61 62 73 28 49 41 78   ┆INTEGER;  BEGIN  IAxis1:=abs(IAx┆
0x50880…508a0            69 73 29 3b 0d 0a 50 4c 4f 54 44 45 46 52 45 41 4c 5b 31 31 2b 49 41 78 69 73 31 5d 3a 3d 52 45   ┆is);  PLOTDEFREALÆ11+IAxis1Å:=RE┆
0x508a0…508c0            46 50 4f 49 4e 54 3b 0d 0a 50 4f 53 3a 3d 43 4f 4e 56 45 52 54 53 43 41 4c 45 28 52 45 46 50 4f   ┆FPOINT;  POS:=CONVERTSCALE(REFPO┆
0x508c0…508e0            49 4e 54 2c 49 41 78 69 73 31 29 3b 0d 0a 49 46 20 49 41 58 49 53 3d 31 20 54 48 45 4e 0d 0a 20   ┆INT,IAxis1);  IF IAXIS=1 THEN   ┆
0x508e0…50900            42 45 47 49 4e 0d 0a 20 50 4c 41 43 45 44 4f 57 4e 28 50 4f 53 2c 50 4c 4f 54 44 45 46 49 4e 54   ┆BEGIN   PLACEDOWN(POS,PLOTDEFINT┆
0x50900…50920            5b 31 35 5d 29 3b 0d 0a 20 50 4c 54 4c 49 4e 45 28 50 4f 53 2c 50 4c 4f 54 44 45 46 49 4e 54 5b   ┆Æ15Å);   PLTLINE(POS,PLOTDEFINTÆ┆
0x50920…50940            31 37 5d 29 3b 0d 0a 20 50 45 4e 55 50 3b 0d 0a 20 45 4e 44 0d 0a 45 4c 53 45 20 49 46 20 49 41   ┆17Å);   PENUP;   END  ELSE IF IA┆
0x50940…50960            58 49 53 3d 32 20 54 48 45 4e 0d 0a 20 42 45 47 49 4e 0d 0a 20 50 4c 41 43 45 44 4f 57 4e 28 50   ┆XIS=2 THEN   BEGIN   PLACEDOWN(P┆
0x50960…50980            4c 4f 54 44 45 46 49 4e 54 5b 31 34 5d 2c 50 4f 53 29 3b 0d 0a 20 50 4c 54 4c 49 4e 45 28 50 4c   ┆LOTDEFINTÆ14Å,POS);   PLTLINE(PL┆
0x50980…509a0            4f 54 44 45 46 49 4e 54 5b 31 36 5d 2c 50 4f 53 29 3b 0d 0a 20 50 45 4e 55 50 3b 0d 0a 20 45 4e   ┆OTDEFINTÆ16Å,POS);   PENUP;   EN┆
0x509a0…509c0            44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4e 45 45 44 4c 45 50 4c 4f 54   ┆D;  END;    PROCEDURE NEEDLEPLOT┆
0x509c0…509e0            28 4f 42 53 50 31 2c 4f 42 53 50 32 2c 56 41 52 50 31 2c 56 41 52 50 32 2c 56 41 52 50 33 2c 49   ┆(OBSP1,OBSP2,VARP1,VARP2,VARP3,I┆
0x509e0…50a00            41 58 49 53 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 20 50 2c 58 2c 59 2c 52 45 46 3a 20   ┆AXIS: INTEGER);  VAR P,X,Y,REF: ┆
0x50a00…50a20            49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 44 41 54 3a 20 52 45 41 4c 3b 0d 0a 42 45 47 49 4e 0d   ┆INTEGER;      DAT: REAL;  BEGIN ┆
0x50a20…50a40            0a 46 4f 52 20 50 3a 3d 4f 42 53 50 31 20 54 4f 20 4f 42 53 50 32 20 44 4f 0d 0a 49 46 20 28 44   ┆ FOR P:=OBSP1 TO OBSP2 DO  IF (D┆
0x50a40…50a60            41 54 41 5b 50 2c 56 41 52 50 31 5d 3c 3e 4d 49 53 52 45 41 4c 29 20 41 4e 44 20 28 44 41 54 41   ┆ATAÆP,VARP1Å<>MISREAL) AND (DATA┆
0x50a60…50a80            5b 50 2c 56 41 52 50 32 5d 3c 3e 4d 49 53 52 45 41 4c 29 20 54 48 45 4e 0d 0a 20 42 45 47 49 4e   ┆ÆP,VARP2Å<>MISREAL) THEN   BEGIN┆
0x50a80…50aa0            0d 0a 20 49 46 20 56 41 52 50 33 3c 3e 4d 49 53 49 4e 54 20 54 48 45 4e 20 44 41 54 3a 3d 44 41   ┆   IF VARP3<>MISINT THEN DAT:=DA┆
0x50aa0…50ac0            54 41 5b 50 2c 56 41 52 50 33 5d 0d 0a 20 45 4c 53 45 20 44 41 54 3a 3d 50 6c 6f 74 44 65 66 52   ┆TAÆP,VARP3Å   ELSE DAT:=PlotDefR┆
0x50ac0…50ae0            65 61 6c 5b 31 34 2d 49 41 58 49 53 5d 3b 0d 0a 20 49 46 20 44 41 54 3c 3e 4d 49 53 52 45 41 4c   ┆ealÆ14-IAXISÅ;   IF DAT<>MISREAL┆
0x50ae0…50b00            20 54 48 45 4e 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 49 46 20 49 41 58 49 53 3d 31 20 54 48 45   ┆ THEN    BEGIN    IF IAXIS=1 THE┆
0x50b00…50b20            4e 0d 0a 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 58 3a 3d 43 4f 4e 56 45 52 54 53 43 41 4c 45 28   ┆N     BEGIN     X:=CONVERTSCALE(┆
0x50b20…50b40            44 41 54 41 5b 50 2c 56 41 52 50 31 5d 2c 31 29 3b 0d 0a 20 20 20 59 3a 3d 43 4f 4e 56 45 52 54   ┆DATAÆP,VARP1Å,1);     Y:=CONVERT┆
0x50b40…50b60            53 43 41 4c 45 28 44 41 54 41 5b 50 2c 56 41 52 50 32 5d 2c 32 29 3b 0d 0a 20 20 20 52 45 46 3a   ┆SCALE(DATAÆP,VARP2Å,2);     REF:┆
0x50b60…50b80            3d 43 4f 4e 56 45 52 54 53 43 41 4c 45 28 44 41 54 2c 32 29 3b 0d 0a 20 20 20 50 4c 41 43 45 44   ┆=CONVERTSCALE(DAT,2);     PLACED┆
0x50b80…50ba0            4f 57 4e 28 58 2c 52 45 46 29 3b 0d 0a 20 20 20 50 4c 54 4c 49 4e 45 28 58 2c 59 29 3b 0d 0a 20   ┆OWN(X,REF);     PLTLINE(X,Y);   ┆
0x50ba0…50bc0            20 20 50 45 4e 55 50 3b 0d 0a 20 20 20 45 4e 44 0d 0a 20 20 45 4c 53 45 0d 0a 20 20 20 42 45 47   ┆  PENUP;     END    ELSE     BEG┆
0x50bc0…50be0            49 4e 0d 0a 20 20 20 59 3a 3d 43 4f 4e 56 45 52 54 53 43 41 4c 45 28 44 41 54 41 5b 50 2c 56 41   ┆IN     Y:=CONVERTSCALE(DATAÆP,VA┆
0x50be0…50c00            52 50 31 5d 2c 32 29 3b 0d 0a 20 20 20 58 3a 3d 43 4f 4e 56 45 52 54 53 43 41 4c 45 28 44 41 54   ┆RP1Å,2);     X:=CONVERTSCALE(DAT┆
0x50c00…50c20 (32, 0, 4) 41 5b 50 2c 56 41 52 50 32 5d 2c 31 29 3b 0d 0a 20 20 20 52 45 46 3a 3d 43 4f 4e 56 45 52 54 53   ┆AÆP,VARP2Å,1);     REF:=CONVERTS┆
0x50c20…50c40            43 41 4c 45 28 44 41 54 2c 31 29 3b 0d 0a 20 20 20 50 4c 41 43 45 44 4f 57 4e 28 52 45 46 2c 59   ┆CALE(DAT,1);     PLACEDOWN(REF,Y┆
0x50c40…50c60            29 3b 0d 0a 20 20 20 50 4c 54 4c 49 4e 45 28 58 2c 59 29 3b 0d 0a 20 20 20 50 45 4e 55 50 3b 0d   ┆);     PLTLINE(X,Y);     PENUP; ┆
0x50c60…50c80            0a 20 20 20 45 4e 44 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d   ┆    END;    END;   END;  END;   ┆
0x50c80…50ca0            0a 50 52 4f 43 45 44 55 52 45 20 42 41 52 53 28 4f 42 53 50 31 2c 4f 42 53 50 32 2c 56 41 52 50   ┆ PROCEDURE BARS(OBSP1,OBSP2,VARP┆
0x50ca0…50cc0            31 2c 56 41 52 50 32 2c 56 41 52 50 33 3a 20 49 4e 54 45 47 45 52 3b 57 49 44 54 48 3a 20 52 45   ┆1,VARP2,VARP3: INTEGER;WIDTH: RE┆
0x50cc0…50ce0            41 4c 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 41 54 54 45 52 4e 31 2c 50 41 54   ┆AL;                 PATTERN1,PAT┆
0x50ce0…50d00            54 45 52 4e 32 2c 49 41 58 49 53 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 20 58 4c 4f 57   ┆TERN2,IAXIS: INTEGER);  VAR XLOW┆
0x50d00…50d20            2c 59 4c 4f 57 2c 58 53 49 5a 45 2c 59 53 49 5a 45 2c 50 2c 4c 41 53 54 50 41 54 54 45 52 4e 3a   ┆,YLOW,XSIZE,YSIZE,P,LASTPATTERN:┆
0x50d20…50d40            20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 44 49 46 2c 52 45 46 3a 20 52 45 41 4c 3b 0d 0a 42   ┆ INTEGER;      DIF,REF: REAL;  B┆
0x50d40…50d60            45 47 49 4e 0d 0a 49 46 20 49 41 58 49 53 3d 31 20 54 48 45 4e 20 58 53 49 5a 45 3a 3d 52 4f 55   ┆EGIN  IF IAXIS=1 THEN XSIZE:=ROU┆
0x50d60…50d80            4e 44 28 50 4c 4f 54 44 45 46 52 45 41 4c 5b 37 5d 2a 57 49 44 54 48 29 0d 0a 45 4c 53 45 20 59   ┆ND(PLOTDEFREALÆ7Å*WIDTH)  ELSE Y┆
0x50d80…50da0            53 49 5a 45 3a 3d 52 4f 55 4e 44 28 50 4c 4f 54 44 45 46 52 45 41 4c 5b 31 31 5d 2a 57 49 44 54   ┆SIZE:=ROUND(PLOTDEFREALÆ11Å*WIDT┆
0x50da0…50dc0            48 29 3b 0d 0a 4c 41 53 54 50 41 54 54 45 52 4e 3a 3d 4d 49 53 49 4e 54 3b 0d 0a 46 4f 52 20 50   ┆H);  LASTPATTERN:=MISINT;  FOR P┆
0x50dc0…50de0            3a 3d 4f 42 53 50 31 20 54 4f 20 4f 42 53 50 32 20 44 4f 0d 0a 49 46 20 28 44 41 54 41 5b 50 2c   ┆:=OBSP1 TO OBSP2 DO  IF (DATAÆP,┆
0x50de0…50e00            56 41 52 50 31 5d 3c 3e 4d 49 53 52 45 41 4c 29 20 41 4e 44 20 28 44 41 54 41 5b 50 2c 56 41 52   ┆VARP1Å<>MISREAL) AND (DATAÆP,VAR┆
0x50e00…50e20            50 32 5d 3c 3e 4d 49 53 52 45 41 4c 29 20 54 48 45 4e 0d 0a 20 42 45 47 49 4e 0d 0a 20 49 46 20   ┆P2Å<>MISREAL) THEN   BEGIN   IF ┆
0x50e20…50e40            56 41 52 50 33 3c 3e 4d 49 53 49 4e 54 20 54 48 45 4e 20 52 45 46 3a 3d 44 41 54 41 5b 50 2c 56   ┆VARP3<>MISINT THEN REF:=DATAÆP,V┆
0x50e40…50e60            41 52 50 33 5d 0d 0a 20 45 4c 53 45 20 52 45 46 3a 3d 50 4c 4f 54 44 45 46 52 45 41 4c 5b 31 34   ┆ARP3Å   ELSE REF:=PLOTDEFREALÆ14┆
0x50e60…50e80            2d 49 41 58 49 53 5d 3b 0d 0a 20 49 46 20 52 45 46 3c 3e 4d 49 53 52 45 41 4c 20 54 48 45 4e 0d   ┆-IAXISÅ;   IF REF<>MISREAL THEN ┆
0x50e80…50ea0            0a 20 20 42 45 47 49 4e 0d 0a 20 20 44 49 46 3a 3d 44 41 54 41 5b 50 2c 56 41 52 50 32 5d 2d 52   ┆   BEGIN    DIF:=DATAÆP,VARP2Å-R┆
0x50ea0…50ec0            45 46 3b 0d 0a 20 20 49 46 20 49 41 58 49 53 3d 31 20 54 48 45 4e 0d 0a 20 20 20 42 45 47 49 4e   ┆EF;    IF IAXIS=1 THEN     BEGIN┆
0x50ec0…50ee0            0d 0a 20 20 20 58 4c 4f 57 3a 3d 43 4f 4e 56 45 52 54 53 43 41 4c 45 28 44 41 54 41 5b 50 2c 56   ┆     XLOW:=CONVERTSCALE(DATAÆP,V┆
0x50ee0…50f00            41 52 50 31 5d 2c 31 29 2d 28 58 53 49 5a 45 20 44 49 56 20 32 29 3b 0d 0a 20 20 20 59 53 49 5a   ┆ARP1Å,1)-(XSIZE DIV 2);     YSIZ┆
0x50f00…50f20            45 3a 3d 52 4f 55 4e 44 28 50 4c 4f 54 44 45 46 52 45 41 4c 5b 31 31 5d 2a 41 42 53 28 44 49 46   ┆E:=ROUND(PLOTDEFREALÆ11Å*ABS(DIF┆
0x50f20…50f40            29 29 3b 0d 0a 20 20 20 49 46 20 44 49 46 3c 30 20 54 48 45 4e 20 59 4c 4f 57 3a 3d 43 4f 4e 56   ┆));     IF DIF<0 THEN YLOW:=CONV┆
0x50f40…50f60            45 52 54 53 43 41 4c 45 28 44 41 54 41 5b 50 2c 56 41 52 50 32 5d 2c 32 29 0d 0a 20 20 20 45 4c   ┆ERTSCALE(DATAÆP,VARP2Å,2)     EL┆
0x50f60…50f80            53 45 20 59 4c 4f 57 3a 3d 43 4f 4e 56 45 52 54 53 43 41 4c 45 28 52 45 46 2c 32 29 3b 0d 0a 20   ┆SE YLOW:=CONVERTSCALE(REF,2);   ┆
0x50f80…50fa0            20 20 45 4e 44 0d 0a 20 20 45 4c 53 45 0d 0a 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 59 4c 4f 57   ┆  END    ELSE     BEGIN     YLOW┆
0x50fa0…50fc0            3a 3d 43 4f 4e 56 45 52 54 53 43 41 4c 45 28 44 41 54 41 5b 50 2c 56 41 52 50 31 5d 2c 32 29 2d   ┆:=CONVERTSCALE(DATAÆP,VARP1Å,2)-┆
0x50fc0…50fe0            28 59 53 49 5a 45 20 44 49 56 20 32 29 3b 0d 0a 20 20 20 58 53 49 5a 45 3a 3d 52 4f 55 4e 44 28   ┆(YSIZE DIV 2);     XSIZE:=ROUND(┆
0x50fe0…51000            50 4c 4f 54 44 45 46 52 45 41 4c 5b 37 5d 2a 41 42 53 28 44 49 46 29 29 3b 0d 0a 20 20 20 49 46   ┆PLOTDEFREALÆ7Å*ABS(DIF));     IF┆
0x51000…51020 (32, 0, 5) 20 44 49 46 3c 30 20 54 48 45 4e 20 58 4c 4f 57 3a 3d 43 4f 4e 56 45 52 54 53 43 41 4c 45 28 44   ┆ DIF<0 THEN XLOW:=CONVERTSCALE(D┆
0x51020…51040            41 54 41 5b 50 2c 56 41 52 50 32 5d 2c 31 29 0d 0a 20 20 20 45 4c 53 45 20 58 4c 4f 57 3a 3d 43   ┆ATAÆP,VARP2Å,1)     ELSE XLOW:=C┆
0x51040…51060            4f 4e 56 45 52 54 53 43 41 4c 45 28 52 45 46 2c 31 29 3b 0d 0a 20 20 20 45 4e 44 3b 0d 0a 20 20   ┆ONVERTSCALE(REF,1);     END;    ┆
0x51060…51080            49 46 20 28 44 49 46 3c 3d 30 29 20 41 4e 44 20 28 50 41 54 54 45 52 4e 31 3c 3e 4c 41 53 54 50   ┆IF (DIF<=0) AND (PATTERN1<>LASTP┆
0x51080…510a0            41 54 54 45 52 4e 29 20 54 48 45 4e 0d 0a 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 46 49 4c 4c 50   ┆ATTERN) THEN     BEGIN     FILLP┆
0x510a0…510c0            41 54 54 45 52 4e 28 50 41 54 54 45 52 4e 31 29 3b 0d 0a 20 20 20 4c 41 53 54 50 41 54 54 45 52   ┆ATTERN(PATTERN1);     LASTPATTER┆
0x510c0…510e0            4e 3a 3d 50 41 54 54 45 52 4e 31 3b 0d 0a 20 20 20 45 4e 44 0d 0a 20 20 45 4c 53 45 20 49 46 20   ┆N:=PATTERN1;     END    ELSE IF ┆
0x510e0…51100            28 44 49 46 3e 30 29 20 41 4e 44 20 28 50 41 54 54 45 52 4e 32 3c 3e 4c 41 53 54 50 41 54 54 45   ┆(DIF>0) AND (PATTERN2<>LASTPATTE┆
0x51100…51120            52 4e 29 20 54 48 45 4e 0d 0a 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 46 49 4c 4c 50 41 54 54 45   ┆RN) THEN     BEGIN     FILLPATTE┆
0x51120…51140            52 4e 28 50 41 54 54 45 52 4e 32 29 3b 0d 0a 20 20 20 4c 41 53 54 50 41 54 54 45 52 4e 3a 3d 50   ┆RN(PATTERN2);     LASTPATTERN:=P┆
0x51140…51160            41 54 54 45 52 4e 32 3b 0d 0a 20 20 20 45 4e 44 3b 0d 0a 20 20 4d 41 52 4b 52 45 43 54 41 4e 47   ┆ATTERN2;     END;    MARKRECTANG┆
0x51160…51180            4c 45 28 58 4c 4f 57 2c 59 4c 4f 57 2c 58 53 49 5a 45 2c 59 53 49 5a 45 29 3b 0d 0a 20 20 49 46   ┆LE(XLOW,YLOW,XSIZE,YSIZE);    IF┆
0x51180…511a0            20 4c 41 53 54 50 41 54 54 45 52 4e 3e 30 20 54 48 45 4e 20 46 49 4c 4c 52 45 43 54 41 4e 47 4c   ┆ LASTPATTERN>0 THEN FILLRECTANGL┆
0x511a0…511c0            45 28 58 4c 4f 57 2c 59 4c 4f 57 2c 58 53 49 5a 45 2c 59 53 49 5a 45 29 3b 0d 0a 20 20 45 4e 44   ┆E(XLOW,YLOW,XSIZE,YSIZE);    END┆
0x511c0…511e0            3b 0d 0a 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 48 49 47 48 43   ┆;   END;  END;    FUNCTION HIGHC┆
0x511e0…51200            49 46 46 45 52 28 56 41 4c 55 45 3a 20 52 45 41 4c 29 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 56 41   ┆IFFER(VALUE: REAL): INTEGER;  VA┆
0x51200…51220            52 20 56 41 4c 53 54 52 49 4e 47 3a 20 53 54 52 32 30 3b 0d 0a 20 20 20 20 49 2c 44 3a 20 42 59   ┆R VALSTRING: STR20;      I,D: BY┆
0x51220…51240            54 45 3b 0d 0a 42 45 47 49 4e 0d 0a 53 54 52 28 56 41 4c 55 45 3a 31 30 3a 30 2c 56 41 4c 53 54   ┆TE;  BEGIN  STR(VALUE:10:0,VALST┆
0x51240…51260            52 49 4e 47 29 3b 0d 0a 46 4f 52 20 49 3a 3d 31 20 54 4f 20 31 30 20 44 4f 20 49 46 20 56 41 4c   ┆RING);  FOR I:=1 TO 10 DO IF VAL┆
0x51260…51280            53 54 52 49 4e 47 5b 49 5d 3d 27 20 27 20 54 48 45 4e 20 44 3a 3d 49 3b 0d 0a 48 49 47 48 43 49   ┆STRINGÆIÅ=' ' THEN D:=I;  HIGHCI┆
0x51280…512a0            46 46 45 52 3a 3d 31 30 2d 44 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4d 41   ┆FFER:=10-D  END;    PROCEDURE MA┆
0x512a0…512c0            52 4b 45 52 53 49 5a 45 28 53 49 5a 45 3a 20 52 45 41 4c 29 3b 0d 0a 42 45 47 49 4e 0d 0a 50 4c   ┆RKERSIZE(SIZE: REAL);  BEGIN  PL┆
0x512c0…512e0            4f 54 44 45 46 52 45 41 4c 5b 33 5d 3a 3d 53 49 5a 45 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f   ┆OTDEFREALÆ3Å:=SIZE;  END;    PRO┆
0x512e0…51300            43 45 44 55 52 45 20 46 4f 4f 54 4e 4f 54 45 50 4c 41 43 45 28 50 4c 41 43 45 3a 20 49 4e 54 45   ┆CEDURE FOOTNOTEPLACE(PLACE: INTE┆
0x51300…51320            47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 50 4c 4f 54 44 45 46 49 4e 54 5b 32 36 5d 3a 3d 50 4c   ┆GER);  BEGIN  PLOTDEFINTÆ26Å:=PL┆
0x51320…51340            41 43 45 3b 0d 0a 50 4c 4f 54 44 45 46 49 4e 54 5b 32 38 5d 3a 3d 30 3b 0d 0a 45 4e 44 3b 0d 0a   ┆ACE;  PLOTDEFINTÆ28Å:=0;  END;  ┆
0x51340…51360            0d 0a 50 52 4f 43 45 44 55 52 45 20 43 4f 4d 4d 45 4e 54 50 4c 41 43 45 28 50 4c 41 43 45 3a 20   ┆  PROCEDURE COMMENTPLACE(PLACE: ┆
0x51360…51380            49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 50 4c 4f 54 44 45 46 49 4e 54 5b 32 37 5d   ┆INTEGER);  BEGIN  PLOTDEFINTÆ27Å┆
0x51380…513a0            3a 3d 50 4c 41 43 45 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 50 4c 41 43   ┆:=PLACE;  END;    PROCEDURE PLAC┆
0x513a0…513c0            45 4c 41 42 45 4c 28 58 2c 59 2c 4c 41 42 45 4c 4c 45 4e 47 54 48 3a 20 49 4e 54 45 47 45 52 3b   ┆ELABEL(X,Y,LABELLENGTH: INTEGER;┆
0x513c0…513e0            58 44 49 52 2c 59 44 49 52 3a 20 52 45 41 4c 29 3b 0d 0a 42 45 47 49 4e 0d 0a 69 66 20 50 6c 6f   ┆XDIR,YDIR: REAL);  BEGIN  if Plo┆
0x513e0…51400            74 44 65 66 49 6e 74 5b 31 33 5d 3d 30 20 74 68 65 6e 0d 0a 20 50 4c 41 43 45 55 50 28 58 2b 72   ┆tDefIntÆ13Å=0 then   PLACEUP(X+r┆
0x51400…51420 (32, 1, 1) 6f 75 6e 64 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 30 5d 2a 58 44 69 72 2a 4c 61 62 65 6c 4c   ┆ound(PlotDefRealÆ20Å*XDir*LabelL┆
0x51420…51440            65 6e 67 74 68 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 59 2b 72 6f 75 6e 64 28 50 6c 6f 74 44 65   ┆ength),           Y+round(PlotDe┆
0x51440…51460            66 52 65 61 6c 5b 32 31 5d 2a 59 44 69 72 29 29 0d 0a 65 6c 73 65 0d 0a 20 50 6c 61 63 65 55 70   ┆fRealÆ21Å*YDir))  else   PlaceUp┆
0x51460…51480            28 58 2d 72 6f 75 6e 64 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 2a 59 44 69 72 29 2c 0d   ┆(X-round(PlotDefRealÆ21Å*YDir), ┆
0x51480…514a0            0a 20 20 20 20 20 20 20 20 20 59 2b 72 6f 75 6e 64 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 30   ┆          Y+round(PlotDefRealÆ20┆
0x514a0…514c0            5d 2a 58 44 69 72 2a 4c 61 62 65 6c 4c 65 6e 67 74 68 29 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50   ┆Å*XDir*LabelLength));  END;    P┆
0x514c0…514e0            52 4f 43 45 44 55 52 45 20 48 45 41 44 49 4e 47 28 54 49 54 4c 45 3a 20 53 54 52 38 30 29 3b 0d   ┆ROCEDURE HEADING(TITLE: STR80); ┆
0x514e0…51500            0a 76 61 72 20 42 79 74 65 54 69 74 6c 65 3a 20 61 72 72 61 79 20 5b 30 2e 2e 38 30 5d 20 6f 66   ┆ var ByteTitle: array Æ0..80Å of┆
0x51500…51520            20 62 79 74 65 20 61 74 20 54 69 74 6c 65 3b 0d 0a 42 45 47 49 4e 0d 0a 50 4c 41 43 45 4c 41 42   ┆ byte at Title;  BEGIN  PLACELAB┆
0x51520…51540            45 4c 28 28 50 4c 4f 54 44 45 46 49 4e 54 5b 38 5d 2b 50 4c 4f 54 44 45 46 49 4e 54 5b 31 30 5d   ┆EL((PLOTDEFINTÆ8Å+PLOTDEFINTÆ10Å┆
0x51540…51560            29 20 44 49 56 20 32 2c 50 4c 4f 54 44 45 46 49 4e 54 5b 31 32 5d 2c 42 79 74 65 54 69 74 6c 65   ┆) DIV 2,PLOTDEFINTÆ12Å,ByteTitle┆
0x51560…51580            5b 30 5d 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 2d 30 2e 35 2c 2d 31 29 3b 0d 0a 50 4c 54 4c   ┆Æ0Å,             -0.5,-1);  PLTL┆
0x51580…515a0            41 42 45 4c 28 54 49 54 4c 45 29 3b 0d 0a 50 4c 4f 54 44 45 46 49 4e 54 5b 31 32 5d 3a 3d 50 4c   ┆ABEL(TITLE);  PLOTDEFINTÆ12Å:=PL┆
0x515a0…515c0            4f 54 44 45 46 49 4e 54 5b 31 32 5d 2d 52 4f 55 4e 44 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32   ┆OTDEFINTÆ12Å-ROUND(PlotDefRealÆ2┆
0x515c0…515e0            31 5d 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 46 4f 4f 54 4e 4f 54 45   ┆1Å);  END;    PROCEDURE FOOTNOTE┆
0x515e0…51600            28 54 49 54 4c 45 3a 20 53 54 52 38 30 29 3b 0d 0a 56 41 52 20 58 2c 59 3a 20 49 4e 54 45 47 45   ┆(TITLE: STR80);  VAR X,Y: INTEGE┆
0x51600…51620            52 3b 0d 0a 20 20 20 20 42 79 74 65 54 69 74 6c 65 3a 20 61 72 72 61 79 20 5b 30 2e 2e 38 30 5d   ┆R;      ByteTitle: array Æ0..80Å┆
0x51620…51640            20 6f 66 20 62 79 74 65 20 61 74 20 54 69 74 6c 65 3b 0d 0a 42 45 47 49 4e 0d 0a 63 61 73 65 20   ┆ of byte at Title;  BEGIN  case ┆
0x51640…51660            50 6c 6f 74 44 65 66 49 6e 74 5b 32 36 5d 20 6f 66 0d 0a 20 31 3a 20 42 45 47 49 4e 0d 0a 20 20   ┆PlotDefIntÆ26Å of   1: BEGIN    ┆
0x51660…51680            20 20 58 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 38 5d 2b 52 4f 55 4e 44 28 50 6c 6f 74 44 65 66   ┆  X:=PLOTDEFINTÆ8Å+ROUND(PlotDef┆
0x51680…516a0            52 65 61 6c 5b 32 30 5d 2f 32 29 3b 0d 0a 20 20 20 20 59 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b   ┆RealÆ20Å/2);      Y:=PLOTDEFINTÆ┆
0x516a0…516c0            31 31 5d 2d 52 4f 55 4e 44 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 2a 28 30 2e 37 35 2b   ┆11Å-ROUND(PlotDefRealÆ21Å*(0.75+┆
0x516c0…516e0            50 4c 4f 54 44 45 46 49 4e 54 5b 32 38 5d 29 29 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 32 3a   ┆PLOTDEFINTÆ28Å));      END;   2:┆
0x516e0…51700            20 42 45 47 49 4e 0d 0a 20 20 20 20 58 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 30 5d 2d 52 4f   ┆ BEGIN      X:=PLOTDEFINTÆ10Å-RO┆
0x51700…51720            55 4e 44 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 30 5d 2a 28 30 2e 32 2b 42 79 74 65 54 69 74   ┆UND(PlotDefRealÆ20Å*(0.2+ByteTit┆
0x51720…51740            6c 65 5b 30 5d 29 29 3b 0d 0a 20 20 20 20 59 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 31 5d 2d   ┆leÆ0Å));      Y:=PLOTDEFINTÆ11Å-┆
0x51740…51760            52 4f 55 4e 44 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 2a 28 30 2e 37 35 2b 50 4c 4f 54   ┆ROUND(PlotDefRealÆ21Å*(0.75+PLOT┆
0x51760…51780            44 45 46 49 4e 54 5b 32 38 5d 29 29 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 33 3a 20 42 45 47   ┆DEFINTÆ28Å));      END;   3: BEG┆
0x51780…517a0            49 4e 0d 0a 20 20 20 20 58 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 38 5d 2b 52 4f 55 4e 44 28 50   ┆IN      X:=PLOTDEFINTÆ8Å+ROUND(P┆
0x517a0…517c0            6c 6f 74 44 65 66 52 65 61 6c 5b 32 30 5d 2f 32 29 3b 0d 0a 20 20 20 20 59 3a 3d 50 4c 4f 54 44   ┆lotDefRealÆ20Å/2);      Y:=PLOTD┆
0x517c0…517e0            45 46 49 4e 54 5b 39 5d 2b 52 4f 55 4e 44 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 2a 28   ┆EFINTÆ9Å+ROUND(PlotDefRealÆ21Å*(┆
0x517e0…51800            30 2e 32 35 2b 50 4c 4f 54 44 45 46 49 4e 54 5b 32 38 5d 29 29 3b 0d 0a 20 20 20 20 45 4e 44 3b   ┆0.25+PLOTDEFINTÆ28Å));      END;┆
0x51800…51820 (32, 1, 2) 0d 0a 20 34 3a 20 42 45 47 49 4e 0d 0a 20 20 20 20 58 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31   ┆   4: BEGIN      X:=PLOTDEFINTÆ1┆
0x51820…51840            30 5d 2d 52 4f 55 4e 44 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 30 5d 2a 28 30 2e 32 2b 42 79   ┆0Å-ROUND(PlotDefRealÆ20Å*(0.2+By┆
0x51840…51860            74 65 54 69 74 6c 65 5b 30 5d 29 29 3b 0d 0a 20 20 20 20 59 3a 3d 50 4c 4f 54 44 45 46 49 4e 54   ┆teTitleÆ0Å));      Y:=PLOTDEFINT┆
0x51860…51880            5b 39 5d 2b 52 4f 55 4e 44 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 2a 28 30 2e 32 35 2b   ┆Æ9Å+ROUND(PlotDefRealÆ21Å*(0.25+┆
0x51880…518a0            50 4c 4f 54 44 45 46 49 4e 54 5b 32 38 5d 29 29 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 65 6e   ┆PLOTDEFINTÆ28Å));      END;   en┆
0x518a0…518c0            64 3b 0d 0a 50 4c 41 43 45 55 50 28 58 2c 59 29 3b 0d 0a 50 4c 54 4c 41 42 45 4c 28 54 49 54 4c   ┆d;  PLACEUP(X,Y);  PLTLABEL(TITL┆
0x518c0…518e0            45 29 3b 0d 0a 50 4c 4f 54 44 45 46 49 4e 54 5b 32 38 5d 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b   ┆E);  PLOTDEFINTÆ28Å:=PLOTDEFINTÆ┆
0x518e0…51900            32 38 5d 2b 31 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 43 4f 4d 4d 45 4e   ┆28Å+1;  END;    PROCEDURE COMMEN┆
0x51900…51920            54 28 54 49 54 4c 45 3a 20 53 54 52 38 30 3b 43 4f 4d 4d 45 4e 54 4e 55 4d 42 45 52 3a 20 49 4e   ┆T(TITLE: STR80;COMMENTNUMBER: IN┆
0x51920…51940            54 45 47 45 52 29 3b 0d 0a 56 41 52 20 58 2c 59 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20   ┆TEGER);  VAR X,Y: INTEGER;      ┆
0x51940…51960            42 79 74 65 54 69 74 6c 65 3a 20 61 72 72 61 79 20 5b 30 2e 2e 38 30 5d 20 6f 66 20 62 79 74 65   ┆ByteTitle: array Æ0..80Å of byte┆
0x51960…51980            20 61 74 20 54 69 74 6c 65 3b 0d 0a 42 45 47 49 4e 0d 0a 63 61 73 65 20 50 6c 6f 74 44 65 66 49   ┆ at Title;  BEGIN  case PlotDefI┆
0x51980…519a0            6e 74 5b 32 37 5d 20 6f 66 0d 0a 20 31 3a 20 42 45 47 49 4e 0d 0a 20 20 20 20 58 3a 3d 50 4c 4f   ┆ntÆ27Å of   1: BEGIN      X:=PLO┆
0x519a0…519c0            54 44 45 46 49 4e 54 5b 38 5d 2b 52 4f 55 4e 44 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 30 5d   ┆TDEFINTÆ8Å+ROUND(PlotDefRealÆ20Å┆
0x519c0…519e0            2f 32 29 3b 0d 0a 20 20 20 20 59 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 31 5d 2d 52 4f 55 4e   ┆/2);      Y:=PLOTDEFINTÆ11Å-ROUN┆
0x519e0…51a00            44 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 2a 28 30 2e 37 35 2b 43 4f 4d 4d 45 4e 54 4e   ┆D(PlotDefRealÆ21Å*(0.75+COMMENTN┆
0x51a00…51a20            55 4d 42 45 52 29 29 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 32 3a 20 42 45 47 49 4e 0d 0a 20   ┆UMBER));      END;   2: BEGIN   ┆
0x51a20…51a40            20 20 20 58 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 30 5d 2d 52 4f 55 4e 44 28 50 6c 6f 74 44   ┆   X:=PLOTDEFINTÆ10Å-ROUND(PlotD┆
0x51a40…51a60            65 66 52 65 61 6c 5b 32 30 5d 2a 28 30 2e 32 2b 42 79 74 65 54 69 74 6c 65 5b 30 5d 29 29 3b 0d   ┆efRealÆ20Å*(0.2+ByteTitleÆ0Å)); ┆
0x51a60…51a80            0a 20 20 20 20 59 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 31 5d 2d 52 4f 55 4e 44 28 50 6c 6f   ┆     Y:=PLOTDEFINTÆ11Å-ROUND(Plo┆
0x51a80…51aa0            74 44 65 66 52 65 61 6c 5b 32 31 5d 2a 28 30 2e 37 35 2b 43 4f 4d 4d 45 4e 54 4e 55 4d 42 45 52   ┆tDefRealÆ21Å*(0.75+COMMENTNUMBER┆
0x51aa0…51ac0            29 29 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 33 3a 20 42 45 47 49 4e 0d 0a 20 20 20 20 58 3a   ┆));      END;   3: BEGIN      X:┆
0x51ac0…51ae0            3d 50 4c 4f 54 44 45 46 49 4e 54 5b 38 5d 2b 52 4f 55 4e 44 28 50 6c 6f 74 44 65 66 52 65 61 6c   ┆=PLOTDEFINTÆ8Å+ROUND(PlotDefReal┆
0x51ae0…51b00            5b 32 30 5d 2f 32 29 3b 0d 0a 20 20 20 20 59 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 39 5d 2b 52   ┆Æ20Å/2);      Y:=PLOTDEFINTÆ9Å+R┆
0x51b00…51b20            4f 55 4e 44 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 2a 28 30 2e 32 35 2b 43 4f 4d 4d 45   ┆OUND(PlotDefRealÆ21Å*(0.25+COMME┆
0x51b20…51b40            4e 54 4e 55 4d 42 45 52 29 29 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 34 3a 20 42 45 47 49 4e   ┆NTNUMBER));      END;   4: BEGIN┆
0x51b40…51b60            0d 0a 20 20 20 20 58 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 31 30 5d 2d 52 4f 55 4e 44 28 50 6c   ┆      X:=PLOTDEFINTÆ10Å-ROUND(Pl┆
0x51b60…51b80            6f 74 44 65 66 52 65 61 6c 5b 32 30 5d 2a 28 30 2e 32 2b 42 79 74 65 54 69 74 6c 65 5b 30 5d 29   ┆otDefRealÆ20Å*(0.2+ByteTitleÆ0Å)┆
0x51b80…51ba0            29 3b 0d 0a 20 20 20 20 59 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 39 5d 2b 52 4f 55 4e 44 28 50   ┆);      Y:=PLOTDEFINTÆ9Å+ROUND(P┆
0x51ba0…51bc0            6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 2a 28 30 2e 32 35 2b 43 4f 4d 4d 45 4e 54 4e 55 4d 42   ┆lotDefRealÆ21Å*(0.25+COMMENTNUMB┆
0x51bc0…51be0            45 52 29 29 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 65 6e 64 3b 0d 0a 50 4c 41 43 45 55 50 28   ┆ER));      END;   end;  PLACEUP(┆
0x51be0…51c00            58 2c 59 29 3b 0d 0a 50 4c 54 4c 41 42 45 4c 28 54 49 54 4c 45 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d   ┆X,Y);  PLTLABEL(TITLE);  END;   ┆
0x51c00…51c20 (32, 1, 3) 0a 50 52 4f 43 45 44 55 52 45 20 6d 61 72 6b 63 72 6f 73 73 28 58 2c 59 2c 72 61 64 69 75 73 3a   ┆ PROCEDURE markcross(X,Y,radius:┆
0x51c20…51c40            20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 6d 6f 76 65 74 6f 28 58 2c 59 29   ┆ INTEGER);  BEGIN    moveto(X,Y)┆
0x51c40…51c60            3b 20 64 72 61 77 72 65 6c 28 2d 72 61 64 69 75 73 2c 2d 72 61 64 69 75 73 29 3b 20 64 72 61 77   ┆; drawrel(-radius,-radius); draw┆
0x51c60…51c80            72 65 6c 28 32 2a 72 61 64 69 75 73 2c 32 2a 72 61 64 69 75 73 29 3b 0d 0a 20 20 6d 6f 76 65 72   ┆rel(2*radius,2*radius);    mover┆
0x51c80…51ca0            65 6c 28 30 2c 2d 32 2a 72 61 64 69 75 73 29 3b 20 64 72 61 77 72 65 6c 28 2d 32 2a 72 61 64 69   ┆el(0,-2*radius); drawrel(-2*radi┆
0x51ca0…51cc0            75 73 2c 32 2a 72 61 64 69 75 73 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45   ┆us,2*radius);  END;    PROCEDURE┆
0x51cc0…51ce0            20 6d 61 72 6b 70 6c 75 73 28 58 2c 59 2c 72 61 64 69 75 73 3a 20 49 4e 54 45 47 45 52 29 3b 0d   ┆ markplus(X,Y,radius: INTEGER); ┆
0x51ce0…51d00            0a 42 45 47 49 4e 0d 0a 20 20 6d 6f 76 65 74 6f 28 58 2c 59 29 3b 20 64 72 61 77 72 65 6c 28 30   ┆ BEGIN    moveto(X,Y); drawrel(0┆
0x51d00…51d20            2c 72 61 64 69 75 73 29 3b 20 64 72 61 77 72 65 6c 28 30 2c 2d 32 2a 72 61 64 69 75 73 29 3b 0d   ┆,radius); drawrel(0,-2*radius); ┆
0x51d20…51d40            0a 20 20 6d 6f 76 65 72 65 6c 28 2d 72 61 64 69 75 73 2c 72 61 64 69 75 73 29 3b 20 64 72 61 77   ┆   moverel(-radius,radius); draw┆
0x51d40…51d60            72 65 6c 28 32 2a 72 61 64 69 75 73 2c 30 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44   ┆rel(2*radius,0);  END;    PROCED┆
0x51d60…51d80            55 52 45 20 6d 61 72 6b 68 61 73 68 28 58 2c 59 2c 72 61 64 69 75 73 3a 20 49 4e 54 45 47 45 52   ┆URE markhash(X,Y,radius: INTEGER┆
0x51d80…51da0            29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 6d 6f 76 65 72 65 6c 28 2d 72 61 64 69 75 73 2c 28 72 61   ┆);  BEGIN    moverel(-radius,(ra┆
0x51da0…51dc0            64 69 75 73 20 44 49 56 20 32 29 29 3b 20 64 72 61 77 72 65 6c 28 32 2a 72 61 64 69 75 73 2c 30   ┆dius DIV 2)); drawrel(2*radius,0┆
0x51dc0…51de0            29 3b 0d 0a 20 20 6d 6f 76 65 72 65 6c 28 2d 32 2a 72 61 64 69 75 73 2c 2d 32 2a 28 72 61 64 69   ┆);    moverel(-2*radius,-2*(radi┆
0x51de0…51e00            75 73 20 44 49 56 20 32 29 29 3b 20 64 72 61 77 72 65 6c 28 32 2a 72 61 64 69 75 73 2c 30 29 3b   ┆us DIV 2)); drawrel(2*radius,0);┆
0x51e00…51e20            0d 0a 20 20 6d 6f 76 65 72 65 6c 28 2d 72 61 64 69 75 73 2d 28 72 61 64 69 75 73 20 44 49 56 20   ┆    moverel(-radius-(radius DIV ┆
0x51e20…51e40            32 29 2c 2d 28 72 61 64 69 75 73 20 44 49 56 20 32 29 29 3b 20 64 72 61 77 72 65 6c 28 30 2c 32   ┆2),-(radius DIV 2)); drawrel(0,2┆
0x51e40…51e60            2a 72 61 64 69 75 73 29 3b 0d 0a 20 20 6d 6f 76 65 72 65 6c 28 72 61 64 69 75 73 2c 30 29 3b 20   ┆*radius);    moverel(radius,0); ┆
0x51e60…51e80            64 72 61 77 72 65 6c 28 30 2c 2d 32 2a 72 61 64 69 75 73 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50   ┆drawrel(0,-2*radius);  END;    P┆
0x51e80…51ea0            52 4f 43 45 44 55 52 45 20 6d 61 72 6b 79 28 58 2c 59 2c 72 61 64 69 75 73 3a 20 49 4e 54 45 47   ┆ROCEDURE marky(X,Y,radius: INTEG┆
0x51ea0…51ec0            45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 6d 6f 76 65 74 6f 28 58 2c 59 29 3b 0d 0a 20 20 6d   ┆ER);  BEGIN    moveto(X,Y);    m┆
0x51ec0…51ee0            6f 76 65 72 65 6c 28 30 2c 2d 72 61 64 69 75 73 29 3b 0d 0a 20 20 64 72 61 77 72 65 6c 28 30 2c   ┆overel(0,-radius);    drawrel(0,┆
0x51ee0…51f00            72 61 64 69 75 73 29 3b 0d 0a 20 20 64 72 61 77 72 65 6c 28 2d 72 61 64 69 75 73 2c 72 61 64 69   ┆radius);    drawrel(-radius,radi┆
0x51f00…51f20            75 73 29 3b 0d 0a 20 20 6d 6f 76 65 72 65 6c 28 72 61 64 69 75 73 2c 2d 72 61 64 69 75 73 29 3b   ┆us);    moverel(radius,-radius);┆
0x51f20…51f40            0d 0a 20 20 64 72 61 77 72 65 6c 28 72 61 64 69 75 73 2c 72 61 64 69 75 73 29 3b 0d 0a 45 4e 44   ┆    drawrel(radius,radius);  END┆
0x51f40…51f60            3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4d 41 52 4b 45 52 28 58 2c 59 2c 53 59 4d 42 4f 4c   ┆;    PROCEDURE MARKER(X,Y,SYMBOL┆
0x51f60…51f80            3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 20 4d 41 52 4b 45 52 53 49 5a 45 3a 20 49 4e 54   ┆: INTEGER);  VAR MARKERSIZE: INT┆
0x51f80…51fa0            45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 4d 41 52 4b 45 52 53 49 5a 45 3a 3d 31 36 3b 0d 0a 49   ┆EGER;  BEGIN  MARKERSIZE:=16;  I┆
0x51fa0…51fc0            46 20 53 59 4d 42 4f 4c 3d 30 20 54 48 45 4e 0d 0a 20 42 45 47 49 4e 0d 0a 20 50 4c 41 43 45 44   ┆F SYMBOL=0 THEN   BEGIN   PLACED┆
0x51fc0…51fe0            4f 57 4e 28 58 2c 59 29 3b 0d 0a 20 50 45 4e 55 50 3b 0d 0a 20 45 4e 44 3b 0d 0a 49 46 20 53 59   ┆OWN(X,Y);   PENUP;   END;  IF SY┆
0x51fe0…52000            4d 42 4f 4c 3c 31 30 20 54 48 45 4e 0d 0a 20 42 45 47 49 4e 0d 0a 20 41 52 45 41 46 49 4c 4c 54   ┆MBOL<10 THEN   BEGIN   AREAFILLT┆
0x52000…52020 (32, 1, 4) 59 50 45 28 31 2c 30 2c 30 29 3b 0d 0a 20 63 61 73 65 20 53 79 6d 62 6f 6c 20 6f 66 0d 0a 20 20   ┆YPE(1,0,0);   case Symbol of    ┆
0x52020…52040            31 3a 20 46 49 4c 4c 57 45 44 47 45 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 2c 30 2c 33 36   ┆1: FILLWEDGE(X,Y,MARKERSIZE,0,36┆
0x52040…52060            30 2c 35 29 3b 20 20 20 20 20 7b 20 46 69 6c 6c 65 64 20 63 69 72 63 6c 65 20 7d 0d 0a 20 20 32   ┆0,5);     æ Filled circle å    2┆
0x52060…52080            3a 20 46 49 4c 4c 52 45 43 54 41 4e 47 4c 45 28 58 2d 4d 41 52 4b 45 52 53 49 5a 45 2c 59 2d 4d   ┆: FILLRECTANGLE(X-MARKERSIZE,Y-M┆
0x52080…520a0            41 52 4b 45 52 53 49 5a 45 2c 32 2a 4d 41 52 4b 45 52 53 49 5a 45 2c 32 2a 4d 41 52 4b 45 52 53   ┆ARKERSIZE,2*MARKERSIZE,2*MARKERS┆
0x520a0…520c0            49 5a 45 29 3b 20 7b 20 46 69 6c 6c 65 64 20 73 71 75 61 72 65 20 7d 0d 0a 20 20 33 3a 20 46 49   ┆IZE); æ Filled square å    3: FI┆
0x520c0…520e0            4c 4c 57 45 44 47 45 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 2c 30 2c 33 36 30 2c 39 30 29   ┆LLWEDGE(X,Y,MARKERSIZE,0,360,90)┆
0x520e0…52100            3b 20 20 20 20 7b 20 46 69 6c 6c 65 64 20 64 69 61 6d 6f 6e 64 20 7d 0d 0a 20 20 34 3a 20 46 49   ┆;    æ Filled diamond å    4: FI┆
0x52100…52120            4c 4c 57 45 44 47 45 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 2c 2d 33 30 2c 33 36 30 2c 31   ┆LLWEDGE(X,Y,MARKERSIZE,-30,360,1┆
0x52120…52140            32 30 29 3b 20 7b 20 46 69 6c 6c 65 64 20 74 72 69 61 6e 67 6c 65 2c 20 65 64 67 65 20 75 70 20   ┆20); æ Filled triangle, edge up ┆
0x52140…52160            7d 0d 0a 20 20 35 3a 20 46 49 4c 4c 57 45 44 47 45 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45   ┆å    5: FILLWEDGE(X,Y,MARKERSIZE┆
0x52160…52180            2c 33 30 2c 33 36 30 2c 31 32 30 29 3b 20 20 7b 20 46 69 6c 6c 65 64 20 74 72 69 61 6e 67 6c 65   ┆,30,360,120);  æ Filled triangle┆
0x52180…521a0            2c 20 65 64 67 65 20 64 6f 77 6e 20 7d 0d 0a 20 20 36 3a 20 46 49 4c 4c 57 45 44 47 45 28 58 2c   ┆, edge down å    6: FILLWEDGE(X,┆
0x521a0…521c0            59 2c 4d 41 52 4b 45 52 53 49 5a 45 2c 30 2c 33 36 30 2c 37 32 29 3b 20 20 20 20 7b 20 46 69 6c   ┆Y,MARKERSIZE,0,360,72);    æ Fil┆
0x521c0…521e0            6c 65 64 20 50 65 6e 74 61 67 6f 6e 20 7d 0d 0a 20 20 37 3a 20 46 49 4c 4c 57 45 44 47 45 28 58   ┆led Pentagon å    7: FILLWEDGE(X┆
0x521e0…52200            2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 2c 31 38 2c 33 36 30 2c 36 30 29 3b 20 20 20 7b 20 46 69   ┆,Y,MARKERSIZE,18,360,60);   æ Fi┆
0x52200…52220            6c 6c 65 64 20 48 65 78 61 67 6f 6e 20 7d 0d 0a 20 20 38 3a 20 42 45 47 49 4e 20 20 20 20 20 20   ┆lled Hexagon å    8: BEGIN      ┆
0x52220…52240            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 46 69   ┆                            æ Fi┆
0x52240…52260            6c 6c 65 64 20 73 74 61 72 74 20 7d 0d 0a 20 20 20 20 20 46 49 4c 4c 57 45 44 47 45 28 58 2c 59   ┆lled start å       FILLWEDGE(X,Y┆
0x52260…52280            2c 4d 41 52 4b 45 52 53 49 5a 45 2c 2d 33 30 2c 33 36 30 2c 31 32 30 29 3b 0d 0a 20 20 20 20 20   ┆,MARKERSIZE,-30,360,120);       ┆
0x52280…522a0            46 49 4c 4c 57 45 44 47 45 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 2c 33 30 2c 33 36 30 2c   ┆FILLWEDGE(X,Y,MARKERSIZE,30,360,┆
0x522a0…522c0            31 32 30 29 3b 0d 0a 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 65 6e 64 3b 0d 0a 20 53 59 4d 42 4f   ┆120);       END;    end;   SYMBO┆
0x522c0…522e0            4c 3a 3d 53 59 4d 42 4f 4c 2b 31 30 3b 0d 0a 20 45 4e 44 3b 0d 0a 63 61 73 65 20 53 79 6d 62 6f   ┆L:=SYMBOL+10;   END;  case Symbo┆
0x522e0…52300            6c 20 6f 66 0d 0a 20 31 31 3a 20 4d 41 52 4b 43 49 52 43 4c 45 28 58 2c 59 2c 4d 41 52 4b 45 52   ┆l of   11: MARKCIRCLE(X,Y,MARKER┆
0x52300…52320            53 49 5a 45 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 43 69 72 63 6c 65 20 20 20 20 20 7d   ┆SIZE);            æ Circle     å┆
0x52320…52340            0d 0a 20 31 32 3a 20 4d 41 52 4b 52 45 43 54 41 4e 47 4c 45 28 58 2d 4d 41 52 4b 45 52 53 49 5a   ┆   12: MARKRECTANGLE(X-MARKERSIZ┆
0x52340…52360            45 2c 59 2d 4d 41 52 4b 45 52 53 49 5a 45 2c 32 2a 4d 41 52 4b 45 52 53 49 5a 45 2c 32 2a 4d 41   ┆E,Y-MARKERSIZE,2*MARKERSIZE,2*MA┆
0x52360…52380            52 4b 45 52 53 49 5a 45 29 3b 20 7b 20 73 71 75 61 72 65 20 7d 0d 0a 20 31 33 3a 20 4d 41 52 4b   ┆RKERSIZE); æ square å   13: MARK┆
0x52380…523a0            57 45 44 47 45 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 2c 30 2c 33 36 30 2c 39 30 29 3b 20   ┆WEDGE(X,Y,MARKERSIZE,0,360,90); ┆
0x523a0…523c0            20 20 20 7b 20 64 69 61 6d 6f 6e 64 20 20 20 20 7d 0d 0a 20 31 34 3a 20 4d 41 52 4b 57 45 44 47   ┆   æ diamond    å   14: MARKWEDG┆
0x523c0…523e0            45 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 2c 2d 33 30 2c 33 36 30 2c 31 32 30 29 3b 20 7b   ┆E(X,Y,MARKERSIZE,-30,360,120); æ┆
0x523e0…52400            20 74 72 69 61 6e 67 6c 65 2c 20 65 64 67 65 20 75 70 20 7d 0d 0a 20 31 35 3a 20 4d 41 52 4b 57   ┆ triangle, edge up å   15: MARKW┆
0x52400…52420 (32, 1, 5) 45 44 47 45 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 2c 33 30 2c 33 36 30 2c 31 32 30 29 3b   ┆EDGE(X,Y,MARKERSIZE,30,360,120);┆
0x52420…52440            20 20 7b 20 74 72 69 61 6e 67 6c 65 2c 20 65 64 67 65 20 64 6f 77 6e 20 7d 0d 0a 20 31 36 3a 20   ┆  æ triangle, edge down å   16: ┆
0x52440…52460            4d 41 52 4b 57 45 44 47 45 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 2c 31 38 2c 33 36 30 2c   ┆MARKWEDGE(X,Y,MARKERSIZE,18,360,┆
0x52460…52480            37 32 29 3b 20 20 20 7b 20 70 65 6e 74 61 67 6f 6e 20 20 20 7d 0d 0a 20 31 37 3a 20 4d 41 52 4b   ┆72);   æ pentagon   å   17: MARK┆
0x52480…524a0            57 45 44 47 45 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 2c 30 2c 33 36 30 2c 36 30 29 3b 20   ┆WEDGE(X,Y,MARKERSIZE,0,360,60); ┆
0x524a0…524c0            20 20 20 7b 20 68 65 78 61 67 6f 6e 20 20 20 20 7d 0d 0a 20 31 38 3a 20 20 20 20 20 20 20 20 20   ┆   æ hexagon    å   18:         ┆
0x524c0…524e0            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28   ┆                               (┆
0x524e0…52500            2a 20 53 54 41 52 20 2a 29 0d 0a 20 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 4d 41 52 4b   ┆* STAR *)       BEGIN       MARK┆
0x52500…52520            57 45 44 47 45 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 2c 2d 33 30 2c 33 36 30 2c 31 32 30   ┆WEDGE(X,Y,MARKERSIZE,-30,360,120┆
0x52520…52540            29 3b 0d 0a 20 20 20 20 20 4d 41 52 4b 57 45 44 47 45 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a   ┆);       MARKWEDGE(X,Y,MARKERSIZ┆
0x52540…52560            45 2c 33 30 2c 33 36 30 2c 31 32 30 29 3b 0d 0a 20 20 20 20 20 45 4e 44 3b 0d 0a 20 32 31 3a 20   ┆E,30,360,120);       END;   21: ┆
0x52560…52580            4d 41 52 4b 43 52 4f 53 53 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 29 3b 20 20 20 20 20 20   ┆MARKCROSS(X,Y,MARKERSIZE);      ┆
0x52580…525a0            20 20 20 20 20 20 20 7b 20 63 72 6f 73 73 20 20 20 20 20 20 7d 0d 0a 20 32 32 3a 20 4d 41 52 4b   ┆       æ cross      å   22: MARK┆
0x525a0…525c0            50 4c 55 53 28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 29 3b 20 20 20 20 20 20 20 20 20 20 20   ┆PLUS(X,Y,MARKERSIZE);           ┆
0x525c0…525e0            20 20 20 7b 20 70 6c 75 73 20 20 20 20 20 20 20 7d 0d 0a 20 32 33 3a 20 4d 41 52 4b 48 41 53 48   ┆   æ plus       å   23: MARKHASH┆
0x525e0…52600            28 58 2c 59 2c 4d 41 52 4b 45 52 53 49 5a 45 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b   ┆(X,Y,MARKERSIZE);              æ┆
0x52600…52620            20 68 61 73 68 20 20 20 20 20 20 20 7d 0d 0a 20 32 34 3a 20 4d 41 52 4b 59 28 58 2c 59 2c 4d 41   ┆ hash       å   24: MARKY(X,Y,MA┆
0x52620…52640            52 4b 45 52 53 49 5a 45 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 20 20 59   ┆RKERSIZE);                 æ   Y┆
0x52640…52660            20 20 20 20 7d 20 0d 0a 20 33 33 2e 2e 31 32 37 3a 20 4d 41 52 4b 53 59 4d 42 4f 4c 4d 4f 44 45   ┆    å    33..127: MARKSYMBOLMODE┆
0x52660…52680            28 58 2c 59 2c 53 59 4d 42 4f 4c 29 3b 0d 0a 20 65 6e 64 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52   ┆(X,Y,SYMBOL);   end;  END;    PR┆
0x52680…526a0            4f 43 45 44 55 52 45 20 46 52 41 4d 45 3b 0d 0a 42 45 47 49 4e 0d 0a 4d 61 72 6b 52 65 63 74 61   ┆OCEDURE FRAME;  BEGIN  MarkRecta┆
0x526a0…526c0            6e 67 6c 65 28 50 6c 6f 74 44 65 66 49 6e 74 5b 38 5d 2c 50 6c 6f 74 44 65 66 49 6e 74 5b 39 5d   ┆ngle(PlotDefIntÆ8Å,PlotDefIntÆ9Å┆
0x526c0…526e0            2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 6c 6f 74 44 65 66 49 6e 74 5b 31 30 5d 2d   ┆,                PlotDefIntÆ10Å-┆
0x526e0…52700            50 6c 6f 74 44 65 66 49 6e 74 5b 38 5d 2c 50 6c 6f 74 44 65 66 49 6e 74 5b 31 31 5d 2d 50 6c 6f   ┆PlotDefIntÆ8Å,PlotDefIntÆ11Å-Plo┆
0x52700…52720            74 44 65 66 49 6e 74 5b 39 5d 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20   ┆tDefIntÆ9Å);  END;    PROCEDURE ┆
0x52720…52740            4c 45 47 45 4e 44 50 4f 53 49 54 49 4f 4e 28 58 2c 59 3a 20 52 45 41 4c 3b 4c 45 47 50 52 4c 49   ┆LEGENDPOSITION(X,Y: REAL;LEGPRLI┆
0x52740…52760            4e 45 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 50 4c 4f 54 44 45 46 49 4e 54   ┆NE: INTEGER);  BEGIN  PLOTDEFINT┆
0x52760…52780            5b 32 30 5d 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 38 5d 2b 52 4f 55 4e 44 28 58 2a 34 30 30 29   ┆Æ20Å:=PLOTDEFINTÆ8Å+ROUND(X*400)┆
0x52780…527a0            3b 0d 0a 50 4c 4f 54 44 45 46 49 4e 54 5b 32 31 5d 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 39 5d   ┆;  PLOTDEFINTÆ21Å:=PLOTDEFINTÆ9Å┆
0x527a0…527c0            2b 52 4f 55 4e 44 28 59 2a 34 30 30 29 3b 0d 0a 50 4c 4f 54 44 45 46 49 4e 54 5b 32 32 5d 3a 3d   ┆+ROUND(Y*400);  PLOTDEFINTÆ22Å:=┆
0x527c0…527e0            4c 45 47 50 52 4c 49 4e 45 3b 0d 0a 50 4c 4f 54 44 45 46 49 4e 54 5b 32 33 5d 3a 3d 30 3b 0d 0a   ┆LEGPRLINE;  PLOTDEFINTÆ23Å:=0;  ┆
0x527e0…52800            50 4c 4f 54 44 45 46 49 4e 54 5b 32 34 5d 3a 3d 30 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43   ┆PLOTDEFINTÆ24Å:=0;  END;    PROC┆
0x52800…52820 (33, 0, 1) 45 44 55 52 45 20 4d 41 4b 45 4f 52 44 49 4e 41 52 59 4c 45 47 45 4e 44 28 58 2c 59 2c 4c 54 59   ┆EDURE MAKEORDINARYLEGEND(X,Y,LTY┆
0x52820…52840            50 45 2c 53 59 4d 42 4f 4c 3a 20 49 4e 54 45 47 45 52 3b 54 49 54 4c 45 3a 20 53 54 52 38 30 29   ┆PE,SYMBOL: INTEGER;TITLE: STR80)┆
0x52840…52860            3b 0d 0a 56 41 52 20 58 52 65 6c 2c 59 52 45 4c 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20   ┆;  VAR XRel,YREL: INTEGER;      ┆
0x52860…52880            42 79 74 65 54 69 74 6c 65 3a 20 61 72 72 61 79 20 5b 30 2e 2e 38 30 5d 20 6f 66 20 62 79 74 65   ┆ByteTitle: array Æ0..80Å of byte┆
0x52880…528a0            20 61 74 20 54 69 74 6c 65 3b 0d 0a 42 45 47 49 4e 0d 0a 49 46 20 53 59 4d 42 4f 4c 3e 30 20 54   ┆ at Title;  BEGIN  IF SYMBOL>0 T┆
0x528a0…528c0            48 45 4e 0d 0a 20 42 45 47 49 4e 0d 0a 20 4d 41 52 4b 45 52 28 58 2c 59 2c 53 59 4d 42 4f 4c 29   ┆HEN   BEGIN   MARKER(X,Y,SYMBOL)┆
0x528c0…528e0            3b 0d 0a 20 49 46 20 4c 54 59 50 45 3c 3d 30 20 54 48 45 4e 20 4d 41 52 4b 45 52 28 58 2b 32 30   ┆;   IF LTYPE<=0 THEN MARKER(X+20┆
0x528e0…52900            30 2c 59 2c 53 59 4d 42 4f 4c 29 3b 0d 0a 20 4d 41 52 4b 45 52 28 58 2b 34 30 30 2c 59 2c 53 59   ┆0,Y,SYMBOL);   MARKER(X+400,Y,SY┆
0x52900…52920            4d 42 4f 4c 29 3b 0d 0a 20 45 4e 44 3b 0d 0a 49 46 20 4c 54 59 50 45 3e 30 20 54 48 45 4e 0d 0a   ┆MBOL);   END;  IF LTYPE>0 THEN  ┆
0x52920…52940            20 42 45 47 49 4e 0d 0a 20 4c 49 4e 45 54 59 50 45 28 4c 54 59 50 45 29 3b 0d 0a 20 50 4c 41 43   ┆ BEGIN   LINETYPE(LTYPE);   PLAC┆
0x52940…52960            45 44 4f 57 4e 28 58 2c 59 29 3b 0d 0a 20 50 4c 54 52 45 4c 41 54 49 56 45 28 34 30 30 2c 30 29   ┆EDOWN(X,Y);   PLTRELATIVE(400,0)┆
0x52960…52980            3b 0d 0a 20 50 45 4e 55 50 3b 0d 0a 20 4c 49 4e 45 54 59 50 45 28 31 29 3b 0d 0a 20 45 4e 44 3b   ┆;   PENUP;   LINETYPE(1);   END;┆
0x52980…529a0            0d 0a 58 52 65 6c 3a 3d 72 6f 75 6e 64 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 30 5d 29 3b 0d   ┆  XRel:=round(PlotDefRealÆ20Å); ┆
0x529a0…529c0            0a 59 52 45 4c 3a 3d 52 4f 55 4e 44 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 2a 30 2e 32   ┆ YREL:=ROUND(PlotDefRealÆ21Å*0.2┆
0x529c0…529e0            35 29 3b 0d 0a 49 46 20 28 53 59 4d 42 4f 4c 3c 3d 30 29 20 41 4e 44 20 28 4c 54 59 50 45 3c 3d   ┆5);  IF (SYMBOL<=0) AND (LTYPE<=┆
0x529e0…52a00            30 29 20 54 48 45 4e 20 50 4c 41 43 45 55 50 28 58 2c 59 2d 59 52 45 4c 29 0d 0a 45 4c 53 45 20   ┆0) THEN PLACEUP(X,Y-YREL)  ELSE ┆
0x52a00…52a20            49 46 20 53 59 4d 42 4f 4c 3c 3d 30 20 54 48 45 4e 20 50 4c 41 43 45 55 50 28 58 2b 34 30 30 2b   ┆IF SYMBOL<=0 THEN PLACEUP(X+400+┆
0x52a20…52a40            58 52 45 4c 2c 59 2d 59 52 45 4c 29 0d 0a 45 4c 53 45 20 50 4c 41 43 45 55 50 28 58 2b 34 30 30   ┆XREL,Y-YREL)  ELSE PLACEUP(X+400┆
0x52a40…52a60            2b 58 52 45 4c 2b 52 4f 55 4e 44 28 28 50 4c 4f 54 44 45 46 49 4e 54 5b 35 5d 2d 50 4c 4f 54 44   ┆+XREL+ROUND((PLOTDEFINTÆ5Å-PLOTD┆
0x52a60…52a80            45 46 49 4e 54 5b 34 5d 29 2a 50 4c 4f 54 44 45 46 52 45 41 4c 5b 33 5d 2f 32 30 30 29 2c 0d 0a   ┆EFINTÆ4Å)*PLOTDEFREALÆ3Å/200),  ┆
0x52a80…52aa0            20 20 20 20 20 20 20 20 20 20 20 20 20 59 2d 59 52 45 4c 29 3b 0d 0a 50 4c 54 4c 41 42 45 4c 28   ┆             Y-YREL);  PLTLABEL(┆
0x52aa0…52ac0            54 49 54 4c 45 29 3b 0d 0a 49 46 20 42 79 74 65 54 69 74 6c 65 5b 30 5d 3e 50 4c 4f 54 44 45 46   ┆TITLE);  IF ByteTitleÆ0Å>PLOTDEF┆
0x52ac0…52ae0            49 4e 54 5b 32 33 5d 20 54 48 45 4e 20 50 4c 4f 54 44 45 46 49 4e 54 5b 32 33 5d 3a 3d 42 79 74   ┆INTÆ23Å THEN PLOTDEFINTÆ23Å:=Byt┆
0x52ae0…52b00            65 54 69 74 6c 65 5b 30 5d 3b 0d 0a 50 4c 4f 54 44 45 46 49 4e 54 5b 33 32 5d 3a 3d 30 3b 0d 0a   ┆eTitleÆ0Å;  PLOTDEFINTÆ32Å:=0;  ┆
0x52b00…52b20            45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4d 41 4b 45 50 41 54 54 45 52 4e 4c 45 47   ┆END;    PROCEDURE MAKEPATTERNLEG┆
0x52b20…52b40            45 4e 44 28 58 2c 59 2c 50 41 54 54 45 52 4e 3a 20 49 4e 54 45 47 45 52 3b 54 49 54 4c 45 3a 20   ┆END(X,Y,PATTERN: INTEGER;TITLE: ┆
0x52b40…52b60            53 54 52 38 30 29 3b 0d 0a 56 41 52 20 42 79 74 65 54 69 74 6c 65 3a 20 61 72 72 61 79 20 5b 30   ┆STR80);  VAR ByteTitle: array Æ0┆
0x52b60…52b80            2e 2e 38 30 5d 20 6f 66 20 62 79 74 65 20 61 74 20 54 69 74 6c 65 3b 0d 0a 42 45 47 49 4e 0d 0a   ┆..80Å of byte at Title;  BEGIN  ┆
0x52b80…52ba0            4d 41 52 4b 52 45 43 54 41 4e 47 4c 45 28 58 2c 59 2d 31 30 30 2c 34 30 30 2c 32 30 30 29 3b 0d   ┆MARKRECTANGLE(X,Y-100,400,200); ┆
0x52ba0…52bc0            0a 49 46 20 50 41 54 54 45 52 4e 3e 30 20 54 48 45 4e 0d 0a 20 42 45 47 49 4e 0d 0a 20 46 49 4c   ┆ IF PATTERN>0 THEN   BEGIN   FIL┆
0x52bc0…52be0            4c 50 41 54 54 45 52 4e 28 50 41 54 54 45 52 4e 29 3b 0d 0a 20 46 49 4c 4c 52 45 43 54 41 4e 47   ┆LPATTERN(PATTERN);   FILLRECTANG┆
0x52be0…52c00            4c 45 28 58 2c 59 2d 31 30 30 2c 34 30 30 2c 32 30 30 29 3b 0d 0a 20 45 4e 44 3b 0d 0a 50 4c 41   ┆LE(X,Y-100,400,200);   END;  PLA┆
0x52c00…52c20 (33, 0, 2) 43 45 55 50 28 58 2b 34 30 30 2b 52 4f 55 4e 44 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 30 5d   ┆CEUP(X+400+ROUND(PlotDefRealÆ20Å┆
0x52c20…52c40            2b 28 50 4c 4f 54 44 45 46 49 4e 54 5b 35 5d 2d 50 4c 4f 54 44 45 46 49 4e 54 5b 34 5d 29 2a 50   ┆+(PLOTDEFINTÆ5Å-PLOTDEFINTÆ4Å)*P┆
0x52c40…52c60            4c 4f 54 44 45 46 52 45 41 4c 5b 33 5d 2f 32 30 30 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20   ┆LOTDEFREALÆ3Å/200),             ┆
0x52c60…52c80            20 20 59 2d 52 4f 55 4e 44 28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 2a 30 2e 32 35 29 29   ┆  Y-ROUND(PlotDefRealÆ21Å*0.25))┆
0x52c80…52ca0            3b 0d 0a 50 4c 54 4c 41 42 45 4c 28 54 49 54 4c 45 29 3b 0d 0a 49 46 20 42 79 74 65 54 69 74 6c   ┆;  PLTLABEL(TITLE);  IF ByteTitl┆
0x52ca0…52cc0            65 5b 30 5d 3e 50 4c 4f 54 44 45 46 49 4e 54 5b 32 33 5d 20 54 48 45 4e 20 50 4c 4f 54 44 45 46   ┆eÆ0Å>PLOTDEFINTÆ23Å THEN PLOTDEF┆
0x52cc0…52ce0            49 4e 54 5b 32 33 5d 3a 3d 42 79 74 65 54 69 74 6c 65 5b 30 5d 3b 0d 0a 50 4c 4f 54 44 45 46 49   ┆INTÆ23Å:=ByteTitleÆ0Å;  PLOTDEFI┆
0x52ce0…52d00            4e 54 5b 33 32 5d 3a 3d 31 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4c 45   ┆NTÆ32Å:=1;  END;    PROCEDURE LE┆
0x52d00…52d20            47 45 4e 44 28 54 69 74 6c 65 3a 20 53 74 72 38 30 3b 4c 45 47 4e 55 4d 42 45 52 2c 4c 54 59 50   ┆GEND(Title: Str80;LEGNUMBER,LTYP┆
0x52d20…52d40            45 2c 53 59 4d 42 4f 4c 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 20 58 52 45 4c 2c 4c 45   ┆E,SYMBOL: INTEGER);  VAR XREL,LE┆
0x52d40…52d60            47 53 2c 58 2c 59 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 4c 45 47 53 3a 3d 50   ┆GS,X,Y: INTEGER;  BEGIN  LEGS:=P┆
0x52d60…52d80            4c 4f 54 44 45 46 49 4e 54 5b 32 32 5d 20 4d 4f 44 20 31 30 3b 0d 0a 49 46 20 28 50 4c 4f 54 44   ┆LOTDEFINTÆ22Å MOD 10;  IF (PLOTD┆
0x52d80…52da0            45 46 49 4e 54 5b 32 32 5d 20 44 49 56 20 31 30 29 3d 30 20 54 48 45 4e 0d 0a 20 58 52 45 4c 3a   ┆EFINTÆ22Å DIV 10)=0 THEN   XREL:┆
0x52da0…52dc0            3d 52 4f 55 4e 44 28 28 50 4c 4f 54 44 45 46 49 4e 54 5b 38 5d 2b 50 4c 4f 54 44 45 46 49 4e 54   ┆=ROUND((PLOTDEFINTÆ8Å+PLOTDEFINT┆
0x52dc0…52de0            5b 31 30 5d 2d 32 2a 50 4c 4f 54 44 45 46 49 4e 54 5b 32 30 5d 29 2f 4c 45 47 53 29 0d 0a 45 4c   ┆Æ10Å-2*PLOTDEFINTÆ20Å)/LEGS)  EL┆
0x52de0…52e00            53 45 20 58 52 45 4c 3a 3d 52 4f 55 4e 44 28 28 50 4c 4f 54 44 45 46 49 4e 54 5b 31 30 5d 2d 50   ┆SE XREL:=ROUND((PLOTDEFINTÆ10Å-P┆
0x52e00…52e20            4c 4f 54 44 45 46 49 4e 54 5b 32 30 5d 29 2f 4c 45 47 53 29 3b 0d 0a 58 3a 3d 50 4c 4f 54 44 45   ┆LOTDEFINTÆ20Å)/LEGS);  X:=PLOTDE┆
0x52e20…52e40            46 49 4e 54 5b 32 30 5d 2b 58 52 45 4c 2a 28 28 4c 45 47 4e 55 4d 42 45 52 2d 31 29 20 4d 4f 44   ┆FINTÆ20Å+XREL*((LEGNUMBER-1) MOD┆
0x52e40…52e60            20 4c 45 47 53 29 3b 0d 0a 59 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 32 31 5d 2d 72 6f 75 6e 64   ┆ LEGS);  Y:=PLOTDEFINTÆ21Å-round┆
0x52e60…52e80            28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 2a 28 28 4c 45 47 4e 55 4d 42 45 52 2d 31 29 20   ┆(PlotDefRealÆ21Å*((LEGNUMBER-1) ┆
0x52e80…52ea0            44 49 56 20 4c 45 47 53 29 29 3b 0d 0a 4d 41 4b 45 4f 52 44 49 4e 41 52 59 4c 45 47 45 4e 44 28   ┆DIV LEGS));  MAKEORDINARYLEGEND(┆
0x52ea0…52ec0            58 2c 59 2c 4c 54 59 50 45 2c 53 59 4d 42 4f 4c 2c 54 49 54 4c 45 29 3b 0d 0a 49 46 20 4c 45 47   ┆X,Y,LTYPE,SYMBOL,TITLE);  IF LEG┆
0x52ec0…52ee0            4e 55 4d 42 45 52 3e 50 4c 4f 54 44 45 46 49 4e 54 5b 32 34 5d 20 54 48 45 4e 20 50 4c 4f 54 44   ┆NUMBER>PLOTDEFINTÆ24Å THEN PLOTD┆
0x52ee0…52f00            45 46 49 4e 54 5b 32 34 5d 3a 3d 4c 45 47 4e 55 4d 42 45 52 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50   ┆EFINTÆ24Å:=LEGNUMBER;  END;    P┆
0x52f00…52f20            52 4f 43 45 44 55 52 45 20 50 41 54 54 45 52 4e 4c 45 47 45 4e 44 28 54 69 74 6c 65 3a 20 53 74   ┆ROCEDURE PATTERNLEGEND(Title: St┆
0x52f20…52f40            72 38 30 3b 4c 45 47 4e 55 4d 42 45 52 2c 50 41 54 54 45 52 4e 3a 20 49 4e 54 45 47 45 52 29 3b   ┆r80;LEGNUMBER,PATTERN: INTEGER);┆
0x52f40…52f60            0d 0a 56 41 52 20 58 52 45 4c 2c 4c 45 47 53 2c 58 2c 59 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42   ┆  VAR XREL,LEGS,X,Y: INTEGER;  B┆
0x52f60…52f80            45 47 49 4e 0d 0a 4c 45 47 53 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 32 32 5d 20 4d 4f 44 20 31   ┆EGIN  LEGS:=PLOTDEFINTÆ22Å MOD 1┆
0x52f80…52fa0            30 3b 0d 0a 49 46 20 28 50 4c 4f 54 44 45 46 49 4e 54 5b 32 32 5d 20 44 49 56 20 31 30 29 3d 30   ┆0;  IF (PLOTDEFINTÆ22Å DIV 10)=0┆
0x52fa0…52fc0            20 54 48 45 4e 0d 0a 20 58 52 45 4c 3a 3d 52 4f 55 4e 44 28 28 50 4c 4f 54 44 45 46 49 4e 54 5b   ┆ THEN   XREL:=ROUND((PLOTDEFINTÆ┆
0x52fc0…52fe0            38 5d 2b 50 4c 4f 54 44 45 46 49 4e 54 5b 31 30 5d 2d 32 2a 50 4c 4f 54 44 45 46 49 4e 54 5b 32   ┆8Å+PLOTDEFINTÆ10Å-2*PLOTDEFINTÆ2┆
0x52fe0…53000            30 5d 29 2f 4c 45 47 53 29 0d 0a 45 4c 53 45 20 58 52 45 4c 3a 3d 52 4f 55 4e 44 28 28 50 4c 4f   ┆0Å)/LEGS)  ELSE XREL:=ROUND((PLO┆
0x53000…53020 (33, 0, 3) 54 44 45 46 49 4e 54 5b 31 30 5d 2d 50 4c 4f 54 44 45 46 49 4e 54 5b 32 30 5d 29 2f 4c 45 47 53   ┆TDEFINTÆ10Å-PLOTDEFINTÆ20Å)/LEGS┆
0x53020…53040            29 3b 0d 0a 58 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 32 30 5d 2b 58 52 45 4c 2a 28 28 4c 45 47   ┆);  X:=PLOTDEFINTÆ20Å+XREL*((LEG┆
0x53040…53060            4e 55 4d 42 45 52 2d 31 29 20 4d 4f 44 20 4c 45 47 53 29 3b 0d 0a 59 3a 3d 50 4c 4f 54 44 45 46   ┆NUMBER-1) MOD LEGS);  Y:=PLOTDEF┆
0x53060…53080            49 4e 54 5b 32 31 5d 2d 32 35 30 2a 28 28 4c 45 47 4e 55 4d 42 45 52 2d 31 29 20 44 49 56 20 4c   ┆INTÆ21Å-250*((LEGNUMBER-1) DIV L┆
0x53080…530a0            45 47 53 29 3b 0d 0a 4d 41 4b 45 50 41 54 54 45 52 4e 4c 45 47 45 4e 44 28 58 2c 59 2c 50 41 54   ┆EGS);  MAKEPATTERNLEGEND(X,Y,PAT┆
0x530a0…530c0            54 45 52 4e 2c 54 49 54 4c 45 29 3b 0d 0a 49 46 20 4c 45 47 4e 55 4d 42 45 52 3e 50 4c 4f 54 44   ┆TERN,TITLE);  IF LEGNUMBER>PLOTD┆
0x530c0…530e0            45 46 49 4e 54 5b 32 34 5d 20 54 48 45 4e 20 50 4c 4f 54 44 45 46 49 4e 54 5b 32 34 5d 3a 3d 4c   ┆EFINTÆ24Å THEN PLOTDEFINTÆ24Å:=L┆
0x530e0…53100            45 47 4e 55 4d 42 45 52 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4c 45 47   ┆EGNUMBER;  END;    PROCEDURE LEG┆
0x53100…53120            45 4e 44 46 52 41 4d 45 3b 0d 0a 56 41 52 20 50 4f 53 41 52 3a 20 41 52 52 41 59 20 5b 31 2e 2e   ┆ENDFRAME;  VAR POSAR: ARRAY Æ1..┆
0x53120…53140            34 5d 20 4f 46 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 4c 45 47 53 3a 20 49 4e 54 45 47 45   ┆4Å OF INTEGER;      LEGS: INTEGE┆
0x53140…53160            52 3b 0d 0a 20 20 20 20 58 52 45 4c 2c 59 52 45 4c 3a 20 52 45 41 4c 3b 0d 0a 42 45 47 49 4e 0d   ┆R;      XREL,YREL: REAL;  BEGIN ┆
0x53160…53180            0a 49 46 20 50 4c 4f 54 44 45 46 49 4e 54 5b 33 32 5d 3d 30 20 54 48 45 4e 20 59 52 45 4c 3a 3d   ┆ IF PLOTDEFINTÆ32Å=0 THEN YREL:=┆
0x53180…531a0            50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 31 5d 0d 0a 45 4c 53 45 20 59 52 45 4c 3a 3d 32 35 30 3b   ┆PlotDefRealÆ21Å  ELSE YREL:=250;┆
0x531a0…531c0            0d 0a 50 4f 53 41 52 5b 31 5d 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 32 30 5d 2d 52 4f 55 4e 44   ┆  POSARÆ1Å:=PLOTDEFINTÆ20Å-ROUND┆
0x531c0…531e0            28 50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 30 5d 29 3b 0d 0a 50 4f 53 41 52 5b 32 5d 3a 3d 50 4c   ┆(PlotDefRealÆ20Å);  POSARÆ2Å:=PL┆
0x531e0…53200            4f 54 44 45 46 49 4e 54 5b 32 31 5d 2b 52 4f 55 4e 44 28 59 52 45 4c 2a 33 2f 34 29 3b 0d 0a 4c   ┆OTDEFINTÆ21Å+ROUND(YREL*3/4);  L┆
0x53200…53220            45 47 53 3a 3d 50 4c 4f 54 44 45 46 49 4e 54 5b 32 32 5d 20 4d 4f 44 20 31 30 3b 0d 0a 49 46 20   ┆EGS:=PLOTDEFINTÆ22Å MOD 10;  IF ┆
0x53220…53240            28 50 4c 4f 54 44 45 46 49 4e 54 5b 32 32 5d 20 44 49 56 20 31 30 29 3d 30 20 54 48 45 4e 0d 0a   ┆(PLOTDEFINTÆ22Å DIV 10)=0 THEN  ┆
0x53240…53260            20 58 52 45 4c 3a 3d 28 50 4c 4f 54 44 45 46 49 4e 54 5b 38 5d 2b 50 4c 4f 54 44 45 46 49 4e 54   ┆ XREL:=(PLOTDEFINTÆ8Å+PLOTDEFINT┆
0x53260…53280            5b 31 30 5d 2d 32 2a 50 4c 4f 54 44 45 46 49 4e 54 5b 32 30 5d 29 2f 4c 45 47 53 0d 0a 45 4c 53   ┆Æ10Å-2*PLOTDEFINTÆ20Å)/LEGS  ELS┆
0x53280…532a0            45 20 58 52 45 4c 3a 3d 28 50 4c 4f 54 44 45 46 49 4e 54 5b 31 30 5d 2d 50 4c 4f 54 44 45 46 49   ┆E XREL:=(PLOTDEFINTÆ10Å-PLOTDEFI┆
0x532a0…532c0            4e 54 5b 32 30 5d 29 2f 4c 45 47 53 3b 0d 0a 50 4f 53 41 52 5b 34 5d 3a 3d 50 4c 4f 54 44 45 46   ┆NTÆ20Å)/LEGS;  POSARÆ4Å:=PLOTDEF┆
0x532c0…532e0            49 4e 54 5b 32 31 5d 2d 52 4f 55 4e 44 28 59 52 45 4c 2a 28 28 50 4c 4f 54 44 45 46 49 4e 54 5b   ┆INTÆ21Å-ROUND(YREL*((PLOTDEFINTÆ┆
0x532e0…53300            32 34 5d 2d 31 29 20 44 49 56 20 4c 45 47 53 29 2b 59 52 45 4c 2a 33 2f 34 29 3b 0d 0a 49 46 20   ┆24Å-1) DIV LEGS)+YREL*3/4);  IF ┆
0x53300…53320            50 4c 4f 54 44 45 46 49 4e 54 5b 32 34 5d 3c 4c 45 47 53 20 54 48 45 4e 20 4c 45 47 53 3a 3d 50   ┆PLOTDEFINTÆ24Å<LEGS THEN LEGS:=P┆
0x53320…53340            4c 4f 54 44 45 46 49 4e 54 5b 32 34 5d 3b 0d 0a 50 4f 53 41 52 5b 33 5d 3a 3d 50 4c 4f 54 44 45   ┆LOTDEFINTÆ24Å;  POSARÆ3Å:=PLOTDE┆
0x53340…53360            46 49 4e 54 5b 32 30 5d 2b 0d 0a 20 20 20 20 20 20 20 20 20 20 52 4f 55 4e 44 28 58 52 45 4c 2a   ┆FINTÆ20Å+            ROUND(XREL*┆
0x53360…53380            28 4c 45 47 53 2d 31 29 2b 34 30 30 2b 28 50 4c 4f 54 44 45 46 49 4e 54 5b 32 33 5d 2b 32 29 2a   ┆(LEGS-1)+400+(PLOTDEFINTÆ23Å+2)*┆
0x53380…533a0            50 6c 6f 74 44 65 66 52 65 61 6c 5b 32 30 5d 29 3b 0d 0a 49 46 20 50 4f 53 41 52 5b 33 5d 3e 50   ┆PlotDefRealÆ20Å);  IF POSARÆ3Å>P┆
0x533a0…533c0            4c 4f 54 44 45 46 49 4e 54 5b 31 30 5d 20 54 48 45 4e 20 50 4f 53 41 52 5b 33 5d 3a 3d 50 4c 4f   ┆LOTDEFINTÆ10Å THEN POSARÆ3Å:=PLO┆
0x533c0…533e0            54 44 45 46 49 4e 54 5b 31 30 5d 3b 0d 0a 49 46 20 50 4f 53 41 52 5b 34 5d 3e 50 4c 4f 54 44 45   ┆TDEFINTÆ10Å;  IF POSARÆ4Å>PLOTDE┆
0x533e0…53400            46 49 4e 54 5b 31 31 5d 20 54 48 45 4e 20 50 4f 53 41 52 5b 34 5d 3a 3d 50 4c 4f 54 44 45 46 49   ┆FINTÆ11Å THEN POSARÆ4Å:=PLOTDEFI┆
0x53400…53420 (33, 0, 4) 4e 54 5b 31 31 5d 3b 0d 0a 4d 61 72 6b 52 65 63 74 61 6e 67 6c 65 28 50 6f 73 41 72 5b 31 5d 2c   ┆NTÆ11Å;  MarkRectangle(PosArÆ1Å,┆
0x53420…53440            50 6f 73 41 72 5b 32 5d 2c 50 6f 73 41 72 5b 33 5d 2d 50 6f 73 41 72 5b 31 5d 2c 50 6f 73 41 72   ┆PosArÆ2Å,PosArÆ3Å-PosArÆ1Å,PosAr┆
0x53440…53460            5b 34 5d 2d 50 6f 73 41 72 5b 32 5d 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52   ┆Æ4Å-PosArÆ2Å);  END;    PROCEDUR┆
0x53460…53480            45 20 50 4c 4f 54 4c 49 4e 45 28 58 43 4d 2c 59 43 4d 3a 20 52 45 41 4c 3b 44 4f 57 4e 3a 20 42   ┆E PLOTLINE(XCM,YCM: REAL;DOWN: B┆
0x53480…534a0            6f 6f 6c 65 61 6e 29 3b 0d 0a 42 45 47 49 4e 0d 0a 49 46 20 44 4f 57 4e 20 54 48 45 4e 20 50 65   ┆oolean);  BEGIN  IF DOWN THEN Pe┆
0x534a0…534c0            6e 44 6f 77 6e 20 45 4c 53 45 20 50 65 6e 55 70 3b 0d 0a 50 4c 54 4c 49 4e 45 28 50 4c 4f 54 44   ┆nDown ELSE PenUp;  PLTLINE(PLOTD┆
0x534c0…534e0            45 46 49 4e 54 5b 38 5d 2b 52 4f 55 4e 44 28 58 43 4d 2a 34 30 30 29 2c 50 4c 4f 54 44 45 46 49   ┆EFINTÆ8Å+ROUND(XCM*400),PLOTDEFI┆
0x534e0…53500            4e 54 5b 39 5d 2b 52 4f 55 4e 44 28 59 43 4d 2a 34 30 30 29 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a   ┆NTÆ9Å+ROUND(YCM*400));  END;    ┆
0x53500…53520            50 52 4f 43 45 44 55 52 45 20 50 4c 4f 54 4d 41 52 4b 45 52 28 58 43 4d 2c 59 43 4d 3a 20 49 4e   ┆PROCEDURE PLOTMARKER(XCM,YCM: IN┆
0x53520…53540            54 45 47 45 52 3b 53 59 4d 42 4f 4c 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a   ┆TEGER;SYMBOL: INTEGER);  BEGIN  ┆
0x53540…53560            4d 41 52 4b 45 52 28 58 43 4d 2c 59 43 4d 2c 53 59 4d 42 4f 4c 29 3b 0d 0a 45 4e 44 3b 0d 0a 00   ┆MARKER(XCM,YCM,SYMBOL);  END;   ┆
0x53560…53580            00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x53580…535a0            e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
         […0x13…]
0x53800…53820 (33, 0, 5) 28 2a 47 53 56 2d 4d 41 52 4b 2a 29 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 68 65 6c 74 61 6c 28   ┆(*GSV-MARK*)    FUNCTION heltal(┆
0x53820…53840            78 3a 52 45 41 4c 29 3a 49 4e 54 45 47 45 52 3b 0d 0a 56 41 52 20 79 3a 20 69 6e 74 65 67 65 72   ┆x:REAL):INTEGER;  VAR y: integer┆
0x53840…53860            3b 0d 0a 42 45 47 49 4e 20 0d 0a 20 20 79 3a 3d 72 6f 75 6e 64 28 41 42 53 28 78 29 2d 30 2e 30   ┆;  BEGIN     y:=round(ABS(x)-0.0┆
0x53860…53880            31 29 3b 0d 0a 20 20 49 46 20 78 3c 30 20 54 48 45 4e 20 68 65 6c 74 61 6c 3a 3d 79 2a 28 2d 31   ┆1);    IF x<0 THEN heltal:=y*(-1┆
0x53880…538a0            29 20 65 6c 73 65 20 68 65 6c 74 61 6c 3a 3d 79 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45   ┆) else heltal:=y;  END;    PROCE┆
0x538a0…538c0            44 55 52 45 20 46 69 6c 6c 57 65 64 67 65 0d 0a 28 78 2c 79 2c 72 61 64 69 75 73 3a 49 4e 54 45   ┆DURE FillWedge  (x,y,radius:INTE┆
0x538c0…538e0            47 45 52 3b 20 73 74 61 72 74 61 6e 67 6c 65 2c 73 77 65 65 70 61 6e 67 6c 65 2c 63 68 6f 72 64   ┆GER; startangle,sweepangle,chord┆
0x538e0…53900            61 6e 67 6c 65 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 43 4f 4e 53 54 20 50 68 69 20 3d 20 33 2e   ┆angle: INTEGER);  CONST Phi = 3.┆
0x53900…53920            31 34 31 35 39 32 36 35 33 35 39 3b 0d 0a 56 41 52 0d 0a 20 20 4e 75 6d 2c 49 20 3a 20 49 6e 74   ┆14159265359;  VAR    Num,I : Int┆
0x53920…53940            65 67 65 72 3b 0d 0a 20 20 46 61 63 20 20 20 3a 20 52 65 61 6c 3b 0d 0a 20 20 72 2c 78 31 2c 78   ┆eger;    Fac   : Real;    r,x1,x┆
0x53940…53960            32 2c 79 31 2c 79 32 3a 20 69 6e 74 65 67 65 72 3b 20 20 0d 0a 42 45 47 49 4e 0d 0a 20 20 46 61   ┆2,y1,y2: integer;    BEGIN    Fa┆
0x53960…53980            63 3a 3d 50 68 69 2f 31 38 30 2e 30 3b 0d 0a 20 20 4e 75 6d 3a 3d 53 77 65 65 70 41 6e 67 6c 65   ┆c:=Phi/180.0;    Num:=SweepAngle┆
0x53980…539a0            20 64 69 76 20 43 68 6f 72 64 41 6e 67 6c 65 3b 0d 0a 20 20 46 4f 52 20 72 3a 3d 31 20 74 6f 20   ┆ div ChordAngle;    FOR r:=1 to ┆
0x539a0…539c0            72 61 64 69 75 73 20 44 4f 0d 0a 20 20 42 45 47 49 4e 20 0d 0a 20 20 20 20 78 31 3a 3d 78 2b 68   ┆radius DO    BEGIN       x1:=x+h┆
0x539c0…539e0            65 6c 74 61 6c 28 63 6f 73 28 53 74 61 72 74 41 6e 67 6c 65 2a 46 61 63 29 2a 72 29 3b 0d 0a 20   ┆eltal(cos(StartAngle*Fac)*r);   ┆
0x539e0…53a00            20 20 20 79 31 3a 3d 79 2b 68 65 6c 74 61 6c 28 73 69 6e 28 53 74 61 72 74 41 6e 67 6c 65 2a 46   ┆   y1:=y+heltal(sin(StartAngle*F┆
0x53a00…53a20            61 63 29 2a 72 29 3b 0d 0a 20 20 20 20 46 4f 52 20 49 3a 3d 31 20 54 4f 20 4e 75 6d 20 44 4f 0d   ┆ac)*r);      FOR I:=1 TO Num DO ┆
0x53a20…53a40            0a 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 78 32 3a 3d 78 2b 68 65 6c 74 61 6c 28 63   ┆     BEGIN        x2:=x+heltal(c┆
0x53a40…53a60            6f 73 28 28 53 74 61 72 74 41 6e 67 6c 65 2b 69 2a 43 68 6f 72 64 41 6e 67 6c 65 29 2a 46 61 63   ┆os((StartAngle+i*ChordAngle)*Fac┆
0x53a60…53a80            29 2a 72 29 3b 0d 0a 20 20 20 20 20 20 79 32 3a 3d 79 2b 68 65 6c 74 61 6c 28 73 69 6e 28 28 53   ┆)*r);        y2:=y+heltal(sin((S┆
0x53a80…53aa0            74 61 72 74 41 6e 67 6c 65 2b 69 2a 43 68 6f 72 64 41 6e 67 6c 65 29 2a 46 61 63 29 2a 72 29 3b   ┆tartAngle+i*ChordAngle)*Fac)*r);┆
0x53aa0…53ac0            0d 0a 20 20 20 20 20 20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78 31 2c 79 31 2c 78 32 2c 79 32 29 3b   ┆        Wnd_Lineto(x1,y1,x2,y2);┆
0x53ac0…53ae0            0d 0a 20 20 20 20 20 20 78 31 3a 3d 78 32 3b 20 79 31 3a 3d 79 32 3b 0d 0a 20 20 20 20 45 4e 44   ┆        x1:=x2; y1:=y2;      END┆
0x53ae0…53b00            3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4d 61 72   ┆;    END;  END;    PROCEDURE Mar┆
0x53b00…53b20            6b 57 65 64 67 65 0d 0a 28 78 2c 79 2c 72 3a 49 4e 54 45 47 45 52 3b 20 73 74 61 72 74 61 6e 67   ┆kWedge  (x,y,r:INTEGER; startang┆
0x53b20…53b40            6c 65 2c 73 77 65 65 70 61 6e 67 6c 65 2c 63 68 6f 72 64 61 6e 67 6c 65 3a 20 49 4e 54 45 47 45   ┆le,sweepangle,chordangle: INTEGE┆
0x53b40…53b60            52 29 3b 0d 0a 43 4f 4e 53 54 20 50 68 69 20 3d 20 33 2e 31 34 31 35 39 32 36 35 33 35 39 3b 0d   ┆R);  CONST Phi = 3.14159265359; ┆
0x53b60…53b80            0a 56 41 52 0d 0a 20 20 4e 75 6d 2c 49 20 3a 20 49 6e 74 65 67 65 72 3b 0d 0a 20 20 46 61 63 20   ┆ VAR    Num,I : Integer;    Fac ┆
0x53b80…53ba0            20 20 3a 20 52 65 61 6c 3b 0d 0a 20 20 78 31 2c 78 32 2c 79 31 2c 79 32 3a 20 69 6e 74 65 67 65   ┆  : Real;    x1,x2,y1,y2: intege┆
0x53ba0…53bc0            72 3b 20 20 0d 0a 42 45 47 49 4e 0d 0a 20 20 46 61 63 3a 3d 50 68 69 2f 31 38 30 2e 30 3b 0d 0a   ┆r;    BEGIN    Fac:=Phi/180.0;  ┆
0x53bc0…53be0            20 20 4e 75 6d 3a 3d 53 77 65 65 70 41 6e 67 6c 65 20 64 69 76 20 43 68 6f 72 64 41 6e 67 6c 65   ┆  Num:=SweepAngle div ChordAngle┆
0x53be0…53c00            3b 0d 0a 20 20 78 31 3a 3d 78 2b 68 65 6c 74 61 6c 28 63 6f 73 28 53 74 61 72 74 41 6e 67 6c 65   ┆;    x1:=x+heltal(cos(StartAngle┆
0x53c00…53c20 (33, 1, 1) 2a 46 61 63 29 2a 72 29 3b 0d 0a 20 20 79 31 3a 3d 79 2b 68 65 6c 74 61 6c 28 73 69 6e 28 53 74   ┆*Fac)*r);    y1:=y+heltal(sin(St┆
0x53c20…53c40            61 72 74 41 6e 67 6c 65 2a 46 61 63 29 2a 72 29 3b 0d 0a 20 20 46 4f 52 20 49 3a 3d 31 20 54 4f   ┆artAngle*Fac)*r);    FOR I:=1 TO┆
0x53c40…53c60            20 4e 75 6d 20 44 4f 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 78 32 3a 3d 78 2b 68 65 6c 74   ┆ Num DO    BEGIN      x2:=x+helt┆
0x53c60…53c80            61 6c 28 63 6f 73 28 28 53 74 61 72 74 41 6e 67 6c 65 2b 69 2a 43 68 6f 72 64 41 6e 67 6c 65 29   ┆al(cos((StartAngle+i*ChordAngle)┆
0x53c80…53ca0            2a 46 61 63 29 2a 72 29 3b 0d 0a 20 20 20 20 79 32 3a 3d 79 2b 68 65 6c 74 61 6c 28 73 69 6e 28   ┆*Fac)*r);      y2:=y+heltal(sin(┆
0x53ca0…53cc0            28 53 74 61 72 74 41 6e 67 6c 65 2b 69 2a 43 68 6f 72 64 41 6e 67 6c 65 29 2a 46 61 63 29 2a 72   ┆(StartAngle+i*ChordAngle)*Fac)*r┆
0x53cc0…53ce0            29 3b 0d 0a 20 20 20 20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78 31 2c 79 31 2c 78 32 2c 79 32 29 3b   ┆);      Wnd_Lineto(x1,y1,x2,y2);┆
0x53ce0…53d00            0d 0a 20 20 20 20 78 31 3a 3d 78 32 3b 20 79 31 3a 3d 79 32 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45   ┆      x1:=x2; y1:=y2;    END;  E┆
0x53d00…53d20            4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 46 69 6c 6c 53 71 75 61 72 65 28 78 2c 79 2c   ┆ND;    PROCEDURE FillSquare(x,y,┆
0x53d20…53d40            72 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 20 6a 3a 69 6e 74 65 67 65 72 3b 0d 0a 20 42   ┆r: INTEGER);  VAR j:integer;   B┆
0x53d40…53d60            45 47 49 4e 0d 0a 20 20 46 4f 52 20 6a 3a 3d 79 2d 72 20 74 6f 20 79 2b 72 20 44 4f 0d 0a 20 20   ┆EGIN    FOR j:=y-r to y+r DO    ┆
0x53d60…53d80            42 45 47 49 4e 0d 0a 20 20 20 20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78 2d 72 2c 6a 2c 78 2b 72 2c   ┆BEGIN      Wnd_Lineto(x-r,j,x+r,┆
0x53d80…53da0            6a 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4d   ┆j);    END;  END;    PROCEDURE M┆
0x53da0…53dc0            61 72 6b 57 6e 64 5f 63 69 72 63 6c 65 28 78 2c 20 79 2c 20 72 61 64 69 75 73 3a 20 49 4e 54 45   ┆arkWnd_circle(x, y, radius: INTE┆
0x53dc0…53de0            47 45 52 29 3b 0d 0a 56 41 52 0d 0a 20 20 61 2c 62 2c 74 61 72 67 65 74 2c 20 72 32 3a 20 49 4e   ┆GER);  VAR    a,b,target, r2: IN┆
0x53de0…53e00            54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 74 61 72 67 65 74 3a 3d 30 3b 20 61 3a 3d 20   ┆TEGER;  BEGIN    target:=0; a:= ┆
0x53e00…53e20            72 61 64 69 75 73 3b 20 62 3a 3d 30 3b 20 72 32 3a 3d 73 71 72 28 72 61 64 69 75 73 29 3b 0d 0a   ┆radius; b:=0; r2:=sqr(radius);  ┆
0x53e20…53e40            20 20 57 48 49 4c 45 20 61 3e 3d 62 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 62 3a 3d 69 73   ┆  WHILE a>=b DO BEGIN      b:=is┆
0x53e40…53e60            71 72 74 28 72 32 20 2d 20 73 71 72 28 61 29 29 3b 0d 0a 20 20 20 20 73 77 61 70 28 74 61 72 67   ┆qrt(r2 - sqr(a));      swap(targ┆
0x53e60…53e80            65 74 2c 20 62 29 3b 0d 0a 20 20 20 20 57 48 49 4c 45 20 62 3c 74 61 72 67 65 74 20 44 4f 20 42   ┆et, b);      WHILE b<target DO B┆
0x53e80…53ea0            45 47 49 4e 0d 0a 20 20 20 20 20 20 57 6e 64 5f 53 65 74 44 6f 74 28 78 2b 61 2c 79 2b 62 29 3b   ┆EGIN        Wnd_SetDot(x+a,y+b);┆
0x53ea0…53ec0            20 57 6e 64 5f 53 65 74 44 6f 74 28 78 2b 62 2c 79 2b 61 29 3b 0d 0a 20 20 20 20 20 20 57 6e 64   ┆ Wnd_SetDot(x+b,y+a);        Wnd┆
0x53ec0…53ee0            5f 53 65 74 44 6f 74 28 78 2d 61 2c 79 2b 62 29 3b 20 57 6e 64 5f 53 65 74 44 6f 74 28 78 2d 62   ┆_SetDot(x-a,y+b); Wnd_SetDot(x-b┆
0x53ee0…53f00            2c 79 2b 61 29 3b 0d 0a 20 20 20 20 20 20 57 6e 64 5f 53 65 74 44 6f 74 28 78 2d 61 2c 79 2d 62   ┆,y+a);        Wnd_SetDot(x-a,y-b┆
0x53f00…53f20            29 3b 20 57 6e 64 5f 53 65 74 44 6f 74 28 78 2d 62 2c 79 2d 61 29 3b 0d 0a 20 20 20 20 20 20 57   ┆); Wnd_SetDot(x-b,y-a);        W┆
0x53f20…53f40            6e 64 5f 53 65 74 44 6f 74 28 78 2b 61 2c 79 2d 62 29 3b 20 57 6e 64 5f 53 65 74 44 6f 74 28 78   ┆nd_SetDot(x+a,y-b); Wnd_SetDot(x┆
0x53f40…53f60            2b 62 2c 79 2d 61 29 3b 0d 0a 20 20 20 20 20 20 62 3a 3d 62 2b 31 3b 0d 0a 20 20 20 20 45 4e 44   ┆+b,y-a);        b:=b+1;      END┆
0x53f60…53f80            3b 0d 0a 20 20 20 20 61 3a 3d 61 2d 31 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a   ┆;      a:=a-1;    END;  END;    ┆
0x53f80…53fa0            50 52 4f 43 45 44 55 52 45 20 46 69 6c 6c 43 69 72 63 6c 65 28 78 2c 79 2c 72 61 64 69 75 73 3a   ┆PROCEDURE FillCircle(x,y,radius:┆
0x53fa0…53fc0            20 49 4e 54 45 47 45 52 29 3b 0d 0a 20 20 56 41 52 20 72 3a 49 4e 54 45 47 45 52 3b 0d 0a 42 45   ┆ INTEGER);    VAR r:INTEGER;  BE┆
0x53fc0…53fe0            47 49 4e 0d 0a 20 20 46 4f 52 20 72 3a 3d 31 20 74 6f 20 72 61 64 69 75 73 20 44 4f 0d 0a 20 20   ┆GIN    FOR r:=1 to radius DO    ┆
0x53fe0…54000            4d 61 72 6b 57 6e 64 5f 63 69 72 63 6c 65 28 78 2c 79 2c 72 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a   ┆MarkWnd_circle(x,y,r);  END;    ┆
0x54000…54020 (33, 1, 2) 50 52 4f 43 45 44 55 52 45 20 4d 61 72 6b 43 69 72 63 6c 65 28 78 2c 79 2c 72 3a 20 49 4e 54 45   ┆PROCEDURE MarkCircle(x,y,r: INTE┆
0x54020…54040            47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 4d 61 72 6b 57 6e 64 5f 63 69 72 63 6c 65 28 78   ┆GER);  BEGIN    MarkWnd_circle(x┆
0x54040…54060            2c 79 2c 72 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4d 61 72 6b 53 71   ┆,y,r);  END;    PROCEDURE MarkSq┆
0x54060…54080            75 61 72 65 28 78 2c 79 2c 72 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20   ┆uare(x,y,r: INTEGER);  BEGIN    ┆
0x54080…540a0            57 6e 64 5f 4c 69 6e 65 74 6f 28 78 2d 72 2c 79 2d 72 2c 78 2b 72 2c 79 2d 72 29 3b 0d 0a 20 20   ┆Wnd_Lineto(x-r,y-r,x+r,y-r);    ┆
0x540a0…540c0            57 6e 64 5f 4c 69 6e 65 74 6f 28 78 2b 72 2c 79 2d 72 2c 78 2b 72 2c 79 2b 72 29 3b 0d 0a 20 20   ┆Wnd_Lineto(x+r,y-r,x+r,y+r);    ┆
0x540c0…540e0            57 6e 64 5f 4c 69 6e 65 74 6f 28 78 2b 72 2c 79 2b 72 2c 78 2d 72 2c 79 2b 72 29 3b 0d 0a 20 20   ┆Wnd_Lineto(x+r,y+r,x-r,y+r);    ┆
0x540e0…54100            57 6e 64 5f 4c 69 6e 65 74 6f 28 78 2d 72 2c 79 2b 72 2c 78 2d 72 2c 79 2d 72 29 3b 0d 0a 45 4e   ┆Wnd_Lineto(x-r,y+r,x-r,y-r);  EN┆
0x54100…54120            44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4d 61 72 6b 43 72 6f 73 73 28 78 2c 79 2c 72 3a   ┆D;    PROCEDURE MarkCross(x,y,r:┆
0x54120…54140            20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 6e 64 5f 4c 69 6e 65 74 6f 28   ┆ INTEGER);  BEGIN    Wnd_Lineto(┆
0x54140…54160            78 2d 72 2c 79 2d 72 2c 78 2b 72 2c 79 2b 72 29 3b 0d 0a 20 20 57 6e 64 5f 4c 69 6e 65 74 6f 28   ┆x-r,y-r,x+r,y+r);    Wnd_Lineto(┆
0x54160…54180            78 2d 72 2c 79 2b 72 2c 78 2b 72 2c 79 2d 72 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45   ┆x-r,y+r,x+r,y-r);  END;    PROCE┆
0x54180…541a0            44 55 52 45 20 4d 61 72 6b 50 6c 75 73 28 78 2c 79 2c 72 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a   ┆DURE MarkPlus(x,y,r: INTEGER);  ┆
0x541a0…541c0            42 45 47 49 4e 0d 0a 20 20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78 2d 72 2c 79 2c 78 2b 72 2c 79 29   ┆BEGIN    Wnd_Lineto(x-r,y,x+r,y)┆
0x541c0…541e0            3b 0d 0a 20 20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78 2c 79 2b 72 2c 78 2c 79 2d 72 29 3b 0d 0a 45   ┆;    Wnd_Lineto(x,y+r,x,y-r);  E┆
0x541e0…54200            4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4d 61 72 6b 48 61 73 68 28 78 2c 79 2c 72 3a   ┆ND;    PROCEDURE MarkHash(x,y,r:┆
0x54200…54220            20 49 4e 54 45 47 45 52 29 3b 0d 0a 20 20 56 41 52 20 72 32 3a 20 69 6e 74 65 67 65 72 3b 0d 0a   ┆ INTEGER);    VAR r2: integer;  ┆
0x54220…54240            42 45 47 49 4e 0d 0a 20 20 72 32 3a 3d 72 20 64 69 76 20 32 3b 0d 0a 20 20 57 6e 64 5f 4c 69 6e   ┆BEGIN    r2:=r div 2;    Wnd_Lin┆
0x54240…54260            65 74 6f 28 78 2d 72 2c 79 2b 72 32 2c 78 2b 72 2c 79 2b 72 32 29 3b 0d 0a 20 20 57 6e 64 5f 4c   ┆eto(x-r,y+r2,x+r,y+r2);    Wnd_L┆
0x54260…54280            69 6e 65 74 6f 28 78 2d 72 2c 79 2d 72 32 2c 78 2b 72 2c 79 2d 72 32 29 3b 0d 0a 20 20 57 6e 64   ┆ineto(x-r,y-r2,x+r,y-r2);    Wnd┆
0x54280…542a0            5f 4c 69 6e 65 74 6f 28 78 2d 72 32 2c 79 2b 72 2c 78 2d 72 32 2c 79 2d 72 29 3b 0d 0a 20 20 57   ┆_Lineto(x-r2,y+r,x-r2,y-r);    W┆
0x542a0…542c0            6e 64 5f 4c 69 6e 65 74 6f 28 78 2b 72 32 2c 79 2b 72 2c 78 2b 72 32 2c 79 2d 72 29 3b 0d 0a 45   ┆nd_Lineto(x+r2,y+r,x+r2,y-r);  E┆
0x542c0…542e0            4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4d 61 72 6b 59 28 78 2c 79 2c 72 3a 20 49 4e   ┆ND;    PROCEDURE MarkY(x,y,r: IN┆
0x542e0…54300            54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78 2c 79   ┆TEGER);  BEGIN    Wnd_Lineto(x,y┆
0x54300…54320            2c 78 2c 79 2d 72 29 3b 0d 0a 20 20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78 2c 79 2c 78 2d 72 2c 79   ┆,x,y-r);    Wnd_Lineto(x,y,x-r,y┆
0x54320…54340            2b 72 29 3b 0d 0a 20 20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78 2c 79 2c 78 2b 72 2c 79 2b 72 29 3b   ┆+r);    Wnd_Lineto(x,y,x+r,y+r);┆
0x54340…54360            0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 50 6c 6f 74 6d 61 72 6b 65 72 28 78   ┆  END;    PROCEDURE Plotmarker(x┆
0x54360…54380            2c 79 3a 20 52 45 41 4c 3b 73 79 6d 62 6f 6c 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 20   ┆,y: REAL;symbol: INTEGER);  VAR ┆
0x54380…543a0            78 6f 6c 64 2c 79 6f 6c 64 3a 20 72 65 61 6c 3b 0d 0a 20 20 20 20 73 78 2c 73 79 3a 20 69 6e 74   ┆xold,yold: real;      sx,sy: int┆
0x543a0…543c0            65 67 65 72 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 78 6f 6c 64 3a 3d 78 3b 20 79 6f 6c 64 3a 3d 79   ┆eger;  BEGIN    xold:=x; yold:=y┆
0x543c0…543e0            3b 0d 0a 20 20 73 78 3a 3d 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 78 6f 6c 64 29 3b 0d 0a   ┆;    sx:=_Wld_ToWindowX(xold);  ┆
0x543e0…54400            20 20 73 79 3a 3d 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 59 28 79 6f 6c 64 29 3b 0d 0a 20 20 43   ┆  sy:=_Wld_ToWindowY(yold);    C┆
0x54400…54420 (33, 1, 3) 41 53 45 20 73 79 6d 62 6f 6c 20 6f 66 0d 0a 20 20 20 31 3a 20 46 69 6c 6c 43 69 72 63 6c 65 28   ┆ASE symbol of     1: FillCircle(┆
0x54420…54440            73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 7b 20   ┆sx,sy,markersize);            æ ┆
0x54440…54460            46 69 6c 6c 65 64 20 63 69 72 63 6c 65 20 7d 0d 0a 20 20 20 32 3a 20 46 69 6c 6c 53 71 75 61 72   ┆Filled circle å     2: FillSquar┆
0x54460…54480            65 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 29 3b 20 20 20 20 20 20 20 20 20 20 20 20   ┆e(sx,sy,markersize);            ┆
0x54480…544a0            7b 20 46 69 6c 6c 65 64 20 73 71 75 61 72 65 20 7d 0d 0a 20 20 20 33 3a 20 46 69 6c 6c 57 65 64   ┆æ Filled square å     3: FillWed┆
0x544a0…544c0            67 65 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 2c 20 20 30 2c 33 36 30 2c 20 39 30 29   ┆ge(sx,sy,markersize,  0,360, 90)┆
0x544c0…544e0            3b 20 7b 20 46 69 6c 6c 65 64 20 64 69 61 6d 6f 6e 64 20 7d 0d 0a 20 20 20 34 3a 20 46 69 6c 6c   ┆; æ Filled diamond å     4: Fill┆
0x544e0…54500            57 65 64 67 65 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 2c 2d 33 30 2c 33 36 30 2c 31   ┆Wedge(sx,sy,markersize,-30,360,1┆
0x54500…54520            32 30 29 3b 20 7b 20 46 69 6c 6c 65 64 20 74 72 69 61 6e 67 6c 65 2c 20 65 64 67 65 20 75 70 20   ┆20); æ Filled triangle, edge up ┆
0x54520…54540            7d 0d 0a 20 20 20 35 3a 20 46 69 6c 6c 57 65 64 67 65 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73   ┆å     5: FillWedge(sx,sy,markers┆
0x54540…54560            69 7a 65 2c 20 33 30 2c 33 36 30 2c 31 32 30 29 3b 20 7b 20 46 69 6c 6c 65 64 20 74 72 69 61 6e   ┆ize, 30,360,120); æ Filled trian┆
0x54560…54580            67 6c 65 2c 20 65 64 67 65 20 64 6f 77 6e 20 7d 0d 0a 20 20 20 36 3a 20 46 69 6c 6c 57 65 64 67   ┆gle, edge down å     6: FillWedg┆
0x54580…545a0            65 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 2c 20 20 30 2c 33 36 30 2c 20 37 32 29 3b   ┆e(sx,sy,markersize,  0,360, 72);┆
0x545a0…545c0            20 7b 20 46 69 6c 6c 65 64 20 70 65 6e 74 61 67 6f 6e 20 7d 0d 0a 20 20 20 37 3a 20 46 69 6c 6c   ┆ æ Filled pentagon å     7: Fill┆
0x545c0…545e0            57 65 64 67 65 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 2c 20 31 38 2c 33 36 30 2c 20   ┆Wedge(sx,sy,markersize, 18,360, ┆
0x545e0…54600            36 30 29 3b 20 7b 20 46 69 6c 6c 65 64 20 68 65 78 61 67 6f 6e 20 7d 0d 0a 20 20 20 38 3a 20 42   ┆60); æ Filled hexagon å     8: B┆
0x54600…54620            45 47 49 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆EGIN                            ┆
0x54620…54640            20 20 20 20 20 20 7b 20 46 69 6c 6c 65 64 20 73 74 61 72 20 7d 0d 0a 20 20 20 20 20 20 46 69 6c   ┆      æ Filled star å        Fil┆
0x54640…54660            6c 57 65 64 67 65 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 2c 2d 33 30 2c 33 36 30 2c   ┆lWedge(sx,sy,markersize,-30,360,┆
0x54660…54680            31 32 30 29 3b 0d 0a 20 20 20 20 20 20 46 69 6c 6c 57 65 64 67 65 28 73 78 2c 73 79 2c 6d 61 72   ┆120);        FillWedge(sx,sy,mar┆
0x54680…546a0            6b 65 72 73 69 7a 65 2c 20 33 30 2c 33 36 30 2c 31 32 30 29 3b 0d 0a 20 20 20 20 20 20 45 4e 44   ┆kersize, 30,360,120);        END┆
0x546a0…546c0            3b 0d 0a 20 20 31 31 3a 20 4d 61 72 6b 43 69 72 63 6c 65 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72   ┆;    11: MarkCircle(sx,sy,marker┆
0x546c0…546e0            73 69 7a 65 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 63 69 72 63 6c 65 20 7d 0d 0a 20 20   ┆size);            æ circle å    ┆
0x546e0…54700            31 32 3a 20 4d 61 72 6b 53 71 75 61 72 65 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 29   ┆12: MarkSquare(sx,sy,markersize)┆
0x54700…54720            3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆;                               ┆
0x54720…54740            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 73 71 75 61 72 65 20 7d 0d 0a 20 20 31 33   ┆                æ square å    13┆
0x54740…54760            3a 20 4d 61 72 6b 57 65 64 67 65 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 2c 20 20 30   ┆: MarkWedge(sx,sy,markersize,  0┆
0x54760…54780            2c 33 36 30 2c 20 39 30 29 3b 20 7b 20 64 69 61 6d 6f 6e 64 20 7d 0d 0a 20 20 31 34 3a 20 4d 61   ┆,360, 90); æ diamond å    14: Ma┆
0x54780…547a0            72 6b 57 65 64 67 65 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 2c 2d 33 30 2c 33 36 30   ┆rkWedge(sx,sy,markersize,-30,360┆
0x547a0…547c0            2c 31 32 30 29 3b 20 7b 20 74 72 69 61 6e 67 6c 65 2c 20 65 64 67 65 20 75 70 20 7d 0d 0a 20 20   ┆,120); æ triangle, edge up å    ┆
0x547c0…547e0            31 35 3a 20 4d 61 72 6b 57 65 64 67 65 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 2c 20   ┆15: MarkWedge(sx,sy,markersize, ┆
0x547e0…54800            33 30 2c 33 36 30 2c 31 32 30 29 3b 20 7b 20 74 72 69 61 6e 67 6c 65 2c 20 65 64 67 65 20 64 6f   ┆30,360,120); æ triangle, edge do┆
0x54800…54820 (33, 1, 4) 77 6e 20 7d 0d 0a 20 20 31 36 3a 20 4d 61 72 6b 57 65 64 67 65 28 73 78 2c 73 79 2c 6d 61 72 6b   ┆wn å    16: MarkWedge(sx,sy,mark┆
0x54820…54840            65 72 73 69 7a 65 2c 20 31 38 2c 33 36 30 2c 20 37 32 29 3b 20 7b 20 70 65 6e 74 61 67 6f 6e 20   ┆ersize, 18,360, 72); æ pentagon ┆
0x54840…54860            7d 0d 0a 20 20 31 37 3a 20 4d 61 72 6b 57 65 64 67 65 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73   ┆å    17: MarkWedge(sx,sy,markers┆
0x54860…54880            69 7a 65 2c 20 20 30 2c 33 36 30 2c 20 36 30 29 3b 20 7b 20 68 65 78 61 67 6f 6e 20 7d 0d 0a 20   ┆ize,  0,360, 60); æ hexagon å   ┆
0x54880…548a0            20 31 38 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ 18:                            ┆
0x548a0…548c0            20 20 20 20 20 20 20 20 20 20 20 20 7b 20 73 74 61 72 20 7d 0d 0a 20 20 20 20 20 20 42 45 47 49   ┆            æ star å        BEGI┆
0x548c0…548e0            4e 0d 0a 20 20 20 20 20 20 20 20 4d 61 72 6b 57 65 64 67 65 28 73 78 2c 73 79 2c 6d 61 72 6b 65   ┆N          MarkWedge(sx,sy,marke┆
0x548e0…54900            72 73 69 7a 65 2c 2d 33 30 2c 33 36 30 2c 31 32 30 29 3b 0d 0a 20 20 20 20 20 20 20 20 4d 61 72   ┆rsize,-30,360,120);          Mar┆
0x54900…54920            6b 57 65 64 67 65 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 2c 20 33 30 2c 33 36 30 2c   ┆kWedge(sx,sy,markersize, 30,360,┆
0x54920…54940            31 32 30 29 3b 0d 0a 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 32 31 3a 20 4d 61 72 6b 43 72 6f   ┆120);        END;    21: MarkCro┆
0x54940…54960            73 73 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 29 3b 20 20 20 20 20 20 20 20 20 20 20   ┆ss(sx,sy,markersize);           ┆
0x54960…54980            20 20 7b 20 63 72 6f 73 73 20 7d 0d 0a 20 20 32 32 3a 20 4d 61 72 6b 50 6c 75 73 28 73 78 2c 73   ┆  æ cross å    22: MarkPlus(sx,s┆
0x54980…549a0            79 2c 6d 61 72 6b 65 72 73 69 7a 65 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 70 6c   ┆y,markersize);              æ pl┆
0x549a0…549c0            75 73 20 20 7d 0d 0a 20 20 32 33 3a 20 4d 61 72 6b 48 61 73 68 28 73 78 2c 73 79 2c 6d 61 72 6b   ┆us  å    23: MarkHash(sx,sy,mark┆
0x549c0…549e0            65 72 73 69 7a 65 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 68 61 73 68 20 20 7d 0d   ┆ersize);              æ hash  å ┆
0x549e0…54a00            0a 20 20 32 34 3a 20 4d 61 72 6b 59 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 29 3b 20   ┆   24: MarkY(sx,sy,markersize); ┆
0x54a00…54a20            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 59 20 20 20 20 20 7d 0d 0a 20 28 2a 20 33   ┆                æ Y     å   (* 3┆
0x54a20…54a40            33 2e 2e 31 32 37 3a 20 4d 61 72 6b 53 79 6d 62 6f 6c 4d 6f 64 65 28 73 78 2c 73 79 2c 73 79 6d   ┆3..127: MarkSymbolMode(sx,sy,sym┆
0x54a40…54a60            62 6f 6c 29 3b 2a 29 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 20 78 3a 3d 78 6f 6c 64 3b 20 79 3a 3d   ┆bol);*)    END;     x:=xold; y:=┆
0x54a60…54a80            79 6f 6c 64 3b 20 6d 6f 76 65 74 6f 28 78 2c 79 29 3b 0d 0a 45 4e 44 3b 0d 0a 00 00 00 00 00 00   ┆yold; moveto(x,y);  END;        ┆
0x54a80…54aa0            e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
         […0x2b…]
0x55000…55020 (34, 0, 1) 28 2a 47 53 56 2d 4d 41 52 4b 2a 29 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 68 65 6c 74 61 6c 28   ┆(*GSV-MARK*)    FUNCTION heltal(┆
0x55020…55040            78 3a 52 45 41 4c 29 3a 49 4e 54 45 47 45 52 3b 0d 0a 56 41 52 20 79 3a 20 69 6e 74 65 67 65 72   ┆x:REAL):INTEGER;  VAR y: integer┆
0x55040…55060            3b 0d 0a 42 45 47 49 4e 20 0d 0a 20 20 79 3a 3d 72 6f 75 6e 64 28 41 42 53 28 78 29 2d 30 2e 30   ┆;  BEGIN     y:=round(ABS(x)-0.0┆
0x55060…55080            31 29 3b 0d 0a 20 20 49 46 20 78 3c 30 20 54 48 45 4e 20 68 65 6c 74 61 6c 3a 3d 79 2a 28 2d 31   ┆1);    IF x<0 THEN heltal:=y*(-1┆
0x55080…550a0            29 20 65 6c 73 65 20 68 65 6c 74 61 6c 3a 3d 79 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45   ┆) else heltal:=y;  END;    PROCE┆
0x550a0…550c0            44 55 52 45 20 46 69 6c 6c 57 65 64 67 65 0d 0a 28 78 2c 79 2c 72 61 64 69 75 73 3a 49 4e 54 45   ┆DURE FillWedge  (x,y,radius:INTE┆
0x550c0…550e0            47 45 52 3b 20 73 74 61 72 74 61 6e 67 6c 65 2c 73 77 65 65 70 61 6e 67 6c 65 2c 63 68 6f 72 64   ┆GER; startangle,sweepangle,chord┆
0x550e0…55100            61 6e 67 6c 65 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 43 4f 4e 53 54 20 50 68 69 20 3d 20 33 2e   ┆angle: INTEGER);  CONST Phi = 3.┆
0x55100…55120            31 34 31 35 39 32 36 35 33 35 39 3b 0d 0a 56 41 52 0d 0a 20 20 4e 75 6d 2c 49 20 3a 20 49 6e 74   ┆14159265359;  VAR    Num,I : Int┆
0x55120…55140            65 67 65 72 3b 0d 0a 20 20 46 61 63 20 20 20 3a 20 52 65 61 6c 3b 0d 0a 20 20 72 2c 78 31 2c 78   ┆eger;    Fac   : Real;    r,x1,x┆
0x55140…55160            32 2c 79 31 2c 79 32 3a 20 69 6e 74 65 67 65 72 3b 20 20 0d 0a 42 45 47 49 4e 0d 0a 20 20 46 61   ┆2,y1,y2: integer;    BEGIN    Fa┆
0x55160…55180            63 3a 3d 50 68 69 2f 31 38 30 2e 30 3b 0d 0a 20 20 4e 75 6d 3a 3d 53 77 65 65 70 41 6e 67 6c 65   ┆c:=Phi/180.0;    Num:=SweepAngle┆
0x55180…551a0            20 64 69 76 20 43 68 6f 72 64 41 6e 67 6c 65 3b 0d 0a 20 20 46 4f 52 20 72 3a 3d 31 20 74 6f 20   ┆ div ChordAngle;    FOR r:=1 to ┆
0x551a0…551c0            72 61 64 69 75 73 20 44 4f 0d 0a 20 20 42 45 47 49 4e 20 0d 0a 20 20 20 20 78 31 3a 3d 78 2b 68   ┆radius DO    BEGIN       x1:=x+h┆
0x551c0…551e0            65 6c 74 61 6c 28 63 6f 73 28 53 74 61 72 74 41 6e 67 6c 65 2a 46 61 63 29 2a 72 29 3b 0d 0a 20   ┆eltal(cos(StartAngle*Fac)*r);   ┆
0x551e0…55200            20 20 20 79 31 3a 3d 79 2b 68 65 6c 74 61 6c 28 73 69 6e 28 53 74 61 72 74 41 6e 67 6c 65 2a 46   ┆   y1:=y+heltal(sin(StartAngle*F┆
0x55200…55220            61 63 29 2a 72 29 3b 0d 0a 20 20 20 20 46 4f 52 20 49 3a 3d 31 20 54 4f 20 4e 75 6d 20 44 4f 0d   ┆ac)*r);      FOR I:=1 TO Num DO ┆
0x55220…55240            0a 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 78 32 3a 3d 78 2b 68 65 6c 74 61 6c 28 63   ┆     BEGIN        x2:=x+heltal(c┆
0x55240…55260            6f 73 28 28 53 74 61 72 74 41 6e 67 6c 65 2b 69 2a 43 68 6f 72 64 41 6e 67 6c 65 29 2a 46 61 63   ┆os((StartAngle+i*ChordAngle)*Fac┆
0x55260…55280            29 2a 72 29 3b 0d 0a 20 20 20 20 20 20 79 32 3a 3d 79 2b 68 65 6c 74 61 6c 28 73 69 6e 28 28 53   ┆)*r);        y2:=y+heltal(sin((S┆
0x55280…552a0            74 61 72 74 41 6e 67 6c 65 2b 69 2a 43 68 6f 72 64 41 6e 67 6c 65 29 2a 46 61 63 29 2a 72 29 3b   ┆tartAngle+i*ChordAngle)*Fac)*r);┆
0x552a0…552c0            0d 0a 20 20 20 20 20 20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78 31 2c 79 31 2c 78 32 2c 79 32 29 3b   ┆        Wnd_Lineto(x1,y1,x2,y2);┆
0x552c0…552e0            0d 0a 20 20 20 20 20 20 78 31 3a 3d 78 32 3b 20 79 31 3a 3d 79 32 3b 0d 0a 20 20 20 20 45 4e 44   ┆        x1:=x2; y1:=y2;      END┆
0x552e0…55300            3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4d 61 72   ┆;    END;  END;    PROCEDURE Mar┆
0x55300…55320            6b 57 65 64 67 65 0d 0a 28 78 2c 79 2c 72 3a 49 4e 54 45 47 45 52 3b 20 73 74 61 72 74 61 6e 67   ┆kWedge  (x,y,r:INTEGER; startang┆
0x55320…55340            6c 65 2c 73 77 65 65 70 61 6e 67 6c 65 2c 63 68 6f 72 64 61 6e 67 6c 65 3a 20 49 4e 54 45 47 45   ┆le,sweepangle,chordangle: INTEGE┆
0x55340…55360            52 29 3b 0d 0a 43 4f 4e 53 54 20 50 68 69 20 3d 20 33 2e 31 34 31 35 39 32 36 35 33 35 39 3b 0d   ┆R);  CONST Phi = 3.14159265359; ┆
0x55360…55380            0a 56 41 52 0d 0a 20 20 4e 75 6d 2c 49 20 3a 20 49 6e 74 65 67 65 72 3b 0d 0a 20 20 46 61 63 20   ┆ VAR    Num,I : Integer;    Fac ┆
0x55380…553a0            20 20 3a 20 52 65 61 6c 3b 0d 0a 20 20 78 31 2c 78 32 2c 79 31 2c 79 32 3a 20 69 6e 74 65 67 65   ┆  : Real;    x1,x2,y1,y2: intege┆
0x553a0…553c0            72 3b 20 20 0d 0a 42 45 47 49 4e 0d 0a 20 20 46 61 63 3a 3d 50 68 69 2f 31 38 30 2e 30 3b 0d 0a   ┆r;    BEGIN    Fac:=Phi/180.0;  ┆
0x553c0…553e0            20 20 4e 75 6d 3a 3d 53 77 65 65 70 41 6e 67 6c 65 20 64 69 76 20 43 68 6f 72 64 41 6e 67 6c 65   ┆  Num:=SweepAngle div ChordAngle┆
0x553e0…55400            3b 0d 0a 20 20 78 31 3a 3d 78 2b 68 65 6c 74 61 6c 28 63 6f 73 28 53 74 61 72 74 41 6e 67 6c 65   ┆;    x1:=x+heltal(cos(StartAngle┆
0x55400…55420 (34, 0, 2) 2a 46 61 63 29 2a 72 29 3b 0d 0a 20 20 79 31 3a 3d 79 2b 68 65 6c 74 61 6c 28 73 69 6e 28 53 74   ┆*Fac)*r);    y1:=y+heltal(sin(St┆
0x55420…55440            61 72 74 41 6e 67 6c 65 2a 46 61 63 29 2a 72 29 3b 0d 0a 20 20 46 4f 52 20 49 3a 3d 31 20 54 4f   ┆artAngle*Fac)*r);    FOR I:=1 TO┆
0x55440…55460            20 4e 75 6d 20 44 4f 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 78 32 3a 3d 78 2b 68 65 6c 74   ┆ Num DO    BEGIN      x2:=x+helt┆
0x55460…55480            61 6c 28 63 6f 73 28 28 53 74 61 72 74 41 6e 67 6c 65 2b 69 2a 43 68 6f 72 64 41 6e 67 6c 65 29   ┆al(cos((StartAngle+i*ChordAngle)┆
0x55480…554a0            2a 46 61 63 29 2a 72 29 3b 0d 0a 20 20 20 20 79 32 3a 3d 79 2b 68 65 6c 74 61 6c 28 73 69 6e 28   ┆*Fac)*r);      y2:=y+heltal(sin(┆
0x554a0…554c0            28 53 74 61 72 74 41 6e 67 6c 65 2b 69 2a 43 68 6f 72 64 41 6e 67 6c 65 29 2a 46 61 63 29 2a 72   ┆(StartAngle+i*ChordAngle)*Fac)*r┆
0x554c0…554e0            29 3b 0d 0a 20 20 20 20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78 31 2c 79 31 2c 78 32 2c 79 32 29 3b   ┆);      Wnd_Lineto(x1,y1,x2,y2);┆
0x554e0…55500            0d 0a 20 20 20 20 78 31 3a 3d 78 32 3b 20 79 31 3a 3d 79 32 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45   ┆      x1:=x2; y1:=y2;    END;  E┆
0x55500…55520            4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 46 69 6c 6c 53 71 75 61 72 65 28 78 2c 79 2c   ┆ND;    PROCEDURE FillSquare(x,y,┆
0x55520…55540            72 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 20 6a 3a 69 6e 74 65 67 65 72 3b 0d 0a 20 42   ┆r: INTEGER);  VAR j:integer;   B┆
0x55540…55560            45 47 49 4e 0d 0a 20 20 46 4f 52 20 6a 3a 3d 79 2d 72 20 74 6f 20 79 2b 72 20 44 4f 0d 0a 20 20   ┆EGIN    FOR j:=y-r to y+r DO    ┆
0x55560…55580            42 45 47 49 4e 0d 0a 20 20 20 20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78 2d 72 2c 6a 2c 78 2b 72 2c   ┆BEGIN      Wnd_Lineto(x-r,j,x+r,┆
0x55580…555a0            6a 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4d   ┆j);    END;  END;    PROCEDURE M┆
0x555a0…555c0            61 72 6b 57 6e 64 5f 63 69 72 63 6c 65 28 63 78 2c 20 63 79 2c 20 72 61 64 69 75 73 3a 20 49 4e   ┆arkWnd_circle(cx, cy, radius: IN┆
0x555c0…555e0            54 45 47 45 52 29 3b 0d 0a 56 41 52 0d 0a 20 20 61 2c 20 61 66 2c 20 62 2c 20 62 66 2c 20 74 61   ┆TEGER);  VAR    a, af, b, bf, ta┆
0x555e0…55600            72 67 65 74 2c 20 72 32 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 74 61 72   ┆rget, r2: INTEGER;  BEGIN    tar┆
0x55600…55620            67 65 74 3a 3d 30 3b 20 61 3a 3d 20 72 61 64 69 75 73 3b 20 62 3a 3d 30 3b 20 72 32 3a 3d 73 71   ┆get:=0; a:= radius; b:=0; r2:=sq┆
0x55620…55640            72 28 72 61 64 69 75 73 29 3b 0d 0a 20 20 57 48 49 4c 45 20 61 3e 3d 62 20 44 4f 20 42 45 47 49   ┆r(radius);    WHILE a>=b DO BEGI┆
0x55640…55660            4e 0d 0a 20 20 20 20 62 3a 3d 69 73 71 72 74 28 72 32 20 2d 20 73 71 72 28 61 29 29 3b 0d 0a 20   ┆N      b:=isqrt(r2 - sqr(a));   ┆
0x55660…55680            20 20 20 73 77 61 70 28 74 61 72 67 65 74 2c 20 62 29 3b 0d 0a 20 20 20 20 57 48 49 4c 45 20 62   ┆   swap(target, b);      WHILE b┆
0x55680…556a0            3c 74 61 72 67 65 74 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 61 66 3a 3d 61 3b 20 62   ┆<target DO BEGIN        af:=a; b┆
0x556a0…556c0            66 3a 3d 62 3b 0d 0a 20 20 20 20 20 20 57 6e 64 5f 53 65 74 44 6f 74 28 63 78 2b 61 66 2c 63 79   ┆f:=b;        Wnd_SetDot(cx+af,cy┆
0x556c0…556e0            2b 62 29 3b 20 57 6e 64 5f 53 65 74 44 6f 74 28 63 78 2b 62 66 2c 63 79 2b 61 29 3b 0d 0a 20 20   ┆+b); Wnd_SetDot(cx+bf,cy+a);    ┆
0x556e0…55700            20 20 20 20 57 6e 64 5f 53 65 74 44 6f 74 28 63 78 2d 61 66 2c 63 79 2b 62 29 3b 20 57 6e 64 5f   ┆    Wnd_SetDot(cx-af,cy+b); Wnd_┆
0x55700…55720            53 65 74 44 6f 74 28 63 78 2d 62 66 2c 63 79 2b 61 29 3b 0d 0a 20 20 20 20 20 20 57 6e 64 5f 53   ┆SetDot(cx-bf,cy+a);        Wnd_S┆
0x55720…55740            65 74 44 6f 74 28 63 78 2d 61 66 2c 63 79 2d 62 29 3b 20 57 6e 64 5f 53 65 74 44 6f 74 28 63 78   ┆etDot(cx-af,cy-b); Wnd_SetDot(cx┆
0x55740…55760            2d 62 66 2c 63 79 2d 61 29 3b 0d 0a 20 20 20 20 20 20 57 6e 64 5f 53 65 74 44 6f 74 28 63 78 2b   ┆-bf,cy-a);        Wnd_SetDot(cx+┆
0x55760…55780            61 66 2c 63 79 2d 62 29 3b 20 57 6e 64 5f 53 65 74 44 6f 74 28 63 78 2b 62 66 2c 63 79 2d 61 29   ┆af,cy-b); Wnd_SetDot(cx+bf,cy-a)┆
0x55780…557a0            3b 0d 0a 20 20 20 20 20 20 62 3a 3d 62 2b 31 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20   ┆;        b:=b+1;      END;      ┆
0x557a0…557c0            61 3a 3d 61 2d 31 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55   ┆a:=a-1;    END;  END;    PROCEDU┆
0x557c0…557e0            52 45 20 46 69 6c 6c 43 69 72 63 6c 65 28 78 2c 79 2c 72 61 64 69 75 73 3a 20 49 4e 54 45 47 45   ┆RE FillCircle(x,y,radius: INTEGE┆
0x557e0…55800            52 29 3b 0d 0a 20 20 56 41 52 20 72 3a 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20   ┆R);    VAR r:INTEGER;  BEGIN    ┆
0x55800…55820 (34, 0, 3) 46 4f 52 20 72 3a 3d 31 20 74 6f 20 72 61 64 69 75 73 20 44 4f 0d 0a 20 20 4d 61 72 6b 57 6e 64   ┆FOR r:=1 to radius DO    MarkWnd┆
0x55820…55840            5f 63 69 72 63 6c 65 28 78 2c 79 2c 72 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55   ┆_circle(x,y,r);  END;    PROCEDU┆
0x55840…55860            52 45 20 4d 61 72 6b 43 69 72 63 6c 65 28 78 2c 79 2c 72 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a   ┆RE MarkCircle(x,y,r: INTEGER);  ┆
0x55860…55880            42 45 47 49 4e 0d 0a 20 20 4d 61 72 6b 57 6e 64 5f 63 69 72 63 6c 65 28 78 2c 79 2c 72 29 3b 0d   ┆BEGIN    MarkWnd_circle(x,y,r); ┆
0x55880…558a0            0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4d 61 72 6b 53 71 75 61 72 65 28 78 2c   ┆ END;    PROCEDURE MarkSquare(x,┆
0x558a0…558c0            79 2c 72 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 6e 64 5f 4c 69 6e   ┆y,r: INTEGER);  BEGIN    Wnd_Lin┆
0x558c0…558e0            65 74 6f 28 78 2d 72 2c 79 2d 72 2c 78 2b 72 2c 79 2d 72 29 3b 0d 0a 20 20 57 6e 64 5f 4c 69 6e   ┆eto(x-r,y-r,x+r,y-r);    Wnd_Lin┆
0x558e0…55900            65 74 6f 28 78 2b 72 2c 79 2d 72 2c 78 2b 72 2c 79 2b 72 29 3b 0d 0a 20 20 57 6e 64 5f 4c 69 6e   ┆eto(x+r,y-r,x+r,y+r);    Wnd_Lin┆
0x55900…55920            65 74 6f 28 78 2b 72 2c 79 2b 72 2c 78 2d 72 2c 79 2b 72 29 3b 0d 0a 20 20 57 6e 64 5f 4c 69 6e   ┆eto(x+r,y+r,x-r,y+r);    Wnd_Lin┆
0x55920…55940            65 74 6f 28 78 2d 72 2c 79 2b 72 2c 78 2d 72 2c 79 2d 72 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50   ┆eto(x-r,y+r,x-r,y-r);  END;    P┆
0x55940…55960            52 4f 43 45 44 55 52 45 20 4d 61 72 6b 43 72 6f 73 73 28 78 2c 79 2c 72 3a 20 49 4e 54 45 47 45   ┆ROCEDURE MarkCross(x,y,r: INTEGE┆
0x55960…55980            52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78 2d 72 2c 79 2d 72   ┆R);  BEGIN    Wnd_Lineto(x-r,y-r┆
0x55980…559a0            2c 78 2b 72 2c 79 2b 72 29 3b 0d 0a 20 20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78 2d 72 2c 79 2b 72   ┆,x+r,y+r);    Wnd_Lineto(x-r,y+r┆
0x559a0…559c0            2c 78 2b 72 2c 79 2d 72 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4d 61   ┆,x+r,y-r);  END;    PROCEDURE Ma┆
0x559c0…559e0            72 6b 50 6c 75 73 28 78 2c 79 2c 72 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a   ┆rkPlus(x,y,r: INTEGER);  BEGIN  ┆
0x559e0…55a00            20 20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78 2d 72 2c 79 2c 78 2b 72 2c 79 29 3b 0d 0a 20 20 57 6e   ┆  Wnd_Lineto(x-r,y,x+r,y);    Wn┆
0x55a00…55a20            64 5f 4c 69 6e 65 74 6f 28 78 2c 79 2b 72 2c 78 2c 79 2d 72 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a   ┆d_Lineto(x,y+r,x,y-r);  END;    ┆
0x55a20…55a40            50 52 4f 43 45 44 55 52 45 20 4d 61 72 6b 48 61 73 68 28 78 2c 79 2c 72 3a 20 49 4e 54 45 47 45   ┆PROCEDURE MarkHash(x,y,r: INTEGE┆
0x55a40…55a60            52 29 3b 0d 0a 20 20 56 41 52 20 72 32 3a 20 69 6e 74 65 67 65 72 3b 0d 0a 42 45 47 49 4e 0d 0a   ┆R);    VAR r2: integer;  BEGIN  ┆
0x55a60…55a80            20 20 72 32 3a 3d 72 20 64 69 76 20 32 3b 0d 0a 20 20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78 2d 72   ┆  r2:=r div 2;    Wnd_Lineto(x-r┆
0x55a80…55aa0            2c 79 2b 72 32 2c 78 2b 72 2c 79 2b 72 32 29 3b 0d 0a 20 20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78   ┆,y+r2,x+r,y+r2);    Wnd_Lineto(x┆
0x55aa0…55ac0            2d 72 2c 79 2d 72 32 2c 78 2b 72 2c 79 2d 72 32 29 3b 0d 0a 20 20 57 6e 64 5f 4c 69 6e 65 74 6f   ┆-r,y-r2,x+r,y-r2);    Wnd_Lineto┆
0x55ac0…55ae0            28 78 2d 72 32 2c 79 2b 72 2c 78 2d 72 32 2c 79 2d 72 29 3b 0d 0a 20 20 57 6e 64 5f 4c 69 6e 65   ┆(x-r2,y+r,x-r2,y-r);    Wnd_Line┆
0x55ae0…55b00            74 6f 28 78 2b 72 32 2c 79 2b 72 2c 78 2b 72 32 2c 79 2d 72 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a   ┆to(x+r2,y+r,x+r2,y-r);  END;    ┆
0x55b00…55b20            50 52 4f 43 45 44 55 52 45 20 4d 61 72 6b 59 28 78 2c 79 2c 72 3a 20 49 4e 54 45 47 45 52 29 3b   ┆PROCEDURE MarkY(x,y,r: INTEGER);┆
0x55b20…55b40            0d 0a 42 45 47 49 4e 0d 0a 20 20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78 2c 79 2c 78 2c 79 2d 72 29   ┆  BEGIN    Wnd_Lineto(x,y,x,y-r)┆
0x55b40…55b60            3b 0d 0a 20 20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78 2c 79 2c 78 2d 72 2c 79 2b 72 29 3b 0d 0a 20   ┆;    Wnd_Lineto(x,y,x-r,y+r);   ┆
0x55b60…55b80            20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78 2c 79 2c 78 2b 72 2c 79 2b 72 29 3b 0d 0a 45 4e 44 3b 0d   ┆ Wnd_Lineto(x,y,x+r,y+r);  END; ┆
0x55b80…55ba0            0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 50 6c 6f 74 6d 61 72 6b 65 72 28 78 2c 79 3a 20 52 45 41   ┆   PROCEDURE Plotmarker(x,y: REA┆
0x55ba0…55bc0            4c 3b 73 79 6d 62 6f 6c 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 20 78 6f 6c 64 2c 79 6f   ┆L;symbol: INTEGER);  VAR xold,yo┆
0x55bc0…55be0            6c 64 3a 20 72 65 61 6c 3b 0d 0a 20 20 20 20 73 78 2c 73 79 3a 20 69 6e 74 65 67 65 72 3b 0d 0a   ┆ld: real;      sx,sy: integer;  ┆
0x55be0…55c00            42 45 47 49 4e 0d 0a 20 20 78 6f 6c 64 3a 3d 78 3b 20 79 6f 6c 64 3a 3d 79 3b 0d 0a 20 20 73 78   ┆BEGIN    xold:=x; yold:=y;    sx┆
0x55c00…55c20 (34, 0, 4) 3a 3d 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 78 6f 6c 64 29 3b 0d 0a 20 20 73 79 3a 3d 5f   ┆:=_Wld_ToWindowX(xold);    sy:=_┆
0x55c20…55c40            57 6c 64 5f 54 6f 57 69 6e 64 6f 77 59 28 79 6f 6c 64 29 3b 0d 0a 20 20 43 41 53 45 20 73 79 6d   ┆Wld_ToWindowY(yold);    CASE sym┆
0x55c40…55c60            62 6f 6c 20 6f 66 0d 0a 20 20 20 31 3a 20 46 69 6c 6c 43 69 72 63 6c 65 28 73 78 2c 73 79 2c 6d   ┆bol of     1: FillCircle(sx,sy,m┆
0x55c60…55c80            61 72 6b 65 72 73 69 7a 65 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 46 69 6c 6c 65 64 20   ┆arkersize);            æ Filled ┆
0x55c80…55ca0            63 69 72 63 6c 65 20 7d 0d 0a 20 20 20 32 3a 20 46 69 6c 6c 53 71 75 61 72 65 28 73 78 2c 73 79   ┆circle å     2: FillSquare(sx,sy┆
0x55ca0…55cc0            2c 6d 61 72 6b 65 72 73 69 7a 65 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 46 69 6c 6c 65   ┆,markersize);            æ Fille┆
0x55cc0…55ce0            64 20 73 71 75 61 72 65 20 7d 0d 0a 20 20 20 33 3a 20 46 69 6c 6c 57 65 64 67 65 28 73 78 2c 73   ┆d square å     3: FillWedge(sx,s┆
0x55ce0…55d00            79 2c 6d 61 72 6b 65 72 73 69 7a 65 2c 20 20 30 2c 33 36 30 2c 20 39 30 29 3b 20 7b 20 46 69 6c   ┆y,markersize,  0,360, 90); æ Fil┆
0x55d00…55d20            6c 65 64 20 64 69 61 6d 6f 6e 64 20 7d 0d 0a 20 20 20 34 3a 20 46 69 6c 6c 57 65 64 67 65 28 73   ┆led diamond å     4: FillWedge(s┆
0x55d20…55d40            78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 2c 2d 33 30 2c 33 36 30 2c 31 32 30 29 3b 20 7b 20   ┆x,sy,markersize,-30,360,120); æ ┆
0x55d40…55d60            46 69 6c 6c 65 64 20 74 72 69 61 6e 67 6c 65 2c 20 65 64 67 65 20 75 70 20 7d 0d 0a 20 20 20 35   ┆Filled triangle, edge up å     5┆
0x55d60…55d80            3a 20 46 69 6c 6c 57 65 64 67 65 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 2c 20 33 30   ┆: FillWedge(sx,sy,markersize, 30┆
0x55d80…55da0            2c 33 36 30 2c 31 32 30 29 3b 20 7b 20 46 69 6c 6c 65 64 20 74 72 69 61 6e 67 6c 65 2c 20 65 64   ┆,360,120); æ Filled triangle, ed┆
0x55da0…55dc0            67 65 20 64 6f 77 6e 20 7d 0d 0a 20 20 20 36 3a 20 46 69 6c 6c 57 65 64 67 65 28 73 78 2c 73 79   ┆ge down å     6: FillWedge(sx,sy┆
0x55dc0…55de0            2c 6d 61 72 6b 65 72 73 69 7a 65 2c 20 20 30 2c 33 36 30 2c 20 37 32 29 3b 20 7b 20 46 69 6c 6c   ┆,markersize,  0,360, 72); æ Fill┆
0x55de0…55e00            65 64 20 70 65 6e 74 61 67 6f 6e 20 7d 0d 0a 20 20 20 37 3a 20 46 69 6c 6c 57 65 64 67 65 28 73   ┆ed pentagon å     7: FillWedge(s┆
0x55e00…55e20            78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 2c 20 31 38 2c 33 36 30 2c 20 36 30 29 3b 20 7b 20   ┆x,sy,markersize, 18,360, 60); æ ┆
0x55e20…55e40            46 69 6c 6c 65 64 20 68 65 78 61 67 6f 6e 20 7d 0d 0a 20 20 20 38 3a 20 42 45 47 49 4e 20 20 20   ┆Filled hexagon å     8: BEGIN   ┆
0x55e40…55e60            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b   ┆                               æ┆
0x55e60…55e80            20 46 69 6c 6c 65 64 20 73 74 61 72 20 7d 0d 0a 20 20 20 20 20 20 46 69 6c 6c 57 65 64 67 65 28   ┆ Filled star å        FillWedge(┆
0x55e80…55ea0            73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 2c 2d 33 30 2c 33 36 30 2c 31 32 30 29 3b 0d 0a   ┆sx,sy,markersize,-30,360,120);  ┆
0x55ea0…55ec0            20 20 20 20 20 20 46 69 6c 6c 57 65 64 67 65 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65   ┆      FillWedge(sx,sy,markersize┆
0x55ec0…55ee0            2c 20 33 30 2c 33 36 30 2c 31 32 30 29 3b 0d 0a 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 31 31   ┆, 30,360,120);        END;    11┆
0x55ee0…55f00            3a 20 4d 61 72 6b 43 69 72 63 6c 65 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 29 3b 20   ┆: MarkCircle(sx,sy,markersize); ┆
0x55f00…55f20            20 20 20 20 20 20 20 20 20 20 20 7b 20 63 69 72 63 6c 65 20 7d 0d 0a 20 20 31 32 3a 20 4d 61 72   ┆           æ circle å    12: Mar┆
0x55f20…55f40            6b 53 71 75 61 72 65 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 29 3b 0d 0a 20 20 20 20   ┆kSquare(sx,sy,markersize);      ┆
0x55f40…55f60            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x55f60…55f80            20 20 20 20 20 20 20 20 20 7b 20 73 71 75 61 72 65 20 7d 0d 0a 20 20 31 33 3a 20 4d 61 72 6b 57   ┆         æ square å    13: MarkW┆
0x55f80…55fa0            65 64 67 65 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 2c 20 20 30 2c 33 36 30 2c 20 39   ┆edge(sx,sy,markersize,  0,360, 9┆
0x55fa0…55fc0            30 29 3b 20 7b 20 64 69 61 6d 6f 6e 64 20 7d 0d 0a 20 20 31 34 3a 20 4d 61 72 6b 57 65 64 67 65   ┆0); æ diamond å    14: MarkWedge┆
0x55fc0…55fe0            28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 2c 2d 33 30 2c 33 36 30 2c 31 32 30 29 3b 20   ┆(sx,sy,markersize,-30,360,120); ┆
0x55fe0…56000            7b 20 74 72 69 61 6e 67 6c 65 2c 20 65 64 67 65 20 75 70 20 7d 0d 0a 20 20 31 35 3a 20 4d 61 72   ┆æ triangle, edge up å    15: Mar┆
0x56000…56020 (34, 0, 5) 6b 57 65 64 67 65 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 2c 20 33 30 2c 33 36 30 2c   ┆kWedge(sx,sy,markersize, 30,360,┆
0x56020…56040            31 32 30 29 3b 20 7b 20 74 72 69 61 6e 67 6c 65 2c 20 65 64 67 65 20 64 6f 77 6e 20 7d 0d 0a 20   ┆120); æ triangle, edge down å   ┆
0x56040…56060            20 31 36 3a 20 4d 61 72 6b 57 65 64 67 65 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 2c   ┆ 16: MarkWedge(sx,sy,markersize,┆
0x56060…56080            20 31 38 2c 33 36 30 2c 20 37 32 29 3b 20 7b 20 70 65 6e 74 61 67 6f 6e 20 7d 0d 0a 20 20 31 37   ┆ 18,360, 72); æ pentagon å    17┆
0x56080…560a0            3a 20 4d 61 72 6b 57 65 64 67 65 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 2c 20 20 30   ┆: MarkWedge(sx,sy,markersize,  0┆
0x560a0…560c0            2c 33 36 30 2c 20 36 30 29 3b 20 7b 20 68 65 78 61 67 6f 6e 20 7d 0d 0a 20 20 31 38 3a 20 20 20   ┆,360, 60); æ hexagon å    18:   ┆
0x560c0…560e0            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x560e0…56100            20 20 20 20 20 7b 20 73 74 61 72 20 7d 0d 0a 20 20 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20   ┆     æ star å        BEGIN      ┆
0x56100…56120            20 20 4d 61 72 6b 57 65 64 67 65 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 2c 2d 33 30   ┆  MarkWedge(sx,sy,markersize,-30┆
0x56120…56140            2c 33 36 30 2c 31 32 30 29 3b 0d 0a 20 20 20 20 20 20 4d 61 72 6b 57 65 64 67 65 28 73 78 2c 73   ┆,360,120);        MarkWedge(sx,s┆
0x56140…56160            79 2c 6d 61 72 6b 65 72 73 69 7a 65 2c 20 33 30 2c 33 36 30 2c 31 32 30 29 3b 0d 0a 20 20 20 20   ┆y,markersize, 30,360,120);      ┆
0x56160…56180            20 20 45 4e 44 3b 0d 0a 20 20 32 31 3a 20 4d 61 72 6b 43 72 6f 73 73 28 73 78 2c 73 79 2c 6d 61   ┆  END;    21: MarkCross(sx,sy,ma┆
0x56180…561a0            72 6b 65 72 73 69 7a 65 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 63 72 6f 73 73 20 7d   ┆rkersize);             æ cross å┆
0x561a0…561c0            0d 0a 20 20 32 32 3a 20 4d 61 72 6b 50 6c 75 73 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a   ┆    22: MarkPlus(sx,sy,markersiz┆
0x561c0…561e0            65 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 70 6c 75 73 20 20 7d 0d 0a 20 20 32 33   ┆e);              æ plus  å    23┆
0x561e0…56200            3a 20 4d 61 72 6b 48 61 73 68 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 29 3b 20 20 20   ┆: MarkHash(sx,sy,markersize);   ┆
0x56200…56220            20 20 20 20 20 20 20 20 20 20 20 7b 20 68 61 73 68 20 20 7d 0d 0a 20 20 32 34 3a 20 4d 61 72 6b   ┆           æ hash  å    24: Mark┆
0x56220…56240            59 28 73 78 2c 73 79 2c 6d 61 72 6b 65 72 73 69 7a 65 29 3b 20 20 20 20 20 20 20 20 20 20 20 20   ┆Y(sx,sy,markersize);            ┆
0x56240…56260            20 20 20 20 20 7b 20 59 20 20 20 20 20 7d 0d 0a 20 28 2a 20 33 33 2e 2e 31 32 37 3a 20 4d 61 72   ┆     æ Y     å   (* 33..127: Mar┆
0x56260…56280            6b 53 79 6d 62 6f 6c 4d 6f 64 65 28 73 78 2c 73 79 2c 73 79 6d 62 6f 6c 29 3b 2a 29 0d 0a 20 20   ┆kSymbolMode(sx,sy,symbol);*)    ┆
0x56280…562a0            45 4e 44 3b 0d 0a 20 20 20 78 3a 3d 78 6f 6c 64 3b 20 79 3a 3d 79 6f 6c 64 3b 20 6d 6f 76 65 74   ┆END;     x:=xold; y:=yold; movet┆
0x562a0…562c0            6f 28 78 2c 79 29 3b 0d 0a 45 4e 44 3b 0d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆o(x,y);  END;                   ┆
0x562c0…562e0            00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
         […0x1…]
0x56300…56320            e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
         […0x27…]
0x56800…56820 (34, 1, 2) 28 2a 47 53 56 2d 42 41 53 45 2a 29 0d 0a 0d 0a 43 4f 4e 53 54 0d 0a 20 20 62 6c 61 63 6b 20 09   ┆(*GSV-BASE*)    CONST    black  ┆
0x56820…56840            3d 20 30 3b 0d 0a 20 20 77 68 69 74 65 20 09 3d 20 24 46 46 3b 0d 0a 20 20 74 72 61 6e 73 70 09   ┆= 0;    white  = $FF;    transp ┆
0x56840…56860            3d 20 30 31 3b 0d 0a 20 20 57 6e 64 5f 6d 61 78 20 09 3d 20 35 3b 0d 0a 20 20 63 68 61 72 66 69   ┆= 01;    Wnd_max  = 5;    charfi┆
0x56860…56880            6c 6e 61 6d 65 20 09 3d 20 27 61 3a 47 53 56 2d 66 6f 6e 74 2e 63 68 72 27 3b 0d 0a 20 20 74 78   ┆lname  = 'a:GSV-font.chr';    tx┆
0x56880…568a0            74 5f 6d 6f 64 65 09 3a 20 42 4f 4f 4c 45 41 4e 20 3d 20 74 72 75 65 3b 0d 0a 20 20 6c 69 6e 65   ┆t_mode : BOOLEAN = true;    line┆
0x568a0…568c0            74 79 70 65 20 20 20 20 20 20 3a 20 41 52 52 41 59 28 2e 30 2e 2e 31 34 2e 29 20 4f 46 20 42 59   ┆type      : ARRAY(.0..14.) OF BY┆
0x568c0…568e0            54 45 20 3d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 24 30 30 2c 24 46 46   ┆TE =                    ($00,$FF┆
0x568e0…56900            2c 24 46 45 2c 24 46 43 2c 24 46 41 2c 24 46 38 2c 24 46 36 2c 24 46 30 2c 0d 0a 20 20 20 20 20   ┆,$FE,$FC,$FA,$F8,$F6,$F0,       ┆
0x56900…56920            20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 45 45 2c 24 45 41 2c 24 45 34 2c 24 43 43 2c 24 41   ┆              $EE,$EA,$E4,$CC,$A┆
0x56920…56940            41 2c 24 38 38 2c 24 38 30 29 3b 0d 0a 0d 0a 20 20 70 61 74 74 65 72 6e 74 79 70 65 20 20 20 3a   ┆A,$88,$80);      patterntype   :┆
0x56940…56960            20 61 72 72 61 79 28 2e 30 2e 2e 31 35 2c 30 2e 2e 37 2e 29 20 4f 46 20 42 59 54 45 20 3d 0d 0a   ┆ array(.0..15,0..7.) OF BYTE =  ┆
0x56960…56980            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 24 30 30 2c 24 30 30 2c 24 30 30 2c 24   ┆                 (($00,$00,$00,$┆
0x56980…569a0            30 30 2c 24 30 30 2c 24 30 30 2c 24 30 30 2c 24 30 30 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆00,$00,$00,$00,$00),            ┆
0x569a0…569c0            20 20 20 20 20 20 20 20 28 24 46 46 2c 24 46 46 2c 24 46 46 2c 24 46 46 2c 24 46 46 2c 24 46 46   ┆        ($FF,$FF,$FF,$FF,$FF,$FF┆
0x569c0…569e0            2c 24 46 46 2c 24 46 46 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 24   ┆,$FF,$FF),                    ($┆
0x569e0…56a00            38 38 2c 24 34 34 2c 24 32 32 2c 24 31 31 2c 24 38 38 2c 24 34 34 2c 24 32 32 2c 24 31 31 29 2c   ┆88,$44,$22,$11,$88,$44,$22,$11),┆
0x56a00…56a20            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x56a20…56a40            20 20 20 20 28 24 41 41 2c 24 41 41 2c 24 41 41 2c 24 41 41 2c 24 41 41 2c 24 41 41 2c 24 41 41   ┆    ($AA,$AA,$AA,$AA,$AA,$AA,$AA┆
0x56a40…56a60            2c 24 41 41 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 24 46 46 2c 24   ┆,$AA),                    ($FF,$┆
0x56a60…56a80            30 30 2c 24 46 46 2c 24 30 30 2c 24 46 46 2c 24 30 30 2c 24 46 46 2c 24 30 30 29 2c 0d 0a 20 20   ┆00,$FF,$00,$FF,$00,$FF,$00),    ┆
0x56a80…56aa0            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 24 46 46 2c 24 41 41 2c 24 46 46 2c 24 41 41   ┆                ($FF,$AA,$FF,$AA┆
0x56aa0…56ac0            2c 24 46 46 2c 24 41 41 2c 24 46 46 2c 24 41 41 29 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆,$FF,$AA,$FF,$AA),              ┆
0x56ac0…56ae0            20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 24   ┆                              ($┆
0x56ae0…56b00            41 41 2c 24 35 35 2c 24 41 41 2c 24 35 35 2c 24 41 41 2c 24 35 35 2c 24 41 41 2c 24 35 35 29 2c   ┆AA,$55,$AA,$55,$AA,$55,$AA,$55),┆
0x56b00…56b20            0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 24 31 31 2c 24 32 32 2c 24 34 34   ┆                    ($11,$22,$44┆
0x56b20…56b40            2c 24 38 38 2c 24 31 31 2c 24 32 32 2c 24 34 34 2c 24 38 38 29 2c 20 20 20 20 20 20 20 20 20 20   ┆,$88,$11,$22,$44,$88),          ┆
0x56b40…56b60            20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28   ┆                               (┆
0x56b60…56b80            24 38 38 2c 24 38 38 2c 24 38 38 2c 24 38 38 2c 24 38 38 2c 24 38 38 2c 24 38 38 2c 24 38 38 29   ┆$88,$88,$88,$88,$88,$88,$88,$88)┆
0x56b80…56ba0            2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆,                               ┆
0x56ba0…56bc0            20 20 20 28 24 46 46 2c 24 30 30 2c 24 30 30 2c 24 30 30 2c 24 46 46 2c 24 30 30 2c 24 30 30 2c   ┆   ($FF,$00,$00,$00,$FF,$00,$00,┆
0x56bc0…56be0            24 30 30 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 24 46 46 2c 24 38   ┆$00),                    ($FF,$8┆
0x56be0…56c00            38 2c 24 38 38 2c 24 38 38 2c 24 46 46 2c 24 38 38 2c 24 38 38 2c 24 38 38 29 2c 20 20 20 20 20   ┆8,$88,$88,$FF,$88,$88,$88),     ┆
0x56c00…56c20 (34, 1, 3) 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x56c20…56c40            20 20 20 20 20 20 28 24 30 33 2c 24 38 34 2c 24 34 38 2c 24 33 30 2c 24 33 30 2c 24 34 38 2c 24   ┆      ($03,$84,$48,$30,$30,$48,$┆
0x56c40…56c60            38 34 2c 24 30 33 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 24 38 38   ┆84,$03),                    ($88┆
0x56c60…56c80            2c 24 35 35 2c 24 32 32 2c 24 35 35 2c 24 38 38 2c 24 35 35 2c 24 32 32 2c 24 35 35 29 2c 0d 0a   ┆,$55,$22,$55,$88,$55,$22,$55),  ┆
0x56c80…56ca0            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 24 38 30 2c 24 38 30 2c 24 38 30 2c 24   ┆                  ($80,$80,$80,$┆
0x56ca0…56cc0            38 30 2c 24 38 30 2c 24 38 30 2c 24 38 30 2c 24 38 30 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆80,$80,$80,$80,$80),            ┆
0x56cc0…56ce0            20 20 20 20 20 20 20 20 28 24 46 46 2c 24 30 30 2c 24 30 30 2c 24 30 30 2c 24 30 30 2c 24 30 30   ┆        ($FF,$00,$00,$00,$00,$00┆
0x56ce0…56d00            2c 24 30 30 2c 24 30 30 29 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆,$00,$00),                      ┆
0x56d00…56d20            0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 24 46 46 2c 24 38 30 2c 24 38 30   ┆                    ($FF,$80,$80┆
0x56d20…56d40            2c 24 38 30 2c 24 38 30 2c 24 38 30 2c 24 38 30 2c 24 38 30 29 29 3b 0d 0a 0d 0a 20 20 20 20 20   ┆,$80,$80,$80,$80,$80));         ┆
0x56d40…56d60            20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 28 2a 20 20 46 6f 72 65 2d 20 61 6e 64 20 62 61   ┆                (*  Fore- and ba┆
0x56d60…56d80            63 6b 67 72 6f 75 6e 64 63 6f 6c 6f 72 73 2a 29 0d 0a 28 2a 20 20 20 20 4c 69 67 68 74 54 78 74   ┆ckgroundcolors*)  (*    LightTxt┆
0x56d80…56da0            20 6f 6e 6c 79 20 77 6f 72 6b 73 20 46 4f 52 20 66 6f 72 65 67 72 6f 75 6e 64 63 6f 6c 6f 72 73   ┆ only works FOR foregroundcolors┆
0x56da0…56dc0            2a 29 0d 0a 28 2a 20 20 20 20 42 6c 69 6e 6b 54 78 74 20 6f 6e 6c 79 20 77 6f 72 6b 73 20 46 4f   ┆*)  (*    BlinkTxt only works FO┆
0x56dc0…56de0            52 20 62 61 63 6b 67 72 6f 75 6e 64 63 6f 6c 6f 72 73 20 2a 29 0d 0a 20 20 62 6c 61 63 6b 54 78   ┆R backgroundcolors *)    blackTx┆
0x56de0…56e00            74 09 3d 20 30 3b 20 77 68 69 74 65 74 78 74 09 3d 20 37 3b 0d 0a 20 20 6c 69 67 68 74 74 78 74   ┆t = 0; whitetxt = 7;    lighttxt┆
0x56e00…56e20            09 3d 20 38 3b 20 20 62 6c 69 6e 6b 74 78 74 20 20 3d 20 38 3b 0d 0a 0d 0a 54 59 50 45 0d 0a 20   ┆ = 8;  blinktxt  = 8;    TYPE   ┆
0x56e20…56e40            20 42 75 66 74 79 70 65 20 09 3d 20 5e 49 4e 54 45 47 45 52 3b 0d 0a 20 20 73 74 72 38 30 20 09   ┆ Buftype  = ^INTEGER;    str80  ┆
0x56e40…56e60            3d 20 53 54 52 49 4e 47 28 2e 38 30 2e 29 3b 0d 0a 20 20 73 74 72 31 20 20 20 20 20 20 20 20 20   ┆= STRING(.80.);    str1         ┆
0x56e60…56e80            20 3d 20 53 54 52 49 4e 47 5b 31 5d 3b 0d 0a 20 20 73 74 72 32 20 20 20 20 20 20 20 20 20 20 3d   ┆ = STRINGÆ1Å;    str2          =┆
0x56e80…56ea0            20 53 54 52 49 4e 47 5b 32 5d 3b 0d 0a 20 20 73 74 72 31 35 20 20 20 20 20 20 20 20 20 3d 20 53   ┆ STRINGÆ2Å;    str15         = S┆
0x56ea0…56ec0            54 52 49 4e 47 5b 31 35 5d 3b 0d 0a 20 20 73 74 72 32 35 20 20 20 20 20 20 20 20 20 3d 20 53 54   ┆TRINGÆ15Å;    str25         = ST┆
0x56ec0…56ee0            52 49 4e 47 5b 32 35 5d 3b 0d 0a 20 20 63 68 61 72 73 65 74 20 20 20 20 20 20 20 3d 20 73 65 74   ┆RINGÆ25Å;    charset       = set┆
0x56ee0…56f00            20 6f 66 20 63 68 61 72 3b 0d 0a 20 20 57 6e 64 5f 54 59 50 45 20 3d 20 52 45 43 4f 52 44 0d 0a   ┆ of char;    Wnd_TYPE = RECORD  ┆
0x56f00…56f20            20 20 20 20 78 31 2c 20 79 31 09 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 6d 61 78 78   ┆    x1, y1  : INTEGER;      maxx┆
0x56f20…56f40            2c 20 6d 61 78 79 09 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 70 65 6e 63 6f 6c 6f 72   ┆, maxy  : INTEGER;      pencolor┆
0x56f40…56f60            2c 20 62 61 63 6b 63 6f 6c 6f 72 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 74 78 74 6d   ┆, backcolor : INTEGER;      txtm┆
0x56f60…56f80            61 78 78 2c 20 74 78 74 6d 61 78 79 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 74 78 74   ┆axx, txtmaxy : INTEGER;      txt┆
0x56f80…56fa0            78 31 2c 20 74 78 74 79 31 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 68 64 72 09 09 09   ┆x1, txty1 : INTEGER;      hdr   ┆
0x56fa0…56fc0            3a 20 73 74 72 38 30 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 20 20 57 6c 64 5f 54 59 50 45 20 3d   ┆: str80;    END;      Wld_TYPE =┆
0x56fc0…56fe0            20 52 45 43 4f 52 44 0d 0a 20 20 20 20 78 31 2c 20 79 31 09 3a 20 52 45 41 4c 3b 0d 0a 20 20 20   ┆ RECORD      x1, y1 : REAL;     ┆
0x56fe0…57000            20 78 72 61 6e 67 65 2c 20 79 72 61 6e 67 65 3a 20 52 45 41 4c 3b 0d 0a 20 20 20 20 58 4f 6c 64   ┆ xrange, yrange: REAL;      XOld┆
0x57000…57020 (34, 1, 4) 2c 20 59 6f 6c 64 09 3a 20 52 45 41 4c 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 20 20 73 61 76 65   ┆, Yold : REAL;    END;      save┆
0x57020…57040            5f 54 59 50 45 20 3d 20 52 45 43 4f 52 44 0d 0a 20 20 20 20 63 6f 6e 74 65 6e 74 09 3a 20 62 75   ┆_TYPE = RECORD      content : bu┆
0x57040…57060            66 74 79 70 65 3b 0d 0a 20 20 20 20 6c 65 6e 67 74 68 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20   ┆ftype;      length : INTEGER;   ┆
0x57060…57080            20 20 20 77 69 6e 64 09 3a 20 57 6e 64 5f 54 59 50 45 3b 0d 0a 20 20 20 20 6f 6c 64 31 2c 20 6f   ┆   wind : Wnd_TYPE;      old1, o┆
0x57080…570a0            6c 64 32 09 3a 20 52 45 41 4c 3b 0d 0a 20 20 20 20 61 63 74 75 61 6c 09 3a 20 49 4e 54 45 47 45   ┆ld2 : REAL;      actual : INTEGE┆
0x570a0…570c0            52 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 0d 0a 20 20 72 65 67 74 79 70 20 3d 20 52 45 43 4f 52   ┆R;    END;        regtyp = RECOR┆
0x570c0…570e0            44 0d 0a 20 20 20 20 61 78 2c 62 78 2c 63 78 2c 64 78 2c 62 70 2c 73 69 2c 64 69 2c 64 73 2c 65   ┆D      ax,bx,cx,dx,bp,si,di,ds,e┆
0x570e0…57100            73 2c 66 6c 61 67 73 3a 49 4e 54 45 47 45 52 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 6f 70 72 74 79   ┆s,flags:INTEGER    END;    oprty┆
0x57100…57120            70 65 09 3d 20 28 73 61 76 65 2c 6c 6f 61 64 2c 73 63 72 73 77 61 70 29 3b 0d 0a 20 20 63 68 61   ┆pe = (save,load,scrswap);    cha┆
0x57120…57140            72 66 69 6c 74 79 70 65 09 3d 20 41 52 52 41 59 28 2e 30 2e 2e 32 35 35 2e 29 20 4f 46 20 41 52   ┆rfiltype = ARRAY(.0..255.) OF AR┆
0x57140…57160            52 41 59 28 2e 30 2e 2e 37 2e 29 20 4f 46 20 42 59 54 45 3b 0d 0a 0d 0a 20 20 74 78 74 5f 6c 69   ┆RAY(.0..7.) OF BYTE;      txt_li┆
0x57160…57180            6e 65 63 68 61 72 09 3d 20 52 45 43 4f 52 44 0d 0a 20 20 20 20 43 41 53 45 20 42 4f 4f 4c 45 41   ┆nechar = RECORD      CASE BOOLEA┆
0x57180…571a0            4e 20 4f 46 0d 0a 20 20 20 20 20 20 74 72 75 65 3a 20 28 63 68 3a 20 43 48 41 52 3b 20 20 61 74   ┆N OF        true: (ch: CHAR;  at┆
0x571a0…571c0            74 3a 20 42 59 54 45 29 3b 0d 0a 20 20 20 20 20 20 66 61 6c 73 65 3a 28 62 6f 74 68 3a 20 49 4e   ┆t: BYTE);        false:(both: IN┆
0x571c0…571e0            54 45 47 45 52 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 20 20 50 72 6e 5f 54 59 50 45 20 20 20   ┆TEGER);    END;      Prn_TYPE   ┆
0x571e0…57200            20 20 20 3d 20 28 4e 45 43 5f 31 36 62 69 74 2c 4e 45 43 5f 38 62 69 74 29 3b 0d 0a 20 20 70 74   ┆   = (NEC_16bit,NEC_8bit);    pt┆
0x57200…57220            72 5f 54 59 50 45 09 3d 20 5e 49 4e 54 45 47 45 52 3b 0d 0a 20 20 74 78 74 5f 6c 69 6e 65 09 3d   ┆r_TYPE = ^INTEGER;    txt_line =┆
0x57220…57240            20 41 52 52 41 59 28 2e 30 2e 2e 37 39 2e 29 20 4f 46 20 74 78 74 5f 6c 69 6e 65 63 68 61 72 3b   ┆ ARRAY(.0..79.) OF txt_linechar;┆
0x57240…57260            0d 0a 20 20 74 78 74 5f 63 68 61 72 73 65 74 20 20 20 3d 20 53 45 54 20 4f 46 20 43 48 41 52 3b   ┆    txt_charset   = SET OF CHAR;┆
0x57260…57280            0d 0a 20 20 61 6e 79 73 74 72 20 20 20 20 20 20 20 20 3d 20 73 74 72 69 6e 67 5b 32 35 35 5d 3b   ┆    anystr        = stringÆ255Å;┆
0x57280…572a0            0d 0a 56 41 52 0d 0a 20 20 53 63 72 5f 6d 61 78 78 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20   ┆  VAR    Scr_maxx : INTEGER;    ┆
0x572a0…572c0            53 63 72 5f 6d 61 78 79 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 53 63 72 5f 73 65 67 6d 09   ┆Scr_maxy : INTEGER;    Scr_segm ┆
0x572c0…572e0            3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 53 63 72 5f 61 73 70 65 63 74 09 3a 20 49 4e 54 45 47   ┆: INTEGER;    Scr_aspect : INTEG┆
0x572e0…57300            45 52 3b 0d 0a 20 20 53 63 72 5f 78 61 64 64 72 09 3a 20 41 52 52 41 59 28 2e 30 2e 2e 36 34 30   ┆ER;    Scr_xaddr : ARRAY(.0..640┆
0x57300…57320            2e 29 20 4f 46 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 53 63 72 5f 79 61 64 64 72 09 3a 20 41 52   ┆.) OF INTEGER;    Scr_yaddr : AR┆
0x57320…57340            52 41 59 28 2e 30 2e 2e 34 30 30 2e 29 20 4f 46 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 53 63 72   ┆RAY(.0..400.) OF INTEGER;    Scr┆
0x57340…57360            5f 42 45 47 49 4e 09 3a 20 5e 49 4e 54 45 47 45 52 3b 0d 0a 0d 0a 20 20 57 6e 64 5f 09 09 3a 20   ┆_BEGIN : ^INTEGER;      Wnd_  : ┆
0x57360…57380            57 6e 64 5f 54 59 50 45 3b 0d 0a 20 20 57 6e 64 5f 70 61 6c 65 74 74 65 20 20 20 3a 20 41 52 52   ┆Wnd_TYPE;    Wnd_palette   : ARR┆
0x57380…573a0            41 59 28 2e 30 2e 2e 31 35 2e 29 20 4f 46 20 62 79 74 65 3b 0d 0a 20 20 57 6c 64 5f 09 09 3a 20   ┆AY(.0..15.) OF byte;    Wld_  : ┆
0x573a0…573c0            57 6c 64 5f 54 59 50 45 3b 0d 0a 0d 0a 20 20 57 6e 64 5f 61 72 72 09 3a 20 41 52 52 41 59 28 2e   ┆Wld_TYPE;      Wnd_arr : ARRAY(.┆
0x573c0…573e0            31 2e 2e 57 6e 64 5f 6d 61 78 2e 29 20 4f 46 20 57 6e 64 5f 54 59 50 45 3b 0d 0a 20 20 57 6c 64   ┆1..Wnd_max.) OF Wnd_TYPE;    Wld┆
0x573e0…57400            5f 61 72 72 09 3a 20 41 52 52 41 59 28 2e 31 2e 2e 57 6e 64 5f 6d 61 78 2e 29 20 4f 46 20 57 6c   ┆_arr : ARRAY(.1..Wnd_max.) OF Wl┆
0x57400…57420 (34, 1, 5) 64 5f 54 59 50 45 3b 0d 0a 20 20 53 61 76 65 5f 61 72 72 09 3a 20 41 52 52 41 59 28 2e 31 2e 2e   ┆d_TYPE;    Save_arr : ARRAY(.1..┆
0x57420…57440            57 6e 64 5f 6d 61 78 2e 29 20 4f 46 20 73 61 76 65 5f 54 59 50 45 3b 0d 0a 20 20 57 6e 64 5f 61   ┆Wnd_max.) OF save_TYPE;    Wnd_a┆
0x57440…57460            63 74 75 61 6c 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 57 6e 64 5f 43 6f 6c 6f 72 09 3a 20   ┆ctual : INTEGER;    Wnd_Color : ┆
0x57460…57480            49 4e 54 45 47 45 52 3b 0d 0a 20 20 72 65 67 09 09 3a 20 72 65 67 74 79 70 3b 0d 0a 20 20 53 63   ┆INTEGER;    reg  : regtyp;    Sc┆
0x57480…574a0            72 5f 73 74 61 72 74 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 53 63 72 5f 43 48 41 52 09 3a   ┆r_start : INTEGER;    Scr_CHAR :┆
0x574a0…574c0            20 63 68 61 72 66 69 6c 74 79 70 65 3b 0d 0a 20 20 74 78 74 5f 6c 69 6e 65 70 74 72 09 3a 20 41   ┆ charfiltype;    txt_lineptr : A┆
0x574c0…574e0            52 52 41 59 28 2e 30 2e 2e 32 34 2e 29 20 4f 46 20 5e 74 78 74 5f 6c 69 6e 65 3b 0d 0a 20 20 74   ┆RRAY(.0..24.) OF ^txt_line;    t┆
0x574e0…57500            78 74 5f 6d 61 78 78 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 74 78 74 5f 6d 61 78 79 09 3a   ┆xt_maxx : INTEGER;    txt_maxy :┆
0x57500…57520            20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 42 69 74 6e 72 20 20 20 20 20 20 20 20 20 3a 20 49 4e 54   ┆ INTEGER;    Bitnr         : INT┆
0x57520…57540            45 47 45 52 3b 0d 0a 20 20 4c 69 6e 65 50 61 74 74 65 72 6e 20 20 20 3a 20 42 59 54 45 3b 0d 0a   ┆EGER;    LinePattern   : BYTE;  ┆
0x57540…57560            20 20 4c 69 6e 65 50 61 74 74 65 72 6e 53 69 7a 65 20 20 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20   ┆  LinePatternSize  : INTEGER;   ┆
0x57560…57580            20 6d 61 72 6b 65 72 73 69 7a 65 20 20 20 20 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 43 68 48   ┆ markersize    : INTEGER;    ChH┆
0x57580…575a0            65 69 67 74 68 20 20 20 20 20 20 3a 20 52 45 41 4c 3b 0d 0a 20 20 43 68 57 69 64 74 68 20 20 20   ┆eigth      : REAL;    ChWidth   ┆
0x575a0…575c0            20 20 20 20 3a 20 52 45 41 4c 3b 0d 0a 20 20 52 6f 74 61 74 69 6f 6e 20 20 20 20 20 20 3a 20 49   ┆    : REAL;    Rotation      : I┆
0x575c0…575e0            4e 54 45 47 45 52 3b 0d 0a 0d 0a 43 4f 4e 53 54 0d 0a 20 20 73 63 72 5f 73 77 61 70 5f 3a 20 6f   ┆NTEGER;    CONST    scr_swap_: o┆
0x575e0…57600            70 72 74 79 70 65 3d 6c 6f 61 64 3b 0d 0a 0d 0a 7b 20 43 53 54 52 20 72 65 74 75 72 6e 73 20 61   ┆prtype=load;    æ CSTR returns a┆
0x57600…57620            20 73 74 72 69 6e 67 20 77 69 74 68 20 4e 20 63 68 61 72 61 63 74 65 72 73 20 6f 66 20 76 61 6c   ┆ string with N characters of val┆
0x57620…57640            75 65 20 43 20 7d 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 63 73 74 72 28 63 3a 20 63 68 61 72 3b   ┆ue C å    FUNCTION cstr(c: char;┆
0x57640…57660            20 6e 3a 20 69 6e 74 65 67 65 72 29 3a 20 61 6e 79 73 74 72 3b 0d 0a 56 41 52 0d 0a 20 20 73 3a   ┆ n: integer): anystr;  VAR    s:┆
0x57660…57680            20 53 54 52 49 4e 47 5b 32 35 35 5d 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 49 46 20 6e 3c 30 20 54   ┆ STRINGÆ255Å;  BEGIN    IF n<0 T┆
0x57680…576a0            48 45 4e 20 6e 3a 3d 30 3b 20 73 5b 30 5d 3a 3d 63 68 72 28 6e 29 3b 20 66 69 6c 6c 28 73 5b 31   ┆HEN n:=0; sÆ0Å:=chr(n); fill(sÆ1┆
0x576a0…576c0            5d 2c 6e 2c 63 29 3b 0d 0a 20 20 63 73 74 72 3a 3d 73 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46 55 4e   ┆Å,n,c);    cstr:=s;  END;    FUN┆
0x576c0…576e0            43 54 49 4f 4e 20 73 70 63 28 6c 3a 20 49 4e 54 45 47 45 52 3b 20 63 68 3a 20 43 48 41 52 29 3a   ┆CTION spc(l: INTEGER; ch: CHAR):┆
0x576e0…57700            73 74 72 38 30 3b 0d 0a 56 41 52 20 0d 0a 20 20 73 09 3a 20 73 74 72 38 30 3b 0d 0a 20 20 73 6c   ┆str80;  VAR     s : str80;    sl┆
0x57700…57720            67 74 20 20 3a 20 42 59 54 45 20 41 54 20 73 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 73 6c 67 74 3a   ┆gt  : BYTE AT s;  BEGIN    slgt:┆
0x57720…57740            3d 6c 3b 0d 0a 20 20 66 69 6c 6c 28 73 28 2e 31 2e 29 2c 6c 2c 63 68 29 3b 0d 0a 20 20 73 70 63   ┆=l;    fill(s(.1.),l,ch);    spc┆
0x57740…57760            3a 3d 73 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 73 77 61 70 28 56 41 52   ┆:=s;  END;    PROCEDURE swap(VAR┆
0x57760…57780            20 61 2c 62 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 20 63 3a 20 49 4e 54 45 47 45 52 3b   ┆ a,b: INTEGER);  VAR c: INTEGER;┆
0x57780…577a0            0d 0a 42 45 47 49 4e 0d 0a 20 20 63 3a 3d 61 3b 20 61 3a 3d 62 3b 20 62 3a 3d 63 3b 0d 0a 45 4e   ┆  BEGIN    c:=a; a:=b; b:=c;  EN┆
0x577a0…577c0            44 3b 20 0d 0a 20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 69 6e 69 74 5f 67 72 61 70 68 69   ┆D;         PROCEDURE init_graphi┆
0x577c0…577e0            63 73 3b 0d 0a 56 41 52 0d 0a 20 20 53 63 72 5f 4d 4f 44 2c 20 69 3a 20 49 4e 54 45 47 45 52 3b   ┆cs;  VAR    Scr_MOD, i: INTEGER;┆
0x577e0…57800            0d 0a 20 20 63 68 61 72 66 69 6c 3a 20 46 49 4c 45 20 4f 46 20 63 68 61 72 66 69 6c 74 79 70 65   ┆    charfil: FILE OF charfiltype┆
0x57800…57820 (35, 0, 1) 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 28 2a 20 4f 6c 69 76 65 74 74 69 20 67 72 61 70 68 69 63 73   ┆;  BEGIN    (* Olivetti graphics┆
0x57820…57840            20 36 34 30 2a 34 30 30 20 70 6f 69 6e 74 73 20 2a 29 0d 0a 20 20 53 63 72 5f 73 65 67 6d 3a 3d   ┆ 640*400 points *)    Scr_segm:=┆
0x57840…57860            24 42 38 30 30 3b 0d 0a 20 20 53 63 72 5f 4d 4f 44 3a 3d 34 3b 0d 0a 20 20 53 63 72 5f 73 74 61   ┆$B800;    Scr_MOD:=4;    Scr_sta┆
0x57860…57880            72 74 3a 3d 36 34 3b 0d 0a 20 20 53 63 72 5f 6d 61 78 78 3a 3d 36 33 39 3b 0d 0a 20 20 53 63 72   ┆rt:=64;    Scr_maxx:=639;    Scr┆
0x57880…578a0            5f 6d 61 78 79 3a 3d 33 39 39 3b 0d 0a 20 20 53 63 72 5f 61 73 70 65 63 74 3a 3d 31 30 30 3b 20   ┆_maxy:=399;    Scr_aspect:=100; ┆
0x578a0…578c0            28 2a 53 63 72 5f 61 73 70 65 63 74 3a 3d 31 31 37 3b 2a 29 0d 0a 20 20 74 78 74 5f 6d 61 78 78   ┆(*Scr_aspect:=117;*)    txt_maxx┆
0x578c0…578e0            3a 3d 37 39 3b 0d 0a 20 20 74 78 74 5f 6d 61 78 79 3a 3d 32 34 3b 0d 0a 20 20 0d 0a 20 20 46 4f   ┆:=79;    txt_maxy:=24;        FO┆
0x578e0…57900            52 20 69 3a 3d 20 30 20 54 4f 20 53 63 72 5f 6d 61 78 78 20 44 4f 20 53 63 72 5f 78 61 64 64 72   ┆R i:= 0 TO Scr_maxx DO Scr_xaddr┆
0x57900…57920            28 2e 69 2e 29 3a 3d 69 20 44 49 56 20 38 3b 0d 0a 20 20 46 4f 52 20 69 3a 3d 20 30 20 54 4f 20   ┆(.i.):=i DIV 8;    FOR i:= 0 TO ┆
0x57920…57940            53 63 72 5f 6d 61 78 79 20 44 4f 0d 0a 20 20 20 20 53 63 72 5f 79 61 64 64 72 28 2e 53 63 72 5f   ┆Scr_maxy DO      Scr_yaddr(.Scr_┆
0x57940…57960            6d 61 78 79 2d 69 2e 29 3a 3d 28 28 69 20 4d 4f 44 20 53 63 72 5f 4d 4f 44 29 2a 24 32 30 30 30   ┆maxy-i.):=((i MOD Scr_MOD)*$2000┆
0x57960…57980            29 20 2b 20 28 28 69 20 44 49 56 20 53 63 72 5f 4d 4f 44 29 2a 38 30 29 3b 0d 0a 20 20 61 73 73   ┆) + ((i DIV Scr_MOD)*80);    ass┆
0x57980…579a0            69 67 6e 28 63 68 61 72 66 69 6c 2c 63 68 61 72 66 69 6c 6e 61 6d 65 29 3b 0d 0a 20 20 72 65 73   ┆ign(charfil,charfilname);    res┆
0x579a0…579c0            65 74 28 63 68 61 72 66 69 6c 29 3b 0d 0a 20 20 72 65 61 64 28 63 68 61 72 66 69 6c 2c 53 63 72   ┆et(charfil);    read(charfil,Scr┆
0x579c0…579e0            5f 43 48 41 52 29 3b 0d 0a 20 20 63 6c 6f 73 65 28 63 68 61 72 66 69 6c 29 3b 0d 0a 45 4e 44 3b   ┆_CHAR);    close(charfil);  END;┆
0x579e0…57a00            0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 69 6e 69 74 5f 74 65 78 74 3b 0d 0a 56 41 52 20 78 2c   ┆    PROCEDURE init_text;  VAR x,┆
0x57a00…57a20            69 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 78 3a 3d 30 3b 0d 0a 20 20   ┆i : INTEGER;  BEGIN    x:=0;    ┆
0x57a20…57a40            46 4f 52 20 69 3a 3d 30 20 54 4f 20 32 34 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 74 78 74   ┆FOR i:=0 TO 24 DO BEGIN      txt┆
0x57a40…57a60            5f 6c 69 6e 65 70 74 72 28 2e 69 2e 29 3a 3d 70 74 72 28 24 42 38 30 30 2c 78 29 3b 0d 0a 20 20   ┆_lineptr(.i.):=ptr($B800,x);    ┆
0x57a60…57a80            20 20 78 3a 3d 78 2b 31 36 30 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f   ┆  x:=x+160;    END;  END;    PRO┆
0x57a80…57aa0            43 45 44 55 52 45 20 67 72 61 70 68 6d 6f 64 65 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 49 46 20 74   ┆CEDURE graphmode;  BEGIN    IF t┆
0x57aa0…57ac0            78 74 5f 6d 6f 64 65 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 74 78 74 5f 6d 61 78 78   ┆xt_mode THEN BEGIN      txt_maxx┆
0x57ac0…57ae0            3a 3d 53 63 72 5f 6d 61 78 78 20 44 49 56 20 38 3b 0d 0a 20 20 20 20 74 78 74 5f 6d 61 78 79 3a   ┆:=Scr_maxx DIV 8;      txt_maxy:┆
0x57ae0…57b00            3d 53 63 72 5f 6d 61 78 79 20 44 49 56 20 38 3b 0d 0a 20 20 20 20 74 78 74 5f 6d 6f 64 65 3a 3d   ┆=Scr_maxy DIV 8;      txt_mode:=┆
0x57b00…57b20            66 61 6c 73 65 3b 0d 0a 20 20 20 20 72 65 67 2e 61 78 3a 3d 53 63 72 5f 73 74 61 72 74 3b 0d 0a   ┆false;      reg.ax:=Scr_start;  ┆
0x57b20…57b40            20 20 20 20 73 77 69 6e 74 28 24 31 30 2c 72 65 67 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44   ┆    swint($10,reg);    END;  END┆
0x57b40…57b60            3b 20 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 74 65 78 74 6d 6f 64 65 3b 0d 0a 42 45 47 49 4e   ┆;     PROCEDURE textmode;  BEGIN┆
0x57b60…57b80            0d 0a 20 20 49 46 20 4e 4f 54 20 74 78 74 5f 6d 6f 64 65 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a   ┆    IF NOT txt_mode THEN BEGIN  ┆
0x57b80…57ba0            20 20 20 20 74 78 74 5f 6d 61 78 78 3a 3d 37 39 3b 0d 0a 20 20 20 20 74 78 74 5f 6d 61 78 79 3a   ┆    txt_maxx:=79;      txt_maxy:┆
0x57ba0…57bc0            3d 32 34 3b 0d 0a 20 20 20 20 74 78 74 5f 6d 6f 64 65 3a 3d 74 72 75 65 3b 0d 0a 20 20 20 20 72   ┆=24;      txt_mode:=true;      r┆
0x57bc0…57be0            65 67 2e 61 78 3a 3d 24 30 33 3b 0d 0a 20 20 20 20 73 77 69 6e 74 28 24 31 30 2c 72 65 67 29 3b   ┆eg.ax:=$03;      swint($10,reg);┆
0x57be0…57c00            0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 77 72   ┆    END;  END;      PROCEDURE wr┆
0x57c00…57c20 (35, 0, 2) 69 74 65 73 74 72 28 63 6f 6c 2c 72 6f 77 3a 20 49 4e 54 45 47 45 52 3b 20 73 74 72 3a 20 73 74   ┆itestr(col,row: INTEGER; str: st┆
0x57c20…57c40            72 38 30 29 3b 0d 0a 56 41 52 20 61 74 74 72 69 62 3a 20 42 59 54 45 3b 0d 0a 42 45 47 49 4e 0d   ┆r80);  VAR attrib: BYTE;  BEGIN ┆
0x57c40…57c60            0a 20 20 61 74 74 72 69 62 3a 3d 57 6e 64 5f 70 61 6c 65 74 74 65 28 2e 57 6e 64 5f 61 63 74 75   ┆   attrib:=Wnd_palette(.Wnd_actu┆
0x57c60…57c80            61 6c 2e 29 3b 0d 0a 20 20 43 4f 44 45 0d 0a 20 20 20 24 31 45 2c 24 31 45 2c 24 38 41 2c 24 38   ┆al.);    CODE     $1E,$1E,$8A,$8┆
0x57c80…57ca0            36 2c 72 6f 77 2c 24 42 33 2c 24 35 30 2c 24 46 36 2c 24 45 33 2c 24 32 42 2c 24 44 42 2c 24 38   ┆6,row,$B3,$50,$F6,$E3,$2B,$DB,$8┆
0x57ca0…57cc0            41 2c 24 39 45 2c 63 6f 6c 2c 0d 0a 20 20 20 24 30 33 2c 24 43 33 2c 24 30 33 2c 24 43 30 2c 24   ┆A,$9E,col,     $03,$C3,$03,$C0,$┆
0x57cc0…57ce0            38 42 2c 24 46 38 2c 24 42 45 2c 24 30 30 2c 24 30 30 2c 24 38 41 2c 24 42 45 2c 61 74 74 72 69   ┆8B,$F8,$BE,$00,$00,$8A,$BE,attri┆
0x57ce0…57d00            62 2c 0d 0a 20 20 20 24 38 41 2c 24 38 45 2c 73 74 72 2c 24 32 32 2c 24 43 39 2c 24 37 34 2c 24   ┆b,     $8A,$8E,str,$22,$C9,$74,$┆
0x57d00…57d20            33 45 2c 24 32 42 2c 24 43 30 2c 24 38 45 2c 24 44 38 2c 24 41 30 2c 24 34 39 2c 24 30 34 2c 0d   ┆3E,$2B,$C0,$8E,$D8,$A0,$49,$04, ┆
0x57d20…57d40            0a 20 20 20 24 31 46 2c 24 32 43 2c 24 30 37 2c 24 37 34 2c 24 32 32 2c 24 42 41 2c 24 30 30 2c   ┆    $1F,$2C,$07,$74,$22,$BA,$00,┆
0x57d40…57d60            24 42 38 2c 24 38 45 2c 24 44 41 2c 24 42 41 2c 24 44 41 2c 24 30 33 2c 24 34 36 2c 0d 0a 20 20   ┆$B8,$8E,$DA,$BA,$DA,$03,$46,    ┆
0x57d60…57d80            20 24 38 41 2c 24 39 41 2c 73 74 72 2c 24 45 43 2c 24 41 38 2c 24 30 31 2c 24 37 35 2c 24 46 42   ┆ $8A,$9A,str,$EC,$A8,$01,$75,$FB┆
0x57d80…57da0            2c 24 46 41 2c 24 45 43 2c 24 41 38 2c 24 30 31 2c 24 37 34 2c 24 46 42 2c 0d 0a 20 20 20 24 38   ┆,$FA,$EC,$A8,$01,$74,$FB,     $8┆
0x57da0…57dc0            39 2c 24 31 44 2c 24 34 37 2c 24 34 37 2c 24 45 32 2c 24 45 41 2c 24 32 41 2c 24 43 30 2c 24 37   ┆9,$1D,$47,$47,$E2,$EA,$2A,$C0,$7┆
0x57dc0…57de0            34 2c 24 31 30 2c 24 42 41 2c 24 30 30 2c 24 42 30 2c 0d 0a 20 20 20 24 38 45 2c 24 44 41 2c 24   ┆4,$10,$BA,$00,$B0,     $8E,$DA,$┆
0x57de0…57e00            34 36 2c 24 38 41 2c 24 39 41 2c 73 74 72 2c 24 38 39 2c 24 31 44 2c 24 34 37 2c 24 34 37 2c 24   ┆46,$8A,$9A,str,$89,$1D,$47,$47,$┆
0x57e00…57e20            45 32 2c 24 46 35 2c 24 31 46 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53   ┆E2,$F5,$1F;  END;    PROCEDURE S┆
0x57e20…57e40            63 72 5f 73 65 74 44 6f 74 28 78 2c 79 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d   ┆cr_setDot(x,y: INTEGER);  BEGIN ┆
0x57e40…57e60            0a 20 20 57 6e 64 5f 43 6f 6c 6f 72 3a 3d 57 6e 64 5f 2e 70 65 6e 63 6f 6c 6f 72 3b 0d 0a 20 20   ┆   Wnd_Color:=Wnd_.pencolor;    ┆
0x57e60…57e80            43 4f 44 45 0d 0a 20 20 24 38 42 2c 24 37 45 2c 24 30 36 2c 24 38 42 2c 24 37 36 2c 24 30 34 2c   ┆CODE    $8B,$7E,$06,$8B,$76,$04,┆
0x57e80…57ea0            24 38 39 2c 24 46 39 2c 24 44 31 2c 24 45 37 2c 24 44 31 2c 24 45 36 2c 24 38 42 2c 24 39 44 2c   ┆$89,$F9,$D1,$E7,$D1,$E6,$8B,$9D,┆
0x57ea0…57ec0            3e 53 63 72 5f 78 61 64 64 72 2c 0d 0a 20 20 24 30 33 2c 24 39 43 2c 3e 53 63 72 5f 79 61 64 64   ┆>Scr_xaddr,    $03,$9C,>Scr_yadd┆
0x57ec0…57ee0            72 2c 24 38 30 2c 24 45 31 2c 24 30 37 2c 24 42 32 2c 24 38 30 2c 24 44 32 2c 24 45 41 2c 24 38   ┆r,$80,$E1,$07,$B2,$80,$D2,$EA,$8┆
0x57ee0…57f00            45 2c 24 30 36 2c 3e 53 63 72 5f 73 65 67 6d 2c 24 41 30 2c 0d 0a 20 20 3e 57 6e 64 5f 63 6f 6c   ┆E,$06,>Scr_segm,$A0,    >Wnd_col┆
0x57f00…57f20            6f 72 2c 24 33 43 2c 24 46 46 2c 24 37 35 2c 24 30 35 2c 24 32 36 2c 24 30 38 2c 24 31 37 2c 24   ┆or,$3C,$FF,$75,$05,$26,$08,$17,$┆
0x57f20…57f40            45 42 2c 24 30 45 2c 24 33 43 2c 24 30 30 2c 24 37 35 2c 24 30 37 2c 24 46 36 2c 0d 0a 20 20 24   ┆EB,$0E,$3C,$00,$75,$07,$F6,    $┆
0x57f40…57f60            44 32 2c 24 32 36 2c 24 32 30 2c 24 31 37 2c 24 45 42 2c 24 30 33 2c 24 32 36 2c 24 33 30 2c 24   ┆D2,$26,$20,$17,$EB,$03,$26,$30,$┆
0x57f60…57f80            31 37 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 6d 6f 76 65 53 63 72 5f 74   ┆17;  END;    PROCEDURE moveScr_t┆
0x57f80…57fa0            6f 6d 65 6d 28 78 2c 79 2c 78 6c 65 6e 3a 20 49 4e 54 45 47 45 52 3b 6b 31 2c 6b 32 3a 20 49 4e   ┆omem(x,y,xlen: INTEGER;k1,k2: IN┆
0x57fa0…57fc0            54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 43 4f 44 45 0d 0a 20 20 24 38 42 2c 24 37   ┆TEGER);  BEGIN    CODE    $8B,$7┆
0x57fc0…57fe0            45 2c 24 30 41 2c 24 44 31 2c 24 45 37 2c 24 38 42 2c 24 38 35 2c 3e 53 63 72 5f 79 61 64 64 72   ┆E,$0A,$D1,$E7,$8B,$85,>Scr_yaddr┆
0x57fe0…58000            2c 24 38 42 2c 24 34 45 2c 24 30 38 2c 24 38 42 2c 24 37 45 2c 24 30 43 2c 24 44 31 2c 0d 0a 20   ┆,$8B,$4E,$08,$8B,$7E,$0C,$D1,   ┆
0x58000…58020 (35, 0, 3) 20 24 45 37 2c 24 38 45 2c 24 30 36 2c 3e 53 63 72 5f 73 65 67 6d 2c 24 31 45 2c 24 43 35 2c 24   ┆ $E7,$8E,$06,>Scr_segm,$1E,$C5,$┆
0x58020…58040            37 36 2c 24 30 34 2c 24 38 43 2c 24 44 41 2c 24 38 39 2c 24 43 33 2c 24 31 46 2c 24 30 33 2c 24   ┆76,$04,$8C,$DA,$89,$C3,$1F,$03,$┆
0x58040…58060            39 44 2c 0d 0a 20 20 3e 53 63 72 5f 78 61 64 64 72 2c 24 31 45 2c 24 38 45 2c 24 44 41 2c 24 35   ┆9D,    >Scr_xaddr,$1E,$8E,$DA,$5┆
0x58060…58080            31 2c 24 32 36 2c 24 38 41 2c 24 30 46 2c 24 38 38 2c 24 30 43 2c 24 35 39 2c 24 34 36 2c 24 38   ┆1,$26,$8A,$0F,$88,$0C,$59,$46,$8┆
0x58080…580a0            33 2c 24 43 37 2c 24 31 30 2c 0d 0a 20 20 24 45 32 2c 24 45 39 2c 24 31 46 3b 0d 0a 45 4e 44 3b   ┆3,$C7,$10,    $E2,$E9,$1F;  END;┆
0x580a0…580c0            0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 6d 6f 76 65 6d 65 6d 74 6f 53 63 72 5f 28 78 2c 79 2c   ┆    PROCEDURE movememtoScr_(x,y,┆
0x580c0…580e0            78 6c 65 6e 3a 20 49 4e 54 45 47 45 52 3b 6b 31 2c 6b 32 3a 49 4e 54 45 47 45 52 29 3b 0d 0a 42   ┆xlen: INTEGER;k1,k2:INTEGER);  B┆
0x580e0…58100            45 47 49 4e 0d 0a 20 20 43 4f 44 45 0d 0a 20 20 24 38 42 2c 24 37 45 2c 24 30 41 2c 24 44 31 2c   ┆EGIN    CODE    $8B,$7E,$0A,$D1,┆
0x58100…58120            24 45 37 2c 24 38 42 2c 24 38 35 2c 3e 53 63 72 5f 79 61 64 64 72 2c 24 38 42 2c 24 34 45 2c 24   ┆$E7,$8B,$85,>Scr_yaddr,$8B,$4E,$┆
0x58120…58140            30 38 2c 24 38 42 2c 24 37 45 2c 24 30 43 2c 24 44 31 2c 0d 0a 20 20 24 45 37 2c 24 38 45 2c 24   ┆08,$8B,$7E,$0C,$D1,    $E7,$8E,$┆
0x58140…58160            30 36 2c 3e 53 63 72 5f 73 65 67 6d 2c 24 31 45 2c 24 43 35 2c 24 37 36 2c 24 30 34 2c 24 38 43   ┆06,>Scr_segm,$1E,$C5,$76,$04,$8C┆
0x58160…58180            2c 24 44 41 2c 24 38 39 2c 24 43 33 2c 24 31 46 2c 24 30 33 2c 24 39 44 2c 0d 0a 20 20 3e 53 63   ┆,$DA,$89,$C3,$1F,$03,$9D,    >Sc┆
0x58180…581a0            72 5f 78 61 64 64 72 2c 24 31 45 2c 24 38 45 2c 24 44 41 2c 24 35 31 2c 24 38 41 2c 24 30 43 2c   ┆r_xaddr,$1E,$8E,$DA,$51,$8A,$0C,┆
0x581a0…581c0            24 32 36 2c 24 38 38 2c 24 30 46 2c 24 35 39 2c 24 34 36 2c 24 38 33 2c 24 43 37 2c 24 31 30 2c   ┆$26,$88,$0F,$59,$46,$83,$C7,$10,┆
0x581c0…581e0            0d 0a 20 20 24 45 32 2c 24 45 39 2c 24 31 46 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44   ┆    $E2,$E9,$1F;  END;    PROCED┆
0x581e0…58200            55 52 45 20 66 69 6c 6c 76 69 64 65 6f 6c 69 6e 65 28 78 2c 79 2c 78 6c 65 6e 2c 63 6f 6c 6f 72   ┆URE fillvideoline(x,y,xlen,color┆
0x58200…58220            3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 43 4f 44 45 0d 0a 20 20 24 38   ┆: INTEGER);  BEGIN    CODE    $8┆
0x58220…58240            42 2c 24 37 45 2c 24 30 38 2c 24 44 31 2c 24 45 37 2c 24 38 42 2c 24 38 35 2c 3e 53 63 72 5f 79   ┆B,$7E,$08,$D1,$E7,$8B,$85,>Scr_y┆
0x58240…58260            61 64 64 72 2c 24 38 42 2c 24 34 45 2c 24 30 36 2c 24 38 42 2c 24 37 45 2c 24 30 41 2c 24 38 45   ┆addr,$8B,$4E,$06,$8B,$7E,$0A,$8E┆
0x58260…58280            2c 0d 0a 20 20 24 30 36 2c 3e 53 63 72 5f 73 65 67 6d 2c 24 38 42 2c 24 35 36 2c 24 30 34 2c 24   ┆,    $06,>Scr_segm,$8B,$56,$04,$┆
0x58280…582a0            38 39 2c 24 43 33 2c 24 38 39 2c 24 46 45 2c 24 44 31 2c 24 45 36 2c 24 30 33 2c 24 39 43 2c 3e   ┆89,$C3,$89,$FE,$D1,$E6,$03,$9C,>┆
0x582a0…582c0            53 63 72 5f 78 61 64 64 72 2c 0d 0a 20 20 24 32 36 2c 24 38 38 2c 24 31 37 2c 24 38 33 2c 24 43   ┆Scr_xaddr,    $26,$88,$17,$83,$C┆
0x582c0…582e0            37 2c 24 30 38 2c 24 45 32 2c 24 45 45 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e   ┆7,$08,$E2,$EE;  END;    FUNCTION┆
0x582e0…58300            20 62 61 73 65 61 64 64 72 28 78 2c 79 3a 20 49 4e 54 45 47 45 52 29 3a 20 49 4e 54 45 47 45 52   ┆ baseaddr(x,y: INTEGER): INTEGER┆
0x58300…58320            3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 43 4f 44 45 0d 0a 20 20 24 38 42 2c 24 37 45 2c 24 30 36 2c   ┆;  BEGIN    CODE    $8B,$7E,$06,┆
0x58320…58340            24 38 42 2c 24 37 36 2c 24 30 34 2c 24 44 31 2c 24 45 37 2c 24 44 31 2c 24 45 36 2c 24 38 42 2c   ┆$8B,$76,$04,$D1,$E7,$D1,$E6,$8B,┆
0x58340…58360            24 39 43 2c 3e 53 63 72 5f 79 61 64 64 72 2c 24 30 33 2c 24 39 44 2c 0d 0a 20 20 3e 53 63 72 5f   ┆$9C,>Scr_yaddr,$03,$9D,    >Scr_┆
0x58360…58380            78 61 64 64 72 2c 24 38 39 2c 24 35 45 2c 24 30 38 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43   ┆xaddr,$89,$5E,$08;  END;    FUNC┆
0x58380…583a0            54 49 4f 4e 20 53 63 72 5f 47 65 74 44 6f 74 28 78 2c 79 3a 49 4e 54 45 47 45 52 29 3a 42 4f 4f   ┆TION Scr_GetDot(x,y:INTEGER):BOO┆
0x583a0…583c0            4c 45 41 4e 3b 0d 0a 56 41 52 20 74 6f 74 61 6c 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49   ┆LEAN;  VAR total: INTEGER;  BEGI┆
0x583c0…583e0            4e 0d 0a 20 74 6f 74 61 6c 3a 3d 53 63 72 5f 78 61 64 64 72 28 2e 78 2e 29 2b 53 63 72 5f 79 61   ┆N   total:=Scr_xaddr(.x.)+Scr_ya┆
0x583e0…58400            64 64 72 28 2e 79 2e 29 3b 0d 0a 20 53 63 72 5f 67 65 74 64 6f 74 3a 3d 0d 0a 20 28 57 6e 64 5f   ┆ddr(.y.);   Scr_getdot:=   (Wnd_┆
0x58400…58420 (35, 0, 4) 2e 70 65 6e 63 6f 6c 6f 72 3d 62 6c 61 63 6b 29 20 45 58 4f 52 20 28 6d 65 6d 28 2e 53 63 72 5f   ┆.pencolor=black) EXOR (mem(.Scr_┆
0x58420…58440            73 65 67 6d 3a 74 6f 74 61 6c 2e 29 20 41 4e 44 20 28 31 32 38 20 53 48 52 20 28 78 20 41 4e 44   ┆segm:total.) AND (128 SHR (x AND┆
0x58440…58460            20 37 29 29 3c 3e 30 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 63 72   ┆ 7))<>0);  END;    PROCEDURE Scr┆
0x58460…58480            5f 66 69 6c 6c 28 78 31 2c 79 31 2c 78 32 2c 79 32 3a 49 4e 54 45 47 45 52 3b 20 63 6f 6c 6f 72   ┆_fill(x1,y1,x2,y2:INTEGER; color┆
0x58480…584a0            3a 20 42 59 54 45 29 3b 0d 0a 56 41 52 20 79 2c 6c 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47   ┆: BYTE);  VAR y,l: INTEGER;  BEG┆
0x584a0…584c0            49 4e 0d 0a 20 20 6c 3a 3d 28 78 32 2d 78 31 2b 31 29 20 44 49 56 20 38 3b 0d 0a 20 20 46 4f 52   ┆IN    l:=(x2-x1+1) DIV 8;    FOR┆
0x584c0…584e0            20 79 3a 3d 79 31 20 54 4f 20 79 32 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 66 69 6c 6c 76   ┆ y:=y1 TO y2 DO BEGIN      fillv┆
0x584e0…58500            69 64 65 6f 6c 69 6e 65 28 78 31 2c 79 2c 6c 2c 63 6f 6c 6f 72 29 3b 0d 0a 20 20 45 4e 44 3b 0d   ┆ideoline(x1,y,l,color);    END; ┆
0x58500…58520            0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 63 72 5f 44 72 61 77 63 68 61 72 28   ┆ END;    PROCEDURE Scr_Drawchar(┆
0x58520…58540            78 2c 79 3a 20 49 4e 54 45 47 45 52 3b 63 68 3a 20 43 48 41 52 29 3b 0d 0a 56 41 52 20 20 74 6f   ┆x,y: INTEGER;ch: CHAR);  VAR  to┆
0x58540…58560            74 61 6c 2c 69 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 46 4f 52 20 69 3a   ┆tal,i: INTEGER;  BEGIN    FOR i:┆
0x58560…58580            3d 30 20 54 4f 20 37 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 74 6f 74 61 6c 3a 3d 53 63 72   ┆=0 TO 7 DO BEGIN      total:=Scr┆
0x58580…585a0            5f 78 61 64 64 72 28 2e 78 2e 29 2b 53 63 72 5f 79 61 64 64 72 28 2e 79 2d 69 2b 37 2e 29 3b 0d   ┆_xaddr(.x.)+Scr_yaddr(.y-i+7.); ┆
0x585a0…585c0            0a 20 20 20 20 43 41 53 45 20 57 6e 64 5f 2e 70 65 6e 63 6f 6c 6f 72 20 4f 46 0d 0a 20 20 20 20   ┆     CASE Wnd_.pencolor OF      ┆
0x585c0…585e0            77 68 69 74 65 3a 0d 0a 20 20 20 20 20 20 6d 65 6d 28 2e 53 63 72 5f 73 65 67 6d 3a 74 6f 74 61   ┆white:        mem(.Scr_segm:tota┆
0x585e0…58600            6c 2e 29 3a 3d 53 63 72 5f 43 48 41 52 28 2e 6f 72 64 28 63 68 29 2c 69 2e 29 3b 0d 0a 20 20 20   ┆l.):=Scr_CHAR(.ord(ch),i.);     ┆
0x58600…58620            20 62 6c 61 63 6b 3a 0d 0a 20 20 20 20 20 20 6d 65 6d 28 2e 53 63 72 5f 73 65 67 6d 3a 74 6f 74   ┆ black:        mem(.Scr_segm:tot┆
0x58620…58640            61 6c 2e 29 3a 3d 20 28 4e 4f 54 20 53 63 72 5f 43 48 41 52 28 2e 6f 72 64 28 63 68 29 2c 69 2e   ┆al.):= (NOT Scr_CHAR(.ord(ch),i.┆
0x58640…58660            29 20 41 4e 44 20 24 46 46 29 3b 0d 0a 20 20 20 20 74 72 61 6e 73 70 3a 0d 0a 20 20 20 20 20 20   ┆) AND $FF);      transp:        ┆
0x58660…58680            6d 65 6d 28 2e 53 63 72 5f 73 65 67 6d 3a 74 6f 74 61 6c 2e 29 3a 3d 20 53 63 72 5f 43 48 41 52   ┆mem(.Scr_segm:total.):= Scr_CHAR┆
0x58680…586a0            28 2e 6f 72 64 28 63 68 29 2c 69 2e 29 20 45 58 4f 52 20 6d 65 6d 28 2e 53 63 72 5f 73 65 67 6d   ┆(.ord(ch),i.) EXOR mem(.Scr_segm┆
0x586a0…586c0            3a 74 6f 74 61 6c 2e 29 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44   ┆:total.);      END;    END;  END┆
0x586c0…586e0            3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 63 72 5f 4c 69 6e 65 54 6f 28 78 78 31 2c 79 79   ┆;    PROCEDURE Scr_LineTo(xx1,yy┆
0x586e0…58700            31 2c 78 78 32 2c 79 79 32 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 0d 0a 20 20 6c 67 5f   ┆1,xx2,yy2: INTEGER);  VAR    lg_┆
0x58700…58720            64 65 6c 74 61 2c 20 73 68 5f 64 65 6c 74 61 2c 20 6c 67 5f 73 74 65 70 2c 20 73 68 5f 73 74 65   ┆delta, sh_delta, lg_step, sh_ste┆
0x58720…58740            70 2c 20 63 79 63 6c 65 2c 20 74 6f 74 61 6c 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 0d 0a 50 52 4f   ┆p, cycle, total: INTEGER;    PRO┆
0x58740…58760            43 45 44 55 52 45 20 53 63 72 65 65 6e 53 65 74 44 6f 74 28 78 78 31 2c 79 79 31 3a 69 6e 74 65   ┆CEDURE ScreenSetDot(xx1,yy1:inte┆
0x58760…58780            67 65 72 29 3b 0d 0a 20 20 76 61 72 20 62 69 74 3a 62 6f 6f 6c 65 61 6e 3b 0d 0a 42 45 47 49 4e   ┆ger);    var bit:boolean;  BEGIN┆
0x58780…587a0            0d 0a 20 20 20 20 42 69 74 3a 3d 28 6c 69 6e 65 70 61 74 74 65 72 6e 20 61 6e 64 20 24 38 30 29   ┆      Bit:=(linepattern and $80)┆
0x587a0…587c0            3c 3e 30 3b 0d 0a 20 20 20 20 69 66 20 62 69 74 20 74 68 65 6e 20 53 63 72 5f 73 65 74 44 6f 74   ┆<>0;      if bit then Scr_setDot┆
0x587c0…587e0            28 78 78 31 2c 79 79 31 29 3b 0d 0a 20 20 20 20 62 69 74 6e 72 3a 3d 62 69 74 6e 72 2b 31 3b 0d   ┆(xx1,yy1);      bitnr:=bitnr+1; ┆
0x587e0…58800            0a 20 20 20 20 69 66 20 62 69 74 6e 72 3e 6c 69 6e 65 70 61 74 74 65 72 6e 73 69 7a 65 2d 31 0d   ┆     if bitnr>linepatternsize-1 ┆
0x58800…58820 (35, 0, 5) 0a 20 20 20 20 74 68 65 6e 0d 0a 20 20 20 20 42 45 47 49 4e 3b 20 20 20 20 0d 0a 20 20 20 20 20   ┆     then      BEGIN;           ┆
0x58820…58840            20 6c 69 6e 65 70 61 74 74 65 72 6e 3a 3d 28 28 6c 69 6e 65 70 61 74 74 65 72 6e 20 73 68 6c 20   ┆ linepattern:=((linepattern shl ┆
0x58840…58860            31 20 61 6e 64 20 32 35 35 29 20 6f 72 20 28 6c 69 6e 65 70 61 74 74 65 72 6e 20 73 68 72 20 37   ┆1 and 255) or (linepattern shr 7┆
0x58860…58880            29 29 3b 0d 0a 20 20 20 20 20 20 62 69 74 6e 72 3a 3d 30 3b 0d 0a 20 20 20 20 45 4e 44 3b 20 20   ┆));        bitnr:=0;      END;  ┆
0x58880…588a0            0d 0a 45 4e 44 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 6c 67 5f 64 65 6c 74 61 3a 3d 78 78 32 2d 78   ┆  END;  BEGIN    lg_delta:=xx2-x┆
0x588a0…588c0            78 31 3b 20 73 68 5f 64 65 6c 74 61 3a 3d 79 79 32 2d 79 79 31 3b 0d 0a 20 20 49 46 20 6c 67 5f   ┆x1; sh_delta:=yy2-yy1;    IF lg_┆
0x588c0…588e0            64 65 6c 74 61 3c 30 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 6c 67 5f 64 65 6c 74 61   ┆delta<0 THEN BEGIN      lg_delta┆
0x588e0…58900            3a 3d 2d 6c 67 5f 64 65 6c 74 61 3b 20 6c 67 5f 73 74 65 70 3a 3d 2d 31 0d 0a 20 20 45 4e 44 20   ┆:=-lg_delta; lg_step:=-1    END ┆
0x58900…58920            45 4c 53 45 20 6c 67 5f 73 74 65 70 3a 3d 31 3b 0d 0a 20 20 49 46 20 73 68 5f 64 65 6c 74 61 3c   ┆ELSE lg_step:=1;    IF sh_delta<┆
0x58920…58940            30 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 73 68 5f 64 65 6c 74 61 3a 3d 2d 73 68 5f   ┆0 THEN BEGIN      sh_delta:=-sh_┆
0x58940…58960            64 65 6c 74 61 3b 20 73 68 5f 73 74 65 70 3a 3d 2d 31 0d 0a 20 20 45 4e 44 20 45 4c 53 45 20 73   ┆delta; sh_step:=-1    END ELSE s┆
0x58960…58980            68 5f 73 74 65 70 3a 3d 31 3b 0d 0a 20 20 49 46 20 73 68 5f 64 65 6c 74 61 3c 6c 67 5f 64 65 6c   ┆h_step:=1;    IF sh_delta<lg_del┆
0x58980…589a0            74 61 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 63 79 63 6c 65 3a 3d 6c 67 5f 64 65 6c   ┆ta THEN BEGIN      cycle:=lg_del┆
0x589a0…589c0            74 61 20 53 48 52 20 32 3b 0d 0a 20 20 20 20 49 66 20 63 79 63 6c 65 3d 30 20 74 68 65 6e 20 63   ┆ta SHR 2;      If cycle=0 then c┆
0x589c0…589e0            79 63 6c 65 3a 3d 31 3b 0d 0a 20 20 20 20 57 48 49 4c 45 20 78 78 31 3c 3e 78 78 32 20 44 4f 20   ┆ycle:=1;      WHILE xx1<>xx2 DO ┆
0x589e0…58a00            42 45 47 49 4e 0d 0a 20 20 20 20 20 20 53 63 72 65 65 6e 53 65 74 44 6f 74 28 78 78 31 2c 79 79   ┆BEGIN        ScreenSetDot(xx1,yy┆
0x58a00…58a20            31 29 3b 0d 0a 20 20 20 20 20 20 78 78 31 3a 3d 78 78 31 2b 6c 67 5f 73 74 65 70 3b 20 63 79 63   ┆1);        xx1:=xx1+lg_step; cyc┆
0x58a20…58a40            6c 65 3a 3d 63 79 63 6c 65 2b 73 68 5f 64 65 6c 74 61 3b 0d 0a 20 20 20 20 20 20 49 46 20 63 79   ┆le:=cycle+sh_delta;        IF cy┆
0x58a40…58a60            63 6c 65 3e 6c 67 5f 64 65 6c 74 61 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20   ┆cle>lg_delta THEN BEGIN         ┆
0x58a60…58a80            20 79 79 31 3a 3d 79 79 31 2b 73 68 5f 73 74 65 70 3b 20 63 79 63 6c 65 3a 3d 63 79 63 6c 65 2d   ┆ yy1:=yy1+sh_step; cycle:=cycle-┆
0x58a80…58aa0            6c 67 5f 64 65 6c 74 61 3b 0d 0a 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d   ┆lg_delta;        END;      END; ┆
0x58aa0…58ac0            0a 20 20 20 20 53 63 72 65 65 6e 53 65 74 44 6f 74 28 78 78 31 2c 79 79 31 29 3b 0d 0a 20 20 45   ┆     ScreenSetDot(xx1,yy1);    E┆
0x58ac0…58ae0            4e 44 0d 0a 20 20 45 4c 53 45 20 42 45 47 49 4e 0d 0a 20 20 20 20 63 79 63 6c 65 3a 3d 73 68 5f   ┆ND    ELSE BEGIN      cycle:=sh_┆
0x58ae0…58b00            64 65 6c 74 61 20 53 48 52 20 32 3b 0d 0a 20 20 20 20 49 66 20 63 79 63 6c 65 3d 30 20 74 68 65   ┆delta SHR 2;      If cycle=0 the┆
0x58b00…58b20            6e 20 63 79 63 6c 65 3a 3d 31 3b 0d 0a 20 20 20 20 73 77 61 70 28 6c 67 5f 64 65 6c 74 61 2c 73   ┆n cycle:=1;      swap(lg_delta,s┆
0x58b20…58b40            68 5f 64 65 6c 74 61 29 3b 0d 0a 20 20 20 20 73 77 61 70 28 6c 67 5f 73 74 65 70 2c 73 68 5f 73   ┆h_delta);      swap(lg_step,sh_s┆
0x58b40…58b60            74 65 70 29 3b 0d 0a 20 20 20 20 57 48 49 4c 45 20 79 79 31 3c 3e 79 79 32 20 44 4f 20 42 45 47   ┆tep);      WHILE yy1<>yy2 DO BEG┆
0x58b60…58b80            49 4e 0d 0a 20 20 20 20 20 20 53 63 72 65 65 6e 53 65 74 44 6f 74 28 78 78 31 2c 79 79 31 29 3b   ┆IN        ScreenSetDot(xx1,yy1);┆
0x58b80…58ba0            0d 0a 20 20 20 20 20 20 79 79 31 3a 3d 79 79 31 2b 6c 67 5f 73 74 65 70 3b 20 63 79 63 6c 65 3a   ┆        yy1:=yy1+lg_step; cycle:┆
0x58ba0…58bc0            3d 63 79 63 6c 65 2b 73 68 5f 64 65 6c 74 61 3b 0d 0a 20 20 20 20 20 20 49 46 20 63 79 63 6c 65   ┆=cycle+sh_delta;        IF cycle┆
0x58bc0…58be0            3e 6c 67 5f 64 65 6c 74 61 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 78 78   ┆>lg_delta THEN BEGIN          xx┆
0x58be0…58c00            31 3a 3d 78 78 31 2b 73 68 5f 73 74 65 70 3b 20 63 79 63 6c 65 3a 3d 63 79 63 6c 65 2d 6c 67 5f   ┆1:=xx1+sh_step; cycle:=cycle-lg_┆
0x58c00…58c20 (35, 1, 1) 64 65 6c 74 61 3b 0d 0a 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20   ┆delta;        END;      END;    ┆
0x58c20…58c40            20 20 53 63 72 65 65 6e 53 65 74 44 6f 74 28 78 78 31 2c 79 79 31 29 3b 0d 0a 20 20 45 4e 44 3b   ┆  ScreenSetDot(xx1,yy1);    END;┆
0x58c40…58c60            0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 63 72 5f 6f 70 65 72 61 74 69 6f   ┆  END;    PROCEDURE Scr_operatio┆
0x58c60…58c80            6e 28 6f 70 72 3a 20 6f 70 72 74 79 70 65 3b 78 31 2c 20 79 31 2c 20 78 32 2c 20 79 32 3a 20 49   ┆n(opr: oprtype;x1, y1, x2, y2: I┆
0x58c80…58ca0            4e 54 45 47 45 52 3b 62 75 66 66 65 72 3a 20 62 75 66 74 79 70 65 29 3b 0d 0a 56 41 52 0d 0a 20   ┆NTEGER;buffer: buftype);  VAR   ┆
0x58ca0…58cc0            20 69 2c 78 2c 79 2c 79 79 2c 6b 31 2c 6b 32 2c 6c 2c 74 6f 74 61 6c 3a 20 49 4e 54 45 47 45 52   ┆ i,x,y,yy,k1,k2,l,total: INTEGER┆
0x58cc0…58ce0            3b 0d 0a 20 20 73 77 70 62 75 66 3a 20 61 72 72 61 79 28 2e 30 2e 2e 31 30 30 2e 29 20 6f 66 20   ┆;    swpbuf: array(.0..100.) of ┆
0x58ce0…58d00            62 79 74 65 3b 0d 0a 20 20 62 75 66 70 3a 5e 69 6e 74 65 67 65 72 3b 0d 0a 42 45 47 49 4e 0d 0a   ┆byte;    bufp:^integer;  BEGIN  ┆
0x58d00…58d20            20 20 6b 31 3a 3d 6f 66 73 28 62 75 66 66 65 72 5e 29 3b 6b 32 3a 3d 73 65 67 28 62 75 66 66 65   ┆  k1:=ofs(buffer^);k2:=seg(buffe┆
0x58d20…58d40            72 5e 29 3b 20 6c 3a 3d 28 78 32 2d 78 31 2b 37 29 20 44 49 56 20 38 3b 62 75 66 70 3a 3d 61 64   ┆r^); l:=(x2-x1+7) DIV 8;bufp:=ad┆
0x58d40…58d60            64 72 28 73 77 70 62 75 66 29 3b 0d 0a 20 20 46 4f 52 20 79 3a 3d 79 31 20 54 4f 20 79 32 20 44   ┆dr(swpbuf);    FOR y:=y1 TO y2 D┆
0x58d60…58d80            4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 63 61 73 65 20 6f 70 72 20 6f 66 0d 0a 20 20 20 20 20 20   ┆O BEGIN      case opr of        ┆
0x58d80…58da0            6c 6f 61 64 3a 20 6d 6f 76 65 6d 65 6d 74 6f 53 63 72 5f 28 78 31 2c 79 2c 6c 2c 6b 32 2c 6b 31   ┆load: movememtoScr_(x1,y,l,k2,k1┆
0x58da0…58dc0            29 3b 0d 0a 20 20 20 20 20 20 73 61 76 65 3a 20 6d 6f 76 65 53 63 72 5f 74 6f 6d 65 6d 28 78 31   ┆);        save: moveScr_tomem(x1┆
0x58dc0…58de0            2c 79 2c 6c 2c 6b 32 2c 6b 31 29 3b 0d 0a 20 20 20 20 20 20 73 63 72 73 77 61 70 3a 0d 0a 20 20   ┆,y,l,k2,k1);        scrswap:    ┆
0x58de0…58e00            20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 65 73 63 72 5f 74 6f 6d 65 6d   ┆    BEGIN          movescr_tomem┆
0x58e00…58e20            28 78 31 2c 79 2c 6c 2c 73 65 67 28 73 77 70 62 75 66 29 2c 6f 66 73 28 73 77 70 62 75 66 29 29   ┆(x1,y,l,seg(swpbuf),ofs(swpbuf))┆
0x58e20…58e40            3b 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 65 6d 65 6d 74 6f 73 63 72 5f 28 78 31 2c 79 2c 6c 2c   ┆;          movememtoscr_(x1,y,l,┆
0x58e40…58e60            6b 32 2c 6b 31 29 3b 0d 0a 20 20 20 20 20 20 20 20 62 75 66 66 65 72 3a 3d 70 74 72 28 6b 32 2c   ┆k2,k1);          buffer:=ptr(k2,┆
0x58e60…58e80            6b 31 29 3b 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 65 28 73 77 70 62 75 66 2c 62 75 66 66 65 72   ┆k1);          move(swpbuf,buffer┆
0x58e80…58ea0            5e 2c 6c 29 3b 0d 0a 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 20 20 6f 74 68 65 72 77 69   ┆^,l);        END;        otherwi┆
0x58ea0…58ec0            73 65 20 68 61 6c 74 3b 0d 0a 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 6b 31 3a 3d 6b 31 2b   ┆se halt;       END;      k1:=k1+┆
0x58ec0…58ee0            6c 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 57 6e   ┆l;    END;  END;    PROCEDURE Wn┆
0x58ee0…58f00            64 5f 53 65 74 44 6f 74 28 78 2c 20 79 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d   ┆d_SetDot(x, y: INTEGER);  BEGIN ┆
0x58f00…58f20            0a 20 20 49 46 20 28 28 78 20 3e 3d 20 30 29 20 41 4e 44 20 28 78 20 3c 3d 20 57 6e 64 5f 2e 4d   ┆   IF ((x >= 0) AND (x <= Wnd_.M┆
0x58f20…58f40            61 78 58 29 29 20 41 4e 44 20 28 28 79 20 3e 3d 20 30 29 20 41 4e 44 20 28 79 20 3c 3d 20 57 6e   ┆axX)) AND ((y >= 0) AND (y <= Wn┆
0x58f40…58f60            64 5f 2e 4d 61 78 59 29 29 20 54 48 45 4e 0d 0a 20 20 20 20 53 63 72 5f 53 65 74 44 6f 74 28 78   ┆d_.MaxY)) THEN      Scr_SetDot(x┆
0x58f60…58f80            20 2b 20 57 6e 64 5f 2e 58 31 2c 20 79 20 2b 20 57 6e 64 5f 2e 59 31 29 0d 0a 45 4e 44 3b 0d 0a   ┆ + Wnd_.X1, y + Wnd_.Y1)  END;  ┆
0x58f80…58fa0            0d 0a 46 55 4e 43 54 49 4f 4e 20 63 6f 6e 76 65 72 74 28 78 78 3a 52 45 41 4c 29 3a 49 4e 54 45   ┆  FUNCTION convert(xx:REAL):INTE┆
0x58fa0…58fc0            47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 49 46 20 78 78 3e 6d 61 78 69 6e 74 20 54 48 45 4e   ┆GER;  BEGIN    IF xx>maxint THEN┆
0x58fc0…58fe0            20 63 6f 6e 76 65 72 74 3a 3d 6d 61 78 69 6e 74 20 45 4c 53 45 20 49 46 20 78 78 3c 2d 6d 61 78   ┆ convert:=maxint ELSE IF xx<-max┆
0x58fe0…59000            69 6e 74 20 54 48 45 4e 0d 0a 20 20 63 6f 6e 76 65 72 74 3a 3d 2d 6d 61 78 69 6e 74 20 45 4c 53   ┆int THEN    convert:=-maxint ELS┆
0x59000…59020 (35, 1, 2) 45 20 63 6f 6e 76 65 72 74 3a 3d 74 72 75 6e 63 28 78 78 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46   ┆E convert:=trunc(xx);  END;    F┆
0x59020…59040            55 4e 43 54 49 4f 4e 20 5f 47 72 4f 75 74 63 6f 64 65 28 78 31 2c 20 79 31 2c 20 4d 61 78 58 2c   ┆UNCTION _GrOutcode(x1, y1, MaxX,┆
0x59040…59060            20 4d 61 78 59 3a 20 49 4e 54 45 47 45 52 29 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 56 41 52 20 61   ┆ MaxY: INTEGER): INTEGER;  VAR a┆
0x59060…59080            3a 20 42 59 54 45 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 61 3a 3d 30 3b 0d 0a 20 20 49 46 20 78 31   ┆: BYTE;  BEGIN    a:=0;    IF x1┆
0x59080…590a0            3e 6d 61 78 78 20 54 48 45 4e 20 61 3a 3d 61 20 4f 52 20 24 30 34 3b 0d 0a 20 20 49 46 20 78 31   ┆>maxx THEN a:=a OR $04;    IF x1┆
0x590a0…590c0            3c 30 20 54 48 45 4e 20 61 3a 3d 61 20 4f 52 20 24 30 38 3b 0d 0a 20 20 49 46 20 79 31 3e 6d 61   ┆<0 THEN a:=a OR $08;    IF y1>ma┆
0x590c0…590e0            78 79 20 54 48 45 4e 20 61 3a 3d 61 20 4f 52 20 24 30 31 3b 0d 0a 20 20 49 46 20 79 31 3c 30 20   ┆xy THEN a:=a OR $01;    IF y1<0 ┆
0x590e0…59100            54 48 45 4e 20 61 3a 3d 61 20 4f 52 20 24 30 32 3b 0d 0a 20 20 5f 47 72 4f 75 74 63 6f 64 65 3a   ┆THEN a:=a OR $02;    _GrOutcode:┆
0x59100…59120            3d 61 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 5f 57 6e 64 5f 43 6c 69 70 4c   ┆=a;  END;    FUNCTION _Wnd_ClipL┆
0x59120…59140            69 6e 65 28 56 41 52 20 78 31 2c 20 79 31 2c 20 78 32 2c 20 79 32 20 3a 20 49 4e 54 45 47 45 52   ┆ine(VAR x1, y1, x2, y2 : INTEGER┆
0x59140…59160            29 20 3a 20 42 4f 4f 4c 45 41 4e 3b 0d 0a 56 41 52 20 64 6f 6e 65 20 3a 20 42 4f 4f 4c 45 41 4e   ┆) : BOOLEAN;  VAR done : BOOLEAN┆
0x59160…59180            3b 0d 0a 20 20 6f 75 74 63 6f 64 65 31 2c 20 6f 75 74 63 6f 64 65 32 20 3a 20 49 4e 54 45 47 45   ┆;    outcode1, outcode2 : INTEGE┆
0x59180…591a0            52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 64 6f 6e 65 20 20 3a 3d 20 46 41 4c 53 45 3b 0d 0a 20 20   ┆R;  BEGIN    done  := FALSE;    ┆
0x591a0…591c0            5f 57 6e 64 5f 43 6c 69 70 4c 69 6e 65 20 3a 3d 20 46 41 4c 53 45 3b 0d 0a 20 20 6f 75 74 63 6f   ┆_Wnd_ClipLine := FALSE;    outco┆
0x591c0…591e0            64 65 32 20 3a 3d 20 5f 47 72 4f 75 74 63 6f 64 65 28 78 32 2c 20 79 32 2c 20 57 6e 64 5f 2e 4d   ┆de2 := _GrOutcode(x2, y2, Wnd_.M┆
0x591e0…59200            61 78 58 2c 20 57 6e 64 5f 2e 4d 61 78 59 29 3b 0d 0a 20 20 52 45 50 45 41 54 0d 0a 20 20 20 20   ┆axX, Wnd_.MaxY);    REPEAT      ┆
0x59200…59220            6f 75 74 63 6f 64 65 31 20 3a 3d 20 5f 47 72 4f 75 74 63 6f 64 65 28 78 31 2c 20 79 31 2c 20 20   ┆outcode1 := _GrOutcode(x1, y1,  ┆
0x59220…59240            57 6e 64 5f 2e 4d 61 78 58 2c 20 57 6e 64 5f 2e 4d 61 78 59 29 3b 0d 0a 20 20 20 20 49 46 20 28   ┆Wnd_.MaxX, Wnd_.MaxY);      IF (┆
0x59240…59260            6f 75 74 63 6f 64 65 31 20 4f 52 20 6f 75 74 63 6f 64 65 32 29 20 3d 20 30 20 54 48 45 4e 20 42   ┆outcode1 OR outcode2) = 0 THEN B┆
0x59260…59280            45 47 49 4e 0d 0a 20 20 20 20 20 20 5f 57 6e 64 5f 43 6c 69 70 4c 69 6e 65 20 3a 3d 20 54 52 55   ┆EGIN        _Wnd_ClipLine := TRU┆
0x59280…592a0            45 3b 0d 0a 20 20 20 20 20 20 64 6f 6e 65 20 3a 3d 20 54 52 55 45 20 45 4e 44 0d 0a 20 20 20 20   ┆E;        done := TRUE END      ┆
0x592a0…592c0            45 4c 53 45 20 49 46 20 28 6f 75 74 63 6f 64 65 31 20 41 4e 44 20 20 6f 75 74 63 6f 64 65 32 29   ┆ELSE IF (outcode1 AND  outcode2)┆
0x592c0…592e0            20 3c 3e 20 30 20 54 48 45 4e 0d 0a 20 20 20 20 20 20 20 42 45 47 49 4e 20 5f 57 6e 64 5f 43 6c   ┆ <> 0 THEN         BEGIN _Wnd_Cl┆
0x592e0…59300            69 70 4c 69 6e 65 20 3a 3d 20 46 41 4c 53 45 3b 20 64 6f 6e 65 20 3a 3d 20 54 52 55 45 0d 0a 20   ┆ipLine := FALSE; done := TRUE   ┆
0x59300…59320            20 20 20 45 4e 44 20 45 4c 53 45 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 49 46 20 6f 75 74 63   ┆   END ELSE BEGIN        IF outc┆
0x59320…59340            6f 64 65 31 20 3d 20 30 20 54 48 45 4e 20 42 45 47 49 4e 20 53 77 61 70 28 6f 75 74 63 6f 64 65   ┆ode1 = 0 THEN BEGIN Swap(outcode┆
0x59340…59360            31 2c 6f 75 74 63 6f 64 65 32 29 3b 0d 0a 20 20 20 20 20 20 53 77 61 70 28 78 31 2c 20 78 32 29   ┆1,outcode2);        Swap(x1, x2)┆
0x59360…59380            3b 0d 0a 20 20 20 20 20 20 53 77 61 70 28 79 31 2c 20 79 32 29 0d 0a 20 20 20 20 20 20 45 4e 44   ┆;        Swap(y1, y2)        END┆
0x59380…593a0            3b 0d 0a 20 20 20 20 20 20 49 46 20 28 6f 75 74 63 6f 64 65 31 20 20 41 4e 44 20 24 30 31 29 20   ┆;        IF (outcode1  AND $01) ┆
0x593a0…593c0            3c 3e 20 30 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 78 31 20 3a 3d 20 78   ┆<> 0 THEN BEGIN          x1 := x┆
0x593c0…593e0            31 20 2b 20 63 6f 6e 76 65 72 74 28 28 78 32 20 2d 20 78 31 29 20 2a 20 28 28 57 6e 64 5f 2e 4d   ┆1 + convert((x2 - x1) * ((Wnd_.M┆
0x593e0…59400            61 78 59 20 2d 20 79 31 29 20 2f 20 28 79 32 20 20 2d 20 79 31 29 29 29 3b 0d 0a 20 20 20 20 20   ┆axY - y1) / (y2  - y1)));       ┆
0x59400…59420 (35, 1, 3) 20 20 20 79 31 20 3a 3d 20 57 6e 64 5f 2e 4d 61 78 59 0d 0a 20 20 20 20 20 20 45 4e 44 20 45 4c   ┆   y1 := Wnd_.MaxY        END EL┆
0x59420…59440            53 45 20 49 46 20 28 6f 75 74 63 6f 64 65 31 20 41 4e 44 20 24 30 32 29 20 3c 3e 20 30 20 54 48   ┆SE IF (outcode1 AND $02) <> 0 TH┆
0x59440…59460            45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 78 31 20 3a 3d 20 78 31 20 2b 20 63 6f 6e   ┆EN BEGIN          x1 := x1 + con┆
0x59460…59480            76 65 72 74 28 28 78 32 20 2d 20 78 31 29 20 2a 20 28 28 30 2e 30 2d 79 31 29 20 2f 20 28 79 32   ┆vert((x2 - x1) * ((0.0-y1) / (y2┆
0x59480…594a0            20 2d 20 79 31 29 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 79 31 20 3a 3d 20 30 0d 0a 20 20 20 20   ┆ - y1)));          y1 := 0      ┆
0x594a0…594c0            20 20 45 4e 44 20 45 4c 53 45 20 49 46 20 28 6f 75 74 63 6f 64 65 31 20 41 4e 44 20 24 30 34 29   ┆  END ELSE IF (outcode1 AND $04)┆
0x594c0…594e0            20 3c 3e 20 30 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 79 31 20 3a 3d 20   ┆ <> 0 THEN BEGIN          y1 := ┆
0x594e0…59500            79 31 20 2b 20 63 6f 6e 76 65 72 74 28 28 79 32 20 2d 20 79 31 29 20 2a 20 28 28 57 6e 64 5f 2e   ┆y1 + convert((y2 - y1) * ((Wnd_.┆
0x59500…59520            4d 61 78 58 20 2d 20 78 31 29 20 2f 20 28 78 32 20 2d 20 78 31 29 29 29 3b 0d 0a 20 20 20 20 20   ┆MaxX - x1) / (x2 - x1)));       ┆
0x59520…59540            20 20 20 78 31 20 3a 3d 20 57 6e 64 5f 2e 4d 61 78 58 0d 0a 20 20 20 20 20 20 45 4e 44 20 45 4c   ┆   x1 := Wnd_.MaxX        END EL┆
0x59540…59560            53 45 20 49 46 20 28 6f 75 74 63 6f 64 65 31 20 41 4e 44 20 24 30 38 29 20 3c 3e 20 30 20 54 48   ┆SE IF (outcode1 AND $08) <> 0 TH┆
0x59560…59580            45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 79 31 20 3a 3d 20 79 31 20 2b 20 63 6f 6e   ┆EN BEGIN          y1 := y1 + con┆
0x59580…595a0            76 65 72 74 28 28 79 32 20 2d 20 79 31 29 20 2a 28 28 30 2e 30 2d 78 31 29 20 2f 20 28 78 32 20   ┆vert((y2 - y1) *((0.0-x1) / (x2 ┆
0x595a0…595c0            2d 20 78 31 29 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 78 31 20 3a 3d 20 30 0d 0a 20 20 20 20 20   ┆- x1)));          x1 := 0       ┆
0x595c0…595e0            20 45 4e 44 0d 0a 20 20 20 20 45 4e 44 0d 0a 20 20 55 4e 54 49 4c 20 64 6f 6e 65 0d 0a 45 4e 44   ┆ END      END    UNTIL done  END┆
0x595e0…59600            3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 57 6e 64 5f 4c 69 6e 65 54 6f 28 78 31 2c 20 79 31   ┆;    PROCEDURE Wnd_LineTo(x1, y1┆
0x59600…59620            2c 20 78 32 2c 20 79 32 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 49 46   ┆, x2, y2: INTEGER);  BEGIN    IF┆
0x59620…59640            20 5f 57 6e 64 5f 43 6c 69 70 4c 69 6e 65 28 78 31 2c 20 79 31 2c 20 78 32 2c 20 79 32 29 20 54   ┆ _Wnd_ClipLine(x1, y1, x2, y2) T┆
0x59640…59660            48 45 4e 0d 0a 20 20 20 20 53 63 72 5f 4c 69 6e 65 54 6f 28 78 31 20 2b 20 57 6e 64 5f 2e 58 31   ┆HEN      Scr_LineTo(x1 + Wnd_.X1┆
0x59660…59680            2c 20 79 31 20 2b 20 57 6e 64 5f 2e 59 31 2c 20 78 32 20 2b 20 57 6e 64 5f 2e 58 31 2c 0d 0a 20   ┆, y1 + Wnd_.Y1, x2 + Wnd_.X1,   ┆
0x59680…596a0            20 20 20 79 32 20 2b 20 57 6e 64 5f 2e 59 31 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45   ┆   y2 + Wnd_.Y1);  END;    PROCE┆
0x596a0…596c0            44 55 52 45 20 57 6e 64 5f 44 72 61 77 42 6f 78 28 78 31 2c 20 79 31 2c 20 78 32 2c 20 79 32 20   ┆DURE Wnd_DrawBox(x1, y1, x2, y2 ┆
0x596c0…596e0            3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 20 44 72 61 77 54 6f 70 2c 20 44 72 61 77 42 6f   ┆: INTEGER);  VAR DrawTop, DrawBo┆
0x596e0…59700            74 2c 20 44 72 61 77 4c 65 66 74 2c 20 44 72 61 77 52 69 67 68 74 20 3a 20 42 4f 4f 4c 45 41 4e   ┆t, DrawLeft, DrawRight : BOOLEAN┆
0x59700…59720            3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 49 46 20 78 31 20 3e 20 78 32 20 54 48 45 4e 20 53 77 61 70   ┆;  BEGIN    IF x1 > x2 THEN Swap┆
0x59720…59740            28 78 31 2c 20 78 32 29 3b 0d 0a 20 20 49 46 20 79 31 20 3e 20 79 32 20 54 48 45 4e 20 53 77 61   ┆(x1, x2);    IF y1 > y2 THEN Swa┆
0x59740…59760            70 28 79 31 2c 20 79 32 29 3b 0d 0a 0d 0a 20 20 49 46 20 78 31 20 3e 20 57 6e 64 5f 2e 4d 61 78   ┆p(y1, y2);      IF x1 > Wnd_.Max┆
0x59760…59780            58 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20 49 46 20 79 31 20 3e 20 57 6e 64 5f 2e 4d 61 78   ┆X THEN exit;    IF y1 > Wnd_.Max┆
0x59780…597a0            59 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20 49 46 20 78 32 20 3c 20 30 20 54 48 45 4e 20 65   ┆Y THEN exit;    IF x2 < 0 THEN e┆
0x597a0…597c0            78 69 74 3b 0d 0a 20 20 49 46 20 79 32 20 3c 20 30 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 0d 0a   ┆xit;    IF y2 < 0 THEN exit;    ┆
0x597c0…597e0            20 20 44 72 61 77 54 6f 70 20 3a 3d 20 54 52 55 45 3b 0d 0a 20 20 44 72 61 77 42 6f 74 20 3a 3d   ┆  DrawTop := TRUE;    DrawBot :=┆
0x597e0…59800            20 54 52 55 45 3b 0d 0a 20 20 44 72 61 77 4c 65 66 74 20 3a 3d 20 54 52 55 45 3b 0d 0a 20 20 44   ┆ TRUE;    DrawLeft := TRUE;    D┆
0x59800…59820 (35, 1, 4) 72 61 77 52 69 67 68 74 20 3a 3d 20 54 52 55 45 3b 0d 0a 0d 0a 20 20 49 46 20 78 31 20 3c 20 30   ┆rawRight := TRUE;      IF x1 < 0┆
0x59820…59840            20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 78 31 20 3a 3d 20 30 3b 0d 0a 20 20 20 20 44   ┆ THEN BEGIN      x1 := 0;      D┆
0x59840…59860            72 61 77 4c 65 66 74 20 3a 3d 20 46 41 4c 53 45 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 49 46 20 79   ┆rawLeft := FALSE    END;    IF y┆
0x59860…59880            31 20 3c 20 30 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 79 31 20 3a 3d 20 30 3b 0d 0a   ┆1 < 0 THEN BEGIN      y1 := 0;  ┆
0x59880…598a0            20 20 20 20 44 72 61 77 54 6f 70 20 3a 3d 20 46 41 4c 53 45 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20   ┆    DrawTop := FALSE    END;    ┆
0x598a0…598c0            49 46 20 78 32 20 3e 20 57 6e 64 5f 2e 4d 61 78 58 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20   ┆IF x2 > Wnd_.MaxX THEN BEGIN    ┆
0x598c0…598e0            20 20 78 32 20 3a 3d 20 57 6e 64 5f 2e 4d 61 78 58 3b 0d 0a 20 20 20 20 44 72 61 77 52 69 67 68   ┆  x2 := Wnd_.MaxX;      DrawRigh┆
0x598e0…59900            74 20 3a 3d 20 46 41 4c 53 45 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 49 46 20 79 32 20 3e 20 57 6e   ┆t := FALSE    END;    IF y2 > Wn┆
0x59900…59920            64 5f 2e 4d 61 78 59 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 79 32 20 3a 3d 20 57 6e   ┆d_.MaxY THEN BEGIN      y2 := Wn┆
0x59920…59940            64 5f 2e 4d 61 78 59 3b 0d 0a 20 20 20 20 44 72 61 77 42 6f 74 20 3a 3d 20 46 41 4c 53 45 0d 0a   ┆d_.MaxY;      DrawBot := FALSE  ┆
0x59940…59960            20 20 45 4e 44 3b 0d 0a 0d 0a 20 20 78 31 20 3a 3d 20 78 31 20 2b 20 57 6e 64 5f 2e 58 31 3b 0d   ┆  END;      x1 := x1 + Wnd_.X1; ┆
0x59960…59980            0a 20 20 78 32 20 3a 3d 20 78 32 20 2b 20 57 6e 64 5f 2e 58 31 3b 0d 0a 20 20 79 31 20 3a 3d 20   ┆   x2 := x2 + Wnd_.X1;    y1 := ┆
0x59980…599a0            28 79 31 20 2b 20 57 6e 64 5f 2e 59 31 29 3b 0d 0a 20 20 79 32 20 3a 3d 20 28 79 32 20 2b 20 57   ┆(y1 + Wnd_.Y1);    y2 := (y2 + W┆
0x599a0…599c0            6e 64 5f 2e 59 31 29 3b 0d 0a 0d 0a 20 20 49 46 20 44 72 61 77 54 6f 70 20 54 48 45 4e 20 53 63   ┆nd_.Y1);      IF DrawTop THEN Sc┆
0x599c0…599e0            72 5f 4c 69 6e 65 54 6f 28 78 31 2c 20 79 31 2c 20 78 32 2c 20 79 31 29 3b 0d 0a 20 20 49 46 20   ┆r_LineTo(x1, y1, x2, y1);    IF ┆
0x599e0…59a00            44 72 61 77 52 69 67 68 74 20 54 48 45 4e 20 53 63 72 5f 4c 69 6e 65 54 6f 28 78 32 2c 20 79 31   ┆DrawRight THEN Scr_LineTo(x2, y1┆
0x59a00…59a20            2c 20 78 32 2c 20 79 32 29 3b 0d 0a 20 20 49 46 20 44 72 61 77 42 6f 74 20 54 48 45 4e 20 53 63   ┆, x2, y2);    IF DrawBot THEN Sc┆
0x59a20…59a40            72 5f 4c 69 6e 65 54 6f 28 78 32 2c 20 79 32 2c 20 78 31 2c 20 79 32 29 3b 0d 0a 20 20 49 46 20   ┆r_LineTo(x2, y2, x1, y2);    IF ┆
0x59a40…59a60            44 72 61 77 4c 65 66 74 20 54 48 45 4e 20 53 63 72 5f 4c 69 6e 65 54 6f 28 78 31 2c 20 79 32 2c   ┆DrawLeft THEN Scr_LineTo(x1, y2,┆
0x59a60…59a80            20 78 31 2c 20 79 31 29 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 57 6e 64 5f   ┆ x1, y1)  END;    PROCEDURE Wnd_┆
0x59a80…59aa0            44 72 61 77 43 68 61 72 28 78 2c 20 79 20 3a 20 49 4e 54 45 47 45 52 3b 20 63 20 3a 20 43 48 41   ┆DrawChar(x, y : INTEGER; c : CHA┆
0x59aa0…59ac0            52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 49 46 20 78 20 3c 20 30 20 54 48 45 4e 20 65 78 69 74   ┆R);  BEGIN    IF x < 0 THEN exit┆
0x59ac0…59ae0            3b 0d 0a 20 20 49 46 20 28 78 2b 37 29 20 3e 20 57 6e 64 5f 2e 4d 61 78 58 20 54 48 45 4e 20 65   ┆;    IF (x+7) > Wnd_.MaxX THEN e┆
0x59ae0…59b00            78 69 74 3b 0d 0a 20 20 20 49 46 20 79 20 3c 20 30 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20   ┆xit;     IF y < 0 THEN exit;    ┆
0x59b00…59b20            20 49 46 20 28 79 2b 37 29 20 3e 20 57 6e 64 5f 2e 4d 61 78 59 20 54 48 45 4e 20 65 78 69 74 3b   ┆ IF (y+7) > Wnd_.MaxY THEN exit;┆
0x59b20…59b40            0d 0a 20 20 53 63 72 5f 44 72 61 77 43 68 61 72 28 28 78 20 2b 20 57 6e 64 5f 2e 58 31 20 2b 20   ┆    Scr_DrawChar((x + Wnd_.X1 + ┆
0x59b40…59b60            37 29 20 41 4e 44 20 24 46 46 46 38 2c 20 28 79 20 2b 20 57 6e 64 5f 2e 59 31 29 2c 20 63 29 0d   ┆7) AND $FFF8, (y + Wnd_.Y1), c) ┆
0x59b60…59b80            0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 57 6e 64 5f 44 72 61 77 54 65 78 74 28   ┆ END;    PROCEDURE Wnd_DrawText(┆
0x59b80…59ba0            78 2c 20 79 20 3a 20 49 4e 54 45 47 45 52 3b 20 74 20 3a 73 74 72 38 30 20 29 3b 0d 0a 56 41 52   ┆x, y : INTEGER; t :str80 );  VAR┆
0x59ba0…59bc0            20 69 20 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 46 4f 52 20 69 20 3a 3d   ┆ i : INTEGER;  BEGIN    FOR i :=┆
0x59bc0…59be0            20 31 20 54 4f 20 6c 65 6e 28 74 29 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 57 6e 64 5f 44   ┆ 1 TO len(t) DO BEGIN      Wnd_D┆
0x59be0…59c00            72 61 77 43 68 61 72 28 78 2c 20 79 2c 20 74 5b 69 5d 29 3b 0d 0a 20 20 20 20 78 20 3a 3d 20 78   ┆rawChar(x, y, tÆiÅ);      x := x┆
0x59c00…59c20 (35, 1, 5) 20 2b 20 38 0d 0a 20 20 45 4e 44 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 69 73   ┆ + 8    END  END;    FUNCTION is┆
0x59c20…59c40            71 72 74 28 61 72 67 3a 20 49 4e 54 45 47 45 52 29 3a 49 4e 54 45 47 45 52 3b 0d 0a 56 41 52 0d   ┆qrt(arg: INTEGER):INTEGER;  VAR ┆
0x59c40…59c60            0a 20 20 6f 64 64 5f 69 6e 74 2c 20 6f 6c 64 5f 61 72 67 2c 20 66 69 72 73 74 5f 73 71 72 74 3a   ┆   odd_int, old_arg, first_sqrt:┆
0x59c60…59c80            20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 6f 64 64 5f 69 6e 74 3a 3d 31 3b 20   ┆ INTEGER;  BEGIN    odd_int:=1; ┆
0x59c80…59ca0            6f 6c 64 5f 61 72 67 3a 3d 61 72 67 3b 0d 0a 20 20 57 48 49 4c 45 20 61 72 67 3e 3d 30 20 44 4f   ┆old_arg:=arg;    WHILE arg>=0 DO┆
0x59ca0…59cc0            20 42 45 47 49 4e 0d 0a 20 20 20 20 61 72 67 3a 3d 61 72 67 2d 6f 64 64 5f 69 6e 74 3b 0d 0a 20   ┆ BEGIN      arg:=arg-odd_int;   ┆
0x59cc0…59ce0            20 20 20 6f 64 64 5f 69 6e 74 3a 3d 6f 64 64 5f 69 6e 74 2b 32 3b 0d 0a 20 20 45 4e 44 3b 0d 0a   ┆   odd_int:=odd_int+2;    END;  ┆
0x59ce0…59d00            20 20 66 69 72 73 74 5f 73 71 72 74 3a 3d 6f 64 64 5f 69 6e 74 20 53 48 52 20 31 3b 0d 0a 20 20   ┆  first_sqrt:=odd_int SHR 1;    ┆
0x59d00…59d20            49 46 20 73 71 72 28 66 69 72 73 74 5f 73 71 72 74 29 2d 66 69 72 73 74 5f 73 71 72 74 2b 31 3e   ┆IF sqr(first_sqrt)-first_sqrt+1>┆
0x59d20…59d40            6f 6c 64 5f 61 72 67 20 54 48 45 4e 0d 0a 20 20 20 20 69 73 71 72 74 3a 3d 66 69 72 73 74 5f 73   ┆old_arg THEN      isqrt:=first_s┆
0x59d40…59d60            71 72 74 2d 31 20 45 4c 53 45 20 69 73 71 72 74 3a 3d 66 69 72 73 74 5f 73 71 72 74 3b 0d 0a 45   ┆qrt-1 ELSE isqrt:=first_sqrt;  E┆
0x59d60…59d80            4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 57 6e 64 5f 43 69 72 63 6c 65 28 63 78 2c 20   ┆ND;    PROCEDURE Wnd_Circle(cx, ┆
0x59d80…59da0            63 79 2c 20 72 61 64 69 75 73 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 0d 0a 20 20 61 2c   ┆cy, radius: INTEGER);  VAR    a,┆
0x59da0…59dc0            20 61 66 2c 20 62 2c 20 62 66 2c 20 74 61 72 67 65 74 2c 20 72 32 3a 20 49 4e 54 45 47 45 52 3b   ┆ af, b, bf, target, r2: INTEGER;┆
0x59dc0…59de0            0d 0a 42 45 47 49 4e 0d 0a 20 20 74 61 72 67 65 74 3a 3d 30 3b 20 61 3a 3d 20 72 61 64 69 75 73   ┆  BEGIN    target:=0; a:= radius┆
0x59de0…59e00            3b 20 62 3a 3d 30 3b 20 72 32 3a 3d 73 71 72 28 72 61 64 69 75 73 29 3b 0d 0a 20 20 57 48 49 4c   ┆; b:=0; r2:=sqr(radius);    WHIL┆
0x59e00…59e20            45 20 61 3e 3d 62 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 62 3a 3d 69 73 71 72 74 28 72 32   ┆E a>=b DO BEGIN      b:=isqrt(r2┆
0x59e20…59e40            20 2d 20 73 71 72 28 61 29 29 3b 0d 0a 20 20 20 20 73 77 61 70 28 74 61 72 67 65 74 2c 20 62 29   ┆ - sqr(a));      swap(target, b)┆
0x59e40…59e60            3b 0d 0a 20 20 20 20 57 48 49 4c 45 20 62 3c 74 61 72 67 65 74 20 44 4f 20 42 45 47 49 4e 0d 0a   ┆;      WHILE b<target DO BEGIN  ┆
0x59e60…59e80            20 20 20 20 20 20 61 66 3a 3d 53 63 72 5f 61 73 70 65 63 74 2a 61 20 44 49 56 20 31 30 30 3b 20   ┆      af:=Scr_aspect*a DIV 100; ┆
0x59e80…59ea0            62 66 3a 3d 53 63 72 5f 61 73 70 65 63 74 2a 62 20 44 49 56 20 31 30 30 3b 0d 0a 20 20 20 20 20   ┆bf:=Scr_aspect*b DIV 100;       ┆
0x59ea0…59ec0            20 57 6e 64 5f 53 65 74 44 6f 74 28 63 78 2b 61 66 2c 63 79 2b 62 29 3b 20 57 6e 64 5f 53 65 74   ┆ Wnd_SetDot(cx+af,cy+b); Wnd_Set┆
0x59ec0…59ee0            44 6f 74 28 63 78 2b 62 66 2c 63 79 2b 61 29 3b 0d 0a 20 20 20 20 20 20 57 6e 64 5f 53 65 74 44   ┆Dot(cx+bf,cy+a);        Wnd_SetD┆
0x59ee0…59f00            6f 74 28 63 78 2d 61 66 2c 63 79 2b 62 29 3b 20 57 6e 64 5f 53 65 74 44 6f 74 28 63 78 2d 62 66   ┆ot(cx-af,cy+b); Wnd_SetDot(cx-bf┆
0x59f00…59f20            2c 63 79 2b 61 29 3b 0d 0a 20 20 20 20 20 20 57 6e 64 5f 53 65 74 44 6f 74 28 63 78 2d 61 66 2c   ┆,cy+a);        Wnd_SetDot(cx-af,┆
0x59f20…59f40            63 79 2d 62 29 3b 20 57 6e 64 5f 53 65 74 44 6f 74 28 63 78 2d 62 66 2c 63 79 2d 61 29 3b 0d 0a   ┆cy-b); Wnd_SetDot(cx-bf,cy-a);  ┆
0x59f40…59f60            20 20 20 20 20 20 57 6e 64 5f 53 65 74 44 6f 74 28 63 78 2b 61 66 2c 63 79 2d 62 29 3b 20 57 6e   ┆      Wnd_SetDot(cx+af,cy-b); Wn┆
0x59f60…59f80            64 5f 53 65 74 44 6f 74 28 63 78 2b 62 66 2c 63 79 2d 61 29 3b 0d 0a 20 20 20 20 20 20 62 3a 3d   ┆d_SetDot(cx+bf,cy-a);        b:=┆
0x59f80…59fa0            62 2b 31 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 61 3a 3d 61 2d 31 3b 0d 0a 20 20 45   ┆b+1;      END;      a:=a-1;    E┆
0x59fa0…59fc0            4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 5f 57 6c 64 5f 54 6f 57 69 6e   ┆ND;  END;    FUNCTION _Wld_ToWin┆
0x59fc0…59fe0            64 6f 77 58 28 78 20 3a 20 52 45 41 4c 29 20 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e   ┆dowX(x : REAL) : INTEGER;  BEGIN┆
0x59fe0…5a000            0d 0a 20 20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 20 3a 3d 20 63 6f 6e 76 65 72 74 28 28 28   ┆    _Wld_ToWindowX := convert(((┆
0x5a000…5a020 (36, 0, 1) 78 20 2d 20 57 6c 64 5f 2e 58 31 29 20 2a 20 57 6e 64 5f 2e 4d 61 78 58 29 20 2f 20 57 6c 64 5f   ┆x - Wld_.X1) * Wnd_.MaxX) / Wld_┆
0x5a020…5a040            2e 58 52 61 6e 67 65 29 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 5f 57 6c 64 5f   ┆.XRange)  END;    FUNCTION _Wld_┆
0x5a040…5a060            54 6f 57 69 6e 64 6f 77 59 28 79 20 3a 20 52 45 41 4c 29 20 3a 20 49 4e 54 45 47 45 52 3b 0d 0a   ┆ToWindowY(y : REAL) : INTEGER;  ┆
0x5a060…5a080            42 45 47 49 4e 0d 0a 20 20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 59 20 3a 3d 20 63 6f 6e 76 65   ┆BEGIN    _Wld_ToWindowY := conve┆
0x5a080…5a0a0            72 74 28 28 28 79 20 2d 20 57 6c 64 5f 2e 59 31 29 20 2a 20 57 6e 64 5f 2e 4d 61 78 59 29 20 2f   ┆rt(((y - Wld_.Y1) * Wnd_.MaxY) /┆
0x5a0a0…5a0c0            20 57 6c 64 5f 2e 59 52 61 6e 67 65 29 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45   ┆ Wld_.YRange)  END;    PROCEDURE┆
0x5a0c0…5a0e0            20 53 61 76 65 57 69 6e 64 6f 77 28 6e 6f 3a 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 0d 0a 20   ┆ SaveWindow(no:INTEGER);  VAR   ┆
0x5a0e0…5a100            20 73 69 7a 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 69 2c 6a 2c 61 64 72 6f 66 73 2c 61 64 72   ┆ siz: INTEGER;    i,j,adrofs,adr┆
0x5a100…5a120            73 65 67 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 49 54 48 20 57 6e   ┆seg : INTEGER;  BEGIN    WITH Wn┆
0x5a120…5a140            64 5f 61 72 72 28 2e 6e 6f 2e 29 2c 73 61 76 65 5f 61 72 72 28 2e 6e 6f 2e 29 20 44 4f 20 42 45   ┆d_arr(.no.),save_arr(.no.) DO BE┆
0x5a140…5a160            47 49 4e 0d 0a 20 20 20 20 49 46 20 74 78 74 5f 6d 6f 64 65 20 54 48 45 4e 20 42 45 47 49 4e 0d   ┆GIN      IF txt_mode THEN BEGIN ┆
0x5a160…5a180            0a 20 20 20 20 20 20 73 69 7a 3a 3d 28 74 78 74 6d 61 78 78 2b 31 29 2a 28 74 78 74 6d 61 78 79   ┆       siz:=(txtmaxx+1)*(txtmaxy┆
0x5a180…5a1a0            2b 31 29 2a 32 3b 0d 0a 20 20 20 20 20 20 49 46 20 28 63 6f 6e 74 65 6e 74 3d 4e 49 4c 29 20 4f   ┆+1)*2;        IF (content=NIL) O┆
0x5a1a0…5a1c0            52 20 28 73 69 7a 3e 6c 65 6e 67 74 68 29 20 54 48 45 4e 0d 0a 20 20 20 20 20 20 20 20 42 45 47   ┆R (siz>length) THEN          BEG┆
0x5a1c0…5a1e0            49 4e 20 61 6c 6c 6f 63 61 74 65 28 63 6f 6e 74 65 6e 74 2c 73 69 7a 29 3b 20 6c 65 6e 67 74 68   ┆IN allocate(content,siz); length┆
0x5a1e0…5a200            3a 3d 73 69 7a 20 45 4e 44 3b 0d 0a 20 20 20 20 20 20 61 64 72 73 65 67 3a 3d 73 65 67 28 63 6f   ┆:=siz END;        adrseg:=seg(co┆
0x5a200…5a220            6e 74 65 6e 74 5e 29 3b 20 61 64 72 6f 66 73 3a 3d 6f 66 73 28 63 6f 6e 74 65 6e 74 5e 29 3b 0d   ┆ntent^); adrofs:=ofs(content^); ┆
0x5a220…5a240            0a 20 20 20 20 20 20 46 4f 52 20 69 3a 3d 74 78 74 79 31 20 54 4f 20 74 78 74 79 31 2b 74 78 74   ┆       FOR i:=txty1 TO txty1+txt┆
0x5a240…5a260            6d 61 78 79 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 46 4f 52 20 6a 3a 3d 74 78   ┆maxy DO BEGIN          FOR j:=tx┆
0x5a260…5a280            74 78 31 20 54 4f 20 74 78 74 78 31 2b 74 78 74 6d 61 78 78 20 44 4f 20 42 45 47 49 4e 0d 0a 20   ┆tx1 TO txtx1+txtmaxx DO BEGIN   ┆
0x5a280…5a2a0            20 20 20 20 20 20 20 20 20 6d 65 6d 77 28 2e 61 64 72 73 65 67 3a 61 64 72 6f 66 73 2e 29 3a 3d   ┆         memw(.adrseg:adrofs.):=┆
0x5a2a0…5a2c0            74 78 74 5f 6c 69 6e 65 70 74 72 28 2e 69 2e 29 5e 28 2e 6a 2e 29 2e 62 6f 74 68 3b 0d 0a 20 20   ┆txt_lineptr(.i.)^(.j.).both;    ┆
0x5a2c0…5a2e0            20 20 20 20 20 20 20 20 61 64 72 6f 66 73 3a 3d 61 64 72 6f 66 73 2b 32 3b 0d 0a 20 20 20 20 20   ┆        adrofs:=adrofs+2;       ┆
0x5a2e0…5a300            20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 45 4e 44 0d 0a 20 20   ┆   END;        END;      END    ┆
0x5a300…5a320            20 20 45 4c 53 45 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 73 69 7a 3a 3d 28 6d 61 78 78 2b 38   ┆  ELSE BEGIN        siz:=(maxx+8┆
0x5a320…5a340            29 20 44 49 56 20 38 20 2a 20 28 6d 61 78 79 2b 31 29 3b 0d 0a 20 20 20 20 20 20 49 46 20 28 63   ┆) DIV 8 * (maxy+1);        IF (c┆
0x5a340…5a360            6f 6e 74 65 6e 74 3d 4e 49 4c 29 20 4f 52 20 28 73 69 7a 3e 6c 65 6e 67 74 68 29 20 54 48 45 4e   ┆ontent=NIL) OR (siz>length) THEN┆
0x5a360…5a380            0d 0a 20 20 20 20 20 20 20 20 42 45 47 49 4e 20 61 6c 6c 6f 63 61 74 65 28 63 6f 6e 74 65 6e 74   ┆          BEGIN allocate(content┆
0x5a380…5a3a0            2c 73 69 7a 29 3b 20 6c 65 6e 67 74 68 3a 3d 73 69 7a 20 45 4e 44 3b 0d 0a 20 20 20 20 20 20 6f   ┆,siz); length:=siz END;        o┆
0x5a3a0…5a3c0            6c 64 31 3a 3d 57 6c 64 5f 2e 78 6f 6c 64 3b 20 6f 6c 64 32 3a 3d 57 6c 64 5f 2e 79 6f 6c 64 3b   ┆ld1:=Wld_.xold; old2:=Wld_.yold;┆
0x5a3c0…5a3e0            0d 0a 20 20 20 20 20 20 53 63 72 5f 6f 70 65 72 61 74 69 6f 6e 28 73 61 76 65 2c 20 78 31 2c 20   ┆        Scr_operation(save, x1, ┆
0x5a3e0…5a400            79 31 2c 20 6d 61 78 78 2b 78 31 2c 20 6d 61 78 79 2b 79 31 2c 63 6f 6e 74 65 6e 74 29 3b 0d 0a   ┆y1, maxx+x1, maxy+y1,content);  ┆
0x5a400…5a420 (36, 0, 2) 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 77 69 6e 64 3a 3d 57 6e 64 5f 3b 0d 0a 20 20 45 4e 44   ┆    END;      wind:=Wnd_;    END┆
0x5a420…5a440            3b 0d 0a 20 20 73 63 72 5f 73 77 61 70 5f 3a 3d 6c 6f 61 64 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50   ┆;    scr_swap_:=load;  END;    P┆
0x5a440…5a460            52 4f 43 45 44 55 52 45 20 4c 6f 61 64 57 69 6e 64 6f 77 28 6e 6f 2c 78 2c 79 3a 20 49 4e 54 45   ┆ROCEDURE LoadWindow(no,x,y: INTE┆
0x5a460…5a480            47 45 52 29 3b 0d 0a 56 41 52 0d 0a 20 20 62 6f 2c 69 2c 6a 2c 61 64 72 6f 66 73 2c 61 64 72 73   ┆GER);  VAR    bo,i,j,adrofs,adrs┆
0x5a480…5a4a0            65 67 2c 6e 6f 32 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 6e 6f 32 3a   ┆eg,no2 : INTEGER;  BEGIN    no2:┆
0x5a4a0…5a4c0            3d 61 62 73 28 6e 6f 29 3b 0d 0a 20 20 57 6e 64 5f 3a 3d 57 6e 64 5f 61 72 72 28 2e 6e 6f 32 2e   ┆=abs(no);    Wnd_:=Wnd_arr(.no2.┆
0x5a4c0…5a4e0            29 3b 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 61 72 72 28 2e 6e 6f 32 2e 29 2c 20 73 61 76 65 5f   ┆);    WITH Wnd_arr(.no2.), save_┆
0x5a4e0…5a500            61 72 72 28 2e 6e 6f 32 2e 29 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 49 46 20 63 6f 6e 74   ┆arr(.no2.) DO BEGIN      IF cont┆
0x5a500…5a520            65 6e 74 3d 4e 49 4c 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20 20 20 78 31 3a 3d 78 31 2b 78   ┆ent=NIL THEN exit;      x1:=x1+x┆
0x5a520…5a540            3b 0d 0a 20 20 20 20 79 31 3a 3d 79 31 2b 79 3b 0d 0a 20 20 20 20 74 78 74 78 31 3a 3d 74 78 74   ┆;      y1:=y1+y;      txtx1:=txt┆
0x5a540…5a560            78 31 2b 78 3b 0d 0a 20 20 20 20 74 78 74 79 31 3a 3d 74 78 74 79 31 2b 79 3b 0d 0a 20 20 20 20   ┆x1+x;      txty1:=txty1+y;      ┆
0x5a560…5a580            49 46 20 74 78 74 5f 6d 6f 64 65 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 61 64   ┆IF txt_mode THEN BEGIN        ad┆
0x5a580…5a5a0            72 73 65 67 3a 3d 73 65 67 28 63 6f 6e 74 65 6e 74 5e 29 3b 20 61 64 72 6f 66 73 3a 3d 6f 66 73   ┆rseg:=seg(content^); adrofs:=ofs┆
0x5a5a0…5a5c0            28 63 6f 6e 74 65 6e 74 5e 29 3b 0d 0a 20 20 20 20 20 20 46 4f 52 20 69 3a 3d 74 78 74 79 31 20   ┆(content^);        FOR i:=txty1 ┆
0x5a5c0…5a5e0            54 4f 20 74 78 74 79 31 2b 74 78 74 6d 61 78 79 20 44 4f 0d 0a 20 20 20 20 20 20 20 20 46 4f 52   ┆TO txty1+txtmaxy DO          FOR┆
0x5a5e0…5a600            20 6a 3a 3d 74 78 74 78 31 20 54 4f 20 74 78 74 78 31 2b 74 78 74 6d 61 78 78 20 44 4f 20 42 45   ┆ j:=txtx1 TO txtx1+txtmaxx DO BE┆
0x5a600…5a620            47 49 4e 0d 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 73 63 72 5f 73 77 61 70 5f 20 3d 73 63 72   ┆GIN            if scr_swap_ =scr┆
0x5a620…5a640            73 77 61 70 20 74 68 65 6e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 3a   ┆swap then BEGIN              bo:┆
0x5a640…5a660            3d 74 78 74 5f 6c 69 6e 65 70 74 72 28 2e 69 2e 29 5e 28 2e 6a 2e 29 2e 62 6f 74 68 3b 0d 0a 20   ┆=txt_lineptr(.i.)^(.j.).both;   ┆
0x5a660…5a680            20 20 20 20 20 20 20 20 20 20 20 74 78 74 5f 6c 69 6e 65 70 74 72 28 2e 69 2e 29 5e 28 2e 6a 2e   ┆           txt_lineptr(.i.)^(.j.┆
0x5a680…5a6a0            29 2e 62 6f 74 68 3a 3d 6d 65 6d 77 28 2e 61 64 72 73 65 67 3a 61 64 72 6f 66 73 2e 29 3b 0d 0a   ┆).both:=memw(.adrseg:adrofs.);  ┆
0x5a6a0…5a6c0            20 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d 77 28 2e 61 64 72 73 65 67 3a 61 64 72 6f 66 73 2e   ┆            memw(.adrseg:adrofs.┆
0x5a6c0…5a6e0            29 3a 3d 62 6f 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 45 4e 44 20 45 4c 53 45 0d 0a 20 20 20 20   ┆):=bo;            END ELSE      ┆
0x5a6e0…5a700            20 20 20 20 20 20 20 20 74 78 74 5f 6c 69 6e 65 70 74 72 28 2e 69 2e 29 5e 28 2e 6a 2e 29 2e 62   ┆        txt_lineptr(.i.)^(.j.).b┆
0x5a700…5a720            6f 74 68 3a 3d 6d 65 6d 77 28 2e 61 64 72 73 65 67 3a 61 64 72 6f 66 73 2e 29 3b 0d 0a 20 20 20   ┆oth:=memw(.adrseg:adrofs.);     ┆
0x5a720…5a740            20 20 20 20 20 20 20 61 64 72 6f 66 73 3a 3d 61 64 72 6f 66 73 2b 32 3b 0d 0a 20 20 20 20 20 20   ┆       adrofs:=adrofs+2;        ┆
0x5a740…5a760            20 20 45 4e 44 3b 0d 0a 20 20 20 20 45 4e 44 0d 0a 20 20 20 20 45 4c 53 45 20 42 45 47 49 4e 0d   ┆  END;      END      ELSE BEGIN ┆
0x5a760…5a780            0a 20 20 20 20 20 20 20 53 63 72 5f 6f 70 65 72 61 74 69 6f 6e 28 73 63 72 5f 73 77 61 70 5f 2c   ┆        Scr_operation(scr_swap_,┆
0x5a780…5a7a0            78 31 2c 20 79 31 2c 20 6d 61 78 78 2b 78 31 2c 20 6d 61 78 79 2b 79 31 2c 63 6f 6e 74 65 6e 74   ┆x1, y1, maxx+x1, maxy+y1,content┆
0x5a7a0…5a7c0            29 3b 0d 0a 20 20 20 20 20 20 20 57 6c 64 5f 2e 78 6f 6c 64 3a 3d 6f 6c 64 31 3b 20 57 6c 64 5f   ┆);         Wld_.xold:=old1; Wld_┆
0x5a7c0…5a7e0            2e 79 6f 6c 64 3a 3d 6f 6c 64 32 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 49 46 20 6e   ┆.yold:=old2;      END;      IF n┆
0x5a7e0…5a800            6f 3c 30 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 72 65 6c 65 61 73 65 28 63 6f   ┆o<0 THEN BEGIN        release(co┆
0x5a800…5a820 (36, 0, 3) 6e 74 65 6e 74 29 3b 63 6f 6e 74 65 6e 74 3a 3d 4e 49 4c 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20   ┆ntent);content:=NIL      END;   ┆
0x5a820…5a840            20 20 20 57 6e 64 5f 3a 3d 77 69 6e 64 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 57 49 54 48 20 57   ┆   Wnd_:=wind;    END;    WITH W┆
0x5a840…5a860            6e 64 5f 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 78 31 3a 3d 78 31 2b 78 3b 0d 0a 20 20 20   ┆nd_ DO BEGIN      x1:=x1+x;     ┆
0x5a860…5a880            20 79 31 3a 3d 79 31 2b 79 3b 0d 0a 20 20 20 20 74 78 74 78 31 3a 3d 74 78 74 78 31 2b 78 3b 0d   ┆ y1:=y1+y;      txtx1:=txtx1+x; ┆
0x5a880…5a8a0            0a 20 20 20 20 74 78 74 79 31 3a 3d 74 78 74 79 31 2b 79 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 28 2a   ┆     txty1:=txty1+y;    END;  (*┆
0x5a8a0…5a8c0            20 20 73 61 76 65 5f 61 72 72 28 2e 6e 6f 32 2e 29 2e 77 69 6e 64 3a 3d 57 6e 64 5f 3b 2a 29 0d   ┆  save_arr(.no2.).wind:=Wnd_;*) ┆
0x5a8c0…5a8e0            0a 20 20 57 6e 64 5f 61 63 74 75 61 6c 3a 3d 6e 6f 32 3b 0d 0a 20 20 73 63 72 5f 73 77 61 70 5f   ┆   Wnd_actual:=no2;    scr_swap_┆
0x5a8e0…5a900            3a 3d 6c 6f 61 64 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 77 61 70 57 69   ┆:=load  END;    PROCEDURE SwapWi┆
0x5a900…5a920            6e 64 6f 77 28 6e 6f 2c 78 2c 79 3a 69 6e 74 65 67 65 72 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20   ┆ndow(no,x,y:integer);  BEGIN    ┆
0x5a920…5a940            73 63 72 5f 73 77 61 70 5f 3a 3d 73 63 72 73 77 61 70 3b 0d 0a 20 20 6c 6f 61 64 57 69 6e 64 6f   ┆scr_swap_:=scrswap;    loadWindo┆
0x5a940…5a960            77 28 6e 6f 2c 78 2c 79 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 57 6c   ┆w(no,x,y);  END;    PROCEDURE Wl┆
0x5a960…5a980            64 52 61 6e 67 65 28 6e 6f 3a 20 49 4e 54 45 47 45 52 3b 20 78 78 31 2c 20 78 78 32 2c 20 79 79   ┆dRange(no: INTEGER; xx1, xx2, yy┆
0x5a980…5a9a0            31 2c 20 79 79 32 20 3a 20 52 45 41 4c 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 49 54 48 20 57   ┆1, yy2 : REAL);  BEGIN    WITH W┆
0x5a9a0…5a9c0            6c 64 5f 61 72 72 28 2e 6e 6f 2e 29 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 58 31 20 3a 3d   ┆ld_arr(.no.) DO BEGIN      X1 :=┆
0x5a9c0…5a9e0            20 78 78 31 3b 0d 0a 20 20 20 20 59 31 20 3a 3d 20 79 79 31 3b 0d 0a 20 20 20 20 58 4f 6c 64 3a   ┆ xx1;      Y1 := yy1;      XOld:┆
0x5a9e0…5aa00            3d 20 78 78 31 3b 0d 0a 20 20 20 20 59 4f 6c 64 3a 3d 20 79 79 31 3b 0d 0a 20 20 20 20 58 52 61   ┆= xx1;      YOld:= yy1;      XRa┆
0x5aa00…5aa20            6e 67 65 20 3a 3d 20 78 78 32 20 2d 20 78 78 31 20 3b 0d 0a 20 20 20 20 59 52 61 6e 67 65 20 3a   ┆nge := xx2 - xx1 ;      YRange :┆
0x5aa20…5aa40            3d 20 79 79 32 20 2d 20 79 79 31 20 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52   ┆= yy2 - yy1     END;  END;    PR┆
0x5aa40…5aa60            4f 43 45 44 55 52 45 20 53 65 6c 65 63 74 57 6c 64 52 61 6e 67 65 28 6e 6f 3a 20 49 4e 54 45 47   ┆OCEDURE SelectWldRange(no: INTEG┆
0x5aa60…5aa80            45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 6c 64 5f 3a 3d 57 6c 64 5f 61 72 72 28 2e 6e 6f   ┆ER);  BEGIN    Wld_:=Wld_arr(.no┆
0x5aa80…5aaa0            2e 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 57 69 6e 64 6f 77 28 6e 6f   ┆.);  END;    PROCEDURE Window(no┆
0x5aaa0…5aac0            2c 20 78 78 31 2c 20 78 78 32 2c 20 79 79 31 2c 20 79 79 32 3a 20 49 4e 54 45 47 45 52 29 3b 0d   ┆, xx1, xx2, yy1, yy2: INTEGER); ┆
0x5aac0…5aae0            0a 56 41 52 20 63 68 3a 20 43 48 41 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 78 78 31 20 3a 3d 20   ┆ VAR ch: CHAR;  BEGIN    xx1 := ┆
0x5aae0…5ab00            28 78 78 31 20 2b 20 37 29 20 41 4e 44 20 24 66 66 66 38 3b 0d 0a 20 20 78 78 32 20 3a 3d 20 28   ┆(xx1 + 7) AND $fff8;    xx2 := (┆
0x5ab00…5ab20            28 78 78 32 20 2b 20 37 29 20 41 4e 44 20 24 66 66 66 38 29 2d 31 3b 0d 0a 20 20 49 46 20 78 78   ┆(xx2 + 7) AND $fff8)-1;    IF xx┆
0x5ab20…5ab40            31 3c 30 20 54 48 45 4e 20 78 78 31 3a 3d 30 3b 0d 0a 20 20 49 46 20 78 78 32 3e 53 63 72 5f 6d   ┆1<0 THEN xx1:=0;    IF xx2>Scr_m┆
0x5ab40…5ab60            61 78 78 20 54 48 45 4e 20 78 78 32 3a 3d 53 63 72 5f 6d 61 78 78 3b 0d 0a 20 20 49 46 20 79 79   ┆axx THEN xx2:=Scr_maxx;    IF yy┆
0x5ab60…5ab80            31 3c 30 20 54 48 45 4e 20 79 79 31 3a 3d 30 3b 0d 0a 20 20 49 46 20 79 79 32 3e 53 63 72 5f 6d   ┆1<0 THEN yy1:=0;    IF yy2>Scr_m┆
0x5ab80…5aba0            61 78 79 20 54 48 45 4e 20 79 79 32 3a 3d 53 63 72 5f 6d 61 78 79 3b 0d 0a 20 20 49 46 20 79 79   ┆axy THEN yy2:=Scr_maxy;    IF yy┆
0x5aba0…5abc0            31 3e 79 79 32 20 54 48 45 4e 20 73 77 61 70 28 79 79 31 2c 79 79 32 29 3b 0d 0a 20 20 49 46 20   ┆1>yy2 THEN swap(yy1,yy2);    IF ┆
0x5abc0…5abe0            78 78 31 3e 78 78 32 20 54 48 45 4e 20 73 77 61 70 28 78 78 31 2c 79 79 31 29 3b 0d 0a 20 20 57   ┆xx1>xx2 THEN swap(xx1,yy1);    W┆
0x5abe0…5ac00            49 54 48 20 57 6e 64 5f 61 72 72 28 2e 6e 6f 2e 29 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20   ┆ITH Wnd_arr(.no.) DO BEGIN      ┆
0x5ac00…5ac20 (36, 0, 4) 58 31 20 3a 3d 20 78 78 31 3b 0d 0a 20 20 20 20 59 31 20 3a 3d 20 79 79 31 3b 0d 0a 20 20 20 20   ┆X1 := xx1;      Y1 := yy1;      ┆
0x5ac20…5ac40            4d 61 78 58 20 3a 3d 20 78 78 32 20 2d 20 78 78 31 20 3b 0d 0a 20 20 20 20 4d 61 78 59 20 3a 3d   ┆MaxX := xx2 - xx1 ;      MaxY :=┆
0x5ac40…5ac60            20 79 79 32 20 2d 20 79 79 31 20 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52   ┆ yy2 - yy1 ;    END;  END;    PR┆
0x5ac60…5ac80            4f 43 45 44 55 52 45 20 57 69 6e 64 6f 77 43 6f 6c 6f 72 28 6e 6f 2c 20 66 63 6f 6c 6f 72 2c 20   ┆OCEDURE WindowColor(no, fcolor, ┆
0x5ac80…5aca0            62 63 6f 6c 6f 72 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 49 54 48   ┆bcolor: INTEGER);  BEGIN    WITH┆
0x5aca0…5acc0            20 57 6e 64 5f 61 72 72 28 2e 6e 6f 2e 29 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 70 65 6e   ┆ Wnd_arr(.no.) DO BEGIN      pen┆
0x5acc0…5ace0            63 6f 6c 6f 72 3a 3d 66 63 6f 6c 6f 72 3b 0d 0a 20 20 20 20 62 61 63 6b 63 6f 6c 6f 72 3a 3d 62   ┆color:=fcolor;      backcolor:=b┆
0x5ace0…5ad00            63 6f 6c 6f 72 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52   ┆color;    END;  END;    PROCEDUR┆
0x5ad00…5ad20            45 20 57 69 6e 64 6f 77 48 65 61 64 65 72 28 6e 6f 3a 20 49 4e 54 45 47 45 52 3b 20 68 3a 20 73   ┆E WindowHeader(no: INTEGER; h: s┆
0x5ad20…5ad40            74 72 38 30 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 6e 64 5f 61 72 72 28 2e 6e 6f 2e 29 2e 68   ┆tr80);  BEGIN    Wnd_arr(.no.).h┆
0x5ad40…5ad60            64 72 3a 3d 68 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 65 6c 65 63 74   ┆dr:=h;  END;    PROCEDURE Select┆
0x5ad60…5ad80            57 69 6e 64 6f 77 28 6e 6f 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57   ┆Window(no: INTEGER);  BEGIN    W┆
0x5ad80…5ada0            6e 64 5f 3a 3d 57 6e 64 5f 61 72 72 28 2e 6e 6f 2e 29 3b 0d 0a 20 20 57 6e 64 5f 61 63 74 75 61   ┆nd_:=Wnd_arr(.no.);    Wnd_actua┆
0x5ada0…5adc0            6c 3a 3d 6e 6f 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 54 65 78 74 57 69   ┆l:=no;  END;    PROCEDURE TextWi┆
0x5adc0…5ade0            6e 64 6f 77 28 6e 6f 2c 20 78 78 31 2c 20 78 78 32 2c 20 79 79 31 2c 20 79 79 32 3a 20 49 4e 54   ┆ndow(no, xx1, xx2, yy1, yy2: INT┆
0x5ade0…5ae00            45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 49 46 20 78 78 32 3c 78 78 31 20 54 48 45 4e   ┆EGER);  BEGIN    IF xx2<xx1 THEN┆
0x5ae00…5ae20            20 68 61 6c 74 3b 0d 0a 20 20 49 46 20 79 79 32 3c 79 79 31 20 54 48 45 4e 20 68 61 6c 74 3b 0d   ┆ halt;    IF yy2<yy1 THEN halt; ┆
0x5ae20…5ae40            0a 20 20 49 46 20 78 78 31 3c 30 20 54 48 45 4e 20 78 78 31 3a 3d 30 3b 0d 0a 20 20 49 46 20 79   ┆   IF xx1<0 THEN xx1:=0;    IF y┆
0x5ae40…5ae60            79 31 3c 30 20 54 48 45 4e 20 79 79 31 3a 3d 30 3b 0d 0a 20 20 49 46 20 78 78 32 3e 74 78 74 5f   ┆y1<0 THEN yy1:=0;    IF xx2>txt_┆
0x5ae60…5ae80            6d 61 78 78 20 54 48 45 4e 20 78 78 32 3a 3d 74 78 74 5f 6d 61 78 78 3b 0d 0a 20 20 49 46 20 79   ┆maxx THEN xx2:=txt_maxx;    IF y┆
0x5ae80…5aea0            79 32 3e 74 78 74 5f 6d 61 78 79 20 54 48 45 4e 20 79 79 32 3a 3d 74 78 74 5f 6d 61 78 79 3b 0d   ┆y2>txt_maxy THEN yy2:=txt_maxy; ┆
0x5aea0…5aec0            0a 20 20 57 49 54 48 20 57 6e 64 5f 61 72 72 28 2e 6e 6f 2e 29 20 44 4f 20 42 45 47 49 4e 0d 0a   ┆   WITH Wnd_arr(.no.) DO BEGIN  ┆
0x5aec0…5aee0            20 20 20 20 74 78 74 78 31 3a 3d 78 78 31 3b 0d 0a 20 20 20 20 74 78 74 79 31 3a 3d 79 79 31 3b   ┆    txtx1:=xx1;      txty1:=yy1;┆
0x5aee0…5af00            0d 0a 20 20 20 20 74 78 74 6d 61 78 78 3a 3d 78 78 32 2d 78 78 31 3b 0d 0a 20 20 20 20 74 78 74   ┆      txtmaxx:=xx2-xx1;      txt┆
0x5af00…5af20            6d 61 78 79 3a 3d 79 79 32 2d 79 79 31 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 57 69 6e 64 6f 77   ┆maxy:=yy2-yy1;    END;    Window┆
0x5af20…5af40            28 6e 6f 2c 78 78 31 2a 38 2c 78 78 32 2a 38 2b 37 2c 53 63 72 5f 6d 61 78 79 2d 28 28 79 79 32   ┆(no,xx1*8,xx2*8+7,Scr_maxy-((yy2┆
0x5af40…5af60            2a 38 29 2b 37 29 2c 53 63 72 5f 6d 61 78 79 2d 28 79 79 31 2a 38 29 29 3b 0d 0a 45 4e 44 3b 0d   ┆*8)+7),Scr_maxy-(yy1*8));  END; ┆
0x5af60…5af80            0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 54 65 78 74 57 69 6e 64 6f 77 43 6f 6c 6f 72 28 6e 6f 2c   ┆   PROCEDURE TextWindowColor(no,┆
0x5af80…5afa0            20 66 63 6f 6c 6f 72 2c 20 62 63 6f 6c 6f 72 3a 20 42 59 54 45 29 3b 0d 0a 42 45 47 49 4e 0d 0a   ┆ fcolor, bcolor: BYTE);  BEGIN  ┆
0x5afa0…5afc0            20 20 57 6e 64 5f 70 61 6c 65 74 74 65 28 2e 6e 6f 2e 29 3a 3d 66 63 6f 6c 6f 72 2b 28 62 63 6f   ┆  Wnd_palette(.no.):=fcolor+(bco┆
0x5afc0…5afe0            6c 6f 72 20 53 48 4c 20 34 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 47   ┆lor SHL 4);  END;    PROCEDURE G┆
0x5afe0…5b000            72 61 70 68 69 63 53 63 72 65 65 6e 3b 0d 0a 56 41 52 20 69 3a 20 49 4e 54 45 47 45 52 3b 0d 0a   ┆raphicScreen;  VAR i: INTEGER;  ┆
0x5b000…5b020 (36, 0, 5) 42 45 47 49 4e 0d 0a 20 20 74 78 74 5f 6d 6f 64 65 3a 3d 74 72 75 65 3b 0d 0a 20 20 65 68 6f 66   ┆BEGIN    txt_mode:=true;    ehof┆
0x5b020…5b040            73 3a 3d 6f 66 73 28 74 65 78 74 6d 6f 64 65 29 3b 0d 0a 20 20 6d 61 72 6b 28 53 63 72 5f 42 45   ┆s:=ofs(textmode);    mark(Scr_BE┆
0x5b040…5b060            47 49 4e 29 3b 0d 0a 20 20 69 6e 69 74 5f 67 72 61 70 68 69 63 73 3b 0d 0a 20 20 69 6e 69 74 5f   ┆GIN);    init_graphics;    init_┆
0x5b060…5b080            74 65 78 74 3b 0d 0a 20 20 46 4f 52 20 69 3a 3d 31 20 54 4f 20 57 6e 64 5f 6d 61 78 20 44 4f 20   ┆text;    FOR i:=1 TO Wnd_max DO ┆
0x5b080…5b0a0            42 45 47 49 4e 0d 0a 20 20 20 20 74 65 78 74 57 69 6e 64 6f 77 28 69 2c 30 2c 37 39 2c 30 2c 32   ┆BEGIN      textWindow(i,0,79,0,2┆
0x5b0a0…5b0c0            34 29 3b 0d 0a 20 20 20 20 74 65 78 74 57 69 6e 64 6f 77 43 6f 6c 6f 72 28 69 2c 77 68 69 74 65   ┆4);      textWindowColor(i,white┆
0x5b0c0…5b0e0            74 78 74 2c 62 6c 61 63 6b 74 78 74 29 3b 0d 0a 20 20 20 20 57 69 6e 64 6f 77 28 69 2c 30 2c 20   ┆txt,blacktxt);      Window(i,0, ┆
0x5b0e0…5b100            53 63 72 5f 4d 61 78 58 2c 20 30 2c 20 53 63 72 5f 4d 61 78 59 29 3b 0d 0a 20 20 20 20 57 6c 64   ┆Scr_MaxX, 0, Scr_MaxY);      Wld┆
0x5b100…5b120            52 61 6e 67 65 28 69 2c 30 2e 30 2c 20 53 63 72 5f 4d 61 78 58 2c 20 30 2e 30 2c 20 53 63 72 5f   ┆Range(i,0.0, Scr_MaxX, 0.0, Scr_┆
0x5b120…5b140            4d 61 78 59 29 3b 0d 0a 20 20 20 20 57 69 6e 64 6f 77 43 6f 6c 6f 72 28 69 2c 77 68 69 74 65 2c   ┆MaxY);      WindowColor(i,white,┆
0x5b140…5b160            62 6c 61 63 6b 29 3b 0d 0a 20 20 20 20 57 49 54 48 20 73 61 76 65 5f 61 72 72 28 2e 69 2e 29 20   ┆black);      WITH save_arr(.i.) ┆
0x5b160…5b180            44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 3a 3d 4e 49 4c 3b 20 0d 0a   ┆DO BEGIN        content:=NIL;   ┆
0x5b180…5b1a0            20 20 20 20 20 20 6c 65 6e 67 74 68 3a 3d 30 3b 20 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20   ┆      length:=0;       END;     ┆
0x5b1a0…5b1c0            20 57 6e 64 5f 61 72 72 28 2e 69 2e 29 2e 68 64 72 3a 3d 27 27 3b 0d 0a 20 20 45 4e 44 3b 0d 0a   ┆ Wnd_arr(.i.).hdr:='';    END;  ┆
0x5b1c0…5b1e0            20 20 73 65 6c 65 63 74 57 69 6e 64 6f 77 28 31 29 3b 0d 0a 20 20 73 65 6c 65 63 74 57 6c 64 52   ┆  selectWindow(1);    selectWldR┆
0x5b1e0…5b200            61 6e 67 65 28 31 29 3b 0d 0a 20 20 62 69 74 6e 72 3a 3d 30 3b 0d 0a 20 20 6c 69 6e 65 70 61 74   ┆ange(1);    bitnr:=0;    linepat┆
0x5b200…5b220            74 65 72 6e 73 69 7a 65 3a 3d 31 3b 0d 0a 20 20 6c 69 6e 65 70 61 74 74 65 72 6e 3a 3d 4c 49 4e   ┆ternsize:=1;    linepattern:=LIN┆
0x5b220…5b240            45 54 59 50 45 28 2e 31 2e 29 3b 0d 0a 20 20 63 68 77 69 64 74 68 3a 3d 31 3b 0d 0a 20 20 63 68   ┆ETYPE(.1.);    chwidth:=1;    ch┆
0x5b240…5b260            68 65 69 67 74 68 3a 3d 31 3b 0d 0a 20 20 72 6f 74 61 74 69 6f 6e 3a 3d 30 3b 0d 0a 20 20 6d 61   ┆heigth:=1;    rotation:=0;    ma┆
0x5b260…5b280            72 6b 65 72 73 69 7a 65 3a 3d 31 3b 0d 0a 45 4e 44 3b 0d 0a 20 20 0d 0a 50 52 4f 43 45 44 55 52   ┆rkersize:=1;  END;      PROCEDUR┆
0x5b280…5b2a0            45 20 53 63 72 5f 64 75 6d 70 28 6d 6f 64 65 3a 70 72 6e 5f 54 59 50 45 29 3b 0d 0a 56 41 52 0d   ┆E Scr_dump(mode:prn_TYPE);  VAR ┆
0x5b2a0…5b2c0            0a 20 20 70 72 69 6e 74 65 72 3a 20 74 65 78 74 3b 0d 0a 20 20 69 2c 6a 2c 6b 31 2c 73 6d 61 78   ┆   printer: text;    i,j,k1,smax┆
0x5b2c0…5b2e0            2c 74 6d 61 78 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 69 6e 69 74 5f 63 68 3a 20 53 54 52 49   ┆,tmax: INTEGER;    init_ch: STRI┆
0x5b2e0…5b300            4e 47 28 2e 36 2e 29 3b 0d 0a 20 20 67 72 5f 73 74 72 3a 20 53 54 52 49 4e 47 28 2e 34 2e 29 3b   ┆NG(.6.);    gr_str: STRING(.4.);┆
0x5b300…5b320            0d 0a 20 20 63 68 3a 20 63 68 61 72 3b 0d 0a 20 20 48 69 67 68 43 48 2c 4c 6f 77 43 48 3a 20 62   ┆    ch: char;    HighCH,LowCH: b┆
0x5b320…5b340            79 74 65 3b 0d 0a 20 20 48 69 67 68 42 79 74 65 2c 4c 6f 77 42 79 74 65 3a 20 62 79 74 65 3b 0d   ┆yte;    HighByte,LowByte: byte; ┆
0x5b340…5b360            0a 20 20 62 69 74 6d 6f 64 65 3a 20 63 68 61 72 3b 0d 0a 20 20 0d 0a 50 52 4f 43 45 44 55 52 45   ┆   bitmode: char;      PROCEDURE┆
0x5b360…5b380            20 42 69 74 42 69 74 28 4f 6c 64 42 79 74 65 3a 42 79 74 65 3b 56 41 52 20 4e 65 77 62 79 74 65   ┆ BitBit(OldByte:Byte;VAR Newbyte┆
0x5b380…5b3a0            3a 20 62 79 74 65 29 3b 0d 0a 76 61 72 20 20 0d 0a 20 20 62 69 74 3a 20 62 79 74 65 3b 0d 0a 20   ┆: byte);  var      bit: byte;   ┆
0x5b3a0…5b3c0            20 6a 2c 6e 3a 69 6e 74 65 67 65 72 3b 0d 0a 0d 0a 42 45 47 49 4e 0d 0a 20 20 4e 65 77 42 79 74   ┆ j,n:integer;    BEGIN    NewByt┆
0x5b3c0…5b3e0            65 3a 3d 24 30 30 3b 0d 0a 20 20 46 4f 52 20 6a 3a 3d 20 31 20 74 6f 20 34 44 4f 0d 0a 20 20 42   ┆e:=$00;    FOR j:= 1 to 4DO    B┆
0x5b3e0…5b400            45 47 49 4e 0d 0a 20 20 20 20 63 61 73 65 20 6a 20 6f 66 0d 0a 20 20 20 20 31 3a 20 6e 3a 3d 31   ┆EGIN      case j of      1: n:=1┆
0x5b400…5b420 (36, 1, 1) 3b 0d 0a 20 20 20 20 32 3a 20 6e 3a 3d 32 3b 0d 0a 20 20 20 20 33 3a 20 6e 3a 3d 34 3b 0d 0a 20   ┆;      2: n:=2;      3: n:=4;   ┆
0x5b420…5b440            20 20 20 34 3a 20 6e 3a 3d 38 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 42 69 74 3a 3d   ┆   4: n:=8;      END;      Bit:=┆
0x5b440…5b460            4f 6c 64 62 79 74 65 20 41 4e 44 20 6e 3b 0d 0a 20 20 20 20 42 69 74 3a 3d 42 69 74 20 53 48 4c   ┆Oldbyte AND n;      Bit:=Bit SHL┆
0x5b460…5b480            20 6a 3b 0d 0a 20 20 20 20 4e 65 77 62 79 74 65 3a 3d 4e 65 77 62 79 74 65 20 4f 52 20 42 69 74   ┆ j;      Newbyte:=Newbyte OR Bit┆
0x5b480…5b4a0            3b 0d 0a 20 20 20 20 42 69 74 3a 3d 42 69 74 20 53 48 52 20 31 3b 0d 0a 20 20 20 20 4e 65 77 62   ┆;      Bit:=Bit SHR 1;      Newb┆
0x5b4a0…5b4c0            79 74 65 3a 3d 4e 65 77 62 79 74 65 20 4f 52 20 42 69 74 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e   ┆yte:=Newbyte OR Bit;    END;  EN┆
0x5b4c0…5b4e0            44 3b 0d 0a 20 20 0d 0a 42 45 47 49 4e 0d 0a 20 20 61 73 73 69 67 6e 28 70 72 69 6e 74 65 72 2c   ┆D;      BEGIN    assign(printer,┆
0x5b4e0…5b500            27 6c 73 74 3a 27 29 3b 0d 0a 20 20 72 65 73 65 74 28 70 72 69 6e 74 65 72 29 3b 0d 0a 20 20 49   ┆'lst:');    reset(printer);    I┆
0x5b500…5b520            46 20 69 6f 72 65 73 3c 3e 30 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20 49 46 20 6d 6f 64 65   ┆F iores<>0 THEN exit;    IF mode┆
0x5b520…5b540            20 69 6e 20 28 2e 4e 45 43 5f 31 36 62 69 74 2e 29 20 74 68 65 6e 20 0d 0a 20 20 42 45 47 49 4e   ┆ in (.NEC_16bit.) then     BEGIN┆
0x5b540…5b560            0d 0a 20 20 20 20 62 69 74 6d 6f 64 65 3a 3d 27 49 27 3b 20 4b 31 3a 3d 32 3b 0d 0a 20 20 45 4e   ┆      bitmode:='I'; K1:=2;    EN┆
0x5b560…5b580            44 20 65 6c 73 65 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 62 69 74 6d 6f 64 65 3a 3d 27 4b   ┆D else    BEGIN      bitmode:='K┆
0x5b580…5b5a0            27 3b 20 4b 31 3a 3d 31 3b 0d 0a 20 20 45 4e 44 3b 20 20 0d 0a 20 20 73 6d 61 78 3a 3d 28 53 63   ┆'; K1:=1;    END;      smax:=(Sc┆
0x5b5a0…5b5c0            72 5f 6d 61 78 79 2b 31 29 2a 6b 31 3b 0d 0a 20 20 77 72 69 74 65 6c 6e 28 70 72 69 6e 74 65 72   ┆r_maxy+1)*k1;    writeln(printer┆
0x5b5c0…5b5e0            2c 63 68 72 28 32 37 29 2b 27 41 27 2b 63 68 72 28 38 29 2c 63 68 72 28 32 37 29 2b 27 32 27 29   ┆,chr(27)+'A'+chr(8),chr(27)+'2')┆
0x5b5e0…5b600            3b 0d 0a 20 20 69 6e 69 74 5f 63 68 3a 3d 63 68 72 28 32 37 29 2b 62 69 74 6d 6f 64 65 2b 63 68   ┆;    init_ch:=chr(27)+bitmode+ch┆
0x5b600…5b620            72 28 6c 6f 28 73 6d 61 78 29 29 2b 63 68 72 28 68 69 28 73 6d 61 78 29 29 3b 0d 0a 20 20 46 4f   ┆r(lo(smax))+chr(hi(smax));    FO┆
0x5b620…5b640            52 20 69 3a 3d 30 20 54 4f 20 74 78 74 5f 6d 61 78 78 20 20 44 4f 0d 0a 20 20 42 45 47 49 4e 0d   ┆R i:=0 TO txt_maxx  DO    BEGIN ┆
0x5b640…5b660            0a 20 20 20 20 77 72 69 74 65 28 70 72 69 6e 74 65 72 2c 69 6e 69 74 5f 63 68 29 3b 0d 0a 20 20   ┆     write(printer,init_ch);    ┆
0x5b660…5b680            20 20 46 4f 52 20 6a 3a 3d 30 20 74 6f 20 53 63 72 5f 6d 61 78 79 20 44 4f 0d 0a 20 20 20 20 42   ┆  FOR j:=0 to Scr_maxy DO      B┆
0x5b680…5b6a0            45 47 49 4e 0d 0a 20 20 20 20 20 20 4c 6f 77 62 79 74 65 3a 3d 24 30 30 3b 20 48 69 67 68 62 79   ┆EGIN        Lowbyte:=$00; Highby┆
0x5b6a0…5b6c0            74 65 3a 3d 24 30 30 3b 20 0d 0a 20 20 20 20 20 20 63 68 3a 3d 63 68 72 28 6d 65 6d 28 2e 53 63   ┆te:=$00;         ch:=chr(mem(.Sc┆
0x5b6c0…5b6e0            72 5f 73 65 67 6d 3a 53 63 72 5f 79 61 64 64 72 28 2e 6a 2e 29 2b 53 63 72 5f 78 61 64 64 72 28   ┆r_segm:Scr_yaddr(.j.)+Scr_xaddr(┆
0x5b6e0…5b700            2e 28 69 29 2a 38 2e 29 2e 29 29 3b 0d 0a 20 20 20 20 20 20 69 66 20 62 69 74 6d 6f 64 65 3d 27   ┆.(i)*8.).));        if bitmode='┆
0x5b700…5b720            4b 27 20 74 68 65 6e 0d 0a 20 20 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 77 72   ┆K' then        BEGIN          wr┆
0x5b720…5b740            69 74 65 28 70 72 69 6e 74 65 72 2c 63 68 29 3b 0d 0a 20 20 20 20 20 20 45 4e 44 20 45 4c 53 45   ┆ite(printer,ch);        END ELSE┆
0x5b740…5b760            20 0d 0a 20 20 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 49 46 20 43 48 3e 40 30   ┆         BEGIN          IF CH>@0┆
0x5b760…5b780            20 54 48 45 4e 0d 0a 20 20 20 20 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆ THEN          BEGIN            ┆
0x5b780…5b7a0            48 69 67 68 43 48 3a 3d 6f 72 64 28 63 68 29 20 61 6e 64 20 24 66 30 3b 0d 0a 20 20 20 20 20 20   ┆HighCH:=ord(ch) and $f0;        ┆
0x5b7a0…5b7c0            20 20 20 20 48 69 67 68 43 48 3a 3d 48 69 67 68 43 48 20 73 68 72 20 34 3b 0d 0a 20 20 20 20 20   ┆    HighCH:=HighCH shr 4;       ┆
0x5b7c0…5b7e0            20 20 20 20 20 4c 6f 77 43 48 3a 3d 6f 72 64 28 63 68 29 20 61 6e 64 20 24 30 66 3b 0d 0a 20 20   ┆     LowCH:=ord(ch) and $0f;    ┆
0x5b7e0…5b800            20 20 20 20 20 20 20 20 42 69 74 42 69 74 28 48 69 67 68 43 48 2c 48 69 67 68 42 79 74 65 29 3b   ┆        BitBit(HighCH,HighByte);┆
0x5b800…5b820 (36, 1, 2) 20 42 69 74 42 69 74 28 4c 6f 77 43 48 2c 4c 6f 77 42 79 74 65 29 3b 0d 0a 20 20 20 20 20 20 20   ┆ BitBit(LowCH,LowByte);         ┆
0x5b820…5b840            20 45 4e 44 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 77 72 69 74 65 28 70 72 69 6e 74 65 72 2c 63   ┆ END;            write(printer,c┆
0x5b840…5b860            68 72 28 48 69 67 68 42 79 74 65 29 2c 63 68 72 28 4c 6f 77 42 79 74 65 29 2c 63 68 72 28 48 69   ┆hr(HighByte),chr(LowByte),chr(Hi┆
0x5b860…5b880            67 68 42 79 74 65 29 2c 63 68 72 28 4c 6f 77 42 79 74 65 29 29 3b 0d 0a 20 20 20 20 20 20 20 45   ┆ghByte),chr(LowByte));         E┆
0x5b880…5b8a0            4e 44 3b 0d 0a 20 20 20 20 20 20 69 66 20 6b 65 79 70 72 65 73 73 20 74 68 65 6e 0d 0a 20 20 20   ┆ND;        if keypress then     ┆
0x5b8a0…5b8c0            20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 72 65 61 64 28 6b 62 64 2c 63 68 29 3b 0d   ┆   BEGIN          read(kbd,ch); ┆
0x5b8c0…5b8e0            0a 20 20 20 20 20 20 20 20 65 78 69 74 3b 0d 0a 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20   ┆         exit;        END;      ┆
0x5b8e0…5b900            45 4e 44 3b 0d 0a 20 20 20 20 77 72 69 74 65 6c 6e 28 70 72 69 6e 74 65 72 29 3b 0d 0a 20 20 45   ┆END;      writeln(printer);    E┆
0x5b900…5b920            4e 44 3b 0d 0a 20 20 77 72 69 74 65 6c 6e 28 70 72 69 6e 74 65 72 2c 63 68 72 28 32 37 29 2b 27   ┆ND;    writeln(printer,chr(27)+'┆
0x5b920…5b940            63 31 27 29 3b 0d 0a 20 20 77 72 69 74 65 28 40 31 32 29 3b 0d 0a 20 20 63 6c 6f 73 65 28 70 72   ┆c1');    write(@12);    close(pr┆
0x5b940…5b960            69 6e 74 65 72 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 50 6c 6f 74 41   ┆inter);  END;    PROCEDURE PlotA┆
0x5b960…5b980            74 28 78 2c 79 3a 20 52 45 41 4c 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 6e 64 5f 53 65 74 44   ┆t(x,y: REAL);  BEGIN    Wnd_SetD┆
0x5b980…5b9a0            6f 74 28 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 78 29 2c 20 5f 57 6c 64 5f 54 6f 57 69 6e   ┆ot(_Wld_ToWindowX(x), _Wld_ToWin┆
0x5b9a0…5b9c0            64 6f 77 59 28 79 29 29 3b 0d 0a 20 20 57 6c 64 5f 2e 58 6f 6c 64 3a 3d 78 3b 20 57 6c 64 5f 2e   ┆dowY(y));    Wld_.Xold:=x; Wld_.┆
0x5b9c0…5b9e0            59 6f 6c 64 3a 3d 79 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 50 6c 6f 74   ┆Yold:=y;  END;    PROCEDURE Plot┆
0x5b9e0…5ba00            62 79 28 78 2c 79 3a 20 52 45 41 4c 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 50 6c 6f 74 61 74 28   ┆by(x,y: REAL);  BEGIN    Plotat(┆
0x5ba00…5ba20            57 6c 64 5f 2e 58 4f 6c 64 2b 78 2c 57 6c 64 5f 2e 59 4f 6c 64 2b 79 29 3b 0d 0a 45 4e 44 3b 0d   ┆Wld_.XOld+x,Wld_.YOld+y);  END; ┆
0x5ba20…5ba40            0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 43 69 72 63 6c 65 28 78 2c 79 2c 72 3a 20 52 45 41 4c 29   ┆   PROCEDURE Circle(x,y,r: REAL)┆
0x5ba40…5ba60            3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 20 20 57 6e 64 5f 63 69 72 63 6c 65 28 5f 57 6c 64 5f 54 6f   ┆;  BEGIN      Wnd_circle(_Wld_To┆
0x5ba60…5ba80            57 69 6e 64 6f 77 58 28 78 29 2c 20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 59 28 79 29 2c 20 5f   ┆WindowX(x), _Wld_ToWindowY(y), _┆
0x5ba80…5baa0            57 6c 64 5f 54 6f 57 69 6e 64 6f 77 59 28 72 29 29 3b 0d 0a 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52   ┆Wld_ToWindowY(r));    END;    PR┆
0x5baa0…5bac0            4f 43 45 44 55 52 45 20 4d 6f 76 65 54 6f 28 78 2c 79 3a 52 45 41 4c 29 3b 0d 0a 42 45 47 49 4e   ┆OCEDURE MoveTo(x,y:REAL);  BEGIN┆
0x5bac0…5bae0            0d 0a 20 20 57 6c 64 5f 2e 58 4f 6c 64 3a 3d 78 3b 20 57 6c 64 5f 2e 59 4f 6c 64 3a 3d 79 3b 0d   ┆    Wld_.XOld:=x; Wld_.YOld:=y; ┆
0x5bae0…5bb00            0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4d 6f 76 65 42 79 28 78 2c 79 3a 20 52   ┆ END;    PROCEDURE MoveBy(x,y: R┆
0x5bb00…5bb20            45 41 4c 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 6d 6f 76 65 74 6f 28 57 6c 64 5f 2e 58 4f 6c 64   ┆EAL);  BEGIN    moveto(Wld_.XOld┆
0x5bb20…5bb40            2b 78 2c 57 6c 64 5f 2e 59 4f 6c 64 2b 79 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44   ┆+x,Wld_.YOld+y);  END;    PROCED┆
0x5bb40…5bb60            55 52 45 20 4c 69 6e 65 54 6f 28 78 32 2c 20 79 32 20 3a 20 52 45 41 4c 29 3b 0d 0a 42 45 47 49   ┆URE LineTo(x2, y2 : REAL);  BEGI┆
0x5bb60…5bb80            4e 0d 0a 20 20 57 6e 64 5f 4c 69 6e 65 54 6f 28 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 57   ┆N    Wnd_LineTo(_Wld_ToWindowX(W┆
0x5bb80…5bba0            6c 64 5f 2e 58 4f 6c 64 29 2c 20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 59 28 57 6c 64 5f 2e 59   ┆ld_.XOld), _Wld_ToWindowY(Wld_.Y┆
0x5bba0…5bbc0            4f 6c 64 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f 57 6c 64 5f 54 6f 57 69 6e   ┆Old),                 _Wld_ToWin┆
0x5bbc0…5bbe0            64 6f 77 58 28 78 32 29 2c 20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 59 28 79 32 29 29 3b 0d 0a   ┆dowX(x2), _Wld_ToWindowY(y2));  ┆
0x5bbe0…5bc00            20 20 57 6c 64 5f 2e 58 4f 6c 64 3a 3d 78 32 3b 20 57 6c 64 5f 2e 59 4f 6c 64 3a 3d 79 32 3b 0d   ┆  Wld_.XOld:=x2; Wld_.YOld:=y2; ┆
0x5bc00…5bc20 (36, 1, 3) 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4c 69 6e 65 42 79 28 78 2c 79 3a 20 52   ┆ END;    PROCEDURE LineBy(x,y: R┆
0x5bc20…5bc40            45 41 4c 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 4c 69 6e 65 54 6f 28 78 2b 57 6c 64 5f 2e 58 4f   ┆EAL);  BEGIN    LineTo(x+Wld_.XO┆
0x5bc40…5bc60            6c 64 2c 79 2b 57 6c 64 5f 2e 59 4f 6c 64 29 3b 0d 0a 45 4e 44 3b 0d 0a 20 20 0d 0a 50 52 4f 43   ┆ld,y+Wld_.YOld);  END;      PROC┆
0x5bc60…5bc80            45 44 55 52 45 20 50 6c 6f 74 54 65 78 74 28 78 2c 79 3a 20 52 45 41 4c 3b 20 73 3a 20 73 74 72   ┆EDURE PlotText(x,y: REAL; s: str┆
0x5bc80…5bca0            38 30 29 3b 0d 0a 76 61 72 0d 0a 20 20 69 2c 78 31 2c 79 31 2c 78 32 2c 79 32 2c 78 62 65 67 2c   ┆80);  var    i,x1,y1,x2,y2,xbeg,┆
0x5bca0…5bcc0            78 65 6e 64 2c 79 62 65 67 2c 79 65 6e 64 2c 73 69 7a 78 2c 73 69 7a 79 2c 78 78 2c 79 79 3a 20   ┆xend,ybeg,yend,sizx,sizy,xx,yy: ┆
0x5bcc0…5bce0            69 6e 74 65 67 65 72 3b 0d 0a 20 20 63 62 79 74 65 3a 20 62 79 74 65 3b 0d 0a 20 20 72 6f 74 61   ┆integer;    cbyte: byte;    rota┆
0x5bce0…5bd00            74 65 3a 20 62 6f 6f 6c 65 61 6e 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 78 78 3a 3d 5f 57 6c 64 5f   ┆te: boolean;  BEGIN    xx:=_Wld_┆
0x5bd00…5bd20            74 6f 77 69 6e 64 6f 77 78 28 78 29 3b 20 20 79 79 3a 3d 5f 57 6c 64 5f 74 6f 77 69 6e 64 6f 77   ┆towindowx(x);  yy:=_Wld_towindow┆
0x5bd20…5bd40            79 28 79 29 3b 0d 0a 20 20 73 69 7a 78 3a 3d 72 6f 75 6e 64 28 63 68 77 69 64 74 68 29 3b 20 73   ┆y(y);    sizx:=round(chwidth); s┆
0x5bd40…5bd60            69 7a 79 3a 3d 72 6f 75 6e 64 28 63 68 68 65 69 67 74 68 29 3b 0d 0a 20 20 72 6f 74 61 74 65 3a   ┆izy:=round(chheigth);    rotate:┆
0x5bd60…5bd80            3d 72 6f 74 61 74 69 6f 6e 3c 3e 30 3b 0d 0a 20 20 66 6f 72 20 69 3a 3d 31 20 74 6f 20 6c 65 6e   ┆=rotation<>0;    for i:=1 to len┆
0x5bd80…5bda0            28 73 29 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 46 4f 52 20 79 31 3a 3d 30 20 74 6f 20 37   ┆(s) DO BEGIN      FOR y1:=0 to 7┆
0x5bda0…5bdc0            20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 63 62 79 74 65 3a 3d 73 63 72 5f 63 68 61 72   ┆ DO BEGIN        cbyte:=scr_char┆
0x5bdc0…5bde0            28 2e 62 79 74 65 28 73 28 2e 69 2e 29 29 2c 28 37 2d 79 31 29 2e 29 20 3b 0d 0a 20 20 20 20 20   ┆(.byte(s(.i.)),(7-y1).) ;       ┆
0x5bde0…5be00            20 46 4f 52 20 78 31 3a 3d 30 20 74 6f 20 37 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20   ┆ FOR x1:=0 to 7 DO BEGIN        ┆
0x5be00…5be20            20 20 69 66 20 28 63 62 79 74 65 20 73 68 72 20 28 37 2d 78 31 29 29 20 61 6e 64 20 31 3c 3e 30   ┆  if (cbyte shr (7-x1)) and 1<>0┆
0x5be20…5be40            20 74 68 65 6e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 20 20 78 62 65 67 3a 3d 78 78 2b   ┆ then BEGIN            xbeg:=xx+┆
0x5be40…5be60            78 31 2a 73 69 7a 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 78 65 6e 64 3a 3d 78 62 65 67 2b 73   ┆x1*sizx;            xend:=xbeg+s┆
0x5be60…5be80            69 7a 78 2d 31 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 79 62 65 67 3a 3d 79 79 2b 79 31 2a 73 69   ┆izx-1;            ybeg:=yy+y1*si┆
0x5be80…5bea0            7a 79 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 79 65 6e 64 3a 3d 79 62 65 67 2b 73 69 7a 79 2d 31   ┆zy;            yend:=ybeg+sizy-1┆
0x5bea0…5bec0            3b 0d 0a 20 20 20 20 20 20 20 20 20 20 46 4f 52 20 78 32 3a 3d 78 62 65 67 20 74 6f 20 78 65 6e   ┆;            FOR x2:=xbeg to xen┆
0x5bec0…5bee0            64 20 44 4f 0d 0a 20 20 20 20 20 20 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 20   ┆d DO            BEGIN           ┆
0x5bee0…5bf00            20 20 20 46 4f 52 20 79 32 3a 3d 79 62 65 67 20 74 6f 20 79 65 6e 64 20 44 4f 0d 0a 20 20 20 20   ┆   FOR y2:=ybeg to yend DO      ┆
0x5bf00…5bf20            20 20 20 20 20 20 20 20 49 46 20 6e 6f 74 20 72 6f 74 61 74 65 20 74 68 65 6e 20 77 6e 64 5f 53   ┆        IF not rotate then wnd_S┆
0x5bf20…5bf40            65 74 44 6f 74 28 78 32 2c 79 32 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 77   ┆etDot(x2,y2)              else w┆
0x5bf40…5bf60            6e 64 5f 53 65 74 44 6f 74 28 79 79 2a 32 2d 79 32 2c 78 32 29 0d 0a 20 20 20 20 20 20 20 20 20   ┆nd_SetDot(yy*2-y2,x2)           ┆
0x5bf60…5bf80            20 45 4e 44 3b 0d 0a 20 20 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 20 20 45 4e 44 3b 0d   ┆ END;          END;        END; ┆
0x5bf80…5bfa0            0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 78 78 3a 3d 78 78 2b 73 69 7a 78 2a 38 3b 0d 0a 20   ┆     END;      xx:=xx+sizx*8;   ┆
0x5bfa0…5bfc0            20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 44 72 61 77 74 65 78   ┆ END;  END;    PROCEDURE Drawtex┆
0x5bfc0…5bfe0            74 28 63 6f 6c 2c 72 6f 77 3a 49 4e 54 45 47 45 52 3b 73 3a 73 74 72 38 30 29 3b 0d 0a 56 41 52   ┆t(col,row:INTEGER;s:str80);  VAR┆
0x5bfe0…5c000            20 61 74 74 72 69 62 3a 20 42 59 54 45 3b 0d 0a 20 6c 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42   ┆ attrib: BYTE;   l : INTEGER;  B┆
0x5c000…5c020 (36, 1, 4) 45 47 49 4e 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 20 44 4f 0d 0a 20 20 20 20 49 46 20 74 78 74   ┆EGIN    WITH Wnd_ DO      IF txt┆
0x5c020…5c040            5f 6d 6f 64 65 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 72 6f 77 3a 3d 72 6f 77   ┆_mode THEN BEGIN        row:=row┆
0x5c040…5c060            2b 74 78 74 79 31 3b 0d 0a 20 20 20 20 20 20 49 46 20 28 63 6f 6c 2b 6c 65 6e 28 73 29 29 3e 28   ┆+txty1;        IF (col+len(s))>(┆
0x5c060…5c080            74 78 74 6d 61 78 78 2b 31 29 20 54 48 45 4e 20 6c 3a 3d 74 78 74 6d 61 78 78 2b 31 2d 63 6f 6c   ┆txtmaxx+1) THEN l:=txtmaxx+1-col┆
0x5c080…5c0a0            20 45 4c 53 45 20 6c 3a 3d 6c 65 6e 28 73 29 3b 0d 0a 20 20 20 20 20 20 63 6f 6c 3a 3d 63 6f 6c   ┆ ELSE l:=len(s);        col:=col┆
0x5c0a0…5c0c0            2b 74 78 74 78 31 3b 0d 0a 20 20 20 20 20 20 49 46 20 72 6f 77 3c 3d 74 78 74 6d 61 78 79 2b 74   ┆+txtx1;        IF row<=txtmaxy+t┆
0x5c0c0…5c0e0            78 74 79 31 20 54 48 45 4e 0d 0a 20 20 20 20 20 20 20 20 77 72 69 74 65 73 74 72 28 63 6f 6c 2c   ┆xty1 THEN          writestr(col,┆
0x5c0e0…5c100            72 6f 77 2c 63 6f 70 79 28 73 2c 31 2c 6c 29 29 3b 0d 0a 20 20 20 20 45 4e 44 0d 0a 20 20 20 20   ┆row,copy(s,1,l));      END      ┆
0x5c100…5c120            45 4c 53 45 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 63 6f 6c 3a 3d 20 63 6f 6c 20 53 48 4c 20   ┆ELSE BEGIN        col:= col SHL ┆
0x5c120…5c140            33 20 3b 0d 0a 20 20 20 20 20 20 72 6f 77 3a 3d 20 6d 61 78 79 20 2d 20 37 20 2d 20 28 72 6f 77   ┆3 ;        row:= maxy - 7 - (row┆
0x5c140…5c160            20 2a 20 38 29 3b 0d 0a 20 20 20 20 20 20 57 6e 64 5f 64 72 61 77 74 65 78 74 28 63 6f 6c 2c 72   ┆ * 8);        Wnd_drawtext(col,r┆
0x5c160…5c180            6f 77 2c 73 29 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44   ┆ow,s);      END;  END;    PROCED┆
0x5c180…5c1a0            55 52 45 20 44 72 61 77 72 65 61 6c 28 63 6f 6c 2c 72 6f 77 3a 49 4e 54 45 47 45 52 3b 20 72 3a   ┆URE Drawreal(col,row:INTEGER; r:┆
0x5c1a0…5c1c0            52 45 41 4c 3b 20 6c 2c 64 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 0d 0a 20 20 73 3a 20   ┆REAL; l,d: INTEGER);  VAR    s: ┆
0x5c1c0…5c1e0            73 74 72 38 30 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 73 74 72 28 72 3a 6c 3a 64 2c 73 29 3b 0d 0a   ┆str80;  BEGIN    str(r:l:d,s);  ┆
0x5c1e0…5c200            20 20 64 72 61 77 74 65 78 74 28 63 6f 6c 2c 72 6f 77 2c 73 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a   ┆  drawtext(col,row,s);  END;    ┆
0x5c200…5c220            50 52 4f 43 45 44 55 52 45 20 52 65 63 74 61 6e 67 6c 65 28 78 31 2c 20 79 31 2c 20 78 32 2c 20   ┆PROCEDURE Rectangle(x1, y1, x2, ┆
0x5c220…5c240            79 32 20 3a 20 52 45 41 4c 29 3b 0d 0a 56 41 52 20 6f 6c 64 3a 69 6e 74 65 67 65 72 3b 0d 0a 42   ┆y2 : REAL);  VAR old:integer;  B┆
0x5c240…5c260            45 47 49 4e 0d 0a 20 20 6f 6c 64 3a 3d 6c 69 6e 65 70 61 74 74 65 72 6e 3b 0d 0a 20 20 6c 69 6e   ┆EGIN    old:=linepattern;    lin┆
0x5c260…5c280            65 70 61 74 74 65 72 6e 3a 3d 6c 69 6e 65 74 79 70 65 28 2e 31 2e 29 3b 0d 0a 20 20 57 6e 64 5f   ┆epattern:=linetype(.1.);    Wnd_┆
0x5c280…5c2a0            44 72 61 77 42 6f 78 28 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 78 31 29 2c 20 5f 57 6c 64   ┆DrawBox(_Wld_ToWindowX(x1), _Wld┆
0x5c2a0…5c2c0            5f 54 6f 57 69 6e 64 6f 77 59 28 79 31 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f   ┆_ToWindowY(y1),                _┆
0x5c2c0…5c2e0            57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 78 32 29 2c 20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77   ┆Wld_ToWindowX(x2), _Wld_ToWindow┆
0x5c2e0…5c300            59 28 79 32 29 29 3b 0d 0a 20 20 6c 69 6e 65 70 61 74 74 65 72 6e 3a 3d 6f 6c 64 3b 0d 0a 45 4e   ┆Y(y2));    linepattern:=old;  EN┆
0x5c300…5c320            44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 44 72 61 77 57 69 6e 64 6f 77 3b 0d 0a 42 45 47   ┆D;    PROCEDURE DrawWindow;  BEG┆
0x5c320…5c340            49 4e 0d 0a 20 20 57 6e 64 5f 44 72 61 77 42 6f 78 28 30 2c 20 30 2c 20 57 6e 64 5f 2e 4d 61 78   ┆IN    Wnd_DrawBox(0, 0, Wnd_.Max┆
0x5c340…5c360            58 2c 20 57 6e 64 5f 2e 4d 61 78 59 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52   ┆X, Wnd_.MaxY);  END;    PROCEDUR┆
0x5c360…5c380            45 20 44 72 61 77 48 65 61 64 65 72 3b 0d 0a 56 41 52 0d 0a 20 20 69 2c 6f 6c 64 63 6f 6c 6f 72   ┆E DrawHeader;  VAR    i,oldcolor┆
0x5c380…5c3a0            3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 20 44   ┆: INTEGER;  BEGIN    WITH Wnd_ D┆
0x5c3a0…5c3c0            4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 49 46 20 68 64 72 3c 3e 27 27 20 54 48 45 4e 20 42 45 47   ┆O BEGIN      IF hdr<>'' THEN BEG┆
0x5c3c0…5c3e0            49 4e 0d 0a 20 20 20 20 20 20 69 3a 3d 28 6d 61 78 78 20 44 49 56 20 38 20 2d 20 6c 65 6e 28 68   ┆IN        i:=(maxx DIV 8 - len(h┆
0x5c3e0…5c400            64 72 29 29 20 44 49 56 20 32 3b 0d 0a 20 20 20 20 20 20 49 46 20 69 3c 30 20 54 48 45 4e 20 69   ┆dr)) DIV 2;        IF i<0 THEN i┆
0x5c400…5c420 (36, 1, 5) 3a 3d 30 3b 0d 0a 20 20 20 20 20 20 53 63 72 5f 66 69 6c 6c 28 78 31 2c 79 31 2b 6d 61 78 79 2d   ┆:=0;        Scr_fill(x1,y1+maxy-┆
0x5c420…5c440            31 30 2c 78 31 2b 6d 61 78 78 2c 79 31 2b 6d 61 78 79 2c 24 46 46 29 3b 0d 0a 20 20 20 20 20 20   ┆10,x1+maxx,y1+maxy,$FF);        ┆
0x5c440…5c460            6f 6c 64 63 6f 6c 6f 72 3a 3d 70 65 6e 63 6f 6c 6f 72 3b 0d 0a 20 20 20 20 20 20 70 65 6e 63 6f   ┆oldcolor:=pencolor;        penco┆
0x5c460…5c480            6c 6f 72 3a 3d 62 6c 61 63 6b 3b 0d 0a 20 20 20 20 20 20 57 6e 64 5f 64 72 61 77 62 6f 78 28 30   ┆lor:=black;        Wnd_drawbox(0┆
0x5c480…5c4a0            2c 6d 61 78 79 2d 31 30 2c 6d 61 78 78 2c 6d 61 78 79 29 3b 0d 0a 20 20 20 20 20 20 6d 61 78 79   ┆,maxy-10,maxx,maxy);        maxy┆
0x5c4a0…5c4c0            3a 3d 6d 61 78 79 2d 32 3b 0d 0a 20 20 20 20 20 20 44 72 61 77 74 65 78 74 28 69 2c 30 2c 68 64   ┆:=maxy-2;        Drawtext(i,0,hd┆
0x5c4c0…5c4e0            72 29 3b 0d 0a 20 20 20 20 20 20 6d 61 78 79 3a 3d 6d 61 78 79 2d 38 3b 0d 0a 20 20 20 20 20 20   ┆r);        maxy:=maxy-8;        ┆
0x5c4e0…5c500            70 65 6e 63 6f 6c 6f 72 3a 3d 6f 6c 64 63 6f 6c 6f 72 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20   ┆pencolor:=oldcolor;      END;   ┆
0x5c500…5c520            20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 44 72 61 77 66 72 61   ┆ END;  END;    PROCEDURE Drawfra┆
0x5c520…5c540            6d 65 3b 0d 0a 76 61 72 20 6f 6c 64 3a 62 79 74 65 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 6f 6c 64   ┆me;  var old:byte;  BEGIN    old┆
0x5c540…5c560            3a 3d 6c 69 6e 65 70 61 74 74 65 72 6e 3b 0d 0a 20 20 6c 69 6e 65 70 61 74 74 65 72 6e 3a 3d 6c   ┆:=linepattern;    linepattern:=l┆
0x5c560…5c580            69 6e 65 74 79 70 65 28 2e 31 2e 29 3b 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 20 44 4f 20 42 45   ┆inetype(.1.);    WITH Wnd_ DO BE┆
0x5c580…5c5a0            47 49 4e 0d 0a 20 20 20 20 64 72 61 77 68 65 61 64 65 72 3b 0d 0a 20 20 20 20 57 6e 64 5f 44 72   ┆GIN      drawheader;      Wnd_Dr┆
0x5c5a0…5c5c0            61 77 42 6f 78 28 30 2c 20 30 2c 20 4d 61 78 58 2c 20 4d 61 78 59 29 3b 0d 0a 20 20 20 20 78 31   ┆awBox(0, 0, MaxX, MaxY);      x1┆
0x5c5c0…5c5e0            3a 3d 78 31 2b 31 3b 0d 0a 20 20 20 20 79 31 3a 3d 79 31 2b 31 3b 0d 0a 20 20 20 20 6d 61 78 79   ┆:=x1+1;      y1:=y1+1;      maxy┆
0x5c5e0…5c600            3a 3d 6d 61 78 79 2d 32 3b 0d 0a 20 20 20 20 6d 61 78 78 3a 3d 6d 61 78 78 2d 32 3b 0d 0a 20 20   ┆:=maxy-2;      maxx:=maxx-2;    ┆
0x5c600…5c620            45 4e 44 3b 0d 0a 20 20 6c 69 6e 65 70 61 74 74 65 72 6e 3a 3d 6f 6c 64 3b 0d 0a 45 4e 44 3b 0d   ┆END;    linepattern:=old;  END; ┆
0x5c620…5c640            0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 43 6c 65 61 72 57 69 6e 64 6f 77 3b 0d 0a 56 41 52 20 69   ┆   PROCEDURE ClearWindow;  VAR i┆
0x5c640…5c660            09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 73 74 72 3a 20 73 74 72 38 30 3b 0d 0a 42 45 47 49   ┆ : INTEGER;    str: str80;  BEGI┆
0x5c660…5c680            4e 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 20 44 4f 0d 0a 20 20 20 20 49 46 20 74 78 74 5f 6d 6f   ┆N    WITH Wnd_ DO      IF txt_mo┆
0x5c680…5c6a0            64 65 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 73 74 72 3a 3d 73 70 63 28 74 78   ┆de THEN BEGIN        str:=spc(tx┆
0x5c6a0…5c6c0            74 6d 61 78 78 2b 31 2c 27 20 27 29 3b 0d 0a 20 20 20 20 20 20 46 4f 52 20 69 3a 3d 30 20 54 4f   ┆tmaxx+1,' ');        FOR i:=0 TO┆
0x5c6c0…5c6e0            20 74 78 74 6d 61 78 79 20 44 4f 0d 0a 20 20 20 20 20 20 20 20 64 72 61 77 74 65 78 74 28 30 2c   ┆ txtmaxy DO          drawtext(0,┆
0x5c6e0…5c700            69 2c 73 74 72 29 3b 0d 0a 20 20 20 20 45 4e 44 0d 0a 20 20 20 20 45 4c 53 45 0d 0a 20 20 20 20   ┆i,str);      END      ELSE      ┆
0x5c700…5c720            20 20 53 63 72 5f 46 69 6c 6c 28 78 31 2b 31 2c 20 79 31 2b 31 2c 20 78 31 2b 4d 61 78 58 2c 20   ┆  Scr_Fill(x1+1, y1+1, x1+MaxX, ┆
0x5c720…5c740            79 31 20 2b 20 6d 61 78 59 20 2c 62 61 63 6b 63 6f 6c 6f 72 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a   ┆y1 + maxY ,backcolor);  END;    ┆
0x5c740…5c760            50 52 4f 43 45 44 55 52 45 20 52 65 63 74 66 69 6c 6c 28 78 31 2c 79 31 2c 78 32 2c 79 32 3a 20   ┆PROCEDURE Rectfill(x1,y1,x2,y2: ┆
0x5c760…5c780            72 65 61 6c 3b 20 6e 6f 3a 20 69 6e 74 65 67 65 72 29 3b 0d 0a 56 41 52 0d 0a 20 20 70 61 74 74   ┆real; no: integer);  VAR    patt┆
0x5c780…5c7a0            65 72 6e 20 3a 20 41 52 52 41 59 28 2e 30 2e 2e 37 2e 29 20 4f 46 20 69 6e 74 65 67 65 72 3b 0d   ┆ern : ARRAY(.0..7.) OF integer; ┆
0x5c7a0…5c7c0            0a 20 20 20 78 2c 73 78 31 2c 73 78 32 2c 79 2c 73 79 2c 69 3a 20 49 4e 54 45 47 45 52 3b 0d 0a   ┆    x,sx1,sx2,y,sy,i: INTEGER;  ┆
0x5c7c0…5c7e0            20 20 20 73 3a 20 73 74 72 69 6e 67 28 2e 32 2e 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 52 65 63   ┆   s: string(.2.);  BEGIN    Rec┆
0x5c7e0…5c800            74 61 6e 67 6c 65 28 78 31 2c 79 31 2c 78 32 2c 79 32 29 3b 0d 0a 20 20 73 74 72 28 6e 6f 3a 32   ┆tangle(x1,y1,x2,y2);    str(no:2┆
0x5c800…5c820 (37, 0, 1) 2c 73 29 3b 0d 0a 20 20 73 78 31 3a 3d 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 78 31 29 3b   ┆,s);    sx1:=_Wld_ToWindowX(x1);┆
0x5c820…5c840            0d 0a 20 20 73 78 32 3a 3d 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 78 32 29 3b 0d 0a 20 20   ┆    sx2:=_Wld_ToWindowX(x2);    ┆
0x5c840…5c860            46 4f 52 20 69 3a 3d 30 20 74 6f 20 37 20 44 4f 0d 0a 20 20 70 61 74 74 65 72 6e 28 2e 69 2e 29   ┆FOR i:=0 to 7 DO    pattern(.i.)┆
0x5c860…5c880            3a 3d 70 61 74 74 65 72 6e 74 79 70 65 28 2e 6e 6f 2c 69 2e 29 3b 0d 0a 20 20 46 4f 52 20 73 79   ┆:=patterntype(.no,i.);    FOR sy┆
0x5c880…5c8a0            3a 3d 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 59 28 79 31 29 20 54 4f 20 5f 57 6c 64 5f 54 6f 57   ┆:=_Wld_ToWindowY(y1) TO _Wld_ToW┆
0x5c8a0…5c8c0            69 6e 64 6f 77 59 28 79 32 29 20 44 4f 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 69 3a 3d 73   ┆indowY(y2) DO    BEGIN      i:=s┆
0x5c8c0…5c8e0            79 20 4d 4f 44 20 38 3b 20 62 69 74 6e 72 3a 3d 30 3b 0d 0a 20 20 20 20 6c 69 6e 65 70 61 74 74   ┆y MOD 8; bitnr:=0;      linepatt┆
0x5c8e0…5c900            65 72 6e 3a 3d 70 61 74 74 65 72 6e 28 2e 69 2e 29 3b 20 0d 0a 20 20 20 20 57 6e 64 5f 4c 69 6e   ┆ern:=pattern(.i.);       Wnd_Lin┆
0x5c900…5c920            65 54 6f 28 73 78 31 2c 73 79 2c 73 78 32 2c 73 79 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44   ┆eTo(sx1,sy,sx2,sy);    END;  END┆
0x5c920…5c940            3b 0d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆;                               ┆
0x5c940…5c960            00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
         […0x1…]
0x5c980…5c9a0            e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
         […0x33…]
0x5d000…5d020 (37, 0, 3) 28 2a 47 53 56 2d 42 41 53 45 2a 29 0d 0a 0d 0a 43 4f 4e 53 54 0d 0a 20 20 62 6c 61 63 6b 20 09   ┆(*GSV-BASE*)    CONST    black  ┆
0x5d020…5d040            3d 20 30 3b 0d 0a 20 20 77 68 69 74 65 20 09 3d 20 24 46 46 3b 0d 0a 20 20 74 72 61 6e 73 70 09   ┆= 0;    white  = $FF;    transp ┆
0x5d040…5d060            3d 20 30 31 3b 0d 0a 20 20 57 6e 64 5f 6d 61 78 20 09 3d 20 35 3b 0d 0a 20 20 63 68 61 72 66 69   ┆= 01;    Wnd_max  = 5;    charfi┆
0x5d060…5d080            6c 6e 61 6d 65 20 09 3d 20 27 61 3a 47 53 56 2d 66 6f 6e 74 2e 63 68 72 27 3b 0d 0a 20 20 74 78   ┆lname  = 'a:GSV-font.chr';    tx┆
0x5d080…5d0a0            74 5f 6d 6f 64 65 09 3a 20 42 4f 4f 4c 45 41 4e 20 3d 20 74 72 75 65 3b 0d 0a 20 20 6c 69 6e 65   ┆t_mode : BOOLEAN = true;    line┆
0x5d0a0…5d0c0            74 79 70 65 20 20 20 20 20 20 3a 20 41 52 52 41 59 28 2e 30 2e 2e 31 34 2e 29 20 4f 46 20 42 59   ┆type      : ARRAY(.0..14.) OF BY┆
0x5d0c0…5d0e0            54 45 20 3d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 24 30 30 2c 24 46 46   ┆TE =                    ($00,$FF┆
0x5d0e0…5d100            2c 24 46 45 2c 24 46 43 2c 24 46 41 2c 24 46 38 2c 24 46 36 2c 24 46 30 2c 0d 0a 20 20 20 20 20   ┆,$FE,$FC,$FA,$F8,$F6,$F0,       ┆
0x5d100…5d120            20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 45 45 2c 24 45 41 2c 24 45 34 2c 24 43 43 2c 24 41   ┆              $EE,$EA,$E4,$CC,$A┆
0x5d120…5d140            41 2c 24 38 38 2c 24 38 30 29 3b 0d 0a 0d 0a 20 20 70 61 74 74 65 72 6e 74 79 70 65 20 20 20 3a   ┆A,$88,$80);      patterntype   :┆
0x5d140…5d160            20 61 72 72 61 79 28 2e 30 2e 2e 31 35 2c 30 2e 2e 37 2e 29 20 4f 46 20 42 59 54 45 20 3d 0d 0a   ┆ array(.0..15,0..7.) OF BYTE =  ┆
0x5d160…5d180            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 24 30 30 2c 24 30 30 2c 24 30 30 2c 24   ┆                 (($00,$00,$00,$┆
0x5d180…5d1a0            30 30 2c 24 30 30 2c 24 30 30 2c 24 30 30 2c 24 30 30 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆00,$00,$00,$00,$00),            ┆
0x5d1a0…5d1c0            20 20 20 20 20 20 20 20 28 24 46 46 2c 24 46 46 2c 24 46 46 2c 24 46 46 2c 24 46 46 2c 24 46 46   ┆        ($FF,$FF,$FF,$FF,$FF,$FF┆
0x5d1c0…5d1e0            2c 24 46 46 2c 24 46 46 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 24   ┆,$FF,$FF),                    ($┆
0x5d1e0…5d200            38 38 2c 24 34 34 2c 24 32 32 2c 24 31 31 2c 24 38 38 2c 24 34 34 2c 24 32 32 2c 24 31 31 29 2c   ┆88,$44,$22,$11,$88,$44,$22,$11),┆
0x5d200…5d220            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x5d220…5d240            20 20 20 20 28 24 41 41 2c 24 41 41 2c 24 41 41 2c 24 41 41 2c 24 41 41 2c 24 41 41 2c 24 41 41   ┆    ($AA,$AA,$AA,$AA,$AA,$AA,$AA┆
0x5d240…5d260            2c 24 41 41 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 24 46 46 2c 24   ┆,$AA),                    ($FF,$┆
0x5d260…5d280            30 30 2c 24 46 46 2c 24 30 30 2c 24 46 46 2c 24 30 30 2c 24 46 46 2c 24 30 30 29 2c 0d 0a 20 20   ┆00,$FF,$00,$FF,$00,$FF,$00),    ┆
0x5d280…5d2a0            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 24 46 46 2c 24 41 41 2c 24 46 46 2c 24 41 41   ┆                ($FF,$AA,$FF,$AA┆
0x5d2a0…5d2c0            2c 24 46 46 2c 24 41 41 2c 24 46 46 2c 24 41 41 29 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆,$FF,$AA,$FF,$AA),              ┆
0x5d2c0…5d2e0            20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 24   ┆                              ($┆
0x5d2e0…5d300            41 41 2c 24 35 35 2c 24 41 41 2c 24 35 35 2c 24 41 41 2c 24 35 35 2c 24 41 41 2c 24 35 35 29 2c   ┆AA,$55,$AA,$55,$AA,$55,$AA,$55),┆
0x5d300…5d320            0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 24 31 31 2c 24 32 32 2c 24 34 34   ┆                    ($11,$22,$44┆
0x5d320…5d340            2c 24 38 38 2c 24 31 31 2c 24 32 32 2c 24 34 34 2c 24 38 38 29 2c 20 20 20 20 20 20 20 20 20 20   ┆,$88,$11,$22,$44,$88),          ┆
0x5d340…5d360            20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28   ┆                               (┆
0x5d360…5d380            24 38 38 2c 24 38 38 2c 24 38 38 2c 24 38 38 2c 24 38 38 2c 24 38 38 2c 24 38 38 2c 24 38 38 29   ┆$88,$88,$88,$88,$88,$88,$88,$88)┆
0x5d380…5d3a0            2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆,                               ┆
0x5d3a0…5d3c0            20 20 20 28 24 46 46 2c 24 30 30 2c 24 30 30 2c 24 30 30 2c 24 46 46 2c 24 30 30 2c 24 30 30 2c   ┆   ($FF,$00,$00,$00,$FF,$00,$00,┆
0x5d3c0…5d3e0            24 30 30 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 24 46 46 2c 24 38   ┆$00),                    ($FF,$8┆
0x5d3e0…5d400            38 2c 24 38 38 2c 24 38 38 2c 24 46 46 2c 24 38 38 2c 24 38 38 2c 24 38 38 29 2c 20 20 20 20 20   ┆8,$88,$88,$FF,$88,$88,$88),     ┆
0x5d400…5d420 (37, 0, 4) 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x5d420…5d440            20 20 20 20 20 20 28 24 30 33 2c 24 38 34 2c 24 34 38 2c 24 33 30 2c 24 33 30 2c 24 34 38 2c 24   ┆      ($03,$84,$48,$30,$30,$48,$┆
0x5d440…5d460            38 34 2c 24 30 33 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 24 38 38   ┆84,$03),                    ($88┆
0x5d460…5d480            2c 24 35 35 2c 24 32 32 2c 24 35 35 2c 24 38 38 2c 24 35 35 2c 24 32 32 2c 24 35 35 29 2c 0d 0a   ┆,$55,$22,$55,$88,$55,$22,$55),  ┆
0x5d480…5d4a0            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 24 38 30 2c 24 38 30 2c 24 38 30 2c 24   ┆                  ($80,$80,$80,$┆
0x5d4a0…5d4c0            38 30 2c 24 38 30 2c 24 38 30 2c 24 38 30 2c 24 38 30 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆80,$80,$80,$80,$80),            ┆
0x5d4c0…5d4e0            20 20 20 20 20 20 20 20 28 24 46 46 2c 24 30 30 2c 24 30 30 2c 24 30 30 2c 24 30 30 2c 24 30 30   ┆        ($FF,$00,$00,$00,$00,$00┆
0x5d4e0…5d500            2c 24 30 30 2c 24 30 30 29 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆,$00,$00),                      ┆
0x5d500…5d520            0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 24 46 46 2c 24 38 30 2c 24 38 30   ┆                    ($FF,$80,$80┆
0x5d520…5d540            2c 24 38 30 2c 24 38 30 2c 24 38 30 2c 24 38 30 2c 24 38 30 29 29 3b 0d 0a 0d 0a 20 20 20 20 20   ┆,$80,$80,$80,$80,$80));         ┆
0x5d540…5d560            20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 28 2a 20 20 46 6f 72 65 2d 20 61 6e 64 20 62 61   ┆                (*  Fore- and ba┆
0x5d560…5d580            63 6b 67 72 6f 75 6e 64 63 6f 6c 6f 72 73 2a 29 0d 0a 28 2a 20 20 20 20 4c 69 67 68 74 54 78 74   ┆ckgroundcolors*)  (*    LightTxt┆
0x5d580…5d5a0            20 6f 6e 6c 79 20 77 6f 72 6b 73 20 46 4f 52 20 66 6f 72 65 67 72 6f 75 6e 64 63 6f 6c 6f 72 73   ┆ only works FOR foregroundcolors┆
0x5d5a0…5d5c0            2a 29 0d 0a 28 2a 20 20 20 20 42 6c 69 6e 6b 54 78 74 20 6f 6e 6c 79 20 77 6f 72 6b 73 20 46 4f   ┆*)  (*    BlinkTxt only works FO┆
0x5d5c0…5d5e0            52 20 62 61 63 6b 67 72 6f 75 6e 64 63 6f 6c 6f 72 73 20 2a 29 0d 0a 20 20 62 6c 61 63 6b 54 78   ┆R backgroundcolors *)    blackTx┆
0x5d5e0…5d600            74 09 3d 20 30 3b 20 77 68 69 74 65 74 78 74 09 3d 20 37 3b 0d 0a 20 20 6c 69 67 68 74 74 78 74   ┆t = 0; whitetxt = 7;    lighttxt┆
0x5d600…5d620            09 3d 20 38 3b 20 20 62 6c 69 6e 6b 74 78 74 20 20 3d 20 38 3b 0d 0a 0d 0a 54 59 50 45 0d 0a 20   ┆ = 8;  blinktxt  = 8;    TYPE   ┆
0x5d620…5d640            20 42 75 66 74 79 70 65 20 09 3d 20 5e 49 4e 54 45 47 45 52 3b 0d 0a 20 20 73 74 72 38 30 20 09   ┆ Buftype  = ^INTEGER;    str80  ┆
0x5d640…5d660            3d 20 53 54 52 49 4e 47 28 2e 38 30 2e 29 3b 0d 0a 20 20 73 74 72 31 20 20 20 20 20 20 20 20 20   ┆= STRING(.80.);    str1         ┆
0x5d660…5d680            20 3d 20 53 54 52 49 4e 47 5b 31 5d 3b 0d 0a 20 20 73 74 72 32 20 20 20 20 20 20 20 20 20 20 3d   ┆ = STRINGÆ1Å;    str2          =┆
0x5d680…5d6a0            20 53 54 52 49 4e 47 5b 32 5d 3b 0d 0a 20 20 73 74 72 31 35 20 20 20 20 20 20 20 20 20 3d 20 53   ┆ STRINGÆ2Å;    str15         = S┆
0x5d6a0…5d6c0            54 52 49 4e 47 5b 31 35 5d 3b 0d 0a 20 20 73 74 72 32 35 20 20 20 20 20 20 20 20 20 3d 20 53 54   ┆TRINGÆ15Å;    str25         = ST┆
0x5d6c0…5d6e0            52 49 4e 47 5b 32 35 5d 3b 0d 0a 20 20 63 68 61 72 73 65 74 20 20 20 20 20 20 20 3d 20 73 65 74   ┆RINGÆ25Å;    charset       = set┆
0x5d6e0…5d700            20 6f 66 20 63 68 61 72 3b 0d 0a 20 20 57 6e 64 5f 54 59 50 45 20 3d 20 52 45 43 4f 52 44 0d 0a   ┆ of char;    Wnd_TYPE = RECORD  ┆
0x5d700…5d720            20 20 20 20 78 31 2c 20 79 31 09 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 6d 61 78 78   ┆    x1, y1  : INTEGER;      maxx┆
0x5d720…5d740            2c 20 6d 61 78 79 09 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 70 65 6e 63 6f 6c 6f 72   ┆, maxy  : INTEGER;      pencolor┆
0x5d740…5d760            2c 20 62 61 63 6b 63 6f 6c 6f 72 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 74 78 74 6d   ┆, backcolor : INTEGER;      txtm┆
0x5d760…5d780            61 78 78 2c 20 74 78 74 6d 61 78 79 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 74 78 74   ┆axx, txtmaxy : INTEGER;      txt┆
0x5d780…5d7a0            78 31 2c 20 74 78 74 79 31 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 68 64 72 09 09 09   ┆x1, txty1 : INTEGER;      hdr   ┆
0x5d7a0…5d7c0            3a 20 73 74 72 38 30 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 20 20 57 6c 64 5f 54 59 50 45 20 3d   ┆: str80;    END;      Wld_TYPE =┆
0x5d7c0…5d7e0            20 52 45 43 4f 52 44 0d 0a 20 20 20 20 78 31 2c 20 79 31 09 3a 20 52 45 41 4c 3b 0d 0a 20 20 20   ┆ RECORD      x1, y1 : REAL;     ┆
0x5d7e0…5d800            20 78 72 61 6e 67 65 2c 20 79 72 61 6e 67 65 3a 20 52 45 41 4c 3b 0d 0a 20 20 20 20 58 4f 6c 64   ┆ xrange, yrange: REAL;      XOld┆
0x5d800…5d820 (37, 0, 5) 2c 20 59 6f 6c 64 09 3a 20 52 45 41 4c 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 20 20 73 61 76 65   ┆, Yold : REAL;    END;      save┆
0x5d820…5d840            5f 54 59 50 45 20 3d 20 52 45 43 4f 52 44 0d 0a 20 20 20 20 63 6f 6e 74 65 6e 74 09 3a 20 62 75   ┆_TYPE = RECORD      content : bu┆
0x5d840…5d860            66 74 79 70 65 3b 0d 0a 20 20 20 20 6c 65 6e 67 74 68 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20   ┆ftype;      length : INTEGER;   ┆
0x5d860…5d880            20 20 20 77 69 6e 64 09 3a 20 57 6e 64 5f 54 59 50 45 3b 0d 0a 20 20 20 20 6f 6c 64 31 2c 20 6f   ┆   wind : Wnd_TYPE;      old1, o┆
0x5d880…5d8a0            6c 64 32 09 3a 20 52 45 41 4c 3b 0d 0a 20 20 20 20 61 63 74 75 61 6c 09 3a 20 49 4e 54 45 47 45   ┆ld2 : REAL;      actual : INTEGE┆
0x5d8a0…5d8c0            52 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 0d 0a 20 20 72 65 67 74 79 70 20 3d 20 52 45 43 4f 52   ┆R;    END;        regtyp = RECOR┆
0x5d8c0…5d8e0            44 0d 0a 20 20 20 20 61 78 2c 62 78 2c 63 78 2c 64 78 2c 62 70 2c 73 69 2c 64 69 2c 64 73 2c 65   ┆D      ax,bx,cx,dx,bp,si,di,ds,e┆
0x5d8e0…5d900            73 2c 66 6c 61 67 73 3a 49 4e 54 45 47 45 52 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 6f 70 72 74 79   ┆s,flags:INTEGER    END;    oprty┆
0x5d900…5d920            70 65 09 3d 20 28 73 61 76 65 2c 6c 6f 61 64 2c 73 63 72 73 77 61 70 29 3b 0d 0a 20 20 63 68 61   ┆pe = (save,load,scrswap);    cha┆
0x5d920…5d940            72 66 69 6c 74 79 70 65 09 3d 20 41 52 52 41 59 28 2e 30 2e 2e 32 35 35 2e 29 20 4f 46 20 41 52   ┆rfiltype = ARRAY(.0..255.) OF AR┆
0x5d940…5d960            52 41 59 28 2e 30 2e 2e 37 2e 29 20 4f 46 20 42 59 54 45 3b 0d 0a 0d 0a 20 20 74 78 74 5f 6c 69   ┆RAY(.0..7.) OF BYTE;      txt_li┆
0x5d960…5d980            6e 65 63 68 61 72 09 3d 20 52 45 43 4f 52 44 0d 0a 20 20 20 20 43 41 53 45 20 42 4f 4f 4c 45 41   ┆nechar = RECORD      CASE BOOLEA┆
0x5d980…5d9a0            4e 20 4f 46 0d 0a 20 20 20 20 20 20 74 72 75 65 3a 20 28 63 68 3a 20 43 48 41 52 3b 20 20 61 74   ┆N OF        true: (ch: CHAR;  at┆
0x5d9a0…5d9c0            74 3a 20 42 59 54 45 29 3b 0d 0a 20 20 20 20 20 20 66 61 6c 73 65 3a 28 62 6f 74 68 3a 20 49 4e   ┆t: BYTE);        false:(both: IN┆
0x5d9c0…5d9e0            54 45 47 45 52 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 20 20 50 72 6e 5f 54 59 50 45 20 20 20   ┆TEGER);    END;      Prn_TYPE   ┆
0x5d9e0…5da00            20 20 20 3d 20 28 4e 45 43 5f 31 36 62 69 74 2c 4e 45 43 5f 38 62 69 74 29 3b 0d 0a 20 20 70 74   ┆   = (NEC_16bit,NEC_8bit);    pt┆
0x5da00…5da20            72 5f 54 59 50 45 09 3d 20 5e 49 4e 54 45 47 45 52 3b 0d 0a 20 20 74 78 74 5f 6c 69 6e 65 09 3d   ┆r_TYPE = ^INTEGER;    txt_line =┆
0x5da20…5da40            20 41 52 52 41 59 28 2e 30 2e 2e 37 39 2e 29 20 4f 46 20 74 78 74 5f 6c 69 6e 65 63 68 61 72 3b   ┆ ARRAY(.0..79.) OF txt_linechar;┆
0x5da40…5da60            0d 0a 20 20 74 78 74 5f 63 68 61 72 73 65 74 20 20 20 3d 20 53 45 54 20 4f 46 20 43 48 41 52 3b   ┆    txt_charset   = SET OF CHAR;┆
0x5da60…5da80            0d 0a 20 20 61 6e 79 73 74 72 20 20 20 20 20 20 20 20 3d 20 73 74 72 69 6e 67 5b 32 35 35 5d 3b   ┆    anystr        = stringÆ255Å;┆
0x5da80…5daa0            0d 0a 56 41 52 0d 0a 20 20 53 63 72 5f 6d 61 78 78 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20   ┆  VAR    Scr_maxx : INTEGER;    ┆
0x5daa0…5dac0            53 63 72 5f 6d 61 78 79 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 53 63 72 5f 73 65 67 6d 09   ┆Scr_maxy : INTEGER;    Scr_segm ┆
0x5dac0…5dae0            3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 53 63 72 5f 61 73 70 65 63 74 09 3a 20 49 4e 54 45 47   ┆: INTEGER;    Scr_aspect : INTEG┆
0x5dae0…5db00            45 52 3b 0d 0a 20 20 53 63 72 5f 78 61 64 64 72 09 3a 20 41 52 52 41 59 28 2e 30 2e 2e 36 34 30   ┆ER;    Scr_xaddr : ARRAY(.0..640┆
0x5db00…5db20            2e 29 20 4f 46 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 53 63 72 5f 79 61 64 64 72 09 3a 20 41 52   ┆.) OF INTEGER;    Scr_yaddr : AR┆
0x5db20…5db40            52 41 59 28 2e 30 2e 2e 34 30 30 2e 29 20 4f 46 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 53 63 72   ┆RAY(.0..400.) OF INTEGER;    Scr┆
0x5db40…5db60            5f 42 45 47 49 4e 09 3a 20 5e 49 4e 54 45 47 45 52 3b 0d 0a 0d 0a 20 20 57 6e 64 5f 09 09 3a 20   ┆_BEGIN : ^INTEGER;      Wnd_  : ┆
0x5db60…5db80            57 6e 64 5f 54 59 50 45 3b 0d 0a 20 20 57 6e 64 5f 70 61 6c 65 74 74 65 20 20 20 3a 20 41 52 52   ┆Wnd_TYPE;    Wnd_palette   : ARR┆
0x5db80…5dba0            41 59 28 2e 30 2e 2e 31 35 2e 29 20 4f 46 20 62 79 74 65 3b 0d 0a 20 20 57 6c 64 5f 09 09 3a 20   ┆AY(.0..15.) OF byte;    Wld_  : ┆
0x5dba0…5dbc0            57 6c 64 5f 54 59 50 45 3b 0d 0a 0d 0a 20 20 57 6e 64 5f 61 72 72 09 3a 20 41 52 52 41 59 28 2e   ┆Wld_TYPE;      Wnd_arr : ARRAY(.┆
0x5dbc0…5dbe0            31 2e 2e 57 6e 64 5f 6d 61 78 2e 29 20 4f 46 20 57 6e 64 5f 54 59 50 45 3b 0d 0a 20 20 57 6c 64   ┆1..Wnd_max.) OF Wnd_TYPE;    Wld┆
0x5dbe0…5dc00            5f 61 72 72 09 3a 20 41 52 52 41 59 28 2e 31 2e 2e 57 6e 64 5f 6d 61 78 2e 29 20 4f 46 20 57 6c   ┆_arr : ARRAY(.1..Wnd_max.) OF Wl┆
0x5dc00…5dc20 (37, 1, 1) 64 5f 54 59 50 45 3b 0d 0a 20 20 53 61 76 65 5f 61 72 72 09 3a 20 41 52 52 41 59 28 2e 31 2e 2e   ┆d_TYPE;    Save_arr : ARRAY(.1..┆
0x5dc20…5dc40            57 6e 64 5f 6d 61 78 2e 29 20 4f 46 20 73 61 76 65 5f 54 59 50 45 3b 0d 0a 20 20 57 6e 64 5f 61   ┆Wnd_max.) OF save_TYPE;    Wnd_a┆
0x5dc40…5dc60            63 74 75 61 6c 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 57 6e 64 5f 43 6f 6c 6f 72 09 3a 20   ┆ctual : INTEGER;    Wnd_Color : ┆
0x5dc60…5dc80            49 4e 54 45 47 45 52 3b 0d 0a 20 20 72 65 67 09 09 3a 20 72 65 67 74 79 70 3b 0d 0a 20 20 53 63   ┆INTEGER;    reg  : regtyp;    Sc┆
0x5dc80…5dca0            72 5f 73 74 61 72 74 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 53 63 72 5f 43 48 41 52 09 3a   ┆r_start : INTEGER;    Scr_CHAR :┆
0x5dca0…5dcc0            20 63 68 61 72 66 69 6c 74 79 70 65 3b 0d 0a 20 20 74 78 74 5f 6c 69 6e 65 70 74 72 09 3a 20 41   ┆ charfiltype;    txt_lineptr : A┆
0x5dcc0…5dce0            52 52 41 59 28 2e 30 2e 2e 32 34 2e 29 20 4f 46 20 5e 74 78 74 5f 6c 69 6e 65 3b 0d 0a 20 20 74   ┆RRAY(.0..24.) OF ^txt_line;    t┆
0x5dce0…5dd00            78 74 5f 6d 61 78 78 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 74 78 74 5f 6d 61 78 79 09 3a   ┆xt_maxx : INTEGER;    txt_maxy :┆
0x5dd00…5dd20            20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 42 69 74 6e 72 20 20 20 20 20 20 20 20 20 3a 20 49 4e 54   ┆ INTEGER;    Bitnr         : INT┆
0x5dd20…5dd40            45 47 45 52 3b 0d 0a 20 20 4c 69 6e 65 50 61 74 74 65 72 6e 20 20 20 3a 20 42 59 54 45 3b 0d 0a   ┆EGER;    LinePattern   : BYTE;  ┆
0x5dd40…5dd60            20 20 4c 69 6e 65 50 61 74 74 65 72 6e 53 69 7a 65 20 20 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20   ┆  LinePatternSize  : INTEGER;   ┆
0x5dd60…5dd80            20 6d 61 72 6b 65 72 73 69 7a 65 20 20 20 20 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 43 68 48   ┆ markersize    : INTEGER;    ChH┆
0x5dd80…5dda0            65 69 67 74 68 20 20 20 20 20 20 3a 20 52 45 41 4c 3b 0d 0a 20 20 43 68 57 69 64 74 68 20 20 20   ┆eigth      : REAL;    ChWidth   ┆
0x5dda0…5ddc0            20 20 20 20 3a 20 52 45 41 4c 3b 0d 0a 20 20 52 6f 74 61 74 69 6f 6e 20 20 20 20 20 20 3a 20 49   ┆    : REAL;    Rotation      : I┆
0x5ddc0…5dde0            4e 54 45 47 45 52 3b 0d 0a 0d 0a 43 4f 4e 53 54 0d 0a 20 20 73 63 72 5f 73 77 61 70 5f 3a 20 6f   ┆NTEGER;    CONST    scr_swap_: o┆
0x5dde0…5de00            70 72 74 79 70 65 3d 6c 6f 61 64 3b 0d 0a 0d 0a 7b 20 43 53 54 52 20 72 65 74 75 72 6e 73 20 61   ┆prtype=load;    æ CSTR returns a┆
0x5de00…5de20            20 73 74 72 69 6e 67 20 77 69 74 68 20 4e 20 63 68 61 72 61 63 74 65 72 73 20 6f 66 20 76 61 6c   ┆ string with N characters of val┆
0x5de20…5de40            75 65 20 43 20 7d 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 63 73 74 72 28 63 3a 20 63 68 61 72 3b   ┆ue C å    FUNCTION cstr(c: char;┆
0x5de40…5de60            20 6e 3a 20 69 6e 74 65 67 65 72 29 3a 20 61 6e 79 73 74 72 3b 0d 0a 56 41 52 0d 0a 20 20 73 3a   ┆ n: integer): anystr;  VAR    s:┆
0x5de60…5de80            20 53 54 52 49 4e 47 5b 32 35 35 5d 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 49 46 20 6e 3c 30 20 54   ┆ STRINGÆ255Å;  BEGIN    IF n<0 T┆
0x5de80…5dea0            48 45 4e 20 6e 3a 3d 30 3b 20 73 5b 30 5d 3a 3d 63 68 72 28 6e 29 3b 20 66 69 6c 6c 28 73 5b 31   ┆HEN n:=0; sÆ0Å:=chr(n); fill(sÆ1┆
0x5dea0…5dec0            5d 2c 6e 2c 63 29 3b 0d 0a 20 20 63 73 74 72 3a 3d 73 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46 55 4e   ┆Å,n,c);    cstr:=s;  END;    FUN┆
0x5dec0…5dee0            43 54 49 4f 4e 20 73 70 63 28 6c 3a 20 49 4e 54 45 47 45 52 3b 20 63 68 3a 20 43 48 41 52 29 3a   ┆CTION spc(l: INTEGER; ch: CHAR):┆
0x5dee0…5df00            73 74 72 38 30 3b 0d 0a 56 41 52 20 0d 0a 20 20 73 09 3a 20 73 74 72 38 30 3b 0d 0a 20 20 73 6c   ┆str80;  VAR     s : str80;    sl┆
0x5df00…5df20            67 74 20 20 3a 20 42 59 54 45 20 41 54 20 73 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 73 6c 67 74 3a   ┆gt  : BYTE AT s;  BEGIN    slgt:┆
0x5df20…5df40            3d 6c 3b 0d 0a 20 20 66 69 6c 6c 28 73 28 2e 31 2e 29 2c 6c 2c 63 68 29 3b 0d 0a 20 20 73 70 63   ┆=l;    fill(s(.1.),l,ch);    spc┆
0x5df40…5df60            3a 3d 73 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 73 77 61 70 28 56 41 52   ┆:=s;  END;    PROCEDURE swap(VAR┆
0x5df60…5df80            20 61 2c 62 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 20 63 3a 20 49 4e 54 45 47 45 52 3b   ┆ a,b: INTEGER);  VAR c: INTEGER;┆
0x5df80…5dfa0            0d 0a 42 45 47 49 4e 0d 0a 20 20 63 3a 3d 61 3b 20 61 3a 3d 62 3b 20 62 3a 3d 63 3b 0d 0a 45 4e   ┆  BEGIN    c:=a; a:=b; b:=c;  EN┆
0x5dfa0…5dfc0            44 3b 20 0d 0a 20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 69 6e 69 74 5f 67 72 61 70 68 69   ┆D;         PROCEDURE init_graphi┆
0x5dfc0…5dfe0            63 73 3b 0d 0a 56 41 52 0d 0a 20 20 53 63 72 5f 4d 4f 44 2c 20 69 3a 20 49 4e 54 45 47 45 52 3b   ┆cs;  VAR    Scr_MOD, i: INTEGER;┆
0x5dfe0…5e000            0d 0a 20 20 63 68 61 72 66 69 6c 3a 20 46 49 4c 45 20 4f 46 20 63 68 61 72 66 69 6c 74 79 70 65   ┆    charfil: FILE OF charfiltype┆
0x5e000…5e020 (37, 1, 2) 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 28 2a 20 4f 6c 69 76 65 74 74 69 20 67 72 61 70 68 69 63 73   ┆;  BEGIN    (* Olivetti graphics┆
0x5e020…5e040            20 36 34 30 2a 34 30 30 20 70 6f 69 6e 74 73 20 2a 29 0d 0a 20 20 53 63 72 5f 73 65 67 6d 3a 3d   ┆ 640*400 points *)    Scr_segm:=┆
0x5e040…5e060            24 42 38 30 30 3b 0d 0a 20 20 53 63 72 5f 4d 4f 44 3a 3d 34 3b 0d 0a 20 20 53 63 72 5f 73 74 61   ┆$B800;    Scr_MOD:=4;    Scr_sta┆
0x5e060…5e080            72 74 3a 3d 36 34 3b 0d 0a 20 20 53 63 72 5f 6d 61 78 78 3a 3d 36 33 39 3b 0d 0a 20 20 53 63 72   ┆rt:=64;    Scr_maxx:=639;    Scr┆
0x5e080…5e0a0            5f 6d 61 78 79 3a 3d 33 39 39 3b 0d 0a 20 20 53 63 72 5f 61 73 70 65 63 74 3a 3d 31 30 30 3b 20   ┆_maxy:=399;    Scr_aspect:=100; ┆
0x5e0a0…5e0c0            28 2a 53 63 72 5f 61 73 70 65 63 74 3a 3d 31 31 37 3b 2a 29 0d 0a 20 20 74 78 74 5f 6d 61 78 78   ┆(*Scr_aspect:=117;*)    txt_maxx┆
0x5e0c0…5e0e0            3a 3d 37 39 3b 0d 0a 20 20 74 78 74 5f 6d 61 78 79 3a 3d 32 34 3b 0d 0a 20 20 0d 0a 20 20 46 4f   ┆:=79;    txt_maxy:=24;        FO┆
0x5e0e0…5e100            52 20 69 3a 3d 20 30 20 54 4f 20 53 63 72 5f 6d 61 78 78 20 44 4f 20 53 63 72 5f 78 61 64 64 72   ┆R i:= 0 TO Scr_maxx DO Scr_xaddr┆
0x5e100…5e120            28 2e 69 2e 29 3a 3d 69 20 44 49 56 20 38 3b 0d 0a 20 20 46 4f 52 20 69 3a 3d 20 30 20 54 4f 20   ┆(.i.):=i DIV 8;    FOR i:= 0 TO ┆
0x5e120…5e140            53 63 72 5f 6d 61 78 79 20 44 4f 0d 0a 20 20 20 20 53 63 72 5f 79 61 64 64 72 28 2e 53 63 72 5f   ┆Scr_maxy DO      Scr_yaddr(.Scr_┆
0x5e140…5e160            6d 61 78 79 2d 69 2e 29 3a 3d 28 28 69 20 4d 4f 44 20 53 63 72 5f 4d 4f 44 29 2a 24 32 30 30 30   ┆maxy-i.):=((i MOD Scr_MOD)*$2000┆
0x5e160…5e180            29 20 2b 20 28 28 69 20 44 49 56 20 53 63 72 5f 4d 4f 44 29 2a 38 30 29 3b 0d 0a 20 20 61 73 73   ┆) + ((i DIV Scr_MOD)*80);    ass┆
0x5e180…5e1a0            69 67 6e 28 63 68 61 72 66 69 6c 2c 63 68 61 72 66 69 6c 6e 61 6d 65 29 3b 0d 0a 20 20 72 65 73   ┆ign(charfil,charfilname);    res┆
0x5e1a0…5e1c0            65 74 28 63 68 61 72 66 69 6c 29 3b 0d 0a 20 20 72 65 61 64 28 63 68 61 72 66 69 6c 2c 53 63 72   ┆et(charfil);    read(charfil,Scr┆
0x5e1c0…5e1e0            5f 43 48 41 52 29 3b 0d 0a 20 20 63 6c 6f 73 65 28 63 68 61 72 66 69 6c 29 3b 0d 0a 45 4e 44 3b   ┆_CHAR);    close(charfil);  END;┆
0x5e1e0…5e200            0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 69 6e 69 74 5f 74 65 78 74 3b 0d 0a 56 41 52 20 78 2c   ┆    PROCEDURE init_text;  VAR x,┆
0x5e200…5e220            69 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 78 3a 3d 30 3b 0d 0a 20 20   ┆i : INTEGER;  BEGIN    x:=0;    ┆
0x5e220…5e240            46 4f 52 20 69 3a 3d 30 20 54 4f 20 32 34 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 74 78 74   ┆FOR i:=0 TO 24 DO BEGIN      txt┆
0x5e240…5e260            5f 6c 69 6e 65 70 74 72 28 2e 69 2e 29 3a 3d 70 74 72 28 24 42 38 30 30 2c 78 29 3b 0d 0a 20 20   ┆_lineptr(.i.):=ptr($B800,x);    ┆
0x5e260…5e280            20 20 78 3a 3d 78 2b 31 36 30 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f   ┆  x:=x+160;    END;  END;    PRO┆
0x5e280…5e2a0            43 45 44 55 52 45 20 67 72 61 70 68 6d 6f 64 65 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 49 46 20 74   ┆CEDURE graphmode;  BEGIN    IF t┆
0x5e2a0…5e2c0            78 74 5f 6d 6f 64 65 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 74 78 74 5f 6d 61 78 78   ┆xt_mode THEN BEGIN      txt_maxx┆
0x5e2c0…5e2e0            3a 3d 53 63 72 5f 6d 61 78 78 20 44 49 56 20 38 3b 0d 0a 20 20 20 20 74 78 74 5f 6d 61 78 79 3a   ┆:=Scr_maxx DIV 8;      txt_maxy:┆
0x5e2e0…5e300            3d 53 63 72 5f 6d 61 78 79 20 44 49 56 20 38 3b 0d 0a 20 20 20 20 74 78 74 5f 6d 6f 64 65 3a 3d   ┆=Scr_maxy DIV 8;      txt_mode:=┆
0x5e300…5e320            66 61 6c 73 65 3b 0d 0a 20 20 20 20 72 65 67 2e 61 78 3a 3d 53 63 72 5f 73 74 61 72 74 3b 0d 0a   ┆false;      reg.ax:=Scr_start;  ┆
0x5e320…5e340            20 20 20 20 73 77 69 6e 74 28 24 31 30 2c 72 65 67 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44   ┆    swint($10,reg);    END;  END┆
0x5e340…5e360            3b 20 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 74 65 78 74 6d 6f 64 65 3b 0d 0a 42 45 47 49 4e   ┆;     PROCEDURE textmode;  BEGIN┆
0x5e360…5e380            0d 0a 20 20 49 46 20 4e 4f 54 20 74 78 74 5f 6d 6f 64 65 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a   ┆    IF NOT txt_mode THEN BEGIN  ┆
0x5e380…5e3a0            20 20 20 20 74 78 74 5f 6d 61 78 78 3a 3d 37 39 3b 0d 0a 20 20 20 20 74 78 74 5f 6d 61 78 79 3a   ┆    txt_maxx:=79;      txt_maxy:┆
0x5e3a0…5e3c0            3d 32 34 3b 0d 0a 20 20 20 20 74 78 74 5f 6d 6f 64 65 3a 3d 74 72 75 65 3b 0d 0a 20 20 20 20 72   ┆=24;      txt_mode:=true;      r┆
0x5e3c0…5e3e0            65 67 2e 61 78 3a 3d 24 30 33 3b 0d 0a 20 20 20 20 73 77 69 6e 74 28 24 31 30 2c 72 65 67 29 3b   ┆eg.ax:=$03;      swint($10,reg);┆
0x5e3e0…5e400            0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 77 72   ┆    END;  END;      PROCEDURE wr┆
0x5e400…5e420 (37, 1, 3) 69 74 65 73 74 72 28 63 6f 6c 2c 72 6f 77 3a 20 49 4e 54 45 47 45 52 3b 20 73 74 72 3a 20 73 74   ┆itestr(col,row: INTEGER; str: st┆
0x5e420…5e440            72 38 30 29 3b 0d 0a 56 41 52 20 61 74 74 72 69 62 3a 20 42 59 54 45 3b 0d 0a 42 45 47 49 4e 0d   ┆r80);  VAR attrib: BYTE;  BEGIN ┆
0x5e440…5e460            0a 20 20 61 74 74 72 69 62 3a 3d 57 6e 64 5f 70 61 6c 65 74 74 65 28 2e 57 6e 64 5f 61 63 74 75   ┆   attrib:=Wnd_palette(.Wnd_actu┆
0x5e460…5e480            61 6c 2e 29 3b 0d 0a 20 20 43 4f 44 45 0d 0a 20 20 20 24 31 45 2c 24 31 45 2c 24 38 41 2c 24 38   ┆al.);    CODE     $1E,$1E,$8A,$8┆
0x5e480…5e4a0            36 2c 72 6f 77 2c 24 42 33 2c 24 35 30 2c 24 46 36 2c 24 45 33 2c 24 32 42 2c 24 44 42 2c 24 38   ┆6,row,$B3,$50,$F6,$E3,$2B,$DB,$8┆
0x5e4a0…5e4c0            41 2c 24 39 45 2c 63 6f 6c 2c 0d 0a 20 20 20 24 30 33 2c 24 43 33 2c 24 30 33 2c 24 43 30 2c 24   ┆A,$9E,col,     $03,$C3,$03,$C0,$┆
0x5e4c0…5e4e0            38 42 2c 24 46 38 2c 24 42 45 2c 24 30 30 2c 24 30 30 2c 24 38 41 2c 24 42 45 2c 61 74 74 72 69   ┆8B,$F8,$BE,$00,$00,$8A,$BE,attri┆
0x5e4e0…5e500            62 2c 0d 0a 20 20 20 24 38 41 2c 24 38 45 2c 73 74 72 2c 24 32 32 2c 24 43 39 2c 24 37 34 2c 24   ┆b,     $8A,$8E,str,$22,$C9,$74,$┆
0x5e500…5e520            33 45 2c 24 32 42 2c 24 43 30 2c 24 38 45 2c 24 44 38 2c 24 41 30 2c 24 34 39 2c 24 30 34 2c 0d   ┆3E,$2B,$C0,$8E,$D8,$A0,$49,$04, ┆
0x5e520…5e540            0a 20 20 20 24 31 46 2c 24 32 43 2c 24 30 37 2c 24 37 34 2c 24 32 32 2c 24 42 41 2c 24 30 30 2c   ┆    $1F,$2C,$07,$74,$22,$BA,$00,┆
0x5e540…5e560            24 42 38 2c 24 38 45 2c 24 44 41 2c 24 42 41 2c 24 44 41 2c 24 30 33 2c 24 34 36 2c 0d 0a 20 20   ┆$B8,$8E,$DA,$BA,$DA,$03,$46,    ┆
0x5e560…5e580            20 24 38 41 2c 24 39 41 2c 73 74 72 2c 24 45 43 2c 24 41 38 2c 24 30 31 2c 24 37 35 2c 24 46 42   ┆ $8A,$9A,str,$EC,$A8,$01,$75,$FB┆
0x5e580…5e5a0            2c 24 46 41 2c 24 45 43 2c 24 41 38 2c 24 30 31 2c 24 37 34 2c 24 46 42 2c 0d 0a 20 20 20 24 38   ┆,$FA,$EC,$A8,$01,$74,$FB,     $8┆
0x5e5a0…5e5c0            39 2c 24 31 44 2c 24 34 37 2c 24 34 37 2c 24 45 32 2c 24 45 41 2c 24 32 41 2c 24 43 30 2c 24 37   ┆9,$1D,$47,$47,$E2,$EA,$2A,$C0,$7┆
0x5e5c0…5e5e0            34 2c 24 31 30 2c 24 42 41 2c 24 30 30 2c 24 42 30 2c 0d 0a 20 20 20 24 38 45 2c 24 44 41 2c 24   ┆4,$10,$BA,$00,$B0,     $8E,$DA,$┆
0x5e5e0…5e600            34 36 2c 24 38 41 2c 24 39 41 2c 73 74 72 2c 24 38 39 2c 24 31 44 2c 24 34 37 2c 24 34 37 2c 24   ┆46,$8A,$9A,str,$89,$1D,$47,$47,$┆
0x5e600…5e620            45 32 2c 24 46 35 2c 24 31 46 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53   ┆E2,$F5,$1F;  END;    PROCEDURE S┆
0x5e620…5e640            63 72 5f 73 65 74 44 6f 74 28 78 2c 79 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d   ┆cr_setDot(x,y: INTEGER);  BEGIN ┆
0x5e640…5e660            0a 20 20 57 6e 64 5f 43 6f 6c 6f 72 3a 3d 57 6e 64 5f 2e 70 65 6e 63 6f 6c 6f 72 3b 0d 0a 20 20   ┆   Wnd_Color:=Wnd_.pencolor;    ┆
0x5e660…5e680            43 4f 44 45 0d 0a 20 20 24 38 42 2c 24 37 45 2c 24 30 36 2c 24 38 42 2c 24 37 36 2c 24 30 34 2c   ┆CODE    $8B,$7E,$06,$8B,$76,$04,┆
0x5e680…5e6a0            24 38 39 2c 24 46 39 2c 24 44 31 2c 24 45 37 2c 24 44 31 2c 24 45 36 2c 24 38 42 2c 24 39 44 2c   ┆$89,$F9,$D1,$E7,$D1,$E6,$8B,$9D,┆
0x5e6a0…5e6c0            3e 53 63 72 5f 78 61 64 64 72 2c 0d 0a 20 20 24 30 33 2c 24 39 43 2c 3e 53 63 72 5f 79 61 64 64   ┆>Scr_xaddr,    $03,$9C,>Scr_yadd┆
0x5e6c0…5e6e0            72 2c 24 38 30 2c 24 45 31 2c 24 30 37 2c 24 42 32 2c 24 38 30 2c 24 44 32 2c 24 45 41 2c 24 38   ┆r,$80,$E1,$07,$B2,$80,$D2,$EA,$8┆
0x5e6e0…5e700            45 2c 24 30 36 2c 3e 53 63 72 5f 73 65 67 6d 2c 24 41 30 2c 0d 0a 20 20 3e 57 6e 64 5f 63 6f 6c   ┆E,$06,>Scr_segm,$A0,    >Wnd_col┆
0x5e700…5e720            6f 72 2c 24 33 43 2c 24 46 46 2c 24 37 35 2c 24 30 35 2c 24 32 36 2c 24 30 38 2c 24 31 37 2c 24   ┆or,$3C,$FF,$75,$05,$26,$08,$17,$┆
0x5e720…5e740            45 42 2c 24 30 45 2c 24 33 43 2c 24 30 30 2c 24 37 35 2c 24 30 37 2c 24 46 36 2c 0d 0a 20 20 24   ┆EB,$0E,$3C,$00,$75,$07,$F6,    $┆
0x5e740…5e760            44 32 2c 24 32 36 2c 24 32 30 2c 24 31 37 2c 24 45 42 2c 24 30 33 2c 24 32 36 2c 24 33 30 2c 24   ┆D2,$26,$20,$17,$EB,$03,$26,$30,$┆
0x5e760…5e780            31 37 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 6d 6f 76 65 53 63 72 5f 74   ┆17;  END;    PROCEDURE moveScr_t┆
0x5e780…5e7a0            6f 6d 65 6d 28 78 2c 79 2c 78 6c 65 6e 3a 20 49 4e 54 45 47 45 52 3b 6b 31 2c 6b 32 3a 20 49 4e   ┆omem(x,y,xlen: INTEGER;k1,k2: IN┆
0x5e7a0…5e7c0            54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 43 4f 44 45 0d 0a 20 20 24 38 42 2c 24 37   ┆TEGER);  BEGIN    CODE    $8B,$7┆
0x5e7c0…5e7e0            45 2c 24 30 41 2c 24 44 31 2c 24 45 37 2c 24 38 42 2c 24 38 35 2c 3e 53 63 72 5f 79 61 64 64 72   ┆E,$0A,$D1,$E7,$8B,$85,>Scr_yaddr┆
0x5e7e0…5e800            2c 24 38 42 2c 24 34 45 2c 24 30 38 2c 24 38 42 2c 24 37 45 2c 24 30 43 2c 24 44 31 2c 0d 0a 20   ┆,$8B,$4E,$08,$8B,$7E,$0C,$D1,   ┆
0x5e800…5e820 (37, 1, 4) 20 24 45 37 2c 24 38 45 2c 24 30 36 2c 3e 53 63 72 5f 73 65 67 6d 2c 24 31 45 2c 24 43 35 2c 24   ┆ $E7,$8E,$06,>Scr_segm,$1E,$C5,$┆
0x5e820…5e840            37 36 2c 24 30 34 2c 24 38 43 2c 24 44 41 2c 24 38 39 2c 24 43 33 2c 24 31 46 2c 24 30 33 2c 24   ┆76,$04,$8C,$DA,$89,$C3,$1F,$03,$┆
0x5e840…5e860            39 44 2c 0d 0a 20 20 3e 53 63 72 5f 78 61 64 64 72 2c 24 31 45 2c 24 38 45 2c 24 44 41 2c 24 35   ┆9D,    >Scr_xaddr,$1E,$8E,$DA,$5┆
0x5e860…5e880            31 2c 24 32 36 2c 24 38 41 2c 24 30 46 2c 24 38 38 2c 24 30 43 2c 24 35 39 2c 24 34 36 2c 24 38   ┆1,$26,$8A,$0F,$88,$0C,$59,$46,$8┆
0x5e880…5e8a0            33 2c 24 43 37 2c 24 31 30 2c 0d 0a 20 20 24 45 32 2c 24 45 39 2c 24 31 46 3b 0d 0a 45 4e 44 3b   ┆3,$C7,$10,    $E2,$E9,$1F;  END;┆
0x5e8a0…5e8c0            0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 6d 6f 76 65 6d 65 6d 74 6f 53 63 72 5f 28 78 2c 79 2c   ┆    PROCEDURE movememtoScr_(x,y,┆
0x5e8c0…5e8e0            78 6c 65 6e 3a 20 49 4e 54 45 47 45 52 3b 6b 31 2c 6b 32 3a 49 4e 54 45 47 45 52 29 3b 0d 0a 42   ┆xlen: INTEGER;k1,k2:INTEGER);  B┆
0x5e8e0…5e900            45 47 49 4e 0d 0a 20 20 43 4f 44 45 0d 0a 20 20 24 38 42 2c 24 37 45 2c 24 30 41 2c 24 44 31 2c   ┆EGIN    CODE    $8B,$7E,$0A,$D1,┆
0x5e900…5e920            24 45 37 2c 24 38 42 2c 24 38 35 2c 3e 53 63 72 5f 79 61 64 64 72 2c 24 38 42 2c 24 34 45 2c 24   ┆$E7,$8B,$85,>Scr_yaddr,$8B,$4E,$┆
0x5e920…5e940            30 38 2c 24 38 42 2c 24 37 45 2c 24 30 43 2c 24 44 31 2c 0d 0a 20 20 24 45 37 2c 24 38 45 2c 24   ┆08,$8B,$7E,$0C,$D1,    $E7,$8E,$┆
0x5e940…5e960            30 36 2c 3e 53 63 72 5f 73 65 67 6d 2c 24 31 45 2c 24 43 35 2c 24 37 36 2c 24 30 34 2c 24 38 43   ┆06,>Scr_segm,$1E,$C5,$76,$04,$8C┆
0x5e960…5e980            2c 24 44 41 2c 24 38 39 2c 24 43 33 2c 24 31 46 2c 24 30 33 2c 24 39 44 2c 0d 0a 20 20 3e 53 63   ┆,$DA,$89,$C3,$1F,$03,$9D,    >Sc┆
0x5e980…5e9a0            72 5f 78 61 64 64 72 2c 24 31 45 2c 24 38 45 2c 24 44 41 2c 24 35 31 2c 24 38 41 2c 24 30 43 2c   ┆r_xaddr,$1E,$8E,$DA,$51,$8A,$0C,┆
0x5e9a0…5e9c0            24 32 36 2c 24 38 38 2c 24 30 46 2c 24 35 39 2c 24 34 36 2c 24 38 33 2c 24 43 37 2c 24 31 30 2c   ┆$26,$88,$0F,$59,$46,$83,$C7,$10,┆
0x5e9c0…5e9e0            0d 0a 20 20 24 45 32 2c 24 45 39 2c 24 31 46 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44   ┆    $E2,$E9,$1F;  END;    PROCED┆
0x5e9e0…5ea00            55 52 45 20 66 69 6c 6c 76 69 64 65 6f 6c 69 6e 65 28 78 2c 79 2c 78 6c 65 6e 2c 63 6f 6c 6f 72   ┆URE fillvideoline(x,y,xlen,color┆
0x5ea00…5ea20            3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 43 4f 44 45 0d 0a 20 20 24 38   ┆: INTEGER);  BEGIN    CODE    $8┆
0x5ea20…5ea40            42 2c 24 37 45 2c 24 30 38 2c 24 44 31 2c 24 45 37 2c 24 38 42 2c 24 38 35 2c 3e 53 63 72 5f 79   ┆B,$7E,$08,$D1,$E7,$8B,$85,>Scr_y┆
0x5ea40…5ea60            61 64 64 72 2c 24 38 42 2c 24 34 45 2c 24 30 36 2c 24 38 42 2c 24 37 45 2c 24 30 41 2c 24 38 45   ┆addr,$8B,$4E,$06,$8B,$7E,$0A,$8E┆
0x5ea60…5ea80            2c 0d 0a 20 20 24 30 36 2c 3e 53 63 72 5f 73 65 67 6d 2c 24 38 42 2c 24 35 36 2c 24 30 34 2c 24   ┆,    $06,>Scr_segm,$8B,$56,$04,$┆
0x5ea80…5eaa0            38 39 2c 24 43 33 2c 24 38 39 2c 24 46 45 2c 24 44 31 2c 24 45 36 2c 24 30 33 2c 24 39 43 2c 3e   ┆89,$C3,$89,$FE,$D1,$E6,$03,$9C,>┆
0x5eaa0…5eac0            53 63 72 5f 78 61 64 64 72 2c 0d 0a 20 20 24 32 36 2c 24 38 38 2c 24 31 37 2c 24 38 33 2c 24 43   ┆Scr_xaddr,    $26,$88,$17,$83,$C┆
0x5eac0…5eae0            37 2c 24 30 38 2c 24 45 32 2c 24 45 45 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e   ┆7,$08,$E2,$EE;  END;    FUNCTION┆
0x5eae0…5eb00            20 62 61 73 65 61 64 64 72 28 78 2c 79 3a 20 49 4e 54 45 47 45 52 29 3a 20 49 4e 54 45 47 45 52   ┆ baseaddr(x,y: INTEGER): INTEGER┆
0x5eb00…5eb20            3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 43 4f 44 45 0d 0a 20 20 24 38 42 2c 24 37 45 2c 24 30 36 2c   ┆;  BEGIN    CODE    $8B,$7E,$06,┆
0x5eb20…5eb40            24 38 42 2c 24 37 36 2c 24 30 34 2c 24 44 31 2c 24 45 37 2c 24 44 31 2c 24 45 36 2c 24 38 42 2c   ┆$8B,$76,$04,$D1,$E7,$D1,$E6,$8B,┆
0x5eb40…5eb60            24 39 43 2c 3e 53 63 72 5f 79 61 64 64 72 2c 24 30 33 2c 24 39 44 2c 0d 0a 20 20 3e 53 63 72 5f   ┆$9C,>Scr_yaddr,$03,$9D,    >Scr_┆
0x5eb60…5eb80            78 61 64 64 72 2c 24 38 39 2c 24 35 45 2c 24 30 38 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43   ┆xaddr,$89,$5E,$08;  END;    FUNC┆
0x5eb80…5eba0            54 49 4f 4e 20 53 63 72 5f 47 65 74 44 6f 74 28 78 2c 79 3a 49 4e 54 45 47 45 52 29 3a 42 4f 4f   ┆TION Scr_GetDot(x,y:INTEGER):BOO┆
0x5eba0…5ebc0            4c 45 41 4e 3b 0d 0a 56 41 52 20 74 6f 74 61 6c 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49   ┆LEAN;  VAR total: INTEGER;  BEGI┆
0x5ebc0…5ebe0            4e 0d 0a 20 74 6f 74 61 6c 3a 3d 53 63 72 5f 78 61 64 64 72 28 2e 78 2e 29 2b 53 63 72 5f 79 61   ┆N   total:=Scr_xaddr(.x.)+Scr_ya┆
0x5ebe0…5ec00            64 64 72 28 2e 79 2e 29 3b 0d 0a 20 53 63 72 5f 67 65 74 64 6f 74 3a 3d 0d 0a 20 28 57 6e 64 5f   ┆ddr(.y.);   Scr_getdot:=   (Wnd_┆
0x5ec00…5ec20 (37, 1, 5) 2e 70 65 6e 63 6f 6c 6f 72 3d 62 6c 61 63 6b 29 20 45 58 4f 52 20 28 6d 65 6d 28 2e 53 63 72 5f   ┆.pencolor=black) EXOR (mem(.Scr_┆
0x5ec20…5ec40            73 65 67 6d 3a 74 6f 74 61 6c 2e 29 20 41 4e 44 20 28 31 32 38 20 53 48 52 20 28 78 20 41 4e 44   ┆segm:total.) AND (128 SHR (x AND┆
0x5ec40…5ec60            20 37 29 29 3c 3e 30 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 63 72   ┆ 7))<>0);  END;    PROCEDURE Scr┆
0x5ec60…5ec80            5f 66 69 6c 6c 28 78 31 2c 79 31 2c 78 32 2c 79 32 3a 49 4e 54 45 47 45 52 3b 20 63 6f 6c 6f 72   ┆_fill(x1,y1,x2,y2:INTEGER; color┆
0x5ec80…5eca0            3a 20 42 59 54 45 29 3b 0d 0a 56 41 52 20 79 2c 6c 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47   ┆: BYTE);  VAR y,l: INTEGER;  BEG┆
0x5eca0…5ecc0            49 4e 0d 0a 20 20 6c 3a 3d 28 78 32 2d 78 31 2b 31 29 20 44 49 56 20 38 3b 0d 0a 20 20 46 4f 52   ┆IN    l:=(x2-x1+1) DIV 8;    FOR┆
0x5ecc0…5ece0            20 79 3a 3d 79 31 20 54 4f 20 79 32 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 66 69 6c 6c 76   ┆ y:=y1 TO y2 DO BEGIN      fillv┆
0x5ece0…5ed00            69 64 65 6f 6c 69 6e 65 28 78 31 2c 79 2c 6c 2c 63 6f 6c 6f 72 29 3b 0d 0a 20 20 45 4e 44 3b 0d   ┆ideoline(x1,y,l,color);    END; ┆
0x5ed00…5ed20            0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 63 72 5f 44 72 61 77 63 68 61 72 28   ┆ END;    PROCEDURE Scr_Drawchar(┆
0x5ed20…5ed40            78 2c 79 3a 20 49 4e 54 45 47 45 52 3b 63 68 3a 20 43 48 41 52 29 3b 0d 0a 56 41 52 20 20 74 6f   ┆x,y: INTEGER;ch: CHAR);  VAR  to┆
0x5ed40…5ed60            74 61 6c 2c 69 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 46 4f 52 20 69 3a   ┆tal,i: INTEGER;  BEGIN    FOR i:┆
0x5ed60…5ed80            3d 30 20 54 4f 20 37 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 74 6f 74 61 6c 3a 3d 53 63 72   ┆=0 TO 7 DO BEGIN      total:=Scr┆
0x5ed80…5eda0            5f 78 61 64 64 72 28 2e 78 2e 29 2b 53 63 72 5f 79 61 64 64 72 28 2e 79 2d 69 2b 37 2e 29 3b 0d   ┆_xaddr(.x.)+Scr_yaddr(.y-i+7.); ┆
0x5eda0…5edc0            0a 20 20 20 20 43 41 53 45 20 57 6e 64 5f 2e 70 65 6e 63 6f 6c 6f 72 20 4f 46 0d 0a 20 20 20 20   ┆     CASE Wnd_.pencolor OF      ┆
0x5edc0…5ede0            77 68 69 74 65 3a 0d 0a 20 20 20 20 20 20 6d 65 6d 28 2e 53 63 72 5f 73 65 67 6d 3a 74 6f 74 61   ┆white:        mem(.Scr_segm:tota┆
0x5ede0…5ee00            6c 2e 29 3a 3d 53 63 72 5f 43 48 41 52 28 2e 6f 72 64 28 63 68 29 2c 69 2e 29 3b 0d 0a 20 20 20   ┆l.):=Scr_CHAR(.ord(ch),i.);     ┆
0x5ee00…5ee20            20 62 6c 61 63 6b 3a 0d 0a 20 20 20 20 20 20 6d 65 6d 28 2e 53 63 72 5f 73 65 67 6d 3a 74 6f 74   ┆ black:        mem(.Scr_segm:tot┆
0x5ee20…5ee40            61 6c 2e 29 3a 3d 20 28 4e 4f 54 20 53 63 72 5f 43 48 41 52 28 2e 6f 72 64 28 63 68 29 2c 69 2e   ┆al.):= (NOT Scr_CHAR(.ord(ch),i.┆
0x5ee40…5ee60            29 20 41 4e 44 20 24 46 46 29 3b 0d 0a 20 20 20 20 74 72 61 6e 73 70 3a 0d 0a 20 20 20 20 20 20   ┆) AND $FF);      transp:        ┆
0x5ee60…5ee80            6d 65 6d 28 2e 53 63 72 5f 73 65 67 6d 3a 74 6f 74 61 6c 2e 29 3a 3d 20 53 63 72 5f 43 48 41 52   ┆mem(.Scr_segm:total.):= Scr_CHAR┆
0x5ee80…5eea0            28 2e 6f 72 64 28 63 68 29 2c 69 2e 29 20 45 58 4f 52 20 6d 65 6d 28 2e 53 63 72 5f 73 65 67 6d   ┆(.ord(ch),i.) EXOR mem(.Scr_segm┆
0x5eea0…5eec0            3a 74 6f 74 61 6c 2e 29 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44   ┆:total.);      END;    END;  END┆
0x5eec0…5eee0            3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 63 72 5f 4c 69 6e 65 54 6f 28 78 78 31 2c 79 79   ┆;    PROCEDURE Scr_LineTo(xx1,yy┆
0x5eee0…5ef00            31 2c 78 78 32 2c 79 79 32 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 0d 0a 20 20 6c 67 5f   ┆1,xx2,yy2: INTEGER);  VAR    lg_┆
0x5ef00…5ef20            64 65 6c 74 61 2c 20 73 68 5f 64 65 6c 74 61 2c 20 6c 67 5f 73 74 65 70 2c 20 73 68 5f 73 74 65   ┆delta, sh_delta, lg_step, sh_ste┆
0x5ef20…5ef40            70 2c 20 63 79 63 6c 65 2c 20 74 6f 74 61 6c 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 0d 0a 50 52 4f   ┆p, cycle, total: INTEGER;    PRO┆
0x5ef40…5ef60            43 45 44 55 52 45 20 53 63 72 65 65 6e 53 65 74 44 6f 74 28 78 78 31 2c 79 79 31 3a 69 6e 74 65   ┆CEDURE ScreenSetDot(xx1,yy1:inte┆
0x5ef60…5ef80            67 65 72 29 3b 0d 0a 20 20 76 61 72 20 62 69 74 3a 62 6f 6f 6c 65 61 6e 3b 0d 0a 42 45 47 49 4e   ┆ger);    var bit:boolean;  BEGIN┆
0x5ef80…5efa0            0d 0a 20 20 20 20 42 69 74 3a 3d 28 6c 69 6e 65 70 61 74 74 65 72 6e 20 61 6e 64 20 24 38 30 29   ┆      Bit:=(linepattern and $80)┆
0x5efa0…5efc0            3c 3e 30 3b 0d 0a 20 20 20 20 69 66 20 62 69 74 20 74 68 65 6e 20 53 63 72 5f 73 65 74 44 6f 74   ┆<>0;      if bit then Scr_setDot┆
0x5efc0…5efe0            28 78 78 31 2c 79 79 31 29 3b 0d 0a 20 20 20 20 62 69 74 6e 72 3a 3d 62 69 74 6e 72 2b 31 3b 0d   ┆(xx1,yy1);      bitnr:=bitnr+1; ┆
0x5efe0…5f000            0a 20 20 20 20 69 66 20 62 69 74 6e 72 3e 6c 69 6e 65 70 61 74 74 65 72 6e 73 69 7a 65 2d 31 0d   ┆     if bitnr>linepatternsize-1 ┆
0x5f000…5f020 (38, 0, 1) 0a 20 20 20 20 74 68 65 6e 0d 0a 20 20 20 20 42 45 47 49 4e 3b 20 20 20 20 0d 0a 20 20 20 20 20   ┆     then      BEGIN;           ┆
0x5f020…5f040            20 6c 69 6e 65 70 61 74 74 65 72 6e 3a 3d 28 28 6c 69 6e 65 70 61 74 74 65 72 6e 20 73 68 6c 20   ┆ linepattern:=((linepattern shl ┆
0x5f040…5f060            31 20 61 6e 64 20 32 35 35 29 20 6f 72 20 28 6c 69 6e 65 70 61 74 74 65 72 6e 20 73 68 72 20 37   ┆1 and 255) or (linepattern shr 7┆
0x5f060…5f080            29 29 3b 0d 0a 20 20 20 20 20 20 62 69 74 6e 72 3a 3d 30 3b 0d 0a 20 20 20 20 45 4e 44 3b 20 20   ┆));        bitnr:=0;      END;  ┆
0x5f080…5f0a0            0d 0a 45 4e 44 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 6c 67 5f 64 65 6c 74 61 3a 3d 78 78 32 2d 78   ┆  END;  BEGIN    lg_delta:=xx2-x┆
0x5f0a0…5f0c0            78 31 3b 20 73 68 5f 64 65 6c 74 61 3a 3d 79 79 32 2d 79 79 31 3b 0d 0a 20 20 49 46 20 6c 67 5f   ┆x1; sh_delta:=yy2-yy1;    IF lg_┆
0x5f0c0…5f0e0            64 65 6c 74 61 3c 30 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 6c 67 5f 64 65 6c 74 61   ┆delta<0 THEN BEGIN      lg_delta┆
0x5f0e0…5f100            3a 3d 2d 6c 67 5f 64 65 6c 74 61 3b 20 6c 67 5f 73 74 65 70 3a 3d 2d 31 0d 0a 20 20 45 4e 44 20   ┆:=-lg_delta; lg_step:=-1    END ┆
0x5f100…5f120            45 4c 53 45 20 6c 67 5f 73 74 65 70 3a 3d 31 3b 0d 0a 20 20 49 46 20 73 68 5f 64 65 6c 74 61 3c   ┆ELSE lg_step:=1;    IF sh_delta<┆
0x5f120…5f140            30 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 73 68 5f 64 65 6c 74 61 3a 3d 2d 73 68 5f   ┆0 THEN BEGIN      sh_delta:=-sh_┆
0x5f140…5f160            64 65 6c 74 61 3b 20 73 68 5f 73 74 65 70 3a 3d 2d 31 0d 0a 20 20 45 4e 44 20 45 4c 53 45 20 73   ┆delta; sh_step:=-1    END ELSE s┆
0x5f160…5f180            68 5f 73 74 65 70 3a 3d 31 3b 0d 0a 20 20 49 46 20 73 68 5f 64 65 6c 74 61 3c 6c 67 5f 64 65 6c   ┆h_step:=1;    IF sh_delta<lg_del┆
0x5f180…5f1a0            74 61 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 63 79 63 6c 65 3a 3d 6c 67 5f 64 65 6c   ┆ta THEN BEGIN      cycle:=lg_del┆
0x5f1a0…5f1c0            74 61 20 53 48 52 20 32 3b 0d 0a 20 20 20 20 49 66 20 63 79 63 6c 65 3d 30 20 74 68 65 6e 20 63   ┆ta SHR 2;      If cycle=0 then c┆
0x5f1c0…5f1e0            79 63 6c 65 3a 3d 31 3b 0d 0a 20 20 20 20 57 48 49 4c 45 20 78 78 31 3c 3e 78 78 32 20 44 4f 20   ┆ycle:=1;      WHILE xx1<>xx2 DO ┆
0x5f1e0…5f200            42 45 47 49 4e 0d 0a 20 20 20 20 20 20 53 63 72 65 65 6e 53 65 74 44 6f 74 28 78 78 31 2c 79 79   ┆BEGIN        ScreenSetDot(xx1,yy┆
0x5f200…5f220            31 29 3b 0d 0a 20 20 20 20 20 20 78 78 31 3a 3d 78 78 31 2b 6c 67 5f 73 74 65 70 3b 20 63 79 63   ┆1);        xx1:=xx1+lg_step; cyc┆
0x5f220…5f240            6c 65 3a 3d 63 79 63 6c 65 2b 73 68 5f 64 65 6c 74 61 3b 0d 0a 20 20 20 20 20 20 49 46 20 63 79   ┆le:=cycle+sh_delta;        IF cy┆
0x5f240…5f260            63 6c 65 3e 6c 67 5f 64 65 6c 74 61 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20   ┆cle>lg_delta THEN BEGIN         ┆
0x5f260…5f280            20 79 79 31 3a 3d 79 79 31 2b 73 68 5f 73 74 65 70 3b 20 63 79 63 6c 65 3a 3d 63 79 63 6c 65 2d   ┆ yy1:=yy1+sh_step; cycle:=cycle-┆
0x5f280…5f2a0            6c 67 5f 64 65 6c 74 61 3b 0d 0a 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d   ┆lg_delta;        END;      END; ┆
0x5f2a0…5f2c0            0a 20 20 20 20 53 63 72 65 65 6e 53 65 74 44 6f 74 28 78 78 31 2c 79 79 31 29 3b 0d 0a 20 20 45   ┆     ScreenSetDot(xx1,yy1);    E┆
0x5f2c0…5f2e0            4e 44 0d 0a 20 20 45 4c 53 45 20 42 45 47 49 4e 0d 0a 20 20 20 20 63 79 63 6c 65 3a 3d 73 68 5f   ┆ND    ELSE BEGIN      cycle:=sh_┆
0x5f2e0…5f300            64 65 6c 74 61 20 53 48 52 20 32 3b 0d 0a 20 20 20 20 49 66 20 63 79 63 6c 65 3d 30 20 74 68 65   ┆delta SHR 2;      If cycle=0 the┆
0x5f300…5f320            6e 20 63 79 63 6c 65 3a 3d 31 3b 0d 0a 20 20 20 20 73 77 61 70 28 6c 67 5f 64 65 6c 74 61 2c 73   ┆n cycle:=1;      swap(lg_delta,s┆
0x5f320…5f340            68 5f 64 65 6c 74 61 29 3b 0d 0a 20 20 20 20 73 77 61 70 28 6c 67 5f 73 74 65 70 2c 73 68 5f 73   ┆h_delta);      swap(lg_step,sh_s┆
0x5f340…5f360            74 65 70 29 3b 0d 0a 20 20 20 20 57 48 49 4c 45 20 79 79 31 3c 3e 79 79 32 20 44 4f 20 42 45 47   ┆tep);      WHILE yy1<>yy2 DO BEG┆
0x5f360…5f380            49 4e 0d 0a 20 20 20 20 20 20 53 63 72 65 65 6e 53 65 74 44 6f 74 28 78 78 31 2c 79 79 31 29 3b   ┆IN        ScreenSetDot(xx1,yy1);┆
0x5f380…5f3a0            0d 0a 20 20 20 20 20 20 79 79 31 3a 3d 79 79 31 2b 6c 67 5f 73 74 65 70 3b 20 63 79 63 6c 65 3a   ┆        yy1:=yy1+lg_step; cycle:┆
0x5f3a0…5f3c0            3d 63 79 63 6c 65 2b 73 68 5f 64 65 6c 74 61 3b 0d 0a 20 20 20 20 20 20 49 46 20 63 79 63 6c 65   ┆=cycle+sh_delta;        IF cycle┆
0x5f3c0…5f3e0            3e 6c 67 5f 64 65 6c 74 61 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 78 78   ┆>lg_delta THEN BEGIN          xx┆
0x5f3e0…5f400            31 3a 3d 78 78 31 2b 73 68 5f 73 74 65 70 3b 20 63 79 63 6c 65 3a 3d 63 79 63 6c 65 2d 6c 67 5f   ┆1:=xx1+sh_step; cycle:=cycle-lg_┆
0x5f400…5f420 (38, 0, 2) 64 65 6c 74 61 3b 0d 0a 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20   ┆delta;        END;      END;    ┆
0x5f420…5f440            20 20 53 63 72 65 65 6e 53 65 74 44 6f 74 28 78 78 31 2c 79 79 31 29 3b 0d 0a 20 20 45 4e 44 3b   ┆  ScreenSetDot(xx1,yy1);    END;┆
0x5f440…5f460            0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 63 72 5f 6f 70 65 72 61 74 69 6f   ┆  END;    PROCEDURE Scr_operatio┆
0x5f460…5f480            6e 28 6f 70 72 3a 20 6f 70 72 74 79 70 65 3b 78 31 2c 20 79 31 2c 20 78 32 2c 20 79 32 3a 20 49   ┆n(opr: oprtype;x1, y1, x2, y2: I┆
0x5f480…5f4a0            4e 54 45 47 45 52 3b 62 75 66 66 65 72 3a 20 62 75 66 74 79 70 65 29 3b 0d 0a 56 41 52 0d 0a 20   ┆NTEGER;buffer: buftype);  VAR   ┆
0x5f4a0…5f4c0            20 69 2c 78 2c 79 2c 79 79 2c 6b 31 2c 6b 32 2c 6c 2c 74 6f 74 61 6c 3a 20 49 4e 54 45 47 45 52   ┆ i,x,y,yy,k1,k2,l,total: INTEGER┆
0x5f4c0…5f4e0            3b 0d 0a 20 20 73 77 70 62 75 66 3a 20 61 72 72 61 79 28 2e 30 2e 2e 31 30 30 2e 29 20 6f 66 20   ┆;    swpbuf: array(.0..100.) of ┆
0x5f4e0…5f500            62 79 74 65 3b 0d 0a 20 20 62 75 66 70 3a 5e 69 6e 74 65 67 65 72 3b 0d 0a 42 45 47 49 4e 0d 0a   ┆byte;    bufp:^integer;  BEGIN  ┆
0x5f500…5f520            20 20 6b 31 3a 3d 6f 66 73 28 62 75 66 66 65 72 5e 29 3b 6b 32 3a 3d 73 65 67 28 62 75 66 66 65   ┆  k1:=ofs(buffer^);k2:=seg(buffe┆
0x5f520…5f540            72 5e 29 3b 20 6c 3a 3d 28 78 32 2d 78 31 2b 37 29 20 44 49 56 20 38 3b 62 75 66 70 3a 3d 61 64   ┆r^); l:=(x2-x1+7) DIV 8;bufp:=ad┆
0x5f540…5f560            64 72 28 73 77 70 62 75 66 29 3b 0d 0a 20 20 46 4f 52 20 79 3a 3d 79 31 20 54 4f 20 79 32 20 44   ┆dr(swpbuf);    FOR y:=y1 TO y2 D┆
0x5f560…5f580            4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 63 61 73 65 20 6f 70 72 20 6f 66 0d 0a 20 20 20 20 20 20   ┆O BEGIN      case opr of        ┆
0x5f580…5f5a0            6c 6f 61 64 3a 20 6d 6f 76 65 6d 65 6d 74 6f 53 63 72 5f 28 78 31 2c 79 2c 6c 2c 6b 32 2c 6b 31   ┆load: movememtoScr_(x1,y,l,k2,k1┆
0x5f5a0…5f5c0            29 3b 0d 0a 20 20 20 20 20 20 73 61 76 65 3a 20 6d 6f 76 65 53 63 72 5f 74 6f 6d 65 6d 28 78 31   ┆);        save: moveScr_tomem(x1┆
0x5f5c0…5f5e0            2c 79 2c 6c 2c 6b 32 2c 6b 31 29 3b 0d 0a 20 20 20 20 20 20 73 63 72 73 77 61 70 3a 0d 0a 20 20   ┆,y,l,k2,k1);        scrswap:    ┆
0x5f5e0…5f600            20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 65 73 63 72 5f 74 6f 6d 65 6d   ┆    BEGIN          movescr_tomem┆
0x5f600…5f620            28 78 31 2c 79 2c 6c 2c 73 65 67 28 73 77 70 62 75 66 29 2c 6f 66 73 28 73 77 70 62 75 66 29 29   ┆(x1,y,l,seg(swpbuf),ofs(swpbuf))┆
0x5f620…5f640            3b 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 65 6d 65 6d 74 6f 73 63 72 5f 28 78 31 2c 79 2c 6c 2c   ┆;          movememtoscr_(x1,y,l,┆
0x5f640…5f660            6b 32 2c 6b 31 29 3b 0d 0a 20 20 20 20 20 20 20 20 62 75 66 66 65 72 3a 3d 70 74 72 28 6b 32 2c   ┆k2,k1);          buffer:=ptr(k2,┆
0x5f660…5f680            6b 31 29 3b 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 65 28 73 77 70 62 75 66 2c 62 75 66 66 65 72   ┆k1);          move(swpbuf,buffer┆
0x5f680…5f6a0            5e 2c 6c 29 3b 0d 0a 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 20 20 6f 74 68 65 72 77 69   ┆^,l);        END;        otherwi┆
0x5f6a0…5f6c0            73 65 20 68 61 6c 74 3b 0d 0a 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 6b 31 3a 3d 6b 31 2b   ┆se halt;       END;      k1:=k1+┆
0x5f6c0…5f6e0            6c 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 57 6e   ┆l;    END;  END;    PROCEDURE Wn┆
0x5f6e0…5f700            64 5f 53 65 74 44 6f 74 28 78 2c 20 79 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d   ┆d_SetDot(x, y: INTEGER);  BEGIN ┆
0x5f700…5f720            0a 20 20 49 46 20 28 28 78 20 3e 3d 20 30 29 20 41 4e 44 20 28 78 20 3c 3d 20 57 6e 64 5f 2e 4d   ┆   IF ((x >= 0) AND (x <= Wnd_.M┆
0x5f720…5f740            61 78 58 29 29 20 41 4e 44 20 28 28 79 20 3e 3d 20 30 29 20 41 4e 44 20 28 79 20 3c 3d 20 57 6e   ┆axX)) AND ((y >= 0) AND (y <= Wn┆
0x5f740…5f760            64 5f 2e 4d 61 78 59 29 29 20 54 48 45 4e 0d 0a 20 20 20 20 53 63 72 5f 53 65 74 44 6f 74 28 78   ┆d_.MaxY)) THEN      Scr_SetDot(x┆
0x5f760…5f780            20 2b 20 57 6e 64 5f 2e 58 31 2c 20 79 20 2b 20 57 6e 64 5f 2e 59 31 29 0d 0a 45 4e 44 3b 0d 0a   ┆ + Wnd_.X1, y + Wnd_.Y1)  END;  ┆
0x5f780…5f7a0            0d 0a 46 55 4e 43 54 49 4f 4e 20 63 6f 6e 76 65 72 74 28 78 78 3a 52 45 41 4c 29 3a 49 4e 54 45   ┆  FUNCTION convert(xx:REAL):INTE┆
0x5f7a0…5f7c0            47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 49 46 20 78 78 3e 6d 61 78 69 6e 74 20 54 48 45 4e   ┆GER;  BEGIN    IF xx>maxint THEN┆
0x5f7c0…5f7e0            20 63 6f 6e 76 65 72 74 3a 3d 6d 61 78 69 6e 74 20 45 4c 53 45 20 49 46 20 78 78 3c 2d 6d 61 78   ┆ convert:=maxint ELSE IF xx<-max┆
0x5f7e0…5f800            69 6e 74 20 54 48 45 4e 0d 0a 20 20 63 6f 6e 76 65 72 74 3a 3d 2d 6d 61 78 69 6e 74 20 45 4c 53   ┆int THEN    convert:=-maxint ELS┆
0x5f800…5f820 (38, 0, 3) 45 20 63 6f 6e 76 65 72 74 3a 3d 74 72 75 6e 63 28 78 78 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46   ┆E convert:=trunc(xx);  END;    F┆
0x5f820…5f840            55 4e 43 54 49 4f 4e 20 5f 47 72 4f 75 74 63 6f 64 65 28 78 31 2c 20 79 31 2c 20 4d 61 78 58 2c   ┆UNCTION _GrOutcode(x1, y1, MaxX,┆
0x5f840…5f860            20 4d 61 78 59 3a 20 49 4e 54 45 47 45 52 29 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 56 41 52 20 61   ┆ MaxY: INTEGER): INTEGER;  VAR a┆
0x5f860…5f880            3a 20 42 59 54 45 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 61 3a 3d 30 3b 0d 0a 20 20 49 46 20 78 31   ┆: BYTE;  BEGIN    a:=0;    IF x1┆
0x5f880…5f8a0            3e 6d 61 78 78 20 54 48 45 4e 20 61 3a 3d 61 20 4f 52 20 24 30 34 3b 0d 0a 20 20 49 46 20 78 31   ┆>maxx THEN a:=a OR $04;    IF x1┆
0x5f8a0…5f8c0            3c 30 20 54 48 45 4e 20 61 3a 3d 61 20 4f 52 20 24 30 38 3b 0d 0a 20 20 49 46 20 79 31 3e 6d 61   ┆<0 THEN a:=a OR $08;    IF y1>ma┆
0x5f8c0…5f8e0            78 79 20 54 48 45 4e 20 61 3a 3d 61 20 4f 52 20 24 30 31 3b 0d 0a 20 20 49 46 20 79 31 3c 30 20   ┆xy THEN a:=a OR $01;    IF y1<0 ┆
0x5f8e0…5f900            54 48 45 4e 20 61 3a 3d 61 20 4f 52 20 24 30 32 3b 0d 0a 20 20 5f 47 72 4f 75 74 63 6f 64 65 3a   ┆THEN a:=a OR $02;    _GrOutcode:┆
0x5f900…5f920            3d 61 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 5f 57 6e 64 5f 43 6c 69 70 4c   ┆=a;  END;    FUNCTION _Wnd_ClipL┆
0x5f920…5f940            69 6e 65 28 56 41 52 20 78 31 2c 20 79 31 2c 20 78 32 2c 20 79 32 20 3a 20 49 4e 54 45 47 45 52   ┆ine(VAR x1, y1, x2, y2 : INTEGER┆
0x5f940…5f960            29 20 3a 20 42 4f 4f 4c 45 41 4e 3b 0d 0a 56 41 52 20 64 6f 6e 65 20 3a 20 42 4f 4f 4c 45 41 4e   ┆) : BOOLEAN;  VAR done : BOOLEAN┆
0x5f960…5f980            3b 0d 0a 20 20 6f 75 74 63 6f 64 65 31 2c 20 6f 75 74 63 6f 64 65 32 20 3a 20 49 4e 54 45 47 45   ┆;    outcode1, outcode2 : INTEGE┆
0x5f980…5f9a0            52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 64 6f 6e 65 20 20 3a 3d 20 46 41 4c 53 45 3b 0d 0a 20 20   ┆R;  BEGIN    done  := FALSE;    ┆
0x5f9a0…5f9c0            5f 57 6e 64 5f 43 6c 69 70 4c 69 6e 65 20 3a 3d 20 46 41 4c 53 45 3b 0d 0a 20 20 6f 75 74 63 6f   ┆_Wnd_ClipLine := FALSE;    outco┆
0x5f9c0…5f9e0            64 65 32 20 3a 3d 20 5f 47 72 4f 75 74 63 6f 64 65 28 78 32 2c 20 79 32 2c 20 57 6e 64 5f 2e 4d   ┆de2 := _GrOutcode(x2, y2, Wnd_.M┆
0x5f9e0…5fa00            61 78 58 2c 20 57 6e 64 5f 2e 4d 61 78 59 29 3b 0d 0a 20 20 52 45 50 45 41 54 0d 0a 20 20 20 20   ┆axX, Wnd_.MaxY);    REPEAT      ┆
0x5fa00…5fa20            6f 75 74 63 6f 64 65 31 20 3a 3d 20 5f 47 72 4f 75 74 63 6f 64 65 28 78 31 2c 20 79 31 2c 20 20   ┆outcode1 := _GrOutcode(x1, y1,  ┆
0x5fa20…5fa40            57 6e 64 5f 2e 4d 61 78 58 2c 20 57 6e 64 5f 2e 4d 61 78 59 29 3b 0d 0a 20 20 20 20 49 46 20 28   ┆Wnd_.MaxX, Wnd_.MaxY);      IF (┆
0x5fa40…5fa60            6f 75 74 63 6f 64 65 31 20 4f 52 20 6f 75 74 63 6f 64 65 32 29 20 3d 20 30 20 54 48 45 4e 20 42   ┆outcode1 OR outcode2) = 0 THEN B┆
0x5fa60…5fa80            45 47 49 4e 0d 0a 20 20 20 20 20 20 5f 57 6e 64 5f 43 6c 69 70 4c 69 6e 65 20 3a 3d 20 54 52 55   ┆EGIN        _Wnd_ClipLine := TRU┆
0x5fa80…5faa0            45 3b 0d 0a 20 20 20 20 20 20 64 6f 6e 65 20 3a 3d 20 54 52 55 45 20 45 4e 44 0d 0a 20 20 20 20   ┆E;        done := TRUE END      ┆
0x5faa0…5fac0            45 4c 53 45 20 49 46 20 28 6f 75 74 63 6f 64 65 31 20 41 4e 44 20 20 6f 75 74 63 6f 64 65 32 29   ┆ELSE IF (outcode1 AND  outcode2)┆
0x5fac0…5fae0            20 3c 3e 20 30 20 54 48 45 4e 0d 0a 20 20 20 20 20 20 20 42 45 47 49 4e 20 5f 57 6e 64 5f 43 6c   ┆ <> 0 THEN         BEGIN _Wnd_Cl┆
0x5fae0…5fb00            69 70 4c 69 6e 65 20 3a 3d 20 46 41 4c 53 45 3b 20 64 6f 6e 65 20 3a 3d 20 54 52 55 45 0d 0a 20   ┆ipLine := FALSE; done := TRUE   ┆
0x5fb00…5fb20            20 20 20 45 4e 44 20 45 4c 53 45 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 49 46 20 6f 75 74 63   ┆   END ELSE BEGIN        IF outc┆
0x5fb20…5fb40            6f 64 65 31 20 3d 20 30 20 54 48 45 4e 20 42 45 47 49 4e 20 53 77 61 70 28 6f 75 74 63 6f 64 65   ┆ode1 = 0 THEN BEGIN Swap(outcode┆
0x5fb40…5fb60            31 2c 6f 75 74 63 6f 64 65 32 29 3b 0d 0a 20 20 20 20 20 20 53 77 61 70 28 78 31 2c 20 78 32 29   ┆1,outcode2);        Swap(x1, x2)┆
0x5fb60…5fb80            3b 0d 0a 20 20 20 20 20 20 53 77 61 70 28 79 31 2c 20 79 32 29 0d 0a 20 20 20 20 20 20 45 4e 44   ┆;        Swap(y1, y2)        END┆
0x5fb80…5fba0            3b 0d 0a 20 20 20 20 20 20 49 46 20 28 6f 75 74 63 6f 64 65 31 20 20 41 4e 44 20 24 30 31 29 20   ┆;        IF (outcode1  AND $01) ┆
0x5fba0…5fbc0            3c 3e 20 30 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 78 31 20 3a 3d 20 78   ┆<> 0 THEN BEGIN          x1 := x┆
0x5fbc0…5fbe0            31 20 2b 20 63 6f 6e 76 65 72 74 28 28 78 32 20 2d 20 78 31 29 20 2a 20 28 28 57 6e 64 5f 2e 4d   ┆1 + convert((x2 - x1) * ((Wnd_.M┆
0x5fbe0…5fc00            61 78 59 20 2d 20 79 31 29 20 2f 20 28 79 32 20 20 2d 20 79 31 29 29 29 3b 0d 0a 20 20 20 20 20   ┆axY - y1) / (y2  - y1)));       ┆
0x5fc00…5fc20 (38, 0, 4) 20 20 20 79 31 20 3a 3d 20 57 6e 64 5f 2e 4d 61 78 59 0d 0a 20 20 20 20 20 20 45 4e 44 20 45 4c   ┆   y1 := Wnd_.MaxY        END EL┆
0x5fc20…5fc40            53 45 20 49 46 20 28 6f 75 74 63 6f 64 65 31 20 41 4e 44 20 24 30 32 29 20 3c 3e 20 30 20 54 48   ┆SE IF (outcode1 AND $02) <> 0 TH┆
0x5fc40…5fc60            45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 78 31 20 3a 3d 20 78 31 20 2b 20 63 6f 6e   ┆EN BEGIN          x1 := x1 + con┆
0x5fc60…5fc80            76 65 72 74 28 28 78 32 20 2d 20 78 31 29 20 2a 20 28 28 30 2e 30 2d 79 31 29 20 2f 20 28 79 32   ┆vert((x2 - x1) * ((0.0-y1) / (y2┆
0x5fc80…5fca0            20 2d 20 79 31 29 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 79 31 20 3a 3d 20 30 0d 0a 20 20 20 20   ┆ - y1)));          y1 := 0      ┆
0x5fca0…5fcc0            20 20 45 4e 44 20 45 4c 53 45 20 49 46 20 28 6f 75 74 63 6f 64 65 31 20 41 4e 44 20 24 30 34 29   ┆  END ELSE IF (outcode1 AND $04)┆
0x5fcc0…5fce0            20 3c 3e 20 30 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 79 31 20 3a 3d 20   ┆ <> 0 THEN BEGIN          y1 := ┆
0x5fce0…5fd00            79 31 20 2b 20 63 6f 6e 76 65 72 74 28 28 79 32 20 2d 20 79 31 29 20 2a 20 28 28 57 6e 64 5f 2e   ┆y1 + convert((y2 - y1) * ((Wnd_.┆
0x5fd00…5fd20            4d 61 78 58 20 2d 20 78 31 29 20 2f 20 28 78 32 20 2d 20 78 31 29 29 29 3b 0d 0a 20 20 20 20 20   ┆MaxX - x1) / (x2 - x1)));       ┆
0x5fd20…5fd40            20 20 20 78 31 20 3a 3d 20 57 6e 64 5f 2e 4d 61 78 58 0d 0a 20 20 20 20 20 20 45 4e 44 20 45 4c   ┆   x1 := Wnd_.MaxX        END EL┆
0x5fd40…5fd60            53 45 20 49 46 20 28 6f 75 74 63 6f 64 65 31 20 41 4e 44 20 24 30 38 29 20 3c 3e 20 30 20 54 48   ┆SE IF (outcode1 AND $08) <> 0 TH┆
0x5fd60…5fd80            45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 79 31 20 3a 3d 20 79 31 20 2b 20 63 6f 6e   ┆EN BEGIN          y1 := y1 + con┆
0x5fd80…5fda0            76 65 72 74 28 28 79 32 20 2d 20 79 31 29 20 2a 28 28 30 2e 30 2d 78 31 29 20 2f 20 28 78 32 20   ┆vert((y2 - y1) *((0.0-x1) / (x2 ┆
0x5fda0…5fdc0            2d 20 78 31 29 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 78 31 20 3a 3d 20 30 0d 0a 20 20 20 20 20   ┆- x1)));          x1 := 0       ┆
0x5fdc0…5fde0            20 45 4e 44 0d 0a 20 20 20 20 45 4e 44 0d 0a 20 20 55 4e 54 49 4c 20 64 6f 6e 65 0d 0a 45 4e 44   ┆ END      END    UNTIL done  END┆
0x5fde0…5fe00            3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 57 6e 64 5f 4c 69 6e 65 54 6f 28 78 31 2c 20 79 31   ┆;    PROCEDURE Wnd_LineTo(x1, y1┆
0x5fe00…5fe20            2c 20 78 32 2c 20 79 32 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 49 46   ┆, x2, y2: INTEGER);  BEGIN    IF┆
0x5fe20…5fe40            20 5f 57 6e 64 5f 43 6c 69 70 4c 69 6e 65 28 78 31 2c 20 79 31 2c 20 78 32 2c 20 79 32 29 20 54   ┆ _Wnd_ClipLine(x1, y1, x2, y2) T┆
0x5fe40…5fe60            48 45 4e 0d 0a 20 20 20 20 53 63 72 5f 4c 69 6e 65 54 6f 28 78 31 20 2b 20 57 6e 64 5f 2e 58 31   ┆HEN      Scr_LineTo(x1 + Wnd_.X1┆
0x5fe60…5fe80            2c 20 79 31 20 2b 20 57 6e 64 5f 2e 59 31 2c 20 78 32 20 2b 20 57 6e 64 5f 2e 58 31 2c 0d 0a 20   ┆, y1 + Wnd_.Y1, x2 + Wnd_.X1,   ┆
0x5fe80…5fea0            20 20 20 79 32 20 2b 20 57 6e 64 5f 2e 59 31 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45   ┆   y2 + Wnd_.Y1);  END;    PROCE┆
0x5fea0…5fec0            44 55 52 45 20 57 6e 64 5f 44 72 61 77 42 6f 78 28 78 31 2c 20 79 31 2c 20 78 32 2c 20 79 32 20   ┆DURE Wnd_DrawBox(x1, y1, x2, y2 ┆
0x5fec0…5fee0            3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 20 44 72 61 77 54 6f 70 2c 20 44 72 61 77 42 6f   ┆: INTEGER);  VAR DrawTop, DrawBo┆
0x5fee0…5ff00            74 2c 20 44 72 61 77 4c 65 66 74 2c 20 44 72 61 77 52 69 67 68 74 20 3a 20 42 4f 4f 4c 45 41 4e   ┆t, DrawLeft, DrawRight : BOOLEAN┆
0x5ff00…5ff20            3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 49 46 20 78 31 20 3e 20 78 32 20 54 48 45 4e 20 53 77 61 70   ┆;  BEGIN    IF x1 > x2 THEN Swap┆
0x5ff20…5ff40            28 78 31 2c 20 78 32 29 3b 0d 0a 20 20 49 46 20 79 31 20 3e 20 79 32 20 54 48 45 4e 20 53 77 61   ┆(x1, x2);    IF y1 > y2 THEN Swa┆
0x5ff40…5ff60            70 28 79 31 2c 20 79 32 29 3b 0d 0a 0d 0a 20 20 49 46 20 78 31 20 3e 20 57 6e 64 5f 2e 4d 61 78   ┆p(y1, y2);      IF x1 > Wnd_.Max┆
0x5ff60…5ff80            58 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20 49 46 20 79 31 20 3e 20 57 6e 64 5f 2e 4d 61 78   ┆X THEN exit;    IF y1 > Wnd_.Max┆
0x5ff80…5ffa0            59 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20 49 46 20 78 32 20 3c 20 30 20 54 48 45 4e 20 65   ┆Y THEN exit;    IF x2 < 0 THEN e┆
0x5ffa0…5ffc0            78 69 74 3b 0d 0a 20 20 49 46 20 79 32 20 3c 20 30 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 0d 0a   ┆xit;    IF y2 < 0 THEN exit;    ┆
0x5ffc0…5ffe0            20 20 44 72 61 77 54 6f 70 20 3a 3d 20 54 52 55 45 3b 0d 0a 20 20 44 72 61 77 42 6f 74 20 3a 3d   ┆  DrawTop := TRUE;    DrawBot :=┆
0x5ffe0…60000            20 54 52 55 45 3b 0d 0a 20 20 44 72 61 77 4c 65 66 74 20 3a 3d 20 54 52 55 45 3b 0d 0a 20 20 44   ┆ TRUE;    DrawLeft := TRUE;    D┆
0x60000…60020 (38, 0, 5) 72 61 77 52 69 67 68 74 20 3a 3d 20 54 52 55 45 3b 0d 0a 0d 0a 20 20 49 46 20 78 31 20 3c 20 30   ┆rawRight := TRUE;      IF x1 < 0┆
0x60020…60040            20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 78 31 20 3a 3d 20 30 3b 0d 0a 20 20 20 20 44   ┆ THEN BEGIN      x1 := 0;      D┆
0x60040…60060            72 61 77 4c 65 66 74 20 3a 3d 20 46 41 4c 53 45 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 49 46 20 79   ┆rawLeft := FALSE    END;    IF y┆
0x60060…60080            31 20 3c 20 30 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 79 31 20 3a 3d 20 30 3b 0d 0a   ┆1 < 0 THEN BEGIN      y1 := 0;  ┆
0x60080…600a0            20 20 20 20 44 72 61 77 54 6f 70 20 3a 3d 20 46 41 4c 53 45 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20   ┆    DrawTop := FALSE    END;    ┆
0x600a0…600c0            49 46 20 78 32 20 3e 20 57 6e 64 5f 2e 4d 61 78 58 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20   ┆IF x2 > Wnd_.MaxX THEN BEGIN    ┆
0x600c0…600e0            20 20 78 32 20 3a 3d 20 57 6e 64 5f 2e 4d 61 78 58 3b 0d 0a 20 20 20 20 44 72 61 77 52 69 67 68   ┆  x2 := Wnd_.MaxX;      DrawRigh┆
0x600e0…60100            74 20 3a 3d 20 46 41 4c 53 45 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 49 46 20 79 32 20 3e 20 57 6e   ┆t := FALSE    END;    IF y2 > Wn┆
0x60100…60120            64 5f 2e 4d 61 78 59 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 79 32 20 3a 3d 20 57 6e   ┆d_.MaxY THEN BEGIN      y2 := Wn┆
0x60120…60140            64 5f 2e 4d 61 78 59 3b 0d 0a 20 20 20 20 44 72 61 77 42 6f 74 20 3a 3d 20 46 41 4c 53 45 0d 0a   ┆d_.MaxY;      DrawBot := FALSE  ┆
0x60140…60160            20 20 45 4e 44 3b 0d 0a 0d 0a 20 20 78 31 20 3a 3d 20 78 31 20 2b 20 57 6e 64 5f 2e 58 31 3b 0d   ┆  END;      x1 := x1 + Wnd_.X1; ┆
0x60160…60180            0a 20 20 78 32 20 3a 3d 20 78 32 20 2b 20 57 6e 64 5f 2e 58 31 3b 0d 0a 20 20 79 31 20 3a 3d 20   ┆   x2 := x2 + Wnd_.X1;    y1 := ┆
0x60180…601a0            28 79 31 20 2b 20 57 6e 64 5f 2e 59 31 29 3b 0d 0a 20 20 79 32 20 3a 3d 20 28 79 32 20 2b 20 57   ┆(y1 + Wnd_.Y1);    y2 := (y2 + W┆
0x601a0…601c0            6e 64 5f 2e 59 31 29 3b 0d 0a 0d 0a 20 20 49 46 20 44 72 61 77 54 6f 70 20 54 48 45 4e 20 53 63   ┆nd_.Y1);      IF DrawTop THEN Sc┆
0x601c0…601e0            72 5f 4c 69 6e 65 54 6f 28 78 31 2c 20 79 31 2c 20 78 32 2c 20 79 31 29 3b 0d 0a 20 20 49 46 20   ┆r_LineTo(x1, y1, x2, y1);    IF ┆
0x601e0…60200            44 72 61 77 52 69 67 68 74 20 54 48 45 4e 20 53 63 72 5f 4c 69 6e 65 54 6f 28 78 32 2c 20 79 31   ┆DrawRight THEN Scr_LineTo(x2, y1┆
0x60200…60220            2c 20 78 32 2c 20 79 32 29 3b 0d 0a 20 20 49 46 20 44 72 61 77 42 6f 74 20 54 48 45 4e 20 53 63   ┆, x2, y2);    IF DrawBot THEN Sc┆
0x60220…60240            72 5f 4c 69 6e 65 54 6f 28 78 32 2c 20 79 32 2c 20 78 31 2c 20 79 32 29 3b 0d 0a 20 20 49 46 20   ┆r_LineTo(x2, y2, x1, y2);    IF ┆
0x60240…60260            44 72 61 77 4c 65 66 74 20 54 48 45 4e 20 53 63 72 5f 4c 69 6e 65 54 6f 28 78 31 2c 20 79 32 2c   ┆DrawLeft THEN Scr_LineTo(x1, y2,┆
0x60260…60280            20 78 31 2c 20 79 31 29 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 57 6e 64 5f   ┆ x1, y1)  END;    PROCEDURE Wnd_┆
0x60280…602a0            44 72 61 77 43 68 61 72 28 78 2c 20 79 20 3a 20 49 4e 54 45 47 45 52 3b 20 63 20 3a 20 43 48 41   ┆DrawChar(x, y : INTEGER; c : CHA┆
0x602a0…602c0            52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 49 46 20 78 20 3c 20 30 20 54 48 45 4e 20 65 78 69 74   ┆R);  BEGIN    IF x < 0 THEN exit┆
0x602c0…602e0            3b 0d 0a 20 20 49 46 20 28 78 2b 37 29 20 3e 20 57 6e 64 5f 2e 4d 61 78 58 20 54 48 45 4e 20 65   ┆;    IF (x+7) > Wnd_.MaxX THEN e┆
0x602e0…60300            78 69 74 3b 0d 0a 20 20 20 49 46 20 79 20 3c 20 30 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20   ┆xit;     IF y < 0 THEN exit;    ┆
0x60300…60320            20 49 46 20 28 79 2b 37 29 20 3e 20 57 6e 64 5f 2e 4d 61 78 59 20 54 48 45 4e 20 65 78 69 74 3b   ┆ IF (y+7) > Wnd_.MaxY THEN exit;┆
0x60320…60340            0d 0a 20 20 53 63 72 5f 44 72 61 77 43 68 61 72 28 28 78 20 2b 20 57 6e 64 5f 2e 58 31 20 2b 20   ┆    Scr_DrawChar((x + Wnd_.X1 + ┆
0x60340…60360            37 29 20 41 4e 44 20 24 46 46 46 38 2c 20 28 79 20 2b 20 57 6e 64 5f 2e 59 31 29 2c 20 63 29 0d   ┆7) AND $FFF8, (y + Wnd_.Y1), c) ┆
0x60360…60380            0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 57 6e 64 5f 44 72 61 77 54 65 78 74 28   ┆ END;    PROCEDURE Wnd_DrawText(┆
0x60380…603a0            78 2c 20 79 20 3a 20 49 4e 54 45 47 45 52 3b 20 74 20 3a 73 74 72 38 30 20 29 3b 0d 0a 56 41 52   ┆x, y : INTEGER; t :str80 );  VAR┆
0x603a0…603c0            20 69 20 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 46 4f 52 20 69 20 3a 3d   ┆ i : INTEGER;  BEGIN    FOR i :=┆
0x603c0…603e0            20 31 20 54 4f 20 6c 65 6e 28 74 29 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 57 6e 64 5f 44   ┆ 1 TO len(t) DO BEGIN      Wnd_D┆
0x603e0…60400            72 61 77 43 68 61 72 28 78 2c 20 79 2c 20 74 5b 69 5d 29 3b 0d 0a 20 20 20 20 78 20 3a 3d 20 78   ┆rawChar(x, y, tÆiÅ);      x := x┆
0x60400…60420 (38, 1, 1) 20 2b 20 38 0d 0a 20 20 45 4e 44 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 69 73   ┆ + 8    END  END;    FUNCTION is┆
0x60420…60440            71 72 74 28 61 72 67 3a 20 49 4e 54 45 47 45 52 29 3a 49 4e 54 45 47 45 52 3b 0d 0a 56 41 52 0d   ┆qrt(arg: INTEGER):INTEGER;  VAR ┆
0x60440…60460            0a 20 20 6f 64 64 5f 69 6e 74 2c 20 6f 6c 64 5f 61 72 67 2c 20 66 69 72 73 74 5f 73 71 72 74 3a   ┆   odd_int, old_arg, first_sqrt:┆
0x60460…60480            20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 6f 64 64 5f 69 6e 74 3a 3d 31 3b 20   ┆ INTEGER;  BEGIN    odd_int:=1; ┆
0x60480…604a0            6f 6c 64 5f 61 72 67 3a 3d 61 72 67 3b 0d 0a 20 20 57 48 49 4c 45 20 61 72 67 3e 3d 30 20 44 4f   ┆old_arg:=arg;    WHILE arg>=0 DO┆
0x604a0…604c0            20 42 45 47 49 4e 0d 0a 20 20 20 20 61 72 67 3a 3d 61 72 67 2d 6f 64 64 5f 69 6e 74 3b 0d 0a 20   ┆ BEGIN      arg:=arg-odd_int;   ┆
0x604c0…604e0            20 20 20 6f 64 64 5f 69 6e 74 3a 3d 6f 64 64 5f 69 6e 74 2b 32 3b 0d 0a 20 20 45 4e 44 3b 0d 0a   ┆   odd_int:=odd_int+2;    END;  ┆
0x604e0…60500            20 20 66 69 72 73 74 5f 73 71 72 74 3a 3d 6f 64 64 5f 69 6e 74 20 53 48 52 20 31 3b 0d 0a 20 20   ┆  first_sqrt:=odd_int SHR 1;    ┆
0x60500…60520            49 46 20 73 71 72 28 66 69 72 73 74 5f 73 71 72 74 29 2d 66 69 72 73 74 5f 73 71 72 74 2b 31 3e   ┆IF sqr(first_sqrt)-first_sqrt+1>┆
0x60520…60540            6f 6c 64 5f 61 72 67 20 54 48 45 4e 0d 0a 20 20 20 20 69 73 71 72 74 3a 3d 66 69 72 73 74 5f 73   ┆old_arg THEN      isqrt:=first_s┆
0x60540…60560            71 72 74 2d 31 20 45 4c 53 45 20 69 73 71 72 74 3a 3d 66 69 72 73 74 5f 73 71 72 74 3b 0d 0a 45   ┆qrt-1 ELSE isqrt:=first_sqrt;  E┆
0x60560…60580            4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 57 6e 64 5f 43 69 72 63 6c 65 28 63 78 2c 20   ┆ND;    PROCEDURE Wnd_Circle(cx, ┆
0x60580…605a0            63 79 2c 20 72 61 64 69 75 73 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 0d 0a 20 20 61 2c   ┆cy, radius: INTEGER);  VAR    a,┆
0x605a0…605c0            20 61 66 2c 20 62 2c 20 62 66 2c 20 74 61 72 67 65 74 2c 20 72 32 3a 20 49 4e 54 45 47 45 52 3b   ┆ af, b, bf, target, r2: INTEGER;┆
0x605c0…605e0            0d 0a 42 45 47 49 4e 0d 0a 20 20 74 61 72 67 65 74 3a 3d 30 3b 20 61 3a 3d 20 72 61 64 69 75 73   ┆  BEGIN    target:=0; a:= radius┆
0x605e0…60600            3b 20 62 3a 3d 30 3b 20 72 32 3a 3d 73 71 72 28 72 61 64 69 75 73 29 3b 0d 0a 20 20 57 48 49 4c   ┆; b:=0; r2:=sqr(radius);    WHIL┆
0x60600…60620            45 20 61 3e 3d 62 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 62 3a 3d 69 73 71 72 74 28 72 32   ┆E a>=b DO BEGIN      b:=isqrt(r2┆
0x60620…60640            20 2d 20 73 71 72 28 61 29 29 3b 0d 0a 20 20 20 20 73 77 61 70 28 74 61 72 67 65 74 2c 20 62 29   ┆ - sqr(a));      swap(target, b)┆
0x60640…60660            3b 0d 0a 20 20 20 20 57 48 49 4c 45 20 62 3c 74 61 72 67 65 74 20 44 4f 20 42 45 47 49 4e 0d 0a   ┆;      WHILE b<target DO BEGIN  ┆
0x60660…60680            20 20 20 20 20 20 61 66 3a 3d 53 63 72 5f 61 73 70 65 63 74 2a 61 20 44 49 56 20 31 30 30 3b 20   ┆      af:=Scr_aspect*a DIV 100; ┆
0x60680…606a0            62 66 3a 3d 53 63 72 5f 61 73 70 65 63 74 2a 62 20 44 49 56 20 31 30 30 3b 0d 0a 20 20 20 20 20   ┆bf:=Scr_aspect*b DIV 100;       ┆
0x606a0…606c0            20 57 6e 64 5f 53 65 74 44 6f 74 28 63 78 2b 61 66 2c 63 79 2b 62 29 3b 20 57 6e 64 5f 53 65 74   ┆ Wnd_SetDot(cx+af,cy+b); Wnd_Set┆
0x606c0…606e0            44 6f 74 28 63 78 2b 62 66 2c 63 79 2b 61 29 3b 0d 0a 20 20 20 20 20 20 57 6e 64 5f 53 65 74 44   ┆Dot(cx+bf,cy+a);        Wnd_SetD┆
0x606e0…60700            6f 74 28 63 78 2d 61 66 2c 63 79 2b 62 29 3b 20 57 6e 64 5f 53 65 74 44 6f 74 28 63 78 2d 62 66   ┆ot(cx-af,cy+b); Wnd_SetDot(cx-bf┆
0x60700…60720            2c 63 79 2b 61 29 3b 0d 0a 20 20 20 20 20 20 57 6e 64 5f 53 65 74 44 6f 74 28 63 78 2d 61 66 2c   ┆,cy+a);        Wnd_SetDot(cx-af,┆
0x60720…60740            63 79 2d 62 29 3b 20 57 6e 64 5f 53 65 74 44 6f 74 28 63 78 2d 62 66 2c 63 79 2d 61 29 3b 0d 0a   ┆cy-b); Wnd_SetDot(cx-bf,cy-a);  ┆
0x60740…60760            20 20 20 20 20 20 57 6e 64 5f 53 65 74 44 6f 74 28 63 78 2b 61 66 2c 63 79 2d 62 29 3b 20 57 6e   ┆      Wnd_SetDot(cx+af,cy-b); Wn┆
0x60760…60780            64 5f 53 65 74 44 6f 74 28 63 78 2b 62 66 2c 63 79 2d 61 29 3b 0d 0a 20 20 20 20 20 20 62 3a 3d   ┆d_SetDot(cx+bf,cy-a);        b:=┆
0x60780…607a0            62 2b 31 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 61 3a 3d 61 2d 31 3b 0d 0a 20 20 45   ┆b+1;      END;      a:=a-1;    E┆
0x607a0…607c0            4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 5f 57 6c 64 5f 54 6f 57 69 6e   ┆ND;  END;    FUNCTION _Wld_ToWin┆
0x607c0…607e0            64 6f 77 58 28 78 20 3a 20 52 45 41 4c 29 20 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e   ┆dowX(x : REAL) : INTEGER;  BEGIN┆
0x607e0…60800            0d 0a 20 20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 20 3a 3d 20 63 6f 6e 76 65 72 74 28 28 28   ┆    _Wld_ToWindowX := convert(((┆
0x60800…60820 (38, 1, 2) 02 04 00 00 00 00 7f 00 45 4d 50 3a 4e 4d 42 52 00 00 00 4e 03 b9 70 00 4c 41 53 54 00 00 00 00   ┆        EMP:NMBR   N  p LAST    ┆
0x60820…60840            00 00 00 43 0a bc 70 00 46 49 52 53 54 00 00 00 00 00 00 43 0a c6 70 00 41 44 44 52 00 00 00 00   ┆   C  p FIRST      C  p ADDR    ┆
0x60840…60860            00 00 00 43 14 d0 70 00 43 49 54 59 00 00 00 00 00 00 00 43 0f e4 70 00 5a 49 50 3a 43 4f 44 45   ┆   C  p CITY       C  p ZIP:CODE┆
0x60860…60880            00 00 00 43 0a f3 70 00 50 48 4f 4e 45 00 00 00 00 00 00 43 09 fd 70 00 53 53 4e 00 00 00 00 00   ┆   C  p PHONE      C  p SSN     ┆
0x60880…608a0            00 00 00 43 0b 06 71 00 48 49 52 45 44 41 54 45 00 00 00 43 08 11 71 00 54 45 52 4d 44 41 54 45   ┆   C  q HIREDATE   C  q TERMDATE┆
0x608a0…608c0            00 00 00 43 08 19 71 00 43 4c 41 53 53 00 00 00 00 00 00 43 03 21 71 00 44 45 50 54 00 00 00 00   ┆   C  q CLASS      C !q DEPT    ┆
0x608c0…608e0            00 00 00 43 03 24 71 00 50 41 59 52 41 54 45 00 00 00 00 4e 08 27 71 03 53 54 41 52 54 3a 50 41   ┆   C $q PAYRATE    N 'q START:PA┆
0x608e0…60900            59 00 00 4e 08 2f 71 03 0d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆Y  N /q                         ┆
0x60900…60920            00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
         […0x7…]
0x60a00…60a20            00 00 00 00 00 00 00 00 00 20 20 20 36 44 6f 6e 73 20 20 20 20 20 20 4a 61 6e 20 20 20 20 20 20   ┆            6Dons      Jan      ┆
0x60a20…60a40            20 6f 74 69 63 6f 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 70 68 20 20 20 20 20 20 20 20   ┆ oticon              cph        ┆
0x60a40…60a60            20 20 20 20 32 31 30 30 20 2d 20 20 20 20 32 32 36 2d 35 39 34 34 20 34 30 33 2d 36 35 2d 35 39   ┆    2100 -    226-5944 403-65-59┆
0x60a60…60a80            35 33 31 31 2f 31 31 2f 38 33 30 34 2f 30 32 2f 38 34 31 32 32 32 32 33 32 30 30 30 2e 30 30 30   ┆5311/11/8304/02/841222232000.000┆
0x60a80…60aa0            32 30 30 30 2e 30 30 30 20 20 20 37 4f 6c 73 65 6e 20 20 20 20 20 55 6c 6c 61 20 20 20 20 20 20   ┆2000.000   7Olsen     Ulla      ┆
0x60aa0…60ac0            42 69 73 70 65 76 61 6e 67 65 6e 20 36 2c 31 33 2c 74 68 20 42 61 6c 6c 65 72 75 70 20 20 20 20   ┆Bispevangen 6,13,th Ballerup    ┆
0x60ac0…60ae0            20 20 20 32 37 35 30 20 2d 20 20 20 20 36 35 35 2d 39 37 36 20 20 30 31 30 2d 38 36 2d 30 30 37   ┆   2750 -    655-976  010-86-007┆
0x60ae0…60b00            38 30 38 2f 30 31 2f 38 34 30 34 2f 30 32 2f 38 34 31 32 35 31 30 30 38 32 30 30 2e 30 30 30 38   ┆808/01/8404/02/841251008200.0008┆
0x60b00…60b20            32 30 30 2e 30 30 30 20 20 20 38 4c 69 6e 6e 65 6d 61 6e 6e 20 41 6e 65 74 74 65 20 20 20 20 5c   ┆200.000   8Linnemann Anette    Ø┆
0x60b20…60b40            73 74 62 61 6e 65 67 61 64 65 20 39 2c 35 2c 38 20 20 20 6b 7c 62 65 6e 68 61 76 6e 20 5c 20 20   ┆stbanegade 9,5,8   københavn Ø  ┆
0x60b40…60b60            20 20 32 31 30 30 20 2d 20 20 20 20 20 20 20 2d 20 20 20 20 20 20 20 20 2d 20 20 2d 20 20 20 20   ┆  2100 -       -        -  -    ┆
0x60b60…60b80            31 32 2f 30 31 2f 38 34 20 20 2f 20 20 2f 20 20 36 36 20 31 30 30 39 30 30 30 2e 30 30 30 39 30   ┆12/01/84  /  /  66 1009000.00090┆
0x60b80…60ba0            30 30 2e 30 30 30 20 20 20 39 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆00.000   9                      ┆
0x60ba0…60bc0            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x60bc0…60be0            20 20 20 20 20 20 2d 20 20 20 20 20 20 20 2d 20 20 20 20 20 20 20 20 2d 20 20 2d 20 20 20 20 31   ┆      -       -        -  -    1┆
0x60be0…60c00            30 2f 31 30 2f 38 34 30 34 2f 30 32 2f 38 34 20 20 20 20 20 20 20 20 20 30 2e 30 30 30 20 20 20   ┆0/10/8404/02/84         0.000   ┆
0x60c00…60c20 (38, 1, 3) 30 2e 30 30 30 1a 32 34 2f 38 33 20 20 66 6f 72 20 41 73 68 74 6f 6e 2d 54 61 74 65 20 20 20 20   ┆0.000 24/83  for Ashton-Tate    ┆
0x60c20…60c40            62 79 20 6a 6f 65 20 73 74 65 67 6d 61 6e 0d 0a 2a 20 20 20 20 44 65 6d 6f 6e 73 74 72 61 74 69   ┆by joe stegman  *    Demonstrati┆
0x60c40…60c60            6f 6e 20 70 72 6f 67 72 61 6d 20 45 4d 50 4c 4f 59 45 45 20 41 44 44 2e 20 20 45 4d 50 2d 45 4e   ┆on program EMPLOYEE ADD.  EMP-EN┆
0x60c60…60c80            54 52 2e 43 4d 44 0d 0a 2a 0d 0a 2a 20 20 45 6d 70 6c 6f 79 65 65 20 65 6e 74 72 79 20 72 6f 75   ┆TR.CMD  *  *  Employee entry rou┆
0x60c80…60ca0            74 69 6e 65 2e 2e 2e 20 20 75 73 65 20 74 68 65 20 65 6d 70 73 63 72 6e 20 66 6f 72 6d 61 74 20   ┆tine...  use the empscrn format ┆
0x60ca0…60cc0            73 63 72 65 65 6e 20 61 73 20 74 68 65 20 65 6e 74 72 79 20 66 6f 72 6d 61 74 0d 0a 2a 0d 0a 2a   ┆screen as the entry format  *  *┆
0x60cc0…60ce0            20 20 20 74 68 65 20 65 6d 70 6c 6f 79 65 65 20 66 69 6c 65 20 73 68 6f 75 6c 64 20 61 73 6c 6f   ┆   the employee file should aslo┆
0x60ce0…60d00            20 62 65 20 69 6e 64 65 78 65 64 20 6f 6e 20 74 68 65 20 64 65 70 74 2b 63 6c 61 73 73 2b 65 6d   ┆ be indexed on the dept+class+em┆
0x60d00…60d20            70 6c 6f 79 65 65 20 6e 61 6d 65 0d 0a 2a 20 20 20 74 68 69 73 20 77 69 6c 6c 20 61 6c 6c 6f 77   ┆ployee name  *   this will allow┆
0x60d20…60d40            20 74 68 65 20 65 6d 70 6c 6f 79 65 65 20 64 61 74 61 20 74 6f 20 62 65 20 72 65 70 6f 72 74 65   ┆ the employee data to be reporte┆
0x60d40…60d60            64 20 69 6e 20 74 68 61 74 20 6f 72 64 65 72 0d 0a 2a 0d 0a 2a 20 20 20 74 68 69 73 20 73 61 6d   ┆d in that order  *  *   this sam┆
0x60d60…60d80            70 6c 65 20 70 72 6f 67 72 61 6d 20 75 73 65 73 20 61 20 66 6f 72 6d 61 74 20 73 63 72 65 65 6e   ┆ple program uses a format screen┆
0x60d80…60da0            20 69 6e 20 63 6f 6e 6a 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 65 64 69 74 0d 0a 2a   ┆ in conjunction with the edit  *┆
0x60da0…60dc0            20 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 65 6e 74 65 72 69 6e 67 20 74 68 65 20 65 6d 70 6c 6f   ┆  command for entering the emplo┆
0x60dc0…60de0            79 65 65 20 64 61 74 61 2e 0d 0a 2a 0d 0a 2a 20 20 4c 6f 63 61 6c 20 6d 65 6d 6f 72 79 20 76 61   ┆yee data.  *  *  Local memory va┆
0x60de0…60e00            72 69 61 62 6c 65 73 20 66 6f 72 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 73 74 61 72 74 20 77   ┆riables for the function start w┆
0x60e00…60e20            47 49 4e 0d 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 73 63 72 5f 73 77 61 70 5f 20 3d 73 63 72   ┆GIN            if scr_swap_ =scr┆
0x60e20…60e40            73 77 61 70 20 74 68 65 6e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 3a   ┆swap then BEGIN              bo:┆
0x60e40…60e60            3d 74 78 74 5f 6c 69 6e 65 70 74 72 28 2e 69 2e 29 5e 28 2e 6a 2e 29 2e 62 6f 74 68 3b 0d 0a 20   ┆=txt_lineptr(.i.)^(.j.).both;   ┆
0x60e60…60e80            20 20 20 20 20 20 20 20 20 20 20 74 78 74 5f 6c 69 6e 65 70 74 72 28 2e 69 2e 29 5e 28 2e 6a 2e   ┆           txt_lineptr(.i.)^(.j.┆
0x60e80…60ea0            29 2e 62 6f 74 68 3a 3d 6d 65 6d 77 28 2e 61 64 72 73 65 67 3a 61 64 72 6f 66 73 2e 29 3b 0d 0a   ┆).both:=memw(.adrseg:adrofs.);  ┆
0x60ea0…60ec0            20 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d 77 28 2e 61 64 72 73 65 67 3a 61 64 72 6f 66 73 2e   ┆            memw(.adrseg:adrofs.┆
0x60ec0…60ee0            29 3a 3d 62 6f 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 45 4e 44 20 45 4c 53 45 0d 0a 20 20 20 20   ┆):=bo;            END ELSE      ┆
0x60ee0…60f00            20 20 20 20 20 20 20 20 74 78 74 5f 6c 69 6e 65 70 74 72 28 2e 69 2e 29 5e 28 2e 6a 2e 29 2e 62   ┆        txt_lineptr(.i.)^(.j.).b┆
0x60f00…60f20            6f 74 68 3a 3d 6d 65 6d 77 28 2e 61 64 72 73 65 67 3a 61 64 72 6f 66 73 2e 29 3b 0d 0a 20 20 20   ┆oth:=memw(.adrseg:adrofs.);     ┆
0x60f20…60f40            20 20 20 20 20 20 20 61 64 72 6f 66 73 3a 3d 61 64 72 6f 66 73 2b 32 3b 0d 0a 20 20 20 20 20 20   ┆       adrofs:=adrofs+2;        ┆
0x60f40…60f60            20 20 45 4e 44 3b 0d 0a 20 20 20 20 45 4e 44 0d 0a 20 20 20 20 45 4c 53 45 20 42 45 47 49 4e 0d   ┆  END;      END      ELSE BEGIN ┆
0x60f60…60f80            0a 20 20 20 20 20 20 20 53 63 72 5f 6f 70 65 72 61 74 69 6f 6e 28 73 63 72 5f 73 77 61 70 5f 2c   ┆        Scr_operation(scr_swap_,┆
0x60f80…60fa0            78 31 2c 20 79 31 2c 20 6d 61 78 78 2b 78 31 2c 20 6d 61 78 79 2b 79 31 2c 63 6f 6e 74 65 6e 74   ┆x1, y1, maxx+x1, maxy+y1,content┆
0x60fa0…60fc0            29 3b 0d 0a 20 20 20 20 20 20 20 57 6c 64 5f 2e 78 6f 6c 64 3a 3d 6f 6c 64 31 3b 20 57 6c 64 5f   ┆);         Wld_.xold:=old1; Wld_┆
0x60fc0…60fe0            2e 79 6f 6c 64 3a 3d 6f 6c 64 32 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 49 46 20 6e   ┆.yold:=old2;      END;      IF n┆
0x60fe0…61000            6f 3c 30 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 72 65 6c 65 61 73 65 28 63 6f   ┆o<0 THEN BEGIN        release(co┆
0x61000…61020 (38, 1, 4) 6e 74 65 6e 74 29 3b 63 6f 6e 74 65 6e 74 3a 3d 4e 49 4c 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20   ┆ntent);content:=NIL      END;   ┆
0x61020…61040            20 20 20 57 6e 64 5f 3a 3d 77 69 6e 64 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 57 49 54 48 20 57   ┆   Wnd_:=wind;    END;    WITH W┆
0x61040…61060            6e 64 5f 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 78 31 3a 3d 78 31 2b 78 3b 0d 0a 20 20 20   ┆nd_ DO BEGIN      x1:=x1+x;     ┆
0x61060…61080            20 79 31 3a 3d 79 31 2b 79 3b 0d 0a 20 20 20 20 74 78 74 78 31 3a 3d 74 78 74 78 31 2b 78 3b 0d   ┆ y1:=y1+y;      txtx1:=txtx1+x; ┆
0x61080…610a0            0a 20 20 20 20 74 78 74 79 31 3a 3d 74 78 74 79 31 2b 79 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 28 2a   ┆     txty1:=txty1+y;    END;  (*┆
0x610a0…610c0            20 20 73 61 76 65 5f 61 72 72 28 2e 6e 6f 32 2e 29 2e 77 69 6e 64 3a 3d 57 6e 64 5f 3b 2a 29 0d   ┆  save_arr(.no2.).wind:=Wnd_;*) ┆
0x610c0…610e0            0a 20 20 57 6e 64 5f 61 63 74 75 61 6c 3a 3d 6e 6f 32 3b 0d 0a 20 20 73 63 72 5f 73 77 61 70 5f   ┆   Wnd_actual:=no2;    scr_swap_┆
0x610e0…61100            3a 3d 6c 6f 61 64 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 77 61 70 57 69   ┆:=load  END;    PROCEDURE SwapWi┆
0x61100…61120            6e 64 6f 77 28 6e 6f 2c 78 2c 79 3a 69 6e 74 65 67 65 72 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20   ┆ndow(no,x,y:integer);  BEGIN    ┆
0x61120…61140            73 63 72 5f 73 77 61 70 5f 3a 3d 73 63 72 73 77 61 70 3b 0d 0a 20 20 6c 6f 61 64 57 69 6e 64 6f   ┆scr_swap_:=scrswap;    loadWindo┆
0x61140…61160            77 28 6e 6f 2c 78 2c 79 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 57 6c   ┆w(no,x,y);  END;    PROCEDURE Wl┆
0x61160…61180            64 52 61 6e 67 65 28 6e 6f 3a 20 49 4e 54 45 47 45 52 3b 20 78 78 31 2c 20 78 78 32 2c 20 79 79   ┆dRange(no: INTEGER; xx1, xx2, yy┆
0x61180…611a0            31 2c 20 79 79 32 20 3a 20 52 45 41 4c 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 49 54 48 20 57   ┆1, yy2 : REAL);  BEGIN    WITH W┆
0x611a0…611c0            6c 64 5f 61 72 72 28 2e 6e 6f 2e 29 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 58 31 20 3a 3d   ┆ld_arr(.no.) DO BEGIN      X1 :=┆
0x611c0…611e0            20 78 78 31 3b 0d 0a 20 20 20 20 59 31 20 3a 3d 20 79 79 31 3b 0d 0a 20 20 20 20 58 4f 6c 64 3a   ┆ xx1;      Y1 := yy1;      XOld:┆
0x611e0…61200            3d 20 78 78 31 3b 0d 0a 20 20 20 20 59 4f 6c 64 3a 3d 20 79 79 31 3b 0d 0a 20 20 20 20 58 52 61   ┆= xx1;      YOld:= yy1;      XRa┆
0x61200…61220            6e 67 65 20 3a 3d 20 78 78 32 20 2d 20 78 78 31 20 3b 0d 0a 20 20 20 20 59 52 61 6e 67 65 20 3a   ┆nge := xx2 - xx1 ;      YRange :┆
0x61220…61240            3d 20 79 79 32 20 2d 20 79 79 31 20 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52   ┆= yy2 - yy1     END;  END;    PR┆
0x61240…61260            4f 43 45 44 55 52 45 20 53 65 6c 65 63 74 57 6c 64 52 61 6e 67 65 28 6e 6f 3a 20 49 4e 54 45 47   ┆OCEDURE SelectWldRange(no: INTEG┆
0x61260…61280            45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 6c 64 5f 3a 3d 57 6c 64 5f 61 72 72 28 2e 6e 6f   ┆ER);  BEGIN    Wld_:=Wld_arr(.no┆
0x61280…612a0            2e 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 57 69 6e 64 6f 77 28 6e 6f   ┆.);  END;    PROCEDURE Window(no┆
0x612a0…612c0            2c 20 78 78 31 2c 20 78 78 32 2c 20 79 79 31 2c 20 79 79 32 3a 20 49 4e 54 45 47 45 52 29 3b 0d   ┆, xx1, xx2, yy1, yy2: INTEGER); ┆
0x612c0…612e0            0a 56 41 52 20 63 68 3a 20 43 48 41 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 78 78 31 20 3a 3d 20   ┆ VAR ch: CHAR;  BEGIN    xx1 := ┆
0x612e0…61300            28 78 78 31 20 2b 20 37 29 20 41 4e 44 20 24 66 66 66 38 3b 0d 0a 20 20 78 78 32 20 3a 3d 20 28   ┆(xx1 + 7) AND $fff8;    xx2 := (┆
0x61300…61320            28 78 78 32 20 2b 20 37 29 20 41 4e 44 20 24 66 66 66 38 29 2d 31 3b 0d 0a 20 20 49 46 20 78 78   ┆(xx2 + 7) AND $fff8)-1;    IF xx┆
0x61320…61340            31 3c 30 20 54 48 45 4e 20 78 78 31 3a 3d 30 3b 0d 0a 20 20 49 46 20 78 78 32 3e 53 63 72 5f 6d   ┆1<0 THEN xx1:=0;    IF xx2>Scr_m┆
0x61340…61360            61 78 78 20 54 48 45 4e 20 78 78 32 3a 3d 53 63 72 5f 6d 61 78 78 3b 0d 0a 20 20 49 46 20 79 79   ┆axx THEN xx2:=Scr_maxx;    IF yy┆
0x61360…61380            31 3c 30 20 54 48 45 4e 20 79 79 31 3a 3d 30 3b 0d 0a 20 20 49 46 20 79 79 32 3e 53 63 72 5f 6d   ┆1<0 THEN yy1:=0;    IF yy2>Scr_m┆
0x61380…613a0            61 78 79 20 54 48 45 4e 20 79 79 32 3a 3d 53 63 72 5f 6d 61 78 79 3b 0d 0a 20 20 49 46 20 79 79   ┆axy THEN yy2:=Scr_maxy;    IF yy┆
0x613a0…613c0            31 3e 79 79 32 20 54 48 45 4e 20 73 77 61 70 28 79 79 31 2c 79 79 32 29 3b 0d 0a 20 20 49 46 20   ┆1>yy2 THEN swap(yy1,yy2);    IF ┆
0x613c0…613e0            78 78 31 3e 78 78 32 20 54 48 45 4e 20 73 77 61 70 28 78 78 31 2c 79 79 31 29 3b 0d 0a 20 20 57   ┆xx1>xx2 THEN swap(xx1,yy1);    W┆
0x613e0…61400            49 54 48 20 57 6e 64 5f 61 72 72 28 2e 6e 6f 2e 29 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20   ┆ITH Wnd_arr(.no.) DO BEGIN      ┆
0x61400…61420 (38, 1, 5) 58 31 20 3a 3d 20 78 78 31 3b 0d 0a 20 20 20 20 59 31 20 3a 3d 20 79 79 31 3b 0d 0a 20 20 20 20   ┆X1 := xx1;      Y1 := yy1;      ┆
0x61420…61440            4d 61 78 58 20 3a 3d 20 78 78 32 20 2d 20 78 78 31 20 3b 0d 0a 20 20 20 20 4d 61 78 59 20 3a 3d   ┆MaxX := xx2 - xx1 ;      MaxY :=┆
0x61440…61460            20 79 79 32 20 2d 20 79 79 31 20 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52   ┆ yy2 - yy1 ;    END;  END;    PR┆
0x61460…61480            4f 43 45 44 55 52 45 20 57 69 6e 64 6f 77 43 6f 6c 6f 72 28 6e 6f 2c 20 66 63 6f 6c 6f 72 2c 20   ┆OCEDURE WindowColor(no, fcolor, ┆
0x61480…614a0            62 63 6f 6c 6f 72 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 49 54 48   ┆bcolor: INTEGER);  BEGIN    WITH┆
0x614a0…614c0            20 57 6e 64 5f 61 72 72 28 2e 6e 6f 2e 29 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 70 65 6e   ┆ Wnd_arr(.no.) DO BEGIN      pen┆
0x614c0…614e0            63 6f 6c 6f 72 3a 3d 66 63 6f 6c 6f 72 3b 0d 0a 20 20 20 20 62 61 63 6b 63 6f 6c 6f 72 3a 3d 62   ┆color:=fcolor;      backcolor:=b┆
0x614e0…61500            63 6f 6c 6f 72 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52   ┆color;    END;  END;    PROCEDUR┆
0x61500…61520            45 20 57 69 6e 64 6f 77 48 65 61 64 65 72 28 6e 6f 3a 20 49 4e 54 45 47 45 52 3b 20 68 3a 20 73   ┆E WindowHeader(no: INTEGER; h: s┆
0x61520…61540            74 72 38 30 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 6e 64 5f 61 72 72 28 2e 6e 6f 2e 29 2e 68   ┆tr80);  BEGIN    Wnd_arr(.no.).h┆
0x61540…61560            64 72 3a 3d 68 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 65 6c 65 63 74   ┆dr:=h;  END;    PROCEDURE Select┆
0x61560…61580            57 69 6e 64 6f 77 28 6e 6f 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57   ┆Window(no: INTEGER);  BEGIN    W┆
0x61580…615a0            6e 64 5f 3a 3d 57 6e 64 5f 61 72 72 28 2e 6e 6f 2e 29 3b 0d 0a 20 20 57 6e 64 5f 61 63 74 75 61   ┆nd_:=Wnd_arr(.no.);    Wnd_actua┆
0x615a0…615c0            6c 3a 3d 6e 6f 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 54 65 78 74 57 69   ┆l:=no;  END;    PROCEDURE TextWi┆
0x615c0…615e0            6e 64 6f 77 28 6e 6f 2c 20 78 78 31 2c 20 78 78 32 2c 20 79 79 31 2c 20 79 79 32 3a 20 49 4e 54   ┆ndow(no, xx1, xx2, yy1, yy2: INT┆
0x615e0…61600            45 47 45 52 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 49 46 20 78 78 32 3c 78 78 31 20 54 48 45 4e   ┆EGER);  BEGIN    IF xx2<xx1 THEN┆
0x61600…61620            20 68 61 6c 74 3b 0d 0a 20 20 49 46 20 79 79 32 3c 79 79 31 20 54 48 45 4e 20 68 61 6c 74 3b 0d   ┆ halt;    IF yy2<yy1 THEN halt; ┆
0x61620…61640            0a 20 20 49 46 20 78 78 31 3c 30 20 54 48 45 4e 20 78 78 31 3a 3d 30 3b 0d 0a 20 20 49 46 20 79   ┆   IF xx1<0 THEN xx1:=0;    IF y┆
0x61640…61660            79 31 3c 30 20 54 48 45 4e 20 79 79 31 3a 3d 30 3b 0d 0a 20 20 49 46 20 78 78 32 3e 74 78 74 5f   ┆y1<0 THEN yy1:=0;    IF xx2>txt_┆
0x61660…61680            6d 61 78 78 20 54 48 45 4e 20 78 78 32 3a 3d 74 78 74 5f 6d 61 78 78 3b 0d 0a 20 20 49 46 20 79   ┆maxx THEN xx2:=txt_maxx;    IF y┆
0x61680…616a0            79 32 3e 74 78 74 5f 6d 61 78 79 20 54 48 45 4e 20 79 79 32 3a 3d 74 78 74 5f 6d 61 78 79 3b 0d   ┆y2>txt_maxy THEN yy2:=txt_maxy; ┆
0x616a0…616c0            0a 20 20 57 49 54 48 20 57 6e 64 5f 61 72 72 28 2e 6e 6f 2e 29 20 44 4f 20 42 45 47 49 4e 0d 0a   ┆   WITH Wnd_arr(.no.) DO BEGIN  ┆
0x616c0…616e0            20 20 20 20 74 78 74 78 31 3a 3d 78 78 31 3b 0d 0a 20 20 20 20 74 78 74 79 31 3a 3d 79 79 31 3b   ┆    txtx1:=xx1;      txty1:=yy1;┆
0x616e0…61700            0d 0a 20 20 20 20 74 78 74 6d 61 78 78 3a 3d 78 78 32 2d 78 78 31 3b 0d 0a 20 20 20 20 74 78 74   ┆      txtmaxx:=xx2-xx1;      txt┆
0x61700…61720            6d 61 78 79 3a 3d 79 79 32 2d 79 79 31 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 57 69 6e 64 6f 77   ┆maxy:=yy2-yy1;    END;    Window┆
0x61720…61740            28 6e 6f 2c 78 78 31 2a 38 2c 78 78 32 2a 38 2b 37 2c 53 63 72 5f 6d 61 78 79 2d 28 28 79 79 32   ┆(no,xx1*8,xx2*8+7,Scr_maxy-((yy2┆
0x61740…61760            2a 38 29 2b 37 29 2c 53 63 72 5f 6d 61 78 79 2d 28 79 79 31 2a 38 29 29 3b 0d 0a 45 4e 44 3b 0d   ┆*8)+7),Scr_maxy-(yy1*8));  END; ┆
0x61760…61780            0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 54 65 78 74 57 69 6e 64 6f 77 43 6f 6c 6f 72 28 6e 6f 2c   ┆   PROCEDURE TextWindowColor(no,┆
0x61780…617a0            20 66 63 6f 6c 6f 72 2c 20 62 63 6f 6c 6f 72 3a 20 42 59 54 45 29 3b 0d 0a 42 45 47 49 4e 0d 0a   ┆ fcolor, bcolor: BYTE);  BEGIN  ┆
0x617a0…617c0            20 20 57 6e 64 5f 70 61 6c 65 74 74 65 28 2e 6e 6f 2e 29 3a 3d 66 63 6f 6c 6f 72 2b 28 62 63 6f   ┆  Wnd_palette(.no.):=fcolor+(bco┆
0x617c0…617e0            6c 6f 72 20 53 48 4c 20 34 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 47   ┆lor SHL 4);  END;    PROCEDURE G┆
0x617e0…61800            72 61 70 68 69 63 53 63 72 65 65 6e 3b 0d 0a 56 41 52 20 69 3a 20 49 4e 54 45 47 45 52 3b 0d 0a   ┆raphicScreen;  VAR i: INTEGER;  ┆
0x61800…61820 (39, 0, 1) 42 45 47 49 4e 0d 0a 20 20 74 78 74 5f 6d 6f 64 65 3a 3d 74 72 75 65 3b 0d 0a 20 20 65 68 6f 66   ┆BEGIN    txt_mode:=true;    ehof┆
0x61820…61840            73 3a 3d 6f 66 73 28 74 65 78 74 6d 6f 64 65 29 3b 0d 0a 20 20 6d 61 72 6b 28 53 63 72 5f 42 45   ┆s:=ofs(textmode);    mark(Scr_BE┆
0x61840…61860            47 49 4e 29 3b 0d 0a 20 20 69 6e 69 74 5f 67 72 61 70 68 69 63 73 3b 0d 0a 20 20 69 6e 69 74 5f   ┆GIN);    init_graphics;    init_┆
0x61860…61880            74 65 78 74 3b 0d 0a 20 20 46 4f 52 20 69 3a 3d 31 20 54 4f 20 57 6e 64 5f 6d 61 78 20 44 4f 20   ┆text;    FOR i:=1 TO Wnd_max DO ┆
0x61880…618a0            42 45 47 49 4e 0d 0a 20 20 20 20 74 65 78 74 57 69 6e 64 6f 77 28 69 2c 30 2c 37 39 2c 30 2c 32   ┆BEGIN      textWindow(i,0,79,0,2┆
0x618a0…618c0            34 29 3b 0d 0a 20 20 20 20 74 65 78 74 57 69 6e 64 6f 77 43 6f 6c 6f 72 28 69 2c 77 68 69 74 65   ┆4);      textWindowColor(i,white┆
0x618c0…618e0            74 78 74 2c 62 6c 61 63 6b 74 78 74 29 3b 0d 0a 20 20 20 20 57 69 6e 64 6f 77 28 69 2c 30 2c 20   ┆txt,blacktxt);      Window(i,0, ┆
0x618e0…61900            53 63 72 5f 4d 61 78 58 2c 20 30 2c 20 53 63 72 5f 4d 61 78 59 29 3b 0d 0a 20 20 20 20 57 6c 64   ┆Scr_MaxX, 0, Scr_MaxY);      Wld┆
0x61900…61920            52 61 6e 67 65 28 69 2c 30 2e 30 2c 20 53 63 72 5f 4d 61 78 58 2c 20 30 2e 30 2c 20 53 63 72 5f   ┆Range(i,0.0, Scr_MaxX, 0.0, Scr_┆
0x61920…61940            4d 61 78 59 29 3b 0d 0a 20 20 20 20 57 69 6e 64 6f 77 43 6f 6c 6f 72 28 69 2c 77 68 69 74 65 2c   ┆MaxY);      WindowColor(i,white,┆
0x61940…61960            62 6c 61 63 6b 29 3b 0d 0a 20 20 20 20 57 49 54 48 20 73 61 76 65 5f 61 72 72 28 2e 69 2e 29 20   ┆black);      WITH save_arr(.i.) ┆
0x61960…61980            44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 3a 3d 4e 49 4c 3b 20 0d 0a   ┆DO BEGIN        content:=NIL;   ┆
0x61980…619a0            20 20 20 20 20 20 6c 65 6e 67 74 68 3a 3d 30 3b 20 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20   ┆      length:=0;       END;     ┆
0x619a0…619c0            20 57 6e 64 5f 61 72 72 28 2e 69 2e 29 2e 68 64 72 3a 3d 27 27 3b 0d 0a 20 20 45 4e 44 3b 0d 0a   ┆ Wnd_arr(.i.).hdr:='';    END;  ┆
0x619c0…619e0            20 20 73 65 6c 65 63 74 57 69 6e 64 6f 77 28 31 29 3b 0d 0a 20 20 73 65 6c 65 63 74 57 6c 64 52   ┆  selectWindow(1);    selectWldR┆
0x619e0…61a00            61 6e 67 65 28 31 29 3b 0d 0a 20 20 62 69 74 6e 72 3a 3d 30 3b 0d 0a 20 20 6c 69 6e 65 70 61 74   ┆ange(1);    bitnr:=0;    linepat┆
0x61a00…61a20            74 65 72 6e 73 69 7a 65 3a 3d 31 3b 0d 0a 20 20 6c 69 6e 65 70 61 74 74 65 72 6e 3a 3d 4c 49 4e   ┆ternsize:=1;    linepattern:=LIN┆
0x61a20…61a40            45 54 59 50 45 28 2e 31 2e 29 3b 0d 0a 20 20 63 68 77 69 64 74 68 3a 3d 31 3b 0d 0a 20 20 63 68   ┆ETYPE(.1.);    chwidth:=1;    ch┆
0x61a40…61a60            68 65 69 67 74 68 3a 3d 31 3b 0d 0a 20 20 72 6f 74 61 74 69 6f 6e 3a 3d 30 3b 0d 0a 20 20 6d 61   ┆heigth:=1;    rotation:=0;    ma┆
0x61a60…61a80            72 6b 65 72 73 69 7a 65 3a 3d 31 3b 0d 0a 45 4e 44 3b 0d 0a 20 20 0d 0a 50 52 4f 43 45 44 55 52   ┆rkersize:=1;  END;      PROCEDUR┆
0x61a80…61aa0            45 20 53 63 72 5f 64 75 6d 70 28 6d 6f 64 65 3a 70 72 6e 5f 54 59 50 45 29 3b 0d 0a 56 41 52 0d   ┆E Scr_dump(mode:prn_TYPE);  VAR ┆
0x61aa0…61ac0            0a 20 20 70 72 69 6e 74 65 72 3a 20 74 65 78 74 3b 0d 0a 20 20 69 2c 6a 2c 6b 31 2c 73 6d 61 78   ┆   printer: text;    i,j,k1,smax┆
0x61ac0…61ae0            2c 74 6d 61 78 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 69 6e 69 74 5f 63 68 3a 20 53 54 52 49   ┆,tmax: INTEGER;    init_ch: STRI┆
0x61ae0…61b00            4e 47 28 2e 36 2e 29 3b 0d 0a 20 20 67 72 5f 73 74 72 3a 20 53 54 52 49 4e 47 28 2e 34 2e 29 3b   ┆NG(.6.);    gr_str: STRING(.4.);┆
0x61b00…61b20            0d 0a 20 20 63 68 3a 20 63 68 61 72 3b 0d 0a 20 20 48 69 67 68 43 48 2c 4c 6f 77 43 48 3a 20 62   ┆    ch: char;    HighCH,LowCH: b┆
0x61b20…61b40            79 74 65 3b 0d 0a 20 20 48 69 67 68 42 79 74 65 2c 4c 6f 77 42 79 74 65 3a 20 62 79 74 65 3b 0d   ┆yte;    HighByte,LowByte: byte; ┆
0x61b40…61b60            0a 20 20 62 69 74 6d 6f 64 65 3a 20 63 68 61 72 3b 0d 0a 20 20 0d 0a 50 52 4f 43 45 44 55 52 45   ┆   bitmode: char;      PROCEDURE┆
0x61b60…61b80            20 42 69 74 42 69 74 28 4f 6c 64 42 79 74 65 3a 42 79 74 65 3b 56 41 52 20 4e 65 77 62 79 74 65   ┆ BitBit(OldByte:Byte;VAR Newbyte┆
0x61b80…61ba0            3a 20 62 79 74 65 29 3b 0d 0a 76 61 72 20 20 0d 0a 20 20 62 69 74 3a 20 62 79 74 65 3b 0d 0a 20   ┆: byte);  var      bit: byte;   ┆
0x61ba0…61bc0            20 6a 2c 6e 3a 69 6e 74 65 67 65 72 3b 0d 0a 0d 0a 42 45 47 49 4e 0d 0a 20 20 4e 65 77 42 79 74   ┆ j,n:integer;    BEGIN    NewByt┆
0x61bc0…61be0            65 3a 3d 24 30 30 3b 0d 0a 20 20 46 4f 52 20 6a 3a 3d 20 31 20 74 6f 20 34 44 4f 0d 0a 20 20 42   ┆e:=$00;    FOR j:= 1 to 4DO    B┆
0x61be0…61c00            45 47 49 4e 0d 0a 20 20 20 20 63 61 73 65 20 6a 20 6f 66 0d 0a 20 20 20 20 31 3a 20 6e 3a 3d 31   ┆EGIN      case j of      1: n:=1┆
0x61c00…61c20 (39, 0, 2) 3b 0d 0a 20 20 20 20 32 3a 20 6e 3a 3d 32 3b 0d 0a 20 20 20 20 33 3a 20 6e 3a 3d 34 3b 0d 0a 20   ┆;      2: n:=2;      3: n:=4;   ┆
0x61c20…61c40            20 20 20 34 3a 20 6e 3a 3d 38 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 42 69 74 3a 3d   ┆   4: n:=8;      END;      Bit:=┆
0x61c40…61c60            4f 6c 64 62 79 74 65 20 41 4e 44 20 6e 3b 0d 0a 20 20 20 20 42 69 74 3a 3d 42 69 74 20 53 48 4c   ┆Oldbyte AND n;      Bit:=Bit SHL┆
0x61c60…61c80            20 6a 3b 0d 0a 20 20 20 20 4e 65 77 62 79 74 65 3a 3d 4e 65 77 62 79 74 65 20 4f 52 20 42 69 74   ┆ j;      Newbyte:=Newbyte OR Bit┆
0x61c80…61ca0            3b 0d 0a 20 20 20 20 42 69 74 3a 3d 42 69 74 20 53 48 52 20 31 3b 0d 0a 20 20 20 20 4e 65 77 62   ┆;      Bit:=Bit SHR 1;      Newb┆
0x61ca0…61cc0            79 74 65 3a 3d 4e 65 77 62 79 74 65 20 4f 52 20 42 69 74 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e   ┆yte:=Newbyte OR Bit;    END;  EN┆
0x61cc0…61ce0            44 3b 0d 0a 20 20 0d 0a 42 45 47 49 4e 0d 0a 20 20 61 73 73 69 67 6e 28 70 72 69 6e 74 65 72 2c   ┆D;      BEGIN    assign(printer,┆
0x61ce0…61d00            27 6c 73 74 3a 27 29 3b 0d 0a 20 20 72 65 73 65 74 28 70 72 69 6e 74 65 72 29 3b 0d 0a 20 20 49   ┆'lst:');    reset(printer);    I┆
0x61d00…61d20            46 20 69 6f 72 65 73 3c 3e 30 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20 49 46 20 6d 6f 64 65   ┆F iores<>0 THEN exit;    IF mode┆
0x61d20…61d40            20 69 6e 20 28 2e 4e 45 43 5f 31 36 62 69 74 2e 29 20 74 68 65 6e 20 0d 0a 20 20 42 45 47 49 4e   ┆ in (.NEC_16bit.) then     BEGIN┆
0x61d40…61d60            0d 0a 20 20 20 20 62 69 74 6d 6f 64 65 3a 3d 27 49 27 3b 20 4b 31 3a 3d 32 3b 0d 0a 20 20 45 4e   ┆      bitmode:='I'; K1:=2;    EN┆
0x61d60…61d80            44 20 65 6c 73 65 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 62 69 74 6d 6f 64 65 3a 3d 27 4b   ┆D else    BEGIN      bitmode:='K┆
0x61d80…61da0            27 3b 20 4b 31 3a 3d 31 3b 0d 0a 20 20 45 4e 44 3b 20 20 0d 0a 20 20 73 6d 61 78 3a 3d 28 53 63   ┆'; K1:=1;    END;      smax:=(Sc┆
0x61da0…61dc0            72 5f 6d 61 78 79 2b 31 29 2a 6b 31 3b 0d 0a 20 20 77 72 69 74 65 6c 6e 28 70 72 69 6e 74 65 72   ┆r_maxy+1)*k1;    writeln(printer┆
0x61dc0…61de0            2c 63 68 72 28 32 37 29 2b 27 41 27 2b 63 68 72 28 38 29 2c 63 68 72 28 32 37 29 2b 27 32 27 29   ┆,chr(27)+'A'+chr(8),chr(27)+'2')┆
0x61de0…61e00            3b 0d 0a 20 20 69 6e 69 74 5f 63 68 3a 3d 63 68 72 28 32 37 29 2b 62 69 74 6d 6f 64 65 2b 63 68   ┆;    init_ch:=chr(27)+bitmode+ch┆
0x61e00…61e20            72 28 6c 6f 28 73 6d 61 78 29 29 2b 63 68 72 28 68 69 28 73 6d 61 78 29 29 3b 0d 0a 20 20 46 4f   ┆r(lo(smax))+chr(hi(smax));    FO┆
0x61e20…61e40            52 20 69 3a 3d 30 20 54 4f 20 74 78 74 5f 6d 61 78 78 20 20 44 4f 0d 0a 20 20 42 45 47 49 4e 0d   ┆R i:=0 TO txt_maxx  DO    BEGIN ┆
0x61e40…61e60            0a 20 20 20 20 77 72 69 74 65 28 70 72 69 6e 74 65 72 2c 69 6e 69 74 5f 63 68 29 3b 0d 0a 20 20   ┆     write(printer,init_ch);    ┆
0x61e60…61e80            20 20 46 4f 52 20 6a 3a 3d 30 20 74 6f 20 53 63 72 5f 6d 61 78 79 20 44 4f 0d 0a 20 20 20 20 42   ┆  FOR j:=0 to Scr_maxy DO      B┆
0x61e80…61ea0            45 47 49 4e 0d 0a 20 20 20 20 20 20 4c 6f 77 62 79 74 65 3a 3d 24 30 30 3b 20 48 69 67 68 62 79   ┆EGIN        Lowbyte:=$00; Highby┆
0x61ea0…61ec0            74 65 3a 3d 24 30 30 3b 20 0d 0a 20 20 20 20 20 20 63 68 3a 3d 63 68 72 28 6d 65 6d 28 2e 53 63   ┆te:=$00;         ch:=chr(mem(.Sc┆
0x61ec0…61ee0            72 5f 73 65 67 6d 3a 53 63 72 5f 79 61 64 64 72 28 2e 6a 2e 29 2b 53 63 72 5f 78 61 64 64 72 28   ┆r_segm:Scr_yaddr(.j.)+Scr_xaddr(┆
0x61ee0…61f00            2e 28 69 29 2a 38 2e 29 2e 29 29 3b 0d 0a 20 20 20 20 20 20 69 66 20 62 69 74 6d 6f 64 65 3d 27   ┆.(i)*8.).));        if bitmode='┆
0x61f00…61f20            4b 27 20 74 68 65 6e 0d 0a 20 20 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 77 72   ┆K' then        BEGIN          wr┆
0x61f20…61f40            69 74 65 28 70 72 69 6e 74 65 72 2c 63 68 29 3b 0d 0a 20 20 20 20 20 20 45 4e 44 20 45 4c 53 45   ┆ite(printer,ch);        END ELSE┆
0x61f40…61f60            20 0d 0a 20 20 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 49 46 20 43 48 3e 40 30   ┆         BEGIN          IF CH>@0┆
0x61f60…61f80            20 54 48 45 4e 0d 0a 20 20 20 20 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆ THEN          BEGIN            ┆
0x61f80…61fa0            48 69 67 68 43 48 3a 3d 6f 72 64 28 63 68 29 20 61 6e 64 20 24 66 30 3b 0d 0a 20 20 20 20 20 20   ┆HighCH:=ord(ch) and $f0;        ┆
0x61fa0…61fc0            20 20 20 20 48 69 67 68 43 48 3a 3d 48 69 67 68 43 48 20 73 68 72 20 34 3b 0d 0a 20 20 20 20 20   ┆    HighCH:=HighCH shr 4;       ┆
0x61fc0…61fe0            20 20 20 20 20 4c 6f 77 43 48 3a 3d 6f 72 64 28 63 68 29 20 61 6e 64 20 24 30 66 3b 0d 0a 20 20   ┆     LowCH:=ord(ch) and $0f;    ┆
0x61fe0…62000            20 20 20 20 20 20 20 20 42 69 74 42 69 74 28 48 69 67 68 43 48 2c 48 69 67 68 42 79 74 65 29 3b   ┆        BitBit(HighCH,HighByte);┆
0x62000…62020 (39, 0, 3) 20 42 69 74 42 69 74 28 4c 6f 77 43 48 2c 4c 6f 77 42 79 74 65 29 3b 0d 0a 20 20 20 20 20 20 20   ┆ BitBit(LowCH,LowByte);         ┆
0x62020…62040            20 45 4e 44 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 77 72 69 74 65 28 70 72 69 6e 74 65 72 2c 63   ┆ END;            write(printer,c┆
0x62040…62060            68 72 28 48 69 67 68 42 79 74 65 29 2c 63 68 72 28 4c 6f 77 42 79 74 65 29 2c 63 68 72 28 48 69   ┆hr(HighByte),chr(LowByte),chr(Hi┆
0x62060…62080            67 68 42 79 74 65 29 2c 63 68 72 28 4c 6f 77 42 79 74 65 29 29 3b 0d 0a 20 20 20 20 20 20 20 45   ┆ghByte),chr(LowByte));         E┆
0x62080…620a0            4e 44 3b 0d 0a 20 20 20 20 20 20 69 66 20 6b 65 79 70 72 65 73 73 20 74 68 65 6e 0d 0a 20 20 20   ┆ND;        if keypress then     ┆
0x620a0…620c0            20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 72 65 61 64 28 6b 62 64 2c 63 68 29 3b 0d   ┆   BEGIN          read(kbd,ch); ┆
0x620c0…620e0            0a 20 20 20 20 20 20 20 20 65 78 69 74 3b 0d 0a 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20   ┆         exit;        END;      ┆
0x620e0…62100            45 4e 44 3b 0d 0a 20 20 20 20 77 72 69 74 65 6c 6e 28 70 72 69 6e 74 65 72 29 3b 0d 0a 20 20 45   ┆END;      writeln(printer);    E┆
0x62100…62120            4e 44 3b 0d 0a 20 20 77 72 69 74 65 6c 6e 28 70 72 69 6e 74 65 72 2c 63 68 72 28 32 37 29 2b 27   ┆ND;    writeln(printer,chr(27)+'┆
0x62120…62140            23 41 27 29 3b 0d 0a 20 20 77 72 69 74 65 28 40 31 32 29 3b 0d 0a 20 20 63 6c 6f 73 65 28 70 72   ┆#A');    write(@12);    close(pr┆
0x62140…62160            69 6e 74 65 72 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 50 6c 6f 74 41   ┆inter);  END;    PROCEDURE PlotA┆
0x62160…62180            74 28 78 2c 79 3a 20 52 45 41 4c 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 6e 64 5f 53 65 74 44   ┆t(x,y: REAL);  BEGIN    Wnd_SetD┆
0x62180…621a0            6f 74 28 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 78 29 2c 20 5f 57 6c 64 5f 54 6f 57 69 6e   ┆ot(_Wld_ToWindowX(x), _Wld_ToWin┆
0x621a0…621c0            64 6f 77 59 28 79 29 29 3b 0d 0a 20 20 57 6c 64 5f 2e 58 6f 6c 64 3a 3d 78 3b 20 57 6c 64 5f 2e   ┆dowY(y));    Wld_.Xold:=x; Wld_.┆
0x621c0…621e0            59 6f 6c 64 3a 3d 79 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 50 6c 6f 74   ┆Yold:=y;  END;    PROCEDURE Plot┆
0x621e0…62200            62 79 28 78 2c 79 3a 20 52 45 41 4c 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 50 6c 6f 74 61 74 28   ┆by(x,y: REAL);  BEGIN    Plotat(┆
0x62200…62220            57 6c 64 5f 2e 58 4f 6c 64 2b 78 2c 57 6c 64 5f 2e 59 4f 6c 64 2b 79 29 3b 0d 0a 45 4e 44 3b 0d   ┆Wld_.XOld+x,Wld_.YOld+y);  END; ┆
0x62220…62240            0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 43 69 72 63 6c 65 28 78 2c 79 2c 72 3a 20 52 45 41 4c 29   ┆   PROCEDURE Circle(x,y,r: REAL)┆
0x62240…62260            3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 20 20 57 6e 64 5f 63 69 72 63 6c 65 28 5f 57 6c 64 5f 54 6f   ┆;  BEGIN      Wnd_circle(_Wld_To┆
0x62260…62280            57 69 6e 64 6f 77 58 28 78 29 2c 20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 59 28 79 29 2c 20 5f   ┆WindowX(x), _Wld_ToWindowY(y), _┆
0x62280…622a0            57 6c 64 5f 54 6f 57 69 6e 64 6f 77 59 28 72 29 29 3b 0d 0a 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52   ┆Wld_ToWindowY(r));    END;    PR┆
0x622a0…622c0            4f 43 45 44 55 52 45 20 4d 6f 76 65 54 6f 28 78 2c 79 3a 52 45 41 4c 29 3b 0d 0a 42 45 47 49 4e   ┆OCEDURE MoveTo(x,y:REAL);  BEGIN┆
0x622c0…622e0            0d 0a 20 20 57 6c 64 5f 2e 58 4f 6c 64 3a 3d 78 3b 20 57 6c 64 5f 2e 59 4f 6c 64 3a 3d 79 3b 0d   ┆    Wld_.XOld:=x; Wld_.YOld:=y; ┆
0x622e0…62300            0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4d 6f 76 65 42 79 28 78 2c 79 3a 20 52   ┆ END;    PROCEDURE MoveBy(x,y: R┆
0x62300…62320            45 41 4c 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 6d 6f 76 65 74 6f 28 57 6c 64 5f 2e 58 4f 6c 64   ┆EAL);  BEGIN    moveto(Wld_.XOld┆
0x62320…62340            2b 78 2c 57 6c 64 5f 2e 59 4f 6c 64 2b 79 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44   ┆+x,Wld_.YOld+y);  END;    PROCED┆
0x62340…62360            55 52 45 20 4c 69 6e 65 54 6f 28 78 32 2c 20 79 32 20 3a 20 52 45 41 4c 29 3b 0d 0a 42 45 47 49   ┆URE LineTo(x2, y2 : REAL);  BEGI┆
0x62360…62380            4e 0d 0a 20 20 57 6e 64 5f 4c 69 6e 65 54 6f 28 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 57   ┆N    Wnd_LineTo(_Wld_ToWindowX(W┆
0x62380…623a0            6c 64 5f 2e 58 4f 6c 64 29 2c 20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 59 28 57 6c 64 5f 2e 59   ┆ld_.XOld), _Wld_ToWindowY(Wld_.Y┆
0x623a0…623c0            4f 6c 64 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f 57 6c 64 5f 54 6f 57 69 6e   ┆Old),                 _Wld_ToWin┆
0x623c0…623e0            64 6f 77 58 28 78 32 29 2c 20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 59 28 79 32 29 29 3b 0d 0a   ┆dowX(x2), _Wld_ToWindowY(y2));  ┆
0x623e0…62400            20 20 57 6c 64 5f 2e 58 4f 6c 64 3a 3d 78 32 3b 20 57 6c 64 5f 2e 59 4f 6c 64 3a 3d 79 32 3b 0d   ┆  Wld_.XOld:=x2; Wld_.YOld:=y2; ┆
0x62400…62420 (39, 0, 4) 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 4c 69 6e 65 42 79 28 78 2c 79 3a 20 52   ┆ END;    PROCEDURE LineBy(x,y: R┆
0x62420…62440            45 41 4c 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 4c 69 6e 65 54 6f 28 78 2b 57 6c 64 5f 2e 58 4f   ┆EAL);  BEGIN    LineTo(x+Wld_.XO┆
0x62440…62460            6c 64 2c 79 2b 57 6c 64 5f 2e 59 4f 6c 64 29 3b 0d 0a 45 4e 44 3b 0d 0a 20 20 0d 0a 50 52 4f 43   ┆ld,y+Wld_.YOld);  END;      PROC┆
0x62460…62480            45 44 55 52 45 20 50 6c 6f 74 54 65 78 74 28 78 2c 79 3a 20 52 45 41 4c 3b 20 73 3a 20 73 74 72   ┆EDURE PlotText(x,y: REAL; s: str┆
0x62480…624a0            38 30 29 3b 0d 0a 76 61 72 0d 0a 20 20 69 2c 78 31 2c 79 31 2c 78 32 2c 79 32 2c 78 62 65 67 2c   ┆80);  var    i,x1,y1,x2,y2,xbeg,┆
0x624a0…624c0            78 65 6e 64 2c 79 62 65 67 2c 79 65 6e 64 2c 73 69 7a 78 2c 73 69 7a 79 2c 78 78 2c 79 79 3a 20   ┆xend,ybeg,yend,sizx,sizy,xx,yy: ┆
0x624c0…624e0            69 6e 74 65 67 65 72 3b 0d 0a 20 20 63 62 79 74 65 3a 20 62 79 74 65 3b 0d 0a 20 20 72 6f 74 61   ┆integer;    cbyte: byte;    rota┆
0x624e0…62500            74 65 3a 20 62 6f 6f 6c 65 61 6e 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 78 78 3a 3d 5f 57 6c 64 5f   ┆te: boolean;  BEGIN    xx:=_Wld_┆
0x62500…62520            74 6f 77 69 6e 64 6f 77 78 28 78 29 3b 20 20 79 79 3a 3d 5f 57 6c 64 5f 74 6f 77 69 6e 64 6f 77   ┆towindowx(x);  yy:=_Wld_towindow┆
0x62520…62540            79 28 79 29 3b 0d 0a 20 20 73 69 7a 78 3a 3d 72 6f 75 6e 64 28 63 68 77 69 64 74 68 29 3b 20 73   ┆y(y);    sizx:=round(chwidth); s┆
0x62540…62560            69 7a 79 3a 3d 72 6f 75 6e 64 28 63 68 68 65 69 67 74 68 29 3b 0d 0a 20 20 72 6f 74 61 74 65 3a   ┆izy:=round(chheigth);    rotate:┆
0x62560…62580            3d 72 6f 74 61 74 69 6f 6e 3c 3e 30 3b 0d 0a 20 20 66 6f 72 20 69 3a 3d 31 20 74 6f 20 6c 65 6e   ┆=rotation<>0;    for i:=1 to len┆
0x62580…625a0            28 73 29 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 46 4f 52 20 79 31 3a 3d 30 20 74 6f 20 37   ┆(s) DO BEGIN      FOR y1:=0 to 7┆
0x625a0…625c0            20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 63 62 79 74 65 3a 3d 73 63 72 5f 63 68 61 72   ┆ DO BEGIN        cbyte:=scr_char┆
0x625c0…625e0            28 2e 62 79 74 65 28 73 28 2e 69 2e 29 29 2c 28 37 2d 79 31 29 2e 29 20 3b 0d 0a 20 20 20 20 20   ┆(.byte(s(.i.)),(7-y1).) ;       ┆
0x625e0…62600            20 46 4f 52 20 78 31 3a 3d 30 20 74 6f 20 37 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20   ┆ FOR x1:=0 to 7 DO BEGIN        ┆
0x62600…62620            20 20 69 66 20 28 63 62 79 74 65 20 73 68 72 20 28 37 2d 78 31 29 29 20 61 6e 64 20 31 3c 3e 30   ┆  if (cbyte shr (7-x1)) and 1<>0┆
0x62620…62640            20 74 68 65 6e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 20 20 78 62 65 67 3a 3d 78 78 2b   ┆ then BEGIN            xbeg:=xx+┆
0x62640…62660            78 31 2a 73 69 7a 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 78 65 6e 64 3a 3d 78 62 65 67 2b 73   ┆x1*sizx;            xend:=xbeg+s┆
0x62660…62680            69 7a 78 2d 31 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 79 62 65 67 3a 3d 79 79 2b 79 31 2a 73 69   ┆izx-1;            ybeg:=yy+y1*si┆
0x62680…626a0            7a 79 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 79 65 6e 64 3a 3d 79 62 65 67 2b 73 69 7a 79 2d 31   ┆zy;            yend:=ybeg+sizy-1┆
0x626a0…626c0            3b 0d 0a 20 20 20 20 20 20 20 20 20 20 46 4f 52 20 78 32 3a 3d 78 62 65 67 20 74 6f 20 78 65 6e   ┆;            FOR x2:=xbeg to xen┆
0x626c0…626e0            64 20 44 4f 0d 0a 20 20 20 20 20 20 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 20   ┆d DO            BEGIN           ┆
0x626e0…62700            20 20 20 46 4f 52 20 79 32 3a 3d 79 62 65 67 20 74 6f 20 79 65 6e 64 20 44 4f 0d 0a 20 20 20 20   ┆   FOR y2:=ybeg to yend DO      ┆
0x62700…62720            20 20 20 20 20 20 20 20 49 46 20 6e 6f 74 20 72 6f 74 61 74 65 20 74 68 65 6e 20 77 6e 64 5f 53   ┆        IF not rotate then wnd_S┆
0x62720…62740            65 74 44 6f 74 28 78 32 2c 79 32 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 77   ┆etDot(x2,y2)              else w┆
0x62740…62760            6e 64 5f 53 65 74 44 6f 74 28 79 79 2a 32 2d 79 32 2c 78 32 29 0d 0a 20 20 20 20 20 20 20 20 20   ┆nd_SetDot(yy*2-y2,x2)           ┆
0x62760…62780            20 45 4e 44 3b 0d 0a 20 20 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 20 20 45 4e 44 3b 0d   ┆ END;          END;        END; ┆
0x62780…627a0            0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 78 78 3a 3d 78 78 2b 73 69 7a 78 2a 38 3b 0d 0a 20   ┆     END;      xx:=xx+sizx*8;   ┆
0x627a0…627c0            20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 44 72 61 77 74 65 78   ┆ END;  END;    PROCEDURE Drawtex┆
0x627c0…627e0            74 28 63 6f 6c 2c 72 6f 77 3a 49 4e 54 45 47 45 52 3b 73 3a 73 74 72 38 30 29 3b 0d 0a 56 41 52   ┆t(col,row:INTEGER;s:str80);  VAR┆
0x627e0…62800            20 61 74 74 72 69 62 3a 20 42 59 54 45 3b 0d 0a 20 6c 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42   ┆ attrib: BYTE;   l : INTEGER;  B┆
0x62800…62820 (39, 0, 5) 45 47 49 4e 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 20 44 4f 0d 0a 20 20 20 20 49 46 20 74 78 74   ┆EGIN    WITH Wnd_ DO      IF txt┆
0x62820…62840            5f 6d 6f 64 65 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 72 6f 77 3a 3d 72 6f 77   ┆_mode THEN BEGIN        row:=row┆
0x62840…62860            2b 74 78 74 79 31 3b 0d 0a 20 20 20 20 20 20 49 46 20 28 63 6f 6c 2b 6c 65 6e 28 73 29 29 3e 28   ┆+txty1;        IF (col+len(s))>(┆
0x62860…62880            74 78 74 6d 61 78 78 2b 31 29 20 54 48 45 4e 20 6c 3a 3d 74 78 74 6d 61 78 78 2b 31 2d 63 6f 6c   ┆txtmaxx+1) THEN l:=txtmaxx+1-col┆
0x62880…628a0            20 45 4c 53 45 20 6c 3a 3d 6c 65 6e 28 73 29 3b 0d 0a 20 20 20 20 20 20 63 6f 6c 3a 3d 63 6f 6c   ┆ ELSE l:=len(s);        col:=col┆
0x628a0…628c0            2b 74 78 74 78 31 3b 0d 0a 20 20 20 20 20 20 49 46 20 72 6f 77 3c 3d 74 78 74 6d 61 78 79 2b 74   ┆+txtx1;        IF row<=txtmaxy+t┆
0x628c0…628e0            78 74 79 31 20 54 48 45 4e 0d 0a 20 20 20 20 20 20 20 20 77 72 69 74 65 73 74 72 28 63 6f 6c 2c   ┆xty1 THEN          writestr(col,┆
0x628e0…62900            72 6f 77 2c 63 6f 70 79 28 73 2c 31 2c 6c 29 29 3b 0d 0a 20 20 20 20 45 4e 44 0d 0a 20 20 20 20   ┆row,copy(s,1,l));      END      ┆
0x62900…62920            45 4c 53 45 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 63 6f 6c 3a 3d 20 63 6f 6c 20 53 48 4c 20   ┆ELSE BEGIN        col:= col SHL ┆
0x62920…62940            33 20 3b 0d 0a 20 20 20 20 20 20 72 6f 77 3a 3d 20 6d 61 78 79 20 2d 20 37 20 2d 20 28 72 6f 77   ┆3 ;        row:= maxy - 7 - (row┆
0x62940…62960            20 2a 20 38 29 3b 0d 0a 20 20 20 20 20 20 57 6e 64 5f 64 72 61 77 74 65 78 74 28 63 6f 6c 2c 72   ┆ * 8);        Wnd_drawtext(col,r┆
0x62960…62980            6f 77 2c 73 29 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44   ┆ow,s);      END;  END;    PROCED┆
0x62980…629a0            55 52 45 20 44 72 61 77 72 65 61 6c 28 63 6f 6c 2c 72 6f 77 3a 49 4e 54 45 47 45 52 3b 20 72 3a   ┆URE Drawreal(col,row:INTEGER; r:┆
0x629a0…629c0            52 45 41 4c 3b 20 6c 2c 64 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a 56 41 52 0d 0a 20 20 73 3a 20   ┆REAL; l,d: INTEGER);  VAR    s: ┆
0x629c0…629e0            73 74 72 38 30 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 73 74 72 28 72 3a 6c 3a 64 2c 73 29 3b 0d 0a   ┆str80;  BEGIN    str(r:l:d,s);  ┆
0x629e0…62a00            20 20 64 72 61 77 74 65 78 74 28 63 6f 6c 2c 72 6f 77 2c 73 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a   ┆  drawtext(col,row,s);  END;    ┆
0x62a00…62a20            50 52 4f 43 45 44 55 52 45 20 52 65 63 74 61 6e 67 6c 65 28 78 31 2c 20 79 31 2c 20 78 32 2c 20   ┆PROCEDURE Rectangle(x1, y1, x2, ┆
0x62a20…62a40            79 32 20 3a 20 52 45 41 4c 29 3b 0d 0a 56 41 52 20 6f 6c 64 3a 69 6e 74 65 67 65 72 3b 0d 0a 42   ┆y2 : REAL);  VAR old:integer;  B┆
0x62a40…62a60            45 47 49 4e 0d 0a 20 20 6f 6c 64 3a 3d 6c 69 6e 65 70 61 74 74 65 72 6e 3b 0d 0a 20 20 6c 69 6e   ┆EGIN    old:=linepattern;    lin┆
0x62a60…62a80            65 70 61 74 74 65 72 6e 3a 3d 6c 69 6e 65 74 79 70 65 28 2e 31 2e 29 3b 0d 0a 20 20 57 6e 64 5f   ┆epattern:=linetype(.1.);    Wnd_┆
0x62a80…62aa0            44 72 61 77 42 6f 78 28 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 78 31 29 2c 20 5f 57 6c 64   ┆DrawBox(_Wld_ToWindowX(x1), _Wld┆
0x62aa0…62ac0            5f 54 6f 57 69 6e 64 6f 77 59 28 79 31 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f   ┆_ToWindowY(y1),                _┆
0x62ac0…62ae0            57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 78 32 29 2c 20 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77   ┆Wld_ToWindowX(x2), _Wld_ToWindow┆
0x62ae0…62b00            59 28 79 32 29 29 3b 0d 0a 20 20 6c 69 6e 65 70 61 74 74 65 72 6e 3a 3d 6f 6c 64 3b 0d 0a 45 4e   ┆Y(y2));    linepattern:=old;  EN┆
0x62b00…62b20            44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 44 72 61 77 57 69 6e 64 6f 77 3b 0d 0a 42 45 47   ┆D;    PROCEDURE DrawWindow;  BEG┆
0x62b20…62b40            49 4e 0d 0a 20 20 57 6e 64 5f 44 72 61 77 42 6f 78 28 30 2c 20 30 2c 20 57 6e 64 5f 2e 4d 61 78   ┆IN    Wnd_DrawBox(0, 0, Wnd_.Max┆
0x62b40…62b60            58 2c 20 57 6e 64 5f 2e 4d 61 78 59 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52   ┆X, Wnd_.MaxY);  END;    PROCEDUR┆
0x62b60…62b80            45 20 44 72 61 77 48 65 61 64 65 72 3b 0d 0a 56 41 52 0d 0a 20 20 69 2c 6f 6c 64 63 6f 6c 6f 72   ┆E DrawHeader;  VAR    i,oldcolor┆
0x62b80…62ba0            3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 20 44   ┆: INTEGER;  BEGIN    WITH Wnd_ D┆
0x62ba0…62bc0            4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 49 46 20 68 64 72 3c 3e 27 27 20 54 48 45 4e 20 42 45 47   ┆O BEGIN      IF hdr<>'' THEN BEG┆
0x62bc0…62be0            49 4e 0d 0a 20 20 20 20 20 20 69 3a 3d 28 6d 61 78 78 20 44 49 56 20 38 20 2d 20 6c 65 6e 28 68   ┆IN        i:=(maxx DIV 8 - len(h┆
0x62be0…62c00            64 72 29 29 20 44 49 56 20 32 3b 0d 0a 20 20 20 20 20 20 49 46 20 69 3c 30 20 54 48 45 4e 20 69   ┆dr)) DIV 2;        IF i<0 THEN i┆
0x62c00…62c20 (39, 1, 1) 3a 3d 30 3b 0d 0a 20 20 20 20 20 20 53 63 72 5f 66 69 6c 6c 28 78 31 2c 79 31 2b 6d 61 78 79 2d   ┆:=0;        Scr_fill(x1,y1+maxy-┆
0x62c20…62c40            31 30 2c 78 31 2b 6d 61 78 78 2c 79 31 2b 6d 61 78 79 2c 24 46 46 29 3b 0d 0a 20 20 20 20 20 20   ┆10,x1+maxx,y1+maxy,$FF);        ┆
0x62c40…62c60            6f 6c 64 63 6f 6c 6f 72 3a 3d 70 65 6e 63 6f 6c 6f 72 3b 0d 0a 20 20 20 20 20 20 70 65 6e 63 6f   ┆oldcolor:=pencolor;        penco┆
0x62c60…62c80            6c 6f 72 3a 3d 62 6c 61 63 6b 3b 0d 0a 20 20 20 20 20 20 57 6e 64 5f 64 72 61 77 62 6f 78 28 30   ┆lor:=black;        Wnd_drawbox(0┆
0x62c80…62ca0            2c 6d 61 78 79 2d 31 30 2c 6d 61 78 78 2c 6d 61 78 79 29 3b 0d 0a 20 20 20 20 20 20 6d 61 78 79   ┆,maxy-10,maxx,maxy);        maxy┆
0x62ca0…62cc0            3a 3d 6d 61 78 79 2d 32 3b 0d 0a 20 20 20 20 20 20 44 72 61 77 74 65 78 74 28 69 2c 30 2c 68 64   ┆:=maxy-2;        Drawtext(i,0,hd┆
0x62cc0…62ce0            72 29 3b 0d 0a 20 20 20 20 20 20 6d 61 78 79 3a 3d 6d 61 78 79 2d 38 3b 0d 0a 20 20 20 20 20 20   ┆r);        maxy:=maxy-8;        ┆
0x62ce0…62d00            70 65 6e 63 6f 6c 6f 72 3a 3d 6f 6c 64 63 6f 6c 6f 72 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20   ┆pencolor:=oldcolor;      END;   ┆
0x62d00…62d20            20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 44 72 61 77 66 72 61   ┆ END;  END;    PROCEDURE Drawfra┆
0x62d20…62d40            6d 65 3b 0d 0a 76 61 72 20 6f 6c 64 3a 62 79 74 65 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 6f 6c 64   ┆me;  var old:byte;  BEGIN    old┆
0x62d40…62d60            3a 3d 6c 69 6e 65 70 61 74 74 65 72 6e 3b 0d 0a 20 20 6c 69 6e 65 70 61 74 74 65 72 6e 3a 3d 6c   ┆:=linepattern;    linepattern:=l┆
0x62d60…62d80            69 6e 65 74 79 70 65 28 2e 31 2e 29 3b 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 20 44 4f 20 42 45   ┆inetype(.1.);    WITH Wnd_ DO BE┆
0x62d80…62da0            47 49 4e 0d 0a 20 20 20 20 64 72 61 77 68 65 61 64 65 72 3b 0d 0a 20 20 20 20 57 6e 64 5f 44 72   ┆GIN      drawheader;      Wnd_Dr┆
0x62da0…62dc0            61 77 42 6f 78 28 30 2c 20 30 2c 20 4d 61 78 58 2c 20 4d 61 78 59 29 3b 0d 0a 20 20 20 20 78 31   ┆awBox(0, 0, MaxX, MaxY);      x1┆
0x62dc0…62de0            3a 3d 78 31 2b 31 3b 0d 0a 20 20 20 20 79 31 3a 3d 79 31 2b 31 3b 0d 0a 20 20 20 20 6d 61 78 79   ┆:=x1+1;      y1:=y1+1;      maxy┆
0x62de0…62e00            3a 3d 6d 61 78 79 2d 32 3b 0d 0a 20 20 20 20 6d 61 78 78 3a 3d 6d 61 78 78 2d 32 3b 0d 0a 20 20   ┆:=maxy-2;      maxx:=maxx-2;    ┆
0x62e00…62e20            45 4e 44 3b 0d 0a 20 20 6c 69 6e 65 70 61 74 74 65 72 6e 3a 3d 6f 6c 64 3b 0d 0a 45 4e 44 3b 0d   ┆END;    linepattern:=old;  END; ┆
0x62e20…62e40            0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 43 6c 65 61 72 57 69 6e 64 6f 77 3b 0d 0a 56 41 52 20 69   ┆   PROCEDURE ClearWindow;  VAR i┆
0x62e40…62e60            09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 73 74 72 3a 20 73 74 72 38 30 3b 0d 0a 42 45 47 49   ┆ : INTEGER;    str: str80;  BEGI┆
0x62e60…62e80            4e 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 20 44 4f 0d 0a 20 20 20 20 49 46 20 74 78 74 5f 6d 6f   ┆N    WITH Wnd_ DO      IF txt_mo┆
0x62e80…62ea0            64 65 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 73 74 72 3a 3d 73 70 63 28 74 78   ┆de THEN BEGIN        str:=spc(tx┆
0x62ea0…62ec0            74 6d 61 78 78 2b 31 2c 27 20 27 29 3b 0d 0a 20 20 20 20 20 20 46 4f 52 20 69 3a 3d 30 20 54 4f   ┆tmaxx+1,' ');        FOR i:=0 TO┆
0x62ec0…62ee0            20 74 78 74 6d 61 78 79 20 44 4f 0d 0a 20 20 20 20 20 20 20 20 64 72 61 77 74 65 78 74 28 30 2c   ┆ txtmaxy DO          drawtext(0,┆
0x62ee0…62f00            69 2c 73 74 72 29 3b 0d 0a 20 20 20 20 45 4e 44 0d 0a 20 20 20 20 45 4c 53 45 0d 0a 20 20 20 20   ┆i,str);      END      ELSE      ┆
0x62f00…62f20            20 20 53 63 72 5f 46 69 6c 6c 28 78 31 2b 31 2c 20 79 31 2b 31 2c 20 78 31 2b 4d 61 78 58 2c 20   ┆  Scr_Fill(x1+1, y1+1, x1+MaxX, ┆
0x62f20…62f40            79 31 20 2b 20 6d 61 78 59 20 2c 62 61 63 6b 63 6f 6c 6f 72 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a   ┆y1 + maxY ,backcolor);  END;    ┆
0x62f40…62f60            50 52 4f 43 45 44 55 52 45 20 52 65 63 74 66 69 6c 6c 28 78 31 2c 79 31 2c 78 32 2c 79 32 3a 20   ┆PROCEDURE Rectfill(x1,y1,x2,y2: ┆
0x62f60…62f80            72 65 61 6c 3b 20 6e 6f 3a 20 69 6e 74 65 67 65 72 29 3b 0d 0a 56 41 52 0d 0a 20 20 70 61 74 74   ┆real; no: integer);  VAR    patt┆
0x62f80…62fa0            65 72 6e 20 3a 20 41 52 52 41 59 28 2e 30 2e 2e 37 2e 29 20 4f 46 20 69 6e 74 65 67 65 72 3b 0d   ┆ern : ARRAY(.0..7.) OF integer; ┆
0x62fa0…62fc0            0a 20 20 20 78 2c 73 78 31 2c 73 78 32 2c 79 2c 73 79 2c 69 3a 20 49 4e 54 45 47 45 52 3b 0d 0a   ┆    x,sx1,sx2,y,sy,i: INTEGER;  ┆
0x62fc0…62fe0            20 20 20 73 3a 20 73 74 72 69 6e 67 28 2e 32 2e 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 52 65 63   ┆   s: string(.2.);  BEGIN    Rec┆
0x62fe0…63000            74 61 6e 67 6c 65 28 78 31 2c 79 31 2c 78 32 2c 79 32 29 3b 0d 0a 20 20 73 74 72 28 6e 6f 3a 32   ┆tangle(x1,y1,x2,y2);    str(no:2┆
0x63000…63020 (39, 1, 2) 2c 73 29 3b 0d 0a 20 20 73 78 31 3a 3d 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 78 31 29 3b   ┆,s);    sx1:=_Wld_ToWindowX(x1);┆
0x63020…63040            0d 0a 20 20 73 78 32 3a 3d 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 58 28 78 32 29 3b 0d 0a 20 20   ┆    sx2:=_Wld_ToWindowX(x2);    ┆
0x63040…63060            46 4f 52 20 69 3a 3d 30 20 74 6f 20 37 20 44 4f 0d 0a 20 20 70 61 74 74 65 72 6e 28 2e 69 2e 29   ┆FOR i:=0 to 7 DO    pattern(.i.)┆
0x63060…63080            3a 3d 70 61 74 74 65 72 6e 74 79 70 65 28 2e 6e 6f 2c 69 2e 29 3b 0d 0a 20 20 46 4f 52 20 73 79   ┆:=patterntype(.no,i.);    FOR sy┆
0x63080…630a0            3a 3d 5f 57 6c 64 5f 54 6f 57 69 6e 64 6f 77 59 28 79 31 29 20 54 4f 20 5f 57 6c 64 5f 54 6f 57   ┆:=_Wld_ToWindowY(y1) TO _Wld_ToW┆
0x630a0…630c0            69 6e 64 6f 77 59 28 79 32 29 20 44 4f 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 69 3a 3d 73   ┆indowY(y2) DO    BEGIN      i:=s┆
0x630c0…630e0            79 20 4d 4f 44 20 38 3b 20 62 69 74 6e 72 3a 3d 30 3b 0d 0a 20 20 20 20 6c 69 6e 65 70 61 74 74   ┆y MOD 8; bitnr:=0;      linepatt┆
0x630e0…63100            65 72 6e 3a 3d 70 61 74 74 65 72 6e 28 2e 69 2e 29 3b 20 0d 0a 20 20 20 20 57 6e 64 5f 4c 69 6e   ┆ern:=pattern(.i.);       Wnd_Lin┆
0x63100…63120            65 54 6f 28 73 78 31 2c 73 79 2c 73 78 32 2c 73 79 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44   ┆eTo(sx1,sy,sx2,sy);    END;  END┆
0x63120…63140            3b 0d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆;                               ┆
0x63140…63160            00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
         […0x1…]
0x63180…631a0            e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
         […0x33…]
0x63800…63820 (39, 1, 4) 28 2a 47 53 56 2d 50 4c 30 31 2a 29 0d 0a 28 2a 24 49 20 6b 2d 67 72 61 66 30 2a 29 0d 0a 70 72   ┆(*GSV-PL01*)  (*$I k-graf0*)  pr┆
0x63820…63840            6f 63 65 64 75 72 65 20 6d 61 6b 65 61 78 65 72 28 78 31 2c 78 32 2c 79 31 2c 79 32 3a 20 72 65   ┆ocedure makeaxer(x1,x2,y1,y2: re┆
0x63840…63860            61 6c 29 3b 0d 0a 76 61 72 20 6a 3a 20 69 6e 74 65 67 65 72 3b 0d 0a 20 20 20 20 73 3a 20 73 74   ┆al);  var j: integer;      s: st┆
0x63860…63880            72 69 6e 67 28 2e 32 2e 29 3b 0d 0a 62 65 67 69 6e 0d 0a 20 20 6d 6f 76 65 74 6f 28 78 31 2c 79   ┆ring(.2.);  begin    moveto(x1,y┆
0x63880…638a0            31 29 3b 20 64 72 61 77 74 6f 28 78 31 2c 79 32 29 3b 0d 0a 20 20 6d 6f 76 65 74 6f 28 78 31 2c   ┆1); drawto(x1,y2);    moveto(x1,┆
0x638a0…638c0            79 31 29 3b 20 64 72 61 77 74 6f 28 78 32 2c 79 31 29 3b 20 64 72 61 77 74 6f 28 78 32 2c 79 32   ┆y1); drawto(x2,y1); drawto(x2,y2┆
0x638c0…638e0            29 3b 0d 0a 20 20 6d 6f 76 65 74 6f 28 78 31 2c 30 29 3b 20 64 72 61 77 74 6f 28 78 32 2c 30 29   ┆);    moveto(x1,0); drawto(x2,0)┆
0x638e0…63900            3b 0d 0a 20 20 66 6f 72 20 6a 3a 3d 72 6f 75 6e 64 28 78 31 29 20 74 6f 20 72 6f 75 6e 64 28 78   ┆;    for j:=round(x1) to round(x┆
0x63900…63920            32 29 20 64 6f 0d 0a 20 20 62 65 67 69 6e 0d 0a 20 20 20 20 69 66 20 28 6a 20 6d 6f 64 20 35 29   ┆2) do    begin      if (j mod 5)┆
0x63920…63940            3d 30 20 74 68 65 6e 0d 0a 20 20 20 20 62 65 67 69 6e 0d 0a 20 20 20 20 20 20 73 74 72 28 6a 3a   ┆=0 then      begin        str(j:┆
0x63940…63960            32 2c 73 29 3b 0d 0a 20 20 20 20 20 20 70 6c 6f 74 74 65 78 74 73 69 7a 65 28 6a 2d 30 2e 34 2c   ┆2,s);        plottextsize(j-0.4,┆
0x63960…63980            79 31 2d 33 2c 31 2c 31 2c 73 29 3b 20 0d 0a 20 20 20 20 20 20 6d 6f 76 65 74 6f 28 6a 2c 79 31   ┆y1-3,1,1,s);         moveto(j,y1┆
0x63980…639a0            2d 31 29 0d 0a 20 20 20 20 65 6e 64 20 20 20 20 20 0d 0a 20 20 20 20 65 6c 73 65 20 6d 6f 76 65   ┆-1)      end           else move┆
0x639a0…639c0            74 6f 28 6a 2c 79 31 2b 30 2e 35 29 3b 20 64 72 61 77 74 6f 28 6a 2c 79 31 29 3b 20 20 0d 0a 20   ┆to(j,y1+0.5); drawto(j,y1);     ┆
0x639c0…639e0            20 65 6e 64 3b 0d 0a 20 20 70 6c 6f 74 74 65 78 74 73 69 7a 65 28 78 32 2c 79 31 2d 33 2c 31 2c   ┆ end;    plottextsize(x2,y1-3,1,┆
0x639e0…63a00            31 2c 27 64 61 67 65 27 29 3b 20 0d 0a 20 20 66 6f 72 20 6a 3a 3d 72 6f 75 6e 64 28 79 31 29 20   ┆1,'dage');     for j:=round(y1) ┆
0x63a00…63a20            74 6f 20 72 6f 75 6e 64 28 79 32 29 20 64 6f 0d 0a 20 20 62 65 67 69 6e 20 20 0d 0a 20 20 20 20   ┆to round(y2) do    begin        ┆
0x63a20…63a40            69 66 20 28 6a 20 6d 6f 64 20 31 30 29 3d 30 20 74 68 65 6e 0d 0a 20 20 20 20 62 65 67 69 6e 0d   ┆if (j mod 10)=0 then      begin ┆
0x63a40…63a60            0a 20 20 20 20 20 20 73 74 72 28 6a 3a 32 2c 73 29 3b 0d 0a 20 20 20 20 20 20 70 6c 6f 74 74 65   ┆       str(j:2,s);        plotte┆
0x63a60…63a80            78 74 73 69 7a 65 28 78 31 2d 32 2c 6a 2d 30 2e 35 2c 31 2c 31 2c 73 29 3b 20 0d 0a 20 20 20 20   ┆xtsize(x1-2,j-0.5,1,1,s);       ┆
0x63a80…63aa0            20 20 6d 6f 76 65 74 6f 28 78 31 2d 30 2e 33 2c 6a 29 0d 0a 20 20 20 20 20 20 0d 0a 20 20 20 20   ┆  moveto(x1-0.3,j)              ┆
0x63aa0…63ac0            65 6e 64 20 65 6c 73 65 20 6d 6f 76 65 74 6f 28 78 31 2d 30 2e 31 35 2c 6a 29 3b 20 64 72 61 77   ┆end else moveto(x1-0.15,j); draw┆
0x63ac0…63ae0            74 6f 28 78 31 2c 6a 29 3b 0d 0a 20 20 65 6e 64 3b 20 20 20 20 20 20 0d 0a 65 6e 64 3b 0d 0a 0d   ┆to(x1,j);    end;        end;   ┆
0x63ae0…63b00            0a 76 61 72 20 63 68 3a 63 68 61 72 3b 0d 0a 20 20 20 20 20 6a 3a 20 69 6e 74 65 67 65 72 3b 0d   ┆ var ch:char;       j: integer; ┆
0x63b00…63b20            0a 62 65 67 69 6e 0d 0a 20 20 67 72 61 70 68 69 63 73 63 72 65 65 6e 28 4f 4c 49 5f 68 69 67 68   ┆ begin    graphicscreen(OLI_high┆
0x63b20…63b40            29 3b 0d 0a 20 20 67 72 61 70 68 6d 6f 64 65 3b 0d 0a 20 20 77 69 6e 64 6f 77 28 32 2c 2d 35 2c   ┆);    graphmode;    window(2,-5,┆
0x63b40…63b60            33 36 2c 2d 33 35 2c 33 35 29 3b 0d 0a 20 20 77 69 6e 64 6f 77 28 33 2c 2d 31 30 2c 34 30 2c 2d   ┆36,-35,35);    window(3,-10,40,-┆
0x63b60…63b80            34 30 2c 34 30 29 3b 0d 0a 20 20 77 69 6e 64 6f 77 28 34 2c 2d 31 30 30 2c 31 30 30 2c 2d 31 30   ┆40,40);    window(4,-100,100,-10┆
0x63b80…63ba0            30 2c 31 30 30 29 3b 0d 0a 20 20 76 69 65 77 70 6f 72 74 28 32 2c 31 30 30 2c 35 34 30 2c 31 30   ┆0,100);    viewport(2,100,540,10┆
0x63ba0…63bc0            30 2c 33 30 30 29 3b 0d 0a 20 20 73 65 6c 65 63 74 77 69 6e 64 6f 77 28 32 29 3b 0d 0a 20 20 73   ┆0,300);    selectwindow(2);    s┆
0x63bc0…63be0            65 6c 65 63 74 76 69 65 77 70 6f 72 74 28 31 29 3b 0d 0a 20 20 64 72 61 77 66 72 61 6d 65 3b 0d   ┆electviewport(1);    drawframe; ┆
0x63be0…63c00            0a 20 20 6d 61 6b 65 61 78 65 72 28 30 2c 33 32 2c 2d 33 30 2c 33 30 29 3b 0d 0a 20 20 73 61 76   ┆   makeaxer(0,32,-30,30);    sav┆
0x63c00…63c20 (39, 1, 5) 65 76 69 65 77 70 6f 72 74 28 31 29 3b 0d 0a 20 20 63 6c 65 61 72 3b 0d 0a 20 20 73 65 6c 65 63   ┆eviewport(1);    clear;    selec┆
0x63c20…63c40            74 77 69 6e 64 6f 77 28 32 29 3b 0d 0a 20 20 73 65 6c 65 63 74 76 69 65 77 70 6f 72 74 28 32 29   ┆twindow(2);    selectviewport(2)┆
0x63c40…63c60            3b 0d 0a 20 20 64 72 61 77 66 72 61 6d 65 3b 0d 0a 20 20 6d 61 6b 65 61 78 65 72 28 30 2c 33 32   ┆;    drawframe;    makeaxer(0,32┆
0x63c60…63c80            2c 2d 33 30 2c 33 30 29 3b 0d 0a 20 20 63 6c 65 61 72 3b 0d 0a 20 20 73 65 6c 65 63 74 77 69 6e   ┆,-30,30);    clear;    selectwin┆
0x63c80…63ca0            64 6f 77 28 32 29 3b 0d 0a 20 20 6c 6f 61 64 76 69 65 77 70 6f 72 74 28 31 2c 31 2c 31 29 3b 0d   ┆dow(2);    loadviewport(1,1,1); ┆
0x63ca0…63cc0            0a 20 20 72 65 61 64 28 6b 62 64 2c 63 68 29 3b 0d 0a 20 20 74 65 78 74 6d 6f 64 65 3b 0d 0a 65   ┆   read(kbd,ch);    textmode;  e┆
0x63cc0…63ce0            6e 64 2e 20 20 0d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆nd.                             ┆
0x63ce0…63d00            00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x63d00…63d20            e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
         […0x17…]
0x64000…64020 (40, 0, 1) 28 2a 47 53 56 2d 50 4c 30 32 2a 29 0d 0a 28 2a 24 49 20 6b 2d 67 72 61 66 30 2a 29 0d 0a 70 72   ┆(*GSV-PL02*)  (*$I k-graf0*)  pr┆
0x64020…64040            6f 63 65 64 75 72 65 20 6d 61 6b 65 61 78 65 72 28 78 31 2c 78 32 2c 79 31 2c 79 32 3a 20 72 65   ┆ocedure makeaxer(x1,x2,y1,y2: re┆
0x64040…64060            61 6c 29 3b 0d 0a 76 61 72 20 6a 3a 20 69 6e 74 65 67 65 72 3b 0d 0a 20 20 20 20 73 3a 20 73 74   ┆al);  var j: integer;      s: st┆
0x64060…64080            72 69 6e 67 28 2e 32 2e 29 3b 0d 0a 62 65 67 69 6e 0d 0a 20 20 6d 6f 76 65 74 6f 28 78 31 2c 79   ┆ring(.2.);  begin    moveto(x1,y┆
0x64080…640a0            31 29 3b 20 64 72 61 77 74 6f 28 78 31 2c 79 32 29 3b 0d 0a 20 20 6d 6f 76 65 74 6f 28 78 31 2c   ┆1); drawto(x1,y2);    moveto(x1,┆
0x640a0…640c0            79 31 29 3b 20 64 72 61 77 74 6f 28 78 32 2c 79 31 29 3b 20 64 72 61 77 74 6f 28 78 32 2c 79 32   ┆y1); drawto(x2,y1); drawto(x2,y2┆
0x640c0…640e0            29 3b 0d 0a 20 20 6d 6f 76 65 74 6f 28 78 31 2c 30 29 3b 20 64 72 61 77 74 6f 28 78 32 2c 30 29   ┆);    moveto(x1,0); drawto(x2,0)┆
0x640e0…64100            3b 0d 0a 20 20 66 6f 72 20 6a 3a 3d 72 6f 75 6e 64 28 78 31 29 20 74 6f 20 72 6f 75 6e 64 28 78   ┆;    for j:=round(x1) to round(x┆
0x64100…64120            32 29 20 64 6f 0d 0a 20 20 62 65 67 69 6e 0d 0a 20 20 20 20 69 66 20 28 6a 20 6d 6f 64 20 35 29   ┆2) do    begin      if (j mod 5)┆
0x64120…64140            3d 30 20 74 68 65 6e 0d 0a 20 20 20 20 62 65 67 69 6e 0d 0a 20 20 20 20 20 20 73 74 72 28 6a 3a   ┆=0 then      begin        str(j:┆
0x64140…64160            32 2c 73 29 3b 0d 0a 20 20 20 20 20 20 70 6c 6f 74 74 65 78 74 73 69 7a 65 28 6a 2d 30 2e 34 2c   ┆2,s);        plottextsize(j-0.4,┆
0x64160…64180            79 31 2d 33 2c 31 2c 31 2c 73 29 3b 20 0d 0a 20 20 20 20 20 20 6d 6f 76 65 74 6f 28 6a 2c 79 31   ┆y1-3,1,1,s);         moveto(j,y1┆
0x64180…641a0            2d 31 29 0d 0a 20 20 20 20 65 6e 64 20 20 20 20 20 0d 0a 20 20 20 20 65 6c 73 65 20 6d 6f 76 65   ┆-1)      end           else move┆
0x641a0…641c0            74 6f 28 6a 2c 79 31 2b 30 2e 35 29 3b 20 64 72 61 77 74 6f 28 6a 2c 79 31 29 3b 20 20 0d 0a 20   ┆to(j,y1+0.5); drawto(j,y1);     ┆
0x641c0…641e0            20 65 6e 64 3b 0d 0a 20 20 70 6c 6f 74 74 65 78 74 73 69 7a 65 28 78 32 2c 79 31 2d 33 2c 31 2c   ┆ end;    plottextsize(x2,y1-3,1,┆
0x641e0…64200            31 2c 27 64 61 67 65 27 29 3b 20 0d 0a 20 20 66 6f 72 20 6a 3a 3d 72 6f 75 6e 64 28 79 31 29 20   ┆1,'dage');     for j:=round(y1) ┆
0x64200…64220            74 6f 20 72 6f 75 6e 64 28 79 32 29 20 64 6f 0d 0a 20 20 62 65 67 69 6e 20 20 0d 0a 20 20 20 20   ┆to round(y2) do    begin        ┆
0x64220…64240            69 66 20 28 6a 20 6d 6f 64 20 31 30 29 3d 30 20 74 68 65 6e 0d 0a 20 20 20 20 62 65 67 69 6e 0d   ┆if (j mod 10)=0 then      begin ┆
0x64240…64260            0a 20 20 20 20 20 20 73 74 72 28 6a 3a 32 2c 73 29 3b 0d 0a 20 20 20 20 20 20 70 6c 6f 74 74 65   ┆       str(j:2,s);        plotte┆
0x64260…64280            78 74 73 69 7a 65 28 78 31 2d 32 2c 6a 2d 30 2e 35 2c 31 2c 31 2c 73 29 3b 20 0d 0a 20 20 20 20   ┆xtsize(x1-2,j-0.5,1,1,s);       ┆
0x64280…642a0            20 20 6d 6f 76 65 74 6f 28 78 31 2d 30 2e 33 2c 6a 29 0d 0a 20 20 20 20 20 20 0d 0a 20 20 20 20   ┆  moveto(x1-0.3,j)              ┆
0x642a0…642c0            65 6e 64 20 65 6c 73 65 20 6d 6f 76 65 74 6f 28 78 31 2d 30 2e 31 35 2c 6a 29 3b 20 64 72 61 77   ┆end else moveto(x1-0.15,j); draw┆
0x642c0…642e0            74 6f 28 78 31 2c 6a 29 3b 0d 0a 20 20 65 6e 64 3b 20 20 20 20 20 20 0d 0a 65 6e 64 3b 0d 0a 0d   ┆to(x1,j);    end;        end;   ┆
0x642e0…64300            0a 76 61 72 20 63 68 3a 63 68 61 72 3b 0d 0a 20 20 20 20 20 6a 3a 20 69 6e 74 65 67 65 72 3b 0d   ┆ var ch:char;       j: integer; ┆
0x64300…64320            0a 62 65 67 69 6e 0d 0a 20 20 67 72 61 70 68 69 63 73 63 72 65 65 6e 28 4f 4c 49 5f 68 69 67 68   ┆ begin    graphicscreen(OLI_high┆
0x64320…64340            29 3b 0d 0a 20 20 67 72 61 70 68 6d 6f 64 65 3b 0d 0a 20 20 77 69 6e 64 6f 77 28 32 2c 2d 35 2c   ┆);    graphmode;    window(2,-5,┆
0x64340…64360            33 36 2c 2d 33 35 2c 33 35 29 3b 0d 0a 20 20 77 69 6e 64 6f 77 28 33 2c 2d 31 30 2c 34 30 2c 2d   ┆36,-35,35);    window(3,-10,40,-┆
0x64360…64380            34 30 2c 34 30 29 3b 0d 0a 20 20 77 69 6e 64 6f 77 28 34 2c 2d 31 30 30 2c 31 30 30 2c 2d 31 30   ┆40,40);    window(4,-100,100,-10┆
0x64380…643a0            30 2c 31 30 30 29 3b 0d 0a 20 20 76 69 65 77 70 6f 72 74 28 32 2c 31 30 30 2c 35 34 30 2c 31 30   ┆0,100);    viewport(2,100,540,10┆
0x643a0…643c0            30 2c 33 30 30 29 3b 0d 0a 20 20 73 65 6c 65 63 74 77 69 6e 64 6f 77 28 31 29 3b 0d 0a 20 20 73   ┆0,300);    selectwindow(1);    s┆
0x643c0…643e0            65 6c 65 63 74 76 69 65 77 70 6f 72 74 28 31 29 3b 0d 0a 20 20 64 72 61 77 66 72 61 6d 65 3b 0d   ┆electviewport(1);    drawframe; ┆
0x643e0…64400            0a 20 20 6d 6f 76 65 74 6f 28 30 2c 30 29 3b 20 64 72 61 77 74 6f 28 36 33 39 2c 33 39 39 29 3b   ┆   moveto(0,0); drawto(639,399);┆
0x64400…64420 (40, 0, 2) 0d 0a 20 20 0d 0a 20 20 72 65 61 64 28 6b 62 64 2c 63 68 29 3b 0d 0a 20 20 74 65 78 74 6d 6f 64   ┆        read(kbd,ch);    textmod┆
0x64420…64440            65 3b 0d 0a 65 6e 64 2e 20 20 0d 0a 47 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆e;  end.    G                   ┆
0x64440…64460            00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
         […0x1…]
0x64480…644a0            e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
         […0x1b…]
0x64800…64820 (40, 0, 3) 28 2a 47 53 56 2d 50 4c 30 33 2a 29 0d 0a 28 2a 24 49 20 47 53 56 2d 42 41 53 45 2a 29 0d 0a 28   ┆(*GSV-PL03*)  (*$I GSV-BASE*)  (┆
0x64820…64840            2a 24 49 20 47 53 56 2d 4d 41 52 4b 2a 29 0d 0a 0d 0a 76 61 72 20 63 68 3a 63 68 61 72 3b 0d 0a   ┆*$I GSV-MARK*)    var ch:char;  ┆
0x64840…64860            20 20 20 20 20 6a 2c 69 3a 20 69 6e 74 65 67 65 72 3b 0d 0a 20 20 20 20 20 73 3a 20 73 74 72 69   ┆     j,i: integer;       s: stri┆
0x64860…64880            6e 67 28 2e 32 2e 29 3b 0d 0a 20 20 20 20 20 78 2c 79 3a 72 65 61 6c 3b 0d 0a 62 65 67 69 6e 0d   ┆ng(.2.);       x,y:real;  begin ┆
0x64880…648a0            0a 20 20 67 72 61 70 68 69 63 73 63 72 65 65 6e 3b 0d 0a 20 20 67 72 61 70 68 6d 6f 64 65 3b 0d   ┆   graphicscreen;    graphmode; ┆
0x648a0…648c0            0a 20 20 64 72 61 77 66 72 61 6d 65 3b 0d 0a 20 20 6c 69 6e 65 70 61 74 74 65 72 6e 3a 3d 6c 69   ┆   drawframe;    linepattern:=li┆
0x648c0…648e0            6e 65 74 79 70 65 28 2e 31 2e 29 3b 0d 0a 20 20 0d 0a 20 20 46 4f 52 20 69 3a 3d 31 20 54 4f 20   ┆netype(.1.);        FOR i:=1 TO ┆
0x648e0…64900            32 30 20 44 4f 0d 0a 20 20 62 65 67 69 6e 0d 0a 20 20 69 66 20 6b 65 79 70 72 65 73 73 20 74 68   ┆20 DO    begin    if keypress th┆
0x64900…64920            65 6e 20 65 78 69 74 3b 0d 0a 20 20 20 20 79 3a 3d 33 39 39 2d 69 2a 32 30 3b 0d 0a 20 20 20 20   ┆en exit;      y:=399-i*20;      ┆
0x64920…64940            73 74 72 28 69 3a 32 2c 73 29 3b 0d 0a 20 20 20 20 70 6c 6f 74 74 65 78 74 28 34 35 30 2c 79 2c   ┆str(i:2,s);      plottext(450,y,┆
0x64940…64960            73 29 3b 0d 0a 20 20 20 20 66 6f 72 20 6a 3a 3d 31 20 74 6f 20 33 20 64 6f 0d 0a 20 20 20 20 62   ┆s);      for j:=1 to 3 do      b┆
0x64960…64980            65 67 69 6e 0d 0a 20 20 69 66 20 6b 65 79 70 72 65 73 73 20 74 68 65 6e 20 65 78 69 74 3b 0d 0a   ┆egin    if keypress then exit;  ┆
0x64980…649a0            20 20 20 20 20 20 20 20 79 3a 3d 2b 33 39 39 2d 69 2a 32 30 3b 0d 0a 0d 0a 20 20 20 20 20 20 6d   ┆        y:=+399-i*20;          m┆
0x649a0…649c0            61 72 6b 65 72 73 69 7a 65 3a 3d 6a 2a 33 3b 0d 0a 20 20 20 20 20 20 50 4c 4f 54 4d 41 52 4b 45   ┆arkersize:=j*3;        PLOTMARKE┆
0x649c0…649e0            52 28 34 36 30 2b 6a 2a 32 35 2c 79 2c 69 29 3b 0d 0a 20 20 20 20 65 6e 64 3b 0d 0a 20 20 65 6e   ┆R(460+j*25,y,i);      end;    en┆
0x649e0…64a00            64 3b 0d 0a 20 20 0d 0a 20 20 46 4f 52 20 69 3a 3d 32 31 20 54 4f 20 32 34 20 44 4f 0d 0a 20 20   ┆d;        FOR i:=21 TO 24 DO    ┆
0x64a00…64a20            62 65 67 69 6e 0d 0a 20 20 69 66 20 6b 65 79 70 72 65 73 73 20 74 68 65 6e 20 65 78 69 74 3b 0d   ┆begin    if keypress then exit; ┆
0x64a20…64a40            0a 20 20 20 20 79 3a 3d 31 36 30 2d 28 69 2d 32 30 29 2a 32 30 3b 0d 0a 20 20 20 20 73 74 72 28   ┆     y:=160-(i-20)*20;      str(┆
0x64a40…64a60            69 3a 32 2c 73 29 3b 0d 0a 20 20 20 20 70 6c 6f 74 74 65 78 74 28 31 30 2c 79 2c 73 29 3b 0d 0a   ┆i:2,s);      plottext(10,y,s);  ┆
0x64a60…64a80            20 20 20 20 66 6f 72 20 6a 3a 3d 31 20 74 6f 20 33 20 64 6f 0d 0a 20 20 20 20 62 65 67 69 6e 0d   ┆    for j:=1 to 3 do      begin ┆
0x64a80…64aa0            0a 20 20 69 66 20 6b 65 79 70 72 65 73 73 20 74 68 65 6e 20 65 78 69 74 3b 0d 0a 20 20 20 20 20   ┆   if keypress then exit;       ┆
0x64aa0…64ac0            20 6d 61 72 6b 65 72 73 69 7a 65 3a 3d 6a 2a 33 3b 0d 0a 20 20 20 20 20 20 50 4c 4f 54 4d 41 52   ┆ markersize:=j*3;        PLOTMAR┆
0x64ac0…64ae0            4b 45 52 28 35 30 2b 6a 2a 32 35 2c 79 2c 69 29 3b 0d 0a 20 20 20 20 65 6e 64 3b 0d 0a 20 20 65   ┆KER(50+j*25,y,i);      end;    e┆
0x64ae0…64b00            6e 64 3b 0d 0a 20 20 66 6f 72 20 69 3a 3d 30 20 74 6f 20 31 31 20 64 6f 0d 0a 20 20 62 65 67 69   ┆nd;    for i:=0 to 11 do    begi┆
0x64b00…64b20            6e 0d 0a 20 20 20 20 79 3a 3d 33 39 39 2d 69 2a 32 30 3b 0d 0a 20 20 20 20 6c 69 6e 65 70 61 74   ┆n      y:=399-i*20;      linepat┆
0x64b20…64b40            74 65 72 6e 3a 3d 6c 69 6e 65 74 79 70 65 28 2e 69 2e 29 3b 0d 0a 20 20 20 20 73 74 72 28 69 3a   ┆tern:=linetype(.i.);      str(i:┆
0x64b40…64b60            32 2c 73 29 3b 0d 0a 20 20 20 20 70 6c 6f 74 74 65 78 74 28 31 30 2c 79 2b 38 2c 73 29 3b 0d 0a   ┆2,s);      plottext(10,y+8,s);  ┆
0x64b60…64b80            20 20 20 20 66 6f 72 20 6a 3a 3d 31 20 74 6f 20 33 20 64 6f 0d 0a 20 20 20 20 62 65 67 69 6e 0d   ┆    for j:=1 to 3 do      begin ┆
0x64b80…64ba0            0a 20 20 20 20 20 20 79 3a 3d 6a 2a 35 2b 33 39 39 2d 69 2a 32 30 3b 0d 0a 20 20 20 20 20 20 6c   ┆       y:=j*5+399-i*20;        l┆
0x64ba0…64bc0            69 6e 65 70 61 74 74 65 72 6e 73 69 7a 65 3a 3d 6a 2a 32 3b 0d 0a 20 20 20 20 20 20 6d 6f 76 65   ┆inepatternsize:=j*2;        move┆
0x64bc0…64be0            74 6f 28 34 30 2c 79 29 3b 20 64 72 61 77 74 6f 28 34 30 30 2c 79 29 3b 0d 0a 20 20 20 20 65 6e   ┆to(40,y); drawto(400,y);      en┆
0x64be0…64c00            64 3b 0d 0a 20 20 65 6e 64 3b 0d 0a 20 20 6c 69 6e 65 70 61 74 74 65 72 6e 3a 3d 6c 69 6e 65 74   ┆d;    end;    linepattern:=linet┆
0x64c00…64c20 (40, 0, 4) 79 70 65 28 2e 31 2e 29 3b 0d 0a 20 20 72 65 61 64 28 6b 62 64 2c 63 68 29 3b 0d 0a 20 20 53 63   ┆ype(.1.);    read(kbd,ch);    Sc┆
0x64c20…64c40            72 5f 64 75 6d 70 28 6e 65 63 5f 31 36 62 69 74 29 3b 0d 0a 20 20 74 65 78 74 6d 6f 64 65 3b 0d   ┆r_dump(nec_16bit);    textmode; ┆
0x64c40…64c60            0a 65 6e 64 2e 20 20 0d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ end.                           ┆
0x64c60…64c80            00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x64c80…64ca0            e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
         […0x1b…]
0x65000…65020 (40, 0, 5) 28 2a 47 53 56 2d 50 4c 30 33 2a 29 0d 0a 28 2a 24 49 20 41 3a 47 53 56 2d 42 41 53 45 2a 29 0d   ┆(*GSV-PL03*)  (*$I A:GSV-BASE*) ┆
0x65020…65040            0a 0d 0a 76 61 72 20 63 68 3a 63 68 61 72 3b 0d 0a 20 20 20 20 20 6a 2c 69 3a 20 69 6e 74 65 67   ┆   var ch:char;       j,i: integ┆
0x65040…65060            65 72 3b 0d 0a 20 20 20 20 20 73 3a 20 73 74 72 69 6e 67 28 2e 32 2e 29 3b 0d 0a 20 20 20 20 20   ┆er;       s: string(.2.);       ┆
0x65060…65080            78 2c 79 3a 72 65 61 6c 3b 0d 0a 62 65 67 69 6e 0d 0a 20 20 67 72 61 70 68 69 63 73 63 72 65 65   ┆x,y:real;  begin    graphicscree┆
0x65080…650a0            6e 3b 0d 0a 20 20 67 72 61 70 68 6d 6f 64 65 3b 0d 0a 20 20 64 72 61 77 66 72 61 6d 65 3b 0d 0a   ┆n;    graphmode;    drawframe;  ┆
0x650a0…650c0            20 20 6c 69 6e 65 70 61 74 74 65 72 6e 3a 3d 6c 69 6e 65 74 79 70 65 28 2e 31 2e 29 3b 0d 0a 20   ┆  linepattern:=linetype(.1.);   ┆
0x650c0…650e0            20 70 6c 6f 74 74 65 78 74 73 69 7a 65 28 31 30 2c 31 30 2c 31 2c 31 2c 27 4d 27 29 3b 0d 0a 20   ┆ plottextsize(10,10,1,1,'M');   ┆
0x650e0…65100            70 6c 6f 74 74 65 78 74 73 69 7a 65 28 31 30 2c 35 30 2c 31 2c 32 2c 27 4d 27 29 3b 0d 0a 20 20   ┆plottextsize(10,50,1,2,'M');    ┆
0x65100…65120            70 6c 6f 74 74 65 78 74 73 69 7a 65 28 31 30 2c 39 30 2c 32 2c 32 2c 27 4d 27 29 3b 0d 0a 20 20   ┆plottextsize(10,90,2,2,'M');    ┆
0x65120…65140            70 6c 6f 74 74 65 78 74 73 69 7a 65 28 31 30 2c 31 35 30 2c 32 2c 33 2c 27 4d 27 29 3b 0d 0a 20   ┆plottextsize(10,150,2,3,'M');   ┆
0x65140…65160            20 70 6c 6f 74 74 65 78 74 73 69 7a 65 28 31 30 2c 32 30 30 2c 33 2c 33 2c 27 4d 27 29 3b 0d 0a   ┆ plottextsize(10,200,3,3,'M');  ┆
0x65160…65180            20 20 70 6c 6f 74 74 65 78 74 73 69 7a 65 28 31 30 2c 33 30 30 2c 33 2c 34 2c 27 4d 27 29 3b 0d   ┆  plottextsize(10,300,3,4,'M'); ┆
0x65180…651a0            0a 20 20 70 6c 6f 74 74 65 78 74 73 69 7a 65 28 33 30 30 2c 31 30 30 2c 38 2c 31 32 2c 27 4d 27   ┆   plottextsize(300,100,8,12,'M'┆
0x651a0…651c0            29 3b 0d 0a 20 0d 0a 20 72 65 61 64 6c 6e 3b 0d 0a 20 20 74 65 78 74 6d 6f 64 65 3b 0d 0a 65 6e   ┆);      readln;    textmode;  en┆
0x651c0…651e0            64 2e 20 20 0d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆d.                              ┆
0x651e0…65200            00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x65200…65220            e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
         […0x2f…]
0x65800…65820 (40, 1, 2) 28 2a 47 53 56 2d 50 4d 52 4b 2a 29 0d 0a 28 2a 24 49 20 61 3a 47 53 56 2d 42 41 53 45 2a 29 0d   ┆(*GSV-PMRK*)  (*$I a:GSV-BASE*) ┆
0x65820…65840            0a 28 2a 24 49 20 41 3a 47 53 56 2d 4d 41 52 4b 2a 29 0d 0a 0d 0a 76 61 72 20 63 68 3a 63 68 61   ┆ (*$I A:GSV-MARK*)    var ch:cha┆
0x65840…65860            72 3b 0d 0a 20 20 20 20 20 6a 2c 69 3a 20 69 6e 74 65 67 65 72 3b 0d 0a 20 20 20 20 20 73 3a 20   ┆r;       j,i: integer;       s: ┆
0x65860…65880            73 74 72 69 6e 67 28 2e 32 2e 29 3b 0d 0a 20 20 20 20 20 78 2c 79 3a 72 65 61 6c 3b 0d 0a 0d 0a   ┆string(.2.);       x,y:real;    ┆
0x65880…658a0            50 52 4f 43 45 44 55 52 45 20 53 68 6f 77 4d 61 72 6b 73 79 6d 62 6f 6c 65 72 3b 0d 0a 70 72 6f   ┆PROCEDURE ShowMarksymboler;  pro┆
0x658a0…658c0            63 65 64 75 72 65 20 6d 61 72 6b 68 65 6c 70 28 69 3a 69 6e 74 65 67 65 72 29 3b 0d 0a 42 45 47   ┆cedure markhelp(i:integer);  BEG┆
0x658c0…658e0            49 4e 0d 0a 20 20 78 3a 3d 69 3b 0d 0a 20 20 73 74 72 28 69 3a 32 2c 73 29 3b 0d 0a 20 20 50 6c   ┆IN    x:=i;    str(i:2,s);    Pl┆
0x658e0…65900            6f 74 54 65 78 74 28 78 2d 30 2e 35 2c 31 2e 35 2c 73 29 3b 0d 0a 20 20 46 4f 52 20 6a 3a 3d 31   ┆otText(x-0.5,1.5,s);    FOR j:=1┆
0x65900…65920            20 74 6f 20 37 20 44 4f 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 6d 61 72 6b 65 72 73 69 7a   ┆ to 7 DO    BEGIN      markersiz┆
0x65920…65940            65 3a 3d 6a 3b 0d 0a 20 20 20 20 50 6c 6f 74 6d 61 72 6b 65 72 28 78 2c 6a 2b 31 2c 69 29 3b 0d   ┆e:=j;      Plotmarker(x,j+1,i); ┆
0x65940…65960            0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 6c 64 52 61 6e   ┆   END;  END;    BEGIN    WldRan┆
0x65960…65980            67 65 28 34 2c 30 2c 32 35 2c 31 30 2c 30 29 3b 0d 0a 20 20 53 65 6c 65 63 74 57 69 6e 64 6f 77   ┆ge(4,0,25,10,0);    SelectWindow┆
0x65980…659a0            28 34 29 3b 0d 0a 20 20 53 65 6c 65 63 74 57 6c 64 52 61 6e 67 65 28 34 29 3b 20 0d 0a 20 20 6c   ┆(4);    SelectWldRange(4);     l┆
0x659a0…659c0            69 6e 65 70 61 74 74 65 72 6e 3a 3d 6c 69 6e 65 74 79 70 65 28 2e 31 2e 29 3b 0d 0a 20 20 63 68   ┆inepattern:=linetype(.1.);    ch┆
0x659c0…659e0            68 65 69 67 74 68 3a 3d 31 3b 0d 0a 20 20 70 6c 6f 74 74 65 78 74 28 31 2c 30 2e 35 2c 27 50 6c   ┆heigth:=1;    plottext(1,0.5,'Pl┆
0x659e0…65a00            6f 74 6d 61 72 6b 65 72 28 78 2c 79 2c 69 29 2c 20 4d 61 72 6b 65 72 73 69 7a 65 20 3d 20 31 20   ┆otmarker(x,y,i), Markersize = 1 ┆
0x65a00…65a20            74 69 6c 20 37 27 29 3b 0d 0a 20 20 63 68 68 65 69 67 74 68 3a 3d 31 3b 0d 0a 20 20 0d 0a 20 20   ┆til 7');    chheigth:=1;        ┆
0x65a20…65a40            46 4f 52 20 69 3a 3d 31 20 54 4f 20 38 20 44 4f 20 6d 61 72 6b 68 65 6c 70 28 69 29 3b 0d 0a 20   ┆FOR i:=1 TO 8 DO markhelp(i);   ┆
0x65a40…65a60            20 46 4f 52 20 69 3a 3d 31 31 20 54 4f 20 31 38 20 44 4f 20 6d 61 72 6b 68 65 6c 70 28 69 29 3b   ┆ FOR i:=11 TO 18 DO markhelp(i);┆
0x65a60…65a80            0d 0a 20 20 46 4f 52 20 69 3a 3d 32 31 20 54 4f 20 32 34 20 44 4f 20 6d 61 72 6b 68 65 6c 70 28   ┆    FOR i:=21 TO 24 DO markhelp(┆
0x65a80…65aa0            69 29 3b 0d 0a 20 20 0d 0a 20 20 72 65 61 64 28 6b 62 64 2c 63 68 29 3b 0d 0a 20 20 69 66 20 28   ┆i);        read(kbd,ch);    if (┆
0x65aa0…65ac0            63 68 3d 27 70 27 29 20 6f 72 20 28 63 68 3d 27 50 27 29 20 74 68 65 6e 20 20 53 63 72 5f 64 75   ┆ch='p') or (ch='P') then  Scr_du┆
0x65ac0…65ae0            6d 70 28 6e 65 63 5f 31 36 62 69 74 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52   ┆mp(nec_16bit);  END;    PROCEDUR┆
0x65ae0…65b00            45 20 53 68 6f 77 4c 69 6e 65 70 61 74 74 65 72 6e 3b 20 20 0d 0a 42 45 47 49 4e 0d 0a 20 20 57   ┆E ShowLinepattern;    BEGIN    W┆
0x65b00…65b20            6c 64 52 61 6e 67 65 28 33 2c 30 2c 31 30 2c 31 36 2c 30 29 3b 0d 0a 20 20 53 65 6c 65 63 74 57   ┆ldRange(3,0,10,16,0);    SelectW┆
0x65b20…65b40            69 6e 64 6f 77 28 33 29 3b 0d 0a 20 20 53 65 6c 65 63 74 57 6c 64 52 61 6e 67 65 28 33 29 3b 20   ┆indow(3);    SelectWldRange(3); ┆
0x65b40…65b60            0d 0a 20 20 63 68 68 65 69 67 74 68 3a 3d 31 3b 0d 0a 20 20 70 6c 6f 74 74 65 78 74 28 31 2c 30   ┆    chheigth:=1;    plottext(1,0┆
0x65b60…65b80            2e 35 2c 27 4c 69 6e 65 74 79 70 65 28 2e 69 2e 29 2c 20 20 4c 69 6e 65 70 61 74 74 65 72 6e 3a   ┆.5,'Linetype(.i.),  Linepattern:┆
0x65b80…65ba0            3d 4c 69 6e 65 74 79 70 65 28 2e 69 2e 29 27 29 3b 0d 0a 20 20 63 68 68 65 69 67 74 68 3a 3d 32   ┆=Linetype(.i.)');    chheigth:=2┆
0x65ba0…65bc0            3b 0d 0a 20 20 46 4f 52 20 69 3a 3d 31 20 74 6f 20 31 34 20 44 4f 0d 0a 20 20 42 45 47 49 4e 0d   ┆;    FOR i:=1 to 14 DO    BEGIN ┆
0x65bc0…65be0            0a 20 20 20 20 79 3a 3d 69 3b 0d 0a 20 20 20 20 6c 69 6e 65 70 61 74 74 65 72 6e 3a 3d 6c 69 6e   ┆     y:=i;      linepattern:=lin┆
0x65be0…65c00            65 74 79 70 65 28 2e 69 2e 29 3b 0d 0a 20 20 20 20 73 74 72 28 69 3a 32 2c 73 29 3b 0d 0a 20 20   ┆etype(.i.);      str(i:2,s);    ┆
0x65c00…65c20 (40, 1, 3) 20 20 50 6c 6f 74 54 65 78 74 28 30 2e 35 2c 79 2b 31 2c 73 29 3b 0d 0a 20 20 20 20 46 4f 52 20   ┆  PlotText(0.5,y+1,s);      FOR ┆
0x65c20…65c40            6a 3a 3d 31 20 74 6f 20 32 20 44 4f 0d 0a 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 62   ┆j:=1 to 2 DO      BEGIN        b┆
0x65c40…65c60            69 74 6e 72 3a 3d 30 3b 0d 0a 20 20 20 20 20 20 6c 69 6e 65 70 61 74 74 65 72 6e 3a 3d 6c 69 6e   ┆itnr:=0;        linepattern:=lin┆
0x65c60…65c80            65 74 79 70 65 28 2e 69 2e 29 3b 0d 0a 20 20 20 20 20 20 79 3a 3d 69 2b 6a 2a 30 2e 32 2b 30 2e   ┆etype(.i.);        y:=i+j*0.2+0.┆
0x65c80…65ca0            32 3b 0d 0a 20 20 20 20 20 20 6c 69 6e 65 70 61 74 74 65 72 6e 73 69 7a 65 3a 3d 6a 2a 32 3b 0d   ┆2;        linepatternsize:=j*2; ┆
0x65ca0…65cc0            0a 20 20 20 20 20 20 6d 6f 76 65 74 6f 28 31 2c 79 29 3b 20 6c 69 6e 65 74 6f 28 31 30 2c 79 29   ┆       moveto(1,y); lineto(10,y)┆
0x65cc0…65ce0            3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 72 65 61 64 28 6b 62 64 2c   ┆;      END;    END;    read(kbd,┆
0x65ce0…65d00            63 68 29 3b 0d 0a 20 20 69 66 20 28 63 68 3d 27 70 27 29 20 6f 72 20 28 63 68 3d 27 50 27 29 20   ┆ch);    if (ch='p') or (ch='P') ┆
0x65d00…65d20            74 68 65 6e 20 20 53 63 72 5f 64 75 6d 70 28 6e 65 63 5f 31 36 62 69 74 29 3b 0d 0a 45 4e 44 3b   ┆then  Scr_dump(nec_16bit);  END;┆
0x65d20…65d40            0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 68 6f 77 46 69 6c 6c 70 61 74 74 65 72 6e 3b 0d 0a   ┆    PROCEDURE ShowFillpattern;  ┆
0x65d40…65d60            42 45 47 49 4e 0d 0a 20 20 6c 69 6e 65 70 61 74 74 65 72 6e 3a 3d 6c 69 6e 65 74 79 70 65 28 2e   ┆BEGIN    linepattern:=linetype(.┆
0x65d60…65d80            31 2e 29 3b 0d 0a 20 20 6c 69 6e 65 50 61 74 74 65 72 6e 73 69 7a 65 3a 3d 31 3b 0d 0a 20 20 57   ┆1.);    linePatternsize:=1;    W┆
0x65d80…65da0            6c 64 52 61 6e 67 65 28 32 2c 30 2c 39 2c 31 2c 37 29 3b 0d 0a 20 20 53 65 6c 65 63 74 57 69 6e   ┆ldRange(2,0,9,1,7);    SelectWin┆
0x65da0…65dc0            64 6f 77 28 32 29 3b 0d 0a 20 20 53 65 6c 65 63 74 57 6c 64 52 61 6e 67 65 28 32 29 3b 20 0d 0a   ┆dow(2);    SelectWldRange(2);   ┆
0x65dc0…65de0            20 20 63 68 68 65 69 67 74 68 3a 3d 31 3b 0d 0a 20 20 70 6c 6f 74 74 65 78 74 28 31 2c 36 2e 35   ┆  chheigth:=1;    plottext(1,6.5┆
0x65de0…65e00            2c 27 50 61 74 74 65 72 6e 74 79 70 65 28 2e 69 2e 29 2c 20 20 6e 6f 20 69 20 52 65 63 74 66 69   ┆,'Patterntype(.i.),  no i Rectfi┆
0x65e00…65e20            6c 6c 20 3a 3d 70 61 74 74 65 72 6e 74 79 70 65 28 2e 69 2e 29 27 29 3b 0d 0a 20 20 63 68 68 65   ┆ll :=patterntype(.i.)');    chhe┆
0x65e20…65e40            69 67 74 68 3a 3d 32 3b 0d 0a 20 20 46 4f 52 20 6a 3a 3d 31 20 74 6f 20 35 20 20 44 4f 0d 0a 20   ┆igth:=2;    FOR j:=1 to 5  DO   ┆
0x65e40…65e60            20 42 45 47 49 4e 0d 0a 20 20 20 20 73 74 72 28 6a 3a 32 2c 73 29 3b 0d 0a 20 20 20 20 70 6c 6f   ┆ BEGIN      str(j:2,s);      plo┆
0x65e60…65e80            74 74 65 78 74 28 30 2e 35 2c 6a 2b 30 2e 35 2c 73 29 3b 0d 0a 20 20 20 20 52 65 63 74 66 69 6c   ┆ttext(0.5,j+0.5,s);      Rectfil┆
0x65e80…65ea0            6c 28 31 2c 6a 2c 33 2c 6a 2b 31 2c 6a 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 46 4f 52 20 6a   ┆l(1,j,3,j+1,j);    END;    FOR j┆
0x65ea0…65ec0            3a 3d 36 20 74 6f 20 31 30 20 44 4f 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 73 74 72 28 6a   ┆:=6 to 10 DO    BEGIN      str(j┆
0x65ec0…65ee0            3a 32 2c 73 29 3b 0d 0a 20 20 20 20 70 6c 6f 74 74 65 78 74 28 33 2e 35 2c 6a 2d 35 2b 30 2e 35   ┆:2,s);      plottext(3.5,j-5+0.5┆
0x65ee0…65f00            2c 73 29 3b 0d 0a 20 20 20 20 52 65 63 74 66 69 6c 6c 28 34 2c 6a 2d 35 2c 36 2c 6a 2d 35 2b 31   ┆,s);      Rectfill(4,j-5,6,j-5+1┆
0x65f00…65f20            2c 6a 29 3b 0d 0a 20 20 45 4e 44 3b 20 0d 0a 20 20 46 4f 52 20 6a 3a 3d 31 31 20 74 6f 20 31 35   ┆,j);    END;     FOR j:=11 to 15┆
0x65f20…65f40            20 20 44 4f 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 73 74 72 28 6a 3a 32 2c 73 29 3b 0d 0a   ┆  DO    BEGIN      str(j:2,s);  ┆
0x65f40…65f60            20 20 20 20 70 6c 6f 74 74 65 78 74 28 36 2e 35 2c 6a 2d 31 30 2b 30 2e 35 2c 73 29 3b 0d 0a 20   ┆    plottext(6.5,j-10+0.5,s);   ┆
0x65f60…65f80            20 20 20 72 65 63 74 66 69 6c 6c 28 37 2c 6a 2d 31 30 2c 39 2c 6a 2d 31 30 2b 31 2c 6a 29 3b 0d   ┆   rectfill(7,j-10,9,j-10+1,j); ┆
0x65f80…65fa0            0a 20 20 45 4e 44 3b 0d 0a 20 20 20 72 65 61 64 28 6b 62 64 2c 63 68 29 3b 0d 0a 20 20 69 66 20   ┆   END;     read(kbd,ch);    if ┆
0x65fa0…65fc0            28 63 68 3d 27 70 27 29 20 6f 72 20 28 63 68 3d 27 50 27 29 20 74 68 65 6e 20 20 53 63 72 5f 64   ┆(ch='p') or (ch='P') then  Scr_d┆
0x65fc0…65fe0            75 6d 70 28 6e 65 63 5f 31 36 62 69 74 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 42 45 47 49 4e 0d 0a   ┆ump(nec_16bit);  END;    BEGIN  ┆
0x65fe0…66000            20 20 67 72 61 70 68 69 63 73 63 72 65 65 6e 3b 0d 0a 20 20 67 72 61 70 68 6d 6f 64 65 3b 0d 0a   ┆  graphicscreen;    graphmode;  ┆
0x66000…66020 (40, 1, 4) 20 20 53 61 76 65 57 69 6e 64 6f 77 28 31 29 3b 0d 0a 20 20 53 68 6f 77 4c 69 6e 65 70 61 74 74   ┆  SaveWindow(1);    ShowLinepatt┆
0x66020…66040            65 72 6e 3b 0d 0a 20 20 53 65 6c 65 63 74 57 6c 64 52 61 6e 67 65 28 31 29 3b 0d 0a 20 20 4c 6f   ┆ern;    SelectWldRange(1);    Lo┆
0x66040…66060            61 64 57 69 6e 64 6f 77 28 31 2c 30 2c 30 29 3b 0d 0a 20 20 53 68 6f 77 46 69 6c 6c 70 61 74 74   ┆adWindow(1,0,0);    ShowFillpatt┆
0x66060…66080            65 72 6e 3b 0d 0a 20 20 53 65 6c 65 63 74 57 6c 64 52 61 6e 67 65 28 31 29 3b 0d 0a 20 20 4c 6f   ┆ern;    SelectWldRange(1);    Lo┆
0x66080…660a0            61 64 57 69 6e 64 6f 77 28 31 2c 30 2c 30 29 3b 0d 0a 20 20 53 68 6f 77 4d 61 72 6b 73 79 6d 62   ┆adWindow(1,0,0);    ShowMarksymb┆
0x660a0…660c0            6f 6c 65 72 3b 0d 0a 20 20 74 65 78 74 6d 6f 64 65 3b 0d 0a 45 4e 44 2e 0d 0a 00 00 00 00 00 00   ┆oler;    textmode;  END.        ┆
0x660c0…660e0            00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
         […0x1…]
0x66100…66120            e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
         […0x37…]
0x66800…66820 (41, 0, 1) 28 2a 47 53 56 2d 50 4d 52 4b 2a 29 0d 0a 28 2a 24 49 20 61 3a 47 53 56 2d 42 41 53 45 2a 29 0d   ┆(*GSV-PMRK*)  (*$I a:GSV-BASE*) ┆
0x66820…66840            0a 28 2a 24 49 20 41 3a 47 53 56 2d 4d 41 52 4b 2a 29 0d 0a 0d 0a 76 61 72 20 63 68 3a 63 68 61   ┆ (*$I A:GSV-MARK*)    var ch:cha┆
0x66840…66860            72 3b 0d 0a 20 20 20 20 20 6a 2c 69 3a 20 69 6e 74 65 67 65 72 3b 0d 0a 20 20 20 20 20 73 3a 20   ┆r;       j,i: integer;       s: ┆
0x66860…66880            73 74 72 69 6e 67 28 2e 32 2e 29 3b 0d 0a 20 20 20 20 20 78 2c 79 3a 72 65 61 6c 3b 0d 0a 0d 0a   ┆string(.2.);       x,y:real;    ┆
0x66880…668a0            50 52 4f 43 45 44 55 52 45 20 53 68 6f 77 4d 61 72 6b 73 79 6d 62 6f 6c 65 72 3b 0d 0a 70 72 6f   ┆PROCEDURE ShowMarksymboler;  pro┆
0x668a0…668c0            63 65 64 75 72 65 20 6d 61 72 6b 68 65 6c 70 28 69 3a 69 6e 74 65 67 65 72 29 3b 0d 0a 42 45 47   ┆cedure markhelp(i:integer);  BEG┆
0x668c0…668e0            49 4e 0d 0a 20 20 78 3a 3d 69 3b 0d 0a 20 20 73 74 72 28 69 3a 32 2c 73 29 3b 0d 0a 20 20 50 6c   ┆IN    x:=i;    str(i:2,s);    Pl┆
0x668e0…66900            6f 74 54 65 78 74 28 78 2d 30 2e 35 2c 31 2e 35 2c 73 29 3b 0d 0a 20 20 46 4f 52 20 6a 3a 3d 31   ┆otText(x-0.5,1.5,s);    FOR j:=1┆
0x66900…66920            20 74 6f 20 37 20 44 4f 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 6d 61 72 6b 65 72 73 69 7a   ┆ to 7 DO    BEGIN      markersiz┆
0x66920…66940            65 3a 3d 6a 3b 0d 0a 20 20 20 20 50 6c 6f 74 6d 61 72 6b 65 72 28 78 2c 6a 2b 31 2c 69 29 3b 0d   ┆e:=j;      Plotmarker(x,j+1,i); ┆
0x66940…66960            0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 6c 64 52 61 6e   ┆   END;  END;    BEGIN    WldRan┆
0x66960…66980            67 65 28 34 2c 30 2c 32 35 2c 31 30 2c 30 29 3b 0d 0a 20 20 53 65 6c 65 63 74 57 69 6e 64 6f 77   ┆ge(4,0,25,10,0);    SelectWindow┆
0x66980…669a0            28 34 29 3b 0d 0a 20 20 53 65 6c 65 63 74 57 6c 64 52 61 6e 67 65 28 34 29 3b 20 0d 0a 20 20 6c   ┆(4);    SelectWldRange(4);     l┆
0x669a0…669c0            69 6e 65 70 61 74 74 65 72 6e 3a 3d 6c 69 6e 65 74 79 70 65 28 2e 31 2e 29 3b 0d 0a 20 20 63 68   ┆inepattern:=linetype(.1.);    ch┆
0x669c0…669e0            68 65 69 67 74 68 3a 3d 31 3b 0d 0a 20 20 70 6c 6f 74 74 65 78 74 28 31 2c 30 2e 35 2c 27 50 6c   ┆heigth:=1;    plottext(1,0.5,'Pl┆
0x669e0…66a00            6f 74 6d 61 72 6b 65 72 28 78 2c 79 2c 69 29 2c 20 4d 61 72 6b 65 72 73 69 7a 65 20 3d 20 31 20   ┆otmarker(x,y,i), Markersize = 1 ┆
0x66a00…66a20            74 69 6c 20 37 27 29 3b 0d 0a 20 20 63 68 68 65 69 67 74 68 3a 3d 31 3b 0d 0a 20 20 0d 0a 20 20   ┆til 7');    chheigth:=1;        ┆
0x66a20…66a40            46 4f 52 20 69 3a 3d 31 20 54 4f 20 38 20 44 4f 20 6d 61 72 6b 68 65 6c 70 28 69 29 3b 0d 0a 20   ┆FOR i:=1 TO 8 DO markhelp(i);   ┆
0x66a40…66a60            20 46 4f 52 20 69 3a 3d 31 31 20 54 4f 20 31 38 20 44 4f 20 6d 61 72 6b 68 65 6c 70 28 69 29 3b   ┆ FOR i:=11 TO 18 DO markhelp(i);┆
0x66a60…66a80            0d 0a 20 20 46 4f 52 20 69 3a 3d 32 31 20 54 4f 20 32 34 20 44 4f 20 6d 61 72 6b 68 65 6c 70 28   ┆    FOR i:=21 TO 24 DO markhelp(┆
0x66a80…66aa0            69 29 3b 0d 0a 20 20 0d 0a 20 20 72 65 61 64 28 6b 62 64 2c 63 68 29 3b 0d 0a 20 20 69 66 20 28   ┆i);        read(kbd,ch);    if (┆
0x66aa0…66ac0            63 68 3d 27 70 27 29 20 6f 72 20 28 63 68 3d 27 50 27 29 20 74 68 65 6e 20 20 53 63 72 5f 64 75   ┆ch='p') or (ch='P') then  Scr_du┆
0x66ac0…66ae0            6d 70 28 6e 65 63 5f 31 36 62 69 74 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52   ┆mp(nec_16bit);  END;    PROCEDUR┆
0x66ae0…66b00            45 20 53 68 6f 77 4c 69 6e 65 70 61 74 74 65 72 6e 3b 20 20 0d 0a 42 45 47 49 4e 0d 0a 20 20 57   ┆E ShowLinepattern;    BEGIN    W┆
0x66b00…66b20            6c 64 52 61 6e 67 65 28 33 2c 30 2c 31 30 2c 31 36 2c 30 29 3b 0d 0a 20 20 53 65 6c 65 63 74 57   ┆ldRange(3,0,10,16,0);    SelectW┆
0x66b20…66b40            69 6e 64 6f 77 28 33 29 3b 0d 0a 20 20 53 65 6c 65 63 74 57 6c 64 52 61 6e 67 65 28 33 29 3b 20   ┆indow(3);    SelectWldRange(3); ┆
0x66b40…66b60            0d 0a 20 20 63 68 68 65 69 67 74 68 3a 3d 31 3b 0d 0a 20 20 70 6c 6f 74 74 65 78 74 28 31 2c 30   ┆    chheigth:=1;    plottext(1,0┆
0x66b60…66b80            2e 35 2c 27 4c 69 6e 65 74 79 70 65 28 2e 69 2e 29 2c 20 20 4c 69 6e 65 70 61 74 74 65 72 6e 3a   ┆.5,'Linetype(.i.),  Linepattern:┆
0x66b80…66ba0            3d 70 61 74 74 65 72 6e 74 79 70 65 28 2e 69 2e 29 27 29 3b 0d 0a 20 20 63 68 68 65 69 67 74 68   ┆=patterntype(.i.)');    chheigth┆
0x66ba0…66bc0            3a 3d 32 3b 0d 0a 20 20 46 4f 52 20 69 3a 3d 31 20 74 6f 20 31 34 20 44 4f 0d 0a 20 20 42 45 47   ┆:=2;    FOR i:=1 to 14 DO    BEG┆
0x66bc0…66be0            49 4e 0d 0a 20 20 20 20 79 3a 3d 69 3b 0d 0a 20 20 20 20 6c 69 6e 65 70 61 74 74 65 72 6e 3a 3d   ┆IN      y:=i;      linepattern:=┆
0x66be0…66c00            6c 69 6e 65 74 79 70 65 28 2e 69 2e 29 3b 0d 0a 20 20 20 20 73 74 72 28 69 3a 32 2c 73 29 3b 0d   ┆linetype(.i.);      str(i:2,s); ┆
0x66c00…66c20 (41, 0, 2) 0a 20 20 20 20 50 6c 6f 74 54 65 78 74 28 30 2e 35 2c 79 2b 31 2c 73 29 3b 0d 0a 20 20 20 20 46   ┆     PlotText(0.5,y+1,s);      F┆
0x66c20…66c40            4f 52 20 6a 3a 3d 31 20 74 6f 20 32 20 44 4f 0d 0a 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20   ┆OR j:=1 to 2 DO      BEGIN      ┆
0x66c40…66c60            20 20 62 69 74 6e 72 3a 3d 30 3b 0d 0a 20 20 20 20 20 20 6c 69 6e 65 70 61 74 74 65 72 6e 3a 3d   ┆  bitnr:=0;        linepattern:=┆
0x66c60…66c80            6c 69 6e 65 74 79 70 65 28 2e 69 2e 29 3b 0d 0a 20 20 20 20 20 20 79 3a 3d 69 2b 6a 2a 30 2e 32   ┆linetype(.i.);        y:=i+j*0.2┆
0x66c80…66ca0            2b 30 2e 32 3b 0d 0a 20 20 20 20 20 20 6c 69 6e 65 70 61 74 74 65 72 6e 73 69 7a 65 3a 3d 6a 2a   ┆+0.2;        linepatternsize:=j*┆
0x66ca0…66cc0            32 3b 0d 0a 20 20 20 20 20 20 6d 6f 76 65 74 6f 28 31 2c 79 29 3b 20 6c 69 6e 65 74 6f 28 31 30   ┆2;        moveto(1,y); lineto(10┆
0x66cc0…66ce0            2c 79 29 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 72 65 61 64 28 6b   ┆,y);      END;    END;    read(k┆
0x66ce0…66d00            62 64 2c 63 68 29 3b 0d 0a 20 20 69 66 20 28 63 68 3d 27 70 27 29 20 6f 72 20 28 63 68 3d 27 50   ┆bd,ch);    if (ch='p') or (ch='P┆
0x66d00…66d20            27 29 20 74 68 65 6e 20 20 53 63 72 5f 64 75 6d 70 28 6e 65 63 5f 31 36 62 69 74 29 3b 0d 0a 45   ┆') then  Scr_dump(nec_16bit);  E┆
0x66d20…66d40            4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 68 6f 77 46 69 6c 6c 70 61 74 74 65 72 6e   ┆ND;    PROCEDURE ShowFillpattern┆
0x66d40…66d60            3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 6c 69 6e 65 70 61 74 74 65 72 6e 3a 3d 6c 69 6e 65 74 79 70   ┆;  BEGIN    linepattern:=linetyp┆
0x66d60…66d80            65 28 2e 31 2e 29 3b 0d 0a 20 20 6c 69 6e 65 50 61 74 74 65 72 6e 73 69 7a 65 3a 3d 31 3b 0d 0a   ┆e(.1.);    linePatternsize:=1;  ┆
0x66d80…66da0            20 20 57 6c 64 52 61 6e 67 65 28 32 2c 30 2c 39 2c 31 2c 37 29 3b 0d 0a 20 20 53 65 6c 65 63 74   ┆  WldRange(2,0,9,1,7);    Select┆
0x66da0…66dc0            57 69 6e 64 6f 77 28 32 29 3b 0d 0a 20 20 53 65 6c 65 63 74 57 6c 64 52 61 6e 67 65 28 32 29 3b   ┆Window(2);    SelectWldRange(2);┆
0x66dc0…66de0            20 0d 0a 20 20 63 68 68 65 69 67 74 68 3a 3d 31 3b 0d 0a 20 20 70 6c 6f 74 74 65 78 74 28 31 2c   ┆     chheigth:=1;    plottext(1,┆
0x66de0…66e00            36 2e 35 2c 27 50 61 74 74 65 72 6e 74 79 70 65 28 2e 69 2e 29 2c 20 20 46 69 6c 6c 70 61 74 74   ┆6.5,'Patterntype(.i.),  Fillpatt┆
0x66e00…66e20            65 72 6e 3a 3d 70 61 74 74 65 72 6e 74 79 70 65 28 2e 69 2e 29 27 29 3b 0d 0a 20 20 63 68 68 65   ┆ern:=patterntype(.i.)');    chhe┆
0x66e20…66e40            69 67 74 68 3a 3d 32 3b 0d 0a 20 20 46 4f 52 20 6a 3a 3d 31 20 74 6f 20 35 20 20 44 4f 0d 0a 20   ┆igth:=2;    FOR j:=1 to 5  DO   ┆
0x66e40…66e60            20 42 45 47 49 4e 0d 0a 20 20 20 20 73 74 72 28 6a 3a 32 2c 73 29 3b 0d 0a 20 20 20 20 70 6c 6f   ┆ BEGIN      str(j:2,s);      plo┆
0x66e60…66e80            74 74 65 78 74 28 30 2e 35 2c 6a 2b 30 2e 35 2c 73 29 3b 0d 0a 20 20 20 20 52 65 63 74 66 69 6c   ┆ttext(0.5,j+0.5,s);      Rectfil┆
0x66e80…66ea0            6c 28 31 2c 6a 2c 33 2c 6a 2b 31 2c 6a 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 46 4f 52 20 6a   ┆l(1,j,3,j+1,j);    END;    FOR j┆
0x66ea0…66ec0            3a 3d 36 20 74 6f 20 31 30 20 44 4f 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 73 74 72 28 6a   ┆:=6 to 10 DO    BEGIN      str(j┆
0x66ec0…66ee0            3a 32 2c 73 29 3b 0d 0a 20 20 20 20 70 6c 6f 74 74 65 78 74 28 33 2e 35 2c 6a 2d 35 2b 30 2e 35   ┆:2,s);      plottext(3.5,j-5+0.5┆
0x66ee0…66f00            2c 73 29 3b 0d 0a 20 20 20 20 52 65 63 74 66 69 6c 6c 28 34 2c 6a 2d 35 2c 36 2c 6a 2d 35 2b 31   ┆,s);      Rectfill(4,j-5,6,j-5+1┆
0x66f00…66f20            2c 6a 29 3b 0d 0a 20 20 45 4e 44 3b 20 0d 0a 20 20 46 4f 52 20 6a 3a 3d 31 31 20 74 6f 20 31 35   ┆,j);    END;     FOR j:=11 to 15┆
0x66f20…66f40            20 20 44 4f 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 73 74 72 28 6a 3a 32 2c 73 29 3b 0d 0a   ┆  DO    BEGIN      str(j:2,s);  ┆
0x66f40…66f60            20 20 20 20 70 6c 6f 74 74 65 78 74 28 36 2e 35 2c 6a 2d 31 30 2b 30 2e 35 2c 73 29 3b 0d 0a 20   ┆    plottext(6.5,j-10+0.5,s);   ┆
0x66f60…66f80            20 20 20 72 65 63 74 66 69 6c 6c 28 37 2c 6a 2d 31 30 2c 39 2c 6a 2d 31 30 2b 31 2c 6a 29 3b 0d   ┆   rectfill(7,j-10,9,j-10+1,j); ┆
0x66f80…66fa0            0a 20 20 45 4e 44 3b 0d 0a 20 20 20 72 65 61 64 28 6b 62 64 2c 63 68 29 3b 0d 0a 20 20 69 66 20   ┆   END;     read(kbd,ch);    if ┆
0x66fa0…66fc0            28 63 68 3d 27 70 27 29 20 6f 72 20 28 63 68 3d 27 50 27 29 20 74 68 65 6e 20 20 53 63 72 5f 64   ┆(ch='p') or (ch='P') then  Scr_d┆
0x66fc0…66fe0            75 6d 70 28 6e 65 63 5f 31 36 62 69 74 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 42 45 47 49 4e 0d 0a   ┆ump(nec_16bit);  END;    BEGIN  ┆
0x66fe0…67000            20 20 67 72 61 70 68 69 63 73 63 72 65 65 6e 3b 0d 0a 20 20 67 72 61 70 68 6d 6f 64 65 3b 0d 0a   ┆  graphicscreen;    graphmode;  ┆
0x67000…67020 (41, 0, 3) 20 20 53 61 76 65 57 69 6e 64 6f 77 28 31 29 3b 0d 0a 20 20 53 68 6f 77 4c 69 6e 65 70 61 74 74   ┆  SaveWindow(1);    ShowLinepatt┆
0x67020…67040            65 72 6e 3b 0d 0a 20 20 53 65 6c 65 63 74 57 6c 64 52 61 6e 67 65 28 31 29 3b 0d 0a 20 20 4c 6f   ┆ern;    SelectWldRange(1);    Lo┆
0x67040…67060            61 64 57 69 6e 64 6f 77 28 31 2c 30 2c 30 29 3b 0d 0a 20 20 53 68 6f 77 46 69 6c 6c 70 61 74 74   ┆adWindow(1,0,0);    ShowFillpatt┆
0x67060…67080            65 72 6e 3b 0d 0a 20 20 53 65 6c 65 63 74 57 6c 64 52 61 6e 67 65 28 31 29 3b 0d 0a 20 20 4c 6f   ┆ern;    SelectWldRange(1);    Lo┆
0x67080…670a0            61 64 57 69 6e 64 6f 77 28 31 2c 30 2c 30 29 3b 0d 0a 20 20 53 68 6f 77 4d 61 72 6b 73 79 6d 62   ┆adWindow(1,0,0);    ShowMarksymb┆
0x670a0…670c0            6f 6c 65 72 3b 0d 0a 20 20 74 65 78 74 6d 6f 64 65 3b 0d 0a 45 4e 44 2e 0d 0a 00 00 00 00 00 00   ┆oler;    textmode;  END.        ┆
0x670c0…670e0            00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
         […0x1…]
0x67100…67120            e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
         […0x37…]
0x67800…67820 (41, 0, 5) 28 2a 67 73 76 2d 74 65 73 74 2a 29 0d 0a 28 2a 24 69 20 61 3a 67 73 76 2d 62 61 73 65 2a 29 0d   ┆(*gsv-test*)  (*$i a:gsv-base*) ┆
0x67820…67840            0a 0d 0a 76 61 72 20 63 68 3a 63 68 61 72 3b 0d 0a 20 20 20 20 20 6a 2c 69 3a 20 69 6e 74 65 67   ┆   var ch:char;       j,i: integ┆
0x67840…67860            65 72 3b 0d 0a 20 20 20 20 20 73 3a 20 73 74 72 69 6e 67 28 2e 32 2e 29 3b 0d 0a 20 20 20 20 20   ┆er;       s: string(.2.);       ┆
0x67860…67880            78 2c 79 3a 72 65 61 6c 3b 0d 0a 0d 0a 42 45 47 49 4e 0d 0a 20 20 67 72 61 70 68 69 63 73 63 72   ┆x,y:real;    BEGIN    graphicscr┆
0x67880…678a0            65 65 6e 3b 0d 0a 20 20 67 72 61 70 68 6d 6f 64 65 3b 0d 0a 20 20 64 72 61 77 66 72 61 6d 65 3b   ┆een;    graphmode;    drawframe;┆
0x678a0…678c0            0d 0a 20 20 63 68 77 69 64 74 68 3a 3d 31 3b 0d 0a 20 20 63 68 68 65 69 67 74 68 3a 3d 31 3b 0d   ┆    chwidth:=1;    chheigth:=1; ┆
0x678c0…678e0            0a 20 20 70 6c 6f 74 74 65 78 74 28 31 30 30 2c 34 30 2c 27 56 91 6b 73 74 68 75 73 61 66 64 65   ┆   plottext(100,40,'V ksthusafde┆
0x678e0…67900            6c 69 6e 67 65 6e 27 29 3b 0d 0a 20 20 70 6c 6f 74 74 65 78 74 28 31 30 30 2c 32 34 2c 27 41 67   ┆lingen');    plottext(100,24,'Ag┆
0x67900…67920            72 6f 76 65 6a 20 31 30 27 29 3b 0d 0a 20 20 70 6c 6f 74 74 65 78 74 28 31 30 30 2c 38 2c 27 32   ┆rovej 10');    plottext(100,8,'2┆
0x67920…67940            36 33 30 20 54 86 73 74 72 75 70 27 29 3b 0d 0a 20 20 63 68 68 65 69 67 74 68 3a 3d 32 3b 0d 0a   ┆630 T strup');    chheigth:=2;  ┆
0x67940…67960            20 20 70 6c 6f 74 74 65 78 74 28 31 30 30 2c 31 32 38 2c 27 56 91 6b 73 74 68 75 73 61 66 64 65   ┆  plottext(100,128,'V ksthusafde┆
0x67960…67980            6c 69 6e 67 65 6e 27 29 3b 0d 0a 20 20 70 6c 6f 74 74 65 78 74 28 31 30 30 2c 31 30 34 2c 27 41   ┆lingen');    plottext(100,104,'A┆
0x67980…679a0            67 72 6f 76 65 6a 20 31 30 27 29 3b 0d 0a 20 20 70 6c 6f 74 74 65 78 74 28 31 30 30 2c 38 30 2c   ┆grovej 10');    plottext(100,80,┆
0x679a0…679c0            27 32 36 33 30 20 54 86 73 74 72 75 70 27 29 3b 0d 0a 20 20 63 68 68 65 69 67 74 68 3a 3d 32 3b   ┆'2630 T strup');    chheigth:=2;┆
0x679c0…679e0            0d 0a 20 20 63 68 77 69 64 74 68 3a 3d 32 3b 0d 0a 20 20 70 6c 6f 74 74 65 78 74 28 31 30 30 2c   ┆    chwidth:=2;    plottext(100,┆
0x679e0…67a00            32 31 36 2c 27 56 91 6b 73 74 68 75 73 61 66 64 65 6c 69 6e 67 65 6e 27 29 3b 0d 0a 20 20 70 6c   ┆216,'V ksthusafdelingen');    pl┆
0x67a00…67a20            6f 74 74 65 78 74 28 31 30 30 2c 31 39 32 2c 27 41 67 72 6f 76 65 6a 20 31 30 27 29 3b 0d 0a 20   ┆ottext(100,192,'Agrovej 10');   ┆
0x67a20…67a40            20 70 6c 6f 74 74 65 78 74 28 31 30 30 2c 31 36 38 2c 27 32 36 33 30 20 54 86 73 74 72 75 70 27   ┆ plottext(100,168,'2630 T strup'┆
0x67a40…67a60            29 3b 0d 0a 20 20 63 68 68 65 69 67 74 68 3a 3d 33 3b 0d 0a 20 20 63 68 77 69 64 74 68 3a 3d 32   ┆);    chheigth:=3;    chwidth:=2┆
0x67a60…67a80            3b 0d 0a 20 20 70 6c 6f 74 74 65 78 74 28 31 30 30 2c 33 32 32 2c 27 56 91 6b 73 74 68 75 73 61   ┆;    plottext(100,322,'V ksthusa┆
0x67a80…67aa0            66 64 65 6c 69 6e 67 65 6e 27 29 3b 0d 0a 20 20 70 6c 6f 74 74 65 78 74 28 31 30 30 2c 32 39 32   ┆fdelingen');    plottext(100,292┆
0x67aa0…67ac0            2c 27 41 67 72 6f 76 65 6a 20 31 30 27 29 3b 0d 0a 20 20 70 6c 6f 74 74 65 78 74 28 31 30 30 2c   ┆,'Agrovej 10');    plottext(100,┆
0x67ac0…67ae0            32 36 30 2c 27 32 36 33 30 20 54 86 73 74 72 75 70 27 29 3b 0d 0a 20 20 72 65 61 64 28 6b 62 64   ┆260,'2630 T strup');    read(kbd┆
0x67ae0…67b00            2c 63 68 29 3b 0d 0a 20 20 69 66 20 63 68 3d 27 70 27 20 74 68 65 6e 0d 0a 20 20 73 63 72 5f 64   ┆,ch);    if ch='p' then    scr_d┆
0x67b00…67b20            75 6d 70 28 6e 65 63 5f 31 36 62 69 74 29 3b 20 20 0d 0a 20 20 74 65 78 74 6d 6f 64 65 3b 0d 0a   ┆ump(nec_16bit);      textmode;  ┆
0x67b20…67b40            45 4e 44 2e 0d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆END.                            ┆
0x67b40…67b60            00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
         […0x1…]
0x67b80…67ba0            e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
         […0x23…]
0x68000…68020 (41, 1, 2) 28 2a 67 73 76 2d 74 65 73 74 2a 29 0d 0a 28 2a 24 69 20 61 3a 67 73 76 2d 62 61 73 65 2a 29 0d   ┆(*gsv-test*)  (*$i a:gsv-base*) ┆
0x68020…68040            0a 0d 0a 76 61 72 20 63 68 3a 63 68 61 72 3b 0d 0a 20 20 20 20 20 6a 2c 69 3a 20 69 6e 74 65 67   ┆   var ch:char;       j,i: integ┆
0x68040…68060            65 72 3b 0d 0a 20 20 20 20 20 73 3a 20 73 74 72 69 6e 67 28 2e 32 2e 29 3b 0d 0a 20 20 20 20 20   ┆er;       s: string(.2.);       ┆
0x68060…68080            78 2c 79 3a 72 65 61 6c 3b 0d 0a 0d 0a 42 45 47 49 4e 0d 0a 20 20 67 72 61 70 68 69 63 73 63 72   ┆x,y:real;    BEGIN    graphicscr┆
0x68080…680a0            65 65 6e 3b 0d 0a 20 20 67 72 61 70 68 6d 6f 64 65 3b 0d 0a 20 20 64 72 61 77 66 72 61 6d 65 3b   ┆een;    graphmode;    drawframe;┆
0x680a0…680c0            0d 0a 20 20 63 68 77 69 64 74 68 3a 3d 31 3b 0d 0a 20 20 63 68 68 65 69 67 74 68 3a 3d 31 3b 0d   ┆    chwidth:=1;    chheigth:=1; ┆
0x680c0…680e0            0a 20 20 70 6c 6f 74 74 65 78 74 28 31 30 30 2c 34 30 2c 27 56 91 6b 73 74 68 75 73 61 66 64 65   ┆   plottext(100,40,'V ksthusafde┆
0x680e0…68100            6c 69 6e 67 65 6e 27 29 3b 0d 0a 20 20 70 6c 6f 74 74 65 78 74 28 31 30 30 2c 32 34 2c 27 41 67   ┆lingen');    plottext(100,24,'Ag┆
0x68100…68120            72 6f 76 65 6a 20 31 30 27 29 3b 0d 0a 20 20 70 6c 6f 74 74 65 78 74 28 31 30 30 2c 38 2c 27 32   ┆rovej 10');    plottext(100,8,'2┆
0x68120…68140            36 33 30 20 54 86 73 74 72 75 70 27 29 3b 0d 0a 20 20 63 68 68 65 69 67 74 68 3a 3d 32 3b 0d 0a   ┆630 T strup');    chheigth:=2;  ┆
0x68140…68160            20 20 70 6c 6f 74 74 65 78 74 28 31 30 30 2c 31 32 38 2c 27 56 91 6b 73 74 68 75 73 61 66 64 65   ┆  plottext(100,128,'V ksthusafde┆
0x68160…68180            6c 69 6e 67 65 6e 27 29 3b 0d 0a 20 20 70 6c 6f 74 74 65 78 74 28 31 30 30 2c 31 30 34 2c 27 41   ┆lingen');    plottext(100,104,'A┆
0x68180…681a0            67 72 6f 76 65 6a 20 31 30 27 29 3b 0d 0a 20 20 70 6c 6f 74 74 65 78 74 28 31 30 30 2c 38 30 2c   ┆grovej 10');    plottext(100,80,┆
0x681a0…681c0            27 32 36 33 30 20 54 86 73 74 72 75 70 27 29 3b 0d 0a 20 20 63 68 68 65 69 67 74 68 3a 3d 32 3b   ┆'2630 T strup');    chheigth:=2;┆
0x681c0…681e0            0d 0a 20 20 63 68 77 69 64 74 68 3a 3d 32 3b 0d 0a 20 20 70 6c 6f 74 74 65 78 74 28 31 30 30 2c   ┆    chwidth:=2;    plottext(100,┆
0x681e0…68200            32 31 36 2c 27 56 91 6b 73 74 68 75 73 61 66 64 65 6c 69 6e 67 65 6e 27 29 3b 0d 0a 20 20 70 6c   ┆216,'V ksthusafdelingen');    pl┆
0x68200…68220            6f 74 74 65 78 74 28 31 30 30 2c 31 39 32 2c 27 41 67 72 6f 76 65 6a 20 31 30 27 29 3b 0d 0a 20   ┆ottext(100,192,'Agrovej 10');   ┆
0x68220…68240            20 70 6c 6f 74 74 65 78 74 28 31 30 30 2c 31 36 38 2c 27 32 36 33 30 20 54 86 73 74 72 75 70 27   ┆ plottext(100,168,'2630 T strup'┆
0x68240…68260            29 3b 0d 0a 20 20 63 68 68 65 69 67 74 68 3a 3d 33 3b 0d 0a 20 20 63 68 77 69 64 74 68 3a 3d 32   ┆);    chheigth:=3;    chwidth:=2┆
0x68260…68280            3b 0d 0a 20 20 70 6c 6f 74 74 65 78 74 28 31 30 30 2c 33 32 32 2c 27 56 91 6b 73 74 68 75 73 61   ┆;    plottext(100,322,'V ksthusa┆
0x68280…682a0            66 64 65 6c 69 6e 67 65 6e 27 29 3b 0d 0a 20 20 70 6c 6f 74 74 65 78 74 28 31 30 30 2c 32 39 32   ┆fdelingen');    plottext(100,292┆
0x682a0…682c0            2c 27 41 67 72 6f 76 65 6a 20 31 30 27 29 3b 0d 0a 20 20 70 6c 6f 74 74 65 78 74 28 31 30 30 2c   ┆,'Agrovej 10');    plottext(100,┆
0x682c0…682e0            32 36 30 2c 27 32 36 33 30 20 54 86 73 74 72 75 70 27 29 3b 0d 0a 20 20 72 65 61 64 28 6b 62 64   ┆260,'2630 T strup');    read(kbd┆
0x682e0…68300            2c 63 68 29 3b 0d 0a 20 20 69 66 20 63 68 3d 27 70 27 20 74 68 65 6e 0d 0a 20 20 73 63 72 5f 64   ┆,ch);    if ch='p' then    scr_d┆
0x68300…68320            75 6d 70 28 6e 65 63 5f 38 62 69 74 29 3b 20 20 0d 0a 20 20 74 65 78 74 6d 6f 64 65 3b 0d 0a 45   ┆ump(nec_8bit);      textmode;  E┆
0x68320…68340            4e 44 2e 0d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ND.                             ┆
0x68340…68360            00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
         […0x1…]
0x68380…683a0            e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
         […0x23…]
0x68800…68820 (41, 1, 4) 28 2a 47 53 56 2d 41 78 65 72 2a 29 0d 0a 7b 55 64 73 6b 72 69 76 65 72 20 61 6b 73 65 73 79 73   ┆(*GSV-Axer*)  æUdskriver aksesys┆
0x68820…68840            74 65 6d 65 74 20 74 69 6c 20 65 6e 20 78 2c 79 20 67 72 61 66 3a 20 20 20 20 20 20 20 20 20 20   ┆temet til en x,y graf:          ┆
0x68840…68860            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 0d 0a 7b 78 64   ┆                      å      æxd┆
0x68860…68880            65 6e 73 2f 79 64 65 6e 73 3a 20 20 65 74 20 74 61 6c 20 6d 65 6c 6c 65 6d 20 30 20 6f 67 20 39   ┆ens/ydens:  et tal mellem 0 og 9┆
0x68880…688a0            2c 20 64 65 72 20 61 6e 67 69 76 65 72 20 68 76 6f 72 6d 61 6e 67 65 20 6d 65 6c 6c 65 6d 72 75   ┆, der angiver hvormange mellemru┆
0x688a0…688c0            6d 7d 0d 0a 7b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 72 20 65 72 20 6d 65 6c 6c 65 6d   ┆må  æ              der er mellem┆
0x688c0…688e0            20 75 64 73 6b 72 69 76 6e 69 6e 67 65 6e 20 61 66 20 76 91 72 64 69 65 72 20 70 86 20 68 65 6e   ┆ udskrivningen af v rdier p  hen┆
0x688e0…68900            68 6f 6c 64 73 76 69 73 7d 0d 0a 7b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 20 6f 67 20 79   ┆holdsviså  æ              x og y┆
0x68900…68920            2d 61 6b 73 65 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆-aksen                          ┆
0x68920…68940            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 7b 67 69 74 74 65 72 3a 20 20 54 72 75 65   ┆               å  ægitter:  True┆
0x68940…68960            3a 20 20 67 69 74 74 65 72 20 74 65 67 6e 65 73 20 20 20 46 61 6c 73 65 3a 20 20 67 69 74 74 65   ┆:  gitter tegnes   False:  gitte┆
0x68960…68980            72 20 74 65 67 6e 65 73 20 69 6b 6b 65 20 20 20 20 20 20 20 20 20 7d 0d 0a 7b 45 6b 73 70 6f 78   ┆r tegnes ikke         å  æEkspox┆
0x68980…689a0            78 2f 79 79 3a 20 27 4a 27 20 3a 20 20 78 2f 79 2d 61 6b 73 65 20 76 91 72 64 69 65 72 20 75 64   ┆x/yy: 'J' :  x/y-akse v rdier ud┆
0x689a0…689c0            73 6b 72 69 76 65 73 20 65 6b 73 70 6f 6e 65 6e 74 69 65 6c 74 20 20 20 20 20 20 20 20 7d 0d 0a   ┆skrives eksponentielt        å  ┆
0x689c0…689e0            7b 20 20 20 20 20 20 20 20 20 20 20 20 27 4e 27 20 3a 20 20 76 91 72 64 69 65 72 20 75 64 73 6b   ┆æ            'N' :  v rdier udsk┆
0x689e0…68a00            72 69 76 65 73 20 69 6b 6b 65 20 65 6b 73 70 6f 6e 65 6e 74 69 65 6c 74 20 20 20 20 20 20 20 20   ┆rives ikke eksponentielt        ┆
0x68a00…68a20            20 20 20 20 7d 0d 0a 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 64 72 61 77 61 78 69 73 28 20 78   ┆    å      PROCEDURE drawaxis( x┆
0x68a20…68a40            64 65 6e 73 2c 20 79 64 65 6e 73 3a 20 49 4e 54 45 47 45 52 3b 20 67 69 74 74 65 72 3a 20 62 6f   ┆dens, ydens: INTEGER; gitter: bo┆
0x68a40…68a60            6f 6c 65 61 6e 3b 20 0d 0a 45 6b 73 70 6f 78 78 2c 20 45 6b 73 70 6f 79 79 20 3a 20 73 74 72 31   ┆olean;   Ekspoxx, Ekspoyy : str1┆
0x68a60…68a80            29 3b 0d 0a 56 41 52 0d 0a 20 20 78 6b 30 2c 20 79 6b 30 2c 20 78 6b 31 2c 20 79 6b 31 2c 20 4e   ┆);  VAR    xk0, yk0, xk1, yk1, N┆
0x68a80…68aa0            64 69 66 66 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 65 6b 73 70 6f 78 2c 20 65 6b 73 70 6f   ┆diff : INTEGER;    ekspox, ekspo┆
0x68aa0…68ac0            79 2c 6a 2c 69 2c 20 79 73 2c 20 78 73 2c 20 64 65 6c 74 61 2c 20 6e 70 6f 69 6e 74 73 09 3a 20   ┆y,j,i, ys, xs, delta, npoints : ┆
0x68ac0…68ae0            49 4e 54 45 47 45 52 3b 0d 0a 20 20 64 69 66 66 2c 20 6e 75 6d 62 65 72 2c 20 73 2c 20 66 72 61   ┆INTEGER;    diff, number, s, fra┆
0x68ae0…68b00            63 74 3a 20 52 45 41 4c 3b 0d 0a 20 20 73 74 3a 20 73 74 72 38 30 3b 0d 0a 0d 0a 7b 4f 6d 66 6f   ┆ct: REAL;    st: str80;    æOmfo┆
0x68b00…68b20            72 6d 65 72 20 65 74 20 61 6c 6d 69 6e 64 65 6c 69 67 74 20 74 61 6c 20 28 78 31 29 2c 20 76 65   ┆rmer et almindeligt tal (x1), ve┆
0x68b20…68b40            64 20 68 6a 91 6c 70 20 61 66 20 65 6e 20 6f 70 67 69 76 65 6e 20 65 6b 73 70 6f 6e 65 6e 74 20   ┆d hj lp af en opgiven eksponent ┆
0x68b40…68b60            28 65 78 70 6f 29 7d 0d 0a 7b 74 69 6c 20 65 6e 20 73 74 72 69 6e 67 2c 20 68 76 6f 72 20 74 61   ┆(expo)å  ætil en string, hvor ta┆
0x68b60…68b80            6c 6c 65 74 20 61 6e 67 69 76 65 73 20 65 6b 73 70 6f 6e 65 6e 74 69 65 6c 74 20 20 20 20 20 20   ┆llet angives eksponentielt      ┆
0x68b80…68ba0            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 0d 0a 46 55 4e   ┆                    å        FUN┆
0x68ba0…68bc0            43 54 49 4f 4e 20 73 74 72 69 6e 67 6e 75 6d 62 65 72 28 78 31 3a 20 52 45 41 4c 3b 65 6b 73 70   ┆CTION stringnumber(x1: REAL;eksp┆
0x68bc0…68be0            6f 09 3a 20 49 4e 54 45 47 45 52 29 3a 20 73 74 72 38 30 3b 0d 0a 56 41 52 20 73 3a 20 73 74 72   ┆o : INTEGER): str80;  VAR s: str┆
0x68be0…68c00            38 30 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 73 74 72 28 78 31 2a 65 78 70 28 2d 65 6b 73 70 6f 2a   ┆80;  BEGIN    str(x1*exp(-ekspo*┆
0x68c00…68c20 (41, 1, 5) 6c 6e 28 31 30 2e 30 29 29 3a 35 3a 32 2c 73 29 3b 0d 0a 20 20 73 74 72 69 6e 67 6e 75 6d 62 65   ┆ln(10.0)):5:2,s);    stringnumbe┆
0x68c20…68c40            72 3a 3d 73 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 7b 42 65 72 65 67 6e 65 72 20 68 76 6f 72 73 74 6f   ┆r:=s;  END;    æBeregner hvorsto┆
0x68c40…68c60            72 20 65 6b 73 70 6f 6e 65 6e 74 65 6e 20 73 6b 61 6c 20 76 91 72 65 2c 20 68 76 69 73 20 64 65   ┆r eksponenten skal v re, hvis de┆
0x68c60…68c80            74 20 73 74 9b 72 73 74 65 20 74 61 6c 20 73 6b 61 6c 20 76 91 72 65 7d 0d 0a 7b 6d 69 6e 64 72   ┆t st rste tal skal v reå  æmindr┆
0x68c80…68ca0            65 20 65 6e 64 20 31 2e 30 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆e end 1.00                      ┆
0x68ca0…68cc0            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x68cc0…68ce0            20 20 7d 20 0d 0a 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 47 65 74 45 78 70 6f 6e 65 6e 74 28 58   ┆  å       FUNCTION GetExponent(X┆
0x68ce0…68d00            31 3a 52 45 41 4c 29 3a 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 47 65 74 45 78   ┆1:REAL):INTEGER;  BEGIN    GetEx┆
0x68d00…68d20            70 6f 6e 65 6e 74 3a 3d 30 3b 0d 0a 20 20 49 46 20 58 31 3c 3e 30 2e 30 20 54 48 45 4e 0d 0a 20   ┆ponent:=0;    IF X1<>0.0 THEN   ┆
0x68d20…68d40            20 20 20 49 46 20 61 62 73 28 58 31 29 3e 3d 31 2e 30 20 54 48 45 4e 20 47 65 74 45 78 70 6f 6e   ┆   IF abs(X1)>=1.0 THEN GetExpon┆
0x68d40…68d60            65 6e 74 3a 3d 74 72 75 6e 63 28 6c 6e 28 61 62 73 28 58 31 29 29 2f 6c 6e 28 31 30 2e 30 29 29   ┆ent:=trunc(ln(abs(X1))/ln(10.0))┆
0x68d60…68d80            0d 0a 20 20 20 20 45 4c 53 45 20 47 65 74 45 78 70 6f 6e 65 6e 74 3a 3d 2d 74 72 75 6e 63 28 61   ┆      ELSE GetExponent:=-trunc(a┆
0x68d80…68da0            62 73 28 6c 6e 28 61 62 73 28 58 31 29 29 29 2f 6c 6e 28 31 30 2e 30 29 2b 31 2e 30 29 3b 0d 0a   ┆bs(ln(abs(X1)))/ln(10.0)+1.0);  ┆
0x68da0…68dc0            45 4e 44 3b 0d 0a 0d 0a 7b 55 64 73 6b 72 69 76 65 72 20 68 76 6f 72 73 74 6f 72 20 65 6b 73 70   ┆END;    æUdskriver hvorstor eksp┆
0x68dc0…68de0            6f 6e 65 6e 74 65 6e 20 65 72 7d 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 44 72 61 77 45 78 70   ┆onenten erå    PROCEDURE DrawExp┆
0x68de0…68e00            6f 6e 65 6e 74 28 78 31 2c 79 31 2c 4d 61 78 45 78 70 6f 6e 65 6e 74 3a 49 4e 54 45 47 45 52 3b   ┆onent(x1,y1,MaxExponent:INTEGER;┆
0x68e00…68e20            73 3a 20 73 74 72 38 30 29 3b 0d 0a 56 41 52 20 69 3a 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49   ┆s: str80);  VAR i:INTEGER;  BEGI┆
0x68e20…68e40            4e 0d 0a 20 20 57 6e 64 5f 64 72 61 77 74 65 78 74 28 78 31 2c 79 31 2c 73 29 3b 0d 0a 20 20 69   ┆N    Wnd_drawtext(x1,y1,s);    i┆
0x68e40…68e60            3a 3d 6c 65 6e 28 73 29 3b 0d 0a 20 20 73 74 72 28 4d 61 78 45 78 70 6f 6e 65 6e 74 2c 53 29 3b   ┆:=len(s);    str(MaxExponent,S);┆
0x68e60…68e80            0d 0a 20 20 57 6e 64 5f 64 72 61 77 74 65 78 74 28 78 31 2b 69 2a 38 2c 20 79 31 2b 32 2c 20 53   ┆    Wnd_drawtext(x1+i*8, y1+2, S┆
0x68e80…68ea0            29 3b 20 20 20 20 20 20 0d 0a 45 4e 44 3b 0d 0a 0d 0a 0d 0a 7b 55 64 73 6b 72 69 76 65 72 20 65   ┆);        END;      æUdskriver e┆
0x68ea0…68ec0            6e 20 73 74 72 69 6e 67 20 61 66 20 74 61 6c 20 70 86 20 65 6e 20 67 69 76 65 6e 20 70 6f 73 69   ┆n string af tal p  en given posi┆
0x68ec0…68ee0            74 69 6f 6e 2c 20 6d 65 64 20 65 6e 20 6f 70 67 69 76 65 6e 20 65 6b 73 70 6f 6e 65 6e 74 20 20   ┆tion, med en opgiven eksponent  ┆
0x68ee0…68f00            20 7d 0d 0a 7b 78 31 20 6f 67 20 79 31 3a 20 75 64 73 6b 72 69 76 6e 69 6e 67 73 6b 6f 6f 72 64   ┆ å  æx1 og y1: udskrivningskoord┆
0x68f00…68f20            69 6e 61 74 65 72 6e 65 20 20 20 20 4d 61 78 45 78 70 6f 6e 65 6e 74 3a 20 65 78 73 70 6f 6e 65   ┆inaterne    MaxExponent: exspone┆
0x68f20…68f40            6e 74 65 6e 20 64 65 72 20 61 6e 76 65 6e 64 65 73 7d 0d 0a 7b 76 65 64 20 75 64 73 6b 72 69 76   ┆nten der anvendeså  æved udskriv┆
0x68f40…68f60            6e 69 6e 67 65 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ningen                          ┆
0x68f60…68f80            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x68f80…68fa0            20 7d 0d 0a 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 44 72 61 77 4e 75 6d 28 78 31 2c 79 31 2c   ┆ å      PROCEDURE DrawNum(x1,y1,┆
0x68fa0…68fc0            4d 61 78 45 78 70 6f 6e 65 6e 74 3a 49 4e 54 45 47 45 52 3b 4e 75 6d 62 65 72 3a 52 45 41 4c 29   ┆MaxExponent:INTEGER;Number:REAL)┆
0x68fc0…68fe0            3b 0d 0a 56 41 52 20 69 3a 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 53 74 72 4e 75 6d 62 65 72   ┆;  VAR i:INTEGER;      StrNumber┆
0x68fe0…69000            3a 20 73 74 72 38 30 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 53 74 72 4e 75 6d 62 65 72 3a 3d 53 74   ┆: str80;  BEGIN    StrNumber:=St┆
0x69000…69020 (42, 0, 1) 72 69 6e 67 4e 75 6d 62 65 72 28 4e 75 6d 62 65 72 2c 4d 61 78 45 78 70 6f 6e 65 6e 74 29 3b 0d   ┆ringNumber(Number,MaxExponent); ┆
0x69020…69040            0a 20 20 57 6e 64 5f 44 72 61 77 74 65 78 74 28 78 31 2c 79 31 2c 53 74 72 4e 75 6d 62 65 72 29   ┆   Wnd_Drawtext(x1,y1,StrNumber)┆
0x69040…69060            3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 42 45 47 49 4e 0d 0a 20 20 0d 0a 20 20 7b 78 64 65 6e 73 20 6f   ┆;  END;    BEGIN        æxdens o┆
0x69060…69080            67 20 79 64 65 6e 73 20 6f 6d 64 61 6e 6e 65 73 20 73 86 20 64 65 20 70 61 73 73 65 20 74 69 6c   ┆g ydens omdannes s  de passe til┆
0x69080…690a0            20 70 72 6f 67 72 61 6d 6d 65 74 7d 0d 0a 20 20 0d 0a 20 20 78 64 65 6e 73 20 3a 3d 20 31 30 20   ┆ programmetå        xdens := 10 ┆
0x690a0…690c0            2d 20 78 64 65 6e 73 3b 0d 0a 20 20 79 64 65 6e 73 20 3a 3d 20 31 30 20 2d 20 79 64 65 6e 73 3b   ┆- xdens;    ydens := 10 - ydens;┆
0x690c0…690e0            0d 0a 20 20 0d 0a 20 20 63 6c 65 61 72 3b 0d 0a 20 20 0d 0a 20 20 7b 74 65 67 6e 65 72 20 6b 61   ┆        clear;        ætegner ka┆
0x690e0…69100            73 73 65 20 72 75 6e 64 74 20 6f 6d 20 67 72 61 66 65 6e 7d 0d 0a 20 20 0d 0a 20 20 64 72 61 77   ┆sse rundt om grafenå        draw┆
0x69100…69120            66 72 61 6d 65 3b 20 20 20 0d 0a 20 20 78 6b 30 3a 3d 36 2a 38 2b 32 3b 0d 0a 20 20 79 6b 30 3a   ┆frame;       xk0:=6*8+2;    yk0:┆
0x69120…69140            3d 31 32 3b 0d 0a 20 20 78 6b 31 3a 3d 57 6e 64 5f 2e 6d 61 78 78 2d 32 34 3b 0d 0a 20 20 79 6b   ┆=12;    xk1:=Wnd_.maxx-24;    yk┆
0x69140…69160            31 3a 3d 57 6e 64 5f 2e 6d 61 78 79 2d 38 3b 0d 0a 20 0d 0a 20 20 7b 74 65 67 6e 65 72 20 61 6b   ┆1:=Wnd_.maxy-8;       ætegner ak┆
0x69160…69180            73 65 72 6e 65 2c 69 6b 6b 65 20 64 65 6c 73 74 72 65 67 65 72 6e 65 20 7d 0d 0a 20 0d 0a 20 20   ┆serne,ikke delstregerne å       ┆
0x69180…691a0            57 6e 64 5f 4c 69 6e 65 74 6f 28 78 6b 30 2c 79 6b 30 2c 78 6b 30 2c 79 6b 31 29 3b 20 20 20 20   ┆Wnd_Lineto(xk0,yk0,xk0,yk1);    ┆
0x691a0…691c0            0d 0a 20 20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78 6b 30 2c 79 6b 30 2c 78 6b 31 2c 79 6b 30 29 3b   ┆    Wnd_Lineto(xk0,yk0,xk1,yk0);┆
0x691c0…691e0            20 20 20 20 0d 0a 20 20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78 6b 30 2c 79 6b 30 2c 78 6b 30 2d 34   ┆        Wnd_Lineto(xk0,yk0,xk0-4┆
0x691e0…69200            2c 79 6b 30 29 3b 20 20 0d 0a 20 20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78 6b 30 2c 79 6b 30 2d 34   ┆,yk0);      Wnd_Lineto(xk0,yk0-4┆
0x69200…69220            2c 78 6b 30 2c 79 6b 30 29 3b 20 20 0d 0a 20 20 64 65 6c 74 61 3a 3d 57 6e 64 5f 2e 6d 61 78 79   ┆,xk0,yk0);      delta:=Wnd_.maxy┆
0x69220…69240            2d 79 6b 30 3b 0d 0a 20 20 6e 70 6f 69 6e 74 73 3a 3d 64 65 6c 74 61 20 44 49 56 20 38 2b 31 3b   ┆-yk0;    npoints:=delta DIV 8+1;┆
0x69240…69260            20 20 20 20 20 20 20 20 20 20 20 7b 61 6e 74 61 6c 20 64 65 6c 73 74 72 65 67 65 72 20 70 86 20   ┆           æantal delstreger p  ┆
0x69260…69280            79 2d 61 6b 73 65 6e 7d 0d 0a 20 20 6e 64 69 66 66 3a 3d 64 65 6c 74 61 2d 28 6e 70 6f 69 6e 74   ┆y-aksenå    ndiff:=delta-(npoint┆
0x69280…692a0            73 2a 38 29 3b 0d 0a 0d 0a 20 20 7b 44 65 6e 20 6d 61 6b 73 69 6d 61 6c 65 20 65 6b 73 70 6f 6e   ┆s*8);      æDen maksimale ekspon┆
0x692a0…692c0            74 20 62 65 72 65 67 6e 65 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆t beregnes                      ┆
0x692c0…692e0            20 20 20 7d 0d 0a 20 20 7b 48 76 69 73 20 65 6b 73 70 6f 79 20 3a 3d 20 30 20 62 6c 69 76 65 72   ┆   å    æHvis ekspoy := 0 bliver┆
0x692e0…69300            20 74 61 6c 65 6e 65 20 75 64 73 6b 72 65 76 65 74 20 75 64 65 6e 20 65 6b 73 70 6f 6e 65 6e 74   ┆ talene udskrevet uden eksponent┆
0x69300…69320            7d 0d 0a 20 20 0d 0a 20 20 49 66 20 65 6b 73 70 6f 79 79 20 3d 20 27 4a 27 20 74 68 65 6e 20 0d   ┆å        If ekspoyy = 'J' then  ┆
0x69320…69340            0a 20 20 20 0d 0a 20 20 57 49 54 48 20 57 6c 64 5f 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20   ┆        WITH Wld_ DO BEGIN      ┆
0x69340…69360            49 46 20 61 62 73 28 79 72 61 6e 67 65 2b 79 31 29 3e 61 62 73 28 79 31 29 20 54 48 45 4e 20 65   ┆IF abs(yrange+y1)>abs(y1) THEN e┆
0x69360…69380            6b 73 70 6f 79 3a 3d 67 65 74 65 78 70 6f 6e 65 6e 74 28 79 72 61 6e 67 65 2b 79 31 29 0d 0a 20   ┆kspoy:=getexponent(yrange+y1)   ┆
0x69380…693a0            20 20 20 45 4c 53 45 20 65 6b 73 70 6f 79 3a 3d 67 65 74 65 78 70 6f 6e 65 6e 74 28 79 31 29 3b   ┆   ELSE ekspoy:=getexponent(y1);┆
0x693a0…693c0            0d 0a 20 20 45 4e 44 0d 0a 20 20 0d 0a 20 20 45 6c 73 65 20 65 6b 73 70 6f 79 20 3a 3d 20 30 3b   ┆    END        Else ekspoy := 0;┆
0x693c0…693e0            0d 0a 20 20 20 0d 0a 20 20 7b 75 64 73 6b 72 69 76 65 72 20 79 2a 31 30 20 70 86 20 79 2d 61 6b   ┆         æudskriver y*10 p  y-ak┆
0x693e0…69400            73 65 6e 7d 0d 0a 20 20 0d 0a 20 20 49 46 20 28 79 64 65 6e 73 3e 30 29 20 61 6e 64 20 28 65 6b   ┆senå        IF (ydens>0) and (ek┆
0x69400…69420 (42, 0, 2) 73 70 6f 79 20 3c 3e 20 30 29 20 54 48 45 4e 20 0d 0a 20 20 20 20 64 72 61 77 65 78 70 6f 6e 65   ┆spoy <> 0) THEN       drawexpone┆
0x69420…69440            6e 74 28 30 2c 57 6e 64 5f 2e 6d 61 78 79 2d 31 30 2c 65 6b 73 70 6f 79 2c 27 79 2a 31 30 27 29   ┆nt(0,Wnd_.maxy-10,ekspoy,'y*10')┆
0x69440…69460            3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆;                               ┆
0x69460…69480            20 20 20 20 20 20 20 0d 0a 20 20 46 72 61 63 74 3a 3d 4e 44 69 66 66 2f 4e 50 6f 69 6e 74 73 3b   ┆           Fract:=NDiff/NPoints;┆
0x69480…694a0            0d 0a 20 20 73 3a 3d 2d 46 72 61 63 74 3b 0d 0a 20 20 79 73 3a 3d 79 6b 30 2d 38 3b 0d 0a 20 20   ┆    s:=-Fract;    ys:=yk0-8;    ┆
0x694a0…694c0            44 69 66 66 3a 3d 28 57 6c 64 5f 2e 79 72 61 6e 67 65 29 2f 4e 50 6f 69 6e 74 73 3b 0d 0a 20 20   ┆Diff:=(Wld_.yrange)/NPoints;    ┆
0x694c0…694e0            0d 0a 20 20 7b 64 65 6c 73 74 72 65 67 65 72 20 70 86 20 79 2d 61 6b 73 65 6e 20 74 65 67 6e 65   ┆    ædelstreger p  y-aksen tegne┆
0x694e0…69500            73 7d 0d 0a 20 20 0d 0a 20 20 46 4f 52 20 69 3a 3d 30 20 54 4f 20 4e 50 6f 69 6e 74 73 2d 31 20   ┆så        FOR i:=0 TO NPoints-1 ┆
0x69500…69520            44 4f 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 79 73 3a 3d   ┆DO              BEGIN       ys:=┆
0x69520…69540            79 73 2b 38 3b 0d 0a 20 20 20 20 20 4e 75 6d 62 65 72 3a 3d 57 6c 64 5f 2e 59 31 2b 69 2a 44 69   ┆ys+8;       Number:=Wld_.Y1+i*Di┆
0x69540…69560            66 66 3b 0d 0a 20 20 0d 0a 20 20 20 20 20 7b 54 65 67 6e 65 72 20 64 65 6c 73 74 72 65 67 65 72   ┆ff;           æTegner delstreger┆
0x69560…69580            20 70 86 20 79 2d 61 6b 73 65 6e 7d 0d 0a 20 20 0d 0a 20 20 20 20 20 49 46 20 79 64 65 6e 73 3e   ┆ p  y-aksenå           IF ydens>┆
0x69580…695a0            30 20 54 48 45 4e 20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78 6b 30 2c 79 73 2c 78 6b 30 2d 34 2c 79   ┆0 THEN Wnd_Lineto(xk0,ys,xk0-4,y┆
0x695a0…695c0            73 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆s);                             ┆
0x695c0…695e0            20 20 20 20 20 0d 0a 20 20 20 20 20 49 46 20 28 79 64 65 6e 73 3e 30 29 20 41 4e 44 20 28 69 20   ┆            IF (ydens>0) AND (i ┆
0x695e0…69600            4d 4f 44 20 28 31 30 2d 59 44 65 6e 73 29 3d 30 29 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20   ┆MOD (10-YDens)=0) THEN BEGIN    ┆
0x69600…69620            20 20 20 20 20 6a 3a 3d 78 6b 30 3b 0d 0a 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 7b 75   ┆     j:=xk0;                  æu┆
0x69620…69640            64 73 6b 72 69 76 6e 69 6e 67 20 61 66 20 67 69 74 74 65 72 7d 0d 0a 20 20 20 20 20 20 20 0d 0a   ┆dskrivning af gitterå           ┆
0x69640…69660            20 20 20 20 20 20 20 49 46 20 67 69 74 74 65 72 20 54 48 45 4e 20 20 20 20 20 20 20 20 20 20 20   ┆       IF gitter THEN           ┆
0x69660…69680            20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 57 48 49 4c 45 20 6a 3c 3d 78 6b 31 20 44 4f   ┆                 WHILE j<=xk1 DO┆
0x69680…696a0            20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 20 57 6e 64 5f 53 65 74 64 6f 74 28 6a 2c 79 73   ┆ BEGIN           Wnd_Setdot(j,ys┆
0x696a0…696c0            29 3b 20 6a 3a 3d 6a 2b 33 3b 0d 0a 20 20 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 20 20   ┆); j:=j+3;          END;        ┆
0x696c0…696e0            20 0d 0a 20 20 20 20 20 20 20 7b 75 64 73 6b 72 69 76 65 72 20 76 91 72 64 69 65 72 20 66 6f 72   ┆          æudskriver v rdier for┆
0x696e0…69700            20 79 2d 61 6b 73 65 6e 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 7b 79 73 3a 20 79 2d   ┆ y-aksen       å         æys: y-┆
0x69700…69720            76 91 72 64 69 65 6e 20 66 6f 72 20 75 64 73 6b 72 69 76 6e 69 6e 67 73 73 74 65 64 65 74 7d 0d   ┆v rdien for udskrivningsstedetå ┆
0x69720…69740            0a 20 20 20 20 20 20 20 7b 65 6b 73 70 6f 79 3a 20 65 6b 73 70 6f 6e 65 6e 74 65 6e 20 64 65 72   ┆        æekspoy: eksponenten der┆
0x69740…69760            20 61 6e 76 65 6e 64 65 73 20 20 20 20 7d 20 20 0d 0a 20 20 20 20 20 20 20 7b 6e 75 6d 62 65 72   ┆ anvendes    å           ænumber┆
0x69760…69780            3a 20 44 65 74 20 74 61 6c 2c 20 64 65 72 20 73 6b 72 69 76 65 73 20 20 20 20 20 20 20 20 7d 20   ┆: Det tal, der skrives        å ┆
0x69780…697a0            0d 0a 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 49 46 20 28 79 73 3c 57 6e 64 5f 2e   ┆                    IF (ys<Wnd_.┆
0x697a0…697c0            6d 61 78 79 2d 32 30 29 20 54 48 45 4e 20 20 20 20 20 20 20 44 72 61 77 4e 75 6d 28 30 2c 79 73   ┆maxy-20) THEN       DrawNum(0,ys┆
0x697c0…697e0            2c 45 6b 73 70 6f 59 2c 4e 75 6d 62 65 72 29 3b 20 20 0d 0a 20 20 20 20 20 20 20 45 4e 44 3b 0d   ┆,EkspoY,Number);           END; ┆
0x697e0…69800            0a 20 20 20 45 4e 44 3b 0d 0a 20 20 64 65 6c 74 61 3a 3d 57 6e 64 5f 2e 6d 61 78 78 2d 78 6b 30   ┆    END;    delta:=Wnd_.maxx-xk0┆
0x69800…69820 (42, 0, 3) 2d 32 3b 0d 0a 20 20 6e 70 6f 69 6e 74 73 3a 3d 64 65 6c 74 61 20 44 49 56 20 34 30 2b 31 3b 0d   ┆-2;    npoints:=delta DIV 40+1; ┆
0x69820…69840            0a 20 20 6e 64 69 66 66 3a 3d 64 65 6c 74 61 2d 28 6e 70 6f 69 6e 74 73 2a 34 30 29 3b 0d 0a 20   ┆   ndiff:=delta-(npoints*40);   ┆
0x69840…69860            20 0d 0a 20 20 49 66 20 65 6b 73 70 6f 78 78 20 3d 20 27 4a 27 20 74 68 65 6e 20 0d 0a 20 20 0d   ┆     If ekspoxx = 'J' then      ┆
0x69860…69880            0a 20 20 57 49 54 48 20 57 6c 64 5f 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 49 46 20 61 62   ┆   WITH Wld_ DO BEGIN      IF ab┆
0x69880…698a0            73 28 78 72 61 6e 67 65 2b 78 31 29 3e 61 62 73 28 78 31 29 20 54 48 45 4e 20 65 6b 73 70 6f 79   ┆s(xrange+x1)>abs(x1) THEN ekspoy┆
0x698a0…698c0            3a 3d 67 65 74 65 78 70 6f 6e 65 6e 74 28 78 72 61 6e 67 65 2b 78 31 29 0d 0a 20 20 20 20 45 4c   ┆:=getexponent(xrange+x1)      EL┆
0x698c0…698e0            53 45 20 65 6b 73 70 6f 79 3a 3d 67 65 74 65 78 70 6f 6e 65 6e 74 28 78 31 29 3b 0d 0a 20 20 45   ┆SE ekspoy:=getexponent(x1);    E┆
0x698e0…69900            4e 44 0d 0a 20 20 0d 0a 20 20 65 6c 73 65 20 65 6b 73 70 6f 79 20 3a 3d 20 30 3b 0d 0a 20 20 0d   ┆ND        else ekspoy := 0;     ┆
0x69900…69920            0a 20 20 49 46 20 28 78 64 65 6e 73 3e 30 29 20 61 6e 64 20 28 65 6b 73 70 6f 79 20 3c 3e 20 30   ┆   IF (xdens>0) and (ekspoy <> 0┆
0x69920…69940            29 20 54 48 45 4e 20 0d 0a 20 20 20 20 64 72 61 77 65 78 70 6f 6e 65 6e 74 28 57 6e 64 5f 2e 6d   ┆) THEN       drawexponent(Wnd_.m┆
0x69940…69960            61 78 78 2d 34 38 2c 30 2c 65 6b 73 70 6f 79 2c 27 78 2a 31 30 27 29 3b 0d 0a 20 20 0d 0a 20 20   ┆axx-48,0,ekspoy,'x*10');        ┆
0x69960…69980            46 72 61 63 74 3a 3d 4e 44 69 66 66 2f 4e 50 6f 69 6e 74 73 3b 0d 0a 20 20 73 3a 3d 2d 46 72 61   ┆Fract:=NDiff/NPoints;    s:=-Fra┆
0x69980…699a0            63 74 3b 0d 0a 20 20 79 73 3a 3d 78 6b 30 2d 34 30 3b 0d 0a 20 20 44 69 66 66 3a 3d 28 57 6c 64   ┆ct;    ys:=xk0-40;    Diff:=(Wld┆
0x699a0…699c0            5f 2e 78 72 61 6e 67 65 29 2f 4e 50 6f 69 6e 74 73 3b 0d 0a 20 20 46 4f 52 20 69 3a 3d 30 20 54   ┆_.xrange)/NPoints;    FOR i:=0 T┆
0x699c0…699e0            4f 20 4e 50 6f 69 6e 74 73 2d 31 20 44 4f 0d 0a 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 79 73   ┆O NPoints-1 DO     BEGIN      ys┆
0x699e0…69a00            3a 3d 79 73 2b 34 30 3b 0d 0a 20 20 20 20 4e 75 6d 62 65 72 3a 3d 57 6c 64 5f 2e 78 31 2b 69 2a   ┆:=ys+40;      Number:=Wld_.x1+i*┆
0x69a00…69a20            44 69 66 66 3b 0d 0a 20 20 20 20 49 46 20 78 64 65 6e 73 3e 30 20 54 48 45 4e 20 57 6e 64 5f 4c   ┆Diff;      IF xdens>0 THEN Wnd_L┆
0x69a20…69a40            69 6e 65 74 6f 28 79 73 2c 79 6b 30 2c 79 73 2c 79 6b 30 2d 34 29 3b 0d 0a 20 20 20 20 49 46 20   ┆ineto(ys,yk0,ys,yk0-4);      IF ┆
0x69a40…69a60            28 78 64 65 6e 73 3e 30 29 20 41 4e 44 20 28 69 20 4d 4f 44 20 28 31 30 2d 78 44 65 6e 73 29 3d   ┆(xdens>0) AND (i MOD (10-xDens)=┆
0x69a60…69a80            30 29 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 6a 3a 3d 79 6b 30 3b 0d 0a 20 20   ┆0) THEN BEGIN        j:=yk0;    ┆
0x69a80…69aa0            20 20 20 20 49 46 20 67 69 74 74 65 72 20 54 48 45 4e 0d 0a 20 20 20 20 20 20 20 57 48 49 4c 45   ┆    IF gitter THEN         WHILE┆
0x69aa0…69ac0            20 6a 3c 3d 79 6b 31 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 57 6e 64 5f 53 65   ┆ j<=yk1 DO BEGIN          Wnd_Se┆
0x69ac0…69ae0            74 64 6f 74 28 79 73 2c 6a 29 3b 20 6a 3a 3d 6a 2b 33 3b 0d 0a 20 20 20 20 20 20 20 45 4e 44 3b   ┆tdot(ys,j); j:=j+3;         END;┆
0x69ae0…69b00            0d 0a 20 20 20 20 20 20 49 46 20 28 79 73 3c 57 6e 64 5f 2e 6d 61 78 78 2d 34 38 29 54 48 45 4e   ┆        IF (ys<Wnd_.maxx-48)THEN┆
0x69b00…69b20            20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 44 72 61 77 4e 75 6d 28 79 73 2d 34 30 2c 30 2c   ┆ BEGIN          DrawNum(ys-40,0,┆
0x69b20…69b40            45 6b 73 70 6f 59 2c 4e 75 6d 62 65 72 29 3b 0d 0a 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20   ┆EkspoY,Number);        END;     ┆
0x69b40…69b60            20 45 4e 44 3b 0d 0a 20 20 20 45 4e 44 3b 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 20 44 4f 20 42   ┆ END;     END;    WITH Wnd_ DO B┆
0x69b60…69b80            45 47 49 4e 0d 0a 20 20 20 20 78 31 3a 3d 78 31 2b 78 6b 30 3b 0d 0a 20 20 20 20 6d 61 78 78 3a   ┆EGIN      x1:=x1+xk0;      maxx:┆
0x69b80…69ba0            3d 6d 61 78 78 2d 78 6b 30 3b 0d 0a 20 20 20 20 79 31 3a 3d 79 31 2b 79 6b 30 3b 0d 0a 20 20 20   ┆=maxx-xk0;      y1:=y1+yk0;     ┆
0x69ba0…69bc0            20 6d 61 78 79 3a 3d 6d 61 78 79 2d 79 6b 30 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a   ┆ maxy:=maxy-yk0;    END;  END;  ┆
0x69bc0…69be0            00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
         […0x1…]
0x69c00…69c20 (42, 0, 4) e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
         […0x1f…]
0x6a000…6a020 (42, 0, 5) 28 2a 47 53 56 2d 41 78 65 72 2a 29 0d 0a 7b 55 64 73 6b 72 69 76 65 72 20 61 6b 73 65 73 79 73   ┆(*GSV-Axer*)  æUdskriver aksesys┆
0x6a020…6a040            74 65 6d 65 74 20 74 69 6c 20 65 6e 20 78 2c 79 20 67 72 61 66 3a 20 20 20 20 20 20 20 20 20 20   ┆temet til en x,y graf:          ┆
0x6a040…6a060            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 0d 0a 7b 78 64   ┆                      å      æxd┆
0x6a060…6a080            65 6e 73 2f 79 64 65 6e 73 3a 20 20 65 74 20 74 61 6c 20 6d 65 6c 6c 65 6d 20 30 20 6f 67 20 39   ┆ens/ydens:  et tal mellem 0 og 9┆
0x6a080…6a0a0            2c 20 64 65 72 20 61 6e 67 69 76 65 72 20 68 76 6f 72 6d 61 6e 67 65 20 6d 65 6c 6c 65 6d 72 75   ┆, der angiver hvormange mellemru┆
0x6a0a0…6a0c0            6d 7d 0d 0a 7b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 72 20 65 72 20 6d 65 6c 6c 65 6d   ┆må  æ              der er mellem┆
0x6a0c0…6a0e0            20 75 64 73 6b 72 69 76 6e 69 6e 67 65 6e 20 61 66 20 76 91 72 64 69 65 72 20 70 86 20 68 65 6e   ┆ udskrivningen af v rdier p  hen┆
0x6a0e0…6a100            68 6f 6c 64 73 76 69 73 7d 0d 0a 7b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 20 6f 67 20 79   ┆holdsviså  æ              x og y┆
0x6a100…6a120            2d 61 6b 73 65 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆-aksen                          ┆
0x6a120…6a140            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 7b 67 69 74 74 65 72 3a 20 20 54 72 75 65   ┆               å  ægitter:  True┆
0x6a140…6a160            3a 20 20 67 69 74 74 65 72 20 74 65 67 6e 65 73 20 20 20 46 61 6c 73 65 3a 20 20 67 69 74 74 65   ┆:  gitter tegnes   False:  gitte┆
0x6a160…6a180            72 20 74 65 67 6e 65 73 20 69 6b 6b 65 20 20 20 20 20 20 20 20 20 7d 0d 0a 7b 45 6b 73 70 6f 78   ┆r tegnes ikke         å  æEkspox┆
0x6a180…6a1a0            78 2f 79 79 3a 20 27 4a 27 20 3a 20 20 78 2f 79 2d 61 6b 73 65 20 76 91 72 64 69 65 72 20 75 64   ┆x/yy: 'J' :  x/y-akse v rdier ud┆
0x6a1a0…6a1c0            73 6b 72 69 76 65 73 20 65 6b 73 70 6f 6e 65 6e 74 69 65 6c 74 20 20 20 20 20 20 20 20 7d 0d 0a   ┆skrives eksponentielt        å  ┆
0x6a1c0…6a1e0            7b 20 20 20 20 20 20 20 20 20 20 20 20 27 4e 27 20 3a 20 20 76 91 72 64 69 65 72 20 75 64 73 6b   ┆æ            'N' :  v rdier udsk┆
0x6a1e0…6a200            72 69 76 65 73 20 69 6b 6b 65 20 65 6b 73 70 6f 6e 65 6e 74 69 65 6c 74 20 20 20 20 20 20 20 20   ┆rives ikke eksponentielt        ┆
0x6a200…6a220            20 20 20 20 7d 0d 0a 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 64 72 61 77 61 78 69 73 28 20 78   ┆    å      PROCEDURE drawaxis( x┆
0x6a220…6a240            64 65 6e 73 2c 20 79 64 65 6e 73 3a 20 49 4e 54 45 47 45 52 3b 20 67 69 74 74 65 72 3a 20 62 6f   ┆dens, ydens: INTEGER; gitter: bo┆
0x6a240…6a260            6f 6c 65 61 6e 3b 20 0d 0a 45 6b 73 70 6f 78 78 2c 20 45 6b 73 70 6f 79 79 20 3a 20 73 74 72 31   ┆olean;   Ekspoxx, Ekspoyy : str1┆
0x6a260…6a280            29 3b 0d 0a 56 41 52 0d 0a 20 20 78 6b 30 2c 20 79 6b 30 2c 20 78 6b 31 2c 20 79 6b 31 2c 20 4e   ┆);  VAR    xk0, yk0, xk1, yk1, N┆
0x6a280…6a2a0            64 69 66 66 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 65 6b 73 70 6f 78 2c 20 65 6b 73 70 6f   ┆diff : INTEGER;    ekspox, ekspo┆
0x6a2a0…6a2c0            79 2c 6a 2c 69 2c 20 79 73 2c 20 78 73 2c 20 64 65 6c 74 61 2c 20 6e 70 6f 69 6e 74 73 09 3a 20   ┆y,j,i, ys, xs, delta, npoints : ┆
0x6a2c0…6a2e0            49 4e 54 45 47 45 52 3b 0d 0a 20 20 64 69 66 66 2c 20 6e 75 6d 62 65 72 2c 20 73 2c 20 66 72 61   ┆INTEGER;    diff, number, s, fra┆
0x6a2e0…6a300            63 74 3a 20 52 45 41 4c 3b 0d 0a 20 20 73 74 3a 20 73 74 72 38 30 3b 0d 0a 0d 0a 7b 4f 6d 66 6f   ┆ct: REAL;    st: str80;    æOmfo┆
0x6a300…6a320            72 6d 65 72 20 65 74 20 61 6c 6d 69 6e 64 65 6c 69 67 74 20 74 61 6c 20 28 78 31 29 2c 20 76 65   ┆rmer et almindeligt tal (x1), ve┆
0x6a320…6a340            64 20 68 6a 91 6c 70 20 61 66 20 65 6e 20 6f 70 67 69 76 65 6e 20 65 6b 73 70 6f 6e 65 6e 74 20   ┆d hj lp af en opgiven eksponent ┆
0x6a340…6a360            28 65 78 70 6f 29 7d 0d 0a 7b 74 69 6c 20 65 6e 20 73 74 72 69 6e 67 2c 20 68 76 6f 72 20 74 61   ┆(expo)å  ætil en string, hvor ta┆
0x6a360…6a380            6c 6c 65 74 20 61 6e 67 69 76 65 73 20 65 6b 73 70 6f 6e 65 6e 74 69 65 6c 74 20 20 20 20 20 20   ┆llet angives eksponentielt      ┆
0x6a380…6a3a0            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 0d 0a 46 55 4e   ┆                    å        FUN┆
0x6a3a0…6a3c0            43 54 49 4f 4e 20 73 74 72 69 6e 67 6e 75 6d 62 65 72 28 78 31 3a 20 52 45 41 4c 3b 65 6b 73 70   ┆CTION stringnumber(x1: REAL;eksp┆
0x6a3c0…6a3e0            6f 09 3a 20 49 4e 54 45 47 45 52 29 3a 20 73 74 72 38 30 3b 0d 0a 56 41 52 20 73 3a 20 73 74 72   ┆o : INTEGER): str80;  VAR s: str┆
0x6a3e0…6a400            38 30 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 73 74 72 28 78 31 2a 65 78 70 28 2d 65 6b 73 70 6f 2a   ┆80;  BEGIN    str(x1*exp(-ekspo*┆
0x6a400…6a420 (42, 1, 1) 6c 6e 28 31 30 2e 30 29 29 3a 35 3a 32 2c 73 29 3b 0d 0a 20 20 73 74 72 69 6e 67 6e 75 6d 62 65   ┆ln(10.0)):5:2,s);    stringnumbe┆
0x6a420…6a440            72 3a 3d 73 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 7b 42 65 72 65 67 6e 65 72 20 68 76 6f 72 73 74 6f   ┆r:=s;  END;    æBeregner hvorsto┆
0x6a440…6a460            72 20 65 6b 73 70 6f 6e 65 6e 74 65 6e 20 73 6b 61 6c 20 76 91 72 65 2c 20 68 76 69 73 20 64 65   ┆r eksponenten skal v re, hvis de┆
0x6a460…6a480            74 20 73 74 9b 72 73 74 65 20 74 61 6c 20 73 6b 61 6c 20 76 91 72 65 7d 0d 0a 7b 6d 69 6e 64 72   ┆t st rste tal skal v reå  æmindr┆
0x6a480…6a4a0            65 20 65 6e 64 20 31 2e 30 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆e end 1.00                      ┆
0x6a4a0…6a4c0            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x6a4c0…6a4e0            20 20 7d 20 0d 0a 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 47 65 74 45 78 70 6f 6e 65 6e 74 28 58   ┆  å       FUNCTION GetExponent(X┆
0x6a4e0…6a500            31 3a 52 45 41 4c 29 3a 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 47 65 74 45 78   ┆1:REAL):INTEGER;  BEGIN    GetEx┆
0x6a500…6a520            70 6f 6e 65 6e 74 3a 3d 30 3b 0d 0a 20 20 49 46 20 58 31 3c 3e 30 2e 30 20 54 48 45 4e 0d 0a 20   ┆ponent:=0;    IF X1<>0.0 THEN   ┆
0x6a520…6a540            20 20 20 49 46 20 61 62 73 28 58 31 29 3e 3d 31 2e 30 20 54 48 45 4e 20 47 65 74 45 78 70 6f 6e   ┆   IF abs(X1)>=1.0 THEN GetExpon┆
0x6a540…6a560            65 6e 74 3a 3d 74 72 75 6e 63 28 6c 6e 28 61 62 73 28 58 31 29 29 2f 6c 6e 28 31 30 2e 30 29 29   ┆ent:=trunc(ln(abs(X1))/ln(10.0))┆
0x6a560…6a580            0d 0a 20 20 20 20 45 4c 53 45 20 47 65 74 45 78 70 6f 6e 65 6e 74 3a 3d 2d 74 72 75 6e 63 28 61   ┆      ELSE GetExponent:=-trunc(a┆
0x6a580…6a5a0            62 73 28 6c 6e 28 61 62 73 28 58 31 29 29 29 2f 6c 6e 28 31 30 2e 30 29 2b 31 2e 30 29 3b 0d 0a   ┆bs(ln(abs(X1)))/ln(10.0)+1.0);  ┆
0x6a5a0…6a5c0            45 4e 44 3b 0d 0a 0d 0a 7b 55 64 73 6b 72 69 76 65 72 20 68 76 6f 72 73 74 6f 72 20 65 6b 73 70   ┆END;    æUdskriver hvorstor eksp┆
0x6a5c0…6a5e0            6f 6e 65 6e 74 65 6e 20 65 72 7d 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 44 72 61 77 45 78 70   ┆onenten erå    PROCEDURE DrawExp┆
0x6a5e0…6a600            6f 6e 65 6e 74 28 78 31 2c 79 31 2c 4d 61 78 45 78 70 6f 6e 65 6e 74 3a 49 4e 54 45 47 45 52 3b   ┆onent(x1,y1,MaxExponent:INTEGER;┆
0x6a600…6a620            73 3a 20 73 74 72 38 30 29 3b 0d 0a 56 41 52 20 69 3a 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49   ┆s: str80);  VAR i:INTEGER;  BEGI┆
0x6a620…6a640            4e 0d 0a 20 20 57 6e 64 5f 64 72 61 77 74 65 78 74 28 78 31 2c 79 31 2c 73 29 3b 0d 0a 20 20 69   ┆N    Wnd_drawtext(x1,y1,s);    i┆
0x6a640…6a660            3a 3d 6c 65 6e 28 73 29 3b 0d 0a 20 20 73 74 72 28 4d 61 78 45 78 70 6f 6e 65 6e 74 2c 53 29 3b   ┆:=len(s);    str(MaxExponent,S);┆
0x6a660…6a680            0d 0a 20 20 57 6e 64 5f 64 72 61 77 74 65 78 74 28 78 31 2b 69 2a 38 2c 20 79 31 2b 32 2c 20 53   ┆    Wnd_drawtext(x1+i*8, y1+2, S┆
0x6a680…6a6a0            29 3b 20 20 20 20 20 20 0d 0a 45 4e 44 3b 0d 0a 0d 0a 0d 0a 7b 55 64 73 6b 72 69 76 65 72 20 65   ┆);        END;      æUdskriver e┆
0x6a6a0…6a6c0            6e 20 73 74 72 69 6e 67 20 61 66 20 74 61 6c 20 70 86 20 65 6e 20 67 69 76 65 6e 20 70 6f 73 69   ┆n string af tal p  en given posi┆
0x6a6c0…6a6e0            74 69 6f 6e 2c 20 6d 65 64 20 65 6e 20 6f 70 67 69 76 65 6e 20 65 6b 73 70 6f 6e 65 6e 74 20 20   ┆tion, med en opgiven eksponent  ┆
0x6a6e0…6a700            20 7d 0d 0a 7b 78 31 20 6f 67 20 79 31 3a 20 75 64 73 6b 72 69 76 6e 69 6e 67 73 6b 6f 6f 72 64   ┆ å  æx1 og y1: udskrivningskoord┆
0x6a700…6a720            69 6e 61 74 65 72 6e 65 20 20 20 20 4d 61 78 45 78 70 6f 6e 65 6e 74 3a 20 65 78 73 70 6f 6e 65   ┆inaterne    MaxExponent: exspone┆
0x6a720…6a740            6e 74 65 6e 20 64 65 72 20 61 6e 76 65 6e 64 65 73 7d 0d 0a 7b 76 65 64 20 75 64 73 6b 72 69 76   ┆nten der anvendeså  æved udskriv┆
0x6a740…6a760            6e 69 6e 67 65 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ningen                          ┆
0x6a760…6a780            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x6a780…6a7a0            20 7d 0d 0a 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 44 72 61 77 4e 75 6d 28 78 31 2c 79 31 2c   ┆ å      PROCEDURE DrawNum(x1,y1,┆
0x6a7a0…6a7c0            4d 61 78 45 78 70 6f 6e 65 6e 74 3a 49 4e 54 45 47 45 52 3b 4e 75 6d 62 65 72 3a 52 45 41 4c 29   ┆MaxExponent:INTEGER;Number:REAL)┆
0x6a7c0…6a7e0            3b 0d 0a 56 41 52 20 69 3a 49 4e 54 45 47 45 52 3b 0d 0a 20 20 20 20 53 74 72 4e 75 6d 62 65 72   ┆;  VAR i:INTEGER;      StrNumber┆
0x6a7e0…6a800            3a 20 73 74 72 38 30 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 53 74 72 4e 75 6d 62 65 72 3a 3d 53 74   ┆: str80;  BEGIN    StrNumber:=St┆
0x6a800…6a820 (42, 1, 2) 72 69 6e 67 4e 75 6d 62 65 72 28 4e 75 6d 62 65 72 2c 4d 61 78 45 78 70 6f 6e 65 6e 74 29 3b 0d   ┆ringNumber(Number,MaxExponent); ┆
0x6a820…6a840            0a 20 20 57 6e 64 5f 44 72 61 77 74 65 78 74 28 78 31 2c 79 31 2c 53 74 72 4e 75 6d 62 65 72 29   ┆   Wnd_Drawtext(x1,y1,StrNumber)┆
0x6a840…6a860            3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 42 45 47 49 4e 0d 0a 20 20 0d 0a 20 20 7b 78 64 65 6e 73 20 6f   ┆;  END;    BEGIN        æxdens o┆
0x6a860…6a880            67 20 79 64 65 6e 73 20 6f 6d 64 61 6e 6e 65 73 20 73 86 20 64 65 20 70 61 73 73 65 20 74 69 6c   ┆g ydens omdannes s  de passe til┆
0x6a880…6a8a0            20 70 72 6f 67 72 61 6d 6d 65 74 7d 0d 0a 20 20 0d 0a 20 20 78 64 65 6e 73 20 3a 3d 20 31 30 20   ┆ programmetå        xdens := 10 ┆
0x6a8a0…6a8c0            2d 20 78 64 65 6e 73 3b 0d 0a 20 20 79 64 65 6e 73 20 3a 3d 20 31 30 20 2d 20 79 64 65 6e 73 3b   ┆- xdens;    ydens := 10 - ydens;┆
0x6a8c0…6a8e0            0d 0a 20 20 0d 0a 20 20 43 6c 65 61 72 57 69 6e 64 6f 77 3b 0d 0a 20 20 0d 0a 20 20 7b 74 65 67   ┆        ClearWindow;        æteg┆
0x6a8e0…6a900            6e 65 72 20 6b 61 73 73 65 20 72 75 6e 64 74 20 6f 6d 20 67 72 61 66 65 6e 7d 0d 0a 20 20 0d 0a   ┆ner kasse rundt om grafenå      ┆
0x6a900…6a920            20 20 64 72 61 77 66 72 61 6d 65 3b 20 20 20 0d 0a 20 20 78 6b 30 3a 3d 36 2a 38 2b 32 3b 0d 0a   ┆  drawframe;       xk0:=6*8+2;  ┆
0x6a920…6a940            20 20 79 6b 30 3a 3d 31 32 3b 0d 0a 20 20 78 6b 31 3a 3d 57 6e 64 5f 2e 6d 61 78 78 2d 32 34 3b   ┆  yk0:=12;    xk1:=Wnd_.maxx-24;┆
0x6a940…6a960            0d 0a 20 20 79 6b 31 3a 3d 57 6e 64 5f 2e 6d 61 78 79 2d 38 3b 0d 0a 20 0d 0a 20 20 7b 74 65 67   ┆    yk1:=Wnd_.maxy-8;       æteg┆
0x6a960…6a980            6e 65 72 20 61 6b 73 65 72 6e 65 2c 69 6b 6b 65 20 64 65 6c 73 74 72 65 67 65 72 6e 65 20 7d 0d   ┆ner akserne,ikke delstregerne å ┆
0x6a980…6a9a0            0a 20 0d 0a 20 20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78 6b 30 2c 79 6b 30 2c 78 6b 30 2c 79 6b 31   ┆      Wnd_Lineto(xk0,yk0,xk0,yk1┆
0x6a9a0…6a9c0            29 3b 20 20 20 20 0d 0a 20 20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78 6b 30 2c 79 6b 30 2c 78 6b 31   ┆);        Wnd_Lineto(xk0,yk0,xk1┆
0x6a9c0…6a9e0            2c 79 6b 30 29 3b 20 20 20 20 0d 0a 20 20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78 6b 30 2c 79 6b 30   ┆,yk0);        Wnd_Lineto(xk0,yk0┆
0x6a9e0…6aa00            2c 78 6b 30 2d 34 2c 79 6b 30 29 3b 20 20 0d 0a 20 20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78 6b 30   ┆,xk0-4,yk0);      Wnd_Lineto(xk0┆
0x6aa00…6aa20            2c 79 6b 30 2d 34 2c 78 6b 30 2c 79 6b 30 29 3b 20 20 0d 0a 20 20 64 65 6c 74 61 3a 3d 57 6e 64   ┆,yk0-4,xk0,yk0);      delta:=Wnd┆
0x6aa20…6aa40            5f 2e 6d 61 78 79 2d 79 6b 30 3b 0d 0a 20 20 6e 70 6f 69 6e 74 73 3a 3d 64 65 6c 74 61 20 44 49   ┆_.maxy-yk0;    npoints:=delta DI┆
0x6aa40…6aa60            56 20 38 2b 31 3b 20 20 20 20 20 20 20 20 20 20 20 7b 61 6e 74 61 6c 20 64 65 6c 73 74 72 65 67   ┆V 8+1;           æantal delstreg┆
0x6aa60…6aa80            65 72 20 70 86 20 79 2d 61 6b 73 65 6e 7d 0d 0a 20 20 6e 64 69 66 66 3a 3d 64 65 6c 74 61 2d 28   ┆er p  y-aksenå    ndiff:=delta-(┆
0x6aa80…6aaa0            6e 70 6f 69 6e 74 73 2a 38 29 3b 0d 0a 0d 0a 20 20 7b 44 65 6e 20 6d 61 6b 73 69 6d 61 6c 65 20   ┆npoints*8);      æDen maksimale ┆
0x6aaa0…6aac0            65 6b 73 70 6f 6e 74 20 62 65 72 65 67 6e 65 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ekspont beregnes                ┆
0x6aac0…6aae0            20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 7b 48 76 69 73 20 65 6b 73 70 6f 79 20 3a 3d 20 30 20   ┆         å    æHvis ekspoy := 0 ┆
0x6aae0…6ab00            62 6c 69 76 65 72 20 74 61 6c 65 6e 65 20 75 64 73 6b 72 65 76 65 74 20 75 64 65 6e 20 65 6b 73   ┆bliver talene udskrevet uden eks┆
0x6ab00…6ab20            70 6f 6e 65 6e 74 7d 0d 0a 20 20 0d 0a 20 20 49 66 20 65 6b 73 70 6f 79 79 20 3d 20 27 4a 27 20   ┆ponentå        If ekspoyy = 'J' ┆
0x6ab20…6ab40            74 68 65 6e 20 0d 0a 20 20 20 0d 0a 20 20 57 49 54 48 20 57 6c 64 5f 20 44 4f 20 42 45 47 49 4e   ┆then          WITH Wld_ DO BEGIN┆
0x6ab40…6ab60            0d 0a 20 20 20 20 49 46 20 61 62 73 28 79 72 61 6e 67 65 2b 79 31 29 3e 61 62 73 28 79 31 29 20   ┆      IF abs(yrange+y1)>abs(y1) ┆
0x6ab60…6ab80            54 48 45 4e 20 65 6b 73 70 6f 79 3a 3d 67 65 74 65 78 70 6f 6e 65 6e 74 28 79 72 61 6e 67 65 2b   ┆THEN ekspoy:=getexponent(yrange+┆
0x6ab80…6aba0            79 31 29 0d 0a 20 20 20 20 45 4c 53 45 20 65 6b 73 70 6f 79 3a 3d 67 65 74 65 78 70 6f 6e 65 6e   ┆y1)      ELSE ekspoy:=getexponen┆
0x6aba0…6abc0            74 28 79 31 29 3b 0d 0a 20 20 45 4e 44 0d 0a 20 20 0d 0a 20 20 45 6c 73 65 20 65 6b 73 70 6f 79   ┆t(y1);    END        Else ekspoy┆
0x6abc0…6abe0            20 3a 3d 20 30 3b 0d 0a 20 20 20 0d 0a 20 20 7b 75 64 73 6b 72 69 76 65 72 20 79 2a 31 30 20 70   ┆ := 0;         æudskriver y*10 p┆
0x6abe0…6ac00            86 20 79 2d 61 6b 73 65 6e 7d 0d 0a 20 20 0d 0a 20 20 49 46 20 28 79 64 65 6e 73 3e 30 29 20 61   ┆  y-aksenå        IF (ydens>0) a┆
0x6ac00…6ac20 (42, 1, 3) 6e 64 20 28 65 6b 73 70 6f 79 20 3c 3e 20 30 29 20 54 48 45 4e 20 0d 0a 20 20 20 20 64 72 61 77   ┆nd (ekspoy <> 0) THEN       draw┆
0x6ac20…6ac40            65 78 70 6f 6e 65 6e 74 28 30 2c 57 6e 64 5f 2e 6d 61 78 79 2d 31 30 2c 65 6b 73 70 6f 79 2c 27   ┆exponent(0,Wnd_.maxy-10,ekspoy,'┆
0x6ac40…6ac60            79 2a 31 30 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆y*10');                         ┆
0x6ac60…6ac80            20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 46 72 61 63 74 3a 3d 4e 44 69 66 66 2f 4e 50   ┆                 Fract:=NDiff/NP┆
0x6ac80…6aca0            6f 69 6e 74 73 3b 0d 0a 20 20 73 3a 3d 2d 46 72 61 63 74 3b 0d 0a 20 20 79 73 3a 3d 79 6b 30 2d   ┆oints;    s:=-Fract;    ys:=yk0-┆
0x6aca0…6acc0            38 3b 0d 0a 20 20 44 69 66 66 3a 3d 28 57 6c 64 5f 2e 79 72 61 6e 67 65 29 2f 4e 50 6f 69 6e 74   ┆8;    Diff:=(Wld_.yrange)/NPoint┆
0x6acc0…6ace0            73 3b 0d 0a 20 20 0d 0a 20 20 7b 64 65 6c 73 74 72 65 67 65 72 20 70 86 20 79 2d 61 6b 73 65 6e   ┆s;        ædelstreger p  y-aksen┆
0x6ace0…6ad00            20 74 65 67 6e 65 73 7d 0d 0a 20 20 0d 0a 20 20 46 4f 52 20 69 3a 3d 30 20 54 4f 20 4e 50 6f 69   ┆ tegneså        FOR i:=0 TO NPoi┆
0x6ad00…6ad20            6e 74 73 2d 31 20 44 4f 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 42 45 47 49 4e 0d 0a 20 20 20   ┆nts-1 DO              BEGIN     ┆
0x6ad20…6ad40            20 20 79 73 3a 3d 79 73 2b 38 3b 0d 0a 20 20 20 20 20 4e 75 6d 62 65 72 3a 3d 57 6c 64 5f 2e 59   ┆  ys:=ys+8;       Number:=Wld_.Y┆
0x6ad40…6ad60            31 2b 69 2a 44 69 66 66 3b 0d 0a 20 20 0d 0a 20 20 20 20 20 7b 54 65 67 6e 65 72 20 64 65 6c 73   ┆1+i*Diff;           æTegner dels┆
0x6ad60…6ad80            74 72 65 67 65 72 20 70 86 20 79 2d 61 6b 73 65 6e 7d 0d 0a 20 20 0d 0a 20 20 20 20 20 49 46 20   ┆treger p  y-aksenå           IF ┆
0x6ad80…6ada0            79 64 65 6e 73 3e 30 20 54 48 45 4e 20 57 6e 64 5f 4c 69 6e 65 74 6f 28 78 6b 30 2c 79 73 2c 78   ┆ydens>0 THEN Wnd_Lineto(xk0,ys,x┆
0x6ada0…6adc0            6b 30 2d 34 2c 79 73 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆k0-4,ys);                       ┆
0x6adc0…6ade0            20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 49 46 20 28 79 64 65 6e 73 3e 30 29 20 41   ┆                  IF (ydens>0) A┆
0x6ade0…6ae00            4e 44 20 28 69 20 4d 4f 44 20 28 31 30 2d 59 44 65 6e 73 29 3d 30 29 20 54 48 45 4e 20 42 45 47   ┆ND (i MOD (10-YDens)=0) THEN BEG┆
0x6ae00…6ae20            49 4e 0d 0a 20 20 20 20 20 20 20 6a 3a 3d 78 6b 30 3b 0d 0a 20 20 20 20 20 20 20 0d 0a 20 20 20   ┆IN         j:=xk0;              ┆
0x6ae20…6ae40            20 20 20 20 7b 75 64 73 6b 72 69 76 6e 69 6e 67 20 61 66 20 67 69 74 74 65 72 7d 0d 0a 20 20 20   ┆    æudskrivning af gitterå     ┆
0x6ae40…6ae60            20 20 20 20 0d 0a 20 20 20 20 20 20 20 49 46 20 67 69 74 74 65 72 20 54 48 45 4e 20 20 20 20 20   ┆             IF gitter THEN     ┆
0x6ae60…6ae80            20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 57 48 49 4c 45 20 6a 3c 3d   ┆                       WHILE j<=┆
0x6ae80…6aea0            78 6b 31 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 20 57 6e 64 5f 53 65 74 64 6f   ┆xk1 DO BEGIN           Wnd_Setdo┆
0x6aea0…6aec0            74 28 6a 2c 79 73 29 3b 20 6a 3a 3d 6a 2b 33 3b 0d 0a 20 20 20 20 20 20 20 20 45 4e 44 3b 0d 0a   ┆t(j,ys); j:=j+3;          END;  ┆
0x6aec0…6aee0            20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 7b 75 64 73 6b 72 69 76 65 72 20 76 91 72 64 69   ┆                æudskriver v rdi┆
0x6aee0…6af00            65 72 20 66 6f 72 20 79 2d 61 6b 73 65 6e 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 7b   ┆er for y-aksen       å         æ┆
0x6af00…6af20            79 73 3a 20 79 2d 76 91 72 64 69 65 6e 20 66 6f 72 20 75 64 73 6b 72 69 76 6e 69 6e 67 73 73 74   ┆ys: y-v rdien for udskrivningsst┆
0x6af20…6af40            65 64 65 74 7d 0d 0a 20 20 20 20 20 20 20 7b 65 6b 73 70 6f 79 3a 20 65 6b 73 70 6f 6e 65 6e 74   ┆edetå         æekspoy: eksponent┆
0x6af40…6af60            65 6e 20 64 65 72 20 61 6e 76 65 6e 64 65 73 20 20 20 20 7d 20 20 0d 0a 20 20 20 20 20 20 20 7b   ┆en der anvendes    å           æ┆
0x6af60…6af80            6e 75 6d 62 65 72 3a 20 44 65 74 20 74 61 6c 2c 20 64 65 72 20 73 6b 72 69 76 65 73 20 20 20 20   ┆number: Det tal, der skrives    ┆
0x6af80…6afa0            20 20 20 20 7d 20 0d 0a 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 49 46 20 28 79 73   ┆    å                     IF (ys┆
0x6afa0…6afc0            3c 57 6e 64 5f 2e 6d 61 78 79 2d 32 30 29 20 54 48 45 4e 20 20 20 20 20 20 20 44 72 61 77 4e 75   ┆<Wnd_.maxy-20) THEN       DrawNu┆
0x6afc0…6afe0            6d 28 30 2c 79 73 2c 45 6b 73 70 6f 59 2c 4e 75 6d 62 65 72 29 3b 20 20 0d 0a 20 20 20 20 20 20   ┆m(0,ys,EkspoY,Number);          ┆
0x6afe0…6b000            20 45 4e 44 3b 0d 0a 20 20 20 45 4e 44 3b 0d 0a 20 20 64 65 6c 74 61 3a 3d 57 6e 64 5f 2e 6d 61   ┆ END;     END;    delta:=Wnd_.ma┆
0x6b000…6b020 (42, 1, 4) 78 78 2d 78 6b 30 2d 32 3b 0d 0a 20 20 6e 70 6f 69 6e 74 73 3a 3d 64 65 6c 74 61 20 44 49 56 20   ┆xx-xk0-2;    npoints:=delta DIV ┆
0x6b020…6b040            34 30 2b 31 3b 0d 0a 20 20 6e 64 69 66 66 3a 3d 64 65 6c 74 61 2d 28 6e 70 6f 69 6e 74 73 2a 34   ┆40+1;    ndiff:=delta-(npoints*4┆
0x6b040…6b060            30 29 3b 0d 0a 20 20 0d 0a 20 20 49 66 20 65 6b 73 70 6f 78 78 20 3d 20 27 4a 27 20 74 68 65 6e   ┆0);        If ekspoxx = 'J' then┆
0x6b060…6b080            20 0d 0a 20 20 0d 0a 20 20 57 49 54 48 20 57 6c 64 5f 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20   ┆         WITH Wld_ DO BEGIN     ┆
0x6b080…6b0a0            20 49 46 20 61 62 73 28 78 72 61 6e 67 65 2b 78 31 29 3e 61 62 73 28 78 31 29 20 54 48 45 4e 20   ┆ IF abs(xrange+x1)>abs(x1) THEN ┆
0x6b0a0…6b0c0            65 6b 73 70 6f 79 3a 3d 67 65 74 65 78 70 6f 6e 65 6e 74 28 78 72 61 6e 67 65 2b 78 31 29 0d 0a   ┆ekspoy:=getexponent(xrange+x1)  ┆
0x6b0c0…6b0e0            20 20 20 20 45 4c 53 45 20 65 6b 73 70 6f 79 3a 3d 67 65 74 65 78 70 6f 6e 65 6e 74 28 78 31 29   ┆    ELSE ekspoy:=getexponent(x1)┆
0x6b0e0…6b100            3b 0d 0a 20 20 45 4e 44 0d 0a 20 20 0d 0a 20 20 65 6c 73 65 20 65 6b 73 70 6f 79 20 3a 3d 20 30   ┆;    END        else ekspoy := 0┆
0x6b100…6b120            3b 0d 0a 20 20 0d 0a 20 20 49 46 20 28 78 64 65 6e 73 3e 30 29 20 61 6e 64 20 28 65 6b 73 70 6f   ┆;        IF (xdens>0) and (ekspo┆
0x6b120…6b140            79 20 3c 3e 20 30 29 20 54 48 45 4e 20 0d 0a 20 20 20 20 64 72 61 77 65 78 70 6f 6e 65 6e 74 28   ┆y <> 0) THEN       drawexponent(┆
0x6b140…6b160            57 6e 64 5f 2e 6d 61 78 78 2d 34 38 2c 30 2c 65 6b 73 70 6f 79 2c 27 78 2a 31 30 27 29 3b 0d 0a   ┆Wnd_.maxx-48,0,ekspoy,'x*10');  ┆
0x6b160…6b180            20 20 0d 0a 20 20 46 72 61 63 74 3a 3d 4e 44 69 66 66 2f 4e 50 6f 69 6e 74 73 3b 0d 0a 20 20 73   ┆      Fract:=NDiff/NPoints;    s┆
0x6b180…6b1a0            3a 3d 2d 46 72 61 63 74 3b 0d 0a 20 20 79 73 3a 3d 78 6b 30 2d 34 30 3b 0d 0a 20 20 44 69 66 66   ┆:=-Fract;    ys:=xk0-40;    Diff┆
0x6b1a0…6b1c0            3a 3d 28 57 6c 64 5f 2e 78 72 61 6e 67 65 29 2f 4e 50 6f 69 6e 74 73 3b 0d 0a 20 20 46 4f 52 20   ┆:=(Wld_.xrange)/NPoints;    FOR ┆
0x6b1c0…6b1e0            69 3a 3d 30 20 54 4f 20 4e 50 6f 69 6e 74 73 2d 31 20 44 4f 0d 0a 20 20 20 42 45 47 49 4e 0d 0a   ┆i:=0 TO NPoints-1 DO     BEGIN  ┆
0x6b1e0…6b200            20 20 20 20 79 73 3a 3d 79 73 2b 34 30 3b 0d 0a 20 20 20 20 4e 75 6d 62 65 72 3a 3d 57 6c 64 5f   ┆    ys:=ys+40;      Number:=Wld_┆
0x6b200…6b220            2e 78 31 2b 69 2a 44 69 66 66 3b 0d 0a 20 20 20 20 49 46 20 78 64 65 6e 73 3e 30 20 54 48 45 4e   ┆.x1+i*Diff;      IF xdens>0 THEN┆
0x6b220…6b240            20 57 6e 64 5f 4c 69 6e 65 74 6f 28 79 73 2c 79 6b 30 2c 79 73 2c 79 6b 30 2d 34 29 3b 0d 0a 20   ┆ Wnd_Lineto(ys,yk0,ys,yk0-4);   ┆
0x6b240…6b260            20 20 20 49 46 20 28 78 64 65 6e 73 3e 30 29 20 41 4e 44 20 28 69 20 4d 4f 44 20 28 31 30 2d 78   ┆   IF (xdens>0) AND (i MOD (10-x┆
0x6b260…6b280            44 65 6e 73 29 3d 30 29 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 6a 3a 3d 79 6b   ┆Dens)=0) THEN BEGIN        j:=yk┆
0x6b280…6b2a0            30 3b 0d 0a 20 20 20 20 20 20 49 46 20 67 69 74 74 65 72 20 54 48 45 4e 0d 0a 20 20 20 20 20 20   ┆0;        IF gitter THEN        ┆
0x6b2a0…6b2c0            20 57 48 49 4c 45 20 6a 3c 3d 79 6b 31 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20   ┆ WHILE j<=yk1 DO BEGIN          ┆
0x6b2c0…6b2e0            57 6e 64 5f 53 65 74 64 6f 74 28 79 73 2c 6a 29 3b 20 6a 3a 3d 6a 2b 33 3b 0d 0a 20 20 20 20 20   ┆Wnd_Setdot(ys,j); j:=j+3;       ┆
0x6b2e0…6b300            20 20 45 4e 44 3b 0d 0a 20 20 20 20 20 20 49 46 20 28 79 73 3c 57 6e 64 5f 2e 6d 61 78 78 2d 34   ┆  END;        IF (ys<Wnd_.maxx-4┆
0x6b300…6b320            38 29 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 44 72 61 77 4e 75 6d 28 79 73   ┆8)THEN BEGIN          DrawNum(ys┆
0x6b320…6b340            2d 34 30 2c 30 2c 45 6b 73 70 6f 59 2c 4e 75 6d 62 65 72 29 3b 0d 0a 20 20 20 20 20 20 45 4e 44   ┆-40,0,EkspoY,Number);        END┆
0x6b340…6b360            3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 45 4e 44 3b 0d 0a 20 20 57 49 54 48 20 57 6e 64   ┆;      END;     END;    WITH Wnd┆
0x6b360…6b380            5f 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 78 31 3a 3d 78 31 2b 78 6b 30 3b 0d 0a 20 20 20   ┆_ DO BEGIN      x1:=x1+xk0;     ┆
0x6b380…6b3a0            20 6d 61 78 78 3a 3d 6d 61 78 78 2d 78 6b 30 3b 0d 0a 20 20 20 20 79 31 3a 3d 79 31 2b 79 6b 30   ┆ maxx:=maxx-xk0;      y1:=y1+yk0┆
0x6b3a0…6b3c0            3b 0d 0a 20 20 20 20 6d 61 78 79 3a 3d 6d 61 78 79 2d 79 6b 30 3b 0d 0a 20 20 45 4e 44 3b 0d 0a   ┆;      maxy:=maxy-yk0;    END;  ┆
0x6b3c0…6b3e0            45 4e 44 3b 0d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆END;                            ┆
0x6b3e0…6b400            00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x6b400…6b420 (42, 1, 5) e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
         […0x1f…]
0x6b800…6b820 (43, 0, 1) 28 2a 47 53 56 2d 53 63 72 6e 2a 29 0d 0a 63 6f 6e 73 74 0d 0a 20 20 68 65 6c 70 3a 41 52 52 41   ┆(*GSV-Scrn*)  const    help:ARRA┆
0x6b820…6b840            59 28 2e 30 2e 2e 37 2e 29 20 4f 46 20 53 54 52 49 4e 47 28 2e 34 30 2e 29 20 3d 0d 0a 20 20 20   ┆Y(.0..7.) OF STRING(.40.) =     ┆
0x6b840…6b860            20 28 27 3c 48 4f 4d 45 3e 20 20 6d 61 72 6b 9b 72 20 74 69 6c 20 74 65 6b 73 74 73 74 61 72 74   ┆ ('<HOME>  mark r til tekststart┆
0x6b860…6b880            27 2c 0d 0a 20 20 20 20 27 3c 45 4e 44 3e 20 20 20 6d 61 72 6b 9b 72 20 74 69 6c 20 74 65 6b 73   ┆',      '<END>   mark r til teks┆
0x6b880…6b8a0            74 73 6c 75 74 27 2c 0d 0a 20 20 20 20 27 3c 44 45 4c 3e 20 20 20 73 6c 65 74 20 74 65 67 6e 20   ┆tslut',      '<DEL>   slet tegn ┆
0x6b8a0…6b8c0            70 86 20 6d 61 72 6b 9b 72 65 6e 73 20 70 6c 61 64 73 27 2c 0d 0a 20 20 20 20 27 3c 49 4e 53 3e   ┆p  mark rens plads',      '<INS>┆
0x6b8c0…6b8e0            20 20 20 73 6b 69 66 74 20 6d 65 6c 6c 65 6d 20 6f 76 65 72 73 6b 72 69 76 20 6f 67 20 69 6e 64   ┆   skift mellem overskriv og ind┆
0x6b8e0…6b900            73 91 74 27 2c 0d 0a 20 20 20 20 27 3c 46 35 3e 20 20 20 20 73 6c 65 74 20 6c 69 6e 69 65 20 66   ┆s t',      '<F5>    slet linie f┆
0x6b900…6b920            72 61 20 6d 61 72 6b 9b 72 65 6e 73 20 70 6c 61 64 73 27 2c 0d 0a 20 20 20 20 27 3c 11 27 40 31   ┆ra mark rens plads',      '< '@1┆
0x6b920…6b940            39 36 27 3e 20 20 20 20 73 6c 65 74 20 74 65 67 6e 20 74 69 6c 20 76 65 6e 73 74 72 65 20 46 4f   ┆96'>    slet tegn til venstre FO┆
0x6b940…6b960            52 20 6d 61 72 6b 9b 72 27 2c 0d 0a 20 20 20 20 27 3c 1b 3e 20 20 20 20 20 72 79 6b 20 6d 61 72   ┆R mark r',      '< >     ryk mar┆
0x6b960…6b980            6b 9b 72 20 65 6e 20 70 6c 61 64 73 20 74 69 6c 20 76 65 6e 73 74 72 65 27 2c 0d 0a 20 20 20 20   ┆k r en plads til venstre',      ┆
0x6b980…6b9a0            27 3c 27 40 32 36 27 3e 20 20 20 20 20 72 79 6b 20 6d 61 72 6b 9b 72 20 65 6e 20 70 6c 61 64 73   ┆'<'@26'>     ryk mark r en plads┆
0x6b9a0…6b9c0            20 74 69 6c 20 68 9b 6a 72 65 27 29 3b 0d 0a 0d 0a 0d 0a 7b 20 42 45 45 50 20 73 6f 75 6e 64 73   ┆ til h jre');      æ BEEP sounds┆
0x6b9c0…6b9e0            20 74 68 65 20 74 65 72 6d 69 6e 61 6c 27 73 20 62 65 6c 6c 20 6f 72 20 62 65 65 70 65 72 20 7d   ┆ the terminal's bell or beeper å┆
0x6b9e0…6ba00            0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 62 65 65 70 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 77 72   ┆    PROCEDURE beep;  BEGIN    wr┆
0x6ba00…6ba20            69 74 65 28 5e 47 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 0d 0a 7b 20 43 41 50 20 63 6f 6e 76 65 72   ┆ite(^G);  END;      æ CAP conver┆
0x6ba20…6ba40            74 73 20 61 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 75 70 70 65 72 20 63 61 73 65 20 7d 0d 0a   ┆ts a character to upper case å  ┆
0x6ba40…6ba60            0d 0a 46 55 4e 43 54 49 4f 4e 20 63 61 70 28 63 68 3a 20 63 68 61 72 29 3a 20 63 68 61 72 3b 0d   ┆  FUNCTION cap(ch: char): char; ┆
0x6ba60…6ba80            0a 42 45 47 49 4e 0d 0a 20 20 49 46 20 28 63 68 3e 3d 27 61 27 29 20 41 4e 44 20 28 63 68 3c 3d   ┆ BEGIN    IF (ch>='a') AND (ch<=┆
0x6ba80…6baa0            27 7a 27 29 20 54 48 45 4e 0d 0a 20 20 63 61 70 3a 3d 63 68 72 28 6f 72 64 28 63 68 29 2d 33 32   ┆'z') THEN    cap:=chr(ord(ch)-32┆
0x6baa0…6bac0            29 20 45 4c 53 45 20 63 61 70 3a 3d 63 68 3b 0d 0a 45 4e 44 3b 0d 0a 7b 20 43 4c 52 46 52 41 4d   ┆) ELSE cap:=ch;  END;  æ CLRFRAM┆
0x6bac0…6bae0            45 20 63 6c 65 61 72 73 20 74 68 65 20 64 69 73 70 6c 61 79 20 66 72 61 6d 65 2c 20 69 2e 65 2e   ┆E clears the display frame, i.e.┆
0x6bae0…6bb00            20 6c 69 6e 65 73 20 33 20 74 6f 20 32 30 20 7d 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 63 6c   ┆ lines 3 to 20 å    PROCEDURE cl┆
0x6bb00…6bb20            72 66 72 61 6d 65 3b 0d 0a 56 41 52 0d 0a 20 20 69 3a 20 69 6e 74 65 67 65 72 3b 0d 0a 42 45 47   ┆rframe;  VAR    i: integer;  BEG┆
0x6bb20…6bb40            49 4e 0d 0a 20 20 46 4f 52 20 69 3a 3d 34 20 54 4f 20 32 30 20 44 4f 0d 0a 20 20 42 45 47 49 4e   ┆IN    FOR i:=4 TO 20 DO    BEGIN┆
0x6bb40…6bb60            0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 30 2c 69 29 3b 20 77 72 69 74 65 28 63 6c 72 65 6f 6c 29   ┆      gotoxy(0,i); write(clreol)┆
0x6bb60…6bb80            3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 72 6f 63 65 64 75 72 65 20 63 6c 72   ┆;    END;  END;    Procedure clr┆
0x6bb80…6bba0            66 65 6a 6c 3b 0d 0a 42 65 67 69 6e 0d 0a 20 20 67 6f 74 6f 78 79 28 30 2c 32 34 29 3b 20 57 72   ┆fejl;  Begin    gotoxy(0,24); Wr┆
0x6bba0…6bbc0            69 74 65 28 63 6c 72 65 6f 6c 29 3b 0d 0a 45 6e 64 3b 0d 0a 20 20 0d 0a 50 72 6f 63 65 64 75 72   ┆ite(clreol);  End;      Procedur┆
0x6bbc0…6bbe0            65 20 72 61 6d 6d 65 3b 0d 0a 42 65 67 69 6e 0d 0a 20 20 67 6f 74 6f 78 79 28 30 2c 30 29 3b 20   ┆e ramme;  Begin    gotoxy(0,0); ┆
0x6bbe0…6bc00            77 72 69 74 65 6c 6e 28 63 73 74 72 28 27 2d 27 2c 37 39 29 29 3b 0d 0a 20 20 57 72 69 74 65 6c   ┆writeln(cstr('-',79));    Writel┆
0x6bc00…6bc20 (43, 0, 2) 6e 3b 0d 0a 20 20 77 72 69 74 65 6c 6e 28 63 73 74 72 28 27 2d 27 2c 37 39 29 29 3b 0d 0a 20 20   ┆n;    writeln(cstr('-',79));    ┆
0x6bc20…6bc40            67 6f 74 6f 78 79 28 30 2c 32 31 29 3b 20 77 72 69 74 65 6c 6e 28 63 73 74 72 28 27 2d 27 2c 37   ┆gotoxy(0,21); writeln(cstr('-',7┆
0x6bc40…6bc60            39 29 29 3b 0d 0a 20 20 77 72 69 74 65 6c 6e 3b 20 0d 0a 20 20 77 72 69 74 65 28 63 73 74 72 28   ┆9));    writeln;     write(cstr(┆
0x6bc60…6bc80            27 2d 27 2c 37 39 29 29 3b 0d 0a 45 6e 64 3b 0d 0a 0d 0a 0d 0a 0d 0a 7b 20 53 45 4c 45 43 54 20   ┆'-',79));  End;        æ SELECT ┆
0x6bc80…6bca0            64 69 73 70 6c 61 79 20 74 68 65 20 70 72 6f 6d 70 74 20 73 74 72 69 6e 67 20 50 52 20 6f 6e 20   ┆display the prompt string PR on ┆
0x6bca0…6bcc0            6c 69 6e 65 20 32 32 2c 20 61 6e 64 20 77 61 69 74 73 20 20 20 20 20 7d 0d 0a 7b 20 75 6e 74 69   ┆line 22, and waits     å  æ unti┆
0x6bcc0…6bce0            6c 20 74 68 65 20 75 73 65 72 20 65 6e 74 65 72 73 20 61 20 63 68 61 72 61 63 74 65 72 20 77 68   ┆l the user enters a character wh┆
0x6bce0…6bd00            69 63 68 20 69 73 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 74 68 65 20 20 20 7d 0d 0a 7b 20 54   ┆ich is contained in the   å  æ T┆
0x6bd00…6bd20            45 52 4d 20 63 68 61 72 61 63 74 65 72 20 73 65 74 2e 20 54 68 65 20 63 68 61 72 61 63 74 65 72   ┆ERM character set. The character┆
0x6bd20…6bd40            20 69 73 20 74 68 65 6e 20 72 65 74 75 72 6e 65 64 20 69 6e 20 54 43 2e 20 20 20 20 20 7d 0d 0a   ┆ is then returned in TC.     å  ┆
0x6bd40…6bd60            0d 0a 50 52 4f 43 45 44 55 52 45 20 73 65 6c 65 63 74 28 70 72 3a 20 73 74 72 38 30 3b 20 74 65   ┆  PROCEDURE select(pr: str80; te┆
0x6bd60…6bd80            72 6d 3a 20 63 68 61 72 73 65 74 3b 20 56 41 52 20 74 63 3a 20 63 68 61 72 29 3b 0d 0a 56 41 52   ┆rm: charset; VAR tc: char);  VAR┆
0x6bd80…6bda0            0d 0a 20 20 63 68 3a 20 63 68 61 72 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 67 6f 74 6f 78 79 28 30   ┆    ch: char;  BEGIN    gotoxy(0┆
0x6bda0…6bdc0            2c 32 32 29 3b 20 77 72 69 74 65 28 70 72 2c 27 3f 20 27 2c 63 6c 72 65 6f 6c 29 3b 0d 0a 20 20   ┆,22); write(pr,'? ',clreol);    ┆
0x6bdc0…6bde0            52 45 50 45 41 54 0d 0a 20 20 20 20 72 65 61 64 28 6b 62 64 2c 63 68 29 3b 20 74 63 3a 3d 63 61   ┆REPEAT      read(kbd,ch); tc:=ca┆
0x6bde0…6be00            70 28 63 68 29 3b 0d 0a 20 20 20 20 49 46 20 4e 4f 54 28 74 63 20 49 4e 20 74 65 72 6d 29 20 54   ┆p(ch);      IF NOT(tc IN term) T┆
0x6be00…6be20            48 45 4e 20 62 65 65 70 3b 0d 0a 20 20 55 4e 54 49 4c 20 74 63 20 49 4e 20 74 65 72 6d 3b 0d 0a   ┆HEN beep;    UNTIL tc IN term;  ┆
0x6be20…6be40            20 20 77 72 69 74 65 28 63 68 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20   ┆  write(ch);  END;    PROCEDURE ┆
0x6be40…6be60            73 65 6c 65 63 74 31 28 76 30 3a 20 73 74 72 31 35 3b 20 76 31 2c 76 32 2c 76 33 2c 76 34 2c 76   ┆select1(v0: str15; v1,v2,v3,v4,v┆
0x6be60…6be80            35 2c 76 36 2c 76 37 3a 20 73 74 72 32 35 3b 20 56 41 52 20 63 68 3a 20 63 68 61 72 29 3b 0d 0a   ┆5,v6,v7: str25; VAR ch: char);  ┆
0x6be80…6bea0            0d 0a 56 61 72 0d 0a 20 20 20 20 74 65 72 6d 3a 20 63 68 61 72 73 65 74 3b 0d 0a 20 20 42 65 67   ┆  Var      term: charset;    Beg┆
0x6bea0…6bec0            69 6e 0d 0a 20 20 20 20 74 65 72 6d 3a 3d 5b 27 41 27 2c 27 42 27 2c 27 43 27 2c 27 44 27 2c 27   ┆in      term:=Æ'A','B','C','D','┆
0x6bec0…6bee0            45 27 2c 27 46 27 2c 27 47 27 5d 3b 0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 32 30 2c 31 32 29 3b   ┆E','F','G'Å;      gotoxy(20,12);┆
0x6bee0…6bf00            57 72 69 74 65 28 63 73 74 72 28 27 2d 27 2c 32 39 29 29 3b 0d 0a 20 20 20 20 67 6f 74 6f 78 79   ┆Write(cstr('-',29));      gotoxy┆
0x6bf00…6bf20            28 32 30 2c 31 33 29 3b 57 72 69 74 65 28 27 7c 27 2c 76 30 2c 63 6c 72 65 6f 6c 29 3b 47 6f 74   ┆(20,13);Write('ø',v0,clreol);Got┆
0x6bf20…6bf40            6f 78 79 28 34 38 2c 31 33 29 3b 57 72 69 74 65 28 27 7c 27 29 3b 0d 0a 20 20 20 20 67 6f 74 6f   ┆oxy(48,13);Write('ø');      goto┆
0x6bf40…6bf60            78 79 28 32 30 2c 31 34 29 3b 57 72 69 74 65 28 27 7c 20 41 29 20 27 2c 76 31 2c 63 6c 72 65 6f   ┆xy(20,14);Write('ø A) ',v1,clreo┆
0x6bf60…6bf80            6c 29 3b 47 6f 74 6f 78 79 28 34 38 2c 31 34 29 3b 57 72 69 74 65 28 27 7c 27 29 3b 0d 0a 20 20   ┆l);Gotoxy(48,14);Write('ø');    ┆
0x6bf80…6bfa0            20 20 67 6f 74 6f 78 79 28 32 30 2c 31 35 29 3b 57 72 69 74 65 28 27 7c 20 42 29 20 27 2c 76 32   ┆  gotoxy(20,15);Write('ø B) ',v2┆
0x6bfa0…6bfc0            2c 63 6c 72 65 6f 6c 29 3b 47 6f 74 6f 78 79 28 34 38 2c 31 35 29 3b 57 72 69 74 65 28 27 7c 27   ┆,clreol);Gotoxy(48,15);Write('ø'┆
0x6bfc0…6bfe0            29 3b 0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 32 30 2c 31 36 29 3b 57 72 69 74 65 28 27 7c 20 43   ┆);      gotoxy(20,16);Write('ø C┆
0x6bfe0…6c000            29 20 27 2c 76 33 2c 63 6c 72 65 6f 6c 29 3b 47 6f 74 6f 78 79 28 34 38 2c 31 36 29 3b 57 72 69   ┆) ',v3,clreol);Gotoxy(48,16);Wri┆
0x6c000…6c020 (43, 0, 3) 74 65 28 27 7c 27 29 3b 0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 32 30 2c 31 37 29 3b 57 72 69 74   ┆te('ø');      gotoxy(20,17);Writ┆
0x6c020…6c040            65 28 27 7c 20 44 29 20 27 2c 76 34 2c 63 6c 72 65 6f 6c 29 3b 47 6f 74 6f 78 79 28 34 38 2c 31   ┆e('ø D) ',v4,clreol);Gotoxy(48,1┆
0x6c040…6c060            37 29 3b 57 72 69 74 65 28 27 7c 27 29 3b 0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 32 30 2c 31 38   ┆7);Write('ø');      gotoxy(20,18┆
0x6c060…6c080            29 3b 57 72 69 74 65 28 27 7c 20 45 29 20 27 2c 76 35 2c 63 6c 72 65 6f 6c 29 3b 47 6f 74 6f 78   ┆);Write('ø E) ',v5,clreol);Gotox┆
0x6c080…6c0a0            79 28 34 38 2c 31 38 29 3b 57 72 69 74 65 28 27 7c 27 29 3b 0d 0a 20 20 20 20 67 6f 74 6f 78 79   ┆y(48,18);Write('ø');      gotoxy┆
0x6c0a0…6c0c0            28 32 30 2c 31 39 29 3b 57 72 69 74 65 28 27 7c 20 46 29 20 27 2c 76 36 2c 63 6c 72 65 6f 6c 29   ┆(20,19);Write('ø F) ',v6,clreol)┆
0x6c0c0…6c0e0            3b 47 6f 74 6f 78 79 28 34 38 2c 31 39 29 3b 57 72 69 74 65 28 27 7c 27 29 3b 0d 0a 20 20 20 20   ┆;Gotoxy(48,19);Write('ø');      ┆
0x6c0e0…6c100            67 6f 74 6f 78 79 28 32 30 2c 32 30 29 3b 57 72 69 74 65 28 27 7c 20 47 29 20 27 2c 76 37 2c 63   ┆gotoxy(20,20);Write('ø G) ',v7,c┆
0x6c100…6c120            6c 72 65 6f 6c 29 3b 47 6f 74 6f 78 79 28 34 38 2c 32 30 29 3b 57 72 69 74 65 28 27 7c 27 29 3b   ┆lreol);Gotoxy(48,20);Write('ø');┆
0x6c120…6c140            0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 30 2c 32 32 29 3b 20 57 72 69 74 65 28 27 49 6e 64 74 61   ┆      gotoxy(0,22); Write('Indta┆
0x6c140…6c160            73 74 20 76 61 6c 67 3a 20 27 2c 63 6c 72 65 6f 6c 29 3b 20 0d 0a 20 20 20 20 52 65 70 65 61 74   ┆st valg: ',clreol);       Repeat┆
0x6c160…6c180            0d 0a 20 20 20 20 20 20 72 65 61 64 28 6b 62 64 2c 63 68 29 3b 20 63 68 3a 3d 63 61 70 28 63 68   ┆        read(kbd,ch); ch:=cap(ch┆
0x6c180…6c1a0            29 3b 0d 0a 20 20 20 20 20 20 49 46 20 4e 4f 54 28 63 68 20 49 4e 20 74 65 72 6d 29 20 54 48 45   ┆);        IF NOT(ch IN term) THE┆
0x6c1a0…6c1c0            4e 20 62 65 65 70 3b 0d 0a 20 20 20 20 55 4e 54 49 4c 20 63 68 20 49 4e 20 74 65 72 6d 3b 0d 0a   ┆N beep;      UNTIL ch IN term;  ┆
0x6c1c0…6c1e0            20 20 20 20 0d 0a 20 20 20 20 77 72 69 74 65 28 63 68 29 3b 0d 0a 0d 0a 20 20 45 6e 64 3b 0d 0a   ┆          write(ch);      End;  ┆
0x6c1e0…6c200            0d 0a 0d 0a 0d 0a 0d 0a 7b 20 49 4e 50 53 54 52 20 69 73 20 61 20 67 65 6e 65 72 61 6c 69 7a 65   ┆        æ INPSTR is a generalize┆
0x6c200…6c220            64 20 73 74 72 69 6e 67 20 69 6e 70 75 74 20 72 6f 75 74 69 6e 65 20 77 68 69 63 68 20 73 75 70   ┆d string input routine which sup┆
0x6c220…6c240            70 6f 72 74 73 20 20 20 7d 0d 0a 7b 20 6f 6e 2d 73 63 72 65 65 6e 20 65 64 69 74 69 6e 67 2e 20   ┆ports   å  æ on-screen editing. ┆
0x6c240…6c260            53 20 69 73 20 61 6e 79 20 73 74 72 69 6e 67 20 76 61 72 69 61 62 6c 65 2e 20 4c 20 69 73 20 74   ┆S is any string variable. L is t┆
0x6c260…6c280            68 65 20 6d 61 78 69 6d 75 6d 20 7d 0d 0a 7b 20 69 6e 70 75 74 20 6c 65 6e 67 74 68 2e 20 58 20   ┆he maximum å  æ input length. X ┆
0x6c280…6c2a0            61 6e 64 20 59 20 61 72 65 20 74 68 65 20 64 69 73 70 6c 61 79 20 63 6f 6f 72 64 69 6e 61 74 65   ┆and Y are the display coordinate┆
0x6c2a0…6c2c0            73 2e 20 54 45 52 4d 20 69 73 20 61 20 20 7d 0d 0a 7b 20 73 65 74 20 6f 66 20 76 61 6c 69 64 20   ┆s. TERM is a  å  æ set of valid ┆
0x6c2c0…6c2e0            74 65 72 6d 69 6e 61 74 6f 72 20 63 68 61 72 61 63 74 65 72 73 2c 20 61 6e 64 20 54 43 20 72 65   ┆terminator characters, and TC re┆
0x6c2e0…6c300            74 75 72 6e 73 20 74 68 65 20 63 68 61 72 2d 20 20 7d 0d 0a 7b 20 61 63 74 65 72 20 74 68 61 74   ┆turns the char-  å  æ acter that┆
0x6c300…6c320            20 74 65 72 6d 69 6e 61 74 65 64 20 74 68 65 20 69 6e 70 75 74 2e 20 4f 6e 20 65 6e 74 72 79 2c   ┆ terminated the input. On entry,┆
0x6c320…6c340            20 53 20 69 73 20 64 69 73 70 6c 61 79 65 64 20 61 74 20 20 7d 0d 0a 7b 20 58 2c 59 20 6f 6e 20   ┆ S is displayed at  å  æ X,Y on ┆
0x6c340…6c360            74 68 65 20 73 63 72 65 65 6e 2c 20 70 61 64 64 65 64 20 74 6f 20 74 68 65 20 72 69 67 68 74 20   ┆the screen, padded to the right ┆
0x6c360…6c380            77 69 74 68 20 75 6e 64 65 72 73 63 6f 72 65 73 2e 20 54 68 65 20 20 7d 0d 0a 7b 20 73 74 72 69   ┆with underscores. The  å  æ stri┆
0x6c380…6c3a0            6e 67 20 6d 61 79 20 74 68 65 6e 20 62 65 20 65 64 69 74 65 64 20 75 73 69 6e 67 20 73 74 61 6e   ┆ng may then be edited using stan┆
0x6c3a0…6c3c0            64 61 72 64 20 63 6f 6e 74 72 6f 6c 20 6b 65 79 73 3a 20 5e 53 20 61 6e 64 20 7d 0d 0a 7b 20 5e   ┆dard control keys: ^S and å  æ ^┆
0x6c3c0…6c3e0            44 20 66 6f 72 20 6c 65 66 74 20 61 6e 64 20 72 69 67 68 74 2c 20 5e 41 20 61 6e 64 20 5e 46 20   ┆D for left and right, ^A and ^F ┆
0x6c3e0…6c400            66 6f 72 20 62 65 67 69 6e 6e 69 6e 67 20 61 6e 64 20 65 6e 64 20 6f 66 20 20 20 20 20 7d 0d 0a   ┆for beginning and end of     å  ┆
0x6c400…6c420 (43, 0, 4) 7b 20 6c 69 6e 65 2c 20 5e 47 20 74 6f 20 64 65 6c 65 74 65 20 74 68 65 20 63 68 61 72 61 63 74   ┆æ line, ^G to delete the charact┆
0x6c420…6c440            65 72 20 75 6e 64 65 72 20 74 68 65 20 63 75 72 73 6f 72 2c 20 5e 48 20 6f 72 20 44 45 4c 20 20   ┆er under the cursor, ^H or DEL  ┆
0x6c440…6c460            7d 0d 0a 7b 20 74 6f 20 62 61 63 6b 73 70 61 63 65 2c 20 61 6e 64 20 5e 59 20 74 6f 20 64 65 6c   ┆å  æ to backspace, and ^Y to del┆
0x6c460…6c480            65 74 65 20 74 6f 20 65 6e 64 20 6f 66 20 74 68 65 20 6c 69 6e 65 2e 20 57 68 65 6e 20 61 20 20   ┆ete to end of the line. When a  ┆
0x6c480…6c4a0            20 20 20 7d 0d 0a 7b 20 63 68 61 72 61 63 74 65 72 20 69 73 20 74 79 70 65 64 2c 20 69 74 20 69   ┆   å  æ character is typed, it i┆
0x6c4a0…6c4c0            73 20 69 6e 73 65 72 74 65 64 20 61 74 20 74 68 65 20 63 75 72 73 6f 72 20 61 74 20 74 68 65 20   ┆s inserted at the cursor at the ┆
0x6c4c0…6c4e0            72 65 2d 20 20 20 7d 0d 0a 7b 20 6d 61 69 6e 64 65 72 20 6f 66 20 74 68 65 20 6c 69 6e 65 20 69   ┆re-   å  æ mainder of the line i┆
0x6c4e0…6c500            73 20 6d 6f 76 65 64 20 74 6f 20 74 68 65 20 72 69 67 68 74 2e 20 57 68 65 6e 20 61 20 74 65 72   ┆s moved to the right. When a ter┆
0x6c500…6c520            6d 69 6e 61 74 6f 72 20 20 7d 0d 0a 7b 20 63 68 61 72 61 63 74 65 72 20 69 73 20 74 79 70 65 64   ┆minator  å  æ character is typed┆
0x6c520…6c540            2c 20 74 68 65 20 74 72 61 69 6c 69 6e 67 20 75 6e 64 65 72 73 63 6f 72 73 20 61 72 65 20 72 65   ┆, the trailing underscors are re┆
0x6c540…6c560            6d 6f 76 65 64 2c 20 61 6e 64 20 20 7d 0d 0a 7b 20 49 4e 50 53 54 52 20 72 65 74 75 72 6e 73 20   ┆moved, and  å  æ INPSTR returns ┆
0x6c560…6c580            77 69 74 68 20 74 68 65 20 65 64 69 74 65 64 20 73 74 72 69 6e 67 20 69 6e 20 53 20 61 6e 64 20   ┆with the edited string in S and ┆
0x6c580…6c5a0            74 68 65 20 74 65 72 6d 69 6e 61 74 6f 72 20 7d 0d 0a 7b 20 63 68 61 72 61 63 74 65 72 20 69 6e   ┆the terminator å  æ character in┆
0x6c5a0…6c5c0            20 54 43 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ TC.                            ┆
0x6c5c0…6c5e0            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45   ┆                  å    PROCEDURE┆
0x6c5e0…6c600            20 69 6e 70 73 74 72 28 56 41 52 20 73 3a 20 61 6e 79 73 74 72 3b 20 6c 2c 78 2c 79 3a 20 69 6e   ┆ inpstr(VAR s: anystr; l,x,y: in┆
0x6c600…6c620            74 65 67 65 72 3b 0d 0a 20 20 74 65 72 6d 20 3a 20 63 68 61 72 73 65 74 3b 20 56 41 52 20 74 63   ┆teger;    term : charset; VAR tc┆
0x6c620…6c640            3a 20 63 68 61 72 29 3b 0d 0a 43 4f 4e 53 54 0d 0a 20 20 66 63 20 3d 20 27 5f 27 3b 0d 0a 4c 61   ┆: char);  CONST    fc = '_';  La┆
0x6c640…6c660            62 65 6c 20 6c 6c 3b 0d 0a 56 41 52 0d 0a 20 20 74 65 6b 73 74 3a 20 73 74 72 32 35 3b 0d 0a 20   ┆bel ll;  VAR    tekst: str25;   ┆
0x6c660…6c680            20 69 2c 74 61 6c 2c 61 6e 74 61 6c 2c 78 78 2c 79 79 2c 70 3a 20 69 6e 74 65 67 65 72 3b 0d 0a   ┆ i,tal,antal,xx,yy,p: integer;  ┆
0x6c680…6c6a0            20 20 70 61 61 2c 63 68 3a 20 63 68 61 72 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 0d 0a 20 20 67 6f   ┆  paa,ch: char;  BEGIN        go┆
0x6c6a0…6c6c0            74 6f 78 79 28 78 2c 79 29 3b 20 77 72 69 74 65 28 73 2c 63 73 74 72 28 66 63 2c 6c 2d 6c 65 6e   ┆toxy(x,y); write(s,cstr(fc,l-len┆
0x6c6c0…6c6e0            28 73 29 29 29 3b 20 70 3a 3d 30 3b 0d 0a 20 20 78 78 3a 3d 78 3b 79 79 3a 3d 79 3b 61 6e 74 61   ┆(s))); p:=0;    xx:=x;yy:=y;anta┆
0x6c6e0…6c700            6c 3a 3d 78 78 3b 0d 0a 20 20 0d 0a 20 20 52 45 50 45 41 54 0d 0a 20 20 20 20 67 6f 74 6f 78 79   ┆l:=xx;        REPEAT      gotoxy┆
0x6c700…6c720            28 78 78 2c 79 79 29 3b 20 0d 0a 20 20 20 20 6c 6c 3a 0d 0a 20 20 20 20 72 65 61 64 28 6b 62 64   ┆(xx,yy);       ll:      read(kbd┆
0x6c720…6c740            2c 63 68 29 3b 0d 0a 20 20 20 20 43 41 53 45 20 63 68 20 4f 46 0d 0a 20 20 20 20 20 20 40 33 32   ┆,ch);      CASE ch OF        @32┆
0x6c740…6c760            2e 2e 40 31 32 36 2c 20 40 31 32 38 2e 2e 40 32 35 35 3a 0d 0a 20 20 20 20 20 20 49 46 20 70 3c   ┆..@126, @128..@255:        IF p<┆
0x6c760…6c780            6c 20 54 48 45 4e 0d 0a 20 20 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 49 46 20   ┆l THEN        BEGIN          IF ┆
0x6c780…6c7a0            6c 65 6e 28 73 29 3d 6c 20 54 48 45 4e 20 64 65 6c 65 74 65 28 73 2c 6c 2c 31 29 3b 0d 0a 20 20   ┆len(s)=l THEN delete(s,l,1);    ┆
0x6c7a0…6c7c0            20 20 20 20 20 20 78 78 3a 3d 78 78 2b 31 3b 0d 0a 20 20 20 20 20 20 20 20 70 3a 3d 70 2b 31 3b   ┆      xx:=xx+1;          p:=p+1;┆
0x6c7c0…6c7e0            20 69 6e 73 65 72 74 28 63 68 2c 73 2c 70 29 3b 0d 0a 20 20 20 20 20 20 20 20 77 72 69 74 65 28   ┆ insert(ch,s,p);          write(┆
0x6c7e0…6c800            63 6f 70 79 28 73 2c 70 2c 6c 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 49 66 20 78 78 3d 38 31 20   ┆copy(s,p,l));          If xx=81 ┆
0x6c800…6c820 (43, 0, 5) 74 68 65 6e 0d 0a 20 20 20 20 20 20 20 20 62 65 67 69 6e 0d 0a 20 20 20 20 20 20 20 20 20 78 78   ┆then          begin           xx┆
0x6c820…6c840            3a 3d 31 3b 20 0d 0a 20 20 20 20 20 20 20 20 20 20 79 79 3a 3d 79 79 2b 31 3b 0d 0a 20 20 20 20   ┆:=1;             yy:=yy+1;      ┆
0x6c840…6c860            20 20 20 20 65 6e 64 3b 0d 0a 20 20 20 20 20 20 45 4e 44 20 45 4c 53 45 20 62 65 65 70 3b 0d 0a   ┆    end;        END ELSE beep;  ┆
0x6c860…6c880            20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 5e 5a 3a 20 42 65 67 69 6e 0d 0a 20 20 20 20 20 20 20   ┆              ^Z: Begin         ┆
0x6c880…6c8a0            20 20 20 20 20 49 66 20 70 61 61 3d 27 4a 27 20 74 68 65 6e 20 42 65 67 69 6e 0d 0a 20 20 20 20   ┆     If paa='J' then Begin      ┆
0x6c8a0…6c8c0            20 20 20 20 20 20 20 20 20 20 46 6f 72 20 69 3a 3d 20 35 20 74 6f 20 31 30 20 64 6f 20 42 65 67   ┆          For i:= 5 to 10 do Beg┆
0x6c8c0…6c8e0            69 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 6f 74 6f 78 79 28 34 30 2c 69 29   ┆in                  gotoxy(40,i)┆
0x6c8e0…6c900            3b 20 57 72 69 74 65 28 63 6c 72 65 6f 6c 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆; Write(clreol);                ┆
0x6c900…6c920            45 6e 64 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 61 3a 3d 20 27 4e 27 3b 0d 0a   ┆End;                paa:= 'N';  ┆
0x6c920…6c940            20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 6f 74 6f 20 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 20   ┆              goto ll;          ┆
0x6c940…6c960            20 20 20 20 45 6e 64 3b 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 6f 74 6f 78 79   ┆    End;                  gotoxy┆
0x6c960…6c980            28 34 30 2c 35 29 3b 20 57 72 69 74 65 28 27 5e 41 3a 20 4d 61 72 6b 9b 72 20 66 6c 79 74 74 65   ┆(40,5); Write('^A: Mark r flytte┆
0x6c980…6c9a0            73 20 68 65 6c 74 20 74 69 6c 20 76 65 6e 73 74 72 65 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 20   ┆s helt til venstre');           ┆
0x6c9a0…6c9c0            20 20 20 67 6f 74 6f 78 79 28 34 30 2c 36 29 3b 20 57 72 69 74 65 28 27 5e 53 3a 20 4d 61 72 6b   ┆   gotoxy(40,6); Write('^S: Mark┆
0x6c9c0…6c9e0            9b 72 20 66 6c 79 74 74 65 73 20 65 6e 20 20 20 74 69 6c 20 76 65 6e 73 74 72 65 27 29 3b 0d 0a   ┆ r flyttes en   til venstre');  ┆
0x6c9e0…6ca00            20 20 20 20 20 20 20 20 20 20 20 20 67 6f 74 6f 78 79 28 34 30 2c 37 29 3b 20 57 72 69 74 65 28   ┆            gotoxy(40,7); Write(┆
0x6ca00…6ca20            27 5e 44 3a 20 4d 61 72 6b 9b 72 20 66 6c 79 74 74 65 73 20 65 6e 20 20 20 74 69 6c 20 68 9b 6a   ┆'^D: Mark r flyttes en   til h j┆
0x6ca20…6ca40            72 65 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 6f 74 6f 78 79 28 34 30 2c 38 29 3b   ┆re');              gotoxy(40,8);┆
0x6ca40…6ca60            20 57 72 69 74 65 28 27 5e 46 3a 20 4d 61 72 6b 9b 72 20 66 6c 79 74 74 65 73 20 68 65 6c 74 20   ┆ Write('^F: Mark r flyttes helt ┆
0x6ca60…6ca80            74 69 6c 20 68 9b 6a 72 65 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 6f 74 6f 78 79   ┆til h jre');              gotoxy┆
0x6ca80…6caa0            28 34 30 2c 39 29 3b 20 57 72 69 74 65 28 27 5e 47 3a 20 54 65 67 6e 20 6f 76 65 72 20 6d 61 72   ┆(40,9); Write('^G: Tegn over mar┆
0x6caa0…6cac0            6b 9b 72 20 73 6c 65 74 74 65 73 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 6f 74 6f   ┆k r slettes');              goto┆
0x6cac0…6cae0            78 79 28 34 30 2c 31 30 29 3b 20 57 72 69 74 65 28 27 5e 48 3a 20 54 65 67 6e 20 68 65 6c 74 20   ┆xy(40,10); Write('^H: Tegn helt ┆
0x6cae0…6cb00            74 69 6c 20 68 9b 6a 72 65 20 73 6c 65 74 74 65 73 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆til h jre slettes');            ┆
0x6cb00…6cb20            20 20 70 61 61 3a 3d 27 4a 27 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20   ┆  paa:='J';            END;     ┆
0x6cb20…6cb40            20 20 20 0d 0a 20 20 20 20 20 20 5e 53 3a 20 49 46 20 70 3e 30 20 54 48 45 4e 20 42 65 67 69 6e   ┆           ^S: IF p>0 THEN Begin┆
0x6cb40…6cb60            0d 0a 20 20 20 20 20 20 20 20 20 20 70 3a 3d 70 2d 31 3b 20 78 78 3a 3d 78 78 2d 31 3b 0d 0a 20   ┆            p:=p-1; xx:=xx-1;   ┆
0x6cb60…6cb80            20 20 20 20 20 20 20 20 20 49 66 20 28 78 78 3d 2d 31 29 20 61 6e 64 20 28 79 79 20 3c 3e 20 79   ┆         If (xx=-1) and (yy <> y┆
0x6cb80…6cba0            29 20 74 68 65 6e 20 42 65 67 69 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 79 79 3a 3d 79 79   ┆) then Begin              yy:=yy┆
0x6cba0…6cbc0            2d 31 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 78 78 3a 3d 37 39 3b 0d 0a 20 20 20 20 20 20   ┆-1;              xx:=79;        ┆
0x6cbc0…6cbe0            20 20 20 20 45 6e 64 3b 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 45 6e 64 20 45 4c 53 45 20 62   ┆    End;              End ELSE b┆
0x6cbe0…6cc00            65 65 70 3b 0d 0a 20 20 20 20 20 20 5e 44 3a 20 49 46 20 70 3c 6c 65 6e 28 73 29 20 54 48 45 4e   ┆eep;        ^D: IF p<len(s) THEN┆
0x6cc00…6cc20 (43, 1, 1) 20 42 65 67 69 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 70 3a 3d 70 2b 31 3b 20 78 78 3a 3d 78 78   ┆ Begin            p:=p+1; xx:=xx┆
0x6cc20…6cc40            2b 31 3b 20 0d 0a 20 20 20 20 20 20 20 20 20 20 49 66 20 78 78 3d 38 30 20 74 68 65 6e 20 42 65   ┆+1;             If xx=80 then Be┆
0x6cc40…6cc60            67 69 6e 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 78 78 3a 3d 20 30 3b 0d 0a 20 20 20 20 20   ┆gin               xx:= 0;       ┆
0x6cc60…6cc80            20 20 20 20 20 20 20 79 79 20 3a 3d 20 79 79 20 2b 20 31 3b 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆       yy := yy + 1;            ┆
0x6cc80…6cca0            45 6e 64 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 45 6e 64 20 45 4c 53 45 20 62 65 65 70 3b 0d 0a   ┆End;            End ELSE beep;  ┆
0x6cca0…6ccc0            20 20 20 20 20 20 5e 41 3a 20 42 65 67 69 6e 20 70 3a 3d 30 3b 20 78 78 3a 3d 78 3b 20 79 79 3a   ┆      ^A: Begin p:=0; xx:=x; yy:┆
0x6ccc0…6cce0            3d 79 3b 20 45 6e 64 3b 0d 0a 20 20 20 20 20 20 5e 46 3a 20 42 65 67 69 6e 0d 0a 20 20 20 20 20   ┆=y; End;        ^F: Begin       ┆
0x6cce0…6cd00            20 20 20 20 20 20 20 79 79 3a 3d 79 79 20 2b 74 72 75 6e 63 20 28 28 6c 65 6e 28 73 29 2b 78 29   ┆       yy:=yy +trunc ((len(s)+x)┆
0x6cd00…6cd20            2f 20 38 31 29 3b 20 78 78 3a 3d 20 28 6c 65 6e 28 73 29 2b 78 29 20 6d 6f 64 20 38 31 20 3b 0d   ┆/ 81); xx:= (len(s)+x) mod 81 ; ┆
0x6cd20…6cd40            0a 20 20 20 20 20 20 20 20 20 20 20 20 70 3a 3d 6c 65 6e 28 73 29 3b 0d 0a 20 20 20 20 20 20 20   ┆             p:=len(s);         ┆
0x6cd40…6cd60            20 20 20 45 6e 64 3b 0d 0a 20 20 20 20 20 20 5e 47 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 49 46   ┆   End;        ^G:            IF┆
0x6cd60…6cd80            20 70 3c 6c 65 6e 28 73 29 20 54 48 45 4e 0d 0a 20 20 20 20 20 20 20 20 20 20 42 45 47 49 4e 0d   ┆ p<len(s) THEN            BEGIN ┆
0x6cd80…6cda0            0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 6c 65 74 65 28 73 2c 70 2b 31 2c 31 29 3b 20 77 72   ┆             delete(s,p+1,1); wr┆
0x6cda0…6cdc0            69 74 65 28 63 6f 70 79 28 73 2c 70 2b 31 2c 6c 29 2c 66 63 29 3b 0d 0a 20 20 20 20 20 20 20 20   ┆ite(copy(s,p+1,l),fc);          ┆
0x6cdc0…6cde0            20 20 45 4e 44 20 65 6c 73 65 20 62 65 65 70 3b 0d 0a 20 20 20 20 20 20 5e 48 2c 40 31 32 37 3a   ┆  END else beep;        ^H,@127:┆
0x6cde0…6ce00            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 49 46 20   ┆                             IF ┆
0x6ce00…6ce20            70 3e 30 20 54 48 45 4e 0d 0a 20 20 20 20 20 20 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20   ┆p>0 THEN            BEGIN       ┆
0x6ce20…6ce40            20 20 20 20 20 20 20 64 65 6c 65 74 65 28 73 2c 70 2c 31 29 3b 20 77 72 69 74 65 28 5e 48 2c 63   ┆       delete(s,p,1); write(^H,c┆
0x6ce40…6ce60            6f 70 79 28 73 2c 70 2c 6c 29 2c 66 63 29 3b 20 70 3a 3d 70 2d 31 3b 78 78 3a 3d 78 78 2d 31 3b   ┆opy(s,p,l),fc); p:=p-1;xx:=xx-1;┆
0x6ce60…6ce80            0d 0a 20 20 20 20 20 20 20 20 20 20 45 4e 44 20 45 4c 53 45 20 62 65 65 70 3b 0d 0a 20 20 20 20   ┆            END ELSE beep;      ┆
0x6ce80…6cea0            20 20 5e 59 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20   ┆  ^Y:            BEGIN          ┆
0x6cea0…6cec0            20 20 20 20 77 72 69 74 65 28 63 73 74 72 28 66 63 2c 6c 65 6e 28 73 29 2d 70 29 29 3b 20 64 65   ┆    write(cstr(fc,len(s)-p)); de┆
0x6cec0…6cee0            6c 65 74 65 28 73 2c 70 2b 31 2c 6c 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 45 4e 44 3b 0d 0a   ┆lete(s,p+1,l);            END;  ┆
0x6cee0…6cf00            20 20 20 20 4f 54 48 45 52 57 49 53 45 0d 0a 20 20 20 20 20 20 49 46 20 4e 4f 54 28 63 68 20 49   ┆    OTHERWISE        IF NOT(ch I┆
0x6cf00…6cf20            4e 20 74 65 72 6d 29 20 54 48 45 4e 20 62 65 65 70 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20   ┆N term) THEN beep;      END;    ┆
0x6cf20…6cf40            0d 0a 20 20 55 4e 54 49 4c 20 63 68 20 49 4e 20 74 65 72 6d 3b 0d 0a 20 20 69 66 20 70 20 3c 20   ┆    UNTIL ch IN term;    if p < ┆
0x6cf40…6cf60            6c 65 6e 28 73 29 20 74 68 65 6e 20 42 65 67 69 6e 0d 0a 20 20 20 20 79 79 3a 3d 79 79 20 2b 74   ┆len(s) then Begin      yy:=yy +t┆
0x6cf60…6cf80            72 75 6e 63 20 28 28 6c 65 6e 28 73 29 2b 78 29 2f 20 38 31 29 3b 0d 0a 20 20 20 20 78 78 3a 3d   ┆runc ((len(s)+x)/ 81);      xx:=┆
0x6cf80…6cfa0            20 28 6c 65 6e 28 73 29 2b 78 29 20 6d 6f 64 20 38 31 20 3b 0d 0a 20 20 45 6e 64 3b 20 20 0d 0a   ┆ (len(s)+x) mod 81 ;    End;    ┆
0x6cfa0…6cfc0            20 20 70 3a 3d 6c 65 6e 28 73 29 3b 20 67 6f 74 6f 78 79 28 78 78 2c 79 79 29 3b 20 77 72 69 74   ┆  p:=len(s); gotoxy(xx,yy); writ┆
0x6cfc0…6cfe0            65 28 27 27 3a 6c 2d 70 29 3b 0d 0a 20 20 74 63 3a 3d 63 68 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46   ┆e('':l-p);    tc:=ch;  END;    F┆
0x6cfe0…6d000            55 4e 43 54 49 4f 4e 20 72 65 61 64 73 74 72 74 78 74 28 78 2c 79 2c 6c 3a 20 49 4e 54 45 47 45   ┆UNCTION readstrtxt(x,y,l: INTEGE┆
0x6d000…6d020 (43, 1, 2) 52 29 3a 20 73 74 72 38 30 3b 0d 0a 56 41 52 0d 0a 20 20 69 3a 20 49 4e 54 45 47 45 52 3b 0d 0a   ┆R): str80;  VAR    i: INTEGER;  ┆
0x6d020…6d040            20 20 73 74 72 3a 20 73 74 72 38 30 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 73 74 72 3a 3d 27 27 3b   ┆  str: str80;  BEGIN    str:='';┆
0x6d040…6d060            0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 20 44 4f 0d 0a 20 20 20 20 46 4f 52 20 69 3a 3d 74 78 74   ┆    WITH Wnd_ DO      FOR i:=txt┆
0x6d060…6d080            78 31 2b 78 20 54 4f 20 74 78 74 78 31 2b 6c 20 44 4f 0d 0a 20 20 20 20 20 20 73 74 72 3a 3d 73   ┆x1+x TO txtx1+l DO        str:=s┆
0x6d080…6d0a0            74 72 2b 74 78 74 5f 6c 69 6e 65 70 74 72 28 2e 79 2e 29 5e 28 2e 69 2e 29 2e 63 68 3b 0d 0a 20   ┆tr+txt_lineptr(.y.)^(.i.).ch;   ┆
0x6d0a0…6d0c0            20 72 65 61 64 73 74 72 54 78 74 3a 3d 73 74 72 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54   ┆ readstrTxt:=str;  END;    FUNCT┆
0x6d0c0…6d0e0            49 4f 4e 20 53 63 72 5f 47 65 74 44 6f 74 28 78 2c 79 3a 49 4e 54 45 47 45 52 29 3a 42 4f 4f 4c   ┆ION Scr_GetDot(x,y:INTEGER):BOOL┆
0x6d0e0…6d100            45 41 4e 3b 0d 0a 56 41 52 20 74 6f 74 61 6c 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e   ┆EAN;  VAR total: INTEGER;  BEGIN┆
0x6d100…6d120            0d 0a 20 74 6f 74 61 6c 3a 3d 53 63 72 5f 78 61 64 64 72 28 2e 78 2e 29 2b 53 63 72 5f 79 61 64   ┆   total:=Scr_xaddr(.x.)+Scr_yad┆
0x6d120…6d140            64 72 28 2e 79 2e 29 3b 0d 0a 20 53 63 72 5f 67 65 74 64 6f 74 3a 3d 0d 0a 20 28 57 6e 64 5f 2e   ┆dr(.y.);   Scr_getdot:=   (Wnd_.┆
0x6d140…6d160            70 65 6e 63 6f 6c 6f 72 3d 62 6c 61 63 6b 29 20 45 58 4f 52 20 28 6d 65 6d 28 2e 53 63 72 5f 73   ┆pencolor=black) EXOR (mem(.Scr_s┆
0x6d160…6d180            65 67 6d 3a 74 6f 74 61 6c 2e 29 20 41 4e 44 20 28 31 32 38 20 53 48 52 20 28 78 20 41 4e 44 20   ┆egm:total.) AND (128 SHR (x AND ┆
0x6d180…6d1a0            37 29 29 3c 3e 30 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 77 72 69 74   ┆7))<>0);  END;    PROCEDURE writ┆
0x6d1a0…6d1c0            65 66 72 61 6d 65 3b 0d 0a 56 41 52 0d 0a 20 20 69 2c 6c 68 2c 6c 78 2c 6c 79 3a 20 49 4e 54 45   ┆eframe;  VAR    i,lh,lx,ly: INTE┆
0x6d1c0…6d1e0            47 45 52 3b 0d 0a 20 20 73 3a 20 73 74 72 38 30 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 49 54 48   ┆GER;    s: str80;  BEGIN    WITH┆
0x6d1e0…6d200            20 57 6e 64 5f 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 6c 78 3a 3d 74 78 74 6d 61 78 78 3b   ┆ Wnd_ DO BEGIN      lx:=txtmaxx;┆
0x6d200…6d220            20 6c 79 3a 3d 74 78 74 6d 61 78 79 3b 20 6c 68 3a 3d 28 28 6c 78 2b 32 29 2d 6c 65 6e 28 68 64   ┆ ly:=txtmaxy; lh:=((lx+2)-len(hd┆
0x6d220…6d240            72 29 29 20 44 49 56 20 32 2b 31 3b 0d 0a 20 20 20 20 73 3a 3d 27 c9 27 2b 73 70 63 28 6c 78 2d   ┆r)) DIV 2+1;      s:=' '+spc(lx-┆
0x6d240…6d260            31 2c 27 cd 27 29 2b 27 bb 27 3b 0d 0a 20 20 20 20 6d 6f 76 65 28 68 64 72 28 2e 31 2e 29 2c 73   ┆1,' ')+' ';      move(hdr(.1.),s┆
0x6d260…6d280            28 2e 6c 68 2e 29 2c 6c 65 6e 28 68 64 72 29 29 3b 0d 0a 20 20 20 20 64 72 61 77 74 65 78 74 28   ┆(.lh.),len(hdr));      drawtext(┆
0x6d280…6d2a0            30 2c 30 2c 73 29 3b 0d 0a 20 20 20 20 73 3a 3d 27 ba 27 2b 73 70 63 28 6c 78 2d 31 2c 27 20 27   ┆0,0,s);      s:=' '+spc(lx-1,' '┆
0x6d2a0…6d2c0            29 2b 27 ba 27 3b 0d 0a 20 20 20 20 46 4f 52 20 69 3a 3d 31 20 54 4f 20 6c 79 2d 31 20 44 4f 20   ┆)+' ';      FOR i:=1 TO ly-1 DO ┆
0x6d2c0…6d2e0            64 72 61 77 74 65 78 74 28 30 2c 69 2c 73 29 3b 0d 0a 20 20 20 20 64 72 61 77 74 65 78 74 28 30   ┆drawtext(0,i,s);      drawtext(0┆
0x6d2e0…6d300            2c 6c 79 2c 27 c8 27 2b 73 70 63 28 6c 78 2d 31 2c 27 cd 27 29 2b 27 bc 27 29 3b 0d 0a 20 20 20   ┆,ly,' '+spc(lx-1,' ')+' ');     ┆
0x6d300…6d320            20 74 78 74 78 31 3a 3d 73 75 63 63 28 74 78 74 78 31 29 3b 74 78 74 6d 61 78 78 3a 3d 74 78 74   ┆ txtx1:=succ(txtx1);txtmaxx:=txt┆
0x6d320…6d340            6d 61 78 78 2d 32 3b 0d 0a 20 20 20 20 74 78 74 79 31 3a 3d 73 75 63 63 28 74 78 74 79 31 29 3b   ┆maxx-2;      txty1:=succ(txty1);┆
0x6d340…6d360            74 78 74 6d 61 78 79 3a 3d 74 78 74 6d 61 78 79 2d 32 3b 0d 0a 20 20 20 20 78 31 3a 3d 78 31 2b   ┆txtmaxy:=txtmaxy-2;      x1:=x1+┆
0x6d360…6d380            38 3b 6d 61 78 78 3a 3d 6d 61 78 78 2d 31 36 3b 0d 0a 20 20 20 20 79 31 3a 3d 79 31 2b 38 3b 6d   ┆8;maxx:=maxx-16;      y1:=y1+8;m┆
0x6d380…6d3a0            61 78 79 3a 3d 6d 61 78 79 2d 31 36 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50   ┆axy:=maxy-16;    END;  END;    P┆
0x6d3a0…6d3c0            52 4f 43 45 44 55 52 45 20 77 72 69 74 65 68 65 6c 70 28 6e 6f 2c 77 2c 6c 3a 20 49 4e 54 45 47   ┆ROCEDURE writehelp(no,w,l: INTEG┆
0x6d3c0…6d3e0            45 52 3b 56 41 52 20 73 74 29 3b 0d 0a 56 41 52 0d 0a 20 20 69 2c 6a 2c 6b 2c 61 63 74 75 61 6c   ┆ER;VAR st);  VAR    i,j,k,actual┆
0x6d3e0…6d400            09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 73 74 72 09 3a 73 74 72 38 30 3b 0d 0a 20 20 73 74   ┆ : INTEGER;    str :str80;    st┆
0x6d400…6d420 (43, 1, 3) 72 6c 67 74 3a 62 79 74 65 20 41 54 20 73 74 72 3b 0d 0a 20 20 63 68 3a 20 43 48 41 52 3b 0d 0a   ┆rlgt:byte AT str;    ch: CHAR;  ┆
0x6d420…6d440            20 20 77 69 6e 3a 20 57 6e 64 5f 54 59 50 45 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 61 63 74 75 61   ┆  win: Wnd_TYPE;  BEGIN    actua┆
0x6d440…6d460            6c 3a 3d 57 6e 64 5f 61 63 74 75 61 6c 3b 0d 0a 20 20 77 69 6e 3a 3d 57 6e 64 5f 3b 0d 0a 20 20   ┆l:=Wnd_actual;    win:=Wnd_;    ┆
0x6d460…6d480            73 65 6c 65 63 74 57 69 6e 64 6f 77 28 6e 6f 29 3b 0d 0a 20 20 73 61 76 65 57 69 6e 64 6f 77 28   ┆selectWindow(no);    saveWindow(┆
0x6d480…6d4a0            6e 6f 29 3b 0d 0a 20 20 77 72 69 74 65 66 72 61 6d 65 3b 0d 0a 20 20 6b 3a 3d 30 3b 0d 0a 20 20   ┆no);    writeframe;    k:=0;    ┆
0x6d4a0…6d4c0            46 4f 52 20 69 3a 3d 31 20 54 4f 20 6c 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 73 74 72 6c   ┆FOR i:=1 TO l DO BEGIN      strl┆
0x6d4c0…6d4e0            67 74 3a 3d 6d 65 6d 28 2e 73 65 67 28 73 74 29 3a 6f 66 73 28 73 74 29 2b 6b 2e 29 3b 0d 0a 20   ┆gt:=mem(.seg(st):ofs(st)+k.);   ┆
0x6d4e0…6d500            20 20 20 46 4f 52 20 6a 3a 3d 31 20 54 4f 20 73 74 72 6c 67 74 20 44 4f 0d 0a 20 20 20 20 20 20   ┆   FOR j:=1 TO strlgt DO        ┆
0x6d500…6d520            73 74 72 28 2e 6a 2e 29 3a 3d 43 48 41 52 28 6d 65 6d 28 2e 73 65 67 28 73 74 29 3a 6f 66 73 28   ┆str(.j.):=CHAR(mem(.seg(st):ofs(┆
0x6d520…6d540            73 74 29 2b 6b 2b 6a 2e 29 29 3b 0d 0a 20 20 20 20 6b 3a 3d 6b 2b 77 2b 31 3b 0d 0a 20 20 20 20   ┆st)+k+j.));      k:=k+w+1;      ┆
0x6d540…6d560            64 72 61 77 74 65 78 74 28 30 2c 69 2d 31 2c 73 74 72 29 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20   ┆drawtext(0,i-1,str);    END;    ┆
0x6d560…6d580            52 45 50 45 41 54 20 72 65 61 64 28 6b 62 64 2c 63 68 29 20 55 4e 54 49 4c 20 63 68 20 69 6e 20   ┆REPEAT read(kbd,ch) UNTIL ch in ┆
0x6d580…6d5a0            28 2e 40 31 33 2c 40 33 32 2e 29 3b 0d 0a 20 20 6c 6f 61 64 57 69 6e 64 6f 77 28 6e 6f 2c 30 2c   ┆(.@13,@32.);    loadWindow(no,0,┆
0x6d5a0…6d5c0            30 29 3b 0d 0a 20 20 57 6e 64 5f 61 63 74 75 61 6c 3a 3d 61 63 74 75 61 6c 3b 0d 0a 20 20 57 6e   ┆0);    Wnd_actual:=actual;    Wn┆
0x6d5c0…6d5e0            64 5f 3a 3d 77 69 6e 3b 0d 0a 45 4e 44 3b 0d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆d_:=win;  END;                  ┆
0x6d5e0…6d600            00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x6d600…6d620            e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
         […0xf…]
0x6d800…6d820 (43, 1, 4) 28 2a 47 53 56 2d 53 63 72 6e 2a 29 0d 0a 63 6f 6e 73 74 0d 0a 20 20 68 65 6c 70 3a 41 52 52 41   ┆(*GSV-Scrn*)  const    help:ARRA┆
0x6d820…6d840            59 28 2e 30 2e 2e 37 2e 29 20 4f 46 20 53 54 52 49 4e 47 28 2e 34 30 2e 29 20 3d 0d 0a 20 20 20   ┆Y(.0..7.) OF STRING(.40.) =     ┆
0x6d840…6d860            20 28 27 3c 48 4f 4d 45 3e 20 20 6d 61 72 6b 9b 72 20 74 69 6c 20 74 65 6b 73 74 73 74 61 72 74   ┆ ('<HOME>  mark r til tekststart┆
0x6d860…6d880            27 2c 0d 0a 20 20 20 20 27 3c 45 4e 44 3e 20 20 20 6d 61 72 6b 9b 72 20 74 69 6c 20 74 65 6b 73   ┆',      '<END>   mark r til teks┆
0x6d880…6d8a0            74 73 6c 75 74 27 2c 0d 0a 20 20 20 20 27 3c 44 45 4c 3e 20 20 20 73 6c 65 74 20 74 65 67 6e 20   ┆tslut',      '<DEL>   slet tegn ┆
0x6d8a0…6d8c0            70 86 20 6d 61 72 6b 9b 72 65 6e 73 20 70 6c 61 64 73 27 2c 0d 0a 20 20 20 20 27 3c 49 4e 53 3e   ┆p  mark rens plads',      '<INS>┆
0x6d8c0…6d8e0            20 20 20 73 6b 69 66 74 20 6d 65 6c 6c 65 6d 20 6f 76 65 72 73 6b 72 69 76 20 6f 67 20 69 6e 64   ┆   skift mellem overskriv og ind┆
0x6d8e0…6d900            73 91 74 27 2c 0d 0a 20 20 20 20 27 3c 46 35 3e 20 20 20 20 73 6c 65 74 20 6c 69 6e 69 65 20 66   ┆s t',      '<F5>    slet linie f┆
0x6d900…6d920            72 61 20 6d 61 72 6b 9b 72 65 6e 73 20 70 6c 61 64 73 27 2c 0d 0a 20 20 20 20 27 3c 11 27 40 31   ┆ra mark rens plads',      '< '@1┆
0x6d920…6d940            39 36 27 3e 20 20 20 20 73 6c 65 74 20 74 65 67 6e 20 74 69 6c 20 76 65 6e 73 74 72 65 20 46 4f   ┆96'>    slet tegn til venstre FO┆
0x6d940…6d960            52 20 6d 61 72 6b 9b 72 27 2c 0d 0a 20 20 20 20 27 3c 1b 3e 20 20 20 20 20 72 79 6b 20 6d 61 72   ┆R mark r',      '< >     ryk mar┆
0x6d960…6d980            6b 9b 72 20 65 6e 20 70 6c 61 64 73 20 74 69 6c 20 76 65 6e 73 74 72 65 27 2c 0d 0a 20 20 20 20   ┆k r en plads til venstre',      ┆
0x6d980…6d9a0            27 3c 27 40 32 36 27 3e 20 20 20 20 20 72 79 6b 20 6d 61 72 6b 9b 72 20 65 6e 20 70 6c 61 64 73   ┆'<'@26'>     ryk mark r en plads┆
0x6d9a0…6d9c0            20 74 69 6c 20 68 9b 6a 72 65 27 29 3b 0d 0a 0d 0a 0d 0a 7b 20 42 45 45 50 20 73 6f 75 6e 64 73   ┆ til h jre');      æ BEEP sounds┆
0x6d9c0…6d9e0            20 74 68 65 20 74 65 72 6d 69 6e 61 6c 27 73 20 62 65 6c 6c 20 6f 72 20 62 65 65 70 65 72 20 7d   ┆ the terminal's bell or beeper å┆
0x6d9e0…6da00            0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 62 65 65 70 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 77 72   ┆    PROCEDURE beep;  BEGIN    wr┆
0x6da00…6da20            69 74 65 28 5e 47 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 0d 0a 7b 20 43 41 50 20 63 6f 6e 76 65 72   ┆ite(^G);  END;      æ CAP conver┆
0x6da20…6da40            74 73 20 61 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 75 70 70 65 72 20 63 61 73 65 20 7d 0d 0a   ┆ts a character to upper case å  ┆
0x6da40…6da60            0d 0a 46 55 4e 43 54 49 4f 4e 20 63 61 70 28 63 68 3a 20 63 68 61 72 29 3a 20 63 68 61 72 3b 0d   ┆  FUNCTION cap(ch: char): char; ┆
0x6da60…6da80            0a 42 45 47 49 4e 0d 0a 20 20 49 46 20 28 63 68 3e 3d 27 61 27 29 20 41 4e 44 20 28 63 68 3c 3d   ┆ BEGIN    IF (ch>='a') AND (ch<=┆
0x6da80…6daa0            27 7a 27 29 20 54 48 45 4e 0d 0a 20 20 63 61 70 3a 3d 63 68 72 28 6f 72 64 28 63 68 29 2d 33 32   ┆'z') THEN    cap:=chr(ord(ch)-32┆
0x6daa0…6dac0            29 20 45 4c 53 45 20 63 61 70 3a 3d 63 68 3b 0d 0a 45 4e 44 3b 0d 0a 7b 20 43 4c 52 46 52 41 4d   ┆) ELSE cap:=ch;  END;  æ CLRFRAM┆
0x6dac0…6dae0            45 20 63 6c 65 61 72 73 20 74 68 65 20 64 69 73 70 6c 61 79 20 66 72 61 6d 65 2c 20 69 2e 65 2e   ┆E clears the display frame, i.e.┆
0x6dae0…6db00            20 6c 69 6e 65 73 20 33 20 74 6f 20 32 30 20 7d 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 63 6c   ┆ lines 3 to 20 å    PROCEDURE cl┆
0x6db00…6db20            72 66 72 61 6d 65 3b 0d 0a 56 41 52 0d 0a 20 20 69 3a 20 69 6e 74 65 67 65 72 3b 0d 0a 42 45 47   ┆rframe;  VAR    i: integer;  BEG┆
0x6db20…6db40            49 4e 0d 0a 20 20 46 4f 52 20 69 3a 3d 34 20 54 4f 20 32 30 20 44 4f 0d 0a 20 20 42 45 47 49 4e   ┆IN    FOR i:=4 TO 20 DO    BEGIN┆
0x6db40…6db60            0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 30 2c 69 29 3b 20 77 72 69 74 65 28 63 6c 72 65 6f 6c 29   ┆      gotoxy(0,i); write(clreol)┆
0x6db60…6db80            3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 72 6f 63 65 64 75 72 65 20 63 6c 72   ┆;    END;  END;    Procedure clr┆
0x6db80…6dba0            66 65 6a 6c 3b 0d 0a 42 65 67 69 6e 0d 0a 20 20 67 6f 74 6f 78 79 28 30 2c 32 34 29 3b 20 57 72   ┆fejl;  Begin    gotoxy(0,24); Wr┆
0x6dba0…6dbc0            69 74 65 28 63 6c 72 65 6f 6c 29 3b 0d 0a 45 6e 64 3b 0d 0a 20 20 0d 0a 50 72 6f 63 65 64 75 72   ┆ite(clreol);  End;      Procedur┆
0x6dbc0…6dbe0            65 20 72 61 6d 6d 65 3b 0d 0a 42 65 67 69 6e 0d 0a 20 20 67 6f 74 6f 78 79 28 30 2c 30 29 3b 20   ┆e ramme;  Begin    gotoxy(0,0); ┆
0x6dbe0…6dc00            77 72 69 74 65 6c 6e 28 63 73 74 72 28 27 2d 27 2c 37 39 29 29 3b 0d 0a 20 20 57 72 69 74 65 6c   ┆writeln(cstr('-',79));    Writel┆
0x6dc00…6dc20 (43, 1, 5) 6e 3b 0d 0a 20 20 77 72 69 74 65 6c 6e 28 63 73 74 72 28 27 2d 27 2c 37 39 29 29 3b 0d 0a 20 20   ┆n;    writeln(cstr('-',79));    ┆
0x6dc20…6dc40            67 6f 74 6f 78 79 28 30 2c 32 31 29 3b 20 77 72 69 74 65 6c 6e 28 63 73 74 72 28 27 2d 27 2c 37   ┆gotoxy(0,21); writeln(cstr('-',7┆
0x6dc40…6dc60            39 29 29 3b 0d 0a 20 20 77 72 69 74 65 6c 6e 3b 20 0d 0a 20 20 77 72 69 74 65 28 63 73 74 72 28   ┆9));    writeln;     write(cstr(┆
0x6dc60…6dc80            27 2d 27 2c 37 39 29 29 3b 0d 0a 45 6e 64 3b 0d 0a 0d 0a 0d 0a 0d 0a 7b 20 53 45 4c 45 43 54 20   ┆'-',79));  End;        æ SELECT ┆
0x6dc80…6dca0            64 69 73 70 6c 61 79 20 74 68 65 20 70 72 6f 6d 70 74 20 73 74 72 69 6e 67 20 50 52 20 6f 6e 20   ┆display the prompt string PR on ┆
0x6dca0…6dcc0            6c 69 6e 65 20 32 32 2c 20 61 6e 64 20 77 61 69 74 73 20 20 20 20 20 7d 0d 0a 7b 20 75 6e 74 69   ┆line 22, and waits     å  æ unti┆
0x6dcc0…6dce0            6c 20 74 68 65 20 75 73 65 72 20 65 6e 74 65 72 73 20 61 20 63 68 61 72 61 63 74 65 72 20 77 68   ┆l the user enters a character wh┆
0x6dce0…6dd00            69 63 68 20 69 73 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 74 68 65 20 20 20 7d 0d 0a 7b 20 54   ┆ich is contained in the   å  æ T┆
0x6dd00…6dd20            45 52 4d 20 63 68 61 72 61 63 74 65 72 20 73 65 74 2e 20 54 68 65 20 63 68 61 72 61 63 74 65 72   ┆ERM character set. The character┆
0x6dd20…6dd40            20 69 73 20 74 68 65 6e 20 72 65 74 75 72 6e 65 64 20 69 6e 20 54 43 2e 20 20 20 20 20 7d 0d 0a   ┆ is then returned in TC.     å  ┆
0x6dd40…6dd60            0d 0a 50 52 4f 43 45 44 55 52 45 20 73 65 6c 65 63 74 28 70 72 3a 20 73 74 72 38 30 3b 20 74 65   ┆  PROCEDURE select(pr: str80; te┆
0x6dd60…6dd80            72 6d 3a 20 63 68 61 72 73 65 74 3b 20 56 41 52 20 74 63 3a 20 63 68 61 72 29 3b 0d 0a 56 41 52   ┆rm: charset; VAR tc: char);  VAR┆
0x6dd80…6dda0            0d 0a 20 20 63 68 3a 20 63 68 61 72 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 67 6f 74 6f 78 79 28 30   ┆    ch: char;  BEGIN    gotoxy(0┆
0x6dda0…6ddc0            2c 32 32 29 3b 20 77 72 69 74 65 28 70 72 2c 27 3f 20 27 2c 63 6c 72 65 6f 6c 29 3b 0d 0a 20 20   ┆,22); write(pr,'? ',clreol);    ┆
0x6ddc0…6dde0            52 45 50 45 41 54 0d 0a 20 20 20 20 72 65 61 64 28 6b 62 64 2c 63 68 29 3b 20 74 63 3a 3d 63 61   ┆REPEAT      read(kbd,ch); tc:=ca┆
0x6dde0…6de00            70 28 63 68 29 3b 0d 0a 20 20 20 20 49 46 20 4e 4f 54 28 74 63 20 49 4e 20 74 65 72 6d 29 20 54   ┆p(ch);      IF NOT(tc IN term) T┆
0x6de00…6de20            48 45 4e 20 62 65 65 70 3b 0d 0a 20 20 55 4e 54 49 4c 20 74 63 20 49 4e 20 74 65 72 6d 3b 0d 0a   ┆HEN beep;    UNTIL tc IN term;  ┆
0x6de20…6de40            20 20 77 72 69 74 65 28 63 68 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20   ┆  write(ch);  END;    PROCEDURE ┆
0x6de40…6de60            73 65 6c 65 63 74 31 28 76 30 3a 20 73 74 72 31 35 3b 20 76 31 2c 76 32 2c 76 33 2c 76 34 2c 76   ┆select1(v0: str15; v1,v2,v3,v4,v┆
0x6de60…6de80            35 2c 76 36 2c 76 37 3a 20 73 74 72 32 35 3b 20 56 41 52 20 63 68 3a 20 63 68 61 72 29 3b 0d 0a   ┆5,v6,v7: str25; VAR ch: char);  ┆
0x6de80…6dea0            0d 0a 56 61 72 0d 0a 20 20 20 20 74 65 72 6d 3a 20 63 68 61 72 73 65 74 3b 0d 0a 20 20 42 65 67   ┆  Var      term: charset;    Beg┆
0x6dea0…6dec0            69 6e 0d 0a 20 20 20 20 74 65 72 6d 3a 3d 5b 27 41 27 2c 27 42 27 2c 27 43 27 2c 27 44 27 2c 27   ┆in      term:=Æ'A','B','C','D','┆
0x6dec0…6dee0            45 27 2c 27 46 27 2c 27 47 27 5d 3b 0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 32 30 2c 31 32 29 3b   ┆E','F','G'Å;      gotoxy(20,12);┆
0x6dee0…6df00            57 72 69 74 65 28 63 73 74 72 28 27 2d 27 2c 32 39 29 29 3b 0d 0a 20 20 20 20 67 6f 74 6f 78 79   ┆Write(cstr('-',29));      gotoxy┆
0x6df00…6df20            28 32 30 2c 31 33 29 3b 57 72 69 74 65 28 27 7c 27 2c 76 30 2c 63 6c 72 65 6f 6c 29 3b 47 6f 74   ┆(20,13);Write('ø',v0,clreol);Got┆
0x6df20…6df40            6f 78 79 28 34 38 2c 31 33 29 3b 57 72 69 74 65 28 27 7c 27 29 3b 0d 0a 20 20 20 20 67 6f 74 6f   ┆oxy(48,13);Write('ø');      goto┆
0x6df40…6df60            78 79 28 32 30 2c 31 34 29 3b 57 72 69 74 65 28 27 7c 20 41 29 20 27 2c 76 31 2c 63 6c 72 65 6f   ┆xy(20,14);Write('ø A) ',v1,clreo┆
0x6df60…6df80            6c 29 3b 47 6f 74 6f 78 79 28 34 38 2c 31 34 29 3b 57 72 69 74 65 28 27 7c 27 29 3b 0d 0a 20 20   ┆l);Gotoxy(48,14);Write('ø');    ┆
0x6df80…6dfa0            20 20 67 6f 74 6f 78 79 28 32 30 2c 31 35 29 3b 57 72 69 74 65 28 27 7c 20 42 29 20 27 2c 76 32   ┆  gotoxy(20,15);Write('ø B) ',v2┆
0x6dfa0…6dfc0            2c 63 6c 72 65 6f 6c 29 3b 47 6f 74 6f 78 79 28 34 38 2c 31 35 29 3b 57 72 69 74 65 28 27 7c 27   ┆,clreol);Gotoxy(48,15);Write('ø'┆
0x6dfc0…6dfe0            29 3b 0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 32 30 2c 31 36 29 3b 57 72 69 74 65 28 27 7c 20 43   ┆);      gotoxy(20,16);Write('ø C┆
0x6dfe0…6e000            29 20 27 2c 76 33 2c 63 6c 72 65 6f 6c 29 3b 47 6f 74 6f 78 79 28 34 38 2c 31 36 29 3b 57 72 69   ┆) ',v3,clreol);Gotoxy(48,16);Wri┆
0x6e000…6e020 (44, 0, 1) 74 65 28 27 7c 27 29 3b 0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 32 30 2c 31 37 29 3b 57 72 69 74   ┆te('ø');      gotoxy(20,17);Writ┆
0x6e020…6e040            65 28 27 7c 20 44 29 20 27 2c 76 34 2c 63 6c 72 65 6f 6c 29 3b 47 6f 74 6f 78 79 28 34 38 2c 31   ┆e('ø D) ',v4,clreol);Gotoxy(48,1┆
0x6e040…6e060            37 29 3b 57 72 69 74 65 28 27 7c 27 29 3b 0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 32 30 2c 31 38   ┆7);Write('ø');      gotoxy(20,18┆
0x6e060…6e080            29 3b 57 72 69 74 65 28 27 7c 20 45 29 20 27 2c 76 35 2c 63 6c 72 65 6f 6c 29 3b 47 6f 74 6f 78   ┆);Write('ø E) ',v5,clreol);Gotox┆
0x6e080…6e0a0            79 28 34 38 2c 31 38 29 3b 57 72 69 74 65 28 27 7c 27 29 3b 0d 0a 20 20 20 20 67 6f 74 6f 78 79   ┆y(48,18);Write('ø');      gotoxy┆
0x6e0a0…6e0c0            28 32 30 2c 31 39 29 3b 57 72 69 74 65 28 27 7c 20 46 29 20 27 2c 76 36 2c 63 6c 72 65 6f 6c 29   ┆(20,19);Write('ø F) ',v6,clreol)┆
0x6e0c0…6e0e0            3b 47 6f 74 6f 78 79 28 34 38 2c 31 39 29 3b 57 72 69 74 65 28 27 7c 27 29 3b 0d 0a 20 20 20 20   ┆;Gotoxy(48,19);Write('ø');      ┆
0x6e0e0…6e100            67 6f 74 6f 78 79 28 32 30 2c 32 30 29 3b 57 72 69 74 65 28 27 7c 20 47 29 20 27 2c 76 37 2c 63   ┆gotoxy(20,20);Write('ø G) ',v7,c┆
0x6e100…6e120            6c 72 65 6f 6c 29 3b 47 6f 74 6f 78 79 28 34 38 2c 32 30 29 3b 57 72 69 74 65 28 27 7c 27 29 3b   ┆lreol);Gotoxy(48,20);Write('ø');┆
0x6e120…6e140            0d 0a 20 20 20 20 67 6f 74 6f 78 79 28 30 2c 32 32 29 3b 20 57 72 69 74 65 28 27 49 6e 64 74 61   ┆      gotoxy(0,22); Write('Indta┆
0x6e140…6e160            73 74 20 76 61 6c 67 3a 20 27 2c 63 6c 72 65 6f 6c 29 3b 20 0d 0a 20 20 20 20 52 65 70 65 61 74   ┆st valg: ',clreol);       Repeat┆
0x6e160…6e180            0d 0a 20 20 20 20 20 20 72 65 61 64 28 6b 62 64 2c 63 68 29 3b 20 63 68 3a 3d 63 61 70 28 63 68   ┆        read(kbd,ch); ch:=cap(ch┆
0x6e180…6e1a0            29 3b 0d 0a 20 20 20 20 20 20 49 46 20 4e 4f 54 28 63 68 20 49 4e 20 74 65 72 6d 29 20 54 48 45   ┆);        IF NOT(ch IN term) THE┆
0x6e1a0…6e1c0            4e 20 62 65 65 70 3b 0d 0a 20 20 20 20 55 4e 54 49 4c 20 63 68 20 49 4e 20 74 65 72 6d 3b 0d 0a   ┆N beep;      UNTIL ch IN term;  ┆
0x6e1c0…6e1e0            20 20 20 20 0d 0a 20 20 20 20 77 72 69 74 65 28 63 68 29 3b 0d 0a 0d 0a 20 20 45 6e 64 3b 0d 0a   ┆          write(ch);      End;  ┆
0x6e1e0…6e200            0d 0a 0d 0a 0d 0a 0d 0a 7b 20 49 4e 50 53 54 52 20 69 73 20 61 20 67 65 6e 65 72 61 6c 69 7a 65   ┆        æ INPSTR is a generalize┆
0x6e200…6e220            64 20 73 74 72 69 6e 67 20 69 6e 70 75 74 20 72 6f 75 74 69 6e 65 20 77 68 69 63 68 20 73 75 70   ┆d string input routine which sup┆
0x6e220…6e240            70 6f 72 74 73 20 20 20 7d 0d 0a 7b 20 6f 6e 2d 73 63 72 65 65 6e 20 65 64 69 74 69 6e 67 2e 20   ┆ports   å  æ on-screen editing. ┆
0x6e240…6e260            53 20 69 73 20 61 6e 79 20 73 74 72 69 6e 67 20 76 61 72 69 61 62 6c 65 2e 20 4c 20 69 73 20 74   ┆S is any string variable. L is t┆
0x6e260…6e280            68 65 20 6d 61 78 69 6d 75 6d 20 7d 0d 0a 7b 20 69 6e 70 75 74 20 6c 65 6e 67 74 68 2e 20 58 20   ┆he maximum å  æ input length. X ┆
0x6e280…6e2a0            61 6e 64 20 59 20 61 72 65 20 74 68 65 20 64 69 73 70 6c 61 79 20 63 6f 6f 72 64 69 6e 61 74 65   ┆and Y are the display coordinate┆
0x6e2a0…6e2c0            73 2e 20 54 45 52 4d 20 69 73 20 61 20 20 7d 0d 0a 7b 20 73 65 74 20 6f 66 20 76 61 6c 69 64 20   ┆s. TERM is a  å  æ set of valid ┆
0x6e2c0…6e2e0            74 65 72 6d 69 6e 61 74 6f 72 20 63 68 61 72 61 63 74 65 72 73 2c 20 61 6e 64 20 54 43 20 72 65   ┆terminator characters, and TC re┆
0x6e2e0…6e300            74 75 72 6e 73 20 74 68 65 20 63 68 61 72 2d 20 20 7d 0d 0a 7b 20 61 63 74 65 72 20 74 68 61 74   ┆turns the char-  å  æ acter that┆
0x6e300…6e320            20 74 65 72 6d 69 6e 61 74 65 64 20 74 68 65 20 69 6e 70 75 74 2e 20 4f 6e 20 65 6e 74 72 79 2c   ┆ terminated the input. On entry,┆
0x6e320…6e340            20 53 20 69 73 20 64 69 73 70 6c 61 79 65 64 20 61 74 20 20 7d 0d 0a 7b 20 58 2c 59 20 6f 6e 20   ┆ S is displayed at  å  æ X,Y on ┆
0x6e340…6e360            74 68 65 20 73 63 72 65 65 6e 2c 20 70 61 64 64 65 64 20 74 6f 20 74 68 65 20 72 69 67 68 74 20   ┆the screen, padded to the right ┆
0x6e360…6e380            77 69 74 68 20 75 6e 64 65 72 73 63 6f 72 65 73 2e 20 54 68 65 20 20 7d 0d 0a 7b 20 73 74 72 69   ┆with underscores. The  å  æ stri┆
0x6e380…6e3a0            6e 67 20 6d 61 79 20 74 68 65 6e 20 62 65 20 65 64 69 74 65 64 20 75 73 69 6e 67 20 73 74 61 6e   ┆ng may then be edited using stan┆
0x6e3a0…6e3c0            64 61 72 64 20 63 6f 6e 74 72 6f 6c 20 6b 65 79 73 3a 20 5e 53 20 61 6e 64 20 7d 0d 0a 7b 20 5e   ┆dard control keys: ^S and å  æ ^┆
0x6e3c0…6e3e0            44 20 66 6f 72 20 6c 65 66 74 20 61 6e 64 20 72 69 67 68 74 2c 20 5e 41 20 61 6e 64 20 5e 46 20   ┆D for left and right, ^A and ^F ┆
0x6e3e0…6e400            66 6f 72 20 62 65 67 69 6e 6e 69 6e 67 20 61 6e 64 20 65 6e 64 20 6f 66 20 20 20 20 20 7d 0d 0a   ┆for beginning and end of     å  ┆
0x6e400…6e420 (44, 0, 2) 7b 20 6c 69 6e 65 2c 20 5e 47 20 74 6f 20 64 65 6c 65 74 65 20 74 68 65 20 63 68 61 72 61 63 74   ┆æ line, ^G to delete the charact┆
0x6e420…6e440            65 72 20 75 6e 64 65 72 20 74 68 65 20 63 75 72 73 6f 72 2c 20 5e 48 20 6f 72 20 44 45 4c 20 20   ┆er under the cursor, ^H or DEL  ┆
0x6e440…6e460            7d 0d 0a 7b 20 74 6f 20 62 61 63 6b 73 70 61 63 65 2c 20 61 6e 64 20 5e 59 20 74 6f 20 64 65 6c   ┆å  æ to backspace, and ^Y to del┆
0x6e460…6e480            65 74 65 20 74 6f 20 65 6e 64 20 6f 66 20 74 68 65 20 6c 69 6e 65 2e 20 57 68 65 6e 20 61 20 20   ┆ete to end of the line. When a  ┆
0x6e480…6e4a0            20 20 20 7d 0d 0a 7b 20 63 68 61 72 61 63 74 65 72 20 69 73 20 74 79 70 65 64 2c 20 69 74 20 69   ┆   å  æ character is typed, it i┆
0x6e4a0…6e4c0            73 20 69 6e 73 65 72 74 65 64 20 61 74 20 74 68 65 20 63 75 72 73 6f 72 20 61 74 20 74 68 65 20   ┆s inserted at the cursor at the ┆
0x6e4c0…6e4e0            72 65 2d 20 20 20 7d 0d 0a 7b 20 6d 61 69 6e 64 65 72 20 6f 66 20 74 68 65 20 6c 69 6e 65 20 69   ┆re-   å  æ mainder of the line i┆
0x6e4e0…6e500            73 20 6d 6f 76 65 64 20 74 6f 20 74 68 65 20 72 69 67 68 74 2e 20 57 68 65 6e 20 61 20 74 65 72   ┆s moved to the right. When a ter┆
0x6e500…6e520            6d 69 6e 61 74 6f 72 20 20 7d 0d 0a 7b 20 63 68 61 72 61 63 74 65 72 20 69 73 20 74 79 70 65 64   ┆minator  å  æ character is typed┆
0x6e520…6e540            2c 20 74 68 65 20 74 72 61 69 6c 69 6e 67 20 75 6e 64 65 72 73 63 6f 72 73 20 61 72 65 20 72 65   ┆, the trailing underscors are re┆
0x6e540…6e560            6d 6f 76 65 64 2c 20 61 6e 64 20 20 7d 0d 0a 7b 20 49 4e 50 53 54 52 20 72 65 74 75 72 6e 73 20   ┆moved, and  å  æ INPSTR returns ┆
0x6e560…6e580            77 69 74 68 20 74 68 65 20 65 64 69 74 65 64 20 73 74 72 69 6e 67 20 69 6e 20 53 20 61 6e 64 20   ┆with the edited string in S and ┆
0x6e580…6e5a0            74 68 65 20 74 65 72 6d 69 6e 61 74 6f 72 20 7d 0d 0a 7b 20 63 68 61 72 61 63 74 65 72 20 69 6e   ┆the terminator å  æ character in┆
0x6e5a0…6e5c0            20 54 43 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ TC.                            ┆
0x6e5c0…6e5e0            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45   ┆                  å    PROCEDURE┆
0x6e5e0…6e600            20 69 6e 70 73 74 72 28 56 41 52 20 73 3a 20 61 6e 79 73 74 72 3b 20 6c 2c 78 2c 79 3a 20 69 6e   ┆ inpstr(VAR s: anystr; l,x,y: in┆
0x6e600…6e620            74 65 67 65 72 3b 0d 0a 20 20 74 65 72 6d 20 3a 20 63 68 61 72 73 65 74 3b 20 56 41 52 20 74 63   ┆teger;    term : charset; VAR tc┆
0x6e620…6e640            3a 20 63 68 61 72 29 3b 0d 0a 43 4f 4e 53 54 0d 0a 20 20 66 63 20 3d 20 27 5f 27 3b 0d 0a 4c 61   ┆: char);  CONST    fc = '_';  La┆
0x6e640…6e660            62 65 6c 20 6c 6c 3b 0d 0a 56 41 52 0d 0a 20 20 74 65 6b 73 74 3a 20 73 74 72 32 35 3b 0d 0a 20   ┆bel ll;  VAR    tekst: str25;   ┆
0x6e660…6e680            20 69 2c 74 61 6c 2c 61 6e 74 61 6c 2c 78 78 2c 79 79 2c 70 3a 20 69 6e 74 65 67 65 72 3b 0d 0a   ┆ i,tal,antal,xx,yy,p: integer;  ┆
0x6e680…6e6a0            20 20 70 61 61 2c 63 68 3a 20 63 68 61 72 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 0d 0a 20 20 67 6f   ┆  paa,ch: char;  BEGIN        go┆
0x6e6a0…6e6c0            74 6f 78 79 28 78 2c 79 29 3b 20 77 72 69 74 65 28 73 2c 63 73 74 72 28 66 63 2c 6c 2d 6c 65 6e   ┆toxy(x,y); write(s,cstr(fc,l-len┆
0x6e6c0…6e6e0            28 73 29 29 29 3b 20 70 3a 3d 30 3b 0d 0a 20 20 78 78 3a 3d 78 3b 79 79 3a 3d 79 3b 61 6e 74 61   ┆(s))); p:=0;    xx:=x;yy:=y;anta┆
0x6e6e0…6e700            6c 3a 3d 78 78 3b 0d 0a 20 20 0d 0a 20 20 52 45 50 45 41 54 0d 0a 20 20 20 20 67 6f 74 6f 78 79   ┆l:=xx;        REPEAT      gotoxy┆
0x6e700…6e720            28 78 78 2c 79 79 29 3b 20 0d 0a 20 20 20 20 6c 6c 3a 0d 0a 20 20 20 20 72 65 61 64 28 6b 62 64   ┆(xx,yy);       ll:      read(kbd┆
0x6e720…6e740            2c 63 68 29 3b 0d 0a 20 20 20 20 43 41 53 45 20 63 68 20 4f 46 0d 0a 20 20 20 20 20 20 40 33 32   ┆,ch);      CASE ch OF        @32┆
0x6e740…6e760            2e 2e 40 31 32 36 2c 20 40 31 32 38 2e 2e 40 32 35 35 3a 0d 0a 20 20 20 20 20 20 49 46 20 70 3c   ┆..@126, @128..@255:        IF p<┆
0x6e760…6e780            6c 20 54 48 45 4e 0d 0a 20 20 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 49 46 20   ┆l THEN        BEGIN          IF ┆
0x6e780…6e7a0            6c 65 6e 28 73 29 3d 6c 20 54 48 45 4e 20 64 65 6c 65 74 65 28 73 2c 6c 2c 31 29 3b 0d 0a 20 20   ┆len(s)=l THEN delete(s,l,1);    ┆
0x6e7a0…6e7c0            20 20 20 20 20 20 78 78 3a 3d 78 78 2b 31 3b 0d 0a 20 20 20 20 20 20 20 20 70 3a 3d 70 2b 31 3b   ┆      xx:=xx+1;          p:=p+1;┆
0x6e7c0…6e7e0            20 69 6e 73 65 72 74 28 63 68 2c 73 2c 70 29 3b 0d 0a 20 20 20 20 20 20 20 20 77 72 69 74 65 28   ┆ insert(ch,s,p);          write(┆
0x6e7e0…6e800            63 6f 70 79 28 73 2c 70 2c 6c 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 49 66 20 78 78 3d 38 31 20   ┆copy(s,p,l));          If xx=81 ┆
0x6e800…6e820 (44, 0, 3) 74 68 65 6e 0d 0a 20 20 20 20 20 20 20 20 62 65 67 69 6e 0d 0a 20 20 20 20 20 20 20 20 20 78 78   ┆then          begin           xx┆
0x6e820…6e840            3a 3d 31 3b 20 0d 0a 20 20 20 20 20 20 20 20 20 20 79 79 3a 3d 79 79 2b 31 3b 0d 0a 20 20 20 20   ┆:=1;             yy:=yy+1;      ┆
0x6e840…6e860            20 20 20 20 65 6e 64 3b 0d 0a 20 20 20 20 20 20 45 4e 44 20 45 4c 53 45 20 62 65 65 70 3b 0d 0a   ┆    end;        END ELSE beep;  ┆
0x6e860…6e880            20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 5e 5a 3a 20 42 65 67 69 6e 0d 0a 20 20 20 20 20 20 20   ┆              ^Z: Begin         ┆
0x6e880…6e8a0            20 20 20 20 20 49 66 20 70 61 61 3d 27 4a 27 20 74 68 65 6e 20 42 65 67 69 6e 0d 0a 20 20 20 20   ┆     If paa='J' then Begin      ┆
0x6e8a0…6e8c0            20 20 20 20 20 20 20 20 20 20 46 6f 72 20 69 3a 3d 20 35 20 74 6f 20 31 30 20 64 6f 20 42 65 67   ┆          For i:= 5 to 10 do Beg┆
0x6e8c0…6e8e0            69 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 6f 74 6f 78 79 28 34 30 2c 69 29   ┆in                  gotoxy(40,i)┆
0x6e8e0…6e900            3b 20 57 72 69 74 65 28 63 6c 72 65 6f 6c 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆; Write(clreol);                ┆
0x6e900…6e920            45 6e 64 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 61 3a 3d 20 27 4e 27 3b 0d 0a   ┆End;                paa:= 'N';  ┆
0x6e920…6e940            20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 6f 74 6f 20 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 20   ┆              goto ll;          ┆
0x6e940…6e960            20 20 20 20 45 6e 64 3b 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 6f 74 6f 78 79   ┆    End;                  gotoxy┆
0x6e960…6e980            28 34 30 2c 35 29 3b 20 57 72 69 74 65 28 27 5e 41 3a 20 4d 61 72 6b 9b 72 20 66 6c 79 74 74 65   ┆(40,5); Write('^A: Mark r flytte┆
0x6e980…6e9a0            73 20 68 65 6c 74 20 74 69 6c 20 76 65 6e 73 74 72 65 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 20   ┆s helt til venstre');           ┆
0x6e9a0…6e9c0            20 20 20 67 6f 74 6f 78 79 28 34 30 2c 36 29 3b 20 57 72 69 74 65 28 27 5e 53 3a 20 4d 61 72 6b   ┆   gotoxy(40,6); Write('^S: Mark┆
0x6e9c0…6e9e0            9b 72 20 66 6c 79 74 74 65 73 20 65 6e 20 20 20 74 69 6c 20 76 65 6e 73 74 72 65 27 29 3b 0d 0a   ┆ r flyttes en   til venstre');  ┆
0x6e9e0…6ea00            20 20 20 20 20 20 20 20 20 20 20 20 67 6f 74 6f 78 79 28 34 30 2c 37 29 3b 20 57 72 69 74 65 28   ┆            gotoxy(40,7); Write(┆
0x6ea00…6ea20            27 5e 44 3a 20 4d 61 72 6b 9b 72 20 66 6c 79 74 74 65 73 20 65 6e 20 20 20 74 69 6c 20 68 9b 6a   ┆'^D: Mark r flyttes en   til h j┆
0x6ea20…6ea40            72 65 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 6f 74 6f 78 79 28 34 30 2c 38 29 3b   ┆re');              gotoxy(40,8);┆
0x6ea40…6ea60            20 57 72 69 74 65 28 27 5e 46 3a 20 4d 61 72 6b 9b 72 20 66 6c 79 74 74 65 73 20 68 65 6c 74 20   ┆ Write('^F: Mark r flyttes helt ┆
0x6ea60…6ea80            74 69 6c 20 68 9b 6a 72 65 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 6f 74 6f 78 79   ┆til h jre');              gotoxy┆
0x6ea80…6eaa0            28 34 30 2c 39 29 3b 20 57 72 69 74 65 28 27 5e 47 3a 20 54 65 67 6e 20 6f 76 65 72 20 6d 61 72   ┆(40,9); Write('^G: Tegn over mar┆
0x6eaa0…6eac0            6b 9b 72 20 73 6c 65 74 74 65 73 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 6f 74 6f   ┆k r slettes');              goto┆
0x6eac0…6eae0            78 79 28 34 30 2c 31 30 29 3b 20 57 72 69 74 65 28 27 5e 48 3a 20 54 65 67 6e 20 68 65 6c 74 20   ┆xy(40,10); Write('^H: Tegn helt ┆
0x6eae0…6eb00            74 69 6c 20 68 9b 6a 72 65 20 73 6c 65 74 74 65 73 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆til h jre slettes');            ┆
0x6eb00…6eb20            20 20 70 61 61 3a 3d 27 4a 27 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20   ┆  paa:='J';            END;     ┆
0x6eb20…6eb40            20 20 20 0d 0a 20 20 20 20 20 20 5e 53 3a 20 49 46 20 70 3e 30 20 54 48 45 4e 20 42 65 67 69 6e   ┆           ^S: IF p>0 THEN Begin┆
0x6eb40…6eb60            0d 0a 20 20 20 20 20 20 20 20 20 20 70 3a 3d 70 2d 31 3b 20 78 78 3a 3d 78 78 2d 31 3b 0d 0a 20   ┆            p:=p-1; xx:=xx-1;   ┆
0x6eb60…6eb80            20 20 20 20 20 20 20 20 20 49 66 20 28 78 78 3d 2d 31 29 20 61 6e 64 20 28 79 79 20 3c 3e 20 79   ┆         If (xx=-1) and (yy <> y┆
0x6eb80…6eba0            29 20 74 68 65 6e 20 42 65 67 69 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 79 79 3a 3d 79 79   ┆) then Begin              yy:=yy┆
0x6eba0…6ebc0            2d 31 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 78 78 3a 3d 37 39 3b 0d 0a 20 20 20 20 20 20   ┆-1;              xx:=79;        ┆
0x6ebc0…6ebe0            20 20 20 20 45 6e 64 3b 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 45 6e 64 20 45 4c 53 45 20 62   ┆    End;              End ELSE b┆
0x6ebe0…6ec00            65 65 70 3b 0d 0a 20 20 20 20 20 20 5e 44 3a 20 49 46 20 70 3c 6c 65 6e 28 73 29 20 54 48 45 4e   ┆eep;        ^D: IF p<len(s) THEN┆
0x6ec00…6ec20 (44, 0, 4) 20 42 65 67 69 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 70 3a 3d 70 2b 31 3b 20 78 78 3a 3d 78 78   ┆ Begin            p:=p+1; xx:=xx┆
0x6ec20…6ec40            2b 31 3b 20 0d 0a 20 20 20 20 20 20 20 20 20 20 49 66 20 78 78 3d 38 30 20 74 68 65 6e 20 42 65   ┆+1;             If xx=80 then Be┆
0x6ec40…6ec60            67 69 6e 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 78 78 3a 3d 20 30 3b 0d 0a 20 20 20 20 20   ┆gin               xx:= 0;       ┆
0x6ec60…6ec80            20 20 20 20 20 20 20 79 79 20 3a 3d 20 79 79 20 2b 20 31 3b 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆       yy := yy + 1;            ┆
0x6ec80…6eca0            45 6e 64 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 45 6e 64 20 45 4c 53 45 20 62 65 65 70 3b 0d 0a   ┆End;            End ELSE beep;  ┆
0x6eca0…6ecc0            20 20 20 20 20 20 5e 41 3a 20 42 65 67 69 6e 20 70 3a 3d 30 3b 20 78 78 3a 3d 78 3b 20 79 79 3a   ┆      ^A: Begin p:=0; xx:=x; yy:┆
0x6ecc0…6ece0            3d 79 3b 20 45 6e 64 3b 0d 0a 20 20 20 20 20 20 5e 46 3a 20 42 65 67 69 6e 0d 0a 20 20 20 20 20   ┆=y; End;        ^F: Begin       ┆
0x6ece0…6ed00            20 20 20 20 20 20 20 79 79 3a 3d 79 79 20 2b 74 72 75 6e 63 20 28 28 6c 65 6e 28 73 29 2b 78 29   ┆       yy:=yy +trunc ((len(s)+x)┆
0x6ed00…6ed20            2f 20 38 31 29 3b 20 78 78 3a 3d 20 28 6c 65 6e 28 73 29 2b 78 29 20 6d 6f 64 20 38 31 20 3b 0d   ┆/ 81); xx:= (len(s)+x) mod 81 ; ┆
0x6ed20…6ed40            0a 20 20 20 20 20 20 20 20 20 20 20 20 70 3a 3d 6c 65 6e 28 73 29 3b 0d 0a 20 20 20 20 20 20 20   ┆             p:=len(s);         ┆
0x6ed40…6ed60            20 20 20 45 6e 64 3b 0d 0a 20 20 20 20 20 20 5e 47 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 49 46   ┆   End;        ^G:            IF┆
0x6ed60…6ed80            20 70 3c 6c 65 6e 28 73 29 20 54 48 45 4e 0d 0a 20 20 20 20 20 20 20 20 20 20 42 45 47 49 4e 0d   ┆ p<len(s) THEN            BEGIN ┆
0x6ed80…6eda0            0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 6c 65 74 65 28 73 2c 70 2b 31 2c 31 29 3b 20 77 72   ┆             delete(s,p+1,1); wr┆
0x6eda0…6edc0            69 74 65 28 63 6f 70 79 28 73 2c 70 2b 31 2c 6c 29 2c 66 63 29 3b 0d 0a 20 20 20 20 20 20 20 20   ┆ite(copy(s,p+1,l),fc);          ┆
0x6edc0…6ede0            20 20 45 4e 44 20 65 6c 73 65 20 62 65 65 70 3b 0d 0a 20 20 20 20 20 20 5e 48 2c 40 31 32 37 3a   ┆  END else beep;        ^H,@127:┆
0x6ede0…6ee00            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 49 46 20   ┆                             IF ┆
0x6ee00…6ee20            70 3e 30 20 54 48 45 4e 0d 0a 20 20 20 20 20 20 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20   ┆p>0 THEN            BEGIN       ┆
0x6ee20…6ee40            20 20 20 20 20 20 20 64 65 6c 65 74 65 28 73 2c 70 2c 31 29 3b 20 77 72 69 74 65 28 5e 48 2c 63   ┆       delete(s,p,1); write(^H,c┆
0x6ee40…6ee60            6f 70 79 28 73 2c 70 2c 6c 29 2c 66 63 29 3b 20 70 3a 3d 70 2d 31 3b 78 78 3a 3d 78 78 2d 31 3b   ┆opy(s,p,l),fc); p:=p-1;xx:=xx-1;┆
0x6ee60…6ee80            0d 0a 20 20 20 20 20 20 20 20 20 20 45 4e 44 20 45 4c 53 45 20 62 65 65 70 3b 0d 0a 20 20 20 20   ┆            END ELSE beep;      ┆
0x6ee80…6eea0            20 20 5e 59 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20   ┆  ^Y:            BEGIN          ┆
0x6eea0…6eec0            20 20 20 20 77 72 69 74 65 28 63 73 74 72 28 66 63 2c 6c 65 6e 28 73 29 2d 70 29 29 3b 20 64 65   ┆    write(cstr(fc,len(s)-p)); de┆
0x6eec0…6eee0            6c 65 74 65 28 73 2c 70 2b 31 2c 6c 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 45 4e 44 3b 0d 0a   ┆lete(s,p+1,l);            END;  ┆
0x6eee0…6ef00            20 20 20 20 4f 54 48 45 52 57 49 53 45 0d 0a 20 20 20 20 20 20 49 46 20 4e 4f 54 28 63 68 20 49   ┆    OTHERWISE        IF NOT(ch I┆
0x6ef00…6ef20            4e 20 74 65 72 6d 29 20 54 48 45 4e 20 62 65 65 70 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20   ┆N term) THEN beep;      END;    ┆
0x6ef20…6ef40            0d 0a 20 20 55 4e 54 49 4c 20 63 68 20 49 4e 20 74 65 72 6d 3b 0d 0a 20 20 69 66 20 70 20 3c 20   ┆    UNTIL ch IN term;    if p < ┆
0x6ef40…6ef60            6c 65 6e 28 73 29 20 74 68 65 6e 20 42 65 67 69 6e 0d 0a 20 20 20 20 79 79 3a 3d 79 79 20 2b 74   ┆len(s) then Begin      yy:=yy +t┆
0x6ef60…6ef80            72 75 6e 63 20 28 28 6c 65 6e 28 73 29 2b 78 29 2f 20 38 31 29 3b 0d 0a 20 20 20 20 78 78 3a 3d   ┆runc ((len(s)+x)/ 81);      xx:=┆
0x6ef80…6efa0            20 28 6c 65 6e 28 73 29 2b 78 29 20 6d 6f 64 20 38 31 20 3b 0d 0a 20 20 45 6e 64 3b 20 20 0d 0a   ┆ (len(s)+x) mod 81 ;    End;    ┆
0x6efa0…6efc0            20 20 70 3a 3d 6c 65 6e 28 73 29 3b 20 67 6f 74 6f 78 79 28 78 78 2c 79 79 29 3b 20 77 72 69 74   ┆  p:=len(s); gotoxy(xx,yy); writ┆
0x6efc0…6efe0            65 28 27 27 3a 6c 2d 70 29 3b 0d 0a 20 20 74 63 3a 3d 63 68 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46   ┆e('':l-p);    tc:=ch;  END;    F┆
0x6efe0…6f000            55 4e 43 54 49 4f 4e 20 72 65 61 64 73 74 72 74 78 74 28 78 2c 79 2c 6c 3a 20 49 4e 54 45 47 45   ┆UNCTION readstrtxt(x,y,l: INTEGE┆
0x6f000…6f020 (44, 0, 5) 52 29 3a 20 73 74 72 38 30 3b 0d 0a 56 41 52 0d 0a 20 20 69 3a 20 49 4e 54 45 47 45 52 3b 0d 0a   ┆R): str80;  VAR    i: INTEGER;  ┆
0x6f020…6f040            20 20 73 74 72 3a 20 73 74 72 38 30 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 73 74 72 3a 3d 27 27 3b   ┆  str: str80;  BEGIN    str:='';┆
0x6f040…6f060            0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 20 44 4f 0d 0a 20 20 20 20 46 4f 52 20 69 3a 3d 74 78 74   ┆    WITH Wnd_ DO      FOR i:=txt┆
0x6f060…6f080            78 31 2b 78 20 54 4f 20 74 78 74 78 31 2b 6c 20 44 4f 0d 0a 20 20 20 20 20 20 73 74 72 3a 3d 73   ┆x1+x TO txtx1+l DO        str:=s┆
0x6f080…6f0a0            74 72 2b 74 78 74 5f 6c 69 6e 65 70 74 72 28 2e 79 2e 29 5e 28 2e 69 2e 29 2e 63 68 3b 0d 0a 20   ┆tr+txt_lineptr(.y.)^(.i.).ch;   ┆
0x6f0a0…6f0c0            20 72 65 61 64 73 74 72 54 78 74 3a 3d 73 74 72 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45   ┆ readstrTxt:=str;  END;    PROCE┆
0x6f0c0…6f0e0            44 55 52 45 20 77 72 69 74 65 66 72 61 6d 65 3b 0d 0a 56 41 52 0d 0a 20 20 69 2c 6c 68 2c 6c 78   ┆DURE writeframe;  VAR    i,lh,lx┆
0x6f0e0…6f100            2c 6c 79 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 73 3a 20 73 74 72 38 30 3b 0d 0a 42 45 47 49   ┆,ly: INTEGER;    s: str80;  BEGI┆
0x6f100…6f120            4e 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 6c 78 3a   ┆N    WITH Wnd_ DO BEGIN      lx:┆
0x6f120…6f140            3d 74 78 74 6d 61 78 78 3b 20 6c 79 3a 3d 74 78 74 6d 61 78 79 3b 20 6c 68 3a 3d 28 28 6c 78 2b   ┆=txtmaxx; ly:=txtmaxy; lh:=((lx+┆
0x6f140…6f160            32 29 2d 6c 65 6e 28 68 64 72 29 29 20 44 49 56 20 32 2b 31 3b 0d 0a 20 20 20 20 73 3a 3d 27 c9   ┆2)-len(hdr)) DIV 2+1;      s:=' ┆
0x6f160…6f180            27 2b 73 70 63 28 6c 78 2d 31 2c 27 cd 27 29 2b 27 bb 27 3b 0d 0a 20 20 20 20 6d 6f 76 65 28 68   ┆'+spc(lx-1,' ')+' ';      move(h┆
0x6f180…6f1a0            64 72 28 2e 31 2e 29 2c 73 28 2e 6c 68 2e 29 2c 6c 65 6e 28 68 64 72 29 29 3b 0d 0a 20 20 20 20   ┆dr(.1.),s(.lh.),len(hdr));      ┆
0x6f1a0…6f1c0            64 72 61 77 74 65 78 74 28 30 2c 30 2c 73 29 3b 0d 0a 20 20 20 20 73 3a 3d 27 ba 27 2b 73 70 63   ┆drawtext(0,0,s);      s:=' '+spc┆
0x6f1c0…6f1e0            28 6c 78 2d 31 2c 27 20 27 29 2b 27 ba 27 3b 0d 0a 20 20 20 20 46 4f 52 20 69 3a 3d 31 20 54 4f   ┆(lx-1,' ')+' ';      FOR i:=1 TO┆
0x6f1e0…6f200            20 6c 79 2d 31 20 44 4f 20 64 72 61 77 74 65 78 74 28 30 2c 69 2c 73 29 3b 0d 0a 20 20 20 20 64   ┆ ly-1 DO drawtext(0,i,s);      d┆
0x6f200…6f220            72 61 77 74 65 78 74 28 30 2c 6c 79 2c 27 c8 27 2b 73 70 63 28 6c 78 2d 31 2c 27 cd 27 29 2b 27   ┆rawtext(0,ly,' '+spc(lx-1,' ')+'┆
0x6f220…6f240            bc 27 29 3b 0d 0a 20 20 20 20 74 78 74 78 31 3a 3d 73 75 63 63 28 74 78 74 78 31 29 3b 74 78 74   ┆ ');      txtx1:=succ(txtx1);txt┆
0x6f240…6f260            6d 61 78 78 3a 3d 74 78 74 6d 61 78 78 2d 32 3b 0d 0a 20 20 20 20 74 78 74 79 31 3a 3d 73 75 63   ┆maxx:=txtmaxx-2;      txty1:=suc┆
0x6f260…6f280            63 28 74 78 74 79 31 29 3b 74 78 74 6d 61 78 79 3a 3d 74 78 74 6d 61 78 79 2d 32 3b 0d 0a 20 20   ┆c(txty1);txtmaxy:=txtmaxy-2;    ┆
0x6f280…6f2a0            20 20 78 31 3a 3d 78 31 2b 38 3b 6d 61 78 78 3a 3d 6d 61 78 78 2d 31 36 3b 0d 0a 20 20 20 20 79   ┆  x1:=x1+8;maxx:=maxx-16;      y┆
0x6f2a0…6f2c0            31 3a 3d 79 31 2b 38 3b 6d 61 78 79 3a 3d 6d 61 78 79 2d 31 36 3b 0d 0a 20 20 45 4e 44 3b 0d 0a   ┆1:=y1+8;maxy:=maxy-16;    END;  ┆
0x6f2c0…6f2e0            45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 77 72 69 74 65 68 65 6c 70 28 6e 6f 2c 77   ┆END;    PROCEDURE writehelp(no,w┆
0x6f2e0…6f300            2c 6c 3a 20 49 4e 54 45 47 45 52 3b 56 41 52 20 73 74 29 3b 0d 0a 56 41 52 0d 0a 20 20 69 2c 6a   ┆,l: INTEGER;VAR st);  VAR    i,j┆
0x6f300…6f320            2c 6b 2c 61 63 74 75 61 6c 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 73 74 72 09 3a 73 74 72   ┆,k,actual : INTEGER;    str :str┆
0x6f320…6f340            38 30 3b 0d 0a 20 20 73 74 72 6c 67 74 3a 62 79 74 65 20 41 54 20 73 74 72 3b 0d 0a 20 20 63 68   ┆80;    strlgt:byte AT str;    ch┆
0x6f340…6f360            3a 20 43 48 41 52 3b 0d 0a 20 20 77 69 6e 3a 20 57 6e 64 5f 54 59 50 45 3b 0d 0a 42 45 47 49 4e   ┆: CHAR;    win: Wnd_TYPE;  BEGIN┆
0x6f360…6f380            0d 0a 20 20 61 63 74 75 61 6c 3a 3d 57 6e 64 5f 61 63 74 75 61 6c 3b 0d 0a 20 20 77 69 6e 3a 3d   ┆    actual:=Wnd_actual;    win:=┆
0x6f380…6f3a0            57 6e 64 5f 3b 0d 0a 20 20 73 65 6c 65 63 74 57 69 6e 64 6f 77 28 6e 6f 29 3b 0d 0a 20 20 73 61   ┆Wnd_;    selectWindow(no);    sa┆
0x6f3a0…6f3c0            76 65 57 69 6e 64 6f 77 28 6e 6f 29 3b 0d 0a 20 20 77 72 69 74 65 66 72 61 6d 65 3b 0d 0a 20 20   ┆veWindow(no);    writeframe;    ┆
0x6f3c0…6f3e0            6b 3a 3d 30 3b 0d 0a 20 20 46 4f 52 20 69 3a 3d 31 20 54 4f 20 6c 20 44 4f 20 42 45 47 49 4e 0d   ┆k:=0;    FOR i:=1 TO l DO BEGIN ┆
0x6f3e0…6f400            0a 20 20 20 20 73 74 72 6c 67 74 3a 3d 6d 65 6d 28 2e 73 65 67 28 73 74 29 3a 6f 66 73 28 73 74   ┆     strlgt:=mem(.seg(st):ofs(st┆
0x6f400…6f420 (44, 1, 1) 29 2b 6b 2e 29 3b 0d 0a 20 20 20 20 46 4f 52 20 6a 3a 3d 31 20 54 4f 20 73 74 72 6c 67 74 20 44   ┆)+k.);      FOR j:=1 TO strlgt D┆
0x6f420…6f440            4f 0d 0a 20 20 20 20 20 20 73 74 72 28 2e 6a 2e 29 3a 3d 43 48 41 52 28 6d 65 6d 28 2e 73 65 67   ┆O        str(.j.):=CHAR(mem(.seg┆
0x6f440…6f460            28 73 74 29 3a 6f 66 73 28 73 74 29 2b 6b 2b 6a 2e 29 29 3b 0d 0a 20 20 20 20 6b 3a 3d 6b 2b 77   ┆(st):ofs(st)+k+j.));      k:=k+w┆
0x6f460…6f480            2b 31 3b 0d 0a 20 20 20 20 64 72 61 77 74 65 78 74 28 30 2c 69 2d 31 2c 73 74 72 29 3b 0d 0a 20   ┆+1;      drawtext(0,i-1,str);   ┆
0x6f480…6f4a0            20 45 4e 44 3b 0d 0a 20 20 52 45 50 45 41 54 20 72 65 61 64 28 6b 62 64 2c 63 68 29 20 55 4e 54   ┆ END;    REPEAT read(kbd,ch) UNT┆
0x6f4a0…6f4c0            49 4c 20 63 68 20 69 6e 20 28 2e 40 31 33 2c 40 33 32 2e 29 3b 0d 0a 20 20 6c 6f 61 64 57 69 6e   ┆IL ch in (.@13,@32.);    loadWin┆
0x6f4c0…6f4e0            64 6f 77 28 6e 6f 2c 30 2c 30 29 3b 0d 0a 20 20 57 6e 64 5f 61 63 74 75 61 6c 3a 3d 61 63 74 75   ┆dow(no,0,0);    Wnd_actual:=actu┆
0x6f4e0…6f500            61 6c 3b 0d 0a 20 20 57 6e 64 5f 3a 3d 77 69 6e 3b 0d 0a 45 4e 44 3b 0d 0a 00 00 00 00 00 00 00   ┆al;    Wnd_:=win;  END;         ┆
0x6f500…6f520            e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
         […0x17…]
0x6f800…6f820 (44, 1, 2) 28 2a 47 53 56 2d 50 4c 30 31 2a 29 0d 0a 28 2a 24 49 20 61 3a 67 73 76 2d 62 61 73 65 2a 29 0d   ┆(*GSV-PL01*)  (*$I a:gsv-base*) ┆
0x6f820…6f840            0a 70 72 6f 63 65 64 75 72 65 20 6d 61 6b 65 61 78 65 72 28 78 31 2c 78 32 2c 79 31 2c 79 32 3a   ┆ procedure makeaxer(x1,x2,y1,y2:┆
0x6f840…6f860            20 72 65 61 6c 29 3b 0d 0a 76 61 72 20 6a 3a 20 69 6e 74 65 67 65 72 3b 0d 0a 20 20 20 20 73 3a   ┆ real);  var j: integer;      s:┆
0x6f860…6f880            20 73 74 72 69 6e 67 28 2e 32 2e 29 3b 0d 0a 62 65 67 69 6e 0d 0a 20 20 6d 6f 76 65 74 6f 28 78   ┆ string(.2.);  begin    moveto(x┆
0x6f880…6f8a0            31 2c 79 31 29 3b 20 64 72 61 77 74 6f 28 78 31 2c 79 32 29 3b 0d 0a 20 20 6d 6f 76 65 74 6f 28   ┆1,y1); drawto(x1,y2);    moveto(┆
0x6f8a0…6f8c0            78 31 2c 79 31 29 3b 20 64 72 61 77 74 6f 28 78 32 2c 79 31 29 3b 20 64 72 61 77 74 6f 28 78 32   ┆x1,y1); drawto(x2,y1); drawto(x2┆
0x6f8c0…6f8e0            2c 79 32 29 3b 0d 0a 20 20 6d 6f 76 65 74 6f 28 78 31 2c 30 29 3b 20 64 72 61 77 74 6f 28 78 32   ┆,y2);    moveto(x1,0); drawto(x2┆
0x6f8e0…6f900            2c 30 29 3b 0d 0a 20 20 66 6f 72 20 6a 3a 3d 72 6f 75 6e 64 28 78 31 29 20 74 6f 20 72 6f 75 6e   ┆,0);    for j:=round(x1) to roun┆
0x6f900…6f920            64 28 78 32 29 20 64 6f 0d 0a 20 20 62 65 67 69 6e 0d 0a 20 20 20 20 69 66 20 28 6a 20 6d 6f 64   ┆d(x2) do    begin      if (j mod┆
0x6f920…6f940            20 35 29 3d 30 20 74 68 65 6e 0d 0a 20 20 20 20 62 65 67 69 6e 0d 0a 20 20 20 20 20 20 73 74 72   ┆ 5)=0 then      begin        str┆
0x6f940…6f960            28 6a 3a 32 2c 73 29 3b 0d 0a 20 20 20 20 20 20 70 6c 6f 74 74 65 78 74 73 69 7a 65 28 6a 2d 30   ┆(j:2,s);        plottextsize(j-0┆
0x6f960…6f980            2e 34 2c 79 31 2d 33 2c 31 2c 31 2c 73 29 3b 20 0d 0a 20 20 20 20 20 20 6d 6f 76 65 74 6f 28 6a   ┆.4,y1-3,1,1,s);         moveto(j┆
0x6f980…6f9a0            2c 79 31 2d 31 29 0d 0a 20 20 20 20 65 6e 64 20 20 20 20 20 0d 0a 20 20 20 20 65 6c 73 65 20 6d   ┆,y1-1)      end           else m┆
0x6f9a0…6f9c0            6f 76 65 74 6f 28 6a 2c 79 31 2b 30 2e 35 29 3b 20 64 72 61 77 74 6f 28 6a 2c 79 31 29 3b 20 20   ┆oveto(j,y1+0.5); drawto(j,y1);  ┆
0x6f9c0…6f9e0            0d 0a 20 20 65 6e 64 3b 0d 0a 20 20 70 6c 6f 74 74 65 78 74 73 69 7a 65 28 78 32 2c 79 31 2d 33   ┆    end;    plottextsize(x2,y1-3┆
0x6f9e0…6fa00            2c 31 2c 31 2c 27 64 61 67 65 27 29 3b 20 0d 0a 20 20 66 6f 72 20 6a 3a 3d 72 6f 75 6e 64 28 79   ┆,1,1,'dage');     for j:=round(y┆
0x6fa00…6fa20            31 29 20 74 6f 20 72 6f 75 6e 64 28 79 32 29 20 64 6f 0d 0a 20 20 62 65 67 69 6e 20 20 0d 0a 20   ┆1) to round(y2) do    begin     ┆
0x6fa20…6fa40            20 20 20 69 66 20 28 6a 20 6d 6f 64 20 31 30 29 3d 30 20 74 68 65 6e 0d 0a 20 20 20 20 62 65 67   ┆   if (j mod 10)=0 then      beg┆
0x6fa40…6fa60            69 6e 0d 0a 20 20 20 20 20 20 73 74 72 28 6a 3a 32 2c 73 29 3b 0d 0a 20 20 20 20 20 20 70 6c 6f   ┆in        str(j:2,s);        plo┆
0x6fa60…6fa80            74 74 65 78 74 73 69 7a 65 28 78 31 2d 32 2c 6a 2d 30 2e 35 2c 31 2c 31 2c 73 29 3b 20 0d 0a 20   ┆ttextsize(x1-2,j-0.5,1,1,s);    ┆
0x6fa80…6faa0            20 20 20 20 20 6d 6f 76 65 74 6f 28 78 31 2d 30 2e 33 2c 6a 29 0d 0a 20 20 20 20 20 20 0d 0a 20   ┆     moveto(x1-0.3,j)           ┆
0x6faa0…6fac0            20 20 20 65 6e 64 20 65 6c 73 65 20 6d 6f 76 65 74 6f 28 78 31 2d 30 2e 31 35 2c 6a 29 3b 20 64   ┆   end else moveto(x1-0.15,j); d┆
0x6fac0…6fae0            72 61 77 74 6f 28 78 31 2c 6a 29 3b 0d 0a 20 20 65 6e 64 3b 20 20 20 20 20 20 0d 0a 65 6e 64 3b   ┆rawto(x1,j);    end;        end;┆
0x6fae0…6fb00            0d 0a 0d 0a 76 61 72 20 63 68 3a 63 68 61 72 3b 0d 0a 20 20 20 20 20 6a 3a 20 69 6e 74 65 67 65   ┆    var ch:char;       j: intege┆
0x6fb00…6fb20            72 3b 0d 0a 62 65 67 69 6e 0d 0a 20 20 67 72 61 70 68 69 63 73 63 72 65 65 6e 28 4f 4c 49 5f 68   ┆r;  begin    graphicscreen(OLI_h┆
0x6fb20…6fb40            69 67 68 29 3b 0d 0a 20 20 67 72 61 70 68 6d 6f 64 65 3b 0d 0a 20 20 77 69 6e 64 6f 77 28 32 2c   ┆igh);    graphmode;    window(2,┆
0x6fb40…6fb60            2d 35 2c 33 36 2c 2d 33 35 2c 33 35 29 3b 0d 0a 20 20 77 69 6e 64 6f 77 28 33 2c 2d 31 30 2c 34   ┆-5,36,-35,35);    window(3,-10,4┆
0x6fb60…6fb80            30 2c 2d 34 30 2c 34 30 29 3b 0d 0a 20 20 77 69 6e 64 6f 77 28 34 2c 2d 31 30 30 2c 31 30 30 2c   ┆0,-40,40);    window(4,-100,100,┆
0x6fb80…6fba0            2d 31 30 30 2c 31 30 30 29 3b 0d 0a 20 20 76 69 65 77 70 6f 72 74 28 32 2c 31 30 30 2c 35 34 30   ┆-100,100);    viewport(2,100,540┆
0x6fba0…6fbc0            2c 31 30 30 2c 33 30 30 29 3b 0d 0a 20 20 73 65 6c 65 63 74 77 69 6e 64 6f 77 28 32 29 3b 0d 0a   ┆,100,300);    selectwindow(2);  ┆
0x6fbc0…6fbe0            20 20 73 65 6c 65 63 74 76 69 65 77 70 6f 72 74 28 31 29 3b 0d 0a 20 20 64 72 61 77 66 72 61 6d   ┆  selectviewport(1);    drawfram┆
0x6fbe0…6fc00            65 3b 0d 0a 20 20 6d 61 6b 65 61 78 65 72 28 30 2c 33 32 2c 2d 33 30 2c 33 30 29 3b 0d 0a 20 20   ┆e;    makeaxer(0,32,-30,30);    ┆
0x6fc00…6fc20 (44, 1, 3) 73 61 76 65 76 69 65 77 70 6f 72 74 28 31 29 3b 0d 0a 20 20 63 6c 65 61 72 3b 0d 0a 20 20 73 65   ┆saveviewport(1);    clear;    se┆
0x6fc20…6fc40            6c 65 63 74 77 69 6e 64 6f 77 28 32 29 3b 0d 0a 20 20 73 65 6c 65 63 74 76 69 65 77 70 6f 72 74   ┆lectwindow(2);    selectviewport┆
0x6fc40…6fc60            28 32 29 3b 0d 0a 20 20 64 72 61 77 66 72 61 6d 65 3b 0d 0a 20 20 6d 61 6b 65 61 78 65 72 28 30   ┆(2);    drawframe;    makeaxer(0┆
0x6fc60…6fc80            2c 33 32 2c 2d 33 30 2c 33 30 29 3b 0d 0a 20 20 63 6c 65 61 72 3b 0d 0a 20 20 73 65 6c 65 63 74   ┆,32,-30,30);    clear;    select┆
0x6fc80…6fca0            77 69 6e 64 6f 77 28 32 29 3b 0d 0a 20 20 6c 6f 61 64 76 69 65 77 70 6f 72 74 28 31 2c 31 2c 31   ┆window(2);    loadviewport(1,1,1┆
0x6fca0…6fcc0            29 3b 0d 0a 20 20 72 65 61 64 28 6b 62 64 2c 63 68 29 3b 0d 0a 20 20 74 65 78 74 6d 6f 64 65 3b   ┆);    read(kbd,ch);    textmode;┆
0x6fcc0…6fce0            0d 0a 65 6e 64 2e 20 20 0d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆  end.                          ┆
0x6fce0…6fd00            00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x6fd00…6fd20            e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
         […0x17…]
0x70000…70020 (44, 1, 4) 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 63 72 5f 64 75 6d 70 28 6d 6f 64 65 3a 70 72 6e 5f 54 59   ┆  PROCEDURE Scr_dump(mode:prn_TY┆
0x70020…70040            50 45 29 3b 0d 0a 56 41 52 0d 0a 20 20 70 72 69 6e 74 65 72 3a 20 74 65 78 74 3b 0d 0a 20 20 69   ┆PE);  VAR    printer: text;    i┆
0x70040…70060            2c 6a 2c 6b 2c 6b 31 2c 73 6d 61 78 2c 74 6d 61 78 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 69   ┆,j,k,k1,smax,tmax: INTEGER;    i┆
0x70060…70080            6e 69 74 5f 63 68 3a 20 53 54 52 49 4e 47 28 2e 36 2e 29 3b 0d 0a 20 20 67 72 5f 73 74 72 3a 20   ┆nit_ch: STRING(.6.);    gr_str: ┆
0x70080…700a0            53 54 52 49 4e 47 28 2e 34 2e 29 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 61 73 73 69 67 6e 28 70 72   ┆STRING(.4.);  BEGIN    assign(pr┆
0x700a0…700c0            69 6e 74 65 72 2c 27 6c 73 74 3a 27 29 3b 0d 0a 20 20 72 65 73 65 74 28 70 72 69 6e 74 65 72 29   ┆inter,'lst:');    reset(printer)┆
0x700c0…700e0            3b 0d 0a 20 20 49 46 20 69 6f 72 65 73 3c 3e 30 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20 49   ┆;    IF iores<>0 THEN exit;    I┆
0x700e0…70100            46 20 67 72 61 70 68 5f 54 59 50 45 20 69 6e 20 28 2e 49 42 4d 5f 68 69 67 68 2c 49 42 4d 5f 65   ┆F graph_TYPE in (.IBM_high,IBM_e┆
0x70100…70120            6e 68 61 6e 2c 50 69 63 5f 68 69 67 68 2c 4f 4c 49 5f 68 69 67 68 2e 29 20 54 48 45 4e 20 6b 31   ┆nhan,Pic_high,OLI_high.) THEN k1┆
0x70120…70140            3a 3d 32 20 45 4c 53 45 20 6b 31 3a 3d 31 3b 0d 0a 20 20 73 6d 61 78 3a 3d 28 53 63 72 5f 6d 61   ┆:=2 ELSE k1:=1;    smax:=(Scr_ma┆
0x70140…70160            78 79 2b 31 29 2a 6b 31 3b 0d 0a 20 20 43 41 53 45 20 6d 6f 64 65 20 4f 46 0d 0a 20 20 49 42 4d   ┆xy+1)*k1;    CASE mode OF    IBM┆
0x70160…70180            5f 67 72 61 70 68 3a 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 77 72 69 74 65 6c 6e 28 70 72   ┆_graph:    BEGIN      writeln(pr┆
0x70180…701a0            69 6e 74 65 72 2c 63 68 72 28 32 37 29 2b 27 41 27 2b 63 68 72 28 38 29 2c 63 68 72 28 32 37 29   ┆inter,chr(27)+'A'+chr(8),chr(27)┆
0x701a0…701c0            2b 27 32 27 29 3b 0d 0a 20 20 20 20 69 6e 69 74 5f 63 68 3a 3d 63 68 72 28 32 37 29 2b 27 49 27   ┆+'2');      init_ch:=chr(27)+'I'┆
0x701c0…701e0            2b 63 68 72 28 6c 6f 28 73 6d 61 78 29 29 2b 63 68 72 28 68 69 28 73 6d 61 78 29 29 3b 20 74 6d   ┆+chr(lo(smax))+chr(hi(smax)); tm┆
0x701e0…70200            61 78 3a 3d 30 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 52 43 5f 36 30 33 3a 0d 0a 20 20 42 45 47   ┆ax:=0;    END;    RC_603:    BEG┆
0x70200…70220            49 4e 0d 0a 20 20 20 20 77 72 69 74 65 6c 6e 28 70 72 69 6e 74 65 72 2c 63 68 72 28 32 37 29 2b   ┆IN      writeln(printer,chr(27)+┆
0x70220…70240            27 54 31 36 27 2b 63 68 72 28 32 37 29 2b 27 3e 27 2b 63 68 72 28 32 37 29 2b 27 4e 27 29 3b 0d   ┆'T16'+chr(27)+'>'+chr(27)+'N'); ┆
0x70240…70260            0a 20 20 20 20 73 74 72 28 73 6d 61 78 3a 34 2c 67 72 5f 73 74 72 29 3b 0d 0a 20 20 20 20 46 4f   ┆     str(smax:4,gr_str);      FO┆
0x70260…70280            52 20 69 3a 3d 31 20 54 4f 20 34 20 44 4f 20 49 46 20 67 72 5f 73 74 72 28 2e 69 2e 29 3d 27 20   ┆R i:=1 TO 4 DO IF gr_str(.i.)=' ┆
0x70280…702a0            27 20 54 48 45 4e 20 67 72 5f 73 74 72 28 2e 69 2e 29 3a 3d 27 30 27 3b 0d 0a 20 20 20 20 69 6e   ┆' THEN gr_str(.i.):='0';      in┆
0x702a0…702c0            69 74 5f 63 68 3a 3d 63 68 72 28 32 37 29 2b 27 53 27 2b 67 72 5f 73 74 72 3b 20 74 6d 61 78 3a   ┆it_ch:=chr(27)+'S'+gr_str; tmax:┆
0x702c0…702e0            3d 74 78 74 5f 6d 61 78 78 3b 0d 0a 20 20 45 4e 44 0d 0a 20 20 4f 54 48 45 52 57 49 53 45 20 65   ┆=txt_maxx;    END    OTHERWISE e┆
0x702e0…70300            78 69 74 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 46 4f 52 20 69 3a 3d 30 20 54 4f 20 74 78 74 5f   ┆xit;    END;    FOR i:=0 TO txt_┆
0x70300…70320            6d 61 78 78 20 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 77 72 69 74 65 28 70 72 69 6e 74 65   ┆maxx  DO BEGIN      write(printe┆
0x70320…70340            72 2c 69 6e 69 74 5f 63 68 29 3b 0d 0a 20 20 20 20 46 4f 52 20 6a 3a 3d 30 20 74 6f 20 53 63 72   ┆r,init_ch);      FOR j:=0 to Scr┆
0x70340…70360            5f 6d 61 78 79 20 64 6f 0d 0a 20 20 20 20 20 20 46 4f 52 20 6b 3a 3d 31 20 54 4f 20 6b 31 20 44   ┆_maxy do        FOR k:=1 TO k1 D┆
0x70360…70380            4f 20 0d 0a 20 20 20 20 77 72 69 74 65 28 70 72 69 6e 74 65 72 2c 63 68 72 28 6d 65 6d 28 2e 53   ┆O       write(printer,chr(mem(.S┆
0x70380…703a0            63 72 5f 73 65 67 6d 3a 53 63 72 5f 79 61 64 64 72 28 2e 6a 2e 29 2b 53 63 72 5f 78 61 64 64 72   ┆cr_segm:Scr_yaddr(.j.)+Scr_xaddr┆
0x703a0…703c0            28 2e 61 62 73 28 74 6d 61 78 2d 69 29 2a 38 2e 29 2e 29 29 29 3b 0d 0a 20 20 20 20 77 72 69 74   ┆(.abs(tmax-i)*8.).)));      writ┆
0x703c0…703e0            65 6c 6e 28 70 72 69 6e 74 65 72 29 3b 0d 0a 20 20 20 69 66 20 6b 65 79 70 72 65 73 73 20 74 68   ┆eln(printer);     if keypress th┆
0x703e0…70400            65 6e 20 65 78 69 74 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 77 72 69 74 65 6c 6e 28 70 72 69 6e   ┆en exit;    END;    writeln(prin┆
0x70400…70420 (44, 1, 5) 74 65 72 2c 63 68 72 28 32 37 29 2b 27 63 31 27 29 3b 0d 0a 20 20 63 6c 6f 73 65 28 70 72 69 6e   ┆ter,chr(27)+'c1');    close(prin┆
0x70420…70440            74 65 72 29 3b 0d 0a 45 4e 44 3b 0d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ter);  END;                     ┆
0x70440…70460            00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
         […0x1…]
0x70480…704a0            e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
         […0x1b…]
0x70800…70820 (45, 0, 1) 0d 0a 7b 20 43 53 54 52 20 72 65 74 75 72 6e 73 20 61 20 73 74 72 69 6e 67 20 77 69 74 68 20 4e   ┆  æ CSTR returns a string with N┆
0x70820…70840            20 63 68 61 72 61 63 74 65 72 73 20 6f 66 20 76 61 6c 75 65 20 43 20 7d 0d 0a 0d 0a 46 55 4e 43   ┆ characters of value C å    FUNC┆
0x70840…70860            54 49 4f 4e 20 63 73 74 72 28 63 3a 20 63 68 61 72 3b 20 6e 3a 20 69 6e 74 65 67 65 72 29 3a 20   ┆TION cstr(c: char; n: integer): ┆
0x70860…70880            61 6e 79 73 74 72 3b 0d 0a 56 41 52 0d 0a 20 20 73 3a 20 53 54 52 49 4e 47 5b 32 35 35 5d 3b 0d   ┆anystr;  VAR    s: STRINGÆ255Å; ┆
0x70880…708a0            0a 42 45 47 49 4e 0d 0a 20 20 49 46 20 6e 3c 30 20 54 48 45 4e 20 6e 3a 3d 30 3b 20 73 5b 30 5d   ┆ BEGIN    IF n<0 THEN n:=0; sÆ0Å┆
0x708a0…708c0            3a 3d 63 68 72 28 6e 29 3b 20 66 69 6c 6c 28 73 5b 31 5d 2c 6e 2c 63 29 3b 0d 0a 20 20 63 73 74   ┆:=chr(n); fill(sÆ1Å,n,c);    cst┆
0x708c0…708e0            72 3a 3d 73 3b 0d 0a 45 4e 44 3b 0d 0a 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 77 72 69 74 65   ┆r:=s;  END;      PROCEDURE write┆
0x708e0…70900            73 74 72 28 63 6f 6c 2c 72 6f 77 3a 20 49 4e 54 45 47 45 52 3b 20 73 74 72 3a 20 73 74 72 38 30   ┆str(col,row: INTEGER; str: str80┆
0x70900…70920            29 3b 0d 0a 56 41 52 20 61 74 74 72 69 62 3a 20 42 59 54 45 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20   ┆);  VAR attrib: BYTE;  BEGIN    ┆
0x70920…70940            61 74 74 72 69 62 3a 3d 57 6e 64 5f 70 61 6c 65 74 74 65 28 2e 57 6e 64 5f 61 63 74 75 61 6c 2e   ┆attrib:=Wnd_palette(.Wnd_actual.┆
0x70940…70960            29 3b 0d 0a 20 20 43 4f 44 45 0d 0a 20 20 20 24 31 45 2c 24 31 45 2c 24 38 41 2c 24 38 36 2c 72   ┆);    CODE     $1E,$1E,$8A,$86,r┆
0x70960…70980            6f 77 2c 24 42 33 2c 24 35 30 2c 24 46 36 2c 24 45 33 2c 24 32 42 2c 24 44 42 2c 24 38 41 2c 24   ┆ow,$B3,$50,$F6,$E3,$2B,$DB,$8A,$┆
0x70980…709a0            39 45 2c 63 6f 6c 2c 0d 0a 20 20 20 24 30 33 2c 24 43 33 2c 24 30 33 2c 24 43 30 2c 24 38 42 2c   ┆9E,col,     $03,$C3,$03,$C0,$8B,┆
0x709a0…709c0            24 46 38 2c 24 62 65 2c 24 30 30 2c 24 30 30 2c 24 38 41 2c 24 42 45 2c 61 74 74 72 69 62 2c 0d   ┆$F8,$be,$00,$00,$8A,$BE,attrib, ┆
0x709c0…709e0            0a 20 20 20 24 38 61 2c 24 38 65 2c 73 74 72 2c 24 32 32 2c 24 63 39 2c 24 37 34 2c 24 33 65 2c   ┆    $8a,$8e,str,$22,$c9,$74,$3e,┆
0x709e0…70a00            24 32 62 2c 24 63 30 2c 24 38 45 2c 24 44 38 2c 24 41 30 2c 24 34 39 2c 24 30 34 2c 0d 0a 20 20   ┆$2b,$c0,$8E,$D8,$A0,$49,$04,    ┆
0x70a00…70a20            20 24 31 46 2c 24 32 43 2c 24 30 37 2c 24 37 34 2c 24 32 32 2c 24 42 41 2c 24 30 30 2c 24 42 38   ┆ $1F,$2C,$07,$74,$22,$BA,$00,$B8┆
0x70a20…70a40            2c 24 38 45 2c 24 44 41 2c 24 42 41 2c 24 44 41 2c 24 30 33 2c 24 34 36 2c 0d 0a 20 20 20 24 38   ┆,$8E,$DA,$BA,$DA,$03,$46,     $8┆
0x70a40…70a60            61 2c 24 39 41 2c 73 74 72 2c 24 45 43 2c 24 41 38 2c 24 30 31 2c 24 37 35 2c 24 46 42 2c 24 46   ┆a,$9A,str,$EC,$A8,$01,$75,$FB,$F┆
0x70a60…70a80            41 2c 24 45 43 2c 24 41 38 2c 24 30 31 2c 24 37 34 2c 24 46 42 2c 0d 0a 20 20 20 24 38 39 2c 24   ┆A,$EC,$A8,$01,$74,$FB,     $89,$┆
0x70a80…70aa0            31 44 2c 24 34 37 2c 24 34 37 2c 24 45 32 2c 24 45 61 2c 24 32 41 2c 24 43 30 2c 24 37 34 2c 24   ┆1D,$47,$47,$E2,$Ea,$2A,$C0,$74,$┆
0x70aa0…70ac0            31 30 2c 24 42 41 2c 24 30 30 2c 24 42 30 2c 0d 0a 20 20 20 24 38 45 2c 24 44 41 2c 24 34 36 2c   ┆10,$BA,$00,$B0,     $8E,$DA,$46,┆
0x70ac0…70ae0            24 38 61 2c 24 39 41 2c 73 74 72 2c 24 38 39 2c 24 31 44 2c 24 34 37 2c 24 34 37 2c 24 45 32 2c   ┆$8a,$9A,str,$89,$1D,$47,$47,$E2,┆
0x70ae0…70b00            24 46 35 2c 24 31 46 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 46 55 4e 43 54 49 4f 4e 20 73 70 63 28 6c   ┆$F5,$1F;  END;    FUNCTION spc(l┆
0x70b00…70b20            3a 20 49 4e 54 45 47 45 52 3b 20 63 68 3a 20 43 48 41 52 29 3a 73 74 72 38 30 3b 0d 0a 56 41 52   ┆: INTEGER; ch: CHAR):str80;  VAR┆
0x70b20…70b40            20 0d 0a 20 20 73 09 3a 20 73 74 72 38 30 3b 0d 0a 20 20 73 6c 67 74 20 20 3a 20 42 59 54 45 20   ┆     s : str80;    slgt  : BYTE ┆
0x70b40…70b60            41 54 20 73 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 73 6c 67 74 3a 3d 6c 3b 0d 0a 20 20 66 69 6c 6c   ┆AT s;  BEGIN    slgt:=l;    fill┆
0x70b60…70b80            28 73 28 2e 31 2e 29 2c 6c 2c 63 68 29 3b 0d 0a 20 20 73 70 63 3a 3d 73 3b 0d 0a 45 4e 44 3b 0d   ┆(s(.1.),l,ch);    spc:=s;  END; ┆
0x70b80…70ba0            0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 53 63 72 5f 44 72 61 77 63 68 61 72 28 78 2c 79 3a 20 49   ┆   PROCEDURE Scr_Drawchar(x,y: I┆
0x70ba0…70bc0            4e 54 45 47 45 52 3b 63 68 3a 20 43 48 41 52 29 3b 0d 0a 56 41 52 20 20 74 6f 74 61 6c 2c 69 3a   ┆NTEGER;ch: CHAR);  VAR  total,i:┆
0x70bc0…70be0            20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 46 4f 52 20 69 3a 3d 30 20 54 4f 20   ┆ INTEGER;  BEGIN    FOR i:=0 TO ┆
0x70be0…70c00            37 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 74 6f 74 61 6c 3a 3d 53 63 72 5f 78 61 64 64 72   ┆7 DO BEGIN      total:=Scr_xaddr┆
0x70c00…70c20 (45, 0, 2) 28 2e 78 2e 29 2b 53 63 72 5f 79 61 64 64 72 28 2e 79 2d 69 2b 37 2e 29 3b 0d 0a 20 20 20 20 43   ┆(.x.)+Scr_yaddr(.y-i+7.);      C┆
0x70c20…70c40            41 53 45 20 57 6e 64 5f 2e 70 65 6e 63 6f 6c 6f 72 20 4f 46 0d 0a 20 20 20 20 77 68 69 74 65 3a   ┆ASE Wnd_.pencolor OF      white:┆
0x70c40…70c60            0d 0a 20 20 20 20 20 20 6d 65 6d 28 2e 53 63 72 5f 73 65 67 6d 3a 74 6f 74 61 6c 2e 29 3a 3d 53   ┆        mem(.Scr_segm:total.):=S┆
0x70c60…70c80            63 72 5f 43 48 41 52 28 2e 6f 72 64 28 63 68 29 2c 69 2e 29 3b 0d 0a 20 20 20 20 62 6c 61 63 6b   ┆cr_CHAR(.ord(ch),i.);      black┆
0x70c80…70ca0            3a 0d 0a 20 20 20 20 20 20 6d 65 6d 28 2e 53 63 72 5f 73 65 67 6d 3a 74 6f 74 61 6c 2e 29 3a 3d   ┆:        mem(.Scr_segm:total.):=┆
0x70ca0…70cc0            20 28 4e 4f 54 20 53 63 72 5f 43 48 41 52 28 2e 6f 72 64 28 63 68 29 2c 69 2e 29 20 41 4e 44 20   ┆ (NOT Scr_CHAR(.ord(ch),i.) AND ┆
0x70cc0…70ce0            24 46 46 29 3b 0d 0a 20 20 20 20 74 72 61 6e 73 70 3a 0d 0a 20 20 20 20 20 20 6d 65 6d 28 2e 53   ┆$FF);      transp:        mem(.S┆
0x70ce0…70d00            63 72 5f 73 65 67 6d 3a 74 6f 74 61 6c 2e 29 3a 3d 20 53 63 72 5f 43 48 41 52 28 2e 6f 72 64 28   ┆cr_segm:total.):= Scr_CHAR(.ord(┆
0x70d00…70d20            63 68 29 2c 69 2e 29 20 45 58 4f 52 20 6d 65 6d 28 2e 53 63 72 5f 73 65 67 6d 3a 74 6f 74 61 6c   ┆ch),i.) EXOR mem(.Scr_segm:total┆
0x70d20…70d40            2e 29 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50   ┆.);      END;    END;  END;    P┆
0x70d40…70d60            52 4f 43 45 44 55 52 45 20 57 6e 64 5f 44 72 61 77 43 68 61 72 28 78 2c 20 79 20 3a 20 49 4e 54   ┆ROCEDURE Wnd_DrawChar(x, y : INT┆
0x70d60…70d80            45 47 45 52 3b 20 63 20 3a 20 43 48 41 52 29 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 49   ┆EGER; c : CHAR);    BEGIN      I┆
0x70d80…70da0            46 20 78 20 3c 20 30 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20 20 20 49 46 20 28 78 2b 37 29   ┆F x < 0 THEN exit;      IF (x+7)┆
0x70da0…70dc0            20 3e 20 57 6e 64 5f 2e 4d 61 78 58 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20 20 20 20 49 46   ┆ > Wnd_.MaxX THEN exit;       IF┆
0x70dc0…70de0            20 79 20 3c 20 30 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20 20 20 20 49 46 20 28 79 2b 37 29   ┆ y < 0 THEN exit;       IF (y+7)┆
0x70de0…70e00            20 3e 20 57 6e 64 5f 2e 4d 61 78 59 20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20 20 20 53 63 72   ┆ > Wnd_.MaxY THEN exit;      Scr┆
0x70e00…70e20            5f 44 72 61 77 43 68 61 72 28 28 78 20 2b 20 57 6e 64 5f 2e 58 31 20 2b 20 37 29 20 41 4e 44 20   ┆_DrawChar((x + Wnd_.X1 + 7) AND ┆
0x70e20…70e40            24 46 46 46 38 2c 20 28 79 20 2b 20 57 6e 64 5f 2e 59 31 29 2c 20 63 29 0d 0a 20 20 45 4e 44 3b   ┆$FFF8, (y + Wnd_.Y1), c)    END;┆
0x70e40…70e60            0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 57 6e 64 5f 44 72 61 77 54 65 78 74 28 78 2c 20 79 20   ┆    PROCEDURE Wnd_DrawText(x, y ┆
0x70e60…70e80            3a 20 49 4e 54 45 47 45 52 3b 20 74 20 3a 73 74 72 38 30 20 29 3b 0d 0a 20 20 56 41 52 20 69 20   ┆: INTEGER; t :str80 );    VAR i ┆
0x70e80…70ea0            3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 46 4f 52 20 69 20 3a   ┆: INTEGER;    BEGIN      FOR i :┆
0x70ea0…70ec0            3d 20 31 20 54 4f 20 6c 65 6e 28 74 29 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 57 6e   ┆= 1 TO len(t) DO BEGIN        Wn┆
0x70ec0…70ee0            64 5f 44 72 61 77 43 68 61 72 28 78 2c 20 79 2c 20 74 5b 69 5d 29 3b 0d 0a 20 20 20 20 20 20 78   ┆d_DrawChar(x, y, tÆiÅ);        x┆
0x70ee0…70f00            20 3a 3d 20 78 20 2b 20 38 0d 0a 20 20 20 20 45 4e 44 0d 0a 20 20 45 4e 44 3b 0d 0a 0d 0a 50 52   ┆ := x + 8      END    END;    PR┆
0x70f00…70f20            4f 43 45 44 55 52 45 20 64 72 61 77 73 74 72 28 63 6f 6c 2c 72 6f 77 3a 49 4e 54 45 47 45 52 3b   ┆OCEDURE drawstr(col,row:INTEGER;┆
0x70f20…70f40            73 3a 73 74 72 38 30 29 3b 0d 0a 56 41 52 20 61 74 74 72 69 62 3a 20 42 59 54 45 3b 0d 0a 20 6c   ┆s:str80);  VAR attrib: BYTE;   l┆
0x70f40…70f60            09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 20   ┆ : INTEGER;  BEGIN    WITH Wnd_ ┆
0x70f60…70f80            44 4f 0d 0a 20 20 20 20 49 46 20 74 78 74 5f 6d 6f 64 65 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a   ┆DO      IF txt_mode THEN BEGIN  ┆
0x70f80…70fa0            20 20 20 20 20 20 72 6f 77 3a 3d 72 6f 77 2b 74 78 74 79 31 3b 0d 0a 20 20 20 20 20 20 49 46 20   ┆      row:=row+txty1;        IF ┆
0x70fa0…70fc0            28 63 6f 6c 2b 6c 65 6e 28 73 29 29 3e 28 74 78 74 6d 61 78 78 2b 31 29 20 54 48 45 4e 20 6c 3a   ┆(col+len(s))>(txtmaxx+1) THEN l:┆
0x70fc0…70fe0            3d 74 78 74 6d 61 78 78 2b 31 2d 63 6f 6c 20 45 4c 53 45 20 6c 3a 3d 6c 65 6e 28 73 29 3b 0d 0a   ┆=txtmaxx+1-col ELSE l:=len(s);  ┆
0x70fe0…71000            20 20 20 20 20 20 63 6f 6c 3a 3d 63 6f 6c 2b 74 78 74 78 31 3b 0d 0a 20 20 20 20 20 20 49 46 20   ┆      col:=col+txtx1;        IF ┆
0x71000…71020 (45, 0, 3) 72 6f 77 3c 3d 74 78 74 6d 61 78 79 2b 74 78 74 79 31 20 54 48 45 4e 0d 0a 20 20 20 20 20 20 20   ┆row<=txtmaxy+txty1 THEN         ┆
0x71020…71040            20 77 72 69 74 65 73 74 72 28 63 6f 6c 2c 72 6f 77 2c 63 6f 70 79 28 73 2c 31 2c 6c 29 29 3b 0d   ┆ writestr(col,row,copy(s,1,l)); ┆
0x71040…71060            0a 20 20 20 20 45 4e 44 0d 0a 20 20 20 20 45 4c 53 45 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20   ┆     END      ELSE BEGIN        ┆
0x71060…71080            63 6f 6c 3a 3d 20 63 6f 6c 20 53 48 4c 20 33 20 3b 0d 0a 20 20 20 20 20 20 72 6f 77 3a 3d 20 6d   ┆col:= col SHL 3 ;        row:= m┆
0x71080…710a0            61 78 79 20 2d 20 37 20 2d 20 28 72 6f 77 20 2a 20 38 29 3b 0d 0a 20 20 20 20 20 20 57 6e 64 5f   ┆axy - 7 - (row * 8);        Wnd_┆
0x710a0…710c0            64 72 61 77 74 65 78 74 28 63 6f 6c 2c 72 6f 77 2c 73 29 3b 0d 0a 20 20 20 20 45 4e 44 3b 0d 0a   ┆drawtext(col,row,s);      END;  ┆
0x710c0…710e0            45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 64 72 61 77 72 65 61 6c 28 78 2c 79 3a 49   ┆END;    PROCEDURE drawreal(x,y:I┆
0x710e0…71100            4e 54 45 47 45 52 3b 20 72 3a 52 45 41 4c 3b 20 6c 2c 64 3a 20 49 4e 54 45 47 45 52 29 3b 0d 0a   ┆NTEGER; r:REAL; l,d: INTEGER);  ┆
0x71100…71120            56 41 52 0d 0a 20 20 73 3a 20 73 74 72 38 30 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 73 74 72 28 72   ┆VAR    s: str80;  BEGIN    str(r┆
0x71120…71140            3a 6c 3a 64 2c 73 29 3b 0d 0a 20 20 64 72 61 77 73 74 72 28 78 2c 79 2c 73 29 3b 0d 0a 45 4e 44   ┆:l:d,s);    drawstr(x,y,s);  END┆
0x71140…71160            3b 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 64 72 61 77 68 65 61 64 65 72 3b 0d 0a 56 41 52 0d   ┆;    PROCEDURE drawheader;  VAR ┆
0x71160…71180            0a 20 20 69 2c 6f 6c 64 63 6f 6c 6f 72 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a   ┆   i,oldcolor: INTEGER;  BEGIN  ┆
0x71180…711a0            20 20 57 49 54 48 20 57 6e 64 5f 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 49 46 20 68 64 72   ┆  WITH Wnd_ DO BEGIN      IF hdr┆
0x711a0…711c0            3c 3e 27 27 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 69 3a 3d 28 6d 61 78 78 20   ┆<>'' THEN BEGIN        i:=(maxx ┆
0x711c0…711e0            44 49 56 20 38 20 2d 20 6c 65 6e 28 68 64 72 29 29 20 44 49 56 20 32 3b 0d 0a 20 20 20 20 20 20   ┆DIV 8 - len(hdr)) DIV 2;        ┆
0x711e0…71200            49 46 20 69 3c 30 20 54 48 45 4e 20 69 3a 3d 30 3b 0d 0a 20 20 20 20 20 20 53 63 72 5f 66 69 6c   ┆IF i<0 THEN i:=0;        Scr_fil┆
0x71200…71220            6c 28 78 31 2c 79 31 2b 6d 61 78 79 2d 31 30 2c 78 31 2b 6d 61 78 78 2c 79 31 2b 6d 61 78 79 2c   ┆l(x1,y1+maxy-10,x1+maxx,y1+maxy,┆
0x71220…71240            24 46 46 29 3b 0d 0a 20 20 20 20 20 20 6f 6c 64 63 6f 6c 6f 72 3a 3d 70 65 6e 63 6f 6c 6f 72 3b   ┆$FF);        oldcolor:=pencolor;┆
0x71240…71260            0d 0a 20 20 20 20 20 20 70 65 6e 63 6f 6c 6f 72 3a 3d 62 6c 61 63 6b 3b 0d 0a 20 20 20 20 20 20   ┆        pencolor:=black;        ┆
0x71260…71280            57 6e 64 5f 64 72 61 77 62 6f 78 28 30 2c 6d 61 78 79 2d 31 30 2c 6d 61 78 78 2c 6d 61 78 79 29   ┆Wnd_drawbox(0,maxy-10,maxx,maxy)┆
0x71280…712a0            3b 0d 0a 20 20 20 20 20 20 6d 61 78 79 3a 3d 6d 61 78 79 2d 32 3b 0d 0a 20 20 20 20 20 20 44 72   ┆;        maxy:=maxy-2;        Dr┆
0x712a0…712c0            61 77 53 74 72 28 69 2c 30 2c 68 64 72 29 3b 0d 0a 20 20 20 20 20 20 6d 61 78 79 3a 3d 6d 61 78   ┆awStr(i,0,hdr);        maxy:=max┆
0x712c0…712e0            79 2d 38 3b 0d 0a 20 20 20 20 20 20 70 65 6e 63 6f 6c 6f 72 3a 3d 6f 6c 64 63 6f 6c 6f 72 3b 0d   ┆y-8;        pencolor:=oldcolor; ┆
0x712e0…71300            0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 50 52 4f 43 45   ┆     END;    END;  END;    PROCE┆
0x71300…71320            44 55 52 45 20 77 72 69 74 65 66 72 61 6d 65 3b 0d 0a 56 41 52 0d 0a 20 20 69 2c 6c 68 2c 6c 78   ┆DURE writeframe;  VAR    i,lh,lx┆
0x71320…71340            2c 6c 79 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 73 3a 20 73 74 72 38 30 3b 0d 0a 42 45 47 49   ┆,ly: INTEGER;    s: str80;  BEGI┆
0x71340…71360            4e 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 6c 78 3a   ┆N    WITH Wnd_ DO BEGIN      lx:┆
0x71360…71380            3d 74 78 74 6d 61 78 78 3b 20 6c 79 3a 3d 74 78 74 6d 61 78 79 3b 20 6c 68 3a 3d 28 28 6c 78 2b   ┆=txtmaxx; ly:=txtmaxy; lh:=((lx+┆
0x71380…713a0            32 29 2d 6c 65 6e 28 68 64 72 29 29 20 44 49 56 20 32 2b 31 3b 0d 0a 20 20 20 20 73 3a 3d 27 c9   ┆2)-len(hdr)) DIV 2+1;      s:=' ┆
0x713a0…713c0            27 2b 73 70 63 28 6c 78 2d 31 2c 27 cd 27 29 2b 27 bb 27 3b 0d 0a 20 20 20 20 6d 6f 76 65 28 68   ┆'+spc(lx-1,' ')+' ';      move(h┆
0x713c0…713e0            64 72 28 2e 31 2e 29 2c 73 28 2e 6c 68 2e 29 2c 6c 65 6e 28 68 64 72 29 29 3b 0d 0a 20 20 20 20   ┆dr(.1.),s(.lh.),len(hdr));      ┆
0x713e0…71400            64 72 61 77 73 74 72 28 30 2c 30 2c 73 29 3b 0d 0a 20 20 20 20 73 3a 3d 27 ba 27 2b 73 70 63 28   ┆drawstr(0,0,s);      s:=' '+spc(┆
0x71400…71420 (45, 0, 4) 6c 78 2d 31 2c 27 20 27 29 2b 27 ba 27 3b 0d 0a 20 20 20 20 46 4f 52 20 69 3a 3d 31 20 54 4f 20   ┆lx-1,' ')+' ';      FOR i:=1 TO ┆
0x71420…71440            6c 79 2d 31 20 44 4f 20 64 72 61 77 73 74 72 28 30 2c 69 2c 73 29 3b 0d 0a 20 20 20 20 64 72 61   ┆ly-1 DO drawstr(0,i,s);      dra┆
0x71440…71460            77 73 74 72 28 30 2c 6c 79 2c 27 c8 27 2b 73 70 63 28 6c 78 2d 31 2c 27 cd 27 29 2b 27 bc 27 29   ┆wstr(0,ly,' '+spc(lx-1,' ')+' ')┆
0x71460…71480            3b 0d 0a 20 20 20 20 74 78 74 78 31 3a 3d 73 75 63 63 28 74 78 74 78 31 29 3b 74 78 74 6d 61 78   ┆;      txtx1:=succ(txtx1);txtmax┆
0x71480…714a0            78 3a 3d 74 78 74 6d 61 78 78 2d 32 3b 0d 0a 20 20 20 20 74 78 74 79 31 3a 3d 73 75 63 63 28 74   ┆x:=txtmaxx-2;      txty1:=succ(t┆
0x714a0…714c0            78 74 79 31 29 3b 74 78 74 6d 61 78 79 3a 3d 74 78 74 6d 61 78 79 2d 32 3b 0d 0a 20 20 20 20 78   ┆xty1);txtmaxy:=txtmaxy-2;      x┆
0x714c0…714e0            31 3a 3d 78 31 2b 38 3b 6d 61 78 78 3a 3d 6d 61 78 78 2d 31 36 3b 0d 0a 20 20 20 20 79 31 3a 3d   ┆1:=x1+8;maxx:=maxx-16;      y1:=┆
0x714e0…71500            79 31 2b 38 3b 6d 61 78 79 3a 3d 6d 61 78 79 2d 31 36 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e 44   ┆y1+8;maxy:=maxy-16;    END;  END┆
0x71500…71520            3b 0d 0a 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 42 49 54 42 49 54 28 4f 6c 64 42 79 74 65 3a   ┆;      PROCEDURE BITBIT(OldByte:┆
0x71520…71540            42 79 74 65 3b 56 41 52 20 4e 65 77 62 79 74 65 3a 20 62 79 74 65 29 3b 0d 0a 76 61 72 20 20 0d   ┆Byte;VAR Newbyte: byte);  var   ┆
0x71540…71560            0a 20 20 62 69 74 3a 20 62 79 74 65 3b 0d 0a 20 20 6a 2c 69 2c 6e 3a 69 6e 74 65 67 65 72 3b 0d   ┆   bit: byte;    j,i,n:integer; ┆
0x71560…71580            0a 0d 0a 42 45 47 49 4e 0d 0a 20 20 4e 65 77 42 79 74 65 3a 3d 24 30 30 3b 0d 0a 20 20 66 6f 72   ┆   BEGIN    NewByte:=$00;    for┆
0x71580…715a0            20 6a 3a 3d 20 31 20 74 6f 20 34 20 64 6f 0d 0a 20 20 62 65 67 69 6e 0d 0a 20 20 20 20 63 61 73   ┆ j:= 1 to 4 do    begin      cas┆
0x715a0…715c0            65 20 6a 20 6f 66 0d 0a 20 20 20 20 31 3a 20 6e 3a 3d 31 3b 0d 0a 20 20 20 20 32 3a 20 6e 3a 3d   ┆e j of      1: n:=1;      2: n:=┆
0x715c0…715e0            32 3b 0d 0a 20 20 20 20 33 3a 20 6e 3a 3d 34 3b 0d 0a 20 20 20 20 34 3a 20 6e 3a 3d 38 3b 0d 0a   ┆2;      3: n:=4;      4: n:=8;  ┆
0x715e0…71600            20 20 20 20 65 6e 64 3b 0d 0a 20 20 20 20 42 69 74 3a 3d 4f 6c 64 62 79 74 65 20 41 4e 44 20 6e   ┆    end;      Bit:=Oldbyte AND n┆
0x71600…71620            3b 0d 0a 20 20 20 20 42 69 74 3a 3d 42 69 74 20 53 48 4c 20 6a 3b 0d 0a 20 20 20 20 4e 65 77 62   ┆;      Bit:=Bit SHL j;      Newb┆
0x71620…71640            79 74 65 3a 3d 4e 65 77 62 79 74 65 20 4f 52 20 42 69 74 3b 0d 0a 20 20 20 20 42 69 74 3a 3d 42   ┆yte:=Newbyte OR Bit;      Bit:=B┆
0x71640…71660            69 74 20 53 48 52 20 31 3b 0d 0a 20 20 20 20 4e 65 77 62 79 74 65 3a 3d 4e 65 77 62 79 74 65 20   ┆it SHR 1;      Newbyte:=Newbyte ┆
0x71660…71680            4f 52 20 42 69 74 3b 0d 0a 20 20 65 6e 64 3b 0d 0a 65 6e 64 3b 0d 0a 20 20 0d 0a 50 52 4f 43 45   ┆OR Bit;    end;  end;      PROCE┆
0x71680…716a0            44 55 52 45 20 53 63 72 5f 64 75 6d 70 28 6d 6f 64 65 3a 70 72 6e 5f 54 59 50 45 29 3b 0d 0a 56   ┆DURE Scr_dump(mode:prn_TYPE);  V┆
0x716a0…716c0            41 52 0d 0a 20 20 70 72 69 6e 74 65 72 3a 20 74 65 78 74 3b 0d 0a 20 20 69 2c 6a 2c 6b 2c 6b 31   ┆AR    printer: text;    i,j,k,k1┆
0x716c0…716e0            2c 73 6d 61 78 2c 74 6d 61 78 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 69 6e 69 74 5f 63 68 3a   ┆,smax,tmax: INTEGER;    init_ch:┆
0x716e0…71700            20 53 54 52 49 4e 47 28 2e 36 2e 29 3b 0d 0a 20 20 67 72 5f 73 74 72 3a 20 53 54 52 49 4e 47 28   ┆ STRING(.6.);    gr_str: STRING(┆
0x71700…71720            2e 34 2e 29 3b 0d 0a 0d 0a 20 20 63 68 3a 20 63 68 61 72 3b 0d 0a 20 20 48 69 67 68 43 48 2c 4c   ┆.4.);      ch: char;    HighCH,L┆
0x71720…71740            6f 77 43 48 3a 20 62 79 74 65 3b 0d 0a 20 20 48 69 67 68 42 79 74 65 2c 4c 6f 77 42 79 74 65 3a   ┆owCH: byte;    HighByte,LowByte:┆
0x71740…71760            20 62 79 74 65 3b 0d 0a 20 20 62 69 74 6d 6f 64 65 3a 20 63 68 61 72 3b 0d 0a 20 20 0d 0a 42 45   ┆ byte;    bitmode: char;      BE┆
0x71760…71780            47 49 4e 0d 0a 20 20 61 73 73 69 67 6e 28 70 72 69 6e 74 65 72 2c 27 6c 73 74 3a 27 29 3b 0d 0a   ┆GIN    assign(printer,'lst:');  ┆
0x71780…717a0            20 20 72 65 73 65 74 28 70 72 69 6e 74 65 72 29 3b 0d 0a 20 20 49 46 20 69 6f 72 65 73 3c 3e 30   ┆  reset(printer);    IF iores<>0┆
0x717a0…717c0            20 54 48 45 4e 20 65 78 69 74 3b 0d 0a 20 20 49 46 20 6d 6f 64 65 20 69 6e 20 28 2e 4e 45 43 5f   ┆ THEN exit;    IF mode in (.NEC_┆
0x717c0…717e0            31 36 62 69 74 2e 29 20 74 68 65 6e 0d 0a 20 20 62 65 67 69 6e 0d 0a 20 20 20 20 6b 31 3a 3d 32   ┆16bit.) then    begin      k1:=2┆
0x717e0…71800            3b 0d 0a 20 20 20 20 62 69 74 6d 6f 64 65 3a 3d 27 49 27 3b 0d 0a 20 20 77 72 69 74 65 6c 6e 28   ┆;      bitmode:='I';    writeln(┆
0x71800…71820 (45, 0, 5) 27 31 36 20 62 69 74 27 29 3b 0d 0a 20 20 65 6e 64 20 65 6c 73 65 0d 0a 20 20 62 65 67 69 6e 0d   ┆'16 bit');    end else    begin ┆
0x71820…71840            0a 20 20 20 20 6b 31 3a 3d 32 3b 0d 0a 20 20 20 20 62 69 74 6d 6f 64 65 3a 3d 27 53 27 3b 0d 0a   ┆     k1:=2;      bitmode:='S';  ┆
0x71840…71860            20 20 77 72 69 74 65 6c 6e 28 27 20 38 20 62 69 74 27 29 3b 0d 0a 20 20 65 6e 64 3b 20 20 20 20   ┆  writeln(' 8 bit');    end;    ┆
0x71860…71880            0d 0a 20 20 73 6d 61 78 3a 3d 28 53 63 72 5f 6d 61 78 79 2b 31 29 2a 6b 31 3b 0d 0a 20 20 42 45   ┆    smax:=(Scr_maxy+1)*k1;    BE┆
0x71880…718a0            47 49 4e 0d 0a 20 20 20 20 77 72 69 74 65 6c 6e 28 70 72 69 6e 74 65 72 2c 63 68 72 28 32 37 29   ┆GIN      writeln(printer,chr(27)┆
0x718a0…718c0            2b 27 54 31 36 27 2b 63 68 72 28 32 37 29 2b 27 3e 27 2b 63 68 72 28 32 37 29 2b 27 4e 27 29 3b   ┆+'T16'+chr(27)+'>'+chr(27)+'N');┆
0x718c0…718e0            0d 0a 20 20 20 20 73 74 72 28 73 6d 61 78 3a 34 2c 67 72 5f 73 74 72 29 3b 0d 0a 20 20 20 20 46   ┆      str(smax:4,gr_str);      F┆
0x718e0…71900            4f 52 20 69 3a 3d 31 20 54 4f 20 34 20 44 4f 20 49 46 20 67 72 5f 73 74 72 28 2e 69 2e 29 3d 27   ┆OR i:=1 TO 4 DO IF gr_str(.i.)='┆
0x71900…71920            20 27 20 54 48 45 4e 20 67 72 5f 73 74 72 28 2e 69 2e 29 3a 3d 27 30 27 3b 0d 0a 20 20 20 20 69   ┆ ' THEN gr_str(.i.):='0';      i┆
0x71920…71940            6e 69 74 5f 63 68 3a 3d 63 68 72 28 32 37 29 2b 62 69 74 6d 6f 64 65 2b 67 72 5f 73 74 72 3b 20   ┆nit_ch:=chr(27)+bitmode+gr_str; ┆
0x71940…71960            74 6d 61 78 3a 3d 74 78 74 5f 6d 61 78 78 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 20 20 46 4f 52 20 69   ┆tmax:=txt_maxx;    END;    FOR i┆
0x71960…71980            3a 3d 30 20 54 4f 20 74 78 74 5f 6d 61 78 78 20 20 44 4f 0d 0a 20 20 42 45 47 49 4e 0d 0a 20 20   ┆:=0 TO txt_maxx  DO    BEGIN    ┆
0x71980…719a0            20 20 77 72 69 74 65 28 70 72 69 6e 74 65 72 2c 69 6e 69 74 5f 63 68 29 3b 0d 0a 20 20 20 20 46   ┆  write(printer,init_ch);      F┆
0x719a0…719c0            4f 52 20 6a 3a 3d 53 63 72 5f 6d 61 78 79 20 44 4f 57 4e 54 4f 20 30 20 44 4f 0d 0a 20 20 20 20   ┆OR j:=Scr_maxy DOWNTO 0 DO      ┆
0x719c0…719e0            62 65 67 69 6e 0d 0a 20 20 20 20 20 20 4c 6f 77 62 79 74 65 3a 3d 24 30 30 3b 20 48 69 67 68 62   ┆begin        Lowbyte:=$00; Highb┆
0x719e0…71a00            79 74 65 3a 3d 24 30 30 3b 20 0d 0a 20 20 20 20 20 20 63 68 3a 3d 63 68 72 28 6d 65 6d 28 2e 53   ┆yte:=$00;         ch:=chr(mem(.S┆
0x71a00…71a20            63 72 5f 73 65 67 6d 3a 53 63 72 5f 79 61 64 64 72 28 2e 6a 2e 29 2b 53 63 72 5f 78 61 64 64 72   ┆cr_segm:Scr_yaddr(.j.)+Scr_xaddr┆
0x71a20…71a40            28 2e 28 74 6d 61 78 2d 69 29 2a 38 2e 29 2e 29 29 3b 0d 0a 20 20 20 20 20 20 69 66 20 62 69 74   ┆(.(tmax-i)*8.).));        if bit┆
0x71a40…71a60            6d 6f 64 65 3d 27 53 27 20 74 68 65 6e 0d 0a 20 20 20 20 20 20 62 65 67 69 6e 0d 0a 20 20 20 20   ┆mode='S' then        begin      ┆
0x71a60…71a80            20 20 20 20 77 72 69 74 65 28 70 72 69 6e 74 65 72 2c 63 68 2c 63 68 29 3b 0d 0a 20 20 20 20 20   ┆    write(printer,ch,ch);       ┆
0x71a80…71aa0            20 65 6e 64 20 65 6c 73 65 20 20 0d 0a 20 20 20 20 20 20 62 65 67 69 6e 0d 0a 20 20 20 20 20 20   ┆ end else          begin        ┆
0x71aa0…71ac0            20 20 49 46 20 43 48 3e 40 30 20 54 48 45 4e 0d 0a 20 20 20 20 20 20 20 20 42 45 47 49 4e 0d 0a   ┆  IF CH>@0 THEN          BEGIN  ┆
0x71ac0…71ae0            20 20 20 20 20 20 20 20 20 20 48 69 67 68 43 48 3a 3d 6f 72 64 28 63 68 29 20 61 6e 64 20 24 66   ┆          HighCH:=ord(ch) and $f┆
0x71ae0…71b00            30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 48 69 67 68 43 48 3a 3d 48 69 67 68 43 48 20 73 68 72   ┆0;            HighCH:=HighCH shr┆
0x71b00…71b20            20 34 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 4c 6f 77 43 48 3a 3d 6f 72 64 28 63 68 29 20 61 6e   ┆ 4;            LowCH:=ord(ch) an┆
0x71b20…71b40            64 20 24 30 66 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 42 49 54 42 49 54 28 48 69 67 68 43 48 2c   ┆d $0f;            BITBIT(HighCH,┆
0x71b40…71b60            48 69 67 68 42 79 74 65 29 3b 20 42 49 54 42 49 54 28 4c 6f 77 43 48 2c 4c 6f 77 42 79 74 65 29   ┆HighByte); BITBIT(LowCH,LowByte)┆
0x71b60…71b80            3b 0d 0a 20 20 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 20 20 20 20 77 72 69 74 65 28 70   ┆;          END;          write(p┆
0x71b80…71ba0            72 69 6e 74 65 72 2c 63 68 72 28 4c 6f 77 42 79 74 65 29 2c 63 68 72 28 48 69 67 68 42 79 74 65   ┆rinter,chr(LowByte),chr(HighByte┆
0x71ba0…71bc0            29 2c 63 68 72 28 4c 6f 77 42 79 74 65 29 2c 63 68 72 28 48 69 67 68 42 79 74 65 29 29 3b 0d 0a   ┆),chr(LowByte),chr(HighByte));  ┆
0x71bc0…71be0            20 20 20 20 20 20 65 6e 64 3b 0d 0a 20 20 20 20 20 20 69 66 20 6b 65 79 70 72 65 73 73 20 74 68   ┆      end;        if keypress th┆
0x71be0…71c00            65 6e 0d 0a 20 20 20 20 20 20 62 65 67 69 6e 0d 0a 20 20 20 20 20 20 20 20 72 65 61 64 28 6b 62   ┆en        begin          read(kb┆
0x71c00…71c20 (45, 1, 1) 64 2c 63 68 29 3b 0d 0a 20 20 20 20 20 20 20 20 72 65 61 64 28 6b 62 64 2c 63 68 29 3b 0d 0a 20   ┆d,ch);          read(kbd,ch);   ┆
0x71c20…71c40            20 20 20 20 20 20 20 65 78 69 74 3b 0d 0a 20 20 20 20 20 20 65 6e 64 3b 0d 0a 20 20 20 20 65 6e   ┆       exit;        end;      en┆
0x71c40…71c60            64 3b 0d 0a 20 20 20 20 77 72 69 74 65 6c 6e 28 70 72 69 6e 74 65 72 29 3b 0d 0a 20 20 45 4e 44   ┆d;      writeln(printer);    END┆
0x71c60…71c80            3b 0d 0a 20 20 77 72 69 74 65 6c 6e 28 70 72 69 6e 74 65 72 2c 63 68 72 28 32 37 29 2b 27 2b 41   ┆;    writeln(printer,chr(27)+'+A┆
0x71c80…71ca0            27 29 3b 0d 0a 20 20 63 6c 6f 73 65 28 70 72 69 6e 74 65 72 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a   ┆');    close(printer);  END;    ┆
0x71ca0…71cc0            50 52 4f 43 45 44 55 52 45 20 77 72 69 74 65 68 65 6c 70 28 6e 6f 2c 77 2c 6c 3a 20 49 4e 54 45   ┆PROCEDURE writehelp(no,w,l: INTE┆
0x71cc0…71ce0            47 45 52 3b 56 41 52 20 73 74 29 3b 0d 0a 56 41 52 0d 0a 20 20 69 2c 6a 2c 6b 2c 61 63 74 75 61   ┆GER;VAR st);  VAR    i,j,k,actua┆
0x71ce0…71d00            6c 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20 73 74 72 09 3a 73 74 72 38 30 3b 0d 0a 20 20 73   ┆l : INTEGER;    str :str80;    s┆
0x71d00…71d20            74 72 6c 67 74 3a 62 79 74 65 20 41 54 20 73 74 72 3b 0d 0a 20 20 63 68 3a 20 43 48 41 52 3b 0d   ┆trlgt:byte AT str;    ch: CHAR; ┆
0x71d20…71d40            0a 20 20 77 69 6e 3a 20 57 6e 64 5f 54 59 50 45 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 61 63 74 75   ┆   win: Wnd_TYPE;  BEGIN    actu┆
0x71d40…71d60            61 6c 3a 3d 57 6e 64 5f 61 63 74 75 61 6c 3b 0d 0a 20 20 77 69 6e 3a 3d 57 6e 64 5f 3b 0d 0a 20   ┆al:=Wnd_actual;    win:=Wnd_;   ┆
0x71d60…71d80            20 73 65 6c 65 63 74 76 69 65 77 70 6f 72 74 28 6e 6f 29 3b 0d 0a 20 20 73 61 76 65 76 69 65 77   ┆ selectviewport(no);    saveview┆
0x71d80…71da0            70 6f 72 74 28 6e 6f 29 3b 0d 0a 20 20 77 72 69 74 65 66 72 61 6d 65 3b 0d 0a 20 20 6b 3a 3d 30   ┆port(no);    writeframe;    k:=0┆
0x71da0…71dc0            3b 0d 0a 20 20 46 4f 52 20 69 3a 3d 31 20 54 4f 20 6c 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20   ┆;    FOR i:=1 TO l DO BEGIN     ┆
0x71dc0…71de0            20 73 74 72 6c 67 74 3a 3d 6d 65 6d 28 2e 73 65 67 28 73 74 29 3a 6f 66 73 28 73 74 29 2b 6b 2e   ┆ strlgt:=mem(.seg(st):ofs(st)+k.┆
0x71de0…71e00            29 3b 0d 0a 20 20 20 20 46 4f 52 20 6a 3a 3d 31 20 54 4f 20 73 74 72 6c 67 74 20 44 4f 0d 0a 20   ┆);      FOR j:=1 TO strlgt DO   ┆
0x71e00…71e20            20 20 20 20 20 73 74 72 28 2e 6a 2e 29 3a 3d 43 48 41 52 28 6d 65 6d 28 2e 73 65 67 28 73 74 29   ┆     str(.j.):=CHAR(mem(.seg(st)┆
0x71e20…71e40            3a 6f 66 73 28 73 74 29 2b 6b 2b 6a 2e 29 29 3b 0d 0a 20 20 20 20 6b 3a 3d 6b 2b 77 2b 31 3b 0d   ┆:ofs(st)+k+j.));      k:=k+w+1; ┆
0x71e40…71e60            0a 20 20 20 20 64 72 61 77 73 74 72 28 30 2c 69 2d 31 2c 73 74 72 29 3b 0d 0a 20 20 45 4e 44 3b   ┆     drawstr(0,i-1,str);    END;┆
0x71e60…71e80            0d 0a 20 20 52 45 50 45 41 54 20 72 65 61 64 28 6b 62 64 2c 63 68 29 20 55 4e 54 49 4c 20 63 68   ┆    REPEAT read(kbd,ch) UNTIL ch┆
0x71e80…71ea0            20 69 6e 20 28 2e 40 31 33 2c 40 33 32 2e 29 3b 0d 0a 20 20 6c 6f 61 64 76 69 65 77 70 6f 72 74   ┆ in (.@13,@32.);    loadviewport┆
0x71ea0…71ec0            28 6e 6f 2c 30 2c 30 29 3b 0d 0a 20 20 57 6e 64 5f 61 63 74 75 61 6c 3a 3d 61 63 74 75 61 6c 3b   ┆(no,0,0);    Wnd_actual:=actual;┆
0x71ec0…71ee0            0d 0a 20 20 57 6e 64 5f 3a 3d 77 69 6e 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a   ┆    Wnd_:=win;  END;            ┆
0x71ee0…71f00            0d 0a 7b 55 64 73 6b 72 69 76 65 72 20 61 6b 73 65 73 79 73 74 65 6d 65 74 20 74 69 6c 20 65 6e   ┆  æUdskriver aksesystemet til en┆
0x71f00…71f20            20 78 2c 79 20 67 72 61 66 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ x,y graf:                      ┆
0x71f20…71f40            20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 0d 0a 7b 78 64 65 6e 73 2f 79 64 65 6e 73 3a 20 20   ┆          å      æxdens/ydens:  ┆
0x71f40…71f60            65 74 20 74 61 6c 20 6d 65 6c 6c 65 6d 20 30 20 6f 67 20 39 2c 20 64 65 72 20 61 6e 67 69 76 65   ┆et tal mellem 0 og 9, der angive┆
0x71f60…71f80            72 20 68 76 6f 72 6d 61 6e 67 65 20 6d 65 6c 6c 65 6d 72 75 6d 7d 0d 0a 7b 20 20 20 20 20 20 20   ┆r hvormange mellemrumå  æ       ┆
0x71f80…71fa0            20 20 20 20 20 20 20 64 65 72 20 65 72 20 6d 65 6c 6c 65 6d 20 75 64 73 6b 72 69 76 6e 69 6e 67   ┆       der er mellem udskrivning┆
0x71fa0…71fc0            65 6e 20 61 66 20 76 91 72 64 69 65 72 20 70 86 20 68 65 6e 68 6f 6c 64 73 76 69 73 7d 0d 0a 7b   ┆en af v rdier p  henholdsviså  æ┆
0x71fc0…71fe0            20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 20 6f 67 20 79 2d 61 6b 73 65 6e 20 20 20 20 20 20   ┆              x og y-aksen      ┆
0x71fe0…72000            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x72000…72020 (45, 1, 2) 20 20 20 7d 0d 0a 7b 67 69 74 74 65 72 3a 20 20 54 72 75 65 3a 20 20 67 69 74 74 65 72 20 74 65   ┆   å  ægitter:  True:  gitter te┆
0x72020…72040            67 6e 65 73 20 20 20 46 61 6c 73 65 3a 20 20 67 69 74 74 65 72 20 74 65 67 6e 65 73 20 69 6b 6b   ┆gnes   False:  gitter tegnes ikk┆
0x72040…72060            65 20 20 20 20 20 20 20 20 20 7d 0d 0a 7b 45 6b 73 70 6f 78 78 2f 79 79 3a 20 27 4a 27 20 3a 20   ┆e         å  æEkspoxx/yy: 'J' : ┆
0x72060…72080            20 78 2f 79 2d 61 6b 73 65 20 76 91 72 64 69 65 72 20 75 64 73 6b 72 69 76 65 73 20 65 6b 73 70   ┆ x/y-akse v rdier udskrives eksp┆
0x72080…720a0            6f 6e 65 6e 74 69 65 6c 74 20 20 20 20 20 20 20 20 7d 0d 0a 7b 20 20 20 20 20 20 20 20 20 20 20   ┆onentielt        å  æ           ┆
0x720a0…720c0            20 27 4e 27 20 3a 20 20 76 91 72 64 69 65 72 20 75 64 73 6b 72 69 76 65 73 20 69 6b 6b 65 20 65   ┆ 'N' :  v rdier udskrives ikke e┆
0x720c0…720e0            6b 73 70 6f 6e 65 6e 74 69 65 6c 74 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 0d 0a 50   ┆ksponentielt            å      P┆
0x720e0…72100            52 4f 43 45 44 55 52 45 20 64 72 61 77 61 78 69 73 28 20 78 64 65 6e 73 2c 20 79 64 65 6e 73 3a   ┆ROCEDURE drawaxis( xdens, ydens:┆
0x72100…72120            20 49 4e 54 45 47 45 52 3b 20 67 69 74 74 65 72 3a 20 62 6f 6f 6c 65 61 6e 3b 20 0d 0a 45 6b 73   ┆ INTEGER; gitter: boolean;   Eks┆
0x72120…72140            70 6f 78 78 2c 20 45 6b 73 70 6f 79 79 20 3a 20 73 74 72 31 29 3b 0d 0a 56 41 52 0d 0a 20 20 78   ┆poxx, Ekspoyy : str1);  VAR    x┆
0x72140…72160            6b 30 2c 20 79 6b 30 2c 20 78 6b 31 2c 20 79 6b 31 2c 20 4e 64 69 66 66 09 3a 20 49 4e 54 45 47   ┆k0, yk0, xk1, yk1, Ndiff : INTEG┆
0x72160…72180            45 52 3b 0d 0a 20 20 65 6b 73 70 6f 78 2c 20 65 6b 73 70 6f 79 2c 6a 2c 69 2c 20 79 73 2c 20 78   ┆ER;    ekspox, ekspoy,j,i, ys, x┆
0x72180…721a0            73 2c 20 64 65 6c 74 61 2c 20 6e 70 6f 69 6e 74 73 09 3a 20 49 4e 54 45 47 45 52 3b 0d 0a 20 20   ┆s, delta, npoints : INTEGER;    ┆
0x721a0…721c0            64 69 66 66 2c 20 6e 75 6d 62 65 72 2c 20 73 2c 20 66 72 61 63 74 3a 20 52 45 41 4c 3b 0d 0a 20   ┆diff, number, s, fract: REAL;   ┆
0x721c0…721e0            20 73 74 3a 20 73 74 72 38 30 3b 0d 0a 0d 0a 7b 4f 6d 66 6f 72 6d 65 72 20 65 74 20 61 6c 6d 69   ┆ st: str80;    æOmformer et almi┆
0x721e0…72200            6e 64 65 6c 69 67 74 20 74 61 6c 20 28 78 31 29 2c 20 76 65 64 20 68 6a 91 6c 70 20 61 66 20 65   ┆ndeligt tal (x1), ved hj lp af e┆
0x72200…72220            6e 20 6f 70 67 69 76 65 6e 20 65 6b 73 70 6f 6e 65 6e 74 20 28 65 78 70 6f 29 7d 0d 0a 7b 74 69   ┆n opgiven eksponent (expo)å  æti┆
0x72220…72240            6c 20 65 6e 20 73 74 72 69 6e 67 2c 20 68 76 6f 72 20 74 61 6c 6c 65 74 20 61 6e 67 69 76 65 73   ┆l en string, hvor tallet angives┆
0x72240…72260            20 65 6b 73 70 6f 6e 65 6e 74 69 65 6c 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ eksponentielt                  ┆
0x72260…72280            20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 73 74 72 69 6e 67   ┆        å        FUNCTION string┆
0x72280…722a0            6e 75 6d 62 65 72 28 78 31 3a 20 52 45 41 4c 3b 65 6b 73 70 6f 09 3a 20 49 4e 54 45 47 45 52 29   ┆number(x1: REAL;ekspo : INTEGER)┆
0x722a0…722c0            3a 20 73 74 72 38 30 3b 0d 0a 56 41 52 20 73 3a 20 73 74 72 38 30 3b 0d 0a 42 45 47 49 4e 0d 0a   ┆: str80;  VAR s: str80;  BEGIN  ┆
0x722c0…722e0            20 20 73 74 72 28 78 31 2a 65 78 70 28 2d 65 6b 73 70 6f 2a 6c 6e 28 31 30 2e 30 29 29 3a 35 3a   ┆  str(x1*exp(-ekspo*ln(10.0)):5:┆
0x722e0…72300            32 2c 73 29 3b 0d 0a 20 20 73 74 72 69 6e 67 6e 75 6d 62 65 72 3a 3d 73 3b 0d 0a 45 4e 44 3b 0d   ┆2,s);    stringnumber:=s;  END; ┆
0x72300…72320            0a 0d 0a 7b 42 65 72 65 67 6e 65 72 20 68 76 6f 72 73 74 6f 72 20 65 6b 73 70 6f 6e 65 6e 74 65   ┆   æBeregner hvorstor eksponente┆
0x72320…72340            6e 20 73 6b 61 6c 20 76 91 72 65 2c 20 68 76 69 73 20 64 65 74 20 73 74 9b 72 73 74 65 20 74 61   ┆n skal v re, hvis det st rste ta┆
0x72340…72360            6c 20 73 6b 61 6c 20 76 91 72 65 7d 0d 0a 7b 6d 69 6e 64 72 65 20 65 6e 64 20 31 2e 30 30 20 20   ┆l skal v reå  æmindre end 1.00  ┆
0x72360…72380            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x72380…723a0            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 0d 0a 0d 0a 0d 0a 46 55   ┆                      å       FU┆
0x723a0…723c0            4e 43 54 49 4f 4e 20 47 65 74 45 78 70 6f 6e 65 6e 74 28 58 31 3a 52 45 41 4c 29 3a 49 4e 54 45   ┆NCTION GetExponent(X1:REAL):INTE┆
0x723c0…723e0            47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 47 65 74 45 78 70 6f 6e 65 6e 74 3a 3d 30 3b 0d 0a   ┆GER;  BEGIN    GetExponent:=0;  ┆
0x723e0…72400            20 20 49 46 20 58 31 3c 3e 30 2e 30 20 54 48 45 4e 0d 0a 20 20 20 20 49 46 20 61 62 73 28 58 31   ┆  IF X1<>0.0 THEN      IF abs(X1┆
0x72400…72420 (45, 1, 3) 29 3e 3d 31 2e 30 20 54 48 45 4e 20 47 65 74 45 78 70 6f 6e 65 6e 74 3a 3d 74 72 75 6e 63 28 6c   ┆)>=1.0 THEN GetExponent:=trunc(l┆
0x72420…72440            6e 28 61 62 73 28 58 31 29 29 2f 6c 6e 28 31 30 2e 30 29 29 0d 0a 20 20 20 20 45 4c 53 45 20 47   ┆n(abs(X1))/ln(10.0))      ELSE G┆
0x72440…72460            65 74 45 78 70 6f 6e 65 6e 74 3a 3d 2d 74 72 75 6e 63 28 61 62 73 28 6c 6e 28 61 62 73 28 58 31   ┆etExponent:=-trunc(abs(ln(abs(X1┆
0x72460…72480            29 29 29 2f 6c 6e 28 31 30 2e 30 29 2b 31 2e 30 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 7b 55 64 73   ┆)))/ln(10.0)+1.0);  END;    æUds┆
0x72480…724a0            6b 72 69 76 65 72 20 68 76 6f 72 73 74 6f 72 20 65 6b 73 70 6f 6e 65 6e 74 65 6e 20 65 72 7d 0d   ┆kriver hvorstor eksponenten erå ┆
0x724a0…724c0            0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 44 72 61 77 45 78 70 6f 6e 65 6e 74 28 78 31 2c 79 31 2c   ┆   PROCEDURE DrawExponent(x1,y1,┆
0x724c0…724e0            4d 61 78 45 78 70 6f 6e 65 6e 74 3a 49 4e 54 45 47 45 52 3b 73 3a 20 73 74 72 38 30 29 3b 0d 0a   ┆MaxExponent:INTEGER;s: str80);  ┆
0x724e0…72500            56 41 52 20 69 3a 49 4e 54 45 47 45 52 3b 0d 0a 42 45 47 49 4e 0d 0a 20 20 57 6e 64 5f 64 72 61   ┆VAR i:INTEGER;  BEGIN    Wnd_dra┆
0x72500…72520            77 74 65 78 74 28 78 31 2c 79 31 2c 73 29 3b 0d 0a 20 20 69 3a 3d 6c 65 6e 28 73 29 3b 0d 0a 20   ┆wtext(x1,y1,s);    i:=len(s);   ┆
0x72520…72540            20 73 74 72 28 4d 61 78 45 78 70 6f 6e 65 6e 74 2c 53 29 3b 0d 0a 20 20 57 6e 64 5f 64 72 61 77   ┆ str(MaxExponent,S);    Wnd_draw┆
0x72540…72560            74 65 78 74 28 78 31 2b 69 2a 38 2c 20 79 31 2b 32 2c 20 53 29 3b 20 20 20 20 20 20 0d 0a 45 4e   ┆text(x1+i*8, y1+2, S);        EN┆
0x72560…72580            44 3b 0d 0a 0d 0a 0d 0a 7b 55 64 73 6b 72 69 76 65 72 20 65 6e 20 73 74 72 69 6e 67 20 61 66 20   ┆D;      æUdskriver en string af ┆
0x72580…725a0            74 61 6c 20 70 86 20 65 6e 20 67 69 76 65 6e 20 70 6f 73 69 74 69 6f 6e 2c 20 6d 65 64 20 65 6e   ┆tal p  en given position, med en┆
0x725a0…725c0            20 6f 70 67 69 76 65 6e 20 65 6b 73 70 6f 6e 65 6e 74 20 20 20 7d 0d 0a 7b 78 31 20 6f 67 20 79   ┆ opgiven eksponent   å  æx1 og y┆
0x725c0…725e0            31 3a 20 75 64 73 6b 72 69 76 6e 69 6e 67 73 6b 6f 6f 72 64 69 6e 61 74 65 72 6e 65 20 20 20 20   ┆1: udskrivningskoordinaterne    ┆
0x725e0…72600            4d 61 78 45 78 70 6f 6e 65 6e 74 3a 20 65 78 73 70 6f 6e 65 6e 74 65 6e 20 64 65 72 20 61 6e 76   ┆MaxExponent: exsponenten der anv┆
0x72600…72620            65 6e 64 65 73 7d 0d 0a 7b 76 65 64 20 75 64 73 6b 72 69 76 6e 69 6e 67 65 6e 20 20 20 20 20 20   ┆endeså  æved udskrivningen      ┆
0x72620…72640            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x72640…72660            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 0d 0a 50 52 4f 43   ┆                     å      PROC┆
0x72660…72680            45 44 55 52 45 20 44 72 61 77 4e 75 6d 28 78 31 2c 79 31 2c 4d 61 78 45 78 70 6f 6e 65 6e 74 3a   ┆EDURE DrawNum(x1,y1,MaxExponent:┆
0x72680…726a0            49 4e 54 45 47 45 52 3b 4e 75 6d 62 65 72 3a 52 45 41 4c 29 3b 0d 0a 56 41 52 20 69 3a 49 4e 54   ┆INTEGER;Number:REAL);  VAR i:INT┆
0x726a0…726c0            45 47 45 52 3b 0d 0a 20 20 20 20 53 74 72 4e 75 6d 62 65 72 3a 20 73 74 72 38 30 3b 0d 0a 42 45   ┆EGER;      StrNumber: str80;  BE┆
0x726c0…726e0            47 49 4e 0d 0a 20 20 53 74 72 4e 75 6d 62 65 72 3a 3d 53 74 72 69 6e 67 4e 75 6d 62 65 72 28 4e   ┆GIN    StrNumber:=StringNumber(N┆
0x726e0…72700            75 6d 62 65 72 2c 4d 61 78 45 78 70 6f 6e 65 6e 74 29 3b 0d 0a 20 20 57 6e 64 5f 44 72 61 77 74   ┆umber,MaxExponent);    Wnd_Drawt┆
0x72700…72720            65 78 74 28 78 31 2c 79 31 2c 53 74 72 4e 75 6d 62 65 72 29 3b 0d 0a 45 4e 44 3b 0d 0a 0d 0a 42   ┆ext(x1,y1,StrNumber);  END;    B┆
0x72720…72740            45 47 49 4e 0d 0a 20 20 0d 0a 20 20 7b 78 64 65 6e 73 20 6f 67 20 79 64 65 6e 73 20 6f 6d 64 61   ┆EGIN        æxdens og ydens omda┆
0x72740…72760            6e 6e 65 73 20 73 86 20 64 65 20 70 61 73 73 65 20 74 69 6c 20 70 72 6f 67 72 61 6d 6d 65 74 7d   ┆nnes s  de passe til programmetå┆
0x72760…72780            0d 0a 20 20 0d 0a 20 20 78 64 65 6e 73 20 3a 3d 20 31 30 20 2d 20 78 64 65 6e 73 3b 0d 0a 20 20   ┆        xdens := 10 - xdens;    ┆
0x72780…727a0            79 64 65 6e 73 20 3a 3d 20 31 30 20 2d 20 79 64 65 6e 73 3b 0d 0a 20 20 0d 0a 20 20 63 6c 65 61   ┆ydens := 10 - ydens;        clea┆
0x727a0…727c0            72 3b 0d 0a 20 20 0d 0a 20 20 7b 74 65 67 6e 65 72 20 6b 61 73 73 65 20 72 75 6e 64 74 20 6f 6d   ┆r;        ætegner kasse rundt om┆
0x727c0…727e0            20 67 72 61 66 65 6e 7d 0d 0a 20 20 0d 0a 20 20 64 72 61 77 66 72 61 6d 65 3b 20 20 20 0d 0a 20   ┆ grafenå        drawframe;      ┆
0x727e0…72800            20 78 6b 30 3a 3d 36 2a 38 2b 32 3b 0d 0a 20 20 79 6b 30 3a 3d 31 32 3b 0d 0a 20 20 78 6b 31 3a   ┆ xk0:=6*8+2;    yk0:=12;    xk1:┆
0x72800…72820 (45, 1, 4) 3d 57 6e 64 5f 2e 6d 61 78 78 2d 32 34 3b 0d 0a 20 20 79 6b 31 3a 3d 57 6e 64 5f 2e 6d 61 78 79   ┆=Wnd_.maxx-24;    yk1:=Wnd_.maxy┆
0x72820…72840            2d 38 3b 0d 0a 20 0d 0a 20 20 7b 74 65 67 6e 65 72 20 61 6b 73 65 72 6e 65 2c 69 6b 6b 65 20 64   ┆-8;       ætegner akserne,ikke d┆
0x72840…72860            65 6c 73 74 72 65 67 65 72 6e 65 20 7d 0d 0a 20 0d 0a 20 20 57 6e 64 5f 64 72 61 77 6c 69 6e 65   ┆elstregerne å       Wnd_drawline┆
0x72860…72880            28 78 6b 30 2c 79 6b 30 2c 78 6b 30 2c 79 6b 31 29 3b 20 20 20 20 0d 0a 20 20 57 6e 64 5f 64 72   ┆(xk0,yk0,xk0,yk1);        Wnd_dr┆
0x72880…728a0            61 77 6c 69 6e 65 28 78 6b 30 2c 79 6b 30 2c 78 6b 31 2c 79 6b 30 29 3b 20 20 20 20 0d 0a 20 20   ┆awline(xk0,yk0,xk1,yk0);        ┆
0x728a0…728c0            57 6e 64 5f 64 72 61 77 6c 69 6e 65 28 78 6b 30 2c 79 6b 30 2c 78 6b 30 2d 34 2c 79 6b 30 29 3b   ┆Wnd_drawline(xk0,yk0,xk0-4,yk0);┆
0x728c0…728e0            20 20 0d 0a 20 20 57 6e 64 5f 64 72 61 77 6c 69 6e 65 28 78 6b 30 2c 79 6b 30 2d 34 2c 78 6b 30   ┆      Wnd_drawline(xk0,yk0-4,xk0┆
0x728e0…72900            2c 79 6b 30 29 3b 20 20 0d 0a 20 20 64 65 6c 74 61 3a 3d 57 6e 64 5f 2e 6d 61 78 79 2d 79 6b 30   ┆,yk0);      delta:=Wnd_.maxy-yk0┆
0x72900…72920            3b 0d 0a 20 20 6e 70 6f 69 6e 74 73 3a 3d 64 65 6c 74 61 20 44 49 56 20 38 2b 31 3b 20 20 20 20   ┆;    npoints:=delta DIV 8+1;    ┆
0x72920…72940            20 20 20 20 20 20 20 7b 61 6e 74 61 6c 20 64 65 6c 73 74 72 65 67 65 72 20 70 86 20 79 2d 61 6b   ┆       æantal delstreger p  y-ak┆
0x72940…72960            73 65 6e 7d 0d 0a 20 20 6e 64 69 66 66 3a 3d 64 65 6c 74 61 2d 28 6e 70 6f 69 6e 74 73 2a 38 29   ┆senå    ndiff:=delta-(npoints*8)┆
0x72960…72980            3b 0d 0a 0d 0a 20 20 7b 44 65 6e 20 6d 61 6b 73 69 6d 61 6c 65 20 65 6b 73 70 6f 6e 74 20 62 65   ┆;      æDen maksimale ekspont be┆
0x72980…729a0            72 65 67 6e 65 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d   ┆regnes                         å┆
0x729a0…729c0            0d 0a 20 20 7b 48 76 69 73 20 65 6b 73 70 6f 79 20 3a 3d 20 30 20 62 6c 69 76 65 72 20 74 61 6c   ┆    æHvis ekspoy := 0 bliver tal┆
0x729c0…729e0            65 6e 65 20 75 64 73 6b 72 65 76 65 74 20 75 64 65 6e 20 65 6b 73 70 6f 6e 65 6e 74 7d 0d 0a 20   ┆ene udskrevet uden eksponentå   ┆
0x729e0…72a00            20 0d 0a 20 20 49 66 20 65 6b 73 70 6f 79 79 20 3d 20 27 4a 27 20 74 68 65 6e 20 0d 0a 20 20 20   ┆     If ekspoyy = 'J' then      ┆
0x72a00…72a20            0d 0a 20 20 57 49 54 48 20 77 6c 64 5f 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 49 46 20 61   ┆    WITH wld_ DO BEGIN      IF a┆
0x72a20…72a40            62 73 28 79 72 61 6e 67 65 2b 79 31 29 3e 61 62 73 28 79 31 29 20 54 48 45 4e 20 65 6b 73 70 6f   ┆bs(yrange+y1)>abs(y1) THEN ekspo┆
0x72a40…72a60            79 3a 3d 67 65 74 65 78 70 6f 6e 65 6e 74 28 79 72 61 6e 67 65 2b 79 31 29 0d 0a 20 20 20 20 45   ┆y:=getexponent(yrange+y1)      E┆
0x72a60…72a80            4c 53 45 20 65 6b 73 70 6f 79 3a 3d 67 65 74 65 78 70 6f 6e 65 6e 74 28 79 31 29 3b 0d 0a 20 20   ┆LSE ekspoy:=getexponent(y1);    ┆
0x72a80…72aa0            45 4e 44 0d 0a 20 20 0d 0a 20 20 45 6c 73 65 20 65 6b 73 70 6f 79 20 3a 3d 20 30 3b 0d 0a 20 20   ┆END        Else ekspoy := 0;    ┆
0x72aa0…72ac0            20 0d 0a 20 20 7b 75 64 73 6b 72 69 76 65 72 20 79 2a 31 30 20 70 86 20 79 2d 61 6b 73 65 6e 7d   ┆     æudskriver y*10 p  y-aksenå┆
0x72ac0…72ae0            0d 0a 20 20 0d 0a 20 20 49 46 20 28 79 64 65 6e 73 3e 30 29 20 61 6e 64 20 28 65 6b 73 70 6f 79   ┆        IF (ydens>0) and (ekspoy┆
0x72ae0…72b00            20 3c 3e 20 30 29 20 54 48 45 4e 20 0d 0a 20 20 20 20 64 72 61 77 65 78 70 6f 6e 65 6e 74 28 30   ┆ <> 0) THEN       drawexponent(0┆
0x72b00…72b20            2c 57 6e 64 5f 2e 6d 61 78 79 2d 31 30 2c 65 6b 73 70 6f 79 2c 27 79 2a 31 30 27 29 3b 0d 0a 20   ┆,Wnd_.maxy-10,ekspoy,'y*10');   ┆
0x72b20…72b40            20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x72b40…72b60            20 20 20 0d 0a 20 20 46 72 61 63 74 3a 3d 4e 44 69 66 66 2f 4e 50 6f 69 6e 74 73 3b 0d 0a 20 20   ┆       Fract:=NDiff/NPoints;    ┆
0x72b60…72b80            73 3a 3d 2d 46 72 61 63 74 3b 0d 0a 20 20 79 73 3a 3d 79 6b 30 2d 38 3b 0d 0a 20 20 44 69 66 66   ┆s:=-Fract;    ys:=yk0-8;    Diff┆
0x72b80…72ba0            3a 3d 28 77 6c 64 5f 2e 79 72 61 6e 67 65 29 2f 4e 50 6f 69 6e 74 73 3b 0d 0a 20 20 0d 0a 20 20   ┆:=(wld_.yrange)/NPoints;        ┆
0x72ba0…72bc0            7b 64 65 6c 73 74 72 65 67 65 72 20 70 86 20 79 2d 61 6b 73 65 6e 20 74 65 67 6e 65 73 7d 0d 0a   ┆ædelstreger p  y-aksen tegneså  ┆
0x72bc0…72be0            20 20 0d 0a 20 20 46 4f 52 20 69 3a 3d 30 20 54 4f 20 4e 50 6f 69 6e 74 73 2d 31 20 44 4f 20 20   ┆      FOR i:=0 TO NPoints-1 DO  ┆
0x72be0…72c00            20 20 20 20 20 20 20 0d 0a 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 79 73 3a 3d 79 73 2b 38   ┆            BEGIN       ys:=ys+8┆
0x72c00…72c20 (45, 1, 5) 3b 0d 0a 20 20 20 20 20 4e 75 6d 62 65 72 3a 3d 77 6c 64 5f 2e 59 31 2b 69 2a 44 69 66 66 3b 0d   ┆;       Number:=wld_.Y1+i*Diff; ┆
0x72c20…72c40            0a 20 20 0d 0a 20 20 20 20 20 7b 54 65 67 6e 65 72 20 64 65 6c 73 74 72 65 67 65 72 20 70 86 20   ┆          æTegner delstreger p  ┆
0x72c40…72c60            79 2d 61 6b 73 65 6e 7d 0d 0a 20 20 0d 0a 20 20 20 20 20 49 46 20 79 64 65 6e 73 3e 30 20 54 48   ┆y-aksenå           IF ydens>0 TH┆
0x72c60…72c80            45 4e 20 57 6e 64 5f 44 72 61 77 4c 69 6e 65 28 78 6b 30 2c 79 73 2c 78 6b 30 2d 34 2c 79 73 29   ┆EN Wnd_DrawLine(xk0,ys,xk0-4,ys)┆
0x72c80…72ca0            3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆;                               ┆
0x72ca0…72cc0            20 20 20 0d 0a 20 20 20 20 20 49 46 20 28 79 64 65 6e 73 3e 30 29 20 41 4e 44 20 28 69 20 4d 4f   ┆          IF (ydens>0) AND (i MO┆
0x72cc0…72ce0            44 20 28 31 30 2d 59 44 65 6e 73 29 3d 30 29 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20   ┆D (10-YDens)=0) THEN BEGIN      ┆
0x72ce0…72d00            20 20 20 6a 3a 3d 78 6b 30 3b 0d 0a 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 7b 75 64 73   ┆   j:=xk0;                  æuds┆
0x72d00…72d20            6b 72 69 76 6e 69 6e 67 20 61 66 20 67 69 74 74 65 72 7d 0d 0a 20 20 20 20 20 20 20 0d 0a 20 20   ┆krivning af gitterå             ┆
0x72d20…72d40            20 20 20 20 20 49 46 20 67 69 74 74 65 72 20 54 48 45 4e 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆     IF gitter THEN             ┆
0x72d40…72d60            20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 57 48 49 4c 45 20 6a 3c 3d 78 6b 31 20 44 4f 20 42   ┆               WHILE j<=xk1 DO B┆
0x72d60…72d80            45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 20 57 6e 64 5f 77 72 69 74 65 64 6f 74 28 6a 2c 79 73   ┆EGIN           Wnd_writedot(j,ys┆
0x72d80…72da0            29 3b 20 6a 3a 3d 6a 2b 33 3b 0d 0a 20 20 20 20 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 20 20 20   ┆); j:=j+3;          END;        ┆
0x72da0…72dc0            20 0d 0a 20 20 20 20 20 20 20 7b 75 64 73 6b 72 69 76 65 72 20 76 91 72 64 69 65 72 20 66 6f 72   ┆          æudskriver v rdier for┆
0x72dc0…72de0            20 79 2d 61 6b 73 65 6e 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 7b 79 73 3a 20 79 2d   ┆ y-aksen       å         æys: y-┆
0x72de0…72e00            76 91 72 64 69 65 6e 20 66 6f 72 20 75 64 73 6b 72 69 76 6e 69 6e 67 73 73 74 65 64 65 74 7d 0d   ┆v rdien for udskrivningsstedetå ┆
0x72e00…72e20            0a 20 20 20 20 20 20 20 7b 65 6b 73 70 6f 79 3a 20 65 6b 73 70 6f 6e 65 6e 74 65 6e 20 64 65 72   ┆        æekspoy: eksponenten der┆
0x72e20…72e40            20 61 6e 76 65 6e 64 65 73 20 20 20 20 7d 20 20 0d 0a 20 20 20 20 20 20 20 7b 6e 75 6d 62 65 72   ┆ anvendes    å           ænumber┆
0x72e40…72e60            3a 20 44 65 74 20 74 61 6c 2c 20 64 65 72 20 73 6b 72 69 76 65 73 20 20 20 20 20 20 20 20 7d 20   ┆: Det tal, der skrives        å ┆
0x72e60…72e80            0d 0a 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 49 46 20 28 79 73 3c 57 6e 64 5f 2e   ┆                    IF (ys<Wnd_.┆
0x72e80…72ea0            6d 61 78 79 2d 32 30 29 20 54 48 45 4e 20 20 20 20 20 20 20 44 72 61 77 4e 75 6d 28 30 2c 79 73   ┆maxy-20) THEN       DrawNum(0,ys┆
0x72ea0…72ec0            2c 45 6b 73 70 6f 59 2c 4e 75 6d 62 65 72 29 3b 20 20 0d 0a 20 20 20 20 20 20 20 45 4e 44 3b 0d   ┆,EkspoY,Number);           END; ┆
0x72ec0…72ee0            0a 20 20 20 45 4e 44 3b 0d 0a 20 20 64 65 6c 74 61 3a 3d 57 6e 64 5f 2e 6d 61 78 78 2d 78 6b 30   ┆    END;    delta:=Wnd_.maxx-xk0┆
0x72ee0…72f00            2d 32 3b 0d 0a 20 20 6e 70 6f 69 6e 74 73 3a 3d 64 65 6c 74 61 20 44 49 56 20 34 30 2b 31 3b 0d   ┆-2;    npoints:=delta DIV 40+1; ┆
0x72f00…72f20            0a 20 20 6e 64 69 66 66 3a 3d 64 65 6c 74 61 2d 28 6e 70 6f 69 6e 74 73 2a 34 30 29 3b 0d 0a 20   ┆   ndiff:=delta-(npoints*40);   ┆
0x72f20…72f40            20 0d 0a 20 20 49 66 20 65 6b 73 70 6f 78 78 20 3d 20 27 4a 27 20 74 68 65 6e 20 0d 0a 20 20 0d   ┆     If ekspoxx = 'J' then      ┆
0x72f40…72f60            0a 20 20 57 49 54 48 20 77 6c 64 5f 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 49 46 20 61 62   ┆   WITH wld_ DO BEGIN      IF ab┆
0x72f60…72f80            73 28 78 72 61 6e 67 65 2b 78 31 29 3e 61 62 73 28 78 31 29 20 54 48 45 4e 20 65 6b 73 70 6f 79   ┆s(xrange+x1)>abs(x1) THEN ekspoy┆
0x72f80…72fa0            3a 3d 67 65 74 65 78 70 6f 6e 65 6e 74 28 78 72 61 6e 67 65 2b 78 31 29 0d 0a 20 20 20 20 45 4c   ┆:=getexponent(xrange+x1)      EL┆
0x72fa0…72fc0            53 45 20 65 6b 73 70 6f 79 3a 3d 67 65 74 65 78 70 6f 6e 65 6e 74 28 78 31 29 3b 0d 0a 20 20 45   ┆SE ekspoy:=getexponent(x1);    E┆
0x72fc0…72fe0            4e 44 0d 0a 20 20 0d 0a 20 20 65 6c 73 65 20 65 6b 73 70 6f 79 20 3a 3d 20 30 3b 0d 0a 20 20 0d   ┆ND        else ekspoy := 0;     ┆
0x72fe0…73000            0a 20 20 49 46 20 28 78 64 65 6e 73 3e 30 29 20 61 6e 64 20 28 65 6b 73 70 6f 79 20 3c 3e 20 30   ┆   IF (xdens>0) and (ekspoy <> 0┆
0x73000…73020 (46, 0, 1) 29 20 54 48 45 4e 20 0d 0a 20 20 20 20 64 72 61 77 65 78 70 6f 6e 65 6e 74 28 57 6e 64 5f 2e 6d   ┆) THEN       drawexponent(Wnd_.m┆
0x73020…73040            61 78 78 2d 34 38 2c 30 2c 65 6b 73 70 6f 79 2c 27 78 2a 31 30 27 29 3b 0d 0a 20 20 0d 0a 20 20   ┆axx-48,0,ekspoy,'x*10');        ┆
0x73040…73060            46 72 61 63 74 3a 3d 4e 44 69 66 66 2f 4e 50 6f 69 6e 74 73 3b 0d 0a 20 20 73 3a 3d 2d 46 72 61   ┆Fract:=NDiff/NPoints;    s:=-Fra┆
0x73060…73080            63 74 3b 0d 0a 20 20 79 73 3a 3d 78 6b 30 2d 34 30 3b 0d 0a 20 20 44 69 66 66 3a 3d 28 77 6c 64   ┆ct;    ys:=xk0-40;    Diff:=(wld┆
0x73080…730a0            5f 2e 78 72 61 6e 67 65 29 2f 4e 50 6f 69 6e 74 73 3b 0d 0a 20 20 46 4f 52 20 69 3a 3d 30 20 54   ┆_.xrange)/NPoints;    FOR i:=0 T┆
0x730a0…730c0            4f 20 4e 50 6f 69 6e 74 73 2d 31 20 44 4f 0d 0a 20 20 20 42 45 47 49 4e 0d 0a 20 20 20 20 79 73   ┆O NPoints-1 DO     BEGIN      ys┆
0x730c0…730e0            3a 3d 79 73 2b 34 30 3b 0d 0a 20 20 20 20 4e 75 6d 62 65 72 3a 3d 77 6c 64 5f 2e 78 31 2b 69 2a   ┆:=ys+40;      Number:=wld_.x1+i*┆
0x730e0…73100            44 69 66 66 3b 0d 0a 20 20 20 20 49 46 20 78 64 65 6e 73 3e 30 20 54 48 45 4e 20 57 6e 64 5f 44   ┆Diff;      IF xdens>0 THEN Wnd_D┆
0x73100…73120            72 61 77 4c 69 6e 65 28 79 73 2c 79 6b 30 2c 79 73 2c 79 6b 30 2d 34 29 3b 0d 0a 20 20 20 20 49   ┆rawLine(ys,yk0,ys,yk0-4);      I┆
0x73120…73140            46 20 28 78 64 65 6e 73 3e 30 29 20 41 4e 44 20 28 69 20 4d 4f 44 20 28 31 30 2d 78 44 65 6e 73   ┆F (xdens>0) AND (i MOD (10-xDens┆
0x73140…73160            29 3d 30 29 20 54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 6a 3a 3d 79 6b 30 3b 0d 0a   ┆)=0) THEN BEGIN        j:=yk0;  ┆
0x73160…73180            20 20 20 20 20 20 49 46 20 67 69 74 74 65 72 20 54 48 45 4e 0d 0a 20 20 20 20 20 20 20 57 48 49   ┆      IF gitter THEN         WHI┆
0x73180…731a0            4c 45 20 6a 3c 3d 79 6b 31 20 44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 57 6e 64 5f   ┆LE j<=yk1 DO BEGIN          Wnd_┆
0x731a0…731c0            77 72 69 74 65 64 6f 74 28 79 73 2c 6a 29 3b 20 6a 3a 3d 6a 2b 33 3b 0d 0a 20 20 20 20 20 20 20   ┆writedot(ys,j); j:=j+3;         ┆
0x731c0…731e0            45 4e 44 3b 0d 0a 20 20 20 20 20 20 49 46 20 28 79 73 3c 57 6e 64 5f 2e 6d 61 78 78 2d 34 38 29   ┆END;        IF (ys<Wnd_.maxx-48)┆
0x731e0…73200            54 48 45 4e 20 42 45 47 49 4e 0d 0a 20 20 20 20 20 20 20 20 44 72 61 77 4e 75 6d 28 79 73 2d 34   ┆THEN BEGIN          DrawNum(ys-4┆
0x73200…73220            30 2c 30 2c 45 6b 73 70 6f 59 2c 4e 75 6d 62 65 72 29 3b 0d 0a 20 20 20 20 20 20 45 4e 44 3b 0d   ┆0,0,EkspoY,Number);        END; ┆
0x73220…73240            0a 20 20 20 20 45 4e 44 3b 0d 0a 20 20 20 45 4e 44 3b 0d 0a 20 20 57 49 54 48 20 57 6e 64 5f 20   ┆     END;     END;    WITH Wnd_ ┆
0x73240…73260            44 4f 20 42 45 47 49 4e 0d 0a 20 20 20 20 78 31 3a 3d 78 31 2b 78 6b 30 3b 0d 0a 20 20 20 20 6d   ┆DO BEGIN      x1:=x1+xk0;      m┆
0x73260…73280            61 78 78 3a 3d 6d 61 78 78 2d 78 6b 30 3b 0d 0a 20 20 20 20 79 31 3a 3d 79 31 2b 79 6b 30 3b 0d   ┆axx:=maxx-xk0;      y1:=y1+yk0; ┆
0x73280…732a0            0a 20 20 20 20 6d 61 78 79 3a 3d 6d 61 78 79 2d 79 6b 30 3b 0d 0a 20 20 45 4e 44 3b 0d 0a 45 4e   ┆     maxy:=maxy-yk0;    END;  EN┆
0x732a0…732c0            44 3b 0d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆D;                              ┆
0x732c0…732e0            00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
         […0x1…]
0x73300…73320            e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
         […0x2a67…]