main.c full match (#46)

* main.c full match
This commit is contained in:
CoderStig 2021-10-29 23:26:43 -06:00 committed by GitHub
parent 6155f1bb92
commit dc1525c157
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
28 changed files with 491 additions and 2266 deletions

View File

@ -1,203 +1,6 @@
.include "macros.inc"
.section .bss
glabel gGfxPools
.skip 10616
glabel D_801001D8
.skip 322920
glabel gGfxPool # 0x8014EF40
.skip 8
glabel D_8014EF48
.skip 8
glabel sSoundVblankHandler # 0x8014EF50
.skip 8
glabel D_8014EF58
.skip 24
glabel D_8014EF70
.skip 24
glabel D_8014EF88
.skip 48
glabel gIntrMesgQueue
.skip 24
glabel D_8014EFD0
.skip 24
glabel sSoundMesgQueue # 0x8014EFE8
.skip 24
glabel sSoundMesgBuf # 0x8014F000
.skip 4
glabel D_8014F004
.skip 4
glabel D_8014F008
.skip 4
glabel D_8014F00C
.skip 12
glabel D_8014F018
.skip 64
glabel D_8014F058
.skip 64
glabel D_8014F098
.skip 8
glabel D_8014F0A0
.skip 24
glabel gSIEventMesgQueue
.skip 24
glabel gSIEventMesgBuf
.skip 16
glabel gControllerStatuses
.skip 2
glabel D_8014F0E2
.skip 14
glabel gControllerPads
.skip 24
glabel gControllerBits
.skip 8
glabel D_8014F110
.skip 4096
glabel D_80150110
.skip 2
glabel D_80150112
.skip 2
glabel D_80150114
.skip 4
glabel D_80150118
.skip 4
glabel D_8015011C
.skip 2
glabel D_8015011E
.skip 2
glabel D_80150120
.skip 4
glabel D_80150124
.skip 12
glabel D_80150130
.skip 4
glabel D_80150134
.skip 4
glabel D_80150138
.skip 4
glabel D_8015013C
.skip 12
glabel D_80150148
.skip 4
glabel D_8015014C
.skip 4
glabel D_80150150
.skip 8
glabel D_80150158
.skip 256
glabel gSegmentTable # 0x80150258
.skip 20
glabel D_8015026C
.skip 44
glabel gDisplayListHead # 0x80150298
.word 0x00000000
glabel gGfxSPTask
.word 0x00000000
glabel D_801502A0
.skip 8
glabel gPhysicalFramebuffers
.skip 12
glabel D_801502B4
.skip 12
glabel D_801502C0
.skip 8256
glabel D_80152300
.skip 2
glabel D_80152302
.skip 2
glabel D_80152304
.skip 2
glabel D_80152306
.skip 2
glabel D_80152308
.skip 440
glabel gIdleThread
.skip 8624
glabel gVideoThread
.skip 8624
glabel D_80156820
.skip 8624
glabel D_801589D0
.skip 8624
glabel D_8015AB80
.skip 5248
glabel D_8015C000
.skip 3376
glabel D_8015CD30
.skip 4528
glabel gGfxSPTaskYieldBuffer # 0x8015DEE0
.skip 4352
glabel gGfxSPTaskStack # 0x8015EFE0
.skip 1024
glabel D_8015F3E0
.skip 128
glabel D_8015F460
.skip 32
glabel D_8015F480
.skip 44

View File

@ -3020,13 +3020,13 @@ glabel func_8001EE98
.L8001F10C:
/* 01FD0C 8001F10C 3C018015 */ lui $at, %hi(D_80152300) # $at, 0x8015
/* 01FD10 8001F110 A4222300 */ sh $v0, %lo(D_80152300)($at)
/* 01FD14 8001F114 3C018015 */ lui $at, %hi(D_80152302) # $at, 0x8015
/* 01FD18 8001F118 A4222302 */ sh $v0, %lo(D_80152302)($at)
/* 01FD1C 8001F11C 3C018015 */ lui $at, %hi(D_80152304) # $at, 0x8015
/* 01FD20 8001F120 A4222304 */ sh $v0, %lo(D_80152304)($at)
/* 01FD24 8001F124 3C018015 */ lui $at, %hi(D_80152306) # $at, 0x8015
/* 01FD14 8001F114 3C018015 */ lui $at, %hi(D_80152300+0x2) # $at, 0x8015
/* 01FD18 8001F118 A4222302 */ sh $v0, %lo(D_80152300+0x2)($at)
/* 01FD1C 8001F11C 3C018015 */ lui $at, %hi(D_80152300+0x4) # $at, 0x8015
/* 01FD20 8001F120 A4222304 */ sh $v0, %lo(D_80152300+0x4)($at)
/* 01FD24 8001F124 3C018015 */ lui $at, %hi(D_80152300+0x6) # $at, 0x8015
/* 01FD28 8001F128 10000050 */ b .L8001F26C
/* 01FD2C 8001F12C A4222306 */ sh $v0, %lo(D_80152306)($at)
/* 01FD2C 8001F12C A4222306 */ sh $v0, %lo(D_80152300+0x6)($at)
.L8001F130:
/* 01FD30 8001F130 9718C5FC */ lhu $t8, %lo(D_800DC5FC)($t8)
/* 01FD34 8001F134 3C0A8015 */ lui $t2, %hi(D_80152300) # $t2, 0x8015

View File

@ -464,8 +464,8 @@ glabel func_80091D74
/* 09299C 80091D9C 10000049 */ b .L80091EC4
/* 0929A0 80091DA0 00001025 */ move $v0, $zero
.L80091DA4:
/* 0929A4 80091DA4 3C028015 */ lui $v0, %hi(D_8014F0E2) # $v0, 0x8015
/* 0929A8 80091DA8 9042F0E2 */ lbu $v0, %lo(D_8014F0E2)($v0)
/* 0929A4 80091DA4 3C028015 */ lui $v0, %hi(gControllerStatuses+0x2) # $v0, 0x8015
/* 0929A8 80091DA8 9042F0E2 */ lbu $v0, %lo(gControllerStatuses+0x2)($v0)
/* 0929AC 80091DAC 3C19800E */ lui $t9, %hi(D_800DC4BC) # $t9, 0x800e
/* 0929B0 80091DB0 2C4F0001 */ sltiu $t7, $v0, 1
/* 0929B4 80091DB4 31F80001 */ andi $t8, $t7, 1

View File

@ -3310,8 +3310,8 @@ glabel render_luigi_raceway
glabel L80293D24
/* 0FD334 80293D24 0002C880 */ sll $t9, $v0, 2
/* 0FD338 80293D28 3C0B8015 */ lui $t3, %hi(gPhysicalFramebuffers) # 0x8015
/* 0FD33C 80293D2C 3C0D8015 */ lui $t5, %hi(D_8015026C) # $t5, 0x8015
/* 0FD340 80293D30 8DAD026C */ lw $t5, %lo(D_8015026C)($t5)
/* 0FD33C 80293D2C 3C0D8015 */ lui $t5, %hi(gSegmentTable+0x14) # $t5, 0x8015
/* 0FD340 80293D30 8DAD026C */ lw $t5, %lo(gSegmentTable+0x14)($t5)
/* 0FD344 80293D34 01795821 */ addu $t3, $t3, $t9
/* 0FD348 80293D38 8D6B02A8 */ lw $t3, %lo(gPhysicalFramebuffers)($t3) # 0x2a8($t3)
/* 0FD34C 80293D3C 3C038000 */ lui $v1, 0x8000
@ -3331,8 +3331,8 @@ glabel L80293D24
glabel L80293D74
/* 0FD384 80293D74 0002C080 */ sll $t8, $v0, 2
/* 0FD388 80293D78 3C198015 */ lui $t9, %hi(gPhysicalFramebuffers) # 0x8015
/* 0FD38C 80293D7C 3C0C8015 */ lui $t4, %hi(D_8015026C) # $t4, 0x8015
/* 0FD390 80293D80 8D8C026C */ lw $t4, %lo(D_8015026C)($t4)
/* 0FD38C 80293D7C 3C0C8015 */ lui $t4, %hi(gSegmentTable+0x14) # $t4, 0x8015
/* 0FD390 80293D80 8D8C026C */ lw $t4, %lo(gSegmentTable+0x14)($t4)
/* 0FD394 80293D84 0338C821 */ addu $t9, $t9, $t8
/* 0FD398 80293D88 8F3902A8 */ lw $t9, %lo(gPhysicalFramebuffers)($t9) # 0x2a8($t9)
/* 0FD39C 80293D8C 3C010001 */ lui $at, (0x00010800 >> 16) # lui $at, 1
@ -3354,8 +3354,8 @@ glabel L80293D74
glabel L80293DCC
/* 0FD3DC 80293DCC 00027880 */ sll $t7, $v0, 2
/* 0FD3E0 80293DD0 3C188015 */ lui $t8, %hi(gPhysicalFramebuffers) # 0x8015
/* 0FD3E4 80293DD4 3C0B8015 */ lui $t3, %hi(D_8015026C) # $t3, 0x8015
/* 0FD3E8 80293DD8 8D6B026C */ lw $t3, %lo(D_8015026C)($t3)
/* 0FD3E4 80293DD4 3C0B8015 */ lui $t3, %hi(gSegmentTable+0x14) # $t3, 0x8015
/* 0FD3E8 80293DD8 8D6B026C */ lw $t3, %lo(gSegmentTable+0x14)($t3)
/* 0FD3EC 80293DDC 030FC021 */ addu $t8, $t8, $t7
/* 0FD3F0 80293DE0 8F1802A8 */ lw $t8, %lo(gPhysicalFramebuffers)($t8) # 0x2a8($t8)
/* 0FD3F4 80293DE4 3C010001 */ lui $at, (0x00011800 >> 16) # lui $at, 1
@ -3377,8 +3377,8 @@ glabel L80293DCC
glabel L80293E24
/* 0FD434 80293E24 00027080 */ sll $t6, $v0, 2
/* 0FD438 80293E28 3C0F8015 */ lui $t7, %hi(gPhysicalFramebuffers) # 0x8015
/* 0FD43C 80293E2C 3C198015 */ lui $t9, %hi(D_8015026C) # $t9, 0x8015
/* 0FD440 80293E30 8F39026C */ lw $t9, %lo(D_8015026C)($t9)
/* 0FD43C 80293E2C 3C198015 */ lui $t9, %hi(gSegmentTable+0x14) # $t9, 0x8015
/* 0FD440 80293E30 8F39026C */ lw $t9, %lo(gSegmentTable+0x14)($t9)
/* 0FD444 80293E34 01EE7821 */ addu $t7, $t7, $t6
/* 0FD448 80293E38 8DEF02A8 */ lw $t7, %lo(gPhysicalFramebuffers)($t7) # 0x2a8($t7)
/* 0FD44C 80293E3C 3C010001 */ lui $at, (0x00012800 >> 16) # lui $at, 1
@ -3401,8 +3401,8 @@ glabel L80293E24
glabel L80293E80
/* 0FD490 80293E80 00026880 */ sll $t5, $v0, 2
/* 0FD494 80293E84 3C0E8015 */ lui $t6, %hi(gPhysicalFramebuffers) # 0x8015
/* 0FD498 80293E88 3C188015 */ lui $t8, %hi(D_8015026C) # $t8, 0x8015
/* 0FD49C 80293E8C 8F18026C */ lw $t8, %lo(D_8015026C)($t8)
/* 0FD498 80293E88 3C188015 */ lui $t8, %hi(gSegmentTable+0x14) # $t8, 0x8015
/* 0FD49C 80293E8C 8F18026C */ lw $t8, %lo(gSegmentTable+0x14)($t8)
/* 0FD4A0 80293E90 01CD7021 */ addu $t6, $t6, $t5
/* 0FD4A4 80293E94 8DCE02A8 */ lw $t6, %lo(gPhysicalFramebuffers)($t6) # 0x2a8($t6)
/* 0FD4A8 80293E98 3C010001 */ lui $at, (0x00013800 >> 16) # lui $at, 1
@ -3424,8 +3424,8 @@ glabel L80293E80
glabel L80293ED8
/* 0FD4E8 80293ED8 00026080 */ sll $t4, $v0, 2
/* 0FD4EC 80293EDC 3C0D8015 */ lui $t5, %hi(gPhysicalFramebuffers) # 0x8015
/* 0FD4F0 80293EE0 3C0F8015 */ lui $t7, %hi(D_8015026C) # $t7, 0x8015
/* 0FD4F4 80293EE4 8DEF026C */ lw $t7, %lo(D_8015026C)($t7)
/* 0FD4F0 80293EE0 3C0F8015 */ lui $t7, %hi(gSegmentTable+0x14) # $t7, 0x8015
/* 0FD4F4 80293EE4 8DEF026C */ lw $t7, %lo(gSegmentTable+0x14)($t7)
/* 0FD4F8 80293EE8 01AC6821 */ addu $t5, $t5, $t4
/* 0FD4FC 80293EEC 8DAD02A8 */ lw $t5, %lo(gPhysicalFramebuffers)($t5) # 0x2a8($t5)
/* 0FD500 80293EF0 3C010001 */ lui $at, (0x00014800 >> 16) # lui $at, 1
@ -4431,8 +4431,8 @@ glabel L80294DD8
/* 0FE3E8 80294DD8 0002C880 */ sll $t9, $v0, 2
/* 0FE3EC 80294DDC 3C0E8015 */ lui $t6, %hi(gPhysicalFramebuffers) # 0x8015
/* 0FE3F0 80294DE0 01D97021 */ addu $t6, $t6, $t9
/* 0FE3F4 80294DE4 3C188015 */ lui $t8, %hi(D_8015026C) # $t8, 0x8015
/* 0FE3F8 80294DE8 8F18026C */ lw $t8, %lo(D_8015026C)($t8)
/* 0FE3F4 80294DE4 3C188015 */ lui $t8, %hi(gSegmentTable+0x14) # $t8, 0x8015
/* 0FE3F8 80294DE8 8F18026C */ lw $t8, %lo(gSegmentTable+0x14)($t8)
/* 0FE3FC 80294DEC 8DCE02A8 */ lw $t6, %lo(gPhysicalFramebuffers)($t6) # 0x2a8($t6)
/* 0FE400 80294DF0 3C038000 */ lui $v1, 0x8000
/* 0FE404 80294DF4 34018800 */ li $at, 34816
@ -4452,8 +4452,8 @@ glabel L80294E28
/* 0FE438 80294E28 00027880 */ sll $t7, $v0, 2
/* 0FE43C 80294E2C 3C188015 */ lui $t8, %hi(gPhysicalFramebuffers) # 0x8015
/* 0FE440 80294E30 030FC021 */ addu $t8, $t8, $t7
/* 0FE444 80294E34 3C0E8015 */ lui $t6, %hi(D_8015026C) # $t6, 0x8015
/* 0FE448 80294E38 8DCE026C */ lw $t6, %lo(D_8015026C)($t6)
/* 0FE444 80294E34 3C0E8015 */ lui $t6, %hi(gSegmentTable+0x14) # $t6, 0x8015
/* 0FE448 80294E38 8DCE026C */ lw $t6, %lo(gSegmentTable+0x14)($t6)
/* 0FE44C 80294E3C 8F1802A8 */ lw $t8, %lo(gPhysicalFramebuffers)($t8) # 0x2a8($t8)
/* 0FE450 80294E40 3C038000 */ lui $v1, 0x8000
/* 0FE454 80294E44 34019800 */ li $at, 38912
@ -4474,8 +4474,8 @@ glabel L80294E7C
/* 0FE48C 80294E7C 0002C880 */ sll $t9, $v0, 2
/* 0FE490 80294E80 3C0E8015 */ lui $t6, %hi(gPhysicalFramebuffers) # 0x8015
/* 0FE494 80294E84 01D97021 */ addu $t6, $t6, $t9
/* 0FE498 80294E88 3C188015 */ lui $t8, %hi(D_8015026C) # $t8, 0x8015
/* 0FE49C 80294E8C 8F18026C */ lw $t8, %lo(D_8015026C)($t8)
/* 0FE498 80294E88 3C188015 */ lui $t8, %hi(gSegmentTable+0x14) # $t8, 0x8015
/* 0FE49C 80294E8C 8F18026C */ lw $t8, %lo(gSegmentTable+0x14)($t8)
/* 0FE4A0 80294E90 8DCE02A8 */ lw $t6, %lo(gPhysicalFramebuffers)($t6) # 0x2a8($t6)
/* 0FE4A4 80294E94 3C038000 */ lui $v1, 0x8000
/* 0FE4A8 80294E98 3401A800 */ li $at, 43008
@ -4496,8 +4496,8 @@ glabel L80294ED0
/* 0FE4E0 80294ED0 00027880 */ sll $t7, $v0, 2
/* 0FE4E4 80294ED4 3C188015 */ lui $t8, %hi(gPhysicalFramebuffers) # 0x8015
/* 0FE4E8 80294ED8 030FC021 */ addu $t8, $t8, $t7
/* 0FE4EC 80294EDC 3C0E8015 */ lui $t6, %hi(D_8015026C) # $t6, 0x8015
/* 0FE4F0 80294EE0 8DCE026C */ lw $t6, %lo(D_8015026C)($t6)
/* 0FE4EC 80294EDC 3C0E8015 */ lui $t6, %hi(gSegmentTable+0x14) # $t6, 0x8015
/* 0FE4F0 80294EE0 8DCE026C */ lw $t6, %lo(gSegmentTable+0x14)($t6)
/* 0FE4F4 80294EE4 8F1802A8 */ lw $t8, %lo(gPhysicalFramebuffers)($t8) # 0x2a8($t8)
/* 0FE4F8 80294EE8 3C038000 */ lui $v1, 0x8000
/* 0FE4FC 80294EEC 3401B800 */ li $at, 47104
@ -4519,8 +4519,8 @@ glabel L80294F28
/* 0FE538 80294F28 0002C880 */ sll $t9, $v0, 2
/* 0FE53C 80294F2C 3C0E8015 */ lui $t6, %hi(gPhysicalFramebuffers) # 0x8015
/* 0FE540 80294F30 01D97021 */ addu $t6, $t6, $t9
/* 0FE544 80294F34 3C188015 */ lui $t8, %hi(D_8015026C) # $t8, 0x8015
/* 0FE548 80294F38 8F18026C */ lw $t8, %lo(D_8015026C)($t8)
/* 0FE544 80294F34 3C188015 */ lui $t8, %hi(gSegmentTable+0x14) # $t8, 0x8015
/* 0FE548 80294F38 8F18026C */ lw $t8, %lo(gSegmentTable+0x14)($t8)
/* 0FE54C 80294F3C 8DCE02A8 */ lw $t6, %lo(gPhysicalFramebuffers)($t6) # 0x2a8($t6)
/* 0FE550 80294F40 3C038000 */ lui $v1, 0x8000
/* 0FE554 80294F44 3401C800 */ li $at, 51200
@ -4541,8 +4541,8 @@ glabel L80294F7C
/* 0FE58C 80294F7C 00027880 */ sll $t7, $v0, 2
/* 0FE590 80294F80 3C188015 */ lui $t8, %hi(gPhysicalFramebuffers) # 0x8015
/* 0FE594 80294F84 030FC021 */ addu $t8, $t8, $t7
/* 0FE598 80294F88 3C0E8015 */ lui $t6, %hi(D_8015026C) # $t6, 0x8015
/* 0FE59C 80294F8C 8DCE026C */ lw $t6, %lo(D_8015026C)($t6)
/* 0FE598 80294F88 3C0E8015 */ lui $t6, %hi(gSegmentTable+0x14) # $t6, 0x8015
/* 0FE59C 80294F8C 8DCE026C */ lw $t6, %lo(gSegmentTable+0x14)($t6)
/* 0FE5A0 80294F90 8F1802A8 */ lw $t8, %lo(gPhysicalFramebuffers)($t8) # 0x2a8($t8)
/* 0FE5A4 80294F94 3C038000 */ lui $v1, 0x8000
/* 0FE5A8 80294F98 3401D800 */ li $at, 55296

View File

@ -3094,8 +3094,8 @@ glabel func_802B2EBC
/* 11C520 802B2F10 3C04800F */ lui $a0, %hi(gPlayers+0xDD8) # $a0, 0x800f
/* 11C524 802B2F14 3C058010 */ lui $a1, %hi(gPlayers+0x1BB0) # $a1, 0x8010
/* 11C528 802B2F18 3C028010 */ lui $v0, %hi(gPlayers+0x2988) # $v0, 0x8010
/* 11C52C 802B2F1C 3C078010 */ lui $a3, %hi(D_801001D8) # $a3, 0x8010
/* 11C530 802B2F20 24E701D8 */ addiu $a3, %lo(D_801001D8) # addiu $a3, $a3, 0x1d8
/* 11C52C 802B2F1C 3C078010 */ lui $a3, %hi(gGfxPools+0x2978) # $a3, 0x8010
/* 11C530 802B2F20 24E701D8 */ addiu $a3, %lo(gGfxPools+0x2978) # addiu $a3, $a3, 0x1d8
/* 11C534 802B2F24 24429318 */ addiu $v0, %lo(gPlayers+0x2988) # addiu $v0, $v0, -0x6ce8
/* 11C538 802B2F28 24A58540 */ addiu $a1, %lo(gPlayers+0x1BB0) # addiu $a1, $a1, -0x7ac0
/* 11C53C 802B2F2C 24847768 */ addiu $a0, %lo(gPlayers+0xDD8) # addiu $a0, $a0, 0x7768

View File

@ -1,68 +0,0 @@
glabel func_80000934
/* 001534 80000934 3C0E8016 */ lui $t6, %hi(sController1Unplugged) # $t6, 0x8016
/* 001538 80000938 85CE25EA */ lh $t6, %lo(sController1Unplugged)($t6)
/* 00153C 8000093C 00047900 */ sll $t7, $a0, 4
/* 001540 80000940 3C18800F */ lui $t8, %hi(gControllers) # $t8, 0x800f
/* 001544 80000944 15C00036 */ bnez $t6, .L80000A20
/* 001548 80000948 0004C880 */ sll $t9, $a0, 2
/* 00154C 8000094C 0324C823 */ subu $t9, $t9, $a0
/* 001550 80000950 3C088015 */ lui $t0, %hi(gControllerPads) # $t0, 0x8015
/* 001554 80000954 2508F0F0 */ addiu $t0, %lo(gControllerPads) # addiu $t0, $t0, -0xf10
/* 001558 80000958 0019C840 */ sll $t9, $t9, 1
/* 00155C 8000095C 03281821 */ addu $v1, $t9, $t0
/* 001560 80000960 80690002 */ lb $t1, 2($v1)
/* 001564 80000964 27186910 */ addiu $t8, %lo(gControllers) # addiu $t8, $t8, 0x6910
/* 001568 80000968 01F81021 */ addu $v0, $t7, $t8
/* 00156C 8000096C A4490000 */ sh $t1, ($v0)
/* 001570 80000970 806A0003 */ lb $t2, 3($v1)
/* 001574 80000974 A44A0002 */ sh $t2, 2($v0)
/* 001578 80000978 94650000 */ lhu $a1, ($v1)
/* 00157C 8000097C 30AB0004 */ andi $t3, $a1, 4
/* 001580 80000980 11600003 */ beqz $t3, .L80000990
/* 001584 80000984 34AC2000 */ ori $t4, $a1, 0x2000
/* 001588 80000988 A46C0000 */ sh $t4, ($v1)
/* 00158C 8000098C 3185FFFF */ andi $a1, $t4, 0xffff
.L80000990:
/* 001590 80000990 94470004 */ lhu $a3, 4($v0)
/* 001594 80000994 84460000 */ lh $a2, ($v0)
/* 001598 80000998 00002025 */ move $a0, $zero
/* 00159C 8000099C 00A76826 */ xor $t5, $a1, $a3
/* 0015A0 800009A0 01A57024 */ and $t6, $t5, $a1
/* 0015A4 800009A4 A44E0006 */ sh $t6, 6($v0)
/* 0015A8 800009A8 946F0000 */ lhu $t7, ($v1)
/* 0015AC 800009AC 28C1FFCE */ slti $at, $a2, -0x32
/* 0015B0 800009B0 01E7C026 */ xor $t8, $t7, $a3
/* 0015B4 800009B4 0307C824 */ and $t9, $t8, $a3
/* 0015B8 800009B8 A4590008 */ sh $t9, 8($v0)
/* 0015BC 800009BC 94680000 */ lhu $t0, ($v1)
/* 0015C0 800009C0 10200002 */ beqz $at, .L800009CC
/* 0015C4 800009C4 A4480004 */ sh $t0, 4($v0)
/* 0015C8 800009C8 24040200 */ li $a0, 512
.L800009CC:
/* 0015CC 800009CC 28C10033 */ slti $at, $a2, 0x33
/* 0015D0 800009D0 14200002 */ bnez $at, .L800009DC
/* 0015D4 800009D4 34890100 */ ori $t1, $a0, 0x100
/* 0015D8 800009D8 3124FFFF */ andi $a0, $t1, 0xffff
.L800009DC:
/* 0015DC 800009DC 84430002 */ lh $v1, 2($v0)
/* 0015E0 800009E0 348B0400 */ ori $t3, $a0, 0x400
/* 0015E4 800009E4 2861FFCE */ slti $at, $v1, -0x32
/* 0015E8 800009E8 50200003 */ beql $at, $zero, .L800009F8
/* 0015EC 800009EC 28610033 */ slti $at, $v1, 0x33
/* 0015F0 800009F0 3164FFFF */ andi $a0, $t3, 0xffff
/* 0015F4 800009F4 28610033 */ slti $at, $v1, 0x33
.L800009F8:
/* 0015F8 800009F8 14200002 */ bnez $at, .L80000A04
/* 0015FC 800009FC 348D0800 */ ori $t5, $a0, 0x800
/* 001600 80000A00 31A4FFFF */ andi $a0, $t5, 0xffff
.L80000A04:
/* 001604 80000A04 9445000A */ lhu $a1, 0xa($v0)
/* 001608 80000A08 A444000A */ sh $a0, 0xa($v0)
/* 00160C 80000A0C 00853026 */ xor $a2, $a0, $a1
/* 001610 80000A10 00867824 */ and $t7, $a0, $a2
/* 001614 80000A14 00A6C024 */ and $t8, $a1, $a2
/* 001618 80000A18 A44F000C */ sh $t7, 0xc($v0)
/* 00161C 80000A1C A458000E */ sh $t8, 0xe($v0)
.L80000A20:
/* 001620 80000A20 03E00008 */ jr $ra
/* 001624 80000A24 00000000 */ nop

View File

@ -1,22 +0,0 @@
glabel func_80000CE8
/* 0018E8 80000CE8 3C058015 */ lui $a1, %hi(gDisplayListHead) # $a1, 0x8015
/* 0018EC 80000CEC 24A50298 */ addiu $a1, %lo(gDisplayListHead) # addiu $a1, $a1, 0x298
/* 0018F0 80000CF0 8CA20000 */ lw $v0, ($a1)
/* 0018F4 80000CF4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0018F8 80000CF8 AFBF0014 */ sw $ra, 0x14($sp)
/* 0018FC 80000CFC 244E0008 */ addiu $t6, $v0, 8
/* 001900 80000D00 ACAE0000 */ sw $t6, ($a1)
/* 001904 80000D04 3C0FE900 */ lui $t7, 0xe900
/* 001908 80000D08 AC4F0000 */ sw $t7, ($v0)
/* 00190C 80000D0C AC400004 */ sw $zero, 4($v0)
/* 001910 80000D10 8CA20000 */ lw $v0, ($a1)
/* 001914 80000D14 3C19B800 */ lui $t9, 0xb800
/* 001918 80000D18 24580008 */ addiu $t8, $v0, 8
/* 00191C 80000D1C ACB80000 */ sw $t8, ($a1)
/* 001920 80000D20 AC400004 */ sw $zero, 4($v0)
/* 001924 80000D24 0C0001BA */ jal func_800006E8
/* 001928 80000D28 AC590000 */ sw $t9, ($v0)
/* 00192C 80000D2C 8FBF0014 */ lw $ra, 0x14($sp)
/* 001930 80000D30 27BD0018 */ addiu $sp, $sp, 0x18
/* 001934 80000D34 03E00008 */ jr $ra
/* 001938 80000D38 00000000 */ nop

View File

@ -1,50 +0,0 @@
glabel func_80000D3C
/* 00193C 80000D3C 3C0B8015 */ lui $t3, %hi(gDisplayListHead) # $t3, 0x8015
/* 001940 80000D40 256B0298 */ addiu $t3, %lo(gDisplayListHead) # addiu $t3, $t3, 0x298
/* 001944 80000D44 8D620000 */ lw $v0, ($t3)
/* 001948 80000D48 3C0CE700 */ lui $t4, 0xe700
/* 00194C 80000D4C 3C18B900 */ lui $t8, (0xB900031D >> 16) # lui $t8, 0xb900
/* 001950 80000D50 244E0008 */ addiu $t6, $v0, 8
/* 001954 80000D54 AD6E0000 */ sw $t6, ($t3)
/* 001958 80000D58 AC400004 */ sw $zero, 4($v0)
/* 00195C 80000D5C AC4C0000 */ sw $t4, ($v0)
/* 001960 80000D60 8D630000 */ lw $v1, ($t3)
/* 001964 80000D64 3C190F0A */ lui $t9, (0x0F0A4000 >> 16) # lui $t9, 0xf0a
/* 001968 80000D68 37394000 */ ori $t9, (0x0F0A4000 & 0xFFFF) # ori $t9, $t9, 0x4000
/* 00196C 80000D6C 246F0008 */ addiu $t7, $v1, 8
/* 001970 80000D70 AD6F0000 */ sw $t7, ($t3)
/* 001974 80000D74 3718031D */ ori $t8, (0xB900031D & 0xFFFF) # ori $t8, $t8, 0x31d
/* 001978 80000D78 AC780000 */ sw $t8, ($v1)
/* 00197C 80000D7C AC790004 */ sw $t9, 4($v1)
/* 001980 80000D80 8D630000 */ lw $v1, ($t3)
/* 001984 80000D84 3C0DBA00 */ lui $t5, (0xBA001402 >> 16) # lui $t5, 0xba00
/* 001988 80000D88 35AD1402 */ ori $t5, (0xBA001402 & 0xFFFF) # ori $t5, $t5, 0x1402
/* 00198C 80000D8C 246E0008 */ addiu $t6, $v1, 8
/* 001990 80000D90 AD6E0000 */ sw $t6, ($t3)
/* 001994 80000D94 3C0F0030 */ lui $t7, 0x30
/* 001998 80000D98 AC6F0004 */ sw $t7, 4($v1)
/* 00199C 80000D9C AC6D0000 */ sw $t5, ($v1)
/* 0019A0 80000DA0 8D630000 */ lw $v1, ($t3)
/* 0019A4 80000DA4 3C19F700 */ lui $t9, 0xf700
/* 0019A8 80000DA8 3C0FF64F */ lui $t7, (0xF64FC3BC >> 16) # lui $t7, 0xf64f
/* 0019AC 80000DAC 24780008 */ addiu $t8, $v1, 8
/* 0019B0 80000DB0 AD780000 */ sw $t8, ($t3)
/* 0019B4 80000DB4 AC640004 */ sw $a0, 4($v1)
/* 0019B8 80000DB8 AC790000 */ sw $t9, ($v1)
/* 0019BC 80000DBC 8D630000 */ lw $v1, ($t3)
/* 0019C0 80000DC0 35EFC3BC */ ori $t7, (0xF64FC3BC & 0xFFFF) # ori $t7, $t7, 0xc3bc
/* 0019C4 80000DC4 246E0008 */ addiu $t6, $v1, 8
/* 0019C8 80000DC8 AD6E0000 */ sw $t6, ($t3)
/* 0019CC 80000DCC AC600004 */ sw $zero, 4($v1)
/* 0019D0 80000DD0 AC6F0000 */ sw $t7, ($v1)
/* 0019D4 80000DD4 8D630000 */ lw $v1, ($t3)
/* 0019D8 80000DD8 24780008 */ addiu $t8, $v1, 8
/* 0019DC 80000DDC AD780000 */ sw $t8, ($t3)
/* 0019E0 80000DE0 AC600004 */ sw $zero, 4($v1)
/* 0019E4 80000DE4 AC6C0000 */ sw $t4, ($v1)
/* 0019E8 80000DE8 8D630000 */ lw $v1, ($t3)
/* 0019EC 80000DEC 24790008 */ addiu $t9, $v1, 8
/* 0019F0 80000DF0 AD790000 */ sw $t9, ($t3)
/* 0019F4 80000DF4 AC600004 */ sw $zero, 4($v1)
/* 0019F8 80000DF8 03E00008 */ jr $ra
/* 0019FC 80000DFC AC6D0000 */ sw $t5, ($v1)

View File

@ -1,29 +0,0 @@
glabel func_8000105C
/* 001C5C 8000105C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 001C60 80001060 AFBF0014 */ sw $ra, 0x14($sp)
/* 001C64 80001064 3C048028 */ lui $a0, 0x8028
/* 001C68 80001068 0C033698 */ jal bzero
/* 001C6C 8000106C 3405DF00 */ li $a1, 57088
/* 001C70 80001070 0C033624 */ jal osWritebackDCacheAll
/* 001C74 80001074 00000000 */ nop
/* 001C78 80001078 3C050012 */ lui $a1, %hi(_code_80280000SegmentRomStart) # $a1, 0x12
/* 001C7C 8000107C 3C0E0013 */ lui $t6, %hi(_code_80280000SegmentRomEnd) # $t6, 0x13
/* 001C80 80001080 24A53640 */ addiu $a1, %lo(_code_80280000SegmentRomStart) # addiu $a1, $a1, 0x3640
/* 001C84 80001084 25CEAAE0 */ addiu $t6, %lo(_code_80280000SegmentRomEnd) # addiu $t6, $t6, -0x5520
/* 001C88 80001088 01C53023 */ subu $a2, $t6, $a1
/* 001C8C 8000108C 24C6000F */ addiu $a2, $a2, 0xf
/* 001C90 80001090 2401FFF0 */ li $at, -16
/* 001C94 80001094 00C17824 */ and $t7, $a2, $at
/* 001C98 80001098 01E03025 */ move $a2, $t7
/* 001C9C 8000109C 0C000456 */ jal dma_copy
/* 001CA0 800010A0 3C048028 */ lui $a0, 0x8028
/* 001CA4 800010A4 3C048028 */ lui $a0, 0x8028
/* 001CA8 800010A8 0C0336C0 */ jal osInvalICache
/* 001CAC 800010AC 3405DF00 */ li $a1, 57088
/* 001CB0 800010B0 3C048028 */ lui $a0, 0x8028
/* 001CB4 800010B4 0C0336E0 */ jal osInvalDCache
/* 001CB8 800010B8 3405DF00 */ li $a1, 57088
/* 001CBC 800010BC 8FBF0014 */ lw $ra, 0x14($sp)
/* 001CC0 800010C0 27BD0018 */ addiu $sp, $sp, 0x18
/* 001CC4 800010C4 03E00008 */ jr $ra
/* 001CC8 800010C8 00000000 */ nop

View File

@ -1,36 +0,0 @@
glabel func_800010CC
/* 001CCC 800010CC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 001CD0 800010D0 AFBF0014 */ sw $ra, 0x14($sp)
/* 001CD4 800010D4 3C048028 */ lui $a0, (0x8028DF00 >> 16) # lui $a0, 0x8028
/* 001CD8 800010D8 3C050002 */ lui $a1, (0x0002C470 >> 16) # lui $a1, 2
/* 001CDC 800010DC 34A5C470 */ ori $a1, (0x0002C470 & 0xFFFF) # ori $a1, $a1, 0xc470
/* 001CE0 800010E0 0C033698 */ jal bzero
/* 001CE4 800010E4 3484DF00 */ ori $a0, (0x8028DF00 & 0xFFFF) # ori $a0, $a0, 0xdf00
/* 001CE8 800010E8 0C033624 */ jal osWritebackDCacheAll
/* 001CEC 800010EC 00000000 */ nop
/* 001CF0 800010F0 3C05000F */ lui $a1, %hi(_code_8028DF00SegmentRomStart) # $a1, 0xf
/* 001CF4 800010F4 3C0E0012 */ lui $t6, %hi(_code_8028DF00SegmentRomEnd) # $t6, 0x12
/* 001CF8 800010F8 24A57510 */ addiu $a1, %lo(_code_8028DF00SegmentRomStart) # addiu $a1, $a1, 0x7510
/* 001CFC 800010FC 25CE3640 */ addiu $t6, %lo(_code_8028DF00SegmentRomEnd) # addiu $t6, $t6, 0x3640
/* 001D00 80001100 01C53023 */ subu $a2, $t6, $a1
/* 001D04 80001104 24C6000F */ addiu $a2, $a2, 0xf
/* 001D08 80001108 2401FFF0 */ li $at, -16
/* 001D0C 8000110C 00C17824 */ and $t7, $a2, $at
/* 001D10 80001110 3C048028 */ lui $a0, (0x8028DF00 >> 16) # lui $a0, 0x8028
/* 001D14 80001114 3484DF00 */ ori $a0, (0x8028DF00 & 0xFFFF) # ori $a0, $a0, 0xdf00
/* 001D18 80001118 0C000456 */ jal dma_copy
/* 001D1C 8000111C 01E03025 */ move $a2, $t7
/* 001D20 80001120 3C048028 */ lui $a0, (0x8028DF00 >> 16) # lui $a0, 0x8028
/* 001D24 80001124 3C050002 */ lui $a1, (0x0002C470 >> 16) # lui $a1, 2
/* 001D28 80001128 34A5C470 */ ori $a1, (0x0002C470 & 0xFFFF) # ori $a1, $a1, 0xc470
/* 001D2C 8000112C 0C0336C0 */ jal osInvalICache
/* 001D30 80001130 3484DF00 */ ori $a0, (0x8028DF00 & 0xFFFF) # ori $a0, $a0, 0xdf00
/* 001D34 80001134 3C048028 */ lui $a0, (0x8028DF00 >> 16) # lui $a0, 0x8028
/* 001D38 80001138 3C050002 */ lui $a1, (0x0002C470 >> 16) # lui $a1, 2
/* 001D3C 8000113C 34A5C470 */ ori $a1, (0x0002C470 & 0xFFFF) # ori $a1, $a1, 0xc470
/* 001D40 80001140 0C0336E0 */ jal osInvalDCache
/* 001D44 80001144 3484DF00 */ ori $a0, (0x8028DF00 & 0xFFFF) # ori $a0, $a0, 0xdf00
/* 001D48 80001148 8FBF0014 */ lw $ra, 0x14($sp)
/* 001D4C 8000114C 27BD0018 */ addiu $sp, $sp, 0x18
/* 001D50 80001150 03E00008 */ jr $ra
/* 001D54 80001154 00000000 */ nop

View File

@ -1,738 +0,0 @@
glabel func_8000142C
/* 00202C 8000142C 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 002030 80001430 3C018015 */ lui $at, %hi(D_80150112) # $at, 0x8015
/* 002034 80001434 AFB0001C */ sw $s0, 0x1c($sp)
/* 002038 80001438 A4200112 */ sh $zero, %lo(D_80150112)($at)
/* 00203C 8000143C 3C10800E */ lui $s0, %hi(D_800DC5FC) # $s0, 0x800e
/* 002040 80001440 3C018016 */ lui $at, %hi(D_80164AF0) # $at, 0x8016
/* 002044 80001444 2610C5FC */ addiu $s0, %lo(D_800DC5FC) # addiu $s0, $s0, -0x3a04
/* 002048 80001448 A4204AF0 */ sh $zero, %lo(D_80164AF0)($at)
/* 00204C 8000144C 960E0000 */ lhu $t6, ($s0)
/* 002050 80001450 AFBF0024 */ sw $ra, 0x24($sp)
/* 002054 80001454 AFB10020 */ sw $s1, 0x20($sp)
/* 002058 80001458 11C00003 */ beqz $t6, .L80001468
/* 00205C 8000145C F7B40010 */ sdc1 $f20, 0x10($sp)
/* 002060 80001460 0C0A42C5 */ jal func_80290B14
/* 002064 80001464 00000000 */ nop
.L80001468:
/* 002068 80001468 3C0F800E */ lui $t7, %hi(D_800DC5C0) # $t7, 0x800e
/* 00206C 8000146C 95EFC5C0 */ lhu $t7, %lo(D_800DC5C0)($t7)
/* 002070 80001470 3C03800E */ lui $v1, %hi(sNumVBlanks) # $v1, 0x800e
/* 002074 80001474 2463C58C */ addiu $v1, %lo(sNumVBlanks) # addiu $v1, $v1, -0x3a74
/* 002078 80001478 51E00006 */ beql $t7, $zero, .L80001494
/* 00207C 8000147C 84620000 */ lh $v0, ($v1)
/* 002080 80001480 0C0A8E2D */ jal func_802A38B4
/* 002084 80001484 00000000 */ nop
/* 002088 80001488 1000028B */ b .L80001EB8
/* 00208C 8000148C 8FBF0024 */ lw $ra, 0x24($sp)
/* 002090 80001490 84620000 */ lh $v0, ($v1)
.L80001494:
/* 002094 80001494 24180005 */ li $t8, 5
/* 002098 80001498 24190001 */ li $t9, 1
/* 00209C 8000149C 28410006 */ slti $at, $v0, 6
/* 0020A0 800014A0 14200003 */ bnez $at, .L800014B0
/* 0020A4 800014A4 00000000 */ nop
/* 0020A8 800014A8 A4780000 */ sh $t8, ($v1)
/* 0020AC 800014AC 84620000 */ lh $v0, ($v1)
.L800014B0:
/* 0020B0 800014B0 04410002 */ bgez $v0, .L800014BC
/* 0020B4 800014B4 00000000 */ nop
/* 0020B8 800014B8 A4790000 */ sh $t9, ($v1)
.L800014BC:
/* 0020BC 800014BC 0C0A93BD */ jal func_802A4EF4
/* 0020C0 800014C0 00000000 */ nop
/* 0020C4 800014C4 3C02800E */ lui $v0, %hi(D_800DC52C) # $v0, 0x800e
/* 0020C8 800014C8 8C42C52C */ lw $v0, %lo(D_800DC52C)($v0)
/* 0020CC 800014CC 24090002 */ li $t1, 2
/* 0020D0 800014D0 3C018015 */ lui $at, %hi(D_80150114) # $at, 0x8015
/* 0020D4 800014D4 1040000D */ beqz $v0, .L8000150C
/* 0020D8 800014D8 00000000 */ nop
/* 0020DC 800014DC 24010001 */ li $at, 1
/* 0020E0 800014E0 10410117 */ beq $v0, $at, .L80001940
/* 0020E4 800014E4 3C0B800E */ lui $t3, %hi(gCurrentCourseId) # 0x800e
/* 0020E8 800014E8 24040002 */ li $a0, 2
/* 0020EC 800014EC 104400AB */ beq $v0, $a0, .L8000179C
/* 0020F0 800014F0 3C0B800E */ lui $t3, %hi(gCurrentCourseId) # 0x800e
/* 0020F4 800014F4 24030003 */ li $v1, 3
/* 0020F8 800014F8 1043017B */ beq $v0, $v1, .L80001AE8
/* 0020FC 800014FC 3C0C800E */ lui $t4, %hi(gPlayerCountSelection1) # 0x800e
/* 002100 80001500 3C04800E */ lui $a0, %hi(gEnableDebugMode) # $a0, 0x800e
/* 002104 80001504 1000022F */ b .L80001DC4
/* 002108 80001508 9484C520 */ lhu $a0, %lo(gEnableDebugMode)($a0)
.L8000150C:
/* 00210C 8000150C 0C0017D1 */ jal func_80005F44
/* 002110 80001510 AC290114 */ sw $t1, %lo(D_80150114)($at)
/* 002114 80001514 960A0000 */ lhu $t2, ($s0)
/* 002118 80001518 3C0B8015 */ lui $t3, %hi(D_80150114) # $t3, 0x8015
/* 00211C 8000151C 15400033 */ bnez $t2, .L800015EC
/* 002120 80001520 00000000 */ nop
/* 002124 80001524 8D6B0114 */ lw $t3, %lo(D_80150114)($t3)
/* 002128 80001528 00008025 */ move $s0, $zero
/* 00212C 8000152C 3C01800F */ lui $at, %hi(D_800EB5F8)
/* 002130 80001530 1960002C */ blez $t3, .L800015E4
/* 002134 80001534 3C11800E */ lui $s1, %hi(gCourseTimer) # $s1, 0x800e
/* 002138 80001538 D434B5F8 */ ldc1 $f20, %lo(D_800EB5F8)($at)
/* 00213C 8000153C 2631C598 */ addiu $s1, %lo(gCourseTimer) # addiu $s1, $s1, -0x3a68
.L80001540:
/* 002140 80001540 3C0C8015 */ lui $t4, %hi(D_8015011E) # $t4, 0x8015
/* 002144 80001544 958C011E */ lhu $t4, %lo(D_8015011E)($t4)
/* 002148 80001548 11800006 */ beqz $t4, .L80001564
/* 00214C 8000154C 00000000 */ nop
/* 002150 80001550 C6240000 */ lwc1 $f4, ($s1)
/* 002154 80001554 460021A1 */ cvt.d.s $f6, $f4
/* 002158 80001558 46343200 */ add.d $f8, $f6, $f20
/* 00215C 8000155C 462042A0 */ cvt.s.d $f10, $f8
/* 002160 80001560 E62A0000 */ swc1 $f10, ($s1)
.L80001564:
/* 002164 80001564 0C0A427C */ jal func_802909F0
/* 002168 80001568 00000000 */ nop
/* 00216C 8000156C 0C0A8355 */ jal func_802A0D54
/* 002170 80001570 00000000 */ nop
/* 002174 80001574 0C00E0B7 */ jal func_800382DC
/* 002178 80001578 00000000 */ nop
/* 00217C 8000157C 3C04800E */ lui $a0, %hi(D_800DC4FC) # $a0, 0x800e
/* 002180 80001580 3C05800E */ lui $a1, %hi(D_800DDB40) # $a1, 0x800e
/* 002184 80001584 8CA5DB40 */ lw $a1, %lo(D_800DDB40)($a1)
/* 002188 80001588 8C84C4FC */ lw $a0, %lo(D_800DC4FC)($a0)
/* 00218C 8000158C 0C007BA6 */ jal func_8001EE98
/* 002190 80001590 00003025 */ move $a2, $zero
/* 002194 80001594 0C00A3DC */ jal func_80028F70
/* 002198 80001598 00000000 */ nop
/* 00219C 8000159C 0C0A3D1D */ jal func_8028F474
/* 0021A0 800015A0 00000000 */ nop
/* 0021A4 800015A4 0C0166B2 */ jal func_80059AC8
/* 0021A8 800015A8 00000000 */ nop
/* 0021AC 800015AC 0C0A8D52 */ jal update_simple_objects
/* 0021B0 800015B0 00000000 */ nop
/* 0021B4 800015B4 0C0A59A8 */ jal func_802966A0
/* 0021B8 800015B8 00000000 */ nop
/* 0021BC 800015BC 0C0A3F2F */ jal func_8028FCBC
/* 0021C0 800015C0 00000000 */ nop
/* 0021C4 800015C4 3C0F8015 */ lui $t7, %hi(D_80150114) # $t7, 0x8015
/* 0021C8 800015C8 8DEF0114 */ lw $t7, %lo(D_80150114)($t7)
/* 0021CC 800015CC 26100001 */ addiu $s0, $s0, 1
/* 0021D0 800015D0 00106C00 */ sll $t5, $s0, 0x10
/* 0021D4 800015D4 000D8403 */ sra $s0, $t5, 0x10
/* 0021D8 800015D8 020F082A */ slt $at, $s0, $t7
/* 0021DC 800015DC 1420FFD8 */ bnez $at, .L80001540
/* 0021E0 800015E0 00000000 */ nop
.L800015E4:
/* 0021E4 800015E4 0C0089D1 */ jal func_80022744
/* 0021E8 800015E8 00000000 */ nop
.L800015EC:
/* 0021EC 800015EC 0C01681C */ jal func_8005A070
/* 0021F0 800015F0 00000000 */ nop
/* 0021F4 800015F4 3C01800E */ lui $at, %hi(sNumVBlanks) # $at, 0x800e
/* 0021F8 800015F8 A420C58C */ sh $zero, %lo(sNumVBlanks)($at)
/* 0021FC 800015FC 0C000D54 */ jal profiler_log_thread5_time
/* 002200 80001600 24040001 */ li $a0, 1
/* 002204 80001604 3C018016 */ lui $at, %hi(D_8015F788) # $at, 0x8016
/* 002208 80001608 0C0A9669 */ jal func_802A59A4
/* 00220C 8000160C AC20F788 */ sw $zero, %lo(D_8015F788)($at)
/* 002210 80001610 3C04800E */ lui $a0, %hi(gEnableDebugMode) # $a0, 0x800e
/* 002214 80001614 9484C520 */ lhu $a0, %lo(gEnableDebugMode)($a0)
/* 002218 80001618 3C05800E */ lui $a1, %hi(D_800DC514) # $a1, 0x800e
/* 00221C 8000161C 24A5C514 */ addiu $a1, %lo(D_800DC514) # addiu $a1, $a1, -0x3aec
/* 002220 80001620 54800006 */ bnel $a0, $zero, .L8000163C
/* 002224 80001624 94B80000 */ lhu $t8, ($a1)
/* 002228 80001628 3C05800E */ lui $a1, %hi(D_800DC514) # $a1, 0x800e
/* 00222C 8000162C 24A5C514 */ addiu $a1, %lo(D_800DC514) # addiu $a1, $a1, -0x3aec
/* 002230 80001630 100001E4 */ b .L80001DC4
/* 002234 80001634 A4A00000 */ sh $zero, ($a1)
/* 002238 80001638 94B80000 */ lhu $t8, ($a1)
.L8000163C:
/* 00223C 8000163C 3C088016 */ lui $t0, %hi(D_801625E8) # $t0, 0x8016
/* 002240 80001640 3C0C800E */ lui $t4, %hi(D_800DDB40) # $t4, 0x800e
/* 002244 80001644 13000048 */ beqz $t8, .L80001768
/* 002248 80001648 3C03800E */ lui $v1, %hi(D_800DC4BC) # 0x800e
/* 00224C 8000164C 3C03800E */ lui $v1, %hi(D_800DC4BC) # $v1, 0x800e
/* 002250 80001650 8C63C4BC */ lw $v1, %lo(D_800DC4BC)($v1)
/* 002254 80001654 3C06800F */ lui $a2, %hi(D_800EB5D0) # $a2, 0x800f
/* 002258 80001658 24C6B5D0 */ addiu $a2, %lo(D_800EB5D0) # addiu $a2, $a2, -0x4a30
/* 00225C 8000165C 94790006 */ lhu $t9, 6($v1)
/* 002260 80001660 24040028 */ li $a0, 40
/* 002264 80001664 33290010 */ andi $t1, $t9, 0x10
/* 002268 80001668 11200008 */ beqz $t1, .L8000168C
/* 00226C 8000166C 00000000 */ nop
/* 002270 80001670 94620004 */ lhu $v0, 4($v1)
/* 002274 80001674 304A8000 */ andi $t2, $v0, 0x8000
/* 002278 80001678 11400004 */ beqz $t2, .L8000168C
/* 00227C 8000167C 304B4000 */ andi $t3, $v0, 0x4000
/* 002280 80001680 11600002 */ beqz $t3, .L8000168C
/* 002284 80001684 00000000 */ nop
/* 002288 80001688 A4A00000 */ sh $zero, ($a1)
.L8000168C:
/* 00228C 8000168C 8D8CDB40 */ lw $t4, %lo(D_800DDB40)($t4)
/* 002290 80001690 3C0D800E */ lui $t5, %hi(D_800DC5EC) # $t5, 0x800e
/* 002294 80001694 8DADC5EC */ lw $t5, %lo(D_800DC5EC)($t5)
/* 002298 80001698 95820026 */ lhu $v0, 0x26($t4)
/* 00229C 8000169C 250825E8 */ addiu $t0, %lo(D_801625E8) # addiu $t0, $t0, 0x25e8
/* 0022A0 800016A0 85AE0038 */ lh $t6, 0x38($t5)
/* 0022A4 800016A4 28412000 */ slti $at, $v0, 0x2000
/* 0022A8 800016A8 10200006 */ beqz $at, .L800016C4
/* 0022AC 800016AC A50E0000 */ sh $t6, ($t0)
/* 0022B0 800016B0 24050064 */ li $a1, 100
/* 0022B4 800016B4 0C015E94 */ jal func_80057A50
/* 0022B8 800016B8 85070000 */ lh $a3, ($t0)
/* 0022BC 800016BC 10000027 */ b .L8000175C
/* 0022C0 800016C0 00000000 */ nop
.L800016C4:
/* 0022C4 800016C4 28416000 */ slti $at, $v0, 0x6000
/* 0022C8 800016C8 10200008 */ beqz $at, .L800016EC
/* 0022CC 800016CC 24040028 */ li $a0, 40
/* 0022D0 800016D0 3C06800F */ lui $a2, %hi(D_800EB5D8) # $a2, 0x800f
/* 0022D4 800016D4 24C6B5D8 */ addiu $a2, %lo(D_800EB5D8) # addiu $a2, $a2, -0x4a28
/* 0022D8 800016D8 24050064 */ li $a1, 100
/* 0022DC 800016DC 0C015E94 */ jal func_80057A50
/* 0022E0 800016E0 85070000 */ lh $a3, ($t0)
/* 0022E4 800016E4 1000001D */ b .L8000175C
/* 0022E8 800016E8 00000000 */ nop
.L800016EC:
/* 0022EC 800016EC 3401A000 */ li $at, 40960
/* 0022F0 800016F0 0041082A */ slt $at, $v0, $at
/* 0022F4 800016F4 10200008 */ beqz $at, .L80001718
/* 0022F8 800016F8 24040028 */ li $a0, 40
/* 0022FC 800016FC 3C06800F */ lui $a2, %hi(D_800EB5E0) # $a2, 0x800f
/* 002300 80001700 24C6B5E0 */ addiu $a2, %lo(D_800EB5E0) # addiu $a2, $a2, -0x4a20
/* 002304 80001704 24050064 */ li $a1, 100
/* 002308 80001708 0C015E94 */ jal func_80057A50
/* 00230C 8000170C 85070000 */ lh $a3, ($t0)
/* 002310 80001710 10000012 */ b .L8000175C
/* 002314 80001714 00000000 */ nop
.L80001718:
/* 002318 80001718 3401E000 */ li $at, 57344
/* 00231C 8000171C 0041082A */ slt $at, $v0, $at
/* 002320 80001720 10200009 */ beqz $at, .L80001748
/* 002324 80001724 24040028 */ li $a0, 40
/* 002328 80001728 3C06800F */ lui $a2, %hi(D_800EB5E8) # $a2, 0x800f
/* 00232C 8000172C 24C6B5E8 */ addiu $a2, %lo(D_800EB5E8) # addiu $a2, $a2, -0x4a18
/* 002330 80001730 24040028 */ li $a0, 40
/* 002334 80001734 24050064 */ li $a1, 100
/* 002338 80001738 0C015E94 */ jal func_80057A50
/* 00233C 8000173C 85070000 */ lh $a3, ($t0)
/* 002340 80001740 10000006 */ b .L8000175C
/* 002344 80001744 00000000 */ nop
.L80001748:
/* 002348 80001748 3C06800F */ lui $a2, %hi(D_800EB5F0) # $a2, 0x800f
/* 00234C 8000174C 24C6B5F0 */ addiu $a2, %lo(D_800EB5F0) # addiu $a2, $a2, -0x4a10
/* 002350 80001750 24050064 */ li $a1, 100
/* 002354 80001754 0C015E94 */ jal func_80057A50
/* 002358 80001758 85070000 */ lh $a3, ($t0)
.L8000175C:
/* 00235C 8000175C 3C04800E */ lui $a0, %hi(gEnableDebugMode) # $a0, 0x800e
/* 002360 80001760 10000198 */ b .L80001DC4
/* 002364 80001764 9484C520 */ lhu $a0, %lo(gEnableDebugMode)($a0)
.L80001768:
/* 002368 80001768 8C63C4BC */ lw $v1, %lo(D_800DC4BC)($v1) # -0x3b44($v1)
/* 00236C 8000176C 946F0006 */ lhu $t7, 6($v1)
/* 002370 80001770 31F80020 */ andi $t8, $t7, 0x20
/* 002374 80001774 13000193 */ beqz $t8, .L80001DC4
/* 002378 80001778 00000000 */ nop
/* 00237C 8000177C 94620004 */ lhu $v0, 4($v1)
/* 002380 80001780 30598000 */ andi $t9, $v0, 0x8000
/* 002384 80001784 1320018F */ beqz $t9, .L80001DC4
/* 002388 80001788 30494000 */ andi $t1, $v0, 0x4000
/* 00238C 8000178C 1120018D */ beqz $t1, .L80001DC4
/* 002390 80001790 240A0001 */ li $t2, 1
/* 002394 80001794 1000018B */ b .L80001DC4
/* 002398 80001798 A4AA0000 */ sh $t2, ($a1)
.L8000179C:
/* 00239C 8000179C 856BC5A0 */ lh $t3, %lo(gCurrentCourseId)($t3) # -0x3a60($t3)
/* 0023A0 800017A0 24010012 */ li $at, 18
/* 0023A4 800017A4 24030003 */ li $v1, 3
/* 0023A8 800017A8 15610004 */ bne $t3, $at, .L800017BC
/* 0023AC 800017AC 3C0D8015 */ lui $t5, %hi(D_80150114) # $t5, 0x8015
/* 0023B0 800017B0 3C018015 */ lui $at, %hi(D_80150114) # $at, 0x8015
/* 0023B4 800017B4 10000003 */ b .L800017C4
/* 0023B8 800017B8 AC230114 */ sw $v1, %lo(D_80150114)($at)
.L800017BC:
/* 0023BC 800017BC 3C018015 */ lui $at, %hi(D_80150114) # $at, 0x8015
/* 0023C0 800017C0 AC240114 */ sw $a0, %lo(D_80150114)($at)
.L800017C4:
/* 0023C4 800017C4 960C0000 */ lhu $t4, ($s0)
/* 0023C8 800017C8 1580003B */ bnez $t4, .L800018B8
/* 0023CC 800017CC 00000000 */ nop
/* 0023D0 800017D0 8DAD0114 */ lw $t5, %lo(D_80150114)($t5)
/* 0023D4 800017D4 00008025 */ move $s0, $zero
/* 0023D8 800017D8 3C01800F */ lui $at, %hi(D_800EB600)
/* 0023DC 800017DC 19A00034 */ blez $t5, .L800018B0
/* 0023E0 800017E0 3C11800E */ lui $s1, %hi(gCourseTimer) # $s1, 0x800e
/* 0023E4 800017E4 D434B600 */ ldc1 $f20, %lo(D_800EB600)($at)
/* 0023E8 800017E8 2631C598 */ addiu $s1, %lo(gCourseTimer) # addiu $s1, $s1, -0x3a68
.L800017EC:
/* 0023EC 800017EC 3C0E8015 */ lui $t6, %hi(D_8015011E) # $t6, 0x8015
/* 0023F0 800017F0 95CE011E */ lhu $t6, %lo(D_8015011E)($t6)
/* 0023F4 800017F4 11C00006 */ beqz $t6, .L80001810
/* 0023F8 800017F8 00000000 */ nop
/* 0023FC 800017FC C6300000 */ lwc1 $f16, ($s1)
/* 002400 80001800 460084A1 */ cvt.d.s $f18, $f16
/* 002404 80001804 46349100 */ add.d $f4, $f18, $f20
/* 002408 80001808 462021A0 */ cvt.s.d $f6, $f4
/* 00240C 8000180C E6260000 */ swc1 $f6, ($s1)
.L80001810:
/* 002410 80001810 0C0A427C */ jal func_802909F0
/* 002414 80001814 00000000 */ nop
/* 002418 80001818 0C0A8355 */ jal func_802A0D54
/* 00241C 8000181C 00000000 */ nop
/* 002420 80001820 0C00E0B7 */ jal func_800382DC
/* 002424 80001824 00000000 */ nop
/* 002428 80001828 3C04800E */ lui $a0, %hi(D_800DC4FC) # $a0, 0x800e
/* 00242C 8000182C 3C05800E */ lui $a1, %hi(D_800DDB40) # $a1, 0x800e
/* 002430 80001830 8CA5DB40 */ lw $a1, %lo(D_800DDB40)($a1)
/* 002434 80001834 8C84C4FC */ lw $a0, %lo(D_800DC4FC)($a0)
/* 002438 80001838 0C007BA6 */ jal func_8001EE98
/* 00243C 8000183C 00003025 */ move $a2, $zero
/* 002440 80001840 0C00A418 */ jal func_80029060
/* 002444 80001844 00000000 */ nop
/* 002448 80001848 3C04800E */ lui $a0, %hi(D_800DC500) # $a0, 0x800e
/* 00244C 8000184C 3C05800E */ lui $a1, %hi(D_800DDB44) # $a1, 0x800e
/* 002450 80001850 8CA5DB44 */ lw $a1, %lo(D_800DDB44)($a1)
/* 002454 80001854 8C84C500 */ lw $a0, %lo(D_800DC500)($a0)
/* 002458 80001858 0C007BA6 */ jal func_8001EE98
/* 00245C 8000185C 24060001 */ li $a2, 1
/* 002460 80001860 0C00A454 */ jal func_80029150
/* 002464 80001864 00000000 */ nop
/* 002468 80001868 0C0A3D1D */ jal func_8028F474
/* 00246C 8000186C 00000000 */ nop
/* 002470 80001870 0C0166B2 */ jal func_80059AC8
/* 002474 80001874 00000000 */ nop
/* 002478 80001878 0C0A8D52 */ jal update_simple_objects
/* 00247C 8000187C 00000000 */ nop
/* 002480 80001880 0C0A59A8 */ jal func_802966A0
/* 002484 80001884 00000000 */ nop
/* 002488 80001888 0C0A3F2F */ jal func_8028FCBC
/* 00248C 8000188C 00000000 */ nop
/* 002490 80001890 3C198015 */ lui $t9, %hi(D_80150114) # $t9, 0x8015
/* 002494 80001894 8F390114 */ lw $t9, %lo(D_80150114)($t9)
/* 002498 80001898 26100001 */ addiu $s0, $s0, 1
/* 00249C 8000189C 00107C00 */ sll $t7, $s0, 0x10
/* 0024A0 800018A0 000F8403 */ sra $s0, $t7, 0x10
/* 0024A4 800018A4 0219082A */ slt $at, $s0, $t9
/* 0024A8 800018A8 1420FFD0 */ bnez $at, .L800017EC
/* 0024AC 800018AC 00000000 */ nop
.L800018B0:
/* 0024B0 800018B0 0C0089D1 */ jal func_80022744
/* 0024B4 800018B4 00000000 */ nop
.L800018B8:
/* 0024B8 800018B8 0C01681C */ jal func_8005A070
/* 0024BC 800018BC 00000000 */ nop
/* 0024C0 800018C0 0C000D54 */ jal profiler_log_thread5_time
/* 0024C4 800018C4 24040001 */ li $a0, 1
/* 0024C8 800018C8 3C01800E */ lui $at, %hi(sNumVBlanks) # $at, 0x800e
/* 0024CC 800018CC 0C0A9F02 */ jal func_802A7C08
/* 0024D0 800018D0 A420C58C */ sh $zero, %lo(sNumVBlanks)($at)
/* 0024D4 800018D4 0C0A8F8F */ jal func_802A3E3C
/* 0024D8 800018D8 00000000 */ nop
/* 0024DC 800018DC 3C09800E */ lui $t1, %hi(D_800DC5B0) # $t1, 0x800e
/* 0024E0 800018E0 9529C5B0 */ lhu $t1, %lo(D_800DC5B0)($t1)
/* 0024E4 800018E4 11200003 */ beqz $t1, .L800018F4
/* 0024E8 800018E8 00000000 */ nop
/* 0024EC 800018EC 0C0A9075 */ jal func_802A41D4
/* 0024F0 800018F0 00000000 */ nop
.L800018F4:
/* 0024F4 800018F4 3C0A800E */ lui $t2, %hi(D_800DC5E8) # $t2, 0x800e
/* 0024F8 800018F8 8D4AC5E8 */ lw $t2, %lo(D_800DC5E8)($t2)
/* 0024FC 800018FC 3C018016 */ lui $at, %hi(D_8015F788) # $at, 0x8016
/* 002500 80001900 AC20F788 */ sw $zero, %lo(D_8015F788)($at)
/* 002504 80001904 15400007 */ bnez $t2, .L80001924
/* 002508 80001908 00000000 */ nop
/* 00250C 8000190C 0C0A97EB */ jal func_802A5FAC
/* 002510 80001910 00000000 */ nop
/* 002514 80001914 0C0A972D */ jal func_802A5CB4
/* 002518 80001918 00000000 */ nop
/* 00251C 8000191C 10000005 */ b .L80001934
/* 002520 80001920 00000000 */ nop
.L80001924:
/* 002524 80001924 0C0A972D */ jal func_802A5CB4
/* 002528 80001928 00000000 */ nop
/* 00252C 8000192C 0C0A97EB */ jal func_802A5FAC
/* 002530 80001930 00000000 */ nop
.L80001934:
/* 002534 80001934 3C04800E */ lui $a0, %hi(gEnableDebugMode) # $a0, 0x800e
/* 002538 80001938 10000122 */ b .L80001DC4
/* 00253C 8000193C 9484C520 */ lhu $a0, %lo(gEnableDebugMode)($a0)
.L80001940:
/* 002540 80001940 856BC5A0 */ lh $t3, %lo(gCurrentCourseId)($t3) # -0x3a60($t3)
/* 002544 80001944 24010012 */ li $at, 18
/* 002548 80001948 24030003 */ li $v1, 3
/* 00254C 8000194C 15610004 */ bne $t3, $at, .L80001960
/* 002550 80001950 240C0002 */ li $t4, 2
/* 002554 80001954 3C018015 */ lui $at, %hi(D_80150114) # $at, 0x8015
/* 002558 80001958 10000003 */ b .L80001968
/* 00255C 8000195C AC230114 */ sw $v1, %lo(D_80150114)($at)
.L80001960:
/* 002560 80001960 3C018015 */ lui $at, %hi(D_80150114) # $at, 0x8015
/* 002564 80001964 AC2C0114 */ sw $t4, %lo(D_80150114)($at)
.L80001968:
/* 002568 80001968 960D0000 */ lhu $t5, ($s0)
/* 00256C 8000196C 3C0E8015 */ lui $t6, %hi(D_80150114) # $t6, 0x8015
/* 002570 80001970 15A0003B */ bnez $t5, .L80001A60
/* 002574 80001974 00000000 */ nop
/* 002578 80001978 8DCE0114 */ lw $t6, %lo(D_80150114)($t6)
/* 00257C 8000197C 00008025 */ move $s0, $zero
/* 002580 80001980 3C01800F */ lui $at, %hi(D_800EB608)
/* 002584 80001984 19C00034 */ blez $t6, .L80001A58
/* 002588 80001988 3C11800E */ lui $s1, %hi(gCourseTimer) # $s1, 0x800e
/* 00258C 8000198C D434B608 */ ldc1 $f20, %lo(D_800EB608)($at)
/* 002590 80001990 2631C598 */ addiu $s1, %lo(gCourseTimer) # addiu $s1, $s1, -0x3a68
.L80001994:
/* 002594 80001994 3C0F8015 */ lui $t7, %hi(D_8015011E) # $t7, 0x8015
/* 002598 80001998 95EF011E */ lhu $t7, %lo(D_8015011E)($t7)
/* 00259C 8000199C 11E00006 */ beqz $t7, .L800019B8
/* 0025A0 800019A0 00000000 */ nop
/* 0025A4 800019A4 C6280000 */ lwc1 $f8, ($s1)
/* 0025A8 800019A8 460042A1 */ cvt.d.s $f10, $f8
/* 0025AC 800019AC 46345400 */ add.d $f16, $f10, $f20
/* 0025B0 800019B0 462084A0 */ cvt.s.d $f18, $f16
/* 0025B4 800019B4 E6320000 */ swc1 $f18, ($s1)
.L800019B8:
/* 0025B8 800019B8 0C0A427C */ jal func_802909F0
/* 0025BC 800019BC 00000000 */ nop
/* 0025C0 800019C0 0C0A8355 */ jal func_802A0D54
/* 0025C4 800019C4 00000000 */ nop
/* 0025C8 800019C8 0C00E0B7 */ jal func_800382DC
/* 0025CC 800019CC 00000000 */ nop
/* 0025D0 800019D0 3C04800E */ lui $a0, %hi(D_800DC4FC) # $a0, 0x800e
/* 0025D4 800019D4 3C05800E */ lui $a1, %hi(D_800DDB40) # $a1, 0x800e
/* 0025D8 800019D8 8CA5DB40 */ lw $a1, %lo(D_800DDB40)($a1)
/* 0025DC 800019DC 8C84C4FC */ lw $a0, %lo(D_800DC4FC)($a0)
/* 0025E0 800019E0 0C007BA6 */ jal func_8001EE98
/* 0025E4 800019E4 00003025 */ move $a2, $zero
/* 0025E8 800019E8 0C00A418 */ jal func_80029060
/* 0025EC 800019EC 00000000 */ nop
/* 0025F0 800019F0 3C04800E */ lui $a0, %hi(D_800DC500) # $a0, 0x800e
/* 0025F4 800019F4 3C05800E */ lui $a1, %hi(D_800DDB44) # $a1, 0x800e
/* 0025F8 800019F8 8CA5DB44 */ lw $a1, %lo(D_800DDB44)($a1)
/* 0025FC 800019FC 8C84C500 */ lw $a0, %lo(D_800DC500)($a0)
/* 002600 80001A00 0C007BA6 */ jal func_8001EE98
/* 002604 80001A04 24060001 */ li $a2, 1
/* 002608 80001A08 0C00A454 */ jal func_80029150
/* 00260C 80001A0C 00000000 */ nop
/* 002610 80001A10 0C0A3D1D */ jal func_8028F474
/* 002614 80001A14 00000000 */ nop
/* 002618 80001A18 0C0166B2 */ jal func_80059AC8
/* 00261C 80001A1C 00000000 */ nop
/* 002620 80001A20 0C0A8D52 */ jal update_simple_objects
/* 002624 80001A24 00000000 */ nop
/* 002628 80001A28 0C0A59A8 */ jal func_802966A0
/* 00262C 80001A2C 00000000 */ nop
/* 002630 80001A30 0C0A3F2F */ jal func_8028FCBC
/* 002634 80001A34 00000000 */ nop
/* 002638 80001A38 3C098015 */ lui $t1, %hi(D_80150114) # $t1, 0x8015
/* 00263C 80001A3C 8D290114 */ lw $t1, %lo(D_80150114)($t1)
/* 002640 80001A40 26100001 */ addiu $s0, $s0, 1
/* 002644 80001A44 0010C400 */ sll $t8, $s0, 0x10
/* 002648 80001A48 00188403 */ sra $s0, $t8, 0x10
/* 00264C 80001A4C 0209082A */ slt $at, $s0, $t1
/* 002650 80001A50 1420FFD0 */ bnez $at, .L80001994
/* 002654 80001A54 00000000 */ nop
.L80001A58:
/* 002658 80001A58 0C0089D1 */ jal func_80022744
/* 00265C 80001A5C 00000000 */ nop
.L80001A60:
/* 002660 80001A60 0C000D54 */ jal profiler_log_thread5_time
/* 002664 80001A64 24040001 */ li $a0, 1
/* 002668 80001A68 3C01800E */ lui $at, %hi(sNumVBlanks) # $at, 0x800e
/* 00266C 80001A6C 0C01681C */ jal func_8005A070
/* 002670 80001A70 A420C58C */ sh $zero, %lo(sNumVBlanks)($at)
/* 002674 80001A74 0C0A9F02 */ jal func_802A7C08
/* 002678 80001A78 00000000 */ nop
/* 00267C 80001A7C 0C0A8F8F */ jal func_802A3E3C
/* 002680 80001A80 00000000 */ nop
/* 002684 80001A84 3C0A800E */ lui $t2, %hi(D_800DC5B0) # $t2, 0x800e
/* 002688 80001A88 954AC5B0 */ lhu $t2, %lo(D_800DC5B0)($t2)
/* 00268C 80001A8C 11400003 */ beqz $t2, .L80001A9C
/* 002690 80001A90 00000000 */ nop
/* 002694 80001A94 0C0A9075 */ jal func_802A41D4
/* 002698 80001A98 00000000 */ nop
.L80001A9C:
/* 00269C 80001A9C 3C0B800E */ lui $t3, %hi(D_800DC5E8) # $t3, 0x800e
/* 0026A0 80001AA0 8D6BC5E8 */ lw $t3, %lo(D_800DC5E8)($t3)
/* 0026A4 80001AA4 3C018016 */ lui $at, %hi(D_8015F788) # $at, 0x8016
/* 0026A8 80001AA8 AC20F788 */ sw $zero, %lo(D_8015F788)($at)
/* 0026AC 80001AAC 15600007 */ bnez $t3, .L80001ACC
/* 0026B0 80001AB0 00000000 */ nop
/* 0026B4 80001AB4 0C0A996E */ jal func_802A65B8
/* 0026B8 80001AB8 00000000 */ nop
/* 0026BC 80001ABC 0C0A98A9 */ jal func_802A62A4
/* 0026C0 80001AC0 00000000 */ nop
/* 0026C4 80001AC4 10000005 */ b .L80001ADC
/* 0026C8 80001AC8 00000000 */ nop
.L80001ACC:
/* 0026CC 80001ACC 0C0A98A9 */ jal func_802A62A4
/* 0026D0 80001AD0 00000000 */ nop
/* 0026D4 80001AD4 0C0A996E */ jal func_802A65B8
/* 0026D8 80001AD8 00000000 */ nop
.L80001ADC:
/* 0026DC 80001ADC 3C04800E */ lui $a0, %hi(gEnableDebugMode) # $a0, 0x800e
/* 0026E0 80001AE0 100000B8 */ b .L80001DC4
/* 0026E4 80001AE4 9484C520 */ lhu $a0, %lo(gEnableDebugMode)($a0)
.L80001AE8:
/* 0026E8 80001AE8 8D8CC538 */ lw $t4, %lo(gPlayerCountSelection1)($t4) # -0x3ac8($t4)
/* 0026EC 80001AEC 3C02800E */ lui $v0, %hi(gCurrentCourseId) # 0x800e
/* 0026F0 80001AF0 3C0F8015 */ lui $t7, %hi(D_80150114) # $t7, 0x8015
/* 0026F4 80001AF4 146C0011 */ bne $v1, $t4, .L80001B3C
/* 0026F8 80001AF8 00000000 */ nop
/* 0026FC 80001AFC 3C02800E */ lui $v0, %hi(gCurrentCourseId) # $v0, 0x800e
/* 002700 80001B00 8442C5A0 */ lh $v0, %lo(gCurrentCourseId)($v0)
/* 002704 80001B04 24010009 */ li $at, 9
/* 002708 80001B08 10440009 */ beq $v0, $a0, .L80001B30
/* 00270C 80001B0C 00000000 */ nop
/* 002710 80001B10 10410007 */ beq $v0, $at, .L80001B30
/* 002714 80001B14 24010010 */ li $at, 16
/* 002718 80001B18 10410005 */ beq $v0, $at, .L80001B30
/* 00271C 80001B1C 24010012 */ li $at, 18
/* 002720 80001B20 10410003 */ beq $v0, $at, .L80001B30
/* 002724 80001B24 3C018015 */ lui $at, %hi(D_80150114) # $at, 0x8015
/* 002728 80001B28 10000016 */ b .L80001B84
/* 00272C 80001B2C AC240114 */ sw $a0, %lo(D_80150114)($at)
.L80001B30:
/* 002730 80001B30 3C018015 */ lui $at, %hi(D_80150114) # $at, 0x8015
/* 002734 80001B34 10000013 */ b .L80001B84
/* 002738 80001B38 AC230114 */ sw $v1, %lo(D_80150114)($at)
.L80001B3C:
/* 00273C 80001B3C 8442C5A0 */ lh $v0, %lo(gCurrentCourseId)($v0)
/* 002740 80001B40 2401000F */ li $at, 15
/* 002744 80001B44 1041000A */ beq $v0, $at, .L80001B70
/* 002748 80001B48 24010011 */ li $at, 17
/* 00274C 80001B4C 10410008 */ beq $v0, $at, .L80001B70
/* 002750 80001B50 24010012 */ li $at, 18
/* 002754 80001B54 10410009 */ beq $v0, $at, .L80001B7C
/* 002758 80001B58 240D0004 */ li $t5, 4
/* 00275C 80001B5C 24010013 */ li $at, 19
/* 002760 80001B60 10410003 */ beq $v0, $at, .L80001B70
/* 002764 80001B64 3C018015 */ lui $at, %hi(D_80150114) # $at, 0x8015
/* 002768 80001B68 10000006 */ b .L80001B84
/* 00276C 80001B6C AC230114 */ sw $v1, %lo(D_80150114)($at)
.L80001B70:
/* 002770 80001B70 3C018015 */ lui $at, %hi(D_80150114) # $at, 0x8015
/* 002774 80001B74 10000003 */ b .L80001B84
/* 002778 80001B78 AC240114 */ sw $a0, %lo(D_80150114)($at)
.L80001B7C:
/* 00277C 80001B7C 3C018015 */ lui $at, %hi(D_80150114) # $at, 0x8015
/* 002780 80001B80 AC2D0114 */ sw $t5, %lo(D_80150114)($at)
.L80001B84:
/* 002784 80001B84 960E0000 */ lhu $t6, ($s0)
/* 002788 80001B88 15C0004B */ bnez $t6, .L80001CB8
/* 00278C 80001B8C 00000000 */ nop
/* 002790 80001B90 8DEF0114 */ lw $t7, %lo(D_80150114)($t7)
/* 002794 80001B94 00008025 */ move $s0, $zero
/* 002798 80001B98 3C01800F */ lui $at, %hi(D_800EB610)
/* 00279C 80001B9C 19E00044 */ blez $t7, .L80001CB0
/* 0027A0 80001BA0 3C11800E */ lui $s1, %hi(gCourseTimer) # $s1, 0x800e
/* 0027A4 80001BA4 D434B610 */ ldc1 $f20, %lo(D_800EB610)($at)
/* 0027A8 80001BA8 2631C598 */ addiu $s1, %lo(gCourseTimer) # addiu $s1, $s1, -0x3a68
.L80001BAC:
/* 0027AC 80001BAC 3C188015 */ lui $t8, %hi(D_8015011E) # $t8, 0x8015
/* 0027B0 80001BB0 9718011E */ lhu $t8, %lo(D_8015011E)($t8)
/* 0027B4 80001BB4 13000006 */ beqz $t8, .L80001BD0
/* 0027B8 80001BB8 00000000 */ nop
/* 0027BC 80001BBC C6240000 */ lwc1 $f4, ($s1)
/* 0027C0 80001BC0 460021A1 */ cvt.d.s $f6, $f4
/* 0027C4 80001BC4 46343200 */ add.d $f8, $f6, $f20
/* 0027C8 80001BC8 462042A0 */ cvt.s.d $f10, $f8
/* 0027CC 80001BCC E62A0000 */ swc1 $f10, ($s1)
.L80001BD0:
/* 0027D0 80001BD0 0C0A427C */ jal func_802909F0
/* 0027D4 80001BD4 00000000 */ nop
/* 0027D8 80001BD8 0C0A8355 */ jal func_802A0D54
/* 0027DC 80001BDC 00000000 */ nop
/* 0027E0 80001BE0 0C00E0B7 */ jal func_800382DC
/* 0027E4 80001BE4 00000000 */ nop
/* 0027E8 80001BE8 3C04800E */ lui $a0, %hi(D_800DC4FC) # $a0, 0x800e
/* 0027EC 80001BEC 3C05800E */ lui $a1, %hi(D_800DDB40) # $a1, 0x800e
/* 0027F0 80001BF0 8CA5DB40 */ lw $a1, %lo(D_800DDB40)($a1)
/* 0027F4 80001BF4 8C84C4FC */ lw $a0, %lo(D_800DC4FC)($a0)
/* 0027F8 80001BF8 0C007BA6 */ jal func_8001EE98
/* 0027FC 80001BFC 00003025 */ move $a2, $zero
/* 002800 80001C00 0C00A456 */ jal func_80029158
/* 002804 80001C04 00000000 */ nop
/* 002808 80001C08 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 00280C 80001C0C 3C05800E */ lui $a1, %hi(D_800DDB44) # $a1, 0x800e
/* 002810 80001C10 8CA5DB44 */ lw $a1, %lo(D_800DDB44)($a1)
/* 002814 80001C14 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 002818 80001C18 0C007BA6 */ jal func_8001EE98
/* 00281C 80001C1C 24060001 */ li $a2, 1
/* 002820 80001C20 0C00A47A */ jal func_800291E8
/* 002824 80001C24 00000000 */ nop
/* 002828 80001C28 3C04800E */ lui $a0, %hi(D_800DC4E4) # $a0, 0x800e
/* 00282C 80001C2C 3C05800E */ lui $a1, %hi(D_800DDB48) # $a1, 0x800e
/* 002830 80001C30 8CA5DB48 */ lw $a1, %lo(D_800DDB48)($a1)
/* 002834 80001C34 8C84C4E4 */ lw $a0, %lo(D_800DC4E4)($a0)
/* 002838 80001C38 0C007BA6 */ jal func_8001EE98
/* 00283C 80001C3C 24060002 */ li $a2, 2
/* 002840 80001C40 0C00A47C */ jal func_800291F0
/* 002844 80001C44 00000000 */ nop
/* 002848 80001C48 3C04800E */ lui $a0, %hi(D_800DC4E8) # $a0, 0x800e
/* 00284C 80001C4C 3C05800E */ lui $a1, %hi(D_800DDB4C) # $a1, 0x800e
/* 002850 80001C50 8CA5DB4C */ lw $a1, %lo(D_800DDB4C)($a1)
/* 002854 80001C54 8C84C4E8 */ lw $a0, %lo(D_800DC4E8)($a0)
/* 002858 80001C58 0C007BA6 */ jal func_8001EE98
/* 00285C 80001C5C 24060003 */ li $a2, 3
/* 002860 80001C60 0C00A47E */ jal func_800291F8
/* 002864 80001C64 00000000 */ nop
/* 002868 80001C68 0C0A3D1D */ jal func_8028F474
/* 00286C 80001C6C 00000000 */ nop
/* 002870 80001C70 0C0166B2 */ jal func_80059AC8
/* 002874 80001C74 00000000 */ nop
/* 002878 80001C78 0C0A8D52 */ jal update_simple_objects
/* 00287C 80001C7C 00000000 */ nop
/* 002880 80001C80 0C0A59A8 */ jal func_802966A0
/* 002884 80001C84 00000000 */ nop
/* 002888 80001C88 0C0A3F2F */ jal func_8028FCBC
/* 00288C 80001C8C 00000000 */ nop
/* 002890 80001C90 3C0A8015 */ lui $t2, %hi(D_80150114) # $t2, 0x8015
/* 002894 80001C94 8D4A0114 */ lw $t2, %lo(D_80150114)($t2)
/* 002898 80001C98 26100001 */ addiu $s0, $s0, 1
/* 00289C 80001C9C 0010CC00 */ sll $t9, $s0, 0x10
/* 0028A0 80001CA0 00198403 */ sra $s0, $t9, 0x10
/* 0028A4 80001CA4 020A082A */ slt $at, $s0, $t2
/* 0028A8 80001CA8 1420FFC0 */ bnez $at, .L80001BAC
/* 0028AC 80001CAC 00000000 */ nop
.L80001CB0:
/* 0028B0 80001CB0 0C0089D1 */ jal func_80022744
/* 0028B4 80001CB4 00000000 */ nop
.L80001CB8:
/* 0028B8 80001CB8 0C01681C */ jal func_8005A070
/* 0028BC 80001CBC 00000000 */ nop
/* 0028C0 80001CC0 3C01800E */ lui $at, %hi(sNumVBlanks) # $at, 0x800e
/* 0028C4 80001CC4 A420C58C */ sh $zero, %lo(sNumVBlanks)($at)
/* 0028C8 80001CC8 0C000D54 */ jal profiler_log_thread5_time
/* 0028CC 80001CCC 24040001 */ li $a0, 1
/* 0028D0 80001CD0 0C0A9F02 */ jal func_802A7C08
/* 0028D4 80001CD4 00000000 */ nop
/* 0028D8 80001CD8 0C0A8F8F */ jal func_802A3E3C
/* 0028DC 80001CDC 00000000 */ nop
/* 0028E0 80001CE0 3C0B800E */ lui $t3, %hi(D_800DC5B0) # $t3, 0x800e
/* 0028E4 80001CE4 956BC5B0 */ lhu $t3, %lo(D_800DC5B0)($t3)
/* 0028E8 80001CE8 11600003 */ beqz $t3, .L80001CF8
/* 0028EC 80001CEC 00000000 */ nop
/* 0028F0 80001CF0 0C0A9075 */ jal func_802A41D4
/* 0028F4 80001CF4 00000000 */ nop
.L80001CF8:
/* 0028F8 80001CF8 3C02800E */ lui $v0, %hi(D_800DC5E8) # $v0, 0x800e
/* 0028FC 80001CFC 8C42C5E8 */ lw $v0, %lo(D_800DC5E8)($v0)
/* 002900 80001D00 3C018016 */ lui $at, %hi(D_8015F788) # $at, 0x8016
/* 002904 80001D04 AC20F788 */ sw $zero, %lo(D_8015F788)($at)
/* 002908 80001D08 1440000B */ bnez $v0, .L80001D38
/* 00290C 80001D0C 24010001 */ li $at, 1
/* 002910 80001D10 0C0A9AEC */ jal func_802A6BB0
/* 002914 80001D14 00000000 */ nop
/* 002918 80001D18 0C0A9BA5 */ jal func_802A6E94
/* 00291C 80001D1C 00000000 */ nop
/* 002920 80001D20 0C0A9C5E */ jal func_802A7178
/* 002924 80001D24 00000000 */ nop
/* 002928 80001D28 0C0A9A33 */ jal func_802A68CC
/* 00292C 80001D2C 00000000 */ nop
/* 002930 80001D30 10000022 */ b .L80001DBC
/* 002934 80001D34 00000000 */ nop
.L80001D38:
/* 002938 80001D38 5441000C */ bnel $v0, $at, .L80001D6C
/* 00293C 80001D3C 24010002 */ li $at, 2
/* 002940 80001D40 0C0A9A33 */ jal func_802A68CC
/* 002944 80001D44 00000000 */ nop
/* 002948 80001D48 0C0A9BA5 */ jal func_802A6E94
/* 00294C 80001D4C 00000000 */ nop
/* 002950 80001D50 0C0A9C5E */ jal func_802A7178
/* 002954 80001D54 00000000 */ nop
/* 002958 80001D58 0C0A9AEC */ jal func_802A6BB0
/* 00295C 80001D5C 00000000 */ nop
/* 002960 80001D60 10000016 */ b .L80001DBC
/* 002964 80001D64 00000000 */ nop
/* 002968 80001D68 24010002 */ li $at, 2
.L80001D6C:
/* 00296C 80001D6C 1441000B */ bne $v0, $at, .L80001D9C
/* 002970 80001D70 00000000 */ nop
/* 002974 80001D74 0C0A9A33 */ jal func_802A68CC
/* 002978 80001D78 00000000 */ nop
/* 00297C 80001D7C 0C0A9AEC */ jal func_802A6BB0
/* 002980 80001D80 00000000 */ nop
/* 002984 80001D84 0C0A9C5E */ jal func_802A7178
/* 002988 80001D88 00000000 */ nop
/* 00298C 80001D8C 0C0A9BA5 */ jal func_802A6E94
/* 002990 80001D90 00000000 */ nop
/* 002994 80001D94 10000009 */ b .L80001DBC
/* 002998 80001D98 00000000 */ nop
.L80001D9C:
/* 00299C 80001D9C 0C0A9A33 */ jal func_802A68CC
/* 0029A0 80001DA0 00000000 */ nop
/* 0029A4 80001DA4 0C0A9AEC */ jal func_802A6BB0
/* 0029A8 80001DA8 00000000 */ nop
/* 0029AC 80001DAC 0C0A9BA5 */ jal func_802A6E94
/* 0029B0 80001DB0 00000000 */ nop
/* 0029B4 80001DB4 0C0A9C5E */ jal func_802A7178
/* 0029B8 80001DB8 00000000 */ nop
.L80001DBC:
/* 0029BC 80001DBC 3C04800E */ lui $a0, %hi(gEnableDebugMode) # $a0, 0x800e
/* 0029C0 80001DC0 9484C520 */ lhu $a0, %lo(gEnableDebugMode)($a0)
.L80001DC4:
/* 0029C4 80001DC4 14800005 */ bnez $a0, .L80001DDC
/* 0029C8 80001DC8 3C10800E */ lui $s0, %hi(gEnableResourceMeters)
/* 0029CC 80001DCC 3C10800E */ lui $s0, %hi(gEnableResourceMeters) # $s0, 0x800e
/* 0029D0 80001DD0 2610C660 */ addiu $s0, %lo(gEnableResourceMeters) # addiu $s0, $s0, -0x39a0
/* 0029D4 80001DD4 10000023 */ b .L80001E64
/* 0029D8 80001DD8 AE000000 */ sw $zero, ($s0)
.L80001DDC:
/* 0029DC 80001DDC 2610C660 */ addiu $s0, $s0, %lo(gEnableResourceMeters)
/* 0029E0 80001DE0 8E0C0000 */ lw $t4, ($s0)
/* 0029E4 80001DE4 3C03800E */ lui $v1, %hi(D_800DC4BC)
/* 0029E8 80001DE8 11800011 */ beqz $t4, .L80001E30
/* 0029EC 80001DEC 00000000 */ nop
/* 0029F0 80001DF0 0C000FF5 */ jal resource_display
/* 0029F4 80001DF4 00000000 */ nop
/* 0029F8 80001DF8 3C03800E */ lui $v1, %hi(D_800DC4BC) # $v1, 0x800e
/* 0029FC 80001DFC 8C63C4BC */ lw $v1, %lo(D_800DC4BC)($v1)
/* 002A00 80001E00 94620004 */ lhu $v0, 4($v1)
/* 002A04 80001E04 304D0020 */ andi $t5, $v0, 0x20
/* 002A08 80001E08 15A00016 */ bnez $t5, .L80001E64
/* 002A0C 80001E0C 304E0010 */ andi $t6, $v0, 0x10
/* 002A10 80001E10 11C00014 */ beqz $t6, .L80001E64
/* 002A14 80001E14 00000000 */ nop
/* 002A18 80001E18 946F0006 */ lhu $t7, 6($v1)
/* 002A1C 80001E1C 31F84000 */ andi $t8, $t7, 0x4000
/* 002A20 80001E20 13000010 */ beqz $t8, .L80001E64
/* 002A24 80001E24 00000000 */ nop
/* 002A28 80001E28 1000000E */ b .L80001E64
/* 002A2C 80001E2C AE000000 */ sw $zero, ($s0)
.L80001E30:
/* 002A30 80001E30 8C63C4BC */ lw $v1, %lo(D_800DC4BC)($v1)
/* 002A34 80001E34 94620004 */ lhu $v0, 4($v1)
/* 002A38 80001E38 30590020 */ andi $t9, $v0, 0x20
/* 002A3C 80001E3C 17200009 */ bnez $t9, .L80001E64
/* 002A40 80001E40 30490010 */ andi $t1, $v0, 0x10
/* 002A44 80001E44 11200007 */ beqz $t1, .L80001E64
/* 002A48 80001E48 00000000 */ nop
/* 002A4C 80001E4C 946A0006 */ lhu $t2, 6($v1)
/* 002A50 80001E50 240C0001 */ li $t4, 1
/* 002A54 80001E54 314B4000 */ andi $t3, $t2, 0x4000
/* 002A58 80001E58 11600002 */ beqz $t3, .L80001E64
/* 002A5C 80001E5C 00000000 */ nop
/* 002A60 80001E60 AE0C0000 */ sw $t4, ($s0)
.L80001E64:
/* 002A64 80001E64 0C0A90C0 */ jal func_802A4300
/* 002A68 80001E68 00000000 */ nop
/* 002A6C 80001E6C 0C01646D */ jal func_800591B4
/* 002A70 80001E70 00000000 */ nop
/* 002A74 80001E74 0C024F88 */ jal func_80093E20
/* 002A78 80001E78 00000000 */ nop
/* 002A7C 80001E7C 3C058015 */ lui $a1, %hi(gDisplayListHead) # $a1, 0x8015
/* 002A80 80001E80 24A50298 */ addiu $a1, %lo(gDisplayListHead) # addiu $a1, $a1, 0x298
/* 002A84 80001E84 8CA20000 */ lw $v0, ($a1)
/* 002A88 80001E88 3C0EE900 */ lui $t6, 0xe900
/* 002A8C 80001E8C 3C18B800 */ lui $t8, 0xb800
/* 002A90 80001E90 244D0008 */ addiu $t5, $v0, 8
/* 002A94 80001E94 ACAD0000 */ sw $t5, ($a1)
/* 002A98 80001E98 AC400004 */ sw $zero, 4($v0)
/* 002A9C 80001E9C AC4E0000 */ sw $t6, ($v0)
/* 002AA0 80001EA0 8CA20000 */ lw $v0, ($a1)
/* 002AA4 80001EA4 244F0008 */ addiu $t7, $v0, 8
/* 002AA8 80001EA8 ACAF0000 */ sw $t7, ($a1)
/* 002AAC 80001EAC AC400004 */ sw $zero, 4($v0)
/* 002AB0 80001EB0 AC580000 */ sw $t8, ($v0)
/* 002AB4 80001EB4 8FBF0024 */ lw $ra, 0x24($sp)
.L80001EB8:
/* 002AB8 80001EB8 D7B40010 */ ldc1 $f20, 0x10($sp)
/* 002ABC 80001EBC 8FB0001C */ lw $s0, 0x1c($sp)
/* 002AC0 80001EC0 8FB10020 */ lw $s1, 0x20($sp)
/* 002AC4 80001EC4 03E00008 */ jr $ra
/* 002AC8 80001EC8 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,50 +0,0 @@
glabel func_80001ECC
/* 002ACC 80001ECC 3C0E800E */ lui $t6, %hi(D_800DC50C) # $t6, 0x800e
/* 002AD0 80001ED0 8DCEC50C */ lw $t6, %lo(D_800DC50C)($t6)
/* 002AD4 80001ED4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 002AD8 80001ED8 AFBF0014 */ sw $ra, 0x14($sp)
/* 002ADC 80001EDC 2DC1000A */ sltiu $at, $t6, 0xa
/* 002AE0 80001EE0 1020001F */ beqz $at, .L80001F60
/* 002AE4 80001EE4 000E7080 */ sll $t6, $t6, 2
/* 002AE8 80001EE8 3C01800F */ lui $at, %hi(D_800EB618)
/* 002AEC 80001EEC 002E0821 */ addu $at, $at, $t6
/* 002AF0 80001EF0 8C2EB618 */ lw $t6, %lo(D_800EB618)($at)
/* 002AF4 80001EF4 01C00008 */ jr $t6
/* 002AF8 80001EF8 00000000 */ nop
glabel L80001EFC
/* 002AFC 80001EFC 0C000501 */ jal func_80001404
/* 002B00 80001F00 00000000 */ nop
/* 002B04 80001F04 10000017 */ b .L80001F64
/* 002B08 80001F08 8FBF0014 */ lw $ra, 0x14($sp)
glabel L80001F0C
/* 002B0C 80001F0C 0C033230 */ jal osViBlack
/* 002B10 80001F10 00002025 */ move $a0, $zero
/* 002B14 80001F14 0C02C0D4 */ jal func_800B0350
/* 002B18 80001F18 00000000 */ nop
/* 002B1C 80001F1C 0C00032A */ jal func_80000CA8
/* 002B20 80001F20 00000000 */ nop
/* 002B24 80001F24 3C048015 */ lui $a0, %hi(gGfxPool) # $a0, 0x8015
/* 002B28 80001F28 0C025299 */ jal func_80094A64
/* 002B2C 80001F2C 8C84EF40 */ lw $a0, %lo(gGfxPool)($a0)
/* 002B30 80001F30 1000000C */ b .L80001F64
/* 002B34 80001F34 8FBF0014 */ lw $ra, 0x14($sp)
glabel L80001F38
/* 002B38 80001F38 0C00050B */ jal func_8000142C
/* 002B3C 80001F3C 00000000 */ nop
/* 002B40 80001F40 10000008 */ b .L80001F64
/* 002B44 80001F44 8FBF0014 */ lw $ra, 0x14($sp)
glabel L80001F48
/* 002B48 80001F48 0C0A0552 */ jal func_80281548
/* 002B4C 80001F4C 00000000 */ nop
/* 002B50 80001F50 10000004 */ b .L80001F64
/* 002B54 80001F54 8FBF0014 */ lw $ra, 0x14($sp)
glabel L80001F58
/* 002B58 80001F58 0C0A00AB */ jal func_802802AC
/* 002B5C 80001F5C 00000000 */ nop
.L80001F60:
glabel L80001F60
/* 002B60 80001F60 8FBF0014 */ lw $ra, 0x14($sp)
.L80001F64:
/* 002B64 80001F64 27BD0018 */ addiu $sp, $sp, 0x18
/* 002B68 80001F68 03E00008 */ jr $ra
/* 002B6C 80001F6C 00000000 */ nop

View File

@ -1,81 +0,0 @@
glabel func_80001FAC
/* 002BAC 80001FAC 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 002BB0 80001FB0 AFB40028 */ sw $s4, 0x28($sp)
/* 002BB4 80001FB4 3C148015 */ lui $s4, %hi(D_8014EFD0) # $s4, 0x8015
/* 002BB8 80001FB8 AFB5002C */ sw $s5, 0x2c($sp)
/* 002BBC 80001FBC 27B50040 */ addiu $s5, $sp, 0x40
/* 002BC0 80001FC0 2694EFD0 */ addiu $s4, %lo(D_8014EFD0) # addiu $s4, $s4, -0x1030
/* 002BC4 80001FC4 AFBF0034 */ sw $ra, 0x34($sp)
/* 002BC8 80001FC8 AFB60030 */ sw $s6, 0x30($sp)
/* 002BCC 80001FCC AFB30024 */ sw $s3, 0x24($sp)
/* 002BD0 80001FD0 AFB20020 */ sw $s2, 0x20($sp)
/* 002BD4 80001FD4 AFB1001C */ sw $s1, 0x1c($sp)
/* 002BD8 80001FD8 AFB00018 */ sw $s0, 0x18($sp)
/* 002BDC 80001FDC 02802025 */ move $a0, $s4
/* 002BE0 80001FE0 02A02825 */ move $a1, $s5
/* 002BE4 80001FE4 0C0335D4 */ jal osRecvMesg
/* 002BE8 80001FE8 00003025 */ move $a2, $zero
/* 002BEC 80001FEC 2410FFFF */ li $s0, -1
/* 002BF0 80001FF0 10500018 */ beq $v0, $s0, .L80002054
/* 002BF4 80001FF4 3C16800E */ lui $s6, %hi(sNextDisplaySPTask) # $s6, 0x800e
/* 002BF8 80001FF8 3C13800E */ lui $s3, %hi(D_800DC4B4) # $s3, 0x800e
/* 002BFC 80001FFC 2673C4B4 */ addiu $s3, %lo(D_800DC4B4) # addiu $s3, $s3, -0x3b4c
/* 002C00 80002000 26D6C4B8 */ addiu $s6, %lo(sNextDisplaySPTask) # addiu $s6, $s6, -0x3b48
/* 002C04 80002004 24120002 */ li $s2, 2
/* 002C08 80002008 24110001 */ li $s1, 1
/* 002C0C 8000200C 8FAE0040 */ lw $t6, 0x40($sp)
.L80002010:
/* 002C10 80002010 02802025 */ move $a0, $s4
/* 002C14 80002014 02A02825 */ move $a1, $s5
/* 002C18 80002018 ADC00048 */ sw $zero, 0x48($t6)
/* 002C1C 8000201C 8FAF0040 */ lw $t7, 0x40($sp)
/* 002C20 80002020 8FB90040 */ lw $t9, 0x40($sp)
/* 002C24 80002024 8DE20000 */ lw $v0, ($t7)
/* 002C28 80002028 50510006 */ beql $v0, $s1, .L80002044
/* 002C2C 8000202C AED90000 */ sw $t9, ($s6)
/* 002C30 80002030 14520004 */ bne $v0, $s2, .L80002044
/* 002C34 80002034 8FB80040 */ lw $t8, 0x40($sp)
/* 002C38 80002038 10000002 */ b .L80002044
/* 002C3C 8000203C AE780000 */ sw $t8, ($s3)
/* 002C40 80002040 AED90000 */ sw $t9, ($s6)
.L80002044:
/* 002C44 80002044 0C0335D4 */ jal osRecvMesg
/* 002C48 80002048 00003025 */ move $a2, $zero
/* 002C4C 8000204C 5450FFF0 */ bnel $v0, $s0, .L80002010
/* 002C50 80002050 8FAE0040 */ lw $t6, 0x40($sp)
.L80002054:
/* 002C54 80002054 3C03800E */ lui $v1, %hi(sCurrentAudioSPTask) # $v1, 0x800e
/* 002C58 80002058 2463C4AC */ addiu $v1, %lo(sCurrentAudioSPTask) # addiu $v1, $v1, -0x3b54
/* 002C5C 8000205C 8C680000 */ lw $t0, ($v1)
/* 002C60 80002060 3C13800E */ lui $s3, %hi(D_800DC4B4) # $s3, 0x800e
/* 002C64 80002064 3C16800E */ lui $s6, %hi(sNextDisplaySPTask) # $s6, 0x800e
/* 002C68 80002068 26D6C4B8 */ addiu $s6, %lo(sNextDisplaySPTask) # addiu $s6, $s6, -0x3b48
/* 002C6C 8000206C 15000006 */ bnez $t0, .L80002088
/* 002C70 80002070 2673C4B4 */ addiu $s3, %lo(D_800DC4B4) # addiu $s3, $s3, -0x3b4c
/* 002C74 80002074 8E620000 */ lw $v0, ($s3)
/* 002C78 80002078 10400003 */ beqz $v0, .L80002088
/* 002C7C 8000207C 00000000 */ nop
/* 002C80 80002080 AC620000 */ sw $v0, ($v1)
/* 002C84 80002084 AE600000 */ sw $zero, ($s3)
.L80002088:
/* 002C88 80002088 3C03800E */ lui $v1, %hi(sCurrentDisplaySPTask) # $v1, 0x800e
/* 002C8C 8000208C 2463C4B0 */ addiu $v1, %lo(sCurrentDisplaySPTask) # addiu $v1, $v1, -0x3b50
/* 002C90 80002090 8C690000 */ lw $t1, ($v1)
/* 002C94 80002094 55200007 */ bnel $t1, $zero, .L800020B4
/* 002C98 80002098 8FBF0034 */ lw $ra, 0x34($sp)
/* 002C9C 8000209C 8EC20000 */ lw $v0, ($s6)
/* 002CA0 800020A0 50400004 */ beql $v0, $zero, .L800020B4
/* 002CA4 800020A4 8FBF0034 */ lw $ra, 0x34($sp)
/* 002CA8 800020A8 AC620000 */ sw $v0, ($v1)
/* 002CAC 800020AC AEC00000 */ sw $zero, ($s6)
/* 002CB0 800020B0 8FBF0034 */ lw $ra, 0x34($sp)
.L800020B4:
/* 002CB4 800020B4 8FB00018 */ lw $s0, 0x18($sp)
/* 002CB8 800020B8 8FB1001C */ lw $s1, 0x1c($sp)
/* 002CBC 800020BC 8FB20020 */ lw $s2, 0x20($sp)
/* 002CC0 800020C0 8FB30024 */ lw $s3, 0x24($sp)
/* 002CC4 800020C4 8FB40028 */ lw $s4, 0x28($sp)
/* 002CC8 800020C8 8FB5002C */ lw $s5, 0x2c($sp)
/* 002CCC 800020CC 8FB60030 */ lw $s6, 0x30($sp)
/* 002CD0 800020D0 03E00008 */ jr $ra
/* 002CD4 800020D4 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -1,77 +0,0 @@
glabel func_80002168
/* 002D68 80002168 3C02800E */ lui $v0, %hi(D_800DC594) # $v0, 0x800e
/* 002D6C 8000216C 2442C594 */ addiu $v0, %lo(D_800DC594) # addiu $v0, $v0, -0x3a6c
/* 002D70 80002170 C4440000 */ lwc1 $f4, ($v0)
/* 002D74 80002174 3C01800F */ lui $at, %hi(D_800EB640)
/* 002D78 80002178 D428B640 */ ldc1 $f8, %lo(D_800EB640)($at)
/* 002D7C 8000217C 460021A1 */ cvt.d.s $f6, $f4
/* 002D80 80002180 3C03800E */ lui $v1, %hi(sNumVBlanks) # $v1, 0x800e
/* 002D84 80002184 46283280 */ add.d $f10, $f6, $f8
/* 002D88 80002188 2463C58C */ addiu $v1, %lo(sNumVBlanks) # addiu $v1, $v1, -0x3a74
/* 002D8C 8000218C 846E0000 */ lh $t6, ($v1)
/* 002D90 80002190 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 002D94 80002194 46205420 */ cvt.s.d $f16, $f10
/* 002D98 80002198 AFBF0014 */ sw $ra, 0x14($sp)
/* 002D9C 8000219C 25CF0001 */ addiu $t7, $t6, 1
/* 002DA0 800021A0 A46F0000 */ sh $t7, ($v1)
/* 002DA4 800021A4 0C0007EB */ jal func_80001FAC
/* 002DA8 800021A8 E4500000 */ swc1 $f16, ($v0)
/* 002DAC 800021AC 3C18800E */ lui $t8, %hi(sCurrentAudioSPTask) # $t8, 0x800e
/* 002DB0 800021B0 8F18C4AC */ lw $t8, %lo(sCurrentAudioSPTask)($t8)
/* 002DB4 800021B4 3C19800E */ lui $t9, %hi(gActiveSPTask) # $t9, 0x800e
/* 002DB8 800021B8 3C08800E */ lui $t0, %hi(gActiveSPTask) # $t0, 0x800e
/* 002DBC 800021BC 1300000E */ beqz $t8, .L800021F8
/* 002DC0 800021C0 00000000 */ nop
/* 002DC4 800021C4 8F39C4A8 */ lw $t9, %lo(gActiveSPTask)($t9)
/* 002DC8 800021C8 13200005 */ beqz $t9, .L800021E0
/* 002DCC 800021CC 00000000 */ nop
/* 002DD0 800021D0 0C0007DC */ jal interrupt_gfx_sptask
/* 002DD4 800021D4 00000000 */ nop
/* 002DD8 800021D8 10000016 */ b .L80002234
/* 002DDC 800021DC 00000000 */ nop
.L800021E0:
/* 002DE0 800021E0 0C000DBB */ jal profiler_log_vblank_time
/* 002DE4 800021E4 00000000 */ nop
/* 002DE8 800021E8 0C00019F */ jal start_sptask
/* 002DEC 800021EC 24040002 */ li $a0, 2
/* 002DF0 800021F0 10000010 */ b .L80002234
/* 002DF4 800021F4 00000000 */ nop
.L800021F8:
/* 002DF8 800021F8 8D08C4A8 */ lw $t0, %lo(gActiveSPTask)($t0)
/* 002DFC 800021FC 3C02800E */ lui $v0, %hi(sCurrentDisplaySPTask) # $v0, 0x800e
/* 002E00 80002200 1500000C */ bnez $t0, .L80002234
/* 002E04 80002204 00000000 */ nop
/* 002E08 80002208 8C42C4B0 */ lw $v0, %lo(sCurrentDisplaySPTask)($v0)
/* 002E0C 8000220C 10400009 */ beqz $v0, .L80002234
/* 002E10 80002210 00000000 */ nop
/* 002E14 80002214 8C490048 */ lw $t1, 0x48($v0)
/* 002E18 80002218 24010003 */ li $at, 3
/* 002E1C 8000221C 11210005 */ beq $t1, $at, .L80002234
/* 002E20 80002220 00000000 */ nop
/* 002E24 80002224 0C000D97 */ jal profiler_log_gfx_time
/* 002E28 80002228 00002025 */ move $a0, $zero
/* 002E2C 8000222C 0C00019F */ jal start_sptask
/* 002E30 80002230 24040001 */ li $a0, 1
.L80002234:
/* 002E34 80002234 3C02800E */ lui $v0, %hi(gVblankHandler1) # $v0, 0x800e
/* 002E38 80002238 8C42C4A0 */ lw $v0, %lo(gVblankHandler1)($v0)
/* 002E3C 8000223C 00003025 */ move $a2, $zero
/* 002E40 80002240 10400004 */ beqz $v0, .L80002254
/* 002E44 80002244 00000000 */ nop
/* 002E48 80002248 8C440000 */ lw $a0, ($v0)
/* 002E4C 8000224C 0C033630 */ jal osSendMesg
/* 002E50 80002250 8C450004 */ lw $a1, 4($v0)
.L80002254:
/* 002E54 80002254 3C02800E */ lui $v0, %hi(gVblankHandler2) # $v0, 0x800e
/* 002E58 80002258 8C42C4A4 */ lw $v0, %lo(gVblankHandler2)($v0)
/* 002E5C 8000225C 00003025 */ move $a2, $zero
/* 002E60 80002260 50400005 */ beql $v0, $zero, .L80002278
/* 002E64 80002264 8FBF0014 */ lw $ra, 0x14($sp)
/* 002E68 80002268 8C440000 */ lw $a0, ($v0)
/* 002E6C 8000226C 0C033630 */ jal osSendMesg
/* 002E70 80002270 8C450004 */ lw $a1, 4($v0)
/* 002E74 80002274 8FBF0014 */ lw $ra, 0x14($sp)
.L80002278:
/* 002E78 80002278 27BD0018 */ addiu $sp, $sp, 0x18
/* 002E7C 8000227C 03E00008 */ jr $ra
/* 002E80 80002280 00000000 */ nop

View File

@ -1,73 +0,0 @@
glabel func_800022DC
/* 002EDC 800022DC 3C02800E */ lui $v0, %hi(gActiveSPTask) # $v0, 0x800e
/* 002EE0 800022E0 2442C4A8 */ addiu $v0, %lo(gActiveSPTask) # addiu $v0, $v0, -0x3b58
/* 002EE4 800022E4 8C470000 */ lw $a3, ($v0)
/* 002EE8 800022E8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 002EEC 800022EC AFBF0014 */ sw $ra, 0x14($sp)
/* 002EF0 800022F0 AC400000 */ sw $zero, ($v0)
/* 002EF4 800022F4 8CEE0048 */ lw $t6, 0x48($a3)
/* 002EF8 800022F8 24010002 */ li $at, 2
/* 002EFC 800022FC 00E02025 */ move $a0, $a3
/* 002F00 80002300 55C10010 */ bnel $t6, $at, .L80002344
/* 002F04 80002304 8CF90000 */ lw $t9, ($a3)
/* 002F08 80002308 0C033758 */ jal osSpTaskYielded
/* 002F0C 8000230C AFA7001C */ sw $a3, 0x1c($sp)
/* 002F10 80002310 14400005 */ bnez $v0, .L80002328
/* 002F14 80002314 8FA7001C */ lw $a3, 0x1c($sp)
/* 002F18 80002318 240F0003 */ li $t7, 3
/* 002F1C 8000231C ACEF0048 */ sw $t7, 0x48($a3)
/* 002F20 80002320 0C000D97 */ jal profiler_log_gfx_time
/* 002F24 80002324 24040001 */ li $a0, 1
.L80002328:
/* 002F28 80002328 0C000DBB */ jal profiler_log_vblank_time
/* 002F2C 8000232C 00000000 */ nop
/* 002F30 80002330 0C00019F */ jal start_sptask
/* 002F34 80002334 24040002 */ li $a0, 2
/* 002F38 80002338 10000027 */ b .L800023D8
/* 002F3C 8000233C 8FBF0014 */ lw $ra, 0x14($sp)
/* 002F40 80002340 8CF90000 */ lw $t9, ($a3)
.L80002344:
/* 002F44 80002344 24180003 */ li $t8, 3
/* 002F48 80002348 24010002 */ li $at, 2
/* 002F4C 8000234C 1721001F */ bne $t9, $at, .L800023CC
/* 002F50 80002350 ACF80048 */ sw $t8, 0x48($a3)
/* 002F54 80002354 0C000DBB */ jal profiler_log_vblank_time
/* 002F58 80002358 AFA7001C */ sw $a3, 0x1c($sp)
/* 002F5C 8000235C 3C02800E */ lui $v0, %hi(sCurrentDisplaySPTask) # $v0, 0x800e
/* 002F60 80002360 8C42C4B0 */ lw $v0, %lo(sCurrentDisplaySPTask)($v0)
/* 002F64 80002364 8FA7001C */ lw $a3, 0x1c($sp)
/* 002F68 80002368 1040000E */ beqz $v0, .L800023A4
/* 002F6C 8000236C 00000000 */ nop
/* 002F70 80002370 8C430048 */ lw $v1, 0x48($v0)
/* 002F74 80002374 24010003 */ li $at, 3
/* 002F78 80002378 1061000A */ beq $v1, $at, .L800023A4
/* 002F7C 8000237C 24010002 */ li $at, 2
/* 002F80 80002380 10610004 */ beq $v1, $at, .L80002394
/* 002F84 80002384 00002025 */ move $a0, $zero
/* 002F88 80002388 0C000D97 */ jal profiler_log_gfx_time
/* 002F8C 8000238C AFA7001C */ sw $a3, 0x1c($sp)
/* 002F90 80002390 8FA7001C */ lw $a3, 0x1c($sp)
.L80002394:
/* 002F94 80002394 24040001 */ li $a0, 1
/* 002F98 80002398 0C00019F */ jal start_sptask
/* 002F9C 8000239C AFA7001C */ sw $a3, 0x1c($sp)
/* 002FA0 800023A0 8FA7001C */ lw $a3, 0x1c($sp)
.L800023A4:
/* 002FA4 800023A4 3C01800E */ lui $at, %hi(sCurrentAudioSPTask) # $at, 0x800e
/* 002FA8 800023A8 AC20C4AC */ sw $zero, %lo(sCurrentAudioSPTask)($at)
/* 002FAC 800023AC 8CE40040 */ lw $a0, 0x40($a3)
/* 002FB0 800023B0 00003025 */ move $a2, $zero
/* 002FB4 800023B4 50800008 */ beql $a0, $zero, .L800023D8
/* 002FB8 800023B8 8FBF0014 */ lw $ra, 0x14($sp)
/* 002FBC 800023BC 0C033630 */ jal osSendMesg
/* 002FC0 800023C0 8CE50044 */ lw $a1, 0x44($a3)
/* 002FC4 800023C4 10000004 */ b .L800023D8
/* 002FC8 800023C8 8FBF0014 */ lw $ra, 0x14($sp)
.L800023CC:
/* 002FCC 800023CC 0C000D97 */ jal profiler_log_gfx_time
/* 002FD0 800023D0 24040001 */ li $a0, 1
/* 002FD4 800023D4 8FBF0014 */ lw $ra, 0x14($sp)
.L800023D8:
/* 002FD8 800023D8 27BD0020 */ addiu $sp, $sp, 0x20
/* 002FDC 800023DC 03E00008 */ jr $ra
/* 002FE0 800023E0 00000000 */ nop

View File

@ -1,73 +0,0 @@
glabel func_80002684
/* 003284 80002684 3C0E800E */ lui $t6, %hi(D_800DC50C) # $t6, 0x800e
/* 003288 80002688 8DCEC50C */ lw $t6, %lo(D_800DC50C)($t6)
/* 00328C 8000268C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 003290 80002690 AFBF0014 */ sw $ra, 0x14($sp)
/* 003294 80002694 2DC1000A */ sltiu $at, $t6, 0xa
/* 003298 80002698 10200034 */ beqz $at, .L8000276C
/* 00329C 8000269C 000E7080 */ sll $t6, $t6, 2
/* 0032A0 800026A0 3C01800F */ lui $at, %hi(D_800EB648)
/* 0032A4 800026A4 002E0821 */ addu $at, $at, $t6
/* 0032A8 800026A8 8C2EB648 */ lw $t6, %lo(D_800EB648)($at)
/* 0032AC 800026AC 01C00008 */ jr $t6
/* 0032B0 800026B0 00000000 */ nop
glabel L800026B4
/* 0032B4 800026B4 0C000996 */ jal func_80002658
/* 0032B8 800026B8 00000000 */ nop
/* 0032BC 800026BC 240F00FF */ li $t7, 255
/* 0032C0 800026C0 3C01800E */ lui $at, %hi(gCurrentlyLoadedCourseId) # $at, 0x800e
/* 0032C4 800026C4 10000029 */ b .L8000276C
/* 0032C8 800026C8 A42FC5A4 */ sh $t7, %lo(gCurrentlyLoadedCourseId)($at)
glabel L800026CC
/* 0032CC 800026CC 0C000975 */ jal func_800025D4
/* 0032D0 800026D0 00000000 */ nop
/* 0032D4 800026D4 241800FF */ li $t8, 255
/* 0032D8 800026D8 3C01800E */ lui $at, %hi(gCurrentlyLoadedCourseId) # $at, 0x800e
/* 0032DC 800026DC 10000023 */ b .L8000276C
/* 0032E0 800026E0 A438C5A4 */ sh $t8, %lo(gCurrentlyLoadedCourseId)($at)
glabel L800026E4
/* 0032E4 800026E4 0C000980 */ jal func_80002600
/* 0032E8 800026E8 00000000 */ nop
/* 0032EC 800026EC 241900FF */ li $t9, 255
/* 0032F0 800026F0 3C01800E */ lui $at, %hi(gCurrentlyLoadedCourseId) # $at, 0x800e
/* 0032F4 800026F4 1000001D */ b .L8000276C
/* 0032F8 800026F8 A439C5A4 */ sh $t9, %lo(gCurrentlyLoadedCourseId)($at)
glabel L800026FC
/* 0032FC 800026FC 0C00098B */ jal func_8000262C
/* 003300 80002700 00000000 */ nop
/* 003304 80002704 240800FF */ li $t0, 255
/* 003308 80002708 3C01800E */ lui $at, %hi(gCurrentlyLoadedCourseId) # $at, 0x800e
/* 00330C 8000270C 10000017 */ b .L8000276C
/* 003310 80002710 A428C5A4 */ sh $t0, %lo(gCurrentlyLoadedCourseId)($at)
glabel L80002714
/* 003314 80002714 0C000433 */ jal func_800010CC
/* 003318 80002718 00000000 */ nop
/* 00331C 8000271C 0C000A86 */ jal func_80002A18
/* 003320 80002720 00000000 */ nop
/* 003324 80002724 10000012 */ b .L80002770
/* 003328 80002728 8FBF0014 */ lw $ra, 0x14($sp)
glabel L8000272C
/* 00332C 8000272C 240900FF */ li $t1, 255
/* 003330 80002730 3C01800E */ lui $at, %hi(gCurrentlyLoadedCourseId) # $at, 0x800e
/* 003334 80002734 0C000417 */ jal func_8000105C
/* 003338 80002738 A429C5A4 */ sh $t1, %lo(gCurrentlyLoadedCourseId)($at)
/* 00333C 8000273C 0C0A065A */ jal load_ending_sequence_royalraceway
/* 003340 80002740 00000000 */ nop
/* 003344 80002744 1000000A */ b .L80002770
/* 003348 80002748 8FBF0014 */ lw $ra, 0x14($sp)
glabel L8000274C
/* 00334C 8000274C 240A00FF */ li $t2, 255
/* 003350 80002750 3C01800E */ lui $at, %hi(gCurrentlyLoadedCourseId) # $at, 0x800e
/* 003354 80002754 0C000433 */ jal func_800010CC
/* 003358 80002758 A42AC5A4 */ sh $t2, %lo(gCurrentlyLoadedCourseId)($at)
/* 00335C 8000275C 0C000417 */ jal func_8000105C
/* 003360 80002760 00000000 */ nop
/* 003364 80002764 0C0A0108 */ jal func_80280420
/* 003368 80002768 00000000 */ nop
.L8000276C:
glabel L8000276C
/* 00336C 8000276C 8FBF0014 */ lw $ra, 0x14($sp)
.L80002770:
/* 003370 80002770 27BD0018 */ addiu $sp, $sp, 0x18
/* 003374 80002774 03E00008 */ jr $ra
/* 003378 80002778 00000000 */ nop

View File

@ -1,131 +0,0 @@
glabel thread3_video
/* 002FE4 800023E4 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 002FE8 800023E8 3C038015 */ lui $v1, %hi(gPhysicalFramebuffers) # $v1, 0x8015
/* 002FEC 800023EC 246302A8 */ addiu $v1, %lo(gPhysicalFramebuffers) # addiu $v1, $v1, 0x2a8
/* 002FF0 800023F0 3C0E8032 */ lui $t6, %hi(gFramebuffer0) # $t6, 0x8032
/* 002FF4 800023F4 3C0F8034 */ lui $t7, %hi(gFramebuffer1) # $t7, 0x8034
/* 002FF8 800023F8 3C188037 */ lui $t8, %hi(gFramebuffer2) # $t8, 0x8037
/* 002FFC 800023FC 25CEF780 */ addiu $t6, %lo(gFramebuffer0) # addiu $t6, $t6, -0x880
/* 003000 80002400 25EF4F80 */ addiu $t7, %lo(gFramebuffer1) # addiu $t7, $t7, 0x4f80
/* 003004 80002404 2718A780 */ addiu $t8, %lo(gFramebuffer2) # addiu $t8, $t8, -0x5880
/* 003008 80002408 AC6E0000 */ sw $t6, ($v1)
/* 00300C 8000240C AC6F0004 */ sw $t7, 4($v1)
/* 003010 80002410 AC780008 */ sw $t8, 8($v1)
/* 003014 80002414 3C038037 */ lui $v1, %hi(gFramebuffer2) # $v1, 0x8037
/* 003018 80002418 3C028034 */ lui $v0, %hi(gFramebuffer1) # $v0, 0x8034
/* 00301C 8000241C AFBF0034 */ sw $ra, 0x34($sp)
/* 003020 80002420 AFB50030 */ sw $s5, 0x30($sp)
/* 003024 80002424 AFB4002C */ sw $s4, 0x2c($sp)
/* 003028 80002428 AFB30028 */ sw $s3, 0x28($sp)
/* 00302C 8000242C AFB20024 */ sw $s2, 0x24($sp)
/* 003030 80002430 AFB10020 */ sw $s1, 0x20($sp)
/* 003034 80002434 AFB0001C */ sw $s0, 0x1c($sp)
/* 003038 80002438 AFA40060 */ sw $a0, 0x60($sp)
/* 00303C 8000243C 24424F80 */ addiu $v0, %lo(gFramebuffer1) # addiu $v0, $v0, 0x4f80
/* 003040 80002440 2463A780 */ addiu $v1, %lo(gFramebuffer2) # addiu $v1, $v1, -0x5880
.L80002444:
/* 003044 80002444 240A0000 */ li $t2, 0
/* 003048 80002448 240B0000 */ li $t3, 0
/* 00304C 8000244C 240C0000 */ li $t4, 0
/* 003050 80002450 240D0000 */ li $t5, 0
/* 003054 80002454 240E0000 */ li $t6, 0
/* 003058 80002458 240F0000 */ li $t7, 0
/* 00305C 8000245C 24420020 */ addiu $v0, $v0, 0x20
/* 003060 80002460 24080000 */ li $t0, 0
/* 003064 80002464 24090000 */ li $t1, 0
/* 003068 80002468 AC4FFFFC */ sw $t7, -4($v0)
/* 00306C 8000246C AC4EFFF8 */ sw $t6, -8($v0)
/* 003070 80002470 AC4DFFF4 */ sw $t5, -0xc($v0)
/* 003074 80002474 AC4CFFF0 */ sw $t4, -0x10($v0)
/* 003078 80002478 AC4BFFEC */ sw $t3, -0x14($v0)
/* 00307C 8000247C AC4AFFE8 */ sw $t2, -0x18($v0)
/* 003080 80002480 AC49FFE4 */ sw $t1, -0x1c($v0)
/* 003084 80002484 1443FFEF */ bne $v0, $v1, .L80002444
/* 003088 80002488 AC48FFE0 */ sw $t0, -0x20($v0)
/* 00308C 8000248C 0C000178 */ jal setup_mesg_queues
/* 003090 80002490 00000000 */ nop
/* 003094 80002494 0C000499 */ jal init_game
/* 003098 80002498 00000000 */ nop
/* 00309C 8000249C 3C108016 */ lui $s0, %hi(D_8015AB80) # $s0, 0x8016
/* 0030A0 800024A0 3C198016 */ lui $t9, %hi(D_8015CD30) # $t9, 0x8016
/* 0030A4 800024A4 2610AB80 */ addiu $s0, %lo(D_8015AB80) # addiu $s0, $s0, -0x5480
/* 0030A8 800024A8 2739CD30 */ addiu $t9, %lo(D_8015CD30) # addiu $t9, $t9, -0x32d0
/* 0030AC 800024AC 3C068000 */ lui $a2, %hi(thread4_audio) # $a2, 0x8000
/* 0030B0 800024B0 24180014 */ li $t8, 20
/* 0030B4 800024B4 AFB80014 */ sw $t8, 0x14($sp)
/* 0030B8 800024B8 24C628E4 */ addiu $a2, %lo(thread4_audio) # addiu $a2, $a2, 0x28e4
/* 0030BC 800024BC AFB90010 */ sw $t9, 0x10($sp)
/* 0030C0 800024C0 02002025 */ move $a0, $s0
/* 0030C4 800024C4 24050004 */ li $a1, 4
/* 0030C8 800024C8 0C000114 */ jal create_thread
/* 0030CC 800024CC 00003825 */ move $a3, $zero
/* 0030D0 800024D0 0C0330D8 */ jal osStartThread
/* 0030D4 800024D4 02002025 */ move $a0, $s0
/* 0030D8 800024D8 3C108016 */ lui $s0, %hi(D_801589D0) # $s0, 0x8016
/* 0030DC 800024DC 3C088016 */ lui $t0, %hi(D_8015AB80) # $t0, 0x8016
/* 0030E0 800024E0 261089D0 */ addiu $s0, %lo(D_801589D0) # addiu $s0, $s0, -0x7630
/* 0030E4 800024E4 2508AB80 */ addiu $t0, %lo(D_8015AB80) # addiu $t0, $t0, -0x5480
/* 0030E8 800024E8 3C068000 */ lui $a2, %hi(thread5_game_logic) # $a2, 0x8000
/* 0030EC 800024EC 2409000A */ li $t1, 10
/* 0030F0 800024F0 AFA90014 */ sw $t1, 0x14($sp)
/* 0030F4 800024F4 24C6277C */ addiu $a2, %lo(thread5_game_logic) # addiu $a2, $a2, 0x277c
/* 0030F8 800024F8 AFA80010 */ sw $t0, 0x10($sp)
/* 0030FC 800024FC 02002025 */ move $a0, $s0
/* 003100 80002500 24050005 */ li $a1, 5
/* 003104 80002504 0C000114 */ jal create_thread
/* 003108 80002508 00003825 */ move $a3, $zero
/* 00310C 8000250C 0C0330D8 */ jal osStartThread
/* 003110 80002510 02002025 */ move $a0, $s0
/* 003114 80002514 3C108015 */ lui $s0, %hi(gIntrMesgQueue) # $s0, 0x8015
/* 003118 80002518 2610EFB8 */ addiu $s0, %lo(gIntrMesgQueue) # addiu $s0, $s0, -0x1048
/* 00311C 8000251C 24150067 */ li $s5, 103
/* 003120 80002520 24140066 */ li $s4, 102
/* 003124 80002524 24130065 */ li $s3, 101
/* 003128 80002528 24120064 */ li $s2, 100
/* 00312C 8000252C 27B10054 */ addiu $s1, $sp, 0x54
/* 003130 80002530 02002025 */ move $a0, $s0
.L80002534:
/* 003134 80002534 02202825 */ move $a1, $s1
/* 003138 80002538 0C0335D4 */ jal osRecvMesg
/* 00313C 8000253C 24060001 */ li $a2, 1
/* 003140 80002540 8FA20054 */ lw $v0, 0x54($sp)
/* 003144 80002544 1052000D */ beq $v0, $s2, .L8000257C
/* 003148 80002548 00000000 */ nop
/* 00314C 8000254C 1053000F */ beq $v0, $s3, .L8000258C
/* 003150 80002550 00000000 */ nop
/* 003154 80002554 10540005 */ beq $v0, $s4, .L8000256C
/* 003158 80002558 00000000 */ nop
/* 00315C 8000255C 1055000F */ beq $v0, $s5, .L8000259C
/* 003160 80002560 00000000 */ nop
/* 003164 80002564 1000FFF3 */ b .L80002534
/* 003168 80002568 02002025 */ move $a0, $s0
.L8000256C:
/* 00316C 8000256C 0C00085A */ jal func_80002168
/* 003170 80002570 00000000 */ nop
/* 003174 80002574 1000FFEF */ b .L80002534
/* 003178 80002578 02002025 */ move $a0, $s0
.L8000257C:
/* 00317C 8000257C 0C0008B7 */ jal func_800022DC
/* 003180 80002580 00000000 */ nop
/* 003184 80002584 1000FFEB */ b .L80002534
/* 003188 80002588 02002025 */ move $a0, $s0
.L8000258C:
/* 00318C 8000258C 0C0008A1 */ jal func_80002284
/* 003190 80002590 00000000 */ nop
/* 003194 80002594 1000FFE7 */ b .L80002534
/* 003198 80002598 02002025 */ move $a0, $s0
.L8000259C:
/* 00319C 8000259C 0C000846 */ jal start_gfx_sptask
/* 0031A0 800025A0 00000000 */ nop
/* 0031A4 800025A4 1000FFE3 */ b .L80002534
/* 0031A8 800025A8 02002025 */ move $a0, $s0
/* 0031AC 800025AC 00000000 */ nop
/* 0031B0 800025B0 8FBF0034 */ lw $ra, 0x34($sp)
/* 0031B4 800025B4 8FB0001C */ lw $s0, 0x1c($sp)
/* 0031B8 800025B8 8FB10020 */ lw $s1, 0x20($sp)
/* 0031BC 800025BC 8FB20024 */ lw $s2, 0x24($sp)
/* 0031C0 800025C0 8FB30028 */ lw $s3, 0x28($sp)
/* 0031C4 800025C4 8FB4002C */ lw $s4, 0x2c($sp)
/* 0031C8 800025C8 8FB50030 */ lw $s5, 0x30($sp)
/* 0031CC 800025CC 03E00008 */ jr $ra
/* 0031D0 800025D0 27BD0060 */ addiu $sp, $sp, 0x60

View File

@ -1,94 +0,0 @@
glabel thread5_game_logic
/* 00337C 8000277C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 003380 80002780 AFA40020 */ sw $a0, 0x20($sp)
/* 003384 80002784 AFBF001C */ sw $ra, 0x1c($sp)
/* 003388 80002788 3C048015 */ lui $a0, %hi(D_8014EF88) # $a0, 0x8015
/* 00338C 8000278C 3C058015 */ lui $a1, %hi(D_8014F00C) # $a1, 0x8015
/* 003390 80002790 AFB10018 */ sw $s1, 0x18($sp)
/* 003394 80002794 AFB00014 */ sw $s0, 0x14($sp)
/* 003398 80002798 24A5F00C */ addiu $a1, %lo(D_8014F00C) # addiu $a1, $a1, -0xff4
/* 00339C 8000279C 2484EF88 */ addiu $a0, %lo(D_8014EF88) # addiu $a0, $a0, -0x1078
/* 0033A0 800027A0 0C033358 */ jal osCreateMesgQueue
/* 0033A4 800027A4 24060001 */ li $a2, 1
/* 0033A8 800027A8 3C108015 */ lui $s0, %hi(D_8014EF70) # $s0, 0x8015
/* 0033AC 800027AC 2610EF70 */ addiu $s0, %lo(D_8014EF70) # addiu $s0, $s0, -0x1090
/* 0033B0 800027B0 3C058015 */ lui $a1, %hi(D_8014F008) # $a1, 0x8015
/* 0033B4 800027B4 24A5F008 */ addiu $a1, %lo(D_8014F008) # addiu $a1, $a1, -0xff8
/* 0033B8 800027B8 02002025 */ move $a0, $s0
/* 0033BC 800027BC 0C033358 */ jal osCreateMesgQueue
/* 0033C0 800027C0 24060001 */ li $a2, 1
/* 0033C4 800027C4 0C000229 */ jal init_controllers
/* 0033C8 800027C8 00000000 */ nop
/* 0033CC 800027CC 3C0E8015 */ lui $t6, %hi(D_8015011C) # $t6, 0x8015
/* 0033D0 800027D0 95CE011C */ lhu $t6, %lo(D_8015011C)($t6)
/* 0033D4 800027D4 15C00003 */ bnez $t6, .L800027E4
/* 0033D8 800027D8 00000000 */ nop
/* 0033DC 800027DC 0C000C04 */ jal func_80003010
/* 0033E0 800027E0 00000000 */ nop
.L800027E4:
/* 0033E4 800027E4 3C058015 */ lui $a1, %hi(D_8014EF48) # $a1, 0x8015
/* 0033E8 800027E8 24A5EF48 */ addiu $a1, %lo(D_8014EF48) # addiu $a1, $a1, -0x10b8
/* 0033EC 800027EC 24040002 */ li $a0, 2
/* 0033F0 800027F0 02003025 */ move $a2, $s0
/* 0033F4 800027F4 0C000836 */ jal func_800020D8
/* 0033F8 800027F8 24070001 */ li $a3, 1
/* 0033FC 800027FC 3C02800E */ lui $v0, %hi(D_800DC600) # $v0, 0x800e
/* 003400 80002800 8C42C600 */ lw $v0, %lo(D_800DC600)($v0)
/* 003404 80002804 3C018016 */ lui $at, %hi(D_8015F8B8) # $at, 0x8016
/* 003408 80002808 AC22F8B8 */ sw $v0, %lo(D_8015F8B8)($at)
/* 00340C 8000280C 3C018016 */ lui $at, %hi(D_8015F8BC) # $at, 0x8016
/* 003410 80002810 244F0002 */ addiu $t7, $v0, 2
/* 003414 80002814 AC2FF8BC */ sw $t7, %lo(D_8015F8BC)($at)
/* 003418 80002818 3C018016 */ lui $at, %hi(D_8015F8C0) # $at, 0x8016
/* 00341C 8000281C 2458000B */ addiu $t8, $v0, 0xb
/* 003420 80002820 AC38F8C0 */ sw $t8, %lo(D_8015F8C0)($at)
/* 003424 80002824 3C018016 */ lui $at, %hi(D_8015F8C4) # $at, 0x8016
/* 003428 80002828 24590017 */ addiu $t9, $v0, 0x17
/* 00342C 8000282C AC39F8C4 */ sw $t9, %lo(D_8015F8C4)($at)
/* 003430 80002830 3C018016 */ lui $at, %hi(D_8015F8C8) # $at, 0x8016
/* 003434 80002834 24480019 */ addiu $t0, $v0, 0x19
/* 003438 80002838 AC28F8C8 */ sw $t0, %lo(D_8015F8C8)($at)
/* 00343C 8000283C 3C018016 */ lui $at, %hi(D_8015F8CC) # $at, 0x8016
/* 003440 80002840 2449001C */ addiu $t1, $v0, 0x1c
/* 003444 80002844 0C000380 */ jal rendering_init
/* 003448 80002848 AC29F8CC */ sw $t1, %lo(D_8015F8CC)($at)
/* 00344C 8000284C 0C00028A */ jal read_controllers
/* 003450 80002850 00000000 */ nop
/* 003454 80002854 0C03172E */ jal func_800C5CB8
/* 003458 80002858 00000000 */ nop
/* 00345C 8000285C 3C11800E */ lui $s1, %hi(D_800DC524) # $s1, 0x800e
/* 003460 80002860 3C10800E */ lui $s0, %hi(D_800DC50C) # $s0, 0x800e
/* 003464 80002864 2610C50C */ addiu $s0, %lo(D_800DC50C) # addiu $s0, $s0, -0x3af4
/* 003468 80002868 2631C524 */ addiu $s1, %lo(D_800DC524) # addiu $s1, $s1, -0x3adc
.L8000286C:
/* 00346C 8000286C 0C032CB1 */ jal func_800CB2C4
/* 003470 80002870 00000000 */ nop
/* 003474 80002874 8E220000 */ lw $v0, ($s1)
/* 003478 80002878 8E0A0000 */ lw $t2, ($s0)
/* 00347C 8000287C 11420003 */ beq $t2, $v0, .L8000288C
/* 003480 80002880 00000000 */ nop
/* 003484 80002884 0C0009A1 */ jal func_80002684
/* 003488 80002888 AE020000 */ sw $v0, ($s0)
.L8000288C:
/* 00348C 8000288C 0C000D54 */ jal profiler_log_thread5_time
/* 003490 80002890 00002025 */ move $a0, $zero
/* 003494 80002894 0C0003AD */ jal config_gfx_pool
/* 003498 80002898 00000000 */ nop
/* 00349C 8000289C 0C00028A */ jal read_controllers
/* 0034A0 800028A0 00000000 */ nop
/* 0034A4 800028A4 0C0007B3 */ jal func_80001ECC
/* 0034A8 800028A8 00000000 */ nop
/* 0034AC 800028AC 0C00033A */ jal func_80000CE8
/* 0034B0 800028B0 00000000 */ nop
/* 0034B4 800028B4 0C0003CD */ jal display_and_vsync
/* 0034B8 800028B8 00000000 */ nop
/* 0034BC 800028BC 1000FFEB */ b .L8000286C
/* 0034C0 800028C0 00000000 */ nop
/* 0034C4 800028C4 00000000 */ nop
/* 0034C8 800028C8 00000000 */ nop
/* 0034CC 800028CC 00000000 */ nop
/* 0034D0 800028D0 8FBF001C */ lw $ra, 0x1c($sp)
/* 0034D4 800028D4 8FB00014 */ lw $s0, 0x14($sp)
/* 0034D8 800028D8 8FB10018 */ lw $s1, 0x18($sp)
/* 0034DC 800028DC 03E00008 */ jr $ra
/* 0034E0 800028E0 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -309,16 +309,16 @@ glabel D_800DDB24
glabel D_800DDB30
.float 0.4, 0.6, 0.275, 0.3
glabel D_800DDB40
glabel D_800DDB40 # p1 camera struct pointer
.word D_801646F0
glabel D_800DDB44
glabel D_800DDB44 # p2 camera struct pointer
.word D_801647A8
glabel D_800DDB48
glabel D_800DDB48 # p3 camera struct pointer
.word D_80164860
glabel D_800DDB4C
glabel D_800DDB4C # p4 camera struct pointer
.word D_80164918
glabel D_800DDB50

View File

@ -2,49 +2,49 @@
.section .rodata
.balign 4
glabel D_800EB5D0
.asciiz "SOUTH "
#.balign 4
#glabel D_800EB5D0
#.asciiz "SOUTH "
.balign 4
glabel D_800EB5D8
.asciiz "EAST "
#.balign 4
#glabel D_800EB5D8
#.asciiz "EAST "
.balign 4
glabel D_800EB5E0
.asciiz "NORTH "
.balign 4
#.balign 4
#glabel D_800EB5E0
#.asciiz "NORTH "
#.balign 4
glabel D_800EB5E8
.asciiz "WEST "
#glabel D_800EB5E8
#.asciiz "WEST "
.balign 4
glabel D_800EB5F0
.asciiz "SOUTH "
#.balign 4
#glabel D_800EB5F0
#.asciiz "SOUTH "
.balign 4
glabel D_800EB5F8
.double 0.01666666
#.balign 4
#glabel D_800EB5F8
#.double 0.01666666
glabel D_800EB600
.double 0.01666666
#glabel D_800EB600
#.double 0.01666666
glabel D_800EB608
.double 0.01666666
#glabel D_800EB608
#.double 0.01666666
glabel D_800EB610
.double 0.01666666
#glabel D_800EB610
#.double 0.01666666
glabel D_800EB618
.word L80001F0C, L80001F0C, L80001F0C, L80001F0C
.word L80001F38, L80001F48, L80001F60, L80001EFC
.word L80001F60, L80001F58
#glabel D_800EB618
#.word L80001F0C, L80001F0C, L80001F0C, L80001F0C
#.word L80001F38, L80001F48, L80001F60, L80001EFC
#.word L80001F60, L80001F58
glabel D_800EB640
.double 0.01666666
#glabel D_800EB640
#.double 0.01666666
glabel D_800EB648
.word L800026B4, L800026CC, L800026E4, L800026FC
.word L80002714, L8000272C, L8000276C, L8000276C
.word L8000276C, L8000274C
#glabel D_800EB648
#.word L800026B4, L800026CC, L800026E4, L800026FC
#.word L80002714, L8000272C, L8000276C, L8000276C
#.word L8000276C, L8000274C
glabel D_800EB670

View File

@ -1718,6 +1718,7 @@ typedef struct {
* 64-bit systems, only the 'words' member may be accessed; the rest of the
* structs don't have matching layouts for now.)
*/
typedef union {
Gwords words;
#if !defined(F3D_OLD) && IS_BIG_ENDIAN && !IS_64_BIT

View File

@ -32,6 +32,8 @@ typedef enum {
/* 0x15 */ NUM_COURSES
} COURSES;
// This was added as a silly idea:
// In the data to use "A, B, Z, R" instead of hex numbers.
typedef enum {
A = 0x80,
B = 0x40,
@ -66,9 +68,9 @@ typedef struct {
f32 angleX;
f32 angleY;
f32 angleZ;
f32 rotX;
f32 rotY;
f32 rotZ;
s32 rotX;
s32 rotY; // unused?
s16 rotZ;
s32 unk3; // zero
s32 unk4; // 0x4119999A
s32 unk5; // 0xC20C bit flag?
@ -100,8 +102,9 @@ typedef struct {
s32 unk24; // zero
s32 unk25; // zero
s32 unk26; // zero
// need another s16 here?
s32 unk27; // 8
s32 unk28; // zero
s16 unk28; // zero
s32 unk29; // 422
} Camera;

View File

@ -52,7 +52,25 @@ struct UnkStruct_800DC5EC {
u16 unk2E;
u16 unk30;
u16 unk32;
u16 unk34;
u16 unk36;
s16 unk38;
};
struct UnkStruct_800DDB40 {
u32 unk0;
u32 unk4;
u32 unk8;
u32 unkC;
u32 unk10;
u32 unk14;
u32 unk18;
u32 unk1C;
u32 unk20;
u16 unk24;
u16 unk26;
};
// math util structs
struct UnkStruct_802B51E8 {
f32 unk0;

View File

@ -252,7 +252,7 @@ SECTIONS
BEGIN_NOLOAD(main) {
BUILD_DIR/src/main.o(.bss);
BUILD_DIR/asm/bss_main.o(.bss);
BUILD_DIR/asm/bss_800029B0.o(.bss);
BUILD_DIR/src/profiler.o(.bss);
BUILD_DIR/src/crash_screen.o(.bss);

View File

@ -27,7 +27,7 @@ extern struct Controller (*D_800DC4BC)[];
extern s32 D_800DC510;
extern s16 D_8015F6FE;
extern s16 D_800DC5B8;
extern s16 D_80152308;
extern u16 D_80152308;
extern s32 D_802BA038;
extern s16 D_802BA048;

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,8 @@
#define MAIN_H
#include "types.h"
// 20836
// 655
#define GFX_POOL_SIZE 20836
struct GfxPool {
Gfx buffer[GFX_POOL_SIZE];

View File

@ -635,7 +635,6 @@ d_course_skyscraper_vertex = 0x0F000000;
osTvType = 0x80000300;
D_8015C000 = 0x8015C000;
osRomBase = 0x80000308;
osResetType = 0x8000030C;
osAppNmiBuffer = 0x8000031C;