/// <summary> /// Main constructor /// </summary> public ZX128Plus3(ZXSpectrum spectrum, Z80A cpu, ZXSpectrum.BorderType borderType, List <byte[]> files, List <JoystickType> joysticks) { Spectrum = spectrum; CPU = cpu; CPUMon = new CPUMonitor(this); CPUMon.machineType = MachineType.ZXSpectrum128Plus3; ROMPaged = 0; SHADOWPaged = false; RAMPaged = 0; PagingDisabled = false; ULADevice = new Screen128Plus2a(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); UPDDiskDevice = new NECUPD765(); UPDDiskDevice.Init(this); InitializeMedia(files); }
/// <summary> /// Main constructor /// </summary> /// <param name="spectrum"></param> /// <param name="cpu"></param> public ZX128Plus3(ZXSpectrum spectrum, Z80A cpu, ZXSpectrum.BorderType borderType, List <byte[]> files, List <JoystickType> joysticks) { Spectrum = spectrum; CPU = cpu; ROMPaged = 0; SHADOWPaged = false; RAMPaged = 0; PagingDisabled = false; ULADevice = new ULAPlus3(this); BuzzerDevice = new Buzzer(this); BuzzerDevice.Init(44100, ULADevice.FrameLength); TapeBuzzer = new Buzzer(this); TapeBuzzer.Init(44100, ULADevice.FrameLength); AYDevice = new AYChip(this); AYDevice.Init(44100, ULADevice.FrameLength); KeyboardDevice = new StandardKeyboard(this); InitJoysticks(joysticks); TapeDevice = new DatacorderDevice(spectrum.SyncSettings.AutoLoadTape); TapeDevice.Init(this); UPDDiskDevice = new NECUPD765(); UPDDiskDevice.Init(this); InitializeMedia(files); }