Beispiel #1
0
        /// <summary>
        /// Main constructor
        /// </summary>
        public ZX128(ZXSpectrum spectrum, Z80A cpu, ZXSpectrum.BorderType borderType, List <byte[]> files, List <JoystickType> joysticks)
        {
            Spectrum = spectrum;
            CPU      = cpu;

            CPUMon = new CPUMonitor(this)
            {
                machineType = MachineType.ZXSpectrum128
            };

            ROMPaged       = 0;
            SHADOWPaged    = false;
            RAMPaged       = 0;
            PagingDisabled = false;

            ULADevice = new Screen128(this);

            BuzzerDevice = new OneBitBeeper(44100, ULADevice.FrameLength, 50, "SystemBuzzer");

            TapeBuzzer = new OneBitBeeper(44100, ULADevice.FrameLength, 50, "TapeBuzzer");

            AYDevice = new AY38912(this);
            AYDevice.Init(44100, ULADevice.FrameLength);

            KeyboardDevice = new StandardKeyboard(this);

            InitJoysticks(joysticks);

            TapeDevice = new DatacorderDevice(spectrum.SyncSettings.AutoLoadTape);
            TapeDevice.Init(this);

            InitializeMedia(files);
        }
Beispiel #2
0
        /// <summary>
        /// Main constructor
        /// </summary>
        /// <param name="spectrum"></param>
        /// <param name="cpu"></param>
        public ZX48(ZXSpectrum spectrum, Z80A cpu, ZXSpectrum.BorderType borderType, List <byte[]> files, List <JoystickType> joysticks)
        {
            Spectrum = spectrum;
            CPU      = cpu;

            CPUMon = new CPUMonitor(this);

            //ULADevice = new ULA48(this);
            ULADevice = new Screen48(this);

            BuzzerDevice = new Beeper(this);
            BuzzerDevice.Init(44100, ULADevice.FrameLength);

            TapeBuzzer = new Beeper(this);
            TapeBuzzer.Init(44100, ULADevice.FrameLength);

            KeyboardDevice = new StandardKeyboard(this);

            InitJoysticks(joysticks);

            TapeDevice = new DatacorderDevice(spectrum.SyncSettings.AutoLoadTape);
            TapeDevice.Init(this);

            InitializeMedia(files);
        }
 public ULA(SpectrumBase machine)
 {
     _machine   = machine;
     CPUMon     = _machine.CPUMon;
     borderType = _machine.Spectrum.SyncSettings.BorderType;
 }