Add a list with bios version specific information

This commit is contained in:
Kingcom 2014-08-22 16:11:10 +02:00
parent 7e5b6dee9c
commit 5b14f7de64
2 changed files with 24 additions and 0 deletions

View File

@ -52,7 +52,13 @@ static_assert( sizeof(romdir) == DIRENTRY_SIZE, "romdir struct not packed to 16
u32 BiosVersion;
u32 BiosChecksum;
wxString BiosDescription;
const BiosDebugInformation* CurrentBiosInformation;
const BiosDebugInformation biosVersions[] = {
// USA v02.00(14/06/2004) Console
{ 0x00000200, 0xD778DB8D, 0x8001a640 },
};
// --------------------------------------------------------------------------------------
// Exception::BiosLoadFailed (implementations)
@ -271,6 +277,16 @@ void LoadBIOS()
LoadExtraRom( L"rom1", eeMem->ROM1 );
LoadExtraRom( L"rom2", eeMem->ROM2 );
LoadExtraRom( L"erom", eeMem->EROM );
CurrentBiosInformation = NULL;
for (int i = 0; i < sizeof(biosVersions)/sizeof(biosVersions[0]); i++)
{
if (biosVersions[i].biosChecksum == BiosChecksum && biosVersions[i].biosVersion == BiosVersion)
{
CurrentBiosInformation = &biosVersions[i];
break;
}
}
}
catch (Exception::BadStream& ex)
{

View File

@ -28,9 +28,17 @@ namespace Exception
};
}
struct BiosDebugInformation
{
u32 biosVersion;
u32 biosChecksum;
u32 threadListAddr;
};
extern u32 BiosVersion; // Used by CDVD
extern u32 BiosChecksum;
extern wxString BiosDescription;
extern const BiosDebugInformation* CurrentBiosInformation;
extern void LoadBIOS();
extern bool IsBIOS(const wxString& filename, wxString& description);