diff --git a/asm/bss_8028DF00.s b/asm/bss_8028DF00.s index 7dc81de4b..736a7d1d9 100644 --- a/asm/bss_8028DF00.s +++ b/asm/bss_8028DF00.s @@ -2,7 +2,6 @@ .section .bss - glabel D_802BA050 .skip 4 @@ -20,40 +19,3 @@ glabel D_802BA060 glabel D_802BA260 .skip 16 - -#glabel D_802BA270 -#.skip 4 - -#glabel D_802BA274 -#.skip 4 # 4 - -#glabel sPoolFreeSpace -#.skip 4 - -#glabel sPoolListHeadL -#.skip 4 - -#glabel sPoolListHeadR -#.skip 875776 # 16 - -#glabel D_802BA290 -#.skip 22768 # 100592 - -#glabel D_802BFB80 -#.skip 77824 - -#glabel D_802D2B80 -#.skip 32768 - -#glabel D_802DAB80 -#.skip 20480 - -#glabel D_802DFB80 -#.skip 74752 - -#glabel D_802F1F80 -#.skip 32768 - -#glabel gZBuffer -#.skip 153600 - diff --git a/asm/non_matchings/code_800393C0/func_8003D080.s b/asm/non_matchings/code_800393C0/func_8003D080.s index 729ccd282..17f88e5e6 100644 --- a/asm/non_matchings/code_800393C0/func_8003D080.s +++ b/asm/non_matchings/code_800393C0/func_8003D080.s @@ -86,7 +86,7 @@ glabel func_8003D080 .L8003D1BC: /* 03DDBC 8003D1BC 3C01800F */ lui $at, %hi(gPlayers+0x14) # $at, 0x800f /* 03DDC0 8003D1C0 C42C69A4 */ lwc1 $f12, %lo(gPlayers+0x14)($at) -/* 03DDC4 8003D1C4 3C01800F */ lui $at, %hi(gPlayers+0x14) # $at, 0x800f +/* 03DDC4 8003D1C4 3C01800F */ lui $at, %hi(gPlayers+0x18) # $at, 0x800f /* 03DDC8 8003D1C8 3C07800F */ lui $a3, %hi(gPlayers+0x2E) # $a3, 0x800f /* 03DDCC 8003D1CC 24090001 */ li $t1, 1 /* 03DDD0 8003D1D0 AFA90010 */ sw $t1, 0x10($sp) @@ -151,13 +151,13 @@ glabel func_8003D080 .L8003D2AC: /* 03DEAC 8003D2AC 3C01800F */ lui $at, %hi(gPlayers+0x14) # $at, 0x800f /* 03DEB0 8003D2B0 C42C69A4 */ lwc1 $f12, %lo(gPlayers+0x14)($at) -/* 03DEB4 8003D2B4 3C01800F */ lui $at, %hi(gPlayers+0x14) # $at, 0x800f +/* 03DEB4 8003D2B4 3C01800F */ lui $at, %hi(gPlayers+0x18) # $at, 0x800f /* 03DEB8 8003D2B8 3C07800F */ lui $a3, %hi(gPlayers+0x2E) # $a3, 0x800f /* 03DEBC 8003D2BC 240E0009 */ li $t6, 9 /* 03DEC0 8003D2C0 AFAE0010 */ sw $t6, 0x10($sp) /* 03DEC4 8003D2C4 84E769BE */ lh $a3, %lo(gPlayers+0x2E)($a3) /* 03DEC8 8003D2C8 C42E69A8 */ lwc1 $f14, %lo(gPlayers+0x18)($at) -/* 03DECC 8003D2CC 8CC669AC */ lw $a2, 0x69ac($a2) +/* 03DECC 8003D2CC 8CC669AC */ lw $a2, %lo(gPlayers+0x1C)($a2) # 0x69ac($a2) /* 03DED0 8003D2D0 0C007134 */ jal func_8001C4D0 /* 03DED4 8003D2D4 AFA00014 */ sw $zero, 0x14($sp) /* 03DED8 8003D2D8 3C02800F */ lui $v0, %hi(gPlayers+0xDD8) # $v0, 0x800f @@ -377,7 +377,7 @@ glabel func_8003D080 /* 03E20C 8003D60C AFAB0010 */ sw $t3, 0x10($sp) /* 03E210 8003D610 84E769BE */ lh $a3, %lo(gPlayers+0x2E)($a3) /* 03E214 8003D614 C42E69A8 */ lwc1 $f14, %lo(gPlayers+0x18)($at) -/* 03E218 8003D618 8CC669AC */ lw $a2, 0x69ac($a2) +/* 03E218 8003D618 8CC669AC */ lw $a2, %lo(gPlayers+0x1C)($a2) # 0x69ac($a2) /* 03E21C 8003D61C 0C007134 */ jal func_8001C4D0 /* 03E220 8003D620 AFA00014 */ sw $zero, 0x14($sp) /* 03E224 8003D624 3C02800F */ lui $v0, %hi(gPlayers+0xDD8) # $v0, 0x800f diff --git a/asm/non_matchings/code_actors/func_802A0D54.s b/asm/non_matchings/code_actors/func_802A0D54.s index 62a79b237..4f50b4bfb 100644 --- a/asm/non_matchings/code_actors/func_802A0D54.s +++ b/asm/non_matchings/code_actors/func_802A0D54.s @@ -8,10 +8,10 @@ glabel func_802A0D54 /* 10A37C 802A0D6C AFB20020 */ sw $s2, 0x20($sp) /* 10A380 802A0D70 3C11800F */ lui $s1, %hi(gPlayers) # $s1, 0x800f /* 10A384 802A0D74 3C138016 */ lui $s3, %hi(D_8015F9B8) # $s3, 0x8016 -/* 10A388 802A0D78 3C168010 */ lui $s6, 0x8010 # fake pointer. Bitflag +/* 10A388 802A0D78 3C168010 */ lui $s6, %hi(gPlayers+0x6EC0) # 0x8010 /* 10A38C 802A0D7C AFBF0034 */ sw $ra, 0x34($sp) /* 10A390 802A0D80 AFB00018 */ sw $s0, 0x18($sp) -/* 10A394 802A0D84 26D6D850 */ addiu $s6, $s6, -0x27b0 # fake pointer +/* 10A394 802A0D84 26D6D850 */ addiu $s6, $s6, %lo(gPlayers+0x6EC0) # -0x27b0 /* 10A398 802A0D88 2673F9B8 */ addiu $s3, %lo(D_8015F9B8) # addiu $s3, $s3, -0x648 /* 10A39C 802A0D8C 26316990 */ addiu $s1, %lo(gPlayers) # addiu $s1, $s1, 0x6990 /* 10A3A0 802A0D90 3C120400 */ lui $s2, 0x400 diff --git a/data/rodata_main.s b/data/rodata_main.s index 14237da87..01a2037cd 100644 --- a/data/rodata_main.s +++ b/data/rodata_main.s @@ -47,4 +47,4 @@ #.word L800026B4, L800026CC, L800026E4, L800026FC #.word L80002714, L8000272C, L8000276C, L8000276C #.word L8000276C, L8000274C -glabel D_800EB670 +#glabel D_800EB670 diff --git a/mk64.ld b/mk64.ld index 14398a18d..c3d28a3d5 100644 --- a/mk64.ld +++ b/mk64.ld @@ -214,18 +214,15 @@ SECTIONS BUILD_DIR/src/os/_Litob.o(.text); BUILD_DIR/src/os/_Ldtob.o(.text); BUILD_DIR/src/os/ldiv.o(.text); - BUILD_DIR/data/rsp.o(.text); BUILD_DIR/src/main.o(.data); BUILD_DIR/data/data_0DD0A0.o(.data); BUILD_DIR/src/code_800029B0.o(.data); - BUILD_DIR/data/data_0DD0A0_0.o(.data); BUILD_DIR/src/crash_screen.o(.data); BUILD_DIR/src/staff_ghosts.o(.data); BUILD_DIR/data/data_0DD0A0_1.o(.data); BUILD_DIR/src/code_8001C4D0.o(.data); - BUILD_DIR/src/code_8001F980.o(.data); BUILD_DIR/data/data_0DD0A0_1_1.o(.data); BUILD_DIR/src/kart_attributes.inc.o(.data); BUILD_DIR/data/data_0DD0A0_2.o(.rodata); @@ -234,7 +231,6 @@ SECTIONS BUILD_DIR/src/os/osViTable.o(.data); BUILD_DIR/src/os/osCreatePiManager.o(.data); BUILD_DIR/src/os/osContInit.o(.data); - BUILD_DIR/data/data_0DD0A0_2_1.o(.data); BUILD_DIR/src/os/osTimer.o(.data); BUILD_DIR/src/os/__osViInit.o(.data); @@ -243,7 +239,6 @@ SECTIONS BUILD_DIR/src/os/_Printf.o(.data); BUILD_DIR/src/os/osViData.o(.data); BUILD_DIR/src/os/_Litob.o(.data); - BUILD_DIR/data/rodata_main.o(.rodata); BUILD_DIR/src/main.o(.rodata); BUILD_DIR/src/code_800029B0.o(.rodata); BUILD_DIR/data/data_0DD0A0_3.o(.rodata); @@ -294,15 +289,7 @@ SECTIONS BUILD_DIR/asm/bss_after_diskinit.o(.bss); } END_NOLOAD(main) - - _mainSegmentNoloadSize = SIZEOF(.main.noload) + 0x10; - _mainSegmentNoloadSizeHi = _mainSegmentNoloadSize >> 16; - _mainSegmentNoloadSizeLo = _mainSegmentNoloadSize & 0xFFFF; - - - - /* 0x8028DF00 0F7510-123640 [2C130] */ BEGIN_SEG(code_8028DF00, SEG_8028DF00) { @@ -340,10 +327,6 @@ SECTIONS _code_8028DF00SegmentNoloadSizeHi = _code_8028DF00SegmentNoloadSize >> 16; _code_8028DF00SegmentNoloadSizeLo = _code_8028DF00SegmentNoloadSize & 0xFFFF; - - - - /* 0x80280000 123640-12AAE0 [74A0] */ BEGIN_SEG(code_80280000, SEG_80280000) { diff --git a/src/code_800029B0.c b/src/code_800029B0.c index 630322b5d..539a797ea 100644 --- a/src/code_800029B0.c +++ b/src/code_800029B0.c @@ -101,7 +101,7 @@ Lights1 D_800DC610[] = { gdSPDefLights1(175, 175, 175, 255, 255, 255, 0, 0, 120), gdSPDefLights1(115, 115, 115, 255, 255, 255, 0, 0, 120), }; -static s32 pad = 0x80000000; +static s32 pad_800029B0 = 0x80000000; s16 gCreditsCourseId = COURSE_LUIGI_RACEWAY; s16 gPlaceItemBoxes = 1; diff --git a/src/code_8001C4D0.c b/src/code_8001C4D0.c index 6e2589a7b..eaf9f8661 100644 --- a/src/code_8001C4D0.c +++ b/src/code_8001C4D0.c @@ -14,7 +14,6 @@ Camera *camera1 = &cameras[0]; Camera *camera2 = &cameras[1]; Camera *camera3 = &cameras[2]; Camera *camera4 = &cameras[3]; -//s32 test; extern Player *gPlayerTwo; diff --git a/src/code_800393C0.c b/src/code_800393C0.c index 4cb55837d..9b8cd60f5 100644 --- a/src/code_800393C0.c +++ b/src/code_800393C0.c @@ -12,8 +12,6 @@ extern Camera *camera2; extern Camera *camera3; extern Camera *camera4; -//GLOBAL_ASM("asm/non_matchings/code_800393C0/spawn_player.s") - void spawn_player(Player *player, s8 playerIndex, f32 arg2, f32 arg3, f32 arg4, f32 arg5, u16 arg6, s16 arg7) { f32 ret; s8 idx; diff --git a/src/code_8028DF00.c b/src/code_8028DF00.c index b065ab221..57790549a 100644 --- a/src/code_8028DF00.c +++ b/src/code_8028DF00.c @@ -115,7 +115,7 @@ extern void func_80005AE8(); extern u16 D_8015F894; -//u32 testbss[0x200]; + u16 D_802BA030; u16 D_802BA032; diff --git a/src/crash_screen.c b/src/crash_screen.c index d903ed284..87d999bb6 100644 --- a/src/crash_screen.c +++ b/src/crash_screen.c @@ -47,6 +47,7 @@ extern void read_controllers(); extern struct Controller *gControllerOne; +//s32 shift = 0; u32 D_800DC670 = 0; diff --git a/src/main.c b/src/main.c index 3cc63bfe0..05dd6b1a3 100644 --- a/src/main.c +++ b/src/main.c @@ -63,6 +63,9 @@ struct Controller *gControllerFive = &gControllers[4]; // 0x800DC4CC struct Controller *gControllerSix = &gControllers[5]; // 0x800DC4D0 struct Controller *gControllerSeven = &gControllers[6]; // 0x800DC4D4 struct Controller *gControllerEight = &gControllers[7]; // 0x800DC4D8 +//Player shift[1]; +//Player *shifting = &shift[0]; + Player gPlayers[8]; Player *gPlayerOne = &gPlayers[0]; // 0x800DC4DC @@ -171,8 +174,8 @@ u16 gEnableDebugMode = 0; s32 D_800DC524 = 7; // = COURSE_DATA_MENU?; UNUSED s32 D_800DC528 = 1; s32 gActiveScreenMode = SCREEN_MODE_1P; - -s32 gScreenModeSelection[2] = {0}; +s32 gScreenModeSelection = 0; +UNUSED s32 D_800DC534 = 0; s32 gPlayerCountSelection1 = 2; s32 gModeSelection = GRAND_PRIX; @@ -1123,7 +1126,7 @@ void func_80002684(void) { extern s32 D_800DC600; extern s32 D_8015F8B8, D_8015F8BC, D_8015F8C0, D_8015F8C4, D_8015F8C8, D_8015F8CC; - +//extern u8 _networkSegmentRomStart; void thread5_game_logic(s32 arg0) { osCreateMesgQueue(&D_8014EF88, &D_8014F00C, 1); osCreateMesgQueue(&D_8014EF70, &D_8014F008, 1); @@ -1142,6 +1145,13 @@ void thread5_game_logic(s32 arg0) { read_controllers(); func_800C5CB8(); + //set_segment_base_addr(0x8, SEG_NETWORK); + //osInvalICache(SEG_NETWORK, 0x90); + //osInvalDCache(SEG_NETWORK+0x90, 0xFF); + //osPiStartDma(&gDmaIoMesg, 0, 0, &_networkSegmentRomStart, SEG_NETWORK, 0xFF, &gDmaMesgQueue); + //osRecvMesg(&gDmaMesgQueue, &gMainReceivedMesg, 1); + + while(1) { func_800CB2C4(); if (D_800DC524 != D_800DC50C) { @@ -1174,4 +1184,4 @@ void thread4_audio(UNUSED s32 arg0) { } profiler_log_thread4_time(); } -} +} \ No newline at end of file