#include <general.h>
#include "opcodes.h"

cpu_instruction dcpu_special[64] = {
dCPU_SPECIAL_SLL,
dCPU_SPECIAL_UNIMPLEMENTED,
dCPU_SPECIAL_SRL,
dCPU_SPECIAL_SRA,
dCPU_SPECIAL_SLLV,
dCPU_SPECIAL_SRAV,
dCPU_SPECIAL_SRLV,
dCPU_SPECIAL_SRAV,
dCPU_SPECIAL_JR,
dCPU_SPECIAL_JALR,
dCPU_SPECIAL_UNIMPLEMENTED,
dCPU_SPECIAL_UNIMPLEMENTED,
dCPU_SPECIAL_UNIMPLEMENTED,
dCPU_SPECIAL_BREAK,
dCPU_SPECIAL_UNIMPLEMENTED,
dCPU_SPECIAL_UNIMPLEMENTED,
dCPU_SPECIAL_MFHI,
dCPU_SPECIAL_MTHI,
dCPU_SPECIAL_MFLO,
dCPU_SPECIAL_MTLO,
dCPU_SPECIAL_DSLLV,
dCPU_SPECIAL_UNIMPLEMENTED,
dCPU_SPECIAL_DSRLV,
dCPU_SPECIAL_DSRAV,
dCPU_SPECIAL_MULT,
dCPU_SPECIAL_MULTU,
dCPU_SPECIAL_DIV,
dCPU_SPECIAL_DIVU,
dCPU_SPECIAL_UNIMPLEMENTED,
dCPU_SPECIAL_DMULTU,
dCPU_SPECIAL_DDIV,
dCPU_SPECIAL_DDIVU,
dCPU_SPECIAL_ADD,
dCPU_SPECIAL_ADDU,
dCPU_SPECIAL_SUB,
dCPU_SPECIAL_SUBU,
dCPU_SPECIAL_AND,
dCPU_SPECIAL_OR,
dCPU_SPECIAL_XOR,
dCPU_SPECIAL_NOR,
dCPU_SPECIAL_UNIMPLEMENTED,
dCPU_SPECIAL_UNIMPLEMENTED,
dCPU_SPECIAL_SLT,
dCPU_SPECIAL_SLTU,
dCPU_SPECIAL_UNIMPLEMENTED,
dCPU_SPECIAL_DADDU,
dCPU_SPECIAL_UNIMPLEMENTED,
dCPU_SPECIAL_UNIMPLEMENTED,
dCPU_SPECIAL_UNIMPLEMENTED,
dCPU_SPECIAL_UNIMPLEMENTED,
dCPU_SPECIAL_UNIMPLEMENTED,
dCPU_SPECIAL_UNIMPLEMENTED,
dCPU_SPECIAL_UNIMPLEMENTED,
dCPU_SPECIAL_UNIMPLEMENTED,
dCPU_SPECIAL_UNIMPLEMENTED,
dCPU_SPECIAL_UNIMPLEMENTED,
dCPU_SPECIAL_UNIMPLEMENTED,
dCPU_SPECIAL_UNIMPLEMENTED,
dCPU_SPECIAL_UNIMPLEMENTED,
dCPU_SPECIAL_UNIMPLEMENTED,
dCPU_SPECIAL_DSLL32,
dCPU_SPECIAL_UNIMPLEMENTED,
dCPU_SPECIAL_UNIMPLEMENTED,
dCPU_SPECIAL_DSRA32
};

