project64/Source/RSP/Interpreter Ops.h

159 lines
5.8 KiB
C
Raw Normal View History

/*
* RSP Compiler plug in for Project 64 (A Nintendo 64 emulator).
*
* (c) Copyright 2001 jabo (jabo@emulation64.com) and
* zilmar (zilmar@emulation64.com)
*
* pj64 homepage: www.pj64.net
*
* Permission to use, copy, modify and distribute Project64 in both binary and
* source form, for non-commercial purposes, is hereby granted without fee,
* providing that this license information and copyright notice appear with
* all copies and any derived work.
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event shall the authors be held liable for any damages
* arising from the use of this software.
*
* Project64 is freeware for PERSONAL USE only. Commercial users should
* seek permission of the copyright holders first. Commercial use includes
* charging money for Project64 or software derived from Project64.
*
* The copyright holders request that bug fixes and improvements to the code
* should be forwarded to them so if they want them.
*
*/
/************************* OpCode functions *************************/
void RSP_Opcode_SPECIAL ( void );
void RSP_Opcode_REGIMM ( void );
void RSP_Opcode_J ( void );
void RSP_Opcode_JAL ( void );
void RSP_Opcode_BEQ ( void );
void RSP_Opcode_BNE ( void );
void RSP_Opcode_BLEZ ( void );
void RSP_Opcode_BGTZ ( void );
void RSP_Opcode_ADDI ( void );
void RSP_Opcode_ADDIU ( void );
void RSP_Opcode_SLTI ( void );
void RSP_Opcode_SLTIU ( void );
void RSP_Opcode_ANDI ( void );
void RSP_Opcode_ORI ( void );
void RSP_Opcode_XORI ( void );
void RSP_Opcode_LUI ( void );
void RSP_Opcode_COP0 ( void );
void RSP_Opcode_COP2 ( void );
void RSP_Opcode_LB ( void );
void RSP_Opcode_LH ( void );
void RSP_Opcode_LW ( void );
void RSP_Opcode_LBU ( void );
void RSP_Opcode_LHU ( void );
void RSP_Opcode_SB ( void );
void RSP_Opcode_SH ( void );
void RSP_Opcode_SW ( void );
void RSP_Opcode_LC2 ( void );
void RSP_Opcode_SC2 ( void );
/********************** R4300i OpCodes: Special **********************/
void RSP_Special_SLL ( void );
void RSP_Special_SRL ( void );
void RSP_Special_SRA ( void );
void RSP_Special_SLLV ( void );
void RSP_Special_SRLV ( void );
void RSP_Special_SRAV ( void );
void RSP_Special_JR ( void );
void RSP_Special_JALR ( void );
void RSP_Special_BREAK ( void );
void RSP_Special_ADD ( void );
void RSP_Special_ADDU ( void );
void RSP_Special_SUB ( void );
void RSP_Special_SUBU ( void );
void RSP_Special_AND ( void );
void RSP_Special_OR ( void );
void RSP_Special_XOR ( void );
void RSP_Special_NOR ( void );
void RSP_Special_SLT ( void );
void RSP_Special_SLTU ( void );
/********************** R4300i OpCodes: RegImm **********************/
void RSP_Opcode_BLTZ ( void );
void RSP_Opcode_BGEZ ( void );
void RSP_Opcode_BLTZAL ( void );
void RSP_Opcode_BGEZAL ( void );
/************************** Cop0 functions *************************/
void RSP_Cop0_MF ( void );
void RSP_Cop0_MT ( void );
/************************** Cop2 functions *************************/
void RSP_Cop2_MF ( void );
void RSP_Cop2_CF ( void );
void RSP_Cop2_MT ( void );
void RSP_Cop2_CT ( void );
void RSP_COP2_VECTOR ( void );
/************************** Vect functions **************************/
void RSP_Vector_VMULF ( void );
void RSP_Vector_VMULU ( void );
void RSP_Vector_VMUDL ( void );
void RSP_Vector_VMUDM ( void );
void RSP_Vector_VMUDN ( void );
void RSP_Vector_VMUDH ( void );
void RSP_Vector_VMACF ( void );
void RSP_Vector_VMACU ( void );
void RSP_Vector_VMACQ ( void );
void RSP_Vector_VMADL ( void );
void RSP_Vector_VMADM ( void );
void RSP_Vector_VMADN ( void );
void RSP_Vector_VMADH ( void );
void RSP_Vector_VADD ( void );
void RSP_Vector_VSUB ( void );
void RSP_Vector_VABS ( void );
void RSP_Vector_VADDC ( void );
void RSP_Vector_VSUBC ( void );
void RSP_Vector_VSAW ( void );
void RSP_Vector_VLT ( void );
void RSP_Vector_VEQ ( void );
void RSP_Vector_VNE ( void );
void RSP_Vector_VGE ( void );
void RSP_Vector_VCL ( void );
void RSP_Vector_VCH ( void );
void RSP_Vector_VCR ( void );
void RSP_Vector_VMRG ( void );
void RSP_Vector_VAND ( void );
void RSP_Vector_VNAND ( void );
void RSP_Vector_VOR ( void );
void RSP_Vector_VNOR ( void );
void RSP_Vector_VXOR ( void );
void RSP_Vector_VNXOR ( void );
void RSP_Vector_VRCP ( void );
void RSP_Vector_VRCPL ( void );
void RSP_Vector_VRCPH ( void );
void RSP_Vector_VMOV ( void );
void RSP_Vector_VRSQ ( void );
void RSP_Vector_VRSQL ( void );
void RSP_Vector_VRSQH ( void );
void RSP_Vector_VNOOP ( void );
/************************** lc2 functions **************************/
void RSP_Opcode_LBV ( void );
void RSP_Opcode_LSV ( void );
void RSP_Opcode_LLV ( void );
void RSP_Opcode_LDV ( void );
void RSP_Opcode_LQV ( void );
void RSP_Opcode_LRV ( void );
void RSP_Opcode_LPV ( void );
void RSP_Opcode_LUV ( void );
void RSP_Opcode_LHV ( void );
void RSP_Opcode_LFV ( void );
void RSP_Opcode_LTV ( void );
/************************** lc2 functions **************************/
void RSP_Opcode_SBV ( void );
void RSP_Opcode_SSV ( void );
void RSP_Opcode_SLV ( void );
void RSP_Opcode_SDV ( void );
void RSP_Opcode_SQV ( void );
void RSP_Opcode_SRV ( void );
void RSP_Opcode_SPV ( void );
void RSP_Opcode_SUV ( void );
void RSP_Opcode_SHV ( void );
void RSP_Opcode_SFV ( void );
void RSP_Opcode_STV ( void );
void RSP_Opcode_SWV ( void );
/************************** Other functions **************************/
void rsp_UnknownOpcode ( void );