/* Pcsx2 - Pc Ps2 Emulator * Copyright (C) 2002-2003 Pcsx2 Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef __IVU0MICRO_H__ #define __IVU0MICRO_H__ void recResetVU0(); void recExecuteVU0Block( void ); void recClearVU0( u32 Addr, u32 Size ); extern void (*recVU0_LOWER_OPCODE[128])(); extern void (*recVU0_UPPER_OPCODE[64])(); extern void (*recVU0_UPPER_FD_00_TABLE[32])(); extern void (*recVU0_UPPER_FD_01_TABLE[32])(); extern void (*recVU0_UPPER_FD_10_TABLE[32])(); extern void (*recVU0_UPPER_FD_11_TABLE[32])(); void recVU0_UPPER_FD_00(); void recVU0_UPPER_FD_01(); void recVU0_UPPER_FD_10(); void recVU0_UPPER_FD_11(); void recVU0LowerOP(); void recVU0LowerOP_T3_00(); void recVU0LowerOP_T3_01(); void recVU0LowerOP_T3_10(); void recVU0LowerOP_T3_11(); void recVU0unknown(); /***************************************** VU0 Micromode Upper instructions *****************************************/ void recVU0MI_ABS(); void recVU0MI_ADD(); void recVU0MI_ADDi(); void recVU0MI_ADDq(); void recVU0MI_ADDx(); void recVU0MI_ADDy(); void recVU0MI_ADDz(); void recVU0MI_ADDw(); void recVU0MI_ADDA(); void recVU0MI_ADDAi(); void recVU0MI_ADDAq(); void recVU0MI_ADDAx(); void recVU0MI_ADDAy(); void recVU0MI_ADDAz(); void recVU0MI_ADDAw(); void recVU0MI_SUB(); void recVU0MI_SUBi(); void recVU0MI_SUBq(); void recVU0MI_SUBx(); void recVU0MI_SUBy(); void recVU0MI_SUBz(); void recVU0MI_SUBw(); void recVU0MI_SUBA(); void recVU0MI_SUBAi(); void recVU0MI_SUBAq(); void recVU0MI_SUBAx(); void recVU0MI_SUBAy(); void recVU0MI_SUBAz(); void recVU0MI_SUBAw(); void recVU0MI_MUL(); void recVU0MI_MULi(); void recVU0MI_MULq(); void recVU0MI_MULx(); void recVU0MI_MULy(); void recVU0MI_MULz(); void recVU0MI_MULw(); void recVU0MI_MULA(); void recVU0MI_MULAi(); void recVU0MI_MULAq(); void recVU0MI_MULAx(); void recVU0MI_MULAy(); void recVU0MI_MULAz(); void recVU0MI_MULAw(); void recVU0MI_MADD(); void recVU0MI_MADDi(); void recVU0MI_MADDq(); void recVU0MI_MADDx(); void recVU0MI_MADDy(); void recVU0MI_MADDz(); void recVU0MI_MADDw(); void recVU0MI_MADDA(); void recVU0MI_MADDAi(); void recVU0MI_MADDAq(); void recVU0MI_MADDAx(); void recVU0MI_MADDAy(); void recVU0MI_MADDAz(); void recVU0MI_MADDAw(); void recVU0MI_MSUB(); void recVU0MI_MSUBi(); void recVU0MI_MSUBq(); void recVU0MI_MSUBx(); void recVU0MI_MSUBy(); void recVU0MI_MSUBz(); void recVU0MI_MSUBw(); void recVU0MI_MSUBA(); void recVU0MI_MSUBAi(); void recVU0MI_MSUBAq(); void recVU0MI_MSUBAx(); void recVU0MI_MSUBAy(); void recVU0MI_MSUBAz(); void recVU0MI_MSUBAw(); void recVU0MI_MAX(); void recVU0MI_MAXi(); void recVU0MI_MAXx(); void recVU0MI_MAXy(); void recVU0MI_MAXz(); void recVU0MI_MAXw(); void recVU0MI_MINI(); void recVU0MI_MINIi(); void recVU0MI_MINIx(); void recVU0MI_MINIy(); void recVU0MI_MINIz(); void recVU0MI_MINIw(); void recVU0MI_OPMULA(); void recVU0MI_OPMSUB(); void recVU0MI_NOP(); void recVU0MI_FTOI0(); void recVU0MI_FTOI4(); void recVU0MI_FTOI12(); void recVU0MI_FTOI15(); void recVU0MI_ITOF0(); void recVU0MI_ITOF4(); void recVU0MI_ITOF12(); void recVU0MI_ITOF15(); void recVU0MI_CLIP(); /***************************************** VU0 Micromode Lower instructions *****************************************/ void recVU0MI_DIV(); void recVU0MI_SQRT(); void recVU0MI_RSQRT(); void recVU0MI_IADD(); void recVU0MI_IADDI(); void recVU0MI_IADDIU(); void recVU0MI_IAND(); void recVU0MI_IOR(); void recVU0MI_ISUB(); void recVU0MI_ISUBIU(); void recVU0MI_MOVE(); void recVU0MI_MFIR(); void recVU0MI_MTIR(); void recVU0MI_MR32(); void recVU0MI_LQ(); void recVU0MI_LQD(); void recVU0MI_LQI(); void recVU0MI_SQ(); void recVU0MI_SQD(); void recVU0MI_SQI(); void recVU0MI_ILW(); void recVU0MI_ISW(); void recVU0MI_ILWR(); void recVU0MI_ISWR(); void recVU0MI_RINIT(); void recVU0MI_RGET(); void recVU0MI_RNEXT(); void recVU0MI_RXOR(); void recVU0MI_WAITQ(); void recVU0MI_FSAND(); void recVU0MI_FSEQ(); void recVU0MI_FSOR(); void recVU0MI_FSSET(); void recVU0MI_FMAND(); void recVU0MI_FMEQ(); void recVU0MI_FMOR(); void recVU0MI_FCAND(); void recVU0MI_FCEQ(); void recVU0MI_FCOR(); void recVU0MI_FCSET(); void recVU0MI_FCGET(); void recVU0MI_IBEQ(); void recVU0MI_IBGEZ(); void recVU0MI_IBGTZ(); void recVU0MI_IBLEZ(); void recVU0MI_IBLTZ(); void recVU0MI_IBNE(); void recVU0MI_B(); void recVU0MI_BAL(); void recVU0MI_JR(); void recVU0MI_JALR(); void recVU0MI_MFP(); void recVU0MI_WAITP(); void recVU0MI_ESADD(); void recVU0MI_ERSADD(); void recVU0MI_ELENG(); void recVU0MI_ERLENG(); void recVU0MI_EATANxy(); void recVU0MI_EATANxz(); void recVU0MI_ESUM(); void recVU0MI_ERCPR(); void recVU0MI_ESQRT(); void recVU0MI_ERSQRT(); void recVU0MI_ESIN(); void recVU0MI_EATAN(); void recVU0MI_EEXP(); void recVU0MI_XITOP(); #endif /* __IVU0MICRO_H__ */