cpu_instruction dcpu_regimm[32] =
{
dCPU_REGIMM_BLTZ,
dCPU_REGIMM_BGEZ,
dCPU_REGIMM_BLTZL,
dCPU_REGIMM_BGEZL,
dCPU_REGIMM_UNIMPLEMENTED,
dCPU_REGIMM_UNIMPLEMENTED,
dCPU_REGIMM_UNIMPLEMENTED,
dCPU_REGIMM_UNIMPLEMENTED,
dCPU_REGIMM_UNIMPLEMENTED,
dCPU_REGIMM_UNIMPLEMENTED,
dCPU_REGIMM_UNIMPLEMENTED,
dCPU_REGIMM_UNIMPLEMENTED,
dCPU_REGIMM_UNIMPLEMENTED,
dCPU_REGIMM_UNIMPLEMENTED,
dCPU_REGIMM_UNIMPLEMENTED,
dCPU_REGIMM_UNIMPLEMENTED,
dCPU_REGIMM_UNIMPLEMENTED,
dCPU_REGIMM_BGEZAL,        
dCPU_REGIMM_UNIMPLEMENTED,
dCPU_REGIMM_UNIMPLEMENTED,
dCPU_REGIMM_UNIMPLEMENTED,
dCPU_REGIMM_UNIMPLEMENTED,
dCPU_REGIMM_UNIMPLEMENTED,
dCPU_REGIMM_UNIMPLEMENTED,
dCPU_REGIMM_UNIMPLEMENTED,
dCPU_REGIMM_UNIMPLEMENTED,
dCPU_REGIMM_UNIMPLEMENTED,
dCPU_REGIMM_UNIMPLEMENTED,
dCPU_REGIMM_UNIMPLEMENTED,
dCPU_REGIMM_UNIMPLEMENTED,
dCPU_REGIMM_UNIMPLEMENTED,
dCPU_REGIMM_UNIMPLEMENTED
};

cpu_instruction dcpu_cop0[64] =
{
dCPU_COP0_MOVE,
dCPU_COP0_TLBR,
dCPU_COP0_TLBWI,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_TLBP,
dCPU_COP0_UNIMPLEMENTED, 
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,   
dCPU_COP0_UNIMPLEMENTED, 
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_ERET,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,  
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED,
dCPU_COP0_UNIMPLEMENTED
};

cpu_instruction dcpu_cop1[32] =
{
dCPU_COP1_MFC1,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_CFC1,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_MTC1,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_CTC1,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_BC,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_S,
dCPU_COP1_D,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_W,
dCPU_COP1_L,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED
};
cpu_instruction dcpu_cop1_s[64] =
{
dCPU_COP1_ADDS,
dCPU_COP1_SUBS,
dCPU_COP1_MULS,
dCPU_COP1_DIVS,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_MOVS,
dCPU_COP1_NEGS,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_TRUNCWS,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_CVTDS,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL
};

cpu_instruction dcpu_cop1_d[64] =
{
dCPU_COP1_ADDD,
dCPU_COP1_SUBD,
dCPU_COP1_MULD,
dCPU_COP1_DIVD,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_MOVD,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_TRUNCWD,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_CVTSD,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_CVTWD,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL,
dCPU_COP1_CONDITIONAL
};

cpu_instruction dcpu_instr[64] =
{ 
dCPU_SPECIAL, 
dCPU_REGIMM,
dCPU_J,
dCPU_JAL,
dCPU_BEQ,
dCPU_BNE,
dCPU_BLEZ,
dCPU_BGTZ,
dCPU_ADDI,
dCPU_ADDIU,
dCPU_SLTI,
dCPU_SLTIU,
dCPU_ANDI,
dCPU_ORI,
dCPU_XORI,
dCPU_LUI,
dCPU_COP0,
dCPU_COP1,
dCPU_COP2,
dCPU_COP1X, 
dCPU_BEQL,
dCPU_BNEL,
dCPU_BLEZL,
dCPU_BGTZL,
dCPU_DADDI,
dCPU_DADDIU,
dCPU_UNIMPLEMENTED,
dCPU_UNIMPLEMENTED,
dCPU_UNIMPLEMENTED,
dCPU_UNIMPLEMENTED,
dCPU_UNIMPLEMENTED,
dCPU_UNIMPLEMENTED,
dCPU_LB,
dCPU_LH,
dCPU_LWL,
dCPU_LW,
dCPU_LBU,
dCPU_LHU,
dCPU_LWR,
dCPU_UNIMPLEMENTED,
dCPU_SB,
dCPU_SH,
dCPU_SWL,
dCPU_SW,
dCPU_UNIMPLEMENTED,
dCPU_UNIMPLEMENTED,
dCPU_SWR,
dCPU_COP0_CACHE,
dCPU_UNIMPLEMENTED,
dCPU_LWC1,
dCPU_LWC2,
dCPU_UNIMPLEMENTED,
dCPU_UNIMPLEMENTED,
dCPU_LDC1,
dCPU_UNIMPLEMENTED,
dCPU_LD,
dCPU_UNIMPLEMENTED,
dCPU_SWC1,
dCPU_SWC2,
dCPU_STOLEN,
dCPU_UNIMPLEMENTED,
dCPU_SDC1,
dCPU_UNIMPLEMENTED,
dCPU_SD
};

