mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-07-26 07:39:56 -06:00
Revert "improve timings for S variants of multiply instructions on arm9"
This reverts commit 789ef21c70
.
This commit is contained in:
13
src/ARM.h
13
src/ARM.h
@ -272,23 +272,12 @@ public:
|
||||
|
||||
void AddCycles_CI(s32 numI) override
|
||||
{
|
||||
// code||internal
|
||||
// code+internal
|
||||
s32 numC = CodeCycles;
|
||||
numI += 1;
|
||||
Cycles += std::max(numC, numI);
|
||||
}
|
||||
|
||||
void AddCycles_CIL(s32 numI, s32 numL)
|
||||
{
|
||||
// (code||internal)+forced interlock
|
||||
// used by S variants of multiply instructions on the ARM9
|
||||
// seems that instead of adding extra hardware logic to allow for handling the memory stage of the instructions during the execute stage
|
||||
// it instead seems to force a two cycle interlock allowing for the interlocked cycle to be executed without any special logic + presumably an extra cycle to set flags
|
||||
s32 numC = CodeCycles;
|
||||
numI += 1;
|
||||
Cycles += std::max(numC, numI) + numL;
|
||||
}
|
||||
|
||||
void AddCycles_CDI_LDR() override;
|
||||
void AddCycles_CDI_LDM() override;
|
||||
void AddCycles_CDI_SWP() override { AddCycles_CD_STR(); } // uses the same behavior as str
|
||||
|
Reference in New Issue
Block a user