mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
Match most of the remaining unmatched libultra functions, mostly from the audio library (#239)
* Fix alSynAllocFX * Match alCSPNew and __CSPVoiceHandler, which had slight differences from libreultra * WIP __CSPHandleMIDIMsg * Match alFxPull * Match func_8006492C and func_8006493C * Match alFxParamHdl * Match _loadOutputBuffer: * Match _doModFunc and with it finish reverb.c * Match alSynNew and finish synthesizer.c * Match some unknown funcs cleaner * Clean up func_80063BA0 * Clean up func_80063A90 * Fix warning * Add missing header files from previous commits * Match alBnkfNew.c * Match alCSPGetState * Match several more audio lib funcs * Match alSynDelete, and alSynSetFXMix * Properly move __osRcpImTable data into osSetIntMask and our of alSynSetPriority * Kind of match alSynSetPriority, and match alSynSetVol * Delcare functions as static again to fix the score script regex * Seperate some al files out like they seem to be in ultralib * Match event.c * Match synallocvoice.c * Match some more audio funcs * More audio matches * Yaya more audio, I know * Couple more matched files * Match filter.c * Match resample.c * Match load.c * Get env.c closer to a real match * Fix some code related to an assert in env.c * Match env.c, which has many differences from later public versions * Finish matching audio library code * Deleted unnecessary asm files, and made tweaks to al files to fix score script * Fix codebreaking formatting error ;) * Update include/PR/libaudio.h Co-authored-by: AntonioCastelli <aatcastelli@gmail.com> * Update include/audio_internal.h Co-authored-by: AntonioCastelli <aatcastelli@gmail.com> * Renamed sl.c.c to fix that, and renamed NOPSNEEDED to make it more clear it's not to be used. Co-authored-by: AntonioCastelli <aatcastelli@gmail.com>
This commit is contained in:
co-authored by
AntonioCastelli
parent
dd92c90fc1
commit
924b89cc80
@@ -299,16 +299,14 @@ $(BUILD_DIR)/lib/src/os/osViMgr.o: OPT_FLAGS := -O2 -Xfullwarn
|
||||
$(BUILD_DIR)/lib/src/os/osCreatePiManager.o: OPT_FLAGS := -O2 -Xfullwarn
|
||||
$(BUILD_DIR)/lib/src/os/osMotor.o: OPT_FLAGS := -O2 -Xfullwarn
|
||||
$(BUILD_DIR)/lib/src/libc/xprintf.o : OPT_FLAGS := -O3
|
||||
$(BUILD_DIR)/lib/src/al/unknown_0C9C90.o: OPT_FLAGS := -O2 -Xfullwarn -Wo,-loopunroll,0
|
||||
$(BUILD_DIR)/lib/src/al/env.o: OPT_FLAGS := -g
|
||||
#$(BUILD_DIR)/lib/src/libc/llcvt.o: OPT_FLAGS :=
|
||||
#$(BUILD_DIR)/lib/src/libc/llcvt.o: MIPSISET := -mips3 32
|
||||
|
||||
$(BUILD_DIR)/lib/%.o: MIPSISET := -mips2
|
||||
$(BUILD_DIR)/lib/src/mips1/%.o: MIPSISET := -mips1
|
||||
$(BUILD_DIR)/lib/src/os/osMotor.o: MIPSISET := -mips1
|
||||
|
||||
# asm-processor currently does not support -O3, so this is my workaround.
|
||||
$(BUILD_DIR)/lib/src/al/global_asm/%.o: OPT_FLAGS := -O2 -Xfullwarn
|
||||
$(BUILD_DIR)/lib/src/al/env.o: MIPSISET := -mips1
|
||||
|
||||
######################## Targets #############################
|
||||
|
||||
|
||||
+3
-1
@@ -242,7 +242,9 @@ typedef union {
|
||||
/*
|
||||
* ADPCM State
|
||||
*/
|
||||
typedef short ADPCM_STATE[16];
|
||||
#define ADPCMVSIZE 8
|
||||
#define ADPCMFSIZE 16
|
||||
typedef short ADPCM_STATE[ADPCMFSIZE];
|
||||
|
||||
/*
|
||||
* Pole filter state
|
||||
|
||||
+168
-50
@@ -89,9 +89,13 @@ typedef struct ALLink_s {
|
||||
} ALLink;
|
||||
|
||||
|
||||
void alUnlink(ALLink *element);
|
||||
void alLink(ALLink *element, ALLink *after);
|
||||
|
||||
typedef s32 (*ALDMAproc)(s32 addr, s32 len, void *state);
|
||||
typedef ALDMAproc (*ALDMANew)(void *state);
|
||||
|
||||
void alCopy(void *src, void *dest, s32 len);
|
||||
|
||||
typedef struct {
|
||||
u8 *base;
|
||||
@@ -104,7 +108,7 @@ typedef struct {
|
||||
#define AL_HEAP_MAGIC 0x20736a73
|
||||
#define AL_HEAP_INIT 0
|
||||
|
||||
|
||||
void *alHeapDBAlloc(u8 *file, s32 line, ALHeap *hp, s32 num, s32 size);
|
||||
#ifdef _DEBUG
|
||||
#define alHeapAlloc(hp, elem ,size) alHeapDBAlloc((u8 *) __FILE__,__LINE__,(hp),(elem),(size))
|
||||
#else
|
||||
@@ -319,6 +323,33 @@ typedef struct {
|
||||
at one time at output rate */
|
||||
} ALSynth;
|
||||
|
||||
void alSynNew(ALSynth *s, ALSynConfig *config);
|
||||
void alSynDelete(ALSynth *s);
|
||||
|
||||
void alSynAddPlayer(ALSynth *s, ALPlayer *client);
|
||||
void alSynRemovePlayer(ALSynth *s, ALPlayer *client);
|
||||
|
||||
s32 alSynAllocVoice(ALSynth *s, ALVoice *v, ALVoiceConfig *vc);
|
||||
void alSynFreeVoice(ALSynth *s, ALVoice *voice);
|
||||
|
||||
void alSynStartVoice(ALSynth *s, ALVoice *voice, ALWaveTable *w);
|
||||
void alSynStartVoiceParams(ALSynth *s, ALVoice *voice, ALWaveTable *w,
|
||||
f32 pitch, s16 vol, ALPan pan, u8 fxmix,
|
||||
ALMicroTime t);
|
||||
void alSynStopVoice(ALSynth *s, ALVoice *voice);
|
||||
|
||||
void alSynSetVol(ALSynth *s, ALVoice *v, s16 vol, ALMicroTime delta);
|
||||
void alSynSetPitch(ALSynth *s, ALVoice *voice, f32 ratio);
|
||||
void alSynSetPan(ALSynth *s, ALVoice *voice, ALPan pan);
|
||||
void alSynSetFXMix(ALSynth *s, ALVoice *voice, u8 fxmix);
|
||||
void alSynSetPriority(ALSynth *s, ALVoice *voice, s16 priority);
|
||||
s16 alSynGetPriority(ALSynth *s, ALVoice *voice);
|
||||
|
||||
ALFxRef *alSynAllocFX(ALSynth *s, s16 bus, ALSynConfig *c, ALHeap *hp);
|
||||
ALFxRef alSynGetFXRef(ALSynth *s, s16 bus, s16 index);
|
||||
void alSynFreeFX(ALSynth *s, ALFxRef *fx);
|
||||
void alSynSetFXParam(ALSynth *s, ALFxRef fx, s16 paramID, void *param);
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* Audio Library (AL) stuff
|
||||
@@ -556,6 +587,13 @@ typedef struct {
|
||||
s32 eventCount;
|
||||
} ALEventQueue;
|
||||
|
||||
void alEvtqNew(ALEventQueue *evtq, ALEventListItem *items,
|
||||
s32 itemCount);
|
||||
ALMicroTime alEvtqNextEvent(ALEventQueue *evtq, ALEvent *evt);
|
||||
void alEvtqPostEvent(ALEventQueue *evtq, ALEvent *evt,
|
||||
ALMicroTime delta);
|
||||
void alEvtqFlush(ALEventQueue *evtq);
|
||||
void alEvtqFlushType(ALEventQueue *evtq, s16 type);
|
||||
|
||||
#define AL_PHASE_ATTACK 0
|
||||
#define AL_PHASE_NOTEON 0
|
||||
@@ -606,6 +644,7 @@ typedef struct {
|
||||
u8 sustain; /* current sustain pedal state */
|
||||
f32 pitchBend; /* current pitch bend val in cents */
|
||||
u8 unk10;
|
||||
u8 unk11;
|
||||
} ALChanState_Custom;
|
||||
|
||||
/* Size: 0x1C bytes */
|
||||
@@ -625,6 +664,7 @@ typedef struct {
|
||||
u32 division;
|
||||
} ALCMidiHdr;
|
||||
|
||||
/* size 0x20 */
|
||||
typedef struct ALCSeq_s {
|
||||
ALCMidiHdr *base; /* ptr to start of sequence file */
|
||||
u32 validTracks; /* set of flags, showing valid tracks */
|
||||
@@ -708,37 +748,7 @@ typedef struct {
|
||||
} ALSeqPlayer;
|
||||
|
||||
/**
|
||||
* This has an extra padded 4 bytes at the end for some reason.
|
||||
* Size: 0x80 bytes */
|
||||
typedef struct {
|
||||
ALPlayer node; /* note: must be first in structure */
|
||||
ALSynth *drvr; /* reference to the client driver */
|
||||
ALCSeq *target; /* current sequence */
|
||||
ALMicroTime curTime;
|
||||
ALBank *bank; /* current ALBank */
|
||||
s32 uspt; /* microseconds per tick */
|
||||
s32 nextDelta; /* microseconds to next callback */
|
||||
s32 state;
|
||||
u16 chanMask; /* active channels */
|
||||
s16 vol; /* overall sequence volume */
|
||||
u8 maxChannels; /* number of MIDI channels */
|
||||
u8 debugFlags; /* control which error get reported */
|
||||
ALEvent nextEvent;
|
||||
ALEventQueue evtq;
|
||||
ALMicroTime frameTime;
|
||||
ALChanState *chanState; /* 16 channels for MIDI */
|
||||
ALVoiceState *vAllocHead; /* list head for allocated voices */
|
||||
ALVoiceState *vAllocTail; /* list tail for allocated voices */
|
||||
ALVoiceState *vFreeList; /* list of free voice state structs */
|
||||
ALOscInit initOsc;
|
||||
ALOscUpdate updateOsc;
|
||||
ALOscStop stopOsc;
|
||||
s32 unk7C; /* Padded to match ALCSPlayer_Custom */
|
||||
} ALCSPlayer;
|
||||
|
||||
/**
|
||||
* This custom struct has a unk36 byte that is set to 0x7F in func_80002224.
|
||||
* It is otherwise identical to the ALCSPlayer above, but we need to pad it's size to match
|
||||
* This struct was modified by Rare with a few new fields
|
||||
* Size: 0x80 bytes */
|
||||
typedef struct {
|
||||
/* 0x00 */ ALPlayer node; /* note: must be first in structure */
|
||||
@@ -754,30 +764,139 @@ typedef struct {
|
||||
/* 0x34 */ u8 maxChannels; /* number of MIDI channels */
|
||||
/* 0x35 */ u8 debugFlags; /* control which error get reported */
|
||||
/* 0x36 */ u8 unk36;
|
||||
/* 0x37 */ u8 unk37[3]; /* Padded to match ALCSPlayer */
|
||||
/* 0x40 */ ALEvent nextEvent;
|
||||
/* 0x4C */ ALEventQueue evtq;
|
||||
/* 0x60 */ ALMicroTime frameTime;
|
||||
/* 0x64 */ ALChanState *chanState; /* 16 channels for MIDI */
|
||||
/* 0x68 */ ALVoiceState *vAllocHead; /* list head for allocated voices */
|
||||
/* 0x6C */ ALVoiceState *vAllocTail; /* list tail for allocated voices */
|
||||
/* 0x70 */ ALVoiceState *vFreeList; /* list of free voice state structs */
|
||||
/* 0x37 */ u8 unk37;
|
||||
/* 0x38 */ ALEvent nextEvent;
|
||||
/* 0x48 */ ALEventQueue evtq;
|
||||
/* 0x5C */ ALMicroTime frameTime;
|
||||
/* 0x60 */ ALChanState *chanState; /* 16 channels for MIDI */
|
||||
/* 0x64 */ ALVoiceState *vAllocHead; /* list head for allocated voices */
|
||||
/* 0x68 */ ALVoiceState *vAllocTail; /* list tail for allocated voices */
|
||||
/* 0x6C */ ALVoiceState *vFreeList; /* list of free voice state structs */
|
||||
/* 0x70 */ s8 unk70;
|
||||
/* 0x71 */ s8 unk71;
|
||||
/* 0x72 */ s8 unk72;
|
||||
/* 0x73 */ s8 unk73;
|
||||
/* 0x74 */ ALOscInit initOsc;
|
||||
/* 0x78 */ ALOscUpdate updateOsc;
|
||||
/* 0x7C */ ALOscStop stopOsc;
|
||||
} ALCSPlayer;
|
||||
|
||||
/**
|
||||
* Same as above, but the chanState is the new custom one.
|
||||
* Size: 0x80 bytes */
|
||||
typedef struct {
|
||||
/* 0x00 */ ALPlayer node; /* note: must be first in structure */
|
||||
/* 0x14 */ ALSynth *drvr; /* reference to the client driver */
|
||||
/* 0x18 */ ALCSeq *target; /* current sequence */
|
||||
/* 0x1C */ ALMicroTime curTime;
|
||||
/* 0x20 */ ALBank *bank; /* current ALBank */
|
||||
/* 0x24 */ s32 uspt; /* microseconds per tick */
|
||||
/* 0x28 */ s32 nextDelta; /* microseconds to next callback */
|
||||
/* 0x2C */ s32 state;
|
||||
/* 0x30 */ u16 chanMask; /* active channels */
|
||||
/* 0x32 */ s16 vol; /* overall sequence volume */
|
||||
/* 0x34 */ u8 maxChannels; /* number of MIDI channels */
|
||||
/* 0x35 */ u8 debugFlags; /* control which error get reported */
|
||||
/* 0x36 */ u8 unk36;
|
||||
/* 0x37 */ u8 unk37;
|
||||
/* 0x38 */ ALEvent nextEvent;
|
||||
/* 0x48 */ ALEventQueue evtq;
|
||||
/* 0x5C */ ALMicroTime frameTime;
|
||||
/* 0x60 */ ALChanState_Custom *chanState; /* 16 channels for MIDI */
|
||||
/* 0x64 */ ALVoiceState *vAllocHead; /* list head for allocated voices */
|
||||
/* 0x68 */ ALVoiceState *vAllocTail; /* list tail for allocated voices */
|
||||
/* 0x6C */ ALVoiceState *vFreeList; /* list of free voice state structs */
|
||||
/* 0x70 */ s8 unk70;
|
||||
/* 0x71 */ s8 unk71;
|
||||
/* 0x72 */ s8 unk72;
|
||||
/* 0x73 */ s8 unk73;
|
||||
/* 0x74 */ ALOscInit initOsc;
|
||||
/* 0x78 */ ALOscUpdate updateOsc;
|
||||
/* 0x7C */ ALOscStop stopOsc;
|
||||
} ALCSPlayer_Custom;
|
||||
|
||||
/* Maintain backwards compatibility with old routine names. */
|
||||
#define alSeqpSetProgram alSeqpSetChlProgram
|
||||
#define alSeqpGetProgram alSeqpGetChlProgram
|
||||
#define alSeqpSetFXMix alSeqpSetChlFXMix
|
||||
#define alSeqpGetFXMix alSeqpGetChlFXMix
|
||||
#define alSeqpSetPan alSeqpSetChlPan
|
||||
#define alSeqpGetPan alSeqpGetChlPan
|
||||
#define alSeqpSetChannelPriority alSeqpSetChlPriority
|
||||
#define alSeqpGetChannelPriority alSeqpGetChlPriority
|
||||
/*
|
||||
* Compressed Sequence Player routines
|
||||
*/
|
||||
void alCSPNew(ALCSPlayer *seqp, ALSeqpConfig *config);
|
||||
void alCSPDelete(ALCSPlayer *seqp);
|
||||
void alCSPSetSeq(ALCSPlayer *seqp, ALCSeq *seq);
|
||||
ALCSeq *alCSPGetSeq(ALCSPlayer *seqp);
|
||||
void alCSPPlay(ALCSPlayer *seqp);
|
||||
void alCSPStop(ALCSPlayer *seqp);
|
||||
s32 alCSPGetState(ALCSPlayer *seqp);
|
||||
void alCSPSetBank(ALCSPlayer *seqp, ALBank *b);
|
||||
void alCSPSetTempo(ALCSPlayer *seqp, s32 tempo);
|
||||
s32 alCSPGetTempo(ALCSPlayer *seqp);
|
||||
s16 alCSPGetVol(ALCSPlayer *seqp);
|
||||
void alCSPSetVol(ALCSPlayer *seqp, s16 vol);
|
||||
|
||||
void alCSPSetChlProgram(ALCSPlayer *seqp, u8 chan, u8 prog);
|
||||
s32 alCSPGetChlProgram(ALCSPlayer *seqp, u8 chan);
|
||||
void alCSPSetChlFXMix(ALCSPlayer *seqp, u8 chan, u8 fxmix);
|
||||
u8 alCSPGetChlFXMix(ALCSPlayer *seqp, u8 chan);
|
||||
void alCSPSetChlPan(ALCSPlayer *seqp, u8 chan, ALPan pan);
|
||||
ALPan alCSPGetChlPan(ALCSPlayer *seqp, u8 chan);
|
||||
void alCSPSetChlVol(ALCSPlayer *seqp, u8 chan, u8 vol);
|
||||
u8 alCSPGetChlVol(ALCSPlayer *seqp, u8 chan);
|
||||
void alCSPSetChlPriority(ALCSPlayer *seqp, u8 chan, u8 priority);
|
||||
u8 alCSPGetChlPriority(ALCSPlayer *seqp, u8 chan);
|
||||
void alCSPSendMidi(ALCSPlayer *seqp, s32 ticks, u8 status,
|
||||
u8 byte1, u8 byte2);
|
||||
|
||||
/*
|
||||
* Sequence data representation routines
|
||||
*/
|
||||
void alSeqNew(ALSeq *seq, u8 *ptr, s32 len);
|
||||
void alSeqNextEvent(ALSeq *seq, ALEvent *event);
|
||||
s32 alSeqGetTicks(ALSeq *seq);
|
||||
f32 alSeqTicksToSec(ALSeq *seq, s32 ticks, u32 tempo);
|
||||
u32 alSeqSecToTicks(ALSeq *seq, f32 sec, u32 tempo);
|
||||
void alSeqNewMarker(ALSeq *seq, ALSeqMarker *m, u32 ticks);
|
||||
void alSeqSetLoc(ALSeq *seq, ALSeqMarker *marker);
|
||||
void alSeqGetLoc(ALSeq *seq, ALSeqMarker *marker);
|
||||
/*
|
||||
* Compact Sequence data representation routines
|
||||
*/
|
||||
void alCSeqNew(ALCSeq *seq, u8 *ptr);
|
||||
void alCSeqNextEvent(ALCSeq *seq,ALEvent *evt);
|
||||
s32 alCSeqGetTicks(ALCSeq *seq);
|
||||
f32 alCSeqTicksToSec(ALCSeq *seq, s32 ticks, u32 tempo);
|
||||
u32 alCSeqSecToTicks(ALCSeq *seq, f32 sec, u32 tempo);
|
||||
void alCSeqNewMarker(ALCSeq *seq, ALCSeqMarker *m, u32 ticks);
|
||||
void alCSeqSetLoc(ALCSeq *seq, ALCSeqMarker *marker);
|
||||
void alCSeqGetLoc(ALCSeq *seq, ALCSeqMarker *marker);
|
||||
|
||||
/*
|
||||
* Sequence Player routines
|
||||
*/
|
||||
f32 alCents2Ratio(s32 cents);
|
||||
|
||||
void alSeqpNew(ALSeqPlayer *seqp, ALSeqpConfig *config);
|
||||
void alSeqpDelete(ALSeqPlayer *seqp);
|
||||
void alSeqpSetSeq(ALSeqPlayer *seqp, ALSeq *seq);
|
||||
ALSeq *alSeqpGetSeq(ALSeqPlayer *seqp);
|
||||
void alSeqpPlay(ALSeqPlayer *seqp);
|
||||
void alSeqpStop(ALSeqPlayer *seqp);
|
||||
s32 alSeqpGetState(ALSeqPlayer *seqp);
|
||||
void alSeqpSetBank(ALSeqPlayer *seqp, ALBank *b);
|
||||
void alSeqpSetTempo(ALSeqPlayer *seqp, s32 tempo);
|
||||
s32 alSeqpGetTempo(ALSeqPlayer *seqp);
|
||||
s16 alSeqpGetVol(ALSeqPlayer *seqp); /* Master volume control */
|
||||
void alSeqpSetVol(ALSeqPlayer *seqp, s16 vol);
|
||||
void alSeqpLoop(ALSeqPlayer *seqp, ALSeqMarker *start, ALSeqMarker *end, s32 count);
|
||||
|
||||
void alSeqpSetChlProgram(ALSeqPlayer *seqp, u8 chan, u8 prog);
|
||||
s32 alSeqpGetChlProgram(ALSeqPlayer *seqp, u8 chan);
|
||||
void alSeqpSetChlFXMix(ALSeqPlayer *seqp, u8 chan, u8 fxmix);
|
||||
u8 alSeqpGetChlFXMix(ALSeqPlayer *seqp, u8 chan);
|
||||
void alSeqpSetChlVol(ALSeqPlayer *seqp, u8 chan, u8 vol);
|
||||
u8 alSeqpGetChlVol(ALSeqPlayer *seqp, u8 chan);
|
||||
void alSeqpSetChlPan(ALSeqPlayer *seqp, u8 chan, ALPan pan);
|
||||
ALPan alSeqpGetChlPan(ALSeqPlayer *seqp, u8 chan);
|
||||
void alSeqpSetChlPriority(ALSeqPlayer *seqp, u8 chan, u8 priority);
|
||||
u8 alSeqpGetChlPriority(ALSeqPlayer *seqp, u8 chan);
|
||||
void alSeqpSendMidi(ALSeqPlayer *seqp, s32 ticks, u8 status, u8 byte1, u8 byte2);
|
||||
|
||||
/* Maintain backwards compatibility with old routine names. */
|
||||
#define alCSPSetProgram alCSPSetChlProgram
|
||||
@@ -790,7 +909,6 @@ typedef struct {
|
||||
#define alCSPGetChannelPriority alCSPGetChlPriority
|
||||
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* Sound Player stuff
|
||||
***********************************************************************/
|
||||
|
||||
@@ -296,7 +296,20 @@ typedef struct PVoice_s {
|
||||
ALResampler resampler;
|
||||
ALEnvMixer envmixer;
|
||||
s32 offset;
|
||||
s32 unkDC;
|
||||
u8 unkDC;
|
||||
} PVoice;
|
||||
|
||||
/*
|
||||
* prototypes for private driver functions
|
||||
*/
|
||||
ALParam *__allocParam(void);
|
||||
void __freeParam(ALParam *param);
|
||||
void __freePVoices(ALSynth *drvr, PVoice *pvoice);
|
||||
void _collectPVoices(ALSynth *drvr);
|
||||
|
||||
s32 __timeToSamples(ALSynth *ALSynth, s32 micros);
|
||||
ALMicroTime _samplesToTime(ALSynth *synth, s32 samples);
|
||||
|
||||
void _init_lpfilter(ALLowPass *lp);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
/************************************************************************
|
||||
Copyright (C) 1998,1999 NINTENDO Co,Ltd,
|
||||
Copyright (C) 1998,1999 MONEGI CORPORATION,
|
||||
All Rights Reserved
|
||||
This program is a trade secret of NINTENDO Co,Ltd and MONEGI Corp.
|
||||
and it is not to be reproduced, published, disclosed to others, copied,
|
||||
adapted, distributed, or displayed without the prior authorization of
|
||||
NINTENDO Co,Ltd. and MONEGI Corp. Licensee agrees to attach or embed
|
||||
this Notice on all copies of the program, including partial copies or
|
||||
modified versions thereof.
|
||||
*************************************************************************/
|
||||
/************************************************************************
|
||||
$Date: 1999/07/06 13:21:13 $
|
||||
$Revision: 1.1 $
|
||||
$Author: doseki $
|
||||
************************************************************************/
|
||||
|
||||
#ifndef __ASM_H__
|
||||
#define __ASM_H__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define _MIPS_ISA_MIPS1 1 /* R2/3K */
|
||||
#define _MIPS_ISA_MIPS2 2 /* R4K/6K */
|
||||
#define _MIPS_ISA_MIPS3 3 /* R4K */
|
||||
#define _MIPS_ISA_MIPS4 4 /* TFP */
|
||||
|
||||
#define _MIPS_SIM_ABI32 1 /* MIPS MSIG calling convention */
|
||||
#define _MIPS_SIM_NABI32 2 /* MIPS new 32-bit abi */
|
||||
/* NABI32 is 64bit calling convention but 32bit type sizes) */
|
||||
#define _MIPS_SIM_ABI64 3 /* MIPS 64 calling convention */
|
||||
|
||||
#define LEAF(x) \
|
||||
.globl x; \
|
||||
.ent x,0; \
|
||||
x:; \
|
||||
.frame sp,0,ra
|
||||
|
||||
#define XLEAF(x) \
|
||||
.global x;
|
||||
|
||||
#define END(proc) \
|
||||
.end proc
|
||||
|
||||
#define ABS(x, y) \
|
||||
.globl x; \
|
||||
x = y
|
||||
|
||||
#define EXPORT(x) \
|
||||
.globl x; \
|
||||
x:
|
||||
/*
|
||||
#define WEAK(x, y) \
|
||||
.weak x; \
|
||||
.set x,y;
|
||||
*/
|
||||
|
||||
#define WEAK(x, y)
|
||||
|
||||
#define STAY1(stmnt) .set noreorder; stmnt; .set reorder;
|
||||
#define STAY2(stmnt, arg1) .set noreorder; stmnt, arg1; .set reorder;
|
||||
#define STAY3(stmnt, arg1, arg2) .set noreorder; stmnt, arg1, arg2; .set reorder;
|
||||
#define NOP .set noreorder; nop; .set reorder;
|
||||
#define CACHE(op, reg) .set noreorder; cache op, reg; .set reorder;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* !__ASM_H__ */
|
||||
@@ -0,0 +1,187 @@
|
||||
/************************************************************************
|
||||
Copyright (C) 1998,1999 NINTENDO Co,Ltd,
|
||||
Copyright (C) 1998,1999 MONEGI CORPORATION,
|
||||
All Rights Reserved
|
||||
This program is a trade secret of NINTENDO Co,Ltd and MONEGI Corp.
|
||||
and it is not to be reproduced, published, disclosed to others, copied,
|
||||
adapted, distributed, or displayed without the prior authorization of
|
||||
NINTENDO Co,Ltd. and MONEGI Corp. Licensee agrees to attach or embed
|
||||
this Notice on all copies of the program, including partial copies or
|
||||
modified versions thereof.
|
||||
*************************************************************************/
|
||||
/************************************************************************
|
||||
$Date: 1999/07/06 13:21:13 $
|
||||
$Revision: 1.1 $
|
||||
$Author: doseki $
|
||||
************************************************************************/
|
||||
|
||||
#ifndef __REGDEF_H__
|
||||
#define __REGDEF_H__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifdef mips
|
||||
|
||||
#if (_MIPS_SIM == _MIPS_SIM_ABI32)
|
||||
#define zero $0
|
||||
#define AT $at
|
||||
#define v0 $2
|
||||
#define v1 $3
|
||||
#define a0 $4
|
||||
#define a1 $5
|
||||
#define a2 $6
|
||||
#define a3 $7
|
||||
#define t0 $8
|
||||
#define t1 $9
|
||||
#define t2 $10
|
||||
#define t3 $11
|
||||
#define t4 $12
|
||||
#define ta0 $12
|
||||
#define t5 $13
|
||||
#define ta1 $13
|
||||
#define t6 $14
|
||||
#define ta2 $14
|
||||
#define t7 $15
|
||||
#define ta3 $15
|
||||
#define s0 $16
|
||||
#define s1 $17
|
||||
#define s2 $18
|
||||
#define s3 $19
|
||||
#define s4 $20
|
||||
#define s5 $21
|
||||
#define s6 $22
|
||||
#define s7 $23
|
||||
#define t8 $24
|
||||
#define t9 $25
|
||||
#define jp $25
|
||||
#define k0 $26
|
||||
#define k1 $27
|
||||
#define gp $28
|
||||
#define sp $29
|
||||
#define fp $30
|
||||
#define s8 $30
|
||||
#define ra $31
|
||||
#endif
|
||||
|
||||
#if (_MIPS_SIM == _MIPS_SIM_ABI64)
|
||||
#define zero $0
|
||||
#define AT $at
|
||||
#define v0 $2
|
||||
#define v1 $3
|
||||
#define a0 $4
|
||||
#define a1 $5
|
||||
#define a2 $6
|
||||
#define a3 $7
|
||||
#define a4 $8
|
||||
#define ta0 $8
|
||||
#define a5 $9
|
||||
#define ta1 $9
|
||||
#define a6 $10
|
||||
#define ta2 $10
|
||||
#define a7 $11
|
||||
#define ta3 $11
|
||||
#define t0 $12
|
||||
#define t1 $13
|
||||
#define t2 $14
|
||||
#define t3 $15
|
||||
#define s0 $16
|
||||
#define s1 $17
|
||||
#define s2 $18
|
||||
#define s3 $19
|
||||
#define s4 $20
|
||||
#define s5 $21
|
||||
#define s6 $22
|
||||
#define s7 $23
|
||||
#define t8 $24
|
||||
#define t9 $25
|
||||
#define jp $25
|
||||
#define k0 $26
|
||||
#define k1 $27
|
||||
#define gp $28
|
||||
#define sp $29
|
||||
#define fp $30
|
||||
#define s8 $30
|
||||
#define ra $31
|
||||
#endif
|
||||
|
||||
#if (_MIPS_SIM == _MIPS_SIM_ABI32)
|
||||
#define fv0 $f0
|
||||
#define fv0f $f1
|
||||
#define fv1 $f2
|
||||
#define fv1f $f3
|
||||
#define fa0 $f12
|
||||
#define fa0f $f13
|
||||
#define fa1 $f14
|
||||
#define fa1f $f15
|
||||
#define ft0 $f4
|
||||
#define ft0f $f5
|
||||
#define ft1 $f6
|
||||
#define ft1f $f7
|
||||
#define ft2 $f8
|
||||
#define ft2f $f9
|
||||
#define ft3 $f10
|
||||
#define ft3f $f11
|
||||
#define ft4 $f16
|
||||
#define ft4f $f17
|
||||
#define ft5 $f18
|
||||
#define ft5f $f19
|
||||
#define fs0 $f20
|
||||
#define fs0f $f21
|
||||
#define fs1 $f22
|
||||
#define fs1f $f23
|
||||
#define fs2 $f24
|
||||
#define fs2f $f25
|
||||
#define fs3 $f26
|
||||
#define fs3f $f27
|
||||
#define fs4 $f28
|
||||
#define fs4f $f29
|
||||
#define fs5 $f30
|
||||
#define fs5f $f31
|
||||
#endif
|
||||
|
||||
#if (_MIPS_SIM == _MIPS_SIM_ABI64)
|
||||
#define fv0 $f0
|
||||
#define fv1 $f2
|
||||
#define fa0 $f12
|
||||
#define fa1 $f13
|
||||
#define fa2 $f14
|
||||
#define fa3 $f15
|
||||
#define fa4 $f16
|
||||
#define fa5 $f17
|
||||
#define fa6 $f18
|
||||
#define fa7 $f19
|
||||
#define ft0 $f4
|
||||
#define ft1 $f5
|
||||
#define ft2 $f6
|
||||
#define ft3 $f7
|
||||
#define ft4 $f8
|
||||
#define ft5 $f9
|
||||
#define ft6 $f10
|
||||
#define ft7 $f11
|
||||
#define ft8 $f20
|
||||
#define ft9 $f21
|
||||
#define ft10 $f22
|
||||
#define ft11 $f23
|
||||
#define ft12 $f1
|
||||
#define ft13 $f3
|
||||
#define fs0 $f24
|
||||
#define fs1 $f25
|
||||
#define fs2 $f26
|
||||
#define fs3 $f27
|
||||
#define fs4 $f28
|
||||
#define fs5 $f29
|
||||
#define fs6 $f30
|
||||
#define fs7 $f31
|
||||
#endif
|
||||
|
||||
#define fcr31 $31
|
||||
|
||||
#endif /* mips */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* !__REGDEF_H__ */
|
||||
@@ -83,8 +83,8 @@ glabel __osDispatchThread
|
||||
/* 0D4164 800D3564 001AD402 */ srl $k0, $k0, 0x10
|
||||
/* 0D4168 800D3568 037AD824 */ and $k1, $k1, $k0
|
||||
/* 0D416C 800D356C 001BD840 */ sll $k1, $k1, 1
|
||||
/* 0D4170 800D3570 3C1A800F */ lui $k0, %hi(D_800E94D0) # $k0, 0x800f
|
||||
/* 0D4174 800D3574 275A94D0 */ addiu $k0, %lo(D_800E94D0) # addiu $k0, $k0, -0x6b30
|
||||
/* 0D4170 800D3570 3C1A800F */ lui $k0, %hi(__osRcpImTable) # $k0, 0x800f
|
||||
/* 0D4174 800D3574 275A94D0 */ addiu $k0, %lo(__osRcpImTable) # addiu $k0, $k0, -0x6b30
|
||||
/* 0D4178 800D3578 037AD821 */ addu $k1, $k1, $k0
|
||||
/* 0D417C 800D357C 977B0000 */ lhu $k1, ($k1)
|
||||
/* 0D4180 800D3580 3C1AA430 */ lui $k0, %hi(MI_INTR_MASK_REG) # $k0, 0xa430
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
glabel _bnkfPatchBank
|
||||
/* 0C81B0 800C75B0 908E0003 */ lbu $t6, 3($a0)
|
||||
/* 0C81B4 800C75B4 15C00037 */ bnez $t6, .L800C7694
|
||||
/* 0C81B8 800C75B8 00000000 */ nop
|
||||
/* 0C81BC 800C75BC 848F000E */ lh $t7, 0xe($a0)
|
||||
/* 0C81C0 800C75C0 24090001 */ li $t1, 1
|
||||
/* 0C81C4 800C75C4 A0890003 */ sb $t1, 3($a0)
|
||||
/* 0C81C8 800C75C8 19E00032 */ blez $t7, .L800C7694
|
||||
/* 0C81CC 800C75CC 00001025 */ move $v0, $zero
|
||||
/* 0C81D0 800C75D0 00801825 */ move $v1, $a0
|
||||
/* 0C81D4 800C75D4 240A0001 */ li $t2, 1
|
||||
/* 0C81D8 800C75D8 8C780010 */ lw $t8, 0x10($v1)
|
||||
.L800C75DC:
|
||||
/* 0C81DC 800C75DC 0305C821 */ addu $t9, $t8, $a1
|
||||
/* 0C81E0 800C75E0 AC790010 */ sw $t9, 0x10($v1)
|
||||
/* 0C81E4 800C75E4 932E000E */ lbu $t6, 0xe($t9)
|
||||
/* 0C81E8 800C75E8 03203025 */ move $a2, $t9
|
||||
/* 0C81EC 800C75EC 55C00024 */ bnezl $t6, .L800C7680
|
||||
/* 0C81F0 800C75F0 8498000E */ lh $t8, 0xe($a0)
|
||||
/* 0C81F4 800C75F4 8F2F0000 */ lw $t7, ($t9)
|
||||
/* 0C81F8 800C75F8 A329000E */ sb $t1, 0xe($t9)
|
||||
/* 0C81FC 800C75FC 01E5C021 */ addu $t8, $t7, $a1
|
||||
/* 0C8200 800C7600 AF380000 */ sw $t8, ($t9)
|
||||
/* 0C8204 800C7604 8F390004 */ lw $t9, 4($t9)
|
||||
/* 0C8208 800C7608 8CCF0008 */ lw $t7, 8($a2)
|
||||
/* 0C820C 800C760C 03257021 */ addu $t6, $t9, $a1
|
||||
/* 0C8210 800C7610 01E5C021 */ addu $t8, $t7, $a1
|
||||
/* 0C8214 800C7614 ACCE0004 */ sw $t6, 4($a2)
|
||||
/* 0C8218 800C7618 ACD80008 */ sw $t8, 8($a2)
|
||||
/* 0C821C 800C761C 93190009 */ lbu $t9, 9($t8)
|
||||
/* 0C8220 800C7620 03004025 */ move $t0, $t8
|
||||
/* 0C8224 800C7624 57200016 */ bnezl $t9, .L800C7680
|
||||
/* 0C8228 800C7628 8498000E */ lh $t8, 0xe($a0)
|
||||
/* 0C822C 800C762C 8F0E0000 */ lw $t6, ($t8)
|
||||
/* 0C8230 800C7630 93060008 */ lbu $a2, 8($t8)
|
||||
/* 0C8234 800C7634 A3090009 */ sb $t1, 9($t8)
|
||||
/* 0C8238 800C7638 01C77821 */ addu $t7, $t6, $a3
|
||||
/* 0C823C 800C763C 14C00009 */ bnez $a2, .L800C7664
|
||||
/* 0C8240 800C7640 AF0F0000 */ sw $t7, ($t8)
|
||||
/* 0C8244 800C7644 8F180010 */ lw $t8, 0x10($t8)
|
||||
/* 0C8248 800C7648 8D06000C */ lw $a2, 0xc($t0)
|
||||
/* 0C824C 800C764C 0305C821 */ addu $t9, $t8, $a1
|
||||
/* 0C8250 800C7650 10C0000A */ beqz $a2, .L800C767C
|
||||
/* 0C8254 800C7654 AD190010 */ sw $t9, 0x10($t0)
|
||||
/* 0C8258 800C7658 00C57021 */ addu $t6, $a2, $a1
|
||||
/* 0C825C 800C765C 10000007 */ b .L800C767C
|
||||
/* 0C8260 800C7660 AD0E000C */ sw $t6, 0xc($t0)
|
||||
.L800C7664:
|
||||
/* 0C8264 800C7664 55460006 */ bnel $t2, $a2, .L800C7680
|
||||
/* 0C8268 800C7668 8498000E */ lh $t8, 0xe($a0)
|
||||
/* 0C826C 800C766C 8D06000C */ lw $a2, 0xc($t0)
|
||||
/* 0C8270 800C7670 10C00002 */ beqz $a2, .L800C767C
|
||||
/* 0C8274 800C7674 00C57821 */ addu $t7, $a2, $a1
|
||||
/* 0C8278 800C7678 AD0F000C */ sw $t7, 0xc($t0)
|
||||
.L800C767C:
|
||||
/* 0C827C 800C767C 8498000E */ lh $t8, 0xe($a0)
|
||||
.L800C7680:
|
||||
/* 0C8280 800C7680 24420001 */ addiu $v0, $v0, 1
|
||||
/* 0C8284 800C7684 24630004 */ addiu $v1, $v1, 4
|
||||
/* 0C8288 800C7688 0058082A */ slt $at, $v0, $t8
|
||||
/* 0C828C 800C768C 5420FFD3 */ bnezl $at, .L800C75DC
|
||||
/* 0C8290 800C7690 8C780010 */ lw $t8, 0x10($v1)
|
||||
.L800C7694:
|
||||
/* 0C8294 800C7694 03E00008 */ jr $ra
|
||||
/* 0C8298 800C7698 00000000 */ nop
|
||||
|
||||
/* 0C829C 800C769C 03E00008 */ jr $ra
|
||||
/* 0C82A0 800C76A0 00000000 */ nop
|
||||
|
||||
@@ -1,74 +0,0 @@
|
||||
glabel alBnkfNew
|
||||
/* 0C82A4 800C76A4 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* 0C82A8 800C76A8 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* 0C82AC 800C76AC AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 0C82B0 800C76B0 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 0C82B4 800C76B4 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 0C82B8 800C76B8 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 0C82BC 800C76BC AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 0C82C0 800C76C0 848E0000 */ lh $t6, ($a0)
|
||||
/* 0C82C4 800C76C4 24014231 */ li $at, 16945
|
||||
/* 0C82C8 800C76C8 00808025 */ move $s0, $a0
|
||||
/* 0C82CC 800C76CC 15C1002E */ bne $t6, $at, .L800C7788
|
||||
/* 0C82D0 800C76D0 00A08825 */ move $s1, $a1
|
||||
/* 0C82D4 800C76D4 848F0002 */ lh $t7, 2($a0)
|
||||
/* 0C82D8 800C76D8 00009825 */ move $s3, $zero
|
||||
/* 0C82DC 800C76DC 00809025 */ move $s2, $a0
|
||||
/* 0C82E0 800C76E0 19E00029 */ blez $t7, .L800C7788
|
||||
/* 0C82E4 800C76E4 24140001 */ li $s4, 1
|
||||
/* 0C82E8 800C76E8 8E580004 */ lw $t8, 4($s2)
|
||||
.L800C76EC:
|
||||
/* 0C82EC 800C76EC 0310C821 */ addu $t9, $t8, $s0
|
||||
/* 0C82F0 800C76F0 1320001F */ beqz $t9, .L800C7770
|
||||
/* 0C82F4 800C76F4 AE590004 */ sw $t9, 4($s2)
|
||||
/* 0C82F8 800C76F8 932E0002 */ lbu $t6, 2($t9)
|
||||
/* 0C82FC 800C76FC 03206825 */ move $t5, $t9
|
||||
/* 0C8300 800C7700 55C0001C */ bnezl $t6, .L800C7774
|
||||
/* 0C8304 800C7704 86180002 */ lh $t8, 2($s0)
|
||||
/* 0C8308 800C7708 8F220008 */ lw $v0, 8($t9)
|
||||
/* 0C830C 800C770C A3340002 */ sb $s4, 2($t9)
|
||||
/* 0C8310 800C7710 00006025 */ move $t4, $zero
|
||||
/* 0C8314 800C7714 10400005 */ beqz $v0, .L800C772C
|
||||
/* 0C8318 800C7718 00502021 */ addu $a0, $v0, $s0
|
||||
/* 0C831C 800C771C AF240008 */ sw $a0, 8($t9)
|
||||
/* 0C8320 800C7720 02002825 */ move $a1, $s0
|
||||
/* 0C8324 800C7724 0C031D6C */ jal _bnkfPatchBank
|
||||
/* 0C8328 800C7728 02203825 */ move $a3, $s1
|
||||
.L800C772C:
|
||||
/* 0C832C 800C772C 85B80000 */ lh $t8, ($t5)
|
||||
/* 0C8330 800C7730 01A05825 */ move $t3, $t5
|
||||
/* 0C8334 800C7734 5B00000F */ blezl $t8, .L800C7774
|
||||
/* 0C8338 800C7738 86180002 */ lh $t8, 2($s0)
|
||||
/* 0C833C 800C773C 8D79000C */ lw $t9, 0xc($t3)
|
||||
.L800C7740:
|
||||
/* 0C8340 800C7740 02002825 */ move $a1, $s0
|
||||
/* 0C8344 800C7744 03302021 */ addu $a0, $t9, $s0
|
||||
/* 0C8348 800C7748 10800003 */ beqz $a0, .L800C7758
|
||||
/* 0C834C 800C774C AD64000C */ sw $a0, 0xc($t3)
|
||||
/* 0C8350 800C7750 0C031D6C */ jal _bnkfPatchBank
|
||||
/* 0C8354 800C7754 02203825 */ move $a3, $s1
|
||||
.L800C7758:
|
||||
/* 0C8358 800C7758 85AF0000 */ lh $t7, ($t5)
|
||||
/* 0C835C 800C775C 258C0001 */ addiu $t4, $t4, 1
|
||||
/* 0C8360 800C7760 256B0004 */ addiu $t3, $t3, 4
|
||||
/* 0C8364 800C7764 018F082A */ slt $at, $t4, $t7
|
||||
/* 0C8368 800C7768 5420FFF5 */ bnezl $at, .L800C7740
|
||||
/* 0C836C 800C776C 8D79000C */ lw $t9, 0xc($t3)
|
||||
.L800C7770:
|
||||
/* 0C8370 800C7770 86180002 */ lh $t8, 2($s0)
|
||||
.L800C7774:
|
||||
/* 0C8374 800C7774 26730001 */ addiu $s3, $s3, 1
|
||||
/* 0C8378 800C7778 26520004 */ addiu $s2, $s2, 4
|
||||
/* 0C837C 800C777C 0278082A */ slt $at, $s3, $t8
|
||||
/* 0C8380 800C7780 5420FFDA */ bnezl $at, .L800C76EC
|
||||
/* 0C8384 800C7784 8E580004 */ lw $t8, 4($s2)
|
||||
.L800C7788:
|
||||
/* 0C8388 800C7788 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* 0C838C 800C778C 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 0C8390 800C7790 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 0C8394 800C7794 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 0C8398 800C7798 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 0C839C 800C779C 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 0C83A0 800C77A0 03E00008 */ jr $ra
|
||||
/* 0C83A4 800C77A4 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
glabel alSeqFileNew
|
||||
/* 0C83A8 800C77A8 848E0002 */ lh $t6, 2($a0)
|
||||
/* 0C83AC 800C77AC 00001025 */ move $v0, $zero
|
||||
/* 0C83B0 800C77B0 00801825 */ move $v1, $a0
|
||||
/* 0C83B4 800C77B4 19C0000A */ blez $t6, .L800C77E0
|
||||
/* 0C83B8 800C77B8 00000000 */ nop
|
||||
/* 0C83BC 800C77BC 8C6F0004 */ lw $t7, 4($v1)
|
||||
.L800C77C0:
|
||||
/* 0C83C0 800C77C0 24420001 */ addiu $v0, $v0, 1
|
||||
/* 0C83C4 800C77C4 24630008 */ addiu $v1, $v1, 8
|
||||
/* 0C83C8 800C77C8 01E5C021 */ addu $t8, $t7, $a1
|
||||
/* 0C83CC 800C77CC AC78FFFC */ sw $t8, -4($v1)
|
||||
/* 0C83D0 800C77D0 84990002 */ lh $t9, 2($a0)
|
||||
/* 0C83D4 800C77D4 0059082A */ slt $at, $v0, $t9
|
||||
/* 0C83D8 800C77D8 5420FFF9 */ bnezl $at, .L800C77C0
|
||||
/* 0C83DC 800C77DC 8C6F0004 */ lw $t7, 4($v1)
|
||||
.L800C77E0:
|
||||
/* 0C83E0 800C77E0 03E00008 */ jr $ra
|
||||
/* 0C83E4 800C77E4 00000000 */ nop
|
||||
|
||||
/* 0C83E8 800C77E8 00000000 */ nop
|
||||
/* 0C83EC 800C77EC 00000000 */ nop
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
glabel alSynAllocFX
|
||||
/* 066460 80065860 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 066464 80065864 AFA50024 */ sw $a1, 0x24($sp)
|
||||
/* 066468 80065868 AFA60028 */ sw $a2, 0x28($sp)
|
||||
/* 06646C 8006586C 87A60026 */ lh $a2, 0x26($sp)
|
||||
/* 066470 80065870 AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* 066474 80065874 00068880 */ sll $s1, $a2, 2
|
||||
/* 066478 80065878 02268821 */ addu $s1, $s1, $a2
|
||||
/* 06647C 8006587C AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 066480 80065880 AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* 066484 80065884 00118880 */ sll $s1, $s1, 2
|
||||
/* 066488 80065888 8C8E0034 */ lw $t6, 0x34($a0)
|
||||
/* 06648C 8006588C 02268823 */ subu $s1, $s1, $a2
|
||||
/* 066490 80065890 00808025 */ move $s0, $a0
|
||||
/* 066494 80065894 00118880 */ sll $s1, $s1, 2
|
||||
/* 066498 80065898 8FA50028 */ lw $a1, 0x28($sp)
|
||||
/* 06649C 8006589C 01D12021 */ addu $a0, $t6, $s1
|
||||
/* 0664A0 800658A0 0C019282 */ jal alFxNew
|
||||
/* 0664A4 800658A4 24840020 */ addiu $a0, $a0, 0x20
|
||||
/* 0664A8 800658A8 8E0F0034 */ lw $t7, 0x34($s0)
|
||||
/* 0664AC 800658AC 24050001 */ li $a1, 1
|
||||
/* 0664B0 800658B0 01F13021 */ addu $a2, $t7, $s1
|
||||
/* 0664B4 800658B4 0C018FE5 */ jal alFxParam
|
||||
/* 0664B8 800658B8 24C40020 */ addiu $a0, $a2, 0x20
|
||||
/* 0664BC 800658BC 8E180034 */ lw $t8, 0x34($s0)
|
||||
/* 0664C0 800658C0 8E040030 */ lw $a0, 0x30($s0)
|
||||
/* 0664C4 800658C4 03113021 */ addu $a2, $t8, $s1
|
||||
/* 0664C8 800658C8 24C60020 */ addiu $a2, $a2, 0x20
|
||||
/* 0664CC 800658CC 0C0330E4 */ jal alMainBusParam
|
||||
/* 0664D0 800658D0 24050002 */ li $a1, 2
|
||||
/* 0664D4 800658D4 8E190034 */ lw $t9, 0x34($s0)
|
||||
/* 0664D8 800658D8 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 0664DC 800658DC 03311021 */ addu $v0, $t9, $s1
|
||||
/* 0664E0 800658E0 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* 0664E4 800658E4 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* 0664E8 800658E8 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 0664EC 800658EC 03E00008 */ jr $ra
|
||||
/* 0664F0 800658F0 24420020 */ addiu $v0, $v0, 0x20
|
||||
|
||||
/* 0664F4 800658F4 00000000 */ nop
|
||||
/* 0664F8 800658F8 00000000 */ nop
|
||||
/* 0664FC 800658FC 00000000 */ nop
|
||||
|
||||
@@ -1,409 +0,0 @@
|
||||
.late_rodata
|
||||
glabel jpt_800E6C30
|
||||
.word L8006247C, L80062978, L800626F8, L80062978, L80062978, L800624AC, L800624FC, L8006270C, L80062978, L8006248C, L80062720, L80062978, L80062924, L80062944, L80062968, L80062788, L800627AC, L80062880, L80062978, L80062978, L80062978, L800626F8, L80062564, L80062668
|
||||
|
||||
.text
|
||||
glabel __CSPVoiceHandler
|
||||
/* 063008 80062408 27BDFF80 */ addiu $sp, $sp, -0x80
|
||||
/* 06300C 8006240C AFBE0038 */ sw $fp, 0x38($sp)
|
||||
/* 063010 80062410 AFB70034 */ sw $s7, 0x34($sp)
|
||||
/* 063014 80062414 AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* 063018 80062418 AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* 06301C 8006241C AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 063020 80062420 248E0038 */ addiu $t6, $a0, 0x38
|
||||
/* 063024 80062424 00809025 */ move $s2, $a0
|
||||
/* 063028 80062428 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* 06302C 8006242C AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 063030 80062430 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 063034 80062434 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 063038 80062438 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 06303C 8006243C AFAE0048 */ sw $t6, 0x48($sp)
|
||||
/* 063040 80062440 24150014 */ li $s5, 20
|
||||
/* 063044 80062444 2416007F */ li $s6, 127
|
||||
/* 063048 80062448 24970048 */ addiu $s7, $a0, 0x48
|
||||
/* 06304C 8006244C 27BE006C */ addiu $fp, $sp, 0x6c
|
||||
.L80062450:
|
||||
/* 063050 80062450 964F0038 */ lhu $t7, 0x38($s2)
|
||||
/* 063054 80062454 00000000 */ nop
|
||||
/* 063058 80062458 2DE10018 */ sltiu $at, $t7, 0x18
|
||||
/* 06305C 8006245C 10200146 */ beqz $at, .L80062978
|
||||
/* 063060 80062460 000F7880 */ sll $t7, $t7, 2
|
||||
/* 063064 80062464 3C01800E */ lui $at, %hi(jpt_800E6C30) # $at, 0x800e
|
||||
/* 063068 80062468 002F0821 */ addu $at, $at, $t7
|
||||
/* 06306C 8006246C 8C2F6C30 */ lw $t7, %lo(jpt_800E6C30)($at)
|
||||
/* 063070 80062470 00000000 */ nop
|
||||
/* 063074 80062474 01E00008 */ jr $t7
|
||||
/* 063078 80062478 00000000 */ nop
|
||||
glabel L8006247C
|
||||
/* 06307C 8006247C 0C018A8F */ jal __CSPHandleNextSeqEvent
|
||||
/* 063080 80062480 02402025 */ move $a0, $s2
|
||||
/* 063084 80062484 1000013D */ b .L8006297C
|
||||
/* 063088 80062488 8FA50048 */ lw $a1, 0x48($sp)
|
||||
glabel L8006248C
|
||||
/* 06308C 8006248C 24180009 */ li $t8, 9
|
||||
/* 063090 80062490 A7B8006C */ sh $t8, 0x6c($sp)
|
||||
/* 063094 80062494 8E46005C */ lw $a2, 0x5c($s2)
|
||||
/* 063098 80062498 02E02025 */ move $a0, $s7
|
||||
/* 06309C 8006249C 0C03246B */ jal alEvtqPostEvent
|
||||
/* 0630A0 800624A0 03C02825 */ move $a1, $fp
|
||||
/* 0630A4 800624A4 10000135 */ b .L8006297C
|
||||
/* 0630A8 800624A8 8FA50048 */ lw $a1, 0x48($sp)
|
||||
glabel L800624AC
|
||||
/* 0630AC 800624AC 8E50003C */ lw $s0, 0x3c($s2)
|
||||
/* 0630B0 800624B0 8E440014 */ lw $a0, 0x14($s2)
|
||||
/* 0630B4 800624B4 0C03262C */ jal alSynStopVoice
|
||||
/* 0630B8 800624B8 02002825 */ move $a1, $s0
|
||||
/* 0630BC 800624BC 8E440014 */ lw $a0, 0x14($s2)
|
||||
/* 0630C0 800624C0 0C03264C */ jal alSynFreeVoice
|
||||
/* 0630C4 800624C4 02002825 */ move $a1, $s0
|
||||
/* 0630C8 800624C8 8E110010 */ lw $s1, 0x10($s0)
|
||||
/* 0630CC 800624CC 02402025 */ move $a0, $s2
|
||||
/* 0630D0 800624D0 92390037 */ lbu $t9, 0x37($s1)
|
||||
/* 0630D4 800624D4 00000000 */ nop
|
||||
/* 0630D8 800624D8 13200003 */ beqz $t9, .L800624E8
|
||||
/* 0630DC 800624DC 00000000 */ nop
|
||||
/* 0630E0 800624E0 0C002BBF */ jal __seqpStopOsc
|
||||
/* 0630E4 800624E4 02202825 */ move $a1, $s1
|
||||
.L800624E8:
|
||||
/* 0630E8 800624E8 02402025 */ move $a0, $s2
|
||||
/* 0630EC 800624EC 0C0029F1 */ jal __unmapVoice
|
||||
/* 0630F0 800624F0 02002825 */ move $a1, $s0
|
||||
/* 0630F4 800624F4 10000121 */ b .L8006297C
|
||||
/* 0630F8 800624F8 8FA50048 */ lw $a1, 0x48($sp)
|
||||
glabel L800624FC
|
||||
/* 0630FC 800624FC 8E50003C */ lw $s0, 0x3c($s2)
|
||||
/* 063100 80062500 24090001 */ li $t1, 1
|
||||
/* 063104 80062504 8E110010 */ lw $s1, 0x10($s0)
|
||||
/* 063108 80062508 00000000 */ nop
|
||||
/* 06310C 8006250C 92280034 */ lbu $t0, 0x34($s1)
|
||||
/* 063110 80062510 02202025 */ move $a0, $s1
|
||||
/* 063114 80062514 15000002 */ bnez $t0, .L80062520
|
||||
/* 063118 80062518 00000000 */ nop
|
||||
/* 06311C 8006251C A2290034 */ sb $t1, 0x34($s1)
|
||||
.L80062520:
|
||||
/* 063120 80062520 8E530040 */ lw $s3, 0x40($s2)
|
||||
/* 063124 80062524 8E4A001C */ lw $t2, 0x1c($s2)
|
||||
/* 063128 80062528 02402825 */ move $a1, $s2
|
||||
/* 06312C 8006252C 01535821 */ addu $t3, $t2, $s3
|
||||
/* 063130 80062530 AE2B0024 */ sw $t3, 0x24($s1)
|
||||
/* 063134 80062534 924C0044 */ lbu $t4, 0x44($s2)
|
||||
/* 063138 80062538 0C002A7E */ jal __vsVol
|
||||
/* 06313C 8006253C A22C0030 */ sb $t4, 0x30($s1)
|
||||
/* 063140 80062540 00023400 */ sll $a2, $v0, 0x10
|
||||
/* 063144 80062544 00066C03 */ sra $t5, $a2, 0x10
|
||||
/* 063148 80062548 8E440014 */ lw $a0, 0x14($s2)
|
||||
/* 06314C 8006254C 01A03025 */ move $a2, $t5
|
||||
/* 063150 80062550 02002825 */ move $a1, $s0
|
||||
/* 063154 80062554 0C032594 */ jal alSynSetVol
|
||||
/* 063158 80062558 02603825 */ move $a3, $s3
|
||||
/* 06315C 8006255C 10000107 */ b .L8006297C
|
||||
/* 063160 80062560 8FA50048 */ lw $a1, 0x48($sp)
|
||||
glabel L80062564
|
||||
/* 063164 80062564 8E540040 */ lw $s4, 0x40($s2)
|
||||
/* 063168 80062568 8E590078 */ lw $t9, 0x78($s2)
|
||||
/* 06316C 8006256C 8E51003C */ lw $s1, 0x3c($s2)
|
||||
/* 063170 80062570 27A50058 */ addiu $a1, $sp, 0x58
|
||||
/* 063174 80062574 0320F809 */ jalr $t9
|
||||
/* 063178 80062578 02802025 */ move $a0, $s4
|
||||
/* 06317C 8006257C 444EF800 */ cfc1 $t6, $31
|
||||
/* 063180 80062580 240F0001 */ li $t7, 1
|
||||
/* 063184 80062584 44CFF800 */ ctc1 $t7, $31
|
||||
/* 063188 80062588 C7A40058 */ lwc1 $f4, 0x58($sp)
|
||||
/* 06318C 8006258C 00409825 */ move $s3, $v0
|
||||
/* 063190 80062590 460021A4 */ cvt.w.s $f6, $f4
|
||||
/* 063194 80062594 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000
|
||||
/* 063198 80062598 444FF800 */ cfc1 $t7, $31
|
||||
/* 06319C 8006259C 02202025 */ move $a0, $s1
|
||||
/* 0631A0 800625A0 31EF0078 */ andi $t7, $t7, 0x78
|
||||
/* 0631A4 800625A4 11E00012 */ beqz $t7, .L800625F0
|
||||
/* 0631A8 800625A8 02402825 */ move $a1, $s2
|
||||
/* 0631AC 800625AC 44813000 */ mtc1 $at, $f6
|
||||
/* 0631B0 800625B0 240F0001 */ li $t7, 1
|
||||
/* 0631B4 800625B4 46062181 */ sub.s $f6, $f4, $f6
|
||||
/* 0631B8 800625B8 3C018000 */ lui $at, 0x8000
|
||||
/* 0631BC 800625BC 44CFF800 */ ctc1 $t7, $31
|
||||
/* 0631C0 800625C0 00000000 */ nop
|
||||
/* 0631C4 800625C4 460031A4 */ cvt.w.s $f6, $f6
|
||||
/* 0631C8 800625C8 444FF800 */ cfc1 $t7, $31
|
||||
/* 0631CC 800625CC 00000000 */ nop
|
||||
/* 0631D0 800625D0 31EF0078 */ andi $t7, $t7, 0x78
|
||||
/* 0631D4 800625D4 15E00004 */ bnez $t7, .L800625E8
|
||||
/* 0631D8 800625D8 00000000 */ nop
|
||||
/* 0631DC 800625DC 440F3000 */ mfc1 $t7, $f6
|
||||
/* 0631E0 800625E0 10000007 */ b .L80062600
|
||||
/* 0631E4 800625E4 01E17825 */ or $t7, $t7, $at
|
||||
.L800625E8:
|
||||
/* 0631E8 800625E8 10000005 */ b .L80062600
|
||||
/* 0631EC 800625EC 240FFFFF */ li $t7, -1
|
||||
.L800625F0:
|
||||
/* 0631F0 800625F0 440F3000 */ mfc1 $t7, $f6
|
||||
/* 0631F4 800625F4 00000000 */ nop
|
||||
/* 0631F8 800625F8 05E0FFFB */ bltz $t7, .L800625E8
|
||||
/* 0631FC 800625FC 00000000 */ nop
|
||||
.L80062600:
|
||||
/* 063200 80062600 44CEF800 */ ctc1 $t6, $31
|
||||
/* 063204 80062604 0C002A7E */ jal __vsVol
|
||||
/* 063208 80062608 A22F0036 */ sb $t7, 0x36($s1)
|
||||
/* 06320C 8006260C 00028400 */ sll $s0, $v0, 0x10
|
||||
/* 063210 80062610 0010C403 */ sra $t8, $s0, 0x10
|
||||
/* 063214 80062614 8E45001C */ lw $a1, 0x1c($s2)
|
||||
/* 063218 80062618 03008025 */ move $s0, $t8
|
||||
/* 06321C 8006261C 0C002AA2 */ jal __vsDelta
|
||||
/* 063220 80062620 02202025 */ move $a0, $s1
|
||||
/* 063224 80062624 00103400 */ sll $a2, $s0, 0x10
|
||||
/* 063228 80062628 00064403 */ sra $t0, $a2, 0x10
|
||||
/* 06322C 8006262C 8E440014 */ lw $a0, 0x14($s2)
|
||||
/* 063230 80062630 01003025 */ move $a2, $t0
|
||||
/* 063234 80062634 26250004 */ addiu $a1, $s1, 4
|
||||
/* 063238 80062638 0C032594 */ jal alSynSetVol
|
||||
/* 06323C 8006263C 00403825 */ move $a3, $v0
|
||||
/* 063240 80062640 24090016 */ li $t1, 22
|
||||
/* 063244 80062644 A7A9006C */ sh $t1, 0x6c($sp)
|
||||
/* 063248 80062648 AFB10070 */ sw $s1, 0x70($sp)
|
||||
/* 06324C 8006264C AFB40074 */ sw $s4, 0x74($sp)
|
||||
/* 063250 80062650 02E02025 */ move $a0, $s7
|
||||
/* 063254 80062654 03C02825 */ move $a1, $fp
|
||||
/* 063258 80062658 0C03246B */ jal alEvtqPostEvent
|
||||
/* 06325C 8006265C 02603025 */ move $a2, $s3
|
||||
/* 063260 80062660 100000C6 */ b .L8006297C
|
||||
/* 063264 80062664 8FA50048 */ lw $a1, 0x48($sp)
|
||||
glabel L80062668
|
||||
/* 063268 80062668 8E540040 */ lw $s4, 0x40($s2)
|
||||
/* 06326C 8006266C 8E590078 */ lw $t9, 0x78($s2)
|
||||
/* 063270 80062670 8E51003C */ lw $s1, 0x3c($s2)
|
||||
/* 063274 80062674 92500044 */ lbu $s0, 0x44($s2)
|
||||
/* 063278 80062678 27A50058 */ addiu $a1, $sp, 0x58
|
||||
/* 06327C 8006267C 0320F809 */ jalr $t9
|
||||
/* 063280 80062680 02802025 */ move $a0, $s4
|
||||
/* 063284 80062684 02150019 */ multu $s0, $s5
|
||||
/* 063288 80062688 C7A80058 */ lwc1 $f8, 0x58($sp)
|
||||
/* 06328C 8006268C C6300028 */ lwc1 $f16, 0x28($s1)
|
||||
/* 063290 80062690 E628002C */ swc1 $f8, 0x2c($s1)
|
||||
/* 063294 80062694 C632002C */ lwc1 $f18, 0x2c($s1)
|
||||
/* 063298 80062698 8E4A0060 */ lw $t2, 0x60($s2)
|
||||
/* 06329C 8006269C 46128102 */ mul.s $f4, $f16, $f18
|
||||
/* 0632A0 800626A0 8E440014 */ lw $a0, 0x14($s2)
|
||||
/* 0632A4 800626A4 00409825 */ move $s3, $v0
|
||||
/* 0632A8 800626A8 26250004 */ addiu $a1, $s1, 4
|
||||
/* 0632AC 800626AC 00005812 */ mflo $t3
|
||||
/* 0632B0 800626B0 014B6021 */ addu $t4, $t2, $t3
|
||||
/* 0632B4 800626B4 C58A000C */ lwc1 $f10, 0xc($t4)
|
||||
/* 0632B8 800626B8 00000000 */ nop
|
||||
/* 0632BC 800626BC 46045182 */ mul.s $f6, $f10, $f4
|
||||
/* 0632C0 800626C0 44063000 */ mfc1 $a2, $f6
|
||||
/* 0632C4 800626C4 0C0325E0 */ jal alSynSetPitch
|
||||
/* 0632C8 800626C8 00000000 */ nop
|
||||
/* 0632CC 800626CC 240D0017 */ li $t5, 23
|
||||
/* 0632D0 800626D0 A7AD006C */ sh $t5, 0x6c($sp)
|
||||
/* 0632D4 800626D4 AFB10070 */ sw $s1, 0x70($sp)
|
||||
/* 0632D8 800626D8 AFB40074 */ sw $s4, 0x74($sp)
|
||||
/* 0632DC 800626DC A3B00078 */ sb $s0, 0x78($sp)
|
||||
/* 0632E0 800626E0 02E02025 */ move $a0, $s7
|
||||
/* 0632E4 800626E4 03C02825 */ move $a1, $fp
|
||||
/* 0632E8 800626E8 0C03246B */ jal alEvtqPostEvent
|
||||
/* 0632EC 800626EC 02603025 */ move $a2, $s3
|
||||
/* 0632F0 800626F0 100000A2 */ b .L8006297C
|
||||
/* 0632F4 800626F4 8FA50048 */ lw $a1, 0x48($sp)
|
||||
glabel L800626F8
|
||||
/* 0632F8 800626F8 8FA50048 */ lw $a1, 0x48($sp)
|
||||
/* 0632FC 800626FC 0C018AC0 */ jal __CSPHandleMIDIMsg
|
||||
/* 063300 80062700 02402025 */ move $a0, $s2
|
||||
/* 063304 80062704 1000009D */ b .L8006297C
|
||||
/* 063308 80062708 8FA50048 */ lw $a1, 0x48($sp)
|
||||
glabel L8006270C
|
||||
/* 06330C 8006270C 8FA50048 */ lw $a1, 0x48($sp)
|
||||
/* 063310 80062710 0C018DFB */ jal __CSPHandleMetaMsg
|
||||
/* 063314 80062714 02402025 */ move $a0, $s2
|
||||
/* 063318 80062718 10000098 */ b .L8006297C
|
||||
/* 06331C 8006271C 8FA50048 */ lw $a1, 0x48($sp)
|
||||
glabel L80062720
|
||||
/* 063320 80062720 864E003C */ lh $t6, 0x3c($s2)
|
||||
/* 063324 80062724 8E510064 */ lw $s1, 0x64($s2)
|
||||
/* 063328 80062728 A64E0032 */ sh $t6, 0x32($s2)
|
||||
/* 06332C 8006272C 12200092 */ beqz $s1, .L80062978
|
||||
/* 063330 80062730 02202025 */ move $a0, $s1
|
||||
.L80062734:
|
||||
/* 063334 80062734 0C002A7E */ jal __vsVol
|
||||
/* 063338 80062738 02402825 */ move $a1, $s2
|
||||
/* 06333C 8006273C 00028400 */ sll $s0, $v0, 0x10
|
||||
/* 063340 80062740 00107C03 */ sra $t7, $s0, 0x10
|
||||
/* 063344 80062744 8E45001C */ lw $a1, 0x1c($s2)
|
||||
/* 063348 80062748 01E08025 */ move $s0, $t7
|
||||
/* 06334C 8006274C 0C002AA2 */ jal __vsDelta
|
||||
/* 063350 80062750 02202025 */ move $a0, $s1
|
||||
/* 063354 80062754 00103400 */ sll $a2, $s0, 0x10
|
||||
/* 063358 80062758 0006C403 */ sra $t8, $a2, 0x10
|
||||
/* 06335C 8006275C 8E440014 */ lw $a0, 0x14($s2)
|
||||
/* 063360 80062760 03003025 */ move $a2, $t8
|
||||
/* 063364 80062764 26250004 */ addiu $a1, $s1, 4
|
||||
/* 063368 80062768 0C032594 */ jal alSynSetVol
|
||||
/* 06336C 8006276C 00403825 */ move $a3, $v0
|
||||
/* 063370 80062770 8E310000 */ lw $s1, ($s1)
|
||||
/* 063374 80062774 00000000 */ nop
|
||||
/* 063378 80062778 1620FFEE */ bnez $s1, .L80062734
|
||||
/* 06337C 8006277C 02202025 */ move $a0, $s1
|
||||
/* 063380 80062780 1000007E */ b .L8006297C
|
||||
/* 063384 80062784 8FA50048 */ lw $a1, 0x48($sp)
|
||||
glabel L80062788
|
||||
/* 063388 80062788 8E48002C */ lw $t0, 0x2c($s2)
|
||||
/* 06338C 8006278C 24010001 */ li $at, 1
|
||||
/* 063390 80062790 11010079 */ beq $t0, $at, .L80062978
|
||||
/* 063394 80062794 24090001 */ li $t1, 1
|
||||
/* 063398 80062798 AE49002C */ sw $t1, 0x2c($s2)
|
||||
/* 06339C 8006279C 0C018A73 */ jal __CSPPostNextSeqEvent
|
||||
/* 0633A0 800627A0 02402025 */ move $a0, $s2
|
||||
/* 0633A4 800627A4 10000075 */ b .L8006297C
|
||||
/* 0633A8 800627A8 8FA50048 */ lw $a1, 0x48($sp)
|
||||
glabel L800627AC
|
||||
/* 0633AC 800627AC 8E59002C */ lw $t9, 0x2c($s2)
|
||||
/* 0633B0 800627B0 24010002 */ li $at, 2
|
||||
/* 0633B4 800627B4 17210070 */ bne $t9, $at, .L80062978
|
||||
/* 0633B8 800627B8 340AFFFF */ li $t2, 65535
|
||||
/* 0633BC 800627BC 924B0034 */ lbu $t3, 0x34($s2)
|
||||
/* 0633C0 800627C0 A64A0030 */ sh $t2, 0x30($s2)
|
||||
/* 0633C4 800627C4 19600014 */ blez $t3, .L80062818
|
||||
/* 0633C8 800627C8 00008025 */ move $s0, $zero
|
||||
.L800627CC:
|
||||
/* 0633CC 800627CC 02150019 */ multu $s0, $s5
|
||||
/* 0633D0 800627D0 8E4C0060 */ lw $t4, 0x60($s2)
|
||||
/* 0633D4 800627D4 26100001 */ addiu $s0, $s0, 1
|
||||
/* 0633D8 800627D8 321800FF */ andi $t8, $s0, 0xff
|
||||
/* 0633DC 800627DC 03008025 */ move $s0, $t8
|
||||
/* 0633E0 800627E0 00001012 */ mflo $v0
|
||||
/* 0633E4 800627E4 01826821 */ addu $t5, $t4, $v0
|
||||
/* 0633E8 800627E8 A1B60010 */ sb $s6, 0x10($t5)
|
||||
/* 0633EC 800627EC 8E4E0060 */ lw $t6, 0x60($s2)
|
||||
/* 0633F0 800627F0 00000000 */ nop
|
||||
/* 0633F4 800627F4 01C21821 */ addu $v1, $t6, $v0
|
||||
/* 0633F8 800627F8 906F0011 */ lbu $t7, 0x11($v1)
|
||||
/* 0633FC 800627FC 00000000 */ nop
|
||||
/* 063400 80062800 A06F0009 */ sb $t7, 9($v1)
|
||||
/* 063404 80062804 92480034 */ lbu $t0, 0x34($s2)
|
||||
/* 063408 80062808 00000000 */ nop
|
||||
/* 06340C 8006280C 0308082A */ slt $at, $t8, $t0
|
||||
/* 063410 80062810 1420FFEE */ bnez $at, .L800627CC
|
||||
/* 063414 80062814 00000000 */ nop
|
||||
.L80062818:
|
||||
/* 063418 80062818 8E510064 */ lw $s1, 0x64($s2)
|
||||
/* 06341C 8006281C 00000000 */ nop
|
||||
/* 063420 80062820 12200015 */ beqz $s1, .L80062878
|
||||
/* 063424 80062824 00000000 */ nop
|
||||
.L80062828:
|
||||
/* 063428 80062828 8E440014 */ lw $a0, 0x14($s2)
|
||||
/* 06342C 8006282C 26300004 */ addiu $s0, $s1, 4
|
||||
/* 063430 80062830 0C03262C */ jal alSynStopVoice
|
||||
/* 063434 80062834 02002825 */ move $a1, $s0
|
||||
/* 063438 80062838 8E440014 */ lw $a0, 0x14($s2)
|
||||
/* 06343C 8006283C 0C03264C */ jal alSynFreeVoice
|
||||
/* 063440 80062840 02002825 */ move $a1, $s0
|
||||
/* 063444 80062844 92290037 */ lbu $t1, 0x37($s1)
|
||||
/* 063448 80062848 02402025 */ move $a0, $s2
|
||||
/* 06344C 8006284C 11200003 */ beqz $t1, .L8006285C
|
||||
/* 063450 80062850 00000000 */ nop
|
||||
/* 063454 80062854 0C002BBF */ jal __seqpStopOsc
|
||||
/* 063458 80062858 02202825 */ move $a1, $s1
|
||||
.L8006285C:
|
||||
/* 06345C 8006285C 02402025 */ move $a0, $s2
|
||||
/* 063460 80062860 0C0029F1 */ jal __unmapVoice
|
||||
/* 063464 80062864 02002825 */ move $a1, $s0
|
||||
/* 063468 80062868 8E510064 */ lw $s1, 0x64($s2)
|
||||
/* 06346C 8006286C 00000000 */ nop
|
||||
/* 063470 80062870 1620FFED */ bnez $s1, .L80062828
|
||||
/* 063474 80062874 00000000 */ nop
|
||||
.L80062878:
|
||||
/* 063478 80062878 1000003F */ b .L80062978
|
||||
/* 06347C 8006287C AE40002C */ sw $zero, 0x2c($s2)
|
||||
glabel L80062880
|
||||
/* 063480 80062880 8E59002C */ lw $t9, 0x2c($s2)
|
||||
/* 063484 80062884 24010001 */ li $at, 1
|
||||
/* 063488 80062888 1721003B */ bne $t9, $at, .L80062978
|
||||
/* 06348C 8006288C 02E02025 */ move $a0, $s7
|
||||
/* 063490 80062890 0C032424 */ jal alEvtqFlushType
|
||||
/* 063494 80062894 00002825 */ move $a1, $zero
|
||||
/* 063498 80062898 02E02025 */ move $a0, $s7
|
||||
/* 06349C 8006289C 0C032424 */ jal alEvtqFlushType
|
||||
/* 0634A0 800628A0 24050015 */ li $a1, 21
|
||||
/* 0634A4 800628A4 02E02025 */ move $a0, $s7
|
||||
/* 0634A8 800628A8 0C032424 */ jal alEvtqFlushType
|
||||
/* 0634AC 800628AC 24050002 */ li $a1, 2
|
||||
/* 0634B0 800628B0 8E510064 */ lw $s1, 0x64($s2)
|
||||
/* 0634B4 800628B4 00000000 */ nop
|
||||
/* 0634B8 800628B8 12200010 */ beqz $s1, .L800628FC
|
||||
/* 0634BC 800628BC 240A0002 */ li $t2, 2
|
||||
.L800628C0:
|
||||
/* 0634C0 800628C0 26300004 */ addiu $s0, $s1, 4
|
||||
/* 0634C4 800628C4 02002825 */ move $a1, $s0
|
||||
/* 0634C8 800628C8 02402025 */ move $a0, $s2
|
||||
/* 0634CC 800628CC 0C002B0D */ jal __voiceNeedsNoteKill
|
||||
/* 0634D0 800628D0 3406C350 */ li $a2, 50000
|
||||
/* 0634D4 800628D4 10400004 */ beqz $v0, .L800628E8
|
||||
/* 0634D8 800628D8 02402025 */ move $a0, $s2
|
||||
/* 0634DC 800628DC 02002825 */ move $a1, $s0
|
||||
/* 0634E0 800628E0 0C002AC0 */ jal __seqpReleaseVoice
|
||||
/* 0634E4 800628E4 3406C350 */ li $a2, 50000
|
||||
.L800628E8:
|
||||
/* 0634E8 800628E8 8E310000 */ lw $s1, ($s1)
|
||||
/* 0634EC 800628EC 00000000 */ nop
|
||||
/* 0634F0 800628F0 1620FFF3 */ bnez $s1, .L800628C0
|
||||
/* 0634F4 800628F4 00000000 */ nop
|
||||
/* 0634F8 800628F8 240A0002 */ li $t2, 2
|
||||
.L800628FC:
|
||||
/* 0634FC 800628FC AE4A002C */ sw $t2, 0x2c($s2)
|
||||
/* 063500 80062900 240B0010 */ li $t3, 16
|
||||
/* 063504 80062904 3C067FFF */ lui $a2, (0x7FFFFFFF >> 16) # lui $a2, 0x7fff
|
||||
/* 063508 80062908 A7AB006C */ sh $t3, 0x6c($sp)
|
||||
/* 06350C 8006290C 34C6FFFF */ ori $a2, (0x7FFFFFFF & 0xFFFF) # ori $a2, $a2, 0xffff
|
||||
/* 063510 80062910 02E02025 */ move $a0, $s7
|
||||
/* 063514 80062914 0C03246B */ jal alEvtqPostEvent
|
||||
/* 063518 80062918 03C02825 */ move $a1, $fp
|
||||
/* 06351C 8006291C 10000017 */ b .L8006297C
|
||||
/* 063520 80062920 8FA50048 */ lw $a1, 0x48($sp)
|
||||
glabel L80062924
|
||||
/* 063524 80062924 9250003C */ lbu $s0, 0x3c($s2)
|
||||
/* 063528 80062928 8E4D0060 */ lw $t5, 0x60($s2)
|
||||
/* 06352C 8006292C 02150019 */ multu $s0, $s5
|
||||
/* 063530 80062930 924C003D */ lbu $t4, 0x3d($s2)
|
||||
/* 063534 80062934 00007012 */ mflo $t6
|
||||
/* 063538 80062938 01AE7821 */ addu $t7, $t5, $t6
|
||||
/* 06353C 8006293C 1000000E */ b .L80062978
|
||||
/* 063540 80062940 A1EC0008 */ sb $t4, 8($t7)
|
||||
glabel L80062944
|
||||
/* 063544 80062944 8E58003C */ lw $t8, 0x3c($s2)
|
||||
/* 063548 80062948 8E450020 */ lw $a1, 0x20($s2)
|
||||
/* 06354C 8006294C AE580018 */ sw $t8, 0x18($s2)
|
||||
/* 063550 80062950 10A00009 */ beqz $a1, .L80062978
|
||||
/* 063554 80062954 00000000 */ nop
|
||||
/* 063558 80062958 0C002B38 */ jal __initFromBank
|
||||
/* 06355C 8006295C 02402025 */ move $a0, $s2
|
||||
/* 063560 80062960 10000006 */ b .L8006297C
|
||||
/* 063564 80062964 8FA50048 */ lw $a1, 0x48($sp)
|
||||
glabel L80062968
|
||||
/* 063568 80062968 8E45003C */ lw $a1, 0x3c($s2)
|
||||
/* 06356C 8006296C 02402025 */ move $a0, $s2
|
||||
/* 063570 80062970 0C002B38 */ jal __initFromBank
|
||||
/* 063574 80062974 AE450020 */ sw $a1, 0x20($s2)
|
||||
.L80062978:
|
||||
glabel L80062978
|
||||
/* 063578 80062978 8FA50048 */ lw $a1, 0x48($sp)
|
||||
.L8006297C:
|
||||
/* 06357C 8006297C 0C0324B4 */ jal alEvtqNextEvent
|
||||
/* 063580 80062980 02E02025 */ move $a0, $s7
|
||||
/* 063584 80062984 1040FEB2 */ beqz $v0, .L80062450
|
||||
/* 063588 80062988 AE420028 */ sw $v0, 0x28($s2)
|
||||
/* 06358C 8006298C 8E48001C */ lw $t0, 0x1c($s2)
|
||||
/* 063590 80062990 00000000 */ nop
|
||||
/* 063594 80062994 01024821 */ addu $t1, $t0, $v0
|
||||
/* 063598 80062998 AE49001C */ sw $t1, 0x1c($s2)
|
||||
/* 06359C 8006299C 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* 0635A0 800629A0 8FBE0038 */ lw $fp, 0x38($sp)
|
||||
/* 0635A4 800629A4 8FB70034 */ lw $s7, 0x34($sp)
|
||||
/* 0635A8 800629A8 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* 0635AC 800629AC 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* 0635B0 800629B0 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 0635B4 800629B4 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 0635B8 800629B8 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 0635BC 800629BC 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 0635C0 800629C0 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 0635C4 800629C4 03E00008 */ jr $ra
|
||||
/* 0635C8 800629C8 27BD0080 */ addiu $sp, $sp, 0x80
|
||||
|
||||
@@ -1,98 +0,0 @@
|
||||
glabel alCSPNew
|
||||
/* 062E90 80062290 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* 062E94 80062294 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 062E98 80062298 AFB10020 */ sw $s1, 0x20($sp)
|
||||
/* 062E9C 8006229C AFB0001C */ sw $s0, 0x1c($sp)
|
||||
/* 062EA0 800622A0 8CA6000C */ lw $a2, 0xc($a1)
|
||||
/* 062EA4 800622A4 AC800020 */ sw $zero, 0x20($a0)
|
||||
/* 062EA8 800622A8 AC800018 */ sw $zero, 0x18($a0)
|
||||
/* 062EAC 800622AC 3C0E800E */ lui $t6, %hi(alGlobals) # $t6, 0x800e
|
||||
/* 062EB0 800622B0 8DCE3780 */ lw $t6, %lo(alGlobals)($t6)
|
||||
/* 062EB4 800622B4 340FFFFF */ li $t7, 65535
|
||||
/* 062EB8 800622B8 241801E8 */ li $t8, 488
|
||||
/* 062EBC 800622BC 24197FFF */ li $t9, 32767
|
||||
/* 062EC0 800622C0 24083E80 */ li $t0, 16000
|
||||
/* 062EC4 800622C4 A48F0030 */ sh $t7, 0x30($a0)
|
||||
/* 062EC8 800622C8 AC980024 */ sw $t8, 0x24($a0)
|
||||
/* 062ECC 800622CC AC800028 */ sw $zero, 0x28($a0)
|
||||
/* 062ED0 800622D0 AC80002C */ sw $zero, 0x2c($a0)
|
||||
/* 062ED4 800622D4 A4990032 */ sh $t9, 0x32($a0)
|
||||
/* 062ED8 800622D8 AC88005C */ sw $t0, 0x5c($a0)
|
||||
/* 062EDC 800622DC AC80001C */ sw $zero, 0x1c($a0)
|
||||
/* 062EE0 800622E0 AC8E0014 */ sw $t6, 0x14($a0)
|
||||
/* 062EE4 800622E4 8CA90014 */ lw $t1, 0x14($a1)
|
||||
/* 062EE8 800622E8 240D0009 */ li $t5, 9
|
||||
/* 062EEC 800622EC AC890074 */ sw $t1, 0x74($a0)
|
||||
/* 062EF0 800622F0 8CAA0018 */ lw $t2, 0x18($a1)
|
||||
/* 062EF4 800622F4 00A08825 */ move $s1, $a1
|
||||
/* 062EF8 800622F8 AC8A0078 */ sw $t2, 0x78($a0)
|
||||
/* 062EFC 800622FC 8CAB001C */ lw $t3, 0x1c($a1)
|
||||
/* 062F00 80062300 A0800071 */ sb $zero, 0x71($a0)
|
||||
/* 062F04 80062304 AC8B007C */ sw $t3, 0x7c($a0)
|
||||
/* 062F08 80062308 90AC0010 */ lbu $t4, 0x10($a1)
|
||||
/* 062F0C 8006230C A48D0038 */ sh $t5, 0x38($a0)
|
||||
/* 062F10 80062310 A08C0070 */ sb $t4, 0x70($a0)
|
||||
/* 062F14 80062314 90AE0008 */ lbu $t6, 8($a1)
|
||||
/* 062F18 80062318 00808025 */ move $s0, $a0
|
||||
/* 062F1C 8006231C A08E0034 */ sb $t6, 0x34($a0)
|
||||
/* 062F20 80062320 92270008 */ lbu $a3, 8($s1)
|
||||
/* 062F24 80062324 240F0014 */ li $t7, 20
|
||||
/* 062F28 80062328 AFAF0010 */ sw $t7, 0x10($sp)
|
||||
/* 062F2C 8006232C 00002025 */ move $a0, $zero
|
||||
/* 062F30 80062330 00002825 */ move $a1, $zero
|
||||
/* 062F34 80062334 0C031DFC */ jal alHeapDBAlloc
|
||||
/* 062F38 80062338 AFA6002C */ sw $a2, 0x2c($sp)
|
||||
/* 062F3C 8006233C AE020060 */ sw $v0, 0x60($s0)
|
||||
/* 062F40 80062340 0C002BA4 */ jal __initChanState
|
||||
/* 062F44 80062344 02002025 */ move $a0, $s0
|
||||
/* 062F48 80062348 8FA6002C */ lw $a2, 0x2c($sp)
|
||||
/* 062F4C 8006234C 8E270000 */ lw $a3, ($s1)
|
||||
/* 062F50 80062350 24180038 */ li $t8, 56
|
||||
/* 062F54 80062354 AFB80010 */ sw $t8, 0x10($sp)
|
||||
/* 062F58 80062358 00002025 */ move $a0, $zero
|
||||
/* 062F5C 8006235C 0C031DFC */ jal alHeapDBAlloc
|
||||
/* 062F60 80062360 00002825 */ move $a1, $zero
|
||||
/* 062F64 80062364 AE00006C */ sw $zero, 0x6c($s0)
|
||||
/* 062F68 80062368 8E390000 */ lw $t9, ($s1)
|
||||
/* 062F6C 8006236C 00002025 */ move $a0, $zero
|
||||
/* 062F70 80062370 1B20000B */ blez $t9, .L800623A0
|
||||
/* 062F74 80062374 00002825 */ move $a1, $zero
|
||||
/* 062F78 80062378 00401825 */ move $v1, $v0
|
||||
.L8006237C:
|
||||
/* 062F7C 8006237C 8E08006C */ lw $t0, 0x6c($s0)
|
||||
/* 062F80 80062380 24840001 */ addiu $a0, $a0, 1
|
||||
/* 062F84 80062384 AC680000 */ sw $t0, ($v1)
|
||||
/* 062F88 80062388 AE03006C */ sw $v1, 0x6c($s0)
|
||||
/* 062F8C 8006238C 8E290000 */ lw $t1, ($s1)
|
||||
/* 062F90 80062390 24630038 */ addiu $v1, $v1, 0x38
|
||||
/* 062F94 80062394 0089082A */ slt $at, $a0, $t1
|
||||
/* 062F98 80062398 1420FFF8 */ bnez $at, .L8006237C
|
||||
/* 062F9C 8006239C 00000000 */ nop
|
||||
.L800623A0:
|
||||
/* 062FA0 800623A0 AE000064 */ sw $zero, 0x64($s0)
|
||||
/* 062FA4 800623A4 AE000068 */ sw $zero, 0x68($s0)
|
||||
/* 062FA8 800623A8 8E270004 */ lw $a3, 4($s1)
|
||||
/* 062FAC 800623AC 8FA6002C */ lw $a2, 0x2c($sp)
|
||||
/* 062FB0 800623B0 240A001C */ li $t2, 28
|
||||
/* 062FB4 800623B4 AFAA0010 */ sw $t2, 0x10($sp)
|
||||
/* 062FB8 800623B8 0C031DFC */ jal alHeapDBAlloc
|
||||
/* 062FBC 800623BC 00002025 */ move $a0, $zero
|
||||
/* 062FC0 800623C0 8E260004 */ lw $a2, 4($s1)
|
||||
/* 062FC4 800623C4 26040048 */ addiu $a0, $s0, 0x48
|
||||
/* 062FC8 800623C8 0C0324D7 */ jal alEvtqNew
|
||||
/* 062FCC 800623CC 00402825 */ move $a1, $v0
|
||||
/* 062FD0 800623D0 3C0B8006 */ lui $t3, %hi(__CSPVoiceHandler) # $t3, 0x8006
|
||||
/* 062FD4 800623D4 256B2408 */ addiu $t3, %lo(__CSPVoiceHandler) # addiu $t3, $t3, 0x2408
|
||||
/* 062FD8 800623D8 AE000000 */ sw $zero, ($s0)
|
||||
/* 062FDC 800623DC AE0B0008 */ sw $t3, 8($s0)
|
||||
/* 062FE0 800623E0 AE100004 */ sw $s0, 4($s0)
|
||||
/* 062FE4 800623E4 3C04800E */ lui $a0, %hi(alGlobals) # $a0, 0x800e
|
||||
/* 062FE8 800623E8 8C843780 */ lw $a0, %lo(alGlobals)($a0)
|
||||
/* 062FEC 800623EC 0C0324F4 */ jal alSynAddPlayer
|
||||
/* 062FF0 800623F0 02002825 */ move $a1, $s0
|
||||
/* 062FF4 800623F4 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 062FF8 800623F8 8FB0001C */ lw $s0, 0x1c($sp)
|
||||
/* 062FFC 800623FC 8FB10020 */ lw $s1, 0x20($sp)
|
||||
/* 063000 80062400 03E00008 */ jr $ra
|
||||
/* 063004 80062404 27BD0040 */ addiu $sp, $sp, 0x40
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
glabel _doModFunc
|
||||
/* 065484 80064884 44853000 */ mtc1 $a1, $f6
|
||||
/* 065488 80064888 C4840010 */ lwc1 $f4, 0x10($a0)
|
||||
/* 06548C 8006488C 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 065490 80064890 C4900014 */ lwc1 $f16, 0x14($a0)
|
||||
/* 065494 80064894 3C014000 */ li $at, 0x40000000 # 2.000000
|
||||
/* 065498 80064898 46082282 */ mul.s $f10, $f4, $f8
|
||||
/* 06549C 8006489C 44802000 */ mtc1 $zero, $f4
|
||||
/* 0654A0 800648A0 44812800 */ mtc1 $at, $f5
|
||||
/* 0654A4 800648A4 3C014010 */ li $at, 0x40100000 # 2.250000
|
||||
/* 0654A8 800648A8 460A8480 */ add.s $f18, $f16, $f10
|
||||
/* 0654AC 800648AC E4920014 */ swc1 $f18, 0x14($a0)
|
||||
/* 0654B0 800648B0 C4860014 */ lwc1 $f6, 0x14($a0)
|
||||
/* 0654B4 800648B4 00000000 */ nop
|
||||
/* 0654B8 800648B8 46003021 */ cvt.d.s $f0, $f6
|
||||
/* 0654BC 800648BC 4620203C */ c.lt.d $f4, $f0
|
||||
/* 0654C0 800648C0 44803000 */ mtc1 $zero, $f6
|
||||
/* 0654C4 800648C4 45000008 */ bc1f .L800648E8
|
||||
/* 0654C8 800648C8 00000000 */ nop
|
||||
/* 0654CC 800648CC 44814800 */ mtc1 $at, $f9
|
||||
/* 0654D0 800648D0 44804000 */ mtc1 $zero, $f8
|
||||
/* 0654D4 800648D4 00000000 */ nop
|
||||
/* 0654D8 800648D8 46280401 */ sub.d $f16, $f0, $f8
|
||||
/* 0654DC 800648DC 462082A0 */ cvt.s.d $f10, $f16
|
||||
/* 0654E0 800648E0 10000003 */ b .L800648F0
|
||||
/* 0654E4 800648E4 E48A0014 */ swc1 $f10, 0x14($a0)
|
||||
.L800648E8:
|
||||
/* 0654E8 800648E8 462004A0 */ cvt.s.d $f18, $f0
|
||||
/* 0654EC 800648EC E4920014 */ swc1 $f18, 0x14($a0)
|
||||
.L800648F0:
|
||||
/* 0654F0 800648F0 C4820014 */ lwc1 $f2, 0x14($a0)
|
||||
/* 0654F4 800648F4 3C013FF0 */ li $at, 0x3FF00000 # 1.875000
|
||||
/* 0654F8 800648F8 4606103C */ c.lt.s $f2, $f6
|
||||
/* 0654FC 800648FC 44814800 */ mtc1 $at, $f9
|
||||
/* 065500 80064900 45000002 */ bc1f .L8006490C
|
||||
/* 065504 80064904 00000000 */ nop
|
||||
/* 065508 80064908 46001087 */ neg.s $f2, $f2
|
||||
.L8006490C:
|
||||
/* 06550C 8006490C 44804000 */ mtc1 $zero, $f8
|
||||
/* 065510 80064910 46001121 */ cvt.d.s $f4, $f2
|
||||
/* 065514 80064914 46282401 */ sub.d $f16, $f4, $f8
|
||||
/* 065518 80064918 C48A001C */ lwc1 $f10, 0x1c($a0)
|
||||
/* 06551C 8006491C 462080A0 */ cvt.s.d $f2, $f16
|
||||
/* 065520 80064920 46025002 */ mul.s $f0, $f10, $f2
|
||||
/* 065524 80064924 03E00008 */ jr $ra
|
||||
/* 065528 80064928 00000000 */ nop
|
||||
|
||||
@@ -1,163 +0,0 @@
|
||||
glabel _loadOutputBuffer
|
||||
/* 064E24 80064224 27BDFF98 */ addiu $sp, $sp, -0x68
|
||||
/* 064E28 80064228 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* 064E2C 8006422C AFB20028 */ sw $s2, 0x28($sp)
|
||||
/* 064E30 80064230 AFB10024 */ sw $s1, 0x24($sp)
|
||||
/* 064E34 80064234 AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* 064E38 80064238 AFA40068 */ sw $a0, 0x68($sp)
|
||||
/* 064E3C 8006423C AFA60070 */ sw $a2, 0x70($sp)
|
||||
/* 064E40 80064240 8CAE0024 */ lw $t6, 0x24($a1)
|
||||
/* 064E44 80064244 00A08025 */ move $s0, $a1
|
||||
/* 064E48 80064248 11C00082 */ beqz $t6, .L80064454
|
||||
/* 064E4C 8006424C 00E09025 */ move $s2, $a3
|
||||
/* 064E50 80064250 8CAF0004 */ lw $t7, 4($a1)
|
||||
/* 064E54 80064254 8CB80000 */ lw $t8, ($a1)
|
||||
/* 064E58 80064258 00A02025 */ move $a0, $a1
|
||||
/* 064E5C 8006425C 01F8C823 */ subu $t9, $t7, $t8
|
||||
/* 064E60 80064260 AFB90040 */ sw $t9, 0x40($sp)
|
||||
/* 064E64 80064264 0C019221 */ jal _doModFunc
|
||||
/* 064E68 80064268 00E02825 */ move $a1, $a3
|
||||
/* 064E6C 8006426C 8FAA0040 */ lw $t2, 0x40($sp)
|
||||
/* 064E70 80064270 3C014700 */ li $at, 0x47000000 # 32768.000000
|
||||
/* 064E74 80064274 448A3000 */ mtc1 $t2, $f6
|
||||
/* 064E78 80064278 44817000 */ mtc1 $at, $f14
|
||||
/* 064E7C 8006427C 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 064E80 80064280 3C013FF0 */ li $at, 0x3FF00000 # 1.875000
|
||||
/* 064E84 80064284 44812800 */ mtc1 $at, $f5
|
||||
/* 064E88 80064288 46080283 */ div.s $f10, $f0, $f8
|
||||
/* 064E8C 8006428C 44802000 */ mtc1 $zero, $f4
|
||||
/* 064E90 80064290 8FA40068 */ lw $a0, 0x68($sp)
|
||||
/* 064E94 80064294 24060280 */ li $a2, 640
|
||||
/* 064E98 80064298 460E5402 */ mul.s $f16, $f10, $f14
|
||||
/* 064E9C 8006429C 444BF800 */ cfc1 $t3, $31
|
||||
/* 064EA0 800642A0 00000000 */ nop
|
||||
/* 064EA4 800642A4 35610003 */ ori $at, $t3, 3
|
||||
/* 064EA8 800642A8 38210002 */ xori $at, $at, 2
|
||||
/* 064EAC 800642AC 44C1F800 */ ctc1 $at, $31
|
||||
/* 064EB0 800642B0 00000000 */ nop
|
||||
/* 064EB4 800642B4 460084A4 */ cvt.w.s $f18, $f16
|
||||
/* 064EB8 800642B8 440C9000 */ mfc1 $t4, $f18
|
||||
/* 064EBC 800642BC 44CBF800 */ ctc1 $t3, $31
|
||||
/* 064EC0 800642C0 448C3000 */ mtc1 $t4, $f6
|
||||
/* 064EC4 800642C4 00000000 */ nop
|
||||
/* 064EC8 800642C8 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 064ECC 800642CC 00000000 */ nop
|
||||
/* 064ED0 800642D0 460E4283 */ div.s $f10, $f8, $f14
|
||||
/* 064ED4 800642D4 44924000 */ mtc1 $s2, $f8
|
||||
/* 064ED8 800642D8 46005421 */ cvt.d.s $f16, $f10
|
||||
/* 064EDC 800642DC 46302481 */ sub.d $f18, $f4, $f16
|
||||
/* 064EE0 800642E0 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 064EE4 800642E4 462090A0 */ cvt.s.d $f2, $f18
|
||||
/* 064EE8 800642E8 E7A2004C */ swc1 $f2, 0x4c($sp)
|
||||
/* 064EEC 800642EC 460A1102 */ mul.s $f4, $f2, $f10
|
||||
/* 064EF0 800642F0 8E020024 */ lw $v0, 0x24($s0)
|
||||
/* 064EF4 800642F4 00000000 */ nop
|
||||
/* 064EF8 800642F8 C4460020 */ lwc1 $f6, 0x20($v0)
|
||||
/* 064EFC 800642FC 00000000 */ nop
|
||||
/* 064F00 80064300 46043300 */ add.s $f12, $f6, $f4
|
||||
/* 064F04 80064304 444DF800 */ cfc1 $t5, $31
|
||||
/* 064F08 80064308 00000000 */ nop
|
||||
/* 064F0C 8006430C 35A10003 */ ori $at, $t5, 3
|
||||
/* 064F10 80064310 38210002 */ xori $at, $at, 2
|
||||
/* 064F14 80064314 44C1F800 */ ctc1 $at, $31
|
||||
/* 064F18 80064318 00000000 */ nop
|
||||
/* 064F1C 8006431C 46006424 */ cvt.w.s $f16, $f12
|
||||
/* 064F20 80064320 44088000 */ mfc1 $t0, $f16
|
||||
/* 064F24 80064324 44CDF800 */ ctc1 $t5, $31
|
||||
/* 064F28 80064328 44889000 */ mtc1 $t0, $f18
|
||||
/* 064F2C 8006432C 00000000 */ nop
|
||||
/* 064F30 80064330 46809220 */ cvt.s.w $f8, $f18
|
||||
/* 064F34 80064334 46086281 */ sub.s $f10, $f12, $f8
|
||||
/* 064F38 80064338 E44A0020 */ swc1 $f10, 0x20($v0)
|
||||
/* 064F3C 8006433C 8E0F0018 */ lw $t7, 0x18($s0)
|
||||
/* 064F40 80064340 8E0E0004 */ lw $t6, 4($s0)
|
||||
/* 064F44 80064344 8C8B0018 */ lw $t3, 0x18($a0)
|
||||
/* 064F48 80064348 01CFC023 */ subu $t8, $t6, $t7
|
||||
/* 064F4C 8006434C 0018C823 */ negu $t9, $t8
|
||||
/* 064F50 80064350 00195040 */ sll $t2, $t9, 1
|
||||
/* 064F54 80064354 016A8821 */ addu $s1, $t3, $t2
|
||||
/* 064F58 80064358 32230007 */ andi $v1, $s1, 7
|
||||
/* 064F5C 8006435C 8FAD0078 */ lw $t5, 0x78($sp)
|
||||
/* 064F60 80064360 00036043 */ sra $t4, $v1, 1
|
||||
/* 064F64 80064364 000C4840 */ sll $t1, $t4, 1
|
||||
/* 064F68 80064368 02292823 */ subu $a1, $s1, $t1
|
||||
/* 064F6C 8006436C AFA90030 */ sw $t1, 0x30($sp)
|
||||
/* 064F70 80064370 01801825 */ move $v1, $t4
|
||||
/* 064F74 80064374 010C3821 */ addu $a3, $t0, $t4
|
||||
/* 064F78 80064378 AFA80034 */ sw $t0, 0x34($sp)
|
||||
/* 064F7C 8006437C 0C019128 */ jal _loadBuffer
|
||||
/* 064F80 80064380 AFAD0010 */ sw $t5, 0x10($sp)
|
||||
/* 064F84 80064384 8FA90030 */ lw $t1, 0x30($sp)
|
||||
/* 064F88 80064388 3C010800 */ lui $at, 0x800
|
||||
/* 064F8C 8006438C 252E0280 */ addiu $t6, $t1, 0x280
|
||||
/* 064F90 80064390 31CFFFFF */ andi $t7, $t6, 0xffff
|
||||
/* 064F94 80064394 01E1C025 */ or $t8, $t7, $at
|
||||
/* 064F98 80064398 AC580000 */ sw $t8, ($v0)
|
||||
/* 064F9C 8006439C 8FAB0070 */ lw $t3, 0x70($sp)
|
||||
/* 064FA0 800643A0 00126040 */ sll $t4, $s2, 1
|
||||
/* 064FA4 800643A4 318DFFFF */ andi $t5, $t4, 0xffff
|
||||
/* 064FA8 800643A8 000B5400 */ sll $t2, $t3, 0x10
|
||||
/* 064FAC 800643AC 014D7025 */ or $t6, $t2, $t5
|
||||
/* 064FB0 800643B0 AC4E0004 */ sw $t6, 4($v0)
|
||||
/* 064FB4 800643B4 3C014700 */ li $at, 0x47000000 # 32768.000000
|
||||
/* 064FB8 800643B8 44812000 */ mtc1 $at, $f4
|
||||
/* 064FBC 800643BC C7A6004C */ lwc1 $f6, 0x4c($sp)
|
||||
/* 064FC0 800643C0 244F0008 */ addiu $t7, $v0, 8
|
||||
/* 064FC4 800643C4 46043402 */ mul.s $f16, $f6, $f4
|
||||
/* 064FC8 800643C8 AFAF0038 */ sw $t7, 0x38($sp)
|
||||
/* 064FCC 800643CC 8E0C0024 */ lw $t4, 0x24($s0)
|
||||
/* 064FD0 800643D0 24510010 */ addiu $s1, $v0, 0x10
|
||||
/* 064FD4 800643D4 4458F800 */ cfc1 $t8, $31
|
||||
/* 064FD8 800643D8 8D8A0024 */ lw $t2, 0x24($t4)
|
||||
/* 064FDC 800643DC 37010003 */ ori $at, $t8, 3
|
||||
/* 064FE0 800643E0 38210002 */ xori $at, $at, 2
|
||||
/* 064FE4 800643E4 44C1F800 */ ctc1 $at, $31
|
||||
/* 064FE8 800643E8 314D00FF */ andi $t5, $t2, 0xff
|
||||
/* 064FEC 800643EC 460084A4 */ cvt.w.s $f18, $f16
|
||||
/* 064FF0 800643F0 000D7400 */ sll $t6, $t5, 0x10
|
||||
/* 064FF4 800643F4 44199000 */ mfc1 $t9, $f18
|
||||
/* 064FF8 800643F8 3C010500 */ lui $at, 0x500
|
||||
/* 064FFC 800643FC 01C17825 */ or $t7, $t6, $at
|
||||
/* 065000 80064400 44D8F800 */ ctc1 $t8, $31
|
||||
/* 065004 80064404 332BFFFF */ andi $t3, $t9, 0xffff
|
||||
/* 065008 80064408 01EBC025 */ or $t8, $t7, $t3
|
||||
/* 06500C 8006440C AC580008 */ sw $t8, 8($v0)
|
||||
/* 065010 80064410 8E190024 */ lw $t9, 0x24($s0)
|
||||
/* 065014 80064414 00000000 */ nop
|
||||
/* 065018 80064418 8F240014 */ lw $a0, 0x14($t9)
|
||||
/* 06501C 8006441C 0C03233C */ jal osVirtualToPhysical
|
||||
/* 065020 80064420 00000000 */ nop
|
||||
/* 065024 80064424 8FAC0038 */ lw $t4, 0x38($sp)
|
||||
/* 065028 80064428 8FA80034 */ lw $t0, 0x34($sp)
|
||||
/* 06502C 8006442C AD820004 */ sw $v0, 4($t4)
|
||||
/* 065030 80064430 8E0A0024 */ lw $t2, 0x24($s0)
|
||||
/* 065034 80064434 00000000 */ nop
|
||||
/* 065038 80064438 AD400024 */ sw $zero, 0x24($t2)
|
||||
/* 06503C 8006443C 8E0D0018 */ lw $t5, 0x18($s0)
|
||||
/* 065040 80064440 00000000 */ nop
|
||||
/* 065044 80064444 01A87021 */ addu $t6, $t5, $t0
|
||||
/* 065048 80064448 01D27823 */ subu $t7, $t6, $s2
|
||||
/* 06504C 8006444C 1000000D */ b .L80064484
|
||||
/* 065050 80064450 AE0F0018 */ sw $t7, 0x18($s0)
|
||||
.L80064454:
|
||||
/* 065054 80064454 8FA40068 */ lw $a0, 0x68($sp)
|
||||
/* 065058 80064458 8E190004 */ lw $t9, 4($s0)
|
||||
/* 06505C 8006445C 8FAD0078 */ lw $t5, 0x78($sp)
|
||||
/* 065060 80064460 8C980018 */ lw $t8, 0x18($a0)
|
||||
/* 065064 80064464 00196023 */ negu $t4, $t9
|
||||
/* 065068 80064468 000C5040 */ sll $t2, $t4, 1
|
||||
/* 06506C 8006446C 8FA60070 */ lw $a2, 0x70($sp)
|
||||
/* 065070 80064470 02403825 */ move $a3, $s2
|
||||
/* 065074 80064474 AFAD0010 */ sw $t5, 0x10($sp)
|
||||
/* 065078 80064478 0C019128 */ jal _loadBuffer
|
||||
/* 06507C 8006447C 030A2821 */ addu $a1, $t8, $t2
|
||||
/* 065080 80064480 00408825 */ move $s1, $v0
|
||||
.L80064484:
|
||||
/* 065084 80064484 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* 065088 80064488 02201025 */ move $v0, $s1
|
||||
/* 06508C 8006448C 8FB10024 */ lw $s1, 0x24($sp)
|
||||
/* 065090 80064490 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* 065094 80064494 8FB20028 */ lw $s2, 0x28($sp)
|
||||
/* 065098 80064498 03E00008 */ jr $ra
|
||||
/* 06509C 8006449C 27BD0068 */ addiu $sp, $sp, 0x68
|
||||
|
||||
@@ -1,188 +0,0 @@
|
||||
.late_rodata
|
||||
glabel jpt_800E6E70
|
||||
.word L80063FE8, L8006401C, L8006407C, L80064050, L800640A8, L800640D4, L80064144, L800641C4
|
||||
glabel D_800E6E90
|
||||
.float 8.320827
|
||||
glabel D_800E6E94
|
||||
.float 0.04680453
|
||||
|
||||
.text
|
||||
glabel alFxParamHdl
|
||||
/* 064BAC 80063FAC 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 064BB0 80063FB0 24A3FFFE */ addiu $v1, $a1, -2
|
||||
/* 064BB4 80063FB4 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 064BB8 80063FB8 306E0007 */ andi $t6, $v1, 7
|
||||
/* 064BBC 80063FBC 8CC80000 */ lw $t0, ($a2)
|
||||
/* 064BC0 80063FC0 2DC10008 */ sltiu $at, $t6, 8
|
||||
/* 064BC4 80063FC4 10200093 */ beqz $at, .L80064214
|
||||
/* 064BC8 80063FC8 00803825 */ move $a3, $a0
|
||||
/* 064BCC 80063FCC 000E7080 */ sll $t6, $t6, 2
|
||||
/* 064BD0 80063FD0 3C01800E */ lui $at, %hi(jpt_800E6E70) # $at, 0x800e
|
||||
/* 064BD4 80063FD4 002E0821 */ addu $at, $at, $t6
|
||||
/* 064BD8 80063FD8 8C2E6E70 */ lw $t6, %lo(jpt_800E6E70)($at)
|
||||
/* 064BDC 80063FDC 00000000 */ nop
|
||||
/* 064BE0 80063FE0 01C00008 */ jr $t6
|
||||
/* 064BE4 80063FE4 00000000 */ nop
|
||||
glabel L80063FE8
|
||||
/* 064BE8 80063FE8 2401FFF8 */ li $at, -8
|
||||
/* 064BEC 80063FEC 01017824 */ and $t7, $t0, $at
|
||||
/* 064BF0 80063FF0 8CF80020 */ lw $t8, 0x20($a3)
|
||||
/* 064BF4 80063FF4 04610003 */ bgez $v1, .L80064004
|
||||
/* 064BF8 80063FF8 0003C8C3 */ sra $t9, $v1, 3
|
||||
/* 064BFC 80063FFC 24610007 */ addiu $at, $v1, 7
|
||||
/* 064C00 80064000 0001C8C3 */ sra $t9, $at, 3
|
||||
.L80064004:
|
||||
/* 064C04 80064004 00194880 */ sll $t1, $t9, 2
|
||||
/* 064C08 80064008 01394821 */ addu $t1, $t1, $t9
|
||||
/* 064C0C 8006400C 000948C0 */ sll $t1, $t1, 3
|
||||
/* 064C10 80064010 03095021 */ addu $t2, $t8, $t1
|
||||
/* 064C14 80064014 1000007F */ b .L80064214
|
||||
/* 064C18 80064018 AD4F0000 */ sw $t7, ($t2)
|
||||
glabel L8006401C
|
||||
/* 064C1C 8006401C 2401FFF8 */ li $at, -8
|
||||
/* 064C20 80064020 01015824 */ and $t3, $t0, $at
|
||||
/* 064C24 80064024 8CEC0020 */ lw $t4, 0x20($a3)
|
||||
/* 064C28 80064028 04610003 */ bgez $v1, .L80064038
|
||||
/* 064C2C 8006402C 000368C3 */ sra $t5, $v1, 3
|
||||
/* 064C30 80064030 24610007 */ addiu $at, $v1, 7
|
||||
/* 064C34 80064034 000168C3 */ sra $t5, $at, 3
|
||||
.L80064038:
|
||||
/* 064C38 80064038 000D7080 */ sll $t6, $t5, 2
|
||||
/* 064C3C 8006403C 01CD7021 */ addu $t6, $t6, $t5
|
||||
/* 064C40 80064040 000E70C0 */ sll $t6, $t6, 3
|
||||
/* 064C44 80064044 018EC821 */ addu $t9, $t4, $t6
|
||||
/* 064C48 80064048 10000072 */ b .L80064214
|
||||
/* 064C4C 8006404C AF2B0004 */ sw $t3, 4($t9)
|
||||
glabel L80064050
|
||||
/* 064C50 80064050 8CF80020 */ lw $t8, 0x20($a3)
|
||||
/* 064C54 80064054 04610003 */ bgez $v1, .L80064064
|
||||
/* 064C58 80064058 000348C3 */ sra $t1, $v1, 3
|
||||
/* 064C5C 8006405C 24610007 */ addiu $at, $v1, 7
|
||||
/* 064C60 80064060 000148C3 */ sra $t1, $at, 3
|
||||
.L80064064:
|
||||
/* 064C64 80064064 00097880 */ sll $t7, $t1, 2
|
||||
/* 064C68 80064068 01E97821 */ addu $t7, $t7, $t1
|
||||
/* 064C6C 8006406C 000F78C0 */ sll $t7, $t7, 3
|
||||
/* 064C70 80064070 030F5021 */ addu $t2, $t8, $t7
|
||||
/* 064C74 80064074 10000067 */ b .L80064214
|
||||
/* 064C78 80064078 A5480008 */ sh $t0, 8($t2)
|
||||
glabel L8006407C
|
||||
/* 064C7C 8006407C 8CED0020 */ lw $t5, 0x20($a3)
|
||||
/* 064C80 80064080 04610003 */ bgez $v1, .L80064090
|
||||
/* 064C84 80064084 000360C3 */ sra $t4, $v1, 3
|
||||
/* 064C88 80064088 24610007 */ addiu $at, $v1, 7
|
||||
/* 064C8C 8006408C 000160C3 */ sra $t4, $at, 3
|
||||
.L80064090:
|
||||
/* 064C90 80064090 000C7080 */ sll $t6, $t4, 2
|
||||
/* 064C94 80064094 01CC7021 */ addu $t6, $t6, $t4
|
||||
/* 064C98 80064098 000E70C0 */ sll $t6, $t6, 3
|
||||
/* 064C9C 8006409C 01AE5821 */ addu $t3, $t5, $t6
|
||||
/* 064CA0 800640A0 1000005C */ b .L80064214
|
||||
/* 064CA4 800640A4 A568000A */ sh $t0, 0xa($t3)
|
||||
glabel L800640A8
|
||||
/* 064CA8 800640A8 8CF90020 */ lw $t9, 0x20($a3)
|
||||
/* 064CAC 800640AC 04610003 */ bgez $v1, .L800640BC
|
||||
/* 064CB0 800640B0 000348C3 */ sra $t1, $v1, 3
|
||||
/* 064CB4 800640B4 24610007 */ addiu $at, $v1, 7
|
||||
/* 064CB8 800640B8 000148C3 */ sra $t1, $at, 3
|
||||
.L800640BC:
|
||||
/* 064CBC 800640BC 0009C080 */ sll $t8, $t1, 2
|
||||
/* 064CC0 800640C0 0309C021 */ addu $t8, $t8, $t1
|
||||
/* 064CC4 800640C4 0018C0C0 */ sll $t8, $t8, 3
|
||||
/* 064CC8 800640C8 03387821 */ addu $t7, $t9, $t8
|
||||
/* 064CCC 800640CC 10000051 */ b .L80064214
|
||||
/* 064CD0 800640D0 A5E8000C */ sh $t0, 0xc($t7)
|
||||
glabel L800640D4
|
||||
/* 064CD4 800640D4 44882000 */ mtc1 $t0, $f4
|
||||
/* 064CD8 800640D8 3C01447A */ li $at, 0x447A0000 # 1000.000000
|
||||
/* 064CDC 800640DC 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 064CE0 800640E0 44814000 */ mtc1 $at, $f8
|
||||
/* 064CE4 800640E4 3C0A800E */ lui $t2, %hi(alGlobals) # $t2, 0x800e
|
||||
/* 064CE8 800640E8 46083283 */ div.s $f10, $f6, $f8
|
||||
/* 064CEC 800640EC 8D4A3780 */ lw $t2, %lo(alGlobals)($t2)
|
||||
/* 064CF0 800640F0 8CED0020 */ lw $t5, 0x20($a3)
|
||||
/* 064CF4 800640F4 8D4C0044 */ lw $t4, 0x44($t2)
|
||||
/* 064CF8 800640F8 00000000 */ nop
|
||||
/* 064CFC 800640FC 448C9000 */ mtc1 $t4, $f18
|
||||
/* 064D00 80064100 00000000 */ nop
|
||||
/* 064D04 80064104 46809121 */ cvt.d.w $f4, $f18
|
||||
/* 064D08 80064108 46005021 */ cvt.d.s $f0, $f10
|
||||
/* 064D0C 8006410C 46200400 */ add.d $f16, $f0, $f0
|
||||
/* 064D10 80064110 00000000 */ nop
|
||||
/* 064D14 80064114 46248183 */ div.d $f6, $f16, $f4
|
||||
/* 064D18 80064118 46203220 */ cvt.s.d $f8, $f6
|
||||
/* 064D1C 8006411C 04610003 */ bgez $v1, .L8006412C
|
||||
/* 064D20 80064120 000370C3 */ sra $t6, $v1, 3
|
||||
/* 064D24 80064124 24610007 */ addiu $at, $v1, 7
|
||||
/* 064D28 80064128 000170C3 */ sra $t6, $at, 3
|
||||
.L8006412C:
|
||||
/* 064D2C 8006412C 000E5880 */ sll $t3, $t6, 2
|
||||
/* 064D30 80064130 016E5821 */ addu $t3, $t3, $t6
|
||||
/* 064D34 80064134 000B58C0 */ sll $t3, $t3, 3
|
||||
/* 064D38 80064138 01AB4821 */ addu $t1, $t5, $t3
|
||||
/* 064D3C 8006413C 10000035 */ b .L80064214
|
||||
/* 064D40 80064140 E5280010 */ swc1 $f8, 0x10($t1)
|
||||
glabel L80064144
|
||||
/* 064D44 80064144 8CF90020 */ lw $t9, 0x20($a3)
|
||||
/* 064D48 80064148 04610003 */ bgez $v1, .L80064158
|
||||
/* 064D4C 8006414C 0003C0C3 */ sra $t8, $v1, 3
|
||||
/* 064D50 80064150 24610007 */ addiu $at, $v1, 7
|
||||
/* 064D54 80064154 0001C0C3 */ sra $t8, $at, 3
|
||||
.L80064158:
|
||||
/* 064D58 80064158 00187880 */ sll $t7, $t8, 2
|
||||
/* 064D5C 8006415C 01F87821 */ addu $t7, $t7, $t8
|
||||
/* 064D60 80064160 000F78C0 */ sll $t7, $t7, 3
|
||||
/* 064D64 80064164 032F1021 */ addu $v0, $t9, $t7
|
||||
/* 064D68 80064168 8C4A0004 */ lw $t2, 4($v0)
|
||||
/* 064D6C 8006416C 8C4C0000 */ lw $t4, ($v0)
|
||||
/* 064D70 80064170 44882000 */ mtc1 $t0, $f4
|
||||
/* 064D74 80064174 014C7023 */ subu $t6, $t2, $t4
|
||||
/* 064D78 80064178 448E5000 */ mtc1 $t6, $f10
|
||||
/* 064D7C 8006417C 05C10006 */ bgez $t6, .L80064198
|
||||
/* 064D80 80064180 468054A1 */ cvt.d.w $f18, $f10
|
||||
/* 064D84 80064184 3C0141F0 */ li $at, 0x41F00000 # 30.000000
|
||||
/* 064D88 80064188 44818800 */ mtc1 $at, $f17
|
||||
/* 064D8C 8006418C 44808000 */ mtc1 $zero, $f16
|
||||
/* 064D90 80064190 00000000 */ nop
|
||||
/* 064D94 80064194 46309480 */ add.d $f18, $f18, $f16
|
||||
.L80064198:
|
||||
/* 064D98 80064198 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 064D9C 8006419C 3C01800E */ lui $at, %hi(D_800E6E94) # $at, 0x800e
|
||||
/* 064DA0 800641A0 C42B6E90 */ lwc1 $f11, %lo(D_800E6E90)($at)
|
||||
/* 064DA4 800641A4 C42A6E94 */ lwc1 $f10, %lo(D_800E6E94)($at)
|
||||
/* 064DA8 800641A8 46003221 */ cvt.d.s $f8, $f6
|
||||
/* 064DAC 800641AC 00000000 */ nop
|
||||
/* 064DB0 800641B0 462A4403 */ div.d $f16, $f8, $f10
|
||||
/* 064DB4 800641B4 46309102 */ mul.d $f4, $f18, $f16
|
||||
/* 064DB8 800641B8 462021A0 */ cvt.s.d $f6, $f4
|
||||
/* 064DBC 800641BC 10000015 */ b .L80064214
|
||||
/* 064DC0 800641C0 E446001C */ swc1 $f6, 0x1c($v0)
|
||||
glabel L800641C4
|
||||
/* 064DC4 800641C4 04610003 */ bgez $v1, .L800641D4
|
||||
/* 064DC8 800641C8 000310C3 */ sra $v0, $v1, 3
|
||||
/* 064DCC 800641CC 24610007 */ addiu $at, $v1, 7
|
||||
/* 064DD0 800641D0 000110C3 */ sra $v0, $at, 3
|
||||
.L800641D4:
|
||||
/* 064DD4 800641D4 00026880 */ sll $t5, $v0, 2
|
||||
/* 064DD8 800641D8 8CEB0020 */ lw $t3, 0x20($a3)
|
||||
/* 064DDC 800641DC 01A26821 */ addu $t5, $t5, $v0
|
||||
/* 064DE0 800641E0 000D68C0 */ sll $t5, $t5, 3
|
||||
/* 064DE4 800641E4 016D4821 */ addu $t1, $t3, $t5
|
||||
/* 064DE8 800641E8 8D250020 */ lw $a1, 0x20($t1)
|
||||
/* 064DEC 800641EC 00000000 */ nop
|
||||
/* 064DF0 800641F0 10A00009 */ beqz $a1, .L80064218
|
||||
/* 064DF4 800641F4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 064DF8 800641F8 A4A80000 */ sh $t0, ($a1)
|
||||
/* 064DFC 800641FC 8CF80020 */ lw $t8, 0x20($a3)
|
||||
/* 064E00 80064200 00000000 */ nop
|
||||
/* 064E04 80064204 030DC821 */ addu $t9, $t8, $t5
|
||||
/* 064E08 80064208 8F240020 */ lw $a0, 0x20($t9)
|
||||
/* 064E0C 8006420C 0C019254 */ jal init_lpfilter
|
||||
/* 064E10 80064210 00000000 */ nop
|
||||
.L80064214:
|
||||
/* 064E14 80064214 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L80064218:
|
||||
/* 064E18 80064218 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 064E1C 8006421C 03E00008 */ jr $ra
|
||||
/* 064E20 80064220 00001025 */ move $v0, $zero
|
||||
|
||||
@@ -1,231 +0,0 @@
|
||||
glabel alFxPull
|
||||
/* 064830 80063C30 27BDFF60 */ addiu $sp, $sp, -0xa0
|
||||
/* 064834 80063C34 AFB3002C */ sw $s3, 0x2c($sp)
|
||||
/* 064838 80063C38 00809825 */ move $s3, $a0
|
||||
/* 06483C 80063C3C AFBF0044 */ sw $ra, 0x44($sp)
|
||||
/* 064840 80063C40 AFBE0040 */ sw $fp, 0x40($sp)
|
||||
/* 064844 80063C44 AFB7003C */ sw $s7, 0x3c($sp)
|
||||
/* 064848 80063C48 AFB60038 */ sw $s6, 0x38($sp)
|
||||
/* 06484C 80063C4C AFB50034 */ sw $s5, 0x34($sp)
|
||||
/* 064850 80063C50 AFB40030 */ sw $s4, 0x30($sp)
|
||||
/* 064854 80063C54 AFB20028 */ sw $s2, 0x28($sp)
|
||||
/* 064858 80063C58 AFB10024 */ sw $s1, 0x24($sp)
|
||||
/* 06485C 80063C5C AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* 064860 80063C60 8C840000 */ lw $a0, ($a0)
|
||||
/* 064864 80063C64 8FAE00B0 */ lw $t6, 0xb0($sp)
|
||||
/* 064868 80063C68 AFA0007C */ sw $zero, 0x7c($sp)
|
||||
/* 06486C 80063C6C AFAE0010 */ sw $t6, 0x10($sp)
|
||||
/* 064870 80063C70 8C990004 */ lw $t9, 4($a0)
|
||||
/* 064874 80063C74 00C0B025 */ move $s6, $a2
|
||||
/* 064878 80063C78 0320F809 */ jalr $t9
|
||||
/* 06487C 80063C7C 00000000 */ nop
|
||||
/* 064880 80063C80 3C0F800E */ lui $t7, %hi(D_800DCEB0) # $t7, 0x800e
|
||||
/* 064884 80063C84 91EFCEB0 */ lbu $t7, %lo(D_800DCEB0)($t7)
|
||||
/* 064888 80063C88 8FA3007C */ lw $v1, 0x7c($sp)
|
||||
/* 06488C 80063C8C 15E00003 */ bnez $t7, .L80063C9C
|
||||
/* 064890 80063C90 00408025 */ move $s0, $v0
|
||||
/* 064894 80063C94 100000B4 */ b .L80063F68
|
||||
/* 064898 80063C98 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
.L80063C9C:
|
||||
/* 06489C 80063C9C 02001025 */ move $v0, $s0
|
||||
/* 0648A0 80063CA0 00168840 */ sll $s1, $s6, 1
|
||||
/* 0648A4 80063CA4 322BFFFF */ andi $t3, $s1, 0xffff
|
||||
/* 0648A8 80063CA8 26080008 */ addiu $t0, $s0, 8
|
||||
/* 0648AC 80063CAC 3C180800 */ lui $t8, 0x800
|
||||
/* 0648B0 80063CB0 AC580000 */ sw $t8, ($v0)
|
||||
/* 0648B4 80063CB4 AC4B0004 */ sw $t3, 4($v0)
|
||||
/* 0648B8 80063CB8 3C0C0C00 */ lui $t4, (0x0C00DA83 >> 16) # lui $t4, 0xc00
|
||||
/* 0648BC 80063CBC 3C0D06C0 */ lui $t5, (0x06C006C0 >> 16) # lui $t5, 0x6c0
|
||||
/* 0648C0 80063CC0 35AD06C0 */ ori $t5, (0x06C006C0 & 0xFFFF) # ori $t5, $t5, 0x6c0
|
||||
/* 0648C4 80063CC4 358CDA83 */ ori $t4, (0x0C00DA83 & 0xFFFF) # ori $t4, $t4, 0xda83
|
||||
/* 0648C8 80063CC8 AD0C0000 */ sw $t4, ($t0)
|
||||
/* 0648CC 80063CCC AD0D0004 */ sw $t5, 4($t0)
|
||||
/* 0648D0 80063CD0 25090008 */ addiu $t1, $t0, 8
|
||||
/* 0648D4 80063CD4 3C0E0C00 */ lui $t6, (0x0C005A82 >> 16) # lui $t6, 0xc00
|
||||
/* 0648D8 80063CD8 3C190800 */ lui $t9, (0x080006C0 >> 16) # lui $t9, 0x800
|
||||
/* 0648DC 80063CDC 373906C0 */ ori $t9, (0x080006C0 & 0xFFFF) # ori $t9, $t9, 0x6c0
|
||||
/* 0648E0 80063CE0 35CE5A82 */ ori $t6, (0x0C005A82 & 0xFFFF) # ori $t6, $t6, 0x5a82
|
||||
/* 0648E4 80063CE4 AD2E0000 */ sw $t6, ($t1)
|
||||
/* 0648E8 80063CE8 AD390004 */ sw $t9, 4($t1)
|
||||
/* 0648EC 80063CEC 8E650018 */ lw $a1, 0x18($s3)
|
||||
/* 0648F0 80063CF0 25300008 */ addiu $s0, $t1, 8
|
||||
/* 0648F4 80063CF4 0000A825 */ move $s5, $zero
|
||||
/* 0648F8 80063CF8 24120140 */ li $s2, 320
|
||||
/* 0648FC 80063CFC AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 064900 80063D00 AFAB0048 */ sw $t3, 0x48($sp)
|
||||
/* 064904 80063D04 AFB10050 */ sw $s1, 0x50($sp)
|
||||
/* 064908 80063D08 AFA3007C */ sw $v1, 0x7c($sp)
|
||||
/* 06490C 80063D0C 02602025 */ move $a0, $s3
|
||||
/* 064910 80063D10 240606C0 */ li $a2, 1728
|
||||
/* 064914 80063D14 0C01918E */ jal _saveBuffer
|
||||
/* 064918 80063D18 02C03825 */ move $a3, $s6
|
||||
/* 06491C 80063D1C 8FA3007C */ lw $v1, 0x7c($sp)
|
||||
/* 064920 80063D20 3C0F0200 */ lui $t7, (0x02000800 >> 16) # lui $t7, 0x200
|
||||
/* 064924 80063D24 35EF0800 */ ori $t7, (0x02000800 & 0xFFFF) # ori $t7, $t7, 0x800
|
||||
/* 064928 80063D28 AC4F0000 */ sw $t7, ($v0)
|
||||
/* 06492C 80063D2C AC510004 */ sw $s1, 4($v0)
|
||||
/* 064930 80063D30 92780024 */ lbu $t8, 0x24($s3)
|
||||
/* 064934 80063D34 24500008 */ addiu $s0, $v0, 8
|
||||
/* 064938 80063D38 1B000076 */ blez $t8, .L80063F14
|
||||
/* 06493C 80063D3C 0000B825 */ move $s7, $zero
|
||||
/* 064940 80063D40 8E620018 */ lw $v0, 0x18($s3)
|
||||
/* 064944 80063D44 00000000 */ nop
|
||||
.L80063D48:
|
||||
/* 064948 80063D48 00176880 */ sll $t5, $s7, 2
|
||||
/* 06494C 80063D4C 8E6C0020 */ lw $t4, 0x20($s3)
|
||||
/* 064950 80063D50 01B76821 */ addu $t5, $t5, $s7
|
||||
/* 064954 80063D54 000D68C0 */ sll $t5, $t5, 3
|
||||
/* 064958 80063D58 018D8821 */ addu $s1, $t4, $t5
|
||||
/* 06495C 80063D5C 8E2E0000 */ lw $t6, ($s1)
|
||||
/* 064960 80063D60 8E380004 */ lw $t8, 4($s1)
|
||||
/* 064964 80063D64 000EC823 */ negu $t9, $t6
|
||||
/* 064968 80063D68 00197840 */ sll $t7, $t9, 1
|
||||
/* 06496C 80063D6C 00186023 */ negu $t4, $t8
|
||||
/* 064970 80063D70 004FA021 */ addu $s4, $v0, $t7
|
||||
/* 064974 80063D74 000C6840 */ sll $t5, $t4, 1
|
||||
/* 064978 80063D78 16830009 */ bne $s4, $v1, .L80063DA0
|
||||
/* 06497C 80063D7C 004DF021 */ addu $fp, $v0, $t5
|
||||
/* 064980 80063D80 02407025 */ move $t6, $s2
|
||||
/* 064984 80063D84 00159400 */ sll $s2, $s5, 0x10
|
||||
/* 064988 80063D88 000EAC00 */ sll $s5, $t6, 0x10
|
||||
/* 06498C 80063D8C 00157C03 */ sra $t7, $s5, 0x10
|
||||
/* 064990 80063D90 0012CC03 */ sra $t9, $s2, 0x10
|
||||
/* 064994 80063D94 03209025 */ move $s2, $t9
|
||||
/* 064998 80063D98 10000008 */ b .L80063DBC
|
||||
/* 06499C 80063D9C 01E0A825 */ move $s5, $t7
|
||||
.L80063DA0:
|
||||
/* 0649A0 80063DA0 02602025 */ move $a0, $s3
|
||||
/* 0649A4 80063DA4 02802825 */ move $a1, $s4
|
||||
/* 0649A8 80063DA8 02A03025 */ move $a2, $s5
|
||||
/* 0649AC 80063DAC 02C03825 */ move $a3, $s6
|
||||
/* 0649B0 80063DB0 0C019128 */ jal _loadBuffer
|
||||
/* 0649B4 80063DB4 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 0649B8 80063DB8 00408025 */ move $s0, $v0
|
||||
.L80063DBC:
|
||||
/* 0649BC 80063DBC 02602025 */ move $a0, $s3
|
||||
/* 0649C0 80063DC0 02202825 */ move $a1, $s1
|
||||
/* 0649C4 80063DC4 02403025 */ move $a2, $s2
|
||||
/* 0649C8 80063DC8 02C03825 */ move $a3, $s6
|
||||
/* 0649CC 80063DCC 0C019089 */ jal _loadOutputBuffer
|
||||
/* 0649D0 80063DD0 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 0649D4 80063DD4 86240008 */ lh $a0, 8($s1)
|
||||
/* 0649D8 80063DD8 00408025 */ move $s0, $v0
|
||||
/* 0649DC 80063DDC 10800015 */ beqz $a0, .L80063E34
|
||||
/* 0649E0 80063DE0 308CFFFF */ andi $t4, $a0, 0xffff
|
||||
/* 0649E4 80063DE4 3C010C00 */ lui $at, 0xc00
|
||||
/* 0649E8 80063DE8 0015CC00 */ sll $t9, $s5, 0x10
|
||||
/* 0649EC 80063DEC 324FFFFF */ andi $t7, $s2, 0xffff
|
||||
/* 0649F0 80063DF0 032FC025 */ or $t8, $t9, $t7
|
||||
/* 0649F4 80063DF4 01816825 */ or $t5, $t4, $at
|
||||
/* 0649F8 80063DF8 AC4D0000 */ sw $t5, ($v0)
|
||||
/* 0649FC 80063DFC AC580004 */ sw $t8, 4($v0)
|
||||
/* 064A00 80063E00 8E2C0024 */ lw $t4, 0x24($s1)
|
||||
/* 064A04 80063E04 24500008 */ addiu $s0, $v0, 8
|
||||
/* 064A08 80063E08 1580000A */ bnez $t4, .L80063E34
|
||||
/* 064A0C 80063E0C 00000000 */ nop
|
||||
/* 064A10 80063E10 8E2D0020 */ lw $t5, 0x20($s1)
|
||||
/* 064A14 80063E14 02602025 */ move $a0, $s3
|
||||
/* 064A18 80063E18 15A00006 */ bnez $t5, .L80063E34
|
||||
/* 064A1C 80063E1C 03C02825 */ move $a1, $fp
|
||||
/* 064A20 80063E20 02403025 */ move $a2, $s2
|
||||
/* 064A24 80063E24 02C03825 */ move $a3, $s6
|
||||
/* 064A28 80063E28 0C01918E */ jal _saveBuffer
|
||||
/* 064A2C 80063E2C AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 064A30 80063E30 00408025 */ move $s0, $v0
|
||||
.L80063E34:
|
||||
/* 064A34 80063E34 8623000A */ lh $v1, 0xa($s1)
|
||||
/* 064A38 80063E38 02001025 */ move $v0, $s0
|
||||
/* 064A3C 80063E3C 10600010 */ beqz $v1, .L80063E80
|
||||
/* 064A40 80063E40 3079FFFF */ andi $t9, $v1, 0xffff
|
||||
/* 064A44 80063E44 3C010C00 */ lui $at, 0xc00
|
||||
/* 064A48 80063E48 00126400 */ sll $t4, $s2, 0x10
|
||||
/* 064A4C 80063E4C 32ADFFFF */ andi $t5, $s5, 0xffff
|
||||
/* 064A50 80063E50 018D7025 */ or $t6, $t4, $t5
|
||||
/* 064A54 80063E54 03217825 */ or $t7, $t9, $at
|
||||
/* 064A58 80063E58 AC4F0000 */ sw $t7, ($v0)
|
||||
/* 064A5C 80063E5C AC4E0004 */ sw $t6, 4($v0)
|
||||
/* 064A60 80063E60 26100008 */ addiu $s0, $s0, 8
|
||||
/* 064A64 80063E64 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 064A68 80063E68 02602025 */ move $a0, $s3
|
||||
/* 064A6C 80063E6C 02802825 */ move $a1, $s4
|
||||
/* 064A70 80063E70 02A03025 */ move $a2, $s5
|
||||
/* 064A74 80063E74 0C01918E */ jal _saveBuffer
|
||||
/* 064A78 80063E78 02C03825 */ move $a3, $s6
|
||||
/* 064A7C 80063E7C 00408025 */ move $s0, $v0
|
||||
.L80063E80:
|
||||
/* 064A80 80063E80 8E240020 */ lw $a0, 0x20($s1)
|
||||
/* 064A84 80063E84 02402825 */ move $a1, $s2
|
||||
/* 064A88 80063E88 10800004 */ beqz $a0, .L80063E9C
|
||||
/* 064A8C 80063E8C 02C03025 */ move $a2, $s6
|
||||
/* 064A90 80063E90 0C0191F4 */ jal _filterBuffer
|
||||
/* 064A94 80063E94 02003825 */ move $a3, $s0
|
||||
/* 064A98 80063E98 00408025 */ move $s0, $v0
|
||||
.L80063E9C:
|
||||
/* 064A9C 80063E9C 8E390024 */ lw $t9, 0x24($s1)
|
||||
/* 064AA0 80063EA0 02602025 */ move $a0, $s3
|
||||
/* 064AA4 80063EA4 17200006 */ bnez $t9, .L80063EC0
|
||||
/* 064AA8 80063EA8 03C02825 */ move $a1, $fp
|
||||
/* 064AAC 80063EAC 02403025 */ move $a2, $s2
|
||||
/* 064AB0 80063EB0 02C03825 */ move $a3, $s6
|
||||
/* 064AB4 80063EB4 0C01918E */ jal _saveBuffer
|
||||
/* 064AB8 80063EB8 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 064ABC 80063EBC 00408025 */ move $s0, $v0
|
||||
.L80063EC0:
|
||||
/* 064AC0 80063EC0 8623000C */ lh $v1, 0xc($s1)
|
||||
/* 064AC4 80063EC4 26F70001 */ addiu $s7, $s7, 1
|
||||
/* 064AC8 80063EC8 10600009 */ beqz $v1, .L80063EF0
|
||||
/* 064ACC 80063ECC 02001025 */ move $v0, $s0
|
||||
/* 064AD0 80063ED0 3078FFFF */ andi $t8, $v1, 0xffff
|
||||
/* 064AD4 80063ED4 3C010C00 */ lui $at, 0xc00
|
||||
/* 064AD8 80063ED8 00127400 */ sll $t6, $s2, 0x10
|
||||
/* 064ADC 80063EDC 35D90800 */ ori $t9, $t6, 0x800
|
||||
/* 064AE0 80063EE0 03016025 */ or $t4, $t8, $at
|
||||
/* 064AE4 80063EE4 AC4C0000 */ sw $t4, ($v0)
|
||||
/* 064AE8 80063EE8 AC590004 */ sw $t9, 4($v0)
|
||||
/* 064AEC 80063EEC 26100008 */ addiu $s0, $s0, 8
|
||||
.L80063EF0:
|
||||
/* 064AF0 80063EF0 926E0024 */ lbu $t6, 0x24($s3)
|
||||
/* 064AF4 80063EF4 8E2F0004 */ lw $t7, 4($s1)
|
||||
/* 064AF8 80063EF8 00176400 */ sll $t4, $s7, 0x10
|
||||
/* 064AFC 80063EFC 8E620018 */ lw $v0, 0x18($s3)
|
||||
/* 064B00 80063F00 000CBC03 */ sra $s7, $t4, 0x10
|
||||
/* 064B04 80063F04 02EE082A */ slt $at, $s7, $t6
|
||||
/* 064B08 80063F08 000FC040 */ sll $t8, $t7, 1
|
||||
/* 064B0C 80063F0C 1420FF8E */ bnez $at, .L80063D48
|
||||
/* 064B10 80063F10 00581821 */ addu $v1, $v0, $t8
|
||||
.L80063F14:
|
||||
/* 064B14 80063F14 8E63001C */ lw $v1, 0x1c($s3)
|
||||
/* 064B18 80063F18 8E790018 */ lw $t9, 0x18($s3)
|
||||
/* 064B1C 80063F1C 8FAF0050 */ lw $t7, 0x50($sp)
|
||||
/* 064B20 80063F20 8E6D0014 */ lw $t5, 0x14($s3)
|
||||
/* 064B24 80063F24 00036040 */ sll $t4, $v1, 1
|
||||
/* 064B28 80063F28 032FC021 */ addu $t8, $t9, $t7
|
||||
/* 064B2C 80063F2C 01AC7021 */ addu $t6, $t5, $t4
|
||||
/* 064B30 80063F30 01D8082B */ sltu $at, $t6, $t8
|
||||
/* 064B34 80063F34 10200003 */ beqz $at, .L80063F44
|
||||
/* 064B38 80063F38 AE780018 */ sw $t8, 0x18($s3)
|
||||
/* 064B3C 80063F3C 030CC823 */ subu $t9, $t8, $t4
|
||||
/* 064B40 80063F40 AE790018 */ sw $t9, 0x18($s3)
|
||||
.L80063F44:
|
||||
/* 064B44 80063F44 3C0F0A00 */ lui $t7, (0x0A000800 >> 16) # lui $t7, 0xa00
|
||||
/* 064B48 80063F48 35EF0800 */ ori $t7, (0x0A000800 & 0xFFFF) # ori $t7, $t7, 0x800
|
||||
/* 064B4C 80063F4C AE0F0000 */ sw $t7, ($s0)
|
||||
/* 064B50 80063F50 8FB80048 */ lw $t8, 0x48($sp)
|
||||
/* 064B54 80063F54 3C0106C0 */ lui $at, 0x6c0
|
||||
/* 064B58 80063F58 03016025 */ or $t4, $t8, $at
|
||||
/* 064B5C 80063F5C AE0C0004 */ sw $t4, 4($s0)
|
||||
/* 064B60 80063F60 26020008 */ addiu $v0, $s0, 8
|
||||
/* 064B64 80063F64 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
.L80063F68:
|
||||
/* 064B68 80063F68 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* 064B6C 80063F6C 8FB10024 */ lw $s1, 0x24($sp)
|
||||
/* 064B70 80063F70 8FB20028 */ lw $s2, 0x28($sp)
|
||||
/* 064B74 80063F74 8FB3002C */ lw $s3, 0x2c($sp)
|
||||
/* 064B78 80063F78 8FB40030 */ lw $s4, 0x30($sp)
|
||||
/* 064B7C 80063F7C 8FB50034 */ lw $s5, 0x34($sp)
|
||||
/* 064B80 80063F80 8FB60038 */ lw $s6, 0x38($sp)
|
||||
/* 064B84 80063F84 8FB7003C */ lw $s7, 0x3c($sp)
|
||||
/* 064B88 80063F88 8FBE0040 */ lw $fp, 0x40($sp)
|
||||
/* 064B8C 80063F8C 03E00008 */ jr $ra
|
||||
/* 064B90 80063F90 27BD00A0 */ addiu $sp, $sp, 0xa0
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
glabel func_8006492C
|
||||
/* 06552C 8006492C 3C01800E */ lui $at, %hi(D_800DCEB0) # $at, 0x800e
|
||||
/* 065530 80064930 AFA40000 */ sw $a0, ($sp)
|
||||
/* 065534 80064934 03E00008 */ jr $ra
|
||||
/* 065538 80064938 A024CEB0 */ sb $a0, %lo(D_800DCEB0)($at)
|
||||
|
||||
/* 06553C 8006493C 3C02800E */ lui $v0, %hi(D_800DCEB0) # $v0, 0x800e
|
||||
/* 065540 80064940 9042CEB0 */ lbu $v0, %lo(D_800DCEB0)($v0)
|
||||
/* 065544 80064944 03E00008 */ jr $ra
|
||||
/* 065548 80064948 00000000 */ nop
|
||||
|
||||
/* 06554C 8006494C 00000000 */ nop
|
||||
@@ -1,151 +0,0 @@
|
||||
.late_rodata
|
||||
glabel D_800E796C
|
||||
.float 468750.0
|
||||
|
||||
.text
|
||||
glabel __scHandleRSP
|
||||
/* 07A744 80079B44 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* 07A748 80079B48 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 07A74C 80079B4C AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 07A750 80079B50 AFA00030 */ sw $zero, 0x30($sp)
|
||||
/* 07A754 80079B54 AFA0002C */ sw $zero, 0x2c($sp)
|
||||
/* 07A758 80079B58 8C850274 */ lw $a1, 0x274($a0)
|
||||
/* 07A75C 80079B5C AC800274 */ sw $zero, 0x274($a0)
|
||||
/* 07A760 80079B60 8CAE0010 */ lw $t6, 0x10($a1)
|
||||
/* 07A764 80079B64 24010002 */ li $at, 2
|
||||
/* 07A768 80079B68 15C10039 */ bne $t6, $at, .L80079C50
|
||||
/* 07A76C 80079B6C 00808025 */ move $s0, $a0
|
||||
/* 07A770 80079B70 0C031E34 */ jal osGetCount
|
||||
/* 07A774 80079B74 AFA50034 */ sw $a1, 0x34($sp)
|
||||
/* 07A778 80079B78 3C038012 */ lui $v1, %hi(gRSPAudTaskCount) # $v1, 0x8012
|
||||
/* 07A77C 80079B7C 24636124 */ addiu $v1, %lo(gRSPAudTaskCount) # addiu $v1, $v1, 0x6124
|
||||
/* 07A780 80079B80 AC620000 */ sw $v0, ($v1)
|
||||
/* 07A784 80079B84 3C188012 */ lui $t8, %hi(D_80126120) # $t8, 0x8012
|
||||
/* 07A788 80079B88 8F186120 */ lw $t8, %lo(D_80126120)($t8)
|
||||
/* 07A78C 80079B8C 3C04800E */ lui $a0, %hi(D_800DE74C) # $a0, 0x800e
|
||||
/* 07A790 80079B90 0058C823 */ subu $t9, $v0, $t8
|
||||
/* 07A794 80079B94 44992000 */ mtc1 $t9, $f4
|
||||
/* 07A798 80079B98 8FA50034 */ lw $a1, 0x34($sp)
|
||||
/* 07A79C 80079B9C 3C06800E */ lui $a2, %hi(D_800DE744) # $a2, 0x800e
|
||||
/* 07A7A0 80079BA0 3C07800E */ lui $a3, %hi(D_800DE740) # $a3, 0x800e
|
||||
/* 07A7A4 80079BA4 24E7E740 */ addiu $a3, %lo(D_800DE740) # addiu $a3, $a3, -0x18c0
|
||||
/* 07A7A8 80079BA8 24C6E744 */ addiu $a2, %lo(D_800DE744) # addiu $a2, $a2, -0x18bc
|
||||
/* 07A7AC 80079BAC 2484E74C */ addiu $a0, %lo(D_800DE74C) # addiu $a0, $a0, -0x18b4
|
||||
/* 07A7B0 80079BB0 07210005 */ bgez $t9, .L80079BC8
|
||||
/* 07A7B4 80079BB4 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 07A7B8 80079BB8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
||||
/* 07A7BC 80079BBC 44814000 */ mtc1 $at, $f8
|
||||
/* 07A7C0 80079BC0 00000000 */ nop
|
||||
/* 07A7C4 80079BC4 46083180 */ add.s $f6, $f6, $f8
|
||||
.L80079BC8:
|
||||
/* 07A7C8 80079BC8 3C014270 */ li $at, 0x42700000 # 60.000000
|
||||
/* 07A7CC 80079BCC 44815000 */ mtc1 $at, $f10
|
||||
/* 07A7D0 80079BD0 3C01800E */ lui $at, %hi(D_800E796C) # $at, 0x800e
|
||||
/* 07A7D4 80079BD4 460A3402 */ mul.s $f16, $f6, $f10
|
||||
/* 07A7D8 80079BD8 C432796C */ lwc1 $f18, %lo(D_800E796C)($at)
|
||||
/* 07A7DC 80079BDC C4EA0000 */ lwc1 $f10, ($a3)
|
||||
/* 07A7E0 80079BE0 C4C80000 */ lwc1 $f8, ($a2)
|
||||
/* 07A7E4 80079BE4 46128103 */ div.s $f4, $f16, $f18
|
||||
/* 07A7E8 80079BE8 3C02800E */ lui $v0, %hi(gRetraceCounter32) # $v0, 0x800e
|
||||
/* 07A7EC 80079BEC E4840000 */ swc1 $f4, ($a0)
|
||||
/* 07A7F0 80079BF0 C4800000 */ lwc1 $f0, ($a0)
|
||||
/* 07A7F4 80079BF4 00000000 */ nop
|
||||
/* 07A7F8 80079BF8 4600503C */ c.lt.s $f10, $f0
|
||||
/* 07A7FC 80079BFC 46004180 */ add.s $f6, $f8, $f0
|
||||
/* 07A800 80079C00 45000002 */ bc1f .L80079C0C
|
||||
/* 07A804 80079C04 E4C60000 */ swc1 $f6, ($a2)
|
||||
/* 07A808 80079C08 E4E00000 */ swc1 $f0, ($a3)
|
||||
.L80079C0C:
|
||||
/* 07A80C 80079C0C 8C42E750 */ lw $v0, %lo(gRetraceCounter32)($v0)
|
||||
/* 07A810 80079C10 240103E8 */ li $at, 1000
|
||||
/* 07A814 80079C14 0041001A */ div $zero, $v0, $at
|
||||
/* 07A818 80079C18 24010001 */ li $at, 1
|
||||
/* 07A81C 80079C1C 00004010 */ mfhi $t0
|
||||
/* 07A820 80079C20 11010002 */ beq $t0, $at, .L80079C2C
|
||||
/* 07A824 80079C24 24010002 */ li $at, 2
|
||||
/* 07A828 80079C28 15010009 */ bne $t0, $at, .L80079C50
|
||||
.L80079C2C:
|
||||
/* 07A82C 80079C2C 3C0143FA */ li $at, 0x43FA0000 # 500.000000
|
||||
/* 07A830 80079C30 44819000 */ mtc1 $at, $f18
|
||||
/* 07A834 80079C34 C4D00000 */ lwc1 $f16, ($a2)
|
||||
/* 07A838 80079C38 44800000 */ mtc1 $zero, $f0
|
||||
/* 07A83C 80079C3C 46128103 */ div.s $f4, $f16, $f18
|
||||
/* 07A840 80079C40 3C01800E */ lui $at, %hi(D_800DE748) # $at, 0x800e
|
||||
/* 07A844 80079C44 E424E748 */ swc1 $f4, %lo(D_800DE748)($at)
|
||||
/* 07A848 80079C48 E4C00000 */ swc1 $f0, ($a2)
|
||||
/* 07A84C 80079C4C E4E00000 */ swc1 $f0, ($a3)
|
||||
.L80079C50:
|
||||
/* 07A850 80079C50 8CA20004 */ lw $v0, 4($a1)
|
||||
/* 07A854 80079C54 2401FFFD */ li $at, -3
|
||||
/* 07A858 80079C58 30490010 */ andi $t1, $v0, 0x10
|
||||
/* 07A85C 80079C5C 11200026 */ beqz $t1, .L80079CF8
|
||||
/* 07A860 80079C60 00415024 */ and $t2, $v0, $at
|
||||
/* 07A864 80079C64 24A40010 */ addiu $a0, $a1, 0x10
|
||||
/* 07A868 80079C68 0C03477C */ jal osSpTaskYielded
|
||||
/* 07A86C 80079C6C AFA50034 */ sw $a1, 0x34($sp)
|
||||
/* 07A870 80079C70 8FA50034 */ lw $a1, 0x34($sp)
|
||||
/* 07A874 80079C74 10400015 */ beqz $v0, .L80079CCC
|
||||
/* 07A878 80079C78 2401FFFD */ li $at, -3
|
||||
/* 07A87C 80079C7C 8CAA0004 */ lw $t2, 4($a1)
|
||||
/* 07A880 80079C80 8CAC0008 */ lw $t4, 8($a1)
|
||||
/* 07A884 80079C84 24010003 */ li $at, 3
|
||||
/* 07A888 80079C88 354B0020 */ ori $t3, $t2, 0x20
|
||||
/* 07A88C 80079C8C 318D0007 */ andi $t5, $t4, 7
|
||||
/* 07A890 80079C90 15A10009 */ bne $t5, $at, .L80079CB8
|
||||
/* 07A894 80079C94 ACAB0004 */ sw $t3, 4($a1)
|
||||
/* 07A898 80079C98 8E0E0268 */ lw $t6, 0x268($s0)
|
||||
/* 07A89C 80079C9C 00000000 */ nop
|
||||
/* 07A8A0 80079CA0 ACAE0000 */ sw $t6, ($a1)
|
||||
/* 07A8A4 80079CA4 8E0F0270 */ lw $t7, 0x270($s0)
|
||||
/* 07A8A8 80079CA8 AE050268 */ sw $a1, 0x268($s0)
|
||||
/* 07A8AC 80079CAC 15E00002 */ bnez $t7, .L80079CB8
|
||||
/* 07A8B0 80079CB0 00000000 */ nop
|
||||
/* 07A8B4 80079CB4 AE050270 */ sw $a1, 0x270($s0)
|
||||
.L80079CB8:
|
||||
/* 07A8B8 80079CB8 8CA20008 */ lw $v0, 8($a1)
|
||||
/* 07A8BC 80079CBC 00000000 */ nop
|
||||
/* 07A8C0 80079CC0 30580007 */ andi $t8, $v0, 7
|
||||
/* 07A8C4 80079CC4 10000007 */ b .L80079CE4
|
||||
/* 07A8C8 80079CC8 03001025 */ move $v0, $t8
|
||||
.L80079CCC:
|
||||
/* 07A8CC 80079CCC 8CB90004 */ lw $t9, 4($a1)
|
||||
/* 07A8D0 80079CD0 8CA20008 */ lw $v0, 8($a1)
|
||||
/* 07A8D4 80079CD4 03214024 */ and $t0, $t9, $at
|
||||
/* 07A8D8 80079CD8 30490007 */ andi $t1, $v0, 7
|
||||
/* 07A8DC 80079CDC ACA80004 */ sw $t0, 4($a1)
|
||||
/* 07A8E0 80079CE0 01201025 */ move $v0, $t1
|
||||
.L80079CE4:
|
||||
/* 07A8E4 80079CE4 24010003 */ li $at, 3
|
||||
/* 07A8E8 80079CE8 10410006 */ beq $v0, $at, .L80079D04
|
||||
/* 07A8EC 80079CEC 00000000 */ nop
|
||||
/* 07A8F0 80079CF0 10000005 */ b .L80079D08
|
||||
/* 07A8F4 80079CF4 8E0B0274 */ lw $t3, 0x274($s0)
|
||||
.L80079CF8:
|
||||
/* 07A8F8 80079CF8 ACAA0004 */ sw $t2, 4($a1)
|
||||
/* 07A8FC 80079CFC 0C01E790 */ jal __scTaskComplete
|
||||
/* 07A900 80079D00 02002025 */ move $a0, $s0
|
||||
.L80079D04:
|
||||
/* 07A904 80079D04 8E0B0274 */ lw $t3, 0x274($s0)
|
||||
.L80079D08:
|
||||
/* 07A908 80079D08 8E0E0278 */ lw $t6, 0x278($s0)
|
||||
/* 07A90C 80079D0C 2D6C0001 */ sltiu $t4, $t3, 1
|
||||
/* 07A910 80079D10 000C6840 */ sll $t5, $t4, 1
|
||||
/* 07A914 80079D14 2DCF0001 */ sltiu $t7, $t6, 1
|
||||
/* 07A918 80079D18 01AF3825 */ or $a3, $t5, $t7
|
||||
/* 07A91C 80079D1C AFA70028 */ sw $a3, 0x28($sp)
|
||||
/* 07A920 80079D20 02002025 */ move $a0, $s0
|
||||
/* 07A924 80079D24 27A50030 */ addiu $a1, $sp, 0x30
|
||||
/* 07A928 80079D28 0C01E835 */ jal __scSchedule
|
||||
/* 07A92C 80079D2C 27A6002C */ addiu $a2, $sp, 0x2c
|
||||
/* 07A930 80079D30 8FA70028 */ lw $a3, 0x28($sp)
|
||||
/* 07A934 80079D34 8FA50030 */ lw $a1, 0x30($sp)
|
||||
/* 07A938 80079D38 10470005 */ beq $v0, $a3, .L80079D50
|
||||
/* 07A93C 80079D3C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 07A940 80079D40 8FA6002C */ lw $a2, 0x2c($sp)
|
||||
/* 07A944 80079D44 0C01E7EA */ jal __scExec
|
||||
/* 07A948 80079D48 02002025 */ move $a0, $s0
|
||||
/* 07A94C 80079D4C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L80079D50:
|
||||
/* 07A950 80079D50 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 07A954 80079D54 03E00008 */ jr $ra
|
||||
/* 07A958 80079D58 27BD0038 */ addiu $sp, $sp, 0x38
|
||||
@@ -1,226 +0,0 @@
|
||||
glabel alSynNew
|
||||
/* 065D30 80065130 27BDFF90 */ addiu $sp, $sp, -0x70
|
||||
/* 065D34 80065134 AFBF0044 */ sw $ra, 0x44($sp)
|
||||
/* 065D38 80065138 AFBE0040 */ sw $fp, 0x40($sp)
|
||||
/* 065D3C 8006513C AFB7003C */ sw $s7, 0x3c($sp)
|
||||
/* 065D40 80065140 AFB60038 */ sw $s6, 0x38($sp)
|
||||
/* 065D44 80065144 AFB50034 */ sw $s5, 0x34($sp)
|
||||
/* 065D48 80065148 AFB40030 */ sw $s4, 0x30($sp)
|
||||
/* 065D4C 8006514C AFB3002C */ sw $s3, 0x2c($sp)
|
||||
/* 065D50 80065150 AFB20028 */ sw $s2, 0x28($sp)
|
||||
/* 065D54 80065154 AFB10024 */ sw $s1, 0x24($sp)
|
||||
/* 065D58 80065158 AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* 065D5C 8006515C 8CB70014 */ lw $s7, 0x14($a1)
|
||||
/* 065D60 80065160 AC800000 */ sw $zero, ($a0)
|
||||
/* 065D64 80065164 8CAE0004 */ lw $t6, 4($a1)
|
||||
/* 065D68 80065168 AC800020 */ sw $zero, 0x20($a0)
|
||||
/* 065D6C 8006516C AC80001C */ sw $zero, 0x1c($a0)
|
||||
/* 065D70 80065170 AC8E003C */ sw $t6, 0x3c($a0)
|
||||
/* 065D74 80065174 8CAF0018 */ lw $t7, 0x18($a1)
|
||||
/* 065D78 80065178 241800A0 */ li $t8, 160
|
||||
/* 065D7C 8006517C AC980048 */ sw $t8, 0x48($a0)
|
||||
/* 065D80 80065180 AC8F0044 */ sw $t7, 0x44($a0)
|
||||
/* 065D84 80065184 8CB90010 */ lw $t9, 0x10($a1)
|
||||
/* 065D88 80065188 0080B025 */ move $s6, $a0
|
||||
/* 065D8C 8006518C 00A0F025 */ move $fp, $a1
|
||||
/* 065D90 80065190 2408001C */ li $t0, 28
|
||||
/* 065D94 80065194 AC990024 */ sw $t9, 0x24($a0)
|
||||
/* 065D98 80065198 AFA80010 */ sw $t0, 0x10($sp)
|
||||
/* 065D9C 8006519C 00002025 */ move $a0, $zero
|
||||
/* 065DA0 800651A0 00002825 */ move $a1, $zero
|
||||
/* 065DA4 800651A4 24070001 */ li $a3, 1
|
||||
/* 065DA8 800651A8 0C031DFC */ jal alHeapDBAlloc
|
||||
/* 065DAC 800651AC 02E03025 */ move $a2, $s7
|
||||
/* 065DB0 800651B0 AFA2005C */ sw $v0, 0x5c($sp)
|
||||
/* 065DB4 800651B4 0C019439 */ jal alSaveNew
|
||||
/* 065DB8 800651B8 00402025 */ move $a0, $v0
|
||||
/* 065DBC 800651BC 8FA9005C */ lw $t1, 0x5c($sp)
|
||||
/* 065DC0 800651C0 240A004C */ li $t2, 76
|
||||
/* 065DC4 800651C4 AEC90038 */ sw $t1, 0x38($s6)
|
||||
/* 065DC8 800651C8 AFAA0010 */ sw $t2, 0x10($sp)
|
||||
/* 065DCC 800651CC 00002025 */ move $a0, $zero
|
||||
/* 065DD0 800651D0 00002825 */ move $a1, $zero
|
||||
/* 065DD4 800651D4 02E03025 */ move $a2, $s7
|
||||
/* 065DD8 800651D8 0C031DFC */ jal alHeapDBAlloc
|
||||
/* 065DDC 800651DC 24070002 */ li $a3, 2
|
||||
/* 065DE0 800651E0 240B0002 */ li $t3, 2
|
||||
/* 065DE4 800651E4 AEC20034 */ sw $v0, 0x34($s6)
|
||||
/* 065DE8 800651E8 AECB0040 */ sw $t3, 0x40($s6)
|
||||
/* 065DEC 800651EC 8FC70004 */ lw $a3, 4($fp)
|
||||
/* 065DF0 800651F0 240C0004 */ li $t4, 4
|
||||
/* 065DF4 800651F4 AFAC0010 */ sw $t4, 0x10($sp)
|
||||
/* 065DF8 800651F8 00002025 */ move $a0, $zero
|
||||
/* 065DFC 800651FC 00002825 */ move $a1, $zero
|
||||
/* 065E00 80065200 0C031DFC */ jal alHeapDBAlloc
|
||||
/* 065E04 80065204 02E03025 */ move $a2, $s7
|
||||
/* 065E08 80065208 8EC40034 */ lw $a0, 0x34($s6)
|
||||
/* 065E0C 8006520C 8FC60004 */ lw $a2, 4($fp)
|
||||
/* 065E10 80065210 0C019409 */ jal alAuxBusNew
|
||||
/* 065E14 80065214 00402825 */ move $a1, $v0
|
||||
/* 065E18 80065218 8FC70004 */ lw $a3, 4($fp)
|
||||
/* 065E1C 8006521C 240D0004 */ li $t5, 4
|
||||
/* 065E20 80065220 AFAD0010 */ sw $t5, 0x10($sp)
|
||||
/* 065E24 80065224 00002025 */ move $a0, $zero
|
||||
/* 065E28 80065228 00002825 */ move $a1, $zero
|
||||
/* 065E2C 8006522C 0C031DFC */ jal alHeapDBAlloc
|
||||
/* 065E30 80065230 02E03025 */ move $a2, $s7
|
||||
/* 065E34 80065234 8EC40034 */ lw $a0, 0x34($s6)
|
||||
/* 065E38 80065238 8FC60004 */ lw $a2, 4($fp)
|
||||
/* 065E3C 8006523C 00402825 */ move $a1, $v0
|
||||
/* 065E40 80065240 0C019409 */ jal alAuxBusNew
|
||||
/* 065E44 80065244 2484004C */ addiu $a0, $a0, 0x4c
|
||||
/* 065E48 80065248 240E0020 */ li $t6, 32
|
||||
/* 065E4C 8006524C AFAE0010 */ sw $t6, 0x10($sp)
|
||||
/* 065E50 80065250 00002025 */ move $a0, $zero
|
||||
/* 065E54 80065254 00002825 */ move $a1, $zero
|
||||
/* 065E58 80065258 02E03025 */ move $a2, $s7
|
||||
/* 065E5C 8006525C 0C031DFC */ jal alHeapDBAlloc
|
||||
/* 065E60 80065260 24070001 */ li $a3, 1
|
||||
/* 065E64 80065264 AEC20030 */ sw $v0, 0x30($s6)
|
||||
/* 065E68 80065268 8FC70004 */ lw $a3, 4($fp)
|
||||
/* 065E6C 8006526C 240F0004 */ li $t7, 4
|
||||
/* 065E70 80065270 AFAF0010 */ sw $t7, 0x10($sp)
|
||||
/* 065E74 80065274 00002025 */ move $a0, $zero
|
||||
/* 065E78 80065278 00002825 */ move $a1, $zero
|
||||
/* 065E7C 8006527C 0C031DFC */ jal alHeapDBAlloc
|
||||
/* 065E80 80065280 02E03025 */ move $a2, $s7
|
||||
/* 065E84 80065284 8EC40030 */ lw $a0, 0x30($s6)
|
||||
/* 065E88 80065288 8FC60004 */ lw $a2, 4($fp)
|
||||
/* 065E8C 8006528C 0C019421 */ jal alMainBusNew
|
||||
/* 065E90 80065290 00402825 */ move $a1, $v0
|
||||
/* 065E94 80065294 00008025 */ move $s0, $zero
|
||||
/* 065E98 80065298 03C08825 */ move $s1, $fp
|
||||
/* 065E9C 8006529C 2412004C */ li $s2, 76
|
||||
.L800652A0:
|
||||
/* 065EA0 800652A0 9238001C */ lbu $t8, 0x1c($s1)
|
||||
/* 065EA4 800652A4 02C02025 */ move $a0, $s6
|
||||
/* 065EA8 800652A8 13000008 */ beqz $t8, .L800652CC
|
||||
/* 065EAC 800652AC 00102C00 */ sll $a1, $s0, 0x10
|
||||
/* 065EB0 800652B0 0005CC03 */ sra $t9, $a1, 0x10
|
||||
/* 065EB4 800652B4 03202825 */ move $a1, $t9
|
||||
/* 065EB8 800652B8 03C03025 */ move $a2, $fp
|
||||
/* 065EBC 800652BC 0C019618 */ jal alSynAllocFX
|
||||
/* 065EC0 800652C0 02E03825 */ move $a3, $s7
|
||||
/* 065EC4 800652C4 1000000A */ b .L800652F0
|
||||
/* 065EC8 800652C8 26100001 */ addiu $s0, $s0, 1
|
||||
.L800652CC:
|
||||
/* 065ECC 800652CC 02120019 */ multu $s0, $s2
|
||||
/* 065ED0 800652D0 8EC80034 */ lw $t0, 0x34($s6)
|
||||
/* 065ED4 800652D4 8EC40030 */ lw $a0, 0x30($s6)
|
||||
/* 065ED8 800652D8 24050002 */ li $a1, 2
|
||||
/* 065EDC 800652DC 00004812 */ mflo $t1
|
||||
/* 065EE0 800652E0 01093021 */ addu $a2, $t0, $t1
|
||||
/* 065EE4 800652E4 0C0330E4 */ jal alMainBusParam
|
||||
/* 065EE8 800652E8 00000000 */ nop
|
||||
/* 065EEC 800652EC 26100001 */ addiu $s0, $s0, 1
|
||||
.L800652F0:
|
||||
/* 065EF0 800652F0 2A010002 */ slti $at, $s0, 2
|
||||
/* 065EF4 800652F4 1420FFEA */ bnez $at, .L800652A0
|
||||
/* 065EF8 800652F8 26310001 */ addiu $s1, $s1, 1
|
||||
/* 065EFC 800652FC AEC00004 */ sw $zero, 4($s6)
|
||||
/* 065F00 80065300 AEC00008 */ sw $zero, 8($s6)
|
||||
/* 065F04 80065304 AEC00014 */ sw $zero, 0x14($s6)
|
||||
/* 065F08 80065308 AEC00018 */ sw $zero, 0x18($s6)
|
||||
/* 065F0C 8006530C AEC0000C */ sw $zero, 0xc($s6)
|
||||
/* 065F10 80065310 AEC00010 */ sw $zero, 0x10($s6)
|
||||
/* 065F14 80065314 8FC70004 */ lw $a3, 4($fp)
|
||||
/* 065F18 80065318 240A00E0 */ li $t2, 224
|
||||
/* 065F1C 8006531C AFAA0010 */ sw $t2, 0x10($sp)
|
||||
/* 065F20 80065320 00002025 */ move $a0, $zero
|
||||
/* 065F24 80065324 00002825 */ move $a1, $zero
|
||||
/* 065F28 80065328 0C031DFC */ jal alHeapDBAlloc
|
||||
/* 065F2C 8006532C 02E03025 */ move $a2, $s7
|
||||
/* 065F30 80065330 8FCB0004 */ lw $t3, 4($fp)
|
||||
/* 065F34 80065334 00008025 */ move $s0, $zero
|
||||
/* 065F38 80065338 19600030 */ blez $t3, .L800653FC
|
||||
/* 065F3C 8006533C 00408825 */ move $s1, $v0
|
||||
/* 065F40 80065340 26C50004 */ addiu $a1, $s6, 4
|
||||
/* 065F44 80065344 AFA50048 */ sw $a1, 0x48($sp)
|
||||
/* 065F48 80065348 2452008C */ addiu $s2, $v0, 0x8c
|
||||
/* 065F4C 8006534C 24530058 */ addiu $s3, $v0, 0x58
|
||||
/* 065F50 80065350 24540010 */ addiu $s4, $v0, 0x10
|
||||
.L80065354:
|
||||
/* 065F54 80065354 8FA50048 */ lw $a1, 0x48($sp)
|
||||
/* 065F58 80065358 0220A825 */ move $s5, $s1
|
||||
/* 065F5C 8006535C 0C0321E4 */ jal alLink
|
||||
/* 065F60 80065360 02202025 */ move $a0, $s1
|
||||
/* 065F64 80065364 AE200008 */ sw $zero, 8($s1)
|
||||
/* 065F68 80065368 8EC50024 */ lw $a1, 0x24($s6)
|
||||
/* 065F6C 8006536C 02802025 */ move $a0, $s4
|
||||
/* 065F70 80065370 0C0193BE */ jal alLoadNew
|
||||
/* 065F74 80065374 02E03025 */ move $a2, $s7
|
||||
/* 065F78 80065378 02802025 */ move $a0, $s4
|
||||
/* 065F7C 8006537C 24050001 */ li $a1, 1
|
||||
/* 065F80 80065380 0C032D50 */ jal alLoadParam
|
||||
/* 065F84 80065384 00003025 */ move $a2, $zero
|
||||
/* 065F88 80065388 02602025 */ move $a0, $s3
|
||||
/* 065F8C 8006538C 0C0193E7 */ jal alResampleNew
|
||||
/* 065F90 80065390 02E02825 */ move $a1, $s7
|
||||
/* 065F94 80065394 02602025 */ move $a0, $s3
|
||||
/* 065F98 80065398 24050001 */ li $a1, 1
|
||||
/* 065F9C 8006539C 0C033024 */ jal alResampleParam
|
||||
/* 065FA0 800653A0 02803025 */ move $a2, $s4
|
||||
/* 065FA4 800653A4 02402025 */ move $a0, $s2
|
||||
/* 065FA8 800653A8 0C019395 */ jal alEnvmixerNew
|
||||
/* 065FAC 800653AC 02E02825 */ move $a1, $s7
|
||||
/* 065FB0 800653B0 02402025 */ move $a0, $s2
|
||||
/* 065FB4 800653B4 24050001 */ li $a1, 1
|
||||
/* 065FB8 800653B8 0C032A9F */ jal alEnvmixerParam
|
||||
/* 065FBC 800653BC 02603025 */ move $a2, $s3
|
||||
/* 065FC0 800653C0 8EC40034 */ lw $a0, 0x34($s6)
|
||||
/* 065FC4 800653C4 24050002 */ li $a1, 2
|
||||
/* 065FC8 800653C8 0C019675 */ jal alAuxBusParam
|
||||
/* 065FCC 800653CC 02403025 */ move $a2, $s2
|
||||
/* 065FD0 800653D0 26AC008C */ addiu $t4, $s5, 0x8c
|
||||
/* 065FD4 800653D4 AEAC000C */ sw $t4, 0xc($s5)
|
||||
/* 065FD8 800653D8 8FCD0004 */ lw $t5, 4($fp)
|
||||
/* 065FDC 800653DC 26100001 */ addiu $s0, $s0, 1
|
||||
/* 065FE0 800653E0 020D082A */ slt $at, $s0, $t5
|
||||
/* 065FE4 800653E4 263100E0 */ addiu $s1, $s1, 0xe0
|
||||
/* 065FE8 800653E8 265200E0 */ addiu $s2, $s2, 0xe0
|
||||
/* 065FEC 800653EC 267300E0 */ addiu $s3, $s3, 0xe0
|
||||
/* 065FF0 800653F0 1420FFD8 */ bnez $at, .L80065354
|
||||
/* 065FF4 800653F4 269400E0 */ addiu $s4, $s4, 0xe0
|
||||
/* 065FF8 800653F8 00008025 */ move $s0, $zero
|
||||
.L800653FC:
|
||||
/* 065FFC 800653FC 8FA4005C */ lw $a0, 0x5c($sp)
|
||||
/* 066000 80065400 8EC60030 */ lw $a2, 0x30($s6)
|
||||
/* 066004 80065404 0C033138 */ jal alSaveParam
|
||||
/* 066008 80065408 24050001 */ li $a1, 1
|
||||
/* 06600C 8006540C 8FC70008 */ lw $a3, 8($fp)
|
||||
/* 066010 80065410 240E001C */ li $t6, 28
|
||||
/* 066014 80065414 AFAE0010 */ sw $t6, 0x10($sp)
|
||||
/* 066018 80065418 00002025 */ move $a0, $zero
|
||||
/* 06601C 8006541C 00002825 */ move $a1, $zero
|
||||
/* 066020 80065420 0C031DFC */ jal alHeapDBAlloc
|
||||
/* 066024 80065424 02E03025 */ move $a2, $s7
|
||||
/* 066028 80065428 AEC0002C */ sw $zero, 0x2c($s6)
|
||||
/* 06602C 8006542C 8FCF0008 */ lw $t7, 8($fp)
|
||||
/* 066030 80065430 00401825 */ move $v1, $v0
|
||||
/* 066034 80065434 19E0000A */ blez $t7, .L80065460
|
||||
/* 066038 80065438 00000000 */ nop
|
||||
.L8006543C:
|
||||
/* 06603C 8006543C 8ED8002C */ lw $t8, 0x2c($s6)
|
||||
/* 066040 80065440 26100001 */ addiu $s0, $s0, 1
|
||||
/* 066044 80065444 AC780000 */ sw $t8, ($v1)
|
||||
/* 066048 80065448 AEC3002C */ sw $v1, 0x2c($s6)
|
||||
/* 06604C 8006544C 8FD90008 */ lw $t9, 8($fp)
|
||||
/* 066050 80065450 2463001C */ addiu $v1, $v1, 0x1c
|
||||
/* 066054 80065454 0219082A */ slt $at, $s0, $t9
|
||||
/* 066058 80065458 1420FFF8 */ bnez $at, .L8006543C
|
||||
/* 06605C 8006545C 00000000 */ nop
|
||||
.L80065460:
|
||||
/* 066060 80065460 AED70028 */ sw $s7, 0x28($s6)
|
||||
/* 066064 80065464 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
/* 066068 80065468 8FBE0040 */ lw $fp, 0x40($sp)
|
||||
/* 06606C 8006546C 8FB7003C */ lw $s7, 0x3c($sp)
|
||||
/* 066070 80065470 8FB60038 */ lw $s6, 0x38($sp)
|
||||
/* 066074 80065474 8FB50034 */ lw $s5, 0x34($sp)
|
||||
/* 066078 80065478 8FB40030 */ lw $s4, 0x30($sp)
|
||||
/* 06607C 8006547C 8FB3002C */ lw $s3, 0x2c($sp)
|
||||
/* 066080 80065480 8FB20028 */ lw $s2, 0x28($sp)
|
||||
/* 066084 80065484 8FB10024 */ lw $s1, 0x24($sp)
|
||||
/* 066088 80065488 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* 06608C 8006548C 03E00008 */ jr $ra
|
||||
/* 066090 80065490 27BD0070 */ addiu $sp, $sp, 0x70
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user