private async void CbSelectACIAUsage_SelectionChanged(object sender, SelectionChangedEventArgs e) { switch (cbSelectACIAUsage.SelectedIndex) { case 1: CSignetic6502.MemoryBus.ACIA.Mode = CACIA.IO_MODE_6820_TAPE; break; case 2: CSignetic6502.MemoryBus.ACIA.Mode = CACIA.IO_MODE_6820_MIDI; if (!Midi.MidiIsReady()) { Midi.ResetMidiInput(); Midi.ResetMidiOutput(); await Midi.MakeMidiDeviceLists(); foreach (string device in Midi.MidiInputDevices) { cbSelectMIDIInputDevice.Items.Add("In: " + device); } if (cbSelectMIDIInputDevice.Items.Count() > 0) { cbSelectMIDIInputDevice.SelectedIndex = 0; } foreach (string device in Midi.MidiOutputDevices) { cbSelectMIDIOutputDevice.Items.Add("Out: " + device); } if (cbSelectMIDIOutputDevice.Items.Count() > 0) { cbSelectMIDIOutputDevice.SelectedIndex = 0; } } break; case 3: // Serial CSignetic6502.MemoryBus.ACIA.Mode = CACIA.IO_MODE_6820_SERIAL; break; case 4: // Load file await LoadAFile(); CSignetic6502.MemoryBus.ACIA.Mode = CACIA.IO_MODE_6820_FILE; cbSelectACIAUsage.SelectedIndex = 0; break; case 5: // Save file await SaveAFile(); CSignetic6502.MemoryBus.ACIA.Mode = CACIA.IO_MODE_6820_FILE; cbSelectACIAUsage.SelectedIndex = 0; break; case 6: // Close file CloseAFile(); CSignetic6502.MemoryBus.ACIA.Mode = CACIA.IO_MODE_6820_FILE; cbSelectACIAUsage.SelectedIndex = 0; break; } btnEmulator.Focus(FocusState.Programmatic); }