+#if 1
+
+#if 0
+ ax = (TimerVar & 3);
+ if (ax != 0)
+ return;
+#endif
+
+ // ------------------------------------------------------------------
+ // Murphy's YAWN & SLEEP sequence, counted down by YawnSleepCounter:
+
+ YawnSleepCounter = YawnSleepCounter + 1;
+
+ if (YawnSleepCounter < 16)
+ return;
+
+ if (YawnSleepCounter < 2000)
+ {
+ // normal grin
+ // (default: single graphic, no animation)
+ subCopyAnimToScreen(*si, aniMurphy, YawnSleepCounter - 16);
+
+ return;
+ }
+
+ if (YawnSleepCounter < 4000)
+ {
+ // yawn! and look depressed afterwards...
+ // (default: 12 animation frames with delay of 8)
+ subCopyAnimToScreen(*si, aniMurphyYawn, YawnSleepCounter - 2000);
+
+ return;
+ }
+
+ if (YawnSleepCounter < 6400)
+ {
+ // yawn again!
+ // (default: 12 animation frames with delay of 8)
+ subCopyAnimToScreen(*si, aniMurphyYawn, YawnSleepCounter - 4000);
+
+ return;
+ }
+
+ // time1 = 6400 + 12 * 8; // (default: 6496 == 6400 + 12 * 8)
+ time1 = 6400 + 12 * 10;
+
+ if (YawnSleepCounter < time1)
+ {
+ // yawn again! - third time
+ // (default: 12 animation frames with delay of 8)
+ subCopyAnimToScreen(*si, aniMurphyYawn, YawnSleepCounter - 6400);
+
+ return;
+ }
+
+ // time2 = 6496 + 3 * 64; // (default: 6688 == 6496 + 3 * 64)
+ time2 = 6496 + 3 * 100;
+
+ if (YawnSleepCounter > time2) // Murphy already went to sleep
+ return;
+
+ if (PlayField16[*si - 1] == 0)
+ {
+ if (PlayField16[*si + 1] == 0)
+ {
+ // no sleep -- go back to "wait and start yawning" phase
+ YawnSleepCounter = 144;
+
+ return;
+ }
+ else
+ {
+ // go to sleep (right side)
+ // (default: 3 animation frames with delay of 64)
+ subCopyAnimToScreen(*si, aniMurphySleepRight, YawnSleepCounter - time1);
+
+ return;
+ }
+ }
+
+ // go to sleep (left side)
+ // (default: 3 animation frames with delay of 64)
+ subCopyAnimToScreen(*si, aniMurphySleepLeft, YawnSleepCounter - time1);
+
+ return;
+
+ // end of YAWN-SLEEP-Sequence
+
+#else
+