home *** CD-ROM | disk | FTP | other *** search
- (*---------------------------------------------------------------------------*)
- (*LDVari.pas ò╧Éöü@ (C) ÄOû╪ÿaòF NIFTY SDR SDI00147 1989/7/1 *)
- (*$B-,F-,I-,N- *)
- (*---------------------------------------------------------------------------*)
- UNIT LDVari;
-
-
- INTERFACE
-
-
- USES
- Dos,
- MyType;
-
-
- TYPE BFILE = RECORD
- Handle : WORD;
- Name : ARRAY[0..79] OF CHAR;
- OpenFlg : BOOLEAN;
- Path : DirStr;
- END;
- (*****************************************************************************)
- LHdr = RECORD
- LNum : BYTE; { 1 0}
- LCSum : BYTE; { 1 1}
- LHdrID : ARRAY[1..2] OF CHAR; { 2 2}
- LHdrSID : ARRAY[1..3] OF CHAR; { 3 4}
- LSize : LONGINT; { 4 7}
- LFSize : LONGINT; { 4 11}
- LTime : LONGINT; { 4 15}
- LCrc : WORD; { 2 2}
- LFName : STRING; {256 21}
- END;
- L2Hdr = RECORD
- LOldCrc : WORD; { 2 0}
- LOldFSize : LONGINT; { 4 2}
- LCTYPE : CHAR; { 1 6}
- LEI : BYTE; { 1 7}
- LEJ : BYTE; { 1 8}
- LOldName : STRING; {256 9}
- END;
- L3Hdr = RECORD
- LOSType : CHAR; { 1 0}
- LAttr : WORD; { 2 1}
- END;
- (*****************************************************************************)
- TYPE LzdRec = RECORD
- NewName : Str12;
- NewAttr : WORD;
- NewTime : LONGINT;
- NewFSize : LONGINT;
- NewSize : LONGINT;
- NewHSize : BYTE;
- NewCrc : WORD;
- OldCrc : WORD;
- OldFSize : LONGINT;
- OldName : Str12;
- EI : BYTE;
- EJ : BYTE;
- CTYPE : CHAR;
- END;
- VAR LzdFN : LzdRec;
- (*****************************************************************************)
- CONST
- RemarkTopMsg = 0;
- RemarkEndMsg = 12;
- TitleMsg = 13;
- LineMsg = 14;
- UsageTopMsg = 15;
- UsageEndMsg = 19;
- (* Message *)
- CopyRightMsg = 20;
- OldFileMsg = 21;
- OldFileOKMsg = 22;
- CreatingMsg = 23;
- FromMsg = 24;
- WithMsg = 25;
- ExtractOKMsg = 26;
- OverWriteMsg = 27;
- RatioMsg = 28;
- (* Err Type 1 *)
- LzdFNameErMsg = 29;
- CommandErMsg = 30;
- CantOpenErMsg = 31;
- ReadingErMsg = 32;
- WritingErMsg = 33;
- DiskFullErMsg = 34;
- CantCreateErMsg = 35;
- FileOpenMaxErMsg = 36;
- StopErMsg = 37;
- HeapErMsg = 38;
- DosVerErMsg = 39;
- CommandLineErMsg = 40;
- IsNotLzdErMsg = 41;
- NewVerErMsg = 42;
- CanNotFoundErMsg = 43;
- OldFSizeErMsg = 44;
- OldCrcErMsg = 45;
- DecodeErMsg = 46;
- EncodeErMsg = 47;
- FatalErMsg = 48;
- UnKnownErMsg = 49;
- LzsErMsg = 50;
- LzhErMsg = 51;
- Wait150Msg = 52;
- Wait200Msg = 53;
-
- LzdExt = '.LZD';
- TName1 = 'LZSS_WRK.)1(';
-
- CMD : CHAR = NUL;
- CMDSET : CSet = ['H','X','C','T'];
- LzdFName : PathStr = '';
- NewFName : PathStr = '';
- OldFName : PathStr = '';
- CrcTable : ARRAY[0..$FF] OF WORD = (
- $0000,$C0C1,$C181,$0140,$C301,$03C0,$0280,$C241,
- $C601,$06C0,$0780,$C741,$0500,$C5C1,$C481,$0440,
- $CC01,$0CC0,$0D80,$CD41,$0F00,$CFC1,$CE81,$0E40,
- $0A00,$CAC1,$CB81,$0B40,$C901,$09C0,$0880,$C841,
- $D801,$18C0,$1980,$D941,$1B00,$DBC1,$DA81,$1A40,
- $1E00,$DEC1,$DF81,$1F40,$DD01,$1DC0,$1C80,$DC41,
- $1400,$D4C1,$D581,$1540,$D701,$17C0,$1680,$D641,
- $D201,$12C0,$1380,$D341,$1100,$D1C1,$D081,$1040,
- $F001,$30C0,$3180,$F141,$3300,$F3C1,$F281,$3240,
- $3600,$F6C1,$F781,$3740,$F501,$35C0,$3480,$F441,
- $3C00,$FCC1,$FD81,$3D40,$FF01,$3FC0,$3E80,$FE41,
- $FA01,$3AC0,$3B80,$FB41,$3900,$F9C1,$F881,$3840,
- $2800,$E8C1,$E981,$2940,$EB01,$2BC0,$2A80,$EA41,
- $EE01,$2EC0,$2F80,$EF41,$2D00,$EDC1,$EC81,$2C40,
- $E401,$24C0,$2580,$E541,$2700,$E7C1,$E681,$2640,
- $2200,$E2C1,$E381,$2340,$E101,$21C0,$2080,$E041,
- $A001,$60C0,$6180,$A141,$6300,$A3C1,$A281,$6240,
- $6600,$A6C1,$A781,$6740,$A501,$65C0,$6480,$A441,
- $6C00,$ACC1,$AD81,$6D40,$AF01,$6FC0,$6E80,$AE41,
- $AA01,$6AC0,$6B80,$AB41,$6900,$A9C1,$A881,$6840,
- $7800,$B8C1,$B981,$7940,$BB01,$7BC0,$7A80,$BA41,
- $BE01,$7EC0,$7F80,$BF41,$7D00,$BDC1,$BC81,$7C40,
- $B401,$74C0,$7580,$B541,$7700,$B7C1,$B681,$7640,
- $7200,$B2C1,$B381,$7340,$B101,$71C0,$7080,$B041,
- $5000,$90C1,$9181,$5140,$9301,$53C0,$5280,$9241,
- $9601,$56C0,$5780,$9741,$5500,$95C1,$9481,$5440,
- $9C01,$5CC0,$5D80,$9D41,$5F00,$9FC1,$9E81,$5E40,
- $5A00,$9AC1,$9B81,$5B40,$9901,$59C0,$5880,$9841,
- $8801,$48C0,$4980,$8941,$4B00,$8BC1,$8A81,$4A40,
- $4E00,$8EC1,$8F81,$4F40,$8D01,$4DC0,$4C80,$8C41,
- $4400,$84C1,$8581,$4540,$8701,$47C0,$4680,$8641,
- $8201,$42C0,$4380,$8341,$4100,$81C1,$8081,$4040);
- VAR
- CRC : WORD;
- MaxLTime : LONGINT;
- NewFVar : BFILE;
- LzdFVar : BFILE;
- OldFVar : BFILE;
- WrkFVar : BFILE;
-
- lh1 : LHdr;
- lh2 : L2Hdr;
- lh3 : L3Hdr;
- buf1 : ARRAY[0..2000] OF BYTE ABSOLUTE lh1;
- buf2 : ARRAY[0..2000] OF BYTE ABSOLUTE lh2;
- buf3 : ARRAY[0..2000] OF BYTE ABSOLUTE lh3;
-
- rbuff : ARRAY[1..$8003] OF BYTE;
- wbuff : ARRAY[1..$1000] OF BYTE;
- DicSeg : WORD;
-
- TYPE
- buftype = ARRAY[1..$8000] OF BYTE;
- VAR
- DicBuf : ^buftype;
- DicBuf2 : ^buftype;
- DicBuf3 : ^buftype;
- DicBuf4 : ^buftype;
- DicBuf5 : ^buftype;
- DicBuf6 : ^buftype;
- DicBuf7 : ^buftype;
- DicBuf8 : ^buftype;
-
-
- IMPLEMENTATION
-
-
- END.