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); }
public override byte tick(byte scancode) { LCD_Manager lm = _parent.getLCD(); RPN_Stack st = _parent._m_RPN_Stack; lm.updateStatusPC(_parent._m_Program_Memory.getCounter()); lm.updateStatusMC(_parent._m_Extended_Memory.getCounter()); lm.updateStatusDMODE(st.getDModeName()); lm.updateCalcRegister(0, st.X.toString()); lm.updateCalcLabel(0, st.X_Label); lm.updateCalcRegister(1, st.Y.toString()); lm.updateCalcLabel(1, st.Y_Label); lm.updateCalcRegister(2, st.Z.toString()); lm.updateCalcLabel(2, st.Z_Label); lm.updateCalcRegister(3, st.T.toString()); lm.updateCalcLabel(3, st.T_Label); lm.requestUpdate(); return(0); }