diff options
author | Made <made111@gmx.de> | 2020-05-15 04:14:48 +0200 |
---|---|---|
committer | Made <made111@gmx.de> | 2020-05-15 04:14:48 +0200 |
commit | a92d77224c8ec645752a56aa35cc8a8457cd4cd3 (patch) | |
tree | 15fb509ba7a18930d8b546b6c591fd0d4fd9d92f | |
parent | 08e4b4f6657bac9d361a9f6948ae6d2bfe50eebf (diff) |
Add ARM_FUNC to GX
-rw-r--r-- | arm9/lib/src/GX.c | 16 | ||||
-rw-r--r-- | arm9/lib/src/GX_bgcnt.c | 32 | ||||
-rw-r--r-- | arm9/lib/src/GX_g2.c | 10 | ||||
-rw-r--r-- | arm9/lib/src/GX_g3.c | 4 | ||||
-rw-r--r-- | arm9/lib/src/GX_g3_util.c | 13 | ||||
-rw-r--r-- | arm9/lib/src/GX_g3b.c | 28 | ||||
-rw-r--r-- | arm9/lib/src/GX_g3imm.c | 6 | ||||
-rw-r--r-- | arm9/lib/src/GX_g3x.c | 34 | ||||
-rw-r--r-- | arm9/lib/src/GX_load2d.c | 72 | ||||
-rw-r--r-- | arm9/lib/src/GX_load3d.c | 20 | ||||
-rw-r--r-- | arm9/lib/src/GX_state.c | 2 | ||||
-rw-r--r-- | arm9/lib/src/GX_vramcnt.c | 102 |
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; } |