Merge pull request #2205 from RadWolfie/move-minor-changes
move minor changes into upstream from chihiro branch
This commit is contained in:
commit
e6e0d5da9e
|
@ -774,8 +774,8 @@ bool Xbe::CheckSignature()
|
||||||
// Hash against all currently known public keys, if these pass, we can guarantee the Xbe is unmodified
|
// Hash against all currently known public keys, if these pass, we can guarantee the Xbe is unmodified
|
||||||
std::array<RSA_PUBLIC_KEY, 3> keys = { 0 };
|
std::array<RSA_PUBLIC_KEY, 3> keys = { 0 };
|
||||||
memcpy(keys[0].Default, (void*)xbox::XePublicKeyDataRetail, 284);
|
memcpy(keys[0].Default, (void*)xbox::XePublicKeyDataRetail, 284);
|
||||||
memcpy(keys[1].Default, (void*)xbox::XePublicKeyDataChihiroGame, 284);
|
memcpy(keys[1].Default, (void*)xbox::XePublicKeyDataDebug, 284);
|
||||||
memcpy(keys[2].Default, (void*)xbox::XePublicKeyDataChihiroBoot, 284);
|
memcpy(keys[2].Default, (void*)xbox::XePublicKeyDataChihiro, 284);
|
||||||
// TODO: memcpy(keys[3].Default, (void*)xbox::XePublicKeyDataDebug, 284);
|
// TODO: memcpy(keys[3].Default, (void*)xbox::XePublicKeyDataDebug, 284);
|
||||||
|
|
||||||
for (unsigned int i = 0; i < keys.size(); i++) {
|
for (unsigned int i = 0; i < keys.size(); i++) {
|
||||||
|
|
|
@ -484,8 +484,8 @@ XBSYSAPI EXPORTNUM(354) XBOX_KEY_DATA XboxAlternateSignatureKeys[ALTERNATE_SIGNA
|
||||||
// ******************************************************************
|
// ******************************************************************
|
||||||
XBSYSAPI EXPORTNUM(355) uchar_xt XePublicKeyData[284];
|
XBSYSAPI EXPORTNUM(355) uchar_xt XePublicKeyData[284];
|
||||||
XBSYSAPI EXPORTNUM(355) uchar_xt XePublicKeyDataRetail[284];
|
XBSYSAPI EXPORTNUM(355) uchar_xt XePublicKeyDataRetail[284];
|
||||||
XBSYSAPI EXPORTNUM(355) uchar_xt XePublicKeyDataChihiroGame[284];
|
XBSYSAPI EXPORTNUM(355) uchar_xt XePublicKeyDataDebug[284];
|
||||||
XBSYSAPI EXPORTNUM(355) uchar_xt XePublicKeyDataChihiroBoot[284];
|
XBSYSAPI EXPORTNUM(355) uchar_xt XePublicKeyDataChihiro[284];
|
||||||
|
|
||||||
// ******************************************************************
|
// ******************************************************************
|
||||||
// * 0x0165 - IdexChannelObject
|
// * 0x0165 - IdexChannelObject
|
||||||
|
|
|
@ -101,27 +101,20 @@ void ARX_WR(void *Ptr, xbox::uchar_xt i, xbox::uchar_xt d)
|
||||||
g_NV2A->BlockWrite(block, NV_PRMCIO_ARX, d, sizeof(uint8_t));
|
g_NV2A->BlockWrite(block, NV_PRMCIO_ARX, d, sizeof(uint8_t));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Global Variable(s)
|
|
||||||
PVOID g_pPersistedData = NULL;
|
|
||||||
ULONG AvpCurrentMode = 0;
|
|
||||||
|
|
||||||
ULONG AvSMCVideoModeToAVPack(ULONG VideoMode)
|
ULONG AvSMCVideoModeToAVPack(ULONG VideoMode)
|
||||||
{
|
{
|
||||||
switch (VideoMode)
|
switch (VideoMode) {
|
||||||
{
|
case 0x0: return g_bIsChihiro ? AV_PACK_VGA : AV_PACK_SCART; // Scart on Retail/Debug, VGA on Chihiro
|
||||||
case 0x0: return AV_PACK_SCART;
|
case 0x1: return AV_PACK_HDTV;
|
||||||
case 0x1: return AV_PACK_HDTV;
|
case 0x2: return AV_PACK_VGA;
|
||||||
case 0x2: return AV_PACK_VGA;
|
case 0x3: return AV_PACK_RFU;
|
||||||
case 0x3: return AV_PACK_RFU;
|
case 0x4: return AV_PACK_SVIDEO;
|
||||||
case 0x4: return AV_PACK_SVIDEO;
|
case 0x6: return AV_PACK_STANDARD;
|
||||||
case 0x6: return AV_PACK_STANDARD;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return AV_PACK_NONE;
|
return AV_PACK_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ULONG AvQueryAvCapabilities()
|
ULONG AvQueryAvCapabilities()
|
||||||
{
|
{
|
||||||
ULONG avpack = AvSMCVideoModeToAVPack(xbox::HalBootSMCVideoMode);
|
ULONG avpack = AvSMCVideoModeToAVPack(xbox::HalBootSMCVideoMode);
|
||||||
|
@ -306,6 +299,7 @@ XBSYSAPI EXPORTNUM(3) xbox::ulong_xt NTAPI xbox::AvSetDisplayMode
|
||||||
|
|
||||||
Pitch /= 8;
|
Pitch /= 8;
|
||||||
|
|
||||||
|
static xbox::ulong_xt AvpCurrentMode = 0;
|
||||||
if (AvpCurrentMode == Mode) {
|
if (AvpCurrentMode == Mode) {
|
||||||
REG_WR32(RegisterBase, NV_PRAMDAC_GENERAL_CONTROL, GeneralControl);
|
REG_WR32(RegisterBase, NV_PRAMDAC_GENERAL_CONTROL, GeneralControl);
|
||||||
CRTC_WR(RegisterBase, NV_CIO_SR_LOCK_INDEX /*=0x1c*/, NV_CIO_SR_UNLOCK_RW_VALUE); /* crtc lock */
|
CRTC_WR(RegisterBase, NV_CIO_SR_LOCK_INDEX /*=0x1c*/, NV_CIO_SR_UNLOCK_RW_VALUE); /* crtc lock */
|
||||||
|
|
|
@ -190,8 +190,8 @@ xbox::uchar_xt xbox::XePublicKeyDataRetail[284] = {
|
||||||
0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00
|
0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00
|
||||||
};
|
};
|
||||||
|
|
||||||
// Chihiro Game Public Key
|
// Debug Public Key
|
||||||
xbox::uchar_xt xbox::XePublicKeyDataChihiroGame[284] = {
|
xbox::uchar_xt xbox::XePublicKeyDataDebug[284] = {
|
||||||
0x52, 0x53, 0x41, 0x31, 0x08, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
|
0x52, 0x53, 0x41, 0x31, 0x08, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
|
||||||
0xFF, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x9B, 0x83, 0xD4, 0xD5,
|
0xFF, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x9B, 0x83, 0xD4, 0xD5,
|
||||||
0xDE, 0x16, 0x25, 0x8E, 0xE5, 0x15, 0xF2, 0x18, 0x9D, 0x19, 0x1C, 0xF8,
|
0xDE, 0x16, 0x25, 0x8E, 0xE5, 0x15, 0xF2, 0x18, 0x9D, 0x19, 0x1C, 0xF8,
|
||||||
|
@ -218,8 +218,8 @@ xbox::uchar_xt xbox::XePublicKeyDataChihiroGame[284] = {
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||||
};
|
};
|
||||||
|
|
||||||
// Chihiro bootloader public key (Segaboot)
|
// Chihiro public key (Segaboot)
|
||||||
xbox::uchar_xt xbox::XePublicKeyDataChihiroBoot[284] = {
|
xbox::uchar_xt xbox::XePublicKeyDataChihiro[284] = {
|
||||||
0x52, 0x53, 0x41, 0x31, 0x08, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
|
0x52, 0x53, 0x41, 0x31, 0x08, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
|
||||||
0xFF, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x6B, 0x7B, 0x38, 0x78,
|
0xFF, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x6B, 0x7B, 0x38, 0x78,
|
||||||
0xE3, 0x16, 0x04, 0x88, 0x1D, 0xAF, 0x63, 0x4E, 0x23, 0xDB, 0x10, 0x14,
|
0xE3, 0x16, 0x04, 0x88, 0x1D, 0xAF, 0x63, 0x4E, 0x23, 0xDB, 0x10, 0x14,
|
||||||
|
|
Loading…
Reference in New Issue