some funcs by @joshlory
This commit is contained in:
sozud 2024-07-22 17:20:33 -04:00 committed by GitHub
parent 4fe662c4e3
commit 1d53f6e715
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 44 additions and 9 deletions

View File

@ -1,3 +1,11 @@
#include "common.h"
INCLUDE_ASM("main/nonmatchings/psxsdk/libcd/c_010", StSetMask);
extern u32 D_8006BAF4;
extern u32 D_800987B8;
extern u32 D_800987C0;
void StSetMask(u32 mask, u32 start, u32 end) {
D_800987C0 = mask;
D_8006BAF4 = start;
D_800987B8 = end;
}

View File

@ -2,7 +2,11 @@
INCLUDE_ASM("main/nonmatchings/psxsdk/libcd/iso9660", CdSearchFile);
INCLUDE_ASM("main/nonmatchings/psxsdk/libcd/iso9660", _cmp);
s32 strncmp(const char* str1, const char* str2, size_t num);
s32 _cmp(const char* str1, const char* str2) {
return strncmp(str1, str2, 0xC) == 0;
}
INCLUDE_ASM("main/nonmatchings/psxsdk/libcd/iso9660", CD_newmedia);

View File

@ -16,7 +16,9 @@ int* CdLastPos(void) { return &CD_pos; }
INCLUDE_ASM("main/nonmatchings/psxsdk/libcd/sys", CdReset);
INCLUDE_ASM("main/nonmatchings/psxsdk/libcd/sys", CdFlush);
void CD_flush();
void CdFlush(void) { CD_flush(); }
extern s32 D_80032AB0;
@ -34,7 +36,9 @@ INCLUDE_ASM("main/nonmatchings/psxsdk/libcd/sys", CdComstr);
INCLUDE_ASM("main/nonmatchings/psxsdk/libcd/sys", CdIntstr);
INCLUDE_ASM("main/nonmatchings/psxsdk/libcd/sys", CdSync);
void CD_sync();
void CdSync(void) { CD_sync(); }
void CD_ready();
@ -50,7 +54,15 @@ s32 CdSyncCallback(s32 arg0) {
return temp_v0;
}
INCLUDE_ASM("main/nonmatchings/psxsdk/libcd/sys", CdReadyCallback);
extern void (*CD_cbready)(u8, u8*);
void (*CdReadyCallback(void (*func)(u8, u8*)))(u8, u8*) {
void (*temp_v0)(u8, u8*);
temp_v0 = CD_cbready;
CD_cbready = func;
return temp_v0;
}
INCLUDE_ASM("main/nonmatchings/psxsdk/libcd/sys", CdControl);
@ -58,13 +70,24 @@ INCLUDE_ASM("main/nonmatchings/psxsdk/libcd/sys", CdControlF);
INCLUDE_ASM("main/nonmatchings/psxsdk/libcd/sys", CdControlB);
INCLUDE_ASM("main/nonmatchings/psxsdk/libcd/sys", CdMix);
void CD_vol();
INCLUDE_ASM("main/nonmatchings/psxsdk/libcd/sys", CdGetSector);
s32 CdMix(void) {
CD_vol();
return 1;
}
INCLUDE_ASM("main/nonmatchings/psxsdk/libcd/sys", CdDataCallback);
s32 CD_getsector();
INCLUDE_ASM("main/nonmatchings/psxsdk/libcd/sys", CdDataSync);
s32 CdGetSector(void) { return CD_getsector() == 0; }
void* DMACallback(int dma, void (*func)());
void CdDataCallback(void (*func)()) { DMACallback(3, func); }
void CD_datasync();
void CdDataSync(void) { CD_datasync(); }
INCLUDE_ASM("main/nonmatchings/psxsdk/libcd/sys", CdIntToPos);