Пример #1
0
        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);
        }