+
+
+#if 0
+ printf("::: %04d [%03ld, %02d] ----------> %s [%d] [%d, %d] [%d, %d] [%d]\n",
+ TimerVar,
+ DemoOffset - DemoPointer, DemoKeyRepeatCounter,
+ (DemoKeyCode == keyNone ? "(none)" :
+ DemoKeyCode == keyLeft ? "left" :
+ DemoKeyCode == keyRight ? "right" :
+ DemoKeyCode == keyUp ? "up" :
+ DemoKeyCode == keyDown ? "down" :
+ DemoKeyCode == keySpace ? "space" :
+ DemoKeyCode == keySpaceLeft ? "space + left" :
+ DemoKeyCode == keySpaceRight ? "space + right" :
+ DemoKeyCode == keySpaceUp ? "space + up" :
+ DemoKeyCode == keySpaceDown ? "space + down" : "(unknown)"),
+ DemoKeyCode,
+ MurphyScreenXPos, MurphyScreenYPos,
+ MurphyPosIndex % 60, MurphyPosIndex / 60,
+ ClearPos);
+#endif
+
+#if 0
+ Delay(500);
+#endif
+
+#if 1
+ if (!(ClearPos < 0)) // clear field that murphy is leaving
+ subCopyFieldToScreen(ClearPos, 0);
+#else