Rename `romCopy_512` to `nuPiReadRom`
This commit is contained in:
parent
5dd734bf29
commit
f52d20844a
|
|
@ -165,7 +165,6 @@ extern s8 D_800E918D;
|
|||
|
||||
|
||||
extern void romCopy(u32 devAddr, void* dramAddr, u32 size, s32 direction);
|
||||
extern void romCopy_512(void* src, void* dst, u32 len);
|
||||
extern void __calls_romCopy_8009DA50(void* src, void* dst, u32 len);
|
||||
|
||||
extern void __calls_osViBlack(bool black);
|
||||
|
|
|
|||
|
|
@ -892,10 +892,10 @@ extern s32 nuEepromWrite(u8 address, u8* buffer,u16 len);
|
|||
/* pi functions */
|
||||
/*--------------------------------------*/
|
||||
extern void nuPiInit(void);
|
||||
extern void nuPiReadRom(u32 rom_addr, void* buf_ptr, u32 size);
|
||||
extern void nuPiReadRom(void* src, void* dst, u32 size);
|
||||
extern void nuPiInitSram(void);
|
||||
extern void nuPiInitDDrom(void);
|
||||
extern void nuPiReadWriteSram(u32 addr, void* buf_ptr, u32 size, s32 flag);
|
||||
extern void nuPiReadWriteSram(u32 src, void* dst, u32 size, s32 flag);
|
||||
extern void nuPiReadRomOverlay(NUPiOverlaySegment* segment);
|
||||
|
||||
/*--------------------------------------*/
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@ nuSiSendMesg = 0x80089CF8;
|
|||
nuSiMgrStop = 0x80089D5C;
|
||||
nuSiMgrRestart = 0x80089D7C;
|
||||
nuIdle = 0x8007F8E4;
|
||||
nuPiReadRom = 0x80089F80;
|
||||
|
||||
|
||||
obCurrentTime = 0x800C47D0;
|
||||
|
|
@ -975,7 +976,6 @@ carthandle = 0x800E79AC;
|
|||
__ROM_0_to_8000 = 0x800A83B8; // rom:0x387B8
|
||||
|
||||
romCopy_256 = 0x80074CF0; // rom:0x50F0
|
||||
romCopy_512 = 0x80089F80;
|
||||
|
||||
__GLOBAL_CONTROLLER_DATA = 0x0800C4BF0; // size:0x18
|
||||
__GLOBAL_CONTROLLER_DATA_COPY = 0x0800AEE78; // size:0x18
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#include "common.h"
|
||||
|
||||
#include "nu/nusys.h"
|
||||
#include "os_pi.h"
|
||||
|
||||
void nuSiMgrThread(void* arg);
|
||||
|
||||
|
|
@ -52,33 +53,34 @@ void nuPiInit(void) {
|
|||
}
|
||||
|
||||
/* 1A380 80089F80 */
|
||||
void romCopy_512(void *src, void *dst, u32 len) {
|
||||
OSIoMesg dmaIoMesgBuf;
|
||||
void nuPiReadRom(void *src, void *dst, u32 size) {
|
||||
OSIoMesg ioMesg;
|
||||
OSMesg mesg;
|
||||
OSMesgQueue queue;
|
||||
u32 mesgSize;
|
||||
|
||||
OSMesgQueue dmaMessageQ;
|
||||
OSMesg dummyMesg;
|
||||
u32 readlength;
|
||||
|
||||
osCreateMesgQueue(&dmaMessageQ, &dummyMesg, 1);
|
||||
dmaIoMesgBuf.hdr.pri = 0;
|
||||
dmaIoMesgBuf.hdr.retQueue = &dmaMessageQ;
|
||||
osInvalDCache(dst, len);
|
||||
while (len != 0) {
|
||||
readlength = len;
|
||||
if (readlength > MAX_BYTES_TO_READ) {
|
||||
readlength = MAX_BYTES_TO_READ;
|
||||
osCreateMesgQueue(&queue, &mesg, 1);
|
||||
|
||||
ioMesg.hdr.pri = 0;
|
||||
ioMesg.hdr.retQueue = &queue;
|
||||
osInvalDCache(dst, size);
|
||||
while (size != 0) {
|
||||
mesgSize = size;
|
||||
if (mesgSize > MAX_BYTES_TO_READ) {
|
||||
mesgSize = MAX_BYTES_TO_READ;
|
||||
}
|
||||
|
||||
dmaIoMesgBuf.devAddr = (u32)src;
|
||||
dmaIoMesgBuf.dramAddr = dst;
|
||||
dmaIoMesgBuf.size = readlength;
|
||||
ioMesg.devAddr = (u32)src;
|
||||
ioMesg.dramAddr = dst;
|
||||
ioMesg.size = mesgSize;
|
||||
// Start the DMA transfer
|
||||
osEPiStartDma(PTR_CART_ROM_HANDLE, &dmaIoMesgBuf, 0);
|
||||
osEPiStartDma(PTR_CART_ROM_HANDLE, &ioMesg, OS_READ);
|
||||
// Wait for the DMA transfer to complete
|
||||
osRecvMesg(&dmaMessageQ, &dummyMesg, 1);
|
||||
src += readlength;
|
||||
dst += readlength;
|
||||
len -= readlength;
|
||||
osRecvMesg(&queue, &mesg, OS_MESG_BLOCK);
|
||||
|
||||
src += mesgSize;
|
||||
dst += mesgSize;
|
||||
size -= mesgSize;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
#include "common.h"
|
||||
|
||||
#include "nu/nusys.h"
|
||||
|
||||
INCLUDE_ASM(const s32, "_ob_prized_room", func_8009DA10);
|
||||
|
||||
/* 2DE50 8009DA50 */
|
||||
|
|
@ -15,13 +17,13 @@ void __calls_romCopy_8009DA50(void* src, void* dst, u32 len) {
|
|||
if (len < 16) {
|
||||
_dst = dst;
|
||||
// Copy into stack, length aligned to 2 bytes...
|
||||
romCopy_512(src, _src, (len + 1) & ~1);
|
||||
nuPiReadRom(src, _src, (len + 1) & ~1);
|
||||
// ...then copy from stack into destination
|
||||
for(len--; len != -1; len--)
|
||||
*_dst++ = *_src++;
|
||||
} else {
|
||||
// Too big to fit in our stack, so just do a regular copy
|
||||
romCopy_512(src, dst, (len + 1) & ~1);
|
||||
nuPiReadRom(src, dst, (len + 1) & ~1);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
#include "common.h"
|
||||
|
||||
#include "nu/nusys.h"
|
||||
|
||||
void __load_song(void*);
|
||||
|
||||
extern u8 D_8010A760[];
|
||||
|
|
@ -11,9 +13,9 @@ extern s32 D_800EB0E8;
|
|||
/* 3F1B0 800E9C20 */
|
||||
void func_800E9C20(void)
|
||||
{
|
||||
romCopy_512(SEGMENT_ROM_START(n64_ptr_tables_v2_00), D_80164770, SEGMENT_ROM_SIZE(n64_ptr_tables_v2_00));
|
||||
romCopy_512(SEGMENT_ROM_START(n64_ptr_tables_v2_01), D_80104710, SEGMENT_ROM_SIZE(n64_ptr_tables_v2_01));
|
||||
romCopy_512(SEGMENT_ROM_START(n64_wave_data), &D_8010A760, SEGMENT_ROM_SIZE(n64_wave_data));
|
||||
nuPiReadRom(SEGMENT_ROM_START(n64_ptr_tables_v2_00), D_80164770, SEGMENT_ROM_SIZE(n64_ptr_tables_v2_00));
|
||||
nuPiReadRom(SEGMENT_ROM_START(n64_ptr_tables_v2_01), D_80104710, SEGMENT_ROM_SIZE(n64_ptr_tables_v2_01));
|
||||
nuPiReadRom(SEGMENT_ROM_START(n64_wave_data), &D_8010A760, SEGMENT_ROM_SIZE(n64_wave_data));
|
||||
|
||||
MusPtrBankInitialize(D_80164770, SEGMENT_ROM_START(n64_wave_table_00));
|
||||
MusPtrBankInitialize(D_80104710, SEGMENT_ROM_START(n64_wave_table_01));
|
||||
|
|
|
|||
Loading…
Reference in New Issue