/**************************************************************************** * * * Project 64 - A Nintendo 64 emulator. * * http://www.pj64-emu.com/ * * Copyright (C) 2012 Project64. All rights reserved. * * * * License: * * GNU/GPLv2 http://www.gnu.org/licenses/gpl-2.0.html * * * ****************************************************************************/ #pragma once class R4300iOp32 : public R4300iOp { public: /************************* OpCode functions *************************/ static void JAL ( void ); static void BEQ ( void ); static void BNE ( void ); static void BLEZ ( void ); static void BGTZ ( void ); static void ADDI ( void ); static void ADDIU ( void ); static void SLTI ( void ); static void SLTIU ( void ); static void ANDI ( void ); static void ORI ( void ); static void XORI ( void ); static void LUI ( void ); static void BEQL ( void ); static void BNEL ( void ); static void BLEZL ( void ); static void BGTZL ( void ); static void LB ( void ); static void LH ( void ); static void LWL ( void ); static void LW ( void ); static void LBU ( void ); static void LHU ( void ); static void LWR ( void ); static void LWU ( void ); static void LL ( void ); /********************** R4300i OpCodes: Special **********************/ static void SPECIAL_SLL ( void ); static void SPECIAL_SRL ( void ); static void SPECIAL_SRA ( void ); static void SPECIAL_SLLV ( void ); static void SPECIAL_SRLV ( void ); static void SPECIAL_SRAV ( void ); static void SPECIAL_JALR ( void ); static void SPECIAL_ADD ( void ); static void SPECIAL_ADDU ( void ); static void SPECIAL_SUB ( void ); static void SPECIAL_SUBU ( void ); static void SPECIAL_AND ( void ); static void SPECIAL_OR ( void ); static void SPECIAL_NOR ( void ); static void SPECIAL_SLT ( void ); static void SPECIAL_SLTU ( void ); static void SPECIAL_TEQ ( void ); static void SPECIAL_DSRL32 ( void ); static void SPECIAL_DSRA32 ( void ); /********************** R4300i OpCodes: RegImm **********************/ static void REGIMM_BLTZ ( void ); static void REGIMM_BGEZ ( void ); static void REGIMM_BLTZL ( void ); static void REGIMM_BGEZL ( void ); static void REGIMM_BLTZAL ( void ); static void REGIMM_BGEZAL ( void ); /************************** COP0 functions **************************/ static void COP0_MF ( void ); static void COP0_MT ( void ); /************************** COP1 functions **************************/ static void COP1_MF ( void ); static void COP1_CF ( void ); static void COP1_DMT ( void ); static Func * BuildInterpreter (void ); };