diff options
| author | rozlette <uberpanzermensch@gmail.com> | 2018-11-16 22:14:07 -0600 |
|---|---|---|
| committer | rozlette <uberpanzermensch@gmail.com> | 2018-11-16 22:14:07 -0600 |
| commit | dffd1873049b713938f1dd6cfe6fea823baad3fd (patch) | |
| tree | db0fc876b32ca58f16e871cce486298deffbe0e3 /src/boot_O2_g3 | |
| parent | 31342be30b66c49d8459e2180cf18ea76bee67a1 (diff) | |
Use hex instead of decimal
Diffstat (limited to 'src/boot_O2_g3')
| -rw-r--r-- | src/boot_O2_g3/boot_0x80080790.c | 109 |
1 files changed, 54 insertions, 55 deletions
diff --git a/src/boot_O2_g3/boot_0x80080790.c b/src/boot_O2_g3/boot_0x80080790.c index b19dbac83..2458133ea 100644 --- a/src/boot_O2_g3/boot_0x80080790.c +++ b/src/boot_O2_g3/boot_0x80080790.c @@ -3,40 +3,40 @@ s32 func_80080790(void* a0, void* a1, s32 a2) { u32 spPad; - OSIoMesg sp96; - OSMesgQueue sp72; - OSMesg sp68; + OSIoMesg sp60; + OSMesgQueue sp48; + OSMesg sp44; s32 ret; u32 s0 = D_80096B50; osInvalDCache(a1, a2); - osCreateMesgQueue(&sp72, &sp68, 1); + osCreateMesgQueue(&sp48, &sp44, 1); if (s0 != 0) { while (s0 < a2) { - sp96.hdr.pri = 0; - sp96.hdr.retQueue = &sp72; - sp96.devAddr = (u32)a0; - sp96.dramAddr = a1; - sp96.size = s0; - ret = osEPiStartDma(D_80096B40, &sp96, 0); + sp60.hdr.pri = 0; + sp60.hdr.retQueue = &sp48; + sp60.devAddr = (u32)a0; + sp60.dramAddr = a1; + sp60.size = s0; + ret = osEPiStartDma(D_80096B40, &sp60, 0); if (ret) goto END; - osRecvMesg(&sp72, NULL, 1); + osRecvMesg(&sp48, NULL, 1); a2 -= s0; a0 = (u8*)a0 + s0; a1 = (u8*)a1 + s0; } } - sp96.hdr.pri = 0; - sp96.hdr.retQueue = &sp72; - sp96.devAddr = (u32)a0; - sp96.dramAddr = a1; - sp96.size = (u32)a2; - ret = osEPiStartDma(D_80096B40, &sp96, 0); + sp60.hdr.pri = 0; + sp60.hdr.retQueue = &sp48; + sp60.devAddr = (u32)a0; + sp60.dramAddr = a1; + sp60.size = (u32)a2; + ret = osEPiStartDma(D_80096B40, &sp60, 0); if (ret) goto END; - osRecvMesg(&sp72, NULL, 1); + osRecvMesg(&sp48, NULL, 1); osInvalDCache(a1, a2); @@ -83,7 +83,6 @@ s32 func_800809BC(u32 a0) { DmadataEntry* v0 = func_800808F4(a0); if (v0 != NULL) { - // TODO this uses t7 to shift instead of reusing v0 return v0 - dmadata; } @@ -97,44 +96,44 @@ UNK_TYPE* func_800809F4(u32 a0) { #ifdef NONMATCHING void func_80080A08(s80080A08* a0) { - UNK_TYPE sp52; - UNK_TYPE sp48; - UNK_TYPE sp44; - UNK_TYPE sp40; - UNK_TYPE sp36; - UNK_TYPE sp32; - s32 sp28; + UNK_TYPE sp34; + UNK_TYPE sp30; + UNK_TYPE sp2C; + UNK_TYPE sp28; UNK_TYPE sp24; + UNK_TYPE sp20; + s32 sp1C; + UNK_TYPE sp18; - sp52 = (UNK_TYPE)a0->unk0; - sp48 = (UNK_TYPE)a0->unk4; - sp44 = a0->unk8; + sp34 = (UNK_TYPE)a0->unk0; + sp30 = (UNK_TYPE)a0->unk4; + sp2C = a0->unk8; - sp28 = func_800809BC(sp52); + sp1C = func_800809BC(sp34); - if ((sp28 >= 0) && (sp28 < D_8009B2BC)) { - if (dmadata[sp28].romEnd == 0) { - if (dmadata[sp28].vromEnd < (sp44 + sp52)) { + if ((sp1C >= 0) && (sp1C < D_8009B2BC)) { + if (dmadata[sp1C].romEnd == 0) { + if (dmadata[sp1C].vromEnd < (sp2C + sp34)) { func_80083E4C(&D_800981C4, 499); } - func_80080790((u8*)((dmadata[sp28].romStart + sp52) - dmadata[sp28].vromStart), (u8*)sp48, sp44); + func_80080790((u8*)((dmadata[sp1C].romStart + sp34) - dmadata[sp1C].vromStart), (u8*)sp30, sp2C); return; } // TODO this part is arranged slightly different is ASM - sp36 = dmadata[sp28].romEnd - dmadata[sp28].romStart; - sp40 = dmadata[sp28].romStart; + sp24 = dmadata[sp1C].romEnd - dmadata[sp1C].romStart; + sp28 = dmadata[sp1C].romStart; - if (sp52 != dmadata[sp28].vromStart) { + if (sp34 != dmadata[sp1C].vromStart) { func_80083E4C(&D_800981D4, 518); } - if (sp44 != (dmadata[sp28].vromEnd - dmadata[sp28].vromStart)) { + if (sp2C != (dmadata[sp1C].vromEnd - dmadata[sp1C].vromStart)) { func_80083E4C(&D_800981E4, 525); } osSetThreadPri(NULL, 10); - func_80081178(sp40, sp48, sp36); + func_80081178(sp28, sp30, sp24); osSetThreadPri(NULL, 17); } else { func_80083E4C(&D_800981F4, 558); @@ -253,18 +252,18 @@ glabel func_80080A08 #ifdef NONMATCHING void func_80080B84(void* a0) { - s80080A08* sp52; + s80080A08* sp34; UNK_TYPE pad; s80080A08* s0; for (;;) { - osRecvMesg(&D_8009B2C0, (OSMesg)&sp52, 1); - if (sp52 == NULL) return; - s0 = sp52; + osRecvMesg(&D_8009B2C0, (OSMesg)&sp34, 1); + if (sp34 == NULL) return; + s0 = sp34; func_80080A08(s0); // TODO a0 isn't being used for this comparison - if (s0->unk24 == NULL) continue; - osSendMesg(&D_8009B2C0, (OSMesg)s0->unk28, 0); + if (s0->unk18 == NULL) continue; + osSendMesg(&D_8009B2C0, (OSMesg)s0->unk1C, 0); } } @@ -312,7 +311,7 @@ glabel func_80080B84 #ifdef NONMATCHING -s32 func_80080C04(s80080A08* a0, UNK_FUN_PTR(a1), UNK_PTR a2, UNK_TYPE a3, UNK_TYPE sp48, OSMesgQueue* sp52, UNK_TYPE sp56) { +s32 func_80080C04(s80080A08* a0, UNK_FUN_PTR(a1), UNK_PTR a2, UNK_TYPE a3, UNK_TYPE sp30, OSMesgQueue* sp34, UNK_TYPE sp38) { // TODO this isn't correct, it uses a lui, addiu to get the address of D_80096B60, then loads it, // meaning that this is likely just "if (*D_80096B60 >= 2)". However, I can not get it to not // produce the usual lui, lw combo to load from an address :/ @@ -323,9 +322,9 @@ s32 func_80080C04(s80080A08* a0, UNK_FUN_PTR(a1), UNK_PTR a2, UNK_TYPE a3, UNK_T a0->unk0 = a2; a0->unk4 = a1; a0->unk8 = a3; - a0->unk20 = 0; - a0->unk24 = sp52; - a0->unk28 = sp56; + a0->unk14 = 0; + a0->unk18 = sp34; + a0->unk1C = sp38; osSendMesg(&D_8009B2C0, (OSMesg)a0, 1); @@ -378,19 +377,19 @@ glabel func_80080C04 #endif s32 func_80080C90(UNK_TYPE a0, UNK_PTR a1, UNK_TYPE a2) { - s80080A08 sp72; - OSMesgQueue sp48; - OSMesg sp44; + s80080A08 sp48; + OSMesgQueue sp30; + OSMesg sp2C; s32 ret; - osCreateMesgQueue(&sp48, &sp44, 1); + osCreateMesgQueue(&sp30, &sp2C, 1); - ret = func_80080C04(&sp72, (UNK_FUN_ARG)a0, a1, a2, 0, &sp48, 0); + ret = func_80080C04(&sp48, (UNK_FUN_ARG)a0, a1, a2, 0, &sp30, 0); if (ret == -1) { return ret; } else { - osRecvMesg(&sp48, NULL, 1); + osRecvMesg(&sp30, NULL, 1); } return 0; |
