-made launching retail gamecube discs possible with

next dml versions (thanks crediar)
This commit is contained in:
fix94.1 2012-04-26 17:35:13 +00:00
parent 5881ce5c8c
commit fc266e0fe1
3 changed files with 20 additions and 1 deletions

View File

@ -232,3 +232,21 @@ void DML_Old_SetOptions(char *GamePath, char *CheatPath, char *NewCheatPath, boo
*(vu32*)0xCC003024 |= 7;
}
void DML_New_SetBootDiscOption()
{
gprintf("Booting GC game\n");
DML_CFG *DMLCfg = (DML_CFG*)MEM2_alloc(sizeof(DML_CFG));
memset(DMLCfg, 0, sizeof(DML_CFG));
DMLCfg->Magicbytes = 0xD1050CF6;
DMLCfg->CfgVersion = 0x00000001;
DMLCfg->Config |= DML_CFG_BOOT_DISC;
//DML v1.2+
memcpy((void *)0xC1200000, DMLCfg, sizeof(DML_CFG));
MEM2_free(DMLCfg);
}

View File

@ -50,6 +50,7 @@ void GC_SetLanguage(u8 lang);
int GC_GameIsInstalled(char *discid, const char* partition, const char* dmlgamedir);
void DML_New_SetOptions(char *GamePath, char *CheatPath, char *NewCheatPath, bool cheats, bool debugger, u8 NMM, u8 nodisc); //, u8 DMLvideoMode);
void DML_Old_SetOptions(char *GamePath, char *CheatPath, char *NewCheatPath, bool cheats);
void DML_New_SetBootDiscOption();
#endif //GC_H_
#ifdef __cplusplus

View File

@ -741,7 +741,7 @@ void CMenu::_launchGC(dir_discHdr *hdr, bool DML)
}
}
else
gprintf("Booting GC game\n");
DML_New_SetBootDiscOption();
m_gcfg1.save(true);
m_gcfg2.save(true);