--- /dev/null
+/****************************************************************************
+ * 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
+