diff --git a/pcsx2/CDVD/CDVD.cpp b/pcsx2/CDVD/CDVD.cpp index e194e59c17..f31149bae8 100644 --- a/pcsx2/CDVD/CDVD.cpp +++ b/pcsx2/CDVD/CDVD.cpp @@ -402,6 +402,14 @@ void cdvdReloadElfInfo(wxString elfoverride) ) ); //Console.Error( "Playstation1 game discs are not supported by PCSX2." ); + + // PCSX2 currently only recognizes *.elf executables in proper PS2 format. + // To support different PSX titles in the console title and for savestates, this code bypasses all the detection, + // simply using the exe name, stripped of problematic characters. + wxString fname = elfpath.AfterLast('\\'); + wxString fname2 = fname.BeforeFirst(';'); + DiscSerial = fname2; + Console.SetTitle(DiscSerial); return; } diff --git a/pcsx2/CDVD/CdRom.cpp b/pcsx2/CDVD/CdRom.cpp index 5b6a14c11d..58b11a73b4 100644 --- a/pcsx2/CDVD/CdRom.cpp +++ b/pcsx2/CDVD/CdRom.cpp @@ -127,6 +127,8 @@ static void ReadTrack() { cdr.Prev[2] = itob(cdr.SetSector[2]); CDVD_LOG("KEY *** %x:%x:%x", cdr.Prev[0], cdr.Prev[1], cdr.Prev[2]); + if (EmuConfig.CdvdVerboseReads) + DevCon.WriteLn("CD Read Sector %x", msf_to_lsn(cdr.SetSector)); cdr.RErr = DoCDVDreadTrack(msf_to_lsn(cdr.SetSector), CDVD_MODE_2340); } @@ -912,7 +914,9 @@ void psxDma3(u32 madr, u32 bcr, u32 chcr) { case 0x11000000: case 0x11400100: if (cdr.Readed == 0) { - CDVD_LOG("*** DMA 3 *** NOT READY"); + DevCon.Warning("*** DMA 3 *** NOT READY"); + HW_DMA3_CHCR &= ~0x01000000; //hack + psxDmaInterrupt(3); //hack return; } diff --git a/pcsx2/IopDma.cpp b/pcsx2/IopDma.cpp index 1613f88e81..ce76c41851 100644 --- a/pcsx2/IopDma.cpp +++ b/pcsx2/IopDma.cpp @@ -134,11 +134,13 @@ void spu2DMA7Irq() #ifndef DISABLE_PSX_GPU_DMAS void psxDma2(u32 madr, u32 bcr, u32 chcr) // GPU { - DevCon.Warning("SIF2 IOP CHCR = %x MADR = %x BCR = %x first 16bits %x", chcr, madr, bcr, iopMemRead16(madr)); + //DevCon.Warning("SIF2 IOP CHCR = %x MADR = %x BCR = %x first 16bits %x", chcr, madr, bcr, iopMemRead16(madr)); sif2.iop.busy = true; sif2.iop.end = false; //SIF2Dma(); - dmaSIF2(); + // todo: psxmode: dmaSIF2 appears to interface with PGPU but everything is already handled without it. + // it slows down psxmode if it's run. + //dmaSIF2(); } diff --git a/pcsx2/R5900.cpp b/pcsx2/R5900.cpp index e88c7cbaa0..3b6ab593a1 100644 --- a/pcsx2/R5900.cpp +++ b/pcsx2/R5900.cpp @@ -601,7 +601,7 @@ void __fastcall eeloadHook() } } - if (!g_GameStarted && disctype == 2 && elfname == discelf) + if (!g_GameStarted && (disctype == 2 || disctype == 1) && elfname == discelf) g_GameLoading = true; }