Implement osViGetStatus

This commit is contained in:
dcvz 2024-06-19 10:57:17 +02:00
parent 8719abe217
commit 8b5800233a
3 changed files with 9 additions and 0 deletions

View file

@ -30,6 +30,10 @@ extern "C" void osViGetCurrentField_recomp(uint8_t* rdram, recomp_context* ctx)
ctx->r2 = (gpr)osViGetCurrentField();
}
extern "C" void osViGetStatus_recomp(uint8_t* rdram, recomp_context* ctx) {
ctx->r2 = (gpr)osViGetStatus();
}
extern "C" void osViSetSpecialFeatures_recomp(uint8_t* rdram, recomp_context* ctx) {
osViSetSpecialFeatures((uint32_t)ctx->r4);
}

View file

@ -289,6 +289,7 @@ void osViBlack(uint8_t active);
void osViRepeatLine(uint8_t active);
u32 osViGetCurrentLine();
u32 osViGetCurrentField();
u32 osViGetStatus();
void osViSetXScale(float scale);
void osViSetYScale(float scale);
PTR(void) osViGetNextFramebuffer();

View file

@ -488,6 +488,10 @@ extern "C" u32 osViGetCurrentField() {
return IO_READ(VI_V_CURRENT_LINE_REG) & 1;
}
extern "C" u32 osViGetStatus() {
return IO_READ(VI_STATUS_REG);
}
extern "C" void osViSetXScale(float scale) {
if (scale != 1.0f) {
assert(false);