From 9c16cccdeff716465bb1000e21dff1161aac66e3 Mon Sep 17 00:00:00 2001 From: Thomas Jentzsch Date: Tue, 17 Jan 2023 23:04:52 +0100 Subject: [PATCH] Another attempt to fix #931 in a good way. --- src/debugger/DiStella.cxx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/debugger/DiStella.cxx b/src/debugger/DiStella.cxx index a706cea59..a4884c5f2 100644 --- a/src/debugger/DiStella.cxx +++ b/src/debugger/DiStella.cxx @@ -755,7 +755,7 @@ void DiStella::disasmFromAddress(uInt32 distart) // abort when we reach non-code areas if (checkBits(myPC, Device::Device::DATA | Device::GFX | Device::PGFX | Device::COL | Device::PCOL | Device::BCOL | - Device::AUD | Device::ROW, + Device::AUD, Device::CODE)) { myPCEnd = (myPC - 1) + myOffset; return; @@ -804,7 +804,7 @@ void DiStella::disasmFromAddress(uInt32 distart) // handle JMP/JSR if (ourLookup[opcode].source == AccessMode::ADDR) { // do NOT use flags set by debugger, else known CODE will not analyzed statically. - if (!checkBit(ad & myAppData.end, Device::CODE, false)) { + if (!checkBit(ad & myAppData.end, Device::CODE | Device::ROW, false)) { if (ad > 0xfff) myAddressQueue.push((ad & myAppData.end) + myOffset); mark(ad, Device::CODE); @@ -858,7 +858,7 @@ void DiStella::disasmFromAddress(uInt32 distart) ad = ((myPC + static_cast(d1)) & 0xfff) + myOffset; mark(ad, Device::REFERENCED); // do NOT use flags set by debugger, else known CODE will not analyzed statically. - if (!checkBit(ad - myOffset, Device::CODE, false)) { + if (!checkBit(ad - myOffset, Device::CODE | Device::ROW, false)) { myAddressQueue.push(ad); mark(ad, Device::CODE); }