Ejemplo n.º 1
0
        /// <summary>
        /// Power On
        /// </summary>
        public ULA()
        {
            _cpuCLK = SignalState.LOW;
            _cpuINT = SignalState.HIGH;

            Address = new BusConnector <ushort>();
            Data    = new BusConnector <byte>();

            VideoAddress = new BusConnector <ushort>();
            VideoData    = new BusConnector <byte>();

            _videoMREQ = SignalState.HIGH;
            _videoRD   = SignalState.HIGH;

            ColorSignal = new AnalogOutputPin <byte>(0);
            _hSync      = SignalState.HIGH;
            _vSync      = SignalState.HIGH;

            KeyboardData = new BusConnector <byte>();
            _keyboardRD  = SignalState.HIGH;

            SpeakerSoundSignal = new AnalogOutputPin <byte>(0);
            _soundSampleCLK    = SignalState.HIGH;

            TapeInputSignal = new AnalogInputPin <byte>();
            TapeOuputSignal = new AnalogOutputPin <byte>(0);
        }
Ejemplo n.º 2
0
        public ULATestSystem()
        {
            // -- Initialize components --

            PixelClock  = new _Clock(Clock.FREQ_3_5MHZ);
            VideoMemory = new _Memory(32768);
            ULA         = new _ULA();
            Screen      = new _Screen();

            // -- Initialize and connect system buses --

            Bus <ushort> videoAddressBus = new Bus <ushort>();
            Bus <byte>   videoDataBus    = new Bus <byte>();

            VideoMemory.Address.ConnectTo(videoAddressBus);
            VideoMemory.Data.ConnectTo(videoDataBus);
            ULA.VideoAddress.ConnectTo(videoAddressBus);
            ULA.VideoData.ConnectTo(videoDataBus);

            // Unused CPU buses
            Bus <ushort> cpuAddressBus = new Bus <ushort>();
            Bus <byte>   cpuDataBus    = new Bus <byte>();

            ULA.Address.ConnectTo(cpuAddressBus);
            ULA.Data.ConnectTo(cpuDataBus);

            // Connect ULA analog video signal to screen
            ULA.ColorSignal.ConnectTo(Screen.ColorSignal);

            // Connect tape recorder sound output to ULA
            AnalogOutputPin <byte> noSound = new AnalogOutputPin <byte>(0);

            noSound.ConnectTo(ULA.TapeInputSignal);

            // -- Connect individual PINs --

            ((_Clock)PixelClock).ConnectTo(ULA, Screen);
            ((_Memory)VideoMemory).ConnectTo(ULA);
            ((_ULA)ULA).ConnectTo(PixelClock, VideoMemory, Screen);
            ((_Screen)Screen).ConnectTo(ULA);
        }
        public ULATestSystem()
        {
            // -- Initialize components --

            PixelClock = new _Clock(Clock.FREQ_3_5MHZ);
            VideoMemory = new _Memory(32768);
            ULA = new _ULA();
            Screen = new _Screen();

            // -- Initialize and connect system buses --

            Bus<ushort> videoAddressBus = new Bus<ushort>();
            Bus<byte> videoDataBus = new Bus<byte>();
            VideoMemory.Address.ConnectTo(videoAddressBus);
            VideoMemory.Data.ConnectTo(videoDataBus);
            ULA.VideoAddress.ConnectTo(videoAddressBus);
            ULA.VideoData.ConnectTo(videoDataBus);

            // Unused CPU buses
            Bus<ushort> cpuAddressBus = new Bus<ushort>();
            Bus<byte> cpuDataBus = new Bus<byte>();
            ULA.Address.ConnectTo(cpuAddressBus);
            ULA.Data.ConnectTo(cpuDataBus);

            // Connect ULA analog video signal to screen
            ULA.ColorSignal.ConnectTo(Screen.ColorSignal);

            // Connect tape recorder sound output to ULA
            AnalogOutputPin<byte> noSound = new AnalogOutputPin<byte>(0);
            noSound.ConnectTo(ULA.TapeInputSignal);

            // -- Connect individual PINs --

            ((_Clock)PixelClock).ConnectTo(ULA, Screen);
            ((_Memory)VideoMemory).ConnectTo(ULA);
            ((_ULA)ULA).ConnectTo(PixelClock, VideoMemory, Screen);
            ((_Screen)Screen).ConnectTo(ULA);
        }
Ejemplo n.º 4
0
 new public void Setup()
 {
     _pin = new AnalogOutputPin(1, _mockParent.Object, 0, 200);
 }
Ejemplo n.º 5
0
 public void Setup()
 {
     _mockParent = new Mock <IAnalogOutputDevice>(MockBehavior.Strict);
     _pin        = new AnalogOutputPin(1, _mockParent.Object);
 }
 public TapeRecorder()
 {
     SoundSignal = new AnalogOutputPin<byte>(0);
 }
Ejemplo n.º 7
0
        /// <summary>
        /// Power On
        /// </summary>
        public ULA()
        {
            _cpuCLK = SignalState.LOW;
            _cpuINT = SignalState.HIGH;

            Address = new BusConnector<ushort>();
            Data = new BusConnector<byte>();

            VideoAddress = new BusConnector<ushort>();
            VideoData = new BusConnector<byte>();

            _videoMREQ = SignalState.HIGH;
            _videoRD = SignalState.HIGH;

            ColorSignal = new AnalogOutputPin<byte>(0);
            _hSync = SignalState.HIGH;
            _vSync = SignalState.HIGH;

            KeyboardData = new BusConnector<byte>();
            _keyboardRD = SignalState.HIGH;

            SpeakerSoundSignal = new AnalogOutputPin<byte>(0);
            _soundSampleCLK = SignalState.HIGH;

            TapeInputSignal = new AnalogInputPin<byte>();
            TapeOuputSignal = new AnalogOutputPin<byte>(0);
        }
Ejemplo n.º 8
0
 public TapeRecorder()
 {
     SoundSignal = new AnalogOutputPin <byte>(0);
 }