From 72c17966b94f84d4fa0561652609739d01a1c96b Mon Sep 17 00:00:00 2001 From: Sour Date: Fri, 1 Mar 2019 19:31:24 -0500 Subject: [PATCH] WRAM: Fixed out-of-bounds memory access on register reads --- Core/RegisterHandlerB.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Core/RegisterHandlerB.h b/Core/RegisterHandlerB.h index 37e7b94..bd61001 100644 --- a/Core/RegisterHandlerB.h +++ b/Core/RegisterHandlerB.h @@ -27,7 +27,9 @@ public: if(addr >= 0x2140 && addr <= 0x217F) { return _spc->Read(addr & 0x03); } else if(addr == 0x2180) { - return _workRam[_wramPosition++]; + uint8_t value = _workRam[_wramPosition]; + _wramPosition = (_wramPosition + 1) & 0x1FFFF; + return value; } else { return _ppu->Read(addr); }