Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
JKRAramPiece.h
Go to the documentation of this file.
1#ifndef JKRARAMPIECE_H
2#define JKRARAMPIECE_H
3
5#include <dolphin/ar.h>
6#include <dolphin/os.h>
7#include <dolphin/os.h>
8
9class JKRAramBlock;
11
17public:
18 typedef void (*AsyncCallback)(u32);
19
22
23public:
24 /* 0x00 */ ARQRequest mRequest;
27
29 /* 0x44 */ u32 mDataLength;
30 /* 0x48 */ u32 mSrc;
31 /* 0x4C */ u32 mDst;
33 /* 0x54 */ u32 field_0x54;
36 /* 0x60 */ s32 field_0x60;
39 /* 0x88 */ OSMessage mMessage;
40 /* 0x8C */ void* field_0x8C;
41 /* 0x90 */ void* field_0x90;
42 /* 0x94 */ void* field_0x94;
43};
44
47 void* command;
48
49 void setting(int param_1, void* param_2) {
50 field_0x00 = param_1;
51 command = param_2;
52 }
53};
54
60public:
62 // TODO: fix type
64
65public:
68 static void sendCommand(JKRAMCommand*);
69
71 static BOOL sync(JKRAMCommand*, int);
72 static BOOL orderSync(int, u32, u32, u32, JKRAramBlock*);
73 static void startDMA(JKRAMCommand*);
74 static void doneDMA(u32);
75
76private:
77 static void lock() { OSLockMutex(&mMutex); }
78 static void unlock() { OSUnlockMutex(&mMutex); }
79};
80
81inline void JKRAramPcs_SendCommand(JKRAMCommand* command) {
83}
84
85inline BOOL JKRAramPcs(int direction, u32 source, u32 destination, u32 length,
86 JKRAramBlock* block) {
87 return JKRAramPiece::orderSync(direction, source, destination, length, block);
88}
89
90#endif /* JKRARAMPIECE_H */
void JKRAramPcs_SendCommand(JKRAMCommand *command)
Definition JKRAramPiece.h:81
BOOL JKRAramPcs(int direction, u32 source, u32 destination, u32 length, JKRAramBlock *block)
Definition JKRAramPiece.h:85
Definition JKRAramPiece.h:16
~JKRAMCommand()
Definition JKRAramPiece.cpp:133
s32 field_0x60
Definition JKRAramPiece.h:36
JSULink< JKRAMCommand > mPieceLink
Definition JKRAramPiece.h:25
OSMessageQueue mMessageQueue
Definition JKRAramPiece.h:38
ARQRequest mRequest
Definition JKRAramPiece.h:24
JKRAramBlock * mAramBlock
Definition JKRAramPiece.h:32
void * field_0x94
Definition JKRAramPiece.h:42
JSULink< JKRAMCommand > field_0x30
Definition JKRAramPiece.h:26
OSMessage mMessage
Definition JKRAramPiece.h:39
u32 field_0x54
Definition JKRAramPiece.h:33
u32 mDst
Definition JKRAramPiece.h:31
OSMessageQueue * field_0x5C
Definition JKRAramPiece.h:35
AsyncCallback mCallback
Definition JKRAramPiece.h:34
u32 mDataLength
Definition JKRAramPiece.h:29
void * field_0x8C
Definition JKRAramPiece.h:40
void * field_0x90
Definition JKRAramPiece.h:41
JKRDecompCommand * mDecompCommand
Definition JKRAramPiece.h:37
void(*) AsyncCallback(u32)
Definition JKRAramPiece.h:18
s32 mTransferDirection
Definition JKRAramPiece.h:28
u32 mSrc
Definition JKRAramPiece.h:30
JKRAMCommand()
Definition JKRAramPiece.cpp:123
Definition JKRAramBlock.h:12
Definition JKRAramPiece.h:59
static OSMutex mMutex
Definition JKRAramPiece.h:61
static JSUList< JKRAMCommand > sAramPieceCommandList
Definition JKRAramPiece.h:63
static void lock()
Definition JKRAramPiece.h:77
static JKRAMCommand * orderAsync(int, u32, u32, u32, JKRAramBlock *, JKRAMCommand::AsyncCallback)
Definition JKRAramPiece.cpp:30
static void sendCommand(JKRAMCommand *)
Definition JKRAramPiece.cpp:22
static BOOL orderSync(int, u32, u32, u32, JKRAramBlock *)
Definition JKRAramPiece.cpp:76
static void startDMA(JKRAMCommand *)
Definition JKRAramPiece.cpp:89
static void doneDMA(u32)
Definition JKRAramPiece.cpp:100
static void unlock()
Definition JKRAramPiece.h:78
static JKRAMCommand * prepareCommand(int, u32, u32, u32, JKRAramBlock *, JKRAMCommand::AsyncCallback)
Definition JKRAramPiece.cpp:9
static BOOL sync(JKRAMCommand *, int)
Definition JKRAramPiece.cpp:55
Definition JKRDecomp.h:13
Definition JSUList.h:96
void * OSMessage
Definition OSMessage.h:13
void OSUnlockMutex(OSMutex *mutex)
Definition OSMutex.c:86
void OSLockMutex(OSMutex *mutex)
Definition OSMutex.c:58
int BOOL
Definition types.h:33
unsigned long u32
Definition types.h:12
signed long s32
Definition types.h:11
Definition ar.h:15
Definition JKRAramPiece.h:45
void * command
Definition JKRAramPiece.h:47
s32 field_0x00
Definition JKRAramPiece.h:46
void setting(int param_1, void *param_2)
Definition JKRAramPiece.h:49
Definition OSMessage.h:18
Definition OSMutex.h:13