From 42fef3336fa004ea078f4b049fa18dd071361bd4 Mon Sep 17 00:00:00 2001 From: Ilari Liusvaara Date: Wed, 12 Nov 2014 11:01:07 +0200 Subject: [PATCH] gambatte fixes: Properly save MBC3 without RTC --- ...ake-libgambatte-rerecording-friendly.patch | 4 +-- .../svn537/0002-Expose-CPU-registers.patch | 4 +-- .../svn537/0003-Breakpoints-debugging.patch | 4 +-- .../svn537/0004-Fix-sound-DC-levels.patch | 4 +-- ...n-illegal-instruction-fix-MBC3-bank0.patch | 4 +-- ...f-A-PC-and-CycleCounter-when-executi.patch | 4 +-- .../svn537/0007-Fix-bus-write-breaks.patch | 4 +-- ...x-execute-breaks-on-bus-and-IOAMHRAM.patch | 4 +-- ...9-Fix-savestates-of-MBC3-without-RTC.patch | 25 +++++++++++++++++++ 9 files changed, 41 insertions(+), 16 deletions(-) create mode 100644 libgambatte-patches/svn537/0009-Fix-savestates-of-MBC3-without-RTC.patch diff --git a/libgambatte-patches/svn537/0001-Changes-to-make-libgambatte-rerecording-friendly.patch b/libgambatte-patches/svn537/0001-Changes-to-make-libgambatte-rerecording-friendly.patch index d1ad7c85..1ff3ecb3 100644 --- a/libgambatte-patches/svn537/0001-Changes-to-make-libgambatte-rerecording-friendly.patch +++ b/libgambatte-patches/svn537/0001-Changes-to-make-libgambatte-rerecording-friendly.patch @@ -1,7 +1,7 @@ From 148f2f6e1142f9d2caa9612dd9a68069426537f8 Mon Sep 17 00:00:00 2001 From: Ilari Liusvaara Date: Fri, 9 Aug 2013 20:13:11 +0300 -Subject: [PATCH 1/8] Changes to make libgambatte rerecording friendly +Subject: [PATCH 1/9] Changes to make libgambatte rerecording friendly --- Makefile | 10 + @@ -5889,5 +5889,5 @@ index 7d8dbe1..341bce6 100644 } -- -2.0.0.rc2 +2.1.3 diff --git a/libgambatte-patches/svn537/0002-Expose-CPU-registers.patch b/libgambatte-patches/svn537/0002-Expose-CPU-registers.patch index 008a5f9f..67bbcfbf 100644 --- a/libgambatte-patches/svn537/0002-Expose-CPU-registers.patch +++ b/libgambatte-patches/svn537/0002-Expose-CPU-registers.patch @@ -1,7 +1,7 @@ From 1bcbfe173abb9650c8ae13677d4dca4f0222ab7e Mon Sep 17 00:00:00 2001 From: Ilari Liusvaara Date: Mon, 18 Nov 2013 01:53:58 +0200 -Subject: [PATCH 2/8] Expose CPU registers +Subject: [PATCH 2/9] Expose CPU registers --- libgambatte/include/gambatte.h | 22 +++++++++++++++++++ @@ -120,5 +120,5 @@ index 0204557..a61e177 100644 +} } -- -2.0.0.rc2 +2.1.3 diff --git a/libgambatte-patches/svn537/0003-Breakpoints-debugging.patch b/libgambatte-patches/svn537/0003-Breakpoints-debugging.patch index 91502d34..ac97113e 100644 --- a/libgambatte-patches/svn537/0003-Breakpoints-debugging.patch +++ b/libgambatte-patches/svn537/0003-Breakpoints-debugging.patch @@ -1,7 +1,7 @@ From 6725b4545adc3e94e0344e5f904267349ce167ba Mon Sep 17 00:00:00 2001 From: Ilari Liusvaara Date: Thu, 28 Nov 2013 22:05:32 +0200 -Subject: [PATCH 3/8] Breakpoints & debugging +Subject: [PATCH 3/9] Breakpoints & debugging --- libgambatte/include/gambatte.h | 23 +++++++++ @@ -486,5 +486,5 @@ index a531930..4a252b7 100644 void nontrivial_write(unsigned p, unsigned data, unsigned cycleCounter); void updateSerial(unsigned cc); -- -2.0.0.rc2 +2.1.3 diff --git a/libgambatte-patches/svn537/0004-Fix-sound-DC-levels.patch b/libgambatte-patches/svn537/0004-Fix-sound-DC-levels.patch index 794db28b..185c5159 100644 --- a/libgambatte-patches/svn537/0004-Fix-sound-DC-levels.patch +++ b/libgambatte-patches/svn537/0004-Fix-sound-DC-levels.patch @@ -1,7 +1,7 @@ From 607d3e252c43d67cea54ec222ef1767a86b3660b Mon Sep 17 00:00:00 2001 From: Ilari Liusvaara Date: Thu, 5 Dec 2013 08:48:21 +0200 -Subject: [PATCH 4/8] Fix sound DC levels +Subject: [PATCH 4/9] Fix sound DC levels This was causing popping in Mega Man (I) --- @@ -105,5 +105,5 @@ index bc0a312..0abd4fb 100644 unsigned out = lfsr_.isHighState() ? outHigh : outLow; -- -2.0.0.rc2 +2.1.3 diff --git a/libgambatte-patches/svn537/0005-Crash-on-illegal-instruction-fix-MBC3-bank0.patch b/libgambatte-patches/svn537/0005-Crash-on-illegal-instruction-fix-MBC3-bank0.patch index ca64d076..2154fcee 100644 --- a/libgambatte-patches/svn537/0005-Crash-on-illegal-instruction-fix-MBC3-bank0.patch +++ b/libgambatte-patches/svn537/0005-Crash-on-illegal-instruction-fix-MBC3-bank0.patch @@ -1,7 +1,7 @@ From 84fe61ebd27df485ff894d1d05b8950916c6508c Mon Sep 17 00:00:00 2001 From: Ilari Liusvaara Date: Sat, 1 Feb 2014 12:56:47 +0200 -Subject: [PATCH 5/8] Crash on illegal instruction, fix MBC3 bank0 +Subject: [PATCH 5/9] Crash on illegal instruction, fix MBC3 bank0 --- libgambatte/include/gambatte.h | 2 ++ @@ -188,5 +188,5 @@ index 1775139..bfec71c 100644 void loadOrSave(loadsave& state) { rtc_->loadOrSave(state); -- -2.0.0.rc2 +2.1.3 diff --git a/libgambatte-patches/svn537/0006-Fix-read-write-of-A-PC-and-CycleCounter-when-executi.patch b/libgambatte-patches/svn537/0006-Fix-read-write-of-A-PC-and-CycleCounter-when-executi.patch index c382d68f..2d52fcd4 100644 --- a/libgambatte-patches/svn537/0006-Fix-read-write-of-A-PC-and-CycleCounter-when-executi.patch +++ b/libgambatte-patches/svn537/0006-Fix-read-write-of-A-PC-and-CycleCounter-when-executi.patch @@ -1,7 +1,7 @@ From 24df3ca0d17d37bb3192b0ddf28cc16d9b4f8fa5 Mon Sep 17 00:00:00 2001 From: Ilari Liusvaara Date: Mon, 24 Mar 2014 14:01:29 +0200 -Subject: [PATCH 6/8] Fix read/write of A, PC and CycleCounter when executing +Subject: [PATCH 6/9] Fix read/write of A, PC and CycleCounter when executing --- libgambatte/src/cpu.cpp | 9 +++++++++ @@ -105,5 +105,5 @@ index f2310ed..d54f5df 100644 case REG_C: p_->cpu.c = val; break; case REG_D: p_->cpu.d = val; break; -- -2.0.0.rc2 +2.1.3 diff --git a/libgambatte-patches/svn537/0007-Fix-bus-write-breaks.patch b/libgambatte-patches/svn537/0007-Fix-bus-write-breaks.patch index 7170aaff..2ac2b280 100644 --- a/libgambatte-patches/svn537/0007-Fix-bus-write-breaks.patch +++ b/libgambatte-patches/svn537/0007-Fix-bus-write-breaks.patch @@ -1,7 +1,7 @@ From 9e0586e5943fade4624cdbc89ea832bf56349c46 Mon Sep 17 00:00:00 2001 From: Ilari Liusvaara Date: Mon, 19 May 2014 11:51:03 +0300 -Subject: [PATCH 7/8] Fix bus write breaks +Subject: [PATCH 7/9] Fix bus write breaks --- libgambatte/src/memory.h | 2 +- @@ -21,5 +21,5 @@ index 4a252b7..e820776 100644 unsigned char* memblock = cart_.wmem(p >> 12); if(memblock) { -- -2.0.0.rc2 +2.1.3 diff --git a/libgambatte-patches/svn537/0008-Fix-execute-breaks-on-bus-and-IOAMHRAM.patch b/libgambatte-patches/svn537/0008-Fix-execute-breaks-on-bus-and-IOAMHRAM.patch index 7a9151ed..689e7dad 100644 --- a/libgambatte-patches/svn537/0008-Fix-execute-breaks-on-bus-and-IOAMHRAM.patch +++ b/libgambatte-patches/svn537/0008-Fix-execute-breaks-on-bus-and-IOAMHRAM.patch @@ -1,7 +1,7 @@ From 9e0bab46d119dd97c1069458816a993e05f7e10a Mon Sep 17 00:00:00 2001 From: Ilari Liusvaara Date: Mon, 19 May 2014 12:20:12 +0300 -Subject: [PATCH 8/8] Fix execute breaks on bus and IOAMHRAM +Subject: [PATCH 8/9] Fix execute breaks on bus and IOAMHRAM --- libgambatte/src/memory.h | 4 ++-- @@ -30,5 +30,5 @@ index e820776..e838502 100644 } -- -2.0.0.rc2 +2.1.3 diff --git a/libgambatte-patches/svn537/0009-Fix-savestates-of-MBC3-without-RTC.patch b/libgambatte-patches/svn537/0009-Fix-savestates-of-MBC3-without-RTC.patch new file mode 100644 index 00000000..0aae6855 --- /dev/null +++ b/libgambatte-patches/svn537/0009-Fix-savestates-of-MBC3-without-RTC.patch @@ -0,0 +1,25 @@ +From a77b5548ae91cf66d1d18d4fbe2aa76eb39c7ea3 Mon Sep 17 00:00:00 2001 +From: Ilari Liusvaara +Date: Wed, 12 Nov 2014 10:51:55 +0200 +Subject: [PATCH 9/9] Fix savestates of MBC3 without RTC. + +--- + libgambatte/src/mem/cartridge.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libgambatte/src/mem/cartridge.cpp b/libgambatte/src/mem/cartridge.cpp +index bfec71c..4773c6b 100644 +--- a/libgambatte/src/mem/cartridge.cpp ++++ b/libgambatte/src/mem/cartridge.cpp +@@ -334,7 +334,7 @@ public: + memptrs_.setRombank(abank & (rombanks(memptrs_) - 1)); + } + void loadOrSave(loadsave& state) { +- rtc_->loadOrSave(state); ++ if(rtc_) rtc_->loadOrSave(state); + state(rombank_); + state(rambank_); + state(enableRam_); +-- +2.1.3 +