/// <summary> /// Main constructor /// </summary> public CPC464(AmstradCPC cpc, Z80A cpu, List <byte[]> files, bool autoTape, AmstradCPC.BorderType borderType) { CPC = cpc; CPU = cpu; FrameLength = 79872; CRCT = new CRCT_6845(CRCT_6845.CRCTType.MC6845, this); //CRT = new CRTDevice(this); GateArray = new AmstradGateArray(this, AmstradGateArray.GateArrayType.Amstrad40007); PPI = new PPI_8255(this); TapeBuzzer = new Beeper(this); TapeBuzzer.Init(44100, FrameLength); //AYDevice = new PSG(this, PSG.ay38910_type_t.AY38910_TYPE_8912, GateArray.PSGClockSpeed, 882 * 50); AYDevice = new AY38912(this); AYDevice.Init(44100, FrameLength); KeyboardDevice = new StandardKeyboard(this); TapeDevice = new DatacorderDevice(autoTape); TapeDevice.Init(this); InitializeMedia(files); }
private void UpdateBorderNotes(AmstradCPC.BorderType type) { lblBorderInfo.Text = type switch { AmstradCPC.BorderType.Uniform => "Attempts to equalize the border areas", AmstradCPC.BorderType.Uncropped => "Pretty much the signal the gate array is generating (looks pants)", AmstradCPC.BorderType.Widescreen => "Top and bottom border removed so that the result is *almost* 16:9", _ => lblBorderInfo.Text }; } }
private void UpdateBorderNotes(AmstradCPC.BorderType type) { switch (type) { case AmstradCPC.BorderType.Uniform: lblBorderInfo.Text = "Attempts to equalize the border areas"; break; case AmstradCPC.BorderType.Uncropped: lblBorderInfo.Text = "Pretty much the signal the gate array is generating (looks pants)"; break; case AmstradCPC.BorderType.Widescreen: lblBorderInfo.Text = "Top and bottom border removed so that the result is *almost* 16:9"; break; } }