[Disk] Treat 64DD TOOL IPL as seperate
This commit is contained in:
parent
db35bd6518
commit
053ef11c5a
|
@ -38,6 +38,7 @@ void CDMA::OnFirstDMA()
|
||||||
case CIC_NUS_5167: offset = +0x0318; break;
|
case CIC_NUS_5167: offset = +0x0318; break;
|
||||||
case CIC_NUS_8303: offset = +0x0318; break;
|
case CIC_NUS_8303: offset = +0x0318; break;
|
||||||
case CIC_NUS_DDUS: offset = +0x0318; break;
|
case CIC_NUS_DDUS: offset = +0x0318; break;
|
||||||
|
case CIC_NUS_DDTL: offset = +0x0318; break;
|
||||||
case CIC_UNKNOWN:
|
case CIC_UNKNOWN:
|
||||||
case CIC_NUS_6102: offset = +0x0318; break;
|
case CIC_NUS_6102: offset = +0x0318; break;
|
||||||
case CIC_NUS_6103: offset = +0x0318; break;
|
case CIC_NUS_6103: offset = +0x0318; break;
|
||||||
|
|
|
@ -903,6 +903,8 @@ void CN64System::InitRegisters(bool bPostPif, CMipsMemoryVM & MMU)
|
||||||
//64DD Registers
|
//64DD Registers
|
||||||
m_Reg.ASIC_STATUS = DD_STATUS_RST_STATE;
|
m_Reg.ASIC_STATUS = DD_STATUS_RST_STATE;
|
||||||
m_Reg.ASIC_ID_REG = 0x00030000;
|
m_Reg.ASIC_ID_REG = 0x00030000;
|
||||||
|
if (g_DDRom && g_DDRom->CicChipID() == CIC_NUS_DDTL)
|
||||||
|
m_Reg.ASIC_ID_REG = 0x00040000;
|
||||||
|
|
||||||
//m_Reg.REVISION_REGISTER = 0x00000511;
|
//m_Reg.REVISION_REGISTER = 0x00000511;
|
||||||
m_Reg.FixFpuLocations();
|
m_Reg.FixFpuLocations();
|
||||||
|
@ -989,6 +991,7 @@ void CN64System::InitRegisters(bool bPostPif, CMipsMemoryVM & MMU)
|
||||||
case CIC_NUS_5167:
|
case CIC_NUS_5167:
|
||||||
case CIC_NUS_8303:
|
case CIC_NUS_8303:
|
||||||
case CIC_NUS_DDUS:
|
case CIC_NUS_DDUS:
|
||||||
|
case CIC_NUS_DDTL:
|
||||||
default:
|
default:
|
||||||
//no specific values
|
//no specific values
|
||||||
break;
|
break;
|
||||||
|
@ -1005,6 +1008,7 @@ void CN64System::InitRegisters(bool bPostPif, CMipsMemoryVM & MMU)
|
||||||
m_Reg.m_GPR[22].DW = 0x000000000000003F;
|
m_Reg.m_GPR[22].DW = 0x000000000000003F;
|
||||||
break;
|
break;
|
||||||
case CIC_NUS_8303: //64DD IPL CIC
|
case CIC_NUS_8303: //64DD IPL CIC
|
||||||
|
case CIC_NUS_DDTL: //64DD IPL TOOL CIC
|
||||||
case CIC_NUS_5167: //64DD CONVERSION CIC
|
case CIC_NUS_5167: //64DD CONVERSION CIC
|
||||||
m_Reg.m_GPR[22].DW = 0x00000000000000DD;
|
m_Reg.m_GPR[22].DW = 0x00000000000000DD;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -289,7 +289,7 @@ CICChip CN64Rom::GetCicChipID(uint8_t * RomData, uint64_t * CRC)
|
||||||
case 0x000000D6D5BE5580: return CIC_NUS_6106;
|
case 0x000000D6D5BE5580: return CIC_NUS_6106;
|
||||||
case 0x000001053BC19870: return CIC_NUS_5167; //64DD CONVERSION CIC
|
case 0x000001053BC19870: return CIC_NUS_5167; //64DD CONVERSION CIC
|
||||||
case 0x000000D2E53EF008: return CIC_NUS_8303; //64DD IPL
|
case 0x000000D2E53EF008: return CIC_NUS_8303; //64DD IPL
|
||||||
case 0x000000D2E53EF39F: return CIC_NUS_8303; //64DD IPL TOOL
|
case 0x000000D2E53EF39F: return CIC_NUS_DDTL; //64DD IPL TOOL
|
||||||
case 0x000000D2E53E5DDA: return CIC_NUS_DDUS; //64DD IPL US (different CIC)
|
case 0x000000D2E53E5DDA: return CIC_NUS_DDUS; //64DD IPL US (different CIC)
|
||||||
default:
|
default:
|
||||||
return CIC_UNKNOWN;
|
return CIC_UNKNOWN;
|
||||||
|
@ -422,6 +422,7 @@ bool CN64Rom::IsLoadedRomDDIPL()
|
||||||
{
|
{
|
||||||
case CIC_NUS_8303:
|
case CIC_NUS_8303:
|
||||||
case CIC_NUS_DDUS:
|
case CIC_NUS_DDUS:
|
||||||
|
case CIC_NUS_DDTL:
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -67,7 +67,7 @@ enum CICChip
|
||||||
{
|
{
|
||||||
CIC_UNKNOWN = -1, CIC_NUS_6101 = 1, CIC_NUS_6102 = 2, CIC_NUS_6103 = 3,
|
CIC_UNKNOWN = -1, CIC_NUS_6101 = 1, CIC_NUS_6102 = 2, CIC_NUS_6103 = 3,
|
||||||
CIC_NUS_6104 = 4, CIC_NUS_6105 = 5, CIC_NUS_6106 = 6, CIC_NUS_5167 = 7,
|
CIC_NUS_6104 = 4, CIC_NUS_6105 = 5, CIC_NUS_6106 = 6, CIC_NUS_5167 = 7,
|
||||||
CIC_NUS_8303 = 8, CIC_NUS_DDUS = 9
|
CIC_NUS_8303 = 8, CIC_NUS_DDUS = 9, CIC_NUS_DDTL = 10
|
||||||
};
|
};
|
||||||
|
|
||||||
enum Country
|
enum Country
|
||||||
|
|
Loading…
Reference in New Issue