diff --git a/ee_core/src/patches.c b/ee_core/src/patches.c index 8515f9d45e..b8e9c219d7 100644 --- a/ee_core/src/patches.c +++ b/ee_core/src/patches.c @@ -362,6 +362,12 @@ static void RnC3_UYA_patches(void *address) word1 = JAL((unsigned int)&RnC3_AlwaysAllocMem); switch (config->GameMode) { +#ifndef _DTL_T10000 + case ETH_MODE: + /* SMB's IOP module layout requires one fewer compensating shift. */ + word2 = 0x00021840; // sll $v1, $v0, 1 + break; +#endif default: #ifdef _DTL_T10000 word2 = 0x00021903; // sra $v1, $v0, 4 For DTL-T10000.