mirror of https://github.com/PCSX2/pcsx2.git
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:
parent
8d87a3660d
commit
021c7b28a3
|
@ -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 ) );
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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"
|
||||
>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 );
|
||||
|
|
|
@ -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
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
|
|
@ -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
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
|
Loading…
Reference in New Issue