diff options
Diffstat (limited to 'arm9/src')
-rw-r--r-- | arm9/src/error_message_reset.c | 37 | ||||
-rw-r--r-- | arm9/src/game_init.c | 6 | ||||
-rw-r--r-- | arm9/src/unk_02016B94.c | 14 |
3 files changed, 28 insertions, 29 deletions
diff --git a/arm9/src/error_message_reset.c b/arm9/src/error_message_reset.c index de039375..2a23d08b 100644 --- a/arm9/src/error_message_reset.c +++ b/arm9/src/error_message_reset.c @@ -1,9 +1,10 @@ #include "error_message_reset.h" #include "GX_layers.h" +#include "GXS_ioreg.h" #include "unk_02031734.h" #include "unk_0202F150.h" #include "unk_02016B94.h" - +#include "PAD_pad.h" const struct UnkStruct_02016B94_4 UNK_020FF49C = { 0, 3, 3, 0x1a, 0x12, 1, 0x23 }; @@ -12,7 +13,7 @@ const struct HeapParam UNK_020FF4A4[] = { {0x00020000, OS_ARENA_MAIN} }; -const struct GraphicsModes UNK_020FF4AC = { mode1 : 1 }; +const struct GraphicsModes UNK_020FF4AC = { dispMode : GX_DISPMODE_GRAPHICS }; const struct UnkStruct_02016B94_1 UNK_020FF4BC = { 0, 0, 0x800, 0, 1, 0, 0, 6, 0, 1, 0, 0, 0 }; @@ -60,8 +61,8 @@ THUMB_FUNC void PrintErrorMessageAndReset() GX_DisableEngineALayers(); GX_DisableEngineBLayers(); - reg_GX_DISPCNT &= 0xFFFFE0FF; - reg_GXS_DB_DISPCNT &= 0xFFFFE0FF; + reg_GX_DISPCNT &= ~REG_GX_DISPCNT_DISPLAY_MASK; + reg_GXS_DB_DISPCNT &= ~REG_GXS_DB_DISPCNT_DISPLAY_MASK; SetKeyRepeatTimers(4, 8); @@ -70,8 +71,8 @@ THUMB_FUNC void PrintErrorMessageAndReset() reg_G2_BLDCNT = 0; reg_G2S_DB_BLDCNT = 0; - reg_GX_DISPCNT &= 0xFFFF1FFF; - reg_GXS_DB_DISPCNT &= 0xFFFF1FFF; + reg_GX_DISPCNT &= ~(REG_GX_DISPCNT_OW_MASK | REG_GX_DISPCNT_W1_MASK | REG_GX_DISPCNT_W0_MASK); + reg_GXS_DB_DISPCNT &= ~(REG_GXS_DB_DISPCNT_OW_MASK | REG_GXS_DB_DISPCNT_W1_MASK | REG_GXS_DB_DISPCNT_W0_MASK); GX_SetBanks(&UNK_020FF4D8); ptr = FUN_02016B94(0); @@ -106,24 +107,22 @@ THUMB_FUNC void PrintErrorMessageAndReset() FUN_0200A274(0, 0x3f, 3); FUN_02032DAC(); - lid: - HandleDSLidAction(); - FUN_0202FB80(); - if (!FUN_02033678()) + while (1) { - OS_WaitIrq(1, 1); - goto lid; + HandleDSLidAction(); + FUN_0202FB80(); + if (FUN_02033678()) + break; + OS_WaitIrq(TRUE, OS_IE_V_BLANK); } - - lid2: - HandleDSLidAction(); - if (!((u16)(((reg_PAD_KEYINPUT | *(vu16 *)HW_BUTTON_XY_BUF) ^ 0x2FFF) & 0x2FFF) & 1)) + while (1) { - OS_WaitIrq(1, 1); - goto lid2; + HandleDSLidAction(); + if ((PAD_Read() & PAD_BUTTON_A)) + break; + OS_WaitIrq(TRUE, OS_IE_V_BLANK); } - FUN_0200E3A0(PM_LCD_TOP, 0x7FFF); FUN_0200E3A0(PM_LCD_BOTTOM, 0x7FFF); diff --git a/arm9/src/game_init.c b/arm9/src/game_init.c index 840b17a4..1c6098ea 100644 --- a/arm9/src/game_init.c +++ b/arm9/src/game_init.c @@ -536,10 +536,10 @@ void ApplyButtonModeToInput(void) } } -void SetKeyRepeatTimers(int x, int y) +void SetKeyRepeatTimers(int continueDelay, int startDelay) { - gMain.keyRepeatContinueDelay = x; - gMain.keyRepeatStartDelay = y; + gMain.keyRepeatContinueDelay = continueDelay; + gMain.keyRepeatStartDelay = startDelay; } void SetSoftResetDisableMask(u8 a0) diff --git a/arm9/src/unk_02016B94.c b/arm9/src/unk_02016B94.c index 8ad78373..c03fbd75 100644 --- a/arm9/src/unk_02016B94.c +++ b/arm9/src/unk_02016B94.c @@ -73,25 +73,25 @@ THUMB_FUNC u32 FUN_02016BB8(u32 *param0) THUMB_FUNC void FUN_02016BBC(const struct GraphicsModes *modes) { - GX_SetGraphicsMode(modes->mode1, modes->mode2, modes->mode4); - GXS_SetGraphicsMode(modes->mode3); - reg_GX_DISPCNT &= 0xC7FFFFFF; - reg_GX_DISPCNT &= 0xF8FFFFFF; + GX_SetGraphicsMode(modes->dispMode, modes->bgMode, modes->_2d3dMode); + GXS_SetGraphicsMode(modes->subMode); + reg_GX_DISPCNT &= ~REG_GX_DISPCNT_BGSCREENOFFSET_MASK; + reg_GX_DISPCNT &= ~REG_GX_DISPCNT_BGCHAROFFSET_MASK; GX_DisableEngineALayers(); GX_DisableEngineBLayers(); } -THUMB_FUNC void FUN_02016BF4(u32 *param0, u32 param1) +THUMB_FUNC void FUN_02016BF4(const struct GraphicsModes *param0, u32 param1) { if (param1 == 0) { - GX_SetGraphicsMode(param0[0], param0[1], param0[3]); + GX_SetGraphicsMode(param0->dispMode, param0->bgMode, param0->_2d3dMode); GX_DisableEngineALayers(); } else { - GXS_SetGraphicsMode(param0[2]); + GXS_SetGraphicsMode(param0->subMode); GX_DisableEngineBLayers(); } } |