예제 #1
0
        private void Handle(EmulatorState state)
        {
            dumpMemory(state);
            try
            {
                dumpStack(state);
            }
            catch (ArgumentOutOfRangeException e)
            {
            }

            numericRegisterA.Value = state.Registers[0];
            numericRegisterB.Value = state.Registers[1];
            numericRegisterC.Value = state.Registers[2];
            numericRegisterI.Value = state.Registers[6];
            numericRegisterJ.Value = state.Registers[7];
            numericRegisterX.Value = state.Registers[3];
            numericRegisterY.Value = state.Registers[4];
            numericRegisterZ.Value = state.Registers[5];

            numericRegisterSP.Value = state.SP;
            numericRegisterPC.Value = state.PC;
            numericRegisterO.Value  = state.O;

            setToolTip();
        }
예제 #2
0
 public void ReceiveState(EmulatorState e)
 {
     Memory = e.Memory;
     Registers = e.Registers;
     SP = e.SP;
     PC = e.PC;
     Overflow = e.O;
 }
예제 #3
0
 public void ReceiveState(EmulatorState e)
 {
     Memory    = e.Memory;
     Registers = e.Registers;
     SP        = e.SP;
     PC        = e.PC;
     Overflow  = e.O;
 }
예제 #4
0
        private void dumpStack(EmulatorState state)
        {
            stackTextBox.Text = "";
            uint u = state.SP;

            if (u < 0x8000)
            {
                u = 0xffff;
            }
            for (; u < state.Memory.Length; u++)
            {
                stackTextBox.Text += String.Format("{0:X4}", state.Memory[u]) + '\n';
            }
        }
예제 #5
0
 public void ReceiveState(EmulatorState e)
 {
     Mem       = e.Memory;
     Registers = e.Registers;
     A         = e.Registers[0];
     B         = e.Registers[1];
     C         = e.Registers[2];
     X         = e.Registers[3];
     Y         = e.Registers[4];
     Z         = e.Registers[5];
     I         = e.Registers[6];
     J         = e.Registers[7];
     SP        = e.SP;
     PC        = e.PC;
     O         = e.O;
 }
예제 #6
0
        private void dumpMemory(EmulatorState state)
        {
            memDump.Text = "";
            uint i = 0;

            foreach (ushort u in state.Memory)
            {
                if (i >= Convert.ToUInt32(cpuMemSize.Text, 16))
                {
                    memDump.Text = memDump.Text.Remove(memDump.Text.Length - 3);
                    break;
                }
                memDump.Text += String.Format("{0:X4} ", u);
                if (i % 8 == 7)
                {
                    memDump.Text += '\n';
                }
                i++;
            }
        }
예제 #7
0
 private void updateView(EmulatorState state)
 {
     dumpMemory(state);
     dumpStack(state);
 }
예제 #8
0
        private void Handle(EmulatorState state)
        {
            dumpMemory(state);
            try
            {
                dumpStack(state);
            }
            catch (ArgumentOutOfRangeException e)
            {
            }

            numericRegisterA.Value = state.Registers[0];
            numericRegisterB.Value = state.Registers[1];
            numericRegisterC.Value = state.Registers[2];
            numericRegisterI.Value = state.Registers[6];
            numericRegisterJ.Value = state.Registers[7];
            numericRegisterX.Value = state.Registers[3];
            numericRegisterY.Value = state.Registers[4];
            numericRegisterZ.Value = state.Registers[5];

            numericRegisterSP.Value = state.SP;
            numericRegisterPC.Value = state.PC;
            numericRegisterO.Value = state.O;

            setToolTip();
        }
예제 #9
0
 private void dumpStack(EmulatorState state)
 {
     stackTextBox.Text = "";
     uint u = state.SP;
     if (u < 0x8000)
     {
         u = 0xffff;
     }
     for (; u < state.Memory.Length; u++)
     {
         stackTextBox.Text += String.Format("{0:X4}", state.Memory[u]) + '\n';
     }
 }
예제 #10
0
 private void dumpMemory(EmulatorState state)
 {
     memDump.Text = "";
     uint i = 0;
     foreach (ushort u in state.Memory)
     {
         if (i >= Convert.ToUInt32(cpuMemSize.Text, 16))
         {
             memDump.Text = memDump.Text.Remove(memDump.Text.Length - 3);
             break;
         }
         memDump.Text += String.Format("{0:X4} ", u);
         if (i % 8 == 7)
         {
             memDump.Text += '\n';
         }
         i++;
     }
 }
예제 #11
0
 public void ReceiveState(EmulatorState e)
 {
     Mem = e.Memory;
     Registers = e.Registers;
     A = e.Registers[0];
     B = e.Registers[1];
     C = e.Registers[2];
     X = e.Registers[3];
     Y = e.Registers[4];
     Z = e.Registers[5];
     I = e.Registers[6];
     J = e.Registers[7];
     SP = e.SP;
     PC = e.PC;
     O = e.O;
 }
예제 #12
0
 private void updateView(EmulatorState state)
 {
     dumpMemory(state);
     dumpStack(state);
 }