public bool RunTest()
        {
            _tracer.Collect(_gb.Cpu.Registers);

            int divider = 0;

            while (!IsByteSequenceAtPc(0x00, 0x18, 0xfd))
            {
                _gb.Tick();
                if (++divider >= (_gb.SpeedMode.GetSpeedMode() == 2 ? 1 : 4))
                {
                    DisplayProgress();
                    divider = 0;
                }

                _tracer.Collect(_gb.Cpu.Registers);
            }

            _tracer.Save();

            return(_registers.A == 0 &&
                   _registers.B == 3 &&
                   _registers.C == 5 &&
                   _registers.D == 8 &&
                   _registers.E == 13 &&
                   _registers.H == 21 &&
                   _registers.L == 34);
        }
        public string RunTest()
        {
            _tracer.Collect(_gb.Cpu.Registers);

            int divider = 0;

            while (true)
            {
                _gb.Tick();
                if (++divider == 4)
                {
                    if (IsInfiniteLoop(_gb))
                    {
                        break;
                    }

                    divider = 0;
                }

                _tracer.Collect(_gb.Cpu.Registers);
            }

            return(_text.ToString());
        }