Virtualc64: Ruined Art hangs and shows the monitor automatically

Created on 1 Sep 2018  路  6Comments  路  Source: dirkwhoffmann/virtualc64

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

schermata 2018-09-01 alle 10 20 16

bug

Most helpful comment

ruinedarts

All 6 comments

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;

ruinedarts

:1st_place_medal:

happy-winking-eye-cartoon-face_xkvcxz_sb_pm

Thank you

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Shrapnel21 picture Shrapnel21  路  6Comments

tsupplis picture tsupplis  路  3Comments

dirkwhoffmann picture dirkwhoffmann  路  5Comments

Alessandro1970 picture Alessandro1970  路  5Comments

ChuckCaplan picture ChuckCaplan  路  7Comments