mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-22 15:02:54 -04:00
Copy JKernel (#126)
* start JSystem * JKRAram and JUTGamePad * started heap and thread * more JKernel * mostly finished JKernel * delete unused asm * JKRFileFinder * delete unused asm and match findNextFile * format * fix mtx_vec
This commit is contained in:
@@ -6,39 +6,19 @@
|
||||
#include "JSystem/JKernel/JKRFile.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct JKRFile {
|
||||
/* 802D9518 */ void read(void*, s32, s32);
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void read__7JKRFileFPvll();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void VIWaitForRetrace();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _restgpr_28();
|
||||
#include "dolphin/vi/vi.h"
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 802D9518-802D9584 2D3E58 006C+00 0/0 2/2 0/0 .text read__7JKRFileFPvll */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JKRFile::read(void* param_0, s32 param_1, s32 param_2) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JKernel/JKRFile/read__7JKRFileFPvll.s"
|
||||
s32 JKRFile::read(void* data, s32 size, long offset) {
|
||||
while (true) {
|
||||
s32 result = readData(data, size, offset);
|
||||
if (size != result)
|
||||
VIWaitForRetrace();
|
||||
else
|
||||
return result;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
Reference in New Issue
Block a user