From 38b84fce09f1de677a8c76e644d1a1992c20a6b5 Mon Sep 17 00:00:00 2001 From: alyosha-tas Date: Sat, 12 May 2018 12:21:15 -0400 Subject: [PATCH] Gambatte: Recommit Halt changes (now with Gifvex's improvements too) --- libgambatte/src/cpu.cpp | 17 ++++------------- libgambatte/src/memory.cpp | 26 ++++++++++++++------------ libgambatte/src/memory.h | 4 +++- libgambatte/src/tima.cpp | 17 ++++++++++++++++- libgambatte/src/tima.h | 4 +++- output/dll/libgambatte.dll | Bin 177664 -> 177664 bytes 6 files changed, 40 insertions(+), 28 deletions(-) diff --git a/libgambatte/src/cpu.cpp b/libgambatte/src/cpu.cpp index 3db9a3c7c0..8ea6714cb3 100644 --- a/libgambatte/src/cpu.cpp +++ b/libgambatte/src/cpu.cpp @@ -634,15 +634,6 @@ void CPU::process(const unsigned long cycles) { //Halt CPU and LCD display until button pressed: case 0x10: { - unsigned char followingByte; - PEEK(followingByte, PC); - PC = (PC + 1) & 0xFFFF; - - //if (followingByte != 0x00) { - //memory.di(); - //memory.blackScreen(); - //} - cycleCounter = memory.stop(cycleCounter); if (cycleCounter < memory.nextEventTime()) { @@ -1165,13 +1156,13 @@ void CPU::process(const unsigned long cycles) { //halt (4 cycles): case 0x76: - if (!memory.ime() && (memory.ff_read(0xFF0F, cycleCounter) & memory.ff_read(0xFFFF, cycleCounter) & 0x1F)) { - if (memory.isCgb()) - cycleCounter += 4; + if (memory.ff_read(0xFF0F, cycleCounter) & memory.ff_read(0xFFFF, cycleCounter) & 0x1F) { + if (memory.ime()) + PC = (PC - 1) & 0xFFFF; else skip = true; } else { - memory.halt(); + memory.halt(cycleCounter); if (cycleCounter < memory.nextEventTime()) { const unsigned long cycles = memory.nextEventTime() - cycleCounter; diff --git a/libgambatte/src/memory.cpp b/libgambatte/src/memory.cpp index a5fcc148ef..46dcc6e28a 100644 --- a/libgambatte/src/memory.cpp +++ b/libgambatte/src/memory.cpp @@ -154,6 +154,9 @@ unsigned long Memory::event(unsigned long cycleCounter) { switch (intreq.minEventId()) { case UNHALT: + nontrivial_ff_write(0xFF04, 0, cycleCounter); + PC = (PC + 1) & 0xFFFF; + cycleCounter += 4; intreq.unhalt(); intreq.setEventTime(DISABLED_TIME); break; @@ -265,8 +268,12 @@ unsigned long Memory::event(unsigned long cycleCounter) { display.update(cycleCounter); break; case INTERRUPTS: + if (stopped) { + intreq.setEventTime(DISABLED_TIME); + break; + } if (halted()) { - if (gbIsCgb_) + if (gbIsCgb_ || (!gbIsCgb_ && cycleCounter <= halttime + 4)) cycleCounter += 4; intreq.unhalt(); @@ -311,7 +318,7 @@ unsigned long Memory::event(unsigned long cycleCounter) { } unsigned long Memory::stop(unsigned long cycleCounter) { - cycleCounter += 4 << isDoubleSpeed(); + cycleCounter += 4; if (ioamhram[0x14D] & isCgb()) { sound.generate_samples(cycleCounter, isDoubleSpeed()); @@ -329,17 +336,11 @@ unsigned long Memory::stop(unsigned long cycleCounter) { // otherwise, the cpu should be allowed to stay halted as long as needed // so only execute this line when switching speed intreq.halt(); - intreq.setEventTime(cycleCounter + 0x20000 + isDoubleSpeed() * 8); + intreq.setEventTime(cycleCounter + 0x20000); } else { - if ((ioamhram[0x100] & 0x30) == 0x30) { - di(); - intreq.halt(); - } - else { - intreq.halt(); - intreq.setEventTime(cycleCounter + 0x20000 + isDoubleSpeed() * 8); - } + stopped = true; + intreq.halt(); } return cycleCounter; @@ -651,6 +652,7 @@ void Memory::nontrivial_ff_write(const unsigned P, unsigned data, const unsigned case 0x04: ioamhram[0x104] = 0; divLastUpdate = cycleCounter; + tima.resTac(cycleCounter, TimaInterruptRequester(intreq)); return; case 0x05: tima.setTima(data, cycleCounter, TimaInterruptRequester(intreq)); @@ -660,7 +662,7 @@ void Memory::nontrivial_ff_write(const unsigned P, unsigned data, const unsigned break; case 0x07: data |= 0xF8; - tima.setTac(data, cycleCounter, TimaInterruptRequester(intreq)); + tima.setTac(data, cycleCounter, TimaInterruptRequester(intreq), gbIsCgb_); break; case 0x0F: updateIrqs(cycleCounter); diff --git a/libgambatte/src/memory.h b/libgambatte/src/memory.h index ac2b5d2d17..af9758eab5 100644 --- a/libgambatte/src/memory.h +++ b/libgambatte/src/memory.h @@ -42,9 +42,11 @@ class Memory { bool cgbSwitching; bool agbMode; bool gbIsCgb_; + bool stopped; unsigned short &SP; unsigned short &PC; unsigned long basetime; + unsigned long halttime; MemoryCallback readCallback; MemoryCallback writeCallback; @@ -129,7 +131,7 @@ public: return cc < intreq.eventTime(BLIT) ? -1 : static_cast((cc - intreq.eventTime(BLIT)) >> isDoubleSpeed()); } - void halt() { intreq.halt(); } + void halt(unsigned long cycleCounter) { halttime = cycleCounter; intreq.halt(); } void ei(unsigned long cycleCounter) { if (!ime()) { intreq.ei(cycleCounter); } } void di() { intreq.di(); } diff --git a/libgambatte/src/tima.cpp b/libgambatte/src/tima.cpp index 5272443ba2..68d49189ef 100644 --- a/libgambatte/src/tima.cpp +++ b/libgambatte/src/tima.cpp @@ -119,7 +119,7 @@ void Tima::setTma(const unsigned data, const unsigned long cycleCounter, const T tma_ = data; } -void Tima::setTac(const unsigned data, const unsigned long cycleCounter, const TimaInterruptRequester timaIrq) { +void Tima::setTac(const unsigned data, const unsigned long cycleCounter, const TimaInterruptRequester timaIrq, bool gbIsCgb) { if (tac_ ^ data) { unsigned long nextIrqEventTime = timaIrq.nextIrqEventTime(); @@ -142,6 +142,13 @@ void Tima::setTac(const unsigned data, const unsigned long cycleCounter, const T if (data & 4) { lastUpdate_ = (cycleCounter >> timaClock[data & 3]) << timaClock[data & 3]; + unsigned long diff = cycleCounter - basetime_; + + if (gbIsCgb) { + if (((diff >> (timaClock[tac_ & 3] - 1)) & 1) == 1 && ((diff >> (timaClock[data & 3] - 1)) & 1) == 0) + tima_++; + } + lastUpdate_ = basetime_ + ((diff >> timaClock[data & 3]) << timaClock[data & 3]); nextIrqEventTime = lastUpdate_ + ((256u - tima_) << timaClock[data & 3]) + 3; } @@ -151,6 +158,14 @@ void Tima::setTac(const unsigned data, const unsigned long cycleCounter, const T tac_ = data; } +void Tima::resTac(unsigned long const cycleCounter, TimaInterruptRequester timaIrq) { + basetime_ = cycleCounter; + if (tac_ & 0x04) { + setTac(tac_ & ~0x04, cycleCounter, timaIrq, false); + setTac(tac_ | 0x04, cycleCounter, timaIrq, false); + } +} + unsigned Tima::tima(unsigned long cycleCounter) { if (tac_ & 0x04) updateTima(cycleCounter); diff --git a/libgambatte/src/tima.h b/libgambatte/src/tima.h index a3c0c995bb..a66f987837 100644 --- a/libgambatte/src/tima.h +++ b/libgambatte/src/tima.h @@ -34,6 +34,7 @@ public: }; class Tima { + unsigned long basetime_; unsigned long lastUpdate_; unsigned long tmatime_; @@ -55,7 +56,8 @@ public: void setTima(unsigned tima, unsigned long cc, TimaInterruptRequester timaIrq); void setTma(unsigned tma, unsigned long cc, TimaInterruptRequester timaIrq); - void setTac(unsigned tac, unsigned long cc, TimaInterruptRequester timaIrq); + void setTac(unsigned tac, unsigned long cc, TimaInterruptRequester timaIrq, bool gbIsCgb); + void resTac(unsigned long cc, TimaInterruptRequester timaIrq); unsigned tima(unsigned long cc); void doIrqEvent(TimaInterruptRequester timaIrq); diff --git a/output/dll/libgambatte.dll b/output/dll/libgambatte.dll index 4c02731caf11359d434846f5270e96c7848fd240..6cfedd62b455eb9ea2308fcfcb1ca11b220db73d 100644 GIT binary patch delta 60971 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