public TestSystemWithTwoDevices(bool simulateSlowMemoryAndDevices)
            : base(simulateSlowMemoryAndDevices)
        {
            // Initialize components
            clock = new __Clock(3500000L);
            cpu = new __Z80CPU();
            if (!simulateSlowMemoryAndDevices)
            {
                memory = new _TestMemory(65536, 0);
                device1 = new _TestDevice(1, 10, 0);
                device2 = new _TestDevice(2, 20, 0);
            }
            else
            {
                memory = new _TestMemory(65536, 2);
                device1 = new _TestDevice(1, 10, 2);
                device2 = new _TestDevice(2, 20, 2);
            }

            // Connect buses
            cpu.Address.ConnectTo(addressBus);
            cpu.Data.ConnectTo(dataBus);
            memory.Address.ConnectTo(addressBus);
            memory.Data.ConnectTo(dataBus);
            device1.Address.ConnectTo(addressBus);
            device1.Data.ConnectTo(dataBus);
            device2.Address.ConnectTo(addressBus);
            device2.Data.ConnectTo(dataBus);

            // Connect individual PINs
            ((__Clock)clock).ConnectTo(cpu, (TestMemory)memory, device1, device2);
            ((__Z80CPU)cpu).ConnectTo(clock, (TestMemory)memory, device1, device2);
            ((_TestMemory)memory).ConnectTo(clock, cpu);
            ((_TestDevice)device1).ConnectTo(clock, cpu);
            ((_TestDevice)device2).ConnectTo(clock, cpu);
        }
 public void ConnectTo(Clock clock, TestMemory memory, TestDevice device1, TestDevice device2)
 {
     base.ConnectTo(clock, memory);
     this.device1 = device1;
     this.device2 = device2;
 }
 public void ConnectTo(Z80CPU cpu, TestMemory memory, TestDevice device1, TestDevice device2)
 {
     base.ConnectTo(cpu, memory);
     this.device1 = device1;
     this.device2 = device2;
 }
 public void ConnectTo(Clock clock, TestMemory memory, TestDevice device1, TestDevice device2)
 {
     base.ConnectTo(clock, memory);
     this.device1 = device1;
     this.device2 = device2;
 }
 public void ConnectTo(Z80CPU cpu, TestMemory memory, TestDevice device1, TestDevice device2)
 {
     base.ConnectTo(cpu, memory);
     this.device1 = device1;
     this.device2 = device2;
 }