Ruined art hangs and shows the monitor automatically: is it an illegal opcode?
ruined_art.prg.zip

It also stops on my mac in the same way and the monitor window appears
...for Ruined Art:
_The VIC BA pin is connected to the CPU RDY pin and the CPU access the bus in the second phase of a system cycle. If the CPU was paused because BA was low and then the BA line transitions high in the clock before the CPU executes the last cycle of opcode $9F (AXA SHA) then the behaviour of opcode $9F is altered._
The VICE testsuite checks for this behaviour here:
svn://svn.code.sf.net/p/vice-emu/code/testprogs/CPU/sha
ruined_art_opcode_9F.txt :
case AXA_ABSOLUTEY://SHAAY
case AXA_INDIRECTY://SHAIY AHX
this->SyncChips();
if (addr.byte.loByte < mY)
{
//page crossing
axa_byte = (addr.byte.hiByte) & mX;
addr.byte.hiByte = axa_byte;
}
else
{
axa_byte = (addr.byte.hiByte + 1) & mX;
}
if (((ICLKS)(CurrentClock - this->LastBAHighClock)) == 1)
{
axa_byte = mX;
}
WriteByte(addr.word, mA & axa_byte);
check_interrupts1();
m_cpu_sequence=C_FETCH_OPCODE;
m_CurrentOpcodeAddress = mPC;
m_CurrentOpcodeClock = CurrentClock;
break;

:1st_place_medal:

Thank you
Most helpful comment