diff options
| author | iCatButler <i.am.catbutler@gmail.com> | 2016-06-27 15:28:33 +0100 |
|---|---|---|
| committer | iCatButler <i.am.catbutler@gmail.com> | 2016-06-27 15:28:33 +0100 |
| commit | 42176205ce9ed9aa2408d4042a816fe5cd082519 (patch) | |
| tree | 43fae5134a8a72f3a5902a6be9972f0188029b76 /libpcsxcore/pgxp_cpu.h | |
| parent | cfa7b3ad119aed09b12aa44521f70d12df234414 (diff) | |
| download | pcsxr-42176205ce9ed9aa2408d4042a816fe5cd082519.tar.gz | |
Imporved CPU integration
- Change PGXP integration to use wrapper functions
- Use modified function lookup tables to call wrappers or default funnctions based on mode
- Implement wrappers for interpreter too, recompiler sometimes calls interpreter functions
- Add UI elements for selecting CPU modes
- Only call precision version of NCLIP in modes where there are not going to be stale vertices in GTE registers
- Added support for CP0 co-processor functions
- Improve support for CPU functions (still broken in many games)
- Improved debug output to show values for inputs before they're modified
GPU plugin
- Ignore stale vertices (occurs when CPU mode no longer writes to memory)
- Add Cyan vertex colouring for stale vertices
Diffstat (limited to 'libpcsxcore/pgxp_cpu.h')
| -rw-r--r-- | libpcsxcore/pgxp_cpu.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/libpcsxcore/pgxp_cpu.h b/libpcsxcore/pgxp_cpu.h index c97929b1..50236d54 100644 --- a/libpcsxcore/pgxp_cpu.h +++ b/libpcsxcore/pgxp_cpu.h @@ -30,16 +30,15 @@ #include "psxcommon.h" -#define PGXP_TRACE 9 -#define PGXP_CPU_DEBUG - struct PGXP_value_Tag; typedef struct PGXP_value_Tag PGXP_value; extern PGXP_value* CPU_reg; +extern PGXP_value* CP0_reg; #define CPU_Hi CPU_reg[33] #define CPU_Lo CPU_reg[34] + // -- CPU functions // Load 32-bit word @@ -112,4 +111,10 @@ void PGXP_CPU_MTHI(u32 instr, u32 hiVal, u32 rdVal); void PGXP_CPU_MFLO(u32 instr, u32 rdVal, u32 loVal); void PGXP_CPU_MTLO(u32 instr, u32 loVal, u32 rdVal); +// CP0 Data transfer tracking +void PGXP_CP0_MFC0(u32 instr, u32 rdVal); +void PGXP_CP0_MTC0(u32 instr, u32 rtVal); +void PGXP_CP0_CFC0(u32 instr, u32 rdVal); +void PGXP_CP0_CTC0(u32 instr, u32 rtVal); + #endif //_PGXP_CPU_H_
\ No newline at end of file |
