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(); }
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); }
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); }