Version 4.6 with major overhaul to CPU and memory so that the DS-Lite/Phat can now run more modern homebrews. See readme.md for details.

This commit is contained in:
Dave Bernazzani 2024-01-15 10:25:31 -05:00
parent 9fe08257c0
commit 2a060e1076
2 changed files with 24 additions and 0 deletions

Binary file not shown.

View File

@ -347,6 +347,18 @@ Rip* Rip::LoadBinCfg(const CHAR* configFile, UINT32 crc, size_t size)
{
bUseJLP = db_entry->bJLP;
}
// ---------------------------------------------------------------------------------------------------
// If we didn't find a specific config for this game and ECS is enabled, default to frameskip=1
// This is because the secondary audio processor is expensive to emulate and the DSi will just barely
// keep up. So we default back to some small level of frameskip to ensure the game runs properly.
// The user is free to disable frameskip - or turn off the ECS handling if the game really isn't
// utilizing it (many .cfg files specify "ecs=1" when it has no real effect on the game).
// ---------------------------------------------------------------------------------------------------
if ((bConfigWasFound == FALSE) && bUseECS)
{
myConfig.frame_skip = 1;
}
}
else // Didn't find it... let's see if we can read a .cfg file
{
@ -699,6 +711,18 @@ Rip* Rip::LoadRom(const CHAR* filename)
{
rip->JLP16Bit = NULL;
}
// ---------------------------------------------------------------------------------------------------
// If we didn't find a specific config for this game and ECS is enabled, default to frameskip=1
// This is because the secondary audio processor is expensive to emulate and the DSi will just barely
// keep up. So we default back to some small level of frameskip to ensure the game runs properly.
// The user is free to disable frameskip - or turn off the ECS handling if the game really isn't
// utilizing it (many .cfg files specify "ecs=1" when it has no real effect on the game).
// ---------------------------------------------------------------------------------------------------
if ((bConfigWasFound == FALSE) && bUseECS)
{
myConfig.frame_skip = 1;
}
// Load the Intellivoice if asked for...
if (bUseIVoice) rip->AddPeripheralUsage("Intellivoice", (bUseIVoice == 3) ? PERIPH_OPTIONAL:PERIPH_REQUIRED);