+
+ savecur_top = 0;
+}
+
+void con_setcur(int x, int y)
+{
+ curx = x < 0 ? 0 : (x >= NCOLS ? NCOLS - 1 : x);
+ cury = y < 0 ? 0 : (y >= NROWS ? NROWS - 1 : y);
+}
+
+void con_getcur(int *x, int *y)
+{
+ *x = curx;
+ *y = cury;
+}
+
+void con_pushcur(void)
+{
+ if(savecur_top >= CURSTACK_SIZE) return;
+
+ savecur[savecur_top++] = curx | (cury << 16);
+}
+
+void con_popcur(void)
+{
+ if(savecur_top <= 0) return;
+
+ savecur_top--;
+ curx = savecur[savecur_top] & 0xffff;
+ cury = savecur[savecur_top] >> 16;