mirror of
https://github.com/libretro/beetle-psx-libretro.git
synced 2024-11-27 02:40:31 +00:00
e9d2688c74
- Create VS 2015 files - Fix various compiler and linker errors (not sure if I'm missing some existing work arounds) - Intergate all current operations (CPU currently broken) - Integrate vertex caching - Implement perspective correct texturing - Update command vertices to use floating point positions - Add menu options to toggle modes
155 lines
3.5 KiB
C
155 lines
3.5 KiB
C
/***************************************************************************
|
|
* Copyright (C) 2016 by iCatButler *
|
|
* *
|
|
* 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., *
|
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. *
|
|
***************************************************************************/
|
|
|
|
/**************************************************************************
|
|
* pgxp_debug.h
|
|
* PGXP - Parallel/Precision Geometry Xform Pipeline
|
|
*
|
|
* Created on: 07 Jun 2016
|
|
* Author: iCatButler
|
|
***************************************************************************/
|
|
|
|
#ifndef _PGXP_DEBUG_H_
|
|
#define _PGXP_DEBUG_H_
|
|
|
|
#include "pgxp_types.h"
|
|
|
|
//#define PGXP_CPU_DEBUG
|
|
//#define PGXP_OUTPUT_ALL
|
|
//#define PGXP_FORCE_INPUT_VALUES
|
|
//#define PGXP_TEST_OUTPUT_VALUES
|
|
|
|
#define PGXP_DEBUG_TOLERANCE 2.f
|
|
|
|
|
|
// Debug wrappers
|
|
void PGXP_psxTraceOp(u32 eOp, u32 code);
|
|
void PGXP_psxTraceOp1(u32 eOp, u32 code, u32 op1);
|
|
void PGXP_psxTraceOp2(u32 eOp, u32 code, u32 op1, u32 op2);
|
|
void PGXP_psxTraceOp3(u32 eOp, u32 code, u32 op1, u32 op2, u32 op3);
|
|
void PGXP_psxTraceOp4(u32 eOp, u32 code, u32 op1, u32 op2, u32 op3, u32 op4);
|
|
|
|
extern unsigned int pgxp_debug;
|
|
|
|
|
|
// Op flags
|
|
enum PGXP_DBG_Enum
|
|
{
|
|
DBG_E_SPECIAL,
|
|
DBG_E_REGIMM,
|
|
DBG_E_J,
|
|
DBG_E_JAL,
|
|
DBG_E_BEQ,
|
|
DBG_E_BNE,
|
|
DBG_E_BLEZ,
|
|
DBG_E_BGTZ,
|
|
DBG_E_ADDI,
|
|
DBG_E_ADDIU,
|
|
DBG_E_SLTI,
|
|
DBG_E_SLTIU,
|
|
DBG_E_ANDI,
|
|
DBG_E_ORI,
|
|
DBG_E_XORI,
|
|
DBG_E_LUI,
|
|
DBG_E_COP0,
|
|
DBG_E_COP2,
|
|
DBG_E_LB,
|
|
DBG_E_LH,
|
|
DBG_E_LWL,
|
|
DBG_E_LW,
|
|
DBG_E_LBU,
|
|
DBG_E_LHU,
|
|
DBG_E_LWR,
|
|
DBG_E_SB,
|
|
DBG_E_SH,
|
|
DBG_E_SWL,
|
|
DBG_E_SW,
|
|
DBG_E_SWR,
|
|
DBG_E_LWC2,
|
|
DBG_E_SWC2,
|
|
DBG_E_HLE,
|
|
DBG_E_SLL,
|
|
DBG_E_SRL,
|
|
DBG_E_SRA,
|
|
DBG_E_SLLV,
|
|
DBG_E_SRLV,
|
|
DBG_E_SRAV,
|
|
DBG_E_JR,
|
|
DBG_E_JALR,
|
|
DBG_E_SYSCALL,
|
|
DBG_E_BREAK,
|
|
DBG_E_MFHI,
|
|
DBG_E_MTHI,
|
|
DBG_E_MFLO,
|
|
DBG_E_MTLO,
|
|
DBG_E_MULT,
|
|
DBG_E_MULTU,
|
|
DBG_E_DIV,
|
|
DBG_E_DIVU,
|
|
DBG_E_ADD,
|
|
DBG_E_ADDU,
|
|
DBG_E_SUB,
|
|
DBG_E_SUBU,
|
|
DBG_E_AND,
|
|
DBG_E_OR,
|
|
DBG_E_XOR,
|
|
DBG_E_NOR,
|
|
DBG_E_SLT,
|
|
DBG_E_SLTU,
|
|
DBG_E_BLTZ,
|
|
DBG_E_BGEZ,
|
|
DBG_E_BLTZAL,
|
|
DBG_E_BGEZAL,
|
|
DBG_E_MFC0,
|
|
DBG_E_CFC0,
|
|
DBG_E_MTC0,
|
|
DBG_E_CTC0,
|
|
DBG_E_RFE,
|
|
DBG_E_BASIC,
|
|
DBG_E_RTPS,
|
|
DBG_E_NCLIP,
|
|
DBG_E_OP,
|
|
DBG_E_DPCS,
|
|
DBG_E_INTPL,
|
|
DBG_E_MVMVA,
|
|
DBG_E_NCDS,
|
|
DBG_E_CDP,
|
|
DBG_E_NCDT,
|
|
DBG_E_NCCS,
|
|
DBG_E_CC,
|
|
DBG_E_NCS,
|
|
DBG_E_NCT,
|
|
DBG_E_SQR,
|
|
DBG_E_DCPL,
|
|
DBG_E_DPCT,
|
|
DBG_E_AVSZ3,
|
|
DBG_E_AVSZ4,
|
|
DBG_E_RTPT,
|
|
DBG_E_GPF,
|
|
DBG_E_GPL,
|
|
DBG_E_NCCT,
|
|
DBG_E_MFC2,
|
|
DBG_E_CFC2,
|
|
DBG_E_MTC2,
|
|
DBG_E_CTC2,
|
|
DBG_E_NULL,
|
|
DBG_E_ERROR
|
|
};
|
|
|
|
#endif//_PGXP_DEBUG_H_
|