cpu_instruction dcpu_cop1_w[64] =
{
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_CVTSW,
dCPU_COP1_CVTDW,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED
};

cpu_instruction dcpu_cop1_l[64] =
{
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED,
dCPU_COP1_UNIMPLEMENTED
};
cpu_instruction ecpu_special[64] = {
eCPU_SPECIAL_SLL,
eCPU_SPECIAL_UNIMPLEMENTED,
eCPU_SPECIAL_SRL,
eCPU_SPECIAL_SRA,
eCPU_SPECIAL_SLLV,
eCPU_SPECIAL_UNIMPLEMENTED,
eCPU_SPECIAL_SRLV,
eCPU_SPECIAL_SRAV,
eCPU_SPECIAL_JR,
eCPU_SPECIAL_JALR,
eCPU_SPECIAL_UNIMPLEMENTED,
eCPU_SPECIAL_UNIMPLEMENTED,
eCPU_SPECIAL_SYSCALL,
eCPU_SPECIAL_UNIMPLEMENTED,
eCPU_SPECIAL_UNIMPLEMENTED,
eCPU_SPECIAL_SYNC,
eCPU_SPECIAL_MFHI,
eCPU_SPECIAL_MTHI,
eCPU_SPECIAL_MFLO,
eCPU_SPECIAL_MTLO,
eCPU_SPECIAL_DSLLV,
eCPU_SPECIAL_UNIMPLEMENTED,
eCPU_SPECIAL_UNIMPLEMENTED,
eCPU_SPECIAL_UNIMPLEMENTED,
eCPU_SPECIAL_MULT,
eCPU_SPECIAL_MULTU,
eCPU_SPECIAL_DIV,
eCPU_SPECIAL_DIVU,
eCPU_SPECIAL_UNIMPLEMENTED,
eCPU_SPECIAL_DMULTU,
eCPU_SPECIAL_DDIV,
eCPU_SPECIAL_DDIVU,
eCPU_SPECIAL_ADD,
eCPU_SPECIAL_ADDU,
eCPU_SPECIAL_SUB,
eCPU_SPECIAL_SUBU,
eCPU_SPECIAL_AND,
eCPU_SPECIAL_OR,
eCPU_SPECIAL_XOR,
eCPU_SPECIAL_NOR,
eCPU_SPECIAL_UNIMPLEMENTED,
eCPU_SPECIAL_UNIMPLEMENTED,
eCPU_SPECIAL_SLT,
eCPU_SPECIAL_SLTU,
eCPU_SPECIAL_UNIMPLEMENTED,
eCPU_SPECIAL_UNIMPLEMENTED,
eCPU_SPECIAL_UNIMPLEMENTED,
eCPU_SPECIAL_UNIMPLEMENTED,
eCPU_SPECIAL_UNIMPLEMENTED,
eCPU_SPECIAL_UNIMPLEMENTED,
eCPU_SPECIAL_UNIMPLEMENTED,
eCPU_SPECIAL_UNIMPLEMENTED,
eCPU_SPECIAL_UNIMPLEMENTED,
eCPU_SPECIAL_UNIMPLEMENTED,
eCPU_SPECIAL_TNE,
eCPU_SPECIAL_UNIMPLEMENTED,
eCPU_SPECIAL_DSLL,
eCPU_SPECIAL_UNIMPLEMENTED,
eCPU_SPECIAL_DSRL,
eCPU_SPECIAL_UNIMPLEMENTED,
eCPU_SPECIAL_DSLL32,
eCPU_SPECIAL_UNIMPLEMENTED,
eCPU_SPECIAL_DSRL32,
eCPU_SPECIAL_DSRA32,
};

