Decompile osViSetYScale

This commit is contained in:
Ryan Dwyer 2021-01-29 23:46:41 +10:00
parent ec28172ec6
commit 1ab224f0fe
10 changed files with 18 additions and 55 deletions

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/visetyscale.o: OPT_LVL := -O1
$(B_DIR)/lib/ultra/os/createmesgqueue.o: OPT_LVL := -O1
$(B_DIR)/lib/ultra/os/destroythread.o: OPT_LVL := -O1
$(B_DIR)/lib/ultra/os/jammesg.o: OPT_LVL := -O1

View File

@ -104,7 +104,7 @@
build/ROMID/lib/ultra/io/dpctr.o (section); \
build/ROMID/lib/lib_48cd0.o (section); \
build/ROMID/lib/lib_48dc0.o (section); \
build/ROMID/lib/lib_48ef0.o (section); \
build/ROMID/lib/ultra/io/visetyscale.o (section); \
build/ROMID/lib/lib_48f50.o (section); \
build/ROMID/lib/lib_490b0.o (section); \
build/ROMID/lib/ultra/os/timerintr.o (section); \

View File

@ -22,7 +22,6 @@
#include "lib/lib_48150.h"
#include "lib/lib_48cd0.h"
#include "lib/lib_48dc0.h"
#include "lib/lib_48ef0.h"
#include "lib/lib_48f50.h"
#include "lib/lib_490b0.h"
#include "types.h"

View File

@ -25,7 +25,6 @@
#include "lib/lib_48150.h"
#include "lib/lib_48cd0.h"
#include "lib/lib_48dc0.h"
#include "lib/lib_48ef0.h"
#include "lib/lib_48f50.h"
#include "lib/lib_490b0.h"
#include "types.h"

View File

@ -24,7 +24,6 @@
#include "lib/lib_48150.h"
#include "lib/lib_48cd0.h"
#include "lib/lib_48dc0.h"
#include "lib/lib_48ef0.h"
#include "lib/lib_48f50.h"
#include "lib/lib_490b0.h"
#include "types.h"
@ -504,7 +503,7 @@ s32 __scTaskComplete(OSSched *sc, OSScTask *t)
func00048d50(var8008dd60[1 - var8005ce74]);
func00048ce0(var8005ce90);
func00048dc0(var8005ce78[1 - var8005ce74]);
func00048ef0(var8005ce80[1 - var8005ce74]);
osViSetYScale(var8005ce80[1 - var8005ce74]);
func00048f50(0x42);
}

View File

@ -180,6 +180,7 @@ void osViSetEvent(OSMesgQueue *mq, OSMesg msg, u32 retraceCount);
void osViBlack(u8 active);
void osViSetSpecialFeatures(u32 func);
void osViSwapBuffer(void *vaddr);
void osViSetYScale(f32 scale);
#define OS_VI_NTSC_LPN1 0 /* NTSC */

View File

@ -1,8 +0,0 @@
#ifndef _IN_LIB_LIB_48EF0_H
#define _IN_LIB_LIB_48EF0_H
#include <ultra64.h>
#include "types.h"
void func00048ef0(f32 arg0);
#endif

View File

@ -20,7 +20,6 @@
#include "lib/lib_30ce0.h"
#include "lib/lib_48cd0.h"
#include "lib/lib_48dc0.h"
#include "lib/lib_48ef0.h"
#include "lib/lib_48f50.h"
#include "lib/lib_4b170.h"
#include "types.h"
@ -802,7 +801,7 @@ glabel func00009ed4
/* a018: 000e6080 */ sll $t4,$t6,0x2
/* a01c: 000cc023 */ negu $t8,$t4
/* a020: 00380821 */ addu $at,$at,$t8
/* a024: 0c0123bc */ jal func00048ef0
/* a024: 0c0123bc */ jal osViSetYScale
/* a028: c42cce84 */ lwc1 $f12,%lo(var8005ce80+0x4)($at)
/* a02c: 0c0123d4 */ jal func00048f50
/* a030: 24040042 */ addiu $a0,$zero,0x42
@ -836,7 +835,7 @@ glabel func0000a044
.L0000a090:
/* a090: 3c013f80 */ lui $at,0x3f80
/* a094: 44816000 */ mtc1 $at,$f12
/* a098: 0c0123bc */ jal func00048ef0
/* a098: 0c0123bc */ jal osViSetYScale
/* a09c: 00000000 */ nop
/* a0a0: 0c012338 */ jal func00048ce0
/* a0a4: 24040001 */ addiu $a0,$zero,0x1

View File

@ -1,39 +0,0 @@
#include <ultra64.h>
#include "constants.h"
#include "game/data/data_000000.h"
#include "game/data/data_0083d0.h"
#include "game/data/data_00e460.h"
#include "game/data/data_0160b0.h"
#include "game/data/data_01a3a0.h"
#include "game/data/data_020df0.h"
#include "game/data/data_02da90.h"
#include "gvars/gvars.h"
#include "types.h"
GLOBAL_ASM(
glabel func00048ef0
/* 48ef0: 27bdffd8 */ addiu $sp,$sp,-40
/* 48ef4: afbf001c */ sw $ra,0x1c($sp)
/* 48ef8: e7ac0028 */ swc1 $f12,0x28($sp)
/* 48efc: 0c01256c */ jal __osDisableInt
/* 48f00: afb00018 */ sw $s0,0x18($sp)
/* 48f04: 3c0e8006 */ lui $t6,%hi(__osViNext)
/* 48f08: 8dce0914 */ lw $t6,%lo(__osViNext)($t6)
/* 48f0c: c7a40028 */ lwc1 $f4,0x28($sp)
/* 48f10: 3c0f8006 */ lui $t7,%hi(__osViNext)
/* 48f14: 00408025 */ or $s0,$v0,$zero
/* 48f18: e5c40024 */ swc1 $f4,0x24($t6)
/* 48f1c: 8def0914 */ lw $t7,%lo(__osViNext)($t7)
/* 48f20: 02002025 */ or $a0,$s0,$zero
/* 48f24: 95f80000 */ lhu $t8,0x0($t7)
/* 48f28: 37190004 */ ori $t9,$t8,0x4
/* 48f2c: 0c012588 */ jal __osRestoreInt
/* 48f30: a5f90000 */ sh $t9,0x0($t7)
/* 48f34: 8fbf001c */ lw $ra,0x1c($sp)
/* 48f38: 8fb00018 */ lw $s0,0x18($sp)
/* 48f3c: 27bd0028 */ addiu $sp,$sp,0x28
/* 48f40: 03e00008 */ jr $ra
/* 48f44: 00000000 */ nop
/* 48f48: 00000000 */ nop
/* 48f4c: 00000000 */ nop
);

View File

@ -0,0 +1,12 @@
#include <ultra64.h>
#include "game/data/data_000000.h"
void osViSetYScale(f32 value)
{
register u32 saveMask = __osDisableInt();
__osViNext->y.factor = value;
__osViNext->state |= VI_STATE_YSCALE_UPDATED;
__osRestoreInt(saveMask);
}