public TestSystemWithMultiportDevice(IDictionary<byte, IList<byte>> valuesForPortAddresses)
        {
            // Initialize components
            clock = new _Clock(3500000L);
            cpu = new __Z80CPU();
            memory = new _TestMemory(65536, 0);
            multiportDevice = new _TestMultiportDevice();
            multiportDevice.ReadValuesForPortAddresses = valuesForPortAddresses;

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

            // Connect individual PINs
            ((_Clock)clock).ConnectTo(cpu, (TestMemory)memory);
            ((__Z80CPU)cpu).ConnectTo(clock, (TestMemory)memory, multiportDevice);
            ((_TestMemory)memory).ConnectTo(clock, cpu);
            ((_TestMultiportDevice)multiportDevice).ConnectTo(cpu);
        }
예제 #2
0
        public TestSystemWithMultiportDevice(IDictionary <byte, IList <byte> > valuesForPortAddresses)
        {
            // Initialize components
            clock           = new _Clock(3500000L);
            cpu             = new __Z80CPU();
            memory          = new _TestMemory(65536, 0);
            multiportDevice = new _TestMultiportDevice();
            multiportDevice.ReadValuesForPortAddresses = valuesForPortAddresses;

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

            // Connect individual PINs
            ((_Clock)clock).ConnectTo(cpu, (TestMemory)memory);
            ((__Z80CPU)cpu).ConnectTo(clock, (TestMemory)memory, multiportDevice);
            ((_TestMemory)memory).ConnectTo(clock, cpu);
            ((_TestMultiportDevice)multiportDevice).ConnectTo(cpu);
        }
 public void ConnectTo(Clock clock, TestMemory memory, TestMultiportDevice multiportDevice)
 {
     base.ConnectTo(clock, memory);
     this.multiportDevice = multiportDevice;
 }
예제 #4
0
 public void ConnectTo(Clock clock, TestMemory memory, TestMultiportDevice multiportDevice)
 {
     base.ConnectTo(clock, memory);
     this.multiportDevice = multiportDevice;
 }