cpu_instruction ecpu_regimm[32] =
{
eCPU_REGIMM_BLTZ,
eCPU_REGIMM_BGEZ,
eCPU_REGIMM_BLTZL,
eCPU_REGIMM_BGEZL,
eCPU_REGIMM_UNIMPLEMENTED,
eCPU_REGIMM_UNIMPLEMENTED,
eCPU_REGIMM_UNIMPLEMENTED,
eCPU_REGIMM_UNIMPLEMENTED,
eCPU_REGIMM_UNIMPLEMENTED,
eCPU_REGIMM_UNIMPLEMENTED,
eCPU_REGIMM_UNIMPLEMENTED,
eCPU_REGIMM_UNIMPLEMENTED,
eCPU_REGIMM_UNIMPLEMENTED,
eCPU_REGIMM_UNIMPLEMENTED,
eCPU_REGIMM_UNIMPLEMENTED,
eCPU_REGIMM_UNIMPLEMENTED,
eCPU_REGIMM_UNIMPLEMENTED,
eCPU_REGIMM_BGEZAL,
eCPU_REGIMM_UNIMPLEMENTED,
eCPU_REGIMM_UNIMPLEMENTED,
eCPU_REGIMM_UNIMPLEMENTED,
eCPU_REGIMM_UNIMPLEMENTED,
eCPU_REGIMM_UNIMPLEMENTED,
eCPU_REGIMM_UNIMPLEMENTED,
eCPU_REGIMM_UNIMPLEMENTED,
eCPU_REGIMM_UNIMPLEMENTED,
eCPU_REGIMM_UNIMPLEMENTED,
eCPU_REGIMM_UNIMPLEMENTED,
eCPU_REGIMM_UNIMPLEMENTED,
eCPU_REGIMM_UNIMPLEMENTED,
eCPU_REGIMM_UNIMPLEMENTED,
eCPU_REGIMM_UNIMPLEMENTED
};

cpu_instruction ecpu_cop0[64] =
{
eCPU_COP0_MOVE,
eCPU_COP0_TLBR,
eCPU_COP0_TLBWI,
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_TLBP,
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,  
eCPU_COP0_UNIMPLEMENTED,  
eCPU_COP0_UNIMPLEMENTED,  
eCPU_COP0_UNIMPLEMENTED,  
eCPU_COP0_UNIMPLEMENTED,  
eCPU_COP0_ERET,
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,  
eCPU_COP0_UNIMPLEMENTED,  
eCPU_COP0_UNIMPLEMENTED,  
eCPU_COP0_UNIMPLEMENTED,  
eCPU_COP0_UNIMPLEMENTED,  
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,  
eCPU_COP0_UNIMPLEMENTED,  
eCPU_COP0_UNIMPLEMENTED,  
eCPU_COP0_UNIMPLEMENTED,  
eCPU_COP0_UNIMPLEMENTED,  
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,  
eCPU_COP0_UNIMPLEMENTED,  
eCPU_COP0_UNIMPLEMENTED,  
eCPU_COP0_UNIMPLEMENTED,  
eCPU_COP0_UNIMPLEMENTED,  
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,  
eCPU_COP0_UNIMPLEMENTED,  
eCPU_COP0_UNIMPLEMENTED,  
eCPU_COP0_UNIMPLEMENTED,  
eCPU_COP0_UNIMPLEMENTED,  
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED,  
eCPU_COP0_UNIMPLEMENTED,
eCPU_COP0_UNIMPLEMENTED
};

cpu_instruction ecpu_cop1[32] =
{
eCPU_COP1_MFC1,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_CFC1,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_MTC1,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_CTC1,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_BC,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_S,
eCPU_COP1_D,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_W,           	
eCPU_COP1_L,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED
};

cpu_instruction ecpu_cop1_s[64] =
{
eCPU_COP1_ADDS,
eCPU_COP1_SUBS,
eCPU_COP1_MULS,
eCPU_COP1_DIVS,
eCPU_COP1_SQRTS,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_MOVS,
eCPU_COP1_NEGS,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_TRUNCWS,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_CVTDS,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_CVTWS,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_CCS,
eCPU_COP1_CCS,
eCPU_COP1_CCS,
eCPU_COP1_CCS,
eCPU_COP1_CCS,
eCPU_COP1_CCS,
eCPU_COP1_CCS,
eCPU_COP1_CCS,
eCPU_COP1_CCS,
eCPU_COP1_CCS,
eCPU_COP1_CCS,
eCPU_COP1_CCS,
eCPU_COP1_CCS,
eCPU_COP1_CCS,
eCPU_COP1_CCS,
eCPU_COP1_CCS
};

