@@ -278,7 +278,7 @@ uint8_t PCSX::Memory::read8(uint32_t address) {
278
278
const auto pointer = (uint8_t *)m_readLUT[page];
279
279
const bool pioConnected = g_emulator->settings .get <Emulator::SettingPIOConnected>().value ;
280
280
281
- if (msanInitialized () && address >= c_msanStart && address < c_msanEnd ) {
281
+ if (msanInitialized () && inMsanRange ( address) ) {
282
282
uint32_t msanAddress = address - c_msanStart;
283
283
if ((m_msanWrittenBitmap[msanAddress / 8 ] & (1 << (msanAddress % 8 ))) == 0 ) {
284
284
g_system->log (LogClass::CPU, _ (" 8-bit read from usable but uninitialized msan memory: %8.8lx\n " ), address);
@@ -327,7 +327,7 @@ uint16_t PCSX::Memory::read16(uint32_t address) {
327
327
const auto pointer = (uint8_t *)m_readLUT[page];
328
328
const bool pioConnected = g_emulator->settings .get <Emulator::SettingPIOConnected>().value ;
329
329
330
- if (msanInitialized () && address >= c_msanStart && address < c_msanEnd ) {
330
+ if (msanInitialized () && inMsanRange ( address) ) {
331
331
uint32_t msanAddress = address - c_msanStart;
332
332
for (unsigned offset = 0 ; offset < 2 ; offset++) {
333
333
if ((m_msanWrittenBitmap[(msanAddress + offset) / 8 ] & (1 << ((msanAddress + offset) % 8 ))) == 0 ) {
@@ -376,7 +376,7 @@ uint32_t PCSX::Memory::read32(uint32_t address, ReadType readType) {
376
376
const auto pointer = (uint8_t *)m_readLUT[page];
377
377
const bool pioConnected = g_emulator->settings .get <Emulator::SettingPIOConnected>().value ;
378
378
379
- if (msanInitialized () && address >= c_msanStart && address < c_msanEnd ) {
379
+ if (msanInitialized () && inMsanRange ( address) ) {
380
380
uint32_t msanAddress = address - c_msanStart;
381
381
for (unsigned offset = 0 ; offset < 4 ; offset++) {
382
382
if ((m_msanWrittenBitmap[(msanAddress + offset) / 8 ] & (1 << ((msanAddress + offset) % 8 ))) == 0 ) {
@@ -501,7 +501,7 @@ void PCSX::Memory::write8(uint32_t address, uint32_t value) {
501
501
const auto pointer = (uint8_t *)m_writeLUT[page];
502
502
const bool pioConnected = g_emulator->settings .get <Emulator::SettingPIOConnected>().value ;
503
503
504
- if (msanInitialized () && address >= c_msanStart && address < c_msanEnd ) {
504
+ if (msanInitialized () && inMsanRange ( address) ) {
505
505
uint32_t msanAddress = address - c_msanStart;
506
506
if (m_msanBitmap[msanAddress / 8 ] & (1 << (msanAddress % 8 ))) {
507
507
m_msanWrittenBitmap[msanAddress / 8 ] |= (1 << (msanAddress % 8 ));
@@ -538,7 +538,7 @@ void PCSX::Memory::write16(uint32_t address, uint32_t value) {
538
538
const auto pointer = (uint8_t *)m_writeLUT[page];
539
539
const bool pioConnected = g_emulator->settings .get <Emulator::SettingPIOConnected>().value ;
540
540
541
- if (msanInitialized () && address >= c_msanStart && address < c_msanEnd ) {
541
+ if (msanInitialized () && inMsanRange ( address) ) {
542
542
uint32_t msanAddress = address - c_msanStart;
543
543
if (m_msanBitmap[msanAddress / 8 ] & (1 << (msanAddress % 8 ))) {
544
544
for (unsigned offset = 0 ; offset < 2 ; offset++) {
@@ -578,7 +578,7 @@ void PCSX::Memory::write32(uint32_t address, uint32_t value) {
578
578
const auto pointer = (uint8_t *)m_writeLUT[page];
579
579
const bool pioConnected = g_emulator->settings .get <Emulator::SettingPIOConnected>().value ;
580
580
581
- if (msanInitialized () && address >= c_msanStart && address < c_msanEnd ) {
581
+ if (msanInitialized () && inMsanRange ( address) ) {
582
582
uint32_t msanAddress = address - c_msanStart;
583
583
if (m_msanBitmap[msanAddress / 8 ] & (1 << (msanAddress % 8 ))) {
584
584
for (unsigned offset = 0 ; offset < 4 ; offset++) {
@@ -877,7 +877,7 @@ void PCSX::Memory::msanFree(uint32_t ptr) {
877
877
return ;
878
878
}
879
879
// Check if the pointer is valid.
880
- if (ptr < c_msanStart || ptr >= c_msanEnd ) {
880
+ if (! inMsanRange ( ptr) ) {
881
881
g_system->printf (_ (" Invalid pointer passed to MsanFree: %08x\n " ), ptr);
882
882
g_system->pause ();
883
883
return ;
@@ -906,7 +906,7 @@ uint32_t PCSX::Memory::msanRealloc(uint32_t ptr, uint32_t size) {
906
906
return 0 ;
907
907
}
908
908
// Check if the pointer is valid.
909
- if (ptr < c_msanStart || ptr >= c_msanEnd ) {
909
+ if (! inMsanRange ( ptr) ) {
910
910
g_system->printf (_ (" Invalid pointer passed to MsanRealloc: %08x\n " ), ptr);
911
911
g_system->pause ();
912
912
return 0 ;
@@ -943,18 +943,18 @@ uint32_t PCSX::Memory::msanRealloc(uint32_t ptr, uint32_t size) {
943
943
}
944
944
945
945
uint32_t PCSX::Memory::msanSetChainPtr (uint32_t headerAddr, uint32_t nextPtr, uint32_t wordCount) {
946
- if (headerAddr < c_msanStart || headerAddr >= c_msanEnd ) {
946
+ if (! inMsanRange ( headerAddr) ) {
947
947
headerAddr &= 0xffffff ;
948
948
}
949
- if (nextPtr >= c_msanStart && nextPtr < c_msanEnd ) {
949
+ if (inMsanRange ( nextPtr) ) {
950
950
// map the location of an entry to the real pointer it's supposed to contain
951
951
m_msanChainRegistry[headerAddr] = nextPtr;
952
952
return c_msanChainMarker | wordCount << 24 ;
953
953
}
954
954
return (nextPtr & 0xffffff ) | wordCount << 24 ;
955
955
}
956
956
957
- uint32_t PCSX::Memory::msanGetChainPtr (uint32_t headerAddr) {
957
+ uint32_t PCSX::Memory::msanGetChainPtr (uint32_t headerAddr) const {
958
958
auto it = m_msanChainRegistry.find (headerAddr);
959
959
if (it == m_msanChainRegistry.end ()) {
960
960
g_system->printf (_ (" Unregistered msan chain header at %08x\n " ), headerAddr);
0 commit comments