diff options
Diffstat (limited to 'include/rvl')
-rwxr-xr-x | include/rvl/GXVert.h | 38 |
1 files changed, 26 insertions, 12 deletions
diff --git a/include/rvl/GXVert.h b/include/rvl/GXVert.h index 8564563..41587c5 100755 --- a/include/rvl/GXVert.h +++ b/include/rvl/GXVert.h @@ -24,10 +24,24 @@ extern "C" { #else // MINNOW
#define GXFIFO_ADDR 0x1C008000
#endif// MINNOW
+typedef union uPPCWGPipe
+{
+ u8 u8;
+ u16 u16;
+ u32 u32;
+ u64 u64;
+ s8 s8;
+ s16 s16;
+ s32 s32;
+ s64 s64;
+ f32 f32;
+ f64 f64;
+} PPCWGPipe;
+
// SN-Phil: removed 'extern', added AT_ADDRESS
-//volatile PPCWGPipe GXWGFifo AT_ADDRESS(GXFIFO_ADDR) ;
-extern volatile PPCWGPipe GXWGFifo;
+volatile PPCWGPipe GXWGFifo : (GXFIFO_ADDR) ;
+//extern volatile PPCWGPipe GXWGFifo;
#endif // !EMU
/*---------------------------------------------------------------------------*/
@@ -76,7 +90,7 @@ extern volatile PPCWGPipe GXWGFifo; #define __GXCDEF1(func,ts,td) \
static inline void func(const ts x) \
{ \
- GXWGFifo._##td = (td) x; \
+ GXWGFifo.td = (td) x; \
return; \
}
@@ -84,8 +98,8 @@ extern volatile PPCWGPipe GXWGFifo; #define __GXCDEF2(func,ts,td) \
static inline void func(const ts x, const ts y) \
{ \
- GXWGFifo._##td = (td) x; \
- GXWGFifo._##td = (td) y; \
+ GXWGFifo.td = (td) x; \
+ GXWGFifo.td = (td) y; \
return; \
}
@@ -93,9 +107,9 @@ extern volatile PPCWGPipe GXWGFifo; #define __GXCDEF3(func,ts,td) \
static inline void func(const ts x, const ts y, const ts z) \
{ \
- GXWGFifo._##td = (td) x; \
- GXWGFifo._##td = (td) y; \
- GXWGFifo._##td = (td) z; \
+ GXWGFifo.td = (td) x; \
+ GXWGFifo.td = (td) y; \
+ GXWGFifo.td = (td) z; \
return; \
}
@@ -103,10 +117,10 @@ extern volatile PPCWGPipe GXWGFifo; #define __GXCDEF4(func,ts,td) \
static inline void func(const ts x, const ts y, const ts z, const ts w) \
{ \
- GXWGFifo._##td = (td) x; \
- GXWGFifo._##td = (td) y; \
- GXWGFifo._##td = (td) z; \
- GXWGFifo._##td = (td) w; \
+ GXWGFifo.td = (td) x; \
+ GXWGFifo.td = (td) y; \
+ GXWGFifo.td = (td) z; \
+ GXWGFifo.td = (td) w; \
return; \
}
|