diff --git a/pcsx2/IopMem.cpp b/pcsx2/IopMem.cpp index dd1f0bd052..1332a9eb7f 100644 --- a/pcsx2/IopMem.cpp +++ b/pcsx2/IopMem.cpp @@ -99,12 +99,12 @@ void iopMemoryReserve::Reset() //psxMemWLUT[0xbf80] = (uptr)iopHw; // Read-only memory areas, so don't map WLUT for these... - for (int i=0; i<0x0040; i++) + for (int i = 0; i < 0x0040; i++) { psxMemWLUT[i + 0x2000 + 0x1fc0] = (uptr)&eeMem->ROM[i << 16]; } - for (int i=0; i<0x0004; i++) + for (int i = 0; i < 0x0040; i++) { psxMemWLUT[i + 0x2000 + 0x1e00] = (uptr)&eeMem->ROM1[i << 16]; } diff --git a/pcsx2/Memory.cpp b/pcsx2/Memory.cpp index 281da4d6b0..94432c151b 100644 --- a/pcsx2/Memory.cpp +++ b/pcsx2/Memory.cpp @@ -154,10 +154,9 @@ void memMapPhy() vtlb_MapHandler(null_handler, Ps2MemSize::MainRam, 0x10000000 - Ps2MemSize::MainRam); // Various ROMs (all read-only) - vtlb_MapBlock(eeMem->ROM, 0x1fc00000,Ps2MemSize::Rom); - vtlb_MapBlock(eeMem->ROM1, 0x1e000000,Ps2MemSize::Rom1); - vtlb_MapBlock(eeMem->ROM2, 0x1e400000,Ps2MemSize::Rom2); - vtlb_MapBlock(eeMem->EROM, 0x1e040000,Ps2MemSize::ERom); + vtlb_MapBlock(eeMem->ROM, 0x1fc00000, Ps2MemSize::Rom); + vtlb_MapBlock(eeMem->ROM1, 0x1e000000, Ps2MemSize::Rom1); + vtlb_MapBlock(eeMem->ROM2, 0x1e400000, Ps2MemSize::Rom2); // IOP memory // (used by the EE Bios Kernel during initial hardware initialization, Apps/Games diff --git a/pcsx2/Memory.h b/pcsx2/Memory.h index 4fd4aa1025..a4c8dd3da6 100644 --- a/pcsx2/Memory.h +++ b/pcsx2/Memory.h @@ -72,14 +72,14 @@ static __fi void ZeroQWC( u128& dest ) #define psRu32(mem) (*(u32*)&eeMem->ROM[(mem) & 0x3fffff]) #define psRu64(mem) (*(u64*)&eeMem->ROM[(mem) & 0x3fffff]) -#define psR1s8(mem) (*(s8 *)&eeMem->ROM1[(mem) & 0x3ffff]) -#define psR1s16(mem) (*(s16*)&eeMem->ROM1[(mem) & 0x3ffff]) -#define psR1s32(mem) (*(s32*)&eeMem->ROM1[(mem) & 0x3ffff]) -#define psR1s64(mem) (*(s64*)&eeMem->ROM1[(mem) & 0x3ffff]) -#define psR1u8(mem) (*(u8 *)&eeMem->ROM1[(mem) & 0x3ffff]) -#define psR1u16(mem) (*(u16*)&eeMem->ROM1[(mem) & 0x3ffff]) -#define psR1u32(mem) (*(u32*)&eeMem->ROM1[(mem) & 0x3ffff]) -#define psR1u64(mem) (*(u64*)&eeMem->ROM1[(mem) & 0x3ffff]) +#define psR1s8(mem) (*(s8 *)&eeMem->ROM1[(mem) & 0x3fffff]) +#define psR1s16(mem) (*(s16*)&eeMem->ROM1[(mem) & 0x3fffff]) +#define psR1s32(mem) (*(s32*)&eeMem->ROM1[(mem) & 0x3fffff]) +#define psR1s64(mem) (*(s64*)&eeMem->ROM1[(mem) & 0x3fffff]) +#define psR1u8(mem) (*(u8 *)&eeMem->ROM1[(mem) & 0x3fffff]) +#define psR1u16(mem) (*(u16*)&eeMem->ROM1[(mem) & 0x3fffff]) +#define psR1u32(mem) (*(u32*)&eeMem->ROM1[(mem) & 0x3fffff]) +#define psR1u64(mem) (*(u64*)&eeMem->ROM1[(mem) & 0x3fffff]) #define psR2s8(mem) (*(s8 *)&eeMem->ROM2[(mem) & 0x7ffff]) #define psR2s16(mem) (*(s16*)&eeMem->ROM2[(mem) & 0x7ffff]) @@ -90,15 +90,6 @@ static __fi void ZeroQWC( u128& dest ) #define psR2u32(mem) (*(u32*)&eeMem->ROM2[(mem) & 0x7ffff]) #define psR2u64(mem) (*(u64*)&eeMem->ROM2[(mem) & 0x7ffff]) -#define psERs8(mem) (*(s8 *)&eeMem->EROM[(mem) & 0x3ffff]) -#define psERs16(mem) (*(s16*)&eeMem->EROM[(mem) & 0x3ffff]) -#define psERs32(mem) (*(s32*)&eeMem->EROM[(mem) & 0x3ffff]) -#define psERs64(mem) (*(s64*)&eeMem->EROM[(mem) & 0x3ffff]) -#define psERu8(mem) (*(u8 *)&eeMem->EROM[(mem) & 0x3ffff]) -#define psERu16(mem) (*(u16*)&eeMem->EROM[(mem) & 0x3ffff]) -#define psERu32(mem) (*(u32*)&eeMem->EROM[(mem) & 0x3ffff]) -#define psERu64(mem) (*(u64*)&eeMem->EROM[(mem) & 0x3ffff]) - #define psSs32(mem) (*(s32 *)&eeMem->Scratch[(mem) & 0x3fff]) #define psSs64(mem) (*(s64 *)&eeMem->Scratch[(mem) & 0x3fff]) #define psSs128(mem) (*(s128*)&eeMem->Scratch[(mem) & 0x3fff]) diff --git a/pcsx2/MemoryTypes.h b/pcsx2/MemoryTypes.h index 18cc9559bb..401c3b9686 100644 --- a/pcsx2/MemoryTypes.h +++ b/pcsx2/MemoryTypes.h @@ -20,9 +20,8 @@ namespace Ps2MemSize { static const uint MainRam = _32mb; // 32 MB main memory! static const uint Rom = _1mb * 4; // 4 MB main rom - static const uint Rom1 = 0x00040000; // DVD player - static const uint Rom2 = 0x00080000; // Chinese rom extension (?) - static const uint ERom = 0x001C0000; // DVD player extensions (?) + static const uint Rom1 = _1mb * 4; // DVD player + static const uint Rom2 = 0x00080000; // Chinese rom extension static const uint Hardware = _64kb; static const uint Scratch = _16kb; @@ -43,9 +42,8 @@ struct EEVM_MemoryAllocMess u8 Main[Ps2MemSize::MainRam]; // Main memory (hard-wired to 32MB) u8 Scratch[Ps2MemSize::Scratch]; // Scratchpad! u8 ROM[Ps2MemSize::Rom]; // Boot rom (4MB) - u8 ROM1[Ps2MemSize::Rom1]; // DVD player + u8 ROM1[Ps2MemSize::Rom1]; // DVD player (4MB) u8 ROM2[Ps2MemSize::Rom2]; // Chinese extensions - u8 EROM[Ps2MemSize::ERom]; // DVD player extensions // Two 1 megabyte (max DMA) buffers for reading and writing to high memory (>32MB). // Such accesses are not documented as causing bus errors but as the memory does diff --git a/pcsx2/R5900OpcodeImpl.cpp b/pcsx2/R5900OpcodeImpl.cpp index 704cab4120..c9908b83cd 100644 --- a/pcsx2/R5900OpcodeImpl.cpp +++ b/pcsx2/R5900OpcodeImpl.cpp @@ -928,8 +928,12 @@ void SYSCALL() case 0x53: mode = "SDTV 768x576 @ ??.???"; gsSetVideoMode(GS_VideoMode::SDTV_576P); break; case 0x54: mode = "HDTV 1920x1080 @ ??.???"; gsSetVideoMode(GS_VideoMode::HDTV_1080P); break; - case 0x72: mode = "DVD NTSC 640x448 @ ??.???"; gsSetVideoMode(GS_VideoMode::DVD_NTSC); break; - case 0x73: mode = "DVD PAL 720x480 @ ??.???"; gsSetVideoMode(GS_VideoMode::DVD_PAL); break; + case 0x72: + case 0x82: + mode = "DVD NTSC 640x448 @ ??.???"; gsSetVideoMode(GS_VideoMode::DVD_NTSC); break; + case 0x73: + case 0x83: + mode = "DVD PAL 720x480 @ ??.???"; gsSetVideoMode(GS_VideoMode::DVD_PAL); break; default: DevCon.Error("Mode %x is not supported. Report me upstream", cpuRegs.GPR.n.a1.UC[0]); diff --git a/pcsx2/ps2/BiosTools.cpp b/pcsx2/ps2/BiosTools.cpp index e136c38e9d..ab34457a8e 100644 --- a/pcsx2/ps2/BiosTools.cpp +++ b/pcsx2/ps2/BiosTools.cpp @@ -161,7 +161,7 @@ void ChecksumIt(u32& result, const u8 (&srcdata)[_size]) // the base. // // Parameters: -// ext - extension of the sub-component to load. Valid options are rom1, rom2, AND erom. +// ext - extension of the sub-component to load. Valid options are rom1 and rom2. // template static void LoadExtraRom(const char* ext, u8 (&dest)[_size]) @@ -187,7 +187,7 @@ static void LoadExtraRom(const char* ext, u8 (&dest)[_size]) Console.Warning("BIOS Warning: %s could not be read (permission denied?)", ext); return; } - // Checksum for ROM1, ROM2, EROM? Rama says no, Gigaherz says yes. I'm not sure either way. --air + // Checksum for ROM1, ROM2? Rama says no, Gigaherz says yes. I'm not sure either way. --air //ChecksumIt( BiosChecksum, dest ); } @@ -236,7 +236,7 @@ static std::string FindBiosImage() // this method being called. // // Remarks: -// This function does not fail if rom1, rom2, or erom files are missing, since none are +// This function does not fail if rom1 or rom2 files are missing, since none are // explicitly required for most emulation tasks. // // Exceptions: @@ -296,7 +296,6 @@ bool LoadBIOS() LoadExtraRom("rom1", eeMem->ROM1); LoadExtraRom("rom2", eeMem->ROM2); - LoadExtraRom("erom", eeMem->EROM); if (EmuConfig.CurrentIRX.length() > 3) LoadIrx(EmuConfig.CurrentIRX, &eeMem->ROM[0x3C0000], sizeof(eeMem->ROM) - 0x3C0000); diff --git a/pcsx2/x86/iR3000A.cpp b/pcsx2/x86/iR3000A.cpp index f4110e37ba..7e9df4a6e0 100644 --- a/pcsx2/x86/iR3000A.cpp +++ b/pcsx2/x86/iR3000A.cpp @@ -772,7 +772,7 @@ void recResetIOP() recLUT_SetPage(psxRecLUT, psxhwLUT, recROM, 0xa000, i, i - 0x1fc0); } - for (int i = 0x1e00; i < 0x1e04; i++) + for (int i = 0x1e00; i < 0x1e40; i++) { recLUT_SetPage(psxRecLUT, psxhwLUT, recROM1, 0x0000, i, i - 0x1e00); recLUT_SetPage(psxRecLUT, psxhwLUT, recROM1, 0x8000, i, i - 0x1e00); diff --git a/pcsx2/x86/ix86-32/iR5900-32.cpp b/pcsx2/x86/ix86-32/iR5900-32.cpp index 5fe6f2ded0..c4350cd7b5 100644 --- a/pcsx2/x86/ix86-32/iR5900-32.cpp +++ b/pcsx2/x86/ix86-32/iR5900-32.cpp @@ -593,7 +593,7 @@ static void recAlloc() recLUT_SetPage(recLUT, hwLUT, recROM, 0xa000, i, i - 0x1fc0); } - for (int i = 0x1e00; i < 0x1e04; i++) + for (int i = 0x1e00; i < 0x1e40; i++) { recLUT_SetPage(recLUT, hwLUT, recROM1, 0x0000, i, i - 0x1e00); recLUT_SetPage(recLUT, hwLUT, recROM1, 0x8000, i, i - 0x1e00);