cpu_instruction ecpu_cop1_d[64] =
{
eCPU_COP1_ADDD,
eCPU_COP1_SUBD,
eCPU_COP1_MULD,
eCPU_COP1_DIVD,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_MOVD,
eCPU_COP1_NEGD,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_TRUNCWD,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_CVTSD,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_CVTWD,
eCPU_COP1_CVTLD,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_CCD,
eCPU_COP1_CCD,
eCPU_COP1_CCD,
eCPU_COP1_CCD,
eCPU_COP1_CCD,
eCPU_COP1_CCD,
eCPU_COP1_CCD,
eCPU_COP1_CCD,
eCPU_COP1_CCD,
eCPU_COP1_CCD,
eCPU_COP1_CCD,
eCPU_COP1_CCD,
eCPU_COP1_CCD,
eCPU_COP1_CCD,
eCPU_COP1_CCD,
eCPU_COP1_CCD
};

cpu_instruction ecpu_cop1_w[64] =
{
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_CVTSW,
eCPU_COP1_CVTDW,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_CCW,
eCPU_COP1_CCW,
eCPU_COP1_CCW,
eCPU_COP1_CCW,
eCPU_COP1_CCW,
eCPU_COP1_CCW,
eCPU_COP1_CCW,
eCPU_COP1_CCW,
eCPU_COP1_CCW,
eCPU_COP1_CCW,
eCPU_COP1_CCW,
eCPU_COP1_CCW,
eCPU_COP1_CCW,
eCPU_COP1_CCW,
eCPU_COP1_CCW,
eCPU_COP1_CCW
};

cpu_instruction ecpu_cop1_l[64] =
{
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_UNIMPLEMENTED,
eCPU_COP1_CCL,
eCPU_COP1_CCL,
eCPU_COP1_CCL,
eCPU_COP1_CCL,
eCPU_COP1_CCL,
eCPU_COP1_CCL,
eCPU_COP1_CCL,
eCPU_COP1_CCL,
eCPU_COP1_CCL,
eCPU_COP1_CCL,
eCPU_COP1_CCL,
eCPU_COP1_CCL,
eCPU_COP1_CCL,
eCPU_COP1_CCL,
eCPU_COP1_CCL,
eCPU_COP1_CCL
};

cpu_instruction ecpu_instr[64] =
{ 
eCPU_SPECIAL, 
eCPU_REGIMM,
eCPU_J,
eCPU_JAL,
eCPU_BEQ,
eCPU_BNE,
eCPU_BLEZ,
eCPU_BGTZ,
eCPU_ADDI,
eCPU_ADDIU,
eCPU_SLTI,
eCPU_SLTIU,
eCPU_ANDI,
eCPU_ORI,
eCPU_XORI,
eCPU_LUI,
eCPU_COP0,
eCPU_COP1,
eCPU_UNIMPLEMENTED,
eCPU_UNIMPLEMENTED,
eCPU_BEQL,
eCPU_BNEL,
eCPU_BLEZL,
eCPU_BGTZL,
eCPU_DADDI,
eCPU_DADDIU,
eCPU_UNIMPLEMENTED,
eCPU_UNIMPLEMENTED,
eCPU_UNIMPLEMENTED,
eCPU_UNIMPLEMENTED,
eCPU_UNIMPLEMENTED,
eCPU_UNIMPLEMENTED,
eCPU_LB,
eCPU_LH,
eCPU_LWL,	
eCPU_LW,
eCPU_LBU,
eCPU_LHU,
eCPU_LWR,
eCPU_UNIMPLEMENTED,
eCPU_SB,
eCPU_SH,
eCPU_SWL,
eCPU_SW,
eCPU_UNIMPLEMENTED,
eCPU_UNIMPLEMENTED,
eCPU_SWR,
eCPU_COP0_CACHE,
eCPU_UNIMPLEMENTED,
eCPU_LWC1,
eCPU_UNIMPLEMENTED,
eCPU_UNIMPLEMENTED,
eCPU_UNIMPLEMENTED,
eCPU_LDC1,
eCPU_UNIMPLEMENTED,
eCPU_LD,
eCPU_UNIMPLEMENTED,
eCPU_SWC1,
eCPU_UNIMPLEMENTED,
eCPU_STOLEN,
eCPU_UNIMPLEMENTED,
eCPU_SDC1,
eCPU_UNIMPLEMENTED,
eCPU_SD
};
