--File PressCompressDefs.mesa --Last edited February 22, 1982 3:44 PM By Glen Williams -- --DIRECTORY -- TridentDefs USING [FP, PAGE, tfsdskPtr, VDA]; PressCompressDefs: DEFINITIONS = BEGIN --OPEN TridentDefs; --Types and Variables CompressSpec: TYPE = POINTER TO CompressSpecRec; CompressSpecRec: TYPE = RECORD [src1: POINTER TO ARRAY OF WORD, --this buffer is overwritten src2: POINTER TO ARRAY OF WORD, --this buffer is not destroyed sink: PROCEDURE[nib: NibbleRunSpec], srcLen: CARDINAL, --length of source buffers + 1 word (for overflow of bit-shifts) nibbleSize: CARDINAL --size of nibble (either all 0's or all 1's). ];l2999e1k72(0,3648)(1,6112)(2,8672)\i88I2i1I1i61I1b17B23i20I2bi22BI1b12B37b15B52i26I37i30I36i2I18i64I1i1I23i43I1i1I2i Color: TYPE = {white, black}; NibbleSpecType: TYPE = {atom, run}; --specifies either one nibble or many NibbleRunSpec: TYPE = MACHINE DEPENDENT RECORD [ fILLER: [0..377B], descriptorType: SELECT type: NibbleSpecType FROM run => [color: Color, nibbleCt: NibbleRange], atom => [thisNibble: [0..177B]], ENDCASE ]; RunState: TYPE = {zeros, ones, random}; NibbleRange: TYPE = [0..77B]; remTable: ARRAY [0..nibbleSize] OF CARDINAL; nibbleSize: CARDINAL = 7; --Procedures --Usually from PressNetDecompressor.mesa OpenDecompressor: PUBLIC PROCEDURE [scanLen, nibbleSize: CARDINAL]; NextLine: PUBLIC PROC[]; GetNibble: PUBLIC PROC[nib: NibbleRunSpec]; CloseDecompressor: PUBLIC PROC []; CompareLines: PROC[original: POINTER TO ARRAY OF WORD] RETURNS [same: BOOLEAN _ TRUE]; END. --of PressDefs (635)\b5B1b1B23b14B22i38bI13B126b5B75i1bI9B31b11B19b9B36b13B14b14B3i39bI16B20f5 29f0 3b8B17b9B33b1B1b17B18b12B81i