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 /* ------------------------------------------------------------------------ */
16 decode_c_lzs( /*void*/ )
22 matchpos = getbits(11);
23 return getbits(4) + 0x100;
27 /* ------------------------------------------------------------------------ */
30 decode_p_lzs( /*void*/ )
32 return (loc - matchpos - MAGIC0) & 0x7ff;
35 /* ------------------------------------------------------------------------ */
38 decode_start_lzs( /*void*/ )
44 /* ------------------------------------------------------------------------ */
47 decode_c_lz5( /*void*/ )
57 if ((flag & 1) == 0) {
60 matchpos += (c & 0xf0) << 4;
68 /* ------------------------------------------------------------------------ */
71 decode_p_lz5( /*void*/ )
73 return (loc - matchpos - MAGIC5) & 0xfff;
76 /* ------------------------------------------------------------------------ */
79 decode_start_lz5( /*void*/ )
84 for (i = 0; i < 256; i++)
85 memset(&text[i * 13 + 18], i, 13);
86 for (i = 0; i < 256; i++)
87 text[256 * 13 + 18 + i] = i;
88 for (i = 0; i < 256; i++)
89 text[256 * 13 + 256 + 18 + i] = 255 - i;
90 memset(&text[256 * 13 + 512 + 18], 0, 128);
91 memset(&text[256 * 13 + 512 + 128 + 18], ' ', 128 - 18);