Make DelaySI Configurable

make EOF consistent

language update, make control spacing consistent
This commit is contained in:
Squall-Leonhart 2025-07-24 02:26:11 +10:00
parent 11efdb1651
commit a3f4830ecd
10 changed files with 66 additions and 53 deletions

View File

@ -806,7 +806,7 @@ Status=Compatible
Clear Frame=2
Counter Factor=1
Culling=1
Delay SI=Yes
Delay SI=2304
RDRAM Size=4
[5326696F-FE9A99C3-C:45]
@ -817,7 +817,7 @@ Status=Compatible
Clear Frame=2
Counter Factor=1
Culling=1
Delay SI=Yes
Delay SI=2304
RDRAM Size=4
[B3D451C6-E1CB58E2-C:4A]
@ -1256,7 +1256,7 @@ Internal Name=CITY TOUR GP
Status=Compatible
32bit=Yes
Counter Factor=1
Delay SI=Yes
Delay SI=2304
Save Type=16kbit Eeprom
[FA5A3DFF-B4C9CDB9-C:45]
@ -1392,7 +1392,7 @@ Good Name=Cruis'n USA (E)
Internal Name=Cruis'n USA
Status=Compatible
32bit=Yes
Delay SI=Yes
Delay SI=2304
RDRAM Size=4
[FF2F2FB4-D161149A-C:45]
@ -1401,7 +1401,7 @@ Internal Name=Cruis'n USA
Status=Compatible
32bit=Yes
Culling=1
Delay SI=Yes
Delay SI=2304
RDRAM Size=4
[5306CF45-CBC49250-C:45]
@ -1409,7 +1409,7 @@ Good Name=Cruis'n USA (U) (V1.1)
Internal Name=Cruis'n USA
Status=Compatible
32bit=Yes
Delay SI=Yes
Delay SI=2304
RDRAM Size=4
[B3402554-7340C004-C:45]
@ -1417,7 +1417,7 @@ Good Name=Cruis'n USA (U) (V1.2)
Internal Name=Cruis'n USA
Status=Compatible
32bit=Yes
Delay SI=Yes
Delay SI=2304
RDRAM Size=4
[83F3931E-CB72223D-C:50]
@ -2534,7 +2534,7 @@ Internal Name=GT64
Status=Compatible
32bit=Yes
Counter Factor=1
Delay SI=Yes
Delay SI=2304
Save Type=16kbit Eeprom
[C49ADCA2-F1501B62-C:45]
@ -2543,7 +2543,7 @@ Internal Name=GT64
Status=Compatible
32bit=Yes
Counter Factor=1
Delay SI=Yes
Delay SI=2304
Save Type=16kbit Eeprom
//================ H ================
@ -4476,7 +4476,7 @@ Good Name=Nightmare Creatures (U)
Internal Name=NIGHTMARE CREATURES
Status=Compatible
32bit=Yes
Delay SI=Yes
Delay SI=2304
RDRAM Size=4
ViRefresh=2200
@ -4946,6 +4946,7 @@ Status=Compatible
Culling=1
Emulate Clear=1
Linking=Off
Delay SI=8192
RDRAM Size=4
[91C9E05D-AD3AAFB9-C:50]
@ -4956,6 +4957,7 @@ Status=Compatible
Culling=1
Emulate Clear=1
Linking=Off
Delay SI=8192
RDRAM Size=4
[A23553A3-42BF2D39-C:46]
@ -4966,6 +4968,7 @@ Status=Compatible
Culling=1
Emulate Clear=1
Linking=Off
Delay SI=8192
RDRAM Size=4
[42011E1B-E3552DB5-C:44]
@ -4976,6 +4979,7 @@ Status=Compatible
Culling=1
Emulate Clear=1
Linking=Off
Delay SI=8192
RDRAM Size=4
[A53FA82D-DAE2C15D-C:49]
@ -4986,6 +4990,7 @@ Status=Compatible
Culling=1
Emulate Clear=1
Linking=Off
Delay SI=8192
RDRAM Size=4
[665E8259-D098BD1D-C:4A]
@ -4996,6 +5001,7 @@ Status=Compatible
Culling=1
Emulate Clear=1
Linking=Off
Delay SI=8192
RDRAM Size=4
Save Type=Sram
@ -5007,6 +5013,7 @@ Status=Compatible
Culling=1
Emulate Clear=1
Linking=Off
Delay SI=8192
RDRAM Size=4
[90F5D9B3-9D0EDCF0-C:45]
@ -5017,6 +5024,7 @@ Status=Compatible
Culling=1
Emulate Clear=1
Linking=Off
Delay SI=8192
RDRAM Size=4
[1A122D43-C17DAF0F-C:45]
@ -5027,6 +5035,7 @@ Status=Compatible
Culling=1
Emulate Clear=1
Linking=Off
Delay SI=8192
RDRAM Size=4
[9C8FB2FA-9B84A09B-C:45]
@ -5037,6 +5046,7 @@ Status=Compatible
Culling=1
Emulate Clear=1
Linking=Off
Delay SI=8192
RDRAM Size=4
[2952369C-B6E4C3A8-C:50]
@ -5748,7 +5758,7 @@ Good Name=Shin Nihon Pro Wrestling Toukon Road - Brave Spirits (J)
Internal Name=TOUKON ROAD
Status=Compatible
32bit=Yes
Delay SI=Yes
Delay SI=2304
[551C7F43-9149831C-C:4A]
Good Name=Shin Nihon Pro Wrestling Toukon Road 2 - The Next Generation (J)
@ -7150,7 +7160,7 @@ Status=Compatible
32bit=Yes
Counter Factor=1
Culling=1
Delay SI=Yes
Delay SI=2304
RDRAM Size=4
//================ V ================

