⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 codes.h

📁 ESS3890+SL原代码(1*16内存)
💻 H
📖 第 1 页 / 共 2 页
字号:
/* Copyright 2001, ESS Technology, Inc.     /* SCCSID @(#)codes.h	1.8 03/25/02 *//* * $Log$ *//** VGB: portable GameBoy emulator ***************************//**                                                         **//**                          Codes.h                        **//**                                                         **//** This file contains implementation for the main table of **//** Z80 commands. It is included from Z80.c.                **//**                                                         **//** Copyright (C) Marat Fayzullin 1994-2001                 **//**     The contents of this file are property of Marat     **//**     Fayzullin and should only be used as agreed with    **//**     him. The file is confidential. Absolutely no        **//**     distribution allowed.                               **//*************************************************************/#ifdef VGBcase 0x08:  ICount -= 20;  J.B.l=RdZ80(RPC.W++);J.B.h=RdZ80(RPC.W++);  WrZ80(J.W++,R->SP.B.l);WrZ80(J.W,R->SP.B.h);  break;case 0x22:     ICount -= 8;     WrZ80(R->HL.W++,R->AF.B.h);break;case 0x2A:     ICount -= 8;     R->AF.B.h=RdZ80(R->HL.W++);break;case 0x32:     ICount -= 8;     WrZ80(R->HL.W--,R->AF.B.h);break;case 0x3A:     ICount -= 8;     R->AF.B.h=RdZ80(R->HL.W--);break;case 0xD9:  ICount -= 16;  if(!(R->IFF&0x01))  {    R->IFF|=0x20;    R->IBackup=ICount;    ICount=1;  }  M_RET;  break;case 0xE0:     ICount -= 12;     WrZ80(0xFF00+RdZ80(RPC.W++),R->AF.B.h);break;case 0xE2:     ICount -= 8;     WrZ80(0xFF00+R->BC.B.l,R->AF.B.h);break;case 0xE8:     ICount -= 16;     R->SP.W+=(signed char)RdZ80(RPC.W++);break;case 0xEA:     ICount -= 16;     J.B.l=RdZ80(RPC.W++);     J.B.h=RdZ80(RPC.W++);     WrZ80(J.W,R->AF.B.h);     break;case 0xF0:     ICount -= 12;     R->AF.B.h=RdZ80(0xFF00+RdZ80(RPC.W++));break;case 0xF2:     ICount -= 8;     R->AF.B.h=RdZ80(0xFF00+R->BC.B.l);break;case 0xF8:     ICount -= 12;     R->HL.W=R->SP.W+(signed char)RdZ80(RPC.W++);break;case 0xFA:     ICount -= 16;     J.B.l=RdZ80(RPC.W++);     J.B.h=RdZ80(RPC.W++);     R->AF.B.h=RdZ80(J.W);     break;case JR_NZ: /*0x20*/     ICount -= 8;     if(R->AF.B.l&Z_FLAG)  RPC.W++; else { ICount-=4;M_JR; } break;case JR_NC:  /*0x30*/     ICount -= 8;     if(R->AF.B.l&C_FLAG)  RPC.W++; else { ICount-=4;M_JR; } break;case JR_Z:     ICount -= 12;     if(R->AF.B.l&Z_FLAG)  { ICount-=4;M_JR; } else RPC.W++; break;case JR_C:     ICount -= 8;     if(R->AF.B.l&C_FLAG)  { ICount-=4;M_JR; } else RPC.W++; break;case JP_NZ:     ICount -= 12;     if(R->AF.B.l&Z_FLAG)  RPC.W+=2; else { ICount-=4;M_JP; } break;case JP_NC:     ICount -= 12;     if(R->AF.B.l&C_FLAG)  RPC.W+=2; else { ICount-=4;M_JP; } break;case JP_Z:     ICount -= 12;     if(R->AF.B.l&Z_FLAG)  { ICount-=4;M_JP; } else RPC.W+=2; break;case JP_C:     ICount -= 12;     if(R->AF.B.l&C_FLAG)  { ICount-=4;M_JP; } else RPC.W+=2; break;case RET_NZ:     ICount -= 8;     if(!(R->AF.B.l&Z_FLAG)) { ICount-=12;M_RET; } break;case RET_NC:     ICount -= 8;     if(!(R->AF.B.l&C_FLAG)) { ICount-=12;M_RET; } break;case RET_Z:     ICount -= 8;     if(R->AF.B.l&Z_FLAG)    { ICount-=12;M_RET; } break;case RET_C:     ICount -= 8;     if(R->AF.B.l&C_FLAG)    { ICount-=12;M_RET; } break;case CALL_NZ:    ICount -= 12;    if(R->AF.B.l&Z_FLAG)  RPC.W+=2;  else { ICount-=12;M_CALL; } break;case CALL_NC:    ICount -= 12;    if(R->AF.B.l&C_FLAG)  RPC.W+=2;  else { ICount-=12;M_CALL; } break;case CALL_Z:    ICount -= 12;    if(R->AF.B.l&Z_FLAG)  { ICount-=12;M_CALL; } else RPC.W+=2; break;case CALL_C:    ICount -= 12;    if(R->AF.B.l&C_FLAG)  { ICount-=12;M_CALL; } else RPC.W+=2; break;case ADD_B:     ICount -= 4;     M_ADD(R->BC.B.h);break;case ADD_C:     ICount -= 4;     M_ADD(R->BC.B.l);break;case ADD_D:     ICount -= 4;     M_ADD(R->DE.B.h);break;case ADD_E:     ICount -= 4;     M_ADD(R->DE.B.l);break;case ADD_H:     ICount -= 4;     M_ADD(R->HL.B.h);break;case ADD_L:     ICount -= 4;     M_ADD(R->HL.B.l);break;case ADD_A:     ICount -= 4;     M_ADD(R->AF.B.h);break;case ADD_xHL:     ICount -= 8;     I=RdZ80(R->HL.W);M_ADD(I);break;case ADD_BYTE:     ICount -= 8;     I=RdZ80(RPC.W++);M_ADD(I);break;case SUB_B:     ICount -= 4;     M_SUB(R->BC.B.h);break;case SUB_C:     ICount -= 4;     M_SUB(R->BC.B.l);break;case SUB_D:     ICount -= 4;     M_SUB(R->DE.B.h);break;case SUB_E:     ICount -= 4;     M_SUB(R->DE.B.l);break;case SUB_H:     ICount -= 4;     M_SUB(R->HL.B.h);break;case SUB_L:     ICount -= 4;     M_SUB(R->HL.B.l);break;case SUB_A:     ICount -= 4;     R->AF.B.h=0;R->AF.B.l=/*N_FLAG|Z_FLAG*/0x42;break;case SUB_xHL:     ICount -= 8;     I=RdZ80(R->HL.W);M_SUB(I);break;case SUB_BYTE:     ICount -= 4;     I=RdZ80(RPC.W++);M_SUB(I);break;case AND_B:     ICount -= 4;     M_AND(R->BC.B.h);break;case AND_C:     ICount -= 4;     M_AND(R->BC.B.l);break;case AND_D:     ICount -= 4;     M_AND(R->DE.B.h);break;case AND_E:     ICount -= 4;     M_AND(R->DE.B.l);break;case AND_H:     ICount -= 4;     M_AND(R->HL.B.h);break;case AND_L:     ICount -= 4;     M_AND(R->HL.B.l);break;case AND_A:     ICount -= 4;     M_AND(R->AF.B.h);break;case AND_xHL:     ICount -= 8;     I=RdZ80(R->HL.W);M_AND(I);break;case AND_BYTE:     ICount -= 8;     I=RdZ80(RPC.W++);M_AND(I);break;case OR_B:     ICount -= 4;     M_OR(R->BC.B.h);break;case OR_C:     ICount -= 4;     M_OR(R->BC.B.l);break;case OR_D:     ICount -= 4;     M_OR(R->DE.B.h);break;case OR_E:     ICount -= 4;     M_OR(R->DE.B.l);break;case OR_H:     ICount -= 4;     M_OR(R->HL.B.h);break;case OR_L:     ICount -= 4;     M_OR(R->HL.B.l);break;case OR_A:     ICount -= 4;     M_OR(R->AF.B.h);break;case OR_xHL:     ICount -= 8;     I=RdZ80(R->HL.W);M_OR(I);break;case OR_BYTE:     ICount -= 8;     I=RdZ80(RPC.W++);M_OR(I);break;case ADC_B:     ICount -= 4;     M_ADC(R->BC.B.h);break;case ADC_C:     ICount -= 4;     M_ADC(R->BC.B.l);break;case ADC_D:     ICount -= 4;     M_ADC(R->DE.B.h);break;case ADC_E:     ICount -= 4;     M_ADC(R->DE.B.l);break;case ADC_H:     ICount -= 4;     M_ADC(R->HL.B.h);break;case ADC_L:     ICount -= 4;     M_ADC(R->HL.B.l);break;case ADC_A:     ICount -= 4;     M_ADC(R->AF.B.h);break;case ADC_xHL:     ICount -= 8;     I=RdZ80(R->HL.W);M_ADC(I);break;case ADC_BYTE:     ICount -= 8;     I=RdZ80(RPC.W++);M_ADC(I);break;case SBC_B:     ICount -= 4;     M_SBC(R->BC.B.h);break;case SBC_C:     ICount -= 4;     M_SBC(R->BC.B.l);break;case SBC_D:     ICount -= 4;     M_SBC(R->DE.B.h);break;case SBC_E:     ICount -= 4;     M_SBC(R->DE.B.l);break;case SBC_H:     ICount -= 4;     M_SBC(R->HL.B.h);break;case SBC_L:     ICount -= 4;     M_SBC(R->HL.B.l);break;case SBC_A:     ICount -= 4;     M_SBC(R->AF.B.h);break;case SBC_xHL:     ICount -= 8;     I=RdZ80(R->HL.W);M_SBC(I);break;case SBC_BYTE:     ICount -= 8;     I=RdZ80(RPC.W++);M_SBC(I);break;case XOR_B:     ICount -= 4;     M_XOR(R->BC.B.h);break;case XOR_C:     ICount -= 4;     M_XOR(R->BC.B.l);break;case XOR_D:     ICount -= 4;     M_XOR(R->DE.B.h);break;case XOR_E:     ICount -= 4;     M_XOR(R->DE.B.l);break;case XOR_H:     ICount -= 4;     M_XOR(R->HL.B.h);break;case XOR_L:     ICount -= 4;     M_XOR(R->HL.B.l);break;case XOR_A:     ICount -= 4;     R->AF.B.h=0;R->AF.B.l=Z_FLAG;break;case XOR_xHL:     ICount -= 8;     I=RdZ80(R->HL.W);M_XOR(I);break;case XOR_BYTE:     ICount -= 8;     I=RdZ80(RPC.W++);M_XOR(I);break;case CP_B:     ICount -= 4;     M_CP(R->BC.B.h);break;case CP_C:     ICount -= 4;     M_CP(R->BC.B.l);break;case CP_D:     ICount -= 4;     M_CP(R->DE.B.h);break;case CP_E:     ICount -= 4;     M_CP(R->DE.B.l);break;case CP_H:     ICount -= 4;     M_CP(R->HL.B.h);break;case CP_L:     ICount -= 4;     M_CP(R->HL.B.l);break;case CP_A:     ICount -= 4;     R->AF.B.l=/*N_FLAG|Z_FLAG*/0x42;break;case CP_xHL:     ICount -= 8;     I=RdZ80(R->HL.W);M_CP(I);break;case CP_BYTE:     ICount -= 8;     I=RdZ80(RPC.W++);M_CP(I);break;               case LD_BC_WORD:     ICount -= 12;     M_LDWORD(BC);break;case LD_DE_WORD:     ICount -= 12;     M_LDWORD(DE);break;case LD_HL_WORD:     ICount -= 12;     M_LDWORD(HL);break;case LD_SP_WORD:     ICount -= 12;     M_LDWORD(SP);break;case LD_PC_HL:     ICount -= 16;     RPC.W=R->HL.W;break;case LD_SP_HL:     ICount -= 12;     R->SP.W=R->HL.W;break;case LD_A_xBC:     ICount -= 8;     R->AF.B.h=RdZ80(R->BC.W);break;case LD_A_xDE:     ICount -= 8;     R->AF.B.h=RdZ80(R->DE.W);break;case ADD_HL_BC:     ICount -= 8;     M_ADDW(HL,BC);break;case ADD_HL_DE:     ICount -= 8;     M_ADDW(HL,DE);break;case ADD_HL_HL:     ICount -= 8;     M_ADDW(HL,HL);break;case ADD_HL_SP:     ICount -= 8;     M_ADDW(HL,SP);break;case DEC_BC:     ICount -= 8;     R->BC.W--;break;case DEC_DE:     ICount -= 8;     R->DE.W--;break;case DEC_HL:     ICount -= 8;     R->HL.W--;break;case DEC_SP:     ICount -= 8;    R->SP.W--;break;case INC_BC:     ICount -= 8;     R->BC.W++;break;case INC_DE:     ICount -= 8;     R->DE.W++;break;case INC_HL:     ICount -= 8;     R->HL.W++;break;case INC_SP:     ICount -= 8;     R->SP.W++;break;case DEC_B:     ICount -= 4;     M_DEC(R->BC.B.h);break;case DEC_C:     ICount -= 4;     M_DEC(R->BC.B.l);break;case DEC_D:     ICount -= 4;     M_DEC(R->DE.B.h);break;case DEC_E:     ICount -= 4;     M_DEC(R->DE.B.l);break;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -