Labeled/decomped MI_SwapWord

This commit is contained in:
Seth Barberee 2026-07-13 11:24:48 -07:00
parent 2561788669
commit 4540eced4e
19 changed files with 63 additions and 20 deletions

View File

@ -32,7 +32,7 @@
.public _ll_udiv
.public _s32_div_f
.public _secure
.public AtomicExchange
.public MI_SwapWord
.public CARD_Init
.public ClearIrqFlag
.public CP_SaveContext

View File

@ -33,7 +33,7 @@
.public _ll_udiv
.public _s32_div_f
.public _secure
.public AtomicExchange
.public MI_SwapWord
.public CARD_Init
.public ClearIrqFlag
.public CP_SaveContext

View File

@ -32,7 +32,7 @@
.public _ll_udiv
.public _s32_div_f
.public _secure
.public AtomicExchange
.public MI_SwapWord
.public CARD_Init
.public ClearIrqFlag
.public CP_SaveContext

View File

@ -32,7 +32,7 @@
.public _ll_udiv
.public _s32_div_f
.public _secure
.public AtomicExchange
.public MI_SwapWord
.public CARD_Init
.public ClearIrqFlag
.public CP_SaveContext

View File

@ -33,7 +33,7 @@
.public _ll_udiv
.public _s32_div_f
.public _secure
.public AtomicExchange
.public MI_SwapWord
.public CARD_Init
.public ClearIrqFlag
.public CP_SaveContext

View File

@ -32,7 +32,7 @@
.public _ll_udiv
.public _s32_div_f
.public _secure
.public AtomicExchange
.public MI_SwapWord
.public CARD_Init
.public ClearIrqFlag
.public CP_SaveContext

View File

@ -32,7 +32,7 @@
.public _ll_udiv
.public _s32_div_f
.public _secure
.public AtomicExchange
.public MI_SwapWord
.public CARD_Init
.public ClearIrqFlag
.public CP_SaveContext

View File

@ -33,7 +33,7 @@
.public _ll_udiv
.public _s32_div_f
.public _secure
.public AtomicExchange
.public MI_SwapWord
.public CARD_Init
.public ClearIrqFlag
.public CP_SaveContext

View File

@ -33,7 +33,7 @@
.public _ll_udiv
.public _s32_div_f
.public _secure
.public AtomicExchange
.public MI_SwapWord
.public CARD_Init
.public ClearIrqFlag
.public CP_SaveContext

View File

@ -33,7 +33,7 @@
.public _ll_udiv
.public _s32_div_f
.public _secure
.public AtomicExchange
.public MI_SwapWord
.public CARD_Init
.public ClearIrqFlag
.public CP_SaveContext

View File

@ -32,7 +32,7 @@
.public _ll_udiv
.public _s32_div_f
.public _secure
.public AtomicExchange
.public MI_SwapWord
.public CARD_Init
.public ClearIrqFlag
.public CP_SaveContext

View File

@ -33,7 +33,7 @@
.public _ll_udiv
.public _s32_div_f
.public _secure
.public AtomicExchange
.public MI_SwapWord
.public CARD_Init
.public ClearIrqFlag
.public CP_SaveContext

View File

@ -33,7 +33,7 @@
.public _ll_udiv
.public _s32_div_f
.public _secure
.public AtomicExchange
.public MI_SwapWord
.public CARD_Init
.public ClearIrqFlag
.public CP_SaveContext

View File

@ -3,9 +3,15 @@
.text
arm_func_start AtomicExchange
AtomicExchange: ; 0x0207C648
.word 0xE1010090
bx lr
arm_func_end AtomicExchange
; arm_func_start MI_SwapWord
;MI_SwapWord: ; 0x0207C648
; .word 0xE1010090
; bx lr
; arm_func_end MI_SwapWord
arm_func_start MI_SwapWord
MI_SwapWord: ; 0x020D4BE0
swp r0, r0, [r1]
bx lr
arm_func_end MI_SwapWord

View File

@ -157,7 +157,7 @@ _02078EF8:
mov r5, r0
mov r0, sb
mov r1, r8
bl AtomicExchange
bl MI_SwapWord
movs r4, r0
bne _02078F20
cmp r7, #0

View File

@ -0,0 +1,18 @@
#include <nitro/mi/swap.h>
#include <nitro.h>
#include <nitro/code32.h>
asm u32 MI_SwapWord (register u32 setData, register vu32 * destp)
{
swp r0, r0, [r1]
bx lr
}
// asm u8 MI_SwapByte (register u32 setData, register vu8 * destp)
// {
// swpb r0, r0, [r1]
// bx lr
// }
#include <nitro/codereset.h>

View File

@ -7,5 +7,6 @@
#include <nitro/mi/wram.h>
#include <nitro/mi/uncompress.h>
#include <nitro/mi/mi_dma.h>
#include <nitro/mi/swap.h>
#endif //NITRO_MI_H_

View File

@ -0,0 +1,18 @@
#ifndef NITRO_MI_SWAP_H_
#define NITRO_MI_SWAP_H_
#ifdef __cplusplus
extern "C" {
#endif
#include <nitro/misc.h>
#include <nitro/types.h>
u32 MI_SwapWord(u32 setData, volatile u32 * destp);
u8 MI_SwapByte(u32 setData, volatile u8 * destp);
#ifdef __cplusplus
}
#endif
#endif

View File

@ -279,7 +279,7 @@ Static main
Object lib/NitroSDK/src/mi/mi_wram.o
Object lib/NitroSDK/src/mi/mi_dma.o
Object lib/NitroSDK/src/mi/mi_memory.o
Object lib/NitroSDK/asm/mi_memory_1.o
Object lib/NitroSDK/src/mi/mi_swap.o
Object lib/NitroSDK/src/mi/mi_uncompress.o
Object lib/NitroSDK/src/mi/mi_dma_card.o
Object lib/NitroSDK/src/mi/mi_init.o