View File

@ -259,7 +259,7 @@ void CLanguage::LoadDefaultStrings(void)
DEF_STR(ROM_LARGE_BUFFER, "Larger compile buffer");
DEF_STR(ROM_USE_TLB, "Use TLB");
DEF_STR(ROM_REG_CACHE, "Register caching");
DEF_STR(ROM_DELAY_SI, "Delay SI interrupt");
DEF_STR(ROM_DELAY_SI, "Delay SI interrupt:");
DEF_STR(ROM_FAST_SP, "Fast SP");
DEF_STR(ROM_DEFAULT, "Default");
DEF_STR(ROM_AUDIO_SIGNAL, "RSP audio signal");

View File

@ -321,9 +321,9 @@ void CPifRam::SI_DMA_READ()
if(g_System->bRandomizeSIPIInterrupts())
{
if(g_System->bDelaySI())
if (g_System->DelaySI() != 0)
{
g_SystemTimer->SetTimer(CSystemTimer::SiTimer, 0x900 + (g_Random->next() % 0x40), false);
g_SystemTimer->SetTimer(CSystemTimer::SiTimer, g_System->DelaySI() + (g_Random->next() % 0x40), false);
}
else
{
@ -332,9 +332,9 @@ void CPifRam::SI_DMA_READ()
}
else
{
if(g_System->bDelaySI())
if (g_System->DelaySI() != 0)
{
g_SystemTimer->SetTimer(CSystemTimer::SiTimer, 0x900, false);
g_SystemTimer->SetTimer(CSystemTimer::SiTimer, g_System->DelaySI(), false);
}
else
{
@ -422,9 +422,9 @@ void CPifRam::SI_DMA_WRITE()
PifRamWrite();
if (g_System->bDelaySI())
if (g_System->DelaySI() != 0)
{
g_SystemTimer->SetTimer(CSystemTimer::SiTimer, 0x900, false);
g_SystemTimer->SetTimer(CSystemTimer::SiTimer, g_System->DelaySI(), false);
}
else
{

View File

@ -148,7 +148,7 @@ void CSettings::AddHowToHandleSetting(const char * BaseDirectory)
AddHandler(Rdb_CounterFactor, new CSettingTypeRomDatabase("Counter Factor", Default_CounterFactor));
AddHandler(Rdb_UseTlb, new CSettingTypeRDBYesNo("Use TLB", Default_UseTlb));
AddHandler(Rdb_DelayDP, new CSettingTypeRDBYesNo("Delay DP", true));
AddHandler(Rdb_DelaySi, new CSettingTypeRDBYesNo("Delay SI", false));
AddHandler(Rdb_DelaySi, new CSettingTypeRomDatabase("Delay SI", 0u));
AddHandler(Rdb_32Bit, new CSettingTypeRDBYesNo("32bit", Default_32Bit));
AddHandler(Rdb_FastSP, new CSettingTypeRDBYesNo("Fast SP", true));
AddHandler(Rdb_FixedAudio, new CSettingTypeRomDatabase("Fixed Audio", Default_FixedAudio));

View File

@ -14,7 +14,7 @@ uint32_t CGameSettings::m_CountPerOp = 2;
uint32_t CGameSettings::m_ViRefreshRate = 1500;
uint32_t CGameSettings::m_AiCountPerBytes = 500;
bool CGameSettings::m_DelayDP = false;
bool CGameSettings::m_DelaySI = false;
uint32_t CGameSettings::m_DelaySI = 0;
bool CGameSettings::m_bRandomizeSIPIInterrupts = true;
uint32_t CGameSettings::m_RdramSize = 0;
bool CGameSettings::m_bFixedAudio = true;
@ -48,7 +48,7 @@ void CGameSettings::RefreshGameSettings()
m_AiCountPerBytes = g_Settings->LoadDword(Game_AiCountPerBytes);
m_CountPerOp = g_Settings->LoadDword(Game_CounterFactor);
m_RdramSize = g_Settings->LoadDword(Game_RDRamSize);
m_DelaySI = g_Settings->LoadBool(Game_DelaySI);
m_DelaySI = g_Settings->LoadDword(Game_DelaySI);
m_bRandomizeSIPIInterrupts = g_Settings->LoadBool(Game_RandomizeSIPIInterrupts);
m_DelayDP = g_Settings->LoadBool(Game_DelayDP);
m_bFixedAudio = g_Settings->LoadBool(Game_FixedAudio);

View File

@ -18,7 +18,7 @@ public:
inline static uint32_t ViRefreshRate(void) { return m_ViRefreshRate; }
inline static uint32_t AiCountPerBytes(void) { return m_AiCountPerBytes; }
inline static bool bDelayDP(void) { return m_DelayDP; }
inline static bool bDelaySI(void) { return m_DelaySI; }
inline static uint32_t DelaySI(void) { return m_DelaySI; }
inline static bool bRandomizeSIPIInterrupts(void) { return m_bRandomizeSIPIInterrupts; }
inline static uint32_t RdramSize(void) { return m_RdramSize; }
inline static bool bFixedAudio(void) { return m_bFixedAudio; }
@ -55,7 +55,7 @@ private:
static uint32_t m_ViRefreshRate;
static uint32_t m_AiCountPerBytes;
static bool m_DelayDP;
static bool m_DelaySI;
static uint32_t m_DelaySI;
static bool m_bRandomizeSIPIInterrupts;
static uint32_t m_RdramSize;
static bool m_bFixedAudio;

View File

@ -25,7 +25,7 @@ CGameGeneralPage::CGameGeneralPage(HWND hParent, const RECT & rcDispay)
SetDlgItemText(IDC_DELAY_DP, wGS(ROM_DELAY_DP).c_str());
SetDlgItemText(IDC_SYNC_AUDIO, wGS(ROM_SYNC_AUDIO).c_str());
SetDlgItemText(IDC_USE_TLB, wGS(ROM_USE_TLB).c_str());
SetDlgItemText(IDC_DELAY_SI, wGS(ROM_DELAY_SI).c_str());
SetDlgItemText(IDC_DELAY_SI_TEXT, wGS(ROM_DELAY_SI).c_str());
SetDlgItemText(IDC_AUDIO_SIGNAL, wGS(ROM_AUDIO_SIGNAL).c_str());
SetDlgItemText(IDC_UNALIGNED_DMA, wGS(ROM_UNALIGNED_DMA).c_str());
SetDlgItemText(IDC_RANDOMIZE_SIPI_INTERRUPTS, wGS(ROM_RANDOMIZE_SIPI_INTERRUPTS).c_str());
@ -35,7 +35,6 @@ CGameGeneralPage::CGameGeneralPage(HWND hParent, const RECT & rcDispay)
AddModCheckBox(GetDlgItem(IDC_ROM_FIXEDAUDIO), Game_FixedAudio);
AddModCheckBox(GetDlgItem(IDC_USE_TLB), Game_UseTlb);
AddModCheckBox(GetDlgItem(IDC_DELAY_DP), Game_DelayDP);
AddModCheckBox(GetDlgItem(IDC_DELAY_SI), Game_DelaySI);
AddModCheckBox(GetDlgItem(IDC_AUDIO_SIGNAL), Game_RspAudioSignal);
AddModCheckBox(GetDlgItem(IDC_UNALIGNED_DMA), Game_UnalignedDMA);
AddModCheckBox(GetDlgItem(IDC_RANDOMIZE_SIPI_INTERRUPTS), Game_RandomizeSIPIInterrupts);
@ -82,6 +81,9 @@ CGameGeneralPage::CGameGeneralPage(HWND hParent, const RECT & rcDispay)
TxtBox = AddModTextBox(GetDlgItem(IDC_OVER_CLOCK_MODIFIER), Game_OverClockModifier, false);
TxtBox->SetTextField(GetDlgItem(IDC_OVER_CLOCK_MODIFIER_TEXT));
TxtBox = AddModTextBox(GetDlgItem(IDC_DELAY_SI), Game_DelaySI, false);
TxtBox->SetTextField(GetDlgItem(IDC_DELAY_SI_TEXT));
if (!g_Settings->LoadBool(Setting_SyncViaAudioEnabled))
{

View File

@ -16,7 +16,7 @@ class CGameGeneralPage :
COMMAND_ID_HANDLER_EX(IDC_ROM_FIXEDAUDIO, CheckBoxChanged)
COMMAND_ID_HANDLER_EX(IDC_USE_TLB, CheckBoxChanged)
COMMAND_ID_HANDLER_EX(IDC_DELAY_DP, CheckBoxChanged)
COMMAND_ID_HANDLER_EX(IDC_DELAY_SI, CheckBoxChanged)
COMMAND_HANDLER_EX(IDC_DELAY_SI, EN_UPDATE, EditBoxChanged);
COMMAND_ID_HANDLER_EX(IDC_AUDIO_SIGNAL, CheckBoxChanged)
COMMAND_ID_HANDLER_EX(IDC_UNALIGNED_DMA, CheckBoxChanged)
COMMAND_ID_HANDLER_EX(IDC_RANDOMIZE_SIPI_INTERRUPTS, CheckBoxChanged)

View File

@ -208,29 +208,29 @@ BEGIN
LTEXT "Good Name:",IDC_GOOD_NAME_TEXT,6,8,91,10
EDITTEXT IDC_GOOD_NAME,102,7,109,12,ES_AUTOHSCROLL | ES_READONLY
CONTROL "",IDC_STATIC,"Static",SS_BLACKFRAME | SS_SUNKEN,4,25,208,1
LTEXT "Memory Size:",IDC_MEMORY_SIZE_TEXT,6,34,91,10
COMBOBOX IDC_RDRAM_SIZE,102,32,109,49,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "Default Save type:",IDC_SAVE_TYPE_TEXT,6,49,91,10
COMBOBOX IDC_SAVE_TYPE,102,47,109,49,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "Counter Factor:",IDC_COUNTFACT_TEXT,6,64,91,10
COMBOBOX IDC_COUNTFACT,102,61,109,49,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "Vi Refresh Rate:",IDC_VIREFESH_TEXT,6,77,91,10
EDITTEXT IDC_VIREFRESH,102,75,109,12,ES_AUTOHSCROLL | ES_NUMBER
LTEXT "AI Count Per Byte:",IDC_COUNTPERBYTE_TEXT,6,90,91,10
EDITTEXT IDC_COUNTPERBYTE,102,88,109,12,ES_AUTOHSCROLL | ES_NUMBER
LTEXT "Overclock Modifier",IDC_OVER_CLOCK_MODIFIER_TEXT,6,103,91,10
EDITTEXT IDC_OVER_CLOCK_MODIFIER,102,101,109,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "",IDC_STATIC,"Static",SS_BLACKFRAME | SS_SUNKEN,3,116,208,1
CONTROL "32 Bit Engine",IDC_ROM_32BIT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,121,91,10
CONTROL "Use TLB",IDC_USE_TLB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,102,121,91,10
CONTROL "Fixed Audio Timing",IDC_ROM_FIXEDAUDIO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,132,91,10
CONTROL "Sync using Audio",IDC_SYNC_AUDIO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,102,132,91,10
CONTROL "Delay DP Interrupt",IDC_DELAY_DP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,143,91,10
CONTROL "Delay SI Interrupt",IDC_DELAY_SI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,102,143,91,10
CONTROL "RSP Audio Signal",IDC_AUDIO_SIGNAL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,154,91,10
LTEXT "Memory Size:",IDC_MEMORY_SIZE_TEXT,6,31,91,10
COMBOBOX IDC_RDRAM_SIZE,102,29,109,49,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "Default Save type:",IDC_SAVE_TYPE_TEXT,6,45,91,10
COMBOBOX IDC_SAVE_TYPE,102,43,109,49,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "Counter Factor:",IDC_COUNTFACT_TEXT,6,59,91,10
COMBOBOX IDC_COUNTFACT,102,57,109,49,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "Vi Refresh Rate:",IDC_VIREFESH_TEXT,6,73,91,10
EDITTEXT IDC_VIREFRESH,102,71,109,12,ES_AUTOHSCROLL | ES_NUMBER
LTEXT "AI Count Per Byte:",IDC_COUNTPERBYTE_TEXT,6,87,91,10
EDITTEXT IDC_COUNTPERBYTE,102,85,109,12,ES_AUTOHSCROLL | ES_NUMBER
LTEXT "Overclock Modifier",IDC_OVER_CLOCK_MODIFIER_TEXT,6,101,91,10
EDITTEXT IDC_OVER_CLOCK_MODIFIER,102,99,109,12,ES_AUTOHSCROLL | ES_NUMBER
LTEXT "Delay SI Interrupt:",IDC_DELAY_SI_TEXT,6,115,91,10
EDITTEXT IDC_DELAY_SI,102,113,109,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "",IDC_STATIC,"Static",SS_BLACKFRAME | SS_SUNKEN,3,129,208,1
CONTROL "Fixed Audio Timing",IDC_ROM_FIXEDAUDIO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,134,91,10
CONTROL "Sync using Audio",IDC_SYNC_AUDIO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,102,134,91,10
CONTROL "Delay DP Interrupt",IDC_DELAY_DP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,145,91,10
CONTROL "RSP Audio Signal",IDC_AUDIO_SIGNAL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,156,91,10
CONTROL "Randomize SI/PI interrupts",IDC_RANDOMIZE_SIPI_INTERRUPTS,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,102,154,107,10
CONTROL "Unaligned DMA",IDC_UNALIGNED_DMA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,165,91,10
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,102,145,115,10
CONTROL "Unaligned DMA",IDC_UNALIGNED_DMA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,167,91,10
END
IDD_Settings_Accelerator DIALOGEX 0, 0, 218, 183

View File

@ -294,10 +294,11 @@
#define IDC_STEPOVER_BTN 1120
#define IDC_CHEAT_LIST 1121
#define IDC_CHEAT_NAME 1122
#define IDC_DELAY_SI 1123
#define IDC_VALUE 1124
#define IDC_RANGE 1125
#define IDC_ADD 1126
#define IDC_DELAY_SI_TEXT 1123
#define IDC_DELAY_SI 1124
#define IDC_VALUE 1125
#define IDC_RANGE 1126
#define IDC_ADD 1127
#define IDC_CODE_NAME 1130
#define IDC_AUTHOR 1131
#define IDC_CODE_AUTHOR 1132