gambatte fixes: Properly save MBC3 without RTC

This commit is contained in:
Ilari Liusvaara 2014-11-12 11:01:07 +02:00
parent 5cfa21b622
commit 42fef3336f
9 changed files with 41 additions and 16 deletions

View file

@ -1,7 +1,7 @@
From 148f2f6e1142f9d2caa9612dd9a68069426537f8 Mon Sep 17 00:00:00 2001
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
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

View file

@ -1,7 +1,7 @@
From 1bcbfe173abb9650c8ae13677d4dca4f0222ab7e Mon Sep 17 00:00:00 2001
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
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

View file

@ -1,7 +1,7 @@
From 6725b4545adc3e94e0344e5f904267349ce167ba Mon Sep 17 00:00:00 2001
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
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

View file

@ -1,7 +1,7 @@
From 607d3e252c43d67cea54ec222ef1767a86b3660b Mon Sep 17 00:00:00 2001
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
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

View file

@ -1,7 +1,7 @@
From 84fe61ebd27df485ff894d1d05b8950916c6508c Mon Sep 17 00:00:00 2001
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
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

View file

@ -1,7 +1,7 @@
From 24df3ca0d17d37bb3192b0ddf28cc16d9b4f8fa5 Mon Sep 17 00:00:00 2001
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
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

View file

@ -1,7 +1,7 @@
From 9e0586e5943fade4624cdbc89ea832bf56349c46 Mon Sep 17 00:00:00 2001
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
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

View file

@ -1,7 +1,7 @@
From 9e0bab46d119dd97c1069458816a993e05f7e10a Mon Sep 17 00:00:00 2001
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
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

View file

@ -0,0 +1,25 @@
From a77b5548ae91cf66d1d18d4fbe2aa76eb39c7ea3 Mon Sep 17 00:00:00 2001
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
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