public static void testRomWithSerial(FileInfo romFileInfoInfo, bool trace = false) { Console.WriteLine($"\n### Running test rom {romFileInfoInfo.FullName} ###"); var runner = new SerialTestRunner(romFileInfoInfo, Console.Out, trace); var result = runner.RunTest(); Assert.True(result.Contains("Passed")); }
public TestResult RunTest() { _tracer.Collect(_gb.Cpu.Registers); int status = 0x80; int divider = 0; while (status == 0x80 && !SerialTestRunner.IsInfiniteLoop(_gb)) { _gb.Tick(); if (++divider >= (_gb.SpeedMode.GetSpeedMode() == 2 ? 1 : 4)) { status = GetTestResult(_gb); divider = 0; } _tracer.Collect(_gb.Cpu.Registers); } _tracer.Save(); return(new TestResult(status, _text.ToString())); }