* Fixed timing issues in Neo Drift Out and Universe BIOS

This commit is contained in:
Fabrice Martinez 2021-08-22 13:15:24 +02:00
parent b3e1f30be8
commit 323f102925
2 changed files with 4 additions and 5 deletions

1
.gitignore vendored
View File

@ -7,3 +7,4 @@ cmake_install.cmake
.vscode
*.o
*.so
*.dll

View File

@ -107,11 +107,9 @@ void drawlineTimerCallback(Timer* timer, uint32_t userData)
else
neocd.video.drawBlackLine(scanline);
}
timer->armRelative(Timer::pixelToMaster(Timer::SCREEN_WIDTH));
}
else if (scanline == Timer::ACTIVE_AREA_BOTTOM)
timer->armRelative(Timer::pixelToMaster((Timer::SCREEN_HEIGHT - Timer::ACTIVE_AREA_BOTTOM + Timer::ACTIVE_AREA_TOP) * Timer::SCREEN_WIDTH));
timer->armRelative(Timer::pixelToMaster(Timer::SCREEN_WIDTH));
}
void cdromTimerCallback(Timer* timer, uint32_t userData)
@ -210,7 +208,7 @@ void TimerGroup::reset()
{
timer<TimerGroup::Watchdog>().setState(Timer::Stopped);
timer<TimerGroup::Drawline>().arm(Timer::pixelToMaster((Timer::ACTIVE_AREA_TOP * Timer::SCREEN_WIDTH) + Timer::ACTIVE_AREA_LEFT));
timer<TimerGroup::Drawline>().arm(Timer::pixelToMaster(Timer::ACTIVE_AREA_LEFT));
timer<TimerGroup::Vbl>().arm(Timer::pixelToMaster((Timer::VBL_IRQ_Y * Timer::SCREEN_WIDTH) + Timer::VBL_IRQ_X));