From 633089d320b2be09708b9cc89085040cf8073624 Mon Sep 17 00:00:00 2001 From: Yourtion Date: Thu, 19 May 2016 13:01:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=8E=8B=E7=BC=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 29_day/app_make.txt | 16 +- 29_day/haribote/Makefile | 2 +- 29_day/haribote/bootpack.c | 8 +- 29_day/haribote/bootpack.h | 5 + 29_day/haribote/console.c | 14 +- 29_day/haribote/file.c | 20 ++ 29_day/haribote/tek.c | 646 ++++++++++++++++++++++++++++++++++++ 29_day/hello4/Makefile | 3 + 29_day/hello5/Makefile | 3 + 29_day/nihongo/nihongo.fnt | Bin 145472 -> 58009 bytes 29_day/nihongo/nihongo.org | Bin 0 -> 145472 bytes 29_day/tek/autodec_.c | 649 +++++++++++++++++++++++++++++++++++++ 29_day/tek/tek.c | 646 ++++++++++++++++++++++++++++++++++++ 29_day/winhelo/Makefile | 4 + 14 files changed, 2000 insertions(+), 16 deletions(-) create mode 100644 29_day/haribote/tek.c create mode 100644 29_day/nihongo/nihongo.org create mode 100644 29_day/tek/autodec_.c create mode 100644 29_day/tek/tek.c diff --git a/29_day/app_make.txt b/29_day/app_make.txt index 2bca4bc..30421f4 100644 --- a/29_day/app_make.txt +++ b/29_day/app_make.txt @@ -11,6 +11,7 @@ OBJ2BIM = $(TOOLPATH)obj2bim.exe MAKEFONT = $(TOOLPATH)makefont.exe BIN2OBJ = $(TOOLPATH)bin2obj.exe BIM2HRB = $(TOOLPATH)bim2hrb.exe +BIM2BIN = $(TOOLPATH)bim2bin.exe RULEFILE = ../haribote.rul EDIMG = $(TOOLPATH)edimg.exe IMGTOL = $(TOOLPATH)imgtol.com @@ -29,15 +30,13 @@ $(APP).bim : $(APP).obj $(APILIBPATH)apilib.lib Makefile ../app_make.txt $(OBJ2BIM) @$(RULEFILE) out:$(APP).bim map:$(APP).map stack:$(STACK) \ $(APP).obj $(APILIBPATH)apilib.lib -$(APP).hrb : $(APP).bim Makefile ../app_make.txt - $(BIM2HRB) $(APP).bim $(APP).hrb $(MALLOC) - -haribote.img : ../haribote/ipl10.bin ../haribote/haribote.sys $(APP).hrb \ +haribote.img : ../haribote/ipl20.bin ../haribote/haribote.sys $(APP).hrb \ Makefile ../app_make.txt $(EDIMG) imgin:../../z_tools/fdimg0at.tek \ - wbinimg src:../haribote/ipl10.bin len:512 from:0 to:0 \ + wbinimg src:../haribote/ipl20.bin len:512 from:0 to:0 \ copy from:../haribote/haribote.sys to:@: \ copy from:$(APP).hrb to:@: \ + copy from:../nihongo/nihongo.fnt to:@: \ imgout:haribote.img #一般规则 @@ -51,6 +50,12 @@ haribote.img : ../haribote/ipl10.bin ../haribote/haribote.sys $(APP).hrb \ %.obj : %.nas Makefile ../app_make.txt $(NASK) $*.nas $*.obj $*.lst +%.org : %.bim Makefile ../app_make.txt + $(BIM2HRB) $*.bim $*.org $(MALLOC) + +%.hrb : %.org Makefile ../app_make.txt + $(BIM2BIN) -osacmp in:$*.org out:$*.hrb + #命令 run : @@ -72,6 +77,7 @@ clean : -$(DEL) *.obj -$(DEL) *.map -$(DEL) *.bim + -$(DEL) *.org -$(DEL) haribote.img src_only : diff --git a/29_day/haribote/Makefile b/29_day/haribote/Makefile index 374bba7..a5dd10c 100644 --- a/29_day/haribote/Makefile +++ b/29_day/haribote/Makefile @@ -1,6 +1,6 @@ OBJS_BOOTPACK = bootpack.obj naskfunc.obj hankaku.obj graphic.obj dsctbl.obj \ int.obj fifo.obj keyboard.obj mouse.obj memory.obj sheet.obj timer.obj \ - mtask.obj window.obj console.obj file.obj + mtask.obj window.obj console.obj file.obj tek.obj TOOLPATH = ../../z_tools/ INCPATH = ../../z_tools/haribote/ diff --git a/29_day/haribote/bootpack.c b/29_day/haribote/bootpack.c index 92754c6..4a0000b 100644 --- a/29_day/haribote/bootpack.c +++ b/29_day/haribote/bootpack.c @@ -106,15 +106,17 @@ void HariMain(void) fifo32_put(&keycmd, key_leds); /* 载入nihongo.fnt */ - nihongo = (unsigned char *) memman_alloc_4k(memman, 16 * 256 + 32 * 94 * 47); fat = (int *) memman_alloc_4k(memman, 4 * 2880); file_readfat(fat, (unsigned char *) (ADR_DISKIMG + 0x000200)); + finfo = file_search("nihongo.fnt", (struct FILEINFO *) (ADR_DISKIMG + 0x002600), 224); if (finfo != 0) { - file_loadfile(finfo->clustno, finfo->size, nihongo, fat, (char *) (ADR_DISKIMG + 0x003e00)); + i = finfo->size; + nihongo = file_loadfile2(finfo->clustno, &i, fat); } else { + nihongo = (unsigned char *) memman_alloc_4k(memman, 16 * 256 + 32 * 94 * 47); for (i = 0; i < 16 * 256; i++) { - nihongo[i] = hankaku[i]; /* 没有字库,半角部分直接复制英文字库 */ + nihongo[i] = hankaku[i]; /*没有字库,半角部分直接复制英文字库*/ } for (i = 16 * 256; i < 16 * 256 + 32 * 94 * 47; i++) { nihongo[i] = 0xff; /* 没有字库,全角部分以0xff填充 */ diff --git a/29_day/haribote/bootpack.h b/29_day/haribote/bootpack.h index f2e8243..bb195ff 100644 --- a/29_day/haribote/bootpack.h +++ b/29_day/haribote/bootpack.h @@ -286,7 +286,12 @@ struct FILEINFO { void file_readfat(int *fat, unsigned char *img); void file_loadfile(int clustno, int size, char *buf, int *fat, char *img); struct FILEINFO *file_search(char *name, struct FILEINFO *finfo, int max); +char *file_loadfile2(int clustno, int *psize, int *fat); /* bootpack.c */ struct TASK *open_constask(struct SHEET *sht, unsigned int memtotal); struct SHEET *open_console(struct SHTCTL *shtctl, unsigned int memtotal); + +/* tek.c */ +int tek_getsize(unsigned char *p); +int tek_decomp(unsigned char *p, char *q, int size); diff --git a/29_day/haribote/console.c b/29_day/haribote/console.c index b231d2b..44047b0 100644 --- a/29_day/haribote/console.c +++ b/29_day/haribote/console.c @@ -350,7 +350,7 @@ int cmd_app(struct CONSOLE *cons, int *fat, char *cmdline) struct SEGMENT_DESCRIPTOR *gdt = (struct SEGMENT_DESCRIPTOR *) ADR_GDT; char name[18], *p, *q; struct TASK *task = task_now(); - int i, segsiz, datsiz, esp, dathrb; + int i, segsiz, datsiz, esp, dathrb, appsiz; struct SHTCTL *shtctl; struct SHEET *sht; @@ -376,10 +376,10 @@ int cmd_app(struct CONSOLE *cons, int *fat, char *cmdline) } if (finfo != 0) { - /*找到文件的情况*/ - p = (char *) memman_alloc_4k(memman, finfo->size); - file_loadfile(finfo->clustno, finfo->size, p, fat, (char *) (ADR_DISKIMG + 0x003e00)); - if (finfo->size >= 36 && strncmp(p + 4, "Hari", 4) == 0 && *p == 0x00) { + /*如果找到文件*/ + appsiz = finfo->size; + p = file_loadfile2(finfo->clustno, &appsiz, fat); + if (appsiz >= 36 && strncmp(p + 4, "Hari", 4) == 0 && *p == 0x00) { segsiz = *((int *) (p + 0x0000)); esp = *((int *) (p + 0x000c)); datsiz = *((int *) (p + 0x0010)); @@ -412,7 +412,7 @@ int cmd_app(struct CONSOLE *cons, int *fat, char *cmdline) } else { cons_putstr0(cons, ".hrb file format error.\n"); } - memman_free_4k(memman, (int) p, finfo->size); + memman_free_4k(memman, (int) p, appsiz); cons_newline(cons); return 1; } @@ -566,7 +566,7 @@ int *hrb_api(int edi, int esi, int ebp, int esp, int ebx, int edx, int ecx, int fh->buf = (char *) memman_alloc_4k(memman, finfo->size); fh->size = finfo->size; fh->pos = 0; - file_loadfile(finfo->clustno, finfo->size, fh->buf, task->fat, (char *) (ADR_DISKIMG + 0x003e00)); + file_loadfile2(finfo->clustno, &fh->size, task->fat); } } } else if (edx == 22) { diff --git a/29_day/haribote/file.c b/29_day/haribote/file.c index bf9d063..a4bf405 100644 --- a/29_day/haribote/file.c +++ b/29_day/haribote/file.c @@ -72,3 +72,23 @@ next: } return 0; /*没有找到*/ } + +char *file_loadfile2(int clustno, int *psize, int *fat) +{ + int size = *psize, size2; + struct MEMMAN *memman = (struct MEMMAN *) MEMMAN_ADDR; + char *buf, *buf2; + buf = (char *) memman_alloc_4k(memman, size); + file_loadfile(clustno, size, buf, fat, (char *) (ADR_DISKIMG + 0x003e00)); + if (size >= 17) { + size2 = tek_getsize(buf); + if (size2 > 0) { /*使用tek格式压缩的文件*/ + buf2 = (char *) memman_alloc_4k(memman, size2); + tek_decomp(buf, buf2, size2); + memman_free_4k(memman, (int) buf, size); + buf = buf2; + *psize = size2; + } + } + return buf; +} diff --git a/29_day/haribote/tek.c b/29_day/haribote/tek.c new file mode 100644 index 0000000..4062dcc --- /dev/null +++ b/29_day/haribote/tek.c @@ -0,0 +1,646 @@ +#include "bootpack.h" +#include +#include +#define NULL 0 + +typedef unsigned char UCHAR; +typedef unsigned int UINT32; +typedef UINT32 tek_TPRB; + +static int tek_decode1(int siz, UCHAR *p, UCHAR *q); +static int tek_decode2(int siz, UCHAR *p, UCHAR *q); +static int tek_decode5(int siz, UCHAR *p, UCHAR *q); + +static unsigned int tek_getnum_s7s(UCHAR **pp) +{ + unsigned int s = 0; + UCHAR *p = *pp; + do { + s = s << 7 | *p++; + } while ((s & 1) == 0); + s >>= 1; + *pp = p; + return s; +} + +int tek_getsize(unsigned char *p) +{ + static char header[15] = { + 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x4f, 0x53, 0x41, 0x53, 0x4b, 0x43, 0x4d, 0x50 + }; + int size = -1; + if (memcmp(p + 1, header, 15) == 0 && (*p == 0x83 || *p == 0x85 || *p == 0x89)) { + p += 16; + size = tek_getnum_s7s(&p); + } + return size; +} /* (注)memcmp和strncmp差不多,这个函数忽略字符串中的0并一直比较到指定的15个字符为止*/ + +int tek_decomp(unsigned char *p, char *q, int size) +{ + int err = -1; + if (*p == 0x83) { + err = tek_decode1(size, p, q); + } else if (*p == 0x85) { + err = tek_decode2(size, p, q); + } else if (*p == 0x89) { + err = tek_decode5(size, p, q); + } + if (err != 0) { + return -1; /*失败*/ + } + return 0; /*成功*/ +} + +static int tek_lzrestore_stk1(int srcsiz, UCHAR *src, int outsiz, UCHAR *q) +{ + int by, lz, cp, ds; + UCHAR *q1 = q + outsiz, *s7ptr = src, *q0 = q; + do { + if ((by = (lz = *s7ptr++) & 0x0f) == 0) + by = tek_getnum_s7s(&s7ptr); + if ((lz >>= 4) == 0) + lz = tek_getnum_s7s(&s7ptr); + do { + *q++ = *s7ptr++; + } while (--by); + if (q >= q1) + break; + do { + ds = (cp = *s7ptr++) & 0x0f; + if ((ds & 1) == 0) { + do { + ds = ds << 7 | *s7ptr++; + } while ((ds & 1) == 0); + } + ds = ~(ds >> 1); + if ((cp >>= 4) == 0) { + do { + cp = cp << 7 | *s7ptr++; + } while ((cp & 1) == 0); + cp >>= 1; + } + cp++; + if (q + ds < q0) + goto err; + if (q + cp > q1) + cp = q1 - q; + do { + *q = *(q + ds); + q++; + } while (--cp); + } while (--lz); + } while (q < q1); + return 0; +err: + return 1; +} + +static int tek_decode1(int siz, UCHAR *p, UCHAR *q) +{ + int dsiz, hed, bsiz; + UCHAR *p1 = p + siz; + p += 16; + if ((dsiz = tek_getnum_s7s(&p)) > 0) { + hed = tek_getnum_s7s(&p); + bsiz = 1 << (((hed >> 1) & 0x0f) + 8); + if (dsiz > bsiz || (hed & 0x21) != 0x01) + return 1; + if (hed & 0x40) + tek_getnum_s7s(&p); + if (tek_getnum_s7s(&p) != 0) + return 1; + return tek_lzrestore_stk1(p1 - p, p, dsiz, q); + } + return 0; +} + +static unsigned int tek_getnum_s7(UCHAR **pp) +{ + unsigned int s = 0, b = 0, a = 1; + UCHAR *p = *pp; + for (;;) { + s = s << 7 | *p++; + if (s & 1) + break; + a <<= 7; + b += a; + } + s >>= 1; + *pp = p; + return s + b; +} + +static int tek_lzrestore_stk2(int srcsiz, UCHAR *src, int outsiz, UCHAR *q) +{ + int cp, ds, repdis[4], i, j; + UCHAR *q1 = q + outsiz, *s7ptr = src, *q0 = q, bylz, cbylz; + for (j = 0; j < 4; j++) + repdis[j] = -1 - j; + bylz = cbylz = 0; + if (outsiz) { + if (tek_getnum_s7s(&s7ptr)) + return 1; + do { + j = 0; + do { + j++; + if (j >= 17) { + j += tek_getnum_s7s(&s7ptr); + break; + } + if (cbylz == 0) { + cbylz = 8; + bylz = *s7ptr++; + } + cbylz--; + i = bylz & 1; + bylz >>= 1; + } while (i == 0); + do { + *q++ = *s7ptr++; + } while (--j); + if (q >= q1) + break; + + j = 0; + do { + j++; + if (j >= 17) { + j += tek_getnum_s7s(&s7ptr); + break; + } + if (cbylz == 0) { + cbylz = 8; + bylz = *s7ptr++; + } + cbylz--; + i = bylz & 1; + bylz >>= 1; + } while (i == 0); + do { + i = *s7ptr++; + cp = i >> 4; + i &= 0x0f; + if ((i & 1) == 0) + i |= (tek_getnum_s7(&s7ptr) + 1) << 4; + i >>= 1; + ds = ~(i - 6); + if (i < 4) + ds = repdis[i]; + if (i == 4) + ds = repdis[0] - tek_getnum_s7(&s7ptr) - 1; + if (i == 5) + ds = repdis[0] + tek_getnum_s7(&s7ptr) + 1; + if (cp == 0) + cp = tek_getnum_s7(&s7ptr) + 16; + cp++; + if (i > 0) { + if (i > 1) { + if (i > 2) + repdis[3] = repdis[2]; + repdis[2] = repdis[1]; + } + repdis[1] = repdis[0]; + repdis[0] = ds; + } + if (q + ds < q0) + goto err; + if (q + cp > q1) + cp = q1 - q; + do { + *q = *(q + ds); + q++; + } while (--cp); + } while (--j); + } while (q < q1); + } + return 0; +err: + return 1; +} + +static int tek_decode2(int siz, UCHAR *p, UCHAR *q) +{ + UCHAR *p1 = p + siz; + int dsiz, hed, bsiz, st = 0; + p += 16; + if ((dsiz = tek_getnum_s7s(&p)) > 0) { + hed = tek_getnum_s7s(&p); + bsiz = 1 << (((hed >> 1) & 0x0f) + 8); + if (dsiz > bsiz || (hed & 0x21) != 0x01) + return 1; + if (hed & 0x40) + tek_getnum_s7s(&p); + st = tek_lzrestore_stk2(p1 - p, p, dsiz, q); + } + return st; +} + +static int tek_decmain5(int *work, UCHAR *src, int osiz, UCHAR *q, int lc, int pb, int lp, int flags); + +static int tek_lzrestore_tek5(int srcsiz, UCHAR *src, int outsiz, UCHAR *outbuf) +{ + int wrksiz, lc, lp, pb, flags, *work, prop0, fl; + + if ((fl = (prop0 = *src) & 0x0f) == 0x01) /* 0001 */ + flags |= -1; + else if (fl == 0x05) + flags = -2; + else if (fl == 0x09) + flags &= 0; + else + return 1; + src++; + prop0 >>= 4; + if (prop0 == 0) + prop0 = *src++; + else { + static UCHAR prop0_table[] = { 0x5d, 0x00 }, prop1_table[] = { 0x00 }; + if (flags == -1) { + if (prop0 >= 3) + return 1; + prop0 = prop0_table[prop0 - 1]; + } else { + if (prop0 >= 2) + return 1; + prop0 = prop1_table[prop0 - 1]; + } + } + lp = prop0 / (9 * 5); + prop0 %= 9 * 5; + pb = prop0 / 9; + lc = prop0 % 9; + if (flags == 0) /* tek5:z2 */ + flags = *src++; + if (flags == -1) { /* stk5 */ + wrksiz = lp; + lp = pb; + pb = wrksiz; + } + wrksiz = 0x180 * sizeof (UINT32) + (0x840 + (0x300 << (lc + lp))) * sizeof (tek_TPRB); /* Å’á15KB, lc+lp=3‚È‚çA36KB */ + work = (int *) memman_alloc_4k((struct MEMMAN *) MEMMAN_ADDR, wrksiz); + if (work == NULL) + return -1; + flags = tek_decmain5(work, src, outsiz, outbuf, lc, pb, lp, flags); + memman_free_4k((struct MEMMAN *) MEMMAN_ADDR, (int) work, wrksiz); + return flags; +} + +struct tek_STR_BITMODEL { + UCHAR t, m, s, dmy; + UINT32 prb0, prb1, tmsk, ntm, lt, lt0, dmy4; +}; + +struct tek_STR_PRB { + struct tek_STR_PRB_PB { + struct tek_STR_PRB_PBST { + tek_TPRB mch, rep0l1; + } st[12]; + tek_TPRB lenlow[2][8], lenmid[2][8]; + } pb[16]; + struct tek_STR_PRB_ST { + tek_TPRB rep, repg0, repg1, repg2; + } st[12]; + tek_TPRB lensel[2][2], lenhigh[2][256], pslot[4][64], algn[64]; + tek_TPRB spdis[2][2+4+8+16+32], lenext[2+4+8+16+32]; + tek_TPRB repg3, fchgprm[2 * 32], tbmt[16], tbmm[16], fchglt; + tek_TPRB lit[1]; +}; + +struct tek_STR_RNGDEC { + UCHAR *p; + UINT32 range, code, rmsk; + jmp_buf errjmp; + struct tek_STR_BITMODEL bm[32], *ptbm[16]; + struct tek_STR_PRB probs; +}; + +static void tek_setbm5(struct tek_STR_BITMODEL *bm, int t, int m) +{ + bm->t = t; + bm->m = m; + bm->prb1 = -1 << (m + t); + bm->prb0 = ~bm->prb1; + bm->prb1 |= 1 << t; + bm->tmsk = (-1 << t) & 0xffff; + bm->prb0 &= bm->tmsk; + bm->prb1 &= bm->tmsk; + bm->ntm = ~bm->tmsk; + return; +} + +static int tek_rdget0(struct tek_STR_RNGDEC *rd, int n, int i) +{ + do { + while (rd->range < (UINT32) (1 << 24)) { + rd->range <<= 8; + rd->code = rd->code << 8 | *rd->p++; + } + rd->range >>= 1; + i += i; + if (rd->code >= rd->range) { + rd->code -= rd->range; + i |= 1; + } + } while (--n); + return ~i; +} + +static int tek_rdget1(struct tek_STR_RNGDEC *rd, tek_TPRB *prob0, int n, int j, struct tek_STR_BITMODEL *bm) +{ + UINT32 p, i, *prob, nm = n >> 4; + n &= 0x0f; + prob0 -= j; + do { + p = *(prob = prob0 + j); + if (bm->lt > 0) { + if (--bm->lt == 0) { + if (tek_rdget1(rd, &rd->probs.fchglt, 0x71, 0, &rd->bm[3]) == 0) { +err: + longjmp(rd->errjmp, 1); + } + i = bm - rd->bm; + if ((bm->s = tek_rdget1(rd, &rd->probs.fchgprm[i * 2 + bm->s], 0x71, 0, &rd->bm[1])) == 0) { + i = tek_rdget1(rd, rd->probs.tbmt, 0x74, 1, &rd->bm[2]) & 15; + if (i == 15) + goto err; + tek_setbm5(bm, i, ((tek_rdget1(rd, rd->probs.tbmm, 0x74, 1, &rd->bm[2]) - 1) & 15) + 1); + } + bm->lt = bm->lt0; + } + if (p < bm->prb0) { + p = bm->prb0; + goto fixprob; + } + if (p > bm->prb1) { + p = bm->prb1; + goto fixprob; + } + if (p & bm->ntm) { + p &= bm->tmsk; + fixprob: + *prob = p; + } + } + + while (rd->range < (UINT32) (1 << 24)) { + rd->range <<= 8; + rd->code = rd->code << 8 | *rd->p++; + } + j += j; + i = ((unsigned long long) (rd->range & rd->rmsk) * p) >> 16; + if (rd->code < i) { + j |= 1; + rd->range = i; + *prob += ((0x10000 - p) >> bm->m) & bm->tmsk; + } else { + rd->range -= i; + rd->code -= i; + *prob -= (p >> bm->m) & bm->tmsk; + } + --n; + if ((n & nm) == 0) + bm++; + } while (n); + return j; +} + +static UINT32 tek_revbit(UINT32 data, int len) +{ + UINT32 rev = 0; + do { + rev += rev + (data & 1); + data >>= 1; + } while (--len); + return rev; +} + +static int tek_getlen5(struct tek_STR_RNGDEC *rd, int m, int s_pos, int stk) +{ + int i; + if (tek_rdget1(rd, &rd->probs.lensel[m][0], 0x71, 0, rd->ptbm[3]) ^ stk) /* low */ + i = tek_rdget1(rd, rd->probs.pb[s_pos].lenlow[m], 0x73, 1, rd->ptbm[4]) & 7; + else if (tek_rdget1(rd, &rd->probs.lensel[m][1], 0x71, 0, rd->ptbm[3]) ^ stk) /* mid */ + i = tek_rdget1(rd, rd->probs.pb[s_pos].lenmid[m], 0x73, 1, rd->ptbm[5]); + else { + /* high */ + i = tek_rdget1(rd, rd->probs.lenhigh[m], 0x78, 1, rd->ptbm[6]) - (256 + 256 - 8); + if (i > 0) { + if (i < 6 && stk == 0) + i = tek_rdget1(rd, &rd->probs.lenext[(1 << i) - 2], i | 0x70, 1, rd->ptbm[7]) - 1; + else + i = tek_rdget0(rd, i, ~1) - 1; + i = tek_rdget0(rd, i, ~1) - 1; + } + i += 256 - 8 + 16; + } + return i; +} + +static int tek_decmain5(int *work, UCHAR *src, int osiz, UCHAR *q, int lc, int pb, int lp, int flags) +{ + static int state_table[] = { 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 4, 5 }; + int i, j, k, pmch, rep[4], s, pos, m_pos = (1 << pb) - 1, m_lp = (1 << lp) - 1; + int stk = (flags == -1), lcr = 8 - lc, s_pos, lit0cntmsk = 0x78; + UINT32 *lit1; + struct tek_STR_RNGDEC *rd = (struct tek_STR_RNGDEC *) work; + struct tek_STR_PRB *prb = &rd->probs; + + rd->p = &src[4]; + rd->range |= -1; + rd->code = src[0] << 24 | src[1] << 16 | src[2] << 8 | src[3]; + for (i = 0; i < 4; i++) + rep[i] = ~i; + if (setjmp(rd->errjmp)) + goto err; + for (i = sizeof (struct tek_STR_PRB) / sizeof (tek_TPRB) + (0x300 << (lc + lp)) - 2; i >= 0; i--) + ((tek_TPRB *) prb)[i] = 1 << 15; + for (i = 0; i < 32; i++) { + rd->bm[i].lt = (i >= 4); + rd->bm[i].lt0 = (i < 24) ? 16 * 1024 : 8 * 1024; + rd->bm[i].s &= 0; + rd->bm[i].t = rd->bm[i].m = 5; + } + lit1 = prb->lit + ((256 << (lc + lp)) - 2); + if (stk) { + rd->rmsk = -1 << 11; + for (i = 0; i < 32; i++) + rd->bm[i].lt = 0; + for (i = 0; i < 14; i++) + rd->ptbm[i] = &rd->bm[0]; + } else { + UCHAR pt[14]; + static UCHAR pt1[14] = { + 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 18, 18, 18, 8 + }; + static UCHAR pt2[14] = { + 8, 8, 10, 11, 12, 12, 14, 15, + 16, 16, 18, 18, 20, 21 + }; + /* + 0- 7:mch, mch, lit1, lensel, lenlow, lenmid, lenhigh, lenext + 8-15:pslot, pslot, sdis, sdis, align, rep-repg2 + */ + rd->rmsk |= -1; + rd->bm[1].t = 5; rd->bm[1].m = 3; /* for fchgprm */ + rd->bm[2].t = 9; rd->bm[2].m = 2; /* for tbmt, tbmm */ + if (flags & 0x40) { /* lt-flag */ + rd->bm[3].t = 0; rd->bm[3].m = 1; + prb->fchglt = 0xffff; + } + rd->bm[22].t = 0; rd->bm[22].m = 1; + prb->repg3 = 0xffff; + if (flags == -2) { /* z1 */ + rd->bm[22].lt = 0; + for (i = 0; i < 14; i++) + pt[i] = pt1[i]; + } else { + for (i = 0; i < 14; i++) + pt[i] = pt2[i]; + lit0cntmsk = (7 >> (flags & 3)) << 4 | 8; + pt[ 1] = 8 + ((flags & 0x04) != 0); /* mch */ + pt[ 5] = 12 + ((flags & 0x08) != 0); /* llm */ + pt[ 9] = 16 + ((flags & 0x10) != 0); /* pst */ + pt[11] = 18 + ((flags & 0x20) != 0); /* sds */ + } + for (i = 0; i < 14; i++) + rd->ptbm[i] = &rd->bm[pt[i]]; + } + for (i = 0; i < 32; i++) + tek_setbm5(&rd->bm[i], rd->bm[i].t, rd->bm[i].m); + + if ((tek_rdget1(rd, &prb->pb[0].st[0].mch, 0x71, 0, rd->ptbm[0]) ^ stk) == 0) + goto err; + *q++ = tek_rdget1(rd, prb->lit, lit0cntmsk, 1, &rd->bm[24]) & 0xff; + pmch &= 0; s &= 0; pos = 1; + while (pos < osiz) { + s_pos = pos & m_pos; + if (tek_rdget1(rd, &prb->pb[s_pos].st[s].mch, 0x71, 0, rd->ptbm[s > 0]) ^ stk) { + i = (q[-1] >> lcr | (pos & m_lp) << lc) << 8; + s = state_table[s]; + if (pmch == 0) + *q = tek_rdget1(rd, &prb->lit[i], lit0cntmsk, 1, &rd->bm[24]) & 0xff; + else { + struct tek_STR_BITMODEL *bm = &rd->bm[24]; + j = 1; + k = 8; + pmch = q[rep[0]]; + do { + j += j + tek_rdget1(rd, &lit1[(i + j) << 1 | pmch >> 7], 0x71, 0, rd->ptbm[2]); + k--; + if ((k & (lit0cntmsk >> 4)) == 0) + bm++; + if ((((pmch >> 7) ^ j) & 1) != 0 && k != 0) { + j = tek_rdget1(rd, &prb->lit[i + j - 1], k | (lit0cntmsk & 0x70), j, bm); + break; + } + pmch <<= 1; + } while (k); + *q = j & 0xff; + pmch &= 0; + } + pos++; + q++; + } else { /* lz */ + pmch |= 1; + if (tek_rdget1(rd, &prb->st[s].rep, 0x71, 0, rd->ptbm[13]) ^ stk) { /* len/dis */ + rep[3] = rep[2]; + rep[2] = rep[1]; + rep[1] = rep[0]; + j = i = tek_getlen5(rd, 0, s_pos, stk); + s = s < 7 ? 7 : 10; + if (j >= 4) + j = 3; + rep[0] = j = tek_rdget1(rd, prb->pslot[j], 0x76, 1, rd->ptbm[8 + (j == 3)]) & 0x3f; + if (j >= 4) { + k = (j >> 1) - 1; /* k = [1, 30] */ + rep[0] = (2 | (j & 1)) << k; + if (j < 14) /* k < 6 */ + rep[0] |= tek_revbit(tek_rdget1(rd, &prb->spdis[j & 1][(1 << k) - 2], k | 0x70, 1, rd->ptbm[10 + (k >= 4)]), k); + else { + if (stk == 0) { + if (k -= 6) + rep[0] |= tek_rdget0(rd, k, ~0) << 6; + rep[0] |= tek_revbit(tek_rdget1(rd, prb->algn, 0x76, 1, rd->ptbm[12]), 6); + } else { + rep[0] |= tek_rdget0(rd, k - 4, ~0) << 4; + rep[0] |= tek_revbit(tek_rdget1(rd, prb->algn, 0x74, 1, rd->ptbm[12]), 4); + } + } + } + rep[0] = ~rep[0]; + } else { /* repeat-dis */ + if (tek_rdget1(rd, &prb->st[s].repg0, 0x71, 0, rd->ptbm[13]) ^ stk) { /* rep0 */ + i |= -1; + if (tek_rdget1(rd, &prb->pb[s_pos].st[s].rep0l1, 0x71, 0, rd->ptbm[13]) == 0) { + s = s < 7 ? 9 : 11; + goto skip; + } + } else { + if (tek_rdget1(rd, &prb->st[s].repg1, 0x71, 0, rd->ptbm[13]) ^ stk) /* rep1 */ + i = rep[1]; + else { + if (tek_rdget1(rd, &prb->st[s].repg2, 0x71, 0, rd->ptbm[13]) ^ stk) /* rep2 */ + i = rep[2]; + else { + if (stk == 0) { + if (tek_rdget1(rd, &prb->repg3, 0x71, 0, &rd->bm[22]) == 0) + goto err; + } + i = rep[3]; /* rep3 */ + rep[3] = rep[2]; + } + rep[2] = rep[1]; + } + rep[1] = rep[0]; + rep[0] = i; + } + i = tek_getlen5(rd, 1, s_pos, stk); + s = s < 7 ? 8 : 11; + } +skip: + i += 2; + if (pos + rep[0] < 0) + goto err; + if (pos + i > osiz) + i = osiz - pos; + pos += i; + do { + *q = q[rep[0]]; + q++; + } while (--i); + } + } + return 0; +err: + return 1; +} + +static int tek_decode5(int siz, UCHAR *p, UCHAR *q) +{ + UCHAR *p1 = p + siz; + int dsiz, hed, bsiz, st = 0; + p += 16; + if ((dsiz = tek_getnum_s7s(&p)) > 0) { + hed = tek_getnum_s7s(&p); + if ((hed & 1) == 0) + st = tek_lzrestore_tek5(p1 - p + 1, p - 1, dsiz, q); + else { + bsiz = 1 << (((hed >> 1) & 0x0f) + 8); + if (hed & 0x20) + return 1; + if (bsiz == 256) + st = tek_lzrestore_tek5(p1 - p, p, dsiz, q); + else { + if (dsiz > bsiz) + return 1; + if (hed & 0x40) + tek_getnum_s7s(&p); + st = tek_lzrestore_tek5(p1 - p, p, dsiz, q); + } + } + } + return st; +} diff --git a/29_day/hello4/Makefile b/29_day/hello4/Makefile index f4cb8d2..557a184 100644 --- a/29_day/hello4/Makefile +++ b/29_day/hello4/Makefile @@ -3,3 +3,6 @@ STACK = 1k MALLOC = 0k include ../app_make.txt + +$(APP).hrb : $(APP).org Makefile + $(COPY) $(APP).org $(APP).hrb diff --git a/29_day/hello5/Makefile b/29_day/hello5/Makefile index 366ff9d..e07f802 100644 --- a/29_day/hello5/Makefile +++ b/29_day/hello5/Makefile @@ -3,3 +3,6 @@ STACK = 1k MALLOC = 0k include ../app_make.txt + +$(APP).hrb : $(APP).org Makefile + $(COPY) $(APP).org $(APP).hrb diff --git a/29_day/nihongo/nihongo.fnt b/29_day/nihongo/nihongo.fnt index e312bf5b7e4044adcff849980606951ba48bdd9a..4faa31d9f01099ff14153f17f7a8cfb891e15ab9 100644 GIT binary patch literal 58009 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 C0E|lj literal 145472 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

    GyQ$xxyMzR=Bd_b{buLbR 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 /* NULL */ +#include /* malloc, free */ +#include + +typedef unsigned char UCHAR; +typedef unsigned int UINT32; +typedef UINT32 tek_TPRB; + +static int tek_decode1(int siz, UCHAR *p, UCHAR *q); +static int tek_decode2(int siz, UCHAR *p, UCHAR *q); +static int tek_decode5(int siz, UCHAR *p, UCHAR *q); + +static unsigned int tek_getnum_s7s(UCHAR **pp) +{ + unsigned int s = 0; + UCHAR *p = *pp; + do { + s = s << 7 | *p++; + } while ((s & 1) == 0); + s >>= 1; + *pp = p; + return s; +} + +int autodecomp(int siz0, UCHAR *p0, int siz) +{ + unsigned char *b = p0, *c, *c0; + int s, i, e = 0; + if ((*(int *) &b[0x08] == 0x5341534f) && (*(int *) &b[0x0c] == 0x504d434b)) { + if (*(int *) &b[0x04] == 0x00000001) { + unsigned int t = *(int *) &b[0x00]; + e |= 1; + if (0xffffff83 <= t && t <= 0xffffff89) { + c = &b[0x10]; + s = tek_getnum_s7s(&c); + if (s + siz - 0x10 <= siz0) { + c0 = c = b + siz0 - siz; + for (i = siz - 1; i >= 0x10; i--) + c[i] = b[i]; + c += 0x10; + tek_getnum_s7s(&c); + if (t == 0xffffff83) + e = tek_decode1(siz, c0, b); + if (t == 0xffffff85) + e = tek_decode2(siz, c0, b); + if (t == 0xffffff89) + e = tek_decode5(siz, c0, b); + siz = s; + } + } + } + } + if (e) + siz |= -1; + return siz; +} + +static int tek_lzrestore_stk1(int srcsiz, UCHAR *src, int outsiz, UCHAR *q) +{ + int by, lz, cp, ds; + UCHAR *q1 = q + outsiz, *s7ptr = src, *q0 = q; + do { + if ((by = (lz = *s7ptr++) & 0x0f) == 0) + by = tek_getnum_s7s(&s7ptr); + if ((lz >>= 4) == 0) + lz = tek_getnum_s7s(&s7ptr); + do { + *q++ = *s7ptr++; + } while (--by); + if (q >= q1) + break; + do { + ds = (cp = *s7ptr++) & 0x0f; + if ((ds & 1) == 0) { + do { + ds = ds << 7 | *s7ptr++; + } while ((ds & 1) == 0); + } + ds = ~(ds >> 1); + if ((cp >>= 4) == 0) { + do { + cp = cp << 7 | *s7ptr++; + } while ((cp & 1) == 0); + cp >>= 1; + } + cp++; + if (q + ds < q0) + goto err; + if (q + cp > q1) + cp = q1 - q; + do { + *q = *(q + ds); + q++; + } while (--cp); + } while (--lz); + } while (q < q1); + return 0; +err: + return 1; +} + +static int tek_decode1(int siz, UCHAR *p, UCHAR *q) +{ + int dsiz, hed, bsiz; + UCHAR *p1 = p + siz; + p += 16; + if ((dsiz = tek_getnum_s7s(&p)) > 0) { + hed = tek_getnum_s7s(&p); + bsiz = 1 << (((hed >> 1) & 0x0f) + 8); + if (dsiz > bsiz || (hed & 0x21) != 0x01) + return 1; + if (hed & 0x40) + tek_getnum_s7s(&p); + if (tek_getnum_s7s(&p) != 0) + return 1; + return tek_lzrestore_stk1(p1 - p, p, dsiz, q); + } + return 0; +} + +static unsigned int tek_getnum_s7(UCHAR **pp) +{ + unsigned int s = 0, b = 0, a = 1; + UCHAR *p = *pp; + for (;;) { + s = s << 7 | *p++; + if (s & 1) + break; + a <<= 7; + b += a; + } + s >>= 1; + *pp = p; + return s + b; +} + +static int tek_lzrestore_stk2(int srcsiz, UCHAR *src, int outsiz, UCHAR *q) +{ + int cp, ds, repdis[4], i, j; + UCHAR *q1 = q + outsiz, *s7ptr = src, *q0 = q, bylz, cbylz; + for (j = 0; j < 4; j++) + repdis[j] = -1 - j; + bylz = cbylz = 0; + if (outsiz) { + if (tek_getnum_s7s(&s7ptr)) + return 1; + do { + j = 0; + do { + j++; + if (j >= 17) { + j += tek_getnum_s7s(&s7ptr); + break; + } + if (cbylz == 0) { + cbylz = 8; + bylz = *s7ptr++; + } + cbylz--; + i = bylz & 1; + bylz >>= 1; + } while (i == 0); + do { + *q++ = *s7ptr++; + } while (--j); + if (q >= q1) + break; + + j = 0; + do { + j++; + if (j >= 17) { + j += tek_getnum_s7s(&s7ptr); + break; + } + if (cbylz == 0) { + cbylz = 8; + bylz = *s7ptr++; + } + cbylz--; + i = bylz & 1; + bylz >>= 1; + } while (i == 0); + do { + i = *s7ptr++; + cp = i >> 4; + i &= 0x0f; + if ((i & 1) == 0) + i |= (tek_getnum_s7(&s7ptr) + 1) << 4; + i >>= 1; + ds = ~(i - 6); + if (i < 4) + ds = repdis[i]; + if (i == 4) + ds = repdis[0] - tek_getnum_s7(&s7ptr) - 1; + if (i == 5) + ds = repdis[0] + tek_getnum_s7(&s7ptr) + 1; + if (cp == 0) + cp = tek_getnum_s7(&s7ptr) + 16; + cp++; + if (i > 0) { + if (i > 1) { + if (i > 2) + repdis[3] = repdis[2]; + repdis[2] = repdis[1]; + } + repdis[1] = repdis[0]; + repdis[0] = ds; + } + if (q + ds < q0) + goto err; + if (q + cp > q1) + cp = q1 - q; + do { + *q = *(q + ds); + q++; + } while (--cp); + } while (--j); + } while (q < q1); + } + return 0; +err: + return 1; +} + +static int tek_decode2(int siz, UCHAR *p, UCHAR *q) +{ + UCHAR *p1 = p + siz; + int dsiz, hed, bsiz, st = 0; + p += 16; + if ((dsiz = tek_getnum_s7s(&p)) > 0) { + hed = tek_getnum_s7s(&p); + bsiz = 1 << (((hed >> 1) & 0x0f) + 8); + if (dsiz > bsiz || (hed & 0x21) != 0x01) + return 1; + if (hed & 0x40) + tek_getnum_s7s(&p); + st = tek_lzrestore_stk2(p1 - p, p, dsiz, q); + } + return st; +} + +static int tek_decmain5(int *work, UCHAR *src, int osiz, UCHAR *q, int lc, int pb, int lp, int flags); + +static int tek_lzrestore_tek5(int srcsiz, UCHAR *src, int outsiz, UCHAR *outbuf) +{ + int wrksiz, lc, lp, pb, flags, *work, prop0, fl; + + if ((fl = (prop0 = *src) & 0x0f) == 0x01) /* 0001 */ + flags |= -1; + else if (fl == 0x05) + flags = -2; + else if (fl == 0x09) + flags &= 0; + else + return 1; + src++; + prop0 >>= 4; + if (prop0 == 0) + prop0 = *src++; + else { + static UCHAR prop0_table[] = { 0x5d, 0x00 }, prop1_table[] = { 0x00 }; + if (flags == -1) { + if (prop0 >= 3) + return 1; + prop0 = prop0_table[prop0 - 1]; + } else { + if (prop0 >= 2) + return 1; + prop0 = prop1_table[prop0 - 1]; + } + } + lp = prop0 / (9 * 5); + prop0 %= 9 * 5; + pb = prop0 / 9; + lc = prop0 % 9; + if (flags == 0) /* tek5:z2 */ + flags = *src++; + if (flags == -1) { /* stk5 */ + wrksiz = lp; + lp = pb; + pb = wrksiz; + } + wrksiz = 0x180 * sizeof (UINT32) + (0x840 + (0x300 << (lc + lp))) * sizeof (tek_TPRB); + work = malloc(wrksiz); + if (work == NULL) + return -1; + flags = tek_decmain5(work, src, outsiz, outbuf, lc, pb, lp, flags); + free(work); + return flags; +} + +struct tek_STR_BITMODEL { + UCHAR t, m, s, dmy; + UINT32 prb0, prb1, tmsk, ntm, lt, lt0, dmy4; +}; + +struct tek_STR_PRB { + struct tek_STR_PRB_PB { + struct tek_STR_PRB_PBST { + tek_TPRB mch, rep0l1; + } st[12]; + tek_TPRB lenlow[2][8], lenmid[2][8]; + } pb[16]; + struct tek_STR_PRB_ST { + tek_TPRB rep, repg0, repg1, repg2; + } st[12]; + tek_TPRB lensel[2][2], lenhigh[2][256], pslot[4][64], algn[64]; + tek_TPRB spdis[2][2+4+8+16+32], lenext[2+4+8+16+32]; + tek_TPRB repg3, fchgprm[2 * 32], tbmt[16], tbmm[16], fchglt; + tek_TPRB lit[1]; +}; + +struct tek_STR_RNGDEC { + UCHAR *p; + UINT32 range, code, rmsk; + jmp_buf errjmp; + struct tek_STR_BITMODEL bm[32], *ptbm[16]; + struct tek_STR_PRB probs; +}; + +static void tek_setbm5(struct tek_STR_BITMODEL *bm, int t, int m) +{ + bm->t = t; + bm->m = m; + bm->prb1 = -1 << (m + t); + bm->prb0 = ~bm->prb1; + bm->prb1 |= 1 << t; + bm->tmsk = (-1 << t) & 0xffff; + bm->prb0 &= bm->tmsk; + bm->prb1 &= bm->tmsk; + bm->ntm = ~bm->tmsk; + return; +} + +static int tek_rdget0(struct tek_STR_RNGDEC *rd, int n, int i) +{ + do { + while (rd->range < (UINT32) (1 << 24)) { + rd->range <<= 8; + rd->code = rd->code << 8 | *rd->p++; + } + rd->range >>= 1; + i += i; + if (rd->code >= rd->range) { + rd->code -= rd->range; + i |= 1; + } + } while (--n); + return ~i; +} + +static int tek_rdget1(struct tek_STR_RNGDEC *rd, tek_TPRB *prob0, int n, int j, struct tek_STR_BITMODEL *bm) +{ + UINT32 p, i, *prob, nm = n >> 4; + n &= 0x0f; + prob0 -= j; + do { + p = *(prob = prob0 + j); + if (bm->lt > 0) { + if (--bm->lt == 0) { + if (tek_rdget1(rd, &rd->probs.fchglt, 0x71, 0, &rd->bm[3]) == 0) { +err: + longjmp(rd->errjmp, 1); + } + i = bm - rd->bm; + if ((bm->s = tek_rdget1(rd, &rd->probs.fchgprm[i * 2 + bm->s], 0x71, 0, &rd->bm[1])) == 0) { + i = tek_rdget1(rd, rd->probs.tbmt, 0x74, 1, &rd->bm[2]) & 15; + if (i == 15) + goto err; + tek_setbm5(bm, i, ((tek_rdget1(rd, rd->probs.tbmm, 0x74, 1, &rd->bm[2]) - 1) & 15) + 1); + } + bm->lt = bm->lt0; + } + if (p < bm->prb0) { + p = bm->prb0; + goto fixprob; + } + if (p > bm->prb1) { + p = bm->prb1; + goto fixprob; + } + if (p & bm->ntm) { + p &= bm->tmsk; + fixprob: + *prob = p; + } + } + + while (rd->range < (UINT32) (1 << 24)) { + rd->range <<= 8; + rd->code = rd->code << 8 | *rd->p++; + } + j += j; + i = ((unsigned long long) (rd->range & rd->rmsk) * p) >> 16; + if (rd->code < i) { + j |= 1; + rd->range = i; + *prob += ((0x10000 - p) >> bm->m) & bm->tmsk; + } else { + rd->range -= i; + rd->code -= i; + *prob -= (p >> bm->m) & bm->tmsk; + } + --n; + if ((n & nm) == 0) + bm++; + } while (n); + return j; +} + +static UINT32 tek_revbit(UINT32 data, int len) +{ + UINT32 rev = 0; + do { + rev += rev + (data & 1); + data >>= 1; + } while (--len); + return rev; +} + +static int tek_getlen5(struct tek_STR_RNGDEC *rd, int m, int s_pos, int stk) +{ + int i; + if (tek_rdget1(rd, &rd->probs.lensel[m][0], 0x71, 0, rd->ptbm[3]) ^ stk) /* low */ + i = tek_rdget1(rd, rd->probs.pb[s_pos].lenlow[m], 0x73, 1, rd->ptbm[4]) & 7; + else if (tek_rdget1(rd, &rd->probs.lensel[m][1], 0x71, 0, rd->ptbm[3]) ^ stk) /* mid */ + i = tek_rdget1(rd, rd->probs.pb[s_pos].lenmid[m], 0x73, 1, rd->ptbm[5]); + else { + /* high */ + i = tek_rdget1(rd, rd->probs.lenhigh[m], 0x78, 1, rd->ptbm[6]) - (256 + 256 - 8); + if (i > 0) { + if (i < 6 && stk == 0) + i = tek_rdget1(rd, &rd->probs.lenext[(1 << i) - 2], i | 0x70, 1, rd->ptbm[7]) - 1; + else + i = tek_rdget0(rd, i, ~1) - 1; + i = tek_rdget0(rd, i, ~1) - 1; + } + i += 256 - 8 + 16; + } + return i; +} + +static int tek_decmain5(int *work, UCHAR *src, int osiz, UCHAR *q, int lc, int pb, int lp, int flags) +{ + static int state_table[] = { 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 4, 5 }; + int i, j, k, pmch, rep[4], s, pos, m_pos = (1 << pb) - 1, m_lp = (1 << lp) - 1; + int stk = (flags == -1), lcr = 8 - lc, s_pos, lit0cntmsk = 0x78; + UINT32 *lit1; + struct tek_STR_RNGDEC *rd = (struct tek_STR_RNGDEC *) work; + struct tek_STR_PRB *prb = &rd->probs; + + rd->p = &src[4]; + rd->range |= -1; + rd->code = src[0] << 24 | src[1] << 16 | src[2] << 8 | src[3]; + for (i = 0; i < 4; i++) + rep[i] = ~i; + if (setjmp(rd->errjmp)) + goto err; + for (i = sizeof (struct tek_STR_PRB) / sizeof (tek_TPRB) + (0x300 << (lc + lp)) - 2; i >= 0; i--) + ((tek_TPRB *) prb)[i] = 1 << 15; + for (i = 0; i < 32; i++) { + rd->bm[i].lt = (i >= 4); + rd->bm[i].lt0 = (i < 24) ? 16 * 1024 : 8 * 1024; + rd->bm[i].s &= 0; + rd->bm[i].t = rd->bm[i].m = 5; + } + lit1 = prb->lit + ((256 << (lc + lp)) - 2); + if (stk) { + rd->rmsk = -1 << 11; + for (i = 0; i < 32; i++) + rd->bm[i].lt = 0; + for (i = 0; i < 14; i++) + rd->ptbm[i] = &rd->bm[0]; + } else { + UCHAR pt[14]; + static UCHAR pt1[14] = { + 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 18, 18, 18, 8 + }; + static UCHAR pt2[14] = { + 8, 8, 10, 11, 12, 12, 14, 15, + 16, 16, 18, 18, 20, 21 + }; + /* + 0- 7:mch, mch, lit1, lensel, lenlow, lenmid, lenhigh, lenext + 8-15:pslot, pslot, sdis, sdis, align, rep-repg2 + */ + rd->rmsk |= -1; + rd->bm[1].t = 5; rd->bm[1].m = 3; /* for fchgprm */ + rd->bm[2].t = 9; rd->bm[2].m = 2; /* for tbmt, tbmm */ + if (flags & 0x40) { /* lt-flag */ + rd->bm[3].t = 0; rd->bm[3].m = 1; + prb->fchglt = 0xffff; + } + rd->bm[22].t = 0; rd->bm[22].m = 1; + prb->repg3 = 0xffff; + if (flags == -2) { /* z1 */ + rd->bm[22].lt = 0; + for (i = 0; i < 14; i++) + pt[i] = pt1[i]; + } else { + for (i = 0; i < 14; i++) + pt[i] = pt2[i]; + lit0cntmsk = (7 >> (flags & 3)) << 4 | 8; + pt[ 1] = 8 + ((flags & 0x04) != 0); /* mch */ + pt[ 5] = 12 + ((flags & 0x08) != 0); /* llm */ + pt[ 9] = 16 + ((flags & 0x10) != 0); /* pst */ + pt[11] = 18 + ((flags & 0x20) != 0); /* sds */ + } + for (i = 0; i < 14; i++) + rd->ptbm[i] = &rd->bm[pt[i]]; + } + for (i = 0; i < 32; i++) + tek_setbm5(&rd->bm[i], rd->bm[i].t, rd->bm[i].m); + + if ((tek_rdget1(rd, &prb->pb[0].st[0].mch, 0x71, 0, rd->ptbm[0]) ^ stk) == 0) + goto err; + *q++ = tek_rdget1(rd, prb->lit, lit0cntmsk, 1, &rd->bm[24]) & 0xff; + pmch &= 0; s &= 0; pos = 1; + while (pos < osiz) { + s_pos = pos & m_pos; + if (tek_rdget1(rd, &prb->pb[s_pos].st[s].mch, 0x71, 0, rd->ptbm[s > 0]) ^ stk) { + i = (q[-1] >> lcr | (pos & m_lp) << lc) << 8; + s = state_table[s]; + if (pmch == 0) + *q = tek_rdget1(rd, &prb->lit[i], lit0cntmsk, 1, &rd->bm[24]) & 0xff; + else { + struct tek_STR_BITMODEL *bm = &rd->bm[24]; + j = 1; /* lit1‚͍ŏ‰‚©‚ç2‚ðŒ¸‚¶‚Ä‚ ‚é */ + k = 8; + pmch = q[rep[0]]; + do { + j += j + tek_rdget1(rd, &lit1[(i + j) << 1 | pmch >> 7], 0x71, 0, rd->ptbm[2]); + k--; + if ((k & (lit0cntmsk >> 4)) == 0) + bm++; + if ((((pmch >> 7) ^ j) & 1) != 0 && k != 0) { + j = tek_rdget1(rd, &prb->lit[i + j - 1], k | (lit0cntmsk & 0x70), j, bm); + break; + } + pmch <<= 1; + } while (k); + *q = j & 0xff; + pmch &= 0; + } + pos++; + q++; + } else { /* lz */ + pmch |= 1; + if (tek_rdget1(rd, &prb->st[s].rep, 0x71, 0, rd->ptbm[13]) ^ stk) { /* len/dis */ + rep[3] = rep[2]; + rep[2] = rep[1]; + rep[1] = rep[0]; + j = i = tek_getlen5(rd, 0, s_pos, stk); + s = s < 7 ? 7 : 10; + if (j >= 4) + j = 3; + rep[0] = j = tek_rdget1(rd, prb->pslot[j], 0x76, 1, rd->ptbm[8 + (j == 3)]) & 0x3f; + if (j >= 4) { + k = (j >> 1) - 1; /* k = [1, 30] */ + rep[0] = (2 | (j & 1)) << k; + if (j < 14) /* k < 6 */ + rep[0] |= tek_revbit(tek_rdget1(rd, &prb->spdis[j & 1][(1 << k) - 2], k | 0x70, 1, rd->ptbm[10 + (k >= 4)]), k); + else { + if (stk == 0) { + if (k -= 6) + rep[0] |= tek_rdget0(rd, k, ~0) << 6; + rep[0] |= tek_revbit(tek_rdget1(rd, prb->algn, 0x76, 1, rd->ptbm[12]), 6); + } else { + rep[0] |= tek_rdget0(rd, k - 4, ~0) << 4; + rep[0] |= tek_revbit(tek_rdget1(rd, prb->algn, 0x74, 1, rd->ptbm[12]), 4); + } + } + } + rep[0] = ~rep[0]; + } else { /* repeat-dis */ + if (tek_rdget1(rd, &prb->st[s].repg0, 0x71, 0, rd->ptbm[13]) ^ stk) { /* rep0 */ + i |= -1; + if (tek_rdget1(rd, &prb->pb[s_pos].st[s].rep0l1, 0x71, 0, rd->ptbm[13]) == 0) { + s = s < 7 ? 9 : 11; + goto skip; + } + } else { + if (tek_rdget1(rd, &prb->st[s].repg1, 0x71, 0, rd->ptbm[13]) ^ stk) /* rep1 */ + i = rep[1]; + else { + if (tek_rdget1(rd, &prb->st[s].repg2, 0x71, 0, rd->ptbm[13]) ^ stk) /* rep2 */ + i = rep[2]; + else { + if (stk == 0) { + if (tek_rdget1(rd, &prb->repg3, 0x71, 0, &rd->bm[22]) == 0) + goto err; + } + i = rep[3]; /* rep3 */ + rep[3] = rep[2]; + } + rep[2] = rep[1]; + } + rep[1] = rep[0]; + rep[0] = i; + } + i = tek_getlen5(rd, 1, s_pos, stk); + s = s < 7 ? 8 : 11; + } +skip: + i += 2; + if (pos + rep[0] < 0) + goto err; + if (pos + i > osiz) + i = osiz - pos; + pos += i; + do { + *q = q[rep[0]]; + q++; + } while (--i); + } + } + return 0; +err: + return 1; +} + +int tek_decode5(int siz, UCHAR *p, UCHAR *q) +{ + UCHAR *p1 = p + siz; + int dsiz, hed, bsiz, st = 0; + p += 16; + if ((dsiz = tek_getnum_s7s(&p)) > 0) { + hed = tek_getnum_s7s(&p); + if ((hed & 1) == 0) + st = tek_lzrestore_tek5(p1 - p + 1, p - 1, dsiz, q); + else { + bsiz = 1 << (((hed >> 1) & 0x0f) + 8); + if (hed & 0x20) + return 1; + if (bsiz == 256) + st = tek_lzrestore_tek5(p1 - p, p, dsiz, q); + else { + if (dsiz > bsiz) + return 1; + if (hed & 0x40) + tek_getnum_s7s(&p); + st = tek_lzrestore_tek5(p1 - p, p, dsiz, q); + } + } + } + return st; +} diff --git a/29_day/tek/tek.c b/29_day/tek/tek.c new file mode 100644 index 0000000..4062dcc --- /dev/null +++ b/29_day/tek/tek.c @@ -0,0 +1,646 @@ +#include "bootpack.h" +#include +#include +#define NULL 0 + +typedef unsigned char UCHAR; +typedef unsigned int UINT32; +typedef UINT32 tek_TPRB; + +static int tek_decode1(int siz, UCHAR *p, UCHAR *q); +static int tek_decode2(int siz, UCHAR *p, UCHAR *q); +static int tek_decode5(int siz, UCHAR *p, UCHAR *q); + +static unsigned int tek_getnum_s7s(UCHAR **pp) +{ + unsigned int s = 0; + UCHAR *p = *pp; + do { + s = s << 7 | *p++; + } while ((s & 1) == 0); + s >>= 1; + *pp = p; + return s; +} + +int tek_getsize(unsigned char *p) +{ + static char header[15] = { + 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x4f, 0x53, 0x41, 0x53, 0x4b, 0x43, 0x4d, 0x50 + }; + int size = -1; + if (memcmp(p + 1, header, 15) == 0 && (*p == 0x83 || *p == 0x85 || *p == 0x89)) { + p += 16; + size = tek_getnum_s7s(&p); + } + return size; +} /* (注)memcmp和strncmp差不多,这个函数忽略字符串中的0并一直比较到指定的15个字符为止*/ + +int tek_decomp(unsigned char *p, char *q, int size) +{ + int err = -1; + if (*p == 0x83) { + err = tek_decode1(size, p, q); + } else if (*p == 0x85) { + err = tek_decode2(size, p, q); + } else if (*p == 0x89) { + err = tek_decode5(size, p, q); + } + if (err != 0) { + return -1; /*失败*/ + } + return 0; /*成功*/ +} + +static int tek_lzrestore_stk1(int srcsiz, UCHAR *src, int outsiz, UCHAR *q) +{ + int by, lz, cp, ds; + UCHAR *q1 = q + outsiz, *s7ptr = src, *q0 = q; + do { + if ((by = (lz = *s7ptr++) & 0x0f) == 0) + by = tek_getnum_s7s(&s7ptr); + if ((lz >>= 4) == 0) + lz = tek_getnum_s7s(&s7ptr); + do { + *q++ = *s7ptr++; + } while (--by); + if (q >= q1) + break; + do { + ds = (cp = *s7ptr++) & 0x0f; + if ((ds & 1) == 0) { + do { + ds = ds << 7 | *s7ptr++; + } while ((ds & 1) == 0); + } + ds = ~(ds >> 1); + if ((cp >>= 4) == 0) { + do { + cp = cp << 7 | *s7ptr++; + } while ((cp & 1) == 0); + cp >>= 1; + } + cp++; + if (q + ds < q0) + goto err; + if (q + cp > q1) + cp = q1 - q; + do { + *q = *(q + ds); + q++; + } while (--cp); + } while (--lz); + } while (q < q1); + return 0; +err: + return 1; +} + +static int tek_decode1(int siz, UCHAR *p, UCHAR *q) +{ + int dsiz, hed, bsiz; + UCHAR *p1 = p + siz; + p += 16; + if ((dsiz = tek_getnum_s7s(&p)) > 0) { + hed = tek_getnum_s7s(&p); + bsiz = 1 << (((hed >> 1) & 0x0f) + 8); + if (dsiz > bsiz || (hed & 0x21) != 0x01) + return 1; + if (hed & 0x40) + tek_getnum_s7s(&p); + if (tek_getnum_s7s(&p) != 0) + return 1; + return tek_lzrestore_stk1(p1 - p, p, dsiz, q); + } + return 0; +} + +static unsigned int tek_getnum_s7(UCHAR **pp) +{ + unsigned int s = 0, b = 0, a = 1; + UCHAR *p = *pp; + for (;;) { + s = s << 7 | *p++; + if (s & 1) + break; + a <<= 7; + b += a; + } + s >>= 1; + *pp = p; + return s + b; +} + +static int tek_lzrestore_stk2(int srcsiz, UCHAR *src, int outsiz, UCHAR *q) +{ + int cp, ds, repdis[4], i, j; + UCHAR *q1 = q + outsiz, *s7ptr = src, *q0 = q, bylz, cbylz; + for (j = 0; j < 4; j++) + repdis[j] = -1 - j; + bylz = cbylz = 0; + if (outsiz) { + if (tek_getnum_s7s(&s7ptr)) + return 1; + do { + j = 0; + do { + j++; + if (j >= 17) { + j += tek_getnum_s7s(&s7ptr); + break; + } + if (cbylz == 0) { + cbylz = 8; + bylz = *s7ptr++; + } + cbylz--; + i = bylz & 1; + bylz >>= 1; + } while (i == 0); + do { + *q++ = *s7ptr++; + } while (--j); + if (q >= q1) + break; + + j = 0; + do { + j++; + if (j >= 17) { + j += tek_getnum_s7s(&s7ptr); + break; + } + if (cbylz == 0) { + cbylz = 8; + bylz = *s7ptr++; + } + cbylz--; + i = bylz & 1; + bylz >>= 1; + } while (i == 0); + do { + i = *s7ptr++; + cp = i >> 4; + i &= 0x0f; + if ((i & 1) == 0) + i |= (tek_getnum_s7(&s7ptr) + 1) << 4; + i >>= 1; + ds = ~(i - 6); + if (i < 4) + ds = repdis[i]; + if (i == 4) + ds = repdis[0] - tek_getnum_s7(&s7ptr) - 1; + if (i == 5) + ds = repdis[0] + tek_getnum_s7(&s7ptr) + 1; + if (cp == 0) + cp = tek_getnum_s7(&s7ptr) + 16; + cp++; + if (i > 0) { + if (i > 1) { + if (i > 2) + repdis[3] = repdis[2]; + repdis[2] = repdis[1]; + } + repdis[1] = repdis[0]; + repdis[0] = ds; + } + if (q + ds < q0) + goto err; + if (q + cp > q1) + cp = q1 - q; + do { + *q = *(q + ds); + q++; + } while (--cp); + } while (--j); + } while (q < q1); + } + return 0; +err: + return 1; +} + +static int tek_decode2(int siz, UCHAR *p, UCHAR *q) +{ + UCHAR *p1 = p + siz; + int dsiz, hed, bsiz, st = 0; + p += 16; + if ((dsiz = tek_getnum_s7s(&p)) > 0) { + hed = tek_getnum_s7s(&p); + bsiz = 1 << (((hed >> 1) & 0x0f) + 8); + if (dsiz > bsiz || (hed & 0x21) != 0x01) + return 1; + if (hed & 0x40) + tek_getnum_s7s(&p); + st = tek_lzrestore_stk2(p1 - p, p, dsiz, q); + } + return st; +} + +static int tek_decmain5(int *work, UCHAR *src, int osiz, UCHAR *q, int lc, int pb, int lp, int flags); + +static int tek_lzrestore_tek5(int srcsiz, UCHAR *src, int outsiz, UCHAR *outbuf) +{ + int wrksiz, lc, lp, pb, flags, *work, prop0, fl; + + if ((fl = (prop0 = *src) & 0x0f) == 0x01) /* 0001 */ + flags |= -1; + else if (fl == 0x05) + flags = -2; + else if (fl == 0x09) + flags &= 0; + else + return 1; + src++; + prop0 >>= 4; + if (prop0 == 0) + prop0 = *src++; + else { + static UCHAR prop0_table[] = { 0x5d, 0x00 }, prop1_table[] = { 0x00 }; + if (flags == -1) { + if (prop0 >= 3) + return 1; + prop0 = prop0_table[prop0 - 1]; + } else { + if (prop0 >= 2) + return 1; + prop0 = prop1_table[prop0 - 1]; + } + } + lp = prop0 / (9 * 5); + prop0 %= 9 * 5; + pb = prop0 / 9; + lc = prop0 % 9; + if (flags == 0) /* tek5:z2 */ + flags = *src++; + if (flags == -1) { /* stk5 */ + wrksiz = lp; + lp = pb; + pb = wrksiz; + } + wrksiz = 0x180 * sizeof (UINT32) + (0x840 + (0x300 << (lc + lp))) * sizeof (tek_TPRB); /* Å’á15KB, lc+lp=3‚È‚çA36KB */ + work = (int *) memman_alloc_4k((struct MEMMAN *) MEMMAN_ADDR, wrksiz); + if (work == NULL) + return -1; + flags = tek_decmain5(work, src, outsiz, outbuf, lc, pb, lp, flags); + memman_free_4k((struct MEMMAN *) MEMMAN_ADDR, (int) work, wrksiz); + return flags; +} + +struct tek_STR_BITMODEL { + UCHAR t, m, s, dmy; + UINT32 prb0, prb1, tmsk, ntm, lt, lt0, dmy4; +}; + +struct tek_STR_PRB { + struct tek_STR_PRB_PB { + struct tek_STR_PRB_PBST { + tek_TPRB mch, rep0l1; + } st[12]; + tek_TPRB lenlow[2][8], lenmid[2][8]; + } pb[16]; + struct tek_STR_PRB_ST { + tek_TPRB rep, repg0, repg1, repg2; + } st[12]; + tek_TPRB lensel[2][2], lenhigh[2][256], pslot[4][64], algn[64]; + tek_TPRB spdis[2][2+4+8+16+32], lenext[2+4+8+16+32]; + tek_TPRB repg3, fchgprm[2 * 32], tbmt[16], tbmm[16], fchglt; + tek_TPRB lit[1]; +}; + +struct tek_STR_RNGDEC { + UCHAR *p; + UINT32 range, code, rmsk; + jmp_buf errjmp; + struct tek_STR_BITMODEL bm[32], *ptbm[16]; + struct tek_STR_PRB probs; +}; + +static void tek_setbm5(struct tek_STR_BITMODEL *bm, int t, int m) +{ + bm->t = t; + bm->m = m; + bm->prb1 = -1 << (m + t); + bm->prb0 = ~bm->prb1; + bm->prb1 |= 1 << t; + bm->tmsk = (-1 << t) & 0xffff; + bm->prb0 &= bm->tmsk; + bm->prb1 &= bm->tmsk; + bm->ntm = ~bm->tmsk; + return; +} + +static int tek_rdget0(struct tek_STR_RNGDEC *rd, int n, int i) +{ + do { + while (rd->range < (UINT32) (1 << 24)) { + rd->range <<= 8; + rd->code = rd->code << 8 | *rd->p++; + } + rd->range >>= 1; + i += i; + if (rd->code >= rd->range) { + rd->code -= rd->range; + i |= 1; + } + } while (--n); + return ~i; +} + +static int tek_rdget1(struct tek_STR_RNGDEC *rd, tek_TPRB *prob0, int n, int j, struct tek_STR_BITMODEL *bm) +{ + UINT32 p, i, *prob, nm = n >> 4; + n &= 0x0f; + prob0 -= j; + do { + p = *(prob = prob0 + j); + if (bm->lt > 0) { + if (--bm->lt == 0) { + if (tek_rdget1(rd, &rd->probs.fchglt, 0x71, 0, &rd->bm[3]) == 0) { +err: + longjmp(rd->errjmp, 1); + } + i = bm - rd->bm; + if ((bm->s = tek_rdget1(rd, &rd->probs.fchgprm[i * 2 + bm->s], 0x71, 0, &rd->bm[1])) == 0) { + i = tek_rdget1(rd, rd->probs.tbmt, 0x74, 1, &rd->bm[2]) & 15; + if (i == 15) + goto err; + tek_setbm5(bm, i, ((tek_rdget1(rd, rd->probs.tbmm, 0x74, 1, &rd->bm[2]) - 1) & 15) + 1); + } + bm->lt = bm->lt0; + } + if (p < bm->prb0) { + p = bm->prb0; + goto fixprob; + } + if (p > bm->prb1) { + p = bm->prb1; + goto fixprob; + } + if (p & bm->ntm) { + p &= bm->tmsk; + fixprob: + *prob = p; + } + } + + while (rd->range < (UINT32) (1 << 24)) { + rd->range <<= 8; + rd->code = rd->code << 8 | *rd->p++; + } + j += j; + i = ((unsigned long long) (rd->range & rd->rmsk) * p) >> 16; + if (rd->code < i) { + j |= 1; + rd->range = i; + *prob += ((0x10000 - p) >> bm->m) & bm->tmsk; + } else { + rd->range -= i; + rd->code -= i; + *prob -= (p >> bm->m) & bm->tmsk; + } + --n; + if ((n & nm) == 0) + bm++; + } while (n); + return j; +} + +static UINT32 tek_revbit(UINT32 data, int len) +{ + UINT32 rev = 0; + do { + rev += rev + (data & 1); + data >>= 1; + } while (--len); + return rev; +} + +static int tek_getlen5(struct tek_STR_RNGDEC *rd, int m, int s_pos, int stk) +{ + int i; + if (tek_rdget1(rd, &rd->probs.lensel[m][0], 0x71, 0, rd->ptbm[3]) ^ stk) /* low */ + i = tek_rdget1(rd, rd->probs.pb[s_pos].lenlow[m], 0x73, 1, rd->ptbm[4]) & 7; + else if (tek_rdget1(rd, &rd->probs.lensel[m][1], 0x71, 0, rd->ptbm[3]) ^ stk) /* mid */ + i = tek_rdget1(rd, rd->probs.pb[s_pos].lenmid[m], 0x73, 1, rd->ptbm[5]); + else { + /* high */ + i = tek_rdget1(rd, rd->probs.lenhigh[m], 0x78, 1, rd->ptbm[6]) - (256 + 256 - 8); + if (i > 0) { + if (i < 6 && stk == 0) + i = tek_rdget1(rd, &rd->probs.lenext[(1 << i) - 2], i | 0x70, 1, rd->ptbm[7]) - 1; + else + i = tek_rdget0(rd, i, ~1) - 1; + i = tek_rdget0(rd, i, ~1) - 1; + } + i += 256 - 8 + 16; + } + return i; +} + +static int tek_decmain5(int *work, UCHAR *src, int osiz, UCHAR *q, int lc, int pb, int lp, int flags) +{ + static int state_table[] = { 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 4, 5 }; + int i, j, k, pmch, rep[4], s, pos, m_pos = (1 << pb) - 1, m_lp = (1 << lp) - 1; + int stk = (flags == -1), lcr = 8 - lc, s_pos, lit0cntmsk = 0x78; + UINT32 *lit1; + struct tek_STR_RNGDEC *rd = (struct tek_STR_RNGDEC *) work; + struct tek_STR_PRB *prb = &rd->probs; + + rd->p = &src[4]; + rd->range |= -1; + rd->code = src[0] << 24 | src[1] << 16 | src[2] << 8 | src[3]; + for (i = 0; i < 4; i++) + rep[i] = ~i; + if (setjmp(rd->errjmp)) + goto err; + for (i = sizeof (struct tek_STR_PRB) / sizeof (tek_TPRB) + (0x300 << (lc + lp)) - 2; i >= 0; i--) + ((tek_TPRB *) prb)[i] = 1 << 15; + for (i = 0; i < 32; i++) { + rd->bm[i].lt = (i >= 4); + rd->bm[i].lt0 = (i < 24) ? 16 * 1024 : 8 * 1024; + rd->bm[i].s &= 0; + rd->bm[i].t = rd->bm[i].m = 5; + } + lit1 = prb->lit + ((256 << (lc + lp)) - 2); + if (stk) { + rd->rmsk = -1 << 11; + for (i = 0; i < 32; i++) + rd->bm[i].lt = 0; + for (i = 0; i < 14; i++) + rd->ptbm[i] = &rd->bm[0]; + } else { + UCHAR pt[14]; + static UCHAR pt1[14] = { + 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 18, 18, 18, 8 + }; + static UCHAR pt2[14] = { + 8, 8, 10, 11, 12, 12, 14, 15, + 16, 16, 18, 18, 20, 21 + }; + /* + 0- 7:mch, mch, lit1, lensel, lenlow, lenmid, lenhigh, lenext + 8-15:pslot, pslot, sdis, sdis, align, rep-repg2 + */ + rd->rmsk |= -1; + rd->bm[1].t = 5; rd->bm[1].m = 3; /* for fchgprm */ + rd->bm[2].t = 9; rd->bm[2].m = 2; /* for tbmt, tbmm */ + if (flags & 0x40) { /* lt-flag */ + rd->bm[3].t = 0; rd->bm[3].m = 1; + prb->fchglt = 0xffff; + } + rd->bm[22].t = 0; rd->bm[22].m = 1; + prb->repg3 = 0xffff; + if (flags == -2) { /* z1 */ + rd->bm[22].lt = 0; + for (i = 0; i < 14; i++) + pt[i] = pt1[i]; + } else { + for (i = 0; i < 14; i++) + pt[i] = pt2[i]; + lit0cntmsk = (7 >> (flags & 3)) << 4 | 8; + pt[ 1] = 8 + ((flags & 0x04) != 0); /* mch */ + pt[ 5] = 12 + ((flags & 0x08) != 0); /* llm */ + pt[ 9] = 16 + ((flags & 0x10) != 0); /* pst */ + pt[11] = 18 + ((flags & 0x20) != 0); /* sds */ + } + for (i = 0; i < 14; i++) + rd->ptbm[i] = &rd->bm[pt[i]]; + } + for (i = 0; i < 32; i++) + tek_setbm5(&rd->bm[i], rd->bm[i].t, rd->bm[i].m); + + if ((tek_rdget1(rd, &prb->pb[0].st[0].mch, 0x71, 0, rd->ptbm[0]) ^ stk) == 0) + goto err; + *q++ = tek_rdget1(rd, prb->lit, lit0cntmsk, 1, &rd->bm[24]) & 0xff; + pmch &= 0; s &= 0; pos = 1; + while (pos < osiz) { + s_pos = pos & m_pos; + if (tek_rdget1(rd, &prb->pb[s_pos].st[s].mch, 0x71, 0, rd->ptbm[s > 0]) ^ stk) { + i = (q[-1] >> lcr | (pos & m_lp) << lc) << 8; + s = state_table[s]; + if (pmch == 0) + *q = tek_rdget1(rd, &prb->lit[i], lit0cntmsk, 1, &rd->bm[24]) & 0xff; + else { + struct tek_STR_BITMODEL *bm = &rd->bm[24]; + j = 1; + k = 8; + pmch = q[rep[0]]; + do { + j += j + tek_rdget1(rd, &lit1[(i + j) << 1 | pmch >> 7], 0x71, 0, rd->ptbm[2]); + k--; + if ((k & (lit0cntmsk >> 4)) == 0) + bm++; + if ((((pmch >> 7) ^ j) & 1) != 0 && k != 0) { + j = tek_rdget1(rd, &prb->lit[i + j - 1], k | (lit0cntmsk & 0x70), j, bm); + break; + } + pmch <<= 1; + } while (k); + *q = j & 0xff; + pmch &= 0; + } + pos++; + q++; + } else { /* lz */ + pmch |= 1; + if (tek_rdget1(rd, &prb->st[s].rep, 0x71, 0, rd->ptbm[13]) ^ stk) { /* len/dis */ + rep[3] = rep[2]; + rep[2] = rep[1]; + rep[1] = rep[0]; + j = i = tek_getlen5(rd, 0, s_pos, stk); + s = s < 7 ? 7 : 10; + if (j >= 4) + j = 3; + rep[0] = j = tek_rdget1(rd, prb->pslot[j], 0x76, 1, rd->ptbm[8 + (j == 3)]) & 0x3f; + if (j >= 4) { + k = (j >> 1) - 1; /* k = [1, 30] */ + rep[0] = (2 | (j & 1)) << k; + if (j < 14) /* k < 6 */ + rep[0] |= tek_revbit(tek_rdget1(rd, &prb->spdis[j & 1][(1 << k) - 2], k | 0x70, 1, rd->ptbm[10 + (k >= 4)]), k); + else { + if (stk == 0) { + if (k -= 6) + rep[0] |= tek_rdget0(rd, k, ~0) << 6; + rep[0] |= tek_revbit(tek_rdget1(rd, prb->algn, 0x76, 1, rd->ptbm[12]), 6); + } else { + rep[0] |= tek_rdget0(rd, k - 4, ~0) << 4; + rep[0] |= tek_revbit(tek_rdget1(rd, prb->algn, 0x74, 1, rd->ptbm[12]), 4); + } + } + } + rep[0] = ~rep[0]; + } else { /* repeat-dis */ + if (tek_rdget1(rd, &prb->st[s].repg0, 0x71, 0, rd->ptbm[13]) ^ stk) { /* rep0 */ + i |= -1; + if (tek_rdget1(rd, &prb->pb[s_pos].st[s].rep0l1, 0x71, 0, rd->ptbm[13]) == 0) { + s = s < 7 ? 9 : 11; + goto skip; + } + } else { + if (tek_rdget1(rd, &prb->st[s].repg1, 0x71, 0, rd->ptbm[13]) ^ stk) /* rep1 */ + i = rep[1]; + else { + if (tek_rdget1(rd, &prb->st[s].repg2, 0x71, 0, rd->ptbm[13]) ^ stk) /* rep2 */ + i = rep[2]; + else { + if (stk == 0) { + if (tek_rdget1(rd, &prb->repg3, 0x71, 0, &rd->bm[22]) == 0) + goto err; + } + i = rep[3]; /* rep3 */ + rep[3] = rep[2]; + } + rep[2] = rep[1]; + } + rep[1] = rep[0]; + rep[0] = i; + } + i = tek_getlen5(rd, 1, s_pos, stk); + s = s < 7 ? 8 : 11; + } +skip: + i += 2; + if (pos + rep[0] < 0) + goto err; + if (pos + i > osiz) + i = osiz - pos; + pos += i; + do { + *q = q[rep[0]]; + q++; + } while (--i); + } + } + return 0; +err: + return 1; +} + +static int tek_decode5(int siz, UCHAR *p, UCHAR *q) +{ + UCHAR *p1 = p + siz; + int dsiz, hed, bsiz, st = 0; + p += 16; + if ((dsiz = tek_getnum_s7s(&p)) > 0) { + hed = tek_getnum_s7s(&p); + if ((hed & 1) == 0) + st = tek_lzrestore_tek5(p1 - p + 1, p - 1, dsiz, q); + else { + bsiz = 1 << (((hed >> 1) & 0x0f) + 8); + if (hed & 0x20) + return 1; + if (bsiz == 256) + st = tek_lzrestore_tek5(p1 - p, p, dsiz, q); + else { + if (dsiz > bsiz) + return 1; + if (hed & 0x40) + tek_getnum_s7s(&p); + st = tek_lzrestore_tek5(p1 - p, p, dsiz, q); + } + } + } + return st; +} diff --git a/29_day/winhelo/Makefile b/29_day/winhelo/Makefile index 44ac359..91d9264 100644 --- a/29_day/winhelo/Makefile +++ b/29_day/winhelo/Makefile @@ -3,3 +3,7 @@ STACK = 8k MALLOC = 0k include ../app_make.txt + +$(APP).hrb : $(APP).org Makefile + $(COPY) $(APP).org $(APP).hrb + \ No newline at end of file

    GyQ$xxyMzR=Bd_b{buLbR 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