mirror of
https://github.com/pmret/papermario.git
synced 2024-09-19 16:01:48 +02:00
nuAuDmaNew
This commit is contained in:
parent
f9d084937f
commit
55a37ba673
@ -263,7 +263,7 @@ glabel D_80078170
|
||||
glabel nuAuPreNMIFunc
|
||||
.word 0x00000000
|
||||
|
||||
glabel D_80078178
|
||||
glabel nuAuDmaNext
|
||||
.word 0x00000000
|
||||
|
||||
glabel nuAuFrameCounter
|
||||
|
@ -118,8 +118,8 @@ glabel func_8004AB00
|
||||
/* 260B8 8004ACB8 1440FFF6 */ bnez $v0, .L8004AC94
|
||||
/* 260BC 8004ACBC 26100004 */ addiu $s0, $s0, 4
|
||||
/* 260C0 8004ACC0 0000882D */ daddu $s1, $zero, $zero
|
||||
/* 260C4 8004ACC4 3C02800A */ lui $v0, %hi(D_800A3BE0)
|
||||
/* 260C8 8004ACC8 24423BE0 */ addiu $v0, $v0, %lo(D_800A3BE0)
|
||||
/* 260C4 8004ACC4 3C02800A */ lui $v0, %hi(nuAuDmaBuf)
|
||||
/* 260C8 8004ACC8 24423BE0 */ addiu $v0, $v0, %lo(nuAuDmaBuf)
|
||||
/* 260CC 8004ACCC 0040802D */ daddu $s0, $v0, $zero
|
||||
/* 260D0 8004ACD0 26120014 */ addiu $s2, $s0, 0x14
|
||||
/* 260D4 8004ACD4 AE000004 */ sw $zero, 4($s0)
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
glabel nuAuCleanDMABuffers
|
||||
/* 26668 8004B268 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 2666C 8004B26C 3C02800A */ lui $v0, %hi(D_800A3BD0)
|
||||
/* 26670 8004B270 24423BD0 */ addiu $v0, $v0, %lo(D_800A3BD0)
|
||||
/* 2666C 8004B26C 3C02800A */ lui $v0, %hi(nuAuDmaState)
|
||||
/* 26670 8004B270 24423BD0 */ addiu $v0, $v0, %lo(nuAuDmaState)
|
||||
/* 26674 8004B274 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 26678 8004B278 AFB20018 */ sw $s2, 0x18($sp)
|
||||
/* 2667C 8004B27C AFB10014 */ sw $s1, 0x14($sp)
|
||||
@ -45,8 +45,8 @@ glabel nuAuCleanDMABuffers
|
||||
/* 266F4 8004B2F4 3C038008 */ lui $v1, %hi(D_8007817C)
|
||||
/* 266F8 8004B2F8 2463817C */ addiu $v1, $v1, %lo(D_8007817C)
|
||||
/* 266FC 8004B2FC 8C620000 */ lw $v0, ($v1)
|
||||
/* 26700 8004B300 3C018008 */ lui $at, %hi(D_80078178)
|
||||
/* 26704 8004B304 AC208178 */ sw $zero, %lo(D_80078178)($at)
|
||||
/* 26700 8004B300 3C018008 */ lui $at, %hi(nuAuDmaNext)
|
||||
/* 26704 8004B304 AC208178 */ sw $zero, %lo(nuAuDmaNext)($at)
|
||||
/* 26708 8004B308 24420001 */ addiu $v0, $v0, 1
|
||||
/* 2670C 8004B30C AC620000 */ sw $v0, ($v1)
|
||||
/* 26710 8004B310 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
|
@ -33,8 +33,8 @@ glabel nuAuDmaCallBack
|
||||
/* 264DC 8004B0DC 1620FFF7 */ bnez $s1, .L8004B0BC
|
||||
/* 264E0 8004B0E0 00000000 */ nop
|
||||
.L8004B0E4:
|
||||
/* 264E4 8004B0E4 3C12800A */ lui $s2, %hi(D_800A3BD0)
|
||||
/* 264E8 8004B0E8 26523BD0 */ addiu $s2, $s2, %lo(D_800A3BD0)
|
||||
/* 264E4 8004B0E4 3C12800A */ lui $s2, %hi(nuAuDmaState)
|
||||
/* 264E8 8004B0E8 26523BD0 */ addiu $s2, $s2, %lo(nuAuDmaState)
|
||||
/* 264EC 8004B0EC 8E510008 */ lw $s1, 8($s2)
|
||||
/* 264F0 8004B0F0 16200006 */ bnez $s1, .L8004B10C
|
||||
/* 264F4 8004B0F4 0220202D */ daddu $a0, $s1, $zero
|
||||
@ -78,8 +78,8 @@ glabel nuAuDmaCallBack
|
||||
/* 2657C 8004B17C AE200000 */ sw $zero, ($s1)
|
||||
/* 26580 8004B180 AE200004 */ sw $zero, 4($s1)
|
||||
.L8004B184:
|
||||
/* 26584 8004B184 3C048008 */ lui $a0, %hi(D_80078178)
|
||||
/* 26588 8004B188 24848178 */ addiu $a0, $a0, %lo(D_80078178)
|
||||
/* 26584 8004B184 3C048008 */ lui $a0, %hi(nuAuDmaNext)
|
||||
/* 26588 8004B188 24848178 */ addiu $a0, $a0, %lo(nuAuDmaNext)
|
||||
/* 2658C 8004B18C 32700001 */ andi $s0, $s3, 1
|
||||
/* 26590 8004B190 02709823 */ subu $s3, $s3, $s0
|
||||
/* 26594 8004B194 3C02800A */ lui $v0, %hi(D_800A3720)
|
||||
|
@ -1,22 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel nuAuDmaNew
|
||||
/* 26624 8004B224 3C03800A */ lui $v1, %hi(D_800A3BD0)
|
||||
/* 26628 8004B228 24633BD0 */ addiu $v1, $v1, %lo(D_800A3BD0)
|
||||
/* 2662C 8004B22C 90620000 */ lbu $v0, ($v1)
|
||||
/* 26630 8004B230 14400007 */ bnez $v0, .L8004B250
|
||||
/* 26634 8004B234 00000000 */ nop
|
||||
/* 26638 8004B238 3C02800A */ lui $v0, %hi(D_800A3BE0)
|
||||
/* 2663C 8004B23C 24423BE0 */ addiu $v0, $v0, %lo(D_800A3BE0)
|
||||
/* 26640 8004B240 AC620008 */ sw $v0, 8($v1)
|
||||
/* 26644 8004B244 24020001 */ addiu $v0, $zero, 1
|
||||
/* 26648 8004B248 AC600004 */ sw $zero, 4($v1)
|
||||
/* 2664C 8004B24C A0620000 */ sb $v0, ($v1)
|
||||
.L8004B250:
|
||||
/* 26650 8004B250 3C028005 */ lui $v0, %hi(nuAuDmaCallBack)
|
||||
/* 26654 8004B254 2442B074 */ addiu $v0, $v0, %lo(nuAuDmaCallBack)
|
||||
/* 26658 8004B258 3C018008 */ lui $at, %hi(D_80078178)
|
||||
/* 2665C 8004B25C AC208178 */ sw $zero, %lo(D_80078178)($at)
|
||||
/* 26660 8004B260 03E00008 */ jr $ra
|
||||
/* 26664 8004B264 AC830000 */ sw $v1, ($a0)
|
@ -2,6 +2,9 @@
|
||||
#include "nu/nusys.h"
|
||||
#include "nu/nualsgi.h"
|
||||
|
||||
extern NUDMAState nuAuDmaState;
|
||||
extern s32 nuAuDmaNext;
|
||||
|
||||
INCLUDE_ASM(s32, "code_25f00_len_940", func_8004AB00);
|
||||
|
||||
void nuAuPreNMIFuncSet(NUAuPreNMIFunc func) {
|
||||
@ -15,7 +18,17 @@ INCLUDE_ASM(s32, "code_25f00_len_940", func_8004AE08);
|
||||
|
||||
INCLUDE_ASM(s32, "code_25f00_len_940", nuAuDmaCallBack);
|
||||
|
||||
INCLUDE_ASM(ALDMAproc, "code_25f00_len_940", nuAuDmaNew, NUDMAState **state);
|
||||
ALDMAproc nuAuDmaNew(NUDMAState **state) {
|
||||
if (!nuAuDmaState.initialized) {
|
||||
nuAuDmaState.firstFree = &nuAuDmaBuf;
|
||||
nuAuDmaState.firstUsed = NULL;
|
||||
nuAuDmaState.initialized = TRUE;
|
||||
}
|
||||
|
||||
nuAuDmaNext = 0;
|
||||
*state = &nuAuDmaState;
|
||||
return nuAuDmaCallBack;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(void, "code_25f00_len_940", nuAuCleanDMABuffers);
|
||||
|
||||
|
@ -563,12 +563,15 @@ load_demo_battle = 0x80072E14;
|
||||
EnemyNpcHit = 0x80077F70;
|
||||
EnemyNpcDefeat = 0x8007809C;
|
||||
nuAuPreNMIFunc = 0x80078174;
|
||||
nuAuDmaNext = 0x80078178;
|
||||
nuAuFrameCounter = 0x8007817C;
|
||||
D_80078DB0 = 0x80078DB0;
|
||||
D_80078DB4 = 0x80078DB4;
|
||||
gEffectTable = 0x8007F214;
|
||||
gItemTable = 0x800878E0; // size:0x2D80
|
||||
gAreas = 0x800934F0;
|
||||
nuAuDmaState = 0x800A3BD0;
|
||||
nuAuDmaBuf = 0x800A3BE0;
|
||||
gCurrentEncounter = 0x800B0F10; // size:0xB0
|
||||
gBattleState = 0x800DC068;
|
||||
gBattleStatus = 0x800DC070; // size:0x490
|
||||
|
@ -99,6 +99,9 @@ nuContRmbCallBack = 0x80093D00;
|
||||
nuGfxFunc = 0x80093D10;
|
||||
nuGfxPreNMIFunc = 0x80093D14;
|
||||
|
||||
nuAuDmaState = 0x800A3BD0;
|
||||
nuAuDmaBuf = 0x800A3BE0;
|
||||
|
||||
osViModeTable = 0x800946A0;
|
||||
D_800959D4 = 0x800959D4;
|
||||
D_8009A5B0 = 0x8009A5B0;
|
||||
|
Loading…
Reference in New Issue
Block a user