diff --git a/asm/bss_credits.s b/asm/bss_credits.s new file mode 100644 index 000000000..016d3ae8c --- /dev/null +++ b/asm/bss_credits.s @@ -0,0 +1,148 @@ +.include "macros.inc" + +.section .bss + +.skip 36 + +glabel D_802874C4 +.skip 2 + +glabel D_802874C6 +.skip 2 + +glabel D_802874C8 +.skip 2 + +glabel D_802874CA +.skip 6 + +glabel D_802874D0 +.skip 4 + +glabel D_802874D4 +.skip 4 + +glabel D_802874D8 +.skip 8 + +glabel D_802874E0 +.skip 20 + +glabel D_802874F4 +.skip 1 + +glabel D_802874F5 +.skip 1 + +glabel D_802874F6 +.skip 2 + +glabel D_802874F8 +.skip 4 + +glabel D_802874FC +.skip 4 + +glabel D_80287500 +.skip 64 + +glabel D_80287540 +.skip 16 + +glabel D_80287550 +.skip 4 + +glabel D_80287554 +.skip 12 + +glabel D_80287560 +.skip 368 + +glabel D_802876D0 +.skip 2 + +glabel D_802876D2 +.skip 2 + +glabel D_802876D4 +.skip 4 + +glabel D_802876D8 +.skip 8 + +glabel D_802876E0 +.skip 12 + +glabel D_802876EC +.skip 12 + +glabel D_802876F8 +.skip 4 + +glabel D_802876FC +.skip 4 + +glabel D_80287700 +.skip 4 + +glabel D_80287704 +.skip 12 + +glabel D_80287710 +.skip 12 + +glabel D_8028771C +.skip 12 + +glabel D_80287728 +.skip 6 + +glabel D_8028772E +.skip 6 + +glabel D_80287734 +.skip 6 + +glabel D_8028773A +.skip 6 + +glabel D_80287740 +.skip 4 + +glabel D_80287744 +.skip 4 + +glabel D_80287748 +.skip 4 + +glabel D_8028774C +.skip 2 + +glabel D_8028774E +.skip 2 + +glabel D_80287750 +.skip 12 + +glabel D_8028775C +.skip 188 + +glabel D_80287818 +.skip 12 + +glabel D_80287824 +.skip 372 + +glabel D_80287998 +.skip 384 + +glabel D_80287B18 +.skip 4 + +glabel D_80287B1C +.skip 2 + +glabel D_80287B1E +.skip 2 + +glabel D_80287B20 diff --git a/asm/bss_sptask_audio.s b/asm/bss_sptask_audio.s index 716ab4702..2dd2a6695 100644 --- a/asm/bss_sptask_audio.s +++ b/asm/bss_sptask_audio.s @@ -17,4 +17,307 @@ glabel gGfxSPTaskOutputBuffer # 0x8038FF80 .skip 129024 -glabel gGfxSPTaskOutputBufferSize # 0x803AF780 \ No newline at end of file +glabel gGfxSPTaskOutputBufferSize # 0x803AF780 +.skip 16 + +glabel D_803AF790 +.skip 1056 + +glabel D_803AFBB0 +.skip 16 + +glabel D_803AFBC0 +.skip 2 + +glabel D_803AFBC2 +.skip 1 + +glabel D_803AFBC3 +.skip 1 + +glabel D_803AFBC4 +.skip 4 + +glabel D_803AFBC8 +.skip 8 + +glabel D_803AFBD0 +.skip 8 + +glabel D_803AFBD8 +.skip 16 + +glabel D_803AFBE8 +.skip 48 + +glabel D_803AFC18 +.skip 16 + +glabel D_803AFC28 +.skip 16 + +glabel D_803AFC38 +.skip 16 + +glabel D_803AFC48 +.skip 4 + +glabel D_803AFC4C +.skip 400 + +glabel D_803AFDDC +.skip 4 + +glabel D_803AFDE0 +.skip 56 + +glabel D_803AFE18 +.skip 4 + +glabel D_803AFE1C +.skip 400 + +glabel D_803AFFAC +.skip 4 + +glabel D_803AFFB0 +.skip 56 + +glabel D_803AFFE8 +.skip 4 + +glabel D_803AFFEC +.skip 400 + +glabel D_803B017C +.skip 4 + +glabel D_803B0180 +.skip 56 + +glabel D_803B01B8 +.skip 12 + +glabel D_803B01C4 +.skip 388 + +glabel D_803B0348 +.skip 16 + +glabel D_803B0358 +.skip 8 + +glabel D_803B0360 +.skip 16 + +glabel D_803B0370 +.skip 16 + +glabel D_803B0380 +.skip 64 + +glabel D_803B03C0 +.skip 64 + +glabel D_803B0400 +.skip 256 + +glabel D_803B0500 +.skip 1 + +glabel D_803B0501 +.skip 3 + +glabel D_803B0504 +.skip 4100 + +glabel D_803B1508 +.skip 8 + +glabel D_803B1510 +.skip 148 + +glabel D_803B15A4 +.skip 180 + +glabel D_803B1658 +.skip 328 + +glabel D_803B17A0 +.skip 48 + +glabel D_803B17D0 +.skip 280 + +glabel D_803B18E8 +.skip 328 + +glabel D_803B1A30 +.skip 9408 + +glabel D_803B3EF0 +.skip 108 + +glabel D_803B3F5C +.skip 8084 + +glabel D_803B5EF0 +.skip 108 + +glabel D_803B5F5C +.skip 92 + +glabel D_803B5FB8 +.skip 16 + +glabel D_803B5FC8 +.skip 16 + +glabel D_803B5FD8 +.skip 16 + +glabel D_803B5FE8 +.skip 16 + +glabel D_803B5FF8 +.skip 16 + +glabel D_803B6008 +.skip 24 + +glabel D_803B6020 +.skip 256 + +glabel D_803B6120 +.skip 1536 + +glabel D_803B6720 +.skip 24 + +glabel D_803B6738 +.skip 8 + +glabel D_803B6740 +.skip 24 + +glabel D_803B6758 +.skip 1792 + +glabel D_803B6E58 +.skip 4 + +glabel D_803B6E5C +.skip 4 + +glabel D_803B6E60 +.skip 8 + +glabel D_803B6E68 +.skip 256 + +glabel D_803B6F68 +.skip 256 + +glabel D_803B7068 +.skip 1 + +glabel D_803B7069 +.skip 1 + +glabel D_803B706A +.skip 1 + +glabel D_803B706B +.skip 1 + +glabel D_803B706C +.skip 4 + +glabel D_803B7070 +.skip 4 + +glabel D_803B7074 +.skip 4 + +glabel D_803B7078 +.skip 4 + +glabel D_803B707C +.skip 4 + +glabel D_803B7080 +.skip 8 + +glabel D_803B7088 +.skip 24 + +glabel D_803B70A0 +.skip 4 + +glabel D_803B70A4 +.skip 4 + +glabel D_803B70A8 +.skip 4 + +glabel D_803B70AC +.skip 4 + +glabel D_803B70B0 +.skip 4 + +glabel D_803B70B4 +.skip 2 + +glabel D_803B70B6 +.skip 2 + +glabel D_803B70B8 +.skip 4 + +glabel D_803B70BC +.skip 4 + +glabel D_803B70C0 +.skip 4 + +glabel D_803B70C4 +.skip 4 + +glabel D_803B70C8 +.skip 8 + +glabel D_803B70D0 +.skip 4 + +glabel D_803B70D4 +.skip 4 + +glabel D_803B70D8 +.skip 160 + +glabel D_803B7178 +.skip 4 + +glabel D_803B717C +.skip 4 + +glabel D_803B7180 +.skip 12 + +glabel D_803B718C +.skip 6 + +glabel D_803B7192 +.skip 2 + +glabel D_803B7194 +.skip 4 + +glabel D_803B7198 +.skip 8 + +glabel D_803B71A0 +.skip 16 + +glabel D_803B71B0 \ No newline at end of file diff --git a/asm/non_matchings/code_80091750/func_800A8CA4.s b/asm/non_matchings/code_80091750/func_800A8CA4.s index d1d5464af..cabcb4fd3 100644 --- a/asm/non_matchings/code_80091750/func_800A8CA4.s +++ b/asm/non_matchings/code_80091750/func_800A8CA4.s @@ -18,7 +18,7 @@ glabel func_800A8CA4 /* 0A98E4 800A8CE4 8E130010 */ lw $s3, 0x10($s0) /* 0A98E8 800A8CE8 246E0008 */ addiu $t6, $v1, 8 /* 0A98EC 800A8CEC AE2E0000 */ sw $t6, ($s1) -/* 0A98F0 800A8CF0 3C0FE700 */ lui $t7, %hi(D_E6FFFFFC) # $t7, 0xe700 +/* 0A98F0 800A8CF0 3C0FE700 */ lui $t7, 0xe700 /* 0A98F4 800A8CF4 AC6F0000 */ sw $t7, ($v1) /* 0A98F8 800A8CF8 AC600004 */ sw $zero, 4($v1) /* 0A98FC 800A8CFC 8E230000 */ lw $v1, ($s1) @@ -60,7 +60,7 @@ glabel func_800A8CA4 /* 0A9988 800A8D88 31CF0003 */ andi $t7, $t6, 3 /* 0A998C 800A8D8C 11E00002 */ beqz $t7, .L800A8D98 /* 0A9990 800A8D90 00000000 */ nop -/* 0A9994 800A8D94 25EFFFFC */ addiu $t7, %lo(D_E6FFFFFC) # addiu $t7, $t7, -4 +/* 0A9994 800A8D94 25EFFFFC */ addiu $t7, $t7, -4 .L800A8D98: /* 0A9998 800A8D98 120F0011 */ beq $s0, $t7, .L800A8DE0 /* 0A999C 800A8D9C 240D0064 */ li $t5, 100 diff --git a/asm/os/osCreateViManagerPadding.s b/asm/os/osCreateViManagerPadding.s deleted file mode 100644 index c2d2eb92b..000000000 --- a/asm/os/osCreateViManagerPadding.s +++ /dev/null @@ -1,5 +0,0 @@ -.include "macros.inc" - -.section .text - -.skip 64 diff --git a/asm/os/parameters.s b/asm/os/parameters.s new file mode 100644 index 000000000..3a42dfe2c --- /dev/null +++ b/asm/os/parameters.s @@ -0,0 +1,18 @@ +.macro gsymbol sym addr +.global \sym +.set \sym, \addr + +nop +nop + +.endm + +.text +gsymbol osTvType 0x80000300 +gsymbol osRomType 0x80000304 +gsymbol osRomBase 0x80000308 +gsymbol osResetType 0x8000030C +gsymbol osCiCId 0x80000310 +gsymbol osVersion 0x80000314 +gsymbol osMemSize 0x80000318 +gsymbol osAppNmiBuffer 0x8000031C diff --git a/data/data_credits_128480.s b/data/data_credits_128480.s index d376bfc05..4a11c0db4 100644 --- a/data/data_credits_128480.s +++ b/data/data_credits_128480.s @@ -5,6 +5,7 @@ # Credits # 128480-12AAE0 [2660] +# D_8028461C glabel D_80284E40 .word 0x00FF4080 .word 0x008040FF diff --git a/mk64.ld b/mk64.ld index cf7442cf5..cc4346616 100644 --- a/mk64.ld +++ b/mk64.ld @@ -101,7 +101,7 @@ SECTIONS BUILD_DIR/src/os/osInitialize.o(.text); BUILD_DIR/src/os/osStartThread.o(.text); BUILD_DIR/src/os/osCreateViManager.o(.text); - BUILD_DIR/asm/os/osCreateViManagerPadding.o(.text); + BUILD_DIR/asm/os/parameters.o(.text); BUILD_DIR/src/os/osViSetMode.o(.text); BUILD_DIR/src/os/osViBlack.o(.text); BUILD_DIR/src/os/osViSetSpecialFeatures.o(.text); @@ -362,6 +362,19 @@ SECTIONS } END_SEG(code_80280000) + BEGIN_NOLOAD(code_80280000) { + BUILD_DIR/asm/bss_credits.o(.bss); + } + END_NOLOAD(code_80280000) + + _code_80280000SegmentNoloadSize = SIZEOF(.code_80280000.noload) + 0x10; + + _code_80280000SegmentNoloadSizeHi = _code_80280000SegmentNoloadSize >> 16; + _code_80280000SegmentNoloadSizeLo = _code_80280000SegmentNoloadSize & 0xFFFF; + + + + /* 0x801978D0 12AAE0-132B50 [8070] */ /* texture tables and DLs, set as segment 0x02 */ BEGIN_SEG(data_segment2, 0x02000000) diff --git a/undefined_syms.txt b/undefined_syms.txt index 033c5fdc4..fbce588a4 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -634,22 +634,15 @@ d_course_skyscraper_vertex = 0x0F000000; -osTvType = 0x80000300; -osRomBase = 0x80000308; -osResetType = 0x8000030C; -osAppNmiBuffer = 0x8000031C; D_8000035C = 0x8000035C; D_80004334 = 0x80004334; -D_800EA5E8 = 0x800EA5E8; - -D_800DFF88 = 0x800DFF88; -D_800EB6BC = 0x800EB6BC; /* unused */ -D_8027FFC4 = 0x8027FFC4; -D_80280001 = 0x80280001; + + +/* conflict with funcs of same name */ D_80282434 = 0x80282434; D_80283968 = 0x80283968; D_80283994 = 0x80283994; @@ -681,7 +674,7 @@ D_80284184 = 0x80284184; D_802841E8 = 0x802841E8; D_802845EC = 0x802845EC; D_8028461C = 0x8028461C; - +/* eof conflict with funcs of same name */ D_802874A0 = 0x802874A0; /* Very end of data_credits_128480.s unused? */ D_802874BE = 0x802874BE; /* unused? */ @@ -710,159 +703,6 @@ d_course_moo_moo_farm_packed = 0x0f00daec; -D_802874C4 = 0x802874C4; -D_802874C6 = 0x802874C6; -D_802874C8 = 0x802874C8; -D_802874CA = 0x802874CA; -D_802874D0 = 0x802874D0; -D_802874D4 = 0x802874D4; -D_802874D8 = 0x802874D8; -D_802874E0 = 0x802874E0; -D_802874F4 = 0x802874F4; -D_802874F5 = 0x802874F5; -D_802874F6 = 0x802874F6; -D_802874F8 = 0x802874F8; -D_802874FC = 0x802874FC; -D_80287500 = 0x80287500; -D_80287540 = 0x80287540; -D_80287550 = 0x80287550; -D_80287554 = 0x80287554; -D_80287560 = 0x80287560; -D_802876D0 = 0x802876D0; -D_802876D2 = 0x802876D2; -D_802876D4 = 0x802876D4; -D_802876D8 = 0x802876D8; -D_802876E0 = 0x802876E0; -D_802876EC = 0x802876EC; -D_802876F8 = 0x802876F8; -D_802876FC = 0x802876FC; -D_80287700 = 0x80287700; -D_80287704 = 0x80287704; -D_80287710 = 0x80287710; -D_8028771C = 0x8028771C; -D_80287728 = 0x80287728; -D_8028772E = 0x8028772E; -D_80287734 = 0x80287734; -D_8028773A = 0x8028773A; -D_80287740 = 0x80287740; -D_80287744 = 0x80287744; -D_80287748 = 0x80287748; -D_8028774C = 0x8028774C; -D_8028774E = 0x8028774E; -D_80287750 = 0x80287750; -D_8028775C = 0x8028775C; -D_80287818 = 0x80287818; -D_80287824 = 0x80287824; -D_80287998 = 0x80287998; -D_80287B18 = 0x80287B18; -D_80287B1C = 0x80287B1C; -D_80287B1E = 0x80287B1E; -D_80287B20 = 0x80287B20; - - - -D_803AF790 = 0x803AF790; -D_803AFBB0 = 0x803AFBB0; -D_803AFBC0 = 0x803AFBC0; -D_803AFBC2 = 0x803AFBC2; -D_803AFBC3 = 0x803AFBC3; -D_803AFBC4 = 0x803AFBC4; -D_803AFBC8 = 0x803AFBC8; -D_803AFBD0 = 0x803AFBD0; -D_803AFBD8 = 0x803AFBD8; -D_803AFBE8 = 0x803AFBE8; -D_803AFC18 = 0x803AFC18; -D_803AFC28 = 0x803AFC28; -D_803AFC38 = 0x803AFC38; -D_803AFC48 = 0x803AFC48; -D_803AFC4C = 0x803AFC4C; -D_803AFDDC = 0x803AFDDC; -D_803AFDE0 = 0x803AFDE0; -D_803AFE18 = 0x803AFE18; -D_803AFE1C = 0x803AFE1C; -D_803AFFAC = 0x803AFFAC; -D_803AFFB0 = 0x803AFFB0; -D_803AFFE8 = 0x803AFFE8; -D_803AFFEC = 0x803AFFEC; -D_803B017C = 0x803B017C; -D_803B0180 = 0x803B0180; -D_803B01B8 = 0x803B01B8; -D_803B01C4 = 0x803B01C4; -D_803B0348 = 0x803B0348; -D_803B0358 = 0x803B0358; -D_803B0360 = 0x803B0360; -D_803B0370 = 0x803B0370; -D_803B0380 = 0x803B0380; -D_803B03C0 = 0x803B03C0; -D_803B0400 = 0x803B0400; -D_803B0500 = 0x803B0500; -D_803B0501 = 0x803B0501; -D_803B0504 = 0x803B0504; -D_803B1508 = 0x803B1508; -D_803B1510 = 0x803B1510; -D_803B15A4 = 0x803B15A4; -D_803B1658 = 0x803B1658; -D_803B17A0 = 0x803B17A0; -D_803B17D0 = 0x803B17D0; -D_803B18E8 = 0x803B18E8; -D_803B1A30 = 0x803B1A30; -D_803B3EF0 = 0x803B3EF0; -D_803B3F5C = 0x803B3F5C; -D_803B5EF0 = 0x803B5EF0; -D_803B5F5C = 0x803B5F5C; -D_803B5FB8 = 0x803B5FB8; -D_803B5FC8 = 0x803B5FC8; -D_803B5FD8 = 0x803B5FD8; -D_803B5FE8 = 0x803B5FE8; -D_803B5FF8 = 0x803B5FF8; -D_803B6008 = 0x803B6008; -D_803B6020 = 0x803B6020; -D_803B6120 = 0x803B6120; -D_803B6720 = 0x803B6720; -D_803B6738 = 0x803B6738; -D_803B6740 = 0x803B6740; -D_803B6758 = 0x803B6758; -D_803B6E58 = 0x803B6E58; -D_803B6E5C = 0x803B6E5C; -D_803B6E60 = 0x803B6E60; -D_803B6E68 = 0x803B6E68; -D_803B6F68 = 0x803B6F68; -D_803B7068 = 0x803B7068; -D_803B7069 = 0x803B7069; -D_803B706A = 0x803B706A; -D_803B706B = 0x803B706B; -D_803B706C = 0x803B706C; -D_803B7070 = 0x803B7070; -D_803B7074 = 0x803B7074; -D_803B7078 = 0x803B7078; -D_803B707C = 0x803B707C; -D_803B7080 = 0x803B7080; -D_803B7088 = 0x803B7088; -D_803B70A0 = 0x803B70A0; -D_803B70A4 = 0x803B70A4; -D_803B70A8 = 0x803B70A8; -D_803B70AC = 0x803B70AC; -D_803B70B0 = 0x803B70B0; -D_803B70B4 = 0x803B70B4; -D_803B70B6 = 0x803B70B6; -D_803B70B8 = 0x803B70B8; -D_803B70BC = 0x803B70BC; -D_803B70C0 = 0x803B70C0; -D_803B70C4 = 0x803B70C4; -D_803B70C8 = 0x803B70C8; -D_803B70D0 = 0x803B70D0; -D_803B70D4 = 0x803B70D4; -D_803B70D8 = 0x803B70D8; -D_803B7178 = 0x803B7178; -D_803B717C = 0x803B717C; -D_803B7180 = 0x803B7180; -D_803B718C = 0x803B718C; -D_803B7192 = 0x803B7192; -D_803B7194 = 0x803B7194; -D_803B7198 = 0x803B7198; -D_803B71A0 = 0x803B71A0; -D_803B71B0 = 0x803B71B0; -