diff --git a/source/CPU/cpu65C02.h b/source/CPU/cpu65C02.h index b8b2e648..b2b1f970 100644 --- a/source/CPU/cpu65C02.h +++ b/source/CPU/cpu65C02.h @@ -56,6 +56,48 @@ static DWORD Cpu65C02(DWORD uTotalCycles, const bool bVideoUpdate) } else { +#if 0 + if (regs.pc >= 0x59f && regs.pc < 0x680) + { + if (regs.pc == 0x5d9) + LogOutput("%04X: inc $ea -> %02X\n", regs.pc, (mem[0xea] + 1) & 0xff); + else if (regs.pc == 0x5da) + LogOutput("%04X: nop $ea = %02X\n", regs.pc, mem[0xea]); + // + else if (regs.pc == 0x5ef) + LogOutput("%04X: inc $ea -> %02X\n", regs.pc, (mem[0xea] + 1) & 0xff); + else if (regs.pc == 0x5f0) + LogOutput("%04X: nop $ea = %02X\n", regs.pc, mem[0xea]); + // + else if (regs.pc == 0x606) + LogOutput("%04X: inc $ea -> %02X\n", regs.pc, (mem[0xea] + 1) & 0xff); + else if (regs.pc == 0x607) + LogOutput("%04X: nop $ea = %02X\n", regs.pc, mem[0xea]); + // + else if (regs.pc == 0x61c) + LogOutput("%04X: inc $ea -> %02X\n", regs.pc, (mem[0xea] + 1) & 0xff); + else if (regs.pc == 0x61d) + LogOutput("%04X: nop $ea = %02X\n", regs.pc, mem[0xea]); + // + else if (regs.pc == 0x631) + LogOutput("%04X: inc $ea -> %02X\n", regs.pc, (mem[0xea] + 1) & 0xff); + else if (regs.pc == 0x632) + LogOutput("%04X: nop $ea = %02X\n", regs.pc, mem[0xea]); + // + else if (regs.pc == 0x647) + LogOutput("%04X: inc $ea -> %02X\n", regs.pc, (mem[0xea] + 1) & 0xff); + else if (regs.pc == 0x648) + LogOutput("%04X: nop $ea = %02X\n", regs.pc, mem[0xea]); + // + else if (regs.pc == 0x65f) + LogOutput("%04X: inc $ea -> %02X\n", regs.pc, (mem[0xea] + 1) & 0xff); + // + else if (regs.pc == 0x672) + LogOutput("%04X: rol $ea -> %02X\n", regs.pc, mem[0xea]); + else if (regs.pc == 0x674) + LogOutput("%04X: rol $3a -> %02X\n", regs.pc, mem[0x3a]); + } +#endif HEATMAP_X( regs.pc ); Fetch(iOpcode, uExecutedCycles); diff --git a/source/Disk.cpp b/source/Disk.cpp index 2330c35c..bc0a2c11 100644 --- a/source/Disk.cpp +++ b/source/Disk.cpp @@ -1373,6 +1373,17 @@ void __stdcall Disk2InterfaceCard::DataLatchReadWriteWOZ(WORD pc, WORD addr, BYT m_diskLastCycle = g_nCumulativeCycles; UINT ticks = ((UINT)cycleDelta) * 8; // 125ns units +#if 0 + if (drive.m_phasePrecise == 12.0 && floppy.m_byte == 0x00003b53) + { +// if (rand() < RAND_THRESHOLD(5, 10)) + { + UINT adj = 7; + if (ticks > adj) + ticks -= adj; + } + } +#endif DataLatchReadWOZFlux(pc, addr, ticks); } diff --git a/test/TestCPU6502/TestCPU6502.cpp b/test/TestCPU6502/TestCPU6502.cpp index 8afe92c7..8027d980 100644 --- a/test/TestCPU6502/TestCPU6502.cpp +++ b/test/TestCPU6502/TestCPU6502.cpp @@ -5,6 +5,8 @@ #include "../../source/Memory.h" #include "../../source/SynchronousEventManager.h" +void LogOutput(const char* format, ...) {} + // From Applewin.cpp bool g_bFullSpeed = false; enum AppMode_e g_nAppMode = MODE_RUNNING;