Пример #1
0
        public override void activate(string prevReceiver)
        {
            base.activate(prevReceiver);
            if (prevReceiver.StartsWith("PROG"))
            {
                tick(0);
                return;
            }
            LCD_Manager    lm = _parent._m_Hardware_LCD;
            Program_Memory pm = _parent._m_Program_Memory;

            lm.clearScreen();
            lm.outputStatus(
                pm.getCounter(),
                _parent._m_Extended_Memory.getCounter(),
                pm.getEModeName(),
                "   ");
            int display_PC = (int)pm.getCounter();

            string[] _displayLines = pm.getPreviousLines(LCD_Manager.SCREEN_ROWS - 1);
            for (int i = 10, j = 0, k = display_PC; i >= 0; i--, j++, k--)
            {
                if (k < 0)
                {
                    lm.eraseTerminalLine((uint)i);
                    continue;
                }
                string s = k.ToString("0000");
                s += (k == display_PC) ? "> " : "  ";
                lm.outputTerminalLine((uint)i, s + _displayLines[j]);
            }
            lm.forcePaint();
        }
Пример #2
0
        public override byte tick(byte scancode)
        {
            LCD_Manager    lm = _parent._m_Hardware_LCD;
            Program_Memory pm = _parent._m_Program_Memory;

            lm.updateStatusPC(pm.getCounter());
            lm.updateStatusMC(_parent._m_Extended_Memory.getCounter());
            lm.updateStatusDMODE(pm.getEModeName());
            int display_PC = (int)pm.getCounter();

            string[] _displayLines = pm.getPreviousLines(LCD_Manager.SCREEN_ROWS - 1);
            for (int i = 10, j = 0, k = display_PC; i >= 0; i--, j++, k--)
            {
                if (k < 0)
                {
                    lm.eraseTerminalLine((uint)i);
                    continue;
                }
                string s = k.ToString("0000");
                s += (k == display_PC) ? "> " : "  ";
                lm.updateTerminalLine((uint)i, s + _displayLines[j]);
            }
            lm.requestUpdate();
            return(0);
        }
Пример #3
0
 private bool _writeStack(string returnReceiver)
 {
     if (_sd.println_P("#"))
     {
         return(true);
     }
     if (_sd.println_P("# MK-52 stack"))
     {
         return(true);
     }
     if (_sd.println_P("#"))
     {
         return(true);
     }
     if (_sd.print("DISPL="))
     {
         return(true);
     }
     if (_sd.println(returnReceiver))
     {
         return(true);
     }
     if (_sd.print("DMODE="))
     {
         return(true);
     }
     if (_sd.println(rpnStack.getDModeName()))
     {
         return(true);
     }
     if (_sd.print("EMODE="))
     {
         return(true);
     }
     if (_sd.println(progMem.getEModeName()))
     {
         return(true);
     }
     if (_sd.print("Bx="))
     {
         return(true);
     }
     if (_sd.println(rpnStack.Bx.toString()))
     {
         return(true);
     }
     if (_sd.print("X="))
     {
         return(true);
     }
     if (_sd.println(rpnStack.X.toString()))
     {
         return(true);
     }
     if (_sd.print("Y="))
     {
         return(true);
     }
     if (_sd.println(rpnStack.Y.toString()))
     {
         return(true);
     }
     if (_sd.print("Z="))
     {
         return(true);
     }
     if (_sd.println(rpnStack.Z.toString()))
     {
         return(true);
     }
     if (_sd.print("T="))
     {
         return(true);
     }
     if (_sd.println(rpnStack.T.toString()))
     {
         return(true);
     }
     if (!rpnStack.customLabels())
     {
         return(false);
     }
     if (_sd.print("LX="))
     {
         return(true);
     }
     if (_sd.println(rpnStack.X_Label))
     {
         return(true);
     }
     if (_sd.print("LY="))
     {
         return(true);
     }
     if (_sd.println(rpnStack.Y_Label))
     {
         return(true);
     }
     if (_sd.print("LZ="))
     {
         return(true);
     }
     if (_sd.println(rpnStack.Z_Label))
     {
         return(true);
     }
     if (_sd.print("LT="))
     {
         return(true);
     }
     if (_sd.println(rpnStack.T_Label))
     {
         return(true);
     }
     return(false);
 }