示例#1
0
        public MainWindow()
        {
            InitializeComponent();
            kempston = 0;

            // Set up load traps
            emulator.OnLoad = TapeLoad;

            emulator.Start();
        }
示例#2
0
        protected override void OnKeyUp(System.Windows.Input.KeyEventArgs e)
        {
            base.OnKeyUp(e);
            switch (e.Key)
            {
            // Row 0
            case System.Windows.Input.Key.D1: emulator.ReleaseKey(0, 0); break;

            case System.Windows.Input.Key.D2: emulator.ReleaseKey(0, 1); break;

            case System.Windows.Input.Key.D3: emulator.ReleaseKey(0, 2); break;

            case System.Windows.Input.Key.D4: emulator.ReleaseKey(0, 3); break;

            case System.Windows.Input.Key.D5: emulator.ReleaseKey(0, 4); break;

            case System.Windows.Input.Key.D6: emulator.ReleaseKey(0, 5); break;

            case System.Windows.Input.Key.D7: emulator.ReleaseKey(0, 6); break;

            case System.Windows.Input.Key.D8: emulator.ReleaseKey(0, 7); break;

            case System.Windows.Input.Key.D9: emulator.ReleaseKey(0, 8); break;

            case System.Windows.Input.Key.D0: emulator.ReleaseKey(0, 9); break;

            // Row 1
            case System.Windows.Input.Key.Q: emulator.ReleaseKey(1, 0); break;

            case System.Windows.Input.Key.W: emulator.ReleaseKey(1, 1); break;

            case System.Windows.Input.Key.E: emulator.ReleaseKey(1, 2); break;

            case System.Windows.Input.Key.R: emulator.ReleaseKey(1, 3); break;

            case System.Windows.Input.Key.T: emulator.ReleaseKey(1, 4); break;

            case System.Windows.Input.Key.Y: emulator.ReleaseKey(1, 5); break;

            case System.Windows.Input.Key.U: emulator.ReleaseKey(1, 6); break;

            case System.Windows.Input.Key.I: emulator.ReleaseKey(1, 7); break;

            case System.Windows.Input.Key.O: emulator.ReleaseKey(1, 8); break;

            case System.Windows.Input.Key.P: emulator.ReleaseKey(1, 9); break;

            // Row 2
            case System.Windows.Input.Key.A: emulator.ReleaseKey(2, 0); break;

            case System.Windows.Input.Key.S: emulator.ReleaseKey(2, 1); break;

            case System.Windows.Input.Key.D: emulator.ReleaseKey(2, 2); break;

            case System.Windows.Input.Key.F: emulator.ReleaseKey(2, 3); break;

            case System.Windows.Input.Key.G: emulator.ReleaseKey(2, 4); break;

            case System.Windows.Input.Key.H: emulator.ReleaseKey(2, 5); break;

            case System.Windows.Input.Key.J: emulator.ReleaseKey(2, 6); break;

            case System.Windows.Input.Key.K: emulator.ReleaseKey(2, 7); break;

            case System.Windows.Input.Key.L: emulator.ReleaseKey(2, 8); break;

            case System.Windows.Input.Key.Return: emulator.ReleaseKey(2, 9); break;

            // Row 3
            case System.Windows.Input.Key.LeftShift: emulator.ReleaseKey(3, 0); break;

            case System.Windows.Input.Key.Z: emulator.ReleaseKey(3, 1); break;

            case System.Windows.Input.Key.X: emulator.ReleaseKey(3, 2); break;

            case System.Windows.Input.Key.C: emulator.ReleaseKey(3, 3); break;

            case System.Windows.Input.Key.V: emulator.ReleaseKey(3, 4); break;

            case System.Windows.Input.Key.B: emulator.ReleaseKey(3, 5); break;

            case System.Windows.Input.Key.N: emulator.ReleaseKey(3, 6); break;

            case System.Windows.Input.Key.M: emulator.ReleaseKey(3, 7); break;

            case System.Windows.Input.Key.RightCtrl: emulator.ReleaseKey(3, 8); break;

            case System.Windows.Input.Key.Space: emulator.ReleaseKey(3, 9); break;

            // Keyboard shortcuts:
            case System.Windows.Input.Key.Back:
                emulator.ReleaseKey(3, 0); // Shift
                emulator.ReleaseKey(0, 9); // '0'
                break;

            // Kempston
            case System.Windows.Input.Key.Left: kempston &= ~Emulation.KempstonFlags.Left; break;

            case System.Windows.Input.Key.Right: kempston &= ~Emulation.KempstonFlags.Right; break;

            case System.Windows.Input.Key.Up: kempston &= ~Emulation.KempstonFlags.Up; break;

            case System.Windows.Input.Key.Down: kempston &= ~Emulation.KempstonFlags.Down; break;

            case System.Windows.Input.Key.LeftCtrl: kempston &= ~Emulation.KempstonFlags.Fire; break;
            }
            emulator.SetKempstonStatus(kempston);
        }