1 /* ------------------------------------------------------------------------ */
3 /* larc.c -- extra *.lzs */
5 /* Modified Nobutaka Watazaki */
7 /* Ver. 1.14 Source All chagned 1995.01.14 N.Watazaki */
8 /* ------------------------------------------------------------------------ */
11 /* ------------------------------------------------------------------------ */
12 static int flag, flagcnt, matchpos;
13 /* ------------------------------------------------------------------------ */
15 decode_c_lzs( /*void*/ )
21 matchpos = getbits(11);
22 return getbits(4) + 0x100;
26 /* ------------------------------------------------------------------------ */
28 decode_p_lzs( /*void*/ )
30 return (loc - matchpos - MAGIC0) & 0x7ff;
33 /* ------------------------------------------------------------------------ */
35 decode_start_lzs( /*void*/ )
41 /* ------------------------------------------------------------------------ */
43 decode_c_lz5( /*void*/ )
53 if ((flag & 1) == 0) {
56 matchpos += (c & 0xf0) << 4;
64 /* ------------------------------------------------------------------------ */
66 decode_p_lz5( /*void*/ )
68 return (loc - matchpos - MAGIC5) & 0xfff;
71 /* ------------------------------------------------------------------------ */
73 decode_start_lz5( /*void*/ )
78 for (i = 0; i < 256; i++)
79 memset(&text[i * 13 + 18], i, 13);
80 for (i = 0; i < 256; i++)
81 text[256 * 13 + 18 + i] = i;
82 for (i = 0; i < 256; i++)
83 text[256 * 13 + 256 + 18 + i] = 255 - i;
84 memset(&text[256 * 13 + 512 + 18], 0, 128);
85 memset(&text[256 * 13 + 512 + 128 + 18], ' ', 128 - 18);
87 /* Local Variables: */
90 /* vi: set tabstop=4: */