+#define fiZonk (1)
+
+#endif
+
+
+// ----------------------------------------------------------------------------
+// graphics and animations (used at runtime to display the elements)
+// ----------------------------------------------------------------------------
+
+#if 1
+
+#define aniSpace IMG_EMPTY_SPACE
+
+#define aniMurphy IMG_SP_MURPHY
+#define aniMurphyDropping IMG_SP_MURPHY_DROPPING
+
+#define aniMurphySleepLeft IMG_SP_MURPHY_SLEEPING_LEFT
+#define aniMurphySleepRight IMG_SP_MURPHY_SLEEPING_RIGHT
+#define aniMurphyTouchLeft IMG_SP_MURPHY_SNAPPING_LEFT
+#define aniMurphyTouchRight IMG_SP_MURPHY_SNAPPING_RIGHT
+#define aniMurphyTouchUp IMG_SP_MURPHY_SNAPPING_UP
+#define aniMurphyTouchDown IMG_SP_MURPHY_SNAPPING_DOWN
+#define aniMurphyYawn IMG_SP_MURPHY_BORING_1
+#define aniPushLeft IMG_SP_MURPHY_PUSHING_LEFT
+#define aniPushRight IMG_SP_MURPHY_PUSHING_RIGHT
+#define aniPushUpDown IMG_SP_MURPHY_PUSHING_RIGHT
+
+#define aniBug IMG_SP_BUGGY_BASE
+#define aniBugActive IMG_SP_BUGGY_BASE_ACTIVE
+#define aniZonkRollLeft IMG_SP_ZONK_MOVING_LEFT
+#define aniZonkRollRight IMG_SP_ZONK_MOVING_RIGHT
+#define aniEatInfotronLeft IMG_SP_MURPHY_COLLECTING_LEFT
+#define aniEatInfotronRight IMG_SP_MURPHY_COLLECTING_RIGHT
+#define aniInfotronRollLeft IMG_SP_INFOTRON_MOVING_LEFT
+#define aniInfotronRollRight IMG_SP_INFOTRON_MOVING_RIGHT
+#define aniMurphyMoveLeft IMG_SP_MURPHY_MOVING_LEFT
+#define aniMurphyMoveRight IMG_SP_MURPHY_MOVING_RIGHT
+#define aniMurphyMoveUpLeft IMG_SP_MURPHY_MOVING_LEFT
+#define aniMurphyMoveUpRight IMG_SP_MURPHY_MOVING_RIGHT
+#define aniMurphyDigLeft IMG_SP_MURPHY_DIGGING_LEFT
+#define aniMurphyDigRight IMG_SP_MURPHY_DIGGING_RIGHT
+#define aniMurphyDigUpLeft IMG_SP_MURPHY_DIGGING_LEFT
+#define aniMurphyDigUpRight IMG_SP_MURPHY_DIGGING_RIGHT
+#define aniMurphyEatLeft IMG_SP_MURPHY_COLLECTING_LEFT
+#define aniMurphyEatRight IMG_SP_MURPHY_COLLECTING_RIGHT
+#define aniMurphyEatUpLeft IMG_SP_MURPHY_COLLECTING_LEFT
+#define aniMurphyEatUpRight IMG_SP_MURPHY_COLLECTING_RIGHT
+#define aniSplitUpDown IMG_SP_MURPHY
+#define aniMurphyExit IMG_SP_MURPHY_SHRINKING
+#define aniElectron IMG_SP_ELECTRON
+#define aniExplosion IMG_SP_DEFAULT_EXPLODING
+#define aniTouchBase IMG_SP_BASE_SNAPPING
+#define aniTouchInfotron IMG_SP_INFOTRON_COLLECTING
+#define aniTouchRedDisk IMG_SP_DISK_RED_COLLECTING
+#define aniYellowDisk IMG_SP_DISK_YELLOW
+#define aniOrangeDisk IMG_SP_DISK_ORANGE
+#define aniRedDisk IMG_SP_DISK_RED
+
+#define aniSnikSnakDown 167
+#define aniSnikSnakLeft 239
+#define aniSnikSnakRight 247
+#define aniSnikSnakUp 159
+
+#define aniTerminal IMG_SP_TERMINAL
+#define aniTerminalActive IMG_SP_TERMINAL_ACTIVE
+
+#define aniExplosionInfo (111)
+
+#else
+
+#define aniMurphySleepLeft (71)
+#define aniMurphySleepRight (68)
+#define aniMurphyTouchDown (47)
+#define aniMurphyTouchLeft (95)
+#define aniMurphyTouchRight (94)
+#define aniMurphyTouchUp (46)
+#define aniMurphyYawn (56)
+#define aniPushLeft (45)
+#define aniPushRight (44)
+#define aniPushUpDown (79)
+
+#define aniSnikSnakDown (167)
+#define aniSnikSnakLeft (239)
+#define aniSnikSnakRight (247)
+#define aniSnikSnakUp (159)
+
+#define aniTerminal (0x80)
+#define aniTerminalActive (0x88)
+
+#define aniExplosionInfo (111)
+
+#endif
+
+#define posFrameCorner (55)
+#define posFrameHorizontal (111)
+#define posFrameVertical (110)
+
+
+#if 1
+
+extern int aniFramesBug[], aniFramesZonkRollRight[], aniFramesZonkRollLeft[];
+extern int aniFramesEatInfotronLeft[], aniFramesEatInfotronRight[];
+extern int aniFramesInfotronRollRight[], aniFramesInfotronRollLeft[];
+extern int aniFramesMurphyEatLeft[], aniFramesMurphyEatRight[];
+extern int aniFramesMurphyEatUpLeft[], aniFramesMurphyEatUpRight[], aniFramesSplitUpDown[];
+extern int aniFramesMurphyExit[];
+extern int aniFramesSnikSnak[], aniFramesElectron[], aniFramesExplosion[];
+extern int aniFramesTouchBase[], aniFramesTouchInfotron[], aniFramesTouchRedDisk[];
+extern int aniFramesYellowDisk[], aniFramesOrangeDisk[], aniFramesRedDisk[];
+
+#else
+
+extern int *aniBug, *aniZonkRollRight, *aniZonkRollLeft;
+extern int *aniEatInfotronLeft, *aniEatInfotronRight;
+extern int *aniInfotronRollRight, *aniInfotronRollLeft;
+extern int *aniMurphyEatLeft, *aniMurphyEatRight;
+extern int *aniMurphyEatUpLeft, *aniMurphyEatUpRight, *aniSplitUpDown;
+extern int *aniMurphyExit;
+extern int *aniSnikSnak, *aniElectron, *aniExplosion;
+extern int *aniTouchBase, *aniTouchInfotron, *aniTouchRedDisk;
+extern int *aniYellowDisk, *aniOrangeDisk, *aniRedDisk;
+
+#endif
+
+
+// ----------------------------------------------------------------------------
+// input keys
+// ----------------------------------------------------------------------------
+
+#if 1
+
+#define keyNone (0)
+#define keyUp (1)
+#define keyLeft (2)
+#define keyDown (3)
+#define keyRight (4)
+#define keySpaceUp (5)
+#define keySpaceLeft (6)
+#define keySpaceDown (7)
+#define keySpaceRight (8)
+#define keySpace (9)
+
+#else
+