From 6a063a40bf557af6f8738c86fcfb3b242ef515ce Mon Sep 17 00:00:00 2001 From: Melefo <42809472+Melefo@users.noreply.github.com> Date: Wed, 10 Feb 2021 16:15:53 +0100 Subject: [PATCH] Fixing lock --- sources/APU/DSP/DSP.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sources/APU/DSP/DSP.cpp b/sources/APU/DSP/DSP.cpp index fbc570a..781684b 100644 --- a/sources/APU/DSP/DSP.cpp +++ b/sources/APU/DSP/DSP.cpp @@ -568,7 +568,10 @@ namespace ComSquare::APU::DSP throw InvalidAddress("DSP Registers write", addr); } } - uint8_t DSP::_readRAM(uint24_t addr) { + uint8_t DSP::_readRAM(uint24_t addr) + { + if (!this->_map.lock()) + throw InvalidAddress("DSP read", addr); switch (addr) { case 0x0000 ... 0x00EF: return this->_map.lock()->Page0.read(addr); @@ -583,7 +586,10 @@ namespace ComSquare::APU::DSP } } - void DSP::_writeRAM(uint24_t addr, uint8_t data) { + void DSP::_writeRAM(uint24_t addr, uint8_t data) + { + if (!this->_map.lock()) + throw InvalidAddress("DSP write", addr); switch (addr) { case 0x0000 ... 0x00EF: this->_map.lock()->Page0.write(addr, data);