1 #ifndef __VB_VIP_H 2 #define __VB_VIP_H 3 4 #include "../git.h" 5 #include "../state.h" 6 7 #ifdef __cplusplus 8 extern "C" { 9 #endif 10 11 enum 12 { 13 VIP_GSREG_IPENDING = 0, /* Current pending interrupt(bits) */ 14 VIP_GSREG_IENABLE, 15 16 VIP_GSREG_DPCTRL, 17 18 VIP_GSREG_BRTA, 19 VIP_GSREG_BRTB, 20 VIP_GSREG_BRTC, 21 VIP_GSREG_REST, 22 VIP_GSREG_FRMCYC, 23 VIP_GSREG_XPCTRL, 24 25 VIP_GSREG_SPT0, 26 VIP_GSREG_SPT1, 27 VIP_GSREG_SPT2, 28 VIP_GSREG_SPT3, 29 30 VIP_GSREG_GPLT0, 31 VIP_GSREG_GPLT1, 32 VIP_GSREG_GPLT2, 33 VIP_GSREG_GPLT3, 34 35 VIP_GSREG_JPLT0, 36 VIP_GSREG_JPLT1, 37 VIP_GSREG_JPLT2, 38 VIP_GSREG_JPLT3, 39 40 VIP_GSREG_BKCOL 41 }; 42 43 bool VIP_Init(void) MDFN_COLD; 44 void VIP_Power(void) MDFN_COLD; 45 46 void VIP_SetInstantDisplayHack(bool); 47 void VIP_SetAllowDrawSkip(bool); 48 void VIP_Set3DMode(uint32 mode, bool reverse, uint32 prescale, uint32 sbs_separation); 49 void VIP_SetParallaxDisable(bool disabled); 50 void VIP_SetDefaultColor(uint32 default_color); 51 void VIP_SetAnaglyphColors(uint32 lcolor, uint32 rcolor); /* R << 16, G << 8, B << 0 */ 52 53 v810_timestamp_t MDFN_FASTCALL VIP_Update(const v810_timestamp_t timestamp); 54 void VIP_ResetTS(void); 55 56 void VIP_StartFrame(EmulateSpecStruct *espec); 57 58 uint8 VIP_Read8(v810_timestamp_t timestamp, uint32 A); 59 uint16 VIP_Read16(v810_timestamp_t timestamp, uint32 A); 60 61 void VIP_Write8(v810_timestamp_t timestamp, uint32 A, uint8 V); 62 void VIP_Write16(v810_timestamp_t timestamp, uint32 A, uint16 V); 63 64 int VIP_StateAction(StateMem *sm, int load, int data_only); 65 66 uint32 VIP_GetRegister(const unsigned int id, char *special, const uint32 special_len); 67 void VIP_SetRegister(const unsigned int id, const uint32 value); 68 69 #ifdef __cplusplus 70 } 71 #endif 72 73 #endif 74