From 9e33f5f6db74f887a37c3258aa2a3f441b9e52c6 Mon Sep 17 00:00:00 2001 From: TiKevin83 Date: Thu, 21 May 2020 11:41:37 -0400 Subject: [PATCH] Fix VRAM end of line testROM and a desync in GB Wario Land II --- libgambatte/src/memory.cpp | 5 +++++ libgambatte/src/video.cpp | 10 ++++++++++ libgambatte/src/video.h | 4 +++- output/dll/libgambatte.dll | Bin 185344 -> 185856 bytes 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/libgambatte/src/memory.cpp b/libgambatte/src/memory.cpp index 3b255d7d62..f76da1511d 100644 --- a/libgambatte/src/memory.cpp +++ b/libgambatte/src/memory.cpp @@ -655,6 +655,11 @@ unsigned Memory::nontrivial_read(unsigned const p, unsigned long const cc) { if (!lcd_.vramReadable(cc)) return 0xFF; + if (lcd_.vramExactlyReadable(cc)) + if (p < 0x9000) { + return 0x00; + } + return cart_.vrambankptr()[p]; } diff --git a/libgambatte/src/video.cpp b/libgambatte/src/video.cpp index 654c8bbd50..f1075178ce 100644 --- a/libgambatte/src/video.cpp +++ b/libgambatte/src/video.cpp @@ -290,6 +290,15 @@ bool LCD::vramReadable(unsigned long const cc) { || cc + 2 >= m0TimeOfCurrentLine(cc); } +bool LCD::vramExactlyReadable(unsigned long const cc) { + bool currentVramExactlyReadable = (cc + 2 == m0TimeOfCurrentLine(cc)); + bool vramAlreadyExactlyRead = vramHasBeenExactlyRead; + if (currentVramExactlyReadable) { + vramHasBeenExactlyRead = true; + } + return !vramAlreadyExactlyRead && currentVramExactlyReadable; +} + bool LCD::vramWritable(unsigned long const cc) { if (cc >= eventTimes_.nextEventTime()) update(cc); @@ -848,4 +857,5 @@ SYNCFUNC(LCD) SSS(lycIrq_); SSS(nextM0Time_); NSS(statReg_); + NSS(vramHasBeenExactlyRead); } diff --git a/libgambatte/src/video.h b/libgambatte/src/video.h index ab8b25475c..60e05bbf42 100644 --- a/libgambatte/src/video.h +++ b/libgambatte/src/video.h @@ -102,6 +102,7 @@ public: void resetCc(unsigned long oldCC, unsigned long newCc); void speedChange(unsigned long cycleCounter); bool vramReadable(unsigned long cycleCounter); + bool vramExactlyReadable(unsigned long cycleCounter); bool vramWritable(unsigned long cycleCounter); bool oamReadable(unsigned long cycleCounter); bool oamWritable(unsigned long cycleCounter); @@ -228,6 +229,7 @@ public: LycIrq lycIrq_; NextM0Time nextM0Time_; unsigned char statReg_; + bool vramHasBeenExactlyRead = false; static void setDmgPalette(unsigned long palette[], unsigned long const dmgColors[], @@ -235,13 +237,13 @@ public: unsigned long gbcToRgb32(const unsigned bgr15); void doCgbColorChange(unsigned char *const pdata, unsigned long *const palette, unsigned index, const unsigned data); - void refreshPalettes(); void setDBuffer(); void doMode2IrqEvent(); void event(); unsigned long m0TimeOfCurrentLine(unsigned long cc); bool cgbpAccessible(unsigned long cycleCounter); + bool lycRegChangeStatTriggerBlockedByM0OrM1Irq(unsigned data, unsigned long cc); bool lycRegChangeTriggersStatIrq(unsigned old, unsigned data, unsigned long cc); bool statChangeTriggersM0LycOrM1StatIrqCgb(unsigned old, unsigned data, bool lycperiod, unsigned long cc); diff --git a/output/dll/libgambatte.dll b/output/dll/libgambatte.dll index 3292e503ac0bef27ba2d31610f2bb8f5d41e4faa..59d464690cb3f4ba2e381f4136beda75ad79c9cb 100644 GIT binary patch delta 37187 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 delta 37106 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

j7ziLBk*NT_E`hi}5N!)*V59unt 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