GLES2N64 (from mupen64plus-ae) plugin. Compile and run on the OpenPandora
[mupen64plus-pandora.git] / source / gles2n64 / src / RSP.h
1 #ifndef RSP_H
2 #define RSP_H
3
4 #include "N64.h"
5 #include "GBI.h"
6 //#include "gSP.h"
7 #include "Types.h"
8
9 #ifndef min
10 #define min(a,b) ((a) < (b) ? (a) : (b))
11 #endif
12
13 #define RSPMSG_CLOSE            0
14 #define RSPMSG_UPDATESCREEN     1
15 #define RSPMSG_PROCESSDLIST     2
16 #define RSPMSG_CAPTURESCREEN    3
17 #define RSPMSG_DESTROYTEXTURES  4
18 #define RSPMSG_INITTEXTURES     5
19
20 typedef struct
21 {
22     u32 PC[18], PCi, busy, halt, close, DList, uc_start, uc_dstart, cmd, nextCmd, count;
23 } RSPInfo;
24
25 extern RSPInfo RSP;
26
27 #define RSP_SegmentToPhysical( segaddr ) ((gSP.segment[(segaddr >> 24) & 0x0F] + (segaddr & 0x00FFFFFF)) & 0x00FFFFFF)
28
29 void RSP_Init();
30 void RSP_ProcessDList();
31 void RSP_LoadMatrix( f32 mtx[4][4], u32 address );
32
33 #endif
34