Decompile osViSetMode

This commit is contained in:
Ryan Dwyer committed 2021-01-30 00:11:28 +10:00
1 parent ac5544d619
commit a574789a04
8 files changed
+20 -36

No files matched your search

+1
View File
@@ -78,6 +78,7 @@ $(B_DIR)/lib/ultra/io/vi.o: OPT_LVL := -O1
$(B_DIR)/lib/ultra/io/vigetcurrframebuf.o: OPT_LVL := -O1
$(B_DIR)/lib/ultra/io/vigetnextframebuf.o: OPT_LVL := -O1
$(B_DIR)/lib/ultra/io/visetevent.o: OPT_LVL := -O1
$(B_DIR)/lib/ultra/io/visetmode.o: OPT_LVL := -O1
$(B_DIR)/lib/ultra/io/visetxscale.o: OPT_LVL := -O1
$(B_DIR)/lib/ultra/io/visetyscale.o: OPT_LVL := -O1
$(B_DIR)/lib/ultra/os/createmesgqueue.o: OPT_LVL := -O1
+1
View File
@@ -103,6 +103,7 @@
build/ROMID/lib/ultra/io/sptaskyielded.o (section); \
build/ROMID/lib/ultra/io/dpctr.o (section); \
build/ROMID/lib/lib_48cd0.o (section); \
build/ROMID/lib/ultra/io/visetmode.o (section); \
build/ROMID/lib/ultra/io/visetxscale.o (section); \
build/ROMID/lib/ultra/io/visetyscale.o (section); \
build/ROMID/lib/lib_48f50.o (section); \
+1 -1
View File
@@ -38,7 +38,7 @@ glabel resetproc
/* 2e70: 2484f7b0 */ addiu $a0,$a0,%lo(osViModeTable+0xa0)
.L00002e74:
/* 2e74: ac82002c */ sw $v0,0x2c($a0)
/* 2e78: 0c012354 */ jal func00048d50
/* 2e78: 0c012354 */ jal osViSetMode
/* 2e7c: ac820040 */ sw $v0,0x40($a0)
/* 2e80: 0c012338 */ jal func00048ce0
/* 2e84: 24040001 */ addiu $a0,$zero,0x1
+1 -1
View File
@@ -499,7 +499,7 @@ s32 __scTaskComplete(OSSched *sc, OSScTask *t)
osSetIntMask(mask);
func00048d50(var8008dd60[1 - var8005ce74]);
osViSetMode(var8008dd60[1 - var8005ce74]);
func00048ce0(var8005ce90);
osViSetXScale(var8005ce78[1 - var8005ce74]);
osViSetYScale(var8005ce80[1 - var8005ce74]);
-1
View File
@@ -5,6 +5,5 @@
u32 func00048cd0(void);
void func00048ce0(u8 arg0);
void func00048d50(OSViMode *mode);
#endif
+1 -1
View File
@@ -781,7 +781,7 @@ glabel func00009ed4
/* 9fcc: 00084880 */ sll $t1,$t0,0x2
/* 9fd0: 0009c823 */ negu $t9,$t1
/* 9fd4: 00992021 */ addu $a0,$a0,$t9
/* 9fd8: 0c012354 */ jal func00048d50
/* 9fd8: 0c012354 */ jal osViSetMode
/* 9fdc: 8c84dd64 */ lw $a0,%lo(var8008dd60+0x4)($a0)
/* 9fe0: 3c048006 */ lui $a0,%hi(var8005ce90+0x3)
/* 9fe4: 0c012338 */ jal func00048ce0
-32
View File
@@ -51,35 +51,3 @@ glabel func00048ce0
/* 48d48: 03e00008 */ jr $ra
/* 48d4c: 00000000 */ nop
);
GLOBAL_ASM(
glabel func00048d50
/* 48d50: 27bdffd8 */ addiu $sp,$sp,-40
/* 48d54: afbf001c */ sw $ra,0x1c($sp)
/* 48d58: afa40028 */ sw $a0,0x28($sp)
/* 48d5c: 0c01256c */ jal __osDisableInt
/* 48d60: afb00018 */ sw $s0,0x18($sp)
/* 48d64: 3c0f8006 */ lui $t7,%hi(__osViNext)
/* 48d68: 8def0914 */ lw $t7,%lo(__osViNext)($t7)
/* 48d6c: 8fae0028 */ lw $t6,0x28($sp)
/* 48d70: 3c198006 */ lui $t9,%hi(__osViNext)
/* 48d74: 24180001 */ addiu $t8,$zero,0x1
/* 48d78: adee0008 */ sw $t6,0x8($t7)
/* 48d7c: 8f390914 */ lw $t9,%lo(__osViNext)($t9)
/* 48d80: 3c088006 */ lui $t0,%hi(__osViNext)
/* 48d84: 00408025 */ or $s0,$v0,$zero
/* 48d88: a7380000 */ sh $t8,0x0($t9)
/* 48d8c: 8d080914 */ lw $t0,%lo(__osViNext)($t0)
/* 48d90: 02002025 */ or $a0,$s0,$zero
/* 48d94: 8d090008 */ lw $t1,0x8($t0)
/* 48d98: 8d2a0004 */ lw $t2,0x4($t1)
/* 48d9c: 0c012588 */ jal __osRestoreInt
/* 48da0: ad0a000c */ sw $t2,0xc($t0)
/* 48da4: 8fbf001c */ lw $ra,0x1c($sp)
/* 48da8: 8fb00018 */ lw $s0,0x18($sp)
/* 48dac: 27bd0028 */ addiu $sp,$sp,0x28
/* 48db0: 03e00008 */ jr $ra
/* 48db4: 00000000 */ nop
/* 48db8: 00000000 */ nop
/* 48dbc: 00000000 */ nop
);
+15
View File
@@ -0,0 +1,15 @@
#include <ultra64.h>
#include "game/data/data_000000.h"
void osViSetMode(OSViMode *modep)
{
register u32 saveMask;
saveMask = __osDisableInt();
__osViNext->modep = modep;
__osViNext->state = VI_STATE_01;
__osViNext->control = __osViNext->modep->comRegs.ctrl;
__osRestoreInt(saveMask);
}