move pxi_init and gxasm to c

This commit is contained in:
Seth Barberee
2026-05-28 08:30:05 -07:00
parent 3a9f0d83c1
commit 1e618d498f
9 changed files with 82 additions and 38 deletions

View File

@@ -1,13 +0,0 @@
.include "asm/macros.inc"
.include "include/nitro.inc"
.text
arm_func_start PXI_Init
PXI_Init: ; 0x0207D9A4
ldr ip, _0207D9AC ; =PXI_InitFifo
bx ip
.align 2, 0
_0207D9AC: .word PXI_InitFifo
arm_func_end PXI_Init

View File

@@ -1,9 +1,7 @@
.include "asm/macros.inc"
#include <nitro.h>
.text
arm_func_start GX_SendFifo48B
GX_SendFifo48B: ; 0x020788C0
asm void GX_SendFifo48B(register const void *pSrc, register void *pDest)
{
ldmia r0!, {r2, r3, ip}
stmia r1, {r2, r3, ip}
ldmia r0!, {r2, r3, ip}
@@ -13,10 +11,10 @@ GX_SendFifo48B: ; 0x020788C0
ldmia r0!, {r2, r3, ip}
stmia r1, {r2, r3, ip}
bx lr
arm_func_end GX_SendFifo48B
}
arm_func_start GX_SendFifo64B
GX_SendFifo64B: ; 0x020788E4
asm void GX_SendFifo64B(register const void *pSrc, register void *pDest)
{
stmdb sp!, {r4, r5, r6, r7, r8}
ldmia r0!, {r2, r3, r4, r5, r6, r7, r8, ip}
stmia r1, {r2, r3, r4, r5, r6, r7, r8, ip}
@@ -24,5 +22,4 @@ GX_SendFifo64B: ; 0x020788E4
stmia r1, {r2, r3, r4, r5, r6, r7, r8, ip}
ldmia sp!, {r4, r5, r6, r7, r8}
bx lr
arm_func_end GX_SendFifo64B
}

View File

@@ -0,0 +1,8 @@
#include <nitro.h>
extern void PXI_InitFifo(void);
void PXI_Init (void)
{
PXI_InitFifo();
}

View File

@@ -4,5 +4,7 @@
#include <nitro/types.h>
#include <nitro/os.h>
#include <nitro/cp.h>
#include <nitro/pxi.h>
#include <nitro/gx.h>
#endif //NITRO_H_

6
lib/include/nitro/gx.h Normal file
View File

@@ -0,0 +1,6 @@
#ifndef NITRO_GX_H_
#define NITRO_GX_H_
#include <nitro/gx/gxasm.h>
#endif //NITRO_GX_H_

View File

@@ -0,0 +1,24 @@
#ifndef NITRO_GXASM_H_
#define NITRO_GXASM_H_
//#include <nitro/mi/memory.h>
#ifdef __cplusplus
extern "C" {
#endif
//void GX_SendFifo36B(register const void * pSrc, register void * pDest);
void GX_SendFifo48B(register const void * pSrc, register void * pDest);
void GX_SendFifo64B(register const void * pSrc, register void * pDest);
//void GX_SendFifo128B(register const void * pSrc, register void * pDest);
//static inline void GX_SendFifo36B (register const void * pSrc, register void * pDest)
//{
// MI_Copy36B(pSrc, pDest);
//}
#ifdef __cplusplus
}
#endif
#endif

6
lib/include/nitro/pxi.h Normal file
View File

@@ -0,0 +1,6 @@
#ifndef NITRO_PXI_H_
#define NITRO_PXI_H_
#include <nitro/pxi/common/init.h>
#endif //NITRO_PXI_H_

View File

@@ -0,0 +1,14 @@
#ifndef NITRO_PXI_COMMON_INIT_H_
#define NITRO_PXI_COMMON_INIT_H_
#ifdef __cplusplus
extern "C" {
#endif
void PXI_Init(void);
#ifdef __cplusplus
}
#endif
#endif

View File

@@ -232,7 +232,7 @@ Static main
Object lib/NitroSDK/asm/g3x.o
Object lib/NitroSDK/asm/gx_load2d.o
Object lib/NitroSDK/asm/gx_load3d.o
Object lib/NitroSDK/asm/gx_asm.o
Object lib/NitroSDK/src/gxasm.o
Object lib/NitroSDK/asm/os_interrupt.o
Object lib/NitroSDK/asm/os_spinlock.o
Object lib/NitroSDK/asm/os_thread.o
@@ -257,20 +257,20 @@ Static main
Object lib/NitroSDK/asm/mi_wram.o
Object lib/NitroSDK/asm/mi_dma.o
Object lib/NitroSDK/asm/mi_memory.o
Object lib/NitroSDK/asm/mi_uncompress.o
Object lib/NitroSDK/asm/mi_dma_card.o
Object lib/NitroSDK/asm/mi_init.o
Object lib/NitroSDK/asm/snd_interface.o
Object lib/NitroSDK/asm/snd_main.o
Object lib/NitroSDK/asm/snd_command.o
Object lib/NitroSDK/asm/snd_alarm.o
Object lib/NitroSDK/asm/snd_work.o
Object lib/NitroSDK/asm/snd_util.o
Object lib/NitroSDK/asm/snd_bank.o
Object lib/NitroSDK/asm/pxi_init.o
Object lib/NitroSDK/asm/pxi_fifo.o
Object lib/NitroSDK/asm/fs_command.o
Object lib/NitroSDK/asm/fs_command_default.o
Object lib/NitroSDK/asm/mi_uncompress.o
Object lib/NitroSDK/asm/mi_dma_card.o
Object lib/NitroSDK/asm/mi_init.o
Object lib/NitroSDK/asm/snd_interface.o
Object lib/NitroSDK/asm/snd_main.o
Object lib/NitroSDK/asm/snd_command.o
Object lib/NitroSDK/asm/snd_alarm.o
Object lib/NitroSDK/asm/snd_work.o
Object lib/NitroSDK/asm/snd_util.o
Object lib/NitroSDK/asm/snd_bank.o
Object lib/NitroSDK/src/pxi_init.o
Object lib/NitroSDK/asm/pxi_fifo.o
Object lib/NitroSDK/asm/fs_command.o
Object lib/NitroSDK/asm/fs_command_default.o
Object src/main_0207E81C.o
Object asm/main_0207E84C.o
Object src/main_0207F3E4.o