File Info

Rev. 988a9d6e99170bd0742231e7c954c10b95b6f6d0
Size 1,172 bytes
Time 2014-03-29 15:48:49
Author hikarupsp
Log Message

キーボード関連の構造体化

Content

//
//  tek.h
//  HeavyOSECPU
//
//  Created by 西田 耀 on 2014/03/13.
//  Changed by ttwilb up to now.
//  Copyright (c) 2014年 CHNOSProject. All rights reserved.(GPL)
//

#ifndef HeavyOSECPU_tek_h
#define HeavyOSECPU_tek_h

#include "stdio.h"
#include "stdlib.h"
#include "setjmp.h"

typedef unsigned char UCHAR;
typedef unsigned int UINT32;
typedef UINT32 tek_TPRB;

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;
};


int tek_getsize(unsigned char *p);
int tek_decomp(unsigned char *p, unsigned char *q, int size);

#endif
Show on old repository browser