Files
ss/include/rvl/VI/vi.h
T
2025-09-16 22:32:07 -04:00

95 lines
4.8 KiB
C

#ifndef RVL_SDK_VI_H
#define RVL_SDK_VI_H
#include "common.h"
#include "rvl/GX.h" // IWYU pragma: export
#ifdef __cplusplus
extern "C" {
#endif
// Merge format/mode to one value for TV info (see GXRenderModeObj)
#define VI_TV_INFO(format, mode) (((format) << 2) + (mode))
// Get TV format from TV info
#define VI_TV_INFO_FMT(info) ((info) >> 2)
// Get TV scan mode from TV info
#define VI_TV_INFO_MODE(info) ((info) & 0b00000011)
typedef enum {
VI_TV_FMT_NTSC,
VI_TV_FMT_PAL,
VI_TV_FMT_MPAL,
VI_TV_FMT_DEBUG,
VI_TV_FMT_DEBUG_PAL,
VI_TV_FMT_EURGB60,
VI_TV_FMT_6,
VI_TV_FMT_7,
VI_TV_FMT_8,
} VITvFormat;
typedef enum VIScanMode {
VI_SCAN_MODE_NON_INT,
VI_SCAN_MODE_INT,
VI_SCAN_MODE_PROG,
VI_SCAN_MODE_3,
} VIScanMode;
typedef enum VIXfbMode {
VI_XFB_MODE_SF,
VI_XFB_MODE_DF,
} VIXfbMode;
typedef void (*VIRetraceCallback)(u32 retraceCount);
typedef void (*VIPositionCallback)(s16 displayX, s16 displayY);
void getEncoderType();
void OnShutdown(); // ret unk, params unk
void cntlzd(); // ret unk, params unk
void VISetRegs(); // ret unk, params unk
void __VIRetraceHandler(); // ret unk,params unk
VIRetraceCallback VISetPreRetraceCallback(VIRetraceCallback callback); // good
VIRetraceCallback VISetPostRetraceCallback(VIRetraceCallback callback); // good
void __VISetExtraTiming(); // ret unk, params unk
void getTiming(); // ret unk, params unk
void __VIInit(u32); // ret unk, params unk
void AdjustPosition(); // ret unk, params unk
void ImportAdjustingValues(); // ret unk, params unk
void VIInit(void); // good
void VIWaitForRetrace(void); // good
void setInterruptRegs(); // ret unk, params unk
void setPicConfig(); // ret unk, params unk
void setBBIntervalRegs(); // ret unk, params unk
void setScalingRegs(); // ret unk, params unk
void calcFbbs(); // ret unk, params unk
void setFbbRegs(); // params unk
void setHorizontalRegs(); // params unk
void setVerticalRegs(); // params unk
void VIConfigure(const GXRenderModeObj *rmo); // good
void VIConfigurePan(u16 x, u16 y, u16 w, u16 h); // good
void VIFlush(); // good
void VISetNextFrameBuffer(void *fb); // good
void VIGetNextFrameBuffer(); // ret unk, params unk
void *VIGetCurrentFrameBuffer(); // good
void VISetNextRightFrameBuffer(); // ret unk, params unk
void VISetBlack(BOOL black); // good
void VISet3D(); // ret unk, params unk
s32 VIGetRetraceCount(void); // good
u32 VIGetNextField(); // ret unk
u32 VIGetCurrentLine(); // ret unk
VITvFormat VIGetTvFormat(void); // good
VIScanMode VIGetScanMode(void); // good
int VIGetDTVStatus(); // ret unk
void VIGetVSyncTimingTest(); // ret, params unk
void VISetVSyncTimingTest(); // ret, params unk
void VIGetDimmingCount(); // ret, params unk
void VIGetDVDStopMotorCount(); // ret, params unk
int VIEnableDimming(int); // ret unk, params unk
int VISetTimeToDimming(int); // ret unk, params unk
int VIResetDimmingCount(); // ret unk
void VIEnableDVDStopMotor(); // ret, params unk
#ifdef __cplusplus
}
#endif
#endif