/// <summary> /// test MOS6502 /// http://codegolf.stackexchange.com/questions/12844/emulate-a-mos-6502-cpu /// </summary> public void MOS6502_AllSuiteA() { MOS6502 cpu = new MOS6502(); cpu.installRAMBank(64); cpu.loadProgram("ROMs\\MOS6502_AllSuiteA.bin", 0x4000); // point reset vector to test routine cpu.writeMemByte(0xFFFC, 0x00); cpu.writeMemByte(0xFFFD, 0x40); cpu.Reset(); cpu.Flag_B = true; cpu.runUntil(0x45C0); byte bResult = cpu.readMemByte(0x0210); Assert.AreEqual(0xFF, bResult); Assert.AreEqual(0x45C0, cpu.PC); }