Added some better support for 8 bit VIFdma writes, cleaned up some logging stuff, and added version resources to SPU2-X and ZeroSPU2.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@593 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
Jake.Stine 2009-02-24 19:58:17 +00:00
parent 8d87a3660d
commit 021c7b28a3
10 changed files with 160 additions and 46 deletions

View File

@ -1406,7 +1406,9 @@ void cdvdWrite04(u8 rt) { // NCOMMAND
CDR_LOG( "CdRead > startSector=%d, nSectors=%d, RetryCnt=%x, Speed=%x(%x), ReadMode=%x(%x) (1074=%x)\n",
cdvd.Sector, cdvd.nSectors, cdvd.RetryCnt, cdvd.Speed, cdvd.Param[9], cdvd.ReadMode, cdvd.Param[10], psxHu32(0x1074));
if (Config.cdvdPrint) SysPrintf("CdRead: Reading Sector %d(%d Blocks of Size %d) at Speed=%dx\n", cdvd.Sector, cdvd.nSectors,cdvd.BlockSize,cdvd.Speed);
if( Config.cdvdPrint )
Console::WriteLn("CdRead: Reading Sector %d(%d Blocks of Size %d) at Speed=%dx",
params cdvd.Sector, cdvd.nSectors,cdvd.BlockSize,cdvd.Speed);
cdvd.ReadTime = cdvdBlockReadTime( MODE_CDROM );
CDVDREAD_INT( cdvdStartSeek( cdvd.SeekToSector ) );
@ -1445,7 +1447,9 @@ void cdvdWrite04(u8 rt) { // NCOMMAND
CDR_LOG( "CdReadCDDA > startSector=%d, nSectors=%d, RetryCnt=%x, Speed=%xx(%x), ReadMode=%x(%x) (1074=%x)\n",
cdvd.Sector, cdvd.nSectors, cdvd.RetryCnt, cdvd.Speed, cdvd.Param[9], cdvd.ReadMode, cdvd.Param[10], psxHu32(0x1074));
if (Config.cdvdPrint) SysPrintf("CdAudioRead: Reading Sector %d(%d Blocks of Size %d) at Speed=%dx\n", cdvd.Sector, cdvd.nSectors,cdvd.BlockSize,cdvd.Speed);
if( Config.cdvdPrint )
Console::WriteLn("CdAudioRead: Reading Sector %d(%d Blocks of Size %d) at Speed=%dx",
params cdvd.Sector, cdvd.nSectors,cdvd.BlockSize,cdvd.Speed);
cdvd.ReadTime = cdvdBlockReadTime( MODE_CDROM );
CDVDREAD_INT( cdvdStartSeek( cdvd.SeekToSector ) );
@ -1474,7 +1478,9 @@ void cdvdWrite04(u8 rt) { // NCOMMAND
CDR_LOG( "DvdRead > startSector=%d, nSectors=%d, RetryCnt=%x, Speed=%x(%x), ReadMode=%x(%x) (1074=%x)\n",
cdvd.Sector, cdvd.nSectors, cdvd.RetryCnt, cdvd.Speed, cdvd.Param[9], cdvd.ReadMode, cdvd.Param[10], psxHu32(0x1074));
if (Config.cdvdPrint) SysPrintf("DvdRead: Reading Sector %d(%d Blocks of Size %d) at Speed=%dx\n", cdvd.Sector, cdvd.nSectors,cdvd.BlockSize,cdvd.Speed);
if( Config.cdvdPrint )
Console::WriteLn("DvdRead: Reading Sector %d(%d Blocks of Size %d) at Speed=%dx",
params cdvd.Sector, cdvd.nSectors,cdvd.BlockSize,cdvd.Speed);
cdvd.ReadTime = cdvdBlockReadTime( MODE_DVDROM );
CDVDREAD_INT( cdvdStartSeek( cdvd.SeekToSector ) );

View File

@ -103,7 +103,7 @@ __forceinline u8 hwRead8(u32 mem)
}
ret = psHu8(mem);
HW_LOG("Unknown Hardware Read 8 at %x\n",mem);
HW_LOG("Unknown Hardware Read 8 from 0x%x = 0x%x\n", mem, ret);
break;
}

View File

@ -94,10 +94,21 @@ int sio_count;
void hwWrite8(u32 mem, u8 value) {
#ifdef PCSX2_DEVBUILD
if( (mem>=0x10003800) && (mem<0x10004000) )
{
u32 bytemod = mem & 0x3;
u32 bitpos = 8 * bytemod;
u32 newval = psHu8(mem) & (255UL << bitpos);
if( mem < 0x10003c00 )
vif0Write32( mem & ~0x3, newval | (value<<bitpos));
else
vif1Write32( mem & ~0x3, newval | (value<<bitpos));
return;
}
if( mem >= 0x10002000 && mem < 0x10008000 )
SysPrintf("hwWrite8 to %x\n", mem);
#endif
DevCon::Notice( "hwWrite8 to 0x%x = 0x%x", params mem, value );
switch (mem) {
case 0x10000000: rcntWcount(0, value); break;
@ -134,57 +145,57 @@ void hwWrite8(u32 mem, u8 value) {
}
break;
case 0x10003c02: //Tony Hawks Project 8 uses this
vif1Write32(mem & ~0x2, value << 16);
break;
//case 0x10003c02: //Tony Hawks Project 8 uses this
// vif1Write32(mem & ~0x2, value << 16);
// break;
case 0x10008001: // dma0 - vif0
DMA_LOG("VIF0dma %lx\n", value);
DMA_LOG("VIF0dma EXECUTE, value=0x%x\n", value);
DmaExec8(dmaVIF0, mem, value);
break;
case 0x10009001: // dma1 - vif1
DMA_LOG("VIF1dma %lx\n", value);
DMA_LOG("VIF1dma EXECUTE, value=0x%x\n", value);
DmaExec8(dmaVIF1, mem, value);
break;
case 0x1000a001: // dma2 - gif
DMA_LOG("0x%8.8x hwWrite8: GSdma %lx 0x%lx\n", cpuRegs.cycle, value);
DMA_LOG("GSdma EXECUTE, value=0x%x\n", value);
DmaExec8(dmaGIF, mem, value);
break;
case 0x1000b001: // dma3 - fromIPU
DMA_LOG("IPU0dma %lx\n", value);
DMA_LOG("IPU0dma EXECUTE, value=0x%x\n", value);
DmaExec8(dmaIPU0, mem, value);
break;
case 0x1000b401: // dma4 - toIPU
DMA_LOG("IPU1dma %lx\n", value);
DMA_LOG("IPU1dma EXECUTE, value=0x%x\n", value);
DmaExec8(dmaIPU1, mem, value);
break;
case 0x1000c001: // dma5 - sif0
DMA_LOG("SIF0dma %lx\n", value);
DMA_LOG("SIF0dma EXECUTE, value=0x%x\n", value);
// if (value == 0) psxSu32(0x30) = 0x40000;
DmaExec8(dmaSIF0, mem, value);
break;
case 0x1000c401: // dma6 - sif1
DMA_LOG("SIF1dma %lx\n", value);
DMA_LOG("SIF1dma EXECUTE, value=0x%x\n", value);
DmaExec8(dmaSIF1, mem, value);
break;
case 0x1000c801: // dma7 - sif2
DMA_LOG("SIF2dma %lx\n", value);
DMA_LOG("SIF2dma EXECUTE, value=0x%x\n", value);
DmaExec8(dmaSIF2, mem, value);
break;
case 0x1000d001: // dma8 - fromSPR
DMA_LOG("fromSPRdma8 %lx\n", value);
DMA_LOG("fromSPRdma8 EXECUTE, value=0x%x\n", value);
DmaExec8(dmaSPR0, mem, value);
break;
case 0x1000d401: // dma9 - toSPR
DMA_LOG("toSPRdma8 %lx\n", value);
DMA_LOG("toSPRdma8 EXECUTE, value=0x%x\n", value);
DmaExec8(dmaSPR1, mem, value);
break;

View File

@ -72,9 +72,8 @@ u8 psxHwRead8(u32 add) {
case 0x1f8014a0:
case 0x1f8014a4:
case 0x1f8014a8:
SysPrintf("8bit counter read %x\n", add);
hard = psxHu8(add);
return hard;
DevCon::Notice( "IOP Counter Read8 from addr0x%x = 0x%x", params add, psxHu8(add) );
return psxHu8(add);
#endif
case 0x1f801800: hard = cdrRead0(); break;
@ -635,7 +634,9 @@ void psxHwWrite8(u32 add, u8 value) {
if (add >= 0x1f801600 && add < 0x1f801700) {
USBwrite8(add, value); return;
}
if((add & 0xf) == 0xa) SysPrintf("8bit write (possible chcr set) %x value %x\n", add, value);
if((add & 0xf) == 0xa)
Console::Error("8bit write (possible chcr set) to addr 0x%x = 0x%x", params add, value );
switch (add) {
case 0x1f801040:
sioWrite8(value);
@ -660,13 +661,14 @@ void psxHwWrite8(u32 add, u8 value) {
case 0x1f8014a0:
case 0x1f8014a4:
case 0x1f8014a8:
SysPrintf("8bit counter write %x\n", add);
DevCon::Notice( "IOP Counter Write8 to addr 0x%x = 0x%x", params add, value );
psxHu8(add) = value;
return;
return;
case 0x1f801450:
if (value) { PSXHW_LOG("%08X ICFG 8bit write %lx\n", psxRegs.pc, value); }
psxHu8(0x1450) = value;
return;
return;
case 0x1f801800: cdrWrite0(value); break;
case 0x1f801801: cdrWrite1(value); break;
@ -677,11 +679,11 @@ void psxHwWrite8(u32 add, u8 value) {
if (value == '\r') break;
if (value == '\n' || g_pbufi >= 1023) {
g_pbuf[g_pbufi++] = 0; g_pbufi = 0;
SysPrintf("%s\n", g_pbuf);
DevCon::WriteLn( Color_Cyan, g_pbuf );
}
else g_pbuf[g_pbufi++] = value;
psxHu8(add) = value;
return;
return;
case 0x1F808260:
PSXHW_LOG("SIO2 write8 DATAIN <- %08X\n", value);
@ -1357,12 +1359,12 @@ u8 psxHw4Read8(u32 add) {
default:
// note: use SysPrintF to notify console since this is a potentially serious
// emulation problem:
//PSXHW_LOG("*Unknown 8bit read at address %lx\n", add);
SysPrintf("*Unknown 8bit read at address %lx\n", add);
PSXHW_LOG("*Unknown 8bit read at address 0x%x\n", add);
Console::Error( "IOP Unknown 8bit read from addr 0x%x", params add );
return 0;
}
PSXHW_LOG("*Known 8bit read at address %lx value %x\n", add, hard);
PSXHW_LOG( "Known 8bit read from addr 0x%x = 0x%x\n", add, hard );
return hard;
}
@ -1384,10 +1386,10 @@ void psxHw4Write8(u32 add, u8 value) {
case 0x1f40203A: cdvdWrite3A(value); return;
default:
//PSXHW_LOG("*Unknown 8bit write at address %lx value %x\n", add, value);
Console::Notice("*Unknown 8bit write at address %lx value %x", params add, value);
Console::Notice("IOP Unknown 8bit write to addr 0x%x = 0x%x", params add, value);
return;
}
PSXHW_LOG("*Known 8bit write at address %lx value %x\n", add, value);
PSXHW_LOG("Known 8bit write to addr 0x%x = 0x%x\n", add, value);
}
void psxDmaInterrupt(int n) {

View File

@ -465,6 +465,14 @@
RelativePath="..\pcsx2.rc"
>
</File>
<File
RelativePath="..\..\pcsxAbout.bmp"
>
</File>
<File
RelativePath="..\ps2_silver.bmp"
>
</File>
<File
RelativePath="..\resource.h"
>
@ -2433,14 +2441,6 @@
RelativePath="..\..\Common.h"
>
</File>
<File
RelativePath="..\..\pcsxAbout.bmp"
>
</File>
<File
RelativePath="..\ps2_silver.bmp"
>
</File>
<File
RelativePath="..\..\Stats.cpp"
>

View File

@ -56,6 +56,9 @@ EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Nulls", "Nulls", "{E1828E40-2FBB-48FE-AE7F-5587755DCE0E}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "3rdparty", "3rdparty", "{78EBE642-7A4D-4EA7-86BE-5639C6646C38}"
ProjectSection(SolutionItems) = preProject
3rdparty\svn_readme.txt = 3rdparty\svn_readme.txt
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Zerofrog", "Zerofrog", "{4CFBEFA8-2D4F-4B62-99D4-7E54F95B3FD9}"
EndProject
@ -66,6 +69,18 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZeroPAD", "plugins\zeropad\
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Plugins", "Plugins", "{703FD00B-D7A0-41E3-BD03-CEC86B385DAF}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Common", "Common", "{88F517F9-CE1C-4005-9BDF-4481FEB55053}"
ProjectSection(SolutionItems) = preProject
common\svn_readme.txt = common\svn_readme.txt
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Include", "Include", "{0FADC26C-0E9D-4DD7-84B1-BF4F7754E90C}"
ProjectSection(SolutionItems) = preProject
common\include\afxresmw.h = common\include\afxresmw.h
common\include\PS2Edefs.h = common\include\PS2Edefs.h
common\include\PS2Etypes.h = common\include\PS2Etypes.h
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@ -279,5 +294,6 @@ Global
{3D0EB14D-32F3-4D82-9C6D-B806ADBB859C} = {E1828E40-2FBB-48FE-AE7F-5587755DCE0E}
{04439C5F-05FB-4A9C-AAD1-5388C25377DB} = {E1828E40-2FBB-48FE-AE7F-5587755DCE0E}
{F38D9DF0-F68D-49D9-B3A0-932E74FB74A0} = {E1828E40-2FBB-48FE-AE7F-5587755DCE0E}
{0FADC26C-0E9D-4DD7-84B1-BF4F7754E90C} = {88F517F9-CE1C-4005-9BDF-4481FEB55053}
EndGlobalSection
EndGlobal

View File

@ -39,7 +39,7 @@ namespace VersionInfo
{
static const u8 PluginApi = PS2E_SPU2_VERSION;
static const u8 Release = 1;
static const u8 Revision = 0; // increase that with each version
static const u8 Revision = 1; // increase that with each version
}
#ifdef _MSC_VER

View File

@ -158,7 +158,7 @@ BOOL CALLBACK ConfigProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
SendDialogMsg( hWnd, IDC_INTERPOLATE, CB_RESETCONTENT,0,0 );
SendDialogMsg( hWnd, IDC_INTERPOLATE, CB_ADDSTRING,0,(LPARAM) L"0 - Nearest (none/fast)" );
SendDialogMsg( hWnd, IDC_INTERPOLATE, CB_ADDSTRING,0,(LPARAM) L"1 - Linear (recommended)" );
SendDialogMsg( hWnd, IDC_INTERPOLATE, CB_ADDSTRING,0,(LPARAM) L"2 - Cubic (not good with effects)" );
SendDialogMsg( hWnd, IDC_INTERPOLATE, CB_ADDSTRING,0,(LPARAM) L"2 - Cubic (slower/maybe better)" );
SendDialogMsg( hWnd, IDC_INTERPOLATE, CB_SETCURSEL,Interpolation,0 );
SendDialogMsg( hWnd, IDC_OUTPUT, CB_RESETCONTENT,0,0 );

View File

@ -8,7 +8,6 @@
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxresmw.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
@ -258,6 +257,46 @@ END
IDB_SPU2X BITMAP "..\\..\\spu2-x.bmp"
IDB_SPU2X_SMALL BITMAP "..\\..\\spu2-x-sm.bmp"
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,1,1,0
PRODUCTVERSION 1,1,1,0
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "Comments", "SPU2 Plugin for PS2 Emulators"
VALUE "CompanyName", "Pcsx2 Dev Team"
VALUE "FileDescription", "SPU2-X Plugin v1.1"
VALUE "FileVersion", "1, 1, 1, 0"
VALUE "InternalName", "SPU2-X"
VALUE "LegalCopyright", "Copyright (C) 2009"
VALUE "OriginalFilename", "SPU2-X-1.1.dll"
VALUE "ProductName", "SPU2-X"
VALUE "ProductVersion", "1, 1, 1, 0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////

View File

@ -46,6 +46,46 @@ END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,4,6,0
PRODUCTVERSION 0,4,6,0
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "Comments", "SPU2 Plugin for PS2 emulators"
VALUE "CompanyName", "ZeroFrog"
VALUE "FileDescription", "ZeroSPU2 v0.4.6"
VALUE "FileVersion", "0, 4, 6, 0"
VALUE "InternalName", "ZeroSPU2"
VALUE "LegalCopyright", "Copyright (C) 2009"
VALUE "OriginalFilename", "ZeroSPU2-0.4.6.dll"
VALUE "ProductName", "ZeroSPU2"
VALUE "ProductVersion", "0, 4, 6, 0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////