summaryrefslogtreecommitdiff
path: root/arm9/lib/src
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/lib/src')
-rw-r--r--arm9/lib/src/GX.c52
-rw-r--r--arm9/lib/src/GX_g2.c10
-rw-r--r--arm9/lib/src/GX_load2d.c4
-rw-r--r--arm9/lib/src/GX_vramcnt.c88
4 files changed, 78 insertions, 76 deletions
diff --git a/arm9/lib/src/GX.c b/arm9/lib/src/GX.c
index 69ad8718..688e41b7 100644
--- a/arm9/lib/src/GX.c
+++ b/arm9/lib/src/GX.c
@@ -7,16 +7,18 @@ vu16 GXi_VRamLockId = 0;
static u16 sDispMode = 0;
static u16 sIsDispOn = TRUE;
+#define _powcnt_init_mask (REG_GX_POWCNT_E2DGB_MASK | REG_GX_POWCNT_E2DG_MASK | REG_GX_POWCNT_RE_MASK | REG_GX_POWCNT_GE_MASK)
+
ARM_FUNC void GX_Init(){
- reg_GX_POWCNT |= 0x8000;
- reg_GX_POWCNT = (u16)((reg_GX_POWCNT & ~0x20E) | 0x20E);
- reg_GX_POWCNT = (u16)(reg_GX_POWCNT | 0x1);
+ reg_GX_POWCNT |= REG_GX_POWCNT_DSEL_MASK;
+ reg_GX_POWCNT = (u16)((reg_GX_POWCNT & ~_powcnt_init_mask) | _powcnt_init_mask);
+ reg_GX_POWCNT = (u16)(reg_GX_POWCNT | REG_GX_POWCNT_LCD_MASK);
GX_InitGXState();
s32 temp;
while (GXi_VRamLockId == 0)
{
temp = OS_GetLockID();
- if (temp == -3)
+ if (temp == OS_LOCK_ID_ERROR)
{
OS_Terminate();
}
@@ -47,62 +49,62 @@ ARM_FUNC void GX_Init(){
}
ARM_FUNC u32 GX_HBlankIntr(u32 enable){
- u32 temp = (u32)(reg_GX_DISPSTAT & 0x10);
+ u32 temp = (u32)(reg_GX_DISPSTAT & REG_GX_DISPSTAT_HBI_MASK);
if (enable)
{
- reg_GX_DISPSTAT |= 0x10;
+ reg_GX_DISPSTAT |= REG_GX_DISPSTAT_HBI_MASK;
}
else
{
- reg_GX_DISPSTAT &= ~0x10;
+ reg_GX_DISPSTAT &= ~REG_GX_DISPSTAT_HBI_MASK;
}
return temp;
}
ARM_FUNC u32 GX_VBlankIntr(u32 enable){
- u32 temp = (u32)(reg_GX_DISPSTAT & 0x8);
+ u32 temp = (u32)(reg_GX_DISPSTAT & REG_GX_DISPSTAT_VBI_MASK);
if (enable)
{
- reg_GX_DISPSTAT |= 0x8;
+ reg_GX_DISPSTAT |= REG_GX_DISPSTAT_VBI_MASK;
}
else
{
- reg_GX_DISPSTAT &= ~0x8;
+ reg_GX_DISPSTAT &= ~REG_GX_DISPSTAT_VBI_MASK;
}
return temp;
}
ARM_FUNC void GX_DispOff(){
u32 temp = reg_GX_DISPCNT;
- sIsDispOn = 0x0;
- sDispMode = (u16)((temp & 0x30000) >> 0x10);
- reg_GX_DISPCNT = temp & ~0x30000;
+ sIsDispOn = FALSE;
+ sDispMode = (u16)((temp & REG_GX_DISPCNT_MODE_MASK) >> REG_GX_DISPCNT_MODE_SHIFT);
+ reg_GX_DISPCNT = temp & ~REG_GX_DISPCNT_MODE_MASK;
}
ARM_FUNC void GX_DispOn(){
- sIsDispOn = 0x1;
+ sIsDispOn = TRUE;
if (sDispMode)
{
- reg_GX_DISPCNT = (reg_GX_DISPCNT & ~0x30000) | (sDispMode << 0x10);
+ reg_GX_DISPCNT = (reg_GX_DISPCNT & ~REG_GX_DISPCNT_MODE_MASK) | (sDispMode << REG_GX_DISPCNT_MODE_SHIFT);
}
else
{
- reg_GX_DISPCNT = reg_GX_DISPCNT | 0x10000;
+ reg_GX_DISPCNT = reg_GX_DISPCNT | (GX_DISPMODE_GRAPHICS << REG_GX_DISPCNT_MODE_SHIFT);
}
}
-ARM_FUNC void GX_SetGraphicsMode(u32 mode1, u32 mode2, u32 mode3){
+ARM_FUNC void GX_SetGraphicsMode(GXDispMode dispMode, GXBGMode bgMode, GXBG0As bg0_2d3d){
u32 temp2 = reg_GX_DISPCNT;
- sDispMode = (u16)mode1;
+ sDispMode = (u16)dispMode;
if (!sIsDispOn)
- mode1 = 0;
- reg_GX_DISPCNT = (mode2 | ((temp2 & 0xFFF0FFF0) | (mode1 << 0x10))) | (mode3 << 0x3);
+ dispMode = 0;
+ reg_GX_DISPCNT = ((bgMode << REG_GX_DISPCNT_BGMODE_SHIFT) | ((temp2 & ~(REG_GX_DISPCNT_BGMODE_MASK | REG_GX_DISPCNT_MODE_MASK | REG_GX_DISPCNT_BG02D3D_MASK | REG_GX_DISPCNT_VRAM_MASK)) | (dispMode << REG_GX_DISPCNT_MODE_SHIFT))) | (bg0_2d3d << REG_GX_DISPCNT_BG02D3D_SHIFT);
if (!sDispMode)
- sIsDispOn = 0x0;
+ sIsDispOn = FALSE;
}
-ARM_FUNC void GXS_SetGraphicsMode(u32 mode){
- reg_GXS_DB_DISPCNT = (reg_GXS_DB_DISPCNT & ~0x7) | mode;
+ARM_FUNC void GXS_SetGraphicsMode(GXBGMode mode){
+ reg_GXS_DB_DISPCNT = (reg_GXS_DB_DISPCNT & ~REG_GXS_DB_DISPCNT_BGMODE_MASK) | mode;
}
ARM_FUNC void GXx_SetMasterBrightness_(vu16 *dst, s32 brightness){
@@ -112,10 +114,10 @@ ARM_FUNC void GXx_SetMasterBrightness_(vu16 *dst, s32 brightness){
}
else if (brightness > 0)
{
- *dst = (u16)(0x4000 | brightness);
+ *dst = (u16)((1 << REG_GX_MASTER_BRIGHT_E_MOD_SHIFT) | brightness);
}
else
{
- *dst = (u16)(0x8000 | -brightness);
+ *dst = (u16)((2 << REG_GX_MASTER_BRIGHT_E_MOD_SHIFT) | -brightness);
}
}
diff --git a/arm9/lib/src/GX_g2.c b/arm9/lib/src/GX_g2.c
index 99ba0e26..39b8bff4 100644
--- a/arm9/lib/src/GX_g2.c
+++ b/arm9/lib/src/GX_g2.c
@@ -1,16 +1,16 @@
#include "global.h"
#include "gx.h"
-ARM_FUNC void G2x_SetBGyAffine_(u32 *ptr, struct Mtx22 *mtx, fx32 a, fx32 b, fx32 c, fx32 d){
+ARM_FUNC void G2x_SetBGyAffine_(u32 ptr, const struct Mtx22 *mtx, fx32 a, fx32 b, fx32 c, fx32 d){
fx32 temp0, temp1, temp2, temp3;
- ptr[0] = (u32)((u16)(fx16)(mtx->_[0] >> 4) | (u16)(fx16)(mtx->_[1] >> 4)<< 0x10);
- ptr[1] = (u32)((u16)(fx16)(mtx->_[2] >> 4) | (u16)(fx16)(mtx->_[3] >> 4)<< 0x10);
+ *((vu32 *)ptr + 0) = (u32)((u16)(fx16)(mtx->_[0] >> 4) | (u16)(fx16)(mtx->_[1] >> 4)<< 0x10);
+ *((vu32 *)ptr + 1) = (u32)((u16)(fx16)(mtx->_[2] >> 4) | (u16)(fx16)(mtx->_[3] >> 4)<< 0x10);
temp0 = c - a;
temp1 = d - b;
temp2 = mtx->_[0] * temp0 + mtx->_[1] * temp1 + (a << 0xC);
temp3 = mtx->_[2] * temp0 + mtx->_[3] * temp1 + (b << 0xC);
- ptr[2] = (u32)(temp2 >> 4);
- ptr[3] = (u32)(temp3 >> 4);
+ *((vu32 *)ptr + 2) = (u32)(temp2 >> 4);
+ *((vu32 *)ptr + 3) = (u32)(temp3 >> 4);
}
ARM_FUNC void G2x_SetBlendAlpha_(u32 *ptr, fx32 a, fx32 b, fx32 c, fx32 d){
diff --git a/arm9/lib/src/GX_load2d.c b/arm9/lib/src/GX_load2d.c
index 132de9ee..6bff54be 100644
--- a/arm9/lib/src/GX_load2d.c
+++ b/arm9/lib/src/GX_load2d.c
@@ -195,7 +195,7 @@ ARM_FUNC void GX_EndLoadOBJExtPltt(){
}
ARM_FUNC void GXS_BeginLoadBGExtPltt(){
- sSubBGExtPltt = (s32)FUN_020C6034();
+ sSubBGExtPltt = (s32)GX_ResetBankForSubBGExtPltt();
}
ARM_FUNC void GXS_LoadBGExtPltt(void *src, u32 offset, u32 size){
@@ -209,7 +209,7 @@ ARM_FUNC void GXS_EndLoadBGExtPltt(){
}
ARM_FUNC void GXS_BeginLoadOBJExtPltt(){
- sSubOBJExtPltt = (s32)GX_ResetBankForSubOBJ();
+ sSubOBJExtPltt = (s32)GX_ResetBankForSubOBJExtPltt();
}
ARM_FUNC void GXS_LoadOBJExtPltt(void *src, u32 offset, u32 size){
diff --git a/arm9/lib/src/GX_vramcnt.c b/arm9/lib/src/GX_vramcnt.c
index c9d5a1bd..abfcd77e 100644
--- a/arm9/lib/src/GX_vramcnt.c
+++ b/arm9/lib/src/GX_vramcnt.c
@@ -396,7 +396,7 @@ ARM_FUNC void GX_SetBankForSubOBJExtPltt(s32 subobjextpltt){
GX_VRAMCNT_SetLCDC_(gGXState.lcdc);
}
-ARM_FUNC u32 FUN_020C6130(u16 *ptr){
+ARM_FUNC u32 resetBankForX_(u16 *ptr){
u16 temp = *ptr;
*ptr = 0;
gGXState.lcdc |= temp;
@@ -405,54 +405,54 @@ ARM_FUNC u32 FUN_020C6130(u16 *ptr){
}
ARM_FUNC u32 GX_ResetBankForBG(){
- return FUN_020C6130(&gGXState.bg);
+ return resetBankForX_(&gGXState.bg);
}
ARM_FUNC u32 GX_ResetBankForOBJ(){
- return FUN_020C6130(&gGXState.obj);
+ return resetBankForX_(&gGXState.obj);
}
ARM_FUNC u32 GX_ResetBankForBGExtPltt(){
reg_GX_DISPCNT &= ~0x40000000;
- return FUN_020C6130(&gGXState.bgExtPltt);
+ return resetBankForX_(&gGXState.bgExtPltt);
}
ARM_FUNC u32 GX_ResetBankForOBJExtPltt(){
reg_GX_DISPCNT &= ~0x80000000;
- return FUN_020C6130(&gGXState.objExtPltt);
+ return resetBankForX_(&gGXState.objExtPltt);
}
ARM_FUNC u32 GX_ResetBankForTex(){
- return FUN_020C6130(&gGXState.tex);
+ return resetBankForX_(&gGXState.tex);
}
ARM_FUNC u32 GX_ResetBankForTexPltt(){
- return FUN_020C6130(&gGXState.texPltt);
+ return resetBankForX_(&gGXState.texPltt);
}
ARM_FUNC u32 GX_ResetBankForClearImage(){
- return FUN_020C6130(&gGXState.clrImg);
+ return resetBankForX_(&gGXState.clrImg);
}
ARM_FUNC u32 GX_ResetBankForSubBG(){
- return FUN_020C6130(&gGXState.sub_bg);
+ return resetBankForX_(&gGXState.sub_bg);
}
-ARM_FUNC u32 FUN_020C605C(){
- return FUN_020C6130(&gGXState.sub_obj);
+ARM_FUNC u32 GX_ResetBankForSubOBJ(){
+ return resetBankForX_(&gGXState.sub_obj);
}
-ARM_FUNC u32 FUN_020C6034(){
- reg_GXS_DB_DISPCNT &= ~0x40000000;
- return FUN_020C6130(&gGXState.sub_bgExtPltt);
+ARM_FUNC u32 GX_ResetBankForSubBGExtPltt(){
+ reg_GXS_DB_DISPCNT &= ~REG_GXS_DB_DISPCNT_BG_MASK;
+ return resetBankForX_(&gGXState.sub_bgExtPltt);
}
-ARM_FUNC u32 GX_ResetBankForSubOBJ(){
- reg_GXS_DB_DISPCNT &= ~0x80000000;
- return FUN_020C6130(&gGXState.sub_objExtPltt);
+ARM_FUNC u32 GX_ResetBankForSubOBJExtPltt(){
+ reg_GXS_DB_DISPCNT &= ~REG_GXS_DB_DISPCNT_O_MASK;
+ return resetBankForX_(&gGXState.sub_objExtPltt);
}
-ARM_FUNC u32 FUN_020C5F28(u16 *ptr){
+ARM_FUNC u32 disableBankForX_(u16 *ptr){
u32 temp = *ptr;
*ptr = 0;
if (temp & (0x1 << 0))
@@ -477,63 +477,63 @@ ARM_FUNC u32 FUN_020C5F28(u16 *ptr){
return temp;
}
-ARM_FUNC u32 disableBankForX_(){
- return FUN_020C5F28(&gGXState.bg);
+ARM_FUNC u32 GX_DisableBankForBG(){
+ return disableBankForX_(&gGXState.bg);
}
-ARM_FUNC u32 GX_DisableBankForOBJExtPltt_2(){
- return FUN_020C5F28(&gGXState.obj);
+ARM_FUNC u32 GX_DisableBankForOBJ(){
+ return disableBankForX_(&gGXState.obj);
}
ARM_FUNC u32 GX_DisableBankForBGExtPltt(){
- reg_GX_DISPCNT &= ~0x40000000;
- return FUN_020C5F28(&gGXState.bgExtPltt);
+ reg_GX_DISPCNT &= ~REG_GX_DISPCNT_BG_MASK;
+ return disableBankForX_(&gGXState.bgExtPltt);
}
ARM_FUNC u32 GX_DisableBankForOBJExtPltt(){
- reg_GX_DISPCNT &= ~0x80000000;
- return FUN_020C5F28(&gGXState.objExtPltt);
+ reg_GX_DISPCNT &= ~REG_GX_DISPCNT_O_MASK;
+ return disableBankForX_(&gGXState.objExtPltt);
}
-ARM_FUNC u32 GX_DisableBankForTexPltt_2(){
- return FUN_020C5F28(&gGXState.tex);
+ARM_FUNC u32 GX_DisableBankForTex(){
+ return disableBankForX_(&gGXState.tex);
}
ARM_FUNC u32 GX_DisableBankForTexPltt(){
- return FUN_020C5F28(&gGXState.texPltt);
+ return disableBankForX_(&gGXState.texPltt);
}
ARM_FUNC u32 GX_DisableBankForClearImage(){
- return FUN_020C5F28(&gGXState.clrImg);
+ return disableBankForX_(&gGXState.clrImg);
}
ARM_FUNC u32 GX_DisableBankForARM7(){
- return FUN_020C5F28(&gGXState.arm7);
+ return disableBankForX_(&gGXState.arm7);
}
ARM_FUNC u32 GX_DisableBankForLCDC(){
- return FUN_020C5F28(&gGXState.lcdc);
+ return disableBankForX_(&gGXState.lcdc);
}
-ARM_FUNC u32 GX_DisableBankForSubBGExtPltt(){
- return FUN_020C5F28(&gGXState.sub_bg);
+ARM_FUNC u32 GX_DisableBankForSubBG(){
+ return disableBankForX_(&gGXState.sub_bg);
}
-ARM_FUNC u32 GX_DisableBankForSubOBJExtPltt_2(){
- return FUN_020C5F28(&gGXState.sub_obj);
+ARM_FUNC u32 GX_DisableBankForSubOBJ(){
+ return disableBankForX_(&gGXState.sub_obj);
}
-ARM_FUNC u32 FUN_020C5E04(){
- reg_GXS_DB_DISPCNT &= ~0x40000000;
- return FUN_020C5F28(&gGXState.sub_bgExtPltt);
+ARM_FUNC u32 GX_DisableBankForSubBGExtPltt(){
+ reg_GXS_DB_DISPCNT &= ~REG_GX_DISPCNT_BG_MASK;
+ return disableBankForX_(&gGXState.sub_bgExtPltt);
}
ARM_FUNC u32 GX_DisableBankForSubOBJExtPltt(){
- reg_GXS_DB_DISPCNT &= ~0x80000000;
- return FUN_020C5F28(&gGXState.sub_objExtPltt);
+ reg_GXS_DB_DISPCNT &= ~REG_GX_DISPCNT_O_MASK;
+ return disableBankForX_(&gGXState.sub_objExtPltt);
}
-ARM_FUNC u32 GX_GetBankForBGExtPltt_2(){
+ARM_FUNC u32 GX_GetBankForBG(){
return gGXState.bg;
}
@@ -549,7 +549,7 @@ ARM_FUNC u32 GX_GetBankForOBJExtPltt(){
return gGXState.objExtPltt;
}
-ARM_FUNC u32 FUN_020C5D8C(){
+ARM_FUNC u32 GX_GetBankForTex(){
return gGXState.tex;
}
@@ -561,7 +561,7 @@ ARM_FUNC u32 GX_GetBankForLCDC(){
return gGXState.lcdc;
}
-ARM_FUNC u32 GX_GetBankForSubBGExtPltt_2(){
+ARM_FUNC u32 GX_GetBankForSubBG(){
return gGXState.sub_bg;
}