diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2021-06-05 16:55:46 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2021-06-05 16:55:46 -0400 |
commit | c87b617058767519480ef2d19e233fe0e99ca01d (patch) | |
tree | 690c7ca357b58415f85c754048e90b1e693df945 /arm9/src | |
parent | 0ae4f320d929e4d8914002836055c1aad35d5ce3 (diff) |
Fix GX_vramcnt symbol names
Diffstat (limited to 'arm9/src')
-rw-r--r-- | arm9/src/GX_layers.c | 28 | ||||
-rw-r--r-- | arm9/src/bg_window.c | 42 | ||||
-rw-r--r-- | arm9/src/error_message_reset.c | 46 | ||||
-rw-r--r-- | arm9/src/timer3.c | 46 |
4 files changed, 83 insertions, 79 deletions
diff --git a/arm9/src/GX_layers.c b/arm9/src/GX_layers.c index 790b13bb..28147dbd 100644 --- a/arm9/src/GX_layers.c +++ b/arm9/src/GX_layers.c @@ -3,19 +3,19 @@ #include "gx.h" #include "main.h" - -struct GX_LayerData layer_data; +static u32 EngineA_DISPCNT_LayerMask; +static u32 EngineB_DISPCNT_LayerMask; THUMB_FUNC void GX_SetBanks(const struct GraphicsBanks *banks) { GX_ResetBankForBG(); GX_ResetBankForBGExtPltt(); GX_ResetBankForSubBG(); - FUN_020C6034(); + GX_ResetBankForSubBGExtPltt(); GX_ResetBankForOBJ(); GX_ResetBankForOBJExtPltt(); - FUN_020C605C(); GX_ResetBankForSubOBJ(); + GX_ResetBankForSubOBJExtPltt(); GX_ResetBankForTex(); GX_ResetBankForTexPltt(); @@ -34,58 +34,58 @@ THUMB_FUNC void GX_SetBanks(const struct GraphicsBanks *banks) THUMB_FUNC void GX_DisableEngineALayers() { - layer_data.EngineA_DISPCNT_LayerMask = 0; + EngineA_DISPCNT_LayerMask = 0; } THUMB_FUNC void GX_EngineAToggleLayers(u32 layer_mask, GX_LayerToggle layer_toggle) { if (layer_toggle == GX_LAYER_TOGGLE_ON) { - if ((layer_data.EngineA_DISPCNT_LayerMask & layer_mask) != 0) + if ((EngineA_DISPCNT_LayerMask & layer_mask) != 0) { return; } } else { - if ((layer_data.EngineA_DISPCNT_LayerMask & layer_mask) == 0) + if ((EngineA_DISPCNT_LayerMask & layer_mask) == 0) { return; } } - GX_SetVisiblePlane(layer_data.EngineA_DISPCNT_LayerMask ^= layer_mask); + GX_SetVisiblePlane(EngineA_DISPCNT_LayerMask ^= layer_mask); } THUMB_FUNC void GX_SetEngineALayers(u32 layer_mask) { - layer_data.EngineA_DISPCNT_LayerMask = layer_mask; + EngineA_DISPCNT_LayerMask = layer_mask; GX_SetVisiblePlane(layer_mask); } THUMB_FUNC void GX_DisableEngineBLayers() { - layer_data.EngineB_DISPCNT_LayerMask = 0; + EngineB_DISPCNT_LayerMask = 0; } THUMB_FUNC void GX_EngineBToggleLayers(u32 layer_mask, GX_LayerToggle layer_toggle) { if (layer_toggle == GX_LAYER_TOGGLE_ON) { - if ((layer_data.EngineB_DISPCNT_LayerMask & layer_mask) != 0) + if ((EngineB_DISPCNT_LayerMask & layer_mask) != 0) { return; } } else { - if ((layer_data.EngineB_DISPCNT_LayerMask & layer_mask) == 0) + if ((EngineB_DISPCNT_LayerMask & layer_mask) == 0) { return; } } - GXS_SetVisiblePlane(layer_data.EngineB_DISPCNT_LayerMask ^= layer_mask); + GXS_SetVisiblePlane(EngineB_DISPCNT_LayerMask ^= layer_mask); } THUMB_FUNC void GX_BothDispOn() @@ -108,5 +108,5 @@ THUMB_FUNC void GX_SwapDisplay() THUMB_FUNC u32 GX_GetEngineALayers() { - return layer_data.EngineA_DISPCNT_LayerMask; + return EngineA_DISPCNT_LayerMask; } diff --git a/arm9/src/bg_window.c b/arm9/src/bg_window.c index 23763d76..2986645f 100644 --- a/arm9/src/bg_window.c +++ b/arm9/src/bg_window.c @@ -215,7 +215,7 @@ THUMB_FUNC void InitBgFromTemplate( MI_CpuClear16(bgConfig->bgs[bgId].tilemapBuffer, template->bufferSize); bgConfig->bgs[bgId].bufferSize = template->bufferSize; - bgConfig->bgs[bgId].baseTile = template->unk0c; + bgConfig->bgs[bgId].baseTile = template->baseTile; } else { @@ -228,7 +228,7 @@ THUMB_FUNC void InitBgFromTemplate( bgConfig->bgs[bgId].mode = bgMode; bgConfig->bgs[bgId].colorMode = template->colorMode; - if (bgMode == GF_BG_TYPE_TEXT && template->colorMode == 0) + if (bgMode == GF_BG_TYPE_TEXT && template->colorMode == GX_BG_COLORMODE_16) { bgConfig->bgs[bgId].tileSize = 0x20; } @@ -237,8 +237,8 @@ THUMB_FUNC void InitBgFromTemplate( bgConfig->bgs[bgId].tileSize = 0x40; } - BgSetPosTextAndCommit(bgConfig, bgId, BG_POS_OP_SET_X, template->unk00); - BgSetPosTextAndCommit(bgConfig, bgId, BG_POS_OP_SET_Y, template->unk04); + BgSetPosTextAndCommit(bgConfig, bgId, BG_POS_OP_SET_X, template->x); + BgSetPosTextAndCommit(bgConfig, bgId, BG_POS_OP_SET_Y, template->y); } THUMB_FUNC void SetBgControlParam(struct BgConfig *config, u8 bgId, u32 attr, u8 value) @@ -893,7 +893,7 @@ THUMB_FUNC void BG_LoadScreenTilemapData( THUMB_FUNC void BG_LoadCharTilesData( struct BgConfig *bgConfig, u32 bgId, u32 *charData, u32 offset, u32 numTiles) { - if (bgConfig->bgs[bgId].colorMode == 0) + if (bgConfig->bgs[bgId].colorMode == GX_BG_COLORMODE_16) { BG_LoadCharPixelData(bgConfig, bgId, charData, offset, numTiles << 5); return; @@ -1874,7 +1874,7 @@ THUMB_FUNC struct Window *AllocWindows(u32 heap_id, s32 size) THUMB_FUNC void InitWindow(struct Window *window) { window->bgConfig = NULL; - window->bgId = 0xff; + window->bgId = GF_BG_LYR_UNALLOC; window->tilemapLeft = 0; window->tilemapTop = 0; window->width = 0; @@ -1884,7 +1884,7 @@ THUMB_FUNC void InitWindow(struct Window *window) window->baseTile = 0; window->pixelBuffer = NULL; - window->unk0b_15 = 0; + window->colorMode = GF_BG_CLR_4BPP; } THUMB_FUNC BOOL WindowIsInUse(struct Window *window) @@ -1897,12 +1897,6 @@ THUMB_FUNC BOOL WindowIsInUse(struct Window *window) return TRUE; } -enum UnkEnum1 -{ - UnkEnum1_0 = 0, - UnkEnum1_1 = 1 -}; - THUMB_FUNC void AddWindowParameterized(struct BgConfig *param0, struct Window *window, u8 bgId, @@ -1935,17 +1929,7 @@ THUMB_FUNC void AddWindowParameterized(struct BgConfig *param0, window->baseTile = baseTile; window->pixelBuffer = ptr; - enum UnkEnum1 r2; - if (param0->bgs[bgId].colorMode == 0) - { - r2 = UnkEnum1_0; - } - else - { - r2 = UnkEnum1_1; - } - - window->unk0b_15 = r2; + window->colorMode = param0->bgs[bgId].colorMode == GX_BG_COLORMODE_16 ? GF_BG_CLR_4BPP : GF_BG_CLR_8BPP; } THUMB_FUNC void AddTextWindowTopLeftCorner(struct BgConfig *param0, @@ -1969,7 +1953,7 @@ THUMB_FUNC void AddTextWindowTopLeftCorner(struct BgConfig *param0, window->height = height; window->baseTile = baseTile; window->pixelBuffer = ptr; - window->unk0b_15 = 0; + window->colorMode = GF_BG_CLR_4BPP; } } @@ -2314,7 +2298,7 @@ THUMB_FUNC void BlitBitmapRect(struct Window *window, window->pixelBuffer, (u16)(window->width << 3), (u16)(window->height << 3) }; - if (window->bgConfig->bgs[window->bgId].colorMode == 0) + if (window->bgConfig->bgs[window->bgId].colorMode == GX_BG_COLORMODE_16) { BlitBitmapRect4Bit(&st1c, &st14, param2, param3, param6, param7, param8, param9, param10); } @@ -2331,7 +2315,7 @@ THUMB_FUNC void FillWindowPixelRect( window->pixelBuffer, (u16)(window->width << 3), (u16)(window->height << 3) }; - if (window->bgConfig->bgs[window->bgId].colorMode == 0) + if (window->bgConfig->bgs[window->bgId].colorMode == GX_BG_COLORMODE_16) { FillBitmapRect4Bit(&st8, x, y, width, height, fillValue); } @@ -4909,7 +4893,7 @@ _0201A8BC: // 0x0201A8BC THUMB_FUNC void ScrollWindow(struct Window *window, u32 param1, u8 param2, u8 param3) { - if (window->bgConfig->bgs[window->bgId].colorMode == 0) + if (window->bgConfig->bgs[window->bgId].colorMode == GX_BG_COLORMODE_16) { ScrollWindow4bpp(window, param1, param2, param3); } @@ -5375,7 +5359,7 @@ THUMB_FUNC u32 DoesPixelAtScreenXYMatchPtrVal( xPixOffs = (u8)(x & 7); yPixOffs = (u8)(y & 7); - if (bgConfig->bgs[bgId].colorMode == 0) + if (bgConfig->bgs[bgId].colorMode == GX_BG_COLORMODE_16) { u16 *tilemapBuffer = bgConfig->bgs[bgId].tilemapBuffer; u8 *ptr = AllocFromHeapAtEnd(bgConfig->heap_id, 0x40); diff --git a/arm9/src/error_message_reset.c b/arm9/src/error_message_reset.c index 0c6ac0fe..e0d01bde 100644 --- a/arm9/src/error_message_reset.c +++ b/arm9/src/error_message_reset.c @@ -7,17 +7,37 @@ #include "PAD_pad.h" -const struct WindowTemplate UNK_020FF49C = {0, 3, 3, 0x1a, 0x12, 1, 0x23 }; +const struct WindowTemplate UNK_020FF49C = { + .bgId = GF_BG_LYR_MAIN_0, + .tilemapLeft = 3, + .tilemapTop = 3, + .width = 26, + .height = 18, + .paletteNum = 1, + .baseTile = 0x23 +}; const struct HeapParam UNK_020FF4A4[] = { {0x00020000, OS_ARENA_MAIN} }; -const struct GraphicsModes UNK_020FF4AC = { dispMode : GX_DISPMODE_GRAPHICS }; - -const struct BgTemplate UNK_020FF4BC = { 0, 0, 0x800, 0, 1, 0, 0, 6, 0, 1, 0, 0, 0 }; +const struct GraphicsModes UNK_020FF4AC = { .dispMode = GX_DISPMODE_GRAPHICS }; + +const struct BgTemplate UNK_020FF4BC = { + .x = 0, + .y = 0, + .bufferSize = 0x800, + .baseTile = 0, + .size = GF_BG_SCR_SIZE_256x256, + .colorMode = GX_BG_COLORMODE_16, + .screenBase = GX_BG_SCRBASE_0x0000, .charBase = GX_BG_CHARBASE_0x18000, + .bgExtPltt = GX_BG_EXTPLTT_01, + .priority = 1, + .areaOver = 0, + .mosaic = FALSE +}; -const struct GraphicsBanks UNK_020FF4D8 = { bg : 3 }; +const struct GraphicsBanks UNK_020FF4D8 = { .bg = 3 }; u32 sErrorMessagePrinterLock; @@ -30,8 +50,7 @@ extern void FUN_0200A274(u32 param0, u32 param1, u32 param2); THUMB_FUNC void VBlankHandler() { - *(vu32 *)HW_INTR_CHECK_BUF |= 1; - + OS_SetIrqCheckFlag(OS_IE_V_BLANK); MI_WaitDma(3); } @@ -61,18 +80,19 @@ THUMB_FUNC void PrintErrorMessageAndReset() GX_DisableEngineALayers(); GX_DisableEngineBLayers(); - reg_GX_DISPCNT &= ~REG_GX_DISPCNT_DISPLAY_MASK; - reg_GXS_DB_DISPCNT &= ~REG_GXS_DB_DISPCNT_DISPLAY_MASK; + GX_SetVisiblePlane(0); + GXS_SetVisiblePlane(0); SetKeyRepeatTimers(4, 8); gMain.unk65 = 0; GX_SwapDisplay(); - reg_G2_BLDCNT = 0; - reg_G2S_DB_BLDCNT = 0; - 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); + G2_BlendNone(); + G2S_BlendNone(); + + GX_SetVisibleWnd(0); + GXS_SetVisibleWnd(0); GX_SetBanks(&UNK_020FF4D8); ptr = BgConfig_Alloc(0); diff --git a/arm9/src/timer3.c b/arm9/src/timer3.c index 1799fd24..d4e8f8a1 100644 --- a/arm9/src/timer3.c +++ b/arm9/src/timer3.c @@ -1,37 +1,37 @@ #include "timer3.h" -struct Timer3Data timer3_data; +static BOOL timer3_needReset; +static vu64 timer3_counter; THUMB_FUNC void Init_Timer3() { - timer3_data.Timer3Counter = 0; - timer3_data.NeedReset = FALSE; + timer3_counter = 0; + timer3_needReset = FALSE; - reg_OS_TM3CNT_H = 0; - reg_OS_TM3CNT_L = 0; - reg_OS_TM3CNT_H = 0xc1; // start timer3 with f/64 and irq enable + OS_SetTimerControl(OS_TIMER_3, 0); + OS_SetTimerCount(OS_TIMER_3, 0); + OS_SetTimerControl(OS_TIMER_3, REG_OS_TM3CNT_H_E_MASK | REG_OS_TM3CNT_H_I_MASK | OS_TIMER_PRESCALER_64); // start timer3 with f/64 and irq enable - OS_SetIrqFunction(0x40, &CountUpTimer3); - OS_EnableIrqMask(0x40); // irq on timer3 overflow + OS_SetIrqFunction(OS_IE_TIMER3, &CountUpTimer3); + OS_EnableIrqMask(OS_IE_TIMER3); // irq on timer3 overflow } THUMB_FUNC void CountUpTimer3() { - timer3_data.Timer3Counter++; + timer3_counter++; - if (timer3_data.NeedReset) + if (timer3_needReset) { - reg_OS_TM3CNT_H = 0; - reg_OS_TM3CNT_L = 0; - reg_OS_TM3CNT_H = 0xc1; - timer3_data.NeedReset = FALSE; + OS_SetTimerControl(OS_TIMER_3, 0); + OS_SetTimerCount(OS_TIMER_3, 0); + OS_SetTimerControl(OS_TIMER_3, REG_OS_TM3CNT_H_E_MASK | REG_OS_TM3CNT_H_I_MASK | OS_TIMER_PRESCALER_64); + timer3_needReset = FALSE; } - *(vu32 *)HW_INTR_CHECK_BUF |= 0x40; - - OS_SetIrqFunction(0x40, &CountUpTimer3); + OS_SetIrqCheckFlag(OS_IE_TIMER3); + OS_SetIrqFunction(OS_IE_TIMER3, &CountUpTimer3); } THUMB_FUNC u64 internal_GetTimer3Count() @@ -39,15 +39,15 @@ THUMB_FUNC u64 internal_GetTimer3Count() OSIntrMode intr_mode = OS_DisableInterrupts(); vu16 timer3 = reg_OS_TM3CNT_L; - vu64 timer3_counter = timer3_data.Timer3Counter & 0x0000ffffffffffff; + vu64 counter = timer3_counter & 0x0000ffffffffffff; - if (reg_OS_IF & 0x40 && !(timer3 & 0x8000)) + if (reg_OS_IF & OS_IE_TIMER3 && !(timer3 & 0x8000)) { - timer3_counter++; + counter++; } OS_RestoreInterrupts(intr_mode); - return (timer3_counter << 16) | timer3; + return (counter << 16) | timer3; } THUMB_FUNC u64 GetTimer3Count() @@ -57,10 +57,10 @@ THUMB_FUNC u64 GetTimer3Count() THUMB_FUNC u64 Timer3CountToMilliSeconds(u64 count) { - return (count *64) / 33514; + return (count * 64) / (HW_SYSTEM_CLOCK / 1000); } THUMB_FUNC u64 Timer3CountToSeconds(u64 count) { - return (count *64) / HW_SYSTEM_CLOCK; + return (count * 64) / HW_SYSTEM_CLOCK; } |