GBA: Fix timers 2 and 3 updating incorrectly

This commit is contained in:
Jeffrey Pfau 2015-01-17 02:21:49 -08:00
parent 56d5fb579d
commit b66ce64c47
2 changed files with 1 additions and 2 deletions

View File

@ -62,6 +62,7 @@ Bugfixes:
- GBA Video: Fix mode 0 being able to read tiles above appropriate tile range - GBA Video: Fix mode 0 being able to read tiles above appropriate tile range
- GBA Audio: Properly initialize audio FIFO channels - GBA Audio: Properly initialize audio FIFO channels
- Util: Fix SOCKET_FAILED macro - Util: Fix SOCKET_FAILED macro
- GBA: Fix timers 2 and 3 updating incorrectly
Misc: Misc:
- Qt: Disable sync to video by default - Qt: Disable sync to video by default
- GBA: Exit cleanly on FATAL if the port supports it - GBA: Exit cleanly on FATAL if the port supports it

View File

@ -276,7 +276,6 @@ static int32_t GBATimersProcessEvents(struct GBA* gba, int32_t cycles) {
if (timer->enable) { if (timer->enable) {
timer->nextEvent -= cycles; timer->nextEvent -= cycles;
timer->lastEvent -= cycles; timer->lastEvent -= cycles;
nextEvent = timer->nextEvent;
if (timer->nextEvent <= 0) { if (timer->nextEvent <= 0) {
timer->lastEvent = timer->nextEvent; timer->lastEvent = timer->nextEvent;
timer->nextEvent += timer->overflowInterval; timer->nextEvent += timer->overflowInterval;
@ -308,7 +307,6 @@ static int32_t GBATimersProcessEvents(struct GBA* gba, int32_t cycles) {
if (timer->enable) { if (timer->enable) {
timer->nextEvent -= cycles; timer->nextEvent -= cycles;
timer->lastEvent -= cycles; timer->lastEvent -= cycles;
nextEvent = timer->nextEvent;
if (timer->nextEvent <= 0) { if (timer->nextEvent <= 0) {
timer->lastEvent = timer->nextEvent; timer->lastEvent = timer->nextEvent;
timer->nextEvent += timer->overflowInterval; timer->nextEvent += timer->overflowInterval;