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