summaryrefslogtreecommitdiff
path: root/arm9/lib/src
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/lib/src')
-rw-r--r--arm9/lib/src/GX.c16
-rw-r--r--arm9/lib/src/GX_bgcnt.c32
-rw-r--r--arm9/lib/src/GX_g2.c10
-rw-r--r--arm9/lib/src/GX_g3.c4
-rw-r--r--arm9/lib/src/GX_g3_util.c13
-rw-r--r--arm9/lib/src/GX_g3b.c28
-rw-r--r--arm9/lib/src/GX_g3imm.c6
-rw-r--r--arm9/lib/src/GX_g3x.c34
-rw-r--r--arm9/lib/src/GX_load2d.c72
-rw-r--r--arm9/lib/src/GX_load3d.c20
-rw-r--r--arm9/lib/src/GX_state.c2
-rw-r--r--arm9/lib/src/GX_vramcnt.c102
12 files changed, 169 insertions, 170 deletions
diff --git a/arm9/lib/src/GX.c b/arm9/lib/src/GX.c
index 9823e8ba..bae16fca 100644
--- a/arm9/lib/src/GX.c
+++ b/arm9/lib/src/GX.c
@@ -7,7 +7,7 @@ extern u16 gUnk021D33C0;
extern u32 gUnk02106814;
extern u16 gUnk02106810;
-void GX_Init(){
+ARM_FUNC void GX_Init(){
SETREG16(HW_REG_POWCNT1, READREG16(HW_REG_POWCNT1) | 0x8000);
SETREG16(HW_REG_POWCNT1, (READREG16(HW_REG_POWCNT1) & ~0x20E) | 0x20E);
SETREG16(HW_REG_POWCNT1, READREG16(HW_REG_POWCNT1) | 0x1);
@@ -46,7 +46,7 @@ void GX_Init(){
SETREG16(HW_REG_BG3PD_B, 0x100);
}
-u32 GX_HBlankIntr(u32 enable){
+ARM_FUNC u32 GX_HBlankIntr(u32 enable){
u32 temp = READREG16(HW_REG_DISPSTAT) & 0x10;
if (enable)
{
@@ -59,7 +59,7 @@ u32 GX_HBlankIntr(u32 enable){
return temp;
}
-u32 GX_VBlankIntr(u32 enable){
+ARM_FUNC u32 GX_VBlankIntr(u32 enable){
u32 temp = READREG16(HW_REG_DISPSTAT) & 0x8;
if (enable)
{
@@ -72,14 +72,14 @@ u32 GX_VBlankIntr(u32 enable){
return temp;
}
-void GX_DispOff(){
+ARM_FUNC void GX_DispOff(){
u32 temp = READREG32(HW_REG_DISPCNT);
gUnk02106810 = 0x0;
gUnk021D33C0 = (temp & 0x30000) >> 0x10;
SETREG32(HW_REG_DISPCNT, temp & ~0x30000);
}
-void GX_DispOn(){
+ARM_FUNC void GX_DispOn(){
gUnk02106810 = 0x1;
if (gUnk021D33C0)
{
@@ -92,7 +92,7 @@ void GX_DispOn(){
}
}
-void GX_SetGraphicsMode(u32 mode1, u32 mode2, u32 mode3){
+ARM_FUNC void GX_SetGraphicsMode(u32 mode1, u32 mode2, u32 mode3){
u32 temp2 = READREG32(HW_REG_DISPCNT);
gUnk021D33C0 = mode1;
if (!gUnk02106810)
@@ -102,11 +102,11 @@ void GX_SetGraphicsMode(u32 mode1, u32 mode2, u32 mode3){
gUnk02106810 = 0x0;
}
-void GXS_SetGraphicsMode(u32 mode){
+ARM_FUNC void GXS_SetGraphicsMode(u32 mode){
SETREG32(HW_REG_DISPCNT_2D, READREG32(HW_REG_DISPCNT_2D) & ~0x7 | mode);
}
-void GXx_SetMasterBrightness_(vu16 *dst, s32 brightness){
+ARM_FUNC void GXx_SetMasterBrightness_(vu16 *dst, s32 brightness){
if (!brightness)
{
*dst = 0x0;
diff --git a/arm9/lib/src/GX_bgcnt.c b/arm9/lib/src/GX_bgcnt.c
index 918f4d32..1eeffab6 100644
--- a/arm9/lib/src/GX_bgcnt.c
+++ b/arm9/lib/src/GX_bgcnt.c
@@ -2,25 +2,25 @@
#include "main.h"
#include "gx.h"
-void *G2_GetBG0ScrPtr(){
+ARM_FUNC void *G2_GetBG0ScrPtr(){
u32 temp = (((READREG16(HW_REG_BG0CNT_A) & 0x1F00) >> 0x8) << 0xB);
return (void *)(0x6000000 + (((READREG32(HW_REG_DISPCNT_A) & 0x38000000) >> 0x1B) << 0x10) + temp);
}
-void *G2S_GetBG0ScrPtr(){
+ARM_FUNC void *G2S_GetBG0ScrPtr(){
return (void *)(0x6200000 + (((READREG16(HW_REG_BG0CNT_B) & 0x1F00) >> 0x8) << 0xB));
}
-void *G2_GetBG1ScrPtr(){
+ARM_FUNC void *G2_GetBG1ScrPtr(){
u32 temp = (((READREG16(HW_REG_BG1CNT_A) & 0x1F00) >> 0x8) << 0xB);
return (void *)(0x6000000 + (((READREG32(HW_REG_DISPCNT_A) & 0x38000000) >> 0x1B) << 0x10) + temp);
}
-void *G2S_GetBG1ScrPtr(){
+ARM_FUNC void *G2S_GetBG1ScrPtr(){
return (void *)(0x6200000 + (((READREG16(HW_REG_BG1CNT_B) & 0x1F00) >> 0x8) << 0xB));
}
-void *G2_GetBG2ScrPtr(){
+ARM_FUNC void *G2_GetBG2ScrPtr(){
u32 temp12 = (READREG32(HW_REG_DISPCNT_A) & 0x7);
u32 temp3 = READREG16(HW_REG_BG2CNT_A);
u32 temp2 = (((READREG32(HW_REG_DISPCNT_A) & 0x38000000) >> 0x1B) << 0x10);
@@ -45,7 +45,7 @@ void *G2_GetBG2ScrPtr(){
}
}
-void *G2S_GetBG2ScrPtr(){
+ARM_FUNC void *G2S_GetBG2ScrPtr(){
u32 temp12 = (READREG32(HW_REG_DISPCNT_B) & 0x7);
u32 temp3 = READREG16(HW_REG_BG2CNT_B);
u32 temp1 = ((temp3 & 0x1F00) >> 0x8);
@@ -69,7 +69,7 @@ void *G2S_GetBG2ScrPtr(){
}
}
-void *G2_GetBG3ScrPtr(){
+ARM_FUNC void *G2_GetBG3ScrPtr(){
u32 temp12 = (READREG32(HW_REG_DISPCNT_A) & 0x7);
u32 temp3 = READREG16(HW_REG_BG3CNT_A);
u32 temp2 = (((READREG32(HW_REG_DISPCNT_A) & 0x38000000) >> 0x1B) << 0x10);
@@ -94,7 +94,7 @@ void *G2_GetBG3ScrPtr(){
}
}
-void *G2S_GetBG3ScrPtr(){
+ARM_FUNC void *G2S_GetBG3ScrPtr(){
u32 temp12 = (READREG32(HW_REG_DISPCNT_B) & 0x7);
u32 temp3 = READREG16(HW_REG_BG3CNT_B);
u32 temp1 = ((temp3 & 0x1F00) >> 0x8);
@@ -118,25 +118,25 @@ void *G2S_GetBG3ScrPtr(){
}
}
-void *G2_GetBG0CharPtr(){
+ARM_FUNC void *G2_GetBG0CharPtr(){
u32 temp = (((READREG16(HW_REG_BG0CNT_A) & 0x3C) >> 0x2) << 0xE);
return (void *)(0x6000000 + (((READREG32(HW_REG_DISPCNT_A) & 0x7000000) >> 0x18) << 0x10) + temp);
}
-void *G2S_GetBG0CharPtr(){
+ARM_FUNC void *G2S_GetBG0CharPtr(){
return (void *)(0x6200000 + (((READREG16(HW_REG_BG0CNT_B) & 0x3C) >> 0x2) << 0xE));
}
-void *G2_GetBG1CharPtr(){
+ARM_FUNC void *G2_GetBG1CharPtr(){
u32 temp = (((READREG16(HW_REG_BG1CNT_A) & 0x3C) >> 0x2) << 0xE);
return (void *)(0x6000000 + (((READREG32(HW_REG_DISPCNT_A) & 0x7000000) >> 0x18) << 0x10) + temp);
}
-void *G2S_GetBG1CharPtr(){
+ARM_FUNC void *G2S_GetBG1CharPtr(){
return (void *)(0x6200000 + (((READREG16(HW_REG_BG1CNT_B) & 0x3C) >> 0x2) << 0xE));
}
-void *G2_GetBG2CharPtr(){
+ARM_FUNC void *G2_GetBG2CharPtr(){
s32 temp1 = (READREG32(HW_REG_DISPCNT_A) & 0x7);
u32 temp = READREG16(HW_REG_BG2CNT_A);
if (temp1 < 5 || !(temp & 0x80))
@@ -151,7 +151,7 @@ void *G2_GetBG2CharPtr(){
}
}
-void *G2S_GetBG2CharPtr(){
+ARM_FUNC void *G2S_GetBG2CharPtr(){
s32 temp1 = (READREG32(HW_REG_DISPCNT_B) & 0x7);
u32 temp = READREG16(HW_REG_BG2CNT_B);
if (temp1 < 5 || !(temp & 0x80))
@@ -165,7 +165,7 @@ void *G2S_GetBG2CharPtr(){
}
}
-void *G2_GetBG3CharPtr(){
+ARM_FUNC void *G2_GetBG3CharPtr(){
s32 temp1 = (READREG32(HW_REG_DISPCNT_A) & 0x7);
u32 temp = READREG16(HW_REG_BG3CNT_A);
if (temp1 < 3 || (temp1 < 6 && !(temp & 0x80)))
@@ -180,7 +180,7 @@ void *G2_GetBG3CharPtr(){
}
}
-void *G2S_GetBG3CharPtr(){
+ARM_FUNC void *G2S_GetBG3CharPtr(){
s32 temp1 = (READREG32(HW_REG_DISPCNT_B) & 0x7);
u32 temp = READREG16(HW_REG_BG3CNT_B);
if (temp1 < 3 || (temp1 < 6 && !(temp & 0x80)))
diff --git a/arm9/lib/src/GX_g2.c b/arm9/lib/src/GX_g2.c
index 7441e302..5bced1ef 100644
--- a/arm9/lib/src/GX_g2.c
+++ b/arm9/lib/src/GX_g2.c
@@ -2,7 +2,7 @@
#include "main.h"
#include "gx.h"
-void G2x_SetBGyAffine_(u32 *ptr, struct Mtx22 *mtx, fx32 a, fx32 b, fx32 c, fx32 d){
+ARM_FUNC void G2x_SetBGyAffine_(u32 *ptr, struct Mtx22 *mtx, fx32 a, fx32 b, fx32 c, fx32 d){
fx32 temp0, temp1, temp2, temp3;
ptr[0] = ((u16)(fx16)(mtx->_[0] >> 4) | (u16)(fx16)(mtx->_[1] >> 4)<< 0x10);
ptr[1] = ((u16)(fx16)(mtx->_[2] >> 4) | (u16)(fx16)(mtx->_[3] >> 4)<< 0x10);
@@ -14,11 +14,11 @@ void G2x_SetBGyAffine_(u32 *ptr, struct Mtx22 *mtx, fx32 a, fx32 b, fx32 c, fx32
ptr[3] = temp3 >> 4;
}
-void G2x_SetBlendAlpha_(u32 *ptr, fx32 a, fx32 b, fx32 c, fx32 d){
+ARM_FUNC void G2x_SetBlendAlpha_(u32 *ptr, fx32 a, fx32 b, fx32 c, fx32 d){
*ptr = ((a | 0x40) | (b << 0x8)) | ((c | (d << 0x8)) << 0x10);
}
-void G2x_SetBlendBrightness_(u16 *ptr, fx32 a, fx32 brightness){
+ARM_FUNC void G2x_SetBlendBrightness_(u16 *ptr, fx32 a, fx32 brightness){
if (brightness < 0)
{
ptr[0] = a | 0xC0;
@@ -31,7 +31,7 @@ void G2x_SetBlendBrightness_(u16 *ptr, fx32 a, fx32 brightness){
}
}
-void G2x_SetBlendBrightnessExt_(u16 *ptr, fx32 a, fx32 b, fx32 c, fx32 d, fx32 brightness){
+ARM_FUNC void G2x_SetBlendBrightnessExt_(u16 *ptr, fx32 a, fx32 b, fx32 c, fx32 d, fx32 brightness){
ptr[1] = c | (d << 0x8);
if (brightness < 0)
{
@@ -45,7 +45,7 @@ void G2x_SetBlendBrightnessExt_(u16 *ptr, fx32 a, fx32 b, fx32 c, fx32 d, fx32 b
}
}
-void *G2x_ChangeBlendBrightness_(u16 *ptr, fx32 brightness){
+ARM_FUNC void *G2x_ChangeBlendBrightness_(u16 *ptr, fx32 brightness){
u32 temp = *ptr;
if (brightness < 0)
{
diff --git a/arm9/lib/src/GX_g3.c b/arm9/lib/src/GX_g3.c
index 66e34dc7..eb01453d 100644
--- a/arm9/lib/src/GX_g3.c
+++ b/arm9/lib/src/GX_g3.c
@@ -3,7 +3,7 @@
#include "gx.h"
-void G3_BeginMakeDL(struct DL *displaylist, void *r1, u32 r2){
+ARM_FUNC void G3_BeginMakeDL(struct DL *displaylist, void *r1, u32 r2){
displaylist->var0C = r2;
displaylist->var08 = r1;
displaylist->var00 = r1;
@@ -11,7 +11,7 @@ void G3_BeginMakeDL(struct DL *displaylist, void *r1, u32 r2){
displaylist->var10 = 0x0;
}
-s32 G3_EndMakeDL(struct DL *displaylist){
+ARM_FUNC s32 G3_EndMakeDL(struct DL *displaylist){
if (displaylist->var08 == displaylist->var00)
return 0;
//pads the buffer with 0 to 4byte alignment if needed
diff --git a/arm9/lib/src/GX_g3_util.c b/arm9/lib/src/GX_g3_util.c
index 1cd956ad..75e18589 100644
--- a/arm9/lib/src/GX_g3_util.c
+++ b/arm9/lib/src/GX_g3_util.c
@@ -3,8 +3,7 @@
#include "gx.h"
-
-void G3i_PerspectiveW_(fx32 fovsin, fx32 fovcos, fx32 ratio, fx32 near, fx32 far, fx32 scale, u32 load, struct Mtx44 *mtx){
+ARM_FUNC void G3i_PerspectiveW_(fx32 fovsin, fx32 fovcos, fx32 ratio, fx32 near, fx32 far, fx32 scale, u32 load, struct Mtx44 *mtx){
fx32 fovcot, temp1, temp2;
fx64c temp0;
vu32 *reg_ptr;
@@ -76,7 +75,7 @@ void G3i_PerspectiveW_(fx32 fovsin, fx32 fovcos, fx32 ratio, fx32 near, fx32 far
}
}
-void G3i_OrthoW_(fx32 top, fx32 bottom, fx32 left, fx32 right, fx32 near, fx32 far, fx32 scale, u32 load, struct Mtx44 *mtx){
+ARM_FUNC void G3i_OrthoW_(fx32 top, fx32 bottom, fx32 left, fx32 right, fx32 near, fx32 far, fx32 scale, u32 load, struct Mtx44 *mtx){
fx64c temp1, temp2, temp3;
fx32 temp0, temp4, temp5;
vu32 *reg_ptr;
@@ -167,7 +166,7 @@ void G3i_OrthoW_(fx32 top, fx32 bottom, fx32 left, fx32 right, fx32 near, fx32 f
}
}
-void G3i_LookAt_(struct Vecx32 *a, struct Vecx32 *b, struct Vecx32 *c, u32 load, struct Mtx44 *mtx){
+ARM_FUNC void G3i_LookAt_(struct Vecx32 *a, struct Vecx32 *b, struct Vecx32 *c, u32 load, struct Mtx44 *mtx){
struct Vecx32 temp, temp1, temp2;
fx32 c1, c2, c3;
vu32 *reg_ptr;
@@ -218,7 +217,7 @@ void G3i_LookAt_(struct Vecx32 *a, struct Vecx32 *b, struct Vecx32 *c, u32 load,
}
}
-void G3_RotX(fx32 sinphi, fx32 cosphi){
+ARM_FUNC void G3_RotX(fx32 sinphi, fx32 cosphi){
vu32 *reg_ptr;
reg_ptr = (vu32 *)HW_REG_MTX_MULT_3x3;
*reg_ptr = 0x1000;
@@ -232,7 +231,7 @@ void G3_RotX(fx32 sinphi, fx32 cosphi){
*reg_ptr = cosphi;
}
-void G3_RotY(fx32 sinphi, fx32 cosphi){
+ARM_FUNC void G3_RotY(fx32 sinphi, fx32 cosphi){
vu32 *reg_ptr;
reg_ptr = (vu32 *)HW_REG_MTX_MULT_3x3;
*reg_ptr = cosphi;
@@ -246,7 +245,7 @@ void G3_RotY(fx32 sinphi, fx32 cosphi){
*reg_ptr = cosphi;
}
-void G3_RotZ(fx32 sinphi, fx32 cosphi){
+ARM_FUNC void G3_RotZ(fx32 sinphi, fx32 cosphi){
vu32 *reg_ptr;
reg_ptr = (vu32 *)HW_REG_MTX_MULT_3x3;
*reg_ptr = cosphi;
diff --git a/arm9/lib/src/GX_g3b.c b/arm9/lib/src/GX_g3b.c
index 0efe8518..50281ec0 100644
--- a/arm9/lib/src/GX_g3b.c
+++ b/arm9/lib/src/GX_g3b.c
@@ -3,32 +3,32 @@
#include "gx.h"
-void G3BS_LoadMtx44(struct DL *displaylist, struct Mtx44 *mtx){
+ARM_FUNC void G3BS_LoadMtx44(struct DL *displaylist, struct Mtx44 *mtx){
*(u32 *)displaylist->var00 = 0x16;
MI_Copy64B(mtx, displaylist->var04);
}
-void G3B_PushMtx(struct DL *displaylist){
+ARM_FUNC void G3B_PushMtx(struct DL *displaylist){
*(u32 *)displaylist->var00 = 0x11;
displaylist->var00 = (u8 *)displaylist->var04;
displaylist->var04 = (u32 *)displaylist->var00 + 1;
}
-void G3B_PopMtx(struct DL *displaylist, void *mtx){
+ARM_FUNC void G3B_PopMtx(struct DL *displaylist, void *mtx){
*(u32 *)displaylist->var00 = 0x12;
*displaylist->var04 = (u32)mtx;
displaylist->var00 = (u8 *)displaylist->var04 + 0x4;
displaylist->var04 = (u32 *)displaylist->var00 + 1;
}
-void G3B_LoadMtx44(struct DL *displaylist, struct Mtx44 *mtx){
+ARM_FUNC void G3B_LoadMtx44(struct DL *displaylist, struct Mtx44 *mtx){
G3BS_LoadMtx44(displaylist, mtx);
displaylist->var00 = (u8 *)displaylist->var04 + sizeof(struct Mtx44);
displaylist->var04 = (u32 *)displaylist->var00 + 1;
}
//color format is RGB555, stored in the lower bits
-void G3B_Color(struct DL * displaylist, u32 vtx_col){
+ARM_FUNC void G3B_Color(struct DL * displaylist, u32 vtx_col){
*(u32 *)displaylist->var00 = 0x20;
*displaylist->var04 = vtx_col;
displaylist->var00 = (u8 *)displaylist->var04 + 0x4;
@@ -40,14 +40,14 @@ Only feed normalized Vectors
only the fractional part and the sign, which is in the first nonfraction bit
since the vector is assumed to be normalized, are used
*/
-void G3B_Normal(struct DL * displaylist, fx16 x, fx16 y, fx16 z){
+ARM_FUNC void G3B_Normal(struct DL * displaylist, fx16 x, fx16 y, fx16 z){
*(u32 *)displaylist->var00 = 0x21;
*displaylist->var04 = ((x >> 3) & 0x3FF) | (((y >> 3) & 0x3FF) << 0xA) | (((z >> 3) & 0x3FF) << 0x14) ;
displaylist->var00 = (u8 *)displaylist->var04 + 0x4;
displaylist->var04 = (u32 *)displaylist->var00 + 1;
}
-void G3B_Vtx(struct DL * displaylist, fx32 x, fx32 y, fx32 z){
+ARM_FUNC void G3B_Vtx(struct DL * displaylist, fx32 x, fx32 y, fx32 z){
*(u32 *)displaylist->var00 = 0x23;
displaylist->var04[0] = (u32)(u16)x | (u32)(u16)y << 0x10;
displaylist->var04[1] = (u32)(u16)z;
@@ -56,14 +56,14 @@ void G3B_Vtx(struct DL * displaylist, fx32 x, fx32 y, fx32 z){
}
//TODO: name arguments
-void G3B_PolygonAttr(struct DL *displaylist, u32 r1, u32 r2, u32 r3, u32 r4, u32 r5, u32 r6){
+ARM_FUNC void G3B_PolygonAttr(struct DL *displaylist, u32 r1, u32 r2, u32 r3, u32 r4, u32 r5, u32 r6){
*(u32 *)displaylist->var00 = 0x29;
*displaylist->var04 = r1 | r2 << 0x4 | r3 << 0x6 | r6 | r4 << 0x18 | r5 << 0x10;
displaylist->var00 = (u8 *)displaylist->var04 + 0x4;
displaylist->var04 = (u32 *)displaylist->var00 + 1;
}
-void G3B_MaterialColorDiffAmb(struct DL *displaylist, u32 diffuse_col, u32 ambient_col, u32 replace){
+ARM_FUNC void G3B_MaterialColorDiffAmb(struct DL *displaylist, u32 diffuse_col, u32 ambient_col, u32 replace){
*(u32 *)displaylist->var00 = 0x30;
u32 replace_vtx_color_with_diffuse;
if (replace)
@@ -75,7 +75,7 @@ void G3B_MaterialColorDiffAmb(struct DL *displaylist, u32 diffuse_col, u32 ambie
displaylist->var04 = (u32 *)displaylist->var00 + 1;
}
-void G3B_MaterialColorSpecEmi(struct DL *displaylist, u32 specular_col, u32 emission_col, u32 shiny_table){
+ARM_FUNC void G3B_MaterialColorSpecEmi(struct DL *displaylist, u32 specular_col, u32 emission_col, u32 shiny_table){
*(u32 *)displaylist->var00 = 0x31;
u32 enable_shininess_table;
if (shiny_table)
@@ -92,28 +92,28 @@ Only feed normalized Vectors
only the fractional part and the sign, which is in the first nonfraction bit
since the vector is assumed to be normalized, are used
*/
-void G3B_LightVector(struct DL * displaylist, u32 light_num, fx16 x, fx16 y, fx16 z){
+ARM_FUNC void G3B_LightVector(struct DL * displaylist, u32 light_num, fx16 x, fx16 y, fx16 z){
*(u32 *)displaylist->var00 = 0x32;
*displaylist->var04 = ((x >> 3) & 0x3FF) | (((y >> 3) & 0x3FF) << 0xA) | (((z >> 3) & 0x3FF) << 0x14) | light_num << 0x1E;
displaylist->var00 = (u8 *)displaylist->var04 + 0x4;
displaylist->var04 = (u32 *)displaylist->var00 + 1;
}
-void G3B_LightColor(struct DL * displaylist, u32 light_num, u32 col){
+ARM_FUNC void G3B_LightColor(struct DL * displaylist, u32 light_num, u32 col){
*(u32 *)displaylist->var00 = 0x33;
*displaylist->var04 = col | light_num << 0x1E;
displaylist->var00 = (u8 *)displaylist->var04 + 0x4;
displaylist->var04 = (u32 *)displaylist->var00 + 1;
}
-void G3B_Begin(struct DL * displaylist, u32 type){
+ARM_FUNC void G3B_Begin(struct DL * displaylist, u32 type){
*(u32 *)displaylist->var00 = 0x40;
*displaylist->var04 = type;
displaylist->var00 = (u8 *)displaylist->var04 + 0x4;
displaylist->var04 = (u32 *)displaylist->var00 + 1;
}
-void G3B_End(struct DL * displaylist){
+ARM_FUNC void G3B_End(struct DL * displaylist){
*(u32 *)displaylist->var00 = 0x41;
displaylist->var00 = (u8 *)displaylist->var04;
displaylist->var04 = (u32 *)displaylist->var00 + 1;
diff --git a/arm9/lib/src/GX_g3imm.c b/arm9/lib/src/GX_g3imm.c
index f41b5cbf..f11e2927 100644
--- a/arm9/lib/src/GX_g3imm.c
+++ b/arm9/lib/src/GX_g3imm.c
@@ -2,17 +2,17 @@
#include "main.h"
#include "gx.h"
-void G3_LoadMtx43(struct Mtx43 *mtx){
+ARM_FUNC void G3_LoadMtx43(struct Mtx43 *mtx){
SETREG32(HW_REG_GXFIFO, 0x17);
GX_SendFifo48B(mtx, (void *)HW_REG_GXFIFO);
}
-void G3_MultMtx43(struct Mtx43 *mtx){
+ARM_FUNC void G3_MultMtx43(struct Mtx43 *mtx){
SETREG32(HW_REG_GXFIFO, 0x19);
GX_SendFifo48B(mtx, (void *)HW_REG_GXFIFO);
}
-void G3_MultMtx33(struct Mtx33 *mtx){
+ARM_FUNC void G3_MultMtx33(struct Mtx33 *mtx){
SETREG32(HW_REG_GXFIFO, 0x1A);
MI_Copy36B(mtx, (void *)HW_REG_GXFIFO);
}
diff --git a/arm9/lib/src/GX_g3x.c b/arm9/lib/src/GX_g3x.c
index 70c4f3fe..7ced9de6 100644
--- a/arm9/lib/src/GX_g3x.c
+++ b/arm9/lib/src/GX_g3x.c
@@ -4,7 +4,7 @@
extern u32 gUnk02106814;
-asm void GXi_NopClearFifo128_(void *reg){
+ARM_FUNC asm void GXi_NopClearFifo128_(void *reg){
mov r1, #0x0
mov r2, #0x0
mov r3, #0x0
@@ -44,7 +44,7 @@ asm void GXi_NopClearFifo128_(void *reg){
bx lr
}
-void G3X_Init(){
+ARM_FUNC void G3X_Init(){
G3X_ClearFifo();
SETREG32(HW_REG_END_VTXS, 0x0);
while (READREG32(HW_REG_GXSTAT) & 0x8000000); //wait for geometry engine to not be busy
@@ -71,7 +71,7 @@ void G3X_Init(){
SETREG32(HW_REG_PLTT_BASE, 0x0);
}
-void G3X_ResetMtxStack(){
+ARM_FUNC void G3X_ResetMtxStack(){
while (READREG32(HW_REG_GXSTAT) & 0x8000000);
SETREG32(HW_REG_GXSTAT, READREG32(HW_REG_GXSTAT) | 0x8000);
SETREG16(HW_REG_DISP3DCNT, READREG16(HW_REG_DISP3DCNT) | 0x2000);
@@ -82,12 +82,12 @@ void G3X_ResetMtxStack(){
SETREG32(HW_REG_PLTT_BASE, 0x0);
}
-void G3X_ClearFifo(){
+ARM_FUNC void G3X_ClearFifo(){
GXi_NopClearFifo128_((void *)HW_REG_GXFIFO);
while (READREG32(HW_REG_GXSTAT) & 0x8000000);
}
-void G3X_InitMtxStack(){
+ARM_FUNC void G3X_InitMtxStack(){
u32 PV_level, PJ_level;
SETREG32(HW_REG_GXSTAT, READREG32(HW_REG_GXSTAT) | 0x8000);
while (G3X_GetMtxStackLevelPV(&PV_level));
@@ -105,7 +105,7 @@ void G3X_InitMtxStack(){
SETREG32(HW_REG_MTX_IDENTITY, 0x0);
}
-void G3X_ResetMtxStack_2(){
+ARM_FUNC void G3X_ResetMtxStack_2(){
u32 PV_level, PJ_level;
SETREG32(HW_REG_GXSTAT, READREG32(HW_REG_GXSTAT) | 0x8000);
while (G3X_GetMtxStackLevelPV(&PV_level));
@@ -124,7 +124,7 @@ void G3X_ResetMtxStack_2(){
}
-void G3X_SetFog(u32 enable, u32 alphamode, u32 depth, s32 offset){
+ARM_FUNC void G3X_SetFog(u32 enable, u32 alphamode, u32 depth, s32 offset){
if (enable)
{
SETREG16(HW_REG_FOG_OFFSET, offset);
@@ -137,7 +137,7 @@ void G3X_SetFog(u32 enable, u32 alphamode, u32 depth, s32 offset){
}
}
-u32 G3X_GetClipMtx(struct Mtx44 *dst){
+ARM_FUNC u32 G3X_GetClipMtx(struct Mtx44 *dst){
if (READREG32(HW_REG_GXSTAT) & 0x8000000)
{
return -1;
@@ -149,7 +149,7 @@ u32 G3X_GetClipMtx(struct Mtx44 *dst){
}
}
-u32 G3X_GetVectorMtx(struct Mtx33 *dst){
+ARM_FUNC u32 G3X_GetVectorMtx(struct Mtx33 *dst){
if (READREG32(HW_REG_GXSTAT) & 0x8000000)
{
return -1;
@@ -161,15 +161,15 @@ u32 G3X_GetVectorMtx(struct Mtx33 *dst){
}
}
-void G3X_SetEdgeColorTable(void *tbl_ptr){
+ARM_FUNC void G3X_SetEdgeColorTable(void *tbl_ptr){
MIi_CpuCopy16(tbl_ptr, (void *)HW_REG_EDGE_COLOR, 0x10);
}
-void G3X_SetFogTable(void *tbl_ptr){
+ARM_FUNC void G3X_SetFogTable(void *tbl_ptr){
MI_Copy16B(tbl_ptr, (void *)HW_REG_FOG_TABLE);
}
-void G3X_SetClearColor(u32 col, u32 alpha, u32 depth, u32 polygon_id, u32 enable_fog){
+ARM_FUNC void G3X_SetClearColor(u32 col, u32 alpha, u32 depth, u32 polygon_id, u32 enable_fog){
u32 temp = col | (alpha << 0x10) | (polygon_id << 0x18);
if (enable_fog)
temp |= 0x8000;
@@ -177,7 +177,7 @@ void G3X_SetClearColor(u32 col, u32 alpha, u32 depth, u32 polygon_id, u32 enable
SETREG16(HW_REG_CLEAR_DEPTH, depth);
}
-void G3X_InitTable(){
+ARM_FUNC void G3X_InitTable(){
if (gUnk02106814 != -1)
{
MI_DmaFill32Async(gUnk02106814, (void *)HW_REG_EDGE_COLOR, 0x0, 0x10, 0x0, 0x0);
@@ -194,7 +194,7 @@ void G3X_InitTable(){
}
}
-u32 G3X_GetMtxStackLevelPV(u32 *level){
+ARM_FUNC u32 G3X_GetMtxStackLevelPV(u32 *level){
if (READREG32(HW_REG_GXSTAT) & 0x4000)
{
return -1;
@@ -206,7 +206,7 @@ u32 G3X_GetMtxStackLevelPV(u32 *level){
}
}
-u32 G3X_GetMtxStackLevelPJ(u32 *level){
+ARM_FUNC u32 G3X_GetMtxStackLevelPJ(u32 *level){
if (READREG32(HW_REG_GXSTAT) & 0x4000)
{
return -1;
@@ -218,7 +218,7 @@ u32 G3X_GetMtxStackLevelPJ(u32 *level){
}
}
-u32 G3X_GetBoxTestResult(u32 *result){
+ARM_FUNC u32 G3X_GetBoxTestResult(u32 *result){
if (READREG32(HW_REG_GXSTAT) & 0x1)
{
return -1;
@@ -230,6 +230,6 @@ u32 G3X_GetBoxTestResult(u32 *result){
}
}
-void G3X_SetHOffset(u32 offset){
+ARM_FUNC void G3X_SetHOffset(u32 offset){
SETREG32(HW_REG_BG0HOFS, offset);
}
diff --git a/arm9/lib/src/GX_load2d.c b/arm9/lib/src/GX_load2d.c
index 9ebf24cc..972babad 100644
--- a/arm9/lib/src/GX_load2d.c
+++ b/arm9/lib/src/GX_load2d.c
@@ -20,121 +20,121 @@ static inline void *_GXS_OBJ_PTR(){
return (void *)0x6600000;
}
-void GX_LoadBGPltt(void *src, u32 offset, u32 size){
+ARM_FUNC void GX_LoadBGPltt(void *src, u32 offset, u32 size){
_GX_Load_16(gUnk02106814, src, (void *)(0x5000000 + offset), size);
}
-void GXS_LoadBGPltt(void *src, u32 offset, u32 size){
+ARM_FUNC void GXS_LoadBGPltt(void *src, u32 offset, u32 size){
_GX_Load_16(gUnk02106814, src, (void *)(0x5000400 + offset), size);
}
-void GX_LoadOBJPltt(void *src, u32 offset, u32 size){
+ARM_FUNC void GX_LoadOBJPltt(void *src, u32 offset, u32 size){
_GX_Load_16(gUnk02106814, src, (void *)(0x5000200 + offset), size);
}
-void GXS_LoadOBJPltt(void *src, u32 offset, u32 size){
+ARM_FUNC void GXS_LoadOBJPltt(void *src, u32 offset, u32 size){
_GX_Load_16(gUnk02106814, src, (void *)(0x5000600 + offset), size);
}
-void GX_LoadOAM(void *src, u32 offset, u32 size){
+ARM_FUNC void GX_LoadOAM(void *src, u32 offset, u32 size){
_GX_Load_32(gUnk02106814, src, (void *)(0x7000000 + offset), size);
}
-void GXS_LoadOAM(void *src, u32 offset, u32 size){
+ARM_FUNC void GXS_LoadOAM(void *src, u32 offset, u32 size){
_GX_Load_32(gUnk02106814, src, (void *)(0x7000400 + offset), size);
}
-void GX_LoadOBJ(void *src, u32 offset, u32 size){
+ARM_FUNC void GX_LoadOBJ(void *src, u32 offset, u32 size){
u32 base = (u32)_GX_OBJ_PTR();
_GX_Load_32(gUnk02106814, src, (void *)(base + offset), size);
}
-void GXS_LoadOBJ(void *src, u32 offset, u32 size){
+ARM_FUNC void GXS_LoadOBJ(void *src, u32 offset, u32 size){
u32 base = (u32)_GXS_OBJ_PTR();
_GX_Load_32(gUnk02106814, src, (void *)(base + offset), size);
}
-void GX_LoadBG0Scr(void *src, u32 offset, u32 size){
+ARM_FUNC void GX_LoadBG0Scr(void *src, u32 offset, u32 size){
u32 base = (u32)G2_GetBG0ScrPtr();
_GX_Load_16(gUnk02106814, src, (void *)(base + offset), size);
}
-void GXS_LoadBG0Scr(void *src, u32 offset, u32 size){
+ARM_FUNC void GXS_LoadBG0Scr(void *src, u32 offset, u32 size){
u32 base = (u32)G2S_GetBG0ScrPtr();
_GX_Load_16(gUnk02106814, src, (void *)(base + offset), size);
}
-void GX_LoadBG1Scr(void *src, u32 offset, u32 size){
+ARM_FUNC void GX_LoadBG1Scr(void *src, u32 offset, u32 size){
u32 base = (u32)G2_GetBG1ScrPtr();
_GX_Load_16(gUnk02106814, src, (void *)(base + offset), size);
}
-void GXS_LoadBG1Scr(void *src, u32 offset, u32 size){
+ARM_FUNC void GXS_LoadBG1Scr(void *src, u32 offset, u32 size){
u32 base = (u32)G2S_GetBG1ScrPtr();
_GX_Load_16(gUnk02106814, src, (void *)(base + offset), size);
}
-void GX_LoadBG2Scr(void *src, u32 offset, u32 size){
+ARM_FUNC void GX_LoadBG2Scr(void *src, u32 offset, u32 size){
u32 base = (u32)G2_GetBG2ScrPtr();
_GX_Load_16(gUnk02106814, src, (void *)(base + offset), size);
}
-void GXS_LoadBG2Scr(void *src, u32 offset, u32 size){
+ARM_FUNC void GXS_LoadBG2Scr(void *src, u32 offset, u32 size){
u32 base = (u32)G2S_GetBG2ScrPtr();
_GX_Load_16(gUnk02106814, src, (void *)(base + offset), size);
}
-void GX_LoadBG3Scr(void *src, u32 offset, u32 size){
+ARM_FUNC void GX_LoadBG3Scr(void *src, u32 offset, u32 size){
u32 base = (u32)G2_GetBG3ScrPtr();
_GX_Load_16(gUnk02106814, src, (void *)(base + offset), size);
}
-void GXS_LoadBG3Scr(void *src, u32 offset, u32 size){
+ARM_FUNC void GXS_LoadBG3Scr(void *src, u32 offset, u32 size){
u32 base = (u32)G2S_GetBG3ScrPtr();
_GX_Load_16(gUnk02106814, src, (void *)(base + offset), size);
}
-void GX_LoadBG0Char(void *src, u32 offset, u32 size){
+ARM_FUNC void GX_LoadBG0Char(void *src, u32 offset, u32 size){
u32 base = (u32)G2_GetBG0CharPtr();
_GX_Load_32(gUnk02106814, src, (void *)(base + offset), size);
}
-void GXS_LoadBG0Char(void *src, u32 offset, u32 size){
+ARM_FUNC void GXS_LoadBG0Char(void *src, u32 offset, u32 size){
u32 base = (u32)G2S_GetBG0CharPtr();
_GX_Load_32(gUnk02106814, src, (void *)(base + offset), size);
}
-void GX_LoadBG1Char(void *src, u32 offset, u32 size){
+ARM_FUNC void GX_LoadBG1Char(void *src, u32 offset, u32 size){
u32 base = (u32)G2_GetBG1CharPtr();
_GX_Load_32(gUnk02106814, src, (void *)(base + offset), size);
}
-void GXS_LoadBG1Char(void *src, u32 offset, u32 size){
+ARM_FUNC void GXS_LoadBG1Char(void *src, u32 offset, u32 size){
u32 base = (u32)G2S_GetBG1CharPtr();
_GX_Load_32(gUnk02106814, src, (void *)(base + offset), size);
}
-void GX_LoadBG2Char(void *src, u32 offset, u32 size){
+ARM_FUNC void GX_LoadBG2Char(void *src, u32 offset, u32 size){
u32 base = (u32)G2_GetBG2CharPtr();
_GX_Load_32(gUnk02106814, src, (void *)(base + offset), size);
}
-void GXS_LoadBG2Char(void *src, u32 offset, u32 size){
+ARM_FUNC void GXS_LoadBG2Char(void *src, u32 offset, u32 size){
u32 base = (u32)G2S_GetBG2CharPtr();
_GX_Load_32(gUnk02106814, src, (void *)(base + offset), size);
}
-void GX_LoadBG3Char(void *src, u32 offset, u32 size){
+ARM_FUNC void GX_LoadBG3Char(void *src, u32 offset, u32 size){
u32 base = (u32)G2_GetBG3CharPtr();
_GX_Load_32(gUnk02106814, src, (void *)(base + offset), size);
}
-void GXS_LoadBG3Char(void *src, u32 offset, u32 size){
+ARM_FUNC void GXS_LoadBG3Char(void *src, u32 offset, u32 size){
u32 base = (u32)G2S_GetBG3CharPtr();
_GX_Load_32(gUnk02106814, src, (void *)(base + offset), size);
}
-void GX_BeginLoadBGExtPltt(){
+ARM_FUNC void GX_BeginLoadBGExtPltt(){
gUnk021D33F4 = GX_ResetBankForBGExtPltt();
switch (gUnk021D33F4)
{
@@ -156,11 +156,11 @@ void GX_BeginLoadBGExtPltt(){
}
}
-void GX_LoadBGExtPltt(void *src, u32 offset, u32 size){
+ARM_FUNC void GX_LoadBGExtPltt(void *src, u32 offset, u32 size){
_GX_Load_32_Async(gUnk02106814, src, (void *)(gUnk021D33F0 + offset - gUnk021D33EC), size, NULL, NULL);
}
-void GX_EndLoadBGExtPltt(){
+ARM_FUNC void GX_EndLoadBGExtPltt(){
if (gUnk02106814 != -1)
MI_WaitDma(gUnk02106814);
GX_SetBankForBGExtPltt(gUnk021D33F4);
@@ -169,7 +169,7 @@ void GX_EndLoadBGExtPltt(){
gUnk021D33EC = 0x0;
}
-void GX_BeginLoadOBJExtPltt(){
+ARM_FUNC void GX_BeginLoadOBJExtPltt(){
gUnk021D33E8 = GX_ResetBankForOBJExtPltt();
switch (gUnk021D33E8)
{
@@ -184,11 +184,11 @@ void GX_BeginLoadOBJExtPltt(){
}
}
-void GX_LoadOBJExtPltt(void *src, u32 offset, u32 size){
+ARM_FUNC void GX_LoadOBJExtPltt(void *src, u32 offset, u32 size){
_GX_Load_32_Async(gUnk02106814, src, (void *)(gUnk021D33E4 + offset), size, NULL, NULL);
}
-void GX_EndLoadOBJExtPltt(){
+ARM_FUNC void GX_EndLoadOBJExtPltt(){
if (gUnk02106814 != -1)
MI_WaitDma(gUnk02106814);
GX_SetBankForOBJExtPltt(gUnk021D33E8);
@@ -196,30 +196,30 @@ void GX_EndLoadOBJExtPltt(){
gUnk021D33E4 = 0x0;
}
-void GXS_BeginLoadBGExtPltt(){
+ARM_FUNC void GXS_BeginLoadBGExtPltt(){
gUnk021D33E0 = FUN_020C6034();
}
-void GXS_LoadBGExtPltt(void *src, u32 offset, u32 size){
+ARM_FUNC void GXS_LoadBGExtPltt(void *src, u32 offset, u32 size){
_GX_Load_32_Async(gUnk02106814, src, (void *)(0x06898000 + offset), size, NULL, NULL);
}
-void GXS_EndLoadBGExtPltt(){
+ARM_FUNC void GXS_EndLoadBGExtPltt(){
if (gUnk02106814 != -1)
MI_WaitDma(gUnk02106814);
GX_SetBankForSubBGExtPltt(gUnk021D33E0);
gUnk021D33E0 = 0x0;
}
-void GXS_BeginLoadOBJExtPltt(){
+ARM_FUNC void GXS_BeginLoadOBJExtPltt(){
gUnk021D33F8 = GX_ResetBankForSubOBJ();
}
-void GXS_LoadOBJExtPltt(void *src, u32 offset, u32 size){
+ARM_FUNC void GXS_LoadOBJExtPltt(void *src, u32 offset, u32 size){
_GX_Load_32_Async(gUnk02106814, src, (void *)(0x068A0000 + offset), size, NULL, NULL);
}
-void GXS_EndLoadOBJExtPltt(){
+ARM_FUNC void GXS_EndLoadOBJExtPltt(){
if (gUnk02106814 != -1)
MI_WaitDma(gUnk02106814);
GX_SetBankForSubOBJExtPltt(gUnk021D33F8);
diff --git a/arm9/lib/src/GX_load3d.c b/arm9/lib/src/GX_load3d.c
index bad119fd..ee7502db 100644
--- a/arm9/lib/src/GX_load3d.c
+++ b/arm9/lib/src/GX_load3d.c
@@ -21,7 +21,7 @@ extern u16 gUnk02103B3C[];
extern s32 gUnk021D33FC;
extern u32 gUnk021D340C;
-void GX_BeginLoadTex(){
+ARM_FUNC void GX_BeginLoadTex(){
u32 temp = GX_ResetBankForTex();
gUnk021D3410 = temp;
gUnk021D3400 = gUnk02103B4C[temp * 3] << 0xC;
@@ -29,7 +29,7 @@ void GX_BeginLoadTex(){
gUnk021D3418 = gUnk02103B50[temp * 3] << 0xC;
}
-void GX_LoadTex(void *src, u32 offset, u32 size){
+ARM_FUNC void GX_LoadTex(void *src, u32 offset, u32 size){
void *temp;
if (!gUnk021D3414)
{
@@ -58,7 +58,7 @@ void GX_LoadTex(void *src, u32 offset, u32 size){
_GX_Load_32_Async(gUnk02106814, src, temp, size, NULL, NULL);
}
-void GX_EndLoadTex(){
+ARM_FUNC void GX_EndLoadTex(){
if (gUnk02106814 != -1)
MI_WaitDma(gUnk02106814);
GX_SetBankForTex(gUnk021D3410);
@@ -68,17 +68,17 @@ void GX_EndLoadTex(){
gUnk021D3410 = 0x0;
}
-void GX_BeginLoadTexPltt(){
+ARM_FUNC void GX_BeginLoadTexPltt(){
s32 temp = GX_ResetBankForTexPltt();
gUnk021D3408 = temp;
gUnk021D3404 = gUnk02103B3C[temp >> 4] << 0xC;
}
-void GX_LoadTexPltt(void *src, u32 offset, u32 size){
+ARM_FUNC void GX_LoadTexPltt(void *src, u32 offset, u32 size){
_GX_Load_32_Async(gUnk02106814, src, (void *)(gUnk021D3404 + offset), size, NULL, NULL);
}
-void GX_EndLoadTexPltt(){
+ARM_FUNC void GX_EndLoadTexPltt(){
if (gUnk02106814 != -1)
MI_WaitDma(gUnk02106814);
GX_SetBankForTexPltt(gUnk021D3408);
@@ -86,7 +86,7 @@ void GX_EndLoadTexPltt(){
gUnk021D3404 = 0x0;
}
-void GX_BeginLoadClearImage(){
+ARM_FUNC void GX_BeginLoadClearImage(){
s32 temp = GX_ResetBankForClearImage();
gUnk021D33FC = temp;
switch (temp)
@@ -107,15 +107,15 @@ void GX_BeginLoadClearImage(){
}
}
-void GX_LoadClearImageColor(void *src, u32 size){
+ARM_FUNC void GX_LoadClearImageColor(void *src, u32 size){
_GX_Load_32_Async(gUnk02106814, src, (void *)(gUnk021D340C), size, NULL, NULL);
}
-void GX_LoadClearImageDepth(void *src, u32 size){
+ARM_FUNC void GX_LoadClearImageDepth(void *src, u32 size){
_GX_Load_32_Async(gUnk02106814, src, (void *)(gUnk021D340C + 0x20000), size, NULL, NULL);
}
-void GX_EndLoadClearImage(){
+ARM_FUNC void GX_EndLoadClearImage(){
if (gUnk02106814 != -1)
MI_WaitDma(gUnk02106814);
GX_SetBankForClearImage(gUnk021D33FC);
diff --git a/arm9/lib/src/GX_state.c b/arm9/lib/src/GX_state.c
index 52d3c6f5..38968523 100644
--- a/arm9/lib/src/GX_state.c
+++ b/arm9/lib/src/GX_state.c
@@ -4,7 +4,7 @@
extern struct VRAM_banks gUnk021D33C4;
-void GX_InitGXState(){
+ARM_FUNC void GX_InitGXState(){
gUnk021D33C4.var00 = 0x0;
gUnk021D33C4.var02 = 0x0;
gUnk021D33C4.var04 = 0x0;
diff --git a/arm9/lib/src/GX_vramcnt.c b/arm9/lib/src/GX_vramcnt.c
index d0ac5f7a..24862470 100644
--- a/arm9/lib/src/GX_vramcnt.c
+++ b/arm9/lib/src/GX_vramcnt.c
@@ -5,7 +5,7 @@
extern u16 gUnk021D33BC;
extern struct VRAM_banks gUnk021D33C4;
-void GX_VRAMCNT_SetLCDC_(u32 mask){
+ARM_FUNC void GX_VRAMCNT_SetLCDC_(u32 mask){
if (mask & (0x1 << 0))
SETREG8(HW_REG_VRAMCNT_A, 0x80);
if (mask & (0x1 << 1))
@@ -26,7 +26,7 @@ void GX_VRAMCNT_SetLCDC_(u32 mask){
SETREG8(HW_REG_VRAMCNT_I, 0x80);
}
-void GX_SetBankForBG(s32 bg){
+ARM_FUNC void GX_SetBankForBG(s32 bg){
gUnk021D33C4.var00 = (u16)(~bg & (gUnk021D33C4.var00 | gUnk021D33C4.var02));
gUnk021D33C4.var02 = bg;
switch (bg)
@@ -99,7 +99,7 @@ void GX_SetBankForBG(s32 bg){
GX_VRAMCNT_SetLCDC_(gUnk021D33C4.var00);
}
-void GX_SetBankForOBJ(s32 obj){
+ARM_FUNC void GX_SetBankForOBJ(s32 obj){
gUnk021D33C4.var00 = (u16)(~obj & (gUnk021D33C4.var00 | gUnk021D33C4.var04));
gUnk021D33C4.var04 = obj;
switch (obj)
@@ -138,7 +138,7 @@ void GX_SetBankForOBJ(s32 obj){
GX_VRAMCNT_SetLCDC_(gUnk021D33C4.var00);
}
-void GX_SetBankForBGExtPltt(s32 bgextpltt){
+ARM_FUNC void GX_SetBankForBGExtPltt(s32 bgextpltt){
gUnk021D33C4.var00 = (u16)(~bgextpltt & (gUnk021D33C4.var00 | gUnk021D33C4.var0E));
gUnk021D33C4.var0E = bgextpltt;
switch (bgextpltt)
@@ -164,7 +164,7 @@ void GX_SetBankForBGExtPltt(s32 bgextpltt){
GX_VRAMCNT_SetLCDC_(gUnk021D33C4.var00);
}
-void GX_SetBankForOBJExtPltt(s32 objextpltt){
+ARM_FUNC void GX_SetBankForOBJExtPltt(s32 objextpltt){
gUnk021D33C4.var00 = (u16)(~objextpltt & (gUnk021D33C4.var00 | gUnk021D33C4.var10));
gUnk021D33C4.var10 = objextpltt;
switch (objextpltt)
@@ -184,7 +184,7 @@ void GX_SetBankForOBJExtPltt(s32 objextpltt){
GX_VRAMCNT_SetLCDC_(gUnk021D33C4.var00);
}
-void GX_SetBankForTex(s32 tex){
+ARM_FUNC void GX_SetBankForTex(s32 tex){
gUnk021D33C4.var00 = (u16)(~tex & (gUnk021D33C4.var00 | gUnk021D33C4.var08));
gUnk021D33C4.var08 = tex;
if (tex == 0)
@@ -247,7 +247,7 @@ void GX_SetBankForTex(s32 tex){
GX_VRAMCNT_SetLCDC_(gUnk021D33C4.var00);
}
-void GX_SetBankForTexPltt(s32 texpltt){
+ARM_FUNC void GX_SetBankForTexPltt(s32 texpltt){
gUnk021D33C4.var00 = (u16)(~texpltt & (gUnk021D33C4.var00 | gUnk021D33C4.var0A));
gUnk021D33C4.var0A = texpltt;
switch (texpltt)
@@ -273,7 +273,7 @@ void GX_SetBankForTexPltt(s32 texpltt){
GX_VRAMCNT_SetLCDC_(gUnk021D33C4.var00);
}
-void GX_SetBankForClearImage(s32 clearimage){
+ARM_FUNC void GX_SetBankForClearImage(s32 clearimage){
gUnk021D33C4.var00 = (u16)(~clearimage & (gUnk021D33C4.var00 | gUnk021D33C4.var0C));
gUnk021D33C4.var0C = clearimage;
switch (clearimage)
@@ -304,7 +304,7 @@ void GX_SetBankForClearImage(s32 clearimage){
GX_VRAMCNT_SetLCDC_(gUnk021D33C4.var00);
}
-void GX_SetBankForARM7(s32 arm7){
+ARM_FUNC void GX_SetBankForARM7(s32 arm7){
gUnk021D33C4.var00 = (u16)(~arm7 & (gUnk021D33C4.var00 | gUnk021D33C4.var06));
gUnk021D33C4.var06 = arm7;
switch (arm7)
@@ -324,12 +324,12 @@ void GX_SetBankForARM7(s32 arm7){
GX_VRAMCNT_SetLCDC_(gUnk021D33C4.var00);
}
-void GX_SetBankForLCDC(s32 lcdc){
+ARM_FUNC void GX_SetBankForLCDC(s32 lcdc){
gUnk021D33C4.var00 |= lcdc;
GX_VRAMCNT_SetLCDC_(lcdc);
}
-void GX_SetBankForSubBG(s32 subbg){
+ARM_FUNC void GX_SetBankForSubBG(s32 subbg){
gUnk021D33C4.var00 = (u16)(~subbg & (gUnk021D33C4.var00 | gUnk021D33C4.var12));
gUnk021D33C4.var12 = subbg;
switch (subbg)
@@ -348,7 +348,7 @@ void GX_SetBankForSubBG(s32 subbg){
}
-void GX_SetBankForSubOBJ(s32 subobj){
+ARM_FUNC void GX_SetBankForSubOBJ(s32 subobj){
gUnk021D33C4.var00 = (u16)(~subobj & (gUnk021D33C4.var00 | gUnk021D33C4.var14));
gUnk021D33C4.var14 = subobj;
switch (subobj)
@@ -365,7 +365,7 @@ void GX_SetBankForSubOBJ(s32 subobj){
GX_VRAMCNT_SetLCDC_(gUnk021D33C4.var00);
}
-void GX_SetBankForSubBGExtPltt(s32 subbgextpltt){
+ARM_FUNC void GX_SetBankForSubBGExtPltt(s32 subbgextpltt){
gUnk021D33C4.var00 = (u16)(~subbgextpltt & (gUnk021D33C4.var00 | gUnk021D33C4.var16));
gUnk021D33C4.var16 = subbgextpltt;
switch (subbgextpltt)
@@ -381,7 +381,7 @@ void GX_SetBankForSubBGExtPltt(s32 subbgextpltt){
GX_VRAMCNT_SetLCDC_(gUnk021D33C4.var00);
}
-void GX_SetBankForSubOBJExtPltt(s32 subobjextpltt){
+ARM_FUNC void GX_SetBankForSubOBJExtPltt(s32 subobjextpltt){
gUnk021D33C4.var00 = (u16)(~subobjextpltt & (gUnk021D33C4.var00 | gUnk021D33C4.var18));
gUnk021D33C4.var18 = subobjextpltt;
switch (subobjextpltt)
@@ -397,7 +397,7 @@ void GX_SetBankForSubOBJExtPltt(s32 subobjextpltt){
GX_VRAMCNT_SetLCDC_(gUnk021D33C4.var00);
}
-u32 FUN_020C6130(u16 *ptr){
+ARM_FUNC u32 FUN_020C6130(u16 *ptr){
u16 temp = *ptr;
*ptr = 0;
gUnk021D33C4.var00 |= temp;
@@ -405,55 +405,55 @@ u32 FUN_020C6130(u16 *ptr){
return temp;
}
-u32 GX_ResetBankForBG(){
+ARM_FUNC u32 GX_ResetBankForBG(){
return FUN_020C6130(&gUnk021D33C4.var02);
}
-u32 GX_ResetBankForOBJ(){
+ARM_FUNC u32 GX_ResetBankForOBJ(){
return FUN_020C6130(&gUnk021D33C4.var04);
}
-u32 GX_ResetBankForBGExtPltt(){
+ARM_FUNC u32 GX_ResetBankForBGExtPltt(){
SETREG32(HW_REG_DISPCNT, READREG32(HW_REG_DISPCNT) & ~0x40000000);
return FUN_020C6130(&gUnk021D33C4.var0E);
}
-u32 GX_ResetBankForOBJExtPltt(){
+ARM_FUNC u32 GX_ResetBankForOBJExtPltt(){
SETREG32(HW_REG_DISPCNT, READREG32(HW_REG_DISPCNT) & ~0x80000000);
return FUN_020C6130(&gUnk021D33C4.var10);
}
-u32 GX_ResetBankForTex(){
+ARM_FUNC u32 GX_ResetBankForTex(){
return FUN_020C6130(&gUnk021D33C4.var08);
}
-u32 GX_ResetBankForTexPltt(){
+ARM_FUNC u32 GX_ResetBankForTexPltt(){
return FUN_020C6130(&gUnk021D33C4.var0A);
}
-u32 GX_ResetBankForClearImage(){
+ARM_FUNC u32 GX_ResetBankForClearImage(){
return FUN_020C6130(&gUnk021D33C4.var0C);
}
-u32 GX_ResetBankForSubBG(){
+ARM_FUNC u32 GX_ResetBankForSubBG(){
return FUN_020C6130(&gUnk021D33C4.var12);
}
-u32 FUN_020C605C(){
+ARM_FUNC u32 FUN_020C605C(){
return FUN_020C6130(&gUnk021D33C4.var14);
}
-u32 FUN_020C6034(){
+ARM_FUNC u32 FUN_020C6034(){
SETREG32(HW_REG_DISPCNT_2D, READREG32(HW_REG_DISPCNT_2D) & ~0x40000000);
return FUN_020C6130(&gUnk021D33C4.var16);
}
-u32 GX_ResetBankForSubOBJ(){
+ARM_FUNC u32 GX_ResetBankForSubOBJ(){
SETREG32(HW_REG_DISPCNT_2D, READREG32(HW_REG_DISPCNT_2D) & ~0x80000000);
return FUN_020C6130(&gUnk021D33C4.var18);
}
-u32 FUN_020C5F28(u16 *ptr){
+ARM_FUNC u32 FUN_020C5F28(u16 *ptr){
u32 temp = *ptr;
*ptr = 0;
if (temp & (0x1 << 0))
@@ -478,102 +478,102 @@ u32 FUN_020C5F28(u16 *ptr){
return temp;
}
-u32 disableBankForX_(){
+ARM_FUNC u32 disableBankForX_(){
return FUN_020C5F28(&gUnk021D33C4.var02);
}
-u32 GX_DisableBankForOBJExtPltt_2(){
+ARM_FUNC u32 GX_DisableBankForOBJExtPltt_2(){
return FUN_020C5F28(&gUnk021D33C4.var04);
}
-u32 GX_DisableBankForBGExtPltt(){
+ARM_FUNC u32 GX_DisableBankForBGExtPltt(){
SETREG32(HW_REG_DISPCNT, READREG32(HW_REG_DISPCNT) & ~0x40000000);
return FUN_020C5F28(&gUnk021D33C4.var0E);
}
-u32 GX_DisableBankForOBJExtPltt(){
+ARM_FUNC u32 GX_DisableBankForOBJExtPltt(){
SETREG32(HW_REG_DISPCNT, READREG32(HW_REG_DISPCNT) & ~0x80000000);
return FUN_020C5F28(&gUnk021D33C4.var10);
}
-u32 GX_DisableBankForTexPltt_2(){
+ARM_FUNC u32 GX_DisableBankForTexPltt_2(){
return FUN_020C5F28(&gUnk021D33C4.var08);
}
-u32 GX_DisableBankForTexPltt(){
+ARM_FUNC u32 GX_DisableBankForTexPltt(){
return FUN_020C5F28(&gUnk021D33C4.var0A);
}
-u32 GX_DisableBankForClearImage(){
+ARM_FUNC u32 GX_DisableBankForClearImage(){
return FUN_020C5F28(&gUnk021D33C4.var0C);
}
-u32 GX_DisableBankForARM7(){
+ARM_FUNC u32 GX_DisableBankForARM7(){
return FUN_020C5F28(&gUnk021D33C4.var06);
}
-u32 GX_DisableBankForLCDC(){
+ARM_FUNC u32 GX_DisableBankForLCDC(){
return FUN_020C5F28(&gUnk021D33C4.var00);
}
-u32 GX_DisableBankForSubBGExtPltt(){
+ARM_FUNC u32 GX_DisableBankForSubBGExtPltt(){
return FUN_020C5F28(&gUnk021D33C4.var12);
}
-u32 GX_DisableBankForSubOBJExtPltt_2(){
+ARM_FUNC u32 GX_DisableBankForSubOBJExtPltt_2(){
return FUN_020C5F28(&gUnk021D33C4.var14);
}
-u32 FUN_020C5E04(){
+ARM_FUNC u32 FUN_020C5E04(){
SETREG32(HW_REG_DISPCNT_2D, READREG32(HW_REG_DISPCNT_2D) & ~0x40000000);
return FUN_020C5F28(&gUnk021D33C4.var16);
}
-u32 GX_DisableBankForSubOBJExtPltt(){
+ARM_FUNC u32 GX_DisableBankForSubOBJExtPltt(){
SETREG32(HW_REG_DISPCNT_2D, READREG32(HW_REG_DISPCNT_2D) & ~0x80000000);
return FUN_020C5F28(&gUnk021D33C4.var18);
}
-u32 GX_GetBankForBGExtPltt_2(){
+ARM_FUNC u32 GX_GetBankForBGExtPltt_2(){
return gUnk021D33C4.var02;
}
-u32 GX_GetBankForOBJ(){
+ARM_FUNC u32 GX_GetBankForOBJ(){
return gUnk021D33C4.var04;
}
-u32 GX_GetBankForBGExtPltt(){
+ARM_FUNC u32 GX_GetBankForBGExtPltt(){
return gUnk021D33C4.var0E;
}
-u32 GX_GetBankForOBJExtPltt(){
+ARM_FUNC u32 GX_GetBankForOBJExtPltt(){
return gUnk021D33C4.var10;
}
-u32 FUN_020C5D8C(){
+ARM_FUNC u32 FUN_020C5D8C(){
return gUnk021D33C4.var08;
}
-u32 GX_GetBankForTexPltt(){
+ARM_FUNC u32 GX_GetBankForTexPltt(){
return gUnk021D33C4.var0A;
}
-u32 GX_GetBankForLCDC(){
+ARM_FUNC u32 GX_GetBankForLCDC(){
return gUnk021D33C4.var00;
}
-u32 GX_GetBankForSubBGExtPltt_2(){
+ARM_FUNC u32 GX_GetBankForSubBGExtPltt_2(){
return gUnk021D33C4.var12;
}
-u32 GX_GetBankForSubOBJ(){
+ARM_FUNC u32 GX_GetBankForSubOBJ(){
return gUnk021D33C4.var14;
}
-u32 GX_GetBankForSubBGExtPltt(){
+ARM_FUNC u32 GX_GetBankForSubBGExtPltt(){
return gUnk021D33C4.var16;
}
-u32 GX_GetBankForSubOBJExtPltt(){
+ARM_FUNC u32 GX_GetBankForSubOBJExtPltt(){
return gUnk021D33C4.var18;
}