From 7e37fb254093b8c471ed496aa1ae5f38ca43e6f5 Mon Sep 17 00:00:00 2001 From: TiKevin83 Date: Fri, 13 Mar 2020 00:39:39 -0400 Subject: [PATCH] fix MBC1 games like Pinocchio that need adjustedRombank --- libgambatte/src/mem/cartridge.cpp | 2 +- output/dll/libgambatte.dll | Bin 185344 -> 185344 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/libgambatte/src/mem/cartridge.cpp b/libgambatte/src/mem/cartridge.cpp index 9b555676ad..c0dacca575 100644 --- a/libgambatte/src/mem/cartridge.cpp +++ b/libgambatte/src/mem/cartridge.cpp @@ -150,7 +150,7 @@ private: rambank_ & (rambanks(memptrs_) - 1)); } - void setRombank() const { memptrs_.setRombank(rombank_ & (rombanks(memptrs_) - 1)); } + void setRombank() const { memptrs_.setRombank(adjustedRombank(rombank_) & (rombanks(memptrs_) - 1)); } public: diff --git a/output/dll/libgambatte.dll b/output/dll/libgambatte.dll index 21e99ba02e860027986e1dabfdd452515536cc47..9e60a99a95534d27e23561bf6e59ca8699673c41 100644 GIT binary patch delta 18688 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 delta 18621 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