|
|
DataMuseum.dkPresents historical artifacts from the history of: Bogika Butler |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Bogika Butler Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 33280 (0x8200)
Names: »EFL1.C«
└─⟦e1c0a41a6⟧ Bits:30009789/_.ft.Ibm2.50007344.imd Mogens Pelles Zilog 80,000 / EOS projekt
└─⟦this⟧ »EFL1.C«
0x0000…0020 74 61 74 65 3b 00 00 05 82 45 4e 44 3b 00 00 04 7b 24 45 7d 00 18 7b 2a 2a 2a 2a 2a 20 49 70 63 ┆tate; END; æ$Eå æ***** Ipc┆
0x0020…0040 20 6f 62 6a 65 63 74 20 2a 2a 2a 2a 2a 7d 00 04 54 59 50 45 00 2a 82 6d 61 78 46 75 6c 6c 49 64 ┆ object *****å TYPE * maxFullId┆
0x0040…0060 3d 41 52 52 41 59 81 5b 31 2e 2e 6d 61 78 49 64 4c 65 6e 67 74 68 5d 81 4f 46 81 63 68 61 72 3b ┆=ARRAY Æ1..maxIdLengthÅ OF char;┆
0x0060…0080 00 10 82 63 6f 75 6e 74 52 65 63 3d 52 45 43 4f 52 44 00 34 84 74 72 61 6e 73 66 65 72 73 2c 83 ┆ countRec=RECORD 4 transfers, ┆
0x0080…00a0 7b 23 81 69 2f 6f 2d 74 72 61 6e 73 66 65 72 73 81 73 74 61 72 74 65 64 81 69 6e 81 74 68 65 81 ┆æ# i/o-transfers started in the ┆
0x00a0…00c0 64 72 69 76 65 72 81 7d 00 22 84 72 65 70 65 61 74 73 2c 85 7b 23 81 72 65 61 74 65 64 81 69 2f ┆driver å " repeats, æ# reated i/┆
0x00c0…00e0 6f 2d 74 72 61 6e 73 66 65 72 73 7d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ┆o-transferså ┆
0x00e0…0100 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 ┆ ┆
0x0100…0120 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…]
0x0700…0720 00 3e 84 71 31 2c 8a 7b 23 81 72 65 71 27 73 81 72 65 63 65 69 76 65 64 81 77 68 65 6e 81 6f 6e ┆ > q1, æ# req's received when on┆
0x0720…0740 65 81 6f 74 68 65 72 81 72 65 71 75 65 73 74 81 6f 63 63 75 70 69 65 73 81 64 72 69 76 65 72 7d ┆e other request occupies driverå┆
0x0740…0760 00 3f 84 71 32 2c 8a 7b 23 81 72 65 71 27 73 81 72 65 63 65 69 76 65 64 81 77 68 65 6e 81 74 77 ┆ ? q2, æ# req's received when tw┆
0x0760…0780 6f 81 6f 74 68 65 72 81 72 65 71 75 65 73 74 73 81 6f 63 63 75 70 69 65 73 81 64 72 69 76 65 72 ┆o other requests occupies driver┆
0x0780…07a0 7d 00 00 4a 84 71 33 3a 81 69 6e 74 65 67 65 72 3b 81 7b 23 81 72 65 71 27 73 81 72 65 63 65 69 ┆å J q3: integer; æ# req's recei┆
0x07a0…07c0 76 65 64 81 77 68 65 6e 81 74 68 72 65 65 81 6f 74 68 65 72 81 72 65 71 75 65 73 74 73 81 6f 63 ┆ved when three other requests oc┆
0x07c0…07e0 63 75 70 69 65 73 81 64 72 69 76 65 72 7d 00 05 82 45 4e 44 3b 00 00 0f 82 69 70 63 44 61 74 61 ┆cupies driverå END; ipcData┆
0x07e0…0800 3d 52 45 43 4f 52 44 00 00 37 84 62 72 65 61 6b 3a 87 41 52 52 41 59 81 5b 64 65 76 6e 6f 73 5d ┆=RECORD 7 break: ARRAY ÆdevnosÅ┆
0x0800…0820 81 4f 46 81 62 6f 6f 6c 65 61 6e 3b 81 7b 81 62 72 65 61 6b 81 63 6f 6e 64 69 74 69 6f 6e 73 81 ┆ OF boolean; æ break conditions ┆
0x0820…0840 7d 00 00 3c 84 69 70 63 52 65 73 65 72 76 65 64 3a 81 69 6e 74 65 67 65 72 3b 82 7b 81 23 81 70 ┆å < ipcReserved: integer; æ # p┆
0x0840…0860 72 6f 63 65 73 73 65 73 81 77 61 69 74 69 6e 67 81 69 6e 81 69 70 63 81 6f 62 6a 65 63 74 81 7d ┆rocesses waiting in ipc object å┆
0x0860…0880 00 40 84 61 63 6b 46 69 66 6f 3a 85 41 52 52 41 59 81 5b 64 65 76 6e 6f 73 5d 81 4f 46 81 64 65 ┆ @ ackFifo: ARRAY ÆdevnosÅ OF de┆
0x0880…08a0 76 6e 6f 73 3b 81 7b 81 66 69 66 6f 81 6f 66 81 72 65 71 75 65 73 74 73 81 77 61 69 74 69 6e 67 ┆vnos; æ fifo of requests waiting┆
0x08a0…08c0 81 7d 00 2a 84 61 63 6b 46 69 66 6f 46 69 72 73 74 2c 9a 7b 81 66 6f 72 81 74 68 65 81 75 73 65 ┆ å * ackFifoFirst, æ for the use┆
0x08c0…08e0 81 6f 66 81 74 68 65 81 69 70 63 2d 82 7d 00 22 84 61 63 6b 46 69 66 6f 4c 61 73 74 3a 81 64 65 ┆ of the ipc- å " ackFifoLast: de┆
0x08e0…0900 76 6e 6f 73 3b 93 7b 81 63 68 61 6e 6e 65 6c 2e 91 7d 00 3b 84 63 68 61 6e 41 64 64 72 3a 84 61 ┆vnos; æ channel. å ; chanAddr: a┆
0x0900…0920 64 64 72 65 73 73 3b 81 7b 61 62 73 6f 6c 75 74 65 81 61 64 64 72 65 73 73 81 6f 66 81 63 68 61 ┆ddress; æabsolute address of cha┆
0x0920…0940 6e 6e 65 6c 81 72 65 67 69 73 74 65 72 73 7d 00 00 28 84 72 65 71 75 65 73 74 73 3a 84 41 52 52 ┆nnel registerså ( requests: ARR┆
0x0940…0960 41 59 81 5b 64 65 76 6e 6f 73 5d 81 4f 46 81 69 70 63 52 65 71 75 65 73 74 3b 00 1d 84 76 65 63 ┆AY ÆdevnosÅ OF ipcRequest; vec┆
0x0960…0980 74 6f 72 2c 8e 7b 81 69 6e 74 65 72 72 75 70 74 81 76 65 63 74 6f 72 81 7d 00 00 21 84 6c 65 76 ┆tor, æ interrupt vector å ! lev┆
0x0980…09a0 65 6c 3a 87 62 79 74 65 3b 83 7b 81 69 6e 74 65 72 72 75 70 74 81 6c 65 76 65 6c 82 7d 00 00 2c ┆el: byte; æ interrupt level å ,┆
0x09a0…09c0 84 64 69 72 3a 89 41 52 52 41 59 81 5b 64 65 76 6e 6f 73 5d 81 4f 46 81 52 45 43 4f 52 44 82 7b ┆ dir: ARRAY ÆdevnosÅ OF RECORD æ┆
0x09c0…09e0 81 64 69 72 65 63 74 6f 72 79 81 7d 00 11 a5 6e 61 6d 65 3a 81 6d 61 78 46 75 6c 6c 49 64 3b 00 ┆ directory å name: maxFullId; ┆
0x09e0…0a00 00 1c a5 6e 61 6d 65 4c 65 6e 67 74 68 3a 81 30 2e 2e 6d 61 78 49 64 4c 65 6e 67 74 68 3b 00 0a ┆ nameLength: 0..maxIdLength; ┆
0x0a00…0a20 a5 68 77 43 6f 6e 66 69 67 2c 00 12 a5 73 77 43 6f 6e 66 69 67 3a 81 69 6e 74 65 67 65 72 00 05 ┆ hwConfig, swConfig: integer ┆
0x0a20…0a40 a3 45 4e 44 3b 00 00 23 84 63 6f 75 6e 74 3a 87 41 52 52 41 59 81 5b 64 65 76 6e 6f 73 5d 81 4f ┆ END; # count: ARRAY ÆdevnosÅ O┆
0x0a40…0a60 46 81 63 6f 75 6e 74 52 65 63 3b 00 00 05 82 45 4e 44 3b 00 00 19 82 64 72 69 76 4c 6f 63 52 65 ┆F countRec; END; drivLocRe┆
0x0a60…0a80 66 3d 5e 5e 64 72 69 76 4c 6f 63 61 6c 73 3b 00 00 17 82 69 70 63 4c 6f 63 52 65 66 3d 5e 5e 69 ┆f=^^drivLocals; ipcLocRef=^^i┆
0x0a80…0aa0 70 63 4c 6f 63 61 6c 73 3b 00 00 32 82 69 70 63 4c 6f 63 61 6c 73 3d 52 45 43 4f 52 44 82 7b 81 ┆pcLocals; 2 ipcLocals=RECORD æ ┆
0x0aa0…0ac0 6c 6f 63 61 6c 81 70 6f 69 6e 74 65 72 73 81 69 6e 81 49 70 63 81 6f 62 6a 65 63 74 81 7d 00 0a ┆local pointers in Ipc object å ┆
0x0ac0…0ae0 84 63 6f 64 65 3a 89 5e 5e 3b 00 2b 84 6f 77 6e 4c 6f 63 61 6c 64 61 74 61 3a 81 5e 5e 69 70 63 ┆ code: ^^; + ownLocaldata: ^^ipc┆
0x0ae0…0b00 44 61 74 61 3b 81 7b 63 72 65 61 74 65 64 81 62 79 81 53 74 75 62 7d 00 00 40 84 6c 6f 63 61 6c ┆Data; æcreated by Stubå @ local┆
0x0b00…0b20 64 61 74 61 3a 84 5e 5e 69 70 63 44 61 74 61 3b 81 7b 63 6f 70 79 81 6f 66 81 6f 77 6e 4c 6f 63 ┆data: ^^ipcData; æcopy of ownLoc┆
0x0b20…0b40 61 6c 64 61 74 61 81 74 6f 81 62 65 63 6f 6d 65 81 72 65 73 69 64 65 6e 74 7d 00 45 84 63 75 72 ┆aldata to become residentå E cur┆
0x0b40…0b60 72 44 72 69 76 65 72 3a 83 41 52 52 41 59 81 5b 64 65 76 6e 6f 73 5d 81 4f 46 81 64 72 69 76 4c ┆rDriver: ARRAY ÆdevnosÅ OF drivL┆
0x0b60…0b80 6f 63 52 65 66 3b 81 7b 65 6e 76 65 6c 6f 70 65 81 70 74 72 27 73 81 74 6f 81 64 72 69 76 65 72 ┆ocRef; æenvelope ptr's to driver┆
0x0b80…0ba0 73 00 00 16 b2 77 69 74 68 81 69 2f 6f 2d 72 65 73 65 72 76 61 74 69 6f 6e 7d 00 2a 84 73 74 75 ┆s with i/o-reservationå * stu┆
0x0ba0…0bc0 62 52 65 66 3a 86 5e 5e 4f 62 6a 44 69 72 3b 87 7b 69 6e 73 65 72 74 65 64 81 62 79 81 74 68 65 ┆bRef: ^^ObjDir; æinserted by the┆
0x0bc0…0be0 81 53 74 75 62 7d 00 2f 84 69 53 63 68 65 64 52 65 66 3a 84 5e 5e 53 63 68 65 64 75 6c 65 72 3b ┆ Stubå / iSchedRef: ^^Scheduler;┆
0x0be0…0c00 84 7b 69 6e 73 65 72 74 65 64 81 62 79 81 74 68 65 81 53 74 75 62 7d 00 00 2e 84 73 63 68 65 64 ┆ æinserted by the Stubå . sched┆
0x0c00…0c20 52 65 66 3a 85 5e 5e 53 63 68 65 64 75 6c 65 72 3b 84 7b 69 6e 73 65 72 74 65 64 81 62 79 81 74 ┆Ref: ^^Scheduler; æinserted by t┆
0x0c20…0c40 68 65 81 53 74 75 62 7d 00 2d 84 61 6c 6c 6f 63 52 65 66 3a 85 5e 5e 41 6c 6c 6f 63 61 74 65 3b ┆he Stubå - allocRef: ^^Allocate;┆
0x0c40…0c60 85 7b 69 6e 73 65 72 74 65 64 81 62 79 81 74 68 65 81 53 74 75 62 7d 00 00 2a 84 65 67 6f 45 6e ┆ æinserted by the Stubå * egoEn┆
0x0c60…0c80 76 3a 87 69 70 63 4c 6f 63 52 65 66 3b 86 7b 69 6e 73 65 72 74 65 64 81 62 79 81 74 68 65 81 53 ┆v: ipcLocRef; æinserted by the S┆
0x0c80…0ca0 74 75 62 7d 00 2f 84 69 6e 74 65 72 72 75 70 74 50 74 72 3a 81 5e 5e 3b 82 7b 6b 65 72 6e 65 6c ┆tubå / interruptPtr: ^^; ækernel┆
0x0ca0…0cc0 27 73 81 69 6e 74 65 72 72 75 70 74 81 70 6f 69 6e 74 65 72 7d 00 00 12 84 69 70 63 47 61 74 65 ┆'s interrupt pointerå ipcGate┆
0x0cc0…0ce0 3a 86 67 61 74 65 52 65 66 3b 00 43 84 64 69 72 47 61 74 65 3a 86 67 61 74 65 52 65 66 3b 81 7b ┆: gateRef; C dirGate: gateRef; æ┆
0x0ce0…0d00 70 72 6f 74 65 63 74 73 81 74 68 65 81 27 64 69 72 27 2d 64 61 74 61 73 74 72 75 63 74 75 72 65 ┆protects the 'dir'-datastructure┆
0x0d00…0d20 2c 81 74 68 65 81 27 64 72 69 76 65 72 73 27 00 00 34 97 6d 61 6e 61 67 65 72 81 73 65 74 2c 81 ┆, the 'drivers' 4 manager set, ┆
0x0d20…0d40 61 6e 64 81 74 68 65 81 72 65 73 65 72 76 61 74 69 6f 6e 81 73 74 61 74 75 73 81 70 65 72 81 64 ┆and the reservation status per d┆
0x0d40…0d60 65 76 69 63 65 7d 00 45 84 64 72 69 76 65 72 73 3a 86 41 52 52 41 59 81 5b 64 65 76 6e 6f 73 5d ┆eviceå E drivers: ARRAY ÆdevnosÅ┆
0x0d60…0d80 81 4f 46 81 64 72 69 76 4c 6f 63 52 65 66 3b 81 7b 6d 61 6e 61 67 65 72 81 73 65 74 81 6f 66 81 ┆ OF drivLocRef; æmanager set of ┆
0x0d80…0da0 64 72 69 76 65 72 81 6f 62 6a 27 73 7d 00 00 43 84 6f 77 6e 53 65 74 3a 87 5e 5e 3b 81 7b 6f 77 ┆driver obj'så C ownSet: ^^; æow┆
0x0da0…0dc0 6e 65 72 81 73 65 74 81 66 6f 72 81 69 70 63 47 61 74 65 2c 81 63 6f 6d 70 6c 65 74 65 81 63 6f ┆ner set for ipcGate, complete co┆
0x0dc0…0de0 6e 64 27 73 2c 81 61 6e 64 81 62 72 65 61 6b 43 6f 6e 64 00 00 08 c1 63 6f 6e 64 27 73 7d 00 0d ┆nd's, and breakCond cond'så ┆
0x0de0…0e00 84 65 67 6f 4f 62 6a 81 3a 81 5e 5e 3b 00 00 05 82 45 4e 44 3b 00 00 04 7b 24 45 7d 00 21 7b 2a ┆ egoObj : ^^; END; æ$Eå !æ*┆
0x0e00…0e20 2a 2a 2a 2a 20 44 72 69 76 65 72 20 6f 62 6a 65 63 74 20 74 79 70 65 73 20 2a 2a 2a 2a 2a 7d 00 ┆**** Driver object types *****å ┆
0x0e20…0e40 00 30 82 64 72 69 76 44 61 74 61 3d 52 45 43 4f 52 44 82 7b 81 6c 6f 63 61 6c 81 64 61 74 61 81 ┆ 0 drivData=RECORD æ local data ┆
0x0e40…0e60 69 6e 81 44 72 69 76 65 72 81 6f 62 6a 65 63 74 81 7d 00 0f 84 64 65 76 6e 6f 3a 88 64 65 76 6e ┆in Driver object å devno: devn┆
0x0e60…0e80 6f 73 3b 00 00 10 84 72 65 73 65 72 76 3a 87 49 6f 54 79 70 65 3b 00 0d 84 6d 6f 64 65 3a 89 52 ┆os; reserv: IoType; mode: R┆
0x0e80…0ea0 45 43 4f 52 44 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 ┆ECORD ┆
0x0ea0…0ec0 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…]
0x0f00…0f20 00 12 94 74 69 6d 65 6f 75 74 3a 81 69 6e 74 65 67 65 72 3b 00 11 94 6f 70 74 69 6f 6e 73 3a 81 ┆ timeout: integer; options: ┆
0x0f20…0f40 69 6e 74 65 67 65 72 00 00 17 94 7b 72 65 74 72 69 65 73 2c 81 76 65 72 69 66 79 81 65 74 63 3f ┆integer æretries, verify etc?┆
0x0f40…0f60 7d 00 00 05 92 45 4e 44 3b 00 00 16 84 64 65 76 52 65 73 65 72 76 65 64 3a 82 69 6e 74 65 67 65 ┆å END; devReserved: intege┆
0x0f60…0f80 72 3b 00 14 84 77 61 69 74 42 72 65 61 6b 3a 84 62 6f 6f 6c 65 61 6e 3b 00 14 84 77 61 69 74 45 ┆r; waitBreak: boolean; waitE┆
0x0f80…0fa0 6d 70 74 79 3a 84 62 6f 6f 6c 65 61 6e 3b 00 11 84 63 6f 75 6e 74 3a 88 63 6f 75 6e 74 52 65 63 ┆mpty: boolean; count: countRec┆
0x0fa0…0fc0 3b 00 00 08 84 72 62 42 61 73 65 2c 00 32 84 72 62 4c 61 73 74 3a 87 69 6e 74 65 67 65 72 3b 82 ┆; rbBase, 2 rbLast: integer; ┆
0x0fc0…0fe0 7b 73 70 65 63 69 66 69 65 73 81 75 73 65 64 81 70 61 72 74 81 6f 66 81 72 65 61 64 42 75 66 7d ┆æspecifies used part of readBufå┆
0x0fe0…1000 00 2b 84 61 66 74 65 72 4e 4c 3a 86 69 6e 74 65 67 65 72 3b 82 7b 6f 6e 6c 79 81 75 73 65 64 81 ┆ + afterNL: integer; æonly used ┆
0x1000…1020 69 6e 81 55 4e 49 58 81 6d 6f 64 65 7d 00 00 10 84 7b 81 6f 6e 6c 79 81 66 6f 72 81 64 69 73 6b ┆in UNIX modeå æ only for disk┆
0x1020…1040 00 12 86 63 75 72 72 50 6f 73 3a 84 69 6e 74 65 67 65 72 3b 00 0a 86 64 69 73 63 53 69 7a 65 2c ┆ currPos: integer; discSize,┆
0x1040…1060 00 09 86 63 79 6c 53 69 7a 65 2c 00 00 15 86 62 6c 6f 63 6b 53 69 7a 65 3a 82 69 6e 74 65 67 65 ┆ cylSize, blockSize: intege┆
0x1060…1080 72 81 7d 00 00 05 82 45 4e 44 3b 00 00 01 20 00 00 20 82 62 75 66 32 35 36 3d 81 41 52 52 41 59 ┆r å END; buf256= ARRAY┆
0x1080…10a0 81 5b 31 2e 2e 32 35 36 5d 82 4f 46 81 63 68 61 72 3b 00 21 82 62 75 66 31 30 32 34 3d 41 52 52 ┆ Æ1..256Å OF char; ! buf1024=ARR┆
0x10a0…10c0 41 59 81 5b 31 2e 2e 31 30 32 34 5d 81 4f 46 81 63 68 61 72 3b 00 00 01 20 00 00 12 82 64 72 69 ┆AY Æ1..1024Å OF char; dri┆
0x10c0…10e0 76 4c 6f 63 61 6c 73 3d 52 45 43 4f 52 44 00 0a 84 63 6f 64 65 3a 86 5e 5e 3b 00 17 84 6c 6f 63 ┆vLocals=RECORD code: ^^; loc┆
0x10e0…1100 61 6c 64 61 74 61 3a 81 5e 5e 64 72 69 76 44 61 74 61 3b 00 00 1d 84 69 70 63 3a 87 69 70 63 4c ┆aldata: ^^drivData; ipc: ipcL┆
0x1100…1120 6f 63 52 65 66 3b 81 7b 74 6f 81 6d 61 6e 61 67 65 72 7d 00 00 13 84 63 6f 6d 70 6c 65 74 65 3a ┆ocRef; æto managerå complete:┆
0x1120…1140 82 63 6f 6e 64 52 65 66 3b 00 00 14 84 62 72 65 61 6b 43 6f 6e 64 3a 81 63 6f 6e 64 52 65 66 3b ┆ condRef; breakCond: condRef;┆
0x1140…1160 00 1e 84 73 63 68 65 64 51 3a 84 63 6f 6e 64 52 65 66 3b 81 7b 46 43 46 53 81 71 75 65 75 65 7d ┆ schedQ: condRef; æFCFS queueå┆
0x1160…1180 00 42 84 65 6d 70 74 79 3a 85 63 6f 6e 64 52 65 66 3b 81 7b 73 69 67 6e 61 6c 6c 65 64 81 77 68 ┆ B empty: condRef; æsignalled wh┆
0x1180…11a0 65 6e 81 6e 6f 81 70 72 6f 63 65 73 73 65 73 81 77 61 69 74 81 66 6f 72 81 69 2f 6f 81 69 6e 81 ┆en no processes wait for i/o in ┆
0x11a0…11c0 6f 62 6a 7d 00 37 84 6f 77 6e 53 65 74 3a 84 5e 5e 3b 81 7b 6f 77 6e 65 72 81 73 65 74 81 66 6f ┆objå 7 ownSet: ^^; æowner set fo┆
0x11c0…11e0 72 81 27 63 6f 6d 70 6c 65 74 65 27 81 61 6e 64 81 27 62 72 65 61 6b 43 6f 6e 64 27 7d 00 00 25 ┆r 'complete' and 'breakCond'å %┆
0x11e0…1200 84 61 75 78 42 75 66 3a 84 5e 5e 62 75 66 31 30 32 34 3b 81 7b 66 6f 72 81 55 6e 69 78 81 77 72 ┆ auxBuf: ^^buf1024; æfor Unix wr┆
0x1200…1220 69 74 65 73 7d 00 00 33 84 72 65 61 64 42 75 66 3a 83 5e 5e 62 75 66 32 35 36 3b 81 7b 6c 69 6e ┆iteså 3 readBuf: ^^buf256; ælin┆
0x1220…1240 65 81 72 65 61 64 2d 61 2d 68 65 61 64 81 69 6e 81 55 4e 49 58 81 6d 6f 64 65 7d 00 00 25 84 72 ┆e read-a-head in UNIX modeå % r┆
0x1240…1260 65 61 64 46 69 66 6f 3a 82 5e 5e 47 61 74 65 3b 81 7b 70 72 6f 74 65 63 74 73 81 72 65 61 64 42 ┆eadFifo: ^^Gate; æprotects readB┆
0x1260…1280 75 66 7d 00 00 05 82 45 4e 44 3b 00 00 04 7b 24 45 7d 00 31 7b 2a 2a 2a 2a 2a 81 45 81 58 81 54 ┆ufå END; æ$Eå 1æ***** E X T┆
0x1280…12a0 81 45 81 52 81 4e 81 41 81 4c 83 50 81 52 81 4f 81 43 81 45 81 44 81 55 81 52 81 45 81 53 81 2a ┆ E R N A L P R O C E D U R E S *┆
0x12a0…12c0 2a 2a 2a 2a 7d 00 00 33 7b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆****å 3æ***********************┆
0x12c0…12e0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 7d 00 00 12 50 52 ┆**************************å PR┆
0x12e0…1300 4f 43 45 44 55 52 45 20 73 74 61 72 74 49 70 63 00 0f 82 28 76 65 63 74 6f 72 3a 81 62 79 74 65 ┆OCEDURE startIpc (vector: byte┆
0x1300…1320 3b 00 00 10 83 64 65 76 6e 6f 3a 81 64 65 76 6e 6f 73 29 3b 00 09 82 46 4f 52 57 41 52 44 3b 00 ┆; devno: devnos); FORWARD; ┆
0x1320…1340 00 01 20 00 00 12 50 52 4f 43 45 44 55 52 45 20 69 6e 74 6d 63 63 6d 3b 00 09 82 46 4f 52 57 41 ┆ PROCEDURE intmccm; FORWA┆
0x1340…1360 52 44 3b 00 00 04 7b 24 45 7d 00 2d 7b 2a 2a 2a 2a 2a 81 47 81 4c 81 4f 81 42 81 41 81 4c 83 50 ┆RD; æ$Eå -æ***** G L O B A L P┆
0x1360…1380 81 52 81 4f 81 43 81 45 81 44 81 55 81 52 81 45 81 53 81 2a 2a 2a 2a 2a 7d 00 00 2f 7b 2a 2a 2a ┆ R O C E D U R E S *****å /æ***┆
0x1380…13a0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆********************************┆
0x13a0…13c0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 7d 00 00 01 20 00 00 11 70 72 6f 63 65 64 75 72 65 20 63 68 65 63 ┆**********å procedure chec┆
0x13c0…13e0 6b 4f 6b 00 00 13 82 28 72 65 73 3a 81 72 65 73 75 6c 74 54 79 70 65 29 3b 00 00 40 82 7b 67 65 ┆kOk (res: resultType); @ æge┆
0x13e0…1400 6e 65 72 61 74 65 73 81 65 78 63 65 70 74 69 6f 6e 81 6f 6e 81 61 81 62 61 64 81 72 65 73 75 6c ┆nerates exception on a bad resul┆
0x1400…1420 74 2c 81 62 75 74 81 64 6f 65 73 81 6e 6f 74 81 74 65 73 74 81 6f 75 74 70 75 74 7d 00 05 62 65 ┆t, but does not test outputå be┆
0x1420…1440 67 69 6e 00 00 25 82 69 66 81 72 65 73 2e 6d 61 69 6e 3c 3e 6f 6b 81 74 68 65 6e 81 65 78 63 65 ┆gin % if res.main<>ok then exce┆
0x1440…1460 70 74 69 6f 6e 28 72 65 73 29 3b 00 00 04 65 6e 64 3b 00 01 20 00 00 48 7b 20 47 65 74 4c 65 6e ┆ption(res); end; Hæ GetLen┆
0x1460…1480 67 74 68 20 61 6e 64 20 70 75 74 4c 65 6e 67 74 68 20 61 72 65 20 75 73 65 64 20 74 6f 20 69 6e ┆gth and putLength are used to in┆
0x1480…14a0 73 65 72 74 2c 20 72 65 73 70 2e 20 72 65 74 72 69 65 76 65 2c 20 74 68 65 20 6c 65 6e 67 74 68 ┆sert, resp. retrieve, the length┆
0x14a0…14c0 00 23 82 66 69 65 6c 64 73 81 69 6e 81 74 68 65 81 74 65 78 74 81 72 65 63 6f 72 64 81 66 6f 72 ┆ # fields in the text record for┆
0x14c0…14e0 6d 61 74 81 7d 00 00 04 54 59 50 45 00 1d 82 74 61 67 4d 6f 64 65 3d 28 77 6f 72 64 4d 6f 64 65 ┆mat å TYPE tagMode=(wordMode┆
0x14e0…1500 2c 62 79 74 65 4d 6f 64 65 29 3b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ┆,byteMode); ┆
0x1500…1520 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…]
0x1700…1720 00 0f 82 63 6f 6e 76 49 6e 74 3d 52 45 43 4f 52 44 00 00 26 84 66 69 6c 6c 3a 81 62 79 74 65 3b ┆ convInt=RECORD & fill: byte;┆
0x1720…1740 81 7b 74 6f 81 61 6c 69 67 6e 81 77 6f 72 64 81 61 6e 64 81 62 79 74 65 73 7d 00 15 84 43 41 53 ┆ æto align word and byteså CAS┆
0x1740…1760 45 81 74 61 67 3a 81 74 61 67 4d 6f 64 65 81 4f 46 00 00 15 86 77 6f 72 64 4d 6f 64 65 3a 81 28 ┆E tag: tagMode OF wordMode: (┆
0x1760…1780 77 3a 81 77 6f 72 64 29 3b 00 00 19 86 62 79 74 65 4d 6f 64 65 3a 81 28 75 31 2c 75 32 3a 81 62 ┆w: word); byteMode: (u1,u2: b┆
0x1780…17a0 79 74 65 29 3b 00 00 05 82 45 4e 44 3b 00 00 01 20 00 00 12 46 55 4e 43 54 49 4f 4e 20 67 65 74 ┆yte); END; FUNCTION get┆
0x17a0…17c0 4c 65 6e 67 74 68 00 12 82 28 56 41 52 81 62 3a 81 62 6c 6f 63 6b 50 74 72 29 00 0b 82 3a 81 69 ┆Length (VAR b: blockPtr) : i┆
0x17c0…17e0 6e 74 65 67 65 72 3b 00 00 13 82 56 41 52 81 63 6f 6e 76 3a 81 63 6f 6e 76 49 6e 74 3b 00 00 05 ┆nteger; VAR conv: convInt; ┆
0x17e0…1800 42 45 47 49 4e 00 00 14 82 63 6f 6e 76 2e 74 61 67 3a 3d 62 79 74 65 4d 6f 64 65 3b 00 1e 82 63 ┆BEGIN conv.tag:=byteMode; c┆
0x1800…1820 6f 6e 76 2e 75 31 3a 3d 62 5b 31 5d 3b 82 63 6f 6e 76 2e 75 32 3a 3d 62 5b 32 5d 3b 00 14 82 63 ┆onv.u1:=bÆ1Å; conv.u2:=bÆ2Å; c┆
0x1820…1840 6f 6e 76 2e 74 61 67 3a 3d 77 6f 72 64 4d 6f 64 65 3b 00 13 82 67 65 74 4c 65 6e 67 74 68 3a 3d ┆onv.tag:=wordMode; getLength:=┆
0x1840…1860 63 6f 6e 76 2e 77 3b 00 00 16 45 4e 44 20 7b 2a 2a 2a 67 65 74 4c 65 6e 67 74 68 2a 2a 2a 7d 3b ┆conv.w; END æ***getLength***å;┆
0x1860…1880 00 01 20 00 00 13 50 52 4f 43 45 44 55 52 45 20 70 75 74 4c 65 6e 67 74 68 00 00 12 82 28 56 41 ┆ PROCEDURE putLength (VA┆
0x1880…18a0 52 81 62 3a 81 62 6c 6f 63 6b 50 74 72 3b 00 12 83 6c 65 6e 67 74 68 3a 81 69 6e 74 65 67 65 72 ┆R b: blockPtr; length: integer┆
0x18a0…18c0 29 3b 00 13 82 56 41 52 81 63 6f 6e 76 3a 81 63 6f 6e 76 49 6e 74 3b 00 00 05 42 45 47 49 4e 00 ┆); VAR conv: convInt; BEGIN ┆
0x18c0…18e0 00 14 82 63 6f 6e 76 2e 74 61 67 3a 3d 77 6f 72 64 4d 6f 64 65 3b 00 10 82 63 6f 6e 76 2e 77 3a ┆ conv.tag:=wordMode; conv.w:┆
0x18e0…1900 3d 6c 65 6e 67 74 68 3b 00 14 82 63 6f 6e 76 2e 74 61 67 3a 3d 62 79 74 65 4d 6f 64 65 3b 00 1e ┆=length; conv.tag:=byteMode; ┆
0x1900…1920 82 62 5b 31 5d 3a 3d 63 6f 6e 76 2e 75 31 3b 82 62 5b 32 5d 3a 3d 63 6f 6e 76 2e 75 32 3b 00 16 ┆ bÆ1Å:=conv.u1; bÆ2Å:=conv.u2; ┆
0x1920…1940 45 4e 44 20 7b 2a 2a 2a 70 75 74 4c 65 6e 67 74 68 2a 2a 2a 7d 3b 00 01 20 00 00 0f 50 52 4f 43 ┆END æ***putLength***å; PROC┆
0x1940…1960 45 44 55 52 45 20 70 75 74 4e 4c 00 00 13 82 28 56 41 52 81 62 3a 81 62 6c 6f 63 6b 50 74 72 29 ┆EDURE putNL (VAR b: blockPtr)┆
0x1960…1980 3b 00 00 05 42 45 47 49 4e 00 00 17 82 70 75 74 4c 65 6e 67 74 68 28 62 2c 6e 6c 4c 65 6e 67 74 ┆; BEGIN putLength(b,nlLengt┆
0x1980…19a0 68 29 3b 00 00 0d 82 62 5b 33 5d 3a 3d 6e 6c 43 6f 6d 3b 00 00 12 45 4e 44 20 7b 2a 2a 2a 70 75 ┆h); bÆ3Å:=nlCom; END æ***pu┆
0x19a0…19c0 74 4e 4c 2a 2a 2a 7d 3b 00 04 7b 24 45 7d 00 1e 7b 2d 2d 2d 2d 2d 20 41 63 6b 46 69 66 6f 20 52 ┆tNL***å; æ$Eå æ----- AckFifo R┆
0x19c0…19e0 6f 75 74 69 6e 65 73 20 2d 2d 2d 2d 2d 7d 00 01 20 00 00 42 7b 83 54 68 65 81 66 6f 6c 6c 6f 77 ┆outines -----å Bæ The follow┆
0x19e0…1a00 69 6e 67 81 72 6f 75 74 69 6e 65 73 81 6f 70 65 72 61 74 65 81 6f 6e 81 74 68 65 81 41 63 6b 46 ┆ing routines operate on the AckF┆
0x1a00…1a20 69 66 6f 81 64 61 74 61 73 74 72 75 63 74 75 72 65 2e 81 54 68 65 00 43 84 41 63 6b 46 69 66 6f ┆ifo datastructure. The C AckFifo┆
0x1a20…1a40 81 69 73 81 61 81 46 49 46 4f 2d 74 79 70 65 81 71 75 65 75 65 81 66 6f 72 81 69 70 63 52 65 71 ┆ is a FIFO-type queue for ipcReq┆
0x1a40…1a60 75 65 73 74 73 81 77 61 69 74 69 6e 67 81 66 6f 72 81 61 63 63 65 73 73 81 74 6f 00 00 0d 84 74 ┆uests waiting for access to t┆
0x1a60…1a80 68 65 81 63 68 61 6e 6e 65 6c 2e 00 00 01 20 00 00 38 87 70 75 74 41 63 6b 46 69 66 6f 3a 83 69 ┆he channel. 8 putAckFifo: i┆
0x1a80…1aa0 6e 73 65 72 74 81 72 65 71 75 65 73 74 81 61 74 81 74 68 65 81 65 6e 64 81 6f 66 81 74 68 65 81 ┆nsert request at the end of the ┆
0x1aa0…1ac0 66 69 66 6f 81 71 75 65 75 65 00 26 87 67 65 74 41 63 6b 46 69 66 6f 3a 83 67 65 74 81 6e 65 78 ┆fifo queue & getAckFifo: get nex┆
0x1ac0…1ae0 74 81 72 65 71 75 65 73 74 81 69 6e 81 71 75 65 75 65 00 39 87 72 65 6d 6f 76 65 41 63 6b 46 69 ┆t request in queue 9 removeAckFi┆
0x1ae0…1b00 66 6f 3a 81 72 65 6d 6f 76 65 81 61 81 73 70 65 63 69 66 69 63 81 72 65 71 75 65 73 74 81 66 72 ┆fo: remove a specific request fr┆
0x1b00…1b20 6f 6d 81 74 68 65 81 71 75 65 75 65 2e 00 00 01 20 00 00 44 84 54 68 65 81 6e 75 6d 62 65 72 81 ┆om the queue. D The number ┆
0x1b20…1b40 6f 66 81 72 65 71 75 65 73 74 73 81 77 61 69 74 69 6e 67 81 69 6e 81 74 68 65 81 41 63 6b 46 69 ┆of requests waiting in the AckFi┆
0x1b40…1b60 66 6f 81 71 75 65 75 65 81 69 73 81 69 6e 64 69 63 61 74 65 64 81 62 79 00 32 84 27 69 70 63 52 ┆fo queue is indicated by 2 'ipcR┆
0x1b60…1b80 65 73 65 72 76 65 64 27 81 28 6e 61 6d 65 6c 79 81 6f 6e 65 81 6c 65 73 73 81 74 68 61 6e 81 74 ┆eserved' (namely one less than t┆
0x1b80…1ba0 68 69 73 81 66 69 67 75 72 65 29 2e 00 01 20 00 00 40 84 54 68 65 81 41 63 6b 46 69 66 6f 81 64 ┆his figure). @ The AckFifo d┆
0x1ba0…1bc0 61 74 61 73 74 72 75 63 74 75 72 65 81 69 73 81 64 69 6d 65 6e 73 69 6f 6e 65 64 81 73 6f 81 74 ┆atastructure is dimensioned so t┆
0x1bc0…1be0 68 61 74 81 6f 76 65 72 66 6c 6f 77 81 6e 65 76 65 72 00 33 84 6f 63 63 75 72 73 81 28 74 68 65 ┆hat overflow never 3 occurs (the┆
0x1be0…1c00 72 65 81 69 73 81 72 6f 6f 6d 81 66 6f 72 81 6f 6e 65 81 72 65 71 75 65 73 74 81 70 65 72 81 64 ┆re is room for one request per d┆
0x1c00…1c20 65 76 69 63 65 29 2e 00 00 01 7d 00 00 14 50 52 4f 43 45 44 55 52 45 20 70 75 74 41 63 6b 46 69 ┆evice). å PROCEDURE putAckFi┆
0x1c20…1c40 66 6f 00 10 82 28 64 65 76 6e 6f 3a 81 64 65 76 6e 6f 73 3b 00 11 83 56 41 52 81 63 3a 81 69 70 ┆fo (devno: devnos; VAR c: ip┆
0x1c40…1c60 63 44 61 74 61 29 3b 00 00 10 83 76 61 72 81 69 3a 81 69 6e 74 65 67 65 72 3b 00 00 00 00 00 00 ┆cData); var i: integer; ┆
0x1c60…1c80 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 ┆ ┆
[…0x4…]
0x1d00…1d20 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…]
0x1f00…1f20 00 05 42 45 47 49 4e 00 00 33 83 63 2e 61 63 6b 46 69 66 6f 4c 61 73 74 3a 3d 28 63 2e 61 63 6b ┆ BEGIN 3 c.ackFifoLast:=(c.ack┆
0x1f20…1f40 46 69 66 6f 4c 61 73 74 2b 31 29 81 4d 4f 44 81 28 6d 61 78 44 65 76 6e 6f 2b 31 29 3b 00 00 21 ┆FifoLast+1) MOD (maxDevno+1); !┆
0x1f40…1f60 83 63 2e 61 63 6b 46 69 66 6f 5b 63 2e 61 63 6b 46 69 66 6f 4c 61 73 74 5d 3a 3d 64 65 76 6e 6f ┆ c.ackFifoÆc.ackFifoLastÅ:=devno┆
0x1f60…1f80 3b 00 00 17 7b 23 62 23 20 69 3a 3d 63 2e 61 63 6b 46 69 66 6f 46 69 72 73 74 3b 00 00 27 70 72 ┆; æ#b# i:=c.ackFifoFirst; 'pr┆
0x1f80…1fa0 69 6e 74 56 61 72 28 27 5e 5e 5e 5e 70 75 74 41 63 6b 46 69 66 6f 2c 20 66 69 72 73 74 3d 20 27 ┆intVar('^^^^putAckFifo, first= '┆
0x1fa0…1fc0 2c 20 69 29 3b 00 00 11 69 3a 3d 63 2e 61 63 6b 46 69 66 6f 4c 61 73 74 3b 00 00 26 70 72 69 6e ┆, i); i:=c.ackFifoLast; &prin┆
0x1fc0…1fe0 74 56 61 72 28 27 5e 5e 5e 5e 70 75 74 41 63 6b 46 69 66 6f 2c 20 6c 61 73 74 3d 20 27 2c 20 69 ┆tVar('^^^^putAckFifo, last= ', i┆
0x1fe0…2000 29 3b 00 30 70 72 69 6e 74 56 61 72 28 27 5e 5e 5e 5e 70 75 74 41 63 6b 46 69 66 6f 2c 20 61 63 ┆); 0printVar('^^^^putAckFifo, ac┆
0x2000…2020 6b 66 69 66 6f 3d 20 27 2c 63 2e 61 63 6b 46 69 66 6f 29 3b 00 05 20 23 65 23 7d 00 00 17 45 4e ┆kfifo= ',c.ackFifo); #e#å EN┆
0x2020…2040 44 20 7b 2a 2a 2a 70 75 74 41 63 6b 46 69 66 6f 2a 2a 2a 7d 3b 00 00 01 20 00 00 25 28 2a 20 69 ┆D æ***putAckFifo***å; %(* i┆
0x2040…2060 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 20 69 6e 74 65 72 72 75 70 74 20 70 72 6f 63 65 64 75 72 ┆mplemented in interrupt procedur┆
0x2060…2080 65 00 00 13 46 55 4e 43 54 49 4f 4e 20 67 65 74 41 63 6b 46 69 66 6f 00 00 11 82 28 56 41 52 81 ┆e FUNCTION getAckFifo (VAR ┆
0x2080…20a0 63 3a 81 69 70 63 44 61 74 61 29 00 00 0a 82 3a 81 64 65 76 6e 6f 73 3b 00 05 42 45 47 49 4e 00 ┆c: ipcData) : devnos; BEGIN ┆
0x20a0…20c0 00 27 82 67 65 74 41 63 6b 46 69 66 6f 3a 3d 63 2e 61 63 6b 46 69 66 6f 5b 63 2e 61 63 6b 46 69 ┆ ' getAckFifo:=c.ackFifoÆc.ackFi┆
0x20c0…20e0 66 6f 46 69 72 73 74 5d 3b 00 00 35 82 63 2e 61 63 6b 46 69 66 6f 46 69 72 73 74 3a 3d 28 63 2e ┆foFirstÅ; 5 c.ackFifoFirst:=(c.┆
0x20e0…2100 61 63 6b 46 69 66 6f 46 69 72 73 74 2b 31 29 81 4d 4f 44 81 28 6d 61 78 44 65 76 6e 6f 2b 31 29 ┆ackFifoFirst+1) MOD (maxDevno+1)┆
0x2100…2120 3b 00 00 17 45 4e 44 20 7b 2a 2a 2a 67 65 74 41 63 6b 46 69 66 6f 2a 2a 2a 7d 3b 00 00 02 2a 29 ┆; END æ***getAckFifo***å; *)┆
0x2120…2140 00 13 28 2a 20 72 65 6d 6f 76 65 64 20 38 33 2d 30 34 2d 32 35 00 00 17 50 52 4f 43 45 44 55 52 ┆ (* removed 83-04-25 PROCEDUR┆
0x2140…2160 45 20 72 65 6d 6f 76 65 41 63 6b 46 69 66 6f 00 00 10 82 28 64 65 76 6e 6f 3a 81 64 65 76 6e 6f ┆E removeAckFifo (devno: devno┆
0x2160…2180 73 3b 00 11 83 56 41 52 81 63 3a 81 69 70 63 44 61 74 61 29 3b 00 00 0f 82 56 41 52 81 69 3a 81 ┆s; VAR c: ipcData); VAR i: ┆
0x2180…21a0 64 65 76 6e 6f 73 3b 00 00 05 42 45 47 49 4e 00 00 1a 82 7b 61 73 73 65 72 74 3a 81 63 2e 69 70 ┆devnos; BEGIN æassert: c.ip┆
0x21a0…21c0 63 52 65 73 65 72 76 65 64 3e 30 7d 00 13 82 69 3a 3d 63 2e 61 63 6b 46 69 66 6f 46 69 72 73 74 ┆cReserved>0å i:=c.ackFifoFirst┆
0x21c0…21e0 3b 00 00 32 82 57 48 49 4c 45 81 63 2e 61 63 6b 46 69 66 6f 5b 69 5d 3c 3e 64 65 76 6e 6f 81 41 ┆; 2 WHILE c.ackFifoÆiÅ<>devno A┆
0x21e0…2200 4e 44 81 69 3c 3e 63 2e 61 63 6b 46 69 66 6f 4c 61 73 74 81 44 4f 00 1b 84 69 3a 3d 28 69 2b 31 ┆ND i<>c.ackFifoLast DO i:=(i+1┆
0x2200…2220 29 81 4d 4f 44 81 28 6d 61 78 44 65 76 6e 6f 2b 31 29 3b 00 00 05 82 45 4e 44 3b 00 00 34 82 49 ┆) MOD (maxDevno+1); END; 4 I┆
0x2220…2240 46 81 63 2e 61 63 6b 46 69 66 6f 5b 69 5d 3c 3e 64 65 76 6e 6f 81 54 48 45 4e 81 65 78 63 65 70 ┆F c.ackFifoÆiÅ<>devno THEN excep┆
0x2240…2260 74 69 6f 6e 28 73 79 73 74 65 6d 45 72 72 6f 72 29 3b 00 20 82 57 48 49 4c 45 81 69 3c 3e 63 2e ┆tion(systemError); WHILE i<>c.┆
0x2260…2280 61 63 6b 46 69 66 6f 4c 61 73 74 81 44 4f 81 42 45 47 49 4e 00 31 84 63 2e 61 63 6b 46 69 66 6f ┆ackFifoLast DO BEGIN 1 c.ackFifo┆
0x2280…22a0 5b 69 5d 3a 3d 63 2e 61 63 6b 46 69 66 6f 5b 28 69 2b 31 29 81 4d 4f 44 81 28 6d 61 78 44 65 76 ┆ÆiÅ:=c.ackFifoÆ(i+1) MOD (maxDev┆
0x22a0…22c0 6e 6f 2b 31 29 5d 3b 00 00 1b 84 69 3a 3d 28 69 2b 31 29 81 4d 4f 44 81 28 6d 61 78 44 65 76 6e ┆no+1)Å; i:=(i+1) MOD (maxDevn┆
0x22c0…22e0 6f 2b 31 29 3b 00 00 05 82 45 4e 44 3b 00 00 3a 82 63 2e 61 63 6b 46 69 66 6f 4c 61 73 74 3a 3d ┆o+1); END; : c.ackFifoLast:=┆
[…truncated at 200 lines…]