pacman from dindinx
[soft/lpc122x/tigp] / pacman / data.h
diff --git a/pacman/data.h b/pacman/data.h
new file mode 100644 (file)
index 0000000..016f99a
--- /dev/null
@@ -0,0 +1,1532 @@
+/****************************************************************************
+ *   apps/.*./data.h
+ *
+ * LPC1224/SSD1306 implementation of the famous pacman game
+ * graphic data file
+ *
+ * Copyright 2017 Nathael Pajani <nathael.pajani@ed3l.fr>
+ *
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ *************************************************************************** */
+
+#ifndef DATA_H
+#define DATA_H
+
+enum FontEntries
+{
+  F_BLANK,
+
+  F_DIGIT_0,
+  F_DIGIT_1,
+  F_DIGIT_2,
+  F_DIGIT_3,
+  F_DIGIT_4,
+  F_DIGIT_5,
+  F_DIGIT_6,
+  F_DIGIT_7,
+  F_DIGIT_8,
+  F_DIGIT_9,
+
+  F_GHOST_STILL,
+  F_GHOST_LEFT,
+  F_GHOST_RIGHT,
+  F_GHOST_UP,
+  F_GHOST_DOWN,
+  F_GHOST_FRIGHTENED,
+  F_GHOST_MASK,
+  F_GHOST_EYES,
+
+  F_PACMAN_LEFT_0,
+  F_PACMAN_LEFT_1,
+  F_PACMAN_LEFT_2,
+  F_PACMAN_LEFT_3,
+  F_PACMAN_RIGHT_0,
+  F_PACMAN_RIGHT_1,
+  F_PACMAN_RIGHT_2,
+  F_PACMAN_RIGHT_3,
+  F_PACMAN_UP_0,
+  F_PACMAN_UP_1,
+  F_PACMAN_UP_2,
+  F_PACMAN_UP_3,
+  F_PACMAN_DOWN_0,
+  F_PACMAN_DOWN_1,
+  F_PACMAN_DOWN_2,
+  F_PACMAN_DOWN_3,
+
+  F_CHERRY,
+};
+
+static const uint8_t font[] =
+{
+  // Blank
+  0b00000000,
+  0b00000000,
+  0b00000000,
+  0b00000000,
+  0b00000000,
+  0b00000000,
+  0b00000000,
+  0b00000000,
+  // Digit0
+  // 0
+  0b00000000,
+  0b01111100,
+  0b11111110,
+  0b10110010,
+  0b10011010,
+  0b11111110,
+  0b01111100,
+  0b00000000,
+  // 1
+  0b00000000,
+  0b10000000,
+  0b10000100,
+  0b11111110,
+  0b11111110,
+  0b10000000,
+  0b10000000,
+  0b00000000,
+  // 2
+  0b00000000,
+  0b10000100,
+  0b11000110,
+  0b11100010,
+  0b10110010,
+  0b10011110,
+  0b10001100,
+  0b00000000,
+  // 3
+  0b00000000,
+  0b01000100,
+  0b11000110,
+  0b10010010,
+  0b10010010,
+  0b11111110,
+  0b01101100,
+  0b00000000,
+  // 4
+  0b00000000,
+  0b00110000,
+  0b00111000,
+  0b00101100,
+  0b11111110,
+  0b11111110,
+  0b00100000,
+  0b00000000,
+  // 5
+  0b00000000,
+  0b01001110,
+  0b11001110,
+  0b10001010,
+  0b10001010,
+  0b11111010,
+  0b01110010,
+  0b00000000,
+  // 6
+  0b00000000,
+  0b01111000,
+  0b11111100,
+  0b10010110,
+  0b10010010,
+  0b11110010,
+  0b01100000,
+  0b00000000,
+  // 7
+  0b00000000,
+  0b00000010,
+  0b11100010,
+  0b11110010,
+  0b00011010,
+  0b00001110,
+  0b00000110,
+  0b00000000,
+  // 8
+  0b00000000,
+  0b01101100,
+  0b11111110,
+  0b10010010,
+  0b10010010,
+  0b11111110,
+  0b01101100,
+  0b00000000,
+  // 9
+  0b00000000,
+  0b00001100,
+  0b10011110,
+  0b10010010,
+  0b11010010,
+  0b01111110,
+  0b00111100,
+  0b00000000,
+  // Still Ghost
+  0b01111100,
+  0b00111110,
+  0b01110111,
+  0b00111111,
+  0b01110111,
+  0b00111110,
+  0b01111100,
+  0b00000000,
+  // Left looking ghost
+  0b01111100,
+  0b00110110,
+  0b01111111,
+  0b00110111,
+  0b01111111,
+  0b00111110,
+  0b01111100,
+  0b00000000,
+  // Right looking ghost
+  0b01111100,
+  0b00111110,
+  0b01111111,
+  0b00110111,
+  0b01111111,
+  0b00110110,
+  0b01111100,
+  0b00000000,
+  // Up looking ghost
+  0b01111100,
+  0b00111110,
+  0b01111011,
+  0b00111111,
+  0b01111011,
+  0b00111110,
+  0b01111100,
+  0b00000000,
+  // Down looking ghost
+  0b01111100,
+  0b00111110,
+  0b01101111,
+  0b00111111,
+  0b01101111,
+  0b00111110,
+  0b01111100,
+  0b00000000,
+  // Frightened ghost
+  0b01111100,
+  0b00100010,
+  0b01001001,
+  0b00100001,
+  0b01001001,
+  0b00100010,
+  0b01111100,
+  0b00000000,
+  // Ghost mask
+  0b01111100,
+  0b00111110,
+  0b01111111,
+  0b00111111,
+  0b01111111,
+  0b00111110,
+  0b01111100,
+  0b00000000,
+  // Ghost eyes
+  0b00000000,
+  0b00011100,
+  0b00010100,
+  0b00011100,
+  0b00010100,
+  0b00011100,
+  0b00000000,
+  0b00000000,
+  
+  // Pacman
+  // Pacman left 0
+  0b00111100,
+  0b01111110,
+  0b11111111,
+  0b11111111,
+  0b11111111,
+  0b11111111,
+  0b01111110,
+  0b00111100,
+  // Pacman left 1
+  0b00100100,
+  0b01100110,
+  0b11100111,
+  0b11100111,
+  0b11111111,
+  0b11111111,
+  0b01111110,
+  0b00111100,
+  // Pacman left 2
+  0b00000000,
+  0b01000010,
+  0b11000011,
+  0b11100111,
+  0b11100111,
+  0b11111111,
+  0b01111110,
+  0b00111100,
+  // Pacman left 3
+  0b00100100,
+  0b01100110,
+  0b11100111,
+  0b11100111,
+  0b11111111,
+  0b11111111,
+  0b01111110,
+  0b00111100,
+  // Pacman right 0
+  0b00111100,
+  0b01111110,
+  0b11111111,
+  0b11111111,
+  0b11111111,
+  0b11111111,
+  0b01111110,
+  0b00111100,
+  // Pacman right 1
+  0b00111100,
+  0b01111110,
+  0b11111111,
+  0b11111111,
+  0b11100111,
+  0b11100111,
+  0b01100110,
+  0b00100100,
+  // Pacman right 2
+  0b00111100,
+  0b01111110,
+  0b11111111,
+  0b11100111,
+  0b11100111,
+  0b11000011,
+  0b01000010,
+  0b00000000,
+  // Pacman right 3
+  0b00111100,
+  0b01111110,
+  0b11111111,
+  0b11111111,
+  0b11100111,
+  0b11100111,
+  0b01100110,
+  0b00100100,
+  // Pacman up 0
+  0b00111100,
+  0b01111110,
+  0b11111111,
+  0b11111111,
+  0b11111111,
+  0b11111111,
+  0b01111110,
+  0b00111100,
+  // Pacman up 1
+  0b00111100,
+  0b01111110,
+  0b11111111,
+  0b11110000,
+  0b11110000,
+  0b11111111,
+  0b01111110,
+  0b00111100,
+  // Pacman up 2
+  0b00111100,
+  0b01111110,
+  0b11111000,
+  0b11100000,
+  0b11100000,
+  0b11111000,
+  0b01111110,
+  0b00111100,
+  // Pacman up 3
+  0b00111100,
+  0b01111110,
+  0b11111111,
+  0b11110000,
+  0b11110000,
+  0b11111111,
+  0b01111110,
+  0b00111100,
+  // Pacman down 0
+  0b00111100,
+  0b01111110,
+  0b11111111,
+  0b11111111,
+  0b11111111,
+  0b11111111,
+  0b01111110,
+  0b00111100,
+  // Pacman down 1
+  0b00111100,
+  0b01111110,
+  0b11111111,
+  0b00001111,
+  0b00001111,
+  0b11111111,
+  0b01111110,
+  0b00111100,
+  // Pacman down 2
+  0b00111100,
+  0b01111110,
+  0b00011111,
+  0b00000111,
+  0b00000111,
+  0b00011111,
+  0b01111110,
+  0b00111100,
+  // Pacman down 3
+  0b00111100,
+  0b01111110,
+  0b11111111,
+  0b00001111,
+  0b00001111,
+  0b11111111,
+  0b01111110,
+  0b00111100,
+
+  // Fruits
+  // Cherry
+  0b01100000,
+  0b11110000,
+  0b01101100,
+  0b00000010,
+  0b01100010,
+  0b11111001,
+  0b01100111,
+  0b00000001,
+
+};
+
+// "3D" isometric pacman (5 positions per direction, 4 directions, with mask)
+static const uint8_t pacmania_nw_01_mask[] =
+{
+  0b00000000,
+  0b00000000,
+  0b00111000,
+  0b11111100,
+  0b11111110,
+  0b11111110,
+  0b11111111,
+  0b11111111,
+
+  0b11111111,
+  0b11111111,
+  0b11111110,
+  0b11111110,
+  0b11111100,
+  0b11111000,
+  0b11110000,
+  0b11000000,
+
+  0b00000000,
+  0b00000000,
+  0b00000000,
+  0b00100000,
+  0b01110001,
+  0b01110011,
+  0b11111111,
+  0b11111111,
+
+  0b11111111,
+  0b11111111,
+  0b01111111,
+  0b01111111,
+  0b00111111,
+  0b00011111,
+  0b00001111,
+  0b00000011
+};
+
+static const uint8_t pacmania_nw_01[] =
+{
+  0b00000000,
+  0b00000000,
+  0b00000000,
+  0b00111000,
+  0b11111100,
+  0b11001000,
+  0b11001010,
+  0b11101110,
+
+  0b11111110,
+  0b11111110,
+  0b11111100,
+  0b11111100,
+  0b11111000,
+  0b11110000,
+  0b11000000,
+  0b00000000,
+
+  0b00000000,
+  0b00000000,
+  0b00000000,
+  0b00000000,
+  0b00100000,
+  0b00100001,
+  0b01110011,
+  0b01111011,
+
+  0b01111111,
+  0b01111111,
+  0b00111111,
+  0b00111111,
+  0b00011111,
+  0b00001111,
+  0b00000011,
+  0b00000000
+};
+
+static const uint8_t pacmania_nw_02_mask[] =
+{
+  0b00000000,
+  0b01110000,
+  0b11111000,
+  0b11111100,
+  0b11111110,
+  0b11111110,
+  0b11111111,
+  0b11111111,
+
+  0b11111111,
+  0b11111111,
+  0b11111110,
+  0b11111110,
+  0b11111100,
+  0b11111000,
+  0b11110000,
+  0b11000000,
+
+  0b00000000,
+  0b00000000,
+  0b00000001,
+  0b00100011,
+  0b01110111,
+  0b01111111,
+  0b11111111,
+  0b11111111,
+
+  0b11111111,
+  0b11111111,
+  0b01111111,
+  0b01111111,
+  0b00111111,
+  0b00011111,
+  0b00001111,
+  0b00000011
+};
+
+static const uint8_t pacmania_nw_02[] =
+{
+  0b00000000,
+  0b00000000,
+  0b01110000,
+  0b11011000,
+  0b11001000,
+  0b11101000,
+  0b11111110,
+  0b11111110,
+
+  0b11111110,
+  0b11111110,
+  0b11111100,
+  0b11111100,
+  0b11111000,
+  0b11110000,
+  0b11000000,
+  0b00000000,
+
+  0b00000000,
+  0b00000000,
+  0b00000000,
+  0b00000001,
+  0b00100011,
+  0b00110111,
+  0b01111111,
+  0b01111111,
+
+  0b01111111,
+  0b01111111,
+  0b00111111,
+  0b00111111,
+  0b00011111,
+  0b00001111,
+  0b00000011,
+  0b00000000
+};
+
+static const uint8_t pacmania_nw_03_mask[] =
+{
+  0b11000000,
+  0b11110000,
+  0b11111000,
+  0b11111100,
+  0b11111110,
+  0b11111110,
+  0b11111111,
+  0b11111111,
+
+  0b11111111,
+  0b11111111,
+  0b11111110,
+  0b11111110,
+  0b11111100,
+  0b11111000,
+  0b11110000,
+  0b11000000,
+
+  0b00000000,
+  0b00000001,
+  0b00010011,
+  0b00111111,
+  0b01111111,
+  0b01111111,
+  0b11111111,
+  0b11111111,
+
+  0b11111111,
+  0b11111111,
+  0b01111111,
+  0b01111111,
+  0b00111111,
+  0b00011111,
+  0b00001111,
+  0b00000011
+};
+
+static const uint8_t pacmania_nw_03[] =
+{
+  0b00000000,
+  0b11000000,
+  0b10010000,
+  0b11001000,
+  0b11001100,
+  0b11111100,
+  0b11111110,
+  0b11111110,
+
+  0b11111110,
+  0b11111110,
+  0b11111100,
+  0b11111100,
+  0b11111000,
+  0b11110000,
+  0b11000000,
+  0b00000000,
+
+  0b00000000,
+  0b00000000,
+  0b00000001,
+  0b00010011,
+  0b00110111,
+  0b00110111,
+  0b01111111,
+  0b01111111,
+
+  0b01111111,
+  0b01111111,
+  0b00111111,
+  0b00111111,
+  0b00011111,
+  0b00001111,
+  0b00000011,
+  0b00000000
+};
+
+static const uint8_t pacmania_nw_04_mask[] =
+{
+  0b11000000,
+  0b11110000,
+  0b11111000,
+  0b11111100,
+  0b11111110,
+  0b11111110,
+  0b11111111,
+  0b11111111,
+
+  0b11111111,
+  0b11111111,
+  0b11111110,
+  0b11111110,
+  0b11111100,
+  0b11111000,
+  0b11110000,
+  0b11000000,
+
+  0b00000001,
+  0b00000011,
+  0b00010111,
+  0b00111111,
+  0b01111111,
+  0b01111111,
+  0b11111111,
+  0b11111111,
+
+  0b11111111,
+  0b11111111,
+  0b01111111,
+  0b01111111,
+  0b00111111,
+  0b00011111,
+  0b00001111,
+  0b00000011
+};
+
+static const uint8_t pacmania_nw_04[] =
+{
+  0b00000000,
+  0b11000000,
+  0b10010000,
+  0b11001000,
+  0b11111100,
+  0b11111100,
+  0b11111110,
+  0b11111110,
+
+  0b11111110,
+  0b11111110,
+  0b11111100,
+  0b11111100,
+  0b11111000,
+  0b11110000,
+  0b11000000,
+  0b00000000,
+
+  0b00000000,
+  0b00000001,
+  0b00000011,
+  0b00010011,
+  0b00110111,
+  0b00110111,
+  0b01111111,
+  0b01111111,
+
+  0b01111111,
+  0b01111111,
+  0b00111111,
+  0b00111111,
+  0b00011111,
+  0b00001111,
+  0b00000011,
+  0b00000000
+};
+
+static const uint8_t pacmania_nw_05_mask[] =
+{
+  0b11000000,
+  0b11110000,
+  0b11111000,
+  0b11111100,
+  0b11111110,
+  0b11111110,
+  0b11111111,
+  0b11111111,
+
+  0b11111111,
+  0b11111111,
+  0b11111110,
+  0b11111110,
+  0b11111100,
+  0b11111000,
+  0b11110000,
+  0b11000000,
+
+  0b00000001,
+  0b00001111,
+  0b00011111,
+  0b00111111,
+  0b01111111,
+  0b01111111,
+  0b11111111,
+  0b11111111,
+
+  0b11111111,
+  0b11111111,
+  0b01111111,
+  0b01111111,
+  0b00111111,
+  0b00011111,
+  0b00001111,
+  0b00000011
+};
+
+static const uint8_t pacmania_nw_05[] =
+{
+  0b00000000,
+  0b11000000,
+  0b00110000,
+  0b11011000,
+  0b11111100,
+  0b11111100,
+  0b11111110,
+  0b11111110,
+
+  0b11111110,
+  0b11111110,
+  0b11111100,
+  0b11111100,
+  0b11111000,
+  0b11110000,
+  0b11000000,
+  0b00000000,
+
+  0b00000000,
+  0b00000001,
+  0b00001011,
+  0b00010111,
+  0b00110111,
+  0b00110111,
+  0b01111111,
+  0b01111111,
+
+  0b01111111,
+  0b01111111,
+  0b00111111,
+  0b00111111,
+  0b00011111,
+  0b00001111,
+  0b00000011,
+  0b00000000
+};
+
+static const uint8_t pacmania_se_01_mask[] =
+{
+  0b11000000,
+  0b11110000,
+  0b11111000,
+  0b11111100,
+  0b11111110,
+  0b11111110,
+  0b11111111,
+  0b11111111,
+
+  0b11111111,
+  0b11111111,
+  0b11111110,
+  0b11111110,
+  0b11111100,
+  0b11111000,
+  0b11110000,
+  0b11000000,
+
+  0b00000011,
+  0b00001111,
+  0b00011111,
+  0b00111111,
+  0b01111111,
+  0b01111111,
+  0b11111111,
+  0b11111111,
+
+  0b11111111,
+  0b11111111,
+  0b01111111,
+  0b01111111,
+  0b00111111,
+  0b00011111,
+  0b00001111,
+  0b00000011
+};
+
+static const uint8_t pacmania_se_01[] =
+{
+  0b00000000,
+  0b11000000,
+  0b11110000,
+  0b11111000,
+  0b11111100,
+  0b11111100,
+  0b11111110,
+  0b11111110,
+
+  0b11011110,
+  0b00011110,
+  0b00111100,
+  0b11001100,
+  0b10001000,
+  0b11110000,
+  0b11000000,
+  0b00000000,
+
+  0b00000000,
+  0b00000011,
+  0b00001111,
+  0b00011111,
+  0b00111111,
+  0b00111111,
+  0b01111111,
+  0b01110111,
+
+  0b01110111,
+  0b01110111,
+  0b00110111,
+  0b00111011,
+  0b00011011,
+  0b00001101,
+  0b00000010,
+  0b00000000
+};
+
+static const uint8_t pacmania_se_02_mask[] =
+{
+  0b11000000,
+  0b11110000,
+  0b11111000,
+  0b11111100,
+  0b11111110,
+  0b11111110,
+  0b11111111,
+  0b11111111,
+
+  0b11111111,
+  0b11111111,
+  0b11111110,
+  0b11111110,
+  0b11111100,
+  0b11111000,
+  0b11110000,
+  0b11000000,
+
+  0b00000011,
+  0b00001111,
+  0b00011111,
+  0b00111111,
+  0b01111111,
+  0b01111111,
+  0b11111111,
+  0b11111111,
+
+  0b11111111,
+  0b11111111,
+  0b01111111,
+  0b01111111,
+  0b00111111,
+  0b00011111,
+  0b00001101,
+  0b00000000
+};
+
+static const uint8_t pacmania_se_02[] =
+{
+  0b00000000,
+  0b11000000,
+  0b11110000,
+  0b11111000,
+  0b11111100,
+  0b11111100,
+  0b11111110,
+  0b11101110,
+
+  0b10001110,
+  0b10011110,
+  0b11100100,
+  0b11000100,
+  0b11111000,
+  0b11110000,
+  0b01000000,
+  0b00000000,
+
+  0b00000000,
+  0b00000011,
+  0b00001111,
+  0b00011111,
+  0b00111111,
+  0b00111111,
+  0b01111111,
+  0b01110111,
+
+  0b01110111,
+  0b01110011,
+  0b00110011,
+  0b00110001,
+  0b00011001,
+  0b00001100,
+  0b00000000,
+  0b00000000
+};
+
+static const uint8_t pacmania_se_03_mask[] =
+{
+  0b11000000,
+  0b11110000,
+  0b11111000,
+  0b11111100,
+  0b11111110,
+  0b11111110,
+  0b11111111,
+  0b11111111,
+
+  0b11111111,
+  0b11111111,
+  0b11111110,
+  0b11111110,
+  0b11111100,
+  0b11111000,
+  0b01110000,
+  0b00000000,
+
+  0b00000011,
+  0b00001111,
+  0b00011111,
+  0b00111111,
+  0b01111111,
+  0b01111111,
+  0b11111111,
+  0b11111111,
+
+  0b11111111,
+  0b11111111,
+  0b01111111,
+  0b01111111,
+  0b00111111,
+  0b00011100,
+  0b00000000,
+  0b00000000
+};
+
+static const uint8_t pacmania_se_03[] =
+{
+  0b00000000,
+  0b11000000,
+  0b11110000,
+  0b11111000,
+  0b11111100,
+  0b11111100,
+  0b11111110,
+  0b11101110,
+
+  0b10001110,
+  0b10011110,
+  0b11100100,
+  0b11000100,
+  0b11111000,
+  0b01110000,
+  0b00000000,
+  0b00000000,
+
+  0b00000000,
+  0b00000011,
+  0b00001111,
+  0b00011111,
+  0b00111111,
+  0b00111111,
+  0b01110111,
+  0b01110011,
+
+  0b01100011,
+  0b01100001,
+  0b00100001,
+  0b00100000,
+  0b00011100,
+  0b00000000,
+  0b00000000,
+  0b00000000
+};
+
+static const uint8_t pacmania_se_04_mask[] =
+{
+  0b11000000,
+  0b11110000,
+  0b11111000,
+  0b11111100,
+  0b11111110,
+  0b11111110,
+  0b11111111,
+  0b11111111,
+
+  0b11111111,
+  0b11111111,
+  0b11111110,
+  0b11111110,
+  0b11111100,
+  0b01111000,
+  0b00110000,
+  0b00000000,
+
+  0b00000011,
+  0b00001111,
+  0b00011111,
+  0b00111111,
+  0b01111111,
+  0b01111111,
+  0b11111111,
+  0b11111111,
+
+  0b11111111,
+  0b11111111,
+  0b01111111,
+  0b01111111,
+  0b00111110,
+  0b00011100,
+  0b00000000,
+  0b00000000
+};
+
+static const uint8_t pacmania_se_04[] =
+{
+  0b00000000,
+  0b11000000,
+  0b11110000,
+  0b11111000,
+  0b11111100,
+  0b11111100,
+  0b11110110,
+  0b11000110,
+
+  0b11001110,
+  0b11111010,
+  0b11110000,
+  0b01100100,
+  0b01111000,
+  0b00110000,
+  0b00000000,
+  0b00000000,
+
+  0b00000000,
+  0b00000011,
+  0b00001111,
+  0b00011111,
+  0b00111111,
+  0b00111111,
+  0b01110111,
+  0b01100011,
+
+  0b01100001,
+  0b01100001,
+  0b00100000,
+  0b00100010,
+  0b00011100,
+  0b00000000,
+  0b00000000,
+  0b00000000
+};
+
+static const uint8_t pacmania_se_05_mask[] =
+{
+  0b11000000,
+  0b11110000,
+  0b11111000,
+  0b11111100,
+  0b11111110,
+  0b11111110,
+  0b11111111,
+  0b11111111,
+
+  0b11111111,
+  0b11111111,
+  0b11111110,
+  0b00111110,
+  0b00011100,
+  0b00001000,
+  0b00000000,
+  0b00000000,
+
+  0b00000011,
+  0b00001111,
+  0b00011111,
+  0b00111111,
+  0b01111111,
+  0b01111111,
+  0b11111111,
+  0b11111111,
+
+  0b11111111,
+  0b11111111,
+  0b01111111,
+  0b01111111,
+  0b00111110,
+  0b00011100,
+  0b00000000,
+  0b00000000
+};
+
+static const uint8_t pacmania_se_05[] =
+{
+  0b00000000,
+  0b11000000,
+  0b11110000,
+  0b11111000,
+  0b11111100,
+  0b11111100,
+  0b11100110,
+  0b11000110,
+
+  0b01101110,
+  0b00111010,
+  0b00010000,
+  0b00011100,
+  0b00001000,
+  0b00000000,
+  0b00000000,
+  0b00000000,
+
+  0b00000000,
+  0b00000011,
+  0b00001111,
+  0b00011111,
+  0b00111111,
+  0b00110011,
+  0b01100001,
+  0b01000000,
+
+  0b01000000,
+  0b01000000,
+  0b00100001,
+  0b00100010,
+  0b00011100,
+  0b00000000,
+  0b00000000,
+  0b00000000
+};
+
+// a 16x16 pacman for the intermission
+static const uint8_t big_pacman_0[] =
+{
+  0b11100000,
+  0b11111000,
+  0b11111100,
+  0b11111110,
+  0b11111110,
+  0b11111111,
+  0b11111111,
+  0b11111111,
+
+  0b11111111,
+  0b11111111,
+  0b11111111,
+  0b11111110,
+  0b11111110,
+  0b11111100,
+  0b11111000,
+  0b11100000,
+
+  0b00000111,
+  0b00011111,
+  0b00111111,
+  0b01111111,
+  0b01111111,
+  0b11111111,
+  0b11111111,
+  0b11111111,
+
+  0b11111111,
+  0b11111111,
+  0b11111111,
+  0b01111111,
+  0b01111111,
+  0b00111111,
+  0b00011111,
+  0b00000111
+};
+
+static const uint8_t big_pacman_1[] =
+{
+  0b11100000,
+  0b11111000,
+  0b11111100,
+  0b11111110,
+  0b11111110,
+  0b11111111,
+  0b11111111,
+  0b01111111,
+
+  0b01111111,
+  0b00111111,
+  0b00111111,
+  0b00011110,
+  0b00011110,
+  0b00001100,
+  0b00001000,
+  0b00000000,
+
+  0b00000111,
+  0b00011111,
+  0b00111111,
+  0b01111111,
+  0b01111111,
+  0b11111111,
+  0b11111111,
+  0b11111110,
+  
+  0b11111110,
+  0b11111100,
+  0b11111100,
+  0b01111000,
+  0b01111000,
+  0b00110000,
+  0b00010000,
+  0b00000000
+};
+
+static const uint8_t big_pacman_2[] =
+{
+  0b11100000,
+  0b11111000,
+  0b11111100,
+  0b11111110,
+  0b11111110,
+  0b11111111,
+  0b01111111,
+  0b00111111,
+  
+  0b00011111,
+  0b00001111,
+  0b00000111,
+  0b00000010,
+  0b00000000,
+  0b00000000,
+  0b00000000,
+  0b00000000,
+
+  0b00000111,
+  0b00011111,
+  0b00111111,
+  0b01111111,
+  0b01111111,
+  0b11111111,
+  0b11111110,
+  0b11111100,
+
+  0b11111000,
+  0b11110000,
+  0b11100000,
+  0b01000000,
+  0b00000000,
+  0b00000000,
+  0b00000000,
+  0b00000000
+};
+
+static const uint8_t big_ghost_0[] =
+{
+  0b00000000,
+  0b10000000,
+  0b11110000,
+  0b11111000,
+  0b00111100,
+  0b00011100,
+  0b10011110,
+  0b10111110,
+
+  0b11111110,
+  0b11111110,
+  0b00111100,
+  0b00011100,
+  0b10011000,
+  0b10110000,
+  0b10000000,
+  0b00000000,
+
+  0b00000000,
+  0b00111111,
+  0b01111111,
+  0b01111111,
+  0b00111110,
+  0b00011100,
+  0b00111101,
+  0b01111111,
+
+  0b01111111,
+  0b00111111,
+  0b00011110,
+  0b00111100,
+  0b01111101,
+  0b01111111,
+  0b00111111,
+  0b00000000
+};
+
+static const uint8_t big_ghost_1[] =
+{
+  0b00000000,
+  0b10000000,
+  0b11110000,
+  0b11111000,
+  0b00111100,
+  0b00011100,
+  0b10011110,
+  0b10111110,
+
+  0b11111110,
+  0b11111110,
+  0b00111100,
+  0b00011100,
+  0b10011000,
+  0b10110000,
+  0b10000000,
+  0b00000000,
+
+  0b00000000,
+  0b01111111,
+  0b00111111,
+  0b00011111,
+  0b00111110,
+  0b01111100,
+  0b01111101,
+  0b00011111,
+
+  0b00011111,
+  0b01111111,
+  0b01111110,
+  0b00111100,
+  0b00011101,
+  0b00111111,
+  0b01111111,
+  0b00000000
+};
+
+static const uint8_t big_frightened_ghost_0[] =
+{
+  0b00000000,
+  0b10000000,
+  0b01110000,
+  0b11001000,
+  0b10100100,
+  0b00100100,
+  0b11000010,
+  0b00000010,
+
+  0b11000010,
+  0b10100010,
+  0b00100100,
+  0b11000100,
+  0b00001000,
+  0b01110000,
+  0b10000000,
+  0b00000000,
+
+  0b00000000,
+  0b01111111,
+  0b00100000,
+  0b00010001,
+  0b00100010,
+  0b01000010,
+  0b01100001,
+  0b00010000,
+
+  0b00010001,
+  0b01100010,
+  0b01000010,
+  0b00100001,
+  0b00010000,
+  0b00100000,
+  0b01111111,
+  0b00000000
+};
+
+static const uint8_t big_frightened_ghost_1[] =
+{
+  0b00000000,
+  0b10000000,
+  0b01110000,
+  0b11001000,
+  0b10100100,
+  0b00100100,
+  0b11000010,
+  0b00000010,
+
+  0b11000010,
+  0b10100010,
+  0b00100100,
+  0b11000100,
+  0b00001000,
+  0b01110000,
+  0b10000000,
+  0b00000000,
+
+  0b00000000,
+  0b00111111,
+  0b01000000,
+  0b01000001,
+  0b00100010,
+  0b00010010,
+  0b00100001,
+  0b01000000,
+
+  0b01000001,
+  0b00100010,
+  0b00010010,
+  0b00100001,
+  0b01000000,
+  0b01000000,
+  0b00111111,
+  0b00000000
+};
+
+static const uint32_t walls_mask[] =
+{
+  0b11111111111111111111111111111111, //  0
+  0b11100000000000011000000000000111, //  1
+  0b11101111011111011011111011110111, //  2
+  0b11101111011111011011111011110111, //  3
+  0b11101111011111011011111011110111, //  4
+  0b11100000000000000000000000000111, //  5
+  0b11101111011011111111011011110111, //  6
+  0b11101111011011111111011011110111, //  7
+  0b11100000011000011000011000000111, //  8
+  0b11111111011111011011111011111111, //  9
+  0b11111111011111011011111011111111, // 10
+  0b11111111011000000000011011111111, // 11
+  0b11111111011011100111011011111111, // 12
+  0b11111111011010000001011011111111, // 13
+  0b00000000000010000001000000000000, // 14
+  0b11111111011011111111011011111111, // 15
+  0b11111111011011111111011011111111, // 16
+  0b11111111011000000000011011111111, // 17
+  0b11111111011011111111011011111111, // 18
+  0b11111111011011111111011011111111, // 19
+  0b11100000000000011000000000000111, // 20
+  0b11101111011111011011111011110111, // 21
+  0b11101111011111011011111011110111, // 22
+  0b11100011000000000000000011000111, // 23
+  0b11111011011011111111011011011111, // 24
+  0b11111011011011111111011011011111, // 25
+  0b11100000011000011000011000000111, // 26
+  0b11101111111111011011111111110111, // 27
+  0b11101111111111011011111111110111, // 28
+  0b11100000000000000000000000000111, // 29
+  0b11111111111111111111111111111111  // 30
+};
+
+static const uint32_t all_pills[] =
+{
+  0b00000000000000000000000000000000, //  0
+  0b00011111111111100111111111111000, //  1
+  0b00010000100000100100000100001000, //  2
+  0b00010000100000100100000100001000, //  3
+  0b00010000100000100100000100001000, //  4
+  0b00011111111111111111111111111000, //  5
+  0b00010000100100000000100100001000, //  6
+  0b00010000100100000000100100001000, //  7
+  0b00011111100111100111100111111000, //  8
+  0b00000000100000000000000100000000, //  9
+  0b00000000100000000000000100000000, // 10
+  0b00000000100000000000000100000000, // 11
+  0b00000000100000000000000100000000, // 12
+  0b00000000100000000000000100000000, // 13
+  0b00000000100000000000000100000000, // 14
+  0b00000000100000000000000100000000, // 15
+  0b00000000100000000000000100000000, // 16
+  0b00000000100000000000000100000000, // 17
+  0b00000000100000000000000100000000, // 18
+  0b00000000100000000000000100000000, // 19
+  0b00011111111111100111111111111000, // 20
+  0b00010000100000100100000100001000, // 21
+  0b00010000100000100100000100001000, // 22
+  0b00011100111111100111111100111000, // 23
+  0b00000100100100000000100100100000, // 24
+  0b00000100100100000000100100100000, // 25
+  0b00011111100111100111100111111000, // 26
+  0b00010000000000100100000000001000, // 27
+  0b00010000000000100100000000001000, // 28
+  0b00011111111111111111111111111000, // 29
+  0b00000000000000000000000000000000  // 30
+};
+
+#endif
+