From bd15d298664e1a22cd31886cf87bfc40ab6842e9 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Mon, 8 Mar 2021 17:39:45 +1000 Subject: [PATCH] pal-final: Get lib segment matching excluding pointers --- ld/libfiles.inc | 41 +- ld/pd.ld | 8 +- src/game/activemenu/activemenu.c | 2 +- src/game/bondmove.c | 2 +- src/game/bondview.c | 2 +- src/game/chr/chr.c | 2 +- src/game/core.c | 3 +- src/game/credits.c | 2 +- src/game/endscreen.c | 2 +- src/game/explosions/explosions.c | 2 +- src/game/explosions/reset.c | 2 +- src/game/game_006bd0.c | 2 +- src/game/game_015470.c | 2 +- src/game/game_01afc0.c | 2 +- src/game/game_01bea0.c | 2 +- src/game/game_097ba0.c | 2 +- src/game/game_0b2150.c | 2 +- src/game/game_0b63b0.c | 2 +- src/game/game_0b69d0.c | 2 +- src/game/game_0d4690.c | 2 +- src/game/game_0e0770.c | 2 +- src/game/game_0f09f0.c | 2 +- src/game/game_102240.c | 2 +- src/game/game_107fb0.c | 2 +- src/game/game_11f000.c | 2 +- src/game/game_13c510.c | 2 +- src/game/game_1531a0.c | 2 +- src/game/game_1577f0.c | 2 +- src/game/game_165670.c | 2 +- src/game/game_176080.c | 2 +- src/game/game_1a7560.c | 2 +- src/game/hudmsg.c | 2 +- src/game/menu/items.c | 2 +- src/game/mplayer/mplayer.c | 2 +- src/game/mplayer/scenarios.c | 2 +- src/game/mplayer/setup.c | 2 +- src/game/nbomb.c | 2 +- src/game/propobj.c | 2 +- src/game/radar.c | 2 +- src/game/room.c | 2 +- src/game/sight.c | 2 +- src/game/sky.c | 2 +- src/game/sparks/sparks.c | 2 +- src/game/title.c | 2 +- src/game/training/menus.c | 2 +- src/game/training/training.c | 2 +- src/include/lib/lib_05dc0.h | 9 - src/include/lib/lib_09660.h | 50 - src/include/lib/lib_09a80.h | 58 + src/lib/audiomgr.c | 651 ++++++ src/lib/controller.c | 2 + src/lib/lib_05dc0.c | 37 - src/lib/lib_09660.c | 2628 +----------------------- src/lib/lib_09a80.c | 3235 ++++++++++++++++++++++++++++++ src/lib/lib_0e9d0.c | 295 +++ src/lib/lib_2fc60.c | 327 +++ src/lib/lib_3d280.c | 109 +- src/lib/main.c | 406 ++++ src/lib/model.c | 955 ++++++++- src/lib/ultra/os/initialize.c | 39 +- src/lib/ultra/os/initialize2.c | 240 +++ src/lib/ultra/os/unmaptlball.c | 24 + 62 files changed, 6484 insertions(+), 2719 deletions(-) delete mode 100644 src/include/lib/lib_05dc0.h create mode 100644 src/include/lib/lib_09a80.h delete mode 100644 src/lib/lib_05dc0.c create mode 100644 src/lib/lib_09a80.c create mode 100644 src/lib/ultra/os/initialize2.c create mode 100644 src/lib/ultra/os/unmaptlball.c diff --git a/ld/libfiles.inc b/ld/libfiles.inc index 6e0b7e82c..8d1e447c7 100644 --- a/ld/libfiles.inc +++ b/ld/libfiles.inc @@ -1,4 +1,8 @@ -#define LIBFILES(section) \ +/** + * The order of files differ slightly between ROM versions, so there's a bit of + * macro concatenation here to avoid having to print the list twice. + */ +#define LIBFILES1(section) \ build/ROMID/lib/entry.o (section); \ build/ROMID/lib/segments.o (section); \ build/ROMID/lib/init.o (section); \ @@ -20,7 +24,6 @@ build/ROMID/lib/ultra/io/pfsisplug.o (section); \ build/ROMID/lib/ultra/libc/llcvt.o (section); \ build/ROMID/lib/ultra/os/initialize.o (section); \ - build/ROMID/lib/lib_05dc0.o (section); \ build/ROMID/lib/ultra/io/sptask.o (section); \ build/ROMID/lib/lib_06100.o (section); \ build/ROMID/lib/lib_06330.o (section); \ @@ -30,6 +33,7 @@ build/ROMID/lib/lib_074f0.o (section); \ build/ROMID/lib/audiomgr.o (section); \ build/ROMID/lib/lib_09660.o (section); \ + build/ROMID/lib/lib_09a80.o (section); \ build/ROMID/lib/lib_0bfb0.o (section); \ build/ROMID/lib/lib_0c000.o (section); \ build/ROMID/lib/dma.o (section); \ @@ -141,8 +145,9 @@ build/ROMID/lib/ultra/os/getsr.o (section); \ build/ROMID/lib/ultra/io/sirawread.o (section); \ build/ROMID/lib/ultra/io/sirawwrite.o (section); \ - build/ROMID/lib/ultra/os/writebackdcache.o (section); \ - build/ROMID/lib/ultra/libc/ll.o (section); \ + build/ROMID/lib/ultra/os/writebackdcache.o (section); + +#define LIBFILES2(section) \ build/ROMID/lib/ultra/libc/bzero.o (section); \ build/ROMID/lib/ultra/os/getcause.o (section); \ build/ROMID/lib/lib_4b170.o (section); \ @@ -163,7 +168,9 @@ build/ROMID/lib/lib_4d480.o (section); \ build/ROMID/lib/lib_4d6f0.o (section); \ build/ROMID/lib/ultra/os/maptlb.o (section); \ - build/ROMID/lib/ultra/io/aisetfreq.o (section); \ + build/ROMID/lib/ultra/io/aisetfreq.o (section); + +#define LIBFILES3(section) \ build/ROMID/lib/ultra/io/aisetnextbuf.o (section); \ build/ROMID/lib/ultra/io/aigetlen.o (section); \ build/ROMID/lib/ultra/os/invaldcache.o (section); \ @@ -194,10 +201,32 @@ build/ROMID/lib/ultra/os/yieldthread.o (section); \ build/ROMID/lib/ultra/io/si.o (section); \ build/ROMID/lib/ultra/os/probetlb.o (section); \ - build/ROMID/lib/lib_51d50.o (section); \ + build/ROMID/lib/lib_51d50.o (section); + +#if VERSION >= VERSION_PAL_FINAL +#define LIBFILES(section) \ + LIBFILES1(section) \ + LIBFILES2(section) \ + build/ROMID/lib/ultra/libc/ll.o (section); \ + LIBFILES3(section) \ + build/ROMID/lib/ultra/os/initialize2.o (section); \ + build/ROMID/lib/ultra/io/ai.o (section); \ + build/ROMID/lib/ultra/os/jammesg.o (section); \ + build/ROMID/lib/ultra/io/pigetcmdq.o (section); \ + build/ROMID/lib/ultra/io/pirawread.o (section); \ + build/ROMID/lib/ultra/libc/xlitob.o (section); \ + build/ROMID/lib/lib_52360.o (section); \ + build/ROMID/lib/ultra/os/unmaptlball.o (section); +#else +#define LIBFILES(section) \ + LIBFILES1(section) \ + build/ROMID/lib/ultra/libc/ll.o (section); \ + LIBFILES2(section) \ + LIBFILES3(section) \ build/ROMID/lib/ultra/io/ai.o (section); \ build/ROMID/lib/ultra/os/jammesg.o (section); \ build/ROMID/lib/ultra/io/pigetcmdq.o (section); \ build/ROMID/lib/ultra/io/pirawread.o (section); \ build/ROMID/lib/ultra/libc/xlitob.o (section); \ build/ROMID/lib/lib_52360.o (section); +#endif diff --git a/ld/pd.ld b/ld/pd.ld index 8d980be8b..d2fd2d111 100644 --- a/ld/pd.ld +++ b/ld/pd.ld @@ -1,6 +1,3 @@ -#include "gamefiles.inc" -#include "libfiles.inc" - #define VERSION_NTSC_BETA 0 #define VERSION_NTSC_1_0 1 #define VERSION_NTSC_FINAL 2 @@ -8,6 +5,9 @@ #define VERSION_PAL_FINAL 4 #define VERSION_JPN_FINAL 5 +#include "gamefiles.inc" +#include "libfiles.inc" + #define BEGIN_SEG(name) \ _##name##SegmentStart = ADDR(.name); \ _##name##SegmentRomStart = __rompos; \ @@ -189,7 +189,7 @@ SECTIONS PLACEHOLDER_SEGMENT(libzip) - __rompos = 0x02000000; + __rompos = 0x04000000; __rampos = 0x70001000; BEGIN_SEG(lib) diff --git a/src/game/activemenu/activemenu.c b/src/game/activemenu/activemenu.c index ac4ae454c..3dd61c845 100644 --- a/src/game/activemenu/activemenu.c +++ b/src/game/activemenu/activemenu.c @@ -18,7 +18,7 @@ #include "game/mplayer/mplayer.h" #include "game/options.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/main.h" #include "lib/lib_16110.h" #include "data.h" diff --git a/src/game/bondmove.c b/src/game/bondmove.c index afbd6b137..319969444 100644 --- a/src/game/bondmove.c +++ b/src/game/bondmove.c @@ -25,7 +25,7 @@ #include "game/options.h" #include "game/propobj.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/lib_0e9d0.h" #include "lib/rng.h" #include "lib/lib_159b0.h" diff --git a/src/game/bondview.c b/src/game/bondview.c index 4732c7948..d98f6a85f 100644 --- a/src/game/bondview.c +++ b/src/game/bondview.c @@ -11,7 +11,7 @@ #include "game/lang.h" #include "game/options.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/main.h" #include "lib/rng.h" #include "lib/lib_16110.h" diff --git a/src/game/chr/chr.c b/src/game/chr/chr.c index 37e2fe629..319ed0285 100644 --- a/src/game/chr/chr.c +++ b/src/game/chr/chr.c @@ -35,7 +35,7 @@ #include "game/splat.h" #include "game/wallhit.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/main.h" #include "lib/model.h" #include "lib/rng.h" diff --git a/src/game/core.c b/src/game/core.c index 3c592a83d..a60c745ce 100644 --- a/src/game/core.c +++ b/src/game/core.c @@ -94,7 +94,8 @@ #include "lib/args.h" #include "lib/controller.h" #include "lib/lib_06440.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" +#include "lib/lib_09a80.h" #include "lib/main.h" #include "lib/lib_0e9d0.h" #include "lib/lib_11420.h" diff --git a/src/game/credits.c b/src/game/credits.c index be270eb79..ca130465d 100644 --- a/src/game/credits.c +++ b/src/game/credits.c @@ -15,7 +15,7 @@ #include "game/music.h" #include "game/lang.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/main.h" #include "lib/memory.h" #include "lib/rng.h" diff --git a/src/game/endscreen.c b/src/game/endscreen.c index 8f35f9c4d..b10b53dfa 100644 --- a/src/game/endscreen.c +++ b/src/game/endscreen.c @@ -23,7 +23,7 @@ #include "game/options.h" #include "game/mpstats.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/main.h" #include "data.h" #include "types.h" diff --git a/src/game/explosions/explosions.c b/src/game/explosions/explosions.c index dd41f5576..18e0f5599 100644 --- a/src/game/explosions/explosions.c +++ b/src/game/explosions/explosions.c @@ -18,7 +18,7 @@ #include "game/utils.h" #include "game/wallhit.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/main.h" #include "lib/rng.h" #include "lib/lib_16110.h" diff --git a/src/game/explosions/reset.c b/src/game/explosions/reset.c index 3b103bcd3..69c84c853 100644 --- a/src/game/explosions/reset.c +++ b/src/game/explosions/reset.c @@ -2,7 +2,7 @@ #include "constants.h" #include "game/prop.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "data.h" #include "types.h" diff --git a/src/game/game_006bd0.c b/src/game/game_006bd0.c index 5117bf575..c247cd459 100644 --- a/src/game/game_006bd0.c +++ b/src/game/game_006bd0.c @@ -15,7 +15,7 @@ #include "game/file.h" #include "game/gfxmemory.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/lib_0e9d0.h" #include "lib/rng.h" #include "lib/lib_159b0.h" diff --git a/src/game/game_015470.c b/src/game/game_015470.c index bec27a111..d83647f94 100644 --- a/src/game/game_015470.c +++ b/src/game/game_015470.c @@ -3,7 +3,7 @@ #include "game/game_015470.h" #include "game/game_01afc0.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/dma.h" #include "lib/lib_317f0.h" #include "data.h" diff --git a/src/game/game_01afc0.c b/src/game/game_01afc0.c index 4d903a4e2..53f5210d3 100644 --- a/src/game/game_01afc0.c +++ b/src/game/game_01afc0.c @@ -1,7 +1,7 @@ #include #include "constants.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "data.h" #include "types.h" diff --git a/src/game/game_01bea0.c b/src/game/game_01bea0.c index 87e7e32a2..bcacd43d1 100644 --- a/src/game/game_01bea0.c +++ b/src/game/game_01bea0.c @@ -20,7 +20,7 @@ #include "game/gamefile.h" #include "game/mplayer/mplayer.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/main.h" #include "lib/lib_0e9d0.h" #include "data.h" diff --git a/src/game/game_097ba0.c b/src/game/game_097ba0.c index ca11cafc8..f30a8768a 100644 --- a/src/game/game_097ba0.c +++ b/src/game/game_097ba0.c @@ -37,7 +37,7 @@ #include "game/options.h" #include "game/propobj.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/main.h" #include "lib/model.h" #include "lib/lib_0e9d0.h" diff --git a/src/game/game_0b2150.c b/src/game/game_0b2150.c index 4fca0bf15..7a1477aca 100644 --- a/src/game/game_0b2150.c +++ b/src/game/game_0b2150.c @@ -2,7 +2,7 @@ #include "constants.h" #include "game/game_0b2150.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "data.h" #include "types.h" diff --git a/src/game/game_0b63b0.c b/src/game/game_0b63b0.c index b7a35cc78..db51c28bd 100644 --- a/src/game/game_0b63b0.c +++ b/src/game/game_0b63b0.c @@ -50,7 +50,7 @@ #include "game/propobj.h" #include "game/splat.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/main.h" #include "lib/lib_0e9d0.h" #include "lib/memory.h" diff --git a/src/game/game_0b69d0.c b/src/game/game_0b69d0.c index d060f6e86..78352da1a 100644 --- a/src/game/game_0b69d0.c +++ b/src/game/game_0b69d0.c @@ -53,7 +53,7 @@ #include "game/mpstats.h" #include "gvars/gvars.h" #include "lib/controller.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/main.h" #include "lib/lib_0e9d0.h" #include "lib/memory.h" diff --git a/src/game/game_0d4690.c b/src/game/game_0d4690.c index 42264aa60..ea8e4675f 100644 --- a/src/game/game_0d4690.c +++ b/src/game/game_0d4690.c @@ -5,7 +5,7 @@ #include "game/file.h" #include "game/utils.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/main.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" diff --git a/src/game/game_0e0770.c b/src/game/game_0e0770.c index 9d75c4986..d6fec922e 100644 --- a/src/game/game_0e0770.c +++ b/src/game/game_0e0770.c @@ -9,7 +9,7 @@ #include "game/file.h" #include "game/utils.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/main.h" #include "lib/rng.h" #include "lib/lib_159b0.h" diff --git a/src/game/game_0f09f0.c b/src/game/game_0f09f0.c index 16a981539..7cecef2d9 100644 --- a/src/game/game_0f09f0.c +++ b/src/game/game_0f09f0.c @@ -31,7 +31,7 @@ #include "game/options.h" #include "game/propobj.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/main.h" #include "lib/lib_0e9d0.h" #include "lib/memory.h" diff --git a/src/game/game_102240.c b/src/game/game_102240.c index 0e08c9a90..5f665b712 100644 --- a/src/game/game_102240.c +++ b/src/game/game_102240.c @@ -24,7 +24,7 @@ #include "game/mplayer/mplayer.h" #include "game/options.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/main.h" #include "lib/lib_0e9d0.h" #include "data.h" diff --git a/src/game/game_107fb0.c b/src/game/game_107fb0.c index 9e280cf34..ff363abcb 100644 --- a/src/game/game_107fb0.c +++ b/src/game/game_107fb0.c @@ -11,7 +11,7 @@ #include "game/pak/pak.h" #include "game/utils.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/lib_126b0.h" #include "data.h" #include "types.h" diff --git a/src/game/game_11f000.c b/src/game/game_11f000.c index 9f6e7ca0f..8c91b79d2 100644 --- a/src/game/game_11f000.c +++ b/src/game/game_11f000.c @@ -8,7 +8,7 @@ #include "game/game_165670.h" #include "game/pad.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "data.h" diff --git a/src/game/game_13c510.c b/src/game/game_13c510.c index a72054bcd..0423976d9 100644 --- a/src/game/game_13c510.c +++ b/src/game/game_13c510.c @@ -11,7 +11,7 @@ #include "game/game_165670.h" #include "game/game_1668e0.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "data.h" diff --git a/src/game/game_1531a0.c b/src/game/game_1531a0.c index 834b641fd..9362d4bc7 100644 --- a/src/game/game_1531a0.c +++ b/src/game/game_1531a0.c @@ -6,7 +6,7 @@ #include "game/file.h" #include "game/lang.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/dma.h" #include "lib/main.h" #include "lib/memory.h" diff --git a/src/game/game_1577f0.c b/src/game/game_1577f0.c index 9a2078813..40e9f07e4 100644 --- a/src/game/game_1577f0.c +++ b/src/game/game_1577f0.c @@ -6,7 +6,7 @@ #include "game/file.h" #include "game/lang.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/dma.h" #include "lib/main.h" #include "lib/memory.h" diff --git a/src/game/game_165670.c b/src/game/game_165670.c index b4f082075..686bc4339 100644 --- a/src/game/game_165670.c +++ b/src/game/game_165670.c @@ -4,7 +4,7 @@ #include "game/room.h" #include "game/game_165670.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "data.h" #include "types.h" diff --git a/src/game/game_176080.c b/src/game/game_176080.c index 2e4b4a746..f1259ac1a 100644 --- a/src/game/game_176080.c +++ b/src/game/game_176080.c @@ -6,7 +6,7 @@ #include "game/mplayer/mplayer.h" #include "game/options.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/memory.h" #include "data.h" #include "types.h" diff --git a/src/game/game_1a7560.c b/src/game/game_1a7560.c index ddad72061..673de5514 100644 --- a/src/game/game_1a7560.c +++ b/src/game/game_1a7560.c @@ -18,7 +18,7 @@ #include "game/mplayer/mplayer.h" #include "game/options.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/main.h" #include "data.h" #include "types.h" diff --git a/src/game/hudmsg.c b/src/game/hudmsg.c index 4f7df8d3e..b727a7737 100644 --- a/src/game/hudmsg.c +++ b/src/game/hudmsg.c @@ -14,7 +14,7 @@ #include "game/options.h" #include "game/propobj.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/lib_0e9d0.h" #include "lib/memory.h" #include "lib/lib_16110.h" diff --git a/src/game/menu/items.c b/src/game/menu/items.c index 6828ec4f5..a2e2538d0 100644 --- a/src/game/menu/items.c +++ b/src/game/menu/items.c @@ -16,7 +16,7 @@ #include "game/mplayer/mplayer.h" #include "game/options.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/main.h" #include "data.h" #include "types.h" diff --git a/src/game/mplayer/mplayer.c b/src/game/mplayer/mplayer.c index cf9826eed..9b22880e8 100644 --- a/src/game/mplayer/mplayer.c +++ b/src/game/mplayer/mplayer.c @@ -21,7 +21,7 @@ #include "game/pak/pak.h" #include "gvars/gvars.h" #include "lib/args.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/main.h" #include "lib/rng.h" #include "lib/lib_317f0.h" diff --git a/src/game/mplayer/scenarios.c b/src/game/mplayer/scenarios.c index 19859d712..de1122f18 100644 --- a/src/game/mplayer/scenarios.c +++ b/src/game/mplayer/scenarios.c @@ -25,7 +25,7 @@ #include "game/pad.h" #include "game/propobj.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/lib_0e9d0.h" #include "lib/memory.h" #include "lib/rng.h" diff --git a/src/game/mplayer/setup.c b/src/game/mplayer/setup.c index 82e21c14c..ef32336bd 100644 --- a/src/game/mplayer/setup.c +++ b/src/game/mplayer/setup.c @@ -16,7 +16,7 @@ #include "game/mplayer/mplayer.h" #include "game/options.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/rng.h" #include "data.h" #include "types.h" diff --git a/src/game/nbomb.c b/src/game/nbomb.c index 05d57b8e1..4cd41fbe9 100644 --- a/src/game/nbomb.c +++ b/src/game/nbomb.c @@ -15,7 +15,7 @@ #include "game/file.h" #include "game/gfxmemory.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/lib_0e9d0.h" #include "lib/rng.h" #include "lib/lib_159b0.h" diff --git a/src/game/propobj.c b/src/game/propobj.c index 29757fc7f..d384f6b13 100644 --- a/src/game/propobj.c +++ b/src/game/propobj.c @@ -56,7 +56,7 @@ #include "game/wallhit.h" #include "game/shards.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/dma.h" #include "lib/main.h" #include "lib/lib_0e9d0.h" diff --git a/src/game/radar.c b/src/game/radar.c index edb790b91..84a1a66de 100644 --- a/src/game/radar.c +++ b/src/game/radar.c @@ -11,7 +11,7 @@ #include "game/radar.h" #include "game/options.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/lib_16110.h" #include "data.h" #include "types.h" diff --git a/src/game/room.c b/src/game/room.c index 70eb3395c..af37a4712 100644 --- a/src/game/room.c +++ b/src/game/room.c @@ -28,7 +28,7 @@ #include "game/wallhit.h" #include "gvars/gvars.h" #include "lib/lib_074f0.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/dma.h" #include "lib/main.h" #include "lib/memory.h" diff --git a/src/game/sight.c b/src/game/sight.c index b8f0dd04b..58d492919 100644 --- a/src/game/sight.c +++ b/src/game/sight.c @@ -14,7 +14,7 @@ #include "game/options.h" #include "game/propobj.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/main.h" #include "lib/lib_0e9d0.h" #include "data.h" diff --git a/src/game/sky.c b/src/game/sky.c index 1236dd1e0..82b7a4e66 100644 --- a/src/game/sky.c +++ b/src/game/sky.c @@ -5,7 +5,7 @@ #include "game/sky.h" #include "game/game_1531a0.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/memory.h" #include "lib/rng.h" #include "lib/lib_159b0.h" diff --git a/src/game/sparks/sparks.c b/src/game/sparks/sparks.c index 3e436a542..ac2cfed36 100644 --- a/src/game/sparks/sparks.c +++ b/src/game/sparks/sparks.c @@ -6,7 +6,7 @@ #include "game/sparks/sparks.h" #include "game/file.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/rng.h" #include "lib/lib_159b0.h" #include "data.h" diff --git a/src/game/title.c b/src/game/title.c index cd6880ef1..ccf7ba751 100644 --- a/src/game/title.c +++ b/src/game/title.c @@ -19,7 +19,7 @@ #include "game/propobj.h" #include "gvars/gvars.h" #include "lib/controller.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/main.h" #include "lib/model.h" #include "lib/lib_0e9d0.h" diff --git a/src/game/training/menus.c b/src/game/training/menus.c index 24f976c16..f9dde440c 100644 --- a/src/game/training/menus.c +++ b/src/game/training/menus.c @@ -19,7 +19,7 @@ #include "game/mplayer/mplayer.h" #include "game/options.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/main.h" #include "data.h" #include "types.h" diff --git a/src/game/training/training.c b/src/game/training/training.c index 6a7fa2cf1..8fdc6c998 100644 --- a/src/game/training/training.c +++ b/src/game/training/training.c @@ -25,7 +25,7 @@ #include "game/propobj.h" #include "game/wallhit.h" #include "gvars/gvars.h" -#include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/dma.h" #include "lib/main.h" #include "lib/lib_0e9d0.h" diff --git a/src/include/lib/lib_05dc0.h b/src/include/lib/lib_05dc0.h deleted file mode 100644 index de4e1cf1a..000000000 --- a/src/include/lib/lib_05dc0.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef _IN_LIB_LIB_05DC0_H -#define _IN_LIB_LIB_05DC0_H -#include -#include "data.h" -#include "types.h" - -u32 func00005dc0(void); - -#endif diff --git a/src/include/lib/lib_09660.h b/src/include/lib/lib_09660.h index 0d1288017..cd7b81c46 100644 --- a/src/include/lib/lib_09660.h +++ b/src/include/lib/lib_09660.h @@ -7,55 +7,5 @@ u32 func00009660(void); void amgrClearDmaBuffers(void); u32 func00009a08(void); -void func00009a80(void); -void func00009a88(void); -void func00009a90(void); -void func00009a98(void); -void func00009aa0(u32 arg0); -Gfx *debugRenderSomething(Gfx *gdl); -void func00009ab0(void); -void func00009b50(void *fb); -void func00009bf8(void); -void func00009c3c(s32 stagenum); -void func00009ec4(s32 arg0); -u32 func00009ed4(void); -void func0000a044(void); -void func0000aa50(f32 arg0); -void func0000aab0(u32 arg0); -void *viGetUnk28(void); -void *vi2GetUnk28(void); -u32 func0000ab4c(void); -u32 func0000ab6c(void); -u32 func0000ab78(void); -u32 func0000aca4(void); -u32 func0000ad5c(void); -u32 func0000af00(void); -u32 func0000b0e8(void); -Gfx *func0000b1a8(Gfx *gdl); -Gfx *func0000b1d0(Gfx *gdl); -Gfx *func0000b280(Gfx *gdl); -Gfx *func0000b2c4(Gfx *gdl); -Gfx *func0000b330(Gfx *gdl); -void viSetBuf(s16 x, s16 y); -s16 viGetBufX(void); -s16 viGetBufY(void); -void viSetXY(s16 x, s16 y); -s16 viGetWidth(void); -s16 viGetHeight(void); -void viSetViewSize(s16 x, s16 y); -s16 viGetViewWidth(void); -s16 viGetViewHeight(void); -void viSetViewPosition(s16 left, s16 top); -s16 viGetViewLeft(void); -s16 viGetViewTop(void); -void viSetUseZBuf(bool use); -void viSetFovY(f32 fovy); -void viSetAspect(f32 aspect); -f32 viGetAspect(void); -void viSetFovAspectAndSize(f32 fovy, f32 aspect, s16 width, s16 height); -f32 viGetFovY(void); -void viSetZRange(f32 arg0, f32 arg1); -void viGetZRange(struct zrange *zrange); -u32 func0000bf04(void); #endif diff --git a/src/include/lib/lib_09a80.h b/src/include/lib/lib_09a80.h new file mode 100644 index 000000000..bd117a928 --- /dev/null +++ b/src/include/lib/lib_09a80.h @@ -0,0 +1,58 @@ +#ifndef _IN_LIB_LIB_09A80_H +#define _IN_LIB_LIB_09A80_H +#include +#include "data.h" +#include "types.h" + +void func00009a80(void); +void func00009a88(void); +void func00009a90(void); +void func00009a98(void); +void func00009aa0(u32 arg0); +Gfx *debugRenderSomething(Gfx *gdl); +void func00009ab0(void); +void func00009b50(void *fb); +void func00009bf8(void); +void func00009c3c(s32 stagenum); +void func00009ec4(s32 arg0); +u32 func00009ed4(void); +void func0000a044(void); +void func0000aa50(f32 arg0); +void func0000aab0(u32 arg0); +void *viGetUnk28(void); +void *vi2GetUnk28(void); +u32 func0000ab4c(void); +u32 func0000ab6c(void); +u32 func0000ab78(void); +u32 func0000aca4(void); +u32 func0000ad5c(void); +u32 func0000af00(void); +u32 func0000b0e8(void); +Gfx *func0000b1a8(Gfx *gdl); +Gfx *func0000b1d0(Gfx *gdl); +Gfx *func0000b280(Gfx *gdl); +Gfx *func0000b2c4(Gfx *gdl); +Gfx *func0000b330(Gfx *gdl); +void viSetBuf(s16 x, s16 y); +s16 viGetBufX(void); +s16 viGetBufY(void); +void viSetXY(s16 x, s16 y); +s16 viGetWidth(void); +s16 viGetHeight(void); +void viSetViewSize(s16 x, s16 y); +s16 viGetViewWidth(void); +s16 viGetViewHeight(void); +void viSetViewPosition(s16 left, s16 top); +s16 viGetViewLeft(void); +s16 viGetViewTop(void); +void viSetUseZBuf(bool use); +void viSetFovY(f32 fovy); +void viSetAspect(f32 aspect); +f32 viGetAspect(void); +void viSetFovAspectAndSize(f32 fovy, f32 aspect, s16 width, s16 height); +f32 viGetFovY(void); +void viSetZRange(f32 arg0, f32 arg1); +void viGetZRange(struct zrange *zrange); +u32 func0000bf04(void); + +#endif diff --git a/src/lib/audiomgr.c b/src/lib/audiomgr.c index 02fea62ea..accf87ec6 100644 --- a/src/lib/audiomgr.c +++ b/src/lib/audiomgr.c @@ -374,6 +374,456 @@ void amgrAllocateStack(void) g_AudioSp = allocateStack(THREAD_AUDIO, STACKSIZE_AUDIO); } +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel amgrCreate +/* 8988: 27bdfa48 */ addiu $sp,$sp,-1464 +/* 898c: afbf002c */ sw $ra,0x2c($sp) +/* 8990: afb0001c */ sw $s0,0x1c($sp) +/* 8994: afa405b8 */ sw $a0,0x5b8($sp) +/* 8998: 00a08025 */ move $s0,$a1 +/* 899c: afb30028 */ sw $s3,0x28($sp) +/* 89a0: afb20024 */ sw $s2,0x24($sp) +/* 89a4: afb10020 */ sw $s1,0x20($sp) +/* 89a8: 0c01362c */ jal 0x4d8b0 +/* 89ac: 24045604 */ li $a0,0x5604 +/* 89b0: 8fa505b8 */ lw $a1,0x5b8($sp) +/* 89b4: 3c0e7001 */ lui $t6,0x7001 +/* 89b8: 25ce9754 */ addiu $t6,$t6,-26796 +/* 89bc: aca20018 */ sw $v0,0x18($a1) +/* 89c0: acae0010 */ sw $t6,0x10($a1) +/* 89c4: 8e0f0004 */ lw $t7,0x4($s0) +/* 89c8: 3c048009 */ lui $a0,0x8009 +/* 89cc: 44825000 */ mtc1 $v0,$f10 +/* 89d0: 448f2000 */ mtc1 $t7,$f4 +/* 89d4: 24841e30 */ addiu $a0,$a0,0x1e30 +/* 89d8: 05e10005 */ bgez $t7,.PF000089f0 +/* 89dc: 468021a0 */ cvt.s.w $f6,$f4 +/* 89e0: 3c014f80 */ lui $at,0x4f80 +/* 89e4: 44814000 */ mtc1 $at,$f8 +/* 89e8: 00000000 */ nop +/* 89ec: 46083180 */ add.s $f6,$f6,$f8 +.PF000089f0: +/* 89f0: 46805420 */ cvt.s.w $f16,$f10 +/* 89f4: 3c0141c8 */ lui $at,0x41c8 +/* 89f8: 44812000 */ mtc1 $at,$f4 +/* 89fc: 240200b8 */ li $v0,0xb8 +/* 8a00: 46103482 */ mul.s $f18,$f6,$f16 +/* 8a04: 46049003 */ div.s $f0,$f18,$f4 +/* 8a08: 4600020d */ trunc.w.s $f8,$f0 +/* 8a0c: 44194000 */ mfc1 $t9,$f8 +/* 8a10: 00000000 */ nop +/* 8a14: 03201825 */ move $v1,$t9 +/* 8a18: 44835000 */ mtc1 $v1,$f10 +/* 8a1c: ac990000 */ sw $t9,0x0($a0) +/* 8a20: 07210005 */ bgez $t9,.PF00008a38 +/* 8a24: 468051a0 */ cvt.s.w $f6,$f10 +/* 8a28: 3c014f80 */ lui $at,0x4f80 +/* 8a2c: 44818000 */ mtc1 $at,$f16 +/* 8a30: 00000000 */ nop +/* 8a34: 46103180 */ add.s $f6,$f6,$f16 +.PF00008a38: +/* 8a38: 4600303c */ c.lt.s $f6,$f0 +/* 8a3c: 00000000 */ nop +/* 8a40: 45000004 */ bc1f .PF00008a54 +/* 8a44: 00000000 */ nop +/* 8a48: 24690001 */ addiu $t1,$v1,0x1 +/* 8a4c: ac890000 */ sw $t1,0x0($a0) +/* 8a50: 01201825 */ move $v1,$t1 +.PF00008a54: +/* 8a54: 0062001b */ divu $zero,$v1,$v0 +/* 8a58: 00005012 */ mflo $t2 +/* 8a5c: 3c018009 */ lui $at,0x8009 +/* 8a60: 14400002 */ bnez $v0,.PF00008a6c +/* 8a64: 00000000 */ nop +/* 8a68: 0007000d */ break 0x7 +.PF00008a6c: +/* 8a6c: 01420019 */ multu $t2,$v0 +/* 8a70: 00005812 */ mflo $t3 +/* 8a74: 256c00b8 */ addiu $t4,$t3,0xb8 +/* 8a78: ac8c0000 */ sw $t4,0x0($a0) +/* 8a7c: 258dff48 */ addiu $t5,$t4,-184 +/* 8a80: ac2d1e2c */ sw $t5,0x1e2c($at) +/* 8a84: 3c018009 */ lui $at,0x8009 +/* 8a88: 258e0050 */ addiu $t6,$t4,0x50 +/* 8a8c: ac2e1e34 */ sw $t6,0x1e34($at) +/* 8a90: 3c018006 */ lui $at,0x8006 +/* 8a94: 0c00255c */ jal 0x9570 +/* 8a98: a020cc34 */ sb $zero,-0x33cc($at) +/* 8a9c: 3c048009 */ lui $a0,0x8009 +/* 8aa0: 3c058009 */ lui $a1,0x8009 +/* 8aa4: 24a51db0 */ addiu $a1,$a1,0x1db0 +/* 8aa8: 24841d98 */ addiu $a0,$a0,0x1d98 +/* 8aac: 0c011f10 */ jal 0x47c40 +/* 8ab0: 24060008 */ li $a2,0x8 +/* 8ab4: 3c048009 */ lui $a0,0x8009 +/* 8ab8: 3c058009 */ lui $a1,0x8009 +/* 8abc: 24a51d78 */ addiu $a1,$a1,0x1d78 +/* 8ac0: 24841d60 */ addiu $a0,$a0,0x1d60 +/* 8ac4: 0c011f10 */ jal 0x47c40 +/* 8ac8: 24060008 */ li $a2,0x8 +/* 8acc: 3c128009 */ lui $s2,0x8009 +/* 8ad0: 26521e3c */ addiu $s2,$s2,0x1e3c +/* 8ad4: 240f07d0 */ li $t7,0x7d0 +/* 8ad8: 3c108009 */ lui $s0,0x8009 +/* 8adc: 3c138009 */ lui $s3,0x8009 +/* 8ae0: 3c118009 */ lui $s1,0x8009 +/* 8ae4: ae4f0000 */ sw $t7,0x0($s2) +/* 8ae8: 26315740 */ addiu $s1,$s1,0x5740 +/* 8aec: 26731b20 */ addiu $s3,$s3,0x1b20 +/* 8af0: 26101b18 */ addiu $s0,$s0,0x1b18 +.PF00008af4: +/* 8af4: 8e580000 */ lw $t8,0x0($s2) +/* 8af8: 00002025 */ move $a0,$zero +/* 8afc: 00002825 */ move $a1,$zero +/* 8b00: 0018c8c0 */ sll $t9,$t8,0x3 +/* 8b04: afb90010 */ sw $t9,0x10($sp) +/* 8b08: 02203025 */ move $a2,$s1 +/* 8b0c: 0c00bd05 */ jal 0x2f414 +/* 8b10: 24070001 */ li $a3,0x1 +/* 8b14: 26100004 */ addiu $s0,$s0,0x4 +/* 8b18: 0213082b */ sltu $at,$s0,$s3 +/* 8b1c: 1420fff5 */ bnez $at,.PF00008af4 +/* 8b20: ae02fffc */ sw $v0,-0x4($s0) +/* 8b24: 3c108009 */ lui $s0,0x8009 +/* 8b28: 3c128009 */ lui $s2,0x8009 +/* 8b2c: 26521b24 */ addiu $s2,$s2,0x1b24 +/* 8b30: 26101b18 */ addiu $s0,$s0,0x1b18 +.PF00008b34: +/* 8b34: 24090060 */ li $t1,0x60 +/* 8b38: afa90010 */ sw $t1,0x10($sp) +/* 8b3c: 00002025 */ move $a0,$zero +/* 8b40: 00002825 */ move $a1,$zero +/* 8b44: 02203025 */ move $a2,$s1 +/* 8b48: 0c00bd05 */ jal 0x2f414 +/* 8b4c: 24070001 */ li $a3,0x1 +/* 8b50: ae020008 */ sw $v0,0x8($s0) +/* 8b54: a4400004 */ sh $zero,0x4($v0) +/* 8b58: 240a0e68 */ li $t2,0xe68 +/* 8b5c: afaa0010 */ sw $t2,0x10($sp) +/* 8b60: 00002025 */ move $a0,$zero +/* 8b64: 00002825 */ move $a1,$zero +/* 8b68: 02203025 */ move $a2,$s1 +/* 8b6c: 0c00bd05 */ jal 0x2f414 +/* 8b70: 24070001 */ li $a3,0x1 +/* 8b74: 8e0b0008 */ lw $t3,0x8($s0) +/* 8b78: 26100004 */ addiu $s0,$s0,0x4 +/* 8b7c: 0212082b */ sltu $at,$s0,$s2 +/* 8b80: 1420ffec */ bnez $at,.PF00008b34 +/* 8b84: ad620000 */ sw $v0,0x0($t3) +/* 8b88: 3c0d8006 */ lui $t5,0x8006 +/* 8b8c: 3c088009 */ lui $t0,0x8009 +/* 8b90: 25adcc38 */ addiu $t5,$t5,-13256 +/* 8b94: 25081040 */ addiu $t0,$t0,0x1040 +/* 8b98: 27a201b8 */ addiu $v0,$sp,0x1b8 +/* 8b9c: 27a30088 */ addiu $v1,$sp,0x88 +/* 8ba0: 27a50190 */ addiu $a1,$sp,0x190 +/* 8ba4: 27a60060 */ addiu $a2,$sp,0x60 +/* 8ba8: 24070001 */ li $a3,0x1 +/* 8bac: 25af0024 */ addiu $t7,$t5,0x24 +/* 8bb0: 27ac0588 */ addiu $t4,$sp,0x588 +.PF00008bb4: +/* 8bb4: 8da10000 */ lw $at,0x0($t5) +/* 8bb8: 25ad000c */ addiu $t5,$t5,0xc +/* 8bbc: 258c000c */ addiu $t4,$t4,0xc +/* 8bc0: ad81fff4 */ sw $at,-0xc($t4) +/* 8bc4: 8da1fff8 */ lw $at,-0x8($t5) +/* 8bc8: ad81fff8 */ sw $at,-0x8($t4) +/* 8bcc: 8da1fffc */ lw $at,-0x4($t5) +/* 8bd0: 15affff8 */ bne $t5,$t7,.PF00008bb4 +/* 8bd4: ad81fffc */ sw $at,-0x4($t4) +/* 8bd8: 8da10000 */ lw $at,0x0($t5) +/* 8bdc: 3c198006 */ lui $t9,0x8006 +/* 8be0: 2739cc60 */ addiu $t9,$t9,-13216 +/* 8be4: 272a0024 */ addiu $t2,$t9,0x24 +/* 8be8: 27b80560 */ addiu $t8,$sp,0x560 +/* 8bec: ad810000 */ sw $at,0x0($t4) +.PF00008bf0: +/* 8bf0: 8f210000 */ lw $at,0x0($t9) +/* 8bf4: 2739000c */ addiu $t9,$t9,0xc +/* 8bf8: 2718000c */ addiu $t8,$t8,0xc +/* 8bfc: af01fff4 */ sw $at,-0xc($t8) +/* 8c00: 8f21fff8 */ lw $at,-0x8($t9) +/* 8c04: af01fff8 */ sw $at,-0x8($t8) +/* 8c08: 8f21fffc */ lw $at,-0x4($t9) +/* 8c0c: 172afff8 */ bne $t9,$t2,.PF00008bf0 +/* 8c10: af01fffc */ sw $at,-0x4($t8) +/* 8c14: 8f210000 */ lw $at,0x0($t9) +/* 8c18: 3c0e8006 */ lui $t6,0x8006 +/* 8c1c: 25cecc88 */ addiu $t6,$t6,-13176 +/* 8c20: 25cd0024 */ addiu $t5,$t6,0x24 +/* 8c24: 27ab0538 */ addiu $t3,$sp,0x538 +/* 8c28: af010000 */ sw $at,0x0($t8) +.PF00008c2c: +/* 8c2c: 8dc10000 */ lw $at,0x0($t6) +/* 8c30: 25ce000c */ addiu $t6,$t6,0xc +/* 8c34: 256b000c */ addiu $t3,$t3,0xc +/* 8c38: ad61fff4 */ sw $at,-0xc($t3) +/* 8c3c: 8dc1fff8 */ lw $at,-0x8($t6) +/* 8c40: ad61fff8 */ sw $at,-0x8($t3) +/* 8c44: 8dc1fffc */ lw $at,-0x4($t6) +/* 8c48: 15cdfff8 */ bne $t6,$t5,.PF00008c2c +/* 8c4c: ad61fffc */ sw $at,-0x4($t3) +/* 8c50: 8dc10000 */ lw $at,0x0($t6) +/* 8c54: 3c098006 */ lui $t1,0x8006 +/* 8c58: 2529ccb0 */ addiu $t1,$t1,-13136 +/* 8c5c: 253900c0 */ addiu $t9,$t1,0xc0 +/* 8c60: 27ac0470 */ addiu $t4,$sp,0x470 +/* 8c64: ad610000 */ sw $at,0x0($t3) +.PF00008c68: +/* 8c68: 8d210000 */ lw $at,0x0($t1) +/* 8c6c: 2529000c */ addiu $t1,$t1,0xc +/* 8c70: 258c000c */ addiu $t4,$t4,0xc +/* 8c74: ad81fff4 */ sw $at,-0xc($t4) +/* 8c78: 8d21fff8 */ lw $at,-0x8($t1) +/* 8c7c: ad81fff8 */ sw $at,-0x8($t4) +/* 8c80: 8d21fffc */ lw $at,-0x4($t1) +/* 8c84: 1539fff8 */ bne $t1,$t9,.PF00008c68 +/* 8c88: ad81fffc */ sw $at,-0x4($t4) +/* 8c8c: 8d210000 */ lw $at,0x0($t1) +/* 8c90: 8d390004 */ lw $t9,0x4($t1) +/* 8c94: 3c0f8006 */ lui $t7,0x8006 +/* 8c98: 25efcd78 */ addiu $t7,$t7,-12936 +/* 8c9c: 25ee0048 */ addiu $t6,$t7,0x48 +/* 8ca0: 27b80428 */ addiu $t8,$sp,0x428 +/* 8ca4: ad810000 */ sw $at,0x0($t4) +/* 8ca8: ad990004 */ sw $t9,0x4($t4) +.PF00008cac: +/* 8cac: 8de10000 */ lw $at,0x0($t7) +/* 8cb0: 25ef000c */ addiu $t7,$t7,0xc +/* 8cb4: 2718000c */ addiu $t8,$t8,0xc +/* 8cb8: af01fff4 */ sw $at,-0xc($t8) +/* 8cbc: 8de1fff8 */ lw $at,-0x8($t7) +/* 8cc0: af01fff8 */ sw $at,-0x8($t8) +/* 8cc4: 8de1fffc */ lw $at,-0x4($t7) +/* 8cc8: 15eefff8 */ bne $t7,$t6,.PF00008cac +/* 8ccc: af01fffc */ sw $at,-0x4($t8) +/* 8cd0: 3c0a8006 */ lui $t2,0x8006 +/* 8cd4: 254acdc0 */ addiu $t2,$t2,-12864 +/* 8cd8: 25490060 */ addiu $t1,$t2,0x60 +/* 8cdc: 27ab03c0 */ addiu $t3,$sp,0x3c0 +.PF00008ce0: +/* 8ce0: 8d410000 */ lw $at,0x0($t2) +/* 8ce4: 254a000c */ addiu $t2,$t2,0xc +/* 8ce8: 256b000c */ addiu $t3,$t3,0xc +/* 8cec: ad61fff4 */ sw $at,-0xc($t3) +/* 8cf0: 8d41fff8 */ lw $at,-0x8($t2) +/* 8cf4: ad61fff8 */ sw $at,-0x8($t3) +/* 8cf8: 8d41fffc */ lw $at,-0x4($t2) +/* 8cfc: 1549fff8 */ bne $t2,$t1,.PF00008ce0 +/* 8d00: ad61fffc */ sw $at,-0x4($t3) +/* 8d04: 8d410000 */ lw $at,0x0($t2) +/* 8d08: 8d490004 */ lw $t1,0x4($t2) +/* 8d0c: 3c0d8006 */ lui $t5,0x8006 +/* 8d10: 25adce28 */ addiu $t5,$t5,-12760 +/* 8d14: 25af0060 */ addiu $t7,$t5,0x60 +/* 8d18: 27ac0358 */ addiu $t4,$sp,0x358 +/* 8d1c: ad610000 */ sw $at,0x0($t3) +/* 8d20: ad690004 */ sw $t1,0x4($t3) +.PF00008d24: +/* 8d24: 8da10000 */ lw $at,0x0($t5) +/* 8d28: 25ad000c */ addiu $t5,$t5,0xc +/* 8d2c: 258c000c */ addiu $t4,$t4,0xc +/* 8d30: ad81fff4 */ sw $at,-0xc($t4) +/* 8d34: 8da1fff8 */ lw $at,-0x8($t5) +/* 8d38: ad81fff8 */ sw $at,-0x8($t4) +/* 8d3c: 8da1fffc */ lw $at,-0x4($t5) +/* 8d40: 15affff8 */ bne $t5,$t7,.PF00008d24 +/* 8d44: ad81fffc */ sw $at,-0x4($t4) +/* 8d48: 8da10000 */ lw $at,0x0($t5) +/* 8d4c: 8daf0004 */ lw $t7,0x4($t5) +/* 8d50: 3c198006 */ lui $t9,0x8006 +/* 8d54: 2739ce90 */ addiu $t9,$t9,-12656 +/* 8d58: 272a0060 */ addiu $t2,$t9,0x60 +/* 8d5c: 27b802f0 */ addiu $t8,$sp,0x2f0 +/* 8d60: ad810000 */ sw $at,0x0($t4) +/* 8d64: ad8f0004 */ sw $t7,0x4($t4) +.PF00008d68: +/* 8d68: 8f210000 */ lw $at,0x0($t9) +/* 8d6c: 2739000c */ addiu $t9,$t9,0xc +/* 8d70: 2718000c */ addiu $t8,$t8,0xc +/* 8d74: af01fff4 */ sw $at,-0xc($t8) +/* 8d78: 8f21fff8 */ lw $at,-0x8($t9) +/* 8d7c: af01fff8 */ sw $at,-0x8($t8) +/* 8d80: 8f21fffc */ lw $at,-0x4($t9) +/* 8d84: 172afff8 */ bne $t9,$t2,.PF00008d68 +/* 8d88: af01fffc */ sw $at,-0x4($t8) +/* 8d8c: 8f210000 */ lw $at,0x0($t9) +/* 8d90: 8f2a0004 */ lw $t2,0x4($t9) +/* 8d94: 3c0e8006 */ lui $t6,0x8006 +/* 8d98: 25cecef8 */ addiu $t6,$t6,-12552 +/* 8d9c: 25cd0084 */ addiu $t5,$t6,0x84 +/* 8da0: 27ab0268 */ addiu $t3,$sp,0x268 +/* 8da4: af010000 */ sw $at,0x0($t8) +/* 8da8: af0a0004 */ sw $t2,0x4($t8) +.PF00008dac: +/* 8dac: 8dc10000 */ lw $at,0x0($t6) +/* 8db0: 25ce000c */ addiu $t6,$t6,0xc +/* 8db4: 256b000c */ addiu $t3,$t3,0xc +/* 8db8: ad61fff4 */ sw $at,-0xc($t3) +/* 8dbc: 8dc1fff8 */ lw $at,-0x8($t6) +/* 8dc0: ad61fff8 */ sw $at,-0x8($t3) +/* 8dc4: 8dc1fffc */ lw $at,-0x4($t6) +/* 8dc8: 15cdfff8 */ bne $t6,$t5,.PF00008dac +/* 8dcc: ad61fffc */ sw $at,-0x4($t3) +/* 8dd0: 8dc10000 */ lw $at,0x0($t6) +/* 8dd4: 3c098006 */ lui $t1,0x8006 +/* 8dd8: 2529cf80 */ addiu $t1,$t1,-12416 +/* 8ddc: 25390024 */ addiu $t9,$t1,0x24 +/* 8de0: 27ac0240 */ addiu $t4,$sp,0x240 +/* 8de4: ad610000 */ sw $at,0x0($t3) +.PF00008de8: +/* 8de8: 8d210000 */ lw $at,0x0($t1) +/* 8dec: 2529000c */ addiu $t1,$t1,0xc +/* 8df0: 258c000c */ addiu $t4,$t4,0xc +/* 8df4: ad81fff4 */ sw $at,-0xc($t4) +/* 8df8: 8d21fff8 */ lw $at,-0x8($t1) +/* 8dfc: ad81fff8 */ sw $at,-0x8($t4) +/* 8e00: 8d21fffc */ lw $at,-0x4($t1) +/* 8e04: 1539fff8 */ bne $t1,$t9,.PF00008de8 +/* 8e08: ad81fffc */ sw $at,-0x4($t4) +/* 8e0c: 8d210000 */ lw $at,0x0($t1) +/* 8e10: 3c188006 */ lui $t8,0x8006 +/* 8e14: 2718cfa8 */ addiu $t8,$t8,-12376 +/* 8e18: 270d0084 */ addiu $t5,$t8,0x84 +/* 8e1c: 00407025 */ move $t6,$v0 +/* 8e20: ad810000 */ sw $at,0x0($t4) +.PF00008e24: +/* 8e24: 8f010000 */ lw $at,0x0($t8) +/* 8e28: 2718000c */ addiu $t8,$t8,0xc +/* 8e2c: 25ce000c */ addiu $t6,$t6,0xc +/* 8e30: adc1fff4 */ sw $at,-0xc($t6) +/* 8e34: 8f01fff8 */ lw $at,-0x8($t8) +/* 8e38: adc1fff8 */ sw $at,-0x8($t6) +/* 8e3c: 8f01fffc */ lw $at,-0x4($t8) +/* 8e40: 170dfff8 */ bne $t8,$t5,.PF00008e24 +/* 8e44: adc1fffc */ sw $at,-0x4($t6) +/* 8e48: 8f010000 */ lw $at,0x0($t8) +/* 8e4c: 3c0b8006 */ lui $t3,0x8006 +/* 8e50: 256bd030 */ addiu $t3,$t3,-12240 +/* 8e54: 25790024 */ addiu $t9,$t3,0x24 +/* 8e58: 00a04825 */ move $t1,$a1 +/* 8e5c: adc10000 */ sw $at,0x0($t6) +.PF00008e60: +/* 8e60: 8d610000 */ lw $at,0x0($t3) +/* 8e64: 256b000c */ addiu $t3,$t3,0xc +/* 8e68: 2529000c */ addiu $t1,$t1,0xc +/* 8e6c: ad21fff4 */ sw $at,-0xc($t1) +/* 8e70: 8d61fff8 */ lw $at,-0x8($t3) +/* 8e74: ad21fff8 */ sw $at,-0x8($t1) +/* 8e78: 8d61fffc */ lw $at,-0x4($t3) +/* 8e7c: 1579fff8 */ bne $t3,$t9,.PF00008e60 +/* 8e80: ad21fffc */ sw $at,-0x4($t1) +/* 8e84: 8d610000 */ lw $at,0x0($t3) +/* 8e88: 3c0c8006 */ lui $t4,0x8006 +/* 8e8c: 258cd058 */ addiu $t4,$t4,-12200 +/* 8e90: 258d0108 */ addiu $t5,$t4,0x108 +/* 8e94: 0060c025 */ move $t8,$v1 +/* 8e98: ad210000 */ sw $at,0x0($t1) +.PF00008e9c: +/* 8e9c: 8d810000 */ lw $at,0x0($t4) +/* 8ea0: 258c000c */ addiu $t4,$t4,0xc +/* 8ea4: 2718000c */ addiu $t8,$t8,0xc +/* 8ea8: af01fff4 */ sw $at,-0xc($t8) +/* 8eac: 8d81fff8 */ lw $at,-0x8($t4) +/* 8eb0: af01fff8 */ sw $at,-0x8($t8) +/* 8eb4: 8d81fffc */ lw $at,-0x4($t4) +/* 8eb8: 158dfff8 */ bne $t4,$t5,.PF00008e9c +/* 8ebc: af01fffc */ sw $at,-0x4($t8) +/* 8ec0: 3c0e8006 */ lui $t6,0x8006 +/* 8ec4: 25ced160 */ addiu $t6,$t6,-11936 +/* 8ec8: 25d90024 */ addiu $t9,$t6,0x24 +/* 8ecc: 00c05825 */ move $t3,$a2 +.PF00008ed0: +/* 8ed0: 8dc10000 */ lw $at,0x0($t6) +/* 8ed4: 25ce000c */ addiu $t6,$t6,0xc +/* 8ed8: 256b000c */ addiu $t3,$t3,0xc +/* 8edc: ad61fff4 */ sw $at,-0xc($t3) +/* 8ee0: 8dc1fff8 */ lw $at,-0x8($t6) +/* 8ee4: ad61fff8 */ sw $at,-0x8($t3) +/* 8ee8: 8dc1fffc */ lw $at,-0x4($t6) +/* 8eec: 15d9fff8 */ bne $t6,$t9,.PF00008ed0 +/* 8ef0: ad61fffc */ sw $at,-0x4($t3) +/* 8ef4: 8dc10000 */ lw $at,0x0($t6) +/* 8ef8: 3c0f8006 */ lui $t7,0x8006 +/* 8efc: 25efd188 */ addiu $t7,$t7,-11896 +/* 8f00: 25ec0024 */ addiu $t4,$t7,0x24 +/* 8f04: 27a90038 */ addiu $t1,$sp,0x38 +/* 8f08: ad610000 */ sw $at,0x0($t3) +.PF00008f0c: +/* 8f0c: 8de10000 */ lw $at,0x0($t7) +/* 8f10: 25ef000c */ addiu $t7,$t7,0xc +/* 8f14: 2529000c */ addiu $t1,$t1,0xc +/* 8f18: ad21fff4 */ sw $at,-0xc($t1) +/* 8f1c: 8de1fff8 */ lw $at,-0x8($t7) +/* 8f20: ad21fff8 */ sw $at,-0x8($t1) +/* 8f24: 8de1fffc */ lw $at,-0x4($t7) +/* 8f28: 15ecfff8 */ bne $t7,$t4,.PF00008f0c +/* 8f2c: ad21fffc */ sw $at,-0x4($t1) +/* 8f30: 8de10000 */ lw $at,0x0($t7) +/* 8f34: ad210000 */ sw $at,0x0($t1) +/* 8f38: 91180000 */ lbu $t8,0x0($t0) +/* 8f3c: 8fb005b8 */ lw $s0,0x5b8($sp) +/* 8f40: 54f80004 */ bnel $a3,$t8,.PF00008f54 +/* 8f44: 8fb005b8 */ lw $s0,0x5b8($sp) +/* 8f48: 10000003 */ b .PF00008f58 +/* 8f4c: ae020020 */ sw $v0,0x20($s0) +/* 8f50: 8fb005b8 */ lw $s0,0x5b8($sp) +.PF00008f54: +/* 8f54: ae030020 */ sw $v1,0x20($s0) +.PF00008f58: +/* 8f58: 3c048009 */ lui $a0,0x8009 +/* 8f5c: 248453f8 */ addiu $a0,$a0,0x53f8 +/* 8f60: 8c820000 */ lw $v0,0x0($a0) +/* 8f64: 28410002 */ slti $at,$v0,0x2 +/* 8f68: 14200010 */ bnez $at,.PF00008fac +/* 8f6c: 28410002 */ slti $at,$v0,0x2 +/* 8f70: 1420000e */ bnez $at,.PF00008fac +/* 8f74: 00e01825 */ move $v1,$a3 +/* 8f78: 26020004 */ addiu $v0,$s0,0x4 +/* 8f7c: 91190000 */ lbu $t9,0x0($t0) +.PF00008f80: +/* 8f80: 54f90004 */ bnel $a3,$t9,.PF00008f94 +/* 8f84: ac460020 */ sw $a2,0x20($v0) +/* 8f88: 10000002 */ b .PF00008f94 +/* 8f8c: ac450020 */ sw $a1,0x20($v0) +/* 8f90: ac460020 */ sw $a2,0x20($v0) +.PF00008f94: +/* 8f94: 8c8e0000 */ lw $t6,0x0($a0) +/* 8f98: 24630001 */ addiu $v1,$v1,0x1 +/* 8f9c: 24420004 */ addiu $v0,$v0,0x4 +/* 8fa0: 006e082a */ slt $at,$v1,$t6 +/* 8fa4: 5420fff6 */ bnezl $at,.PF00008f80 +/* 8fa8: 91190000 */ lbu $t9,0x0($t0) +.PF00008fac: +/* 8fac: 3c048009 */ lui $a0,0x8009 +/* 8fb0: 24841dd0 */ addiu $a0,$a0,0x1dd0 +/* 8fb4: 0c00bd28 */ jal 0x2f4a0 +/* 8fb8: 02002825 */ move $a1,$s0 +/* 8fbc: 00002025 */ move $a0,$zero +/* 8fc0: 0c00c13f */ jal 0x304fc +/* 8fc4: 2405003c */ li $a1,0x3c +/* 8fc8: 3c0b8009 */ lui $t3,0x8009 +/* 8fcc: 8d6b1e40 */ lw $t3,0x1e40($t3) +/* 8fd0: 3c048009 */ lui $a0,0x8009 +/* 8fd4: 3c067001 */ lui $a2,0x7001 +/* 8fd8: 240d0014 */ li $t5,0x14 +/* 8fdc: afad0014 */ sw $t5,0x14($sp) +/* 8fe0: 24c6907c */ addiu $a2,$a2,-28548 +/* 8fe4: 24841b30 */ addiu $a0,$a0,0x1b30 +/* 8fe8: 24050004 */ li $a1,0x4 +/* 8fec: 00003825 */ move $a3,$zero +/* 8ff0: 0c000fac */ jal 0x3eb0 +/* 8ff4: afab0010 */ sw $t3,0x10($sp) +/* 8ff8: 8fbf002c */ lw $ra,0x2c($sp) +/* 8ffc: 8fb0001c */ lw $s0,0x1c($sp) +/* 9000: 8fb10020 */ lw $s1,0x20($sp) +/* 9004: 8fb20024 */ lw $s2,0x24($sp) +/* 9008: 8fb30028 */ lw $s3,0x28($sp) +/* 900c: 03e00008 */ jr $ra +/* 9010: 27bd05b8 */ addiu $sp,$sp,0x5b8 +); +#else GLOBAL_ASM( glabel amgrCreate /* 8a48: 27bdfa40 */ addiu $sp,$sp,-1472 @@ -829,6 +1279,7 @@ glabel amgrCreate /* 90e4: 03e00008 */ jr $ra /* 90e8: 27bd05c0 */ addiu $sp,$sp,0x5c0 ); +#endif void amgrStartThread(void) { @@ -855,6 +1306,205 @@ void amgrStopThread(void) } } +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel amgrMain +/* 907c: 27bdff90 */ addiu $sp,$sp,-112 +/* 9080: afa40070 */ sw $a0,0x70($sp) +/* 9084: afbf003c */ sw $ra,0x3c($sp) +/* 9088: afb30024 */ sw $s3,0x24($sp) +/* 908c: afb20020 */ sw $s2,0x20($sp) +/* 9090: 3c048009 */ lui $a0,0x8009 +/* 9094: 3c058009 */ lui $a1,0x8009 +/* 9098: 3c068009 */ lui $a2,0x8009 +/* 909c: afbe0038 */ sw $s8,0x38($sp) +/* 90a0: afb70034 */ sw $s7,0x34($sp) +/* 90a4: afb60030 */ sw $s6,0x30($sp) +/* 90a8: afb5002c */ sw $s5,0x2c($sp) +/* 90ac: afb40028 */ sw $s4,0x28($sp) +/* 90b0: afb1001c */ sw $s1,0x1c($sp) +/* 90b4: afb00018 */ sw $s0,0x18($sp) +/* 90b8: 00009025 */ move $s2,$zero +/* 90bc: 00009825 */ move $s3,$zero +/* 90c0: afa00064 */ sw $zero,0x64($sp) +/* 90c4: afa00060 */ sw $zero,0x60($sp) +/* 90c8: 24c61d60 */ addiu $a2,$a2,0x1d60 +/* 90cc: 24a51e20 */ addiu $a1,$a1,0x1e20 +/* 90d0: 2484e120 */ addiu $a0,$a0,-7904 +/* 90d4: 0c00078c */ jal 0x1e30 +/* 90d8: 24070001 */ li $a3,0x1 +/* 90dc: 3c158009 */ lui $s5,0x8009 +/* 90e0: 3c148009 */ lui $s4,0x8009 +/* 90e4: 3c118009 */ lui $s1,0x8009 +/* 90e8: 3c108009 */ lui $s0,0x8009 +/* 90ec: 26101ad0 */ addiu $s0,$s0,0x1ad0 +/* 90f0: 26311ab8 */ addiu $s1,$s1,0x1ab8 +/* 90f4: 26941ad8 */ addiu $s4,$s4,0x1ad8 +/* 90f8: 26b51ae0 */ addiu $s5,$s5,0x1ae0 +/* 90fc: 241e0005 */ li $s8,0x5 +/* 9100: 24170004 */ li $s7,0x4 +/* 9104: 27b60064 */ addiu $s6,$sp,0x64 +.PF00009108: +/* 9108: 3c048009 */ lui $a0,0x8009 +/* 910c: 24841d60 */ addiu $a0,$a0,0x1d60 +/* 9110: 02c02825 */ move $a1,$s6 +/* 9114: 0c011ffc */ jal 0x47ff0 +/* 9118: 24060001 */ li $a2,0x1 +/* 911c: 8fae0064 */ lw $t6,0x64($sp) +/* 9120: 85c40000 */ lh $a0,0x0($t6) +/* 9124: 10970007 */ beq $a0,$s7,.PF00009144 +/* 9128: 00000000 */ nop +/* 912c: 109e0078 */ beq $a0,$s8,.PF00009310 +/* 9130: 2401000a */ li $at,0xa +/* 9134: 50810079 */ beql $a0,$at,.PF0000931c +/* 9138: 24130001 */ li $s3,0x1 +/* 913c: 10000077 */ b .PF0000931c +/* 9140: 00000000 */ nop +.PF00009144: +/* 9144: 0c012288 */ jal 0x48a20 +/* 9148: 00000000 */ nop +/* 914c: ae820000 */ sw $v0,0x0($s4) +/* 9150: ae830004 */ sw $v1,0x4($s4) +/* 9154: 0c002664 */ jal 0x9990 +/* 9158: 3c040003 */ lui $a0,0x3 +/* 915c: 3c0f8009 */ lui $t7,0x8009 +/* 9160: 8def2d78 */ lw $t7,0x2d78($t7) +/* 9164: 24010003 */ li $at,0x3 +/* 9168: 3c048009 */ lui $a0,0x8009 +/* 916c: 01e1001b */ divu $zero,$t7,$at +/* 9170: 0000c010 */ mfhi $t8 +/* 9174: 0018c880 */ sll $t9,$t8,0x2 +/* 9178: 00992021 */ addu $a0,$a0,$t9 +/* 917c: 8c841b20 */ lw $a0,0x1b20($a0) +/* 9180: 0c0024d8 */ jal 0x9360 +/* 9184: 8fa50060 */ lw $a1,0x60($sp) +/* 9188: 0c00263f */ jal 0x98fc +/* 918c: 00000000 */ nop +/* 9190: 26520001 */ addiu $s2,$s2,0x1 +/* 9194: 0c002664 */ jal 0x9990 +/* 9198: 3c040006 */ lui $a0,0x6 +/* 919c: 0c012288 */ jal 0x48a20 +/* 91a0: 00000000 */ nop +/* 91a4: 8e8a0000 */ lw $t2,0x0($s4) +/* 91a8: 8e8b0004 */ lw $t3,0x4($s4) +/* 91ac: aea20000 */ sw $v0,0x0($s5) +/* 91b0: 004ac023 */ subu $t8,$v0,$t2 +/* 91b4: 006b082b */ sltu $at,$v1,$t3 +/* 91b8: 0301c023 */ subu $t8,$t8,$at +/* 91bc: aea30004 */ sw $v1,0x4($s5) +/* 91c0: 3c018009 */ lui $at,0x8009 +/* 91c4: 006bc823 */ subu $t9,$v1,$t3 +/* 91c8: ac391ac4 */ sw $t9,0x1ac4($at) +/* 91cc: ac381ac0 */ sw $t8,0x1ac0($at) +/* 91d0: 240100f0 */ li $at,0xf0 +/* 91d4: 0241001a */ div $zero,$s2,$at +/* 91d8: 00004010 */ mfhi $t0 +/* 91dc: afb90044 */ sw $t9,0x44($sp) +/* 91e0: afb80040 */ sw $t8,0x40($sp) +/* 91e4: afa20050 */ sw $v0,0x50($sp) +/* 91e8: afa30054 */ sw $v1,0x54($sp) +/* 91ec: afaa0048 */ sw $t2,0x48($sp) +/* 91f0: 1500001c */ bnez $t0,.PF00009264 +/* 91f4: afab004c */ sw $t3,0x4c($sp) +/* 91f8: 8e040000 */ lw $a0,0x0($s0) +/* 91fc: 8e050004 */ lw $a1,0x4($s0) +/* 9200: 24060000 */ li $a2,0x0 +/* 9204: 0c01369a */ jal 0x4da68 +/* 9208: 240700f0 */ li $a3,0xf0 +/* 920c: 3c018009 */ lui $at,0x8009 +/* 9210: ac221ac8 */ sw $v0,0x1ac8($at) +/* 9214: ac231acc */ sw $v1,0x1acc($at) +/* 9218: 8e990004 */ lw $t9,0x4($s4) +/* 921c: 8e980000 */ lw $t8,0x0($s4) +/* 9220: 8eaf0004 */ lw $t7,0x4($s5) +/* 9224: 8eae0000 */ lw $t6,0x0($s5) +/* 9228: 240a0000 */ li $t2,0x0 +/* 922c: 01f9082b */ sltu $at,$t7,$t9 +/* 9230: 01d84023 */ subu $t0,$t6,$t8 +/* 9234: 01014023 */ subu $t0,$t0,$at +/* 9238: 240b0000 */ li $t3,0x0 +/* 923c: 240c0000 */ li $t4,0x0 +/* 9240: 240d0000 */ li $t5,0x0 +/* 9244: 01f94823 */ subu $t1,$t7,$t9 +/* 9248: afa90044 */ sw $t1,0x44($sp) +/* 924c: ae2d0004 */ sw $t5,0x4($s1) +/* 9250: ae2c0000 */ sw $t4,0x0($s1) +/* 9254: ae0b0004 */ sw $t3,0x4($s0) +/* 9258: afa80040 */ sw $t0,0x40($sp) +/* 925c: 10000011 */ b .PF000092a4 +/* 9260: ae0a0000 */ sw $t2,0x0($s0) +.PF00009264: +/* 9264: 8e0b0004 */ lw $t3,0x4($s0) +/* 9268: 8fad0054 */ lw $t5,0x54($sp) +/* 926c: 8e0a0000 */ lw $t2,0x0($s0) +/* 9270: 8fac0050 */ lw $t4,0x50($sp) +/* 9274: 016d7821 */ addu $t7,$t3,$t5 +/* 9278: 8fb80048 */ lw $t8,0x48($sp) +/* 927c: 8fb9004c */ lw $t9,0x4c($sp) +/* 9280: 01ed082b */ sltu $at,$t7,$t5 +/* 9284: 002a7021 */ addu $t6,$at,$t2 +/* 9288: 01cc7021 */ addu $t6,$t6,$t4 +/* 928c: 01d84023 */ subu $t0,$t6,$t8 +/* 9290: 01f9082b */ sltu $at,$t7,$t9 +/* 9294: 01014023 */ subu $t0,$t0,$at +/* 9298: 01f94823 */ subu $t1,$t7,$t9 +/* 929c: ae090004 */ sw $t1,0x4($s0) +/* 92a0: ae080000 */ sw $t0,0x0($s0) +.PF000092a4: +/* 92a4: 8e2a0000 */ lw $t2,0x0($s1) +/* 92a8: 8fac0040 */ lw $t4,0x40($sp) +/* 92ac: 8e2b0004 */ lw $t3,0x4($s1) +/* 92b0: 8fad0044 */ lw $t5,0x44($sp) +/* 92b4: 018a082b */ sltu $at,$t4,$t2 +/* 92b8: 14200008 */ bnez $at,.PF000092dc +/* 92bc: 3c0e8006 */ lui $t6,0x8006 +/* 92c0: 014c082b */ sltu $at,$t2,$t4 +/* 92c4: 14200003 */ bnez $at,.PF000092d4 +/* 92c8: 016d082b */ sltu $at,$t3,$t5 +/* 92cc: 10200003 */ beqz $at,.PF000092dc +/* 92d0: 00000000 */ nop +.PF000092d4: +/* 92d4: ae2c0000 */ sw $t4,0x0($s1) +/* 92d8: ae2d0004 */ sw $t5,0x4($s1) +.PF000092dc: +/* 92dc: 8dced1b4 */ lw $t6,-0x2e4c($t6) +/* 92e0: 3c048009 */ lui $a0,0x8009 +/* 92e4: 24841d98 */ addiu $a0,$a0,0x1d98 +/* 92e8: 15c00003 */ bnez $t6,.PF000092f8 +/* 92ec: 27a50060 */ addiu $a1,$sp,0x60 +/* 92f0: 0c011ffc */ jal 0x47ff0 +/* 92f4: 24060001 */ li $a2,0x1 +.PF000092f8: +/* 92f8: 3c018006 */ lui $at,0x8006 +/* 92fc: ac20d1b4 */ sw $zero,-0x2e4c($at) +/* 9300: 0c00254b */ jal 0x952c +/* 9304: 8fa40060 */ lw $a0,0x60($sp) +/* 9308: 10000004 */ b .PF0000931c +/* 930c: 00000000 */ nop +.PF00009310: +/* 9310: 10000002 */ b .PF0000931c +/* 9314: 24130001 */ li $s3,0x1 +/* 9318: 24130001 */ li $s3,0x1 +.PF0000931c: +/* 931c: 1260ff7a */ beqz $s3,.PF00009108 +/* 9320: 00000000 */ nop +/* 9324: 3c048009 */ lui $a0,0x8009 +/* 9328: 0c00bd43 */ jal 0x2f50c +/* 932c: 24841dd0 */ addiu $a0,$a0,0x1dd0 +/* 9330: 8fbf003c */ lw $ra,0x3c($sp) +/* 9334: 8fb00018 */ lw $s0,0x18($sp) +/* 9338: 8fb1001c */ lw $s1,0x1c($sp) +/* 933c: 8fb20020 */ lw $s2,0x20($sp) +/* 9340: 8fb30024 */ lw $s3,0x24($sp) +/* 9344: 8fb40028 */ lw $s4,0x28($sp) +/* 9348: 8fb5002c */ lw $s5,0x2c($sp) +/* 934c: 8fb60030 */ lw $s6,0x30($sp) +/* 9350: 8fb70034 */ lw $s7,0x34($sp) +/* 9354: 8fbe0038 */ lw $s8,0x38($sp) +/* 9358: 03e00008 */ jr $ra +/* 935c: 27bd0070 */ addiu $sp,$sp,0x70 +); +#else GLOBAL_ASM( glabel amgrMain /* 9154: 27bdff90 */ addiu $sp,$sp,-112 @@ -1056,6 +1706,7 @@ glabel amgrMain /* 9440: 03e00008 */ jr $ra /* 9444: 27bd0070 */ addiu $sp,$sp,0x70 ); +#endif // Mismatch: needs bss relocation //void amgrMain(void *arg) diff --git a/src/lib/controller.c b/src/lib/controller.c index 60913d2ec..6e2c23c6f 100644 --- a/src/lib/controller.c +++ b/src/lib/controller.c @@ -191,9 +191,11 @@ void contCheckPfs(s32 arg0) doingit = false; } +#if !PAL if (arg0) { // empty } +#endif } /** diff --git a/src/lib/lib_05dc0.c b/src/lib/lib_05dc0.c deleted file mode 100644 index d662639ea..000000000 --- a/src/lib/lib_05dc0.c +++ /dev/null @@ -1,37 +0,0 @@ -#include - -GLOBAL_ASM( -glabel func00005dc0 -/* 5dc0: 3c028009 */ lui $v0,%hi(var800902a0) -/* 5dc4: 244202a0 */ addiu $v0,$v0,%lo(var800902a0) -/* 5dc8: 24030007 */ addiu $v1,$zero,0x7 -/* 5dcc: a0430004 */ sb $v1,0x4($v0) -/* 5dd0: 3c0ea460 */ lui $t6,0xa460 -/* 5dd4: 8dcf0014 */ lw $t7,0x14($t6) -/* 5dd8: 3c18a460 */ lui $t8,0xa460 -/* 5ddc: 3c08a460 */ lui $t0,0xa460 -/* 5de0: a04f0005 */ sb $t7,0x5($v0) -/* 5de4: 8f190018 */ lw $t9,0x18($t8) -/* 5de8: 3c0aa460 */ lui $t2,0xa460 -/* 5dec: 3c048009 */ lui $a0,%hi(var80090318) -/* 5df0: a0590008 */ sb $t9,0x8($v0) -/* 5df4: 8d09001c */ lw $t1,0x1c($t0) -/* 5df8: 24840318 */ addiu $a0,$a0,%lo(var80090318) -/* 5dfc: 3c0ca460 */ lui $t4,0xa460 -/* 5e00: a0490006 */ sb $t1,0x6($v0) -/* 5e04: 8d4b0020 */ lw $t3,0x20($t2) -/* 5e08: a0830004 */ sb $v1,0x4($a0) -/* 5e0c: a04b0007 */ sb $t3,0x7($v0) -/* 5e10: 8d8d0024 */ lw $t5,0x24($t4) -/* 5e14: a08d0005 */ sb $t5,0x5($a0) -/* 5e18: 8dcf0028 */ lw $t7,0x28($t6) -/* 5e1c: a08f0008 */ sb $t7,0x8($a0) -/* 5e20: 8f19002c */ lw $t9,0x2c($t8) -/* 5e24: a0990006 */ sb $t9,0x6($a0) -/* 5e28: 8d090030 */ lw $t1,0x30($t0) -/* 5e2c: 03e00008 */ jr $ra -/* 5e30: a0890007 */ sb $t1,0x7($a0) -/* 5e34: 00000000 */ nop -/* 5e38: 00000000 */ nop -/* 5e3c: 00000000 */ nop -); diff --git a/src/lib/lib_09660.c b/src/lib/lib_09660.c index bfb787d87..1dd9260d9 100644 --- a/src/lib/lib_09660.c +++ b/src/lib/lib_09660.c @@ -15,54 +15,7 @@ #include "data.h" #include "types.h" -const u32 var700526d0[] = {0x01400140}; -const u32 var700526d4[] = {0x02800000}; -const u32 var700526d8[] = {0x00dc00dc}; -const u32 var700526dc[] = {0x01b80000}; - -u32 var8005d520 = 0x00000000; -u32 var8005d524 = 0x00000000; -u32 var8005d528 = 0x00000000; -u32 var8005d52c = 0x00000000; - -struct rend_vidat var8005d530 = { - NULL, - 320, 220, // x and y - 60, // fovy - 1.4545454978943f, // aspect - 30, // znear - 10000, // zfar - 320, 220, // bufx and bufy - 320, 220, // viewx and viewy - 0, 0, // viewleft and viewtop - true, // usezbuf - 0, -}; - -struct rend_vidat var8005d55c = { - NULL, - 320, 220, // x and y - 60, // fovy - 1.4545454978943f, // aspect - 30, // znear - 10000, // zfar - 320, 220, // bufx and bufy - 320, 220, // viewx and viewy - 0, 0, // viewleft and viewtop - true, // usezbuf - 0, -}; - -u32 var8005d588 = 0x00000000; -u32 var8005d58c = 0x00000000; -struct rend_vidat *var8005d590 = &var8005d530; -struct rend_vidat *g_ViData = &var8005d530; -u32 var8005d598 = 0x00000001; -u32 var8005d59c = 0x00000000; -u32 var8005d5a0 = 0x00000000; -u32 var8005d5a4 = 0x00000000; -u32 var8005d5a8 = 0x00000000; -u32 var8005d5ac = 0x00000000; +u32 var8005d520 = 0; GLOBAL_ASM( glabel func00009660 @@ -201,6 +154,68 @@ glabel func00009690 /* 9840: 27bd0040 */ addiu $sp,$sp,0x40 ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func00009844 +/* 9754: 27bdffc8 */ addiu $sp,$sp,-56 +/* 9758: 3c038009 */ lui $v1,0x8009 +/* 975c: 24631e50 */ addiu $v1,$v1,0x1e50 +/* 9760: 906e0000 */ lbu $t6,0x0($v1) +/* 9764: afbf0034 */ sw $ra,0x34($sp) +/* 9768: afb40030 */ sw $s4,0x30($sp) +/* 976c: afb3002c */ sw $s3,0x2c($sp) +/* 9770: afb20028 */ sw $s2,0x28($sp) +/* 9774: afb10024 */ sw $s1,0x24($sp) +/* 9778: afb00020 */ sw $s0,0x20($sp) +/* 977c: afa40038 */ sw $a0,0x38($sp) +/* 9780: 15c0001f */ bnez $t6,.PF00009800 +/* 9784: 24020050 */ li $v0,0x50 +/* 9788: 3c0f8009 */ lui $t7,0x8009 +/* 978c: 25ef1e60 */ addiu $t7,$t7,0x1e60 +/* 9790: 3c108009 */ lui $s0,0x8009 +/* 9794: 3c128009 */ lui $s2,0x8009 +/* 9798: 3c148009 */ lui $s4,0x8009 +/* 979c: ac6f0008 */ sw $t7,0x8($v1) +/* 97a0: 26945740 */ addiu $s4,$s4,0x5740 +/* 97a4: 26521e74 */ addiu $s2,$s2,0x1e74 +/* 97a8: 26101e60 */ addiu $s0,$s0,0x1e60 +/* 97ac: 00008825 */ move $s1,$zero +/* 97b0: 2453ffff */ addiu $s3,$v0,-1 +.PF000097b4: +/* 97b4: 02402025 */ move $a0,$s2 +/* 97b8: 0c00c41c */ jal 0x31070 +/* 97bc: 02002825 */ move $a1,$s0 +/* 97c0: 24180400 */ li $t8,0x400 +/* 97c4: afb80010 */ sw $t8,0x10($sp) +/* 97c8: 00002025 */ move $a0,$zero +/* 97cc: 00002825 */ move $a1,$zero +/* 97d0: 02803025 */ move $a2,$s4 +/* 97d4: 0c00bd05 */ jal 0x2f414 +/* 97d8: 24070001 */ li $a3,0x1 +/* 97dc: 26310001 */ addiu $s1,$s1,0x1 +/* 97e0: 26100014 */ addiu $s0,$s0,0x14 +/* 97e4: 26520014 */ addiu $s2,$s2,0x14 +/* 97e8: 1633fff2 */ bne $s1,$s3,.PF000097b4 +/* 97ec: ae02fffc */ sw $v0,-0x4($s0) +/* 97f0: 3c038009 */ lui $v1,0x8009 +/* 97f4: 24631e50 */ addiu $v1,$v1,0x1e50 +/* 97f8: 24190001 */ li $t9,0x1 +/* 97fc: a0790000 */ sb $t9,0x0($v1) +.PF00009800: +/* 9800: 8fa80038 */ lw $t0,0x38($sp) +/* 9804: 3c027001 */ lui $v0,0x7001 +/* 9808: 244295a0 */ addiu $v0,$v0,-27232 +/* 980c: ad030000 */ sw $v1,0x0($t0) +/* 9810: 8fbf0034 */ lw $ra,0x34($sp) +/* 9814: 8fb40030 */ lw $s4,0x30($sp) +/* 9818: 8fb3002c */ lw $s3,0x2c($sp) +/* 981c: 8fb20028 */ lw $s2,0x28($sp) +/* 9820: 8fb10024 */ lw $s1,0x24($sp) +/* 9824: 8fb00020 */ lw $s0,0x20($sp) +/* 9828: 03e00008 */ jr $ra +/* 982c: 27bd0038 */ addiu $sp,$sp,0x38 +); +#else GLOBAL_ASM( glabel func00009844 /* 9844: 27bdffc8 */ addiu $sp,$sp,-56 @@ -271,6 +286,7 @@ glabel func00009844 /* 9934: 03e00008 */ jr $ra /* 9938: 27bd0038 */ addiu $sp,$sp,0x38 ); +#endif GLOBAL_ASM( glabel amgrClearDmaBuffers @@ -365,2520 +381,4 @@ glabel func00009a08 /* 9a70: 8fb30020 */ lw $s3,0x20($sp) /* 9a74: 03e00008 */ jr $ra /* 9a78: 27bd0028 */ addiu $sp,$sp,0x28 -/* 9a7c: 00000000 */ nop -); - -void func00009a80(void) -{ - // empty -} - -void func00009a88(void) -{ - // empty -} - -void func00009a90(void) -{ - // empty -} - -void func00009a98(void) -{ - // empty -} - -void func00009aa0(u32 value) -{ - // empty -} - -Gfx *debugRenderSomething(Gfx *gdl) -{ - return gdl; -} - -GLOBAL_ASM( -glabel func00009ab0 -/* 9ab0: 2405002c */ addiu $a1,$zero,0x2c -/* 9ab4: 300f00ff */ andi $t7,$zero,0xff -/* 9ab8: 01e50019 */ multu $t7,$a1 -/* 9abc: 3c028009 */ lui $v0,%hi(var80092874+0x2) -/* 9ac0: 3c038009 */ lui $v1,%hi(var80092874+0x3) -/* 9ac4: 3c048006 */ lui $a0,%hi(var8005d530) -/* 9ac8: 2484d530 */ addiu $a0,$a0,%lo(var8005d530) -/* 9acc: 24632877 */ addiu $v1,$v1,%lo(var80092874+0x3) -/* 9ad0: 24422876 */ addiu $v0,$v0,%lo(var80092874+0x2) -/* 9ad4: 240e0001 */ addiu $t6,$zero,0x1 -/* 9ad8: a0400000 */ sb $zero,0x0($v0) -/* 9adc: a06e0000 */ sb $t6,0x0($v1) -/* 9ae0: 0000c012 */ mflo $t8 -/* 9ae4: 0098c821 */ addu $t9,$a0,$t8 -/* 9ae8: 3c018006 */ lui $at,%hi(var8005d590) -/* 9aec: ac39d590 */ sw $t9,%lo(var8005d590)($at) -/* 9af0: 90680000 */ lbu $t0,0x0($v1) -/* 9af4: 3c018006 */ lui $at,%hi(g_ViData) -/* 9af8: 3c0b8009 */ lui $t3,%hi(g_Is4Mb) -/* 9afc: 01050019 */ multu $t0,$a1 -/* 9b00: 916b0af0 */ lbu $t3,%lo(g_Is4Mb)($t3) -/* 9b04: 240200dc */ addiu $v0,$zero,0xdc -/* 9b08: 00004812 */ mflo $t1 -/* 9b0c: 00895021 */ addu $t2,$a0,$t1 -/* 9b10: ac2ad594 */ sw $t2,%lo(g_ViData)($at) -/* 9b14: 3c018006 */ lui $at,%hi(var8005d588) -/* 9b18: ac20d588 */ sw $zero,%lo(var8005d588)($at) -/* 9b1c: 3c018006 */ lui $at,%hi(var8005d58c) -/* 9b20: ac20d58c */ sw $zero,%lo(var8005d58c)($at) -/* 9b24: 24010001 */ addiu $at,$zero,0x1 -/* 9b28: 15610007 */ bne $t3,$at,.L00009b48 -/* 9b2c: 00000000 */ nop -/* 9b30: a4820006 */ sh $v0,0x6($a0) -/* 9b34: a482001a */ sh $v0,0x1a($a0) -/* 9b38: a482001e */ sh $v0,0x1e($a0) -/* 9b3c: a4820032 */ sh $v0,0x32($a0) -/* 9b40: a4820046 */ sh $v0,0x46($a0) -/* 9b44: a482004a */ sh $v0,0x4a($a0) -.L00009b48: -/* 9b48: 03e00008 */ jr $ra -/* 9b4c: 00000000 */ nop -); - -GLOBAL_ASM( -glabel func00009b50 -/* 9b50: 3c03800a */ lui $v1,%hi(var8009cac0) -/* 9b54: 3c058006 */ lui $a1,%hi(var8005d530) -/* 9b58: 3c078006 */ lui $a3,%hi(var8005d588) -/* 9b5c: 24e7d588 */ addiu $a3,$a3,%lo(var8005d588) -/* 9b60: 24a5d530 */ addiu $a1,$a1,%lo(var8005d530) -/* 9b64: 2463cac0 */ addiu $v1,$v1,%lo(var8009cac0) -/* 9b68: 24060030 */ addiu $a2,$zero,0x30 -/* 9b6c: 24020240 */ addiu $v0,$zero,0x240 -.L00009b70: -/* 9b70: 24a5002c */ addiu $a1,$a1,0x2c -/* 9b74: 24630004 */ addiu $v1,$v1,0x4 -/* 9b78: ac64fffc */ sw $a0,-0x4($v1) -/* 9b7c: a4a2ffd8 */ sh $v0,-0x28($a1) -/* 9b80: a4a2ffec */ sh $v0,-0x14($a1) -/* 9b84: a4a2fff0 */ sh $v0,-0x10($a1) -/* 9b88: a4a6ffda */ sh $a2,-0x26($a1) -/* 9b8c: a4a6ffee */ sh $a2,-0x12($a1) -/* 9b90: 14a7fff7 */ bne $a1,$a3,.L00009b70 -/* 9b94: a4a6fff2 */ sh $a2,-0xe($a1) -/* 9b98: 3c0e8009 */ lui $t6,%hi(var80092874+0x2) -/* 9b9c: 91ce2876 */ lbu $t6,%lo(var80092874+0x2)($t6) -/* 9ba0: 3c02800a */ lui $v0,%hi(var8009cac0) -/* 9ba4: 2442cac0 */ addiu $v0,$v0,%lo(var8009cac0) -/* 9ba8: 000e7880 */ sll $t7,$t6,0x2 -/* 9bac: 004fc021 */ addu $t8,$v0,$t7 -/* 9bb0: 3c088006 */ lui $t0,%hi(var8005d590) -/* 9bb4: 8d08d590 */ lw $t0,%lo(var8005d590)($t0) -/* 9bb8: 8f190000 */ lw $t9,0x0($t8) -/* 9bbc: 3c098009 */ lui $t1,%hi(var80092874+0x3) -/* 9bc0: 3c0d8006 */ lui $t5,%hi(g_ViData) -/* 9bc4: ad190028 */ sw $t9,0x28($t0) -/* 9bc8: 91292877 */ lbu $t1,%lo(var80092874+0x3)($t1) -/* 9bcc: 8dadd594 */ lw $t5,%lo(g_ViData)($t5) -/* 9bd0: 240e0001 */ addiu $t6,$zero,0x1 -/* 9bd4: 00095080 */ sll $t2,$t1,0x2 -/* 9bd8: 004a5821 */ addu $t3,$v0,$t2 -/* 9bdc: 8d6c0000 */ lw $t4,0x0($t3) -/* 9be0: 3c018006 */ lui $at,%hi(var8005d59c) -/* 9be4: adac0028 */ sw $t4,0x28($t5) -/* 9be8: ac2ed59c */ sw $t6,%lo(var8005d59c)($at) -/* 9bec: 3c01800a */ lui $at,%hi(g_Vars+0x4e0) -/* 9bf0: 03e00008 */ jr $ra -/* 9bf4: a020a4a0 */ sb $zero,%lo(g_Vars+0x4e0)($at) -); - -GLOBAL_ASM( -glabel func00009bf8 -/* 9bf8: 3c038006 */ lui $v1,%hi(var8005d530) -/* 9bfc: 3c058006 */ lui $a1,%hi(var8005d588) -/* 9c00: 24a5d588 */ addiu $a1,$a1,%lo(var8005d588) -/* 9c04: 2463d530 */ addiu $v1,$v1,%lo(var8005d530) -/* 9c08: 240400dc */ addiu $a0,$zero,0xdc -/* 9c0c: 24020140 */ addiu $v0,$zero,0x140 -.L00009c10: -/* 9c10: 2463002c */ addiu $v1,$v1,0x2c -/* 9c14: a462ffd8 */ sh $v0,-0x28($v1) -/* 9c18: a462ffec */ sh $v0,-0x14($v1) -/* 9c1c: a462fff0 */ sh $v0,-0x10($v1) -/* 9c20: a464ffda */ sh $a0,-0x26($v1) -/* 9c24: a464ffee */ sh $a0,-0x12($v1) -/* 9c28: 1465fff9 */ bne $v1,$a1,.L00009c10 -/* 9c2c: a464fff2 */ sh $a0,-0xe($v1) -/* 9c30: 3c01800a */ lui $at,%hi(g_Vars+0x4e0) -/* 9c34: 03e00008 */ jr $ra -/* 9c38: a020a4a0 */ sb $zero,%lo(g_Vars+0x4e0)($at) -); - -GLOBAL_ASM( -glabel func00009c3c -/* 9c3c: 3c05800a */ lui $a1,%hi(g_Vars) -/* 9c40: 24a59fc0 */ addiu $a1,$a1,%lo(g_Vars) -/* 9c44: 27bdffe0 */ addiu $sp,$sp,-32 -/* 9c48: 2401005a */ addiu $at,$zero,0x5a -/* 9c4c: afbf0014 */ sw $ra,0x14($sp) -/* 9c50: 10810003 */ beq $a0,$at,.L00009c60 -/* 9c54: a0a004e0 */ sb $zero,0x4e0($a1) -/* 9c58: 2401004e */ addiu $at,$zero,0x4e -/* 9c5c: 14810015 */ bne $a0,$at,.L00009cb4 -.L00009c60: -/* 9c60: 3c0e8009 */ lui $t6,%hi(g_Is4Mb) -/* 9c64: 91ce0af0 */ lbu $t6,%lo(g_Is4Mb)($t6) -/* 9c68: 24010001 */ addiu $at,$zero,0x1 -/* 9c6c: 15c10006 */ bne $t6,$at,.L00009c88 -/* 9c70: 00000000 */ nop -/* 9c74: 0c002aac */ jal func0000aab0 -/* 9c78: 24040002 */ addiu $a0,$zero,0x2 -/* 9c7c: 3c060008 */ lui $a2,0x8 -/* 9c80: 10000060 */ b .L00009e04 -/* 9c84: 34c69800 */ ori $a2,$a2,0x9800 -.L00009c88: -/* 9c88: 0c002aac */ jal func0000aab0 -/* 9c8c: 24040002 */ addiu $a0,$zero,0x2 -/* 9c90: 3c0f7005 */ lui $t7,%hi(var700526dc) -/* 9c94: 3c187005 */ lui $t8,%hi(var700526d4) -/* 9c98: 871826d4 */ lh $t8,%lo(var700526d4)($t8) -/* 9c9c: 85ef26dc */ lh $t7,%lo(var700526dc)($t7) -/* 9ca0: 01f80019 */ multu $t7,$t8 -/* 9ca4: 00003012 */ mflo $a2 -/* 9ca8: 0006c840 */ sll $t9,$a2,0x1 -/* 9cac: 10000055 */ b .L00009e04 -/* 9cb0: 03203025 */ or $a2,$t9,$zero -.L00009cb4: -/* 9cb4: 0c002aac */ jal func0000aab0 -/* 9cb8: 24040001 */ addiu $a0,$zero,0x1 -/* 9cbc: 3c028009 */ lui $v0,%hi(g_Is4Mb) -/* 9cc0: 90420af0 */ lbu $v0,%lo(g_Is4Mb)($v0) -/* 9cc4: 3c05800a */ lui $a1,%hi(g_Vars) -/* 9cc8: 24010001 */ addiu $at,$zero,0x1 -/* 9ccc: 14410004 */ bne $v0,$at,.L00009ce0 -/* 9cd0: 24a59fc0 */ addiu $a1,$a1,%lo(g_Vars) -/* 9cd4: 3c060002 */ lui $a2,0x2 -/* 9cd8: 10000003 */ b .L00009ce8 -/* 9cdc: 34c62600 */ ori $a2,$a2,0x2600 -.L00009ce0: -/* 9ce0: 3c060004 */ lui $a2,0x4 -/* 9ce4: 34c64c00 */ ori $a2,$a2,0x4c00 -.L00009ce8: -/* 9ce8: 24010001 */ addiu $at,$zero,0x1 -/* 9cec: 54410023 */ bnel $v0,$at,.L00009d7c -/* 9cf0: 8cb90298 */ lw $t9,0x298($a1) -/* 9cf4: 8ca9006c */ lw $t1,0x6c($a1) -/* 9cf8: 24010002 */ addiu $at,$zero,0x2 -/* 9cfc: 00003825 */ or $a3,$zero,$zero -/* 9d00: 11200003 */ beqz $t1,.L00009d10 -/* 9d04: 00002025 */ or $a0,$zero,$zero -/* 9d08: 10000001 */ b .L00009d10 -/* 9d0c: 24070001 */ addiu $a3,$zero,0x1 -.L00009d10: -/* 9d10: 8caa0068 */ lw $t2,0x68($a1) -/* 9d14: 00001825 */ or $v1,$zero,$zero -/* 9d18: 00001025 */ or $v0,$zero,$zero -/* 9d1c: 11400003 */ beqz $t2,.L00009d2c -/* 9d20: 24180001 */ addiu $t8,$zero,0x1 -/* 9d24: 10000001 */ b .L00009d2c -/* 9d28: 24040001 */ addiu $a0,$zero,0x1 -.L00009d2c: -/* 9d2c: 8cab0064 */ lw $t3,0x64($a1) -/* 9d30: 11600003 */ beqz $t3,.L00009d40 -/* 9d34: 00000000 */ nop -/* 9d38: 10000001 */ b .L00009d40 -/* 9d3c: 24030001 */ addiu $v1,$zero,0x1 -.L00009d40: -/* 9d40: 8cac0070 */ lw $t4,0x70($a1) -/* 9d44: 11800003 */ beqz $t4,.L00009d54 -/* 9d48: 00000000 */ nop -/* 9d4c: 10000001 */ b .L00009d54 -/* 9d50: 24020001 */ addiu $v0,$zero,0x1 -.L00009d54: -/* 9d54: 00436821 */ addu $t5,$v0,$v1 -/* 9d58: 01a47021 */ addu $t6,$t5,$a0 -/* 9d5c: 01c77821 */ addu $t7,$t6,$a3 -/* 9d60: 55e10006 */ bnel $t7,$at,.L00009d7c -/* 9d64: 8cb90298 */ lw $t9,0x298($a1) -/* 9d68: 3c060001 */ lui $a2,0x1 -/* 9d6c: 34c61300 */ ori $a2,$a2,0x1300 -/* 9d70: 10000024 */ b .L00009e04 -/* 9d74: a0b804e0 */ sb $t8,0x4e0($a1) -/* 9d78: 8cb90298 */ lw $t9,0x298($a1) -.L00009d7c: -/* 9d7c: 24010002 */ addiu $at,$zero,0x2 -/* 9d80: 07230005 */ bgezl $t9,.L00009d98 -/* 9d84: 8caa006c */ lw $t2,0x6c($a1) -/* 9d88: 8ca9029c */ lw $t1,0x29c($a1) -/* 9d8c: 0522001e */ bltzl $t1,.L00009e08 -/* 9d90: 00062040 */ sll $a0,$a2,0x1 -/* 9d94: 8caa006c */ lw $t2,0x6c($a1) -.L00009d98: -/* 9d98: 8ca20068 */ lw $v0,0x68($a1) -/* 9d9c: 8ca30064 */ lw $v1,0x64($a1) -/* 9da0: 11400003 */ beqz $t2,.L00009db0 -/* 9da4: 8ca80070 */ lw $t0,0x70($a1) -/* 9da8: 10000002 */ b .L00009db4 -/* 9dac: 24070001 */ addiu $a3,$zero,0x1 -.L00009db0: -/* 9db0: 00003825 */ or $a3,$zero,$zero -.L00009db4: -/* 9db4: 10400003 */ beqz $v0,.L00009dc4 -/* 9db8: 00002025 */ or $a0,$zero,$zero -/* 9dbc: 10000001 */ b .L00009dc4 -/* 9dc0: 24040001 */ addiu $a0,$zero,0x1 -.L00009dc4: -/* 9dc4: 10600003 */ beqz $v1,.L00009dd4 -/* 9dc8: 00001025 */ or $v0,$zero,$zero -/* 9dcc: 10000002 */ b .L00009dd8 -/* 9dd0: 24030001 */ addiu $v1,$zero,0x1 -.L00009dd4: -/* 9dd4: 00001825 */ or $v1,$zero,$zero -.L00009dd8: -/* 9dd8: 11000003 */ beqz $t0,.L00009de8 -/* 9ddc: 00000000 */ nop -/* 9de0: 10000001 */ b .L00009de8 -/* 9de4: 24020001 */ addiu $v0,$zero,0x1 -.L00009de8: -/* 9de8: 00435821 */ addu $t3,$v0,$v1 -/* 9dec: 01646021 */ addu $t4,$t3,$a0 -/* 9df0: 01876821 */ addu $t5,$t4,$a3 -/* 9df4: 55a10004 */ bnel $t5,$at,.L00009e08 -/* 9df8: 00062040 */ sll $a0,$a2,0x1 -/* 9dfc: 3c060002 */ lui $a2,0x2 -/* 9e00: 34c62600 */ ori $a2,$a2,0x2600 -.L00009e04: -/* 9e04: 00062040 */ sll $a0,$a2,0x1 -.L00009e08: -/* 9e08: 24840040 */ addiu $a0,$a0,0x40 -/* 9e0c: 24050004 */ addiu $a1,$zero,0x4 -/* 9e10: 0c0048f2 */ jal malloc -/* 9e14: afa60018 */ sw $a2,0x18($sp) -/* 9e18: 8fa60018 */ lw $a2,0x18($sp) -/* 9e1c: 3c04800a */ lui $a0,%hi(var8009cac0) -/* 9e20: 2445003f */ addiu $a1,$v0,0x3f -/* 9e24: 2401ffc0 */ addiu $at,$zero,-64 -/* 9e28: 2484cac0 */ addiu $a0,$a0,%lo(var8009cac0) -/* 9e2c: 00a17024 */ and $t6,$a1,$at -/* 9e30: 00ce7821 */ addu $t7,$a2,$t6 -/* 9e34: ac8e0000 */ sw $t6,0x0($a0) -/* 9e38: ac8f0004 */ sw $t7,0x4($a0) -/* 9e3c: 3c188009 */ lui $t8,%hi(var80092874+0x2) -/* 9e40: 93182876 */ lbu $t8,%lo(var80092874+0x2)($t8) -/* 9e44: 3c0b8006 */ lui $t3,%hi(var8005d590) -/* 9e48: 8d6bd590 */ lw $t3,%lo(var8005d590)($t3) -/* 9e4c: 0018c880 */ sll $t9,$t8,0x2 -/* 9e50: 00994821 */ addu $t1,$a0,$t9 -/* 9e54: 8d2a0000 */ lw $t2,0x0($t1) -/* 9e58: 3c0c8009 */ lui $t4,%hi(var80092874+0x3) -/* 9e5c: 3c188006 */ lui $t8,%hi(g_ViData) -/* 9e60: ad6a0028 */ sw $t2,0x28($t3) -/* 9e64: 918c2877 */ lbu $t4,%lo(var80092874+0x3)($t4) -/* 9e68: 8f18d594 */ lw $t8,%lo(g_ViData)($t8) -/* 9e6c: 00001825 */ or $v1,$zero,$zero -/* 9e70: 000c6880 */ sll $t5,$t4,0x2 -/* 9e74: 008d7021 */ addu $t6,$a0,$t5 -/* 9e78: 8dcf0000 */ lw $t7,0x0($t6) -/* 9e7c: 24190001 */ addiu $t9,$zero,0x1 -/* 9e80: af0f0028 */ sw $t7,0x28($t8) -/* 9e84: 8c870000 */ lw $a3,0x0($a0) -/* 9e88: 18c00009 */ blez $a2,.L00009eb0 -/* 9e8c: 8c880004 */ lw $t0,0x4($a0) -/* 9e90: 00e01025 */ or $v0,$a3,$zero -/* 9e94: 01002025 */ or $a0,$t0,$zero -.L00009e98: -/* 9e98: 24630001 */ addiu $v1,$v1,0x1 -/* 9e9c: a0400000 */ sb $zero,0x0($v0) -/* 9ea0: 24420001 */ addiu $v0,$v0,0x1 -/* 9ea4: 24840001 */ addiu $a0,$a0,0x1 -/* 9ea8: 1466fffb */ bne $v1,$a2,.L00009e98 -/* 9eac: a080ffff */ sb $zero,-0x1($a0) -.L00009eb0: -/* 9eb0: 8fbf0014 */ lw $ra,0x14($sp) -/* 9eb4: 3c018006 */ lui $at,%hi(var8005d59c) -/* 9eb8: ac39d59c */ sw $t9,%lo(var8005d59c)($at) -/* 9ebc: 03e00008 */ jr $ra -/* 9ec0: 27bd0020 */ addiu $sp,$sp,0x20 -); - -void func00009ec4(s32 arg0) -{ - arg0 += 2; - var8005ce90 = arg0; -} - -GLOBAL_ASM( -glabel func00009ed4 -/* 9ed4: 3c038006 */ lui $v1,%hi(var8005ce9c) -/* 9ed8: 2463ce9c */ addiu $v1,$v1,%lo(var8005ce9c) -/* 9edc: 8c620000 */ lw $v0,0x0($v1) -/* 9ee0: 27bdffe0 */ addiu $sp,$sp,-32 -/* 9ee4: afbf0014 */ sw $ra,0x14($sp) -/* 9ee8: 10400006 */ beqz $v0,.L00009f04 -/* 9eec: 3c188006 */ lui $t8,%hi(var8005ce98) -/* 9ef0: 244effff */ addiu $t6,$v0,-1 -/* 9ef4: 15c00003 */ bnez $t6,.L00009f04 -/* 9ef8: ac6e0000 */ sw $t6,0x0($v1) -/* 9efc: 3c018006 */ lui $at,%hi(var8005ce98) -/* 9f00: ac20ce98 */ sw $zero,%lo(var8005ce98)($at) -.L00009f04: -/* 9f04: 3c038006 */ lui $v1,%hi(var8005ce94) -/* 9f08: 2463ce94 */ addiu $v1,$v1,%lo(var8005ce94) -/* 9f0c: 8c620000 */ lw $v0,0x0($v1) -/* 9f10: 8f18ce98 */ lw $t8,%lo(var8005ce98)($t8) -/* 9f14: 24040001 */ addiu $a0,$zero,0x1 -/* 9f18: 0002c823 */ negu $t9,$v0 -/* 9f1c: 00580019 */ multu $v0,$t8 -/* 9f20: ac790000 */ sw $t9,0x0($v1) -/* 9f24: 00002812 */ mflo $a1 -/* 9f28: afa50018 */ sw $a1,0x18($sp) -/* 9f2c: 0c012194 */ jal osSetIntMask -/* 9f30: 00000000 */ nop -/* 9f34: 3c078006 */ lui $a3,%hi(var8005ce74) -/* 9f38: 3c038009 */ lui $v1,%hi(var8008de0c) -/* 9f3c: 8c6dde0c */ lw $t5,%lo(var8008de0c)($v1) -/* 9f40: 24e7ce74 */ addiu $a3,$a3,%lo(var8005ce74) -/* 9f44: 8fa50018 */ lw $a1,0x18($sp) -/* 9f48: 8cf90000 */ lw $t9,0x0($a3) -/* 9f4c: 000d4c03 */ sra $t1,$t5,0x10 -/* 9f50: 3c068009 */ lui $a2,%hi(var8008dd60+0x4) -/* 9f54: 01255821 */ addu $t3,$t1,$a1 -/* 9f58: 00194080 */ sll $t0,$t9,0x2 -/* 9f5c: 24c6dd64 */ addiu $a2,$a2,%lo(var8008dd60+0x4) -/* 9f60: 00084823 */ negu $t1,$t0 -/* 9f64: 00c95021 */ addu $t2,$a2,$t1 -/* 9f68: 000b6400 */ sll $t4,$t3,0x10 -/* 9f6c: 8d4b0000 */ lw $t3,0x0($t2) -/* 9f70: 01a57021 */ addu $t6,$t5,$a1 -/* 9f74: 31cfffff */ andi $t7,$t6,0xffff -/* 9f78: 018fc025 */ or $t8,$t4,$t7 -/* 9f7c: 3c038009 */ lui $v1,%hi(var8008de10) -/* 9f80: ad780030 */ sw $t8,0x30($t3) -/* 9f84: 8c68de10 */ lw $t0,%lo(var8008de10)($v1) -/* 9f88: 8ceb0000 */ lw $t3,0x0($a3) -/* 9f8c: 00402025 */ or $a0,$v0,$zero -/* 9f90: 00087403 */ sra $t6,$t0,0x10 -/* 9f94: 01c57821 */ addu $t7,$t6,$a1 -/* 9f98: 000b6880 */ sll $t5,$t3,0x2 -/* 9f9c: 000d7023 */ negu $t6,$t5 -/* 9fa0: 00ce6021 */ addu $t4,$a2,$t6 -/* 9fa4: 000fcc00 */ sll $t9,$t7,0x10 -/* 9fa8: 01054821 */ addu $t1,$t0,$a1 -/* 9fac: 8d8f0000 */ lw $t7,0x0($t4) -/* 9fb0: 312affff */ andi $t2,$t1,0xffff -/* 9fb4: 032ac025 */ or $t8,$t9,$t2 -/* 9fb8: 0c012194 */ jal osSetIntMask -/* 9fbc: adf80044 */ sw $t8,0x44($t7) -/* 9fc0: 3c088006 */ lui $t0,%hi(var8005ce74) -/* 9fc4: 8d08ce74 */ lw $t0,%lo(var8005ce74)($t0) -/* 9fc8: 3c048009 */ lui $a0,%hi(var8008dd60+0x4) -/* 9fcc: 00084880 */ sll $t1,$t0,0x2 -/* 9fd0: 0009c823 */ negu $t9,$t1 -/* 9fd4: 00992021 */ addu $a0,$a0,$t9 -/* 9fd8: 0c012354 */ jal osViSetMode -/* 9fdc: 8c84dd64 */ lw $a0,%lo(var8008dd60+0x4)($a0) -/* 9fe0: 3c048006 */ lui $a0,%hi(var8005ce90+0x3) -/* 9fe4: 0c012338 */ jal osViBlack -/* 9fe8: 9084ce93 */ lbu $a0,%lo(var8005ce90+0x3)($a0) -/* 9fec: 3c0a8006 */ lui $t2,%hi(var8005ce74) -/* 9ff0: 8d4ace74 */ lw $t2,%lo(var8005ce74)($t2) -/* 9ff4: 3c018006 */ lui $at,%hi(var8005ce78+0x4) -/* 9ff8: 000a5880 */ sll $t3,$t2,0x2 -/* 9ffc: 000b6823 */ negu $t5,$t3 -/* a000: 002d0821 */ addu $at,$at,$t5 -/* a004: 0c012370 */ jal osViSetXScale -/* a008: c42cce7c */ lwc1 $f12,%lo(var8005ce78+0x4)($at) -/* a00c: 3c0e8006 */ lui $t6,%hi(var8005ce74) -/* a010: 8dcece74 */ lw $t6,%lo(var8005ce74)($t6) -/* a014: 3c018006 */ lui $at,%hi(var8005ce80+0x4) -/* a018: 000e6080 */ sll $t4,$t6,0x2 -/* a01c: 000cc023 */ negu $t8,$t4 -/* a020: 00380821 */ addu $at,$at,$t8 -/* a024: 0c0123bc */ jal osViSetYScale -/* a028: c42cce84 */ lwc1 $f12,%lo(var8005ce80+0x4)($at) -/* a02c: 0c0123d4 */ jal osViSetSpecialFeatures -/* a030: 24040042 */ addiu $a0,$zero,0x42 -/* a034: 8fbf0014 */ lw $ra,0x14($sp) -/* a038: 27bd0020 */ addiu $sp,$sp,0x20 -/* a03c: 03e00008 */ jr $ra -/* a040: 00000000 */ nop -); - -GLOBAL_ASM( -glabel func0000a044 -/* a044: 3c098006 */ lui $t1,%hi(g_ViData) -/* a048: 3c0e8006 */ lui $t6,%hi(var8005d590) -/* a04c: 8dced590 */ lw $t6,%lo(var8005d590)($t6) -/* a050: 8d29d594 */ lw $t1,%lo(g_ViData)($t1) -/* a054: 27bdffe8 */ addiu $sp,$sp,-24 -/* a058: afbf0014 */ sw $ra,0x14($sp) -/* a05c: 91cf0000 */ lbu $t7,0x0($t6) -/* a060: 91230000 */ lbu $v1,0x0($t1) -/* a064: 506f0014 */ beql $v1,$t7,.L0000a0b8 -/* a068: 85380004 */ lh $t8,0x4($t1) -/* a06c: 10600008 */ beqz $v1,.L0000a090 -/* a070: 00601025 */ or $v0,$v1,$zero -/* a074: 241f0001 */ addiu $ra,$zero,0x1 -/* a078: 107f000e */ beq $v1,$ra,.L0000a0b4 -/* a07c: 24040002 */ addiu $a0,$zero,0x2 -/* a080: 5044000d */ beql $v0,$a0,.L0000a0b8 -/* a084: 85380004 */ lh $t8,0x4($t1) -/* a088: 1000000b */ b .L0000a0b8 -/* a08c: 85380004 */ lh $t8,0x4($t1) -.L0000a090: -/* a090: 3c013f80 */ lui $at,0x3f80 -/* a094: 44816000 */ mtc1 $at,$f12 -/* a098: 0c0123bc */ jal osViSetYScale -/* a09c: 00000000 */ nop -/* a0a0: 0c012338 */ jal osViBlack -/* a0a4: 24040001 */ addiu $a0,$zero,0x1 -/* a0a8: 3c098006 */ lui $t1,%hi(g_ViData) -/* a0ac: 8d29d594 */ lw $t1,%lo(g_ViData)($t1) -/* a0b0: 91230000 */ lbu $v1,0x0($t1) -.L0000a0b4: -/* a0b4: 85380004 */ lh $t8,0x4($t1) -.L0000a0b8: -/* a0b8: 85390018 */ lh $t9,0x18($t1) -/* a0bc: 852e0006 */ lh $t6,0x6($t1) -/* a0c0: 44982000 */ mtc1 $t8,$f4 -/* a0c4: 852f001a */ lh $t7,0x1a($t1) -/* a0c8: 44994000 */ mtc1 $t9,$f8 -/* a0cc: 468021a0 */ cvt.s.w $f6,$f4 -/* a0d0: 448e8000 */ mtc1 $t6,$f16 -/* a0d4: 448f2000 */ mtc1 $t7,$f4 -/* a0d8: 24040002 */ addiu $a0,$zero,0x2 -/* a0dc: 241f0001 */ addiu $ra,$zero,0x1 -/* a0e0: 468042a0 */ cvt.s.w $f10,$f8 -/* a0e4: 3c0b8006 */ lui $t3,%hi(var8005d5a0) -/* a0e8: 3c013f80 */ lui $at,0x3f80 -/* a0ec: 468084a0 */ cvt.s.w $f18,$f16 -/* a0f0: 46802220 */ cvt.s.w $f8,$f4 -/* a0f4: 460a3083 */ div.s $f2,$f6,$f10 -/* a0f8: 14600003 */ bnez $v1,.L0000a108 -/* a0fc: 46089003 */ div.s $f0,$f18,$f8 -/* a100: 44810000 */ mtc1 $at,$f0 -/* a104: 00000000 */ nop -.L0000a108: -/* a108: 8d6bd5a0 */ lw $t3,%lo(var8005d5a0)($t3) -/* a10c: 3c018006 */ lui $at,%hi(var8005ce78) -/* a110: 000b6080 */ sll $t4,$t3,0x2 -/* a114: 002c0821 */ addu $at,$at,$t4 -/* a118: e422ce78 */ swc1 $f2,%lo(var8005ce78)($at) -/* a11c: 3c018006 */ lui $at,%hi(var8005ce80) -/* a120: 002c0821 */ addu $at,$at,$t4 -/* a124: e420ce80 */ swc1 $f0,%lo(var8005ce80)($at) -/* a128: 91230000 */ lbu $v1,0x0($t1) -/* a12c: 17e30101 */ bne $ra,$v1,.L0000a534 -/* a130: 00000000 */ nop -/* a134: 3c0a8006 */ lui $t2,%hi(var8005d598) -/* a138: 8d4ad598 */ lw $t2,%lo(var8005d598)($t2) -/* a13c: 3c188000 */ lui $t8,0x8000 -/* a140: 11400033 */ beqz $t2,.L0000a210 -/* a144: 00000000 */ nop -/* a148: 8f180300 */ lw $t8,0x300($t8) -/* a14c: 3c198009 */ lui $t9,%hi(var8008dcc0) -/* a150: 2739dcc0 */ addiu $t9,$t9,%lo(var8008dcc0) -/* a154: 14980019 */ bne $a0,$t8,.L0000a1bc -/* a158: 3c0f8006 */ lui $t7,%hi(osViModeTable+0xa0) -/* a15c: 000bc880 */ sll $t9,$t3,0x2 -/* a160: 032bc821 */ addu $t9,$t9,$t3 -/* a164: 3c0e8009 */ lui $t6,%hi(var8008dcc0) -/* a168: 25cedcc0 */ addiu $t6,$t6,%lo(var8008dcc0) -/* a16c: 0019c900 */ sll $t9,$t9,0x4 -/* a170: 032e2021 */ addu $a0,$t9,$t6 -/* a174: 3c0f8006 */ lui $t7,%hi(osViModeTable+0x960) -/* a178: 25ef0070 */ addiu $t7,$t7,%lo(osViModeTable+0x960) -/* a17c: 25f90048 */ addiu $t9,$t7,0x48 -/* a180: 00807025 */ or $t6,$a0,$zero -.L0000a184: -/* a184: 8de10000 */ lw $at,0x0($t7) -/* a188: 25ef000c */ addiu $t7,$t7,12 -/* a18c: 25ce000c */ addiu $t6,$t6,12 -/* a190: adc1fff4 */ sw $at,-0xc($t6) -/* a194: 8de1fff8 */ lw $at,-0x8($t7) -/* a198: adc1fff8 */ sw $at,-0x8($t6) -/* a19c: 8de1fffc */ lw $at,-0x4($t7) -/* a1a0: 15f9fff8 */ bne $t7,$t9,.L0000a184 -/* a1a4: adc1fffc */ sw $at,-0x4($t6) -/* a1a8: 8de10000 */ lw $at,0x0($t7) -/* a1ac: adc10000 */ sw $at,0x0($t6) -/* a1b0: 8df90004 */ lw $t9,0x4($t7) -/* a1b4: 10000048 */ b .L0000a2d8 -/* a1b8: add90004 */ sw $t9,0x4($t6) -.L0000a1bc: -/* a1bc: 000bc080 */ sll $t8,$t3,0x2 -/* a1c0: 030bc021 */ addu $t8,$t8,$t3 -/* a1c4: 0018c100 */ sll $t8,$t8,0x4 -/* a1c8: 03192021 */ addu $a0,$t8,$t9 -/* a1cc: 25eff7b0 */ addiu $t7,$t7,%lo(osViModeTable+0xa0) -/* a1d0: 25f80048 */ addiu $t8,$t7,0x48 -/* a1d4: 0080c825 */ or $t9,$a0,$zero -.L0000a1d8: -/* a1d8: 8de10000 */ lw $at,0x0($t7) -/* a1dc: 25ef000c */ addiu $t7,$t7,0xc -/* a1e0: 2739000c */ addiu $t9,$t9,0xc -/* a1e4: af21fff4 */ sw $at,-0xc($t9) -/* a1e8: 8de1fff8 */ lw $at,-0x8($t7) -/* a1ec: af21fff8 */ sw $at,-0x8($t9) -/* a1f0: 8de1fffc */ lw $at,-0x4($t7) -/* a1f4: 15f8fff8 */ bne $t7,$t8,.L0000a1d8 -/* a1f8: af21fffc */ sw $at,-0x4($t9) -/* a1fc: 8de10000 */ lw $at,0x0($t7) -/* a200: af210000 */ sw $at,0x0($t9) -/* a204: 8df80004 */ lw $t8,0x4($t7) -/* a208: 10000033 */ b .L0000a2d8 -/* a20c: af380004 */ sw $t8,0x4($t9) -.L0000a210: -/* a210: 3c0e8000 */ lui $t6,0x8000 -/* a214: 8dce0300 */ lw $t6,0x300($t6) -/* a218: 148e0018 */ bne $a0,$t6,.L0000a27c -/* a21c: 000bc080 */ sll $t8,$t3,0x2 -/* a220: 030bc021 */ addu $t8,$t8,$t3 -/* a224: 3c0f8009 */ lui $t7,%hi(var8008dcc0) -/* a228: 25efdcc0 */ addiu $t7,$t7,%lo(var8008dcc0) -/* a22c: 0018c100 */ sll $t8,$t8,0x4 -/* a230: 030f2021 */ addu $a0,$t8,$t7 -/* a234: 3c198006 */ lui $t9,%hi(osViModeTable+0xaa0) -/* a238: 273901b0 */ addiu $t9,$t9,%lo(osViModeTable+0xaa0) -/* a23c: 27380048 */ addiu $t8,$t9,0x48 -/* a240: 00807825 */ or $t7,$a0,$zero -.L0000a244: -/* a244: 8f210000 */ lw $at,0x0($t9) -/* a248: 2739000c */ addiu $t9,$t9,0xc -/* a24c: 25ef000c */ addiu $t7,$t7,0xc -/* a250: ade1fff4 */ sw $at,-0xc($t7) -/* a254: 8f21fff8 */ lw $at,-0x8($t9) -/* a258: ade1fff8 */ sw $at,-0x8($t7) -/* a25c: 8f21fffc */ lw $at,-0x4($t9) -/* a260: 1738fff8 */ bne $t9,$t8,.L0000a244 -/* a264: ade1fffc */ sw $at,-0x4($t7) -/* a268: 8f210000 */ lw $at,0x0($t9) -/* a26c: ade10000 */ sw $at,0x0($t7) -/* a270: 8f380004 */ lw $t8,0x4($t9) -/* a274: 10000018 */ b .L0000a2d8 -/* a278: adf80004 */ sw $t8,0x4($t7) -.L0000a27c: -/* a27c: 000b7080 */ sll $t6,$t3,0x2 -/* a280: 01cb7021 */ addu $t6,$t6,$t3 -/* a284: 3c188009 */ lui $t8,%hi(var8008dcc0) -/* a288: 2718dcc0 */ addiu $t8,$t8,%lo(var8008dcc0) -/* a28c: 000e7100 */ sll $t6,$t6,0x4 -/* a290: 01d82021 */ addu $a0,$t6,$t8 -/* a294: 3c198006 */ lui $t9,%hi(osViModeTable+0x1e0) -/* a298: 2739f8f0 */ addiu $t9,$t9,%lo(osViModeTable+0x1e0) -/* a29c: 272e0048 */ addiu $t6,$t9,0x48 -/* a2a0: 0080c025 */ or $t8,$a0,$zero -.L0000a2a4: -/* a2a4: 8f210000 */ lw $at,0x0($t9) -/* a2a8: 2739000c */ addiu $t9,$t9,0xc -/* a2ac: 2718000c */ addiu $t8,$t8,0xc -/* a2b0: af01fff4 */ sw $at,-0xc($t8) -/* a2b4: 8f21fff8 */ lw $at,-0x8($t9) -/* a2b8: af01fff8 */ sw $at,-0x8($t8) -/* a2bc: 8f21fffc */ lw $at,-0x4($t9) -/* a2c0: 172efff8 */ bne $t9,$t6,.L0000a2a4 -/* a2c4: af01fffc */ sw $at,-0x4($t8) -/* a2c8: 8f210000 */ lw $at,0x0($t9) -/* a2cc: af010000 */ sw $at,0x0($t8) -/* a2d0: 8f2e0004 */ lw $t6,0x4($t9) -/* a2d4: af0e0004 */ sw $t6,0x4($t8) -.L0000a2d8: -/* a2d8: 852f0018 */ lh $t7,0x18($t1) -/* a2dc: 24010280 */ addiu $at,$zero,0x280 -/* a2e0: 3c0d8009 */ lui $t5,%hi(var8008de0c) -/* a2e4: ac8f0008 */ sw $t7,0x8($a0) -/* a2e8: 852e0018 */ lh $t6,0x18($t1) -/* a2ec: 3406ffff */ dli $a2,0xffff -/* a2f0: 25adde0c */ addiu $t5,$t5,%lo(var8008de0c) -/* a2f4: 000eca80 */ sll $t9,$t6,0xa -/* a2f8: 0321001a */ div $zero,$t9,$at -/* a2fc: 0000c012 */ mflo $t8 -/* a300: ac980020 */ sw $t8,0x20($a0) -/* a304: 852f0018 */ lh $t7,0x18($t1) -/* a308: 000f7040 */ sll $t6,$t7,0x1 -/* a30c: ac8e0028 */ sw $t6,0x28($a0) -/* a310: 85390018 */ lh $t9,0x18($t1) -/* a314: 3c0f8009 */ lui $t7,%hi(g_Is4Mb) -/* a318: 0019c040 */ sll $t8,$t9,0x1 -/* a31c: ac98003c */ sw $t8,0x3c($a0) -/* a320: 91ef0af0 */ lbu $t7,%lo(g_Is4Mb)($t7) -/* a324: 17ef0004 */ bne $ra,$t7,.L0000a338 -/* a328: 24020400 */ addiu $v0,$zero,0x400 -/* a32c: ac82002c */ sw $v0,0x2c($a0) -/* a330: 1000001e */ b .L0000a3ac -/* a334: ac820040 */ sw $v0,0x40($a0) -.L0000a338: -/* a338: 852e001a */ lh $t6,0x1a($t1) -/* a33c: 240201b8 */ addiu $v0,$zero,0x1b8 -/* a340: 000ecac0 */ sll $t9,$t6,0xb -/* a344: 0322001a */ div $zero,$t9,$v0 -/* a348: 0000c012 */ mflo $t8 -/* a34c: ac98002c */ sw $t8,0x2c($a0) -/* a350: 852f001a */ lh $t7,0x1a($t1) -/* a354: 14400002 */ bnez $v0,.L0000a360 -/* a358: 00000000 */ nop -/* a35c: 0007000d */ break 0x7 -.L0000a360: -/* a360: 2401ffff */ addiu $at,$zero,-1 -/* a364: 14410004 */ bne $v0,$at,.L0000a378 -/* a368: 3c018000 */ lui $at,0x8000 -/* a36c: 17210002 */ bne $t9,$at,.L0000a378 -/* a370: 00000000 */ nop -/* a374: 0006000d */ break 0x6 -.L0000a378: -/* a378: 000f72c0 */ sll $t6,$t7,0xb -/* a37c: 01c2001a */ div $zero,$t6,$v0 -/* a380: 0000c812 */ mflo $t9 -/* a384: ac990040 */ sw $t9,0x40($a0) -/* a388: 14400002 */ bnez $v0,.L0000a394 -/* a38c: 00000000 */ nop -/* a390: 0007000d */ break 0x7 -.L0000a394: -/* a394: 2401ffff */ addiu $at,$zero,-1 -/* a398: 14410004 */ bne $v0,$at,.L0000a3ac -/* a39c: 3c018000 */ lui $at,0x8000 -/* a3a0: 15c10002 */ bne $t6,$at,.L0000a3ac -/* a3a4: 00000000 */ nop -/* a3a8: 0006000d */ break 0x6 -.L0000a3ac: -/* a3ac: 8c85001c */ lw $a1,0x1c($a0) -/* a3b0: 3c078006 */ lui $a3,%hi(var8005d588) -/* a3b4: 8ce7d588 */ lw $a3,%lo(var8005d588)($a3) -/* a3b8: 0005c403 */ sra $t8,$a1,0x10 -/* a3bc: 330fffff */ andi $t7,$t8,0xffff -/* a3c0: 01e77021 */ addu $t6,$t7,$a3 -/* a3c4: 01c6001a */ div $zero,$t6,$a2 -/* a3c8: 14c00002 */ bnez $a2,.L0000a3d4 -/* a3cc: 00000000 */ nop -/* a3d0: 0007000d */ break 0x7 -.L0000a3d4: -/* a3d4: 2401ffff */ addiu $at,$zero,-1 -/* a3d8: 14c10004 */ bne $a2,$at,.L0000a3ec -/* a3dc: 3c018000 */ lui $at,0x8000 -/* a3e0: 15c10002 */ bne $t6,$at,.L0000a3ec -/* a3e4: 00000000 */ nop -/* a3e8: 0006000d */ break 0x6 -.L0000a3ec: -/* a3ec: 30afffff */ andi $t7,$a1,0xffff -/* a3f0: 01e77021 */ addu $t6,$t7,$a3 -/* a3f4: 0000c810 */ mfhi $t9 -/* a3f8: 0019c400 */ sll $t8,$t9,0x10 -/* a3fc: 3c1f8009 */ lui $ra,%hi(var8008de10) -/* a400: 01c6001a */ div $zero,$t6,$a2 -/* a404: 14c00002 */ bnez $a2,.L0000a410 -/* a408: 00000000 */ nop -/* a40c: 0007000d */ break 0x7 -.L0000a410: -/* a410: 2401ffff */ addiu $at,$zero,-1 -/* a414: 14c10004 */ bne $a2,$at,.L0000a428 -/* a418: 3c018000 */ lui $at,0x8000 -/* a41c: 15c10002 */ bne $t6,$at,.L0000a428 -/* a420: 00000000 */ nop -/* a424: 0006000d */ break 0x6 -.L0000a428: -/* a428: 0000c810 */ mfhi $t9 -/* a42c: 03191025 */ or $v0,$t8,$t9 -/* a430: ac82001c */ sw $v0,0x1c($a0) -/* a434: 3c018009 */ lui $at,%hi(var8008de08) -/* a438: ac22de08 */ sw $v0,%lo(var8008de08)($at) -/* a43c: 8523001a */ lh $v1,0x1a($t1) -/* a440: 8c8e002c */ lw $t6,0x2c($a0) -/* a444: 27ffde10 */ addiu $ra,$ra,%lo(var8008de10) -/* a448: 00037a80 */ sll $t7,$v1,0xa -/* a44c: 01ee001b */ divu $zero,$t7,$t6 -/* a450: 00001812 */ mflo $v1 -/* a454: 2861012d */ slti $at,$v1,0x12d -/* a458: 15c00002 */ bnez $t6,.L0000a464 -/* a45c: 00000000 */ nop -/* a460: 0007000d */ break 0x7 -.L0000a464: -/* a464: 24190115 */ addiu $t9,$zero,0x115 -/* a468: 14200003 */ bnez $at,.L0000a478 -/* a46c: 3c058006 */ lui $a1,%hi(var8005d58c) -/* a470: 0003c043 */ sra $t8,$v1,0x1 -/* a474: 03001825 */ or $v1,$t8,$zero -.L0000a478: -/* a478: 03233823 */ subu $a3,$t9,$v1 -/* a47c: 24ef0002 */ addiu $t7,$a3,0x2 -/* a480: 2478fffe */ addiu $t8,$v1,-2 -/* a484: 0018c840 */ sll $t9,$t8,0x1 -/* a488: 000f7400 */ sll $t6,$t7,0x10 -/* a48c: 00f97821 */ addu $t7,$a3,$t9 -/* a490: 25f80002 */ addiu $t8,$t7,0x2 -/* a494: 8ca5d58c */ lw $a1,%lo(var8005d58c)($a1) -/* a498: 01d84025 */ or $t0,$t6,$t8 -/* a49c: 0008cc03 */ sra $t9,$t0,0x10 -/* a4a0: 332fffff */ andi $t7,$t9,0xffff -/* a4a4: 01e57021 */ addu $t6,$t7,$a1 -/* a4a8: 01c6001a */ div $zero,$t6,$a2 -/* a4ac: 14c00002 */ bnez $a2,.L0000a4b8 -/* a4b0: 00000000 */ nop -/* a4b4: 0007000d */ break 0x7 -.L0000a4b8: -/* a4b8: 2401ffff */ addiu $at,$zero,-1 -/* a4bc: 14c10004 */ bne $a2,$at,.L0000a4d0 -/* a4c0: 3c018000 */ lui $at,0x8000 -/* a4c4: 15c10002 */ bne $t6,$at,.L0000a4d0 -/* a4c8: 00000000 */ nop -/* a4cc: 0006000d */ break 0x6 -.L0000a4d0: -/* a4d0: 310fffff */ andi $t7,$t0,0xffff -/* a4d4: 01e57021 */ addu $t6,$t7,$a1 -/* a4d8: 0000c010 */ mfhi $t8 -/* a4dc: 0018cc00 */ sll $t9,$t8,0x10 -/* a4e0: 240f0001 */ addiu $t7,$zero,0x1 -/* a4e4: 01c6001a */ div $zero,$t6,$a2 -/* a4e8: 14c00002 */ bnez $a2,.L0000a4f4 -/* a4ec: 00000000 */ nop -/* a4f0: 0007000d */ break 0x7 -.L0000a4f4: -/* a4f4: 2401ffff */ addiu $at,$zero,-1 -/* a4f8: 14c10004 */ bne $a2,$at,.L0000a50c -/* a4fc: 3c018000 */ lui $at,0x8000 -/* a500: 15c10002 */ bne $t6,$at,.L0000a50c -/* a504: 00000000 */ nop -/* a508: 0006000d */ break 0x6 -.L0000a50c: -/* a50c: 0000c010 */ mfhi $t8 -/* a510: 03381025 */ or $v0,$t9,$t8 -/* a514: 3c018006 */ lui $at,%hi(var8005ce88) -/* a518: ac820030 */ sw $v0,0x30($a0) -/* a51c: ada20000 */ sw $v0,0x0($t5) -/* a520: ac820044 */ sw $v0,0x44($a0) -/* a524: afe20000 */ sw $v0,0x0($ra) -/* a528: 002c0821 */ addu $at,$at,$t4 -/* a52c: 100000f6 */ b .L0000a908 -/* a530: ac2fce88 */ sw $t7,%lo(var8005ce88)($at) -.L0000a534: -/* a534: 148300ef */ bne $a0,$v1,.L0000a8f4 -/* a538: 3c0e8000 */ lui $t6,0x8000 -/* a53c: 8dce0300 */ lw $t6,0x300($t6) -/* a540: 3406ffff */ dli $a2,0xffff -/* a544: 24080800 */ addiu $t0,$zero,0x800 -/* a548: 148e0019 */ bne $a0,$t6,.L0000a5b0 -/* a54c: 3c0d8009 */ lui $t5,%hi(var8008de0c) -/* a550: 000bc880 */ sll $t9,$t3,0x2 -/* a554: 032bc821 */ addu $t9,$t9,$t3 -/* a558: 3c188009 */ lui $t8,%hi(var8008dcc0) -/* a55c: 2718dcc0 */ addiu $t8,$t8,%lo(var8008dcc0) -/* a560: 0019c900 */ sll $t9,$t9,0x4 -/* a564: 03382021 */ addu $a0,$t9,$t8 -/* a568: 3c0f8006 */ lui $t7,%hi(osViModeTable+0xc30) -/* a56c: 25ef0340 */ addiu $t7,$t7,%lo(osViModeTable+0xc30) -/* a570: 25f90048 */ addiu $t9,$t7,0x48 -/* a574: 0080c025 */ or $t8,$a0,$zero -.L0000a578: -/* a578: 8de10000 */ lw $at,0x0($t7) -/* a57c: 25ef000c */ addiu $t7,$t7,12 -/* a580: 2718000c */ addiu $t8,$t8,0xc -/* a584: af01fff4 */ sw $at,-0xc($t8) -/* a588: 8de1fff8 */ lw $at,-0x8($t7) -/* a58c: af01fff8 */ sw $at,-0x8($t8) -/* a590: 8de1fffc */ lw $at,-0x4($t7) -/* a594: 15f9fff8 */ bne $t7,$t9,.L0000a578 -/* a598: af01fffc */ sw $at,-0x4($t8) -/* a59c: 8de10000 */ lw $at,0x0($t7) -/* a5a0: af010000 */ sw $at,0x0($t8) -/* a5a4: 8df90004 */ lw $t9,0x4($t7) -/* a5a8: 10000018 */ b .L0000a60c -/* a5ac: af190004 */ sw $t9,0x4($t8) -.L0000a5b0: -/* a5b0: 000b7080 */ sll $t6,$t3,0x2 -/* a5b4: 01cb7021 */ addu $t6,$t6,$t3 -/* a5b8: 3c198009 */ lui $t9,%hi(var8008dcc0) -/* a5bc: 2739dcc0 */ addiu $t9,$t9,%lo(var8008dcc0) -/* a5c0: 000e7100 */ sll $t6,$t6,0x4 -/* a5c4: 01d92021 */ addu $a0,$t6,$t9 -/* a5c8: 3c0f8006 */ lui $t7,%hi(osViModeTable+0x370) -/* a5cc: 25effa80 */ addiu $t7,$t7,%lo(osViModeTable+0x370) -/* a5d0: 25ee0048 */ addiu $t6,$t7,0x48 -/* a5d4: 0080c825 */ or $t9,$a0,$zero -.L0000a5d8: -/* a5d8: 8de10000 */ lw $at,0x0($t7) -/* a5dc: 25ef000c */ addiu $t7,$t7,0xc -/* a5e0: 2739000c */ addiu $t9,$t9,0xc -/* a5e4: af21fff4 */ sw $at,-0xc($t9) -/* a5e8: 8de1fff8 */ lw $at,-0x8($t7) -/* a5ec: af21fff8 */ sw $at,-0x8($t9) -/* a5f0: 8de1fffc */ lw $at,-0x4($t7) -/* a5f4: 15eefff8 */ bne $t7,$t6,.L0000a5d8 -/* a5f8: af21fffc */ sw $at,-0x4($t9) -/* a5fc: 8de10000 */ lw $at,0x0($t7) -/* a600: af210000 */ sw $at,0x0($t9) -/* a604: 8dee0004 */ lw $t6,0x4($t7) -/* a608: af2e0004 */ sw $t6,0x4($t9) -.L0000a60c: -/* a60c: 85380018 */ lh $t8,0x18($t1) -/* a610: 24010280 */ addiu $at,$zero,0x280 -/* a614: 8c83001c */ lw $v1,0x1c($a0) -/* a618: ac980008 */ sw $t8,0x8($a0) -/* a61c: 852e0018 */ lh $t6,0x18($t1) -/* a620: ac88002c */ sw $t0,0x2c($a0) -/* a624: ac880040 */ sw $t0,0x40($a0) -/* a628: 000e7a80 */ sll $t7,$t6,0xa -/* a62c: 01e1001a */ div $zero,$t7,$at -/* a630: 0000c812 */ mflo $t9 -/* a634: ac990020 */ sw $t9,0x20($a0) -/* a638: 85380018 */ lh $t8,0x18($t1) -/* a63c: 3c078006 */ lui $a3,%hi(var8005d588) -/* a640: 3c058006 */ lui $a1,%hi(var8005d58c) -/* a644: 00187040 */ sll $t6,$t8,0x1 -/* a648: ac8e0028 */ sw $t6,0x28($a0) -/* a64c: 852f0018 */ lh $t7,0x18($t1) -/* a650: 0003c403 */ sra $t8,$v1,0x10 -/* a654: 330effff */ andi $t6,$t8,0xffff -/* a658: 000fc880 */ sll $t9,$t7,0x2 -/* a65c: ac99003c */ sw $t9,0x3c($a0) -/* a660: 8ce7d588 */ lw $a3,%lo(var8005d588)($a3) -/* a664: 25adde0c */ addiu $t5,$t5,%lo(var8008de0c) -/* a668: 3c1f8009 */ lui $ra,%hi(var8008de10) -/* a66c: 01c77821 */ addu $t7,$t6,$a3 -/* a670: 01e6001a */ div $zero,$t7,$a2 -/* a674: 14c00002 */ bnez $a2,.L0000a680 -/* a678: 00000000 */ nop -/* a67c: 0007000d */ break 0x7 -.L0000a680: -/* a680: 2401ffff */ addiu $at,$zero,-1 -/* a684: 14c10004 */ bne $a2,$at,.L0000a698 -/* a688: 3c018000 */ lui $at,0x8000 -/* a68c: 15e10002 */ bne $t7,$at,.L0000a698 -/* a690: 00000000 */ nop -/* a694: 0006000d */ break 0x6 -.L0000a698: -/* a698: 306effff */ andi $t6,$v1,0xffff -/* a69c: 0000c810 */ mfhi $t9 -/* a6a0: 01c77821 */ addu $t7,$t6,$a3 -/* a6a4: 0019c400 */ sll $t8,$t9,0x10 -/* a6a8: 01e6001a */ div $zero,$t7,$a2 -/* a6ac: 14c00002 */ bnez $a2,.L0000a6b8 -/* a6b0: 00000000 */ nop -/* a6b4: 0007000d */ break 0x7 -.L0000a6b8: -/* a6b8: 2401ffff */ addiu $at,$zero,-1 -/* a6bc: 14c10004 */ bne $a2,$at,.L0000a6d0 -/* a6c0: 3c018000 */ lui $at,0x8000 -/* a6c4: 15e10002 */ bne $t7,$at,.L0000a6d0 -/* a6c8: 00000000 */ nop -/* a6cc: 0006000d */ break 0x6 -.L0000a6d0: -/* a6d0: 0000c810 */ mfhi $t9 -/* a6d4: 03191025 */ or $v0,$t8,$t9 -/* a6d8: ac82001c */ sw $v0,0x1c($a0) -/* a6dc: 3c018009 */ lui $at,%hi(var8008de08) -/* a6e0: ac22de08 */ sw $v0,%lo(var8008de08)($at) -/* a6e4: 8c830030 */ lw $v1,0x30($a0) -/* a6e8: 8ca5d58c */ lw $a1,%lo(var8005d58c)($a1) -/* a6ec: 27ffde10 */ addiu $ra,$ra,%lo(var8008de10) -/* a6f0: 00037403 */ sra $t6,$v1,0x10 -/* a6f4: 31cfffff */ andi $t7,$t6,0xffff -/* a6f8: 01e5c021 */ addu $t8,$t7,$a1 -/* a6fc: 0306001a */ div $zero,$t8,$a2 -/* a700: 14c00002 */ bnez $a2,.L0000a70c -/* a704: 00000000 */ nop -/* a708: 0007000d */ break 0x7 -.L0000a70c: -/* a70c: 2401ffff */ addiu $at,$zero,-1 -/* a710: 14c10004 */ bne $a2,$at,.L0000a724 -/* a714: 3c018000 */ lui $at,0x8000 -/* a718: 17010002 */ bne $t8,$at,.L0000a724 -/* a71c: 00000000 */ nop -/* a720: 0006000d */ break 0x6 -.L0000a724: -/* a724: 306fffff */ andi $t7,$v1,0xffff -/* a728: 01e5c021 */ addu $t8,$t7,$a1 -/* a72c: 0000c810 */ mfhi $t9 -/* a730: 8c830044 */ lw $v1,0x44($a0) -/* a734: 00197400 */ sll $t6,$t9,0x10 -/* a738: 0306001a */ div $zero,$t8,$a2 -/* a73c: 14c00002 */ bnez $a2,.L0000a748 -/* a740: 00000000 */ nop -/* a744: 0007000d */ break 0x7 -.L0000a748: -/* a748: 2401ffff */ addiu $at,$zero,-1 -/* a74c: 14c10004 */ bne $a2,$at,.L0000a760 -/* a750: 3c018000 */ lui $at,0x8000 -/* a754: 17010002 */ bne $t8,$at,.L0000a760 -/* a758: 00000000 */ nop -/* a75c: 0006000d */ break 0x6 -.L0000a760: -/* a760: 0000c810 */ mfhi $t9 -/* a764: 00037c03 */ sra $t7,$v1,0x10 -/* a768: 01d91025 */ or $v0,$t6,$t9 -/* a76c: 31f8ffff */ andi $t8,$t7,0xffff -/* a770: 03057021 */ addu $t6,$t8,$a1 -/* a774: 01c6001a */ div $zero,$t6,$a2 -/* a778: 3078ffff */ andi $t8,$v1,0xffff -/* a77c: 0000c810 */ mfhi $t9 -/* a780: 00197c00 */ sll $t7,$t9,0x10 -/* a784: ac820030 */ sw $v0,0x30($a0) -/* a788: ada20000 */ sw $v0,0x0($t5) -/* a78c: 14c00002 */ bnez $a2,.L0000a798 -/* a790: 00000000 */ nop -/* a794: 0007000d */ break 0x7 -.L0000a798: -/* a798: 2401ffff */ addiu $at,$zero,-1 -/* a79c: 14c10004 */ bne $a2,$at,.L0000a7b0 -/* a7a0: 3c018000 */ lui $at,0x8000 -/* a7a4: 15c10002 */ bne $t6,$at,.L0000a7b0 -/* a7a8: 00000000 */ nop -/* a7ac: 0006000d */ break 0x6 -.L0000a7b0: -/* a7b0: 03057021 */ addu $t6,$t8,$a1 -/* a7b4: 01c6001a */ div $zero,$t6,$a2 -/* a7b8: 0000c810 */ mfhi $t9 -/* a7bc: 01f91025 */ or $v0,$t7,$t9 -/* a7c0: ac820044 */ sw $v0,0x44($a0) -/* a7c4: afe20000 */ sw $v0,0x0($ra) -/* a7c8: 3c188006 */ lui $t8,%hi(var8005dd18) -/* a7cc: 8f18dd18 */ lw $t8,%lo(var8005dd18)($t8) -/* a7d0: 14c00002 */ bnez $a2,.L0000a7dc -/* a7d4: 00000000 */ nop -/* a7d8: 0007000d */ break 0x7 -.L0000a7dc: -/* a7dc: 2401ffff */ addiu $at,$zero,-1 -/* a7e0: 14c10004 */ bne $a2,$at,.L0000a7f4 -/* a7e4: 3c018000 */ lui $at,0x8000 -/* a7e8: 15c10002 */ bne $t6,$at,.L0000a7f4 -/* a7ec: 00000000 */ nop -/* a7f0: 0006000d */ break 0x6 -.L0000a7f4: -/* a7f4: 3c0a8006 */ lui $t2,%hi(var8005d598) -/* a7f8: 13000038 */ beqz $t8,.L0000a8dc -/* a7fc: 24ae01af */ addiu $t6,$a1,0x1af -/* a800: 01c6001a */ div $zero,$t6,$a2 -/* a804: 00007810 */ mfhi $t7 -/* a808: 24b8007b */ addiu $t8,$a1,0x7b -/* a80c: 14c00002 */ bnez $a2,.L0000a818 -/* a810: 00000000 */ nop -/* a814: 0007000d */ break 0x7 -.L0000a818: -/* a818: 2401ffff */ addiu $at,$zero,-1 -/* a81c: 14c10004 */ bne $a2,$at,.L0000a830 -/* a820: 3c018000 */ lui $at,0x8000 -/* a824: 15c10002 */ bne $t6,$at,.L0000a830 -/* a828: 00000000 */ nop -/* a82c: 0006000d */ break 0x6 -.L0000a830: -/* a830: 0306001a */ div $zero,$t8,$a2 -/* a834: 00007010 */ mfhi $t6 -/* a838: 000fcc00 */ sll $t9,$t7,0x10 -/* a83c: 24af01b1 */ addiu $t7,$a1,0x1b1 -/* a840: 01e6001a */ div $zero,$t7,$a2 -/* a844: 032e1025 */ or $v0,$t9,$t6 -/* a848: 24ae0079 */ addiu $t6,$a1,0x79 -/* a84c: 14c00002 */ bnez $a2,.L0000a858 -/* a850: 00000000 */ nop -/* a854: 0007000d */ break 0x7 -.L0000a858: -/* a858: 2401ffff */ addiu $at,$zero,-1 -/* a85c: 14c10004 */ bne $a2,$at,.L0000a870 -/* a860: 3c018000 */ lui $at,0x8000 -/* a864: 17010002 */ bne $t8,$at,.L0000a870 -/* a868: 00000000 */ nop -/* a86c: 0006000d */ break 0x6 -.L0000a870: -/* a870: 0000c010 */ mfhi $t8 -/* a874: ac820030 */ sw $v0,0x30($a0) -/* a878: ada20000 */ sw $v0,0x0($t5) -/* a87c: 01c6001a */ div $zero,$t6,$a2 -/* a880: 14c00002 */ bnez $a2,.L0000a88c -/* a884: 00000000 */ nop -/* a888: 0007000d */ break 0x7 -.L0000a88c: -/* a88c: 2401ffff */ addiu $at,$zero,-1 -/* a890: 14c10004 */ bne $a2,$at,.L0000a8a4 -/* a894: 3c018000 */ lui $at,0x8000 -/* a898: 15e10002 */ bne $t7,$at,.L0000a8a4 -/* a89c: 00000000 */ nop -/* a8a0: 0006000d */ break 0x6 -.L0000a8a4: -/* a8a4: 00007810 */ mfhi $t7 -/* a8a8: 0018cc00 */ sll $t9,$t8,0x10 -/* a8ac: 032f1025 */ or $v0,$t9,$t7 -/* a8b0: ac820044 */ sw $v0,0x44($a0) -/* a8b4: afe20000 */ sw $v0,0x0($ra) -/* a8b8: 14c00002 */ bnez $a2,.L0000a8c4 -/* a8bc: 00000000 */ nop -/* a8c0: 0007000d */ break 0x7 -.L0000a8c4: -/* a8c4: 2401ffff */ addiu $at,$zero,-1 -/* a8c8: 14c10004 */ bne $a2,$at,.L0000a8dc -/* a8cc: 3c018000 */ lui $at,0x8000 -/* a8d0: 15c10002 */ bne $t6,$at,.L0000a8dc -/* a8d4: 00000000 */ nop -/* a8d8: 0006000d */ break 0x6 -.L0000a8dc: -/* a8dc: 3c018006 */ lui $at,%hi(var8005ce88) -/* a8e0: 002c0821 */ addu $at,$at,$t4 -/* a8e4: 24180001 */ addiu $t8,$zero,0x1 -/* a8e8: ac38ce88 */ sw $t8,%lo(var8005ce88)($at) -/* a8ec: 10000006 */ b .L0000a908 -/* a8f0: 8d4ad598 */ lw $t2,%lo(var8005d598)($t2) -.L0000a8f4: -/* a8f4: 3c018006 */ lui $at,%hi(var8005ce88) -/* a8f8: 002c0821 */ addu $at,$at,$t4 -/* a8fc: 3c0a8006 */ lui $t2,%hi(var8005d598) -/* a900: 8d4ad598 */ lw $t2,%lo(var8005d598)($t2) -/* a904: ac20ce88 */ sw $zero,%lo(var8005ce88)($at) -.L0000a908: -/* a908: 256b0001 */ addiu $t3,$t3,0x1 -/* a90c: 05610004 */ bgez $t3,.L0000a920 -/* a910: 316e0001 */ andi $t6,$t3,0x1 -/* a914: 11c00002 */ beqz $t6,.L0000a920 -/* a918: 00000000 */ nop -/* a91c: 25cefffe */ addiu $t6,$t6,-2 -.L0000a920: -/* a920: 3c018006 */ lui $at,%hi(var8005d5a0) -/* a924: 11400006 */ beqz $t2,.L0000a940 -/* a928: ac2ed5a0 */ sw $t6,%lo(var8005d5a0)($at) -/* a92c: 3c0f8006 */ lui $t7,%hi(var8005f108) -/* a930: 8deff108 */ lw $t7,%lo(var8005f108)($t7) -/* a934: 8d390028 */ lw $t9,0x28($t1) -/* a938: 10000006 */ b .L0000a954 -/* a93c: adf90058 */ sw $t9,0x58($t7) -.L0000a940: -/* a940: 3c18800a */ lui $t8,%hi(var8009cac0) -/* a944: 3c0e8006 */ lui $t6,%hi(var8005f108) -/* a948: 8dcef108 */ lw $t6,%lo(var8005f108)($t6) -/* a94c: 8f18cac0 */ lw $t8,%lo(var8009cac0)($t8) -/* a950: add80058 */ sw $t8,0x58($t6) -.L0000a954: -/* a954: 3c028009 */ lui $v0,%hi(var80092874+0x2) -/* a958: 24422876 */ addiu $v0,$v0,%lo(var80092874+0x2) -/* a95c: 90590000 */ lbu $t9,0x0($v0) -/* a960: 3c048006 */ lui $a0,%hi(g_ViData) -/* a964: 8c84d594 */ lw $a0,%lo(g_ViData)($a0) -/* a968: 272f0001 */ addiu $t7,$t9,0x1 -/* a96c: 3c038009 */ lui $v1,%hi(var80092874+0x3) -/* a970: 2408002c */ addiu $t0,$zero,0x2c -/* a974: 24632877 */ addiu $v1,$v1,%lo(var80092874+0x3) -/* a978: 906e0000 */ lbu $t6,0x0($v1) -/* a97c: 3c078006 */ lui $a3,%hi(var8005d530) -/* a980: 24e7d530 */ addiu $a3,$a3,%lo(var8005d530) -/* a984: 05e10004 */ bgez $t7,.L0000a998 -/* a988: 31f80001 */ andi $t8,$t7,0x1 -/* a98c: 13000002 */ beqz $t8,.L0000a998 -/* a990: 00000000 */ nop -/* a994: 2718fffe */ addiu $t8,$t8,-2 -.L0000a998: -/* a998: a0580000 */ sb $t8,0x0($v0) -/* a99c: 90580000 */ lbu $t8,0x0($v0) -/* a9a0: 25d90001 */ addiu $t9,$t6,0x1 -/* a9a4: 07210004 */ bgez $t9,.L0000a9b8 -/* a9a8: 332f0001 */ andi $t7,$t9,0x1 -/* a9ac: 11e00002 */ beqz $t7,.L0000a9b8 -/* a9b0: 00000000 */ nop -/* a9b4: 25effffe */ addiu $t7,$t7,-2 -.L0000a9b8: -/* a9b8: 03080019 */ multu $t8,$t0 -/* a9bc: a06f0000 */ sb $t7,0x0($v1) -/* a9c0: 3c018006 */ lui $at,%hi(var8005d590) -/* a9c4: 3c058006 */ lui $a1,%hi(g_ViData) -/* a9c8: 2406002c */ addiu $a2,$zero,0x2c -/* a9cc: 00007012 */ mflo $t6 -/* a9d0: 00eec821 */ addu $t9,$a3,$t6 -/* a9d4: ac39d590 */ sw $t9,%lo(var8005d590)($at) -/* a9d8: 906f0000 */ lbu $t7,0x0($v1) -/* a9dc: 3c018006 */ lui $at,%hi(g_ViData) -/* a9e0: 01e80019 */ multu $t7,$t0 -/* a9e4: 0000c012 */ mflo $t8 -/* a9e8: 00f87021 */ addu $t6,$a3,$t8 -/* a9ec: ac2ed594 */ sw $t6,%lo(g_ViData)($at) -/* a9f0: 0c012c5c */ jal func0004b170 -/* a9f4: 8ca5d594 */ lw $a1,%lo(g_ViData)($a1) -/* a9f8: 3c038009 */ lui $v1,%hi(var80092874+0x3) -/* a9fc: 24632877 */ addiu $v1,$v1,%lo(var80092874+0x3) -/* aa00: 90790000 */ lbu $t9,0x0($v1) -/* aa04: 3c18800a */ lui $t8,%hi(var8009cac0) -/* aa08: 3c0e8006 */ lui $t6,%hi(g_ViData) -/* aa0c: 00197880 */ sll $t7,$t9,0x2 -/* aa10: 030fc021 */ addu $t8,$t8,$t7 -/* aa14: 8f18cac0 */ lw $t8,%lo(var8009cac0)($t8) -/* aa18: 8dced594 */ lw $t6,%lo(g_ViData)($t6) -/* aa1c: 3c028006 */ lui $v0,%hi(var8005d59c) -/* aa20: 2442d59c */ addiu $v0,$v0,%lo(var8005d59c) -/* aa24: add80028 */ sw $t8,0x28($t6) -/* aa28: 8c590000 */ lw $t9,0x0($v0) -/* aa2c: 53200005 */ beqzl $t9,.L0000aa44 -/* aa30: 8fbf0014 */ lw $ra,0x14($sp) -/* aa34: ac400000 */ sw $zero,0x0($v0) -/* aa38: 0c0027b1 */ jal func00009ec4 -/* aa3c: 00002025 */ or $a0,$zero,$zero -/* aa40: 8fbf0014 */ lw $ra,0x14($sp) -.L0000aa44: -/* aa44: 27bd0018 */ addiu $sp,$sp,0x18 -/* aa48: 03e00008 */ jr $ra -/* aa4c: 00000000 */ nop -); - -GLOBAL_ASM( -glabel func0000aa50 -/* aa50: 3c014160 */ lui $at,0x4160 -/* aa54: 44810000 */ mtc1 $at,$f0 -/* aa58: 00000000 */ nop -/* aa5c: 460c003c */ c.lt.s $f0,$f12 -/* aa60: 00000000 */ nop -/* aa64: 45020003 */ bc1fl .L0000aa74 -/* aa68: 44800000 */ mtc1 $zero,$f0 -/* aa6c: 46000306 */ mov.s $f12,$f0 -/* aa70: 44800000 */ mtc1 $zero,$f0 -.L0000aa74: -/* aa74: 00000000 */ nop -/* aa78: 4600603c */ c.lt.s $f12,$f0 -/* aa7c: 00000000 */ nop -/* aa80: 45020003 */ bc1fl .L0000aa90 -/* aa84: 4600610d */ trunc.w.s $f4,$f12 -/* aa88: 46000306 */ mov.s $f12,$f0 -/* aa8c: 4600610d */ trunc.w.s $f4,$f12 -.L0000aa90: -/* aa90: 3c018006 */ lui $at,%hi(var8005ce98) -/* aa94: 2418000a */ addiu $t8,$zero,0xa -/* aa98: 440f2000 */ mfc1 $t7,$f4 -/* aa9c: 00000000 */ nop -/* aaa0: ac2fce98 */ sw $t7,%lo(var8005ce98)($at) -/* aaa4: 3c018006 */ lui $at,%hi(var8005ce9c) -/* aaa8: 03e00008 */ jr $ra -/* aaac: ac38ce9c */ sw $t8,%lo(var8005ce9c)($at) -); - -GLOBAL_ASM( -glabel func0000aab0 -/* aab0: 3c058006 */ lui $a1,%hi(g_ViData) -/* aab4: 24a5d594 */ addiu $a1,$a1,%lo(g_ViData) -/* aab8: 8cae0000 */ lw $t6,0x0($a1) -/* aabc: 00041840 */ sll $v1,$a0,0x1 -/* aac0: 3c027005 */ lui $v0,%hi(var700526d0) -/* aac4: a1c40000 */ sb $a0,0x0($t6) -/* aac8: 00431021 */ addu $v0,$v0,$v1 -/* aacc: 844226d0 */ lh $v0,%lo(var700526d0)($v0) -/* aad0: 8caf0000 */ lw $t7,0x0($a1) -/* aad4: a5e20018 */ sh $v0,0x18($t7) -/* aad8: 8cb80000 */ lw $t8,0x0($a1) -/* aadc: a7020004 */ sh $v0,0x4($t8) -/* aae0: 3c027005 */ lui $v0,%hi(var700526d8) -/* aae4: 00431021 */ addu $v0,$v0,$v1 -/* aae8: 844226d8 */ lh $v0,%lo(var700526d8)($v0) -/* aaec: 8cb90000 */ lw $t9,0x0($a1) -/* aaf0: a722001a */ sh $v0,0x1a($t9) -/* aaf4: 8ca80000 */ lw $t0,0x0($a1) -/* aaf8: 03e00008 */ jr $ra -/* aafc: a5020006 */ sh $v0,0x6($t0) -/* ab00: 240e0001 */ addiu $t6,$zero,0x1 -/* ab04: 3c018006 */ lui $at,%hi(var8005d598) -/* ab08: 03e00008 */ jr $ra -/* ab0c: ac2ed598 */ sw $t6,%lo(var8005d598)($at) -/* ab10: 3c018006 */ lui $at,%hi(var8005d598) -/* ab14: 03e00008 */ jr $ra -/* ab18: ac20d598 */ sw $zero,%lo(var8005d598)($at) -); - -void *viGetUnk28(void) -{ - return g_ViData->unk28; -} - -void *vi2GetUnk28(void) -{ - return var8005d590->unk28; -} - -void viSetUnk28(void *arg0) -{ - g_ViData->unk28 = arg0; -} - -GLOBAL_ASM( -glabel func0000ab4c -/* ab4c: 3c0f8009 */ lui $t7,%hi(var80092874+0x3) -/* ab50: 91ef2877 */ lbu $t7,%lo(var80092874+0x3)($t7) -/* ab54: 3c0e800a */ lui $t6,%hi(g_Vars+0x284) -/* ab58: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6) -/* ab5c: 000fc100 */ sll $t8,$t7,0x4 -/* ab60: 01d81021 */ addu $v0,$t6,$t8 -/* ab64: 03e00008 */ jr $ra -/* ab68: 24420610 */ addiu $v0,$v0,0x610 -); - -GLOBAL_ASM( -glabel func0000ab6c -/* ab6c: 3c028009 */ lui $v0,%hi(var80092874) -/* ab70: 03e00008 */ jr $ra -/* ab74: 94422874 */ lhu $v0,%lo(var80092874)($v0) -); - -GLOBAL_ASM( -glabel func0000ab78 -/* ab78: 3c028006 */ lui $v0,%hi(g_ViData) -/* ab7c: 8c42d594 */ lw $v0,%lo(g_ViData)($v0) -/* ab80: 27bdfeb0 */ addiu $sp,$sp,-336 -/* ab84: afbf002c */ sw $ra,0x2c($sp) -/* ab88: afb00028 */ sw $s0,0x28($sp) -/* ab8c: c4440010 */ lwc1 $f4,0x10($v0) -/* ab90: 8c47000c */ lw $a3,0xc($v0) -/* ab94: 8c460008 */ lw $a2,0x8($v0) -/* ab98: e7a40010 */ swc1 $f4,0x10($sp) -/* ab9c: c4400014 */ lwc1 $f0,0x14($v0) -/* aba0: 3c013f80 */ lui $at,0x3f80 -/* aba4: 44814000 */ mtc1 $at,$f8 -/* aba8: 46000180 */ add.s $f6,$f0,$f0 -/* abac: 00808025 */ or $s0,$a0,$zero -/* abb0: 27a40110 */ addiu $a0,$sp,0x110 -/* abb4: 27a50046 */ addiu $a1,$sp,0x46 -/* abb8: e7a60014 */ swc1 $f6,0x14($sp) -/* abbc: 0c001210 */ jal guPerspectiveF -/* abc0: e7a80018 */ swc1 $f8,0x18($sp) -/* abc4: 0fc2d5be */ jal currentPlayerGetMatrix1740 -/* abc8: 00000000 */ nop -/* abcc: 00402025 */ or $a0,$v0,$zero -/* abd0: 0c005746 */ jal func00015d18 -/* abd4: 27a50090 */ addiu $a1,$sp,0x90 -/* abd8: 44800000 */ mtc1 $zero,$f0 -/* abdc: 27a40110 */ addiu $a0,$sp,0x110 -/* abe0: 27a50090 */ addiu $a1,$sp,0x90 -/* abe4: 27a600d0 */ addiu $a2,$sp,0xd0 -/* abe8: e7a000c0 */ swc1 $f0,0xc0($sp) -/* abec: e7a000c4 */ swc1 $f0,0xc4($sp) -/* abf0: 0c005680 */ jal func00015a00 -/* abf4: e7a000c8 */ swc1 $f0,0xc8($sp) -/* abf8: 0fc59e66 */ jal gfxAllocateMatrix -/* abfc: 00000000 */ nop -/* ac00: afa2004c */ sw $v0,0x4c($sp) -/* ac04: 27a400d0 */ addiu $a0,$sp,0xd0 -/* ac08: 0c0128d8 */ jal guMtxF2L -/* ac0c: 00402825 */ or $a1,$v0,$zero -/* ac10: 0c00566c */ jal func000159b0 -/* ac14: 27a40050 */ addiu $a0,$sp,0x50 -/* ac18: 0fc59e66 */ jal gfxAllocateMatrix -/* ac1c: 00000000 */ nop -/* ac20: afa20048 */ sw $v0,0x48($sp) -/* ac24: 27a40050 */ addiu $a0,$sp,0x50 -/* ac28: 0c0128d8 */ jal guMtxF2L -/* ac2c: 00402825 */ or $a1,$v0,$zero -/* ac30: 3c0e0103 */ lui $t6,0x103 -/* ac34: 35ce0040 */ ori $t6,$t6,0x40 -/* ac38: 02001825 */ or $v1,$s0,$zero -/* ac3c: ac6e0000 */ sw $t6,0x0($v1) -/* ac40: 8faf004c */ lw $t7,0x4c($sp) -/* ac44: 3c068000 */ lui $a2,0x8000 -/* ac48: 26100008 */ addiu $s0,$s0,0x8 -/* ac4c: 3c190102 */ lui $t9,0x102 -/* ac50: 01e6c021 */ addu $t8,$t7,$a2 -/* ac54: ac780004 */ sw $t8,0x4($v1) -/* ac58: 37390040 */ ori $t9,$t9,0x40 -/* ac5c: 02002025 */ or $a0,$s0,$zero -/* ac60: ac990000 */ sw $t9,0x0($a0) -/* ac64: 8fa80048 */ lw $t0,0x48($sp) -/* ac68: 26100008 */ addiu $s0,$s0,0x8 -/* ac6c: 3c0abc00 */ lui $t2,0xbc00 -/* ac70: 01064821 */ addu $t1,$t0,$a2 -/* ac74: ac890004 */ sw $t1,0x4($a0) -/* ac78: 354a000e */ ori $t2,$t2,0xe -/* ac7c: 02002825 */ or $a1,$s0,$zero -/* ac80: acaa0000 */ sw $t2,0x0($a1) -/* ac84: 97ab0046 */ lhu $t3,0x46($sp) -/* ac88: 26020008 */ addiu $v0,$s0,0x8 -/* ac8c: acab0004 */ sw $t3,0x4($a1) -/* ac90: 8fbf002c */ lw $ra,0x2c($sp) -/* ac94: 8fb00028 */ lw $s0,0x28($sp) -/* ac98: 27bd0150 */ addiu $sp,$sp,0x150 -/* ac9c: 03e00008 */ jr $ra -/* aca0: 00000000 */ nop -); - -GLOBAL_ASM( -glabel func0000aca4 -/* aca4: 27bdff78 */ addiu $sp,$sp,-136 -/* aca8: afbf002c */ sw $ra,0x2c($sp) -/* acac: afb00028 */ sw $s0,0x28($sp) -/* acb0: 00808025 */ or $s0,$a0,$zero -/* acb4: afa5008c */ sw $a1,0x8c($sp) -/* acb8: 0fc59e66 */ jal gfxAllocateMatrix -/* acbc: afa60090 */ sw $a2,0x90($sp) -/* acc0: 3c038006 */ lui $v1,%hi(g_ViData) -/* acc4: 8c63d594 */ lw $v1,%lo(g_ViData)($v1) -/* acc8: afa20040 */ sw $v0,0x40($sp) -/* accc: 3c013f80 */ lui $at,0x3f80 -/* acd0: 44814000 */ mtc1 $at,$f8 -/* acd4: c7a4008c */ lwc1 $f4,0x8c($sp) -/* acd8: c7a60090 */ lwc1 $f6,0x90($sp) -/* acdc: 8c67000c */ lw $a3,0xc($v1) -/* ace0: 8c660008 */ lw $a2,0x8($v1) -/* ace4: 27a40044 */ addiu $a0,$sp,0x44 -/* ace8: 27a50086 */ addiu $a1,$sp,0x86 -/* acec: e7a80018 */ swc1 $f8,0x18($sp) -/* acf0: e7a40010 */ swc1 $f4,0x10($sp) -/* acf4: 0c001210 */ jal guPerspectiveF -/* acf8: e7a60014 */ swc1 $f6,0x14($sp) -/* acfc: 27a40044 */ addiu $a0,$sp,0x44 -/* ad00: 0c0128d8 */ jal guMtxF2L -/* ad04: 8fa50040 */ lw $a1,0x40($sp) -/* ad08: 3c0e0103 */ lui $t6,0x103 -/* ad0c: 35ce0040 */ ori $t6,$t6,0x40 -/* ad10: 02001825 */ or $v1,$s0,$zero -/* ad14: ac6e0000 */ sw $t6,0x0($v1) -/* ad18: 8faf0040 */ lw $t7,0x40($sp) -/* ad1c: 3c018000 */ lui $at,0x8000 -/* ad20: 26100008 */ addiu $s0,$s0,0x8 -/* ad24: 3c19bc00 */ lui $t9,0xbc00 -/* ad28: 01e1c021 */ addu $t8,$t7,$at -/* ad2c: ac780004 */ sw $t8,0x4($v1) -/* ad30: 3739000e */ ori $t9,$t9,0xe -/* ad34: 02002025 */ or $a0,$s0,$zero -/* ad38: ac990000 */ sw $t9,0x0($a0) -/* ad3c: 97a80086 */ lhu $t0,0x86($sp) -/* ad40: 26020008 */ addiu $v0,$s0,0x8 -/* ad44: ac880004 */ sw $t0,0x4($a0) -/* ad48: 8fbf002c */ lw $ra,0x2c($sp) -/* ad4c: 8fb00028 */ lw $s0,0x28($sp) -/* ad50: 27bd0088 */ addiu $sp,$sp,0x88 -/* ad54: 03e00008 */ jr $ra -/* ad58: 00000000 */ nop -); - -GLOBAL_ASM( -glabel func0000ad5c -/* ad5c: 3c088006 */ lui $t0,%hi(g_ViData) -/* ad60: 2508d594 */ addiu $t0,$t0,%lo(g_ViData) -/* ad64: 8d0e0000 */ lw $t6,0x0($t0) -/* ad68: 27bdffd0 */ addiu $sp,$sp,-48 -/* ad6c: 3c028009 */ lui $v0,%hi(var80092874+0x3) -/* ad70: 24422877 */ addiu $v0,$v0,%lo(var80092874+0x3) -/* ad74: 90590000 */ lbu $t9,0x0($v0) -/* ad78: afbf002c */ sw $ra,0x2c($sp) -/* ad7c: afb00028 */ sw $s0,0x28($sp) -/* ad80: 85cf001c */ lh $t7,0x1c($t6) -/* ad84: 00194900 */ sll $t1,$t9,0x4 -/* ad88: 00a95021 */ addu $t2,$a1,$t1 -/* ad8c: 000fc040 */ sll $t8,$t7,0x1 -/* ad90: a5580000 */ sh $t8,0x0($t2) -/* ad94: 8d030000 */ lw $v1,0x0($t0) -/* ad98: 90590000 */ lbu $t9,0x0($v0) -/* ad9c: 3c018000 */ lui $at,0x8000 -/* ada0: 846b001c */ lh $t3,0x1c($v1) -/* ada4: 846d0020 */ lh $t5,0x20($v1) -/* ada8: 00194900 */ sll $t1,$t9,0x4 -/* adac: 000b6040 */ sll $t4,$t3,0x1 -/* adb0: 000d7080 */ sll $t6,$t5,0x2 -/* adb4: 018e7821 */ addu $t7,$t4,$t6 -/* adb8: 00a9c021 */ addu $t8,$a1,$t1 -/* adbc: a70f0008 */ sh $t7,0x8($t8) -/* adc0: 8d0a0000 */ lw $t2,0x0($t0) -/* adc4: 904c0000 */ lbu $t4,0x0($v0) -/* adc8: 24900008 */ addiu $s0,$a0,0x8 -/* adcc: 854b001e */ lh $t3,0x1e($t2) -/* add0: 000c7100 */ sll $t6,$t4,0x4 -/* add4: 00aec821 */ addu $t9,$a1,$t6 -/* add8: 000b6840 */ sll $t5,$t3,0x1 -/* addc: a72d0002 */ sh $t5,0x2($t9) -/* ade0: 8d030000 */ lw $v1,0x0($t0) -/* ade4: 904c0000 */ lbu $t4,0x0($v0) -/* ade8: 3c190380 */ lui $t9,0x380 -/* adec: 8469001e */ lh $t1,0x1e($v1) -/* adf0: 84780022 */ lh $t8,0x22($v1) -/* adf4: 000c7100 */ sll $t6,$t4,0x4 -/* adf8: 00097840 */ sll $t7,$t1,0x1 -/* adfc: 00185080 */ sll $t2,$t8,0x2 -/* ae00: 01ea5821 */ addu $t3,$t7,$t2 -/* ae04: 00ae6821 */ addu $t5,$a1,$t6 -/* ae08: a5ab000a */ sh $t3,0xa($t5) -/* ae0c: 37390010 */ ori $t9,$t9,0x10 -/* ae10: ac990000 */ sw $t9,0x0($a0) -/* ae14: 90490000 */ lbu $t1,0x0($v0) -/* ae18: 0009c100 */ sll $t8,$t1,0x4 -/* ae1c: 03057821 */ addu $t7,$t8,$a1 -/* ae20: 01e15021 */ addu $t2,$t7,$at -/* ae24: 0fc59e66 */ jal gfxAllocateMatrix -/* ae28: ac8a0004 */ sw $t2,0x4($a0) -/* ae2c: 3c088006 */ lui $t0,%hi(g_ViData) -/* ae30: 3c018009 */ lui $at,%hi(var80092870) -/* ae34: ac222870 */ sw $v0,%lo(var80092870)($at) -/* ae38: 2508d594 */ addiu $t0,$t0,%lo(g_ViData) -/* ae3c: 8d030000 */ lw $v1,0x0($t0) -/* ae40: 3c013f80 */ lui $at,0x3f80 -/* ae44: 44814000 */ mtc1 $at,$f8 -/* ae48: c4640010 */ lwc1 $f4,0x10($v1) -/* ae4c: 8c660008 */ lw $a2,0x8($v1) -/* ae50: 8c67000c */ lw $a3,0xc($v1) -/* ae54: e7a40010 */ swc1 $f4,0x10($sp) -/* ae58: c4660014 */ lwc1 $f6,0x14($v1) -/* ae5c: 3c048009 */ lui $a0,%hi(var80092830) -/* ae60: 3c058009 */ lui $a1,%hi(var80092874) -/* ae64: 24a52874 */ addiu $a1,$a1,%lo(var80092874) -/* ae68: 24842830 */ addiu $a0,$a0,%lo(var80092830) -/* ae6c: e7a80018 */ swc1 $f8,0x18($sp) -/* ae70: 0c001210 */ jal guPerspectiveF -/* ae74: e7a60014 */ swc1 $f6,0x14($sp) -/* ae78: 3c048009 */ lui $a0,%hi(var80092830) -/* ae7c: 3c058009 */ lui $a1,%hi(var80092870) -/* ae80: 8ca52870 */ lw $a1,%lo(var80092870)($a1) -/* ae84: 0c0128d8 */ jal guMtxF2L -/* ae88: 24842830 */ addiu $a0,$a0,%lo(var80092830) -/* ae8c: 3c0c0103 */ lui $t4,0x103 -/* ae90: 3c058009 */ lui $a1,%hi(var80092870) -/* ae94: 358c0040 */ ori $t4,$t4,0x40 -/* ae98: 02001025 */ or $v0,$s0,$zero -/* ae9c: 24a52870 */ addiu $a1,$a1,%lo(var80092870) -/* aea0: ac4c0000 */ sw $t4,0x0($v0) -/* aea4: 8cae0000 */ lw $t6,0x0($a1) -/* aea8: 3c018000 */ lui $at,0x8000 -/* aeac: 26100008 */ addiu $s0,$s0,0x8 -/* aeb0: 3c0dbc00 */ lui $t5,0xbc00 -/* aeb4: 01c15821 */ addu $t3,$t6,$at -/* aeb8: ac4b0004 */ sw $t3,0x4($v0) -/* aebc: 35ad000e */ ori $t5,$t5,0xe -/* aec0: 02001825 */ or $v1,$s0,$zero -/* aec4: ac6d0000 */ sw $t5,0x0($v1) -/* aec8: 3c198009 */ lui $t9,%hi(var80092874) -/* aecc: 97392874 */ lhu $t9,%lo(var80092874)($t9) -/* aed0: 26100008 */ addiu $s0,$s0,0x8 -/* aed4: ac790004 */ sw $t9,0x4($v1) -/* aed8: 0fc2d3f6 */ jal currentPlayerSetUnk1750 -/* aedc: 8ca40000 */ lw $a0,0x0($a1) -/* aee0: 3c048009 */ lui $a0,%hi(var80092830) -/* aee4: 0fc2d5c2 */ jal currentPlayerSetUnk1754 -/* aee8: 24842830 */ addiu $a0,$a0,%lo(var80092830) -/* aeec: 8fbf002c */ lw $ra,0x2c($sp) -/* aef0: 02001025 */ or $v0,$s0,$zero -/* aef4: 8fb00028 */ lw $s0,0x28($sp) -/* aef8: 03e00008 */ jr $ra -/* aefc: 27bd0030 */ addiu $sp,$sp,0x30 -); - -GLOBAL_ASM( -glabel func0000af00 -/* af00: 3c088006 */ lui $t0,%hi(g_ViData) -/* af04: 2508d594 */ addiu $t0,$t0,%lo(g_ViData) -/* af08: 8d0e0000 */ lw $t6,0x0($t0) -/* af0c: 27bdffd0 */ addiu $sp,$sp,-48 -/* af10: 3c028009 */ lui $v0,%hi(var80092874+0x3) -/* af14: 24422877 */ addiu $v0,$v0,%lo(var80092874+0x3) -/* af18: 90590000 */ lbu $t9,0x0($v0) -/* af1c: afbf002c */ sw $ra,0x2c($sp) -/* af20: afb00028 */ sw $s0,0x28($sp) -/* af24: 85cf001c */ lh $t7,0x1c($t6) -/* af28: 00194900 */ sll $t1,$t9,0x4 -/* af2c: 00a95021 */ addu $t2,$a1,$t1 -/* af30: 000fc040 */ sll $t8,$t7,0x1 -/* af34: a5580000 */ sh $t8,0x0($t2) -/* af38: 8d030000 */ lw $v1,0x0($t0) -/* af3c: 90590000 */ lbu $t9,0x0($v0) -/* af40: 240701ff */ addiu $a3,$zero,0x1ff -/* af44: 846b001c */ lh $t3,0x1c($v1) -/* af48: 846d0020 */ lh $t5,0x20($v1) -/* af4c: 00194900 */ sll $t1,$t9,0x4 -/* af50: 000b6040 */ sll $t4,$t3,0x1 -/* af54: 000d7080 */ sll $t6,$t5,0x2 -/* af58: 018e7821 */ addu $t7,$t4,$t6 -/* af5c: 00a9c021 */ addu $t8,$a1,$t1 -/* af60: a70f0008 */ sh $t7,0x8($t8) -/* af64: 8d0a0000 */ lw $t2,0x0($t0) -/* af68: 904c0000 */ lbu $t4,0x0($v0) -/* af6c: 3c018000 */ lui $at,0x8000 -/* af70: 854b001e */ lh $t3,0x1e($t2) -/* af74: 000c7100 */ sll $t6,$t4,0x4 -/* af78: 00aec821 */ addu $t9,$a1,$t6 -/* af7c: 000b6840 */ sll $t5,$t3,0x1 -/* af80: a72d0002 */ sh $t5,0x2($t9) -/* af84: 8d030000 */ lw $v1,0x0($t0) -/* af88: 904c0000 */ lbu $t4,0x0($v0) -/* af8c: 24900008 */ addiu $s0,$a0,0x8 -/* af90: 8469001e */ lh $t1,0x1e($v1) -/* af94: 84780022 */ lh $t8,0x22($v1) -/* af98: 000c7100 */ sll $t6,$t4,0x4 -/* af9c: 00097840 */ sll $t7,$t1,0x1 -/* afa0: 00185080 */ sll $t2,$t8,0x2 -/* afa4: 01ea5821 */ addu $t3,$t7,$t2 -/* afa8: 00ae6821 */ addu $t5,$a1,$t6 -/* afac: a5ab000a */ sh $t3,0xa($t5) -/* afb0: 90590000 */ lbu $t9,0x0($v0) -/* afb4: 00194900 */ sll $t1,$t9,0x4 -/* afb8: 00a9c021 */ addu $t8,$a1,$t1 -/* afbc: a7070004 */ sh $a3,0x4($t8) -/* afc0: 904f0000 */ lbu $t7,0x0($v0) -/* afc4: 000f5100 */ sll $t2,$t7,0x4 -/* afc8: 00aa6021 */ addu $t4,$a1,$t2 -/* afcc: a587000c */ sh $a3,0xc($t4) -/* afd0: 904e0000 */ lbu $t6,0x0($v0) -/* afd4: 3c0f0380 */ lui $t7,0x380 -/* afd8: 35ef0010 */ ori $t7,$t7,0x10 -/* afdc: 000e5900 */ sll $t3,$t6,0x4 -/* afe0: 00ab6821 */ addu $t5,$a1,$t3 -/* afe4: a5a00006 */ sh $zero,0x6($t5) -/* afe8: 90590000 */ lbu $t9,0x0($v0) -/* afec: 00194900 */ sll $t1,$t9,0x4 -/* aff0: 00a9c021 */ addu $t8,$a1,$t1 -/* aff4: a700000e */ sh $zero,0xe($t8) -/* aff8: ac8f0000 */ sw $t7,0x0($a0) -/* affc: 904a0000 */ lbu $t2,0x0($v0) -/* b000: 000a6100 */ sll $t4,$t2,0x4 -/* b004: 01857021 */ addu $t6,$t4,$a1 -/* b008: 01c15821 */ addu $t3,$t6,$at -/* b00c: 0fc59e66 */ jal gfxAllocateMatrix -/* b010: ac8b0004 */ sw $t3,0x4($a0) -/* b014: 3c088006 */ lui $t0,%hi(g_ViData) -/* b018: 3c018009 */ lui $at,%hi(var80092870) -/* b01c: ac222870 */ sw $v0,%lo(var80092870)($at) -/* b020: 2508d594 */ addiu $t0,$t0,%lo(g_ViData) -/* b024: 8d030000 */ lw $v1,0x0($t0) -/* b028: 3c013f80 */ lui $at,0x3f80 -/* b02c: 44814000 */ mtc1 $at,$f8 -/* b030: c4640010 */ lwc1 $f4,0x10($v1) -/* b034: 8c660008 */ lw $a2,0x8($v1) -/* b038: 8c67000c */ lw $a3,0xc($v1) -/* b03c: e7a40010 */ swc1 $f4,0x10($sp) -/* b040: c4660014 */ lwc1 $f6,0x14($v1) -/* b044: 3c048009 */ lui $a0,%hi(var80092830) -/* b048: 3c058009 */ lui $a1,%hi(var80092874) -/* b04c: 24a52874 */ addiu $a1,$a1,%lo(var80092874) -/* b050: 24842830 */ addiu $a0,$a0,%lo(var80092830) -/* b054: e7a80018 */ swc1 $f8,0x18($sp) -/* b058: 0c001210 */ jal guPerspectiveF -/* b05c: e7a60014 */ swc1 $f6,0x14($sp) -/* b060: 3c048009 */ lui $a0,%hi(var80092830) -/* b064: 3c058009 */ lui $a1,%hi(var80092870) -/* b068: 8ca52870 */ lw $a1,%lo(var80092870)($a1) -/* b06c: 0c0128d8 */ jal guMtxF2L -/* b070: 24842830 */ addiu $a0,$a0,%lo(var80092830) -/* b074: 3c0d0103 */ lui $t5,0x103 -/* b078: 3c058009 */ lui $a1,%hi(var80092870) -/* b07c: 35ad0040 */ ori $t5,$t5,0x40 -/* b080: 02001025 */ or $v0,$s0,$zero -/* b084: 24a52870 */ addiu $a1,$a1,%lo(var80092870) -/* b088: ac4d0000 */ sw $t5,0x0($v0) -/* b08c: 8cb90000 */ lw $t9,0x0($a1) -/* b090: 3c018000 */ lui $at,0x8000 -/* b094: 26100008 */ addiu $s0,$s0,0x8 -/* b098: 3c18bc00 */ lui $t8,0xbc00 -/* b09c: 03214821 */ addu $t1,$t9,$at -/* b0a0: ac490004 */ sw $t1,0x4($v0) -/* b0a4: 3718000e */ ori $t8,$t8,0xe -/* b0a8: 02001825 */ or $v1,$s0,$zero -/* b0ac: ac780000 */ sw $t8,0x0($v1) -/* b0b0: 3c0f8009 */ lui $t7,%hi(var80092874) -/* b0b4: 95ef2874 */ lhu $t7,%lo(var80092874)($t7) -/* b0b8: 26100008 */ addiu $s0,$s0,0x8 -/* b0bc: ac6f0004 */ sw $t7,0x4($v1) -/* b0c0: 0fc2d3f6 */ jal currentPlayerSetUnk1750 -/* b0c4: 8ca40000 */ lw $a0,0x0($a1) -/* b0c8: 3c048009 */ lui $a0,%hi(var80092830) -/* b0cc: 0fc2d5c2 */ jal currentPlayerSetUnk1754 -/* b0d0: 24842830 */ addiu $a0,$a0,%lo(var80092830) -/* b0d4: 8fbf002c */ lw $ra,0x2c($sp) -/* b0d8: 02001025 */ or $v0,$s0,$zero -/* b0dc: 8fb00028 */ lw $s0,0x28($sp) -/* b0e0: 03e00008 */ jr $ra -/* b0e4: 27bd0030 */ addiu $sp,$sp,0x30 -); - -GLOBAL_ASM( -glabel func0000b0e8 -/* b0e8: 27bdff80 */ addiu $sp,$sp,-128 -/* b0ec: afbf002c */ sw $ra,0x2c($sp) -/* b0f0: afb00028 */ sw $s0,0x28($sp) -/* b0f4: 00808025 */ or $s0,$a0,$zero -/* b0f8: afa50084 */ sw $a1,0x84($sp) -/* b0fc: 0fc59e66 */ jal gfxAllocateMatrix -/* b100: afa60088 */ sw $a2,0x88($sp) -/* b104: 3c038006 */ lui $v1,%hi(g_ViData) -/* b108: 8c63d594 */ lw $v1,%lo(g_ViData)($v1) -/* b10c: afa2003c */ sw $v0,0x3c($sp) -/* b110: 3c013f80 */ lui $at,0x3f80 -/* b114: c4640010 */ lwc1 $f4,0x10($v1) -/* b118: 44814000 */ mtc1 $at,$f8 -/* b11c: 3c058009 */ lui $a1,%hi(var80092874) -/* b120: e7a40010 */ swc1 $f4,0x10($sp) -/* b124: c4660014 */ lwc1 $f6,0x14($v1) -/* b128: 24a52874 */ addiu $a1,$a1,%lo(var80092874) -/* b12c: 27a40040 */ addiu $a0,$sp,0x40 -/* b130: 8fa60084 */ lw $a2,0x84($sp) -/* b134: 8fa70088 */ lw $a3,0x88($sp) -/* b138: e7a80018 */ swc1 $f8,0x18($sp) -/* b13c: 0c001210 */ jal guPerspectiveF -/* b140: e7a60014 */ swc1 $f6,0x14($sp) -/* b144: 27a40040 */ addiu $a0,$sp,0x40 -/* b148: 0c0128d8 */ jal guMtxF2L -/* b14c: 8fa5003c */ lw $a1,0x3c($sp) -/* b150: 3c0e0103 */ lui $t6,0x103 -/* b154: 35ce0040 */ ori $t6,$t6,0x40 -/* b158: 02001825 */ or $v1,$s0,$zero -/* b15c: ac6e0000 */ sw $t6,0x0($v1) -/* b160: 8faf003c */ lw $t7,0x3c($sp) -/* b164: 3c018000 */ lui $at,0x8000 -/* b168: 26100008 */ addiu $s0,$s0,0x8 -/* b16c: 3c19bc00 */ lui $t9,0xbc00 -/* b170: 01e1c021 */ addu $t8,$t7,$at -/* b174: ac780004 */ sw $t8,0x4($v1) -/* b178: 3739000e */ ori $t9,$t9,0xe -/* b17c: 02002025 */ or $a0,$s0,$zero -/* b180: ac990000 */ sw $t9,0x0($a0) -/* b184: 3c088009 */ lui $t0,%hi(var80092874) -/* b188: 95082874 */ lhu $t0,%lo(var80092874)($t0) -/* b18c: 26020008 */ addiu $v0,$s0,0x8 -/* b190: ac880004 */ sw $t0,0x4($a0) -/* b194: 8fbf002c */ lw $ra,0x2c($sp) -/* b198: 8fb00028 */ lw $s0,0x28($sp) -/* b19c: 27bd0080 */ addiu $sp,$sp,0x80 -/* b1a0: 03e00008 */ jr $ra -/* b1a4: 00000000 */ nop -); - -GLOBAL_ASM( -glabel func0000b1a8 -/* b1a8: 3c05800a */ lui $a1,%hi(g_Vars+0x284) -/* b1ac: 8ca5a244 */ lw $a1,%lo(g_Vars+0x284)($a1) -/* b1b0: 27bdffe8 */ addiu $sp,$sp,-24 -/* b1b4: afbf0014 */ sw $ra,0x14($sp) -/* b1b8: 0c002b57 */ jal func0000ad5c -/* b1bc: 24a50610 */ addiu $a1,$a1,1552 -/* b1c0: 8fbf0014 */ lw $ra,0x14($sp) -/* b1c4: 27bd0018 */ addiu $sp,$sp,0x18 -/* b1c8: 03e00008 */ jr $ra -/* b1cc: 00000000 */ nop -); - -GLOBAL_ASM( -glabel func0000b1d0 -/* b1d0: 27bdffe8 */ addiu $sp,$sp,-24 -/* b1d4: afbf0014 */ sw $ra,0x14($sp) -/* b1d8: 0c002c6a */ jal func0000b1a8 -/* b1dc: 00000000 */ nop -/* b1e0: 3c0e8006 */ lui $t6,%hi(var8005d598) -/* b1e4: 8dced598 */ lw $t6,%lo(var8005d598)($t6) -/* b1e8: 3c058006 */ lui $a1,%hi(g_ViData) -/* b1ec: 24a5d594 */ addiu $a1,$a1,%lo(g_ViData) -/* b1f0: 51c00012 */ beqzl $t6,.L0000b23c -/* b1f4: 8cad0000 */ lw $t5,0x0($a1) -/* b1f8: 3c058006 */ lui $a1,%hi(g_ViData) -/* b1fc: 24a5d594 */ addiu $a1,$a1,%lo(g_ViData) -/* b200: 8caf0000 */ lw $t7,0x0($a1) -/* b204: 3c01ff10 */ lui $at,0xff10 -/* b208: 24440008 */ addiu $a0,$v0,0x8 -/* b20c: 85f80018 */ lh $t8,0x18($t7) -/* b210: 2719ffff */ addiu $t9,$t8,-1 -/* b214: 33280fff */ andi $t0,$t9,0xfff -/* b218: 01014825 */ or $t1,$t0,$at -/* b21c: ac490000 */ sw $t1,0x0($v0) -/* b220: 8caa0000 */ lw $t2,0x0($a1) -/* b224: 3c018000 */ lui $at,0x8000 -/* b228: 8d4b0028 */ lw $t3,0x28($t2) -/* b22c: 01616021 */ addu $t4,$t3,$at -/* b230: 1000000e */ b .L0000b26c -/* b234: ac4c0004 */ sw $t4,0x4($v0) -/* b238: 8cad0000 */ lw $t5,0x0($a1) -.L0000b23c: -/* b23c: 3c01ff18 */ lui $at,0xff18 -/* b240: 3c08800a */ lui $t0,%hi(var8009cac0) -/* b244: 85ae0018 */ lh $t6,0x18($t5) -/* b248: 24440008 */ addiu $a0,$v0,0x8 -/* b24c: 25cfffff */ addiu $t7,$t6,-1 -/* b250: 31f80fff */ andi $t8,$t7,0xfff -/* b254: 0301c825 */ or $t9,$t8,$at -/* b258: ac590000 */ sw $t9,0x0($v0) -/* b25c: 8d08cac0 */ lw $t0,%lo(var8009cac0)($t0) -/* b260: 3c018000 */ lui $at,0x8000 -/* b264: 01014821 */ addu $t1,$t0,$at -/* b268: ac490004 */ sw $t1,0x4($v0) -.L0000b26c: -/* b26c: 8fbf0014 */ lw $ra,0x14($sp) -/* b270: 27bd0018 */ addiu $sp,$sp,0x18 -/* b274: 00801025 */ or $v0,$a0,$zero -/* b278: 03e00008 */ jr $ra -/* b27c: 00000000 */ nop -); - -GLOBAL_ASM( -glabel func0000b280 -/* b280: 3c0e8006 */ lui $t6,%hi(g_ViData) -/* b284: 8dced594 */ lw $t6,%lo(g_ViData)($t6) -/* b288: 27bdffe8 */ addiu $sp,$sp,-24 -/* b28c: afbf0014 */ sw $ra,0x14($sp) -/* b290: 8dcf0024 */ lw $t7,0x24($t6) -/* b294: 51e00007 */ beqzl $t7,.L0000b2b4 -/* b298: 8fbf0014 */ lw $ra,0x14($sp) -/* b29c: 0fc5d8ab */ jal func0f1762ac -/* b2a0: 00000000 */ nop -/* b2a4: 0fc5d8fd */ jal func0f1763f4 -/* b2a8: 00402025 */ or $a0,$v0,$zero -/* b2ac: 00402025 */ or $a0,$v0,$zero -/* b2b0: 8fbf0014 */ lw $ra,0x14($sp) -.L0000b2b4: -/* b2b4: 27bd0018 */ addiu $sp,$sp,0x18 -/* b2b8: 00801025 */ or $v0,$a0,$zero -/* b2bc: 03e00008 */ jr $ra -/* b2c0: 00000000 */ nop -); - -Gfx *func0000b2c4(Gfx *gdl) -{ - gDPSetCycleType(gdl++, G_CYC_FILL); - gDPFillRectangle(gdl++, 0, 0, g_ViData->bufx - 1, g_ViData->bufy - 1); - gDPPipeSync(gdl++); - - return gdl; -} - -GLOBAL_ASM( -glabel func0000b330 -/* b330: 27bdff58 */ addiu $sp,$sp,-168 -/* b334: afbf0014 */ sw $ra,0x14($sp) -/* b338: 3c0eba00 */ lui $t6,0xba00 -/* b33c: 35ce1402 */ ori $t6,$t6,0x1402 -/* b340: 24830008 */ addiu $v1,$a0,0x8 -/* b344: 3c0f0030 */ lui $t7,0x30 -/* b348: ac8f0004 */ sw $t7,0x4($a0) -/* b34c: ac8e0000 */ sw $t6,0x0($a0) -/* b350: 3c18ed00 */ lui $t8,0xed00 -/* b354: ac780000 */ sw $t8,0x0($v1) -/* b358: 24660008 */ addiu $a2,$v1,0x8 -/* b35c: afa600a8 */ sw $a2,0xa8($sp) -/* b360: 0c002f02 */ jal viGetWidth -/* b364: afa300a0 */ sw $v1,0xa0($sp) -/* b368: 0c002f06 */ jal viGetHeight -/* b36c: a7a20056 */ sh $v0,0x56($sp) -/* b370: 44822000 */ mtc1 $v0,$f4 -/* b374: 87af0056 */ lh $t7,0x56($sp) -/* b378: 3c014080 */ lui $at,0x4080 -/* b37c: 468021a0 */ cvt.s.w $f6,$f4 -/* b380: 448f8000 */ mtc1 $t7,$f16 -/* b384: 44810000 */ mtc1 $at,$f0 -/* b388: 8fa600a8 */ lw $a2,0xa8($sp) -/* b38c: 3c0b800a */ lui $t3,%hi(g_Vars) -/* b390: 468084a0 */ cvt.s.w $f18,$f16 -/* b394: 46003202 */ mul.s $f8,$f6,$f0 -/* b398: 00c01825 */ or $v1,$a2,$zero -/* b39c: 256b9fc0 */ addiu $t3,$t3,%lo(g_Vars) -/* b3a0: 24010001 */ addiu $at,$zero,0x1 -/* b3a4: 00002825 */ or $a1,$zero,$zero -/* b3a8: 46009102 */ mul.s $f4,$f18,$f0 -/* b3ac: 00002025 */ or $a0,$zero,$zero -/* b3b0: 24c60008 */ addiu $a2,$a2,0x8 -/* b3b4: 4600428d */ trunc.w.s $f10,$f8 -/* b3b8: 4600218d */ trunc.w.s $f6,$f4 -/* b3bc: 440d5000 */ mfc1 $t5,$f10 -/* b3c0: 44193000 */ mfc1 $t9,$f6 -/* b3c4: 31ae0fff */ andi $t6,$t5,0xfff -/* b3c8: 332d0fff */ andi $t5,$t9,0xfff -/* b3cc: 8fb900a0 */ lw $t9,0xa0($sp) -/* b3d0: 000d7b00 */ sll $t7,$t5,0xc -/* b3d4: 01cfc025 */ or $t8,$t6,$t7 -/* b3d8: 3c0e0001 */ lui $t6,0x1 -/* b3dc: af380004 */ sw $t8,0x4($t9) -/* b3e0: 35ce0001 */ ori $t6,$t6,0x1 -/* b3e4: 3c0df700 */ lui $t5,0xf700 -/* b3e8: ac6d0000 */ sw $t5,0x0($v1) -/* b3ec: ac6e0004 */ sw $t6,0x4($v1) -/* b3f0: 8d6f006c */ lw $t7,0x6c($t3) -/* b3f4: 00001825 */ or $v1,$zero,$zero -/* b3f8: 11e00003 */ beqz $t7,.L0000b408 -/* b3fc: 00000000 */ nop -/* b400: 10000001 */ b .L0000b408 -/* b404: 24050001 */ addiu $a1,$zero,0x1 -.L0000b408: -/* b408: 8d780068 */ lw $t8,0x68($t3) -/* b40c: 00001025 */ or $v0,$zero,$zero -/* b410: 13000003 */ beqz $t8,.L0000b420 -/* b414: 00000000 */ nop -/* b418: 10000001 */ b .L0000b420 -/* b41c: 24040001 */ addiu $a0,$zero,0x1 -.L0000b420: -/* b420: 8d790064 */ lw $t9,0x64($t3) -/* b424: 13200003 */ beqz $t9,.L0000b434 -/* b428: 00000000 */ nop -/* b42c: 10000001 */ b .L0000b434 -/* b430: 24030001 */ addiu $v1,$zero,0x1 -.L0000b434: -/* b434: 8d6d0070 */ lw $t5,0x70($t3) -/* b438: 11a00003 */ beqz $t5,.L0000b448 -/* b43c: 00000000 */ nop -/* b440: 10000001 */ b .L0000b448 -/* b444: 24020001 */ addiu $v0,$zero,0x1 -.L0000b448: -/* b448: 00437021 */ addu $t6,$v0,$v1 -/* b44c: 01c47821 */ addu $t7,$t6,$a0 -/* b450: 01e5c021 */ addu $t8,$t7,$a1 -/* b454: 13010010 */ beq $t8,$at,.L0000b498 -/* b458: 00000000 */ nop -/* b45c: 8d790298 */ lw $t9,0x298($t3) -/* b460: 07210004 */ bgez $t9,.L0000b474 -/* b464: 00000000 */ nop -/* b468: 8d6d029c */ lw $t5,0x29c($t3) -/* b46c: 05a20057 */ bltzl $t5,.L0000b5cc -/* b470: 8d6d0290 */ lw $t5,0x290($t3) -.L0000b474: -/* b474: 0fc2f130 */ jal func0f0bc4c0 -/* b478: afa600a8 */ sw $a2,0xa8($sp) -/* b47c: 3c0b800a */ lui $t3,%hi(g_Vars) -/* b480: 256b9fc0 */ addiu $t3,$t3,%lo(g_Vars) -/* b484: 10400050 */ beqz $v0,.L0000b5c8 -/* b488: 8fa600a8 */ lw $a2,0xa8($sp) -/* b48c: 8d6e028c */ lw $t6,0x28c($t3) -/* b490: 55c0004e */ bnezl $t6,.L0000b5cc -/* b494: 8d6d0290 */ lw $t5,0x290($t3) -.L0000b498: -/* b498: 0c002f44 */ jal viGetViewTop -/* b49c: afa600a8 */ sw $a2,0xa8($sp) -/* b4a0: 1840001a */ blez $v0,.L0000b50c -/* b4a4: 8fa600a8 */ lw $a2,0xa8($sp) -/* b4a8: afa60098 */ sw $a2,0x98($sp) -/* b4ac: 24c60008 */ addiu $a2,$a2,0x8 -/* b4b0: 0c002f02 */ jal viGetWidth -/* b4b4: afa600a8 */ sw $a2,0xa8($sp) -/* b4b8: 0c002f44 */ jal viGetViewTop -/* b4bc: a7a20056 */ sh $v0,0x56($sp) -/* b4c0: 87ae0056 */ lh $t6,0x56($sp) -/* b4c4: 244fffff */ addiu $t7,$v0,-1 -/* b4c8: 31f803ff */ andi $t8,$t7,0x3ff -/* b4cc: 0018c880 */ sll $t9,$t8,0x2 -/* b4d0: 8fa40098 */ lw $a0,0x98($sp) -/* b4d4: 8fa600a8 */ lw $a2,0xa8($sp) -/* b4d8: 3c01f600 */ lui $at,0xf600 -/* b4dc: 25cfffff */ addiu $t7,$t6,-1 -/* b4e0: 31f803ff */ andi $t8,$t7,0x3ff -/* b4e4: 03216825 */ or $t5,$t9,$at -/* b4e8: 0018cb80 */ sll $t9,$t8,0xe -/* b4ec: 01b97025 */ or $t6,$t5,$t9 -/* b4f0: 00c01825 */ or $v1,$a2,$zero -/* b4f4: ac8e0000 */ sw $t6,0x0($a0) -/* b4f8: ac800004 */ sw $zero,0x4($a0) -/* b4fc: 3c0fe700 */ lui $t7,0xe700 -/* b500: ac6f0000 */ sw $t7,0x0($v1) -/* b504: ac600004 */ sw $zero,0x4($v1) -/* b508: 24c60008 */ addiu $a2,$a2,0x8 -.L0000b50c: -/* b50c: 0c002f26 */ jal viGetViewHeight -/* b510: afa600a8 */ sw $a2,0xa8($sp) -/* b514: 0c002f44 */ jal viGetViewTop -/* b518: a7a20042 */ sh $v0,0x42($sp) -/* b51c: 0c002f06 */ jal viGetHeight -/* b520: a7a20056 */ sh $v0,0x56($sp) -/* b524: 87b80056 */ lh $t8,0x56($sp) -/* b528: 87ad0042 */ lh $t5,0x42($sp) -/* b52c: 8fa600a8 */ lw $a2,0xa8($sp) -/* b530: 030dc821 */ addu $t9,$t8,$t5 -/* b534: 0322082a */ slt $at,$t9,$v0 -/* b538: 50200195 */ beqzl $at,.L0000bb90 -/* b53c: 8fbf0014 */ lw $ra,0x14($sp) -/* b540: afa60090 */ sw $a2,0x90($sp) -/* b544: 24c60008 */ addiu $a2,$a2,0x8 -/* b548: 0c002f02 */ jal viGetWidth -/* b54c: afa600a8 */ sw $a2,0xa8($sp) -/* b550: 0c002f06 */ jal viGetHeight -/* b554: a7a20056 */ sh $v0,0x56($sp) -/* b558: 87b90056 */ lh $t9,0x56($sp) -/* b55c: 244effff */ addiu $t6,$v0,-1 -/* b560: 31cf03ff */ andi $t7,$t6,0x3ff -/* b564: 000fc080 */ sll $t8,$t7,0x2 -/* b568: 272effff */ addiu $t6,$t9,-1 -/* b56c: 31cf03ff */ andi $t7,$t6,0x3ff -/* b570: 3c01f600 */ lui $at,0xf600 -/* b574: 03016825 */ or $t5,$t8,$at -/* b578: 8fae0090 */ lw $t6,0x90($sp) -/* b57c: 000fc380 */ sll $t8,$t7,0xe -/* b580: 01b8c825 */ or $t9,$t5,$t8 -/* b584: 0c002f44 */ jal viGetViewTop -/* b588: add90000 */ sw $t9,0x0($t6) -/* b58c: 0c002f26 */ jal viGetViewHeight -/* b590: a7a20056 */ sh $v0,0x56($sp) -/* b594: 87af0056 */ lh $t7,0x56($sp) -/* b598: 8fa600a8 */ lw $a2,0xa8($sp) -/* b59c: 8fae0090 */ lw $t6,0x90($sp) -/* b5a0: 004f6821 */ addu $t5,$v0,$t7 -/* b5a4: 31b803ff */ andi $t8,$t5,0x3ff -/* b5a8: 0018c880 */ sll $t9,$t8,0x2 -/* b5ac: 00c01825 */ or $v1,$a2,$zero -/* b5b0: 3c0fe700 */ lui $t7,0xe700 -/* b5b4: add90004 */ sw $t9,0x4($t6) -/* b5b8: ac600004 */ sw $zero,0x4($v1) -/* b5bc: ac6f0000 */ sw $t7,0x0($v1) -/* b5c0: 10000172 */ b .L0000bb8c -/* b5c4: 24c60008 */ addiu $a2,$a2,0x8 -.L0000b5c8: -/* b5c8: 8d6d0290 */ lw $t5,0x290($t3) -.L0000b5cc: -/* b5cc: 00006025 */ or $t4,$zero,$zero -/* b5d0: 24010002 */ addiu $at,$zero,0x2 -/* b5d4: 55a0016e */ bnezl $t5,.L0000bb90 -/* b5d8: 8fbf0014 */ lw $ra,0x14($sp) -/* b5dc: 8d69006c */ lw $t1,0x6c($t3) -/* b5e0: afa00080 */ sw $zero,0x80($sp) -/* b5e4: 8d670068 */ lw $a3,0x68($t3) -/* b5e8: 8d680064 */ lw $t0,0x64($t3) -/* b5ec: 11200003 */ beqz $t1,.L0000b5fc -/* b5f0: 8d6a0070 */ lw $t2,0x70($t3) -/* b5f4: 10000002 */ b .L0000b600 -/* b5f8: 24050001 */ addiu $a1,$zero,0x1 -.L0000b5fc: -/* b5fc: 00002825 */ or $a1,$zero,$zero -.L0000b600: -/* b600: 50e00004 */ beqzl $a3,.L0000b614 -/* b604: 00002025 */ or $a0,$zero,$zero -/* b608: 10000002 */ b .L0000b614 -/* b60c: 24040001 */ addiu $a0,$zero,0x1 -/* b610: 00002025 */ or $a0,$zero,$zero -.L0000b614: -/* b614: 51000004 */ beqzl $t0,.L0000b628 -/* b618: 00001825 */ or $v1,$zero,$zero -/* b61c: 10000002 */ b .L0000b628 -/* b620: 24030001 */ addiu $v1,$zero,0x1 -/* b624: 00001825 */ or $v1,$zero,$zero -.L0000b628: -/* b628: 51400004 */ beqzl $t2,.L0000b63c -/* b62c: 00001025 */ or $v0,$zero,$zero -/* b630: 10000002 */ b .L0000b63c -/* b634: 24020001 */ addiu $v0,$zero,0x1 -/* b638: 00001025 */ or $v0,$zero,$zero -.L0000b63c: -/* b63c: 0043c021 */ addu $t8,$v0,$v1 -/* b640: 0304c821 */ addu $t9,$t8,$a0 -/* b644: 03257021 */ addu $t6,$t9,$a1 -/* b648: 15c10004 */ bne $t6,$at,.L0000b65c -/* b64c: 240f0001 */ addiu $t7,$zero,0x1 -/* b650: 240c0001 */ addiu $t4,$zero,0x1 -/* b654: 10000019 */ b .L0000b6bc -/* b658: afaf0080 */ sw $t7,0x80($sp) -.L0000b65c: -/* b65c: 11200003 */ beqz $t1,.L0000b66c -/* b660: 00002825 */ or $a1,$zero,$zero -/* b664: 10000001 */ b .L0000b66c -/* b668: 24050001 */ addiu $a1,$zero,0x1 -.L0000b66c: -/* b66c: 10e00003 */ beqz $a3,.L0000b67c -/* b670: 00002025 */ or $a0,$zero,$zero -/* b674: 10000001 */ b .L0000b67c -/* b678: 24040001 */ addiu $a0,$zero,0x1 -.L0000b67c: -/* b67c: 11000003 */ beqz $t0,.L0000b68c -/* b680: 00001825 */ or $v1,$zero,$zero -/* b684: 10000001 */ b .L0000b68c -/* b688: 24030001 */ addiu $v1,$zero,0x1 -.L0000b68c: -/* b68c: 11400003 */ beqz $t2,.L0000b69c -/* b690: 00001025 */ or $v0,$zero,$zero -/* b694: 10000001 */ b .L0000b69c -/* b698: 24020001 */ addiu $v0,$zero,0x1 -.L0000b69c: -/* b69c: 00436821 */ addu $t5,$v0,$v1 -/* b6a0: 01a4c021 */ addu $t8,$t5,$a0 -/* b6a4: 0305c821 */ addu $t9,$t8,$a1 -/* b6a8: 2b210003 */ slti $at,$t9,0x3 -/* b6ac: 14200003 */ bnez $at,.L0000b6bc -/* b6b0: 240e0002 */ addiu $t6,$zero,0x2 -/* b6b4: 240c0002 */ addiu $t4,$zero,0x2 -/* b6b8: afae0080 */ sw $t6,0x80($sp) -.L0000b6bc: -/* b6bc: 3c0f800a */ lui $t7,%hi(g_Vars+0x64) -/* b6c0: 8defa024 */ lw $t7,%lo(g_Vars+0x64)($t7) -/* b6c4: 85ed0636 */ lh $t5,0x636($t7) -/* b6c8: 19a0001c */ blez $t5,.L0000b73c -/* b6cc: 00c02025 */ or $a0,$a2,$zero -/* b6d0: 24c60008 */ addiu $a2,$a2,0x8 -/* b6d4: afa600a8 */ sw $a2,0xa8($sp) -/* b6d8: afa4007c */ sw $a0,0x7c($sp) -/* b6dc: 0c002f02 */ jal viGetWidth -/* b6e0: afac0084 */ sw $t4,0x84($sp) -/* b6e4: 3c18800a */ lui $t8,%hi(g_Vars+0x64) -/* b6e8: 8f18a024 */ lw $t8,%lo(g_Vars+0x64)($t8) -/* b6ec: 8fa4007c */ lw $a0,0x7c($sp) -/* b6f0: 8fa600a8 */ lw $a2,0xa8($sp) -/* b6f4: 87190636 */ lh $t9,0x636($t8) -/* b6f8: 3c01f600 */ lui $at,0xf600 -/* b6fc: 8fac0084 */ lw $t4,0x84($sp) -/* b700: 272effff */ addiu $t6,$t9,-1 -/* b704: 31cf03ff */ andi $t7,$t6,0x3ff -/* b708: 000f6880 */ sll $t5,$t7,0x2 -/* b70c: 2459ffff */ addiu $t9,$v0,-1 -/* b710: 332e03ff */ andi $t6,$t9,0x3ff -/* b714: 000e7b80 */ sll $t7,$t6,0xe -/* b718: 01a1c025 */ or $t8,$t5,$at -/* b71c: 030f6825 */ or $t5,$t8,$t7 -/* b720: 00c01825 */ or $v1,$a2,$zero -/* b724: ac8d0000 */ sw $t5,0x0($a0) -/* b728: ac800004 */ sw $zero,0x4($a0) -/* b72c: 3c19e700 */ lui $t9,0xe700 -/* b730: ac790000 */ sw $t9,0x0($v1) -/* b734: ac600004 */ sw $zero,0x4($v1) -/* b738: 24c60008 */ addiu $a2,$a2,0x8 -.L0000b73c: -/* b73c: afa600a8 */ sw $a2,0xa8($sp) -/* b740: 0c002f06 */ jal viGetHeight -/* b744: afac0084 */ sw $t4,0x84($sp) -/* b748: 8fac0084 */ lw $t4,0x84($sp) -/* b74c: 3c0b800a */ lui $t3,%hi(g_Vars) -/* b750: 256b9fc0 */ addiu $t3,$t3,%lo(g_Vars) -/* b754: 000c7080 */ sll $t6,$t4,0x2 -/* b758: 016e2821 */ addu $a1,$t3,$t6 -/* b75c: 8ca30064 */ lw $v1,0x64($a1) -/* b760: 8fa600a8 */ lw $a2,0xa8($sp) -/* b764: 84780636 */ lh $t8,0x636($v1) -/* b768: 846f0632 */ lh $t7,0x632($v1) -/* b76c: 030f6821 */ addu $t5,$t8,$t7 -/* b770: 01a2082a */ slt $at,$t5,$v0 -/* b774: 50200023 */ beqzl $at,.L0000b804 -/* b778: 00c02025 */ or $a0,$a2,$zero -/* b77c: afa60074 */ sw $a2,0x74($sp) -/* b780: 24c60008 */ addiu $a2,$a2,0x8 -/* b784: afa600a8 */ sw $a2,0xa8($sp) -/* b788: 0c002f02 */ jal viGetWidth -/* b78c: afa5002c */ sw $a1,0x2c($sp) -/* b790: 0c002f06 */ jal viGetHeight -/* b794: a7a20056 */ sh $v0,0x56($sp) -/* b798: 87ad0056 */ lh $t5,0x56($sp) -/* b79c: 2459ffff */ addiu $t9,$v0,-1 -/* b7a0: 332e03ff */ andi $t6,$t9,0x3ff -/* b7a4: 000ec080 */ sll $t8,$t6,0x2 -/* b7a8: 3c01f600 */ lui $at,0xf600 -/* b7ac: 25b9ffff */ addiu $t9,$t5,-1 -/* b7b0: 8fa70074 */ lw $a3,0x74($sp) -/* b7b4: 332e03ff */ andi $t6,$t9,0x3ff -/* b7b8: 03017825 */ or $t7,$t8,$at -/* b7bc: 8fa5002c */ lw $a1,0x2c($sp) -/* b7c0: 000ec380 */ sll $t8,$t6,0xe -/* b7c4: 8fa600a8 */ lw $a2,0xa8($sp) -/* b7c8: 01f86825 */ or $t5,$t7,$t8 -/* b7cc: aced0000 */ sw $t5,0x0($a3) -/* b7d0: 8ca30064 */ lw $v1,0x64($a1) -/* b7d4: 00c02025 */ or $a0,$a2,$zero -/* b7d8: 24c60008 */ addiu $a2,$a2,0x8 -/* b7dc: 84790632 */ lh $t9,0x632($v1) -/* b7e0: 846e0636 */ lh $t6,0x636($v1) -/* b7e4: 032e7821 */ addu $t7,$t9,$t6 -/* b7e8: 31f803ff */ andi $t8,$t7,0x3ff -/* b7ec: 00186880 */ sll $t5,$t8,0x2 -/* b7f0: aced0004 */ sw $t5,0x4($a3) -/* b7f4: 3c19e700 */ lui $t9,0xe700 -/* b7f8: ac990000 */ sw $t9,0x0($a0) -/* b7fc: ac800004 */ sw $zero,0x4($a0) -/* b800: 00c02025 */ or $a0,$a2,$zero -.L0000b804: -/* b804: 24c60008 */ addiu $a2,$a2,0x8 -/* b808: afa600a8 */ sw $a2,0xa8($sp) -/* b80c: 0c002f02 */ jal viGetWidth -/* b810: afa4006c */ sw $a0,0x6c($sp) -/* b814: 8fae0080 */ lw $t6,0x80($sp) -/* b818: 3c0b800a */ lui $t3,%hi(g_Vars) -/* b81c: 256b9fc0 */ addiu $t3,$t3,%lo(g_Vars) -/* b820: 000e7880 */ sll $t7,$t6,0x2 -/* b824: 016f6021 */ addu $t4,$t3,$t7 -/* b828: 8d980064 */ lw $t8,0x64($t4) -/* b82c: 8fa4006c */ lw $a0,0x6c($sp) -/* b830: 3c01f600 */ lui $at,0xf600 -/* b834: 870d0636 */ lh $t5,0x636($t8) -/* b838: 8fa600a8 */ lw $a2,0xa8($sp) -/* b83c: 00002825 */ or $a1,$zero,$zero -/* b840: 25b9ffff */ addiu $t9,$t5,-1 -/* b844: 332e03ff */ andi $t6,$t9,0x3ff -/* b848: 000e7880 */ sll $t7,$t6,0x2 -/* b84c: 244dffff */ addiu $t5,$v0,-1 -/* b850: 31b903ff */ andi $t9,$t5,0x3ff -/* b854: 00197380 */ sll $t6,$t9,0xe -/* b858: 01e1c025 */ or $t8,$t7,$at -/* b85c: 030e7825 */ or $t7,$t8,$t6 -/* b860: ac8f0000 */ sw $t7,0x0($a0) -/* b864: 8d8d0064 */ lw $t5,0x64($t4) -/* b868: 00c01825 */ or $v1,$a2,$zero -/* b86c: 24c60008 */ addiu $a2,$a2,0x8 -/* b870: 85b90636 */ lh $t9,0x636($t5) -/* b874: 3c0de700 */ lui $t5,0xe700 -/* b878: 2738ffff */ addiu $t8,$t9,-1 -/* b87c: 330e03ff */ andi $t6,$t8,0x3ff -/* b880: 000e7880 */ sll $t7,$t6,0x2 -/* b884: ac8f0004 */ sw $t7,0x4($a0) -/* b888: ac600004 */ sw $zero,0x4($v1) -/* b88c: ac6d0000 */ sw $t5,0x0($v1) -/* b890: 8d69006c */ lw $t1,0x6c($t3) -/* b894: 11200003 */ beqz $t1,.L0000b8a4 -/* b898: 00000000 */ nop -/* b89c: 10000001 */ b .L0000b8a4 -/* b8a0: 24050001 */ addiu $a1,$zero,0x1 -.L0000b8a4: -/* b8a4: 8d670068 */ lw $a3,0x68($t3) -/* b8a8: 00002025 */ or $a0,$zero,$zero -/* b8ac: 00001825 */ or $v1,$zero,$zero -/* b8b0: 10e00003 */ beqz $a3,.L0000b8c0 -/* b8b4: 00000000 */ nop -/* b8b8: 10000001 */ b .L0000b8c0 -/* b8bc: 24040001 */ addiu $a0,$zero,0x1 -.L0000b8c0: -/* b8c0: 8d680064 */ lw $t0,0x64($t3) -/* b8c4: 00001025 */ or $v0,$zero,$zero -/* b8c8: 11000003 */ beqz $t0,.L0000b8d8 -/* b8cc: 00000000 */ nop -/* b8d0: 10000001 */ b .L0000b8d8 -/* b8d4: 24030001 */ addiu $v1,$zero,0x1 -.L0000b8d8: -/* b8d8: 8d6a0070 */ lw $t2,0x70($t3) -/* b8dc: 11400003 */ beqz $t2,.L0000b8ec -/* b8e0: 00000000 */ nop -/* b8e4: 10000001 */ b .L0000b8ec -/* b8e8: 24020001 */ addiu $v0,$zero,0x1 -.L0000b8ec: -/* b8ec: 0043c821 */ addu $t9,$v0,$v1 -/* b8f0: 0324c021 */ addu $t8,$t9,$a0 -/* b8f4: 03057021 */ addu $t6,$t8,$a1 -/* b8f8: 29c10003 */ slti $at,$t6,0x3 -/* b8fc: 50200024 */ beqzl $at,.L0000b990 -/* b900: 8d6e006c */ lw $t6,0x6c($t3) -/* b904: 11200003 */ beqz $t1,.L0000b914 -/* b908: 24010002 */ addiu $at,$zero,0x2 -/* b90c: 10000002 */ b .L0000b918 -/* b910: 24050001 */ addiu $a1,$zero,0x1 -.L0000b914: -/* b914: 00002825 */ or $a1,$zero,$zero -.L0000b918: -/* b918: 10e00003 */ beqz $a3,.L0000b928 -/* b91c: 00001825 */ or $v1,$zero,$zero -/* b920: 10000001 */ b .L0000b928 -/* b924: 24030001 */ addiu $v1,$zero,0x1 -.L0000b928: -/* b928: 11000003 */ beqz $t0,.L0000b938 -/* b92c: 00002025 */ or $a0,$zero,$zero -/* b930: 10000001 */ b .L0000b938 -/* b934: 24040001 */ addiu $a0,$zero,0x1 -.L0000b938: -/* b938: 11400003 */ beqz $t2,.L0000b948 -/* b93c: 00001025 */ or $v0,$zero,$zero -/* b940: 10000001 */ b .L0000b948 -/* b944: 24020001 */ addiu $v0,$zero,0x1 -.L0000b948: -/* b948: 00447821 */ addu $t7,$v0,$a0 -/* b94c: 01e36821 */ addu $t5,$t7,$v1 -/* b950: 01a5c821 */ addu $t9,$t5,$a1 -/* b954: 5721004e */ bnel $t9,$at,.L0000ba90 -/* b958: 8d6f006c */ lw $t7,0x6c($t3) -/* b95c: afa600a8 */ sw $a2,0xa8($sp) -/* b960: 0fc54bcd */ jal optionsGetScreenSplit -/* b964: afac001c */ sw $t4,0x1c($sp) -/* b968: 3c0b800a */ lui $t3,%hi(g_Vars) -/* b96c: 24010001 */ addiu $at,$zero,0x1 -/* b970: 256b9fc0 */ addiu $t3,$t3,%lo(g_Vars) -/* b974: 8fa600a8 */ lw $a2,0xa8($sp) -/* b978: 10410004 */ beq $v0,$at,.L0000b98c -/* b97c: 8fac001c */ lw $t4,0x1c($sp) -/* b980: 917804e0 */ lbu $t8,0x4e0($t3) -/* b984: 53000042 */ beqzl $t8,.L0000ba90 -/* b988: 8d6f006c */ lw $t7,0x6c($t3) -.L0000b98c: -/* b98c: 8d6e006c */ lw $t6,0x6c($t3) -.L0000b990: -/* b990: 8d670068 */ lw $a3,0x68($t3) -/* b994: 8d680064 */ lw $t0,0x64($t3) -/* b998: 11c00003 */ beqz $t6,.L0000b9a8 -/* b99c: 8d6a0070 */ lw $t2,0x70($t3) -/* b9a0: 10000002 */ b .L0000b9ac -/* b9a4: 24050001 */ addiu $a1,$zero,0x1 -.L0000b9a8: -/* b9a8: 00002825 */ or $a1,$zero,$zero -.L0000b9ac: -/* b9ac: 10e00003 */ beqz $a3,.L0000b9bc -/* b9b0: 24010002 */ addiu $at,$zero,0x2 -/* b9b4: 10000002 */ b .L0000b9c0 -/* b9b8: 24040001 */ addiu $a0,$zero,0x1 -.L0000b9bc: -/* b9bc: 00002025 */ or $a0,$zero,$zero -.L0000b9c0: -/* b9c0: 11000003 */ beqz $t0,.L0000b9d0 -/* b9c4: 00001825 */ or $v1,$zero,$zero -/* b9c8: 10000001 */ b .L0000b9d0 -/* b9cc: 24030001 */ addiu $v1,$zero,0x1 -.L0000b9d0: -/* b9d0: 11400003 */ beqz $t2,.L0000b9e0 -/* b9d4: 00001025 */ or $v0,$zero,$zero -/* b9d8: 10000001 */ b .L0000b9e0 -/* b9dc: 24020001 */ addiu $v0,$zero,0x1 -.L0000b9e0: -/* b9e0: 00437821 */ addu $t7,$v0,$v1 -/* b9e4: 01e46821 */ addu $t5,$t7,$a0 -/* b9e8: 01a5c821 */ addu $t9,$t5,$a1 -/* b9ec: 17210004 */ bne $t9,$at,.L0000ba00 -/* b9f0: 00c02825 */ or $a1,$a2,$zero -/* b9f4: 3c0c800a */ lui $t4,%hi(g_Vars) -/* b9f8: 258c9fc0 */ addiu $t4,$t4,%lo(g_Vars) -/* b9fc: afa00080 */ sw $zero,0x80($sp) -.L0000ba00: -/* ba00: 24c60008 */ addiu $a2,$a2,0x8 -/* ba04: afa600a8 */ sw $a2,0xa8($sp) -/* ba08: afa50064 */ sw $a1,0x64($sp) -/* ba0c: 0c002f06 */ jal viGetHeight -/* ba10: afac001c */ sw $t4,0x1c($sp) -/* ba14: 8fac001c */ lw $t4,0x1c($sp) -/* ba18: 8fa50064 */ lw $a1,0x64($sp) -/* ba1c: 3c01f600 */ lui $at,0xf600 -/* ba20: 8d830064 */ lw $v1,0x64($t4) -/* ba24: 8fa600a8 */ lw $a2,0xa8($sp) -/* ba28: 3c0b800a */ lui $t3,%hi(g_Vars) -/* ba2c: 84780634 */ lh $t8,0x634($v1) -/* ba30: 846e0630 */ lh $t6,0x630($v1) -/* ba34: 00c02025 */ or $a0,$a2,$zero -/* ba38: 256b9fc0 */ addiu $t3,$t3,%lo(g_Vars) -/* ba3c: 030e7821 */ addu $t7,$t8,$t6 -/* ba40: 31ed03ff */ andi $t5,$t7,0x3ff -/* ba44: 2458ffff */ addiu $t8,$v0,-1 -/* ba48: 330e03ff */ andi $t6,$t8,0x3ff -/* ba4c: 000e7880 */ sll $t7,$t6,0x2 -/* ba50: 000dcb80 */ sll $t9,$t5,0xe -/* ba54: 01e16825 */ or $t5,$t7,$at -/* ba58: 01b9c025 */ or $t8,$t5,$t9 -/* ba5c: acb80000 */ sw $t8,0x0($a1) -/* ba60: 8d830064 */ lw $v1,0x64($t4) -/* ba64: 24c60008 */ addiu $a2,$a2,0x8 -/* ba68: 846e0630 */ lh $t6,0x630($v1) -/* ba6c: 846f0634 */ lh $t7,0x634($v1) -/* ba70: 01cf6821 */ addu $t5,$t6,$t7 -/* ba74: 31b903ff */ andi $t9,$t5,0x3ff -/* ba78: 0019c380 */ sll $t8,$t9,0xe -/* ba7c: acb80004 */ sw $t8,0x4($a1) -/* ba80: 3c0ee700 */ lui $t6,0xe700 -/* ba84: ac8e0000 */ sw $t6,0x0($a0) -/* ba88: ac800004 */ sw $zero,0x4($a0) -/* ba8c: 8d6f006c */ lw $t7,0x6c($t3) -.L0000ba90: -/* ba90: 8d670068 */ lw $a3,0x68($t3) -/* ba94: 8d680064 */ lw $t0,0x64($t3) -/* ba98: 11e00003 */ beqz $t7,.L0000baa8 -/* ba9c: 8d6a0070 */ lw $t2,0x70($t3) -/* baa0: 10000002 */ b .L0000baac -/* baa4: 24050001 */ addiu $a1,$zero,0x1 -.L0000baa8: -/* baa8: 00002825 */ or $a1,$zero,$zero -.L0000baac: -/* baac: 10e00003 */ beqz $a3,.L0000babc -/* bab0: 24010003 */ addiu $at,$zero,0x3 -/* bab4: 10000002 */ b .L0000bac0 -/* bab8: 24040001 */ addiu $a0,$zero,0x1 -.L0000babc: -/* babc: 00002025 */ or $a0,$zero,$zero -.L0000bac0: -/* bac0: 11000003 */ beqz $t0,.L0000bad0 -/* bac4: 00001825 */ or $v1,$zero,$zero -/* bac8: 10000001 */ b .L0000bad0 -/* bacc: 24030001 */ addiu $v1,$zero,0x1 -.L0000bad0: -/* bad0: 11400003 */ beqz $t2,.L0000bae0 -/* bad4: 00001025 */ or $v0,$zero,$zero -/* bad8: 10000001 */ b .L0000bae0 -/* badc: 24020001 */ addiu $v0,$zero,0x1 -.L0000bae0: -/* bae0: 00436821 */ addu $t5,$v0,$v1 -/* bae4: 01a4c821 */ addu $t9,$t5,$a0 -/* bae8: 0325c021 */ addu $t8,$t9,$a1 -/* baec: 57010028 */ bnel $t8,$at,.L0000bb90 -/* baf0: 8fbf0014 */ lw $ra,0x14($sp) -/* baf4: afa6005c */ sw $a2,0x5c($sp) -/* baf8: 24c60008 */ addiu $a2,$a2,0x8 -/* bafc: afa600a8 */ sw $a2,0xa8($sp) -/* bb00: 0c002f02 */ jal viGetWidth -/* bb04: afac001c */ sw $t4,0x1c($sp) -/* bb08: 0c002f06 */ jal viGetHeight -/* bb0c: a7a20056 */ sh $v0,0x56($sp) -/* bb10: 87b80056 */ lh $t8,0x56($sp) -/* bb14: 244effff */ addiu $t6,$v0,-1 -/* bb18: 31cf03ff */ andi $t7,$t6,0x3ff -/* bb1c: 000f6880 */ sll $t5,$t7,0x2 -/* bb20: 3c01f600 */ lui $at,0xf600 -/* bb24: 270effff */ addiu $t6,$t8,-1 -/* bb28: 8fa5005c */ lw $a1,0x5c($sp) -/* bb2c: 31cf03ff */ andi $t7,$t6,0x3ff -/* bb30: 01a1c825 */ or $t9,$t5,$at -/* bb34: 8fac001c */ lw $t4,0x1c($sp) -/* bb38: 000f6b80 */ sll $t5,$t7,0xe -/* bb3c: 8fa600a8 */ lw $a2,0xa8($sp) -/* bb40: 032dc025 */ or $t8,$t9,$t5 -/* bb44: acb80000 */ sw $t8,0x0($a1) -/* bb48: 8d830064 */ lw $v1,0x64($t4) -/* bb4c: 00c02025 */ or $a0,$a2,$zero -/* bb50: 24c60008 */ addiu $a2,$a2,0x8 -/* bb54: 846e0634 */ lh $t6,0x634($v1) -/* bb58: 846f0630 */ lh $t7,0x630($v1) -/* bb5c: 01cfc821 */ addu $t9,$t6,$t7 -/* bb60: 846f0636 */ lh $t7,0x636($v1) -/* bb64: 272d0001 */ addiu $t5,$t9,0x1 -/* bb68: 31b803ff */ andi $t8,$t5,0x3ff -/* bb6c: 31f903ff */ andi $t9,$t7,0x3ff -/* bb70: 00196880 */ sll $t5,$t9,0x2 -/* bb74: 00187380 */ sll $t6,$t8,0xe -/* bb78: 01aec025 */ or $t8,$t5,$t6 -/* bb7c: acb80004 */ sw $t8,0x4($a1) -/* bb80: 3c0fe700 */ lui $t7,0xe700 -/* bb84: ac8f0000 */ sw $t7,0x0($a0) -/* bb88: ac800004 */ sw $zero,0x4($a0) -.L0000bb8c: -/* bb8c: 8fbf0014 */ lw $ra,0x14($sp) -.L0000bb90: -/* bb90: 27bd00a8 */ addiu $sp,$sp,0xa8 -/* bb94: 00c01025 */ or $v0,$a2,$zero -/* bb98: 03e00008 */ jr $ra -/* bb9c: 00000000 */ nop -); - -void viSetBuf(s16 x, s16 y) -{ - g_ViData->bufx = x; - g_ViData->bufy = y; -} - -s16 viGetBufX(void) -{ - return g_ViData->bufx; -} - -s16 viGetBufY(void) -{ - return g_ViData->bufy; -} - -void viSetXY(s16 x, s16 y) -{ - g_ViData->x = x; - g_ViData->y = y; -} - -s16 viGetWidth(void) -{ - return g_ViData->x; -} - -s16 viGetHeight(void) -{ - return g_ViData->y; -} - -void viSetViewSize(s16 x, s16 y) -{ - g_ViData->viewx = x; - g_ViData->viewy = y; - - currentPlayerSetScreenSize(g_ViData->viewx, g_ViData->viewy); - currentPlayerSetCameraScale(); -} - -s16 viGetViewWidth(void) -{ - return g_ViData->viewx; -} - -s16 viGetViewHeight(void) -{ - return g_ViData->viewy; -} - -void viSetViewPosition(s16 left, s16 top) -{ - g_ViData->viewleft = left; - g_ViData->viewtop = top; - - currentPlayerSetScreenPosition(g_ViData->viewleft, g_ViData->viewtop); -} - -s16 viGetViewLeft(void) -{ - return g_ViData->viewleft; -} - -s16 viGetViewTop(void) -{ - return g_ViData->viewtop; -} - -void viSetUseZBuf(bool use) -{ - g_ViData->usezbuf = use; -} - -void viSetFovY(f32 fovy) -{ - g_ViData->fovy = fovy; - - currentPlayerSetPerspective(g_ViData->znear, g_ViData->fovy, g_ViData->aspect); - currentPlayerSetCameraScale(); -} - -void viSetAspect(f32 aspect) -{ - g_ViData->aspect = aspect; - - currentPlayerSetPerspective(g_ViData->znear, g_ViData->fovy, g_ViData->aspect); - currentPlayerSetCameraScale(); -} - -f32 viGetAspect(void) -{ - return g_ViData->aspect; -} - -void viSetFovAspectAndSize(f32 fovy, f32 aspect, s16 width, s16 height) -{ - g_ViData->fovy = fovy; - g_ViData->aspect = aspect; - g_ViData->viewx = width; - g_ViData->viewy = height; - - currentPlayerSetScreenSize(g_ViData->viewx, g_ViData->viewy); - currentPlayerSetPerspective(g_ViData->znear, g_ViData->fovy, g_ViData->aspect); - currentPlayerSetCameraScale(); -} - -f32 viGetFovY(void) -{ - return g_ViData->fovy; -} - -void viSetZRange(f32 near, f32 far) -{ - g_ViData->znear = near; - g_ViData->zfar = far; - - currentPlayerSetPerspective(g_ViData->znear, g_ViData->fovy, g_ViData->aspect); - currentPlayerSetCameraScale(); -} - -void viGetZRange(struct zrange *zrange) -{ - zrange->near = g_ViData->znear; - zrange->far = g_ViData->zfar; -} - -GLOBAL_ASM( -glabel func0000bf04 -/* bf04: 3c0e8006 */ lui $t6,%hi(var8005d598) -/* bf08: 8dced598 */ lw $t6,%lo(var8005d598)($t6) -/* bf0c: 00801025 */ or $v0,$a0,$zero -/* bf10: 3c18f700 */ lui $t8,0xf700 -/* bf14: 11c00013 */ beqz $t6,.L0000bf64 -/* bf18: 00054600 */ sll $t0,$a1,0x18 -/* bf1c: 0005c200 */ sll $t8,$a1,0x8 -/* bf20: 000640c0 */ sll $t0,$a2,0x3 -/* bf24: 310907c0 */ andi $t1,$t0,0x7c0 -/* bf28: 3319f800 */ andi $t9,$t8,0xf800 -/* bf2c: 00075883 */ sra $t3,$a3,0x2 -/* bf30: 316c003e */ andi $t4,$t3,0x3e -/* bf34: 03295025 */ or $t2,$t9,$t1 -/* bf38: 014c1825 */ or $v1,$t2,$t4 -/* bf3c: 346d0001 */ ori $t5,$v1,0x1 -/* bf40: 00801025 */ or $v0,$a0,$zero -/* bf44: 3c0ff700 */ lui $t7,0xf700 -/* bf48: ac4f0000 */ sw $t7,0x0($v0) -/* bf4c: 000d7400 */ sll $t6,$t5,0x10 -/* bf50: 01cd7825 */ or $t7,$t6,$t5 -/* bf54: ac4f0004 */ sw $t7,0x4($v0) -/* bf58: 24840008 */ addiu $a0,$a0,0x8 -/* bf5c: 03e00008 */ jr $ra -/* bf60: 00801025 */ or $v0,$a0,$zero -.L0000bf64: -/* bf64: 0006cc00 */ sll $t9,$a2,0x10 -/* bf68: 01194825 */ or $t1,$t0,$t9 -/* bf6c: 00075a00 */ sll $t3,$a3,0x8 -/* bf70: 012b5025 */ or $t2,$t1,$t3 -/* bf74: 354c00ff */ ori $t4,$t2,0xff -/* bf78: ac4c0004 */ sw $t4,0x4($v0) -/* bf7c: 24840008 */ addiu $a0,$a0,0x8 -/* bf80: ac580000 */ sw $t8,0x0($v0) -/* bf84: 03e00008 */ jr $ra -/* bf88: 00801025 */ or $v0,$a0,$zero -/* bf8c: 03e00008 */ jr $ra -/* bf90: 00000000 */ nop -/* bf94: 03e00008 */ jr $ra -/* bf98: 00000000 */ nop -/* bf9c: 03e00008 */ jr $ra -/* bfa0: 00000000 */ nop -/* bfa4: 03e00008 */ jr $ra -/* bfa8: 00000000 */ nop -/* bfac: 00000000 */ nop ); diff --git a/src/lib/lib_09a80.c b/src/lib/lib_09a80.c new file mode 100644 index 000000000..629fd02e2 --- /dev/null +++ b/src/lib/lib_09a80.c @@ -0,0 +1,3235 @@ +#include +#include "constants.h" +#include "game/game_0b3350.h" +#include "game/game_0b69d0.h" +#include "game/file.h" +#include "game/game_176080.h" +#include "game/options.h" +#include "gvars/gvars.h" +#include "lib/lib_09660.h" +#include "lib/memory.h" +#include "lib/lib_159b0.h" +#include "lib/lib_2faf0.h" +#include "lib/lib_30ce0.h" +#include "lib/lib_4b170.h" +#include "data.h" +#include "types.h" + +const u32 var700526d0[] = {0x01400140}; +const u32 var700526d4[] = {0x02800000}; +const u32 var700526d8[] = {0x00dc00dc}; +const u32 var700526dc[] = {0x01b80000}; + +struct rend_vidat var8005d530 = { + NULL, + 320, 220, // x and y + 60, // fovy + 1.4545454978943f, // aspect + 30, // znear + 10000, // zfar + 320, 220, // bufx and bufy + 320, 220, // viewx and viewy + 0, 0, // viewleft and viewtop + true, // usezbuf + 0, +}; + +struct rend_vidat var8005d55c = { + NULL, + 320, 220, // x and y + 60, // fovy + 1.4545454978943f, // aspect + 30, // znear + 10000, // zfar + 320, 220, // bufx and bufy + 320, 220, // viewx and viewy + 0, 0, // viewleft and viewtop + true, // usezbuf + 0, +}; + +u32 var8005d588 = 0x00000000; +u32 var8005d58c = 0x00000000; +struct rend_vidat *var8005d590 = &var8005d530; +struct rend_vidat *g_ViData = &var8005d530; +u32 var8005d598 = 0x00000001; +u32 var8005d59c = 0x00000000; +u32 var8005d5a0 = 0x00000000; +u32 var8005d5a4 = 0x00000000; +u32 var8005d5a8 = 0x00000000; +u32 var8005d5ac = 0x00000000; + + +void func00009a80(void) +{ + // empty +} + +void func00009a88(void) +{ + // empty +} + +void func00009a90(void) +{ + // empty +} + +void func00009a98(void) +{ + // empty +} + +void func00009aa0(u32 value) +{ + // empty +} + +Gfx *debugRenderSomething(Gfx *gdl) +{ + return gdl; +} + +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func00009ab0 +/* 99a0: 2405002c */ li $a1,0x2c +/* 99a4: 300f00ff */ andi $t7,$zero,0xff +/* 99a8: 01e50019 */ multu $t7,$a1 +/* 99ac: 3c028009 */ lui $v0,0x8009 +/* 99b0: 3c038009 */ lui $v1,0x8009 +/* 99b4: 3c048006 */ lui $a0,0x8006 +/* 99b8: 2484d1d0 */ addiu $a0,$a0,-11824 +/* 99bc: 24632dc7 */ addiu $v1,$v1,0x2dc7 +/* 99c0: 24422dc6 */ addiu $v0,$v0,0x2dc6 +/* 99c4: 240e0001 */ li $t6,0x1 +/* 99c8: a0400000 */ sb $zero,0x0($v0) +/* 99cc: a06e0000 */ sb $t6,0x0($v1) +/* 99d0: 0000c012 */ mflo $t8 +/* 99d4: 0098c821 */ addu $t9,$a0,$t8 +/* 99d8: 3c018006 */ lui $at,0x8006 +/* 99dc: ac39d230 */ sw $t9,-0x2dd0($at) +/* 99e0: 90680000 */ lbu $t0,0x0($v1) +/* 99e4: 3c0b8009 */ lui $t3,0x8009 +/* 99e8: 916b1040 */ lbu $t3,0x1040($t3) +/* 99ec: 01050019 */ multu $t0,$a1 +/* 99f0: 3c018006 */ lui $at,0x8006 +/* 99f4: 240200dc */ li $v0,0xdc +/* 99f8: 00004812 */ mflo $t1 +/* 99fc: 00895021 */ addu $t2,$a0,$t1 +/* 9a00: ac2ad234 */ sw $t2,-0x2dcc($at) +/* 9a04: 24010001 */ li $at,0x1 +/* 9a08: 1561000c */ bne $t3,$at,.PF00009a3c +/* 9a0c: 00000000 */ nop +/* 9a10: a4820006 */ sh $v0,0x6($a0) +/* 9a14: a482001a */ sh $v0,0x1a($a0) +/* 9a18: a482001e */ sh $v0,0x1e($a0) +/* 9a1c: a4820032 */ sh $v0,0x32($a0) +/* 9a20: a4820046 */ sh $v0,0x46($a0) +/* 9a24: a482004a */ sh $v0,0x4a($a0) +/* 9a28: 3c018006 */ lui $at,0x8006 +/* 9a2c: ac20d228 */ sw $zero,-0x2dd8($at) +/* 9a30: 3c018006 */ lui $at,0x8006 +/* 9a34: 03e00008 */ jr $ra +/* 9a38: ac20d22c */ sw $zero,-0x2dd4($at) +.PF00009a3c: +/* 9a3c: 3c018006 */ lui $at,0x8006 +/* 9a40: ac20d228 */ sw $zero,-0x2dd8($at) +/* 9a44: 3c018006 */ lui $at,0x8006 +/* 9a48: 240c000c */ li $t4,0xc +/* 9a4c: ac2cd22c */ sw $t4,-0x2dd4($at) +/* 9a50: 03e00008 */ jr $ra +/* 9a54: 00000000 */ nop +); +#else +GLOBAL_ASM( +glabel func00009ab0 +/* 9ab0: 2405002c */ addiu $a1,$zero,0x2c +/* 9ab4: 300f00ff */ andi $t7,$zero,0xff +/* 9ab8: 01e50019 */ multu $t7,$a1 +/* 9abc: 3c028009 */ lui $v0,%hi(var80092874+0x2) +/* 9ac0: 3c038009 */ lui $v1,%hi(var80092874+0x3) +/* 9ac4: 3c048006 */ lui $a0,%hi(var8005d530) +/* 9ac8: 2484d530 */ addiu $a0,$a0,%lo(var8005d530) +/* 9acc: 24632877 */ addiu $v1,$v1,%lo(var80092874+0x3) +/* 9ad0: 24422876 */ addiu $v0,$v0,%lo(var80092874+0x2) +/* 9ad4: 240e0001 */ addiu $t6,$zero,0x1 +/* 9ad8: a0400000 */ sb $zero,0x0($v0) +/* 9adc: a06e0000 */ sb $t6,0x0($v1) +/* 9ae0: 0000c012 */ mflo $t8 +/* 9ae4: 0098c821 */ addu $t9,$a0,$t8 +/* 9ae8: 3c018006 */ lui $at,%hi(var8005d590) +/* 9aec: ac39d590 */ sw $t9,%lo(var8005d590)($at) +/* 9af0: 90680000 */ lbu $t0,0x0($v1) +/* 9af4: 3c018006 */ lui $at,%hi(g_ViData) +/* 9af8: 3c0b8009 */ lui $t3,%hi(g_Is4Mb) +/* 9afc: 01050019 */ multu $t0,$a1 +/* 9b00: 916b0af0 */ lbu $t3,%lo(g_Is4Mb)($t3) +/* 9b04: 240200dc */ addiu $v0,$zero,0xdc +/* 9b08: 00004812 */ mflo $t1 +/* 9b0c: 00895021 */ addu $t2,$a0,$t1 +/* 9b10: ac2ad594 */ sw $t2,%lo(g_ViData)($at) +/* 9b14: 3c018006 */ lui $at,%hi(var8005d588) +/* 9b18: ac20d588 */ sw $zero,%lo(var8005d588)($at) +/* 9b1c: 3c018006 */ lui $at,%hi(var8005d58c) +/* 9b20: ac20d58c */ sw $zero,%lo(var8005d58c)($at) +/* 9b24: 24010001 */ addiu $at,$zero,0x1 +/* 9b28: 15610007 */ bne $t3,$at,.L00009b48 +/* 9b2c: 00000000 */ nop +/* 9b30: a4820006 */ sh $v0,0x6($a0) +/* 9b34: a482001a */ sh $v0,0x1a($a0) +/* 9b38: a482001e */ sh $v0,0x1e($a0) +/* 9b3c: a4820032 */ sh $v0,0x32($a0) +/* 9b40: a4820046 */ sh $v0,0x46($a0) +/* 9b44: a482004a */ sh $v0,0x4a($a0) +.L00009b48: +/* 9b48: 03e00008 */ jr $ra +/* 9b4c: 00000000 */ nop +); +#endif + +GLOBAL_ASM( +glabel func00009b50 +/* 9b50: 3c03800a */ lui $v1,%hi(var8009cac0) +/* 9b54: 3c058006 */ lui $a1,%hi(var8005d530) +/* 9b58: 3c078006 */ lui $a3,%hi(var8005d588) +/* 9b5c: 24e7d588 */ addiu $a3,$a3,%lo(var8005d588) +/* 9b60: 24a5d530 */ addiu $a1,$a1,%lo(var8005d530) +/* 9b64: 2463cac0 */ addiu $v1,$v1,%lo(var8009cac0) +/* 9b68: 24060030 */ addiu $a2,$zero,0x30 +/* 9b6c: 24020240 */ addiu $v0,$zero,0x240 +.L00009b70: +/* 9b70: 24a5002c */ addiu $a1,$a1,0x2c +/* 9b74: 24630004 */ addiu $v1,$v1,0x4 +/* 9b78: ac64fffc */ sw $a0,-0x4($v1) +/* 9b7c: a4a2ffd8 */ sh $v0,-0x28($a1) +/* 9b80: a4a2ffec */ sh $v0,-0x14($a1) +/* 9b84: a4a2fff0 */ sh $v0,-0x10($a1) +/* 9b88: a4a6ffda */ sh $a2,-0x26($a1) +/* 9b8c: a4a6ffee */ sh $a2,-0x12($a1) +/* 9b90: 14a7fff7 */ bne $a1,$a3,.L00009b70 +/* 9b94: a4a6fff2 */ sh $a2,-0xe($a1) +/* 9b98: 3c0e8009 */ lui $t6,%hi(var80092874+0x2) +/* 9b9c: 91ce2876 */ lbu $t6,%lo(var80092874+0x2)($t6) +/* 9ba0: 3c02800a */ lui $v0,%hi(var8009cac0) +/* 9ba4: 2442cac0 */ addiu $v0,$v0,%lo(var8009cac0) +/* 9ba8: 000e7880 */ sll $t7,$t6,0x2 +/* 9bac: 004fc021 */ addu $t8,$v0,$t7 +/* 9bb0: 3c088006 */ lui $t0,%hi(var8005d590) +/* 9bb4: 8d08d590 */ lw $t0,%lo(var8005d590)($t0) +/* 9bb8: 8f190000 */ lw $t9,0x0($t8) +/* 9bbc: 3c098009 */ lui $t1,%hi(var80092874+0x3) +/* 9bc0: 3c0d8006 */ lui $t5,%hi(g_ViData) +/* 9bc4: ad190028 */ sw $t9,0x28($t0) +/* 9bc8: 91292877 */ lbu $t1,%lo(var80092874+0x3)($t1) +/* 9bcc: 8dadd594 */ lw $t5,%lo(g_ViData)($t5) +/* 9bd0: 240e0001 */ addiu $t6,$zero,0x1 +/* 9bd4: 00095080 */ sll $t2,$t1,0x2 +/* 9bd8: 004a5821 */ addu $t3,$v0,$t2 +/* 9bdc: 8d6c0000 */ lw $t4,0x0($t3) +/* 9be0: 3c018006 */ lui $at,%hi(var8005d59c) +/* 9be4: adac0028 */ sw $t4,0x28($t5) +/* 9be8: ac2ed59c */ sw $t6,%lo(var8005d59c)($at) +/* 9bec: 3c01800a */ lui $at,%hi(g_Vars+0x4e0) +/* 9bf0: 03e00008 */ jr $ra +/* 9bf4: a020a4a0 */ sb $zero,%lo(g_Vars+0x4e0)($at) +); + +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func00009bf8 +/* 9b00: 27bdffe8 */ addiu $sp,$sp,-24 +/* 9b04: 3c028006 */ lui $v0,0x8006 +/* 9b08: 3c058006 */ lui $a1,0x8006 +/* 9b0c: afbf0014 */ sw $ra,0x14($sp) +/* 9b10: 24a5d228 */ addiu $a1,$a1,-11736 +/* 9b14: 2442d1d0 */ addiu $v0,$v0,-11824 +/* 9b18: 240400dc */ li $a0,0xdc +/* 9b1c: 24030140 */ li $v1,0x140 +.PF00009b20: +/* 9b20: 2442002c */ addiu $v0,$v0,0x2c +/* 9b24: a443ffd8 */ sh $v1,-0x28($v0) +/* 9b28: a443ffec */ sh $v1,-0x14($v0) +/* 9b2c: a443fff0 */ sh $v1,-0x10($v0) +/* 9b30: a444ffda */ sh $a0,-0x26($v0) +/* 9b34: a444ffee */ sh $a0,-0x12($v0) +/* 9b38: 1445fff9 */ bne $v0,$a1,.PF00009b20 +/* 9b3c: a444fff2 */ sh $a0,-0xe($v0) +/* 9b40: 3c01800a */ lui $at,0x800a +/* 9b44: 0fc2f254 */ jal 0xf0bc950 +/* 9b48: a020a9f0 */ sb $zero,-0x5610($at) +/* 9b4c: 8fbf0014 */ lw $ra,0x14($sp) +/* 9b50: 27bd0018 */ addiu $sp,$sp,0x18 +/* 9b54: 03e00008 */ jr $ra +/* 9b58: 00000000 */ nop +); +#else +GLOBAL_ASM( +glabel func00009bf8 +/* 9bf8: 3c038006 */ lui $v1,%hi(var8005d530) +/* 9bfc: 3c058006 */ lui $a1,%hi(var8005d588) +/* 9c00: 24a5d588 */ addiu $a1,$a1,%lo(var8005d588) +/* 9c04: 2463d530 */ addiu $v1,$v1,%lo(var8005d530) +/* 9c08: 240400dc */ addiu $a0,$zero,0xdc +/* 9c0c: 24020140 */ addiu $v0,$zero,0x140 +.L00009c10: +/* 9c10: 2463002c */ addiu $v1,$v1,0x2c +/* 9c14: a462ffd8 */ sh $v0,-0x28($v1) +/* 9c18: a462ffec */ sh $v0,-0x14($v1) +/* 9c1c: a462fff0 */ sh $v0,-0x10($v1) +/* 9c20: a464ffda */ sh $a0,-0x26($v1) +/* 9c24: a464ffee */ sh $a0,-0x12($v1) +/* 9c28: 1465fff9 */ bne $v1,$a1,.L00009c10 +/* 9c2c: a464fff2 */ sh $a0,-0xe($v1) +/* 9c30: 3c01800a */ lui $at,%hi(g_Vars+0x4e0) +/* 9c34: 03e00008 */ jr $ra +/* 9c38: a020a4a0 */ sb $zero,%lo(g_Vars+0x4e0)($at) +); +#endif + +GLOBAL_ASM( +glabel func00009c3c +/* 9c3c: 3c05800a */ lui $a1,%hi(g_Vars) +/* 9c40: 24a59fc0 */ addiu $a1,$a1,%lo(g_Vars) +/* 9c44: 27bdffe0 */ addiu $sp,$sp,-32 +/* 9c48: 2401005a */ addiu $at,$zero,0x5a +/* 9c4c: afbf0014 */ sw $ra,0x14($sp) +/* 9c50: 10810003 */ beq $a0,$at,.L00009c60 +/* 9c54: a0a004e0 */ sb $zero,0x4e0($a1) +/* 9c58: 2401004e */ addiu $at,$zero,0x4e +/* 9c5c: 14810015 */ bne $a0,$at,.L00009cb4 +.L00009c60: +/* 9c60: 3c0e8009 */ lui $t6,%hi(g_Is4Mb) +/* 9c64: 91ce0af0 */ lbu $t6,%lo(g_Is4Mb)($t6) +/* 9c68: 24010001 */ addiu $at,$zero,0x1 +/* 9c6c: 15c10006 */ bne $t6,$at,.L00009c88 +/* 9c70: 00000000 */ nop +/* 9c74: 0c002aac */ jal func0000aab0 +/* 9c78: 24040002 */ addiu $a0,$zero,0x2 +/* 9c7c: 3c060008 */ lui $a2,0x8 +/* 9c80: 10000060 */ b .L00009e04 +/* 9c84: 34c69800 */ ori $a2,$a2,0x9800 +.L00009c88: +/* 9c88: 0c002aac */ jal func0000aab0 +/* 9c8c: 24040002 */ addiu $a0,$zero,0x2 +/* 9c90: 3c0f7005 */ lui $t7,%hi(var700526dc) +/* 9c94: 3c187005 */ lui $t8,%hi(var700526d4) +/* 9c98: 871826d4 */ lh $t8,%lo(var700526d4)($t8) +/* 9c9c: 85ef26dc */ lh $t7,%lo(var700526dc)($t7) +/* 9ca0: 01f80019 */ multu $t7,$t8 +/* 9ca4: 00003012 */ mflo $a2 +/* 9ca8: 0006c840 */ sll $t9,$a2,0x1 +/* 9cac: 10000055 */ b .L00009e04 +/* 9cb0: 03203025 */ or $a2,$t9,$zero +.L00009cb4: +/* 9cb4: 0c002aac */ jal func0000aab0 +/* 9cb8: 24040001 */ addiu $a0,$zero,0x1 +/* 9cbc: 3c028009 */ lui $v0,%hi(g_Is4Mb) +/* 9cc0: 90420af0 */ lbu $v0,%lo(g_Is4Mb)($v0) +/* 9cc4: 3c05800a */ lui $a1,%hi(g_Vars) +/* 9cc8: 24010001 */ addiu $at,$zero,0x1 +/* 9ccc: 14410004 */ bne $v0,$at,.L00009ce0 +/* 9cd0: 24a59fc0 */ addiu $a1,$a1,%lo(g_Vars) +/* 9cd4: 3c060002 */ lui $a2,0x2 +/* 9cd8: 10000003 */ b .L00009ce8 +/* 9cdc: 34c62600 */ ori $a2,$a2,0x2600 +.L00009ce0: +/* 9ce0: 3c060004 */ lui $a2,0x4 +/* 9ce4: 34c64c00 */ ori $a2,$a2,0x4c00 +.L00009ce8: +/* 9ce8: 24010001 */ addiu $at,$zero,0x1 +/* 9cec: 54410023 */ bnel $v0,$at,.L00009d7c +/* 9cf0: 8cb90298 */ lw $t9,0x298($a1) +/* 9cf4: 8ca9006c */ lw $t1,0x6c($a1) +/* 9cf8: 24010002 */ addiu $at,$zero,0x2 +/* 9cfc: 00003825 */ or $a3,$zero,$zero +/* 9d00: 11200003 */ beqz $t1,.L00009d10 +/* 9d04: 00002025 */ or $a0,$zero,$zero +/* 9d08: 10000001 */ b .L00009d10 +/* 9d0c: 24070001 */ addiu $a3,$zero,0x1 +.L00009d10: +/* 9d10: 8caa0068 */ lw $t2,0x68($a1) +/* 9d14: 00001825 */ or $v1,$zero,$zero +/* 9d18: 00001025 */ or $v0,$zero,$zero +/* 9d1c: 11400003 */ beqz $t2,.L00009d2c +/* 9d20: 24180001 */ addiu $t8,$zero,0x1 +/* 9d24: 10000001 */ b .L00009d2c +/* 9d28: 24040001 */ addiu $a0,$zero,0x1 +.L00009d2c: +/* 9d2c: 8cab0064 */ lw $t3,0x64($a1) +/* 9d30: 11600003 */ beqz $t3,.L00009d40 +/* 9d34: 00000000 */ nop +/* 9d38: 10000001 */ b .L00009d40 +/* 9d3c: 24030001 */ addiu $v1,$zero,0x1 +.L00009d40: +/* 9d40: 8cac0070 */ lw $t4,0x70($a1) +/* 9d44: 11800003 */ beqz $t4,.L00009d54 +/* 9d48: 00000000 */ nop +/* 9d4c: 10000001 */ b .L00009d54 +/* 9d50: 24020001 */ addiu $v0,$zero,0x1 +.L00009d54: +/* 9d54: 00436821 */ addu $t5,$v0,$v1 +/* 9d58: 01a47021 */ addu $t6,$t5,$a0 +/* 9d5c: 01c77821 */ addu $t7,$t6,$a3 +/* 9d60: 55e10006 */ bnel $t7,$at,.L00009d7c +/* 9d64: 8cb90298 */ lw $t9,0x298($a1) +/* 9d68: 3c060001 */ lui $a2,0x1 +/* 9d6c: 34c61300 */ ori $a2,$a2,0x1300 +/* 9d70: 10000024 */ b .L00009e04 +/* 9d74: a0b804e0 */ sb $t8,0x4e0($a1) +/* 9d78: 8cb90298 */ lw $t9,0x298($a1) +.L00009d7c: +/* 9d7c: 24010002 */ addiu $at,$zero,0x2 +/* 9d80: 07230005 */ bgezl $t9,.L00009d98 +/* 9d84: 8caa006c */ lw $t2,0x6c($a1) +/* 9d88: 8ca9029c */ lw $t1,0x29c($a1) +/* 9d8c: 0522001e */ bltzl $t1,.L00009e08 +/* 9d90: 00062040 */ sll $a0,$a2,0x1 +/* 9d94: 8caa006c */ lw $t2,0x6c($a1) +.L00009d98: +/* 9d98: 8ca20068 */ lw $v0,0x68($a1) +/* 9d9c: 8ca30064 */ lw $v1,0x64($a1) +/* 9da0: 11400003 */ beqz $t2,.L00009db0 +/* 9da4: 8ca80070 */ lw $t0,0x70($a1) +/* 9da8: 10000002 */ b .L00009db4 +/* 9dac: 24070001 */ addiu $a3,$zero,0x1 +.L00009db0: +/* 9db0: 00003825 */ or $a3,$zero,$zero +.L00009db4: +/* 9db4: 10400003 */ beqz $v0,.L00009dc4 +/* 9db8: 00002025 */ or $a0,$zero,$zero +/* 9dbc: 10000001 */ b .L00009dc4 +/* 9dc0: 24040001 */ addiu $a0,$zero,0x1 +.L00009dc4: +/* 9dc4: 10600003 */ beqz $v1,.L00009dd4 +/* 9dc8: 00001025 */ or $v0,$zero,$zero +/* 9dcc: 10000002 */ b .L00009dd8 +/* 9dd0: 24030001 */ addiu $v1,$zero,0x1 +.L00009dd4: +/* 9dd4: 00001825 */ or $v1,$zero,$zero +.L00009dd8: +/* 9dd8: 11000003 */ beqz $t0,.L00009de8 +/* 9ddc: 00000000 */ nop +/* 9de0: 10000001 */ b .L00009de8 +/* 9de4: 24020001 */ addiu $v0,$zero,0x1 +.L00009de8: +/* 9de8: 00435821 */ addu $t3,$v0,$v1 +/* 9dec: 01646021 */ addu $t4,$t3,$a0 +/* 9df0: 01876821 */ addu $t5,$t4,$a3 +/* 9df4: 55a10004 */ bnel $t5,$at,.L00009e08 +/* 9df8: 00062040 */ sll $a0,$a2,0x1 +/* 9dfc: 3c060002 */ lui $a2,0x2 +/* 9e00: 34c62600 */ ori $a2,$a2,0x2600 +.L00009e04: +/* 9e04: 00062040 */ sll $a0,$a2,0x1 +.L00009e08: +/* 9e08: 24840040 */ addiu $a0,$a0,0x40 +/* 9e0c: 24050004 */ addiu $a1,$zero,0x4 +/* 9e10: 0c0048f2 */ jal malloc +/* 9e14: afa60018 */ sw $a2,0x18($sp) +/* 9e18: 8fa60018 */ lw $a2,0x18($sp) +/* 9e1c: 3c04800a */ lui $a0,%hi(var8009cac0) +/* 9e20: 2445003f */ addiu $a1,$v0,0x3f +/* 9e24: 2401ffc0 */ addiu $at,$zero,-64 +/* 9e28: 2484cac0 */ addiu $a0,$a0,%lo(var8009cac0) +/* 9e2c: 00a17024 */ and $t6,$a1,$at +/* 9e30: 00ce7821 */ addu $t7,$a2,$t6 +/* 9e34: ac8e0000 */ sw $t6,0x0($a0) +/* 9e38: ac8f0004 */ sw $t7,0x4($a0) +/* 9e3c: 3c188009 */ lui $t8,%hi(var80092874+0x2) +/* 9e40: 93182876 */ lbu $t8,%lo(var80092874+0x2)($t8) +/* 9e44: 3c0b8006 */ lui $t3,%hi(var8005d590) +/* 9e48: 8d6bd590 */ lw $t3,%lo(var8005d590)($t3) +/* 9e4c: 0018c880 */ sll $t9,$t8,0x2 +/* 9e50: 00994821 */ addu $t1,$a0,$t9 +/* 9e54: 8d2a0000 */ lw $t2,0x0($t1) +/* 9e58: 3c0c8009 */ lui $t4,%hi(var80092874+0x3) +/* 9e5c: 3c188006 */ lui $t8,%hi(g_ViData) +/* 9e60: ad6a0028 */ sw $t2,0x28($t3) +/* 9e64: 918c2877 */ lbu $t4,%lo(var80092874+0x3)($t4) +/* 9e68: 8f18d594 */ lw $t8,%lo(g_ViData)($t8) +/* 9e6c: 00001825 */ or $v1,$zero,$zero +/* 9e70: 000c6880 */ sll $t5,$t4,0x2 +/* 9e74: 008d7021 */ addu $t6,$a0,$t5 +/* 9e78: 8dcf0000 */ lw $t7,0x0($t6) +/* 9e7c: 24190001 */ addiu $t9,$zero,0x1 +/* 9e80: af0f0028 */ sw $t7,0x28($t8) +/* 9e84: 8c870000 */ lw $a3,0x0($a0) +/* 9e88: 18c00009 */ blez $a2,.L00009eb0 +/* 9e8c: 8c880004 */ lw $t0,0x4($a0) +/* 9e90: 00e01025 */ or $v0,$a3,$zero +/* 9e94: 01002025 */ or $a0,$t0,$zero +.L00009e98: +/* 9e98: 24630001 */ addiu $v1,$v1,0x1 +/* 9e9c: a0400000 */ sb $zero,0x0($v0) +/* 9ea0: 24420001 */ addiu $v0,$v0,0x1 +/* 9ea4: 24840001 */ addiu $a0,$a0,0x1 +/* 9ea8: 1466fffb */ bne $v1,$a2,.L00009e98 +/* 9eac: a080ffff */ sb $zero,-0x1($a0) +.L00009eb0: +/* 9eb0: 8fbf0014 */ lw $ra,0x14($sp) +/* 9eb4: 3c018006 */ lui $at,%hi(var8005d59c) +/* 9eb8: ac39d59c */ sw $t9,%lo(var8005d59c)($at) +/* 9ebc: 03e00008 */ jr $ra +/* 9ec0: 27bd0020 */ addiu $sp,$sp,0x20 +); + +void func00009ec4(s32 arg0) +{ + arg0 += 2; + var8005ce90 = arg0; +} + +GLOBAL_ASM( +glabel func00009ed4 +/* 9ed4: 3c038006 */ lui $v1,%hi(var8005ce9c) +/* 9ed8: 2463ce9c */ addiu $v1,$v1,%lo(var8005ce9c) +/* 9edc: 8c620000 */ lw $v0,0x0($v1) +/* 9ee0: 27bdffe0 */ addiu $sp,$sp,-32 +/* 9ee4: afbf0014 */ sw $ra,0x14($sp) +/* 9ee8: 10400006 */ beqz $v0,.L00009f04 +/* 9eec: 3c188006 */ lui $t8,%hi(var8005ce98) +/* 9ef0: 244effff */ addiu $t6,$v0,-1 +/* 9ef4: 15c00003 */ bnez $t6,.L00009f04 +/* 9ef8: ac6e0000 */ sw $t6,0x0($v1) +/* 9efc: 3c018006 */ lui $at,%hi(var8005ce98) +/* 9f00: ac20ce98 */ sw $zero,%lo(var8005ce98)($at) +.L00009f04: +/* 9f04: 3c038006 */ lui $v1,%hi(var8005ce94) +/* 9f08: 2463ce94 */ addiu $v1,$v1,%lo(var8005ce94) +/* 9f0c: 8c620000 */ lw $v0,0x0($v1) +/* 9f10: 8f18ce98 */ lw $t8,%lo(var8005ce98)($t8) +/* 9f14: 24040001 */ addiu $a0,$zero,0x1 +/* 9f18: 0002c823 */ negu $t9,$v0 +/* 9f1c: 00580019 */ multu $v0,$t8 +/* 9f20: ac790000 */ sw $t9,0x0($v1) +/* 9f24: 00002812 */ mflo $a1 +/* 9f28: afa50018 */ sw $a1,0x18($sp) +/* 9f2c: 0c012194 */ jal osSetIntMask +/* 9f30: 00000000 */ nop +/* 9f34: 3c078006 */ lui $a3,%hi(var8005ce74) +/* 9f38: 3c038009 */ lui $v1,%hi(var8008de0c) +/* 9f3c: 8c6dde0c */ lw $t5,%lo(var8008de0c)($v1) +/* 9f40: 24e7ce74 */ addiu $a3,$a3,%lo(var8005ce74) +/* 9f44: 8fa50018 */ lw $a1,0x18($sp) +/* 9f48: 8cf90000 */ lw $t9,0x0($a3) +/* 9f4c: 000d4c03 */ sra $t1,$t5,0x10 +/* 9f50: 3c068009 */ lui $a2,%hi(var8008dd60+0x4) +/* 9f54: 01255821 */ addu $t3,$t1,$a1 +/* 9f58: 00194080 */ sll $t0,$t9,0x2 +/* 9f5c: 24c6dd64 */ addiu $a2,$a2,%lo(var8008dd60+0x4) +/* 9f60: 00084823 */ negu $t1,$t0 +/* 9f64: 00c95021 */ addu $t2,$a2,$t1 +/* 9f68: 000b6400 */ sll $t4,$t3,0x10 +/* 9f6c: 8d4b0000 */ lw $t3,0x0($t2) +/* 9f70: 01a57021 */ addu $t6,$t5,$a1 +/* 9f74: 31cfffff */ andi $t7,$t6,0xffff +/* 9f78: 018fc025 */ or $t8,$t4,$t7 +/* 9f7c: 3c038009 */ lui $v1,%hi(var8008de10) +/* 9f80: ad780030 */ sw $t8,0x30($t3) +/* 9f84: 8c68de10 */ lw $t0,%lo(var8008de10)($v1) +/* 9f88: 8ceb0000 */ lw $t3,0x0($a3) +/* 9f8c: 00402025 */ or $a0,$v0,$zero +/* 9f90: 00087403 */ sra $t6,$t0,0x10 +/* 9f94: 01c57821 */ addu $t7,$t6,$a1 +/* 9f98: 000b6880 */ sll $t5,$t3,0x2 +/* 9f9c: 000d7023 */ negu $t6,$t5 +/* 9fa0: 00ce6021 */ addu $t4,$a2,$t6 +/* 9fa4: 000fcc00 */ sll $t9,$t7,0x10 +/* 9fa8: 01054821 */ addu $t1,$t0,$a1 +/* 9fac: 8d8f0000 */ lw $t7,0x0($t4) +/* 9fb0: 312affff */ andi $t2,$t1,0xffff +/* 9fb4: 032ac025 */ or $t8,$t9,$t2 +/* 9fb8: 0c012194 */ jal osSetIntMask +/* 9fbc: adf80044 */ sw $t8,0x44($t7) +/* 9fc0: 3c088006 */ lui $t0,%hi(var8005ce74) +/* 9fc4: 8d08ce74 */ lw $t0,%lo(var8005ce74)($t0) +/* 9fc8: 3c048009 */ lui $a0,%hi(var8008dd60+0x4) +/* 9fcc: 00084880 */ sll $t1,$t0,0x2 +/* 9fd0: 0009c823 */ negu $t9,$t1 +/* 9fd4: 00992021 */ addu $a0,$a0,$t9 +/* 9fd8: 0c012354 */ jal osViSetMode +/* 9fdc: 8c84dd64 */ lw $a0,%lo(var8008dd60+0x4)($a0) +/* 9fe0: 3c048006 */ lui $a0,%hi(var8005ce90+0x3) +/* 9fe4: 0c012338 */ jal osViBlack +/* 9fe8: 9084ce93 */ lbu $a0,%lo(var8005ce90+0x3)($a0) +/* 9fec: 3c0a8006 */ lui $t2,%hi(var8005ce74) +/* 9ff0: 8d4ace74 */ lw $t2,%lo(var8005ce74)($t2) +/* 9ff4: 3c018006 */ lui $at,%hi(var8005ce78+0x4) +/* 9ff8: 000a5880 */ sll $t3,$t2,0x2 +/* 9ffc: 000b6823 */ negu $t5,$t3 +/* a000: 002d0821 */ addu $at,$at,$t5 +/* a004: 0c012370 */ jal osViSetXScale +/* a008: c42cce7c */ lwc1 $f12,%lo(var8005ce78+0x4)($at) +/* a00c: 3c0e8006 */ lui $t6,%hi(var8005ce74) +/* a010: 8dcece74 */ lw $t6,%lo(var8005ce74)($t6) +/* a014: 3c018006 */ lui $at,%hi(var8005ce80+0x4) +/* a018: 000e6080 */ sll $t4,$t6,0x2 +/* a01c: 000cc023 */ negu $t8,$t4 +/* a020: 00380821 */ addu $at,$at,$t8 +/* a024: 0c0123bc */ jal osViSetYScale +/* a028: c42cce84 */ lwc1 $f12,%lo(var8005ce80+0x4)($at) +/* a02c: 0c0123d4 */ jal osViSetSpecialFeatures +/* a030: 24040042 */ addiu $a0,$zero,0x42 +/* a034: 8fbf0014 */ lw $ra,0x14($sp) +/* a038: 27bd0020 */ addiu $sp,$sp,0x20 +/* a03c: 03e00008 */ jr $ra +/* a040: 00000000 */ nop +); + +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0000a044 +/* 9f64: 3c098006 */ lui $t1,0x8006 +/* 9f68: 3c0e8006 */ lui $t6,0x8006 +/* 9f6c: 8dced230 */ lw $t6,-0x2dd0($t6) +/* 9f70: 8d29d234 */ lw $t1,-0x2dcc($t1) +/* 9f74: 27bdffe8 */ addiu $sp,$sp,-24 +/* 9f78: afbf0014 */ sw $ra,0x14($sp) +/* 9f7c: 91cf0000 */ lbu $t7,0x0($t6) +/* 9f80: 91220000 */ lbu $v0,0x0($t1) +/* 9f84: 504f0014 */ beql $v0,$t7,.PF00009fd8 +/* 9f88: 85380004 */ lh $t8,0x4($t1) +/* 9f8c: 10400008 */ beqz $v0,.PF00009fb0 +/* 9f90: 00401825 */ move $v1,$v0 +/* 9f94: 241f0001 */ li $ra,0x1 +/* 9f98: 105f000e */ beq $v0,$ra,.PF00009fd4 +/* 9f9c: 24010002 */ li $at,0x2 +/* 9fa0: 5061000d */ beql $v1,$at,.PF00009fd8 +/* 9fa4: 85380004 */ lh $t8,0x4($t1) +/* 9fa8: 1000000b */ b .PF00009fd8 +/* 9fac: 85380004 */ lh $t8,0x4($t1) +.PF00009fb0: +/* 9fb0: 3c013f80 */ lui $at,0x3f80 +/* 9fb4: 44816000 */ mtc1 $at,$f12 +/* 9fb8: 0c0121fc */ jal 0x487f0 +/* 9fbc: 00000000 */ nop +/* 9fc0: 0c012178 */ jal 0x485e0 +/* 9fc4: 24040001 */ li $a0,0x1 +/* 9fc8: 3c098006 */ lui $t1,0x8006 +/* 9fcc: 8d29d234 */ lw $t1,-0x2dcc($t1) +/* 9fd0: 91220000 */ lbu $v0,0x0($t1) +.PF00009fd4: +/* 9fd4: 85380004 */ lh $t8,0x4($t1) +.PF00009fd8: +/* 9fd8: 85390018 */ lh $t9,0x18($t1) +/* 9fdc: 852e0006 */ lh $t6,0x6($t1) +/* 9fe0: 44982000 */ mtc1 $t8,$f4 +/* 9fe4: 852f001a */ lh $t7,0x1a($t1) +/* 9fe8: 44994000 */ mtc1 $t9,$f8 +/* 9fec: 468021a0 */ cvt.s.w $f6,$f4 +/* 9ff0: 448e8000 */ mtc1 $t6,$f16 +/* 9ff4: 448f2000 */ mtc1 $t7,$f4 +/* 9ff8: 3c0d8009 */ lui $t5,0x8009 +/* 9ffc: 241f0001 */ li $ra,0x1 +/* a000: 468042a0 */ cvt.s.w $f10,$f8 +/* a004: 3c0c8006 */ lui $t4,0x8006 +/* a008: 3c013f80 */ lui $at,0x3f80 +/* a00c: 25ade35c */ addiu $t5,$t5,-7332 +/* a010: 468084a0 */ cvt.s.w $f18,$f16 +/* a014: 46802220 */ cvt.s.w $f8,$f4 +/* a018: 460a3083 */ div.s $f2,$f6,$f10 +/* a01c: 14400003 */ bnez $v0,.PF0000a02c +/* a020: 46089003 */ div.s $f0,$f18,$f8 +/* a024: 44810000 */ mtc1 $at,$f0 +/* a028: 00000000 */ nop +.PF0000a02c: +/* a02c: 8d8cd240 */ lw $t4,-0x2dc0($t4) +/* a030: 3c018006 */ lui $at,0x8006 +/* a034: 000c5880 */ sll $t3,$t4,0x2 +/* a038: 002b0821 */ addu $at,$at,$t3 +/* a03c: e422cb28 */ swc1 $f2,-0x34d8($at) +/* a040: 3c018006 */ lui $at,0x8006 +/* a044: 002b0821 */ addu $at,$at,$t3 +/* a048: e420cb30 */ swc1 $f0,-0x34d0($at) +/* a04c: 91220000 */ lbu $v0,0x0($t1) +/* a050: 57e200a3 */ bnel $ra,$v0,.PF0000a2e0 +/* a054: 24010002 */ li $at,0x2 +/* a058: 3c0a8006 */ lui $t2,0x8006 +/* a05c: 8d4ad238 */ lw $t2,-0x2dc8($t2) +/* a060: 3c1f8009 */ lui $ra,0x8009 +/* a064: 000c7880 */ sll $t7,$t4,0x2 +/* a068: 11400019 */ beqz $t2,.PF0000a0d0 +/* a06c: 27ffe360 */ addiu $ra,$ra,-7328 +/* a070: 000cc080 */ sll $t8,$t4,0x2 +/* a074: 030cc021 */ addu $t8,$t8,$t4 +/* a078: 3c198009 */ lui $t9,0x8009 +/* a07c: 2739e210 */ addiu $t9,$t9,-7664 +/* a080: 0018c100 */ sll $t8,$t8,0x4 +/* a084: 03191021 */ addu $v0,$t8,$t9 +/* a088: 3c0e8006 */ lui $t6,0x8006 +/* a08c: 25cef8c0 */ addiu $t6,$t6,-1856 +/* a090: 25d80048 */ addiu $t8,$t6,0x48 +/* a094: 0040c825 */ move $t9,$v0 +.PF0000a098: +/* a098: 8dc10000 */ lw $at,0x0($t6) +/* a09c: 25ce000c */ addiu $t6,$t6,0xc +/* a0a0: 2739000c */ addiu $t9,$t9,0xc +/* a0a4: af21fff4 */ sw $at,-0xc($t9) +/* a0a8: 8dc1fff8 */ lw $at,-0x8($t6) +/* a0ac: af21fff8 */ sw $at,-0x8($t9) +/* a0b0: 8dc1fffc */ lw $at,-0x4($t6) +/* a0b4: 15d8fff8 */ bne $t6,$t8,.PF0000a098 +/* a0b8: af21fffc */ sw $at,-0x4($t9) +/* a0bc: 8dc10000 */ lw $at,0x0($t6) +/* a0c0: af210000 */ sw $at,0x0($t9) +/* a0c4: 8dd80004 */ lw $t8,0x4($t6) +/* a0c8: 10000017 */ b .PF0000a128 +/* a0cc: af380004 */ sw $t8,0x4($t9) +.PF0000a0d0: +/* a0d0: 01ec7821 */ addu $t7,$t7,$t4 +/* a0d4: 3c188009 */ lui $t8,0x8009 +/* a0d8: 2718e210 */ addiu $t8,$t8,-7664 +/* a0dc: 000f7900 */ sll $t7,$t7,0x4 +/* a0e0: 01f81021 */ addu $v0,$t7,$t8 +/* a0e4: 3c0e8006 */ lui $t6,0x8006 +/* a0e8: 25cefa00 */ addiu $t6,$t6,-1536 +/* a0ec: 25cf0048 */ addiu $t7,$t6,0x48 +/* a0f0: 0040c025 */ move $t8,$v0 +.PF0000a0f4: +/* a0f4: 8dc10000 */ lw $at,0x0($t6) +/* a0f8: 25ce000c */ addiu $t6,$t6,0xc +/* a0fc: 2718000c */ addiu $t8,$t8,0xc +/* a100: af01fff4 */ sw $at,-0xc($t8) +/* a104: 8dc1fff8 */ lw $at,-0x8($t6) +/* a108: af01fff8 */ sw $at,-0x8($t8) +/* a10c: 8dc1fffc */ lw $at,-0x4($t6) +/* a110: 15cffff8 */ bne $t6,$t7,.PF0000a0f4 +/* a114: af01fffc */ sw $at,-0x4($t8) +/* a118: 8dc10000 */ lw $at,0x0($t6) +/* a11c: af010000 */ sw $at,0x0($t8) +/* a120: 8dcf0004 */ lw $t7,0x4($t6) +/* a124: af0f0004 */ sw $t7,0x4($t8) +.PF0000a128: +/* a128: 85390018 */ lh $t9,0x18($t1) +/* a12c: 24010280 */ li $at,0x280 +/* a130: 24080400 */ li $t0,0x400 +/* a134: ac590008 */ sw $t9,0x8($v0) +/* a138: 852f0018 */ lh $t7,0x18($t1) +/* a13c: 8c44001c */ lw $a0,0x1c($v0) +/* a140: 3c078006 */ lui $a3,0x8006 +/* a144: 000f7280 */ sll $t6,$t7,0xa +/* a148: 01c1001a */ div $zero,$t6,$at +/* a14c: 0000c012 */ mflo $t8 +/* a150: ac580020 */ sw $t8,0x20($v0) +/* a154: 85390018 */ lh $t9,0x18($t1) +/* a158: 3406ffff */ li $a2,0xffff +/* a15c: 00197840 */ sll $t7,$t9,0x1 +/* a160: ac4f0028 */ sw $t7,0x28($v0) +/* a164: 852e0018 */ lh $t6,0x18($t1) +/* a168: ac48002c */ sw $t0,0x2c($v0) +/* a16c: ac480040 */ sw $t0,0x40($v0) +/* a170: 000ec040 */ sll $t8,$t6,0x1 +/* a174: ac58003c */ sw $t8,0x3c($v0) +/* a178: 8ce7d228 */ lw $a3,-0x2dd8($a3) +/* a17c: 0004cc03 */ sra $t9,$a0,0x10 +/* a180: 332fffff */ andi $t7,$t9,0xffff +/* a184: 01e77021 */ addu $t6,$t7,$a3 +/* a188: 01c6001a */ div $zero,$t6,$a2 +/* a18c: 14c00002 */ bnez $a2,.PF0000a198 +/* a190: 00000000 */ nop +/* a194: 0007000d */ break 0x7 +.PF0000a198: +/* a198: 2401ffff */ li $at,-1 +/* a19c: 14c10004 */ bne $a2,$at,.PF0000a1b0 +/* a1a0: 3c018000 */ lui $at,0x8000 +/* a1a4: 15c10002 */ bne $t6,$at,.PF0000a1b0 +/* a1a8: 00000000 */ nop +/* a1ac: 0006000d */ break 0x6 +.PF0000a1b0: +/* a1b0: 308fffff */ andi $t7,$a0,0xffff +/* a1b4: 0000c010 */ mfhi $t8 +/* a1b8: 01e77021 */ addu $t6,$t7,$a3 +/* a1bc: 0018cc00 */ sll $t9,$t8,0x10 +/* a1c0: 01c6001a */ div $zero,$t6,$a2 +/* a1c4: 14c00002 */ bnez $a2,.PF0000a1d0 +/* a1c8: 00000000 */ nop +/* a1cc: 0007000d */ break 0x7 +.PF0000a1d0: +/* a1d0: 2401ffff */ li $at,-1 +/* a1d4: 14c10004 */ bne $a2,$at,.PF0000a1e8 +/* a1d8: 3c018000 */ lui $at,0x8000 +/* a1dc: 15c10002 */ bne $t6,$at,.PF0000a1e8 +/* a1e0: 00000000 */ nop +/* a1e4: 0006000d */ break 0x6 +.PF0000a1e8: +/* a1e8: 0000c010 */ mfhi $t8 +/* a1ec: 03381825 */ or $v1,$t9,$t8 +/* a1f0: ac43001c */ sw $v1,0x1c($v0) +/* a1f4: 3c018009 */ lui $at,0x8009 +/* a1f8: ac23e358 */ sw $v1,-0x1ca8($at) +/* a1fc: 8525001a */ lh $a1,0x1a($t1) +/* a200: 24180140 */ li $t8,0x140 +/* a204: 3c048006 */ lui $a0,0x8006 +/* a208: 00057a80 */ sll $t7,$a1,0xa +/* a20c: 000f7282 */ srl $t6,$t7,0xa +/* a210: 29c1012d */ slti $at,$t6,0x12d +/* a214: 14200002 */ bnez $at,.PF0000a220 +/* a218: 01c02825 */ move $a1,$t6 +/* a21c: 000e2843 */ sra $a1,$t6,0x1 +.PF0000a220: +/* a220: 03053823 */ subu $a3,$t8,$a1 +/* a224: 24ef0002 */ addiu $t7,$a3,0x2 +/* a228: 24b9fffe */ addiu $t9,$a1,-2 +/* a22c: 0019c040 */ sll $t8,$t9,0x1 +/* a230: 000f7400 */ sll $t6,$t7,0x10 +/* a234: 00f87821 */ addu $t7,$a3,$t8 +/* a238: 25f90002 */ addiu $t9,$t7,0x2 +/* a23c: 8c84d22c */ lw $a0,-0x2dd4($a0) +/* a240: 01d94025 */ or $t0,$t6,$t9 +/* a244: 0008c403 */ sra $t8,$t0,0x10 +/* a248: 330fffff */ andi $t7,$t8,0xffff +/* a24c: 01e47021 */ addu $t6,$t7,$a0 +/* a250: 01c6001a */ div $zero,$t6,$a2 +/* a254: 14c00002 */ bnez $a2,.PF0000a260 +/* a258: 00000000 */ nop +/* a25c: 0007000d */ break 0x7 +.PF0000a260: +/* a260: 2401ffff */ li $at,-1 +/* a264: 14c10004 */ bne $a2,$at,.PF0000a278 +/* a268: 3c018000 */ lui $at,0x8000 +/* a26c: 15c10002 */ bne $t6,$at,.PF0000a278 +/* a270: 00000000 */ nop +/* a274: 0006000d */ break 0x6 +.PF0000a278: +/* a278: 310fffff */ andi $t7,$t0,0xffff +/* a27c: 01e47021 */ addu $t6,$t7,$a0 +/* a280: 0000c810 */ mfhi $t9 +/* a284: 0019c400 */ sll $t8,$t9,0x10 +/* a288: 240f0001 */ li $t7,0x1 +/* a28c: 01c6001a */ div $zero,$t6,$a2 +/* a290: 14c00002 */ bnez $a2,.PF0000a29c +/* a294: 00000000 */ nop +/* a298: 0007000d */ break 0x7 +.PF0000a29c: +/* a29c: 2401ffff */ li $at,-1 +/* a2a0: 14c10004 */ bne $a2,$at,.PF0000a2b4 +/* a2a4: 3c018000 */ lui $at,0x8000 +/* a2a8: 15c10002 */ bne $t6,$at,.PF0000a2b4 +/* a2ac: 00000000 */ nop +/* a2b0: 0006000d */ break 0x6 +.PF0000a2b4: +/* a2b4: 0000c810 */ mfhi $t9 +/* a2b8: 03191825 */ or $v1,$t8,$t9 +/* a2bc: 3c018006 */ lui $at,0x8006 +/* a2c0: ac430030 */ sw $v1,0x30($v0) +/* a2c4: ada30000 */ sw $v1,0x0($t5) +/* a2c8: ac430044 */ sw $v1,0x44($v0) +/* a2cc: afe30000 */ sw $v1,0x0($ra) +/* a2d0: 002b0821 */ addu $at,$at,$t3 +/* a2d4: 100000dd */ b .PF0000a64c +/* a2d8: ac2fcb38 */ sw $t7,-0x34c8($at) +/* a2dc: 24010002 */ li $at,0x2 +.PF0000a2e0: +/* a2e0: 144100d5 */ bne $v0,$at,.PF0000a638 +/* a2e4: 000c7080 */ sll $t6,$t4,0x2 +/* a2e8: 01cc7021 */ addu $t6,$t6,$t4 +/* a2ec: 3c188009 */ lui $t8,0x8009 +/* a2f0: 2718e210 */ addiu $t8,$t8,-7664 +/* a2f4: 000e7100 */ sll $t6,$t6,0x4 +/* a2f8: 01d81021 */ addu $v0,$t6,$t8 +/* a2fc: 3c198006 */ lui $t9,0x8006 +/* a300: 3c0d8009 */ lui $t5,0x8009 +/* a304: 2739fb90 */ addiu $t9,$t9,-1136 +/* a308: 25ade35c */ addiu $t5,$t5,-7332 +/* a30c: 3406ffff */ li $a2,0xffff +/* a310: 24080800 */ li $t0,0x800 +/* a314: 272e0048 */ addiu $t6,$t9,0x48 +/* a318: 0040c025 */ move $t8,$v0 +.PF0000a31c: +/* a31c: 8f210000 */ lw $at,0x0($t9) +/* a320: 2739000c */ addiu $t9,$t9,0xc +/* a324: 2718000c */ addiu $t8,$t8,0xc +/* a328: af01fff4 */ sw $at,-0xc($t8) +/* a32c: 8f21fff8 */ lw $at,-0x8($t9) +/* a330: af01fff8 */ sw $at,-0x8($t8) +/* a334: 8f21fffc */ lw $at,-0x4($t9) +/* a338: 172efff8 */ bne $t9,$t6,.PF0000a31c +/* a33c: af01fffc */ sw $at,-0x4($t8) +/* a340: 8f210000 */ lw $at,0x0($t9) +/* a344: 3c078006 */ lui $a3,0x8006 +/* a348: 3c048006 */ lui $a0,0x8006 +/* a34c: af010000 */ sw $at,0x0($t8) +/* a350: 8f2e0004 */ lw $t6,0x4($t9) +/* a354: 24010280 */ li $at,0x280 +/* a358: 3c1f8009 */ lui $ra,0x8009 +/* a35c: af0e0004 */ sw $t6,0x4($t8) +/* a360: 852f0018 */ lh $t7,0x18($t1) +/* a364: 8c45001c */ lw $a1,0x1c($v0) +/* a368: 27ffe360 */ addiu $ra,$ra,-7328 +/* a36c: ac4f0008 */ sw $t7,0x8($v0) +/* a370: 852e0018 */ lh $t6,0x18($t1) +/* a374: ac48002c */ sw $t0,0x2c($v0) +/* a378: ac480040 */ sw $t0,0x40($v0) +/* a37c: 000eca80 */ sll $t9,$t6,0xa +/* a380: 0321001a */ div $zero,$t9,$at +/* a384: 0000c012 */ mflo $t8 +/* a388: ac580020 */ sw $t8,0x20($v0) +/* a38c: 852f0018 */ lh $t7,0x18($t1) +/* a390: 3c0a8006 */ lui $t2,0x8006 +/* a394: 000f7040 */ sll $t6,$t7,0x1 +/* a398: ac4e0028 */ sw $t6,0x28($v0) +/* a39c: 85390018 */ lh $t9,0x18($t1) +/* a3a0: 00057c03 */ sra $t7,$a1,0x10 +/* a3a4: 31eeffff */ andi $t6,$t7,0xffff +/* a3a8: 0019c080 */ sll $t8,$t9,0x2 +/* a3ac: ac58003c */ sw $t8,0x3c($v0) +/* a3b0: 8ce7d228 */ lw $a3,-0x2dd8($a3) +/* a3b4: 01c7c821 */ addu $t9,$t6,$a3 +/* a3b8: 0326001a */ div $zero,$t9,$a2 +/* a3bc: 14c00002 */ bnez $a2,.PF0000a3c8 +/* a3c0: 00000000 */ nop +/* a3c4: 0007000d */ break 0x7 +.PF0000a3c8: +/* a3c8: 2401ffff */ li $at,-1 +/* a3cc: 14c10004 */ bne $a2,$at,.PF0000a3e0 +/* a3d0: 3c018000 */ lui $at,0x8000 +/* a3d4: 17210002 */ bne $t9,$at,.PF0000a3e0 +/* a3d8: 00000000 */ nop +/* a3dc: 0006000d */ break 0x6 +.PF0000a3e0: +/* a3e0: 30aeffff */ andi $t6,$a1,0xffff +/* a3e4: 0000c010 */ mfhi $t8 +/* a3e8: 01c7c821 */ addu $t9,$t6,$a3 +/* a3ec: 00187c00 */ sll $t7,$t8,0x10 +/* a3f0: 0326001a */ div $zero,$t9,$a2 +/* a3f4: 14c00002 */ bnez $a2,.PF0000a400 +/* a3f8: 00000000 */ nop +/* a3fc: 0007000d */ break 0x7 +.PF0000a400: +/* a400: 2401ffff */ li $at,-1 +/* a404: 14c10004 */ bne $a2,$at,.PF0000a418 +/* a408: 3c018000 */ lui $at,0x8000 +/* a40c: 17210002 */ bne $t9,$at,.PF0000a418 +/* a410: 00000000 */ nop +/* a414: 0006000d */ break 0x6 +.PF0000a418: +/* a418: 0000c010 */ mfhi $t8 +/* a41c: 01f81825 */ or $v1,$t7,$t8 +/* a420: ac43001c */ sw $v1,0x1c($v0) +/* a424: 3c018009 */ lui $at,0x8009 +/* a428: ac23e358 */ sw $v1,-0x1ca8($at) +/* a42c: 8c450030 */ lw $a1,0x30($v0) +/* a430: 8c84d22c */ lw $a0,-0x2dd4($a0) +/* a434: 00057403 */ sra $t6,$a1,0x10 +/* a438: 31d9ffff */ andi $t9,$t6,0xffff +/* a43c: 03247821 */ addu $t7,$t9,$a0 +/* a440: 01e6001a */ div $zero,$t7,$a2 +/* a444: 14c00002 */ bnez $a2,.PF0000a450 +/* a448: 00000000 */ nop +/* a44c: 0007000d */ break 0x7 +.PF0000a450: +/* a450: 2401ffff */ li $at,-1 +/* a454: 14c10004 */ bne $a2,$at,.PF0000a468 +/* a458: 3c018000 */ lui $at,0x8000 +/* a45c: 15e10002 */ bne $t7,$at,.PF0000a468 +/* a460: 00000000 */ nop +/* a464: 0006000d */ break 0x6 +.PF0000a468: +/* a468: 30b9ffff */ andi $t9,$a1,0xffff +/* a46c: 03247821 */ addu $t7,$t9,$a0 +/* a470: 0000c010 */ mfhi $t8 +/* a474: 8c450044 */ lw $a1,0x44($v0) +/* a478: 00187400 */ sll $t6,$t8,0x10 +/* a47c: 01e6001a */ div $zero,$t7,$a2 +/* a480: 14c00002 */ bnez $a2,.PF0000a48c +/* a484: 00000000 */ nop +/* a488: 0007000d */ break 0x7 +.PF0000a48c: +/* a48c: 2401ffff */ li $at,-1 +/* a490: 14c10004 */ bne $a2,$at,.PF0000a4a4 +/* a494: 3c018000 */ lui $at,0x8000 +/* a498: 15e10002 */ bne $t7,$at,.PF0000a4a4 +/* a49c: 00000000 */ nop +/* a4a0: 0006000d */ break 0x6 +.PF0000a4a4: +/* a4a4: 0000c010 */ mfhi $t8 +/* a4a8: 0005cc03 */ sra $t9,$a1,0x10 +/* a4ac: 01d81825 */ or $v1,$t6,$t8 +/* a4b0: 332fffff */ andi $t7,$t9,0xffff +/* a4b4: 01e47021 */ addu $t6,$t7,$a0 +/* a4b8: 01c6001a */ div $zero,$t6,$a2 +/* a4bc: 30afffff */ andi $t7,$a1,0xffff +/* a4c0: 0000c010 */ mfhi $t8 +/* a4c4: 0018cc00 */ sll $t9,$t8,0x10 +/* a4c8: ac430030 */ sw $v1,0x30($v0) +/* a4cc: ada30000 */ sw $v1,0x0($t5) +/* a4d0: 14c00002 */ bnez $a2,.PF0000a4dc +/* a4d4: 00000000 */ nop +/* a4d8: 0007000d */ break 0x7 +.PF0000a4dc: +/* a4dc: 2401ffff */ li $at,-1 +/* a4e0: 14c10004 */ bne $a2,$at,.PF0000a4f4 +/* a4e4: 3c018000 */ lui $at,0x8000 +/* a4e8: 15c10002 */ bne $t6,$at,.PF0000a4f4 +/* a4ec: 00000000 */ nop +/* a4f0: 0006000d */ break 0x6 +.PF0000a4f4: +/* a4f4: 01e47021 */ addu $t6,$t7,$a0 +/* a4f8: 01c6001a */ div $zero,$t6,$a2 +/* a4fc: 0000c010 */ mfhi $t8 +/* a500: 03381825 */ or $v1,$t9,$t8 +/* a504: ac430044 */ sw $v1,0x44($v0) +/* a508: afe30000 */ sw $v1,0x0($ra) +/* a50c: 3c0f8006 */ lui $t7,0x8006 +/* a510: 8defd9b8 */ lw $t7,-0x2648($t7) +/* a514: 14c00002 */ bnez $a2,.PF0000a520 +/* a518: 00000000 */ nop +/* a51c: 0007000d */ break 0x7 +.PF0000a520: +/* a520: 2401ffff */ li $at,-1 +/* a524: 14c10004 */ bne $a2,$at,.PF0000a538 +/* a528: 3c018000 */ lui $at,0x8000 +/* a52c: 15c10002 */ bne $t6,$at,.PF0000a538 +/* a530: 00000000 */ nop +/* a534: 0006000d */ break 0x6 +.PF0000a538: +/* a538: 248e01fa */ addiu $t6,$a0,0x1fa +/* a53c: 11e00038 */ beqz $t7,.PF0000a620 +/* a540: 00000000 */ nop +/* a544: 01c6001a */ div $zero,$t6,$a2 +/* a548: 0000c810 */ mfhi $t9 +/* a54c: 248f0086 */ addiu $t7,$a0,0x86 +/* a550: 14c00002 */ bnez $a2,.PF0000a55c +/* a554: 00000000 */ nop +/* a558: 0007000d */ break 0x7 +.PF0000a55c: +/* a55c: 2401ffff */ li $at,-1 +/* a560: 14c10004 */ bne $a2,$at,.PF0000a574 +/* a564: 3c018000 */ lui $at,0x8000 +/* a568: 15c10002 */ bne $t6,$at,.PF0000a574 +/* a56c: 00000000 */ nop +/* a570: 0006000d */ break 0x6 +.PF0000a574: +/* a574: 01e6001a */ div $zero,$t7,$a2 +/* a578: 00007010 */ mfhi $t6 +/* a57c: 0019c400 */ sll $t8,$t9,0x10 +/* a580: 249901fc */ addiu $t9,$a0,0x1fc +/* a584: 0326001a */ div $zero,$t9,$a2 +/* a588: 030e1825 */ or $v1,$t8,$t6 +/* a58c: 248e0084 */ addiu $t6,$a0,0x84 +/* a590: 14c00002 */ bnez $a2,.PF0000a59c +/* a594: 00000000 */ nop +/* a598: 0007000d */ break 0x7 +.PF0000a59c: +/* a59c: 2401ffff */ li $at,-1 +/* a5a0: 14c10004 */ bne $a2,$at,.PF0000a5b4 +/* a5a4: 3c018000 */ lui $at,0x8000 +/* a5a8: 15e10002 */ bne $t7,$at,.PF0000a5b4 +/* a5ac: 00000000 */ nop +/* a5b0: 0006000d */ break 0x6 +.PF0000a5b4: +/* a5b4: 00007810 */ mfhi $t7 +/* a5b8: ac430030 */ sw $v1,0x30($v0) +/* a5bc: ada30000 */ sw $v1,0x0($t5) +/* a5c0: 01c6001a */ div $zero,$t6,$a2 +/* a5c4: 14c00002 */ bnez $a2,.PF0000a5d0 +/* a5c8: 00000000 */ nop +/* a5cc: 0007000d */ break 0x7 +.PF0000a5d0: +/* a5d0: 2401ffff */ li $at,-1 +/* a5d4: 14c10004 */ bne $a2,$at,.PF0000a5e8 +/* a5d8: 3c018000 */ lui $at,0x8000 +/* a5dc: 17210002 */ bne $t9,$at,.PF0000a5e8 +/* a5e0: 00000000 */ nop +/* a5e4: 0006000d */ break 0x6 +.PF0000a5e8: +/* a5e8: 0000c810 */ mfhi $t9 +/* a5ec: 000fc400 */ sll $t8,$t7,0x10 +/* a5f0: 03191825 */ or $v1,$t8,$t9 +/* a5f4: ac430044 */ sw $v1,0x44($v0) +/* a5f8: afe30000 */ sw $v1,0x0($ra) +/* a5fc: 14c00002 */ bnez $a2,.PF0000a608 +/* a600: 00000000 */ nop +/* a604: 0007000d */ break 0x7 +.PF0000a608: +/* a608: 2401ffff */ li $at,-1 +/* a60c: 14c10004 */ bne $a2,$at,.PF0000a620 +/* a610: 3c018000 */ lui $at,0x8000 +/* a614: 15c10002 */ bne $t6,$at,.PF0000a620 +/* a618: 00000000 */ nop +/* a61c: 0006000d */ break 0x6 +.PF0000a620: +/* a620: 3c018006 */ lui $at,0x8006 +/* a624: 002b0821 */ addu $at,$at,$t3 +/* a628: 240f0001 */ li $t7,0x1 +/* a62c: ac2fcb38 */ sw $t7,-0x34c8($at) +/* a630: 10000006 */ b .PF0000a64c +/* a634: 8d4ad238 */ lw $t2,-0x2dc8($t2) +.PF0000a638: +/* a638: 3c018006 */ lui $at,0x8006 +/* a63c: 002b0821 */ addu $at,$at,$t3 +/* a640: 3c0a8006 */ lui $t2,0x8006 +/* a644: 8d4ad238 */ lw $t2,-0x2dc8($t2) +/* a648: ac20cb38 */ sw $zero,-0x34c8($at) +.PF0000a64c: +/* a64c: 258c0001 */ addiu $t4,$t4,0x1 +/* a650: 05810004 */ bgez $t4,.PF0000a664 +/* a654: 318e0001 */ andi $t6,$t4,0x1 +/* a658: 11c00002 */ beqz $t6,.PF0000a664 +/* a65c: 00000000 */ nop +/* a660: 25cefffe */ addiu $t6,$t6,-2 +.PF0000a664: +/* a664: 3c018006 */ lui $at,0x8006 +/* a668: 11400006 */ beqz $t2,.PF0000a684 +/* a66c: ac2ed240 */ sw $t6,-0x2dc0($at) +/* a670: 3c198006 */ lui $t9,0x8006 +/* a674: 8f39edb8 */ lw $t9,-0x1248($t9) +/* a678: 8d380028 */ lw $t8,0x28($t1) +/* a67c: 10000006 */ b .PF0000a698 +/* a680: af380058 */ sw $t8,0x58($t9) +.PF0000a684: +/* a684: 3c0f800a */ lui $t7,0x800a +/* a688: 3c0e8006 */ lui $t6,0x8006 +/* a68c: 8dceedb8 */ lw $t6,-0x1248($t6) +/* a690: 8defd020 */ lw $t7,-0x2fe0($t7) +/* a694: adcf0058 */ sw $t7,0x58($t6) +.PF0000a698: +/* a698: 3c028009 */ lui $v0,0x8009 +/* a69c: 24422dc6 */ addiu $v0,$v0,0x2dc6 +/* a6a0: 90580000 */ lbu $t8,0x0($v0) +/* a6a4: 3c048006 */ lui $a0,0x8006 +/* a6a8: 8c84d234 */ lw $a0,-0x2dcc($a0) +/* a6ac: 27190001 */ addiu $t9,$t8,0x1 +/* a6b0: 3c038009 */ lui $v1,0x8009 +/* a6b4: 2408002c */ li $t0,0x2c +/* a6b8: 24632dc7 */ addiu $v1,$v1,0x2dc7 +/* a6bc: 906e0000 */ lbu $t6,0x0($v1) +/* a6c0: 3c078006 */ lui $a3,0x8006 +/* a6c4: 24e7d1d0 */ addiu $a3,$a3,-11824 +/* a6c8: 07210004 */ bgez $t9,.PF0000a6dc +/* a6cc: 332f0001 */ andi $t7,$t9,0x1 +/* a6d0: 11e00002 */ beqz $t7,.PF0000a6dc +/* a6d4: 00000000 */ nop +/* a6d8: 25effffe */ addiu $t7,$t7,-2 +.PF0000a6dc: +/* a6dc: a04f0000 */ sb $t7,0x0($v0) +/* a6e0: 904f0000 */ lbu $t7,0x0($v0) +/* a6e4: 25d80001 */ addiu $t8,$t6,0x1 +/* a6e8: 07010004 */ bgez $t8,.PF0000a6fc +/* a6ec: 33190001 */ andi $t9,$t8,0x1 +/* a6f0: 13200002 */ beqz $t9,.PF0000a6fc +/* a6f4: 00000000 */ nop +/* a6f8: 2739fffe */ addiu $t9,$t9,-2 +.PF0000a6fc: +/* a6fc: 01e80019 */ multu $t7,$t0 +/* a700: a0790000 */ sb $t9,0x0($v1) +/* a704: 3c018006 */ lui $at,0x8006 +/* a708: 3c058006 */ lui $a1,0x8006 +/* a70c: 2406002c */ li $a2,0x2c +/* a710: 00007012 */ mflo $t6 +/* a714: 00eec021 */ addu $t8,$a3,$t6 +/* a718: ac38d230 */ sw $t8,-0x2dd0($at) +/* a71c: 90790000 */ lbu $t9,0x0($v1) +/* a720: 3c018006 */ lui $at,0x8006 +/* a724: 03280019 */ multu $t9,$t0 +/* a728: 00007812 */ mflo $t7 +/* a72c: 00ef7021 */ addu $t6,$a3,$t7 +/* a730: ac2ed234 */ sw $t6,-0x2dcc($at) +/* a734: 0c0129ec */ jal 0x4a7b0 +/* a738: 8ca5d234 */ lw $a1,-0x2dcc($a1) +/* a73c: 3c038009 */ lui $v1,0x8009 +/* a740: 24632dc7 */ addiu $v1,$v1,0x2dc7 +/* a744: 90780000 */ lbu $t8,0x0($v1) +/* a748: 3c0f800a */ lui $t7,0x800a +/* a74c: 3c0e8006 */ lui $t6,0x8006 +/* a750: 0018c880 */ sll $t9,$t8,0x2 +/* a754: 01f97821 */ addu $t7,$t7,$t9 +/* a758: 8defd020 */ lw $t7,-0x2fe0($t7) +/* a75c: 8dced234 */ lw $t6,-0x2dcc($t6) +/* a760: 3c028006 */ lui $v0,0x8006 +/* a764: 2442d23c */ addiu $v0,$v0,-11716 +/* a768: adcf0028 */ sw $t7,0x28($t6) +/* a76c: 8c580000 */ lw $t8,0x0($v0) +/* a770: 53000005 */ beqzl $t8,.PF0000a788 +/* a774: 8fbf0014 */ lw $ra,0x14($sp) +/* a778: ac400000 */ sw $zero,0x0($v0) +/* a77c: 0c002779 */ jal 0x9de4 +/* a780: 00002025 */ move $a0,$zero +/* a784: 8fbf0014 */ lw $ra,0x14($sp) +.PF0000a788: +/* a788: 27bd0018 */ addiu $sp,$sp,0x18 +/* a78c: 03e00008 */ jr $ra +/* a790: 00000000 */ nop +); +#else +GLOBAL_ASM( +glabel func0000a044 +/* a044: 3c098006 */ lui $t1,%hi(g_ViData) +/* a048: 3c0e8006 */ lui $t6,%hi(var8005d590) +/* a04c: 8dced590 */ lw $t6,%lo(var8005d590)($t6) +/* a050: 8d29d594 */ lw $t1,%lo(g_ViData)($t1) +/* a054: 27bdffe8 */ addiu $sp,$sp,-24 +/* a058: afbf0014 */ sw $ra,0x14($sp) +/* a05c: 91cf0000 */ lbu $t7,0x0($t6) +/* a060: 91230000 */ lbu $v1,0x0($t1) +/* a064: 506f0014 */ beql $v1,$t7,.L0000a0b8 +/* a068: 85380004 */ lh $t8,0x4($t1) +/* a06c: 10600008 */ beqz $v1,.L0000a090 +/* a070: 00601025 */ or $v0,$v1,$zero +/* a074: 241f0001 */ addiu $ra,$zero,0x1 +/* a078: 107f000e */ beq $v1,$ra,.L0000a0b4 +/* a07c: 24040002 */ addiu $a0,$zero,0x2 +/* a080: 5044000d */ beql $v0,$a0,.L0000a0b8 +/* a084: 85380004 */ lh $t8,0x4($t1) +/* a088: 1000000b */ b .L0000a0b8 +/* a08c: 85380004 */ lh $t8,0x4($t1) +.L0000a090: +/* a090: 3c013f80 */ lui $at,0x3f80 +/* a094: 44816000 */ mtc1 $at,$f12 +/* a098: 0c0123bc */ jal osViSetYScale +/* a09c: 00000000 */ nop +/* a0a0: 0c012338 */ jal osViBlack +/* a0a4: 24040001 */ addiu $a0,$zero,0x1 +/* a0a8: 3c098006 */ lui $t1,%hi(g_ViData) +/* a0ac: 8d29d594 */ lw $t1,%lo(g_ViData)($t1) +/* a0b0: 91230000 */ lbu $v1,0x0($t1) +.L0000a0b4: +/* a0b4: 85380004 */ lh $t8,0x4($t1) +.L0000a0b8: +/* a0b8: 85390018 */ lh $t9,0x18($t1) +/* a0bc: 852e0006 */ lh $t6,0x6($t1) +/* a0c0: 44982000 */ mtc1 $t8,$f4 +/* a0c4: 852f001a */ lh $t7,0x1a($t1) +/* a0c8: 44994000 */ mtc1 $t9,$f8 +/* a0cc: 468021a0 */ cvt.s.w $f6,$f4 +/* a0d0: 448e8000 */ mtc1 $t6,$f16 +/* a0d4: 448f2000 */ mtc1 $t7,$f4 +/* a0d8: 24040002 */ addiu $a0,$zero,0x2 +/* a0dc: 241f0001 */ addiu $ra,$zero,0x1 +/* a0e0: 468042a0 */ cvt.s.w $f10,$f8 +/* a0e4: 3c0b8006 */ lui $t3,%hi(var8005d5a0) +/* a0e8: 3c013f80 */ lui $at,0x3f80 +/* a0ec: 468084a0 */ cvt.s.w $f18,$f16 +/* a0f0: 46802220 */ cvt.s.w $f8,$f4 +/* a0f4: 460a3083 */ div.s $f2,$f6,$f10 +/* a0f8: 14600003 */ bnez $v1,.L0000a108 +/* a0fc: 46089003 */ div.s $f0,$f18,$f8 +/* a100: 44810000 */ mtc1 $at,$f0 +/* a104: 00000000 */ nop +.L0000a108: +/* a108: 8d6bd5a0 */ lw $t3,%lo(var8005d5a0)($t3) +/* a10c: 3c018006 */ lui $at,%hi(var8005ce78) +/* a110: 000b6080 */ sll $t4,$t3,0x2 +/* a114: 002c0821 */ addu $at,$at,$t4 +/* a118: e422ce78 */ swc1 $f2,%lo(var8005ce78)($at) +/* a11c: 3c018006 */ lui $at,%hi(var8005ce80) +/* a120: 002c0821 */ addu $at,$at,$t4 +/* a124: e420ce80 */ swc1 $f0,%lo(var8005ce80)($at) +/* a128: 91230000 */ lbu $v1,0x0($t1) +/* a12c: 17e30101 */ bne $ra,$v1,.L0000a534 +/* a130: 00000000 */ nop +/* a134: 3c0a8006 */ lui $t2,%hi(var8005d598) +/* a138: 8d4ad598 */ lw $t2,%lo(var8005d598)($t2) +/* a13c: 3c188000 */ lui $t8,0x8000 +/* a140: 11400033 */ beqz $t2,.L0000a210 +/* a144: 00000000 */ nop +/* a148: 8f180300 */ lw $t8,0x300($t8) +/* a14c: 3c198009 */ lui $t9,%hi(var8008dcc0) +/* a150: 2739dcc0 */ addiu $t9,$t9,%lo(var8008dcc0) +/* a154: 14980019 */ bne $a0,$t8,.L0000a1bc +/* a158: 3c0f8006 */ lui $t7,%hi(osViModeTable+0xa0) +/* a15c: 000bc880 */ sll $t9,$t3,0x2 +/* a160: 032bc821 */ addu $t9,$t9,$t3 +/* a164: 3c0e8009 */ lui $t6,%hi(var8008dcc0) +/* a168: 25cedcc0 */ addiu $t6,$t6,%lo(var8008dcc0) +/* a16c: 0019c900 */ sll $t9,$t9,0x4 +/* a170: 032e2021 */ addu $a0,$t9,$t6 +/* a174: 3c0f8006 */ lui $t7,%hi(osViModeTable+0x960) +/* a178: 25ef0070 */ addiu $t7,$t7,%lo(osViModeTable+0x960) +/* a17c: 25f90048 */ addiu $t9,$t7,0x48 +/* a180: 00807025 */ or $t6,$a0,$zero +.L0000a184: +/* a184: 8de10000 */ lw $at,0x0($t7) +/* a188: 25ef000c */ addiu $t7,$t7,12 +/* a18c: 25ce000c */ addiu $t6,$t6,12 +/* a190: adc1fff4 */ sw $at,-0xc($t6) +/* a194: 8de1fff8 */ lw $at,-0x8($t7) +/* a198: adc1fff8 */ sw $at,-0x8($t6) +/* a19c: 8de1fffc */ lw $at,-0x4($t7) +/* a1a0: 15f9fff8 */ bne $t7,$t9,.L0000a184 +/* a1a4: adc1fffc */ sw $at,-0x4($t6) +/* a1a8: 8de10000 */ lw $at,0x0($t7) +/* a1ac: adc10000 */ sw $at,0x0($t6) +/* a1b0: 8df90004 */ lw $t9,0x4($t7) +/* a1b4: 10000048 */ b .L0000a2d8 +/* a1b8: add90004 */ sw $t9,0x4($t6) +.L0000a1bc: +/* a1bc: 000bc080 */ sll $t8,$t3,0x2 +/* a1c0: 030bc021 */ addu $t8,$t8,$t3 +/* a1c4: 0018c100 */ sll $t8,$t8,0x4 +/* a1c8: 03192021 */ addu $a0,$t8,$t9 +/* a1cc: 25eff7b0 */ addiu $t7,$t7,%lo(osViModeTable+0xa0) +/* a1d0: 25f80048 */ addiu $t8,$t7,0x48 +/* a1d4: 0080c825 */ or $t9,$a0,$zero +.L0000a1d8: +/* a1d8: 8de10000 */ lw $at,0x0($t7) +/* a1dc: 25ef000c */ addiu $t7,$t7,0xc +/* a1e0: 2739000c */ addiu $t9,$t9,0xc +/* a1e4: af21fff4 */ sw $at,-0xc($t9) +/* a1e8: 8de1fff8 */ lw $at,-0x8($t7) +/* a1ec: af21fff8 */ sw $at,-0x8($t9) +/* a1f0: 8de1fffc */ lw $at,-0x4($t7) +/* a1f4: 15f8fff8 */ bne $t7,$t8,.L0000a1d8 +/* a1f8: af21fffc */ sw $at,-0x4($t9) +/* a1fc: 8de10000 */ lw $at,0x0($t7) +/* a200: af210000 */ sw $at,0x0($t9) +/* a204: 8df80004 */ lw $t8,0x4($t7) +/* a208: 10000033 */ b .L0000a2d8 +/* a20c: af380004 */ sw $t8,0x4($t9) +.L0000a210: +/* a210: 3c0e8000 */ lui $t6,0x8000 +/* a214: 8dce0300 */ lw $t6,0x300($t6) +/* a218: 148e0018 */ bne $a0,$t6,.L0000a27c +/* a21c: 000bc080 */ sll $t8,$t3,0x2 +/* a220: 030bc021 */ addu $t8,$t8,$t3 +/* a224: 3c0f8009 */ lui $t7,%hi(var8008dcc0) +/* a228: 25efdcc0 */ addiu $t7,$t7,%lo(var8008dcc0) +/* a22c: 0018c100 */ sll $t8,$t8,0x4 +/* a230: 030f2021 */ addu $a0,$t8,$t7 +/* a234: 3c198006 */ lui $t9,%hi(osViModeTable+0xaa0) +/* a238: 273901b0 */ addiu $t9,$t9,%lo(osViModeTable+0xaa0) +/* a23c: 27380048 */ addiu $t8,$t9,0x48 +/* a240: 00807825 */ or $t7,$a0,$zero +.L0000a244: +/* a244: 8f210000 */ lw $at,0x0($t9) +/* a248: 2739000c */ addiu $t9,$t9,0xc +/* a24c: 25ef000c */ addiu $t7,$t7,0xc +/* a250: ade1fff4 */ sw $at,-0xc($t7) +/* a254: 8f21fff8 */ lw $at,-0x8($t9) +/* a258: ade1fff8 */ sw $at,-0x8($t7) +/* a25c: 8f21fffc */ lw $at,-0x4($t9) +/* a260: 1738fff8 */ bne $t9,$t8,.L0000a244 +/* a264: ade1fffc */ sw $at,-0x4($t7) +/* a268: 8f210000 */ lw $at,0x0($t9) +/* a26c: ade10000 */ sw $at,0x0($t7) +/* a270: 8f380004 */ lw $t8,0x4($t9) +/* a274: 10000018 */ b .L0000a2d8 +/* a278: adf80004 */ sw $t8,0x4($t7) +.L0000a27c: +/* a27c: 000b7080 */ sll $t6,$t3,0x2 +/* a280: 01cb7021 */ addu $t6,$t6,$t3 +/* a284: 3c188009 */ lui $t8,%hi(var8008dcc0) +/* a288: 2718dcc0 */ addiu $t8,$t8,%lo(var8008dcc0) +/* a28c: 000e7100 */ sll $t6,$t6,0x4 +/* a290: 01d82021 */ addu $a0,$t6,$t8 +/* a294: 3c198006 */ lui $t9,%hi(osViModeTable+0x1e0) +/* a298: 2739f8f0 */ addiu $t9,$t9,%lo(osViModeTable+0x1e0) +/* a29c: 272e0048 */ addiu $t6,$t9,0x48 +/* a2a0: 0080c025 */ or $t8,$a0,$zero +.L0000a2a4: +/* a2a4: 8f210000 */ lw $at,0x0($t9) +/* a2a8: 2739000c */ addiu $t9,$t9,0xc +/* a2ac: 2718000c */ addiu $t8,$t8,0xc +/* a2b0: af01fff4 */ sw $at,-0xc($t8) +/* a2b4: 8f21fff8 */ lw $at,-0x8($t9) +/* a2b8: af01fff8 */ sw $at,-0x8($t8) +/* a2bc: 8f21fffc */ lw $at,-0x4($t9) +/* a2c0: 172efff8 */ bne $t9,$t6,.L0000a2a4 +/* a2c4: af01fffc */ sw $at,-0x4($t8) +/* a2c8: 8f210000 */ lw $at,0x0($t9) +/* a2cc: af010000 */ sw $at,0x0($t8) +/* a2d0: 8f2e0004 */ lw $t6,0x4($t9) +/* a2d4: af0e0004 */ sw $t6,0x4($t8) +.L0000a2d8: +/* a2d8: 852f0018 */ lh $t7,0x18($t1) +/* a2dc: 24010280 */ addiu $at,$zero,0x280 +/* a2e0: 3c0d8009 */ lui $t5,%hi(var8008de0c) +/* a2e4: ac8f0008 */ sw $t7,0x8($a0) +/* a2e8: 852e0018 */ lh $t6,0x18($t1) +/* a2ec: 3406ffff */ dli $a2,0xffff +/* a2f0: 25adde0c */ addiu $t5,$t5,%lo(var8008de0c) +/* a2f4: 000eca80 */ sll $t9,$t6,0xa +/* a2f8: 0321001a */ div $zero,$t9,$at +/* a2fc: 0000c012 */ mflo $t8 +/* a300: ac980020 */ sw $t8,0x20($a0) +/* a304: 852f0018 */ lh $t7,0x18($t1) +/* a308: 000f7040 */ sll $t6,$t7,0x1 +/* a30c: ac8e0028 */ sw $t6,0x28($a0) +/* a310: 85390018 */ lh $t9,0x18($t1) +/* a314: 3c0f8009 */ lui $t7,%hi(g_Is4Mb) +/* a318: 0019c040 */ sll $t8,$t9,0x1 +/* a31c: ac98003c */ sw $t8,0x3c($a0) +/* a320: 91ef0af0 */ lbu $t7,%lo(g_Is4Mb)($t7) +/* a324: 17ef0004 */ bne $ra,$t7,.L0000a338 +/* a328: 24020400 */ addiu $v0,$zero,0x400 +/* a32c: ac82002c */ sw $v0,0x2c($a0) +/* a330: 1000001e */ b .L0000a3ac +/* a334: ac820040 */ sw $v0,0x40($a0) +.L0000a338: +/* a338: 852e001a */ lh $t6,0x1a($t1) +/* a33c: 240201b8 */ addiu $v0,$zero,0x1b8 +/* a340: 000ecac0 */ sll $t9,$t6,0xb +/* a344: 0322001a */ div $zero,$t9,$v0 +/* a348: 0000c012 */ mflo $t8 +/* a34c: ac98002c */ sw $t8,0x2c($a0) +/* a350: 852f001a */ lh $t7,0x1a($t1) +/* a354: 14400002 */ bnez $v0,.L0000a360 +/* a358: 00000000 */ nop +/* a35c: 0007000d */ break 0x7 +.L0000a360: +/* a360: 2401ffff */ addiu $at,$zero,-1 +/* a364: 14410004 */ bne $v0,$at,.L0000a378 +/* a368: 3c018000 */ lui $at,0x8000 +/* a36c: 17210002 */ bne $t9,$at,.L0000a378 +/* a370: 00000000 */ nop +/* a374: 0006000d */ break 0x6 +.L0000a378: +/* a378: 000f72c0 */ sll $t6,$t7,0xb +/* a37c: 01c2001a */ div $zero,$t6,$v0 +/* a380: 0000c812 */ mflo $t9 +/* a384: ac990040 */ sw $t9,0x40($a0) +/* a388: 14400002 */ bnez $v0,.L0000a394 +/* a38c: 00000000 */ nop +/* a390: 0007000d */ break 0x7 +.L0000a394: +/* a394: 2401ffff */ addiu $at,$zero,-1 +/* a398: 14410004 */ bne $v0,$at,.L0000a3ac +/* a39c: 3c018000 */ lui $at,0x8000 +/* a3a0: 15c10002 */ bne $t6,$at,.L0000a3ac +/* a3a4: 00000000 */ nop +/* a3a8: 0006000d */ break 0x6 +.L0000a3ac: +/* a3ac: 8c85001c */ lw $a1,0x1c($a0) +/* a3b0: 3c078006 */ lui $a3,%hi(var8005d588) +/* a3b4: 8ce7d588 */ lw $a3,%lo(var8005d588)($a3) +/* a3b8: 0005c403 */ sra $t8,$a1,0x10 +/* a3bc: 330fffff */ andi $t7,$t8,0xffff +/* a3c0: 01e77021 */ addu $t6,$t7,$a3 +/* a3c4: 01c6001a */ div $zero,$t6,$a2 +/* a3c8: 14c00002 */ bnez $a2,.L0000a3d4 +/* a3cc: 00000000 */ nop +/* a3d0: 0007000d */ break 0x7 +.L0000a3d4: +/* a3d4: 2401ffff */ addiu $at,$zero,-1 +/* a3d8: 14c10004 */ bne $a2,$at,.L0000a3ec +/* a3dc: 3c018000 */ lui $at,0x8000 +/* a3e0: 15c10002 */ bne $t6,$at,.L0000a3ec +/* a3e4: 00000000 */ nop +/* a3e8: 0006000d */ break 0x6 +.L0000a3ec: +/* a3ec: 30afffff */ andi $t7,$a1,0xffff +/* a3f0: 01e77021 */ addu $t6,$t7,$a3 +/* a3f4: 0000c810 */ mfhi $t9 +/* a3f8: 0019c400 */ sll $t8,$t9,0x10 +/* a3fc: 3c1f8009 */ lui $ra,%hi(var8008de10) +/* a400: 01c6001a */ div $zero,$t6,$a2 +/* a404: 14c00002 */ bnez $a2,.L0000a410 +/* a408: 00000000 */ nop +/* a40c: 0007000d */ break 0x7 +.L0000a410: +/* a410: 2401ffff */ addiu $at,$zero,-1 +/* a414: 14c10004 */ bne $a2,$at,.L0000a428 +/* a418: 3c018000 */ lui $at,0x8000 +/* a41c: 15c10002 */ bne $t6,$at,.L0000a428 +/* a420: 00000000 */ nop +/* a424: 0006000d */ break 0x6 +.L0000a428: +/* a428: 0000c810 */ mfhi $t9 +/* a42c: 03191025 */ or $v0,$t8,$t9 +/* a430: ac82001c */ sw $v0,0x1c($a0) +/* a434: 3c018009 */ lui $at,%hi(var8008de08) +/* a438: ac22de08 */ sw $v0,%lo(var8008de08)($at) +/* a43c: 8523001a */ lh $v1,0x1a($t1) +/* a440: 8c8e002c */ lw $t6,0x2c($a0) +/* a444: 27ffde10 */ addiu $ra,$ra,%lo(var8008de10) +/* a448: 00037a80 */ sll $t7,$v1,0xa +/* a44c: 01ee001b */ divu $zero,$t7,$t6 +/* a450: 00001812 */ mflo $v1 +/* a454: 2861012d */ slti $at,$v1,0x12d +/* a458: 15c00002 */ bnez $t6,.L0000a464 +/* a45c: 00000000 */ nop +/* a460: 0007000d */ break 0x7 +.L0000a464: +/* a464: 24190115 */ addiu $t9,$zero,0x115 +/* a468: 14200003 */ bnez $at,.L0000a478 +/* a46c: 3c058006 */ lui $a1,%hi(var8005d58c) +/* a470: 0003c043 */ sra $t8,$v1,0x1 +/* a474: 03001825 */ or $v1,$t8,$zero +.L0000a478: +/* a478: 03233823 */ subu $a3,$t9,$v1 +/* a47c: 24ef0002 */ addiu $t7,$a3,0x2 +/* a480: 2478fffe */ addiu $t8,$v1,-2 +/* a484: 0018c840 */ sll $t9,$t8,0x1 +/* a488: 000f7400 */ sll $t6,$t7,0x10 +/* a48c: 00f97821 */ addu $t7,$a3,$t9 +/* a490: 25f80002 */ addiu $t8,$t7,0x2 +/* a494: 8ca5d58c */ lw $a1,%lo(var8005d58c)($a1) +/* a498: 01d84025 */ or $t0,$t6,$t8 +/* a49c: 0008cc03 */ sra $t9,$t0,0x10 +/* a4a0: 332fffff */ andi $t7,$t9,0xffff +/* a4a4: 01e57021 */ addu $t6,$t7,$a1 +/* a4a8: 01c6001a */ div $zero,$t6,$a2 +/* a4ac: 14c00002 */ bnez $a2,.L0000a4b8 +/* a4b0: 00000000 */ nop +/* a4b4: 0007000d */ break 0x7 +.L0000a4b8: +/* a4b8: 2401ffff */ addiu $at,$zero,-1 +/* a4bc: 14c10004 */ bne $a2,$at,.L0000a4d0 +/* a4c0: 3c018000 */ lui $at,0x8000 +/* a4c4: 15c10002 */ bne $t6,$at,.L0000a4d0 +/* a4c8: 00000000 */ nop +/* a4cc: 0006000d */ break 0x6 +.L0000a4d0: +/* a4d0: 310fffff */ andi $t7,$t0,0xffff +/* a4d4: 01e57021 */ addu $t6,$t7,$a1 +/* a4d8: 0000c010 */ mfhi $t8 +/* a4dc: 0018cc00 */ sll $t9,$t8,0x10 +/* a4e0: 240f0001 */ addiu $t7,$zero,0x1 +/* a4e4: 01c6001a */ div $zero,$t6,$a2 +/* a4e8: 14c00002 */ bnez $a2,.L0000a4f4 +/* a4ec: 00000000 */ nop +/* a4f0: 0007000d */ break 0x7 +.L0000a4f4: +/* a4f4: 2401ffff */ addiu $at,$zero,-1 +/* a4f8: 14c10004 */ bne $a2,$at,.L0000a50c +/* a4fc: 3c018000 */ lui $at,0x8000 +/* a500: 15c10002 */ bne $t6,$at,.L0000a50c +/* a504: 00000000 */ nop +/* a508: 0006000d */ break 0x6 +.L0000a50c: +/* a50c: 0000c010 */ mfhi $t8 +/* a510: 03381025 */ or $v0,$t9,$t8 +/* a514: 3c018006 */ lui $at,%hi(var8005ce88) +/* a518: ac820030 */ sw $v0,0x30($a0) +/* a51c: ada20000 */ sw $v0,0x0($t5) +/* a520: ac820044 */ sw $v0,0x44($a0) +/* a524: afe20000 */ sw $v0,0x0($ra) +/* a528: 002c0821 */ addu $at,$at,$t4 +/* a52c: 100000f6 */ b .L0000a908 +/* a530: ac2fce88 */ sw $t7,%lo(var8005ce88)($at) +.L0000a534: +/* a534: 148300ef */ bne $a0,$v1,.L0000a8f4 +/* a538: 3c0e8000 */ lui $t6,0x8000 +/* a53c: 8dce0300 */ lw $t6,0x300($t6) +/* a540: 3406ffff */ dli $a2,0xffff +/* a544: 24080800 */ addiu $t0,$zero,0x800 +/* a548: 148e0019 */ bne $a0,$t6,.L0000a5b0 +/* a54c: 3c0d8009 */ lui $t5,%hi(var8008de0c) +/* a550: 000bc880 */ sll $t9,$t3,0x2 +/* a554: 032bc821 */ addu $t9,$t9,$t3 +/* a558: 3c188009 */ lui $t8,%hi(var8008dcc0) +/* a55c: 2718dcc0 */ addiu $t8,$t8,%lo(var8008dcc0) +/* a560: 0019c900 */ sll $t9,$t9,0x4 +/* a564: 03382021 */ addu $a0,$t9,$t8 +/* a568: 3c0f8006 */ lui $t7,%hi(osViModeTable+0xc30) +/* a56c: 25ef0340 */ addiu $t7,$t7,%lo(osViModeTable+0xc30) +/* a570: 25f90048 */ addiu $t9,$t7,0x48 +/* a574: 0080c025 */ or $t8,$a0,$zero +.L0000a578: +/* a578: 8de10000 */ lw $at,0x0($t7) +/* a57c: 25ef000c */ addiu $t7,$t7,12 +/* a580: 2718000c */ addiu $t8,$t8,0xc +/* a584: af01fff4 */ sw $at,-0xc($t8) +/* a588: 8de1fff8 */ lw $at,-0x8($t7) +/* a58c: af01fff8 */ sw $at,-0x8($t8) +/* a590: 8de1fffc */ lw $at,-0x4($t7) +/* a594: 15f9fff8 */ bne $t7,$t9,.L0000a578 +/* a598: af01fffc */ sw $at,-0x4($t8) +/* a59c: 8de10000 */ lw $at,0x0($t7) +/* a5a0: af010000 */ sw $at,0x0($t8) +/* a5a4: 8df90004 */ lw $t9,0x4($t7) +/* a5a8: 10000018 */ b .L0000a60c +/* a5ac: af190004 */ sw $t9,0x4($t8) +.L0000a5b0: +/* a5b0: 000b7080 */ sll $t6,$t3,0x2 +/* a5b4: 01cb7021 */ addu $t6,$t6,$t3 +/* a5b8: 3c198009 */ lui $t9,%hi(var8008dcc0) +/* a5bc: 2739dcc0 */ addiu $t9,$t9,%lo(var8008dcc0) +/* a5c0: 000e7100 */ sll $t6,$t6,0x4 +/* a5c4: 01d92021 */ addu $a0,$t6,$t9 +/* a5c8: 3c0f8006 */ lui $t7,%hi(osViModeTable+0x370) +/* a5cc: 25effa80 */ addiu $t7,$t7,%lo(osViModeTable+0x370) +/* a5d0: 25ee0048 */ addiu $t6,$t7,0x48 +/* a5d4: 0080c825 */ or $t9,$a0,$zero +.L0000a5d8: +/* a5d8: 8de10000 */ lw $at,0x0($t7) +/* a5dc: 25ef000c */ addiu $t7,$t7,0xc +/* a5e0: 2739000c */ addiu $t9,$t9,0xc +/* a5e4: af21fff4 */ sw $at,-0xc($t9) +/* a5e8: 8de1fff8 */ lw $at,-0x8($t7) +/* a5ec: af21fff8 */ sw $at,-0x8($t9) +/* a5f0: 8de1fffc */ lw $at,-0x4($t7) +/* a5f4: 15eefff8 */ bne $t7,$t6,.L0000a5d8 +/* a5f8: af21fffc */ sw $at,-0x4($t9) +/* a5fc: 8de10000 */ lw $at,0x0($t7) +/* a600: af210000 */ sw $at,0x0($t9) +/* a604: 8dee0004 */ lw $t6,0x4($t7) +/* a608: af2e0004 */ sw $t6,0x4($t9) +.L0000a60c: +/* a60c: 85380018 */ lh $t8,0x18($t1) +/* a610: 24010280 */ addiu $at,$zero,0x280 +/* a614: 8c83001c */ lw $v1,0x1c($a0) +/* a618: ac980008 */ sw $t8,0x8($a0) +/* a61c: 852e0018 */ lh $t6,0x18($t1) +/* a620: ac88002c */ sw $t0,0x2c($a0) +/* a624: ac880040 */ sw $t0,0x40($a0) +/* a628: 000e7a80 */ sll $t7,$t6,0xa +/* a62c: 01e1001a */ div $zero,$t7,$at +/* a630: 0000c812 */ mflo $t9 +/* a634: ac990020 */ sw $t9,0x20($a0) +/* a638: 85380018 */ lh $t8,0x18($t1) +/* a63c: 3c078006 */ lui $a3,%hi(var8005d588) +/* a640: 3c058006 */ lui $a1,%hi(var8005d58c) +/* a644: 00187040 */ sll $t6,$t8,0x1 +/* a648: ac8e0028 */ sw $t6,0x28($a0) +/* a64c: 852f0018 */ lh $t7,0x18($t1) +/* a650: 0003c403 */ sra $t8,$v1,0x10 +/* a654: 330effff */ andi $t6,$t8,0xffff +/* a658: 000fc880 */ sll $t9,$t7,0x2 +/* a65c: ac99003c */ sw $t9,0x3c($a0) +/* a660: 8ce7d588 */ lw $a3,%lo(var8005d588)($a3) +/* a664: 25adde0c */ addiu $t5,$t5,%lo(var8008de0c) +/* a668: 3c1f8009 */ lui $ra,%hi(var8008de10) +/* a66c: 01c77821 */ addu $t7,$t6,$a3 +/* a670: 01e6001a */ div $zero,$t7,$a2 +/* a674: 14c00002 */ bnez $a2,.L0000a680 +/* a678: 00000000 */ nop +/* a67c: 0007000d */ break 0x7 +.L0000a680: +/* a680: 2401ffff */ addiu $at,$zero,-1 +/* a684: 14c10004 */ bne $a2,$at,.L0000a698 +/* a688: 3c018000 */ lui $at,0x8000 +/* a68c: 15e10002 */ bne $t7,$at,.L0000a698 +/* a690: 00000000 */ nop +/* a694: 0006000d */ break 0x6 +.L0000a698: +/* a698: 306effff */ andi $t6,$v1,0xffff +/* a69c: 0000c810 */ mfhi $t9 +/* a6a0: 01c77821 */ addu $t7,$t6,$a3 +/* a6a4: 0019c400 */ sll $t8,$t9,0x10 +/* a6a8: 01e6001a */ div $zero,$t7,$a2 +/* a6ac: 14c00002 */ bnez $a2,.L0000a6b8 +/* a6b0: 00000000 */ nop +/* a6b4: 0007000d */ break 0x7 +.L0000a6b8: +/* a6b8: 2401ffff */ addiu $at,$zero,-1 +/* a6bc: 14c10004 */ bne $a2,$at,.L0000a6d0 +/* a6c0: 3c018000 */ lui $at,0x8000 +/* a6c4: 15e10002 */ bne $t7,$at,.L0000a6d0 +/* a6c8: 00000000 */ nop +/* a6cc: 0006000d */ break 0x6 +.L0000a6d0: +/* a6d0: 0000c810 */ mfhi $t9 +/* a6d4: 03191025 */ or $v0,$t8,$t9 +/* a6d8: ac82001c */ sw $v0,0x1c($a0) +/* a6dc: 3c018009 */ lui $at,%hi(var8008de08) +/* a6e0: ac22de08 */ sw $v0,%lo(var8008de08)($at) +/* a6e4: 8c830030 */ lw $v1,0x30($a0) +/* a6e8: 8ca5d58c */ lw $a1,%lo(var8005d58c)($a1) +/* a6ec: 27ffde10 */ addiu $ra,$ra,%lo(var8008de10) +/* a6f0: 00037403 */ sra $t6,$v1,0x10 +/* a6f4: 31cfffff */ andi $t7,$t6,0xffff +/* a6f8: 01e5c021 */ addu $t8,$t7,$a1 +/* a6fc: 0306001a */ div $zero,$t8,$a2 +/* a700: 14c00002 */ bnez $a2,.L0000a70c +/* a704: 00000000 */ nop +/* a708: 0007000d */ break 0x7 +.L0000a70c: +/* a70c: 2401ffff */ addiu $at,$zero,-1 +/* a710: 14c10004 */ bne $a2,$at,.L0000a724 +/* a714: 3c018000 */ lui $at,0x8000 +/* a718: 17010002 */ bne $t8,$at,.L0000a724 +/* a71c: 00000000 */ nop +/* a720: 0006000d */ break 0x6 +.L0000a724: +/* a724: 306fffff */ andi $t7,$v1,0xffff +/* a728: 01e5c021 */ addu $t8,$t7,$a1 +/* a72c: 0000c810 */ mfhi $t9 +/* a730: 8c830044 */ lw $v1,0x44($a0) +/* a734: 00197400 */ sll $t6,$t9,0x10 +/* a738: 0306001a */ div $zero,$t8,$a2 +/* a73c: 14c00002 */ bnez $a2,.L0000a748 +/* a740: 00000000 */ nop +/* a744: 0007000d */ break 0x7 +.L0000a748: +/* a748: 2401ffff */ addiu $at,$zero,-1 +/* a74c: 14c10004 */ bne $a2,$at,.L0000a760 +/* a750: 3c018000 */ lui $at,0x8000 +/* a754: 17010002 */ bne $t8,$at,.L0000a760 +/* a758: 00000000 */ nop +/* a75c: 0006000d */ break 0x6 +.L0000a760: +/* a760: 0000c810 */ mfhi $t9 +/* a764: 00037c03 */ sra $t7,$v1,0x10 +/* a768: 01d91025 */ or $v0,$t6,$t9 +/* a76c: 31f8ffff */ andi $t8,$t7,0xffff +/* a770: 03057021 */ addu $t6,$t8,$a1 +/* a774: 01c6001a */ div $zero,$t6,$a2 +/* a778: 3078ffff */ andi $t8,$v1,0xffff +/* a77c: 0000c810 */ mfhi $t9 +/* a780: 00197c00 */ sll $t7,$t9,0x10 +/* a784: ac820030 */ sw $v0,0x30($a0) +/* a788: ada20000 */ sw $v0,0x0($t5) +/* a78c: 14c00002 */ bnez $a2,.L0000a798 +/* a790: 00000000 */ nop +/* a794: 0007000d */ break 0x7 +.L0000a798: +/* a798: 2401ffff */ addiu $at,$zero,-1 +/* a79c: 14c10004 */ bne $a2,$at,.L0000a7b0 +/* a7a0: 3c018000 */ lui $at,0x8000 +/* a7a4: 15c10002 */ bne $t6,$at,.L0000a7b0 +/* a7a8: 00000000 */ nop +/* a7ac: 0006000d */ break 0x6 +.L0000a7b0: +/* a7b0: 03057021 */ addu $t6,$t8,$a1 +/* a7b4: 01c6001a */ div $zero,$t6,$a2 +/* a7b8: 0000c810 */ mfhi $t9 +/* a7bc: 01f91025 */ or $v0,$t7,$t9 +/* a7c0: ac820044 */ sw $v0,0x44($a0) +/* a7c4: afe20000 */ sw $v0,0x0($ra) +/* a7c8: 3c188006 */ lui $t8,%hi(var8005dd18) +/* a7cc: 8f18dd18 */ lw $t8,%lo(var8005dd18)($t8) +/* a7d0: 14c00002 */ bnez $a2,.L0000a7dc +/* a7d4: 00000000 */ nop +/* a7d8: 0007000d */ break 0x7 +.L0000a7dc: +/* a7dc: 2401ffff */ addiu $at,$zero,-1 +/* a7e0: 14c10004 */ bne $a2,$at,.L0000a7f4 +/* a7e4: 3c018000 */ lui $at,0x8000 +/* a7e8: 15c10002 */ bne $t6,$at,.L0000a7f4 +/* a7ec: 00000000 */ nop +/* a7f0: 0006000d */ break 0x6 +.L0000a7f4: +/* a7f4: 3c0a8006 */ lui $t2,%hi(var8005d598) +/* a7f8: 13000038 */ beqz $t8,.L0000a8dc +/* a7fc: 24ae01af */ addiu $t6,$a1,0x1af +/* a800: 01c6001a */ div $zero,$t6,$a2 +/* a804: 00007810 */ mfhi $t7 +/* a808: 24b8007b */ addiu $t8,$a1,0x7b +/* a80c: 14c00002 */ bnez $a2,.L0000a818 +/* a810: 00000000 */ nop +/* a814: 0007000d */ break 0x7 +.L0000a818: +/* a818: 2401ffff */ addiu $at,$zero,-1 +/* a81c: 14c10004 */ bne $a2,$at,.L0000a830 +/* a820: 3c018000 */ lui $at,0x8000 +/* a824: 15c10002 */ bne $t6,$at,.L0000a830 +/* a828: 00000000 */ nop +/* a82c: 0006000d */ break 0x6 +.L0000a830: +/* a830: 0306001a */ div $zero,$t8,$a2 +/* a834: 00007010 */ mfhi $t6 +/* a838: 000fcc00 */ sll $t9,$t7,0x10 +/* a83c: 24af01b1 */ addiu $t7,$a1,0x1b1 +/* a840: 01e6001a */ div $zero,$t7,$a2 +/* a844: 032e1025 */ or $v0,$t9,$t6 +/* a848: 24ae0079 */ addiu $t6,$a1,0x79 +/* a84c: 14c00002 */ bnez $a2,.L0000a858 +/* a850: 00000000 */ nop +/* a854: 0007000d */ break 0x7 +.L0000a858: +/* a858: 2401ffff */ addiu $at,$zero,-1 +/* a85c: 14c10004 */ bne $a2,$at,.L0000a870 +/* a860: 3c018000 */ lui $at,0x8000 +/* a864: 17010002 */ bne $t8,$at,.L0000a870 +/* a868: 00000000 */ nop +/* a86c: 0006000d */ break 0x6 +.L0000a870: +/* a870: 0000c010 */ mfhi $t8 +/* a874: ac820030 */ sw $v0,0x30($a0) +/* a878: ada20000 */ sw $v0,0x0($t5) +/* a87c: 01c6001a */ div $zero,$t6,$a2 +/* a880: 14c00002 */ bnez $a2,.L0000a88c +/* a884: 00000000 */ nop +/* a888: 0007000d */ break 0x7 +.L0000a88c: +/* a88c: 2401ffff */ addiu $at,$zero,-1 +/* a890: 14c10004 */ bne $a2,$at,.L0000a8a4 +/* a894: 3c018000 */ lui $at,0x8000 +/* a898: 15e10002 */ bne $t7,$at,.L0000a8a4 +/* a89c: 00000000 */ nop +/* a8a0: 0006000d */ break 0x6 +.L0000a8a4: +/* a8a4: 00007810 */ mfhi $t7 +/* a8a8: 0018cc00 */ sll $t9,$t8,0x10 +/* a8ac: 032f1025 */ or $v0,$t9,$t7 +/* a8b0: ac820044 */ sw $v0,0x44($a0) +/* a8b4: afe20000 */ sw $v0,0x0($ra) +/* a8b8: 14c00002 */ bnez $a2,.L0000a8c4 +/* a8bc: 00000000 */ nop +/* a8c0: 0007000d */ break 0x7 +.L0000a8c4: +/* a8c4: 2401ffff */ addiu $at,$zero,-1 +/* a8c8: 14c10004 */ bne $a2,$at,.L0000a8dc +/* a8cc: 3c018000 */ lui $at,0x8000 +/* a8d0: 15c10002 */ bne $t6,$at,.L0000a8dc +/* a8d4: 00000000 */ nop +/* a8d8: 0006000d */ break 0x6 +.L0000a8dc: +/* a8dc: 3c018006 */ lui $at,%hi(var8005ce88) +/* a8e0: 002c0821 */ addu $at,$at,$t4 +/* a8e4: 24180001 */ addiu $t8,$zero,0x1 +/* a8e8: ac38ce88 */ sw $t8,%lo(var8005ce88)($at) +/* a8ec: 10000006 */ b .L0000a908 +/* a8f0: 8d4ad598 */ lw $t2,%lo(var8005d598)($t2) +.L0000a8f4: +/* a8f4: 3c018006 */ lui $at,%hi(var8005ce88) +/* a8f8: 002c0821 */ addu $at,$at,$t4 +/* a8fc: 3c0a8006 */ lui $t2,%hi(var8005d598) +/* a900: 8d4ad598 */ lw $t2,%lo(var8005d598)($t2) +/* a904: ac20ce88 */ sw $zero,%lo(var8005ce88)($at) +.L0000a908: +/* a908: 256b0001 */ addiu $t3,$t3,0x1 +/* a90c: 05610004 */ bgez $t3,.L0000a920 +/* a910: 316e0001 */ andi $t6,$t3,0x1 +/* a914: 11c00002 */ beqz $t6,.L0000a920 +/* a918: 00000000 */ nop +/* a91c: 25cefffe */ addiu $t6,$t6,-2 +.L0000a920: +/* a920: 3c018006 */ lui $at,%hi(var8005d5a0) +/* a924: 11400006 */ beqz $t2,.L0000a940 +/* a928: ac2ed5a0 */ sw $t6,%lo(var8005d5a0)($at) +/* a92c: 3c0f8006 */ lui $t7,%hi(var8005f108) +/* a930: 8deff108 */ lw $t7,%lo(var8005f108)($t7) +/* a934: 8d390028 */ lw $t9,0x28($t1) +/* a938: 10000006 */ b .L0000a954 +/* a93c: adf90058 */ sw $t9,0x58($t7) +.L0000a940: +/* a940: 3c18800a */ lui $t8,%hi(var8009cac0) +/* a944: 3c0e8006 */ lui $t6,%hi(var8005f108) +/* a948: 8dcef108 */ lw $t6,%lo(var8005f108)($t6) +/* a94c: 8f18cac0 */ lw $t8,%lo(var8009cac0)($t8) +/* a950: add80058 */ sw $t8,0x58($t6) +.L0000a954: +/* a954: 3c028009 */ lui $v0,%hi(var80092874+0x2) +/* a958: 24422876 */ addiu $v0,$v0,%lo(var80092874+0x2) +/* a95c: 90590000 */ lbu $t9,0x0($v0) +/* a960: 3c048006 */ lui $a0,%hi(g_ViData) +/* a964: 8c84d594 */ lw $a0,%lo(g_ViData)($a0) +/* a968: 272f0001 */ addiu $t7,$t9,0x1 +/* a96c: 3c038009 */ lui $v1,%hi(var80092874+0x3) +/* a970: 2408002c */ addiu $t0,$zero,0x2c +/* a974: 24632877 */ addiu $v1,$v1,%lo(var80092874+0x3) +/* a978: 906e0000 */ lbu $t6,0x0($v1) +/* a97c: 3c078006 */ lui $a3,%hi(var8005d530) +/* a980: 24e7d530 */ addiu $a3,$a3,%lo(var8005d530) +/* a984: 05e10004 */ bgez $t7,.L0000a998 +/* a988: 31f80001 */ andi $t8,$t7,0x1 +/* a98c: 13000002 */ beqz $t8,.L0000a998 +/* a990: 00000000 */ nop +/* a994: 2718fffe */ addiu $t8,$t8,-2 +.L0000a998: +/* a998: a0580000 */ sb $t8,0x0($v0) +/* a99c: 90580000 */ lbu $t8,0x0($v0) +/* a9a0: 25d90001 */ addiu $t9,$t6,0x1 +/* a9a4: 07210004 */ bgez $t9,.L0000a9b8 +/* a9a8: 332f0001 */ andi $t7,$t9,0x1 +/* a9ac: 11e00002 */ beqz $t7,.L0000a9b8 +/* a9b0: 00000000 */ nop +/* a9b4: 25effffe */ addiu $t7,$t7,-2 +.L0000a9b8: +/* a9b8: 03080019 */ multu $t8,$t0 +/* a9bc: a06f0000 */ sb $t7,0x0($v1) +/* a9c0: 3c018006 */ lui $at,%hi(var8005d590) +/* a9c4: 3c058006 */ lui $a1,%hi(g_ViData) +/* a9c8: 2406002c */ addiu $a2,$zero,0x2c +/* a9cc: 00007012 */ mflo $t6 +/* a9d0: 00eec821 */ addu $t9,$a3,$t6 +/* a9d4: ac39d590 */ sw $t9,%lo(var8005d590)($at) +/* a9d8: 906f0000 */ lbu $t7,0x0($v1) +/* a9dc: 3c018006 */ lui $at,%hi(g_ViData) +/* a9e0: 01e80019 */ multu $t7,$t0 +/* a9e4: 0000c012 */ mflo $t8 +/* a9e8: 00f87021 */ addu $t6,$a3,$t8 +/* a9ec: ac2ed594 */ sw $t6,%lo(g_ViData)($at) +/* a9f0: 0c012c5c */ jal func0004b170 +/* a9f4: 8ca5d594 */ lw $a1,%lo(g_ViData)($a1) +/* a9f8: 3c038009 */ lui $v1,%hi(var80092874+0x3) +/* a9fc: 24632877 */ addiu $v1,$v1,%lo(var80092874+0x3) +/* aa00: 90790000 */ lbu $t9,0x0($v1) +/* aa04: 3c18800a */ lui $t8,%hi(var8009cac0) +/* aa08: 3c0e8006 */ lui $t6,%hi(g_ViData) +/* aa0c: 00197880 */ sll $t7,$t9,0x2 +/* aa10: 030fc021 */ addu $t8,$t8,$t7 +/* aa14: 8f18cac0 */ lw $t8,%lo(var8009cac0)($t8) +/* aa18: 8dced594 */ lw $t6,%lo(g_ViData)($t6) +/* aa1c: 3c028006 */ lui $v0,%hi(var8005d59c) +/* aa20: 2442d59c */ addiu $v0,$v0,%lo(var8005d59c) +/* aa24: add80028 */ sw $t8,0x28($t6) +/* aa28: 8c590000 */ lw $t9,0x0($v0) +/* aa2c: 53200005 */ beqzl $t9,.L0000aa44 +/* aa30: 8fbf0014 */ lw $ra,0x14($sp) +/* aa34: ac400000 */ sw $zero,0x0($v0) +/* aa38: 0c0027b1 */ jal func00009ec4 +/* aa3c: 00002025 */ or $a0,$zero,$zero +/* aa40: 8fbf0014 */ lw $ra,0x14($sp) +.L0000aa44: +/* aa44: 27bd0018 */ addiu $sp,$sp,0x18 +/* aa48: 03e00008 */ jr $ra +/* aa4c: 00000000 */ nop +); +#endif + +GLOBAL_ASM( +glabel func0000aa50 +/* aa50: 3c014160 */ lui $at,0x4160 +/* aa54: 44810000 */ mtc1 $at,$f0 +/* aa58: 00000000 */ nop +/* aa5c: 460c003c */ c.lt.s $f0,$f12 +/* aa60: 00000000 */ nop +/* aa64: 45020003 */ bc1fl .L0000aa74 +/* aa68: 44800000 */ mtc1 $zero,$f0 +/* aa6c: 46000306 */ mov.s $f12,$f0 +/* aa70: 44800000 */ mtc1 $zero,$f0 +.L0000aa74: +/* aa74: 00000000 */ nop +/* aa78: 4600603c */ c.lt.s $f12,$f0 +/* aa7c: 00000000 */ nop +/* aa80: 45020003 */ bc1fl .L0000aa90 +/* aa84: 4600610d */ trunc.w.s $f4,$f12 +/* aa88: 46000306 */ mov.s $f12,$f0 +/* aa8c: 4600610d */ trunc.w.s $f4,$f12 +.L0000aa90: +/* aa90: 3c018006 */ lui $at,%hi(var8005ce98) +/* aa94: 2418000a */ addiu $t8,$zero,0xa +/* aa98: 440f2000 */ mfc1 $t7,$f4 +/* aa9c: 00000000 */ nop +/* aaa0: ac2fce98 */ sw $t7,%lo(var8005ce98)($at) +/* aaa4: 3c018006 */ lui $at,%hi(var8005ce9c) +/* aaa8: 03e00008 */ jr $ra +/* aaac: ac38ce9c */ sw $t8,%lo(var8005ce9c)($at) +); + +GLOBAL_ASM( +glabel func0000aab0 +/* aab0: 3c058006 */ lui $a1,%hi(g_ViData) +/* aab4: 24a5d594 */ addiu $a1,$a1,%lo(g_ViData) +/* aab8: 8cae0000 */ lw $t6,0x0($a1) +/* aabc: 00041840 */ sll $v1,$a0,0x1 +/* aac0: 3c027005 */ lui $v0,%hi(var700526d0) +/* aac4: a1c40000 */ sb $a0,0x0($t6) +/* aac8: 00431021 */ addu $v0,$v0,$v1 +/* aacc: 844226d0 */ lh $v0,%lo(var700526d0)($v0) +/* aad0: 8caf0000 */ lw $t7,0x0($a1) +/* aad4: a5e20018 */ sh $v0,0x18($t7) +/* aad8: 8cb80000 */ lw $t8,0x0($a1) +/* aadc: a7020004 */ sh $v0,0x4($t8) +/* aae0: 3c027005 */ lui $v0,%hi(var700526d8) +/* aae4: 00431021 */ addu $v0,$v0,$v1 +/* aae8: 844226d8 */ lh $v0,%lo(var700526d8)($v0) +/* aaec: 8cb90000 */ lw $t9,0x0($a1) +/* aaf0: a722001a */ sh $v0,0x1a($t9) +/* aaf4: 8ca80000 */ lw $t0,0x0($a1) +/* aaf8: 03e00008 */ jr $ra +/* aafc: a5020006 */ sh $v0,0x6($t0) +/* ab00: 240e0001 */ addiu $t6,$zero,0x1 +/* ab04: 3c018006 */ lui $at,%hi(var8005d598) +/* ab08: 03e00008 */ jr $ra +/* ab0c: ac2ed598 */ sw $t6,%lo(var8005d598)($at) +/* ab10: 3c018006 */ lui $at,%hi(var8005d598) +/* ab14: 03e00008 */ jr $ra +/* ab18: ac20d598 */ sw $zero,%lo(var8005d598)($at) +); + +void *viGetUnk28(void) +{ + return g_ViData->unk28; +} + +void *vi2GetUnk28(void) +{ + return var8005d590->unk28; +} + +void viSetUnk28(void *arg0) +{ + g_ViData->unk28 = arg0; +} + +GLOBAL_ASM( +glabel func0000ab4c +/* ab4c: 3c0f8009 */ lui $t7,%hi(var80092874+0x3) +/* ab50: 91ef2877 */ lbu $t7,%lo(var80092874+0x3)($t7) +/* ab54: 3c0e800a */ lui $t6,%hi(g_Vars+0x284) +/* ab58: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6) +/* ab5c: 000fc100 */ sll $t8,$t7,0x4 +/* ab60: 01d81021 */ addu $v0,$t6,$t8 +/* ab64: 03e00008 */ jr $ra +/* ab68: 24420610 */ addiu $v0,$v0,0x610 +); + +GLOBAL_ASM( +glabel func0000ab6c +/* ab6c: 3c028009 */ lui $v0,%hi(var80092874) +/* ab70: 03e00008 */ jr $ra +/* ab74: 94422874 */ lhu $v0,%lo(var80092874)($v0) +); + +GLOBAL_ASM( +glabel func0000ab78 +/* ab78: 3c028006 */ lui $v0,%hi(g_ViData) +/* ab7c: 8c42d594 */ lw $v0,%lo(g_ViData)($v0) +/* ab80: 27bdfeb0 */ addiu $sp,$sp,-336 +/* ab84: afbf002c */ sw $ra,0x2c($sp) +/* ab88: afb00028 */ sw $s0,0x28($sp) +/* ab8c: c4440010 */ lwc1 $f4,0x10($v0) +/* ab90: 8c47000c */ lw $a3,0xc($v0) +/* ab94: 8c460008 */ lw $a2,0x8($v0) +/* ab98: e7a40010 */ swc1 $f4,0x10($sp) +/* ab9c: c4400014 */ lwc1 $f0,0x14($v0) +/* aba0: 3c013f80 */ lui $at,0x3f80 +/* aba4: 44814000 */ mtc1 $at,$f8 +/* aba8: 46000180 */ add.s $f6,$f0,$f0 +/* abac: 00808025 */ or $s0,$a0,$zero +/* abb0: 27a40110 */ addiu $a0,$sp,0x110 +/* abb4: 27a50046 */ addiu $a1,$sp,0x46 +/* abb8: e7a60014 */ swc1 $f6,0x14($sp) +/* abbc: 0c001210 */ jal guPerspectiveF +/* abc0: e7a80018 */ swc1 $f8,0x18($sp) +/* abc4: 0fc2d5be */ jal currentPlayerGetMatrix1740 +/* abc8: 00000000 */ nop +/* abcc: 00402025 */ or $a0,$v0,$zero +/* abd0: 0c005746 */ jal func00015d18 +/* abd4: 27a50090 */ addiu $a1,$sp,0x90 +/* abd8: 44800000 */ mtc1 $zero,$f0 +/* abdc: 27a40110 */ addiu $a0,$sp,0x110 +/* abe0: 27a50090 */ addiu $a1,$sp,0x90 +/* abe4: 27a600d0 */ addiu $a2,$sp,0xd0 +/* abe8: e7a000c0 */ swc1 $f0,0xc0($sp) +/* abec: e7a000c4 */ swc1 $f0,0xc4($sp) +/* abf0: 0c005680 */ jal func00015a00 +/* abf4: e7a000c8 */ swc1 $f0,0xc8($sp) +/* abf8: 0fc59e66 */ jal gfxAllocateMatrix +/* abfc: 00000000 */ nop +/* ac00: afa2004c */ sw $v0,0x4c($sp) +/* ac04: 27a400d0 */ addiu $a0,$sp,0xd0 +/* ac08: 0c0128d8 */ jal guMtxF2L +/* ac0c: 00402825 */ or $a1,$v0,$zero +/* ac10: 0c00566c */ jal func000159b0 +/* ac14: 27a40050 */ addiu $a0,$sp,0x50 +/* ac18: 0fc59e66 */ jal gfxAllocateMatrix +/* ac1c: 00000000 */ nop +/* ac20: afa20048 */ sw $v0,0x48($sp) +/* ac24: 27a40050 */ addiu $a0,$sp,0x50 +/* ac28: 0c0128d8 */ jal guMtxF2L +/* ac2c: 00402825 */ or $a1,$v0,$zero +/* ac30: 3c0e0103 */ lui $t6,0x103 +/* ac34: 35ce0040 */ ori $t6,$t6,0x40 +/* ac38: 02001825 */ or $v1,$s0,$zero +/* ac3c: ac6e0000 */ sw $t6,0x0($v1) +/* ac40: 8faf004c */ lw $t7,0x4c($sp) +/* ac44: 3c068000 */ lui $a2,0x8000 +/* ac48: 26100008 */ addiu $s0,$s0,0x8 +/* ac4c: 3c190102 */ lui $t9,0x102 +/* ac50: 01e6c021 */ addu $t8,$t7,$a2 +/* ac54: ac780004 */ sw $t8,0x4($v1) +/* ac58: 37390040 */ ori $t9,$t9,0x40 +/* ac5c: 02002025 */ or $a0,$s0,$zero +/* ac60: ac990000 */ sw $t9,0x0($a0) +/* ac64: 8fa80048 */ lw $t0,0x48($sp) +/* ac68: 26100008 */ addiu $s0,$s0,0x8 +/* ac6c: 3c0abc00 */ lui $t2,0xbc00 +/* ac70: 01064821 */ addu $t1,$t0,$a2 +/* ac74: ac890004 */ sw $t1,0x4($a0) +/* ac78: 354a000e */ ori $t2,$t2,0xe +/* ac7c: 02002825 */ or $a1,$s0,$zero +/* ac80: acaa0000 */ sw $t2,0x0($a1) +/* ac84: 97ab0046 */ lhu $t3,0x46($sp) +/* ac88: 26020008 */ addiu $v0,$s0,0x8 +/* ac8c: acab0004 */ sw $t3,0x4($a1) +/* ac90: 8fbf002c */ lw $ra,0x2c($sp) +/* ac94: 8fb00028 */ lw $s0,0x28($sp) +/* ac98: 27bd0150 */ addiu $sp,$sp,0x150 +/* ac9c: 03e00008 */ jr $ra +/* aca0: 00000000 */ nop +); + +GLOBAL_ASM( +glabel func0000aca4 +/* aca4: 27bdff78 */ addiu $sp,$sp,-136 +/* aca8: afbf002c */ sw $ra,0x2c($sp) +/* acac: afb00028 */ sw $s0,0x28($sp) +/* acb0: 00808025 */ or $s0,$a0,$zero +/* acb4: afa5008c */ sw $a1,0x8c($sp) +/* acb8: 0fc59e66 */ jal gfxAllocateMatrix +/* acbc: afa60090 */ sw $a2,0x90($sp) +/* acc0: 3c038006 */ lui $v1,%hi(g_ViData) +/* acc4: 8c63d594 */ lw $v1,%lo(g_ViData)($v1) +/* acc8: afa20040 */ sw $v0,0x40($sp) +/* accc: 3c013f80 */ lui $at,0x3f80 +/* acd0: 44814000 */ mtc1 $at,$f8 +/* acd4: c7a4008c */ lwc1 $f4,0x8c($sp) +/* acd8: c7a60090 */ lwc1 $f6,0x90($sp) +/* acdc: 8c67000c */ lw $a3,0xc($v1) +/* ace0: 8c660008 */ lw $a2,0x8($v1) +/* ace4: 27a40044 */ addiu $a0,$sp,0x44 +/* ace8: 27a50086 */ addiu $a1,$sp,0x86 +/* acec: e7a80018 */ swc1 $f8,0x18($sp) +/* acf0: e7a40010 */ swc1 $f4,0x10($sp) +/* acf4: 0c001210 */ jal guPerspectiveF +/* acf8: e7a60014 */ swc1 $f6,0x14($sp) +/* acfc: 27a40044 */ addiu $a0,$sp,0x44 +/* ad00: 0c0128d8 */ jal guMtxF2L +/* ad04: 8fa50040 */ lw $a1,0x40($sp) +/* ad08: 3c0e0103 */ lui $t6,0x103 +/* ad0c: 35ce0040 */ ori $t6,$t6,0x40 +/* ad10: 02001825 */ or $v1,$s0,$zero +/* ad14: ac6e0000 */ sw $t6,0x0($v1) +/* ad18: 8faf0040 */ lw $t7,0x40($sp) +/* ad1c: 3c018000 */ lui $at,0x8000 +/* ad20: 26100008 */ addiu $s0,$s0,0x8 +/* ad24: 3c19bc00 */ lui $t9,0xbc00 +/* ad28: 01e1c021 */ addu $t8,$t7,$at +/* ad2c: ac780004 */ sw $t8,0x4($v1) +/* ad30: 3739000e */ ori $t9,$t9,0xe +/* ad34: 02002025 */ or $a0,$s0,$zero +/* ad38: ac990000 */ sw $t9,0x0($a0) +/* ad3c: 97a80086 */ lhu $t0,0x86($sp) +/* ad40: 26020008 */ addiu $v0,$s0,0x8 +/* ad44: ac880004 */ sw $t0,0x4($a0) +/* ad48: 8fbf002c */ lw $ra,0x2c($sp) +/* ad4c: 8fb00028 */ lw $s0,0x28($sp) +/* ad50: 27bd0088 */ addiu $sp,$sp,0x88 +/* ad54: 03e00008 */ jr $ra +/* ad58: 00000000 */ nop +); + +GLOBAL_ASM( +glabel func0000ad5c +/* ad5c: 3c088006 */ lui $t0,%hi(g_ViData) +/* ad60: 2508d594 */ addiu $t0,$t0,%lo(g_ViData) +/* ad64: 8d0e0000 */ lw $t6,0x0($t0) +/* ad68: 27bdffd0 */ addiu $sp,$sp,-48 +/* ad6c: 3c028009 */ lui $v0,%hi(var80092874+0x3) +/* ad70: 24422877 */ addiu $v0,$v0,%lo(var80092874+0x3) +/* ad74: 90590000 */ lbu $t9,0x0($v0) +/* ad78: afbf002c */ sw $ra,0x2c($sp) +/* ad7c: afb00028 */ sw $s0,0x28($sp) +/* ad80: 85cf001c */ lh $t7,0x1c($t6) +/* ad84: 00194900 */ sll $t1,$t9,0x4 +/* ad88: 00a95021 */ addu $t2,$a1,$t1 +/* ad8c: 000fc040 */ sll $t8,$t7,0x1 +/* ad90: a5580000 */ sh $t8,0x0($t2) +/* ad94: 8d030000 */ lw $v1,0x0($t0) +/* ad98: 90590000 */ lbu $t9,0x0($v0) +/* ad9c: 3c018000 */ lui $at,0x8000 +/* ada0: 846b001c */ lh $t3,0x1c($v1) +/* ada4: 846d0020 */ lh $t5,0x20($v1) +/* ada8: 00194900 */ sll $t1,$t9,0x4 +/* adac: 000b6040 */ sll $t4,$t3,0x1 +/* adb0: 000d7080 */ sll $t6,$t5,0x2 +/* adb4: 018e7821 */ addu $t7,$t4,$t6 +/* adb8: 00a9c021 */ addu $t8,$a1,$t1 +/* adbc: a70f0008 */ sh $t7,0x8($t8) +/* adc0: 8d0a0000 */ lw $t2,0x0($t0) +/* adc4: 904c0000 */ lbu $t4,0x0($v0) +/* adc8: 24900008 */ addiu $s0,$a0,0x8 +/* adcc: 854b001e */ lh $t3,0x1e($t2) +/* add0: 000c7100 */ sll $t6,$t4,0x4 +/* add4: 00aec821 */ addu $t9,$a1,$t6 +/* add8: 000b6840 */ sll $t5,$t3,0x1 +/* addc: a72d0002 */ sh $t5,0x2($t9) +/* ade0: 8d030000 */ lw $v1,0x0($t0) +/* ade4: 904c0000 */ lbu $t4,0x0($v0) +/* ade8: 3c190380 */ lui $t9,0x380 +/* adec: 8469001e */ lh $t1,0x1e($v1) +/* adf0: 84780022 */ lh $t8,0x22($v1) +/* adf4: 000c7100 */ sll $t6,$t4,0x4 +/* adf8: 00097840 */ sll $t7,$t1,0x1 +/* adfc: 00185080 */ sll $t2,$t8,0x2 +/* ae00: 01ea5821 */ addu $t3,$t7,$t2 +/* ae04: 00ae6821 */ addu $t5,$a1,$t6 +/* ae08: a5ab000a */ sh $t3,0xa($t5) +/* ae0c: 37390010 */ ori $t9,$t9,0x10 +/* ae10: ac990000 */ sw $t9,0x0($a0) +/* ae14: 90490000 */ lbu $t1,0x0($v0) +/* ae18: 0009c100 */ sll $t8,$t1,0x4 +/* ae1c: 03057821 */ addu $t7,$t8,$a1 +/* ae20: 01e15021 */ addu $t2,$t7,$at +/* ae24: 0fc59e66 */ jal gfxAllocateMatrix +/* ae28: ac8a0004 */ sw $t2,0x4($a0) +/* ae2c: 3c088006 */ lui $t0,%hi(g_ViData) +/* ae30: 3c018009 */ lui $at,%hi(var80092870) +/* ae34: ac222870 */ sw $v0,%lo(var80092870)($at) +/* ae38: 2508d594 */ addiu $t0,$t0,%lo(g_ViData) +/* ae3c: 8d030000 */ lw $v1,0x0($t0) +/* ae40: 3c013f80 */ lui $at,0x3f80 +/* ae44: 44814000 */ mtc1 $at,$f8 +/* ae48: c4640010 */ lwc1 $f4,0x10($v1) +/* ae4c: 8c660008 */ lw $a2,0x8($v1) +/* ae50: 8c67000c */ lw $a3,0xc($v1) +/* ae54: e7a40010 */ swc1 $f4,0x10($sp) +/* ae58: c4660014 */ lwc1 $f6,0x14($v1) +/* ae5c: 3c048009 */ lui $a0,%hi(var80092830) +/* ae60: 3c058009 */ lui $a1,%hi(var80092874) +/* ae64: 24a52874 */ addiu $a1,$a1,%lo(var80092874) +/* ae68: 24842830 */ addiu $a0,$a0,%lo(var80092830) +/* ae6c: e7a80018 */ swc1 $f8,0x18($sp) +/* ae70: 0c001210 */ jal guPerspectiveF +/* ae74: e7a60014 */ swc1 $f6,0x14($sp) +/* ae78: 3c048009 */ lui $a0,%hi(var80092830) +/* ae7c: 3c058009 */ lui $a1,%hi(var80092870) +/* ae80: 8ca52870 */ lw $a1,%lo(var80092870)($a1) +/* ae84: 0c0128d8 */ jal guMtxF2L +/* ae88: 24842830 */ addiu $a0,$a0,%lo(var80092830) +/* ae8c: 3c0c0103 */ lui $t4,0x103 +/* ae90: 3c058009 */ lui $a1,%hi(var80092870) +/* ae94: 358c0040 */ ori $t4,$t4,0x40 +/* ae98: 02001025 */ or $v0,$s0,$zero +/* ae9c: 24a52870 */ addiu $a1,$a1,%lo(var80092870) +/* aea0: ac4c0000 */ sw $t4,0x0($v0) +/* aea4: 8cae0000 */ lw $t6,0x0($a1) +/* aea8: 3c018000 */ lui $at,0x8000 +/* aeac: 26100008 */ addiu $s0,$s0,0x8 +/* aeb0: 3c0dbc00 */ lui $t5,0xbc00 +/* aeb4: 01c15821 */ addu $t3,$t6,$at +/* aeb8: ac4b0004 */ sw $t3,0x4($v0) +/* aebc: 35ad000e */ ori $t5,$t5,0xe +/* aec0: 02001825 */ or $v1,$s0,$zero +/* aec4: ac6d0000 */ sw $t5,0x0($v1) +/* aec8: 3c198009 */ lui $t9,%hi(var80092874) +/* aecc: 97392874 */ lhu $t9,%lo(var80092874)($t9) +/* aed0: 26100008 */ addiu $s0,$s0,0x8 +/* aed4: ac790004 */ sw $t9,0x4($v1) +/* aed8: 0fc2d3f6 */ jal currentPlayerSetUnk1750 +/* aedc: 8ca40000 */ lw $a0,0x0($a1) +/* aee0: 3c048009 */ lui $a0,%hi(var80092830) +/* aee4: 0fc2d5c2 */ jal currentPlayerSetUnk1754 +/* aee8: 24842830 */ addiu $a0,$a0,%lo(var80092830) +/* aeec: 8fbf002c */ lw $ra,0x2c($sp) +/* aef0: 02001025 */ or $v0,$s0,$zero +/* aef4: 8fb00028 */ lw $s0,0x28($sp) +/* aef8: 03e00008 */ jr $ra +/* aefc: 27bd0030 */ addiu $sp,$sp,0x30 +); + +GLOBAL_ASM( +glabel func0000af00 +/* af00: 3c088006 */ lui $t0,%hi(g_ViData) +/* af04: 2508d594 */ addiu $t0,$t0,%lo(g_ViData) +/* af08: 8d0e0000 */ lw $t6,0x0($t0) +/* af0c: 27bdffd0 */ addiu $sp,$sp,-48 +/* af10: 3c028009 */ lui $v0,%hi(var80092874+0x3) +/* af14: 24422877 */ addiu $v0,$v0,%lo(var80092874+0x3) +/* af18: 90590000 */ lbu $t9,0x0($v0) +/* af1c: afbf002c */ sw $ra,0x2c($sp) +/* af20: afb00028 */ sw $s0,0x28($sp) +/* af24: 85cf001c */ lh $t7,0x1c($t6) +/* af28: 00194900 */ sll $t1,$t9,0x4 +/* af2c: 00a95021 */ addu $t2,$a1,$t1 +/* af30: 000fc040 */ sll $t8,$t7,0x1 +/* af34: a5580000 */ sh $t8,0x0($t2) +/* af38: 8d030000 */ lw $v1,0x0($t0) +/* af3c: 90590000 */ lbu $t9,0x0($v0) +/* af40: 240701ff */ addiu $a3,$zero,0x1ff +/* af44: 846b001c */ lh $t3,0x1c($v1) +/* af48: 846d0020 */ lh $t5,0x20($v1) +/* af4c: 00194900 */ sll $t1,$t9,0x4 +/* af50: 000b6040 */ sll $t4,$t3,0x1 +/* af54: 000d7080 */ sll $t6,$t5,0x2 +/* af58: 018e7821 */ addu $t7,$t4,$t6 +/* af5c: 00a9c021 */ addu $t8,$a1,$t1 +/* af60: a70f0008 */ sh $t7,0x8($t8) +/* af64: 8d0a0000 */ lw $t2,0x0($t0) +/* af68: 904c0000 */ lbu $t4,0x0($v0) +/* af6c: 3c018000 */ lui $at,0x8000 +/* af70: 854b001e */ lh $t3,0x1e($t2) +/* af74: 000c7100 */ sll $t6,$t4,0x4 +/* af78: 00aec821 */ addu $t9,$a1,$t6 +/* af7c: 000b6840 */ sll $t5,$t3,0x1 +/* af80: a72d0002 */ sh $t5,0x2($t9) +/* af84: 8d030000 */ lw $v1,0x0($t0) +/* af88: 904c0000 */ lbu $t4,0x0($v0) +/* af8c: 24900008 */ addiu $s0,$a0,0x8 +/* af90: 8469001e */ lh $t1,0x1e($v1) +/* af94: 84780022 */ lh $t8,0x22($v1) +/* af98: 000c7100 */ sll $t6,$t4,0x4 +/* af9c: 00097840 */ sll $t7,$t1,0x1 +/* afa0: 00185080 */ sll $t2,$t8,0x2 +/* afa4: 01ea5821 */ addu $t3,$t7,$t2 +/* afa8: 00ae6821 */ addu $t5,$a1,$t6 +/* afac: a5ab000a */ sh $t3,0xa($t5) +/* afb0: 90590000 */ lbu $t9,0x0($v0) +/* afb4: 00194900 */ sll $t1,$t9,0x4 +/* afb8: 00a9c021 */ addu $t8,$a1,$t1 +/* afbc: a7070004 */ sh $a3,0x4($t8) +/* afc0: 904f0000 */ lbu $t7,0x0($v0) +/* afc4: 000f5100 */ sll $t2,$t7,0x4 +/* afc8: 00aa6021 */ addu $t4,$a1,$t2 +/* afcc: a587000c */ sh $a3,0xc($t4) +/* afd0: 904e0000 */ lbu $t6,0x0($v0) +/* afd4: 3c0f0380 */ lui $t7,0x380 +/* afd8: 35ef0010 */ ori $t7,$t7,0x10 +/* afdc: 000e5900 */ sll $t3,$t6,0x4 +/* afe0: 00ab6821 */ addu $t5,$a1,$t3 +/* afe4: a5a00006 */ sh $zero,0x6($t5) +/* afe8: 90590000 */ lbu $t9,0x0($v0) +/* afec: 00194900 */ sll $t1,$t9,0x4 +/* aff0: 00a9c021 */ addu $t8,$a1,$t1 +/* aff4: a700000e */ sh $zero,0xe($t8) +/* aff8: ac8f0000 */ sw $t7,0x0($a0) +/* affc: 904a0000 */ lbu $t2,0x0($v0) +/* b000: 000a6100 */ sll $t4,$t2,0x4 +/* b004: 01857021 */ addu $t6,$t4,$a1 +/* b008: 01c15821 */ addu $t3,$t6,$at +/* b00c: 0fc59e66 */ jal gfxAllocateMatrix +/* b010: ac8b0004 */ sw $t3,0x4($a0) +/* b014: 3c088006 */ lui $t0,%hi(g_ViData) +/* b018: 3c018009 */ lui $at,%hi(var80092870) +/* b01c: ac222870 */ sw $v0,%lo(var80092870)($at) +/* b020: 2508d594 */ addiu $t0,$t0,%lo(g_ViData) +/* b024: 8d030000 */ lw $v1,0x0($t0) +/* b028: 3c013f80 */ lui $at,0x3f80 +/* b02c: 44814000 */ mtc1 $at,$f8 +/* b030: c4640010 */ lwc1 $f4,0x10($v1) +/* b034: 8c660008 */ lw $a2,0x8($v1) +/* b038: 8c67000c */ lw $a3,0xc($v1) +/* b03c: e7a40010 */ swc1 $f4,0x10($sp) +/* b040: c4660014 */ lwc1 $f6,0x14($v1) +/* b044: 3c048009 */ lui $a0,%hi(var80092830) +/* b048: 3c058009 */ lui $a1,%hi(var80092874) +/* b04c: 24a52874 */ addiu $a1,$a1,%lo(var80092874) +/* b050: 24842830 */ addiu $a0,$a0,%lo(var80092830) +/* b054: e7a80018 */ swc1 $f8,0x18($sp) +/* b058: 0c001210 */ jal guPerspectiveF +/* b05c: e7a60014 */ swc1 $f6,0x14($sp) +/* b060: 3c048009 */ lui $a0,%hi(var80092830) +/* b064: 3c058009 */ lui $a1,%hi(var80092870) +/* b068: 8ca52870 */ lw $a1,%lo(var80092870)($a1) +/* b06c: 0c0128d8 */ jal guMtxF2L +/* b070: 24842830 */ addiu $a0,$a0,%lo(var80092830) +/* b074: 3c0d0103 */ lui $t5,0x103 +/* b078: 3c058009 */ lui $a1,%hi(var80092870) +/* b07c: 35ad0040 */ ori $t5,$t5,0x40 +/* b080: 02001025 */ or $v0,$s0,$zero +/* b084: 24a52870 */ addiu $a1,$a1,%lo(var80092870) +/* b088: ac4d0000 */ sw $t5,0x0($v0) +/* b08c: 8cb90000 */ lw $t9,0x0($a1) +/* b090: 3c018000 */ lui $at,0x8000 +/* b094: 26100008 */ addiu $s0,$s0,0x8 +/* b098: 3c18bc00 */ lui $t8,0xbc00 +/* b09c: 03214821 */ addu $t1,$t9,$at +/* b0a0: ac490004 */ sw $t1,0x4($v0) +/* b0a4: 3718000e */ ori $t8,$t8,0xe +/* b0a8: 02001825 */ or $v1,$s0,$zero +/* b0ac: ac780000 */ sw $t8,0x0($v1) +/* b0b0: 3c0f8009 */ lui $t7,%hi(var80092874) +/* b0b4: 95ef2874 */ lhu $t7,%lo(var80092874)($t7) +/* b0b8: 26100008 */ addiu $s0,$s0,0x8 +/* b0bc: ac6f0004 */ sw $t7,0x4($v1) +/* b0c0: 0fc2d3f6 */ jal currentPlayerSetUnk1750 +/* b0c4: 8ca40000 */ lw $a0,0x0($a1) +/* b0c8: 3c048009 */ lui $a0,%hi(var80092830) +/* b0cc: 0fc2d5c2 */ jal currentPlayerSetUnk1754 +/* b0d0: 24842830 */ addiu $a0,$a0,%lo(var80092830) +/* b0d4: 8fbf002c */ lw $ra,0x2c($sp) +/* b0d8: 02001025 */ or $v0,$s0,$zero +/* b0dc: 8fb00028 */ lw $s0,0x28($sp) +/* b0e0: 03e00008 */ jr $ra +/* b0e4: 27bd0030 */ addiu $sp,$sp,0x30 +); + +GLOBAL_ASM( +glabel func0000b0e8 +/* b0e8: 27bdff80 */ addiu $sp,$sp,-128 +/* b0ec: afbf002c */ sw $ra,0x2c($sp) +/* b0f0: afb00028 */ sw $s0,0x28($sp) +/* b0f4: 00808025 */ or $s0,$a0,$zero +/* b0f8: afa50084 */ sw $a1,0x84($sp) +/* b0fc: 0fc59e66 */ jal gfxAllocateMatrix +/* b100: afa60088 */ sw $a2,0x88($sp) +/* b104: 3c038006 */ lui $v1,%hi(g_ViData) +/* b108: 8c63d594 */ lw $v1,%lo(g_ViData)($v1) +/* b10c: afa2003c */ sw $v0,0x3c($sp) +/* b110: 3c013f80 */ lui $at,0x3f80 +/* b114: c4640010 */ lwc1 $f4,0x10($v1) +/* b118: 44814000 */ mtc1 $at,$f8 +/* b11c: 3c058009 */ lui $a1,%hi(var80092874) +/* b120: e7a40010 */ swc1 $f4,0x10($sp) +/* b124: c4660014 */ lwc1 $f6,0x14($v1) +/* b128: 24a52874 */ addiu $a1,$a1,%lo(var80092874) +/* b12c: 27a40040 */ addiu $a0,$sp,0x40 +/* b130: 8fa60084 */ lw $a2,0x84($sp) +/* b134: 8fa70088 */ lw $a3,0x88($sp) +/* b138: e7a80018 */ swc1 $f8,0x18($sp) +/* b13c: 0c001210 */ jal guPerspectiveF +/* b140: e7a60014 */ swc1 $f6,0x14($sp) +/* b144: 27a40040 */ addiu $a0,$sp,0x40 +/* b148: 0c0128d8 */ jal guMtxF2L +/* b14c: 8fa5003c */ lw $a1,0x3c($sp) +/* b150: 3c0e0103 */ lui $t6,0x103 +/* b154: 35ce0040 */ ori $t6,$t6,0x40 +/* b158: 02001825 */ or $v1,$s0,$zero +/* b15c: ac6e0000 */ sw $t6,0x0($v1) +/* b160: 8faf003c */ lw $t7,0x3c($sp) +/* b164: 3c018000 */ lui $at,0x8000 +/* b168: 26100008 */ addiu $s0,$s0,0x8 +/* b16c: 3c19bc00 */ lui $t9,0xbc00 +/* b170: 01e1c021 */ addu $t8,$t7,$at +/* b174: ac780004 */ sw $t8,0x4($v1) +/* b178: 3739000e */ ori $t9,$t9,0xe +/* b17c: 02002025 */ or $a0,$s0,$zero +/* b180: ac990000 */ sw $t9,0x0($a0) +/* b184: 3c088009 */ lui $t0,%hi(var80092874) +/* b188: 95082874 */ lhu $t0,%lo(var80092874)($t0) +/* b18c: 26020008 */ addiu $v0,$s0,0x8 +/* b190: ac880004 */ sw $t0,0x4($a0) +/* b194: 8fbf002c */ lw $ra,0x2c($sp) +/* b198: 8fb00028 */ lw $s0,0x28($sp) +/* b19c: 27bd0080 */ addiu $sp,$sp,0x80 +/* b1a0: 03e00008 */ jr $ra +/* b1a4: 00000000 */ nop +); + +GLOBAL_ASM( +glabel func0000b1a8 +/* b1a8: 3c05800a */ lui $a1,%hi(g_Vars+0x284) +/* b1ac: 8ca5a244 */ lw $a1,%lo(g_Vars+0x284)($a1) +/* b1b0: 27bdffe8 */ addiu $sp,$sp,-24 +/* b1b4: afbf0014 */ sw $ra,0x14($sp) +/* b1b8: 0c002b57 */ jal func0000ad5c +/* b1bc: 24a50610 */ addiu $a1,$a1,1552 +/* b1c0: 8fbf0014 */ lw $ra,0x14($sp) +/* b1c4: 27bd0018 */ addiu $sp,$sp,0x18 +/* b1c8: 03e00008 */ jr $ra +/* b1cc: 00000000 */ nop +); + +GLOBAL_ASM( +glabel func0000b1d0 +/* b1d0: 27bdffe8 */ addiu $sp,$sp,-24 +/* b1d4: afbf0014 */ sw $ra,0x14($sp) +/* b1d8: 0c002c6a */ jal func0000b1a8 +/* b1dc: 00000000 */ nop +/* b1e0: 3c0e8006 */ lui $t6,%hi(var8005d598) +/* b1e4: 8dced598 */ lw $t6,%lo(var8005d598)($t6) +/* b1e8: 3c058006 */ lui $a1,%hi(g_ViData) +/* b1ec: 24a5d594 */ addiu $a1,$a1,%lo(g_ViData) +/* b1f0: 51c00012 */ beqzl $t6,.L0000b23c +/* b1f4: 8cad0000 */ lw $t5,0x0($a1) +/* b1f8: 3c058006 */ lui $a1,%hi(g_ViData) +/* b1fc: 24a5d594 */ addiu $a1,$a1,%lo(g_ViData) +/* b200: 8caf0000 */ lw $t7,0x0($a1) +/* b204: 3c01ff10 */ lui $at,0xff10 +/* b208: 24440008 */ addiu $a0,$v0,0x8 +/* b20c: 85f80018 */ lh $t8,0x18($t7) +/* b210: 2719ffff */ addiu $t9,$t8,-1 +/* b214: 33280fff */ andi $t0,$t9,0xfff +/* b218: 01014825 */ or $t1,$t0,$at +/* b21c: ac490000 */ sw $t1,0x0($v0) +/* b220: 8caa0000 */ lw $t2,0x0($a1) +/* b224: 3c018000 */ lui $at,0x8000 +/* b228: 8d4b0028 */ lw $t3,0x28($t2) +/* b22c: 01616021 */ addu $t4,$t3,$at +/* b230: 1000000e */ b .L0000b26c +/* b234: ac4c0004 */ sw $t4,0x4($v0) +/* b238: 8cad0000 */ lw $t5,0x0($a1) +.L0000b23c: +/* b23c: 3c01ff18 */ lui $at,0xff18 +/* b240: 3c08800a */ lui $t0,%hi(var8009cac0) +/* b244: 85ae0018 */ lh $t6,0x18($t5) +/* b248: 24440008 */ addiu $a0,$v0,0x8 +/* b24c: 25cfffff */ addiu $t7,$t6,-1 +/* b250: 31f80fff */ andi $t8,$t7,0xfff +/* b254: 0301c825 */ or $t9,$t8,$at +/* b258: ac590000 */ sw $t9,0x0($v0) +/* b25c: 8d08cac0 */ lw $t0,%lo(var8009cac0)($t0) +/* b260: 3c018000 */ lui $at,0x8000 +/* b264: 01014821 */ addu $t1,$t0,$at +/* b268: ac490004 */ sw $t1,0x4($v0) +.L0000b26c: +/* b26c: 8fbf0014 */ lw $ra,0x14($sp) +/* b270: 27bd0018 */ addiu $sp,$sp,0x18 +/* b274: 00801025 */ or $v0,$a0,$zero +/* b278: 03e00008 */ jr $ra +/* b27c: 00000000 */ nop +); + +GLOBAL_ASM( +glabel func0000b280 +/* b280: 3c0e8006 */ lui $t6,%hi(g_ViData) +/* b284: 8dced594 */ lw $t6,%lo(g_ViData)($t6) +/* b288: 27bdffe8 */ addiu $sp,$sp,-24 +/* b28c: afbf0014 */ sw $ra,0x14($sp) +/* b290: 8dcf0024 */ lw $t7,0x24($t6) +/* b294: 51e00007 */ beqzl $t7,.L0000b2b4 +/* b298: 8fbf0014 */ lw $ra,0x14($sp) +/* b29c: 0fc5d8ab */ jal func0f1762ac +/* b2a0: 00000000 */ nop +/* b2a4: 0fc5d8fd */ jal func0f1763f4 +/* b2a8: 00402025 */ or $a0,$v0,$zero +/* b2ac: 00402025 */ or $a0,$v0,$zero +/* b2b0: 8fbf0014 */ lw $ra,0x14($sp) +.L0000b2b4: +/* b2b4: 27bd0018 */ addiu $sp,$sp,0x18 +/* b2b8: 00801025 */ or $v0,$a0,$zero +/* b2bc: 03e00008 */ jr $ra +/* b2c0: 00000000 */ nop +); + +Gfx *func0000b2c4(Gfx *gdl) +{ + gDPSetCycleType(gdl++, G_CYC_FILL); + gDPFillRectangle(gdl++, 0, 0, g_ViData->bufx - 1, g_ViData->bufy - 1); + gDPPipeSync(gdl++); + + return gdl; +} + +GLOBAL_ASM( +glabel func0000b330 +/* b330: 27bdff58 */ addiu $sp,$sp,-168 +/* b334: afbf0014 */ sw $ra,0x14($sp) +/* b338: 3c0eba00 */ lui $t6,0xba00 +/* b33c: 35ce1402 */ ori $t6,$t6,0x1402 +/* b340: 24830008 */ addiu $v1,$a0,0x8 +/* b344: 3c0f0030 */ lui $t7,0x30 +/* b348: ac8f0004 */ sw $t7,0x4($a0) +/* b34c: ac8e0000 */ sw $t6,0x0($a0) +/* b350: 3c18ed00 */ lui $t8,0xed00 +/* b354: ac780000 */ sw $t8,0x0($v1) +/* b358: 24660008 */ addiu $a2,$v1,0x8 +/* b35c: afa600a8 */ sw $a2,0xa8($sp) +/* b360: 0c002f02 */ jal viGetWidth +/* b364: afa300a0 */ sw $v1,0xa0($sp) +/* b368: 0c002f06 */ jal viGetHeight +/* b36c: a7a20056 */ sh $v0,0x56($sp) +/* b370: 44822000 */ mtc1 $v0,$f4 +/* b374: 87af0056 */ lh $t7,0x56($sp) +/* b378: 3c014080 */ lui $at,0x4080 +/* b37c: 468021a0 */ cvt.s.w $f6,$f4 +/* b380: 448f8000 */ mtc1 $t7,$f16 +/* b384: 44810000 */ mtc1 $at,$f0 +/* b388: 8fa600a8 */ lw $a2,0xa8($sp) +/* b38c: 3c0b800a */ lui $t3,%hi(g_Vars) +/* b390: 468084a0 */ cvt.s.w $f18,$f16 +/* b394: 46003202 */ mul.s $f8,$f6,$f0 +/* b398: 00c01825 */ or $v1,$a2,$zero +/* b39c: 256b9fc0 */ addiu $t3,$t3,%lo(g_Vars) +/* b3a0: 24010001 */ addiu $at,$zero,0x1 +/* b3a4: 00002825 */ or $a1,$zero,$zero +/* b3a8: 46009102 */ mul.s $f4,$f18,$f0 +/* b3ac: 00002025 */ or $a0,$zero,$zero +/* b3b0: 24c60008 */ addiu $a2,$a2,0x8 +/* b3b4: 4600428d */ trunc.w.s $f10,$f8 +/* b3b8: 4600218d */ trunc.w.s $f6,$f4 +/* b3bc: 440d5000 */ mfc1 $t5,$f10 +/* b3c0: 44193000 */ mfc1 $t9,$f6 +/* b3c4: 31ae0fff */ andi $t6,$t5,0xfff +/* b3c8: 332d0fff */ andi $t5,$t9,0xfff +/* b3cc: 8fb900a0 */ lw $t9,0xa0($sp) +/* b3d0: 000d7b00 */ sll $t7,$t5,0xc +/* b3d4: 01cfc025 */ or $t8,$t6,$t7 +/* b3d8: 3c0e0001 */ lui $t6,0x1 +/* b3dc: af380004 */ sw $t8,0x4($t9) +/* b3e0: 35ce0001 */ ori $t6,$t6,0x1 +/* b3e4: 3c0df700 */ lui $t5,0xf700 +/* b3e8: ac6d0000 */ sw $t5,0x0($v1) +/* b3ec: ac6e0004 */ sw $t6,0x4($v1) +/* b3f0: 8d6f006c */ lw $t7,0x6c($t3) +/* b3f4: 00001825 */ or $v1,$zero,$zero +/* b3f8: 11e00003 */ beqz $t7,.L0000b408 +/* b3fc: 00000000 */ nop +/* b400: 10000001 */ b .L0000b408 +/* b404: 24050001 */ addiu $a1,$zero,0x1 +.L0000b408: +/* b408: 8d780068 */ lw $t8,0x68($t3) +/* b40c: 00001025 */ or $v0,$zero,$zero +/* b410: 13000003 */ beqz $t8,.L0000b420 +/* b414: 00000000 */ nop +/* b418: 10000001 */ b .L0000b420 +/* b41c: 24040001 */ addiu $a0,$zero,0x1 +.L0000b420: +/* b420: 8d790064 */ lw $t9,0x64($t3) +/* b424: 13200003 */ beqz $t9,.L0000b434 +/* b428: 00000000 */ nop +/* b42c: 10000001 */ b .L0000b434 +/* b430: 24030001 */ addiu $v1,$zero,0x1 +.L0000b434: +/* b434: 8d6d0070 */ lw $t5,0x70($t3) +/* b438: 11a00003 */ beqz $t5,.L0000b448 +/* b43c: 00000000 */ nop +/* b440: 10000001 */ b .L0000b448 +/* b444: 24020001 */ addiu $v0,$zero,0x1 +.L0000b448: +/* b448: 00437021 */ addu $t6,$v0,$v1 +/* b44c: 01c47821 */ addu $t7,$t6,$a0 +/* b450: 01e5c021 */ addu $t8,$t7,$a1 +/* b454: 13010010 */ beq $t8,$at,.L0000b498 +/* b458: 00000000 */ nop +/* b45c: 8d790298 */ lw $t9,0x298($t3) +/* b460: 07210004 */ bgez $t9,.L0000b474 +/* b464: 00000000 */ nop +/* b468: 8d6d029c */ lw $t5,0x29c($t3) +/* b46c: 05a20057 */ bltzl $t5,.L0000b5cc +/* b470: 8d6d0290 */ lw $t5,0x290($t3) +.L0000b474: +/* b474: 0fc2f130 */ jal func0f0bc4c0 +/* b478: afa600a8 */ sw $a2,0xa8($sp) +/* b47c: 3c0b800a */ lui $t3,%hi(g_Vars) +/* b480: 256b9fc0 */ addiu $t3,$t3,%lo(g_Vars) +/* b484: 10400050 */ beqz $v0,.L0000b5c8 +/* b488: 8fa600a8 */ lw $a2,0xa8($sp) +/* b48c: 8d6e028c */ lw $t6,0x28c($t3) +/* b490: 55c0004e */ bnezl $t6,.L0000b5cc +/* b494: 8d6d0290 */ lw $t5,0x290($t3) +.L0000b498: +/* b498: 0c002f44 */ jal viGetViewTop +/* b49c: afa600a8 */ sw $a2,0xa8($sp) +/* b4a0: 1840001a */ blez $v0,.L0000b50c +/* b4a4: 8fa600a8 */ lw $a2,0xa8($sp) +/* b4a8: afa60098 */ sw $a2,0x98($sp) +/* b4ac: 24c60008 */ addiu $a2,$a2,0x8 +/* b4b0: 0c002f02 */ jal viGetWidth +/* b4b4: afa600a8 */ sw $a2,0xa8($sp) +/* b4b8: 0c002f44 */ jal viGetViewTop +/* b4bc: a7a20056 */ sh $v0,0x56($sp) +/* b4c0: 87ae0056 */ lh $t6,0x56($sp) +/* b4c4: 244fffff */ addiu $t7,$v0,-1 +/* b4c8: 31f803ff */ andi $t8,$t7,0x3ff +/* b4cc: 0018c880 */ sll $t9,$t8,0x2 +/* b4d0: 8fa40098 */ lw $a0,0x98($sp) +/* b4d4: 8fa600a8 */ lw $a2,0xa8($sp) +/* b4d8: 3c01f600 */ lui $at,0xf600 +/* b4dc: 25cfffff */ addiu $t7,$t6,-1 +/* b4e0: 31f803ff */ andi $t8,$t7,0x3ff +/* b4e4: 03216825 */ or $t5,$t9,$at +/* b4e8: 0018cb80 */ sll $t9,$t8,0xe +/* b4ec: 01b97025 */ or $t6,$t5,$t9 +/* b4f0: 00c01825 */ or $v1,$a2,$zero +/* b4f4: ac8e0000 */ sw $t6,0x0($a0) +/* b4f8: ac800004 */ sw $zero,0x4($a0) +/* b4fc: 3c0fe700 */ lui $t7,0xe700 +/* b500: ac6f0000 */ sw $t7,0x0($v1) +/* b504: ac600004 */ sw $zero,0x4($v1) +/* b508: 24c60008 */ addiu $a2,$a2,0x8 +.L0000b50c: +/* b50c: 0c002f26 */ jal viGetViewHeight +/* b510: afa600a8 */ sw $a2,0xa8($sp) +/* b514: 0c002f44 */ jal viGetViewTop +/* b518: a7a20042 */ sh $v0,0x42($sp) +/* b51c: 0c002f06 */ jal viGetHeight +/* b520: a7a20056 */ sh $v0,0x56($sp) +/* b524: 87b80056 */ lh $t8,0x56($sp) +/* b528: 87ad0042 */ lh $t5,0x42($sp) +/* b52c: 8fa600a8 */ lw $a2,0xa8($sp) +/* b530: 030dc821 */ addu $t9,$t8,$t5 +/* b534: 0322082a */ slt $at,$t9,$v0 +/* b538: 50200195 */ beqzl $at,.L0000bb90 +/* b53c: 8fbf0014 */ lw $ra,0x14($sp) +/* b540: afa60090 */ sw $a2,0x90($sp) +/* b544: 24c60008 */ addiu $a2,$a2,0x8 +/* b548: 0c002f02 */ jal viGetWidth +/* b54c: afa600a8 */ sw $a2,0xa8($sp) +/* b550: 0c002f06 */ jal viGetHeight +/* b554: a7a20056 */ sh $v0,0x56($sp) +/* b558: 87b90056 */ lh $t9,0x56($sp) +/* b55c: 244effff */ addiu $t6,$v0,-1 +/* b560: 31cf03ff */ andi $t7,$t6,0x3ff +/* b564: 000fc080 */ sll $t8,$t7,0x2 +/* b568: 272effff */ addiu $t6,$t9,-1 +/* b56c: 31cf03ff */ andi $t7,$t6,0x3ff +/* b570: 3c01f600 */ lui $at,0xf600 +/* b574: 03016825 */ or $t5,$t8,$at +/* b578: 8fae0090 */ lw $t6,0x90($sp) +/* b57c: 000fc380 */ sll $t8,$t7,0xe +/* b580: 01b8c825 */ or $t9,$t5,$t8 +/* b584: 0c002f44 */ jal viGetViewTop +/* b588: add90000 */ sw $t9,0x0($t6) +/* b58c: 0c002f26 */ jal viGetViewHeight +/* b590: a7a20056 */ sh $v0,0x56($sp) +/* b594: 87af0056 */ lh $t7,0x56($sp) +/* b598: 8fa600a8 */ lw $a2,0xa8($sp) +/* b59c: 8fae0090 */ lw $t6,0x90($sp) +/* b5a0: 004f6821 */ addu $t5,$v0,$t7 +/* b5a4: 31b803ff */ andi $t8,$t5,0x3ff +/* b5a8: 0018c880 */ sll $t9,$t8,0x2 +/* b5ac: 00c01825 */ or $v1,$a2,$zero +/* b5b0: 3c0fe700 */ lui $t7,0xe700 +/* b5b4: add90004 */ sw $t9,0x4($t6) +/* b5b8: ac600004 */ sw $zero,0x4($v1) +/* b5bc: ac6f0000 */ sw $t7,0x0($v1) +/* b5c0: 10000172 */ b .L0000bb8c +/* b5c4: 24c60008 */ addiu $a2,$a2,0x8 +.L0000b5c8: +/* b5c8: 8d6d0290 */ lw $t5,0x290($t3) +.L0000b5cc: +/* b5cc: 00006025 */ or $t4,$zero,$zero +/* b5d0: 24010002 */ addiu $at,$zero,0x2 +/* b5d4: 55a0016e */ bnezl $t5,.L0000bb90 +/* b5d8: 8fbf0014 */ lw $ra,0x14($sp) +/* b5dc: 8d69006c */ lw $t1,0x6c($t3) +/* b5e0: afa00080 */ sw $zero,0x80($sp) +/* b5e4: 8d670068 */ lw $a3,0x68($t3) +/* b5e8: 8d680064 */ lw $t0,0x64($t3) +/* b5ec: 11200003 */ beqz $t1,.L0000b5fc +/* b5f0: 8d6a0070 */ lw $t2,0x70($t3) +/* b5f4: 10000002 */ b .L0000b600 +/* b5f8: 24050001 */ addiu $a1,$zero,0x1 +.L0000b5fc: +/* b5fc: 00002825 */ or $a1,$zero,$zero +.L0000b600: +/* b600: 50e00004 */ beqzl $a3,.L0000b614 +/* b604: 00002025 */ or $a0,$zero,$zero +/* b608: 10000002 */ b .L0000b614 +/* b60c: 24040001 */ addiu $a0,$zero,0x1 +/* b610: 00002025 */ or $a0,$zero,$zero +.L0000b614: +/* b614: 51000004 */ beqzl $t0,.L0000b628 +/* b618: 00001825 */ or $v1,$zero,$zero +/* b61c: 10000002 */ b .L0000b628 +/* b620: 24030001 */ addiu $v1,$zero,0x1 +/* b624: 00001825 */ or $v1,$zero,$zero +.L0000b628: +/* b628: 51400004 */ beqzl $t2,.L0000b63c +/* b62c: 00001025 */ or $v0,$zero,$zero +/* b630: 10000002 */ b .L0000b63c +/* b634: 24020001 */ addiu $v0,$zero,0x1 +/* b638: 00001025 */ or $v0,$zero,$zero +.L0000b63c: +/* b63c: 0043c021 */ addu $t8,$v0,$v1 +/* b640: 0304c821 */ addu $t9,$t8,$a0 +/* b644: 03257021 */ addu $t6,$t9,$a1 +/* b648: 15c10004 */ bne $t6,$at,.L0000b65c +/* b64c: 240f0001 */ addiu $t7,$zero,0x1 +/* b650: 240c0001 */ addiu $t4,$zero,0x1 +/* b654: 10000019 */ b .L0000b6bc +/* b658: afaf0080 */ sw $t7,0x80($sp) +.L0000b65c: +/* b65c: 11200003 */ beqz $t1,.L0000b66c +/* b660: 00002825 */ or $a1,$zero,$zero +/* b664: 10000001 */ b .L0000b66c +/* b668: 24050001 */ addiu $a1,$zero,0x1 +.L0000b66c: +/* b66c: 10e00003 */ beqz $a3,.L0000b67c +/* b670: 00002025 */ or $a0,$zero,$zero +/* b674: 10000001 */ b .L0000b67c +/* b678: 24040001 */ addiu $a0,$zero,0x1 +.L0000b67c: +/* b67c: 11000003 */ beqz $t0,.L0000b68c +/* b680: 00001825 */ or $v1,$zero,$zero +/* b684: 10000001 */ b .L0000b68c +/* b688: 24030001 */ addiu $v1,$zero,0x1 +.L0000b68c: +/* b68c: 11400003 */ beqz $t2,.L0000b69c +/* b690: 00001025 */ or $v0,$zero,$zero +/* b694: 10000001 */ b .L0000b69c +/* b698: 24020001 */ addiu $v0,$zero,0x1 +.L0000b69c: +/* b69c: 00436821 */ addu $t5,$v0,$v1 +/* b6a0: 01a4c021 */ addu $t8,$t5,$a0 +/* b6a4: 0305c821 */ addu $t9,$t8,$a1 +/* b6a8: 2b210003 */ slti $at,$t9,0x3 +/* b6ac: 14200003 */ bnez $at,.L0000b6bc +/* b6b0: 240e0002 */ addiu $t6,$zero,0x2 +/* b6b4: 240c0002 */ addiu $t4,$zero,0x2 +/* b6b8: afae0080 */ sw $t6,0x80($sp) +.L0000b6bc: +/* b6bc: 3c0f800a */ lui $t7,%hi(g_Vars+0x64) +/* b6c0: 8defa024 */ lw $t7,%lo(g_Vars+0x64)($t7) +/* b6c4: 85ed0636 */ lh $t5,0x636($t7) +/* b6c8: 19a0001c */ blez $t5,.L0000b73c +/* b6cc: 00c02025 */ or $a0,$a2,$zero +/* b6d0: 24c60008 */ addiu $a2,$a2,0x8 +/* b6d4: afa600a8 */ sw $a2,0xa8($sp) +/* b6d8: afa4007c */ sw $a0,0x7c($sp) +/* b6dc: 0c002f02 */ jal viGetWidth +/* b6e0: afac0084 */ sw $t4,0x84($sp) +/* b6e4: 3c18800a */ lui $t8,%hi(g_Vars+0x64) +/* b6e8: 8f18a024 */ lw $t8,%lo(g_Vars+0x64)($t8) +/* b6ec: 8fa4007c */ lw $a0,0x7c($sp) +/* b6f0: 8fa600a8 */ lw $a2,0xa8($sp) +/* b6f4: 87190636 */ lh $t9,0x636($t8) +/* b6f8: 3c01f600 */ lui $at,0xf600 +/* b6fc: 8fac0084 */ lw $t4,0x84($sp) +/* b700: 272effff */ addiu $t6,$t9,-1 +/* b704: 31cf03ff */ andi $t7,$t6,0x3ff +/* b708: 000f6880 */ sll $t5,$t7,0x2 +/* b70c: 2459ffff */ addiu $t9,$v0,-1 +/* b710: 332e03ff */ andi $t6,$t9,0x3ff +/* b714: 000e7b80 */ sll $t7,$t6,0xe +/* b718: 01a1c025 */ or $t8,$t5,$at +/* b71c: 030f6825 */ or $t5,$t8,$t7 +/* b720: 00c01825 */ or $v1,$a2,$zero +/* b724: ac8d0000 */ sw $t5,0x0($a0) +/* b728: ac800004 */ sw $zero,0x4($a0) +/* b72c: 3c19e700 */ lui $t9,0xe700 +/* b730: ac790000 */ sw $t9,0x0($v1) +/* b734: ac600004 */ sw $zero,0x4($v1) +/* b738: 24c60008 */ addiu $a2,$a2,0x8 +.L0000b73c: +/* b73c: afa600a8 */ sw $a2,0xa8($sp) +/* b740: 0c002f06 */ jal viGetHeight +/* b744: afac0084 */ sw $t4,0x84($sp) +/* b748: 8fac0084 */ lw $t4,0x84($sp) +/* b74c: 3c0b800a */ lui $t3,%hi(g_Vars) +/* b750: 256b9fc0 */ addiu $t3,$t3,%lo(g_Vars) +/* b754: 000c7080 */ sll $t6,$t4,0x2 +/* b758: 016e2821 */ addu $a1,$t3,$t6 +/* b75c: 8ca30064 */ lw $v1,0x64($a1) +/* b760: 8fa600a8 */ lw $a2,0xa8($sp) +/* b764: 84780636 */ lh $t8,0x636($v1) +/* b768: 846f0632 */ lh $t7,0x632($v1) +/* b76c: 030f6821 */ addu $t5,$t8,$t7 +/* b770: 01a2082a */ slt $at,$t5,$v0 +/* b774: 50200023 */ beqzl $at,.L0000b804 +/* b778: 00c02025 */ or $a0,$a2,$zero +/* b77c: afa60074 */ sw $a2,0x74($sp) +/* b780: 24c60008 */ addiu $a2,$a2,0x8 +/* b784: afa600a8 */ sw $a2,0xa8($sp) +/* b788: 0c002f02 */ jal viGetWidth +/* b78c: afa5002c */ sw $a1,0x2c($sp) +/* b790: 0c002f06 */ jal viGetHeight +/* b794: a7a20056 */ sh $v0,0x56($sp) +/* b798: 87ad0056 */ lh $t5,0x56($sp) +/* b79c: 2459ffff */ addiu $t9,$v0,-1 +/* b7a0: 332e03ff */ andi $t6,$t9,0x3ff +/* b7a4: 000ec080 */ sll $t8,$t6,0x2 +/* b7a8: 3c01f600 */ lui $at,0xf600 +/* b7ac: 25b9ffff */ addiu $t9,$t5,-1 +/* b7b0: 8fa70074 */ lw $a3,0x74($sp) +/* b7b4: 332e03ff */ andi $t6,$t9,0x3ff +/* b7b8: 03017825 */ or $t7,$t8,$at +/* b7bc: 8fa5002c */ lw $a1,0x2c($sp) +/* b7c0: 000ec380 */ sll $t8,$t6,0xe +/* b7c4: 8fa600a8 */ lw $a2,0xa8($sp) +/* b7c8: 01f86825 */ or $t5,$t7,$t8 +/* b7cc: aced0000 */ sw $t5,0x0($a3) +/* b7d0: 8ca30064 */ lw $v1,0x64($a1) +/* b7d4: 00c02025 */ or $a0,$a2,$zero +/* b7d8: 24c60008 */ addiu $a2,$a2,0x8 +/* b7dc: 84790632 */ lh $t9,0x632($v1) +/* b7e0: 846e0636 */ lh $t6,0x636($v1) +/* b7e4: 032e7821 */ addu $t7,$t9,$t6 +/* b7e8: 31f803ff */ andi $t8,$t7,0x3ff +/* b7ec: 00186880 */ sll $t5,$t8,0x2 +/* b7f0: aced0004 */ sw $t5,0x4($a3) +/* b7f4: 3c19e700 */ lui $t9,0xe700 +/* b7f8: ac990000 */ sw $t9,0x0($a0) +/* b7fc: ac800004 */ sw $zero,0x4($a0) +/* b800: 00c02025 */ or $a0,$a2,$zero +.L0000b804: +/* b804: 24c60008 */ addiu $a2,$a2,0x8 +/* b808: afa600a8 */ sw $a2,0xa8($sp) +/* b80c: 0c002f02 */ jal viGetWidth +/* b810: afa4006c */ sw $a0,0x6c($sp) +/* b814: 8fae0080 */ lw $t6,0x80($sp) +/* b818: 3c0b800a */ lui $t3,%hi(g_Vars) +/* b81c: 256b9fc0 */ addiu $t3,$t3,%lo(g_Vars) +/* b820: 000e7880 */ sll $t7,$t6,0x2 +/* b824: 016f6021 */ addu $t4,$t3,$t7 +/* b828: 8d980064 */ lw $t8,0x64($t4) +/* b82c: 8fa4006c */ lw $a0,0x6c($sp) +/* b830: 3c01f600 */ lui $at,0xf600 +/* b834: 870d0636 */ lh $t5,0x636($t8) +/* b838: 8fa600a8 */ lw $a2,0xa8($sp) +/* b83c: 00002825 */ or $a1,$zero,$zero +/* b840: 25b9ffff */ addiu $t9,$t5,-1 +/* b844: 332e03ff */ andi $t6,$t9,0x3ff +/* b848: 000e7880 */ sll $t7,$t6,0x2 +/* b84c: 244dffff */ addiu $t5,$v0,-1 +/* b850: 31b903ff */ andi $t9,$t5,0x3ff +/* b854: 00197380 */ sll $t6,$t9,0xe +/* b858: 01e1c025 */ or $t8,$t7,$at +/* b85c: 030e7825 */ or $t7,$t8,$t6 +/* b860: ac8f0000 */ sw $t7,0x0($a0) +/* b864: 8d8d0064 */ lw $t5,0x64($t4) +/* b868: 00c01825 */ or $v1,$a2,$zero +/* b86c: 24c60008 */ addiu $a2,$a2,0x8 +/* b870: 85b90636 */ lh $t9,0x636($t5) +/* b874: 3c0de700 */ lui $t5,0xe700 +/* b878: 2738ffff */ addiu $t8,$t9,-1 +/* b87c: 330e03ff */ andi $t6,$t8,0x3ff +/* b880: 000e7880 */ sll $t7,$t6,0x2 +/* b884: ac8f0004 */ sw $t7,0x4($a0) +/* b888: ac600004 */ sw $zero,0x4($v1) +/* b88c: ac6d0000 */ sw $t5,0x0($v1) +/* b890: 8d69006c */ lw $t1,0x6c($t3) +/* b894: 11200003 */ beqz $t1,.L0000b8a4 +/* b898: 00000000 */ nop +/* b89c: 10000001 */ b .L0000b8a4 +/* b8a0: 24050001 */ addiu $a1,$zero,0x1 +.L0000b8a4: +/* b8a4: 8d670068 */ lw $a3,0x68($t3) +/* b8a8: 00002025 */ or $a0,$zero,$zero +/* b8ac: 00001825 */ or $v1,$zero,$zero +/* b8b0: 10e00003 */ beqz $a3,.L0000b8c0 +/* b8b4: 00000000 */ nop +/* b8b8: 10000001 */ b .L0000b8c0 +/* b8bc: 24040001 */ addiu $a0,$zero,0x1 +.L0000b8c0: +/* b8c0: 8d680064 */ lw $t0,0x64($t3) +/* b8c4: 00001025 */ or $v0,$zero,$zero +/* b8c8: 11000003 */ beqz $t0,.L0000b8d8 +/* b8cc: 00000000 */ nop +/* b8d0: 10000001 */ b .L0000b8d8 +/* b8d4: 24030001 */ addiu $v1,$zero,0x1 +.L0000b8d8: +/* b8d8: 8d6a0070 */ lw $t2,0x70($t3) +/* b8dc: 11400003 */ beqz $t2,.L0000b8ec +/* b8e0: 00000000 */ nop +/* b8e4: 10000001 */ b .L0000b8ec +/* b8e8: 24020001 */ addiu $v0,$zero,0x1 +.L0000b8ec: +/* b8ec: 0043c821 */ addu $t9,$v0,$v1 +/* b8f0: 0324c021 */ addu $t8,$t9,$a0 +/* b8f4: 03057021 */ addu $t6,$t8,$a1 +/* b8f8: 29c10003 */ slti $at,$t6,0x3 +/* b8fc: 50200024 */ beqzl $at,.L0000b990 +/* b900: 8d6e006c */ lw $t6,0x6c($t3) +/* b904: 11200003 */ beqz $t1,.L0000b914 +/* b908: 24010002 */ addiu $at,$zero,0x2 +/* b90c: 10000002 */ b .L0000b918 +/* b910: 24050001 */ addiu $a1,$zero,0x1 +.L0000b914: +/* b914: 00002825 */ or $a1,$zero,$zero +.L0000b918: +/* b918: 10e00003 */ beqz $a3,.L0000b928 +/* b91c: 00001825 */ or $v1,$zero,$zero +/* b920: 10000001 */ b .L0000b928 +/* b924: 24030001 */ addiu $v1,$zero,0x1 +.L0000b928: +/* b928: 11000003 */ beqz $t0,.L0000b938 +/* b92c: 00002025 */ or $a0,$zero,$zero +/* b930: 10000001 */ b .L0000b938 +/* b934: 24040001 */ addiu $a0,$zero,0x1 +.L0000b938: +/* b938: 11400003 */ beqz $t2,.L0000b948 +/* b93c: 00001025 */ or $v0,$zero,$zero +/* b940: 10000001 */ b .L0000b948 +/* b944: 24020001 */ addiu $v0,$zero,0x1 +.L0000b948: +/* b948: 00447821 */ addu $t7,$v0,$a0 +/* b94c: 01e36821 */ addu $t5,$t7,$v1 +/* b950: 01a5c821 */ addu $t9,$t5,$a1 +/* b954: 5721004e */ bnel $t9,$at,.L0000ba90 +/* b958: 8d6f006c */ lw $t7,0x6c($t3) +/* b95c: afa600a8 */ sw $a2,0xa8($sp) +/* b960: 0fc54bcd */ jal optionsGetScreenSplit +/* b964: afac001c */ sw $t4,0x1c($sp) +/* b968: 3c0b800a */ lui $t3,%hi(g_Vars) +/* b96c: 24010001 */ addiu $at,$zero,0x1 +/* b970: 256b9fc0 */ addiu $t3,$t3,%lo(g_Vars) +/* b974: 8fa600a8 */ lw $a2,0xa8($sp) +/* b978: 10410004 */ beq $v0,$at,.L0000b98c +/* b97c: 8fac001c */ lw $t4,0x1c($sp) +/* b980: 917804e0 */ lbu $t8,0x4e0($t3) +/* b984: 53000042 */ beqzl $t8,.L0000ba90 +/* b988: 8d6f006c */ lw $t7,0x6c($t3) +.L0000b98c: +/* b98c: 8d6e006c */ lw $t6,0x6c($t3) +.L0000b990: +/* b990: 8d670068 */ lw $a3,0x68($t3) +/* b994: 8d680064 */ lw $t0,0x64($t3) +/* b998: 11c00003 */ beqz $t6,.L0000b9a8 +/* b99c: 8d6a0070 */ lw $t2,0x70($t3) +/* b9a0: 10000002 */ b .L0000b9ac +/* b9a4: 24050001 */ addiu $a1,$zero,0x1 +.L0000b9a8: +/* b9a8: 00002825 */ or $a1,$zero,$zero +.L0000b9ac: +/* b9ac: 10e00003 */ beqz $a3,.L0000b9bc +/* b9b0: 24010002 */ addiu $at,$zero,0x2 +/* b9b4: 10000002 */ b .L0000b9c0 +/* b9b8: 24040001 */ addiu $a0,$zero,0x1 +.L0000b9bc: +/* b9bc: 00002025 */ or $a0,$zero,$zero +.L0000b9c0: +/* b9c0: 11000003 */ beqz $t0,.L0000b9d0 +/* b9c4: 00001825 */ or $v1,$zero,$zero +/* b9c8: 10000001 */ b .L0000b9d0 +/* b9cc: 24030001 */ addiu $v1,$zero,0x1 +.L0000b9d0: +/* b9d0: 11400003 */ beqz $t2,.L0000b9e0 +/* b9d4: 00001025 */ or $v0,$zero,$zero +/* b9d8: 10000001 */ b .L0000b9e0 +/* b9dc: 24020001 */ addiu $v0,$zero,0x1 +.L0000b9e0: +/* b9e0: 00437821 */ addu $t7,$v0,$v1 +/* b9e4: 01e46821 */ addu $t5,$t7,$a0 +/* b9e8: 01a5c821 */ addu $t9,$t5,$a1 +/* b9ec: 17210004 */ bne $t9,$at,.L0000ba00 +/* b9f0: 00c02825 */ or $a1,$a2,$zero +/* b9f4: 3c0c800a */ lui $t4,%hi(g_Vars) +/* b9f8: 258c9fc0 */ addiu $t4,$t4,%lo(g_Vars) +/* b9fc: afa00080 */ sw $zero,0x80($sp) +.L0000ba00: +/* ba00: 24c60008 */ addiu $a2,$a2,0x8 +/* ba04: afa600a8 */ sw $a2,0xa8($sp) +/* ba08: afa50064 */ sw $a1,0x64($sp) +/* ba0c: 0c002f06 */ jal viGetHeight +/* ba10: afac001c */ sw $t4,0x1c($sp) +/* ba14: 8fac001c */ lw $t4,0x1c($sp) +/* ba18: 8fa50064 */ lw $a1,0x64($sp) +/* ba1c: 3c01f600 */ lui $at,0xf600 +/* ba20: 8d830064 */ lw $v1,0x64($t4) +/* ba24: 8fa600a8 */ lw $a2,0xa8($sp) +/* ba28: 3c0b800a */ lui $t3,%hi(g_Vars) +/* ba2c: 84780634 */ lh $t8,0x634($v1) +/* ba30: 846e0630 */ lh $t6,0x630($v1) +/* ba34: 00c02025 */ or $a0,$a2,$zero +/* ba38: 256b9fc0 */ addiu $t3,$t3,%lo(g_Vars) +/* ba3c: 030e7821 */ addu $t7,$t8,$t6 +/* ba40: 31ed03ff */ andi $t5,$t7,0x3ff +/* ba44: 2458ffff */ addiu $t8,$v0,-1 +/* ba48: 330e03ff */ andi $t6,$t8,0x3ff +/* ba4c: 000e7880 */ sll $t7,$t6,0x2 +/* ba50: 000dcb80 */ sll $t9,$t5,0xe +/* ba54: 01e16825 */ or $t5,$t7,$at +/* ba58: 01b9c025 */ or $t8,$t5,$t9 +/* ba5c: acb80000 */ sw $t8,0x0($a1) +/* ba60: 8d830064 */ lw $v1,0x64($t4) +/* ba64: 24c60008 */ addiu $a2,$a2,0x8 +/* ba68: 846e0630 */ lh $t6,0x630($v1) +/* ba6c: 846f0634 */ lh $t7,0x634($v1) +/* ba70: 01cf6821 */ addu $t5,$t6,$t7 +/* ba74: 31b903ff */ andi $t9,$t5,0x3ff +/* ba78: 0019c380 */ sll $t8,$t9,0xe +/* ba7c: acb80004 */ sw $t8,0x4($a1) +/* ba80: 3c0ee700 */ lui $t6,0xe700 +/* ba84: ac8e0000 */ sw $t6,0x0($a0) +/* ba88: ac800004 */ sw $zero,0x4($a0) +/* ba8c: 8d6f006c */ lw $t7,0x6c($t3) +.L0000ba90: +/* ba90: 8d670068 */ lw $a3,0x68($t3) +/* ba94: 8d680064 */ lw $t0,0x64($t3) +/* ba98: 11e00003 */ beqz $t7,.L0000baa8 +/* ba9c: 8d6a0070 */ lw $t2,0x70($t3) +/* baa0: 10000002 */ b .L0000baac +/* baa4: 24050001 */ addiu $a1,$zero,0x1 +.L0000baa8: +/* baa8: 00002825 */ or $a1,$zero,$zero +.L0000baac: +/* baac: 10e00003 */ beqz $a3,.L0000babc +/* bab0: 24010003 */ addiu $at,$zero,0x3 +/* bab4: 10000002 */ b .L0000bac0 +/* bab8: 24040001 */ addiu $a0,$zero,0x1 +.L0000babc: +/* babc: 00002025 */ or $a0,$zero,$zero +.L0000bac0: +/* bac0: 11000003 */ beqz $t0,.L0000bad0 +/* bac4: 00001825 */ or $v1,$zero,$zero +/* bac8: 10000001 */ b .L0000bad0 +/* bacc: 24030001 */ addiu $v1,$zero,0x1 +.L0000bad0: +/* bad0: 11400003 */ beqz $t2,.L0000bae0 +/* bad4: 00001025 */ or $v0,$zero,$zero +/* bad8: 10000001 */ b .L0000bae0 +/* badc: 24020001 */ addiu $v0,$zero,0x1 +.L0000bae0: +/* bae0: 00436821 */ addu $t5,$v0,$v1 +/* bae4: 01a4c821 */ addu $t9,$t5,$a0 +/* bae8: 0325c021 */ addu $t8,$t9,$a1 +/* baec: 57010028 */ bnel $t8,$at,.L0000bb90 +/* baf0: 8fbf0014 */ lw $ra,0x14($sp) +/* baf4: afa6005c */ sw $a2,0x5c($sp) +/* baf8: 24c60008 */ addiu $a2,$a2,0x8 +/* bafc: afa600a8 */ sw $a2,0xa8($sp) +/* bb00: 0c002f02 */ jal viGetWidth +/* bb04: afac001c */ sw $t4,0x1c($sp) +/* bb08: 0c002f06 */ jal viGetHeight +/* bb0c: a7a20056 */ sh $v0,0x56($sp) +/* bb10: 87b80056 */ lh $t8,0x56($sp) +/* bb14: 244effff */ addiu $t6,$v0,-1 +/* bb18: 31cf03ff */ andi $t7,$t6,0x3ff +/* bb1c: 000f6880 */ sll $t5,$t7,0x2 +/* bb20: 3c01f600 */ lui $at,0xf600 +/* bb24: 270effff */ addiu $t6,$t8,-1 +/* bb28: 8fa5005c */ lw $a1,0x5c($sp) +/* bb2c: 31cf03ff */ andi $t7,$t6,0x3ff +/* bb30: 01a1c825 */ or $t9,$t5,$at +/* bb34: 8fac001c */ lw $t4,0x1c($sp) +/* bb38: 000f6b80 */ sll $t5,$t7,0xe +/* bb3c: 8fa600a8 */ lw $a2,0xa8($sp) +/* bb40: 032dc025 */ or $t8,$t9,$t5 +/* bb44: acb80000 */ sw $t8,0x0($a1) +/* bb48: 8d830064 */ lw $v1,0x64($t4) +/* bb4c: 00c02025 */ or $a0,$a2,$zero +/* bb50: 24c60008 */ addiu $a2,$a2,0x8 +/* bb54: 846e0634 */ lh $t6,0x634($v1) +/* bb58: 846f0630 */ lh $t7,0x630($v1) +/* bb5c: 01cfc821 */ addu $t9,$t6,$t7 +/* bb60: 846f0636 */ lh $t7,0x636($v1) +/* bb64: 272d0001 */ addiu $t5,$t9,0x1 +/* bb68: 31b803ff */ andi $t8,$t5,0x3ff +/* bb6c: 31f903ff */ andi $t9,$t7,0x3ff +/* bb70: 00196880 */ sll $t5,$t9,0x2 +/* bb74: 00187380 */ sll $t6,$t8,0xe +/* bb78: 01aec025 */ or $t8,$t5,$t6 +/* bb7c: acb80004 */ sw $t8,0x4($a1) +/* bb80: 3c0fe700 */ lui $t7,0xe700 +/* bb84: ac8f0000 */ sw $t7,0x0($a0) +/* bb88: ac800004 */ sw $zero,0x4($a0) +.L0000bb8c: +/* bb8c: 8fbf0014 */ lw $ra,0x14($sp) +.L0000bb90: +/* bb90: 27bd00a8 */ addiu $sp,$sp,0xa8 +/* bb94: 00c01025 */ or $v0,$a2,$zero +/* bb98: 03e00008 */ jr $ra +/* bb9c: 00000000 */ nop +); + +void viSetBuf(s16 x, s16 y) +{ + g_ViData->bufx = x; + g_ViData->bufy = y; +} + +s16 viGetBufX(void) +{ + return g_ViData->bufx; +} + +s16 viGetBufY(void) +{ + return g_ViData->bufy; +} + +void viSetXY(s16 x, s16 y) +{ + g_ViData->x = x; + g_ViData->y = y; +} + +s16 viGetWidth(void) +{ + return g_ViData->x; +} + +s16 viGetHeight(void) +{ + return g_ViData->y; +} + +void viSetViewSize(s16 x, s16 y) +{ + g_ViData->viewx = x; + g_ViData->viewy = y; + + currentPlayerSetScreenSize(g_ViData->viewx, g_ViData->viewy); + currentPlayerSetCameraScale(); +} + +s16 viGetViewWidth(void) +{ + return g_ViData->viewx; +} + +s16 viGetViewHeight(void) +{ + return g_ViData->viewy; +} + +void viSetViewPosition(s16 left, s16 top) +{ + g_ViData->viewleft = left; + g_ViData->viewtop = top; + + currentPlayerSetScreenPosition(g_ViData->viewleft, g_ViData->viewtop); +} + +s16 viGetViewLeft(void) +{ + return g_ViData->viewleft; +} + +s16 viGetViewTop(void) +{ + return g_ViData->viewtop; +} + +void viSetUseZBuf(bool use) +{ + g_ViData->usezbuf = use; +} + +void viSetFovY(f32 fovy) +{ + g_ViData->fovy = fovy; + + currentPlayerSetPerspective(g_ViData->znear, g_ViData->fovy, g_ViData->aspect); + currentPlayerSetCameraScale(); +} + +void viSetAspect(f32 aspect) +{ + g_ViData->aspect = aspect; + + currentPlayerSetPerspective(g_ViData->znear, g_ViData->fovy, g_ViData->aspect); + currentPlayerSetCameraScale(); +} + +f32 viGetAspect(void) +{ + return g_ViData->aspect; +} + +void viSetFovAspectAndSize(f32 fovy, f32 aspect, s16 width, s16 height) +{ + g_ViData->fovy = fovy; + g_ViData->aspect = aspect; + g_ViData->viewx = width; + g_ViData->viewy = height; + + currentPlayerSetScreenSize(g_ViData->viewx, g_ViData->viewy); + currentPlayerSetPerspective(g_ViData->znear, g_ViData->fovy, g_ViData->aspect); + currentPlayerSetCameraScale(); +} + +f32 viGetFovY(void) +{ + return g_ViData->fovy; +} + +void viSetZRange(f32 near, f32 far) +{ + g_ViData->znear = near; + g_ViData->zfar = far; + + currentPlayerSetPerspective(g_ViData->znear, g_ViData->fovy, g_ViData->aspect); + currentPlayerSetCameraScale(); +} + +void viGetZRange(struct zrange *zrange) +{ + zrange->near = g_ViData->znear; + zrange->far = g_ViData->zfar; +} + +GLOBAL_ASM( +glabel func0000bf04 +/* bf04: 3c0e8006 */ lui $t6,%hi(var8005d598) +/* bf08: 8dced598 */ lw $t6,%lo(var8005d598)($t6) +/* bf0c: 00801025 */ or $v0,$a0,$zero +/* bf10: 3c18f700 */ lui $t8,0xf700 +/* bf14: 11c00013 */ beqz $t6,.L0000bf64 +/* bf18: 00054600 */ sll $t0,$a1,0x18 +/* bf1c: 0005c200 */ sll $t8,$a1,0x8 +/* bf20: 000640c0 */ sll $t0,$a2,0x3 +/* bf24: 310907c0 */ andi $t1,$t0,0x7c0 +/* bf28: 3319f800 */ andi $t9,$t8,0xf800 +/* bf2c: 00075883 */ sra $t3,$a3,0x2 +/* bf30: 316c003e */ andi $t4,$t3,0x3e +/* bf34: 03295025 */ or $t2,$t9,$t1 +/* bf38: 014c1825 */ or $v1,$t2,$t4 +/* bf3c: 346d0001 */ ori $t5,$v1,0x1 +/* bf40: 00801025 */ or $v0,$a0,$zero +/* bf44: 3c0ff700 */ lui $t7,0xf700 +/* bf48: ac4f0000 */ sw $t7,0x0($v0) +/* bf4c: 000d7400 */ sll $t6,$t5,0x10 +/* bf50: 01cd7825 */ or $t7,$t6,$t5 +/* bf54: ac4f0004 */ sw $t7,0x4($v0) +/* bf58: 24840008 */ addiu $a0,$a0,0x8 +/* bf5c: 03e00008 */ jr $ra +/* bf60: 00801025 */ or $v0,$a0,$zero +.L0000bf64: +/* bf64: 0006cc00 */ sll $t9,$a2,0x10 +/* bf68: 01194825 */ or $t1,$t0,$t9 +/* bf6c: 00075a00 */ sll $t3,$a3,0x8 +/* bf70: 012b5025 */ or $t2,$t1,$t3 +/* bf74: 354c00ff */ ori $t4,$t2,0xff +/* bf78: ac4c0004 */ sw $t4,0x4($v0) +/* bf7c: 24840008 */ addiu $a0,$a0,0x8 +/* bf80: ac580000 */ sw $t8,0x0($v0) +/* bf84: 03e00008 */ jr $ra +/* bf88: 00801025 */ or $v0,$a0,$zero +/* bf8c: 03e00008 */ jr $ra +/* bf90: 00000000 */ nop +/* bf94: 03e00008 */ jr $ra +/* bf98: 00000000 */ nop +/* bf9c: 03e00008 */ jr $ra +/* bfa0: 00000000 */ nop +/* bfa4: 03e00008 */ jr $ra +/* bfa8: 00000000 */ nop +); diff --git a/src/lib/lib_0e9d0.c b/src/lib/lib_0e9d0.c index 06fd2eb56..08656e809 100644 --- a/src/lib/lib_0e9d0.c +++ b/src/lib/lib_0e9d0.c @@ -1679,6 +1679,260 @@ glabel func0000f7b8 /* f800: 00000000 */ nop ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0000f804 +/* f564: 3c0e8009 */ lui $t6,0x8009 +/* f568: 91ce1040 */ lbu $t6,0x1040($t6) +/* f56c: 27bdff60 */ addiu $sp,$sp,-160 +/* f570: afb0001c */ sw $s0,0x1c($sp) +/* f574: 24020001 */ li $v0,0x1 +/* f578: 3c100006 */ lui $s0,0x6 +/* f57c: 3c01800a */ lui $at,0x800a +/* f580: afbf0024 */ sw $ra,0x24($sp) +/* f584: afb10020 */ sw $s1,0x20($sp) +/* f588: 3610f800 */ ori $s0,$s0,0xf800 +/* f58c: 144e000d */ bne $v0,$t6,.PF0000f5c4 +/* f590: a020a9f3 */ sb $zero,-0x560d($at) +/* f594: 3c018009 */ lui $at,0x8009 +/* f598: ac2253f8 */ sw $v0,0x53f8($at) +/* f59c: 3c100006 */ lui $s0,0x6 +/* f5a0: 3c01fffd */ lui $at,0xfffd +/* f5a4: 3610e000 */ ori $s0,$s0,0xe000 +/* f5a8: 3421dc00 */ ori $at,$at,0xdc00 +/* f5ac: 02018021 */ addu $s0,$s0,$at +/* f5b0: 2610d000 */ addiu $s0,$s0,-12288 +/* f5b4: 3c018006 */ lui $at,0x8006 +/* f5b8: 2610a400 */ addiu $s0,$s0,-23552 +/* f5bc: 1000000d */ b .PF0000f5f4 +/* f5c0: ac20da70 */ sw $zero,-0x2590($at) +.PF0000f5c4: +/* f5c4: 3c018006 */ lui $at,0x8006 +/* f5c8: ac22da70 */ sw $v0,-0x2590($at) +/* f5cc: 3c018009 */ lui $at,0x8009 +/* f5d0: 240f0002 */ li $t7,0x2 +/* f5d4: 3c057005 */ lui $a1,0x7005 +/* f5d8: ac2f53f8 */ sw $t7,0x53f8($at) +/* f5dc: 24a537f8 */ addiu $a1,$a1,0x37f8 +/* f5e0: 0c004b68 */ jal 0x12da0 +/* f5e4: 00402025 */ move $a0,$v0 +/* f5e8: 10400002 */ beqz $v0,.PF0000f5f4 +/* f5ec: 3c018006 */ lui $at,0x8006 +/* f5f0: ac20da70 */ sw $zero,-0x2590($at) +.PF0000f5f4: +/* f5f4: 3c188006 */ lui $t8,0x8006 +/* f5f8: 8f18da40 */ lw $t8,-0x25c0($t8) +/* f5fc: 02002025 */ move $a0,$s0 +/* f600: 570000c2 */ bnezl $t8,.PF0000f90c +/* f604: 8fbf0024 */ lw $ra,0x24($sp) +/* f608: 0c004856 */ jal 0x12158 +/* f60c: 24050006 */ li $a1,0x6 +/* f610: 00502021 */ addu $a0,$v0,$s0 +/* f614: 0044082b */ sltu $at,$v0,$a0 +/* f618: 00401825 */ move $v1,$v0 +/* f61c: 10200005 */ beqz $at,.PF0000f634 +/* f620: 00403825 */ move $a3,$v0 +.PF0000f624: +/* f624: 24630001 */ addiu $v1,$v1,0x1 +/* f628: 0064082b */ sltu $at,$v1,$a0 +/* f62c: 1420fffd */ bnez $at,.PF0000f624 +/* f630: a060ffff */ sb $zero,-0x1($v1) +.PF0000f634: +/* f634: 3c048009 */ lui $a0,0x8009 +/* f638: 24845740 */ addiu $a0,$a0,0x5740 +/* f63c: 00e02825 */ move $a1,$a3 +/* f640: 0c00bcfc */ jal 0x2f3f0 +/* f644: 02003025 */ move $a2,$s0 +/* f648: 3c068009 */ lui $a2,0x8009 +/* f64c: 24190020 */ li $t9,0x20 +/* f650: afb90010 */ sw $t9,0x10($sp) +/* f654: 24c65740 */ addiu $a2,$a2,0x5740 +/* f658: 00002025 */ move $a0,$zero +/* f65c: 00002825 */ move $a1,$zero +/* f660: 0c00bd05 */ jal 0x2f414 +/* f664: 24070001 */ li $a3,0x1 +/* f668: 3c038006 */ lui $v1,0x8006 +/* f66c: 2463da80 */ addiu $v1,$v1,-9600 +/* f670: 3c057005 */ lui $a1,0x7005 +/* f674: ac620000 */ sw $v0,0x0($v1) +/* f678: 24a537c0 */ addiu $a1,$a1,0x37c0 +/* f67c: 0c004bb0 */ jal 0x12ec0 +/* f680: 00402025 */ move $a0,$v0 +/* f684: 0c003a23 */ jal 0xe88c +/* f688: 00000000 */ nop +/* f68c: 3c0900cf */ lui $t1,0xcf +/* f690: 3c0a00cf */ lui $t2,0xcf +/* f694: 254aa4c0 */ addiu $t2,$t2,-23360 +/* f698: 25294520 */ addiu $t1,$t1,0x4520 +/* f69c: 2408ffff */ li $t0,-1 +/* f6a0: 3c018009 */ lui $at,0x8009 +/* f6a4: 012a8023 */ subu $s0,$t1,$t2 +/* f6a8: 3c068009 */ lui $a2,0x8009 +/* f6ac: ac285750 */ sw $t0,0x5750($at) +/* f6b0: 24c65740 */ addiu $a2,$a2,0x5740 +/* f6b4: afb00010 */ sw $s0,0x10($sp) +/* f6b8: 00002025 */ move $a0,$zero +/* f6bc: 00002825 */ move $a1,$zero +/* f6c0: 0c00bd05 */ jal 0x2f414 +/* f6c4: 24070001 */ li $a3,0x1 +/* f6c8: 3c0500cf */ lui $a1,0xcf +/* f6cc: 00408825 */ move $s1,$v0 +/* f6d0: 24a5a4c0 */ addiu $a1,$a1,-23360 +/* f6d4: 00402025 */ move $a0,$v0 +/* f6d8: 0c003454 */ jal 0xd150 +/* f6dc: 02003025 */ move $a2,$s0 +/* f6e0: 3c0500cf */ lui $a1,0xcf +/* f6e4: 24a54520 */ addiu $a1,$a1,0x4520 +/* f6e8: 0c00dc01 */ jal 0x37004 +/* f6ec: 02202025 */ move $a0,$s1 +/* f6f0: 8e2b0004 */ lw $t3,0x4($s1) +/* f6f4: 3c018009 */ lui $at,0x8009 +/* f6f8: 3c068009 */ lui $a2,0x8009 +/* f6fc: 240c0010 */ li $t4,0x10 +/* f700: afac0010 */ sw $t4,0x10($sp) +/* f704: 24c65740 */ addiu $a2,$a2,0x5740 +/* f708: 00002025 */ move $a0,$zero +/* f70c: 00002825 */ move $a1,$zero +/* f710: 24070001 */ li $a3,0x1 +/* f714: 0c00bd05 */ jal 0x2f414 +/* f718: ac2b5754 */ sw $t3,0x5754($at) +/* f71c: 3c108009 */ lui $s0,0x8009 +/* f720: 3c1100e7 */ lui $s1,0xe7 +/* f724: 26105758 */ addiu $s0,$s0,0x5758 +/* f728: 26310590 */ addiu $s1,$s1,0x590 +/* f72c: ae020000 */ sw $v0,0x0($s0) +/* f730: 02202825 */ move $a1,$s1 +/* f734: 00402025 */ move $a0,$v0 +/* f738: 0c003454 */ jal 0xd150 +/* f73c: 24060010 */ li $a2,0x10 +/* f740: 8e0d0000 */ lw $t5,0x0($s0) +/* f744: 3c068009 */ lui $a2,0x8009 +/* f748: 24c65740 */ addiu $a2,$a2,0x5740 +/* f74c: 95a30000 */ lhu $v1,0x0($t5) +/* f750: 00002025 */ move $a0,$zero +/* f754: 00002825 */ move $a1,$zero +/* f758: 000370c0 */ sll $t6,$v1,0x3 +/* f75c: 25c30004 */ addiu $v1,$t6,0x4 +/* f760: afa30010 */ sw $v1,0x10($sp) +/* f764: afa30050 */ sw $v1,0x50($sp) +/* f768: 0c00bd05 */ jal 0x2f414 +/* f76c: 24070001 */ li $a3,0x1 +/* f770: 8fa30050 */ lw $v1,0x50($sp) +/* f774: 2401fff0 */ li $at,-16 +/* f778: ae020000 */ sw $v0,0x0($s0) +/* f77c: 2466000f */ addiu $a2,$v1,0xf +/* f780: 00c17824 */ and $t7,$a2,$at +/* f784: 01e03025 */ move $a2,$t7 +/* f788: 00402025 */ move $a0,$v0 +/* f78c: 0c003454 */ jal 0xd150 +/* f790: 02202825 */ move $a1,$s1 +/* f794: 8e040000 */ lw $a0,0x0($s0) +/* f798: 00001825 */ move $v1,$zero +/* f79c: 240a002c */ li $t2,0x2c +/* f7a0: 94980000 */ lhu $t8,0x0($a0) +/* f7a4: 240b001e */ li $t3,0x1e +/* f7a8: 240c0040 */ li $t4,0x40 +/* f7ac: 1b00000d */ blez $t8,.PF0000f7e4 +/* f7b0: 3c0d8009 */ lui $t5,0x8009 +/* f7b4: 00002825 */ move $a1,$zero +/* f7b8: 00851021 */ addu $v0,$a0,$a1 +.PF0000f7bc: +/* f7bc: 8c590004 */ lw $t9,0x4($v0) +/* f7c0: 24630001 */ addiu $v1,$v1,0x1 +/* f7c4: 24a50008 */ addiu $a1,$a1,0x8 +/* f7c8: 03314021 */ addu $t0,$t9,$s1 +/* f7cc: ac480004 */ sw $t0,0x4($v0) +/* f7d0: 8e040000 */ lw $a0,0x0($s0) +/* f7d4: 94890000 */ lhu $t1,0x0($a0) +/* f7d8: 0069082a */ slt $at,$v1,$t1 +/* f7dc: 5420fff7 */ bnezl $at,.PF0000f7bc +/* f7e0: 00851021 */ addu $v0,$a0,$a1 +.PF0000f7e4: +/* f7e4: 3c038009 */ lui $v1,0x8009 +/* f7e8: 8c6353f8 */ lw $v1,0x53f8($v1) +/* f7ec: 25ad5740 */ addiu $t5,$t5,0x5740 +/* f7f0: afaa0064 */ sw $t2,0x64($sp) +/* f7f4: afab0068 */ sw $t3,0x68($sp) +/* f7f8: afac006c */ sw $t4,0x6c($sp) +/* f7fc: afa00074 */ sw $zero,0x74($sp) +/* f800: afa0007c */ sw $zero,0x7c($sp) +/* f804: afad0078 */ sw $t5,0x78($sp) +/* f808: 18600008 */ blez $v1,.PF0000f82c +/* f80c: afa30070 */ sw $v1,0x70($sp) +/* f810: 27a20064 */ addiu $v0,$sp,0x64 +/* f814: 00622021 */ addu $a0,$v1,$v0 +/* f818: 24030006 */ li $v1,0x6 +.PF0000f81c: +/* f81c: 24420001 */ addiu $v0,$v0,0x1 +/* f820: 0044082b */ sltu $at,$v0,$a0 +/* f824: 1420fffd */ bnez $at,.PF0000f81c +/* f828: a043001b */ sb $v1,0x1b($v0) +.PF0000f82c: +/* f82c: 3c098009 */ lui $t1,0x8009 +/* f830: 240f0040 */ li $t7,0x40 +/* f834: 24180040 */ li $t8,0x40 +/* f838: 24190014 */ li $t9,0x14 +/* f83c: 24080009 */ li $t0,0x9 +/* f840: 25295740 */ addiu $t1,$t1,0x5740 +/* f844: 240a5604 */ li $t2,0x5604 +/* f848: 240b0001 */ li $t3,0x1 +/* f84c: 240c07d0 */ li $t4,0x7d0 +/* f850: afaf0090 */ sw $t7,0x90($sp) +/* f854: afb8008c */ sw $t8,0x8c($sp) +/* f858: afb90094 */ sw $t9,0x94($sp) +/* f85c: a7a8009c */ sh $t0,0x9c($sp) +/* f860: afa90098 */ sw $t1,0x98($sp) +/* f864: afaa0058 */ sw $t2,0x58($sp) +/* f868: afab005c */ sw $t3,0x5c($sp) +/* f86c: afac0060 */ sw $t4,0x60($sp) +/* f870: 27a40064 */ addiu $a0,$sp,0x64 +/* f874: 0c002262 */ jal 0x8988 +/* f878: 27a50058 */ addiu $a1,$sp,0x58 +/* f87c: 3c0d8006 */ lui $t5,0x8006 +/* f880: 8dadda70 */ lw $t5,-0x2590($t5) +/* f884: 3c048009 */ lui $a0,0x8009 +/* f888: 11a00009 */ beqz $t5,.PF0000f8b0 +/* f88c: 00000000 */ nop +/* f890: 0c00dd00 */ jal 0x37400 +/* f894: 24845740 */ addiu $a0,$a0,0x5740 +/* f898: 24047fff */ li $a0,0x7fff +/* f89c: 0c00de02 */ jal 0x37808 +/* f8a0: 24050001 */ li $a1,0x1 +/* f8a4: 00002025 */ move $a0,$zero +/* f8a8: 0c00de17 */ jal 0x3785c +/* f8ac: 24050001 */ li $a1,0x1 +.PF0000f8b0: +/* f8b0: 3c108009 */ lui $s0,0x8009 +/* f8b4: 26105428 */ addiu $s0,$s0,0x5428 +.PF0000f8b8: +/* f8b8: 0c003cf7 */ jal 0xf3dc +/* f8bc: 02002025 */ move $a0,$s0 +/* f8c0: 3c0e8009 */ lui $t6,0x8009 +/* f8c4: 25ce5740 */ addiu $t6,$t6,0x5740 +/* f8c8: 26100108 */ addiu $s0,$s0,0x108 +/* f8cc: 160efffa */ bne $s0,$t6,.PF0000f8b8 +/* f8d0: 00000000 */ nop +/* f8d4: 0c00c43c */ jal 0x310f0 +/* f8d8: 27a4008c */ addiu $a0,$sp,0x8c +/* f8dc: 3c047001 */ lui $a0,0x7001 +/* f8e0: 0c00cb1e */ jal 0x32c78 +/* f8e4: 2484f4cc */ addiu $a0,$a0,-2868 +/* f8e8: 3c047001 */ lui $a0,0x7001 +/* f8ec: 0c00cbcd */ jal 0x32f34 +/* f8f0: 2484f518 */ addiu $a0,$a0,-2792 +/* f8f4: 0c002405 */ jal 0x9014 +/* f8f8: 00000000 */ nop +/* f8fc: 3c048006 */ lui $a0,0x8006 +/* f900: 0c003c3b */ jal 0xf0ec +/* f904: 8c84da6c */ lw $a0,-0x2594($a0) +/* f908: 8fbf0024 */ lw $ra,0x24($sp) +.PF0000f90c: +/* f90c: 8fb0001c */ lw $s0,0x1c($sp) +/* f910: 8fb10020 */ lw $s1,0x20($sp) +/* f914: 03e00008 */ jr $ra +/* f918: 27bd00a0 */ addiu $sp,$sp,0xa0 +); +#else GLOBAL_ASM( glabel func0000f804 /* f804: 3c0e8009 */ lui $t6,%hi(g_Is4Mb) @@ -1924,6 +2178,7 @@ glabel func0000f804 /* fb98: 03e00008 */ jr $ra /* fb9c: 27bd0090 */ addiu $sp,$sp,0x90 ); +#endif GLOBAL_ASM( glabel func0000fba0 @@ -3288,6 +3543,25 @@ glabel func00010ae4 /* 10dac: 00000000 */ nop ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel envPlayNosedive +/* 10b2c: 00047080 */ sll $t6,$a0,0x2 +/* 10b30: 01c47023 */ subu $t6,$t6,$a0 +/* 10b34: 000e70c0 */ sll $t6,$t6,0x3 +/* 10b38: 01c47021 */ addu $t6,$t6,$a0 +/* 10b3c: 000e70c0 */ sll $t6,$t6,0x3 +/* 10b40: 3c018006 */ lui $at,0x8006 +/* 10b44: ac2eda50 */ sw $t6,-0x25b0($at) +/* 10b48: 3c018006 */ lui $at,0x8006 +/* 10b4c: ac20da4c */ sw $zero,-0x25b4($at) +/* 10b50: 3c018006 */ lui $at,0x8006 +/* 10b54: ac20da48 */ sw $zero,-0x25b8($at) +/* 10b58: 3c018006 */ lui $at,0x8006 +/* 10b5c: 03e00008 */ jr $ra +/* 10b60: ac20da60 */ sw $zero,-0x25a0($at) +); +#else GLOBAL_ASM( glabel envPlayNosedive /* 10db0: 00047100 */ sll $t6,$a0,0x4 @@ -3303,6 +3577,7 @@ glabel envPlayNosedive /* 10dd8: 03e00008 */ jr $ra /* 10ddc: ac20ddc0 */ sw $zero,%lo(var8005ddc0)($at) ); +#endif GLOBAL_ASM( glabel envStopNosedive @@ -3506,6 +3781,25 @@ glabel func00010e10 /* 110b8: 00000000 */ nop ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel envPlayUfoHum +/* 10e40: 00047080 */ sll $t6,$a0,0x2 +/* 10e44: 01c47023 */ subu $t6,$t6,$a0 +/* 10e48: 000e70c0 */ sll $t6,$t6,0x3 +/* 10e4c: 01c47021 */ addu $t6,$t6,$a0 +/* 10e50: 000e70c0 */ sll $t6,$t6,0x3 +/* 10e54: 3c018006 */ lui $at,0x8006 +/* 10e58: ac2eda5c */ sw $t6,-0x25a4($at) +/* 10e5c: 3c018006 */ lui $at,0x8006 +/* 10e60: ac20da58 */ sw $zero,-0x25a8($at) +/* 10e64: 3c018006 */ lui $at,0x8006 +/* 10e68: ac20da54 */ sw $zero,-0x25ac($at) +/* 10e6c: 3c018006 */ lui $at,0x8006 +/* 10e70: 03e00008 */ jr $ra +/* 10e74: ac20da64 */ sw $zero,-0x259c($at) +); +#else GLOBAL_ASM( glabel envPlayUfoHum /* 110bc: 00047100 */ sll $t6,$a0,0x4 @@ -3521,6 +3815,7 @@ glabel envPlayUfoHum /* 110e4: 03e00008 */ jr $ra /* 110e8: ac20ddc4 */ sw $zero,%lo(var8005ddc4)($at) ); +#endif GLOBAL_ASM( glabel envStopUfoHum diff --git a/src/lib/lib_2fc60.c b/src/lib/lib_2fc60.c index 76b7035b2..5906a0b92 100644 --- a/src/lib/lib_2fc60.c +++ b/src/lib/lib_2fc60.c @@ -442,6 +442,332 @@ glabel func000301a4 /* 301e0: 00000000 */ nop ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func000301e4 +/* 2fae4: 27bdffe0 */ addiu $sp,$sp,-32 +/* 2fae8: afbf0014 */ sw $ra,0x14($sp) +/* 2faec: afa40020 */ sw $a0,0x20($sp) +/* 2faf0: afa50024 */ sw $a1,0x24($sp) +/* 2faf4: afa60028 */ sw $a2,0x28($sp) +/* 2faf8: afa7002c */ sw $a3,0x2c($sp) +/* 2fafc: 93ae002f */ lbu $t6,0x2f($sp) +/* 2fb00: 29c10064 */ slti $at,$t6,0x64 +/* 2fb04: 14200003 */ bnez $at,.PF0002fb14 +/* 2fb08: 00000000 */ nop +/* 2fb0c: 240f0063 */ li $t7,0x63 +/* 2fb10: a3af002f */ sb $t7,0x2f($sp) +.PF0002fb14: +/* 2fb14: 93b80037 */ lbu $t8,0x37($sp) +/* 2fb18: 2b010080 */ slti $at,$t8,0x80 +/* 2fb1c: 14200003 */ bnez $at,.PF0002fb2c +/* 2fb20: 00000000 */ nop +/* 2fb24: 2419007f */ li $t9,0x7f +/* 2fb28: a3b90037 */ sb $t9,0x37($sp) +.PF0002fb2c: +/* 2fb2c: 93a8003b */ lbu $t0,0x3b($sp) +/* 2fb30: 29010080 */ slti $at,$t0,0x80 +/* 2fb34: 14200003 */ bnez $at,.PF0002fb44 +/* 2fb38: 00000000 */ nop +/* 2fb3c: 2409007f */ li $t1,0x7f +/* 2fb40: a3a9003b */ sb $t1,0x3b($sp) +.PF0002fb44: +/* 2fb44: 3c0a800a */ lui $t2,0x800a +/* 2fb48: 8d4abdc0 */ lw $t2,-0x4240($t2) +/* 2fb4c: 15400003 */ bnez $t2,.PF0002fb5c +/* 2fb50: 00000000 */ nop +/* 2fb54: 1000010a */ b .PF0002ff80 +/* 2fb58: 00001025 */ move $v0,$zero +.PF0002fb5c: +/* 2fb5c: 3c0b800a */ lui $t3,0x800a +/* 2fb60: 8d6bbdc0 */ lw $t3,-0x4240($t3) +/* 2fb64: afab001c */ sw $t3,0x1c($sp) +/* 2fb68: 93ac003b */ lbu $t4,0x3b($sp) +/* 2fb6c: 15800009 */ bnez $t4,.PF0002fb94 +/* 2fb70: 00000000 */ nop +/* 2fb74: 3c013f80 */ lui $at,0x3f80 +/* 2fb78: 44812000 */ mtc1 $at,$f4 +/* 2fb7c: 8fad001c */ lw $t5,0x1c($sp) +/* 2fb80: e5a40018 */ swc1 $f4,0x18($t5) +/* 2fb84: 44803000 */ mtc1 $zero,$f6 +/* 2fb88: 8fae001c */ lw $t6,0x1c($sp) +/* 2fb8c: 10000013 */ b .PF0002fbdc +/* 2fb90: e5c6001c */ swc1 $f6,0x1c($t6) +.PF0002fb94: +/* 2fb94: 44804000 */ mtc1 $zero,$f8 +/* 2fb98: 8faf001c */ lw $t7,0x1c($sp) +/* 2fb9c: e5e80018 */ swc1 $f8,0x18($t7) +/* 2fba0: 93b8003b */ lbu $t8,0x3b($sp) +/* 2fba4: 3c088006 */ lui $t0,0x8006 +/* 2fba8: 3c017005 */ lui $at,0x7005 +/* 2fbac: 0018c880 */ sll $t9,$t8,0x2 +/* 2fbb0: 01194021 */ addu $t0,$t0,$t9 +/* 2fbb4: 8d08ee00 */ lw $t0,-0x1200($t0) +/* 2fbb8: c4324370 */ lwc1 $f18,0x4370($at) +/* 2fbbc: 3c013f80 */ lui $at,0x3f80 +/* 2fbc0: 44885000 */ mtc1 $t0,$f10 +/* 2fbc4: 44813000 */ mtc1 $at,$f6 +/* 2fbc8: 8fa9001c */ lw $t1,0x1c($sp) +/* 2fbcc: 46805420 */ cvt.s.w $f16,$f10 +/* 2fbd0: 46128103 */ div.s $f4,$f16,$f18 +/* 2fbd4: 46043203 */ div.s $f8,$f6,$f4 +/* 2fbd8: e528001c */ swc1 $f8,0x1c($t1) +.PF0002fbdc: +/* 2fbdc: 93aa002b */ lbu $t2,0x2b($sp) +/* 2fbe0: 8fab001c */ lw $t3,0x1c($sp) +/* 2fbe4: a16a0004 */ sb $t2,0x4($t3) +/* 2fbe8: 8fac001c */ lw $t4,0x1c($sp) +/* 2fbec: a5800014 */ sh $zero,0x14($t4) +/* 2fbf0: 93ad002f */ lbu $t5,0x2f($sp) +/* 2fbf4: 3c017005 */ lui $at,0x7005 +/* 2fbf8: c42a4374 */ lwc1 $f10,0x4374($at) +/* 2fbfc: 3c018006 */ lui $at,0x8006 +/* 2fc00: 000d7080 */ sll $t6,$t5,0x2 +/* 2fc04: 002e0821 */ addu $at,$at,$t6 +/* 2fc08: c430effc */ lwc1 $f16,-0x1004($at) +/* 2fc0c: 3c017005 */ lui $at,0x7005 +/* 2fc10: c4264378 */ lwc1 $f6,0x4378($at) +/* 2fc14: 46105483 */ div.s $f18,$f10,$f16 +/* 2fc18: 24180001 */ li $t8,0x1 +/* 2fc1c: 46069103 */ div.s $f4,$f18,$f6 +/* 2fc20: 444ff800 */ cfc1 $t7,$31 +/* 2fc24: 44d8f800 */ ctc1 $t8,$31 +/* 2fc28: 00000000 */ nop +/* 2fc2c: 46002224 */ cvt.w.s $f8,$f4 +/* 2fc30: 4458f800 */ cfc1 $t8,$31 +/* 2fc34: 00000000 */ nop +/* 2fc38: 33010004 */ andi $at,$t8,0x4 +/* 2fc3c: 33180078 */ andi $t8,$t8,0x78 +/* 2fc40: 13000014 */ beqz $t8,.PF0002fc94 +/* 2fc44: 00000000 */ nop +/* 2fc48: 3c014f00 */ lui $at,0x4f00 +/* 2fc4c: 44814000 */ mtc1 $at,$f8 +/* 2fc50: 24180001 */ li $t8,0x1 +/* 2fc54: 46082201 */ sub.s $f8,$f4,$f8 +/* 2fc58: 44d8f800 */ ctc1 $t8,$31 +/* 2fc5c: 00000000 */ nop +/* 2fc60: 46004224 */ cvt.w.s $f8,$f8 +/* 2fc64: 4458f800 */ cfc1 $t8,$31 +/* 2fc68: 00000000 */ nop +/* 2fc6c: 33010004 */ andi $at,$t8,0x4 +/* 2fc70: 33180078 */ andi $t8,$t8,0x78 +/* 2fc74: 17000005 */ bnez $t8,.PF0002fc8c +/* 2fc78: 00000000 */ nop +/* 2fc7c: 44184000 */ mfc1 $t8,$f8 +/* 2fc80: 3c018000 */ lui $at,0x8000 +/* 2fc84: 10000007 */ b .PF0002fca4 +/* 2fc88: 0301c025 */ or $t8,$t8,$at +.PF0002fc8c: +/* 2fc8c: 10000005 */ b .PF0002fca4 +/* 2fc90: 2418ffff */ li $t8,-1 +.PF0002fc94: +/* 2fc94: 44184000 */ mfc1 $t8,$f8 +/* 2fc98: 00000000 */ nop +/* 2fc9c: 0700fffb */ bltz $t8,.PF0002fc8c +/* 2fca0: 00000000 */ nop +.PF0002fca4: +/* 2fca4: 8fb9001c */ lw $t9,0x1c($sp) +/* 2fca8: 44cff800 */ ctc1 $t7,$31 +/* 2fcac: a7380016 */ sh $t8,0x16($t9) +/* 2fcb0: 00000000 */ nop +/* 2fcb4: 8fa9001c */ lw $t1,0x1c($sp) +/* 2fcb8: 24084e20 */ li $t0,0x4e20 +/* 2fcbc: ad280008 */ sw $t0,0x8($t1) +/* 2fcc0: 93aa0033 */ lbu $t2,0x33($sp) +/* 2fcc4: 448a5000 */ mtc1 $t2,$f10 +/* 2fcc8: 05410005 */ bgez $t2,.PF0002fce0 +/* 2fccc: 46805420 */ cvt.s.w $f16,$f10 +/* 2fcd0: 3c014f80 */ lui $at,0x4f80 +/* 2fcd4: 44819000 */ mtc1 $at,$f18 +/* 2fcd8: 00000000 */ nop +/* 2fcdc: 46128400 */ add.s $f16,$f16,$f18 +.PF0002fce0: +/* 2fce0: e7b00018 */ swc1 $f16,0x18($sp) +/* 2fce4: 93ab002b */ lbu $t3,0x2b($sp) +/* 2fce8: 316c0080 */ andi $t4,$t3,0x80 +/* 2fcec: 11800027 */ beqz $t4,.PF0002fd8c +/* 2fcf0: 00000000 */ nop +/* 2fcf4: 444df800 */ cfc1 $t5,$31 +/* 2fcf8: 24040001 */ li $a0,0x1 +/* 2fcfc: 44c4f800 */ ctc1 $a0,$31 +/* 2fd00: c7a60018 */ lwc1 $f6,0x18($sp) +/* 2fd04: 46003124 */ cvt.w.s $f4,$f6 +/* 2fd08: 4444f800 */ cfc1 $a0,$31 +/* 2fd0c: 00000000 */ nop +/* 2fd10: 30810004 */ andi $at,$a0,0x4 +/* 2fd14: 30840078 */ andi $a0,$a0,0x78 +/* 2fd18: 10800014 */ beqz $a0,.PF0002fd6c +/* 2fd1c: 00000000 */ nop +/* 2fd20: 3c014f00 */ lui $at,0x4f00 +/* 2fd24: 44812000 */ mtc1 $at,$f4 +/* 2fd28: 24040001 */ li $a0,0x1 +/* 2fd2c: 46043101 */ sub.s $f4,$f6,$f4 +/* 2fd30: 44c4f800 */ ctc1 $a0,$31 +/* 2fd34: 00000000 */ nop +/* 2fd38: 46002124 */ cvt.w.s $f4,$f4 +/* 2fd3c: 4444f800 */ cfc1 $a0,$31 +/* 2fd40: 00000000 */ nop +/* 2fd44: 30810004 */ andi $at,$a0,0x4 +/* 2fd48: 30840078 */ andi $a0,$a0,0x78 +/* 2fd4c: 14800005 */ bnez $a0,.PF0002fd64 +/* 2fd50: 00000000 */ nop +/* 2fd54: 44042000 */ mfc1 $a0,$f4 +/* 2fd58: 3c018000 */ lui $at,0x8000 +/* 2fd5c: 10000007 */ b .PF0002fd7c +/* 2fd60: 00812025 */ or $a0,$a0,$at +.PF0002fd64: +/* 2fd64: 10000005 */ b .PF0002fd7c +/* 2fd68: 2404ffff */ li $a0,-1 +.PF0002fd6c: +/* 2fd6c: 44042000 */ mfc1 $a0,$f4 +/* 2fd70: 00000000 */ nop +/* 2fd74: 0480fffb */ bltz $a0,.PF0002fd64 +/* 2fd78: 00000000 */ nop +.PF0002fd7c: +/* 2fd7c: 44cdf800 */ ctc1 $t5,$31 +/* 2fd80: 0c00bd58 */ jal 0x2f560 +/* 2fd84: 00000000 */ nop +/* 2fd88: e7a00018 */ swc1 $f0,0x18($sp) +.PF0002fd8c: +/* 2fd8c: 93ae002b */ lbu $t6,0x2b($sp) +/* 2fd90: 2401ff7f */ li $at,-129 +/* 2fd94: 01c17824 */ and $t7,$t6,$at +/* 2fd98: a3af002b */ sb $t7,0x2b($sp) +/* 2fd9c: 93b8002b */ lbu $t8,0x2b($sp) +/* 2fda0: 2401ff7f */ li $at,-129 +/* 2fda4: 0301c824 */ and $t9,$t8,$at +/* 2fda8: 2728fffe */ addiu $t0,$t9,-2 +/* 2fdac: 2d01000c */ sltiu $at,$t0,0xc +/* 2fdb0: 10200047 */ beqz $at,.PF0002fed0 +/* 2fdb4: 00000000 */ nop +/* 2fdb8: 00084080 */ sll $t0,$t0,0x2 +/* 2fdbc: 3c017005 */ lui $at,0x7005 +/* 2fdc0: 00280821 */ addu $at,$at,$t0 +/* 2fdc4: 8c28437c */ lw $t0,0x437c($at) +/* 2fdc8: 01000008 */ jr $t0 +/* 2fdcc: 00000000 */ nop +/* 2fdd0: c7a80018 */ lwc1 $f8,0x18($sp) +/* 2fdd4: 8fa9001c */ lw $t1,0x1c($sp) +/* 2fdd8: e528000c */ swc1 $f8,0xc($t1) +/* 2fddc: 93aa002b */ lbu $t2,0x2b($sp) +/* 2fde0: 24010002 */ li $at,0x2 +/* 2fde4: 15410006 */ bne $t2,$at,.PF0002fe00 +/* 2fde8: 00000000 */ nop +/* 2fdec: c7aa0018 */ lwc1 $f10,0x18($sp) +/* 2fdf0: 8fab001c */ lw $t3,0x1c($sp) +/* 2fdf4: 46005487 */ neg.s $f18,$f10 +/* 2fdf8: 10000004 */ b .PF0002fe0c +/* 2fdfc: e5720010 */ swc1 $f18,0x10($t3) +.PF0002fe00: +/* 2fe00: 44808000 */ mtc1 $zero,$f16 +/* 2fe04: 8fac001c */ lw $t4,0x1c($sp) +/* 2fe08: e5900010 */ swc1 $f16,0x10($t4) +.PF0002fe0c: +/* 2fe0c: 93ad002f */ lbu $t5,0x2f($sp) +/* 2fe10: 3c017005 */ lui $at,0x7005 +/* 2fe14: c42643ac */ lwc1 $f6,0x43ac($at) +/* 2fe18: 3c018006 */ lui $at,0x8006 +/* 2fe1c: 000d7080 */ sll $t6,$t5,0x2 +/* 2fe20: 002e0821 */ addu $at,$at,$t6 +/* 2fe24: c424effc */ lwc1 $f4,-0x1004($at) +/* 2fe28: 8fb9001c */ lw $t9,0x1c($sp) +/* 2fe2c: 46043203 */ div.s $f8,$f6,$f4 +/* 2fe30: 4600428d */ trunc.w.s $f10,$f8 +/* 2fe34: 44185000 */ mfc1 $t8,$f10 +/* 2fe38: 00000000 */ nop +/* 2fe3c: af380008 */ sw $t8,0x8($t9) +/* 2fe40: 10000025 */ b .PF0002fed8 +/* 2fe44: 00000000 */ nop +/* 2fe48: 44809000 */ mtc1 $zero,$f18 +/* 2fe4c: 8fa8001c */ lw $t0,0x1c($sp) +/* 2fe50: e5120010 */ swc1 $f18,0x10($t0) +/* 2fe54: c7b00018 */ lwc1 $f16,0x18($sp) +/* 2fe58: 8fa9001c */ lw $t1,0x1c($sp) +/* 2fe5c: e530000c */ swc1 $f16,0xc($t1) +/* 2fe60: 1000001d */ b .PF0002fed8 +/* 2fe64: 00000000 */ nop +/* 2fe68: 3c014000 */ lui $at,0x4000 +/* 2fe6c: 44812000 */ mtc1 $at,$f4 +/* 2fe70: c7a60018 */ lwc1 $f6,0x18($sp) +/* 2fe74: 8faa001c */ lw $t2,0x1c($sp) +/* 2fe78: 46043203 */ div.s $f8,$f6,$f4 +/* 2fe7c: e5480010 */ swc1 $f8,0x10($t2) +/* 2fe80: 3c014000 */ lui $at,0x4000 +/* 2fe84: 44819000 */ mtc1 $at,$f18 +/* 2fe88: c7aa0018 */ lwc1 $f10,0x18($sp) +/* 2fe8c: 8fab001c */ lw $t3,0x1c($sp) +/* 2fe90: 46125403 */ div.s $f16,$f10,$f18 +/* 2fe94: e570000c */ swc1 $f16,0xc($t3) +/* 2fe98: 1000000f */ b .PF0002fed8 +/* 2fe9c: 00000000 */ nop +/* 2fea0: c7a60018 */ lwc1 $f6,0x18($sp) +/* 2fea4: 8fac001c */ lw $t4,0x1c($sp) +/* 2fea8: 46003107 */ neg.s $f4,$f6 +/* 2feac: e5840010 */ swc1 $f4,0x10($t4) +/* 2feb0: 3c014000 */ lui $at,0x4000 +/* 2feb4: 44815000 */ mtc1 $at,$f10 +/* 2feb8: c7a80018 */ lwc1 $f8,0x18($sp) +/* 2febc: 8fad001c */ lw $t5,0x1c($sp) +/* 2fec0: 460a4482 */ mul.s $f18,$f8,$f10 +/* 2fec4: e5b2000c */ swc1 $f18,0xc($t5) +/* 2fec8: 10000003 */ b .PF0002fed8 +/* 2fecc: 00000000 */ nop +.PF0002fed0: +/* 2fed0: 1000002b */ b .PF0002ff80 +/* 2fed4: 00001025 */ move $v0,$zero +.PF0002fed8: +/* 2fed8: 8fae001c */ lw $t6,0x1c($sp) +/* 2fedc: 91cf0004 */ lbu $t7,0x4($t6) +/* 2fee0: 31f80080 */ andi $t8,$t7,0x80 +/* 2fee4: 1300000a */ beqz $t8,.PF0002ff10 +/* 2fee8: 00000000 */ nop +/* 2feec: 8fb9001c */ lw $t9,0x1c($sp) +/* 2fef0: c7300010 */ lwc1 $f16,0x10($t9) +/* 2fef4: 4600818d */ trunc.w.s $f6,$f16 +/* 2fef8: 44043000 */ mfc1 $a0,$f6 +/* 2fefc: 0c00e638 */ jal 0x398e0 +/* 2ff00: 00000000 */ nop +/* 2ff04: 8fa90024 */ lw $t1,0x24($sp) +/* 2ff08: 10000008 */ b .PF0002ff2c +/* 2ff0c: e5200000 */ swc1 $f0,0x0($t1) +.PF0002ff10: +/* 2ff10: 8faa001c */ lw $t2,0x1c($sp) +/* 2ff14: 3c0142fe */ lui $at,0x42fe +/* 2ff18: 44814000 */ mtc1 $at,$f8 +/* 2ff1c: c5440010 */ lwc1 $f4,0x10($t2) +/* 2ff20: 8fab0024 */ lw $t3,0x24($sp) +/* 2ff24: 46082280 */ add.s $f10,$f4,$f8 +/* 2ff28: e56a0000 */ swc1 $f10,0x0($t3) +.PF0002ff2c: +/* 2ff2c: 8fac001c */ lw $t4,0x1c($sp) +/* 2ff30: 8fad0020 */ lw $t5,0x20($sp) +/* 2ff34: adac0000 */ sw $t4,0x0($t5) +/* 2ff38: 3c0e800a */ lui $t6,0x800a +/* 2ff3c: 8dcebdc0 */ lw $t6,-0x4240($t6) +/* 2ff40: 3c01800a */ lui $at,0x800a +/* 2ff44: 8dcf0000 */ lw $t7,0x0($t6) +/* 2ff48: ac2fbdc0 */ sw $t7,-0x4240($at) +/* 2ff4c: 93b80037 */ lbu $t8,0x37($sp) +/* 2ff50: 13000007 */ beqz $t8,.PF0002ff70 +/* 2ff54: 00000000 */ nop +/* 2ff58: 93b90037 */ lbu $t9,0x37($sp) +/* 2ff5c: 3c028006 */ lui $v0,0x8006 +/* 2ff60: 00194080 */ sll $t0,$t9,0x2 +/* 2ff64: 00481021 */ addu $v0,$v0,$t0 +/* 2ff68: 10000005 */ b .PF0002ff80 +/* 2ff6c: 8c42ee00 */ lw $v0,-0x1200($v0) +.PF0002ff70: +/* 2ff70: 10000003 */ b .PF0002ff80 +/* 2ff74: 24024e20 */ li $v0,0x4e20 +/* 2ff78: 10000001 */ b .PF0002ff80 +/* 2ff7c: 00000000 */ nop +.PF0002ff80: +/* 2ff80: 8fbf0014 */ lw $ra,0x14($sp) +/* 2ff84: 27bd0020 */ addiu $sp,$sp,0x20 +/* 2ff88: 03e00008 */ jr $ra +/* 2ff8c: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func000301e4 /* 301e4: 27bdffe0 */ addiu $sp,$sp,-32 @@ -766,6 +1092,7 @@ glabel func000301e4 /* 30688: 03e00008 */ jr $ra /* 3068c: 00000000 */ nop ); +#endif GLOBAL_ASM( glabel func00030690 diff --git a/src/lib/lib_3d280.c b/src/lib/lib_3d280.c index 87fb7372f..beb61783a 100644 --- a/src/lib/lib_3d280.c +++ b/src/lib/lib_3d280.c @@ -68,6 +68,111 @@ glabel func0003d280 /* 3d33c: 27bd0008 */ addiu $sp,$sp,0x8 ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0003d340 +/* 3cc40: 27bdffc0 */ addiu $sp,$sp,-64 +/* 3cc44: afbf0014 */ sw $ra,0x14($sp) +/* 3cc48: afa40040 */ sw $a0,0x40($sp) +/* 3cc4c: afa50044 */ sw $a1,0x44($sp) +/* 3cc50: afa60048 */ sw $a2,0x48($sp) +/* 3cc54: 8fae0044 */ lw $t6,0x44($sp) +/* 3cc58: 8dcf0010 */ lw $t7,0x10($t6) +/* 3cc5c: afaf002c */ sw $t7,0x2c($sp) +/* 3cc60: 8fb8002c */ lw $t8,0x2c($sp) +/* 3cc64: 93190034 */ lbu $t9,0x34($t8) +/* 3cc68: 1720002c */ bnez $t9,.PF0003cd1c +/* 3cc6c: 00000000 */ nop +/* 3cc70: 8fa80040 */ lw $t0,0x40($sp) +/* 3cc74: 8d090050 */ lw $t1,0x50($t0) +/* 3cc78: afa90028 */ sw $t1,0x28($sp) +/* 3cc7c: 8faa0028 */ lw $t2,0x28($sp) +/* 3cc80: 11400026 */ beqz $t2,.PF0003cd1c +/* 3cc84: 00000000 */ nop +.PF0003cc88: +/* 3cc88: 8fab0028 */ lw $t3,0x28($sp) +/* 3cc8c: 8d6c0000 */ lw $t4,0x0($t3) +/* 3cc90: afac0024 */ sw $t4,0x24($sp) +/* 3cc94: 8fad0028 */ lw $t5,0x28($sp) +/* 3cc98: afad0020 */ sw $t5,0x20($sp) +/* 3cc9c: 8fae0024 */ lw $t6,0x24($sp) +/* 3cca0: afae001c */ sw $t6,0x1c($sp) +/* 3cca4: 8faf0020 */ lw $t7,0x20($sp) +/* 3cca8: 24010006 */ li $at,0x6 +/* 3ccac: 85f8000c */ lh $t8,0xc($t7) +/* 3ccb0: 17010015 */ bne $t8,$at,.PF0003cd08 +/* 3ccb4: 00000000 */ nop +/* 3ccb8: 8fb90020 */ lw $t9,0x20($sp) +/* 3ccbc: 8fa90044 */ lw $t1,0x44($sp) +/* 3ccc0: 8f280010 */ lw $t0,0x10($t9) +/* 3ccc4: 15090010 */ bne $t0,$t1,.PF0003cd08 +/* 3ccc8: 00000000 */ nop +/* 3cccc: 8faa001c */ lw $t2,0x1c($sp) +/* 3ccd0: 11400007 */ beqz $t2,.PF0003ccf0 +/* 3ccd4: 00000000 */ nop +/* 3ccd8: 8fab001c */ lw $t3,0x1c($sp) +/* 3ccdc: 8fad0020 */ lw $t5,0x20($sp) +/* 3cce0: 8d6c0008 */ lw $t4,0x8($t3) +/* 3cce4: 8dae0008 */ lw $t6,0x8($t5) +/* 3cce8: 018e7821 */ addu $t7,$t4,$t6 +/* 3ccec: ad6f0008 */ sw $t7,0x8($t3) +.PF0003ccf0: +/* 3ccf0: 0c00c429 */ jal 0x310a4 +/* 3ccf4: 8fa40028 */ lw $a0,0x28($sp) +/* 3ccf8: 8fa50040 */ lw $a1,0x40($sp) +/* 3ccfc: 8fa40028 */ lw $a0,0x28($sp) +/* 3cd00: 0c00c41c */ jal 0x31070 +/* 3cd04: 24a50048 */ addiu $a1,$a1,0x48 +.PF0003cd08: +/* 3cd08: 8fb80024 */ lw $t8,0x24($sp) +/* 3cd0c: afb80028 */ sw $t8,0x28($sp) +/* 3cd10: 8fb90028 */ lw $t9,0x28($sp) +/* 3cd14: 1720ffdc */ bnez $t9,.PF0003cc88 +/* 3cd18: 00000000 */ nop +.PF0003cd1c: +/* 3cd1c: 8fa8002c */ lw $t0,0x2c($sp) +/* 3cd20: a1000033 */ sb $zero,0x33($t0) +/* 3cd24: 8faa002c */ lw $t2,0x2c($sp) +/* 3cd28: 24090003 */ li $t1,0x3 +/* 3cd2c: a1490034 */ sb $t1,0x34($t2) +/* 3cd30: 8fad002c */ lw $t5,0x2c($sp) +/* 3cd34: a1a00030 */ sb $zero,0x30($t5) +/* 3cd38: 8fac0040 */ lw $t4,0x40($sp) +/* 3cd3c: 8faf0048 */ lw $t7,0x48($sp) +/* 3cd40: 8fb8002c */ lw $t8,0x2c($sp) +/* 3cd44: 8d8e001c */ lw $t6,0x1c($t4) +/* 3cd48: 01cf5821 */ addu $t3,$t6,$t7 +/* 3cd4c: af0b0024 */ sw $t3,0x24($t8) +/* 3cd50: 8fa40044 */ lw $a0,0x44($sp) +/* 3cd54: 0c011210 */ jal 0x44840 +/* 3cd58: 00002825 */ move $a1,$zero +/* 3cd5c: 8fa40044 */ lw $a0,0x44($sp) +/* 3cd60: 00002825 */ move $a1,$zero +/* 3cd64: 0c00f17c */ jal 0x3c5f0 +/* 3cd68: 8fa60048 */ lw $a2,0x48($sp) +/* 3cd6c: 24190005 */ li $t9,0x5 +/* 3cd70: a7b90030 */ sh $t9,0x30($sp) +/* 3cd74: 8fa80044 */ lw $t0,0x44($sp) +/* 3cd78: afa80034 */ sw $t0,0x34($sp) +/* 3cd7c: 8fa90048 */ lw $t1,0x48($sp) +/* 3cd80: 34019c40 */ li $at,0x9c40 +/* 3cd84: 01215021 */ addu $t2,$t1,$at +/* 3cd88: afaa0048 */ sw $t2,0x48($sp) +/* 3cd8c: 8fa40040 */ lw $a0,0x40($sp) +/* 3cd90: 27a50030 */ addiu $a1,$sp,0x30 +/* 3cd94: 8fa60048 */ lw $a2,0x48($sp) +/* 3cd98: 00003825 */ move $a3,$zero +/* 3cd9c: 0c00efc4 */ jal 0x3bf10 +/* 3cda0: 24840048 */ addiu $a0,$a0,0x48 +/* 3cda4: 10000001 */ b .PF0003cdac +/* 3cda8: 00000000 */ nop +.PF0003cdac: +/* 3cdac: 8fbf0014 */ lw $ra,0x14($sp) +/* 3cdb0: 27bd0040 */ addiu $sp,$sp,0x40 +/* 3cdb4: 03e00008 */ jr $ra +/* 3cdb8: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0003d340 /* 3d340: 27bdffc0 */ addiu $sp,$sp,-64 @@ -170,6 +275,7 @@ glabel func0003d340 /* 3d4b0: 03e00008 */ jr $ra /* 3d4b4: 00000000 */ nop ); +#endif GLOBAL_ASM( glabel func0003d4b8 @@ -1250,5 +1356,4 @@ glabel func0003e2a0 /* 3e3d0: 27bd0028 */ addiu $sp,$sp,0x28 /* 3e3d4: 03e00008 */ jr $ra /* 3e3d8: 00000000 */ nop -/* 3e3dc: 00000000 */ nop -); \ No newline at end of file +); diff --git a/src/lib/main.c b/src/lib/main.c index 4ff3852f0..78b833b0f 100644 --- a/src/lib/main.c +++ b/src/lib/main.c @@ -44,6 +44,7 @@ #include "lib/lib_070d0.h" #include "lib/lib_074f0.h" #include "lib/lib_09660.h" +#include "lib/lib_09a80.h" #include "lib/lib_0bfb0.h" #include "lib/lib_0c000.h" #include "lib/dma.h" @@ -188,6 +189,410 @@ Gfx var8005dcf0[] = { s32 var8005dd18 = 1; +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel mainInit +/* d260: 27bdeb20 */ addiu $sp,$sp,-5344 +/* d264: afbf002c */ sw $ra,0x2c($sp) +/* d268: 0c002f3c */ jal 0xbcf0 +/* d26c: afb00028 */ sw $s0,0x28($sp) +/* d270: 0c003378 */ jal 0xcde0 +/* d274: 00000000 */ nop +/* d278: 0c002258 */ jal 0x8960 +/* d27c: 00000000 */ nop +/* d280: 0c00557c */ jal 0x155f0 +/* d284: 00000000 */ nop +/* d288: 0c0047dc */ jal 0x11f70 +/* d28c: 00000000 */ nop +/* d290: 0c0049e7 */ jal 0x1279c +/* d294: 00000000 */ nop +/* d298: 0c004d3a */ jal 0x134e8 +/* d29c: 00000000 */ nop +/* d2a0: 0c002668 */ jal 0x99a0 +/* d2a4: 00000000 */ nop +/* d2a8: 0c00bcc2 */ jal 0x2f308 +/* d2ac: 00000000 */ nop +/* d2b0: 3c018006 */ lui $at,0x8006 +/* d2b4: 0c004e87 */ jal 0x13a1c +/* d2b8: ac22d650 */ sw $v0,-0x29b0($at) +/* d2bc: 27a41498 */ addiu $a0,$sp,0x1498 +/* d2c0: 27a514d4 */ addiu $a1,$sp,0x14d4 +/* d2c4: 0c011f10 */ jal 0x47c40 +/* d2c8: 24060001 */ li $a2,0x1 +/* d2cc: 00008025 */ move $s0,$zero +/* d2d0: 3c070047 */ lui $a3,0x47 +.PF0000d2d4: +/* d2d4: 240e0000 */ li $t6,0x0 +/* d2d8: 240f0000 */ li $t7,0x0 +/* d2dc: 27b81498 */ addiu $t8,$sp,0x1498 +/* d2e0: 27b914d4 */ addiu $t9,$sp,0x14d4 +/* d2e4: afb9001c */ sw $t9,0x1c($sp) +/* d2e8: afb80018 */ sw $t8,0x18($sp) +/* d2ec: afaf0014 */ sw $t7,0x14($sp) +/* d2f0: afae0010 */ sw $t6,0x10($sp) +/* d2f4: 34e7868c */ ori $a3,$a3,0x868c +/* d2f8: 27a414b0 */ addiu $a0,$sp,0x14b0 +/* d2fc: 0c012108 */ jal 0x48420 +/* d300: 24060000 */ li $a2,0x0 +/* d304: 27a41498 */ addiu $a0,$sp,0x1498 +/* d308: 27a514d4 */ addiu $a1,$sp,0x14d4 +/* d30c: 0c011ffc */ jal 0x47ff0 +/* d310: 24060001 */ li $a2,0x1 +/* d314: 24010001 */ li $at,0x1 +/* d318: 56010006 */ bnel $s0,$at,.PF0000d334 +/* d31c: 2a010002 */ slti $at,$s0,0x2 +/* d320: 0c004ee1 */ jal 0x13b84 +/* d324: 00000000 */ nop +/* d328: 10000007 */ b .PF0000d348 +/* d32c: 26100001 */ addiu $s0,$s0,0x1 +/* d330: 2a010002 */ slti $at,$s0,0x2 +.PF0000d334: +/* d334: 54200004 */ bnezl $at,.PF0000d348 +/* d338: 26100001 */ addiu $s0,$s0,0x1 +/* d33c: 0c00501e */ jal 0x14078 +/* d340: 00000000 */ nop +/* d344: 26100001 */ addiu $s0,$s0,0x1 +.PF0000d348: +/* d348: 24010004 */ li $at,0x4 +/* d34c: 5601ffe1 */ bnel $s0,$at,.PF0000d2d4 +/* d350: 3c070047 */ lui $a3,0x47 +/* d354: 3c057005 */ lui $a1,0x7005 +/* d358: 24a53738 */ addiu $a1,$a1,0x3738 +/* d35c: 0c004b68 */ jal 0x12da0 +/* d360: 24040001 */ li $a0,0x1 +/* d364: 14400004 */ bnez $v0,.PF0000d378 +/* d368: 00002025 */ move $a0,$zero +/* d36c: 240b0001 */ li $t3,0x1 +/* d370: 3c018006 */ lui $at,0x8006 +/* d374: ac2bd650 */ sw $t3,-0x29b0($at) +.PF0000d378: +/* d378: 0c00533a */ jal 0x14ce8 +/* d37c: 24051000 */ li $a1,0x1000 +/* d380: 1440000f */ bnez $v0,.PF0000d3c0 +/* d384: 24040001 */ li $a0,0x1 +/* d388: 0c00533a */ jal 0x14ce8 +/* d38c: 24051000 */ li $a1,0x1000 +/* d390: 1440000b */ bnez $v0,.PF0000d3c0 +/* d394: 24040002 */ li $a0,0x2 +/* d398: 0c00533a */ jal 0x14ce8 +/* d39c: 24051000 */ li $a1,0x1000 +/* d3a0: 14400007 */ bnez $v0,.PF0000d3c0 +/* d3a4: 24040003 */ li $a0,0x3 +/* d3a8: 0c00533a */ jal 0x14ce8 +/* d3ac: 24051000 */ li $a1,0x1000 +/* d3b0: 14400003 */ bnez $v0,.PF0000d3c0 +/* d3b4: 3c018006 */ lui $at,0x8006 +/* d3b8: 10000004 */ b .PF0000d3cc +/* d3bc: ac20d674 */ sw $zero,-0x298c($at) +.PF0000d3c0: +/* d3c0: 240c0001 */ li $t4,0x1 +/* d3c4: 3c018006 */ lui $at,0x8006 +/* d3c8: ac2cd674 */ sw $t4,-0x298c($at) +.PF0000d3cc: +/* d3cc: 3c0e8006 */ lui $t6,0x8006 +/* d3d0: afa01478 */ sw $zero,0x1478($sp) +/* d3d4: 25ced9bc */ addiu $t6,$t6,-9796 +/* d3d8: 8dc10000 */ lw $at,0x0($t6) +/* d3dc: 8dd90004 */ lw $t9,0x4($t6) +/* d3e0: 27ad1458 */ addiu $t5,$sp,0x1458 +/* d3e4: ada10000 */ sw $at,0x0($t5) +/* d3e8: adb90004 */ sw $t9,0x4($t5) +/* d3ec: 8dd9000c */ lw $t9,0xc($t6) +/* d3f0: 8dc10008 */ lw $at,0x8($t6) +/* d3f4: adb9000c */ sw $t9,0xc($t5) +/* d3f8: ada10008 */ sw $at,0x8($t5) +/* d3fc: 8dc10010 */ lw $at,0x10($t6) +/* d400: 8dd90014 */ lw $t9,0x14($t6) +/* d404: ada10010 */ sw $at,0x10($t5) +/* d408: adb90014 */ sw $t9,0x14($t5) +/* d40c: 8dd9001c */ lw $t9,0x1c($t6) +/* d410: 8dc10018 */ lw $at,0x18($t6) +/* d414: adb9001c */ sw $t9,0x1c($t5) +/* d418: 0c0005b0 */ jal 0x16c0 +/* d41c: ada10018 */ sw $at,0x18($t5) +/* d420: 3c010040 */ lui $at,0x40 +/* d424: 34210001 */ ori $at,$at,0x1 +/* d428: 0041082a */ slt $at,$v0,$at +/* d42c: 1020000e */ beqz $at,.PF0000d468 +/* d430: 3c0d8006 */ lui $t5,0x8006 +/* d434: 3c0b8006 */ lui $t3,0x8006 +/* d438: 8d6bcc24 */ lw $t3,-0x33dc($t3) +/* d43c: 3c18803f */ lui $t8,0x803f +/* d440: 371850b8 */ ori $t8,$t8,0x50b8 +/* d444: 3c01ffef */ lui $at,0xffef +/* d448: 000b60c0 */ sll $t4,$t3,0x3 +/* d44c: 030c1023 */ subu $v0,$t8,$t4 +/* d450: 34214000 */ ori $at,$at,0x4000 +/* d454: 00411021 */ addu $v0,$v0,$at +/* d458: 304f1fff */ andi $t7,$v0,0x1fff +/* d45c: 004f1023 */ subu $v0,$v0,$t7 +/* d460: 10000002 */ b .PF0000d46c +/* d464: 2442e380 */ addiu $v0,$v0,-7296 +.PF0000d468: +/* d468: 3c028080 */ lui $v0,0x8080 +.PF0000d46c: +/* d46c: 8dadd674 */ lw $t5,-0x298c($t5) +/* d470: 3c01fff6 */ lui $at,0xfff6 +/* d474: 3421a000 */ ori $at,$at,0xa000 +/* d478: 00411021 */ addu $v0,$v0,$at +/* d47c: 11a0000f */ beqz $t5,.PF0000d4bc +/* d480: 2442ffc0 */ addiu $v0,$v0,-64 +/* d484: 3c018000 */ lui $at,0x8000 +/* d488: 00418025 */ or $s0,$v0,$at +/* d48c: 2610003f */ addiu $s0,$s0,0x3f +/* d490: 3c0301ff */ lui $v1,0x1ff +/* d494: 360e003f */ ori $t6,$s0,0x3f +/* d498: 3c0b01ff */ lui $t3,0x1ff +/* d49c: 24656030 */ addiu $a1,$v1,0x6030 +/* d4a0: 256b68e0 */ addiu $t3,$t3,0x68e0 +/* d4a4: 39c4003f */ xori $a0,$t6,0x3f +/* d4a8: 00808025 */ move $s0,$a0 +/* d4ac: 0c003454 */ jal 0xd150 +/* d4b0: 01653023 */ subu $a2,$t3,$a1 +/* d4b4: 1000000e */ b .PF0000d4f0 +/* d4b8: 3c01ffff */ lui $at,0xffff +.PF0000d4bc: +/* d4bc: 3c018000 */ lui $at,0x8000 +/* d4c0: 00418025 */ or $s0,$v0,$at +/* d4c4: 2610003f */ addiu $s0,$s0,0x3f +/* d4c8: 3c0301ff */ lui $v1,0x1ff +/* d4cc: 3618003f */ ori $t8,$s0,0x3f +/* d4d0: 3c0f01ff */ lui $t7,0x1ff +/* d4d4: 24655500 */ addiu $a1,$v1,0x5500 +/* d4d8: 25ef6030 */ addiu $t7,$t7,0x6030 +/* d4dc: 3b04003f */ xori $a0,$t8,0x3f +/* d4e0: 00808025 */ move $s0,$a0 +/* d4e4: 0c003454 */ jal 0xd150 +/* d4e8: 01e53023 */ subu $a2,$t7,$a1 +/* d4ec: 3c01ffff */ lui $at,0xffff +.PF0000d4f0: +/* d4f0: 342141e0 */ ori $at,$at,0x41e0 +/* d4f4: 02012821 */ addu $a1,$s0,$at +/* d4f8: afa50048 */ sw $a1,0x48($sp) +/* d4fc: 02002025 */ move $a0,$s0 +/* d500: 0c001d0c */ jal 0x7430 +/* d504: 27a60058 */ addiu $a2,$sp,0x58 +/* d508: 3c050004 */ lui $a1,0x4 +/* d50c: 8faa0048 */ lw $t2,0x48($sp) +/* d510: 34a53800 */ ori $a1,$a1,0x3800 +/* d514: 00003825 */ move $a3,$zero +/* d518: 24040500 */ li $a0,0x500 +/* d51c: 00076840 */ sll $t5,$a3,0x1 +.PF0000d520: +/* d520: 020d1821 */ addu $v1,$s0,$t5 +/* d524: 00001025 */ move $v0,$zero +.PF0000d528: +/* d528: 00627021 */ addu $t6,$v1,$v0 +/* d52c: 24420002 */ addiu $v0,$v0,0x2 +/* d530: 1444fffd */ bne $v0,$a0,.PF0000d528 +/* d534: a5c00000 */ sh $zero,0x0($t6) +/* d538: 24e70240 */ addiu $a3,$a3,0x240 +/* d53c: 00e5082a */ slt $at,$a3,$a1 +/* d540: 5420fff7 */ bnezl $at,.PF0000d520 +/* d544: 00076840 */ sll $t5,$a3,0x1 +/* d548: 3c198000 */ lui $t9,0x8000 +/* d54c: 8f390300 */ lw $t9,0x300($t9) +/* d550: 00003825 */ move $a3,$zero +/* d554: 00003025 */ move $a2,$zero +/* d558: 17200010 */ bnez $t9,.PF0000d59c +/* d55c: 24095f10 */ li $t1,0x5f10 +/* d560: 240503f6 */ li $a1,0x3f6 +.PF0000d564: +/* d564: 00075840 */ sll $t3,$a3,0x1 +/* d568: 0006c040 */ sll $t8,$a2,0x1 +/* d56c: 01582021 */ addu $a0,$t2,$t8 +/* d570: 020b1821 */ addu $v1,$s0,$t3 +/* d574: 00001025 */ move $v0,$zero +.PF0000d578: +/* d578: 00826021 */ addu $t4,$a0,$v0 +/* d57c: 958f0000 */ lhu $t7,0x0($t4) +/* d580: 00626821 */ addu $t5,$v1,$v0 +/* d584: 24420002 */ addiu $v0,$v0,0x2 +/* d588: 1445fffb */ bne $v0,$a1,.PF0000d578 +/* d58c: a5af008a */ sh $t7,0x8a($t5) +/* d590: 24c601fb */ addiu $a2,$a2,0x1fb +/* d594: 14c9fff3 */ bne $a2,$t1,.PF0000d564 +/* d598: 24e70240 */ addiu $a3,$a3,0x240 +.PF0000d59c: +/* d59c: 0c0029fd */ jal 0xa7f4 +/* d5a0: 24040002 */ li $a0,0x2 +/* d5a4: 0c002696 */ jal 0x9a58 +/* d5a8: 02002025 */ move $a0,$s0 +/* d5ac: 8faa0048 */ lw $t2,0x48($sp) +/* d5b0: 3c018006 */ lui $at,0x8006 +/* d5b4: 3c048009 */ lui $a0,0x8009 +/* d5b8: ac2aecf4 */ sw $t2,-0x130c($at) +/* d5bc: 3c018006 */ lui $at,0x8006 +/* d5c0: 254e0800 */ addiu $t6,$t2,0x800 +/* d5c4: ac2eecf0 */ sw $t6,-0x1310($at) +/* d5c8: 2484e080 */ addiu $a0,$a0,-8064 +/* d5cc: 27a51478 */ addiu $a1,$sp,0x1478 +/* d5d0: 0c011ffc */ jal 0x47ff0 +/* d5d4: 00003025 */ move $a2,$zero +/* d5d8: 14400007 */ bnez $v0,.PF0000d5f8 +.PF0000d5dc: +/* d5dc: 3c048009 */ lui $a0,0x8009 +/* d5e0: 2484e080 */ addiu $a0,$a0,-8064 +/* d5e4: 27a51478 */ addiu $a1,$sp,0x1478 +/* d5e8: 0c011ffc */ jal 0x47ff0 +/* d5ec: 00003025 */ move $a2,$zero +/* d5f0: 1040fffa */ beqz $v0,.PF0000d5dc +/* d5f4: 00000000 */ nop +.PF0000d5f8: +/* d5f8: 00001825 */ move $v1,$zero +.PF0000d5fc: +/* d5fc: 3c048009 */ lui $a0,0x8009 +/* d600: 2484e080 */ addiu $a0,$a0,-8064 +/* d604: 27a51478 */ addiu $a1,$sp,0x1478 +/* d608: 24060001 */ li $a2,0x1 +/* d60c: 0c011ffc */ jal 0x47ff0 +/* d610: afa31490 */ sw $v1,0x1490($sp) +/* d614: 8fb91478 */ lw $t9,0x1478($sp) +/* d618: 24010001 */ li $at,0x1 +/* d61c: 8fa31490 */ lw $v1,0x1490($sp) +/* d620: 872b0000 */ lh $t3,0x0($t9) +/* d624: 27b01458 */ addiu $s0,$sp,0x1458 +/* d628: 5561000d */ bnel $t3,$at,.PF0000d660 +/* d62c: 28610006 */ slti $at,$v1,0x6 +/* d630: 0c0027d9 */ jal 0x9f64 +/* d634: afa31490 */ sw $v1,0x1490($sp) +/* d638: 3c048006 */ lui $a0,0x8006 +/* d63c: 3c058006 */ lui $a1,0x8006 +/* d640: 24a5d990 */ addiu $a1,$a1,-9840 +/* d644: 2484d968 */ addiu $a0,$a0,-9880 +/* d648: 00003025 */ move $a2,$zero +/* d64c: 0c00bc7d */ jal 0x2f1f4 +/* d650: 02003825 */ move $a3,$s0 +/* d654: 8fa31490 */ lw $v1,0x1490($sp) +/* d658: 24630001 */ addiu $v1,$v1,0x1 +/* d65c: 28610006 */ slti $at,$v1,0x6 +.PF0000d660: +/* d660: 1420ffe6 */ bnez $at,.PF0000d5fc +/* d664: 00000000 */ nop +/* d668: 3c188000 */ lui $t8,0x8000 +/* d66c: 8f180300 */ lw $t8,0x300($t8) +/* d670: 13000003 */ beqz $t8,.PF0000d680 +/* d674: 00000000 */ nop +.PF0000d678: +/* d678: 1000ffff */ b .PF0000d678 +/* d67c: 00000000 */ nop +.PF0000d680: +/* d680: 0c001c04 */ jal 0x7010 +/* d684: 00000000 */ nop +/* d688: 0fc6a2ac */ jal 0xf1a8ab0 +/* d68c: 00000000 */ nop +/* d690: 0fc59fbd */ jal 0xf167ef4 +/* d694: 00000000 */ nop +/* d698: 0fc5dbe0 */ jal 0xf176f80 +/* d69c: 00000000 */ nop +/* d6a0: 0fc5dbf0 */ jal 0xf176fc0 +/* d6a4: 00000000 */ nop +/* d6a8: 3c0c8006 */ lui $t4,0x8006 +/* d6ac: 8d8cd650 */ lw $t4,-0x29b0($t4) +/* d6b0: 11800003 */ beqz $t4,.PF0000d6c0 +/* d6b4: 3c047005 */ lui $a0,0x7005 +/* d6b8: 0c004b23 */ jal 0x12c8c +/* d6bc: 24843740 */ addiu $a0,$a0,0x3740 +.PF0000d6c0: +/* d6c0: 3c04800b */ lui $a0,0x800b +/* d6c4: 0c012ab0 */ jal 0x4aac0 +/* d6c8: 2484d760 */ addiu $a0,$a0,-10400 +/* d6cc: 3c038009 */ lui $v1,0x8009 +/* d6d0: 8c631050 */ lw $v1,0x1050($v1) +/* d6d4: 3c018000 */ lui $at,0x8000 +/* d6d8: 00412025 */ or $a0,$v0,$at +/* d6dc: 0c0047de */ jal 0x11f78 +/* d6e0: 00642823 */ subu $a1,$v1,$a0 +/* d6e4: 0c0048ae */ jal 0x122b8 +/* d6e8: 24040008 */ li $a0,0x8 +/* d6ec: 0c0048ae */ jal 0x122b8 +/* d6f0: 24040006 */ li $a0,0x6 +/* d6f4: 0c00330e */ jal 0xcc38 +/* d6f8: 00000000 */ nop +/* d6fc: 0fc02c88 */ jal 0xf00b220 +/* d700: 00000000 */ nop +/* d704: 0fc5df83 */ jal 0xf177e0c +/* d708: 00000000 */ nop +/* d70c: 0c000d28 */ jal 0x34a0 +/* d710: 00000000 */ nop +/* d714: 0fc02c68 */ jal 0xf00b1a0 +/* d718: 00000000 */ nop +/* d71c: 0fc00000 */ jal 0xf000000 +/* d720: 00000000 */ nop +/* d724: 0fc5a29e */ jal 0xf168a78 +/* d728: 00000000 */ nop +/* d72c: 0fc41f77 */ jal 0xf107ddc +/* d730: 00000000 */ nop +/* d734: 0c0039c8 */ jal 0xe720 +/* d738: 00000000 */ nop +/* d73c: 0fc54f94 */ jal 0xf153e50 +/* d740: 00000000 */ nop +/* d744: 0c004d48 */ jal 0x13520 +/* d748: 00000000 */ nop +/* d74c: 0fc4a0f8 */ jal 0xf1283e0 +/* d750: 00000000 */ nop +/* d754: 0fc5b718 */ jal 0xf16dc60 +/* d758: 00000000 */ nop +/* d75c: 0fc02c84 */ jal 0xf00b210 +/* d760: 00000000 */ nop +/* d764: 0c00265c */ jal 0x9970 +/* d768: 00000000 */ nop +/* d76c: 0fc0021c */ jal 0xf000870 +/* d770: 00000000 */ nop +/* d774: 0fc00220 */ jal 0xf000880 +/* d778: 00000000 */ nop +/* d77c: 0fc00238 */ jal 0xf0008e0 +/* d780: 00000000 */ nop +/* d784: 0fc0023c */ jal 0xf0008f0 +/* d788: 00000000 */ nop +/* d78c: 0fc00240 */ jal 0xf000900 +/* d790: 00000000 */ nop +/* d794: 0fc02c64 */ jal 0xf00b190 +/* d798: 00000000 */ nop +/* d79c: 0fc00244 */ jal 0xf000910 +/* d7a0: 00000000 */ nop +/* d7a4: 0fc00210 */ jal 0xf000840 +/* d7a8: 00000000 */ nop +/* d7ac: 0fc62468 */ jal 0xf1891a0 +/* d7b0: 00000000 */ nop +/* d7b4: 0fc52bf6 */ jal 0xf14afd8 +/* d7b8: 00000000 */ nop +/* d7bc: 0fc4652e */ jal 0xf1194b8 +/* d7c0: 00000000 */ nop +/* d7c4: 0fc52c1b */ jal 0xf14b06c +/* d7c8: 00000000 */ nop +/* d7cc: 0c008b30 */ jal 0x22cc0 +/* d7d0: 00000000 */ nop +/* d7d4: 0fc00040 */ jal 0xf000100 +/* d7d8: 00000000 */ nop +/* d7dc: 0fc0004c */ jal 0xf000130 +/* d7e0: 00000000 */ nop +/* d7e4: 0fc00214 */ jal 0xf000850 +/* d7e8: 00000000 */ nop +/* d7ec: 0fc00218 */ jal 0xf000860 +/* d7f0: 00000000 */ nop +/* d7f4: 0fc00024 */ jal 0xf000090 +/* d7f8: 00000000 */ nop +/* d7fc: 0c0026c0 */ jal 0x9b00 +/* d800: 00000000 */ nop +/* d804: 0c002779 */ jal 0x9de4 +/* d808: 24040001 */ li $a0,0x1 +/* d80c: 3c0f8006 */ lui $t7,0x8006 +/* d810: 8defd674 */ lw $t7,-0x298c($t7) +/* d814: 3c018006 */ lui $at,0x8006 +/* d818: ac20d9b8 */ sw $zero,-0x2648($at) +/* d81c: 51e00004 */ beqzl $t7,.PF0000d830 +/* d820: 8fbf002c */ lw $ra,0x2c($sp) +/* d824: 0c011f84 */ jal 0x47e10 +/* d828: 00000000 */ nop +/* d82c: 8fbf002c */ lw $ra,0x2c($sp) +.PF0000d830: +/* d830: 8fb00028 */ lw $s0,0x28($sp) +/* d834: 27bd14e0 */ addiu $sp,$sp,0x14e0 +/* d838: 03e00008 */ jr $ra +/* d83c: 00000000 */ nop +); +#else GLOBAL_ASM( glabel mainInit /* d520: 27bdeb28 */ addiu $sp,$sp,-5336 @@ -582,6 +987,7 @@ glabel mainInit /* dae0: 03e00008 */ jr $ra /* dae4: 27bd14d8 */ addiu $sp,$sp,0x14d8 ); +#endif const char var70053a98[] = "-level_"; const char var70053aa0[] = " -ml0 -me0 -mgfx100 -mvtx50 -mt700 -ma400"; diff --git a/src/lib/model.c b/src/lib/model.c index 184e2cfff..6a7be85f8 100644 --- a/src/lib/model.c +++ b/src/lib/model.c @@ -758,6 +758,211 @@ glabel func0001b07c /* 1b0e4: 00000000 */ nop ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0001b0e8 +.late_rodata +glabel var70053f94pf +.word 0x3c23d70a +glabel var70053f98pf +.word 0x3c23d70a +.text +/* 1ae78: 27bdffb8 */ addiu $sp,$sp,-72 +/* 1ae7c: afbf0014 */ sw $ra,0x14($sp) +/* 1ae80: 8c880020 */ lw $t0,0x20($a0) +/* 1ae84: 510000b1 */ beqzl $t0,.PF0001b14c +/* 1ae88: 8fbf0014 */ lw $ra,0x14($sp) +/* 1ae8c: afa40048 */ sw $a0,0x48($sp) +/* 1ae90: 0c0069eb */ jal 0x1a7ac +/* 1ae94: afa80040 */ sw $t0,0x40($sp) +/* 1ae98: 804e0000 */ lb $t6,0x0($v0) +/* 1ae9c: 8fa80040 */ lw $t0,0x40($sp) +/* 1aea0: 00401825 */ move $v1,$v0 +/* 1aea4: 55c000a9 */ bnezl $t6,.PF0001b14c +/* 1aea8: 8fbf0014 */ lw $ra,0x14($sp) +/* 1aeac: c4440034 */ lwc1 $f4,0x34($v0) +/* 1aeb0: 3c0f800a */ lui $t7,0x800a +/* 1aeb4: e7a40034 */ swc1 $f4,0x34($sp) +/* 1aeb8: c4460038 */ lwc1 $f6,0x38($v0) +/* 1aebc: e7a60038 */ swc1 $f6,0x38($sp) +/* 1aec0: c448003c */ lwc1 $f8,0x3c($v0) +/* 1aec4: e7a8003c */ swc1 $f8,0x3c($sp) +/* 1aec8: c44a0030 */ lwc1 $f10,0x30($v0) +/* 1aecc: e44a0014 */ swc1 $f10,0x14($v0) +/* 1aed0: 8defa9dc */ lw $t7,-0x5624($t7) +/* 1aed4: 51e00017 */ beqzl $t7,.PF0001af34 +/* 1aed8: c5020010 */ lwc1 $f2,0x10($t0) +/* 1aedc: c500001c */ lwc1 $f0,0x1c($t0) +/* 1aee0: 44808000 */ mtc1 $zero,$f16 +/* 1aee4: 00000000 */ nop +/* 1aee8: 4600803c */ c.lt.s $f16,$f0 +/* 1aeec: 00000000 */ nop +/* 1aef0: 45020010 */ bc1fl .PF0001af34 +/* 1aef4: c5020010 */ lwc1 $f2,0x10($t0) +/* 1aef8: c5120010 */ lwc1 $f18,0x10($t0) +/* 1aefc: 3c017005 */ lui $at,0x7005 +/* 1af00: c4263f94 */ lwc1 $f6,0x3f94($at) +/* 1af04: 46009103 */ div.s $f4,$f18,$f0 +/* 1af08: afa80040 */ sw $t0,0x40($sp) +/* 1af0c: afa20044 */ sw $v0,0x44($sp) +/* 1af10: 0fc25dec */ jal 0xf0977b0 +/* 1af14: 46062300 */ add.s $f12,$f4,$f6 +/* 1af18: 8fa80040 */ lw $t0,0x40($sp) +/* 1af1c: 8fa30044 */ lw $v1,0x44($sp) +/* 1af20: c508001c */ lwc1 $f8,0x1c($t0) +/* 1af24: 46080082 */ mul.s $f2,$f0,$f8 +/* 1af28: 10000003 */ b .PF0001af38 +/* 1af2c: 44805000 */ mtc1 $zero,$f10 +/* 1af30: c5020010 */ lwc1 $f2,0x10($t0) +.PF0001af34: +/* 1af34: 44805000 */ mtc1 $zero,$f10 +.PF0001af38: +/* 1af38: 00000000 */ nop +/* 1af3c: 460a1032 */ c.eq.s $f2,$f10 +/* 1af40: 00000000 */ nop +/* 1af44: 45030015 */ bc1tl .PF0001af9c +/* 1af48: 85190002 */ lh $t9,0x2($t0) +/* 1af4c: 80780001 */ lb $t8,0x1($v1) +/* 1af50: 27a40034 */ addiu $a0,$sp,0x34 +/* 1af54: 24650024 */ addiu $a1,$v1,0x24 +/* 1af58: 53000010 */ beqzl $t8,.PF0001af9c +/* 1af5c: 85190002 */ lh $t9,0x2($t0) +/* 1af60: 44061000 */ mfc1 $a2,$f2 +/* 1af64: afa30044 */ sw $v1,0x44($sp) +/* 1af68: afa80040 */ sw $t0,0x40($sp) +/* 1af6c: 0c006b4a */ jal 0x1ad28 +/* 1af70: e7a20024 */ swc1 $f2,0x24($sp) +/* 1af74: c7a20024 */ lwc1 $f2,0x24($sp) +/* 1af78: 8fa30044 */ lw $v1,0x44($sp) +/* 1af7c: 44061000 */ mfc1 $a2,$f2 +/* 1af80: c46c0030 */ lwc1 $f12,0x30($v1) +/* 1af84: 0c006b5e */ jal 0x1ad78 +/* 1af88: c46e0020 */ lwc1 $f14,0x20($v1) +/* 1af8c: 8fa30044 */ lw $v1,0x44($sp) +/* 1af90: 8fa80040 */ lw $t0,0x40($sp) +/* 1af94: e4600014 */ swc1 $f0,0x14($v1) +/* 1af98: 85190002 */ lh $t9,0x2($t0) +.PF0001af9c: +/* 1af9c: 24650008 */ addiu $a1,$v1,0x8 +/* 1afa0: 57200008 */ bnezl $t9,.PF0001afc4 +/* 1afa4: 80690002 */ lb $t1,0x2($v1) +/* 1afa8: 44808000 */ mtc1 $zero,$f16 +/* 1afac: c5120054 */ lwc1 $f18,0x54($t0) +/* 1afb0: 46128032 */ c.eq.s $f16,$f18 +/* 1afb4: 00000000 */ nop +/* 1afb8: 45030016 */ bc1tl .PF0001b014 +/* 1afbc: 8d0a0070 */ lw $t2,0x70($t0) +/* 1afc0: 80690002 */ lb $t1,0x2($v1) +.PF0001afc4: +/* 1afc4: c7b00038 */ lwc1 $f16,0x38($sp) +/* 1afc8: 51200012 */ beqzl $t1,.PF0001b014 +/* 1afcc: 8d0a0070 */ lw $t2,0x70($t0) +/* 1afd0: c5020034 */ lwc1 $f2,0x34($t0) +/* 1afd4: 44802000 */ mtc1 $zero,$f4 +/* 1afd8: c4600050 */ lwc1 $f0,0x50($v1) +/* 1afdc: c50c0054 */ lwc1 $f12,0x54($t0) +/* 1afe0: 46022032 */ c.eq.s $f4,$f2 +/* 1afe4: 00000000 */ nop +/* 1afe8: 45030006 */ bc1tl .PF0001b004 +/* 1afec: 46100481 */ sub.s $f18,$f0,$f16 +/* 1aff0: c4660044 */ lwc1 $f6,0x44($v1) +/* 1aff4: 46003201 */ sub.s $f8,$f6,$f0 +/* 1aff8: 46024282 */ mul.s $f10,$f8,$f2 +/* 1affc: 460a0000 */ add.s $f0,$f0,$f10 +/* 1b000: 46100481 */ sub.s $f18,$f0,$f16 +.PF0001b004: +/* 1b004: 460c9102 */ mul.s $f4,$f18,$f12 +/* 1b008: 46048180 */ add.s $f6,$f16,$f4 +/* 1b00c: e7a60038 */ swc1 $f6,0x38($sp) +/* 1b010: 8d0a0070 */ lw $t2,0x70($t0) +.PF0001b014: +/* 1b014: c7a80034 */ lwc1 $f8,0x34($sp) +/* 1b018: c7a60034 */ lwc1 $f6,0x34($sp) +/* 1b01c: 5540000a */ bnezl $t2,.PF0001b048 +/* 1b020: c7a80038 */ lwc1 $f8,0x38($sp) +/* 1b024: e4680008 */ swc1 $f8,0x8($v1) +/* 1b028: c7aa0038 */ lwc1 $f10,0x38($sp) +/* 1b02c: c4720004 */ lwc1 $f18,0x4($v1) +/* 1b030: 46125400 */ add.s $f16,$f10,$f18 +/* 1b034: e470000c */ swc1 $f16,0xc($v1) +/* 1b038: c7a4003c */ lwc1 $f4,0x3c($sp) +/* 1b03c: 10000042 */ b .PF0001b148 +/* 1b040: e4640010 */ swc1 $f4,0x10($v1) +/* 1b044: c7a80038 */ lwc1 $f8,0x38($sp) +.PF0001b048: +/* 1b048: c7aa003c */ lwc1 $f10,0x3c($sp) +/* 1b04c: e7a60028 */ swc1 $f6,0x28($sp) +/* 1b050: afa30044 */ sw $v1,0x44($sp) +/* 1b054: e7a8002c */ swc1 $f8,0x2c($sp) +/* 1b058: e7aa0030 */ swc1 $f10,0x30($sp) +/* 1b05c: 8d190070 */ lw $t9,0x70($t0) +/* 1b060: 8fa40048 */ lw $a0,0x48($sp) +/* 1b064: 27a60028 */ addiu $a2,$sp,0x28 +/* 1b068: 0320f809 */ jalr $t9 +/* 1b06c: 24670004 */ addiu $a3,$v1,0x4 +/* 1b070: 10400035 */ beqz $v0,.PF0001b148 +/* 1b074: 8fa30044 */ lw $v1,0x44($sp) +/* 1b078: c7b20028 */ lwc1 $f18,0x28($sp) +/* 1b07c: c4640004 */ lwc1 $f4,0x4($v1) +/* 1b080: e4720008 */ swc1 $f18,0x8($v1) +/* 1b084: c7b0002c */ lwc1 $f16,0x2c($sp) +/* 1b088: 46048180 */ add.s $f6,$f16,$f4 +/* 1b08c: e466000c */ swc1 $f6,0xc($v1) +/* 1b090: c7a80030 */ lwc1 $f8,0x30($sp) +/* 1b094: e4680010 */ swc1 $f8,0x10($v1) +/* 1b098: c7b20034 */ lwc1 $f18,0x34($sp) +/* 1b09c: c7aa0028 */ lwc1 $f10,0x28($sp) +/* 1b0a0: c7a6003c */ lwc1 $f6,0x3c($sp) +/* 1b0a4: c7a40030 */ lwc1 $f4,0x30($sp) +/* 1b0a8: 46125401 */ sub.s $f16,$f10,$f18 +/* 1b0ac: 46062201 */ sub.s $f8,$f4,$f6 +/* 1b0b0: e7b00034 */ swc1 $f16,0x34($sp) +/* 1b0b4: e7a8003c */ swc1 $f8,0x3c($sp) +/* 1b0b8: c46a0034 */ lwc1 $f10,0x34($v1) +/* 1b0bc: c464003c */ lwc1 $f4,0x3c($v1) +/* 1b0c0: 806b0001 */ lb $t3,0x1($v1) +/* 1b0c4: 46105480 */ add.s $f18,$f10,$f16 +/* 1b0c8: e4720034 */ swc1 $f18,0x34($v1) +/* 1b0cc: c7a6003c */ lwc1 $f6,0x3c($sp) +/* 1b0d0: 46062200 */ add.s $f8,$f4,$f6 +/* 1b0d4: 11600009 */ beqz $t3,.PF0001b0fc +/* 1b0d8: e468003c */ swc1 $f8,0x3c($v1) +/* 1b0dc: c46a0024 */ lwc1 $f10,0x24($v1) +/* 1b0e0: c7b00034 */ lwc1 $f16,0x34($sp) +/* 1b0e4: c464002c */ lwc1 $f4,0x2c($v1) +/* 1b0e8: 46105480 */ add.s $f18,$f10,$f16 +/* 1b0ec: e4720024 */ swc1 $f18,0x24($v1) +/* 1b0f0: c7a6003c */ lwc1 $f6,0x3c($sp) +/* 1b0f4: 46062200 */ add.s $f8,$f4,$f6 +/* 1b0f8: e468002c */ swc1 $f8,0x2c($v1) +.PF0001b0fc: +/* 1b0fc: 806c0002 */ lb $t4,0x2($v1) +/* 1b100: c7b00034 */ lwc1 $f16,0x34($sp) +/* 1b104: 51800011 */ beqzl $t4,.PF0001b14c +/* 1b108: 8fbf0014 */ lw $ra,0x14($sp) +/* 1b10c: c46a004c */ lwc1 $f10,0x4c($v1) +/* 1b110: c4640054 */ lwc1 $f4,0x54($v1) +/* 1b114: 46105480 */ add.s $f18,$f10,$f16 +/* 1b118: c46a0040 */ lwc1 $f10,0x40($v1) +/* 1b11c: e472004c */ swc1 $f18,0x4c($v1) +/* 1b120: c7a6003c */ lwc1 $f6,0x3c($sp) +/* 1b124: 46062200 */ add.s $f8,$f4,$f6 +/* 1b128: c4640048 */ lwc1 $f4,0x48($v1) +/* 1b12c: e4680054 */ swc1 $f8,0x54($v1) +/* 1b130: c7b00034 */ lwc1 $f16,0x34($sp) +/* 1b134: 46105480 */ add.s $f18,$f10,$f16 +/* 1b138: e4720040 */ swc1 $f18,0x40($v1) +/* 1b13c: c7a6003c */ lwc1 $f6,0x3c($sp) +/* 1b140: 46062200 */ add.s $f8,$f4,$f6 +/* 1b144: e4680048 */ swc1 $f8,0x48($v1) +.PF0001b148: +/* 1b148: 8fbf0014 */ lw $ra,0x14($sp) +.PF0001b14c: +/* 1b14c: 27bd0048 */ addiu $sp,$sp,0x48 +/* 1b150: 03e00008 */ jr $ra +/* 1b154: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0001b0e8 /* 1b0e8: 27bdffb8 */ addiu $sp,$sp,-72 @@ -952,6 +1157,7 @@ glabel func0001b0e8 /* 1b3b4: 03e00008 */ jr $ra /* 1b3b8: 00000000 */ nop ); +#endif void func0001b3bc(struct model *model) { @@ -962,6 +1168,289 @@ void func0001b3bc(struct model *model) } } +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0001b400 +/* 1b19c: 27bdfd98 */ addiu $sp,$sp,-616 +/* 1b1a0: afbf002c */ sw $ra,0x2c($sp) +/* 1b1a4: afb00028 */ sw $s0,0x28($sp) +/* 1b1a8: afa40268 */ sw $a0,0x268($sp) +/* 1b1ac: 8cb00020 */ lw $s0,0x20($a1) +/* 1b1b0: 8cc80004 */ lw $t0,0x4($a2) +/* 1b1b4: 00a03825 */ move $a3,$a1 +/* 1b1b8: 00a02025 */ move $a0,$a1 +/* 1b1bc: 00c02825 */ move $a1,$a2 +/* 1b1c0: afa7026c */ sw $a3,0x26c($sp) +/* 1b1c4: afa60270 */ sw $a2,0x270($sp) +/* 1b1c8: 0c0069eb */ jal 0x1a7ac +/* 1b1cc: afa80260 */ sw $t0,0x260($sp) +/* 1b1d0: 8fa7026c */ lw $a3,0x26c($sp) +/* 1b1d4: afa2025c */ sw $v0,0x25c($sp) +/* 1b1d8: 244e0008 */ addiu $t6,$v0,0x8 +/* 1b1dc: c4e40014 */ lwc1 $f4,0x14($a3) +/* 1b1e0: afae0254 */ sw $t6,0x254($sp) +/* 1b1e4: 8fa80260 */ lw $t0,0x260($sp) +/* 1b1e8: e7a40258 */ swc1 $f4,0x258($sp) +/* 1b1ec: c4460014 */ lwc1 $f6,0x14($v0) +/* 1b1f0: 8fa60270 */ lw $a2,0x270($sp) +/* 1b1f4: 8fac0268 */ lw $t4,0x268($sp) +/* 1b1f8: e7a60250 */ swc1 $f6,0x250($sp) +/* 1b1fc: 85030002 */ lh $v1,0x2($t0) +/* 1b200: 8cef000c */ lw $t7,0xc($a3) +/* 1b204: 00e02025 */ move $a0,$a3 +/* 1b208: 0003c180 */ sll $t8,$v1,0x6 +/* 1b20c: 01f8c821 */ addu $t9,$t7,$t8 +/* 1b210: afb90244 */ sw $t9,0x244($sp) +/* 1b214: 95090000 */ lhu $t1,0x0($t0) +/* 1b218: afa90240 */ sw $t1,0x240($sp) +/* 1b21c: 8cea0008 */ lw $t2,0x8($a3) +/* 1b220: 8d4b0004 */ lw $t3,0x4($t2) +/* 1b224: afab023c */ sw $t3,0x23c($sp) +/* 1b228: 8cc50008 */ lw $a1,0x8($a2) +/* 1b22c: 50a00006 */ beqzl $a1,.PF0001b248 +/* 1b230: 8d8d0000 */ lw $t5,0x0($t4) +/* 1b234: 0c0068d7 */ jal 0x1a35c +/* 1b238: 00003025 */ move $a2,$zero +/* 1b23c: 10000003 */ b .PF0001b24c +/* 1b240: afa2024c */ sw $v0,0x24c($sp) +/* 1b244: 8d8d0000 */ lw $t5,0x0($t4) +.PF0001b248: +/* 1b248: afad024c */ sw $t5,0x24c($sp) +.PF0001b24c: +/* 1b24c: 920e0004 */ lbu $t6,0x4($s0) +/* 1b250: 82050008 */ lb $a1,0x8($s0) +/* 1b254: 86070000 */ lh $a3,0x0($s0) +/* 1b258: 27af0230 */ addiu $t7,$sp,0x230 +/* 1b25c: 27b80224 */ addiu $t8,$sp,0x224 +/* 1b260: 27b90218 */ addiu $t9,$sp,0x218 +/* 1b264: afb9001c */ sw $t9,0x1c($sp) +/* 1b268: afb80018 */ sw $t8,0x18($sp) +/* 1b26c: afaf0014 */ sw $t7,0x14($sp) +/* 1b270: 8fa40240 */ lw $a0,0x240($sp) +/* 1b274: 8fa6023c */ lw $a2,0x23c($sp) +/* 1b278: 0c008e54 */ jal 0x23950 +/* 1b27c: afae0010 */ sw $t6,0x10($sp) +/* 1b280: 3c09800a */ lui $t1,0x800a +/* 1b284: 8d29a9dc */ lw $t1,-0x5624($t1) +/* 1b288: 51200013 */ beqzl $t1,.PF0001b2d8 +/* 1b28c: c6020010 */ lwc1 $f2,0x10($s0) +/* 1b290: c600001c */ lwc1 $f0,0x1c($s0) +/* 1b294: 44804000 */ mtc1 $zero,$f8 +/* 1b298: 00000000 */ nop +/* 1b29c: 4600403c */ c.lt.s $f8,$f0 +/* 1b2a0: 00000000 */ nop +/* 1b2a4: 4502000c */ bc1fl .PF0001b2d8 +/* 1b2a8: c6020010 */ lwc1 $f2,0x10($s0) +/* 1b2ac: c60a0010 */ lwc1 $f10,0x10($s0) +/* 1b2b0: 3c017005 */ lui $at,0x7005 +/* 1b2b4: c4323f98 */ lwc1 $f18,0x3f98($at) +/* 1b2b8: 46005403 */ div.s $f16,$f10,$f0 +/* 1b2bc: 0fc25dec */ jal 0xf0977b0 +/* 1b2c0: 46128300 */ add.s $f12,$f16,$f18 +/* 1b2c4: c604001c */ lwc1 $f4,0x1c($s0) +/* 1b2c8: 46040082 */ mul.s $f2,$f0,$f4 +/* 1b2cc: 10000003 */ b .PF0001b2dc +/* 1b2d0: 44803000 */ mtc1 $zero,$f6 +/* 1b2d4: c6020010 */ lwc1 $f2,0x10($s0) +.PF0001b2d8: +/* 1b2d8: 44803000 */ mtc1 $zero,$f6 +.PF0001b2dc: +/* 1b2dc: 8fa40240 */ lw $a0,0x240($sp) +/* 1b2e0: 8fa6023c */ lw $a2,0x23c($sp) +/* 1b2e4: 46061032 */ c.eq.s $f2,$f6 +/* 1b2e8: 27ab0148 */ addiu $t3,$sp,0x148 +/* 1b2ec: 27ac013c */ addiu $t4,$sp,0x13c +/* 1b2f0: 27ad0130 */ addiu $t5,$sp,0x130 +/* 1b2f4: 45030011 */ bc1tl .PF0001b33c +/* 1b2f8: 44804000 */ mtc1 $zero,$f8 +/* 1b2fc: 920a0005 */ lbu $t2,0x5($s0) +/* 1b300: 82050008 */ lb $a1,0x8($s0) +/* 1b304: 86070000 */ lh $a3,0x0($s0) +/* 1b308: e7a20154 */ swc1 $f2,0x154($sp) +/* 1b30c: afad001c */ sw $t5,0x1c($sp) +/* 1b310: afac0018 */ sw $t4,0x18($sp) +/* 1b314: afab0014 */ sw $t3,0x14($sp) +/* 1b318: 0c008e54 */ jal 0x23950 +/* 1b31c: afaa0010 */ sw $t2,0x10($sp) +/* 1b320: c7a20154 */ lwc1 $f2,0x154($sp) +/* 1b324: 27a40230 */ addiu $a0,$sp,0x230 +/* 1b328: 27a50148 */ addiu $a1,$sp,0x148 +/* 1b32c: 44061000 */ mfc1 $a2,$f2 +/* 1b330: 0c006b83 */ jal 0x1ae0c +/* 1b334: 00000000 */ nop +/* 1b338: 44804000 */ mtc1 $zero,$f8 +.PF0001b33c: +/* 1b33c: c60a0054 */ lwc1 $f10,0x54($s0) +/* 1b340: 8fa6023c */ lw $a2,0x23c($sp) +/* 1b344: 27af0124 */ addiu $t7,$sp,0x124 +/* 1b348: 460a4032 */ c.eq.s $f8,$f10 +/* 1b34c: 27b80118 */ addiu $t8,$sp,0x118 +/* 1b350: 27b9010c */ addiu $t9,$sp,0x10c +/* 1b354: 27a40230 */ addiu $a0,$sp,0x230 +/* 1b358: 45010055 */ bc1t .PF0001b4b0 +/* 1b35c: 00000000 */ nop +/* 1b360: 920e0006 */ lbu $t6,0x6($s0) +/* 1b364: 82050009 */ lb $a1,0x9($s0) +/* 1b368: 86070002 */ lh $a3,0x2($s0) +/* 1b36c: afb9001c */ sw $t9,0x1c($sp) +/* 1b370: afb80018 */ sw $t8,0x18($sp) +/* 1b374: afaf0014 */ sw $t7,0x14($sp) +/* 1b378: 8fa40240 */ lw $a0,0x240($sp) +/* 1b37c: 0c008e54 */ jal 0x23950 +/* 1b380: afae0010 */ sw $t6,0x10($sp) +/* 1b384: 44808000 */ mtc1 $zero,$f16 +/* 1b388: c6120034 */ lwc1 $f18,0x34($s0) +/* 1b38c: 8fa40240 */ lw $a0,0x240($sp) +/* 1b390: 8fa6023c */ lw $a2,0x23c($sp) +/* 1b394: 46128032 */ c.eq.s $f16,$f18 +/* 1b398: 27aa00d0 */ addiu $t2,$sp,0xd0 +/* 1b39c: 27ab00c4 */ addiu $t3,$sp,0xc4 +/* 1b3a0: 27ac00b8 */ addiu $t4,$sp,0xb8 +/* 1b3a4: 4503000e */ bc1tl .PF0001b3e0 +/* 1b3a8: 860d0000 */ lh $t5,0x0($s0) +/* 1b3ac: 92090007 */ lbu $t1,0x7($s0) +/* 1b3b0: 82050009 */ lb $a1,0x9($s0) +/* 1b3b4: 86070002 */ lh $a3,0x2($s0) +/* 1b3b8: afac001c */ sw $t4,0x1c($sp) +/* 1b3bc: afab0018 */ sw $t3,0x18($sp) +/* 1b3c0: afaa0014 */ sw $t2,0x14($sp) +/* 1b3c4: 0c008e54 */ jal 0x23950 +/* 1b3c8: afa90010 */ sw $t1,0x10($sp) +/* 1b3cc: 27a40124 */ addiu $a0,$sp,0x124 +/* 1b3d0: 27a500d0 */ addiu $a1,$sp,0xd0 +/* 1b3d4: 0c006b83 */ jal 0x1ae0c +/* 1b3d8: 8e060034 */ lw $a2,0x34($s0) +/* 1b3dc: 860d0000 */ lh $t5,0x0($s0) +.PF0001b3e0: +/* 1b3e0: 2403000c */ li $v1,0xc +/* 1b3e4: 3c028006 */ lui $v0,0x8006 +/* 1b3e8: 01a30019 */ multu $t5,$v1 +/* 1b3ec: 8c42ecbc */ lw $v0,-0x1344($v0) +/* 1b3f0: 27a40124 */ addiu $a0,$sp,0x124 +/* 1b3f4: 00007012 */ mflo $t6 +/* 1b3f8: 004e7821 */ addu $t7,$v0,$t6 +/* 1b3fc: 91f8000b */ lbu $t8,0xb($t7) +/* 1b400: 33190002 */ andi $t9,$t8,0x2 +/* 1b404: 13200018 */ beqz $t9,.PF0001b468 +/* 1b408: 00000000 */ nop +/* 1b40c: 86090002 */ lh $t1,0x2($s0) +/* 1b410: 8fae025c */ lw $t6,0x25c($sp) +/* 1b414: 27a50078 */ addiu $a1,$sp,0x78 +/* 1b418: 01230019 */ multu $t1,$v1 +/* 1b41c: 00005012 */ mflo $t2 +/* 1b420: 004a5821 */ addu $t3,$v0,$t2 +/* 1b424: 916c000b */ lbu $t4,0xb($t3) +/* 1b428: 318d0002 */ andi $t5,$t4,0x2 +/* 1b42c: 15a0000e */ bnez $t5,.PF0001b468 +/* 1b430: 00000000 */ nop +/* 1b434: 0c005841 */ jal 0x16104 +/* 1b438: c5cc0014 */ lwc1 $f12,0x14($t6) +/* 1b43c: 27a40124 */ addiu $a0,$sp,0x124 +/* 1b440: 0c005887 */ jal 0x1621c +/* 1b444: 27a50038 */ addiu $a1,$sp,0x38 +/* 1b448: 27a40078 */ addiu $a0,$sp,0x78 +/* 1b44c: 0c00565c */ jal 0x15970 +/* 1b450: 27a50038 */ addiu $a1,$sp,0x38 +/* 1b454: 27a40038 */ addiu $a0,$sp,0x38 +/* 1b458: 0fc25bd9 */ jal 0xf096f64 +/* 1b45c: 27a500ec */ addiu $a1,$sp,0xec +/* 1b460: 10000004 */ b .PF0001b474 +/* 1b464: 27a40230 */ addiu $a0,$sp,0x230 +.PF0001b468: +/* 1b468: 0fc25af0 */ jal 0xf096bc0 +/* 1b46c: 27a500ec */ addiu $a1,$sp,0xec +/* 1b470: 27a40230 */ addiu $a0,$sp,0x230 +.PF0001b474: +/* 1b474: 0fc25af0 */ jal 0xf096bc0 +/* 1b478: 27a500fc */ addiu $a1,$sp,0xfc +/* 1b47c: 27a400fc */ addiu $a0,$sp,0xfc +/* 1b480: 0fc25d78 */ jal 0xf0975e0 +/* 1b484: 27a500ec */ addiu $a1,$sp,0xec +/* 1b488: 27a400fc */ addiu $a0,$sp,0xfc +/* 1b48c: 27a500ec */ addiu $a1,$sp,0xec +/* 1b490: 8e060054 */ lw $a2,0x54($s0) +/* 1b494: 0fc25c76 */ jal 0xf0971d8 +/* 1b498: 27a700dc */ addiu $a3,$sp,0xdc +/* 1b49c: 27a400dc */ addiu $a0,$sp,0xdc +/* 1b4a0: 0fc25b7d */ jal 0xf096df4 +/* 1b4a4: 27a501d8 */ addiu $a1,$sp,0x1d8 +/* 1b4a8: 10000004 */ b .PF0001b4bc +/* 1b4ac: 86180000 */ lh $t8,0x0($s0) +.PF0001b4b0: +/* 1b4b0: 0c005887 */ jal 0x1621c +/* 1b4b4: 27a501d8 */ addiu $a1,$sp,0x1d8 +/* 1b4b8: 86180000 */ lh $t8,0x0($s0) +.PF0001b4bc: +/* 1b4bc: 3c0f8006 */ lui $t7,0x8006 +/* 1b4c0: 8defecbc */ lw $t7,-0x1344($t7) +/* 1b4c4: 0018c880 */ sll $t9,$t8,0x2 +/* 1b4c8: 0338c823 */ subu $t9,$t9,$t8 +/* 1b4cc: 0019c880 */ sll $t9,$t9,0x2 +/* 1b4d0: 01f94821 */ addu $t1,$t7,$t9 +/* 1b4d4: 912a000b */ lbu $t2,0xb($t1) +/* 1b4d8: 8fa40254 */ lw $a0,0x254($sp) +/* 1b4dc: 8fac025c */ lw $t4,0x25c($sp) +/* 1b4e0: 314b0002 */ andi $t3,$t2,0x2 +/* 1b4e4: 51600006 */ beqzl $t3,.PF0001b500 +/* 1b4e8: c5800018 */ lwc1 $f0,0x18($t4) +/* 1b4ec: 0c00591b */ jal 0x1646c +/* 1b4f0: 27a50198 */ addiu $a1,$sp,0x198 +/* 1b4f4: 10000011 */ b .PF0001b53c +/* 1b4f8: 27b00158 */ addiu $s0,$sp,0x158 +/* 1b4fc: c5800018 */ lwc1 $f0,0x18($t4) +.PF0001b500: +/* 1b500: 44802000 */ mtc1 $zero,$f4 +/* 1b504: c7ac0250 */ lwc1 $f12,0x250($sp) +/* 1b508: 46002032 */ c.eq.s $f4,$f0 +/* 1b50c: 00000000 */ nop +/* 1b510: 45030006 */ bc1tl .PF0001b52c +/* 1b514: 8fa40254 */ lw $a0,0x254($sp) +/* 1b518: 44060000 */ mfc1 $a2,$f0 +/* 1b51c: 0c006b5e */ jal 0x1ad78 +/* 1b520: c58e001c */ lwc1 $f14,0x1c($t4) +/* 1b524: e7a00250 */ swc1 $f0,0x250($sp) +/* 1b528: 8fa40254 */ lw $a0,0x254($sp) +.PF0001b52c: +/* 1b52c: 8fa50250 */ lw $a1,0x250($sp) +/* 1b530: 0c0057f6 */ jal 0x15fd8 +/* 1b534: 27a60198 */ addiu $a2,$sp,0x198 +/* 1b538: 27b00158 */ addiu $s0,$sp,0x158 +.PF0001b53c: +/* 1b53c: 02003025 */ move $a2,$s0 +/* 1b540: 27a40198 */ addiu $a0,$sp,0x198 +/* 1b544: 0c00565d */ jal 0x15974 +/* 1b548: 27a501d8 */ addiu $a1,$sp,0x1d8 +/* 1b54c: 3c013f80 */ lui $at,0x3f80 +/* 1b550: 44814000 */ mtc1 $at,$f8 +/* 1b554: c7a60258 */ lwc1 $f6,0x258($sp) +/* 1b558: 02002825 */ move $a1,$s0 +/* 1b55c: 46083032 */ c.eq.s $f6,$f8 +/* 1b560: 00000000 */ nop +/* 1b564: 45030004 */ bc1tl .PF0001b578 +/* 1b568: 8fa4024c */ lw $a0,0x24c($sp) +/* 1b56c: 0c005737 */ jal 0x15cdc +/* 1b570: 46003306 */ mov.s $f12,$f6 +/* 1b574: 8fa4024c */ lw $a0,0x24c($sp) +.PF0001b578: +/* 1b578: 8fa60244 */ lw $a2,0x244($sp) +/* 1b57c: 8fa50244 */ lw $a1,0x244($sp) +/* 1b580: 10800005 */ beqz $a0,.PF0001b598 +/* 1b584: 00000000 */ nop +/* 1b588: 0c00565d */ jal 0x15974 +/* 1b58c: 02002825 */ move $a1,$s0 +/* 1b590: 10000004 */ b .PF0001b5a4 +/* 1b594: 8fbf002c */ lw $ra,0x2c($sp) +.PF0001b598: +/* 1b598: 0c0056aa */ jal 0x15aa8 +/* 1b59c: 02002025 */ move $a0,$s0 +/* 1b5a0: 8fbf002c */ lw $ra,0x2c($sp) +.PF0001b5a4: +/* 1b5a4: 8fb00028 */ lw $s0,0x28($sp) +/* 1b5a8: 27bd0268 */ addiu $sp,$sp,0x268 +/* 1b5ac: 03e00008 */ jr $ra +/* 1b5b0: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0001b400 /* 1b400: 27bdfd98 */ addiu $sp,$sp,-616 @@ -1240,6 +1729,7 @@ glabel func0001b400 /* 1b804: 03e00008 */ jr $ra /* 1b808: 00000000 */ nop ); +#endif GLOBAL_ASM( glabel func0001b80c @@ -1806,6 +2296,432 @@ glabel var70054320 /* 1bfa4: 00000000 */ nop ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0001bfa8 +.late_rodata +glabel var70053fc0pf +.word 0x3c23d70a +.text +/* 1bd50: 27bdfea0 */ addiu $sp,$sp,-352 +/* 1bd54: afbf002c */ sw $ra,0x2c($sp) +/* 1bd58: afb00028 */ sw $s0,0x28($sp) +/* 1bd5c: afa40160 */ sw $a0,0x160($sp) +/* 1bd60: afa50164 */ sw $a1,0x164($sp) +/* 1bd64: afa60168 */ sw $a2,0x168($sp) +/* 1bd68: 8ccf0004 */ lw $t7,0x4($a2) +/* 1bd6c: afaf0158 */ sw $t7,0x158($sp) +/* 1bd70: 8cb00020 */ lw $s0,0x20($a1) +/* 1bd74: 5200015a */ beqzl $s0,.PF0001c2e0 +/* 1bd78: 8faf0168 */ lw $t7,0x168($sp) +/* 1bd7c: 95f9000c */ lhu $t9,0xc($t7) +/* 1bd80: 3c098006 */ lui $t1,0x8006 +/* 1bd84: 27b80144 */ addiu $t8,$sp,0x144 +/* 1bd88: afb90154 */ sw $t9,0x154($sp) +/* 1bd8c: 8ca20008 */ lw $v0,0x8($a1) +/* 1bd90: 3c013f80 */ lui $at,0x3f80 +/* 1bd94: 8c480004 */ lw $t0,0x4($v0) +/* 1bd98: afa80150 */ sw $t0,0x150($sp) +/* 1bd9c: 86070000 */ lh $a3,0x0($s0) +/* 1bda0: 27a80138 */ addiu $t0,$sp,0x138 +/* 1bda4: 10e00054 */ beqz $a3,.PF0001bef8 +/* 1bda8: 00075080 */ sll $t2,$a3,0x2 +/* 1bdac: 8d29ecbc */ lw $t1,-0x1344($t1) +/* 1bdb0: 01475023 */ subu $t2,$t2,$a3 +/* 1bdb4: 000a5080 */ sll $t2,$t2,0x2 +/* 1bdb8: 012a5821 */ addu $t3,$t1,$t2 +/* 1bdbc: 9163000b */ lbu $v1,0xb($t3) +/* 1bdc0: 27a9012c */ addiu $t1,$sp,0x12c +/* 1bdc4: 306c0002 */ andi $t4,$v1,0x2 +/* 1bdc8: 000c182b */ sltu $v1,$zero,$t4 +/* 1bdcc: 50600005 */ beqzl $v1,.PF0001bde4 +/* 1bdd0: afa30128 */ sw $v1,0x128($sp) +/* 1bdd4: 8c4f0000 */ lw $t7,0x0($v0) +/* 1bdd8: 00cf1826 */ xor $v1,$a2,$t7 +/* 1bddc: 2c630001 */ sltiu $v1,$v1,0x1 +/* 1bde0: afa30128 */ sw $v1,0x128($sp) +.PF0001bde4: +/* 1bde4: 92190004 */ lbu $t9,0x4($s0) +/* 1bde8: 82050008 */ lb $a1,0x8($s0) +/* 1bdec: afa3003c */ sw $v1,0x3c($sp) +/* 1bdf0: afa9001c */ sw $t1,0x1c($sp) +/* 1bdf4: afa80018 */ sw $t0,0x18($sp) +/* 1bdf8: afb80014 */ sw $t8,0x14($sp) +/* 1bdfc: 8fa40154 */ lw $a0,0x154($sp) +/* 1be00: 8fa60150 */ lw $a2,0x150($sp) +/* 1be04: 0c008e54 */ jal 0x23950 +/* 1be08: afb90010 */ sw $t9,0x10($sp) +/* 1be0c: 3c0a800a */ lui $t2,0x800a +/* 1be10: 8d4aa9dc */ lw $t2,-0x5624($t2) +/* 1be14: 51400013 */ beqzl $t2,.PF0001be64 +/* 1be18: 44807000 */ mtc1 $zero,$f14 +/* 1be1c: 44807000 */ mtc1 $zero,$f14 +/* 1be20: c600001c */ lwc1 $f0,0x1c($s0) +/* 1be24: 4600703c */ c.lt.s $f14,$f0 +/* 1be28: 00000000 */ nop +/* 1be2c: 4502000d */ bc1fl .PF0001be64 +/* 1be30: 44807000 */ mtc1 $zero,$f14 +/* 1be34: c6040010 */ lwc1 $f4,0x10($s0) +/* 1be38: 3c017005 */ lui $at,0x7005 +/* 1be3c: c4283fcc */ lwc1 $f8,0x3fcc($at) +/* 1be40: 46002183 */ div.s $f6,$f4,$f0 +/* 1be44: 0fc25dec */ jal 0xf0977b0 +/* 1be48: 46083300 */ add.s $f12,$f6,$f8 +/* 1be4c: c60a001c */ lwc1 $f10,0x1c($s0) +/* 1be50: 44807000 */ mtc1 $zero,$f14 +/* 1be54: 460a0082 */ mul.s $f2,$f0,$f10 +/* 1be58: 10000004 */ b .PF0001be6c +/* 1be5c: 460e1032 */ c.eq.s $f2,$f14 +/* 1be60: 44807000 */ mtc1 $zero,$f14 +.PF0001be64: +/* 1be64: c6020010 */ lwc1 $f2,0x10($s0) +/* 1be68: 460e1032 */ c.eq.s $f2,$f14 +.PF0001be6c: +/* 1be6c: 8fa40154 */ lw $a0,0x154($sp) +/* 1be70: 8fa60150 */ lw $a2,0x150($sp) +/* 1be74: 27ac00d4 */ addiu $t4,$sp,0xd4 +/* 1be78: 4501001c */ bc1t .PF0001beec +/* 1be7c: 27ad00c8 */ addiu $t5,$sp,0xc8 +/* 1be80: 920b0005 */ lbu $t3,0x5($s0) +/* 1be84: 82050008 */ lb $a1,0x8($s0) +/* 1be88: 86070000 */ lh $a3,0x0($s0) +/* 1be8c: 27ae00bc */ addiu $t6,$sp,0xbc +/* 1be90: afae001c */ sw $t6,0x1c($sp) +/* 1be94: e7a200e0 */ swc1 $f2,0xe0($sp) +/* 1be98: afad0018 */ sw $t5,0x18($sp) +/* 1be9c: afac0014 */ sw $t4,0x14($sp) +/* 1bea0: 0c008e54 */ jal 0x23950 +/* 1bea4: afab0010 */ sw $t3,0x10($sp) +/* 1bea8: c7a200e0 */ lwc1 $f2,0xe0($sp) +/* 1beac: 27a40144 */ addiu $a0,$sp,0x144 +/* 1beb0: 27a500d4 */ addiu $a1,$sp,0xd4 +/* 1beb4: 44061000 */ mfc1 $a2,$f2 +/* 1beb8: 0c006b83 */ jal 0x1ae0c +/* 1bebc: 00000000 */ nop +/* 1bec0: 8faf003c */ lw $t7,0x3c($sp) +/* 1bec4: c7a200e0 */ lwc1 $f2,0xe0($sp) +/* 1bec8: 3c198006 */ lui $t9,0x8006 +/* 1becc: 15e00004 */ bnez $t7,.PF0001bee0 +/* 1bed0: 27a40138 */ addiu $a0,$sp,0x138 +/* 1bed4: 8f39ec6c */ lw $t9,-0x1394($t9) +/* 1bed8: 53200005 */ beqzl $t9,.PF0001bef0 +/* 1bedc: 44807000 */ mtc1 $zero,$f14 +.PF0001bee0: +/* 1bee0: 44061000 */ mfc1 $a2,$f2 +/* 1bee4: 0c006b4a */ jal 0x1ad28 +/* 1bee8: 27a500c8 */ addiu $a1,$sp,0xc8 +.PF0001beec: +/* 1beec: 44807000 */ mtc1 $zero,$f14 +.PF0001bef0: +/* 1bef0: 10000010 */ b .PF0001bf34 +/* 1bef4: c6120054 */ lwc1 $f18,0x54($s0) +.PF0001bef8: +/* 1bef8: 44800000 */ mtc1 $zero,$f0 +/* 1befc: 44801000 */ mtc1 $zero,$f2 +/* 1bf00: 44807000 */ mtc1 $zero,$f14 +/* 1bf04: e7a00140 */ swc1 $f0,0x140($sp) +/* 1bf08: e7a0013c */ swc1 $f0,0x13c($sp) +/* 1bf0c: e7a00138 */ swc1 $f0,0x138($sp) +/* 1bf10: 44810000 */ mtc1 $at,$f0 +/* 1bf14: afa00128 */ sw $zero,0x128($sp) +/* 1bf18: e7a20148 */ swc1 $f2,0x148($sp) +/* 1bf1c: e7a20144 */ swc1 $f2,0x144($sp) +/* 1bf20: e7a2014c */ swc1 $f2,0x14c($sp) +/* 1bf24: e7a00130 */ swc1 $f0,0x130($sp) +/* 1bf28: e7a0012c */ swc1 $f0,0x12c($sp) +/* 1bf2c: e7a00134 */ swc1 $f0,0x134($sp) +/* 1bf30: c6120054 */ lwc1 $f18,0x54($s0) +.PF0001bf34: +/* 1bf34: 8fa40154 */ lw $a0,0x154($sp) +/* 1bf38: 8fa60150 */ lw $a2,0x150($sp) +/* 1bf3c: 46127032 */ c.eq.s $f14,$f18 +/* 1bf40: 27a800b0 */ addiu $t0,$sp,0xb0 +/* 1bf44: 27a900a4 */ addiu $t1,$sp,0xa4 +/* 1bf48: 27aa0098 */ addiu $t2,$sp,0x98 +/* 1bf4c: 4501007a */ bc1t .PF0001c138 +/* 1bf50: 8fb90128 */ lw $t9,0x128($sp) +/* 1bf54: 92180006 */ lbu $t8,0x6($s0) +/* 1bf58: 82050009 */ lb $a1,0x9($s0) +/* 1bf5c: 86070002 */ lh $a3,0x2($s0) +/* 1bf60: afaa001c */ sw $t2,0x1c($sp) +/* 1bf64: afa90018 */ sw $t1,0x18($sp) +/* 1bf68: afa80014 */ sw $t0,0x14($sp) +/* 1bf6c: 0c008e54 */ jal 0x23950 +/* 1bf70: afb80010 */ sw $t8,0x10($sp) +/* 1bf74: 44802000 */ mtc1 $zero,$f4 +/* 1bf78: c6060034 */ lwc1 $f6,0x34($s0) +/* 1bf7c: 8fa40154 */ lw $a0,0x154($sp) +/* 1bf80: 8fa60150 */ lw $a2,0x150($sp) +/* 1bf84: 46062032 */ c.eq.s $f4,$f6 +/* 1bf88: 27ac005c */ addiu $t4,$sp,0x5c +/* 1bf8c: 27ad0050 */ addiu $t5,$sp,0x50 +/* 1bf90: 27ae0044 */ addiu $t6,$sp,0x44 +/* 1bf94: 4503000e */ bc1tl .PF0001bfd0 +/* 1bf98: 27a40144 */ addiu $a0,$sp,0x144 +/* 1bf9c: 920b0007 */ lbu $t3,0x7($s0) +/* 1bfa0: 82050009 */ lb $a1,0x9($s0) +/* 1bfa4: 86070002 */ lh $a3,0x2($s0) +/* 1bfa8: afae001c */ sw $t6,0x1c($sp) +/* 1bfac: afad0018 */ sw $t5,0x18($sp) +/* 1bfb0: afac0014 */ sw $t4,0x14($sp) +/* 1bfb4: 0c008e54 */ jal 0x23950 +/* 1bfb8: afab0010 */ sw $t3,0x10($sp) +/* 1bfbc: 27a400b0 */ addiu $a0,$sp,0xb0 +/* 1bfc0: 27a5005c */ addiu $a1,$sp,0x5c +/* 1bfc4: 0c006b83 */ jal 0x1ae0c +/* 1bfc8: 8e060034 */ lw $a2,0x34($s0) +/* 1bfcc: 27a40144 */ addiu $a0,$sp,0x144 +.PF0001bfd0: +/* 1bfd0: 0fc25af0 */ jal 0xf096bc0 +/* 1bfd4: 27a50088 */ addiu $a1,$sp,0x88 +/* 1bfd8: 27a400b0 */ addiu $a0,$sp,0xb0 +/* 1bfdc: 0fc25af0 */ jal 0xf096bc0 +/* 1bfe0: 27a50078 */ addiu $a1,$sp,0x78 +/* 1bfe4: 27a40088 */ addiu $a0,$sp,0x88 +/* 1bfe8: 0fc25d78 */ jal 0xf0975e0 +/* 1bfec: 27a50078 */ addiu $a1,$sp,0x78 +/* 1bff0: 27a70068 */ addiu $a3,$sp,0x68 +/* 1bff4: 27a40088 */ addiu $a0,$sp,0x88 +/* 1bff8: 27a50078 */ addiu $a1,$sp,0x78 +/* 1bffc: 0fc25c76 */ jal 0xf0971d8 +/* 1c000: 8e060054 */ lw $a2,0x54($s0) +/* 1c004: 44804000 */ mtc1 $zero,$f8 +/* 1c008: c7aa0138 */ lwc1 $f10,0x138($sp) +/* 1c00c: 27a70068 */ addiu $a3,$sp,0x68 +/* 1c010: c7b2013c */ lwc1 $f18,0x13c($sp) +/* 1c014: 460a4032 */ c.eq.s $f8,$f10 +/* 1c018: c7a80138 */ lwc1 $f8,0x138($sp) +/* 1c01c: 27b80138 */ addiu $t8,$sp,0x138 +/* 1c020: 27a8012c */ addiu $t0,$sp,0x12c +/* 1c024: 4502000e */ bc1fl .PF0001c060 +/* 1c028: c60a0088 */ lwc1 $f10,0x88($s0) +/* 1c02c: 44808000 */ mtc1 $zero,$f16 +/* 1c030: c7a60140 */ lwc1 $f6,0x140($sp) +/* 1c034: 46128032 */ c.eq.s $f16,$f18 +/* 1c038: 00000000 */ nop +/* 1c03c: 45020008 */ bc1fl .PF0001c060 +/* 1c040: c60a0088 */ lwc1 $f10,0x88($s0) +/* 1c044: 44802000 */ mtc1 $zero,$f4 +/* 1c048: 8fa90164 */ lw $t1,0x164($sp) +/* 1c04c: 46062032 */ c.eq.s $f4,$f6 +/* 1c050: 00000000 */ nop +/* 1c054: 45030023 */ bc1tl .PF0001c0e4 +/* 1c058: 8d2a0008 */ lw $t2,0x8($t1) +/* 1c05c: c60a0088 */ lwc1 $f10,0x88($s0) +.PF0001c060: +/* 1c060: c7b2013c */ lwc1 $f18,0x13c($sp) +/* 1c064: 8fa50164 */ lw $a1,0x164($sp) +/* 1c068: 460a4402 */ mul.s $f16,$f8,$f10 +/* 1c06c: c7a80140 */ lwc1 $f8,0x140($sp) +/* 1c070: 8fa60168 */ lw $a2,0x168($sp) +/* 1c074: 8fa20158 */ lw $v0,0x158($sp) +/* 1c078: e7b00138 */ swc1 $f16,0x138($sp) +/* 1c07c: c6040088 */ lwc1 $f4,0x88($s0) +/* 1c080: 46049182 */ mul.s $f6,$f18,$f4 +/* 1c084: e7a6013c */ swc1 $f6,0x13c($sp) +/* 1c088: c60a0088 */ lwc1 $f10,0x88($s0) +/* 1c08c: 460a4482 */ mul.s $f18,$f8,$f10 +/* 1c090: e7b20140 */ swc1 $f18,0x140($sp) +/* 1c094: 8caf0008 */ lw $t7,0x8($a1) +/* 1c098: 8df90000 */ lw $t9,0x0($t7) +/* 1c09c: 50d9000b */ beql $a2,$t9,.PF0001c0cc +/* 1c0a0: 8fa40160 */ lw $a0,0x160($sp) +/* 1c0a4: c4440000 */ lwc1 $f4,0x0($v0) +/* 1c0a8: 46048200 */ add.s $f8,$f16,$f4 +/* 1c0ac: e7a80138 */ swc1 $f8,0x138($sp) +/* 1c0b0: c44a0004 */ lwc1 $f10,0x4($v0) +/* 1c0b4: 460a3400 */ add.s $f16,$f6,$f10 +/* 1c0b8: e7b0013c */ swc1 $f16,0x13c($sp) +/* 1c0bc: c4440008 */ lwc1 $f4,0x8($v0) +/* 1c0c0: 46049200 */ add.s $f8,$f18,$f4 +/* 1c0c4: e7a80140 */ swc1 $f8,0x140($sp) +/* 1c0c8: 8fa40160 */ lw $a0,0x160($sp) +.PF0001c0cc: +/* 1c0cc: afb80010 */ sw $t8,0x10($sp) +/* 1c0d0: 0c006e6f */ jal 0x1b9bc +/* 1c0d4: afa80014 */ sw $t0,0x14($sp) +/* 1c0d8: 100000a2 */ b .PF0001c364 +/* 1c0dc: 8fbf002c */ lw $ra,0x2c($sp) +/* 1c0e0: 8d2a0008 */ lw $t2,0x8($t1) +.PF0001c0e4: +/* 1c0e4: 8fa60168 */ lw $a2,0x168($sp) +/* 1c0e8: 8fa40160 */ lw $a0,0x160($sp) +/* 1c0ec: 8d4b0000 */ lw $t3,0x0($t2) +/* 1c0f0: 8fa50164 */ lw $a1,0x164($sp) +/* 1c0f4: 27ae0138 */ addiu $t6,$sp,0x138 +/* 1c0f8: 10cb000a */ beq $a2,$t3,.PF0001c124 +/* 1c0fc: 27af012c */ addiu $t7,$sp,0x12c +/* 1c100: 8fac0158 */ lw $t4,0x158($sp) +/* 1c104: 27ad012c */ addiu $t5,$sp,0x12c +/* 1c108: afad0014 */ sw $t5,0x14($sp) +/* 1c10c: 8fa40160 */ lw $a0,0x160($sp) +/* 1c110: 01202825 */ move $a1,$t1 +/* 1c114: 0c006e6f */ jal 0x1b9bc +/* 1c118: afac0010 */ sw $t4,0x10($sp) +/* 1c11c: 10000091 */ b .PF0001c364 +/* 1c120: 8fbf002c */ lw $ra,0x2c($sp) +.PF0001c124: +/* 1c124: afae0010 */ sw $t6,0x10($sp) +/* 1c128: 0c006e6f */ jal 0x1b9bc +/* 1c12c: afaf0014 */ sw $t7,0x14($sp) +/* 1c130: 1000008c */ b .PF0001c364 +/* 1c134: 8fbf002c */ lw $ra,0x2c($sp) +.PF0001c138: +/* 1c138: 13200019 */ beqz $t9,.PF0001c1a0 +/* 1c13c: c7a60138 */ lwc1 $f6,0x138($sp) +/* 1c140: 0fc57602 */ jal 0xf15d808 +/* 1c144: 00000000 */ nop +/* 1c148: c7a60138 */ lwc1 $f6,0x138($sp) +/* 1c14c: c7b0013c */ lwc1 $f16,0x13c($sp) +/* 1c150: c7a40140 */ lwc1 $f4,0x140($sp) +/* 1c154: 46003282 */ mul.s $f10,$f6,$f0 +/* 1c158: 27b80138 */ addiu $t8,$sp,0x138 +/* 1c15c: 24080001 */ li $t0,0x1 +/* 1c160: 46008482 */ mul.s $f18,$f16,$f0 +/* 1c164: 27aa012c */ addiu $t2,$sp,0x12c +/* 1c168: afaa0018 */ sw $t2,0x18($sp) +/* 1c16c: 46002202 */ mul.s $f8,$f4,$f0 +/* 1c170: e7aa0138 */ swc1 $f10,0x138($sp) +/* 1c174: afa80014 */ sw $t0,0x14($sp) +/* 1c178: afb80010 */ sw $t8,0x10($sp) +/* 1c17c: e7b2013c */ swc1 $f18,0x13c($sp) +/* 1c180: 8fa40160 */ lw $a0,0x160($sp) +/* 1c184: 8fa50164 */ lw $a1,0x164($sp) +/* 1c188: e7a80140 */ swc1 $f8,0x140($sp) +/* 1c18c: 8fa60168 */ lw $a2,0x168($sp) +/* 1c190: 0c006d6d */ jal 0x1b5b4 +/* 1c194: 27a70144 */ addiu $a3,$sp,0x144 +/* 1c198: 10000072 */ b .PF0001c364 +/* 1c19c: 8fbf002c */ lw $ra,0x2c($sp) +.PF0001c1a0: +/* 1c1a0: 46067032 */ c.eq.s $f14,$f6 +/* 1c1a4: c7aa013c */ lwc1 $f10,0x13c($sp) +/* 1c1a8: c7b20138 */ lwc1 $f18,0x138($sp) +/* 1c1ac: 27a70144 */ addiu $a3,$sp,0x144 +/* 1c1b0: 45000009 */ bc1f .PF0001c1d8 +/* 1c1b4: 27af0138 */ addiu $t7,$sp,0x138 +/* 1c1b8: 460a7032 */ c.eq.s $f14,$f10 +/* 1c1bc: c7b00140 */ lwc1 $f16,0x140($sp) +/* 1c1c0: 45020006 */ bc1fl .PF0001c1dc +/* 1c1c4: c6040088 */ lwc1 $f4,0x88($s0) +/* 1c1c8: 46107032 */ c.eq.s $f14,$f16 +/* 1c1cc: 8fa80164 */ lw $t0,0x164($sp) +/* 1c1d0: 45030027 */ bc1tl .PF0001c270 +/* 1c1d4: 8d0a0008 */ lw $t2,0x8($t0) +.PF0001c1d8: +/* 1c1d8: c6040088 */ lwc1 $f4,0x88($s0) +.PF0001c1dc: +/* 1c1dc: c7a6013c */ lwc1 $f6,0x13c($sp) +/* 1c1e0: 8fa90164 */ lw $t1,0x164($sp) +/* 1c1e4: 46049202 */ mul.s $f8,$f18,$f4 +/* 1c1e8: c7b20140 */ lwc1 $f18,0x140($sp) +/* 1c1ec: 8fab0168 */ lw $t3,0x168($sp) +/* 1c1f0: 8fae0158 */ lw $t6,0x158($sp) +/* 1c1f4: 27b9012c */ addiu $t9,$sp,0x12c +/* 1c1f8: e7a80138 */ swc1 $f8,0x138($sp) +/* 1c1fc: c60a0088 */ lwc1 $f10,0x88($s0) +/* 1c200: 460a3402 */ mul.s $f16,$f6,$f10 +/* 1c204: e7b0013c */ swc1 $f16,0x13c($sp) +/* 1c208: c6040088 */ lwc1 $f4,0x88($s0) +/* 1c20c: 46049182 */ mul.s $f6,$f18,$f4 +/* 1c210: e7a60140 */ swc1 $f6,0x140($sp) +/* 1c214: 8d2c0008 */ lw $t4,0x8($t1) +/* 1c218: 8d8d0000 */ lw $t5,0x0($t4) +/* 1c21c: 516d000b */ beql $t3,$t5,.PF0001c24c +/* 1c220: 8fa40160 */ lw $a0,0x160($sp) +/* 1c224: c5ca0000 */ lwc1 $f10,0x0($t6) +/* 1c228: 460a4480 */ add.s $f18,$f8,$f10 +/* 1c22c: e7b20138 */ swc1 $f18,0x138($sp) +/* 1c230: c5c40004 */ lwc1 $f4,0x4($t6) +/* 1c234: 46048200 */ add.s $f8,$f16,$f4 +/* 1c238: e7a8013c */ swc1 $f8,0x13c($sp) +/* 1c23c: c5ca0008 */ lwc1 $f10,0x8($t6) +/* 1c240: 460a3480 */ add.s $f18,$f6,$f10 +/* 1c244: e7b20140 */ swc1 $f18,0x140($sp) +/* 1c248: 8fa40160 */ lw $a0,0x160($sp) +.PF0001c24c: +/* 1c24c: 8fa50164 */ lw $a1,0x164($sp) +/* 1c250: 8fa60168 */ lw $a2,0x168($sp) +/* 1c254: afaf0010 */ sw $t7,0x10($sp) +/* 1c258: afa00014 */ sw $zero,0x14($sp) +/* 1c25c: 0c006d6d */ jal 0x1b5b4 +/* 1c260: afb90018 */ sw $t9,0x18($sp) +/* 1c264: 1000003f */ b .PF0001c364 +/* 1c268: 8fbf002c */ lw $ra,0x2c($sp) +/* 1c26c: 8d0a0008 */ lw $t2,0x8($t0) +.PF0001c270: +/* 1c270: 8fb80168 */ lw $t8,0x168($sp) +/* 1c274: 8fa40160 */ lw $a0,0x160($sp) +/* 1c278: 8d490000 */ lw $t1,0x0($t2) +/* 1c27c: 8fa50164 */ lw $a1,0x164($sp) +/* 1c280: 8fa60168 */ lw $a2,0x168($sp) +/* 1c284: 1309000d */ beq $t8,$t1,.PF0001c2bc +/* 1c288: 27a70144 */ addiu $a3,$sp,0x144 +/* 1c28c: 8fac0158 */ lw $t4,0x158($sp) +/* 1c290: 27ab012c */ addiu $t3,$sp,0x12c +/* 1c294: afab0018 */ sw $t3,0x18($sp) +/* 1c298: 8fa40160 */ lw $a0,0x160($sp) +/* 1c29c: 01002825 */ move $a1,$t0 +/* 1c2a0: 03003025 */ move $a2,$t8 +/* 1c2a4: 27a70144 */ addiu $a3,$sp,0x144 +/* 1c2a8: afa00014 */ sw $zero,0x14($sp) +/* 1c2ac: 0c006d6d */ jal 0x1b5b4 +/* 1c2b0: afac0010 */ sw $t4,0x10($sp) +/* 1c2b4: 1000002b */ b .PF0001c364 +/* 1c2b8: 8fbf002c */ lw $ra,0x2c($sp) +.PF0001c2bc: +/* 1c2bc: 27ad0138 */ addiu $t5,$sp,0x138 +/* 1c2c0: 27ae012c */ addiu $t6,$sp,0x12c +/* 1c2c4: afae0018 */ sw $t6,0x18($sp) +/* 1c2c8: afad0010 */ sw $t5,0x10($sp) +/* 1c2cc: 0c006d6d */ jal 0x1b5b4 +/* 1c2d0: afa00014 */ sw $zero,0x14($sp) +/* 1c2d4: 10000023 */ b .PF0001c364 +/* 1c2d8: 8fbf002c */ lw $ra,0x2c($sp) +/* 1c2dc: 8faf0168 */ lw $t7,0x168($sp) +.PF0001c2e0: +/* 1c2e0: 8fa40164 */ lw $a0,0x164($sp) +/* 1c2e4: 8fb90160 */ lw $t9,0x160($sp) +/* 1c2e8: 8de50008 */ lw $a1,0x8($t7) +/* 1c2ec: 50a00006 */ beqzl $a1,.PF0001c308 +/* 1c2f0: 8f300000 */ lw $s0,0x0($t9) +/* 1c2f4: 0c0068d7 */ jal 0x1a35c +/* 1c2f8: 00003025 */ move $a2,$zero +/* 1c2fc: 10000002 */ b .PF0001c308 +/* 1c300: 00408025 */ move $s0,$v0 +/* 1c304: 8f300000 */ lw $s0,0x0($t9) +.PF0001c308: +/* 1c308: 1200000f */ beqz $s0,.PF0001c348 +/* 1c30c: 8fa40158 */ lw $a0,0x158($sp) +/* 1c310: 8fa40158 */ lw $a0,0x158($sp) +/* 1c314: 0c00591b */ jal 0x1646c +/* 1c318: 27a500e8 */ addiu $a1,$sp,0xe8 +/* 1c31c: 8fa80158 */ lw $t0,0x158($sp) +/* 1c320: 8faa0164 */ lw $t2,0x164($sp) +/* 1c324: 02002025 */ move $a0,$s0 +/* 1c328: 8518000e */ lh $t8,0xe($t0) +/* 1c32c: 8d49000c */ lw $t1,0xc($t2) +/* 1c330: 27a500e8 */ addiu $a1,$sp,0xe8 +/* 1c334: 00186180 */ sll $t4,$t8,0x6 +/* 1c338: 0c00565d */ jal 0x15974 +/* 1c33c: 012c3021 */ addu $a2,$t1,$t4 +/* 1c340: 10000008 */ b .PF0001c364 +/* 1c344: 8fbf002c */ lw $ra,0x2c($sp) +.PF0001c348: +/* 1c348: 8fad0164 */ lw $t5,0x164($sp) +/* 1c34c: 848f000e */ lh $t7,0xe($a0) +/* 1c350: 8dae000c */ lw $t6,0xc($t5) +/* 1c354: 000fc980 */ sll $t9,$t7,0x6 +/* 1c358: 0c00591b */ jal 0x1646c +/* 1c35c: 01d92821 */ addu $a1,$t6,$t9 +/* 1c360: 8fbf002c */ lw $ra,0x2c($sp) +.PF0001c364: +/* 1c364: 8fb00028 */ lw $s0,0x28($sp) +/* 1c368: 27bd0160 */ addiu $sp,$sp,0x160 +/* 1c36c: 03e00008 */ jr $ra +/* 1c370: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0001bfa8 /* 1bfa8: 27bdfea0 */ addiu $sp,$sp,-352 @@ -2219,6 +3135,7 @@ glabel func0001bfa8 /* 1c5ac: 03e00008 */ jr $ra /* 1c5b0: 00000000 */ nop ); +#endif GLOBAL_ASM( glabel func0001c5b4 @@ -3028,6 +3945,39 @@ glabel var70054440 /* 1ce60: 27bd0028 */ addiu $sp,$sp,0x28 ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0001ce64 +/* 1cc24: 27bdffe8 */ addiu $sp,$sp,-24 +/* 1cc28: afbf0014 */ sw $ra,0x14($sp) +/* 1cc2c: 8c8e0010 */ lw $t6,0x10($a0) +/* 1cc30: 8cb80008 */ lw $t8,0x8($a1) +/* 1cc34: 3c0a8006 */ lui $t2,0x8006 +/* 1cc38: acae000c */ sw $t6,0xc($a1) +/* 1cc3c: 8719000e */ lh $t9,0xe($t8) +/* 1cc40: 8c8f0010 */ lw $t7,0x10($a0) +/* 1cc44: 00194180 */ sll $t0,$t9,0x6 +/* 1cc48: 01e84821 */ addu $t1,$t7,$t0 +/* 1cc4c: ac890010 */ sw $t1,0x10($a0) +/* 1cc50: 914aec50 */ lbu $t2,-0x13b0($t2) +/* 1cc54: 15400007 */ bnez $t2,.PF0001cc74 +/* 1cc58: 00000000 */ nop +/* 1cc5c: afa40018 */ sw $a0,0x18($sp) +/* 1cc60: 0c006104 */ jal 0x18410 +/* 1cc64: afa5001c */ sw $a1,0x1c($sp) +/* 1cc68: 8fa40018 */ lw $a0,0x18($sp) +/* 1cc6c: 14400003 */ bnez $v0,.PF0001cc7c +/* 1cc70: 8fa5001c */ lw $a1,0x1c($sp) +.PF0001cc74: +/* 1cc74: 0c0072b6 */ jal 0x1cad8 +/* 1cc78: 00000000 */ nop +.PF0001cc7c: +/* 1cc7c: 8fbf0014 */ lw $ra,0x14($sp) +/* 1cc80: 27bd0018 */ addiu $sp,$sp,0x18 +/* 1cc84: 03e00008 */ jr $ra +/* 1cc88: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0001ce64 /* 1ce64: 27bdffe8 */ addiu $sp,$sp,-24 @@ -3054,6 +4004,7 @@ glabel func0001ce64 /* 1ceb4: 03e00008 */ jr $ra /* 1ceb8: 00000000 */ nop ); +#endif GLOBAL_ASM( glabel func0001cebc @@ -5363,6 +6314,7 @@ glabel func0001ee18 /* 1f310: 27bd0090 */ addiu $sp,$sp,0x90 ); +#if VERSION < VERSION_PAL_FINAL GLOBAL_ASM( glabel func0001f314 /* 1f314: 27bdff70 */ addiu $sp,$sp,-144 @@ -5702,6 +6654,7 @@ glabel func0001f314 /* 1f7d8: 03e00008 */ jr $ra /* 1f7dc: 27bd0090 */ addiu $sp,$sp,0x90 ); +#endif GLOBAL_ASM( glabel func0001f7e0 @@ -10142,6 +11095,4 @@ glabel func00023314 .L000233b0: /* 233b0: 03e00008 */ jr $ra /* 233b4: 00000000 */ nop -/* 233b8: 00000000 */ nop -/* 233bc: 00000000 */ nop ); diff --git a/src/lib/ultra/os/initialize.c b/src/lib/ultra/os/initialize.c index 4a641bded..1ee9c8369 100644 --- a/src/lib/ultra/os/initialize.c +++ b/src/lib/ultra/os/initialize.c @@ -12,7 +12,7 @@ typedef struct { extern __osExceptionVector __osExceptionPreamble; extern u32 osAppNMIBuffer; -void osInitialize() +void osInitialize(void) { u32 pifdata; @@ -34,12 +34,15 @@ void osInitialize() func00005dc0(); osMapTLBRdb(); +#if !PAL osClockRate = osClockRate * 3 / 4; +#endif if (osResetType == RESET_TYPE_COLD_RESET) { bzero(&osAppNMIBuffer, 0x40); } +#if !PAL if (osTvType == OS_TV_PAL) { osViClock = VI_PAL_CLOCK; } else if (osTvType == OS_TV_MPAL) { @@ -47,6 +50,7 @@ void osInitialize() } else { osViClock = VI_NTSC_CLOCK; } +#endif if (__osGetCause() & CAUSE_IP5) { while (1); @@ -56,3 +60,36 @@ void osInitialize() *(u32 *)PHYS_TO_K1(AI_DACRATE_REG) = 0x3fff; *(u32 *)PHYS_TO_K1(AI_BITRATE_REG) = 0xf; } + +GLOBAL_ASM( +glabel func00005dc0 +/* 5dc0: 3c028009 */ lui $v0,%hi(var800902a0) +/* 5dc4: 244202a0 */ addiu $v0,$v0,%lo(var800902a0) +/* 5dc8: 24030007 */ addiu $v1,$zero,0x7 +/* 5dcc: a0430004 */ sb $v1,0x4($v0) +/* 5dd0: 3c0ea460 */ lui $t6,0xa460 +/* 5dd4: 8dcf0014 */ lw $t7,0x14($t6) +/* 5dd8: 3c18a460 */ lui $t8,0xa460 +/* 5ddc: 3c08a460 */ lui $t0,0xa460 +/* 5de0: a04f0005 */ sb $t7,0x5($v0) +/* 5de4: 8f190018 */ lw $t9,0x18($t8) +/* 5de8: 3c0aa460 */ lui $t2,0xa460 +/* 5dec: 3c048009 */ lui $a0,%hi(var80090318) +/* 5df0: a0590008 */ sb $t9,0x8($v0) +/* 5df4: 8d09001c */ lw $t1,0x1c($t0) +/* 5df8: 24840318 */ addiu $a0,$a0,%lo(var80090318) +/* 5dfc: 3c0ca460 */ lui $t4,0xa460 +/* 5e00: a0490006 */ sb $t1,0x6($v0) +/* 5e04: 8d4b0020 */ lw $t3,0x20($t2) +/* 5e08: a0830004 */ sb $v1,0x4($a0) +/* 5e0c: a04b0007 */ sb $t3,0x7($v0) +/* 5e10: 8d8d0024 */ lw $t5,0x24($t4) +/* 5e14: a08d0005 */ sb $t5,0x5($a0) +/* 5e18: 8dcf0028 */ lw $t7,0x28($t6) +/* 5e1c: a08f0008 */ sb $t7,0x8($a0) +/* 5e20: 8f19002c */ lw $t9,0x2c($t8) +/* 5e24: a0990006 */ sb $t9,0x6($a0) +/* 5e28: 8d090030 */ lw $t1,0x30($t0) +/* 5e2c: 03e00008 */ jr $ra +/* 5e30: a0890007 */ sb $t1,0x7($a0) +); diff --git a/src/lib/ultra/os/initialize2.c b/src/lib/ultra/os/initialize2.c new file mode 100644 index 000000000..44a417ec8 --- /dev/null +++ b/src/lib/ultra/os/initialize2.c @@ -0,0 +1,240 @@ +#include +#include "data.h" +#include "gvars/gvars.h" + +typedef struct { + unsigned int inst1; + unsigned int inst2; + unsigned int inst3; + unsigned int inst4; +} __osExceptionVector; + +extern __osExceptionVector __osExceptionPreamble; +extern u32 osAppNMIBuffer; + +GLOBAL_ASM( +glabel osInitialize2 +/* 517c0: 27bdffc8 */ addiu $sp,$sp,-56 +/* 517c4: afbf001c */ sw $ra,0x1c($sp) +/* 517c8: 240e0001 */ li $t6,0x1 +/* 517cc: 3c018009 */ lui $at,0x8009 +/* 517d0: afb00018 */ sw $s0,0x18($sp) +/* 517d4: afa00030 */ sw $zero,0x30($sp) +/* 517d8: 0c012974 */ jal 0x4a5d0 +/* 517dc: ac2e0fb0 */ sw $t6,0xfb0($at) +/* 517e0: 00408025 */ move $s0,$v0 +/* 517e4: 3c012000 */ lui $at,0x2000 +/* 517e8: 0c012970 */ jal 0x4a5c0 +/* 517ec: 02012025 */ or $a0,$s0,$at +/* 517f0: 3c040100 */ lui $a0,0x100 +/* 517f4: 0c011eb8 */ jal 0x47ae0 +/* 517f8: 34840800 */ ori $a0,$a0,0x800 +/* 517fc: 3c041fc0 */ lui $a0,0x1fc0 +/* 51800: 348407fc */ ori $a0,$a0,0x7fc +/* 51804: 0c012978 */ jal 0x4a5e0 +/* 51808: 27a50034 */ addiu $a1,$sp,0x34 +/* 5180c: 10400007 */ beqz $v0,.PF0005182c +/* 51810: 00000000 */ nop +.PF00051814: +/* 51814: 3c041fc0 */ lui $a0,0x1fc0 +/* 51818: 348407fc */ ori $a0,$a0,0x7fc +/* 5181c: 0c012978 */ jal 0x4a5e0 +/* 51820: 27a50034 */ addiu $a1,$sp,0x34 +/* 51824: 1440fffb */ bnez $v0,.PF00051814 +/* 51828: 00000000 */ nop +.PF0005182c: +/* 5182c: 8fa50034 */ lw $a1,0x34($sp) +/* 51830: 3c041fc0 */ lui $a0,0x1fc0 +/* 51834: 348407fc */ ori $a0,$a0,0x7fc +/* 51838: 34af0008 */ ori $t7,$a1,0x8 +/* 5183c: 0c01298c */ jal 0x4a630 +/* 51840: 01e02825 */ move $a1,$t7 +/* 51844: 10400009 */ beqz $v0,.PF0005186c +/* 51848: 00000000 */ nop +.PF0005184c: +/* 5184c: 8fa50034 */ lw $a1,0x34($sp) +/* 51850: 3c041fc0 */ lui $a0,0x1fc0 +/* 51854: 348407fc */ ori $a0,$a0,0x7fc +/* 51858: 34b80008 */ ori $t8,$a1,0x8 +/* 5185c: 0c01298c */ jal 0x4a630 +/* 51860: 03002825 */ move $a1,$t8 +/* 51864: 1440fff9 */ bnez $v0,.PF0005184c +/* 51868: 00000000 */ nop +.PF0005186c: +/* 5186c: 3c087000 */ lui $t0,0x7000 +/* 51870: 250834c0 */ addiu $t0,$t0,0x34c0 +/* 51874: 8d010000 */ lw $at,0x0($t0) +/* 51878: 3c198000 */ lui $t9,0x8000 +/* 5187c: 3c0d7000 */ lui $t5,0x7000 +/* 51880: af210000 */ sw $at,0x0($t9) +/* 51884: 8d0b0004 */ lw $t3,0x4($t0) +/* 51888: 25ad34c0 */ addiu $t5,$t5,0x34c0 +/* 5188c: 3c0c8000 */ lui $t4,0x8000 +/* 51890: af2b0004 */ sw $t3,0x4($t9) +/* 51894: 8d010008 */ lw $at,0x8($t0) +/* 51898: 358c0080 */ ori $t4,$t4,0x80 +/* 5189c: 3c097000 */ lui $t1,0x7000 +/* 518a0: af210008 */ sw $at,0x8($t9) +/* 518a4: 8d0b000c */ lw $t3,0xc($t0) +/* 518a8: 252934c0 */ addiu $t1,$t1,0x34c0 +/* 518ac: 3c0a8000 */ lui $t2,0x8000 +/* 518b0: af2b000c */ sw $t3,0xc($t9) +/* 518b4: 8da10000 */ lw $at,0x0($t5) +/* 518b8: 354a0100 */ ori $t2,$t2,0x100 +/* 518bc: 3c0e7000 */ lui $t6,0x7000 +/* 518c0: ad810000 */ sw $at,0x0($t4) +/* 518c4: 8db80004 */ lw $t8,0x4($t5) +/* 518c8: 25ce34c0 */ addiu $t6,$t6,0x34c0 +/* 518cc: 3c0f8000 */ lui $t7,0x8000 +/* 518d0: ad980004 */ sw $t8,0x4($t4) +/* 518d4: 8da10008 */ lw $at,0x8($t5) +/* 518d8: 35ef0180 */ ori $t7,$t7,0x180 +/* 518dc: 3c048000 */ lui $a0,0x8000 +/* 518e0: ad810008 */ sw $at,0x8($t4) +/* 518e4: 8db8000c */ lw $t8,0xc($t5) +/* 518e8: 24050190 */ li $a1,0x190 +/* 518ec: ad98000c */ sw $t8,0xc($t4) +/* 518f0: 8d210000 */ lw $at,0x0($t1) +/* 518f4: ad410000 */ sw $at,0x0($t2) +/* 518f8: 8d2b0004 */ lw $t3,0x4($t1) +/* 518fc: ad4b0004 */ sw $t3,0x4($t2) +/* 51900: 8d210008 */ lw $at,0x8($t1) +/* 51904: ad410008 */ sw $at,0x8($t2) +/* 51908: 8d2b000c */ lw $t3,0xc($t1) +/* 5190c: ad4b000c */ sw $t3,0xc($t2) +/* 51910: 8dc10000 */ lw $at,0x0($t6) +/* 51914: ade10000 */ sw $at,0x0($t7) +/* 51918: 8dd80004 */ lw $t8,0x4($t6) +/* 5191c: adf80004 */ sw $t8,0x4($t7) +/* 51920: 8dc10008 */ lw $at,0x8($t6) +/* 51924: ade10008 */ sw $at,0x8($t7) +/* 51928: 8dd8000c */ lw $t8,0xc($t6) +/* 5192c: 0c0129a0 */ jal 0x4a680 +/* 51930: adf8000c */ sw $t8,0xc($t7) +/* 51934: 3c048000 */ lui $a0,0x8000 +/* 51938: 0c011e94 */ jal 0x47a50 +/* 5193c: 24050190 */ li $a1,0x190 +/* 51940: 0c01469a */ jal 0x51a68 +/* 51944: 00000000 */ nop +/* 51948: 0c014820 */ jal 0x52080 +/* 5194c: 00000000 */ nop +/* 51950: 0c000bf0 */ jal 0x2fc0 +/* 51954: 00000000 */ nop +/* 51958: 3c048006 */ lui $a0,0x8006 +/* 5195c: 3c058006 */ lui $a1,0x8006 +/* 51960: 8ca5cc14 */ lw $a1,-0x33ec($a1) +/* 51964: 8c84cc10 */ lw $a0,-0x33f0($a0) +/* 51968: 24060000 */ li $a2,0x0 +/* 5196c: 0c0136da */ jal 0x4db68 +/* 51970: 24070003 */ li $a3,0x3 +/* 51974: afa20020 */ sw $v0,0x20($sp) +/* 51978: afa30024 */ sw $v1,0x24($sp) +/* 5197c: 8fa50024 */ lw $a1,0x24($sp) +/* 51980: 8fa40020 */ lw $a0,0x20($sp) +/* 51984: 24060000 */ li $a2,0x0 +/* 51988: 0c01369a */ jal 0x4da68 +/* 5198c: 24070004 */ li $a3,0x4 +/* 51990: 3c088000 */ lui $t0,0x8000 +/* 51994: 8d08030c */ lw $t0,0x30c($t0) +/* 51998: 3c018006 */ lui $at,0x8006 +/* 5199c: ac22cc10 */ sw $v0,-0x33f0($at) +/* 519a0: 15000005 */ bnez $t0,.PF000519b8 +/* 519a4: ac23cc14 */ sw $v1,-0x33ec($at) +/* 519a8: 3c048000 */ lui $a0,0x8000 +/* 519ac: 2484031c */ addiu $a0,$a0,0x31c +/* 519b0: 0c0129c0 */ jal 0x4a700 +/* 519b4: 24050040 */ li $a1,0x40 +.PF000519b8: +/* 519b8: 3c198000 */ lui $t9,0x8000 +/* 519bc: 8f390300 */ lw $t9,0x300($t9) +/* 519c0: 17200006 */ bnez $t9,.PF000519dc +/* 519c4: 00000000 */ nop +/* 519c8: 3c0a02f5 */ lui $t2,0x2f5 +/* 519cc: 354ab2d2 */ ori $t2,$t2,0xb2d2 +/* 519d0: 3c018006 */ lui $at,0x8006 +/* 519d4: 1000000f */ b .PF00051a14 +/* 519d8: ac2a0fe8 */ sw $t2,0xfe8($at) +.PF000519dc: +/* 519dc: 3c098000 */ lui $t1,0x8000 +/* 519e0: 8d290300 */ lw $t1,0x300($t1) +/* 519e4: 24010002 */ li $at,0x2 +/* 519e8: 15210006 */ bne $t1,$at,.PF00051a04 +/* 519ec: 00000000 */ nop +/* 519f0: 3c0b02e6 */ lui $t3,0x2e6 +/* 519f4: 356b025c */ ori $t3,$t3,0x25c +/* 519f8: 3c018006 */ lui $at,0x8006 +/* 519fc: 10000005 */ b .PF00051a14 +/* 51a00: ac2b0fe8 */ sw $t3,0xfe8($at) +.PF00051a04: +/* 51a04: 3c0d02e6 */ lui $t5,0x2e6 +/* 51a08: 35add354 */ ori $t5,$t5,0xd354 +/* 51a0c: 3c018006 */ lui $at,0x8006 +/* 51a10: ac2d0fe8 */ sw $t5,0xfe8($at) +.PF00051a14: +/* 51a14: 0c0129e8 */ jal 0x4a7a0 +/* 51a18: 00000000 */ nop +/* 51a1c: 304c1000 */ andi $t4,$v0,0x1000 +/* 51a20: 11800003 */ beqz $t4,.PF00051a30 +/* 51a24: 00000000 */ nop +.PF00051a28: +/* 51a28: 1000ffff */ b .PF00051a28 +/* 51a2c: 00000000 */ nop +.PF00051a30: +/* 51a30: 240f0001 */ li $t7,0x1 +/* 51a34: 3c0ea450 */ lui $t6,0xa450 +/* 51a38: adcf0008 */ sw $t7,0x8($t6) +/* 51a3c: 24183fff */ li $t8,0x3fff +/* 51a40: 3c08a450 */ lui $t0,0xa450 +/* 51a44: ad180010 */ sw $t8,0x10($t0) +/* 51a48: 2419000f */ li $t9,0xf +/* 51a4c: 3c0aa450 */ lui $t2,0xa450 +/* 51a50: ad590014 */ sw $t9,0x14($t2) +/* 51a54: 8fbf001c */ lw $ra,0x1c($sp) +/* 51a58: 8fb00018 */ lw $s0,0x18($sp) +/* 51a5c: 27bd0038 */ addiu $sp,$sp,0x38 +/* 51a60: 03e00008 */ jr $ra +/* 51a64: 00000000 */ nop +); + +GLOBAL_ASM( +glabel func00051a68pf +/* 51a68: 240e0007 */ li $t6,0x7 +/* 51a6c: 3c018009 */ lui $at,0x8009 +/* 51a70: a02e07f4 */ sb $t6,0x7f4($at) +/* 51a74: 3c0fa460 */ lui $t7,0xa460 +/* 51a78: 8df80014 */ lw $t8,0x14($t7) +/* 51a7c: 3c018009 */ lui $at,0x8009 +/* 51a80: 3c19a460 */ lui $t9,0xa460 +/* 51a84: a03807f5 */ sb $t8,0x7f5($at) +/* 51a88: 8f280018 */ lw $t0,0x18($t9) +/* 51a8c: 3c018009 */ lui $at,0x8009 +/* 51a90: 3c09a460 */ lui $t1,0xa460 +/* 51a94: a02807f8 */ sb $t0,0x7f8($at) +/* 51a98: 8d2a001c */ lw $t2,0x1c($t1) +/* 51a9c: 3c018009 */ lui $at,0x8009 +/* 51aa0: 3c0ba460 */ lui $t3,0xa460 +/* 51aa4: a02a07f6 */ sb $t2,0x7f6($at) +/* 51aa8: 8d6c0020 */ lw $t4,0x20($t3) +/* 51aac: 3c018009 */ lui $at,0x8009 +/* 51ab0: 240d0007 */ li $t5,0x7 +/* 51ab4: a02c07f7 */ sb $t4,0x7f7($at) +/* 51ab8: 3c018009 */ lui $at,0x8009 +/* 51abc: a02d086c */ sb $t5,0x86c($at) +/* 51ac0: 3c0ea460 */ lui $t6,0xa460 +/* 51ac4: 8dcf0024 */ lw $t7,0x24($t6) +/* 51ac8: 3c018009 */ lui $at,0x8009 +/* 51acc: 3c18a460 */ lui $t8,0xa460 +/* 51ad0: a02f086d */ sb $t7,0x86d($at) +/* 51ad4: 8f190028 */ lw $t9,0x28($t8) +/* 51ad8: 3c018009 */ lui $at,0x8009 +/* 51adc: 3c08a460 */ lui $t0,0xa460 +/* 51ae0: a0390870 */ sb $t9,0x870($at) +/* 51ae4: 8d09002c */ lw $t1,0x2c($t0) +/* 51ae8: 3c018009 */ lui $at,0x8009 +/* 51aec: 3c0aa460 */ lui $t2,0xa460 +/* 51af0: a029086e */ sb $t1,0x86e($at) +/* 51af4: 8d4b0030 */ lw $t3,0x30($t2) +/* 51af8: 3c018009 */ lui $at,0x8009 +/* 51afc: 03e00008 */ jr $ra +/* 51b00: a02b086f */ sb $t3,0x86f($at) +); diff --git a/src/lib/ultra/os/unmaptlball.c b/src/lib/ultra/os/unmaptlball.c new file mode 100644 index 000000000..e1a4fa4c1 --- /dev/null +++ b/src/lib/ultra/os/unmaptlball.c @@ -0,0 +1,24 @@ +#include +#include "data.h" + +GLOBAL_ASM( +glabel osUnmapTLBAll +/* 52080: 40085000 */ mfc0 $t0,$10 +/* 52084: 2409001e */ li $t1,0x1e +/* 52088: 3c0a8000 */ lui $t2,0x8000 +/* 5208c: 408a5000 */ mtc0 $t2,$10 +/* 52090: 40801000 */ mtc0 $zero,$2 +/* 52094: 40801800 */ mtc0 $zero,$3 +.PF00052098: +/* 52098: 40890000 */ mtc0 $t1,$0 +/* 5209c: 00000000 */ nop +/* 520a0: 42000002 */ tlbwi +/* 520a4: 00000000 */ nop +/* 520a8: 00000000 */ nop +/* 520ac: 2129ffff */ addi $t1,$t1,-1 +/* 520b0: 0521fff9 */ bgez $t1,.PF00052098 +/* 520b4: 00000000 */ nop +/* 520b8: 40885000 */ mtc0 $t0,$10 +/* 520bc: 03e00008 */ jr $ra +/* 520c0: 00000000 */ nop +);