Get some PSX mode logging to work again. We currently freeze with it reading the GPU_STATUS register as all 0.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4885 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
ramapcsx2 2011-08-29 18:32:27 +00:00
parent f0ce6640ee
commit 3d04b20ec8
4 changed files with 43 additions and 27 deletions

View File

@ -67,6 +67,9 @@ static const u32
HW_CDR_DATA2 = 0x1f801802, // CDROM multipurpose data register 3
HW_CDR_DATA3 = 0x1f801803, // CDROM multipurpose data register 4
HW_PS1_GPU_DATA = 0x1f801810, // PS1 GPU DATA register
HW_PS1_GPU_STATUS = 0x1f801814, // PS1 GPU STATUS register
// SIO2 is a DMA interface for the SIO.
HW_SIO2_DATAIN = 0x1F808260,

View File

@ -293,20 +293,25 @@ static __fi T _HwRead_16or32_Page1( u32 addr )
break;
// ------------------------------------------------------------------------
// Legacy GPU emulation (not needed).
// The IOP emulates the GPU itself through the EE's hardware.
// Legacy GPU emulation
//
/*case 0x810:
PSXHW_LOG("GPU DATA 32bit write %lx", value);
GPU_writeData(value); return;
case 0x814:
PSXHW_LOG("GPU STATUS 32bit write %lx", value);
GPU_writeStatus(value); return;
case 0x820:
mdecWrite0(value); break;
case 0x824:
mdecWrite1(value); break;*/
mcase (HW_PS1_GPU_DATA):
ret = psxHu32(addr);
break;
mcase (HW_PS1_GPU_STATUS):
ret = psxHu32(addr);
//ret = -1; // fake alive GPU :p
break;
mcase (0x1f801820): // MDEC
ret = psxHu32(addr);
break;
mcase (0x1f801824): // MDEC
ret = psxHu32(addr);
break;
// ------------------------------------------------------------------------

View File

@ -453,22 +453,27 @@ static __fi void _HwWrite_16or32_Page1( u32 addr, T val )
break;
// ------------------------------------------------------------------------
// Legacy GPU emulation (not needed).
// The IOP emulates the GPU itself through the EE's hardware.
// Legacy GPU emulation
//
/*case 0x810:
PSXHW_LOG("GPU DATA 32bit write %lx", value);
GPU_writeData(value); return;
case 0x814:
PSXHW_LOG("GPU STATUS 32bit write %lx", value);
GPU_writeStatus(value); return;
mcase (HW_PS1_GPU_DATA):
psxHu(addr) = val; // guess
//GPU_writeData(value); // really old code from PCSX? (rama)
break;
mcase (HW_PS1_GPU_STATUS):
psxHu(addr) = val; // guess
//GPU_writeStatus(value); // really old code from PCSX? (rama)
break;
mcase (0x1f801820): // MDEC
psxHu(addr) = val; // guess
//mdecWrite0(value); // really old code from PCSX? (rama)
break;
mcase (0x1f801824): // MDEC
psxHu(addr) = val; // guess
//mdecWrite1(value); // really old code from PCSX? (rama)
break;
case 0x820:
mdecWrite0(value); break;
case 0x824:
mdecWrite1(value); break;*/
// ------------------------------------------------------------------------
// ------------------------------------------------------------------------
mcase(HW_DEV9_DATA):
DEV9write16( addr, val );

View File

@ -138,6 +138,9 @@ static __ri const char* _ioplog_GetHwName( u32 addr, T val )
case HW_CDR_DATA2: return "CDROM DATA2";
case HW_CDR_DATA3: return "CDROM DATA3";
case HW_PS1_GPU_DATA: return "PS1 GPU DATA";
case HW_PS1_GPU_STATUS: return "PS1 GPU STATUS";
case 0x1f80380c: return "STDOUT";
// ------------------------------------------------------------------------