From 89d87c8386ac38093a527057476244b35fda224e Mon Sep 17 00:00:00 2001 From: Blake Drayson Date: Thu, 13 Jun 2024 16:25:31 +0100 Subject: [PATCH 01/12] New Daisy V2 Macropad --- keyboards/draytronics/daisy_v2/config.h | 45 + keyboards/draytronics/daisy_v2/daisy_v2.c | 122 + keyboards/draytronics/daisy_v2/daisy_v2.h | 46 + keyboards/draytronics/daisy_v2/halconfig.h | 35 + keyboards/draytronics/daisy_v2/keyboard.json | 68 + .../daisy_v2/keymaps/default/keymap.c | 94 + keyboards/draytronics/daisy_v2/mcuconf.h | 36 + keyboards/draytronics/daisy_v2/oled.c | 2356 +++++++++++++++++ keyboards/draytronics/daisy_v2/readme.md | 26 + keyboards/draytronics/daisy_v2/rules.mk | 1 + 10 files changed, 2829 insertions(+) create mode 100644 keyboards/draytronics/daisy_v2/config.h create mode 100644 keyboards/draytronics/daisy_v2/daisy_v2.c create mode 100644 keyboards/draytronics/daisy_v2/daisy_v2.h create mode 100644 keyboards/draytronics/daisy_v2/halconfig.h create mode 100644 keyboards/draytronics/daisy_v2/keyboard.json create mode 100644 keyboards/draytronics/daisy_v2/keymaps/default/keymap.c create mode 100644 keyboards/draytronics/daisy_v2/mcuconf.h create mode 100644 keyboards/draytronics/daisy_v2/oled.c create mode 100644 keyboards/draytronics/daisy_v2/readme.md create mode 100644 keyboards/draytronics/daisy_v2/rules.mk diff --git a/keyboards/draytronics/daisy_v2/config.h b/keyboards/draytronics/daisy_v2/config.h new file mode 100644 index 00000000000..d2ad9390df3 --- /dev/null +++ b/keyboards/draytronics/daisy_v2/config.h @@ -0,0 +1,45 @@ +/*Copyright 2024 Blake Drayson / Draytronics + +Contact info@draytronics.co.uk + +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 . + +This code is inspired by and adapted from the code used in the Printed Pad by Noah Beidelman (@noahbei) + +It also references the concept of glitching animations from Aleks (@aleksbrgt) + +The pixel graphics used here are from a combination of sources; + +1. Layer indicators are created by myself and free to use by anyone. +2. "Revengeday", "Cyber Cafe", "Cortex Implant" logos are used with kind permission of OBEY THE SYSTEM. + A collective of Fediverse instances and creatives. https://git.cyberwa.re/obey-the-system. + They are licenced as Non-Commercial and for use by members of the network, with attribution. +3. Key press indicator graphics were commissioned for this project and were designed by the + amazing https://corteximplant.com/@jadedtwin / https://www.jadedtwin.com/ +*/ +#pragma once + +// Config for the STM32F072 to configure the OLED display via I2C. +#define I2C_DRIVER I2CD1 +#define I2C1_SCL_PIN B8 +#define I2C1_SDA_PIN B9 +#define I2C1_SCL_PAL_MODE 1 +#define I2C1_SDA_PAL_MODE 1 +#define I2C1_TIMINGR_PRESC 0x00U +#define I2C1_TIMINGR_SCLDEL 0x03U +#define I2C1_TIMINGR_SDADEL 0x01U +#define I2C1_TIMINGR_SCLH 0x03U +#define I2C1_TIMINGR_SCLL 0x09U + +#define OLED_TIMEOUT 300000 diff --git a/keyboards/draytronics/daisy_v2/daisy_v2.c b/keyboards/draytronics/daisy_v2/daisy_v2.c new file mode 100644 index 00000000000..e5b22571c08 --- /dev/null +++ b/keyboards/draytronics/daisy_v2/daisy_v2.c @@ -0,0 +1,122 @@ +/*Copyright 2024 Blake Drayson / Draytronics + +Contact info@draytronics.co.uk + +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 . + +This code is inspired by and adapted from the code used in the Printed Pad by Noah Beidelman (@noahbei) + +It also references the concept of glitching animations from Aleks (@aleksbrgt) + +The pixel graphics used here are from a combination of sources; + +1. Layer indicators are created by myself and free to use by anyone. +2. "Revengeday", "Cyber Cafe", "Cortex Implant" logos are used with kind permission of OBEY THE SYSTEM. + A collective of Fediverse instances and creatives. https://git.cyberwa.re/obey-the-system. + They are licenced as Non-Commercial and for use by members of the network, with attribution. +3. Key press indicator graphics were commissioned for this project and were designed by the + amazing https://corteximplant.com/@jadedtwin / https://www.jadedtwin.com/ +*/ +#include "daisy_v2.h" + +enum my_keycodes { + ENCODER_PRESS = QK_KB, +}; + +void board_init(void) { + SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP; +} + +const uint8_t max_layer = 3; +uint8_t current_display_mode = 0; + +bool hidden = false; + +uint8_t key_pressed = 0; + + +/* EEPROM Stuct and function to allow init / saving of OLED mode */ +typedef union { +uint32_t raw; +struct { + uint8_t oled_mode :8; +}; +} kb_config_t; + +kb_config_t kb_config; + +void eeconfig_init_kb(void) { + //Init initial value and save to EEPROM. + kb_config.raw = 0; + eeconfig_update_kb(kb_config.raw); +} +/* End */ + +void keyboard_post_init_user(void) { + //Read user value and set current_display_mode. + kb_config.oled_mode = eeconfig_read_kb(); + current_display_mode = kb_config.oled_mode; + + //This is an adjustment to resolve the issue that occurs when there is a + //static colour underglow the first LED can be a different colour on first init. + rgblight_disable_noeeprom(); + rgblight_enable_noeeprom(); +} + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + #ifdef OLED_ENABLE + if (record->event.pressed) { + key_pressed++; + } else { + if (key_pressed) + key_pressed--; + } + #endif + switch(keycode) { + case LT(0, ENCODER_PRESS): + if (record->event.pressed) { + // on tap + if (record->tap.count) { + tap_code(KC_MUTE); + } + #ifdef OLED_ENABLE + // on hold + else { + hidden = false; + current_display_mode = (current_display_mode + 1) % 5; + // When mode changes update EEPROM. + kb_config.oled_mode = current_display_mode; + eeconfig_update_kb(kb_config.raw); + } + #endif + } + return false; + } + return true; +} + +#ifdef OLED_ENABLE +uint32_t flash_timer = 0; +bool layer_changed = false; + +// when the layer is changed, flash the layer number on the screen +layer_state_t layer_state_set_kb(layer_state_t state) { + flash_timer = timer_read(); + layer_changed = true; + return layer_state_set_user(state); +} +#endif diff --git a/keyboards/draytronics/daisy_v2/daisy_v2.h b/keyboards/draytronics/daisy_v2/daisy_v2.h new file mode 100644 index 00000000000..2435eadadab --- /dev/null +++ b/keyboards/draytronics/daisy_v2/daisy_v2.h @@ -0,0 +1,46 @@ +/*Copyright 2024 Blake Drayson / Draytronics + +Contact info@draytronics.co.uk + +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 . + +This code is inspired by and adapted from the code used in the Printed Pad by Noah Beidelman (@noahbei) + +It also references the concept of glitching animations from Aleks (@aleksbrgt) + +The pixel graphics used here are from a combination of sources; + +1. Layer indicators are created by myself and free to use by anyone. +2. "Revengeday", "Cyber Cafe", "Cortex Implant" logos are used with kind permission of OBEY THE SYSTEM. + A collective of Fediverse instances and creatives. https://git.cyberwa.re/obey-the-system. + They are licenced as Non-Commercial and for use by members of the network, with attribution. +3. Key press indicator graphics were commissioned for this project and were designed by the + amazing https://corteximplant.com/@jadedtwin / https://www.jadedtwin.com/ +*/ +#pragma once + +#include "quantum.h" + +//for oled key press +extern uint8_t key_pressed; + +// for changing oled display mode +extern uint8_t current_display_mode; + +// for hidden animation toggle +extern bool hidden; + +//for determining when the layer is changed and having a timer for how long we flash the layer +extern uint32_t flash_timer; +extern bool layer_changed; diff --git a/keyboards/draytronics/daisy_v2/halconfig.h b/keyboards/draytronics/daisy_v2/halconfig.h new file mode 100644 index 00000000000..fd2d74acc47 --- /dev/null +++ b/keyboards/draytronics/daisy_v2/halconfig.h @@ -0,0 +1,35 @@ +/*Copyright 2024 Blake Drayson / Draytronics + +Contact info@draytronics.co.uk + +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 . + +This code is inspired by and adapted from the code used in the Printed Pad by Noah Beidelman (@noahbei) + +It also references the concept of glitching animations from Aleks (@aleksbrgt) + +The pixel graphics used here are from a combination of sources; + +1. Layer indicators are created by myself and free to use by anyone. +2. "Revengeday", "Cyber Cafe", "Cortex Implant" logos are used with kind permission of OBEY THE SYSTEM. + A collective of Fediverse instances and creatives. https://git.cyberwa.re/obey-the-system. + They are licenced as Non-Commercial and for use by members of the network, with attribution. +3. Key press indicator graphics were commissioned for this project and were designed by the + amazing https://corteximplant.com/@jadedtwin / https://www.jadedtwin.com/ +*/ +#pragma once + +#define HAL_USE_I2C TRUE //Enable I2C + +#include_next diff --git a/keyboards/draytronics/daisy_v2/keyboard.json b/keyboards/draytronics/daisy_v2/keyboard.json new file mode 100644 index 00000000000..b6e3f953ce2 --- /dev/null +++ b/keyboards/draytronics/daisy_v2/keyboard.json @@ -0,0 +1,68 @@ +{ + "manufacturer": "Draytronics", + "keyboard_name": "DAISY", + "maintainer": "ghostseven", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "encoder": { + "enabled": true, + "rotary": [ + {"pin_a": "A15", "pin_b": "A14"} + ] + }, + "features": { + "bootmagic": true, + "encoder": true, + "extrakey": true, + "mousekey": true, + "oled": true, + "rgblight": true + }, + "matrix_pins": { + "cols": ["B11", "B10", "B2", "B1"], + "rows": ["A2", "A1", "A0"] + }, + "processor": "STM32F072", + "qmk": { + "tap_keycode_delay": 10 + }, + "rgblight": { + "led_count": 4, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, + "url": "https://www.draytronics.co.uk/daisy", + "usb": { + "device_version": "2.0.0", + "pid": "0x4441", + "vid": "0x4454" + }, + "ws2812": { + "pin": "B12" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "", "matrix": [1, 2], "x": 2, "y": 1}, + {"label": "", "matrix": [1, 3], "x": 3, "y": 1}, + {"label": "", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "", "matrix": [2, 2], "x": 2, "y": 2}, + {"label": "", "matrix": [2, 3], "x": 3, "y": 2} + ] + } + } +} diff --git a/keyboards/draytronics/daisy_v2/keymaps/default/keymap.c b/keyboards/draytronics/daisy_v2/keymaps/default/keymap.c new file mode 100644 index 00000000000..007840e55e3 --- /dev/null +++ b/keyboards/draytronics/daisy_v2/keymaps/default/keymap.c @@ -0,0 +1,94 @@ +/*Copyright 2024 Blake Drayson / Draytronics + +Contact info@draytronics.co.uk + +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 . + +This code is inspired by and adapted from the code used in the Printed Pad by Noah Beidelman (@noahbei) + +It also references the concept of glitching animations from Aleks (@aleksbrgt) + +The pixel graphics used here are from a combination of sources; + +1. Layer indicators are created by myself and free to use by anyone. +2. "Revengeday", "Cyber Cafe", "Cortex Implant" logos are used with kind permission of OBEY THE SYSTEM. + A collective of Fediverse instances and creatives. https://git.cyberwa.re/obey-the-system. + They are licenced as Non-Commercial and for use by members of the network, with attribution. +3. Key press indicator graphics were commissioned for this project and were designed by the + amazing https://corteximplant.com/@jadedtwin / https://www.jadedtwin.com/ +*/ +#include QMK_KEYBOARD_H + +enum layers { + _BASE, + _CODE +}; + +enum my_keycodes { + ENCODER_PRESS = QK_KB, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* + * ┌────────────┐ + * │* See Note *│ + * ├────────────┼────────────┬────────────┬─────────────┐ + * │ Code Layer │ Media Next │ Media Prev │ Media Pause │ + * ├────────────┼────────────┼────────────┼─────────────┤ + * │ Prev Desk │ Miss Ctrl │ App Window │ Next Desk │ + * └────────────┴────────────┴────────────┴─────────────┘ + */ + [_BASE] = LAYOUT( + LT(0, ENCODER_PRESS), + MO(_CODE), KC_MPRV, KC_MNXT, KC_MPLY, + C(KC_LEFT), C(KC_UP), C(KC_DOWN), C(KC_RIGHT) + ), + /* + * ┌────────────┐ + * │* See Note *│ + * ├────────────┼────────────┬────────────┬─────────────┐ + * │ │ RGB Mode │ RBG Hue │ RGB Toggle │ + * ├────────────┼────────────┼────────────┼─────────────┤ + * │ Scrn Shot │ Force Quit │ GUI + F │ DFU Mode │ + * └────────────┴────────────┴────────────┴─────────────┘ + */ + [_CODE] = LAYOUT( + LT(0, ENCODER_PRESS), + _______, RGB_MOD, RGB_HUI, RGB_TOG, + G(S(KC_5)), G(A(KC_ESC)), G(KC_F), QK_BOOT + ) + + /* + * See Note * + * Tapping on the rotary encoder switch will mute or unmute the volume. + * Pressing and holding will cycle through the OLED modes, they are as follows; + * 1. Layer indicator + * 2. Revengeday glitch logo + * 3. Cyber Cafe glitch logo + * 4. Cortex Implant glitch logo + * 5. Key press animation. + * + * By default the rotary encoder itself will adjust the volume but it can be adjusted by changing the encoder_update_user function. + */ +}; + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (clockwise) { + tap_code(KC_VOLD); + } else { + tap_code(KC_VOLU); + } + return false; +} diff --git a/keyboards/draytronics/daisy_v2/mcuconf.h b/keyboards/draytronics/daisy_v2/mcuconf.h new file mode 100644 index 00000000000..ed4263ac13c --- /dev/null +++ b/keyboards/draytronics/daisy_v2/mcuconf.h @@ -0,0 +1,36 @@ +/*Copyright 2024 Blake Drayson / Draytronics + +Contact info@draytronics.co.uk + +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 . + +This code is inspired by and adapted from the code used in the Printed Pad by Noah Beidelman (@noahbei) + +It also references the concept of glitching animations from Aleks (@aleksbrgt) + +The pixel graphics used here are from a combination of sources; + +1. Layer indicators are created by myself and free to use by anyone. +2. "Revengeday", "Cyber Cafe", "Cortex Implant" logos are used with kind permission of OBEY THE SYSTEM. + A collective of Fediverse instances and creatives. https://git.cyberwa.re/obey-the-system. + They are licenced as Non-Commercial and for use by members of the network, with attribution. +3. Key press indicator graphics were commissioned for this project and were designed by the + amazing https://corteximplant.com/@jadedtwin / https://www.jadedtwin.com/ +*/ +#pragma once + +#include_next + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE diff --git a/keyboards/draytronics/daisy_v2/oled.c b/keyboards/draytronics/daisy_v2/oled.c new file mode 100644 index 00000000000..66941c14bab --- /dev/null +++ b/keyboards/draytronics/daisy_v2/oled.c @@ -0,0 +1,2356 @@ +/*Copyright 2024 Blake Drayson / Draytronics + +Contact info@draytronics.co.uk + +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 . + +This code is inspired by and adapted from the code used in the Printed Pad by Noah Beidelman (@noahbei) + +It also references the concept of glitching animations from Aleks (@aleksbrgt) + +The pixel graphics used here are from a combination of sources; + +1. Layer indicators are created by myself and free to use by anyone. +2. "Revengeday", "Cyber Cafe", "Cortex Implant" logos are used with kind permission of OBEY THE SYSTEM. + A collective of Fediverse instances and creatives. https://git.cyberwa.re/obey-the-system. + They are licenced as Non-Commercial and for use by members of the network, with attribution. +3. Key press indicator graphics were commissioned for this project and were designed by the + amazing https://corteximplant.com/@jadedtwin / https://www.jadedtwin.com/ +*/ +#include "daisy_v2.h" + +#ifdef OLED_ENABLE +static void flash_current_layer(void); + +uint8_t FRAME_DURATION = 100; + +uint32_t animation_timer = 0; +uint8_t current_frame = 0; + +static bool glitch = true; +static bool dirty = false; + +static void render_CortexImplant_animation(void){ + + // 'CortexImplant_Clean', 128x32px + static const char bmp_CortexImplant_Clean [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x78, 0xf8, 0xf8, 0xf8, 0xb8, 0x38, 0x38, 0x38, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0xc0, 0xf8, 0xf8, 0x78, 0x38, 0x38, 0x38, 0x38, 0x38, 0xf8, 0xf8, + 0xf8, 0xf8, 0x18, 0xe0, 0xf8, 0xf8, 0xf8, 0xf8, 0xb8, 0x38, 0x38, 0xf8, 0xf8, 0xf8, 0x38, 0x08, + 0x30, 0x38, 0x38, 0x38, 0xb8, 0xf8, 0xf8, 0xf8, 0x38, 0x38, 0x38, 0x38, 0x38, 0x98, 0x80, 0x78, + 0xf8, 0xf8, 0xf8, 0xf8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0x38, 0x08, 0x00, 0xf8, 0xf8, + 0xf8, 0xc0, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xe0, 0xf8, 0xf8, 0x78, 0x08, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x0f, 0x1f, 0x3e, 0x3c, 0x38, 0x38, + 0x38, 0x18, 0x00, 0x38, 0x3e, 0x3f, 0x3f, 0x3f, 0x38, 0x38, 0x38, 0x38, 0x38, 0x3e, 0x3f, 0x1f, + 0x23, 0x3c, 0x3f, 0x3f, 0x0f, 0x01, 0x01, 0x07, 0x0f, 0x3f, 0x3c, 0x3d, 0x3b, 0x39, 0x38, 0x38, + 0x38, 0x08, 0x30, 0x3c, 0x3f, 0x1f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x3f, + 0x3e, 0x3f, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x0b, 0x21, 0x3c, 0x3e, 0x3f, 0x07, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x27, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xfc, 0xfc, 0x1c, 0xe0, 0xf8, 0xfc, 0x3c, 0x1c, 0xfc, + 0xfc, 0xfc, 0x7c, 0x1c, 0x9c, 0xfc, 0xfc, 0xfc, 0x1c, 0xe0, 0xf8, 0xfc, 0x3c, 0x1c, 0x1c, 0x1c, + 0x1c, 0xfc, 0xfc, 0xfc, 0x3c, 0xcc, 0xf8, 0xfc, 0x7c, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0xf0, 0xfc, 0xfc, 0x3c, 0x1c, 0x9c, 0x9c, 0x1c, 0x1c, 0x9c, 0xfc, 0xfc, + 0xfc, 0x3c, 0xc4, 0xf8, 0xfc, 0x7c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0xfc, 0xfc, 0xfc, 0xfc, 0x1c, + 0x00, 0x18, 0x1c, 0x1c, 0x1c, 0xfc, 0xfc, 0xfc, 0x7c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x10, 0x1e, 0x1f, 0x1f, 0x03, 0x1c, 0x1f, 0x1f, 0x0f, 0x01, 0x00, 0x02, 0x03, + 0x03, 0x01, 0x10, 0x1e, 0x1f, 0x1f, 0x03, 0x1c, 0x1f, 0x1f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x03, 0x19, 0x1e, 0x1f, 0x1f, 0x1f, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, + 0x0c, 0x10, 0x1c, 0x1f, 0x1f, 0x1f, 0x1e, 0x1f, 0x0f, 0x07, 0x03, 0x13, 0x1c, 0x1f, 0x1f, 0x07, + 0x18, 0x1f, 0x1f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x10, 0x1e, 0x1f, 0x1f, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x1f, 0x1f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + + // 'CortexImplant_Glitch1', 128x32px + static const char bmp_CortexImplant_Glitch1 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x80, 0xc0, 0xc0, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x1f, 0x3f, 0x7d, 0x71, 0x71, + 0x71, 0x71, 0x71, 0x01, 0x61, 0x78, 0x7e, 0x7f, 0x7f, 0x73, 0x71, 0x71, 0x71, 0x71, 0x79, 0x7f, + 0x3f, 0x4f, 0x73, 0x7c, 0x7f, 0x1f, 0x07, 0x0f, 0x1f, 0x3d, 0x7d, 0x77, 0x77, 0x77, 0x73, 0x70, + 0x70, 0x31, 0x01, 0x71, 0x7d, 0x7f, 0x1f, 0x07, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0c, 0x3c, 0x7f, + 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x47, 0x71, 0x78, 0x7d, 0x1f, 0x0f, + 0x0f, 0x0e, 0x0e, 0x0e, 0x0e, 0x7e, 0x7e, 0x7f, 0x37, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + // 'CortexImplant_Glitch2', 128x32px + static const char bmp_CortexImplant_Glitch2 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x80, 0xc0, 0xc0, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x0f, 0x1f, 0x3d, 0x31, 0x31, + 0x31, 0x31, 0x31, 0x01, 0x31, 0x38, 0x3e, 0x3f, 0x3f, 0x33, 0x31, 0x31, 0x31, 0x31, 0x39, 0x3f, + 0x1f, 0x2f, 0x33, 0x3c, 0x3f, 0x0f, 0x07, 0x0f, 0x0f, 0x1d, 0x3d, 0x37, 0x37, 0x37, 0x33, 0x30, + 0x30, 0x11, 0x01, 0x31, 0x3d, 0x3f, 0x1f, 0x07, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0c, 0x1c, 0x3f, + 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x1f, 0x27, 0x31, 0x38, 0x3d, 0x0f, 0x0f, + 0x0f, 0x0e, 0x0e, 0x0e, 0x0e, 0x3e, 0x3e, 0x3f, 0x17, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0xfe, 0xfe, 0xfc, 0xfc, 0xfe, 0x3e, 0x0e, + 0x7e, 0x7e, 0x7e, 0x3e, 0x8e, 0xfe, 0xfe, 0xfe, 0x3e, 0xce, 0xf0, 0xfc, 0xfe, 0xde, 0xce, 0xce, + 0xce, 0xde, 0xfe, 0xfe, 0x7e, 0xde, 0xfc, 0xfc, 0xfe, 0x1e, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0xfe, 0xde, 0xce, 0xee, 0xee, 0x4e, 0x8e, 0xce, 0xfe, 0xfe, + 0x7e, 0xde, 0xf6, 0xfc, 0xfe, 0x3e, 0x0e, 0x0e, 0x0e, 0x0e, 0x8e, 0xfe, 0xfe, 0xfe, 0x3e, 0x0e, + 0x00, 0x0c, 0x0e, 0x0e, 0xde, 0xfe, 0xfe, 0x7e, 0x1e, 0x0e, 0x0e, 0x0e, 0x0e, 0x06, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x03, 0x03, 0x03, 0x00, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x03, 0x03, 0x03, 0x01, + 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + // 'CortexImplant_Glitch3', 128x32px + static const char bmp_CortexImplant_Glitch3 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x80, 0xc0, 0xc0, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x1f, 0x1f, 0x7f, 0x7d, 0x71, 0x71, + 0x71, 0x71, 0x71, 0x01, 0x61, 0x7f, 0x7f, 0x7f, 0x7f, 0x73, 0x71, 0x71, 0x71, 0x71, 0x7f, 0x7f, + 0x7f, 0x4f, 0x77, 0x7f, 0x7f, 0x3f, 0x07, 0x0f, 0x7f, 0x7f, 0x7f, 0x77, 0x77, 0x77, 0x73, 0x70, + 0x70, 0x31, 0x01, 0x71, 0x7d, 0x7f, 0x1f, 0x07, 0x01, 0x01, 0x01, 0x01, 0x01, 0x1f, 0x7f, 0x7f, + 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x47, 0x71, 0x78, 0x7d, 0x1f, 0x0f, + 0x0f, 0x0e, 0x0e, 0x0e, 0x0e, 0x7e, 0x7e, 0x7f, 0x37, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0xfc, 0xdc, 0xfc, 0xfc, 0xfc, 0x3c, 0x1c, + 0xfc, 0xfc, 0xfc, 0x7c, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xdc, 0xfc, 0xfc, 0xfc, 0xfc, 0x9c, 0x9c, + 0x9c, 0xdc, 0xfc, 0xfc, 0xfc, 0xbc, 0xfc, 0xfc, 0xfc, 0x3c, 0x1c, 0x00, 0x00, 0x80, 0x80, 0x80, + 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x1c, 0xdc, 0xfc, 0xfc, + 0x7c, 0x9c, 0xe4, 0xfc, 0xfc, 0x3c, 0x1c, 0x1c, 0x1c, 0x1c, 0xbc, 0xfc, 0xfc, 0xfc, 0x3c, 0x0c, + 0x04, 0x1c, 0x1c, 0x1c, 0xfc, 0xfc, 0xfc, 0xfc, 0x3c, 0x1c, 0x1c, 0x1c, 0x1c, 0x0c, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x07, 0x03, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x04, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x03, 0x03, 0x03, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x00, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x01, 0x01, 0x00, 0x07, 0x07, 0x07, 0x01, + 0x06, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x0f, 0x0f, 0x02, 0x00, 0x00, + 0x00, 0x04, 0x04, 0x0f, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + // 'CortexImplant_Glitch4', 128x32px + static const char bmp_CortexImplant_Glitch4 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x80, 0xc0, 0xc0, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x78, 0x7f, 0x3f, 0x7f, 0x7f, 0x7f, 0x3f, 0x7f, 0x7b, 0x71, + 0x7f, 0x7f, 0x7f, 0x67, 0x71, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7b, 0x7d, 0x7f, + 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7d, 0x77, 0x7f, 0x77, 0x73, 0x70, + 0xf0, 0xf5, 0x45, 0xf5, 0xfd, 0xff, 0x7f, 0x1f, 0x05, 0x05, 0x05, 0x05, 0x05, 0x3c, 0xfc, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xfd, 0xfc, 0xfd, 0x7f, 0x3f, + 0x3f, 0x3e, 0x3e, 0x3e, 0x3e, 0xfe, 0xfe, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xfc, 0xfc, 0xdc, 0xfc, 0xfc, 0xfc, 0x3c, 0x1c, + 0xfc, 0xfc, 0xfc, 0x7c, 0x1c, 0xfc, 0xfc, 0xfc, 0x7c, 0xdc, 0xf4, 0xfc, 0xfc, 0xbc, 0x9c, 0x9c, + 0x9c, 0xdc, 0xfc, 0xfc, 0xfc, 0xbc, 0xfc, 0xf8, 0xfc, 0x3c, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x81, 0xe1, 0xf9, 0xfc, 0xbc, 0x9c, 0xdc, 0xdc, 0x9c, 0x1c, 0xdc, 0xfc, 0xfd, + 0x7d, 0x9d, 0xf5, 0xf9, 0xfd, 0x3d, 0x1d, 0x1d, 0x1d, 0x1c, 0x9d, 0xfd, 0xfd, 0xfd, 0x3c, 0x1c, + 0x10, 0x1c, 0x1c, 0x1c, 0xdc, 0xfd, 0xfd, 0x7d, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x07, 0x03, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x04, 0x07, 0x07, 0x07, 0x01, 0x07, 0x07, 0x07, 0x03, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x00, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x02, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x01, 0x01, 0x00, 0x07, 0x07, 0x07, 0x01, + 0x06, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + // 'CortexImplant_Glitch5', 128x32px + static const char bmp_CortexImplant_Glitch5 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, + 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x80, 0xc0, 0xc0, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x0f, 0x1f, 0x3f, 0x7d, 0x79, 0x71, + 0x60, 0x60, 0x71, 0x01, 0x61, 0x78, 0x7e, 0x7f, 0x7f, 0x73, 0x71, 0x71, 0x61, 0x71, 0x79, 0x7f, + 0x3f, 0x4f, 0x73, 0x7c, 0x7f, 0x1f, 0x07, 0x07, 0x1f, 0x3d, 0x7d, 0x7f, 0x7f, 0x7f, 0x67, 0x61, + 0x70, 0x01, 0x01, 0x61, 0x7b, 0x3f, 0x1f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x1d, 0x3f, + 0x7f, 0x7f, 0x7f, 0x6f, 0x6f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x65, 0x71, 0x78, 0x7d, 0x1f, 0x0f, + 0x0f, 0x0e, 0x0e, 0x0e, 0x0e, 0x7e, 0x7f, 0x7f, 0x37, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0x7c, 0xdc, 0xfc, 0xf0, 0xfc, 0x1c, 0x8c, + 0xfc, 0xfc, 0xfc, 0x3c, 0x9c, 0xfc, 0xfc, 0xfc, 0x7c, 0xcc, 0xf4, 0xfc, 0xfc, 0xbc, 0x9c, 0x9c, + 0x9c, 0xbc, 0xfc, 0xfc, 0xfc, 0xcc, 0xfc, 0xfc, 0xfc, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0xe0, 0xfc, 0xfc, 0xbc, 0x9c, 0xdc, 0xdc, 0x9c, 0x0c, 0xdc, 0xfc, 0xfc, + 0x7c, 0xbc, 0xfc, 0xfc, 0xfc, 0x7c, 0x1c, 0x1c, 0x1c, 0x1c, 0x9c, 0xdc, 0xfc, 0xfc, 0x1c, 0x14, + 0x00, 0x1c, 0x1c, 0x0c, 0xdc, 0xfc, 0xfc, 0xfc, 0x1c, 0x0c, 0x0c, 0x0c, 0x0c, 0x04, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x03, 0x03, 0x06, 0x07, 0x07, 0x07, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x05, 0x07, 0x07, 0x07, 0x03, 0x01, 0x01, 0x01, 0x01, + 0x03, 0x01, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x02, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x01, 0x01, 0x00, 0x07, 0x07, 0x07, 0x01, + 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + // 'CortexImplant_Glitch6', 128x32px + static const char bmp_CortexImplant_Glitch6 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, + 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x7d, 0x71, 0x71, + 0x61, 0x61, 0x61, 0x41, 0x61, 0x7d, 0x7f, 0x7f, 0x77, 0x63, 0x61, 0x61, 0x61, 0x71, 0x7d, 0x7f, + 0x5f, 0x47, 0x77, 0x7f, 0x7f, 0x0f, 0x07, 0x07, 0x0f, 0x7f, 0x7d, 0x77, 0x67, 0x67, 0x67, 0x61, + 0x61, 0x01, 0x01, 0x61, 0x7f, 0x7f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x1d, 0x7f, + 0x77, 0x77, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x0f, 0x47, 0x73, 0x7c, 0x7f, 0x0f, 0x0f, + 0x0f, 0x0e, 0x0e, 0x0e, 0x4e, 0x4e, 0x7f, 0x7f, 0x43, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf8, 0xfc, 0x7c, 0x7c, 0xfc, 0xfc, 0x7c, 0x1c, 0x1c, + 0xdc, 0xfc, 0xfc, 0x7c, 0x1c, 0xfc, 0xfc, 0xfc, 0x7c, 0xdc, 0xf4, 0xfc, 0xfc, 0x9c, 0x9c, 0x9c, + 0x9c, 0x9c, 0xfc, 0xfc, 0x7c, 0xfc, 0xfc, 0xfc, 0x7c, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0xfc, 0xbc, 0x9c, 0xdc, 0xdc, 0x9c, 0x1c, 0xdc, 0xfc, 0xfc, + 0x7c, 0xbc, 0xfc, 0xfc, 0xfc, 0x3c, 0x0c, 0x0c, 0x0c, 0x0c, 0x1c, 0xfc, 0xfc, 0x7c, 0x1c, 0x04, + 0x00, 0x08, 0x0c, 0x1c, 0xfc, 0xfc, 0xfc, 0x3c, 0x1c, 0x0c, 0x0c, 0x0c, 0x0c, 0x04, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x07, 0x03, 0x06, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x04, 0x07, 0x07, 0x07, 0x00, 0x06, 0x07, 0x07, 0x03, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x00, 0x00, 0x06, 0x07, 0x07, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x02, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x06, 0x07, 0x07, 0x01, + 0x06, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x06, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + + // Array of all bitmaps for convenience. (Total bytes used to store images in PROGMEM = 3168) + static const char* const bmp_CortexImplant_Glitch_allArray[6] = { + bmp_CortexImplant_Glitch1, + bmp_CortexImplant_Glitch2, + bmp_CortexImplant_Glitch3, + bmp_CortexImplant_Glitch4, + bmp_CortexImplant_Glitch5, + bmp_CortexImplant_Glitch6 + }; + + // 'CortexImplant_Dirty1', 128x32px + static const char bmp_CortexImplant_Dirty1 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x80, 0xc0, 0xc0, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x40, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0d, 0x19, 0x31, 0x63, 0x6d, 0x6d, + 0x6d, 0x91, 0x91, 0x01, 0x81, 0x80, 0x82, 0x83, 0x83, 0x93, 0x91, 0x91, 0x91, 0x91, 0x81, 0x83, + 0x03, 0x83, 0x83, 0x80, 0x83, 0x03, 0x0b, 0x03, 0x03, 0x41, 0x81, 0x83, 0x83, 0x83, 0x93, 0x90, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xee, 0xee, 0xee, 0xec, 0x9c, 0x9d, 0x9c, 0xd6, 0xe3, 0xe0, 0xe0, 0xe0, 0x60, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0xc3, 0x33, 0x1b, + 0xc3, 0x04, 0x04, 0x04, 0x24, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x84, 0xa4, 0xa4, + 0xa4, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xfc, 0xbc, 0x9c, 0xdc, 0xdc, 0x9c, 0x1c, 0xdc, 0xfc, 0xfc, + 0x7c, 0x9c, 0xe4, 0xf8, 0xfc, 0x3c, 0x1c, 0x1c, 0x1c, 0x1c, 0x9c, 0xfc, 0xfc, 0xfc, 0x3c, 0x0c, + 0x00, 0x1c, 0x0c, 0x24, 0x82, 0xc3, 0xf3, 0x7b, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x0c, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x00, 0x08, 0x08, 0x08, 0x00, 0x08, 0x08, 0x08, 0x04, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x01, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, + 0x07, 0x02, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x01, 0x01, 0x00, 0x07, 0x07, 0x07, 0x01, + 0x06, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + // 'CortexImplant_Dirty2', 128x32px + static const char bmp_CortexImplant_Dirty2 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0xc0, + 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x80, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x80, 0xc0, 0xc0, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x1f, 0x1f, 0x7d, 0x71, 0x70, + 0x70, 0x70, 0x71, 0x01, 0x61, 0x78, 0x7e, 0x7f, 0x7f, 0x63, 0x71, 0x71, 0x71, 0x71, 0x79, 0x7f, + 0x3f, 0x4f, 0x73, 0x7c, 0x7f, 0x07, 0x01, 0x0f, 0x1f, 0x3d, 0x7d, 0x57, 0x57, 0x06, 0x00, 0x70, + 0x70, 0x31, 0x01, 0x71, 0x65, 0x67, 0x07, 0x03, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x0c, 0x0f, + 0x0f, 0x0f, 0x1f, 0x1f, 0x71, 0x71, 0x71, 0x7f, 0x6f, 0x2f, 0x43, 0x31, 0x78, 0x7d, 0x1f, 0x01, + 0x01, 0x00, 0x0e, 0x0e, 0x0e, 0x7e, 0x7e, 0x7f, 0x37, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x84, 0xe0, 0xf8, 0xc4, 0x04, 0x1c, + 0xdc, 0xfc, 0x8c, 0x00, 0x0c, 0xdc, 0xfc, 0xfc, 0x7c, 0xdc, 0xe0, 0xf8, 0xfc, 0x18, 0x1c, 0x9c, + 0x8c, 0xc4, 0x8c, 0x8c, 0x0c, 0x84, 0xf0, 0x00, 0x04, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x38, 0x0c, 0xbc, 0x9c, 0xdc, 0xdc, 0x9c, 0x1c, 0xdc, 0xfc, 0xfc, + 0x6c, 0x90, 0xe0, 0xf8, 0x80, 0x00, 0x00, 0x1c, 0x1c, 0x1c, 0x88, 0x8c, 0x1c, 0x1c, 0x04, 0x0c, + 0x00, 0x1c, 0x10, 0x10, 0xc0, 0xe0, 0xe0, 0x7c, 0x0c, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x03, 0x07, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x04, 0x03, 0x07, 0x07, 0x01, 0x07, 0x07, 0x07, 0x01, 0x01, 0x00, 0x00, 0x01, + 0x01, 0x01, 0x01, 0x00, 0x06, 0x05, 0x05, 0x06, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0x07, 0x03, 0x01, 0x01, 0x00, 0x07, 0x07, 0x07, 0x01, + 0x06, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x03, 0x07, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + // 'CortexImplant_Dirty3', 128x32px + static const char bmp_CortexImplant_Dirty3 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x00, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x80, 0xc0, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x0f, 0x0f, 0x0d, 0x01, 0x01, + 0x01, 0x71, 0x71, 0x01, 0x61, 0x78, 0x7e, 0x7f, 0x7f, 0x73, 0x71, 0x71, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x1f, 0x3d, 0x7d, 0x77, 0x77, 0x77, 0x73, 0x70, + 0x70, 0x31, 0x01, 0x71, 0x7d, 0x7f, 0x1f, 0x07, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0c, 0x3c, 0x3f, + 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x60, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, + 0x00, 0x1c, 0x1c, 0x1c, 0xdc, 0xfc, 0xfc, 0x7c, 0x1c, 0x1c, 0x18, 0x18, 0x18, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x03, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + // 'CortexImplant_Dirty4', 128x32px + static const char bmp_CortexImplant_Dirty4 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0x00, 0x00, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0x40, 0xc0, 0xc0, 0x00, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0x90, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0xc0, 0xc0, 0x20, 0x20, 0xc0, 0xc0, 0xc0, 0x00, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x30, 0x30, 0xc0, 0xc0, 0xc0, 0x40, 0x80, 0xc0, 0xc0, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0x9f, 0xcf, 0x8c, 0x71, 0x71, + 0x69, 0x69, 0x91, 0xc1, 0x41, 0x40, 0x7e, 0x7f, 0x60, 0x6f, 0x31, 0xb1, 0x8d, 0xcd, 0xb9, 0xbf, + 0x07, 0x97, 0x73, 0x7c, 0x9f, 0xe7, 0xc7, 0x8f, 0xff, 0xdc, 0x7d, 0x77, 0x73, 0x73, 0xb3, 0x30, + 0x7e, 0x31, 0x01, 0x71, 0x7d, 0x9c, 0xdf, 0x87, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0c, 0x3c, 0x8f, + 0x8f, 0x0f, 0xaf, 0xff, 0xff, 0x7f, 0x7f, 0x7c, 0x7c, 0xcf, 0xb7, 0x71, 0x78, 0x7d, 0x1f, 0xcf, + 0x0f, 0x8e, 0x8e, 0x0e, 0x0e, 0xbe, 0xbe, 0x87, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0xd3, 0xc3, 0xe3, 0xfb, 0x0d, 0x6d, + 0x3b, 0x3b, 0xc4, 0x5c, 0x12, 0xc2, 0x3b, 0x3b, 0xa3, 0x2b, 0x8b, 0xc3, 0xfc, 0xbc, 0xe5, 0xe3, + 0x9f, 0xdf, 0x33, 0x0f, 0xf3, 0xbf, 0x83, 0x87, 0xc3, 0x05, 0x70, 0x70, 0x20, 0x20, 0x1c, 0x1c, + 0xe0, 0x02, 0x00, 0xb8, 0x8e, 0xf8, 0xfc, 0xbd, 0x9c, 0xd2, 0xd2, 0x1c, 0x9c, 0x00, 0x00, 0x73, + 0x73, 0x82, 0xeb, 0xe3, 0xe3, 0x82, 0xe2, 0x1c, 0x1c, 0x1b, 0x9d, 0x1c, 0x1c, 0x02, 0x02, 0x0c, + 0x00, 0x1f, 0x1f, 0x00, 0x80, 0x83, 0xe3, 0x7c, 0x1c, 0xdc, 0xdc, 0x12, 0x12, 0x0c, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x08, 0x08, 0x00, 0x04, 0x1b, 0x13, 0x03, 0x00, 0x00, 0x00, + 0x07, 0x07, 0x00, 0x04, 0x07, 0x07, 0x18, 0x1e, 0x06, 0x06, 0x07, 0x03, 0x01, 0x01, 0x1d, 0x1d, + 0x01, 0x01, 0x00, 0x00, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x02, 0x17, 0x07, 0x07, 0x07, 0x07, 0x00, 0x04, 0x01, 0x01, 0x13, 0x04, 0x00, 0x00, 0x1e, + 0x09, 0x07, 0x07, 0x1d, 0x1f, 0x01, 0x01, 0x00, 0x00, 0x06, 0x07, 0x04, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x03, 0x07, 0x07, 0x07, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + + // Array of all bitmaps for convenience. (Total bytes used to store images in PROGMEM = 2112) + static const char* const bmp_CortexImplant_Dirty_allArray[4] = { + bmp_CortexImplant_Dirty1, + bmp_CortexImplant_Dirty2, + bmp_CortexImplant_Dirty3, + bmp_CortexImplant_Dirty4 + }; + + uint16_t frame_size = sizeof(bmp_CortexImplant_Clean); + + if (layer_changed) // flash_current_layer will change layer_changed to false after a short time, resuming the animation + flash_current_layer(); + + else if (timer_elapsed(animation_timer) > FRAME_DURATION) { + // Set animation_timer to updated time + animation_timer = timer_read(); + + //1. Do we have glitch set + if(glitch){ + //Randomly pick a glitch frame (add one to frame count) + current_frame = rand() % 7; + if(current_frame < 6){ + oled_write_raw_P(bmp_CortexImplant_Glitch_allArray[current_frame], frame_size); + return; + } + glitch = false; + } + + // //2. Do we have dirty set + if(dirty){ + //Randomly pick a dirty frame (add one to frame count) + current_frame = rand() % 5; + if(current_frame < 4){ + oled_write_raw_P(bmp_CortexImplant_Dirty_allArray[current_frame], frame_size); + return; + } + + //So occasionally we want to glitch to somewhere else, we just do a rand and set a flag + if(rand() % 100 > 85) { hidden = true;} + dirty = false; + } + + //3. Not glitch or dirty do probability loop + //Lets get a random number between 0 and 99 + //We can use this to weight the chance of a clean, glitch or dirty + + uint8_t rand_weight = rand() % 100; + if(rand_weight < 91){ + FRAME_DURATION = 100; + glitch = false; + dirty = false; + oled_write_raw_P(bmp_CortexImplant_Clean, frame_size); + } else if(rand_weight < 97){ + //Up the frame rate for the glitch frames + FRAME_DURATION = 50; + //Randomly pick a glitch frame + current_frame = rand() % 6; + glitch = true; + dirty = false; + oled_write_raw_P(bmp_CortexImplant_Glitch_allArray[current_frame], frame_size); + }else{ + //Up the frame rate for the dirty frames + FRAME_DURATION = 50; + //Randomly pick a dirty frame + current_frame = rand() % 4; + glitch = false; + dirty = true; + oled_write_raw_P(bmp_CortexImplant_Dirty_allArray[current_frame], frame_size); + } + } +} + + +static void render_NightCityCafe_animation(void){ + + // 'NightCityCafe_Clean', 128x32px + static const char bmp_NightCityCafe_Clean [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf8, + 0xfc, 0xfc, 0xf8, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xfc, 0xfc, 0x3c, 0x00, 0x00, 0x00, 0xf0, + 0xfc, 0xfc, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x38, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x38, 0x38, 0x10, 0x00, 0x00, + 0xc0, 0xf8, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, + 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xff, 0xff, + 0x7f, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x87, 0xc7, 0xc7, 0xc7, 0xc7, 0xc6, 0xc0, 0xc0, 0xf0, + 0xff, 0x7f, 0x3f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x86, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xef, 0xff, + 0xff, 0xff, 0x1f, 0x0f, 0x0f, 0x0f, 0x0f, 0x06, 0x00, 0x00, 0x00, 0x08, 0x1c, 0x1c, 0x1c, 0x1c, + 0x1c, 0xfc, 0xfc, 0xfc, 0x1e, 0x0f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x83, 0x83, 0x83, 0x81, 0x81, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0xc0, 0xc0, 0x43, 0x43, 0x43, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x83, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x81, + 0x81, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x81, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x81, + 0x81, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x81, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x1f, 0x33, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, + 0x00, 0x04, 0x1f, 0x3b, 0x31, 0x31, 0x31, 0x31, 0x31, 0x03, 0x3f, 0x1f, 0x00, 0x04, 0x06, 0x0e, + 0x3f, 0x1f, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x1e, 0x3f, 0x31, 0x37, 0x37, 0x37, 0x37, + 0x37, 0x11, 0x00, 0x00, 0x00, 0x1f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, + 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, + 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, + 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, + 0x3f, 0x3f, 0x3f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + + // 'NightCityCafe_Glitch1', 128x32px + static const char bmp_NightCityCafe_Glitch1 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, + 0x80, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, + 0x00, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x87, 0x87, 0x87, 0x87, 0x87, 0xc7, + 0xff, 0xff, 0x7f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x38, 0xf8, 0xfc, 0xfc, 0x1c, 0x1e, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x1c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x08, + 0x00, 0x00, 0x00, 0x08, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x9d, 0x9d, 0x09, 0x80, 0x80, 0xc0, + 0xfe, 0xff, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x19, 0x19, 0x99, 0x99, 0x99, 0x99, 0xb9, 0xf9, + 0xf9, 0x79, 0x39, 0x19, 0x19, 0x19, 0x19, 0x08, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0xf0, 0xf0, 0x30, 0x38, 0x1e, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, + 0xc1, 0x01, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0xc0, 0x20, 0xe3, 0xf7, 0xf3, 0x20, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, + 0xc1, 0xc3, 0xc3, 0x03, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x83, 0x83, 0x81, + 0xc1, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, + 0xc1, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc3, 0xc3, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x00, 0x00, 0x00, 0x06, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x07, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x03, 0x06, 0x04, 0x04, 0x04, 0x04, + 0x05, 0x05, 0x01, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + // 'NightCityCafe_Glitch2', 128x32px + static const char bmp_NightCityCafe_Glitch2 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, + 0x80, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, + 0x00, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x87, 0x87, 0x87, 0x87, 0x87, 0xc7, + 0xff, 0xff, 0x7f, 0x0f, 0x07, 0x87, 0x87, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x38, 0xf8, 0xfc, 0xfc, 0x3c, 0x1e, 0x0f, 0x07, 0x03, 0x0f, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0x48, + 0x00, 0x00, 0x00, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x83, 0x80, 0xc0, + 0xfe, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xf9, 0xf9, + 0xf9, 0xf9, 0xf9, 0xd9, 0xd9, 0xd9, 0xd9, 0x88, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x30, 0x30, + 0xf0, 0xf0, 0xf0, 0xf0, 0x38, 0x1e, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x83, 0xc3, 0xc3, 0xc3, 0xc3, 0xc1, + 0xc1, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xcc, 0xcc, 0xcc, 0xcc, 0xfc, 0xf8, 0x00, 0x00, 0x10, + 0x90, 0xfc, 0xfe, 0x76, 0x33, 0x37, 0x33, 0x32, 0x00, 0x00, 0xf8, 0xf8, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc1, 0xc3, 0x03, 0x03, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, + 0xc7, 0xc3, 0xc1, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xdb, 0xdb, 0xdf, 0xdf, 0xdf, 0xdf, 0xfb, 0xfb, + 0xf9, 0xf9, 0xf9, 0xd9, 0xd9, 0xd9, 0xd9, 0xc8, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0xe1, 0xe3, 0xc3, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x00, 0x00, 0x03, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x07, 0x07, 0x00, 0x00, 0x01, + 0x01, 0x07, 0x07, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x07, 0x07, 0x04, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + // 'NightCityCafe_Glitch3', 128x32px + static const char bmp_NightCityCafe_Glitch3 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, + 0x80, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, + 0x00, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x87, 0x87, 0x87, 0x87, 0x87, 0xc7, + 0xff, 0xff, 0x7f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x38, 0xf8, 0xfc, 0xfc, 0x1c, 0x1e, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x1c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x08, + 0x00, 0x00, 0x00, 0x08, 0x1d, 0x1d, 0x1d, 0x1d, 0x9d, 0x9d, 0x9d, 0x9d, 0x89, 0x80, 0x80, 0xc0, + 0xfe, 0xff, 0x7f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x19, 0x99, 0x99, 0x99, 0x99, 0x99, 0xf9, 0xf9, + 0xf9, 0xf9, 0x39, 0x19, 0x19, 0x19, 0x19, 0x08, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x70, 0xf0, 0xf0, 0x70, 0x38, 0x1e, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9b, 0xbb, 0xfb, 0xfb, 0xfb, 0xfb, 0xf9, + 0xf9, 0xfe, 0xfe, 0xfe, 0xb8, 0xf8, 0xf8, 0xf8, 0xd8, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe3, 0xe3, 0xe3, 0xe0, 0xf0, 0x7c, 0xfe, 0x9e, 0xce, 0xc0, 0xc0, 0xc0, + 0xff, 0xff, 0xff, 0xff, 0xe0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc6, 0xee, 0xee, 0xee, 0xef, 0xef, 0xef, 0xef, 0xef, 0xcf, 0xc7, 0xc3, 0xc3, + 0xf1, 0xfe, 0xfe, 0xfe, 0xc0, 0xc0, 0xc0, 0xc0, 0xcf, 0xcf, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, + 0xef, 0xee, 0xee, 0xee, 0xee, 0xce, 0xce, 0xc4, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc3, 0xc3, 0xc0, 0xc0, 0xf0, 0x78, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1c, 0x1c, 0x1c, 0x1c, 0x0f, + 0x0f, 0x07, 0x03, 0x03, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x07, 0x07, 0x00, 0x01, 0x01, + 0x01, 0x07, 0x07, 0x03, 0x1f, 0x1f, 0x1f, 0x01, 0x00, 0x00, 0x07, 0x07, 0x04, 0x05, 0x05, 0x05, + 0x0f, 0x1f, 0x1f, 0x1f, 0x00, 0x01, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, + 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, + 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x0f, 0x1f, 0x1f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + // 'NightCityCafe_Glitch4', 128x32px + static const char bmp_NightCityCafe_Glitch4 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, + 0x80, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, + 0x00, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x87, 0x87, 0x87, 0x87, 0xc7, 0xe7, + 0xff, 0xff, 0xff, 0x3f, 0x07, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0xf8, 0xfc, 0xfc, 0x1c, 0x0e, 0x0f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0x00, + 0xf7, 0xff, 0xff, 0xff, 0x1c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x1d, 0x1d, 0x1d, 0x1d, 0x9d, 0x9d, 0x9d, 0x9d, 0x99, 0x80, 0x80, 0xc0, + 0xfe, 0xff, 0x7f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x19, 0x99, 0x99, 0x99, 0x99, 0x99, 0xb9, 0xf9, + 0xf9, 0xf9, 0x39, 0x19, 0x19, 0x19, 0x19, 0x18, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x30, + 0x30, 0xf0, 0xf0, 0x30, 0x18, 0x1e, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xc3, 0xc3, 0x43, 0x43, 0x43, 0x41, + 0x01, 0x01, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0xc0, 0x21, 0x63, 0x77, 0x73, 0x21, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x81, 0x43, 0x43, 0x03, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc1, + 0x81, 0x81, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, + 0x81, 0x81, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x82, 0xc3, 0xc3, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x00, 0x00, 0x03, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x07, 0x07, 0x00, 0x00, 0x01, + 0x01, 0x07, 0x07, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x07, 0x07, 0x04, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + // 'NightCityCafe_Glitch5', 128x32px + static const char bmp_NightCityCafe_Glitch5 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc0, 0xe0, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, + 0x80, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, + 0x00, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x87, 0xbf, 0xbf, 0xbf, 0xbf, 0xff, + 0xff, 0xff, 0x7f, 0x1f, 0x07, 0xe7, 0xe7, 0xe7, 0x63, 0x01, 0x00, 0x00, 0x1c, 0x1c, 0x18, 0x18, + 0x18, 0x18, 0xd8, 0xfc, 0xff, 0xff, 0xff, 0xfc, 0x7e, 0x3f, 0x17, 0x03, 0x01, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x1c, 0x38, 0x38, 0x38, 0x38, 0x38, 0x58, 0x58, 0x58, 0x58, 0x18, 0x08, + 0x00, 0x00, 0x00, 0x08, 0x1d, 0x1d, 0x1d, 0x1d, 0x9d, 0x9d, 0x9d, 0x9d, 0x89, 0x80, 0x80, 0xc0, + 0xfe, 0xff, 0x7f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x9f, 0x99, 0x99, 0x99, 0x99, 0xf9, 0xf9, + 0xf9, 0xf9, 0xb9, 0x99, 0x99, 0x99, 0x99, 0x88, 0x00, 0x00, 0x20, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x70, 0xf0, 0xf0, 0xf0, 0x78, 0x3e, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x87, 0xcf, 0xcf, 0xcf, 0xcf, 0xcd, + 0xc1, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xc0, 0x00, 0x06, 0x06, + 0x06, 0xc6, 0xef, 0x63, 0x23, 0x23, 0x23, 0xe0, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, + 0xdf, 0xff, 0x3f, 0x3f, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc8, 0xdc, 0xdc, 0xdc, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xff, + 0xdd, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc3, 0xc3, 0xdf, 0xdf, 0xdf, 0xdf, 0xfb, 0xcf, + 0xc7, 0xc3, 0xc0, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc7, 0x87, 0x03, 0x00, 0x00, 0x78, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x00, 0x00, 0x03, 0x07, 0x1c, 0x1c, 0x1c, 0x1c, 0x04, 0x00, 0x07, 0x07, 0x00, 0x00, 0x01, + 0x01, 0x1f, 0x07, 0x01, 0x01, 0x01, 0x01, 0x05, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, + 0x1d, 0x1d, 0x04, 0x00, 0x00, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x1f, 0x1f, 0x1f, 0x1f, + 0x1f, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x07, + 0x0f, 0x0f, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + // 'NightCityCafe_Glitch6', 128x32px + static const char bmp_NightCityCafe_Glitch6 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, + 0x80, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x07, 0x07, 0x87, 0xc7, 0xc7, + 0xff, 0xff, 0x7f, 0x1f, 0x03, 0x03, 0x03, 0x03, 0x02, 0x00, 0x00, 0x00, 0x08, 0x18, 0x38, 0x18, + 0x18, 0x38, 0x38, 0x38, 0xf8, 0xf8, 0xf8, 0x1c, 0x0e, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0x1c, 0x38, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x1d, 0x1d, 0x1d, 0x1d, 0x9d, 0x9d, 0x9d, 0x8d, 0x1c, 0x80, 0xc0, 0xe0, + 0xfe, 0xff, 0x7f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x1d, 0x99, 0x99, 0x99, 0x99, 0xf9, 0xf9, + 0xf9, 0xf9, 0x39, 0x19, 0x1d, 0x1d, 0x19, 0x08, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x30, + 0x30, 0xf0, 0xf0, 0x30, 0x18, 0x1c, 0x0e, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x83, 0x83, 0x03, 0x03, 0x43, 0x41, + 0xc1, 0xc0, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x80, 0xc0, 0x80, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0xe0, 0x20, 0x63, 0x23, 0x23, 0x20, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x80, + 0x80, 0xc3, 0x03, 0x03, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x81, 0x83, 0x83, 0xc3, 0xc3, 0x83, 0x83, 0xc3, 0xc1, + 0xc1, 0x81, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x83, 0x83, + 0xc1, 0xc0, 0x80, 0x80, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, + 0xc3, 0xc3, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x00, 0x06, 0x07, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x01, + 0x01, 0x07, 0x07, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x03, 0x06, 0x04, 0x0c, 0x0c, 0x05, + 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x0f, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + + // Array of all bitmaps for convenience. (Total bytes used to store images in PROGMEM = 3168) + static const char* const bmp_NightCityCafe_Glitch_allArray[6] = { + bmp_NightCityCafe_Glitch1, + bmp_NightCityCafe_Glitch2, + bmp_NightCityCafe_Glitch3, + bmp_NightCityCafe_Glitch4, + bmp_NightCityCafe_Glitch5, + bmp_NightCityCafe_Glitch6 + }; + + // 'NightCityCafe_Dirty1', 128x32px + static const char bmp_NightCityCafe_Dirty1 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, + 0x80, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, + 0x00, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0x60, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x87, 0x87, 0x87, 0x87, 0x87, 0x07, + 0x0f, 0xff, 0x7f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x38, 0xf8, 0xfc, 0xfc, 0x5c, 0x1e, 0x0f, 0x07, 0x03, 0x81, 0x80, 0x00, 0x00, + 0x1f, 0x1f, 0x1f, 0x1f, 0x9c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x58, 0x58, 0x08, + 0x00, 0x00, 0x00, 0x08, 0x1d, 0x1d, 0x1d, 0x1d, 0x9d, 0x9d, 0x9d, 0x9d, 0x47, 0x80, 0x80, 0xc0, + 0x00, 0x01, 0x81, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x19, 0x99, 0x81, 0x81, 0x81, 0x81, 0xe1, 0xe1, + 0xf1, 0xf9, 0x39, 0x19, 0x19, 0x19, 0x19, 0x08, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x71, 0xff, 0xff, 0x71, 0x38, 0x1e, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x04, 0x44, 0x44, 0x44, 0x44, 0x40, + 0x02, 0xfe, 0x7e, 0x1e, 0x8e, 0xce, 0xce, 0xce, 0xe6, 0xe6, 0xc6, 0xfe, 0xbc, 0x00, 0x00, 0xc0, + 0x40, 0x00, 0x00, 0x00, 0xc3, 0xc3, 0xc3, 0x22, 0x00, 0x00, 0x8f, 0x8f, 0xc9, 0xcb, 0xc0, 0xc0, + 0xdc, 0xbc, 0x3c, 0x3c, 0x01, 0x02, 0x82, 0xc2, 0xc2, 0xc2, 0xc2, 0xc2, 0xc2, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xcc, 0xcc, 0xcc, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0xdf, 0xdf, 0xdd, 0xdd, + 0xce, 0xc7, 0xc3, 0x38, 0xc0, 0xc0, 0xc0, 0xc0, 0xdb, 0xbb, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, + 0xbd, 0xbe, 0xc7, 0xc3, 0xc3, 0xc3, 0xc3, 0xc1, 0xc0, 0xc0, 0xc0, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, + 0xc0, 0xc3, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x01, 0x00, 0x03, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, + 0x01, 0x07, 0x07, 0x00, 0x1e, 0x1e, 0x1e, 0x01, 0x00, 0x00, 0x07, 0x07, 0x04, 0x05, 0x11, 0x11, + 0x11, 0x11, 0x00, 0x00, 0x00, 0x00, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x07, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x19, 0x19, 0x19, 0x19, + 0x19, 0x19, 0x19, 0x06, 0x07, 0x07, 0x07, 0x07, 0x04, 0x14, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + // 'NightCityCafe_Dirty2', 128x32px + static const char bmp_NightCityCafe_Dirty2 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xb0, 0xb0, 0xb0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, + 0x00, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x00, + 0x30, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x07, 0x07, 0x07, 0x89, 0x01, + 0x00, 0x0f, 0x8f, 0xe7, 0x00, 0x00, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x02, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x02, 0x02, 0x10, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1a, 0x18, 0x68, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00, 0x18, 0x08, + 0x00, 0x00, 0x00, 0x0a, 0x1a, 0x1a, 0x5d, 0x5d, 0x5d, 0x9d, 0x9d, 0x9d, 0x41, 0x40, 0x40, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6b, 0x6b, 0x6b, 0xa1, 0xa1, 0xa1, 0xf9, 0xf9, + 0xf9, 0xf9, 0x39, 0x19, 0x19, 0x19, 0x19, 0x08, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x90, 0x11, 0x31, 0x73, 0x39, 0x1e, 0xef, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xa2, 0xa2, 0xa2, 0x44, 0x40, + 0x02, 0x3f, 0x1f, 0x03, 0x80, 0xc0, 0xc0, 0xc8, 0xc8, 0xc8, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0xe0, 0x10, 0x92, 0x92, 0x12, 0x10, 0x00, 0x00, 0x60, 0x20, 0xc0, 0xc0, 0xc0, 0x00, + 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0xcc, 0xc4, + 0xc0, 0xc0, 0xc0, 0x30, 0x30, 0x30, 0xc0, 0xcd, 0xcd, 0xdf, 0xdf, 0xdf, 0xc2, 0xc2, 0xc2, 0xe2, + 0xe1, 0xe0, 0xc0, 0xc0, 0xc0, 0x38, 0x38, 0x38, 0xc3, 0xc3, 0xc3, 0xc0, 0xc0, 0xc0, 0x1f, 0x1d, + 0x1d, 0xc7, 0xc1, 0xc0, 0xc0, 0xc0, 0xc0, 0xde, 0xde, 0xde, 0xdf, 0xdf, 0xdf, 0xb0, 0xb0, 0xb0, + 0xc3, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x06, 0x02, 0x02, 0x05, 0x05, + 0x05, 0x00, 0x00, 0x03, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x07, 0x07, 0x00, 0x00, 0x11, + 0x01, 0x07, 0x07, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x06, 0x06, 0x04, 0x05, 0x05, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x07, 0x07, + 0x17, 0x17, 0x17, 0x07, 0x07, 0x07, 0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, + 0x00, 0x05, 0x05, 0x05, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + // 'NightCityCafe_Dirty3', 128x32px + static const char bmp_NightCityCafe_Dirty3 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, + 0x00, 0x40, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x08, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x38, 0xf8, 0xfc, 0xfc, 0x1c, 0x1e, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3f, 0x3f, 0x3f, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x00, + 0x00, 0x00, 0x00, 0x08, 0x1d, 0x1d, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x01, 0x09, 0x09, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, + 0xc0, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x00, 0x00, 0x03, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x05, 0x05, 0x05, + 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, + 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x04, 0x04, + 0x04, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + // 'NightCityCafe_Dirty4', 128x32px + static const char bmp_NightCityCafe_Dirty4 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe0, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x00, 0xc0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, + 0x00, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x20, 0xe0, 0xe0, + 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x27, 0x27, 0x17, 0x17, 0x17, 0x17, + 0x1f, 0x0f, 0x07, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x08, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x38, 0xf8, 0xfc, 0xfc, 0x1c, 0x1e, 0x0f, 0x07, 0x00, 0x80, 0x80, 0xb8, 0xb8, + 0xb8, 0xff, 0xff, 0xff, 0x1c, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x18, 0x18, 0x18, 0x18, 0x00, + 0x00, 0x00, 0x00, 0x08, 0x1d, 0x1d, 0xf0, 0xf0, 0xf0, 0xe5, 0xe5, 0xe5, 0x4f, 0x04, 0x00, 0x00, + 0xff, 0x7f, 0x3f, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x8c, 0xcc, 0x67, 0x67, 0x67, 0x87, 0x87, 0x87, + 0x83, 0x3f, 0x0f, 0x07, 0xc9, 0xc9, 0xc9, 0xe0, 0xe0, 0xe0, 0xe0, 0x60, 0x60, 0x60, 0x04, 0x04, + 0x0c, 0xf8, 0xf8, 0x38, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1c, 0x1c, 0x8e, 0x8e, 0x8e, 0x87, + 0xc0, 0x00, 0x00, 0x0c, 0x9e, 0x93, 0x98, 0x98, 0x98, 0x98, 0x00, 0x00, 0x80, 0x06, 0x06, 0x06, + 0x00, 0x80, 0xc0, 0xc0, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xc9, 0xcb, 0xc0, 0xc0, + 0xc0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x3e, 0xc1, 0xc1, 0xc1, 0xc0, 0xc0, 0xc0, 0xc0, 0x7c, + 0x7c, 0x7c, 0x80, 0x80, 0x80, 0x80, 0xc1, 0xc1, 0xc1, 0xf0, 0xf0, 0xf0, 0x1c, 0x1c, 0x1c, 0x1e, + 0xc0, 0xc0, 0xc0, 0x0f, 0x00, 0x00, 0xe0, 0xe0, 0xe1, 0xe1, 0xc6, 0xc6, 0xc6, 0xcf, 0xcf, 0xcf, + 0xcf, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0xc3, 0xc3, 0xc3, 0xc3, 0x80, 0x80, 0x80, 0xf8, 0xf8, + 0xf8, 0xe1, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x1c, 0x06, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x00, 0x00, 0x03, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x0f, 0x0f, 0x02, 0x08, 0x08, 0x08, 0x12, 0x00, 0x00, 0x18, 0x07, 0x04, 0x05, 0x05, 0x05, + 0x05, 0x01, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, + 0x06, 0x06, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x01, 0x01, 0x01, 0x1e, 0x1e, 0x1e, 0x1e, + 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x01, 0x01, 0x01, 0x1e, 0x1e, 0x1e, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x04, 0x04, + 0x04, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + + // Array of all bitmaps for convenience. (Total bytes used to store images in PROGMEM = 2112) + static const char* const bmp_NightCityCafe_Dirty_allArray[4] = { + bmp_NightCityCafe_Dirty1, + bmp_NightCityCafe_Dirty2, + bmp_NightCityCafe_Dirty3, + bmp_NightCityCafe_Dirty4 + }; + + uint16_t frame_size = sizeof(bmp_NightCityCafe_Clean); + + if (layer_changed) // flash_current_layer will change layer_changed to false after a short time, resuming the animation + flash_current_layer(); + + else if (timer_elapsed(animation_timer) > FRAME_DURATION) { + // Set animation_timer to updated time + animation_timer = timer_read(); + + //1. Do we have glitch set + if(glitch){ + //Randomly pick a glitch frame (add one to frame count) + current_frame = rand() % 7; + if(current_frame < 6){ + oled_write_raw_P(bmp_NightCityCafe_Glitch_allArray[current_frame], frame_size); + return; + } + glitch = false; + } + + // //2. Do we have dirty set + if(dirty){ + //Randomly pick a dirty frame (add one to frame count) + current_frame = rand() % 5; + if(current_frame < 4){ + oled_write_raw_P(bmp_NightCityCafe_Dirty_allArray[current_frame], frame_size); + return; + } + + //So occasionally we want to glitch to somewhere else, we just do a rand and set a flag + if(rand() % 100 > 85) { hidden = true;} + dirty = false; + } + + //3. Not glitch or dirty do probability loop + //Lets get a random number between 0 and 99 + //We can use this to weight the chance of a clean, glitch or dirty + + uint8_t rand_weight = rand() % 100; + if(rand_weight < 91){ + FRAME_DURATION = 100; + glitch = false; + dirty = false; + oled_write_raw_P(bmp_NightCityCafe_Clean, frame_size); + } else if(rand_weight < 97){ + //Up the frame rate for the glitch frames + FRAME_DURATION = 50; + //Randomly pick a glitch frame + current_frame = rand() % 6; + glitch = true; + dirty = false; + oled_write_raw_P(bmp_NightCityCafe_Glitch_allArray[current_frame], frame_size); + }else{ + //Up the frame rate for the dirty frames + FRAME_DURATION = 50; + //Randomly pick a dirty frame + current_frame = rand() % 4; + glitch = false; + dirty = true; + oled_write_raw_P(bmp_NightCityCafe_Dirty_allArray[current_frame], frame_size); + } + } +} + +static void render_Revengeday_animation(void) { + // 'Revengeday_Clean', 128x32px + static const char bmp_Revengeday_Clean [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xe0, 0xfe, 0xfe, 0x7e, 0x4e, 0xce, 0x8e, 0x0e, 0x0e, 0xde, 0xbe, 0x7e, 0x02, + 0xfc, 0xfe, 0xfe, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xcc, 0x0e, 0x0e, 0xc0, 0xfe, 0xfe, 0x7e, + 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfe, 0xfe, 0x0e, 0xf0, 0xfe, 0xfe, 0xfe, 0xce, 0xce, 0xce, 0xce, + 0xce, 0xce, 0x0e, 0x0e, 0x80, 0xfe, 0xfe, 0xfe, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0xee, 0xee, 0xee, + 0x0a, 0xc0, 0xfe, 0xfe, 0x3e, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0x02, 0xf8, 0xfe, + 0xfe, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0x4e, 0x0e, 0x0e, 0xe0, 0xfe, 0xfe, 0xfe, 0x1e, 0x1e, + 0x1e, 0x1e, 0x82, 0xfe, 0xfe, 0xfe, 0x1e, 0xe0, 0xfe, 0xfe, 0xfe, 0x0e, 0x0e, 0x0e, 0x8e, 0xee, + 0xee, 0xee, 0x02, 0x3c, 0x7e, 0xfe, 0xfe, 0xe0, 0xc0, 0x80, 0xf0, 0xfe, 0xfe, 0x1e, 0x00, 0x00, + 0x00, 0x00, 0x70, 0x77, 0x77, 0x07, 0x00, 0x03, 0x06, 0x0d, 0x0b, 0x3e, 0x7d, 0x7b, 0x70, 0x7f, + 0x7f, 0x7f, 0x03, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x70, 0x00, 0x78, 0x7f, 0x7f, 0x1f, 0x70, + 0x70, 0x70, 0x78, 0x7f, 0x1f, 0x1f, 0x02, 0x7c, 0x7f, 0x7f, 0x07, 0x71, 0x71, 0x71, 0x71, 0x71, + 0x71, 0x71, 0x70, 0x70, 0x7f, 0x7f, 0x7f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x7f, 0x7f, 0x03, + 0x78, 0x7f, 0x7f, 0x7f, 0x70, 0x71, 0x71, 0x71, 0x71, 0x7f, 0x7f, 0x1f, 0x40, 0x7f, 0x7f, 0x7f, + 0x03, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x70, 0x00, 0x78, 0x7f, 0x7f, 0x7f, 0x01, 0x78, 0x78, + 0x78, 0x78, 0x7f, 0x3f, 0x1f, 0x07, 0x70, 0x7f, 0x7f, 0x7f, 0x03, 0x01, 0x01, 0x61, 0x7f, 0x7f, + 0x7f, 0x70, 0x70, 0x70, 0x70, 0x70, 0x71, 0x73, 0x73, 0x77, 0x77, 0x77, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + + // 'Revengeday_Glitch1', 128x32px + static const char bmp_Revengeday_Glitch1 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x40, 0x60, 0x60, 0x60, 0x00, 0x20, 0x60, 0x60, 0xe0, 0xe0, 0xc0, 0xa0, + 0xa0, 0xe0, 0xe0, 0xe0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xe0, 0xe0, + 0x00, 0x00, 0x80, 0x80, 0xe0, 0xe0, 0xe0, 0x20, 0xc0, 0xe0, 0xe0, 0x60, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xc3, 0xfb, 0xf8, 0xf8, 0xb8, 0xb8, 0x38, 0x38, 0xb9, 0xfb, 0xfb, + 0xfb, 0x9b, 0xfb, 0xfb, 0xfb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x3a, 0x1b, 0x83, 0xfb, 0xf9, + 0xfb, 0x0b, 0x03, 0x03, 0x03, 0xf1, 0xf8, 0xf8, 0x3b, 0xe3, 0xfb, 0xf8, 0xfb, 0xbb, 0xbb, 0xbb, + 0xbb, 0x9b, 0x9b, 0x1b, 0x1b, 0x83, 0xfb, 0xf8, 0xf8, 0x38, 0x38, 0x38, 0x3b, 0xbb, 0xfb, 0xf9, + 0xd8, 0x80, 0xf8, 0xf8, 0xf8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0x08, 0xf0, 0xf8, + 0xf8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0x38, 0x18, 0xc0, 0xf8, 0xf8, 0xf8, 0x38, 0x38, + 0x38, 0x38, 0xe8, 0xf8, 0xf8, 0xf8, 0xe8, 0xf8, 0xf8, 0xf8, 0xf8, 0x38, 0x38, 0x18, 0xf8, 0xf8, + 0xf8, 0x18, 0x78, 0xf8, 0xf8, 0xf8, 0xc0, 0x80, 0x80, 0xe0, 0xf8, 0xf8, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x34, 0x37, 0x37, 0x07, 0x00, 0x03, 0x07, 0x07, 0x0e, 0x1f, 0x3d, 0x3b, + 0x3a, 0x3f, 0x3f, 0x3f, 0x33, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x20, 0x38, 0x3f, 0x3f, 0x1f, + 0x31, 0x30, 0x38, 0x38, 0x3e, 0x1f, 0x0f, 0x03, 0x3c, 0x3f, 0x3f, 0x07, 0x31, 0x31, 0x31, 0x31, + 0x31, 0x31, 0x31, 0x30, 0x38, 0x3f, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x30, 0x3f, 0x3f, 0x1f, + 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, + 0x7f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x07, 0xbf, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, + 0x3f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6f, 0x07, 0x27, 0xff, 0xff, 0xff, + 0x7f, 0x3b, 0x3f, 0x3f, 0x3f, 0x3f, 0x7b, 0x7b, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x04, 0x07, 0x07, 0x07, + 0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x07, 0x07, 0x07, 0x07, 0x04, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x03, 0x01, 0x00, 0x07, 0x07, 0x07, 0x02, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + // 'Revengeday_Glitch2', 128x32px + static const char bmp_Revengeday_Glitch2 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf8, 0xf8, 0x38, 0x18, 0x98, 0x18, 0x18, 0x18, 0xf8, 0xf8, + 0x38, 0x08, 0x08, 0x08, 0x08, 0x98, 0xb8, 0xb8, 0xb8, 0xb8, 0x90, 0x10, 0x18, 0x00, 0x38, 0xb8, + 0x78, 0x08, 0x00, 0x00, 0x00, 0x00, 0x80, 0x78, 0x08, 0x80, 0xf8, 0xf8, 0xf8, 0xb8, 0xb8, 0x98, + 0x08, 0x08, 0x08, 0x08, 0x18, 0x00, 0xf8, 0x78, 0x18, 0x38, 0x38, 0x38, 0x38, 0xb8, 0xd8, 0xd8, + 0x18, 0x00, 0xc0, 0xc8, 0xc8, 0x88, 0x88, 0x88, 0xa0, 0x80, 0x90, 0xb0, 0xb8, 0x08, 0xf0, 0xf8, + 0xf8, 0xb8, 0x90, 0x98, 0x98, 0x98, 0x98, 0x18, 0x08, 0x00, 0xc0, 0xf8, 0xf8, 0x78, 0x08, 0x08, + 0x08, 0x20, 0x00, 0xe0, 0xe0, 0xe0, 0x00, 0xe0, 0xf8, 0xf8, 0x38, 0x18, 0x18, 0x18, 0xd8, 0xd8, + 0xd8, 0x00, 0x00, 0xc0, 0xf8, 0xc0, 0x80, 0x00, 0x00, 0x80, 0xf8, 0xf8, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x37, 0x37, 0x07, 0x00, 0x03, 0x07, 0x07, 0x06, 0x1e, 0x1d, 0x39, + 0x38, 0x38, 0x38, 0x38, 0x30, 0x31, 0x31, 0x11, 0x01, 0x01, 0x00, 0x20, 0x20, 0x20, 0x3e, 0x03, + 0x00, 0x00, 0x30, 0x30, 0x06, 0x1c, 0x0c, 0x00, 0x3c, 0x3f, 0x3f, 0x07, 0x21, 0x21, 0x21, 0x31, + 0x31, 0x31, 0x31, 0x20, 0x30, 0x34, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x1f, + 0x3f, 0x3f, 0x3f, 0x3f, 0x31, 0x31, 0x11, 0x11, 0x20, 0x3f, 0x3f, 0x3f, 0x00, 0x01, 0x01, 0x07, + 0x01, 0x01, 0x31, 0x31, 0x31, 0x31, 0x31, 0x30, 0x00, 0x3c, 0x3f, 0x3f, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x3f, 0x1f, 0x0f, 0x01, 0x3c, 0x3f, 0x1f, 0x03, 0x00, 0x00, 0x00, 0x3e, 0x3f, 0x3f, + 0x31, 0x30, 0x30, 0x30, 0x30, 0x31, 0x31, 0x31, 0x31, 0x3f, 0x16, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + // 'Revengeday_Glitch3', 128x32px + static const char bmp_Revengeday_Glitch3 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc8, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x80, 0xc8, 0xc8, + 0xc8, 0x88, 0xc8, 0xc8, 0xc8, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x00, 0x08, 0x80, 0xc8, 0xc0, + 0xc8, 0x08, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x08, 0xc0, 0xc8, 0xc0, 0xc8, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x08, 0x08, 0x80, 0xc8, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x08, 0x88, 0xc8, 0xc0, + 0xc8, 0x80, 0xc8, 0xc8, 0xc8, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x08, 0xc0, 0xc8, + 0xc8, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x00, 0x08, 0xc0, 0xc8, 0xc8, 0xc0, 0x08, 0x08, + 0x08, 0x08, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xc8, 0xc8, 0xc0, 0x40, 0x00, 0x00, 0x08, 0xc8, 0xc8, + 0xc8, 0x08, 0x48, 0xc8, 0xc8, 0xc8, 0xc0, 0x80, 0x80, 0xc0, 0xc8, 0xc0, 0x40, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x34, 0x37, 0x37, 0x07, 0x00, 0x03, 0x07, 0x07, 0x0e, 0x1f, 0x3d, 0x3b, + 0x3a, 0x3f, 0x3f, 0x3f, 0x33, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x20, 0x38, 0x3f, 0x3f, 0x1f, + 0x31, 0x30, 0x38, 0x38, 0x3e, 0x1f, 0x0f, 0x03, 0x3c, 0x3f, 0x3f, 0x07, 0x31, 0x31, 0x31, 0x31, + 0x31, 0x31, 0x31, 0x30, 0x38, 0x3f, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x30, 0x3f, 0x3f, 0x1f, + 0x3f, 0x3f, 0x3f, 0x3f, 0x39, 0x31, 0x31, 0x31, 0x39, 0x3f, 0x3f, 0x3f, 0x23, 0x3f, 0x3f, 0x3f, + 0x23, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x30, 0x00, 0x3c, 0x3f, 0x3f, 0x3f, 0x21, 0x38, 0x38, + 0x38, 0x3c, 0x3f, 0x1f, 0x0f, 0x07, 0x3f, 0x3f, 0x3f, 0x17, 0x03, 0x00, 0x00, 0x3f, 0x3f, 0x3f, + 0x3b, 0x38, 0x30, 0x30, 0x30, 0x31, 0x33, 0x33, 0x3f, 0x3f, 0x3f, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + // 'Revengeday_Glitch4', 128x32px + static const char bmp_Revengeday_Glitch4 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf8, 0xf8, 0xf8, 0xb8, 0xb8, 0x38, 0x38, 0xb8, 0xf8, 0xf8, + 0xf8, 0x98, 0xf8, 0xf8, 0xf8, 0xf8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0x18, 0x38, 0xf8, 0xf8, 0xf8, + 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf8, 0xf8, 0x38, 0xe0, 0xf8, 0xf8, 0xf8, 0xb8, 0xb8, 0xb8, + 0xb8, 0x98, 0x98, 0x18, 0x18, 0x80, 0xf8, 0xf8, 0xf8, 0x38, 0x38, 0x38, 0x38, 0xb8, 0xf8, 0xf8, + 0xd8, 0x80, 0xf8, 0xf8, 0xf8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0x80, 0xf8, 0xf8, + 0xf8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0x18, 0x18, 0x18, 0xf0, 0xf8, 0xf8, 0xf8, 0x38, 0x38, + 0x38, 0x18, 0xe8, 0xf8, 0xf8, 0xf8, 0xe8, 0xf8, 0xf8, 0xf8, 0x78, 0x38, 0x18, 0x98, 0xb8, 0xf8, + 0xf8, 0x18, 0x38, 0xf8, 0xf8, 0xf8, 0xc0, 0x80, 0x00, 0xe0, 0xf8, 0xf8, 0xb8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x30, 0x37, 0x3f, 0x17, 0x00, 0x03, 0x07, 0x0f, 0x0e, 0x1f, 0x3d, 0x3b, + 0x3e, 0x3f, 0x3f, 0x3f, 0x21, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x00, 0x20, 0x3e, 0x3f, 0x0f, + 0x20, 0x30, 0x30, 0x38, 0x1c, 0x03, 0x0f, 0x07, 0x3c, 0x3f, 0x3f, 0x1f, 0x39, 0x39, 0x39, 0x39, + 0x39, 0x39, 0x31, 0x30, 0x30, 0x3f, 0x3f, 0x3f, 0x03, 0x00, 0x00, 0x00, 0x22, 0x3f, 0x3f, 0x3f, + 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x31, 0x33, 0x33, 0x31, 0x3f, 0x3f, 0x0f, 0x01, 0x2f, 0x3f, 0x3f, + 0x07, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x30, 0x00, 0x36, 0x3f, 0x3f, 0x1f, 0x00, 0x38, 0x18, + 0x38, 0x3e, 0x1f, 0x0f, 0x07, 0x05, 0x37, 0x3f, 0x3f, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x3f, 0x3f, + 0x3f, 0x30, 0x30, 0x38, 0x39, 0x39, 0x3b, 0x3b, 0x3b, 0x3f, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + // 'Revengeday_Glitch5', 128x32px + static const char bmp_Revengeday_Glitch5 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf8, 0xf8, 0x38, 0x18, 0x98, 0x18, 0x18, 0xf8, 0xf8, 0xf8, + 0xf8, 0xd8, 0xf8, 0xf8, 0xf8, 0xf8, 0x98, 0x98, 0x98, 0xb8, 0xb8, 0x38, 0x08, 0x08, 0xf0, 0xf8, + 0xf8, 0x08, 0x00, 0x00, 0x00, 0xe0, 0xf8, 0xf8, 0x38, 0xf0, 0xf8, 0xf8, 0xf8, 0xb8, 0xb8, 0xb8, + 0xb8, 0x98, 0x98, 0x18, 0x18, 0x80, 0xf0, 0xf8, 0xf8, 0x38, 0x38, 0x38, 0x38, 0x38, 0xf8, 0xf8, + 0xf8, 0xc0, 0xf8, 0xf8, 0xf8, 0x98, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0x98, 0x18, 0xf8, 0xf8, + 0xf8, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0xb8, 0x38, 0x18, 0xf8, 0xf8, 0xf8, 0xf8, 0x38, 0x38, + 0x38, 0x18, 0x18, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf8, 0xf8, 0x78, 0x38, 0x38, 0x18, 0xf8, 0xf8, + 0xf8, 0x08, 0x00, 0xf8, 0xf8, 0xf8, 0xc0, 0x80, 0x80, 0xe0, 0xf8, 0xf8, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x30, 0x3f, 0x3f, 0x17, 0x00, 0x02, 0x03, 0x0d, 0x1f, 0x1d, 0x3b, 0x3b, + 0x39, 0x3f, 0x3f, 0x27, 0x21, 0x31, 0x31, 0x31, 0x31, 0x3b, 0x39, 0x00, 0x38, 0x3e, 0x3f, 0x3f, + 0x33, 0x30, 0x30, 0x38, 0x3c, 0x13, 0x0d, 0x00, 0x38, 0x3f, 0x3f, 0x07, 0x39, 0x39, 0x39, 0x31, + 0x31, 0x31, 0x31, 0x30, 0x30, 0x3f, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x30, 0x3e, 0x3f, 0x3f, + 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x39, 0x39, 0x39, 0x39, 0x3f, 0x3f, 0x3f, 0x20, 0x3c, 0x3f, 0x3f, + 0x01, 0x31, 0x31, 0x31, 0x33, 0x33, 0x33, 0x30, 0x00, 0x30, 0x3f, 0x3f, 0x1f, 0x03, 0x38, 0x38, + 0x38, 0x3c, 0x3f, 0x1f, 0x0f, 0x07, 0x3f, 0x3f, 0x3f, 0x3f, 0x03, 0x00, 0x00, 0x3f, 0x3f, 0x3f, + 0x3f, 0x30, 0x30, 0x38, 0x31, 0x31, 0x33, 0x33, 0x3f, 0x3f, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + // 'Revengeday_Glitch6', 128x32px + static const char bmp_Revengeday_Glitch6 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf8, 0xf8, 0xf8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xf8, 0xf8, + 0xf8, 0x98, 0xf8, 0xf8, 0xf8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0x38, 0x18, 0x80, 0xf8, 0xf8, + 0xf8, 0x08, 0x00, 0x00, 0x00, 0xf0, 0xf8, 0xf8, 0x38, 0xe0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, + 0xf8, 0xd8, 0xd8, 0xf8, 0xd8, 0xc0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, + 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xb8, 0xf0, 0xf8, + 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xb8, 0xb8, 0xb8, 0x38, 0x18, 0xc0, 0xf8, 0xf8, 0xf8, 0x38, 0x38, + 0x38, 0x38, 0xe8, 0xf8, 0xf8, 0xf8, 0xe8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xd8, 0xf8, 0xf8, + 0xf8, 0xd8, 0xf8, 0xf8, 0xf8, 0xf8, 0xc0, 0x80, 0x80, 0xe0, 0xf8, 0xf8, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0x1f, 0x03, 0x0f, 0x1f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x31, 0x31, 0x31, 0x31, 0x20, 0x38, 0x3f, 0x3f, 0x1f, + 0x31, 0x30, 0x38, 0x38, 0x3e, 0x1f, 0x0f, 0x03, 0x3c, 0x3f, 0x3f, 0x07, 0xbf, 0xbd, 0xbd, 0xbd, + 0xbd, 0xbd, 0xbd, 0xb0, 0xf8, 0xff, 0xff, 0x7f, 0x0f, 0x01, 0x01, 0x01, 0xb9, 0xff, 0xff, 0xff, + 0x3f, 0x3f, 0x3f, 0x3f, 0x39, 0x31, 0x31, 0x31, 0x39, 0x3f, 0x3f, 0x3f, 0x23, 0x3f, 0x3f, 0x3f, + 0x23, 0x31, 0x31, 0x31, 0x31, 0x3f, 0x3f, 0x3e, 0x06, 0xbe, 0xff, 0xff, 0xff, 0x3f, 0x3e, 0x3e, + 0x3e, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x01, 0x19, 0x3f, 0x3f, 0x3f, + 0x3f, 0x38, 0x33, 0x37, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x00, 0x0f, 0x0f, + 0x0f, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x0f, 0x0f, 0x07, 0x0c, 0x0f, 0x0f, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x00, 0x07, 0x07, 0x07, 0x07, 0x04, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x03, 0x01, 0x00, 0x07, 0x07, 0x07, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + + // Array of all bitmaps for convenience. (Total bytes used to store images in PROGMEM = 3168) + static const char* const bmp_Revengeday_Glitch_allArray[6] = { + bmp_Revengeday_Glitch1, + bmp_Revengeday_Glitch2, + bmp_Revengeday_Glitch3, + bmp_Revengeday_Glitch4, + bmp_Revengeday_Glitch5, + bmp_Revengeday_Glitch6 + }; + + // 'Revengeday_Dirty1', 128x32px + static const char bmp_Revengeday_Dirty1 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xd0, 0xb0, + 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, + 0x30, 0x30, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xe0, + 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xef, 0xf8, 0xb8, 0xb8, 0x38, 0x38, 0xb9, 0xfb, 0xfb, + 0xfb, 0x98, 0xf8, 0xf8, 0x08, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x08, 0x00, 0x9f, 0xe7, 0xf8, + 0xf8, 0x08, 0x00, 0xc0, 0xf0, 0x08, 0x80, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbe, 0xbe, + 0xbe, 0x9e, 0x90, 0x10, 0x14, 0x34, 0x04, 0x84, 0xf8, 0x3e, 0x3a, 0x3a, 0x1a, 0xb8, 0xf8, 0xf8, + 0x08, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x84, 0x87, 0x87, 0x87, 0x9b, 0x27, 0xc7, 0xf8, + 0xf8, 0xb8, 0xb8, 0x58, 0x58, 0x58, 0x58, 0xb8, 0x38, 0x18, 0x00, 0x18, 0x18, 0x18, 0x38, 0x38, + 0x38, 0x38, 0x82, 0x86, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x18, 0x18, 0x07, 0xc7, 0xe7, + 0x17, 0xd8, 0x99, 0x1b, 0x38, 0x38, 0xc0, 0x80, 0x80, 0xe0, 0x78, 0xf7, 0x7b, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x28, 0x2c, 0x37, 0x07, 0x00, 0x03, 0x07, 0x07, 0x0e, 0x1f, 0x3d, 0x3b, + 0x3a, 0xc1, 0xc1, 0xc1, 0x40, 0x52, 0x52, 0x52, 0x31, 0x31, 0x31, 0x20, 0x38, 0x3f, 0x3f, 0xc7, + 0xc9, 0x30, 0x30, 0x39, 0x3e, 0x1f, 0x0f, 0x00, 0x3c, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x31, 0x31, + 0x31, 0x31, 0x31, 0x30, 0x38, 0x3f, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x30, 0xc3, 0xc3, 0x03, + 0x30, 0x38, 0x38, 0x38, 0x30, 0x30, 0x30, 0x30, 0x39, 0x3f, 0x3f, 0x3f, 0x23, 0x3f, 0x3f, 0xff, + 0xc3, 0xf1, 0xf1, 0x34, 0x34, 0x34, 0x34, 0x68, 0x08, 0x24, 0xc0, 0xc0, 0xc0, 0x80, 0x24, 0x24, + 0x24, 0x20, 0x3f, 0x1f, 0x0f, 0x04, 0x3c, 0x3c, 0x3c, 0x14, 0x03, 0x00, 0x00, 0x3f, 0x3f, 0x3f, + 0x3b, 0x38, 0x30, 0x30, 0x37, 0x36, 0x25, 0x2f, 0xc7, 0xc1, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x17, 0x07, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, + 0x11, 0x10, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, + 0x1f, 0x0d, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + // 'Revengeday_Dirty2', 128x32px + static const char bmp_Revengeday_Dirty2 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf8, 0xf8, 0xf8, 0xb8, 0xb8, 0x38, 0x38, 0xb8, 0x07, 0x87, + 0x06, 0x02, 0x06, 0x06, 0x86, 0x5e, 0x5e, 0x83, 0x83, 0x83, 0x8b, 0x1b, 0xd8, 0x40, 0x06, 0x06, + 0x06, 0x68, 0x60, 0x00, 0x00, 0x70, 0x38, 0x38, 0x04, 0xcf, 0xf8, 0xf8, 0xf8, 0xb8, 0xb8, 0xb8, + 0xb8, 0xa8, 0x88, 0x08, 0xd8, 0x34, 0x18, 0x18, 0x06, 0x36, 0x36, 0x3b, 0x1b, 0x38, 0x78, 0xf8, + 0xd8, 0x80, 0x08, 0x08, 0x04, 0x04, 0x58, 0x58, 0x58, 0x43, 0x43, 0xb8, 0xb8, 0x08, 0xf0, 0xf8, + 0xf8, 0xb8, 0xb8, 0xb8, 0xb8, 0x80, 0x80, 0x38, 0xb8, 0x1b, 0x10, 0x07, 0xf8, 0xf8, 0x36, 0x36, + 0x38, 0x38, 0xe8, 0x87, 0xc7, 0xf8, 0xe8, 0xf8, 0xf8, 0xf8, 0xf8, 0xb8, 0x18, 0x07, 0x00, 0x00, + 0x00, 0x18, 0x78, 0xf8, 0xf8, 0xf8, 0xc0, 0x80, 0x40, 0x00, 0xf8, 0xf8, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x34, 0xf7, 0xcf, 0xf7, 0xf0, 0x0f, 0x1b, 0x87, 0x8e, 0x9f, 0x3a, 0x3c, + 0x34, 0x30, 0x30, 0x3f, 0x33, 0x31, 0x31, 0x32, 0x30, 0x32, 0x31, 0x20, 0x39, 0x3e, 0x30, 0x10, + 0x30, 0x30, 0x38, 0x48, 0x40, 0xe0, 0x60, 0x04, 0x3c, 0x3f, 0xc7, 0x1f, 0xd1, 0xd1, 0xd1, 0x51, + 0x51, 0x42, 0x40, 0x40, 0x38, 0x3f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xc0, 0xc0, 0xe1, + 0x80, 0xc1, 0x3c, 0x3c, 0x30, 0x38, 0xd7, 0xd7, 0xd7, 0x3c, 0x3c, 0xff, 0xe3, 0x27, 0xc7, 0xc7, + 0xd9, 0x45, 0xed, 0xed, 0xed, 0x31, 0x31, 0x31, 0x01, 0x3b, 0x38, 0x38, 0xc0, 0x06, 0x36, 0x36, + 0x36, 0x32, 0x45, 0x1f, 0x0f, 0xc0, 0x80, 0xc3, 0xc3, 0xe3, 0x00, 0x01, 0x00, 0x3f, 0x00, 0x00, + 0x00, 0x20, 0x40, 0xb0, 0xb0, 0xb1, 0x0f, 0x03, 0x20, 0x20, 0xdf, 0xe7, 0xe0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x14, 0x17, 0x17, 0x0f, 0x01, 0x00, 0x00, 0x13, 0x03, 0x1b, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x06, 0x06, 0x0c, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x07, + 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x1d, 0x1f, 0x1f, 0x1f, + 0x08, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1f, 0x1f, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x10, 0x0f, 0x0f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00 + }; + // 'Revengeday_Dirty3', 128x32px + static const char bmp_Revengeday_Dirty3 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xd0, 0xdf, 0xdf, 0x1f, 0x03, 0x0e, 0xee, 0xce, 0x8e, 0xee, 0x7e, 0xfe, + 0xbe, 0xe6, 0xf8, 0xf8, 0xf8, 0xb8, 0xb8, 0xb8, 0xb8, 0x38, 0x38, 0x38, 0x18, 0x00, 0x38, 0x38, + 0x38, 0x08, 0x00, 0x00, 0x00, 0xf0, 0xf8, 0xf8, 0x38, 0xfe, 0xff, 0x7f, 0x1f, 0x1b, 0x1b, 0x1b, + 0x1b, 0xcc, 0xcc, 0x0c, 0x0c, 0xc0, 0xfc, 0xfc, 0x7c, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, + 0xb0, 0x00, 0xf0, 0xf0, 0xf0, 0x70, 0x70, 0x70, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, + 0xf8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0x98, 0x00, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, + 0xe0, 0xe0, 0xa0, 0xe0, 0xe0, 0xe0, 0xa0, 0xe0, 0xf8, 0xf8, 0x78, 0x38, 0x38, 0x18, 0xf8, 0xf8, + 0xf8, 0x18, 0x78, 0xf8, 0xf8, 0xf8, 0xc0, 0x00, 0x00, 0x60, 0x78, 0x78, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x07, 0x2f, 0x2e, + 0x2e, 0x2f, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xdc, 0xdc, 0x1c, 0x0c, 0xc0, 0xfc, 0xfc, + 0xfc, 0x80, 0x00, 0x00, 0x00, 0x01, 0x81, 0x81, 0x80, 0x03, 0x03, 0x00, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x18, 0x18, 0x18, 0x1c, 0x1f, 0x1f, 0x07, 0x00, 0x03, 0x03, 0x03, 0x03, 0xfb, 0xff, 0xff, + 0x7f, 0x7f, 0x7f, 0x7f, 0x73, 0x63, 0x63, 0x63, 0x9b, 0xfb, 0xfb, 0xfb, 0x3b, 0xf0, 0xff, 0xff, + 0x1f, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x05, 0x03, 0xc1, 0xfc, 0xff, 0xff, 0x1f, 0x83, 0x83, + 0xe0, 0xf0, 0xff, 0x7f, 0x3f, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x1c, 0x1c, 0x8f, 0xff, 0xf1, + 0xf1, 0x30, 0xf0, 0xf0, 0xf0, 0xf1, 0x81, 0x00, 0x00, 0xc0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x0d, 0x0d, 0x0d, 0x0d, 0x18, 0x18, 0x10, 0x1c, 0x1f, 0x1f, 0x0f, + 0x18, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x02, 0x03, 0x03, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x02, 0x03, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x0b, 0x01, 0x00, 0x00, 0x1f, 0x1f, 0x07, + 0x07, 0x00, 0x00, 0x01, 0x01, 0x03, 0x07, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 + }; + // 'Revengeday_Dirty4', 128x32px + static const char bmp_Revengeday_Dirty4 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, + 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x6e, 0x0e, 0x3e, 0xee, 0xee, 0x18, 0x18, 0x18, 0xf8, 0xf8, + 0xf8, 0x98, 0xf8, 0xf8, 0xf8, 0xb8, 0x18, 0x18, 0x18, 0x80, 0x80, 0x80, 0x18, 0x80, 0xf8, 0xfe, + 0x8e, 0x80, 0x00, 0x00, 0x00, 0x70, 0xf8, 0xf8, 0xb8, 0xe0, 0xf8, 0xff, 0x3f, 0x37, 0xc0, 0xc0, + 0xc0, 0x98, 0x98, 0x60, 0x70, 0x7f, 0xff, 0xff, 0xe1, 0x38, 0x38, 0x38, 0x03, 0xfb, 0xff, 0x8f, + 0x9f, 0x9f, 0xb8, 0xb8, 0xb8, 0x8d, 0x8d, 0x8d, 0x70, 0x70, 0x70, 0xfe, 0x8e, 0xfc, 0x3f, 0x3f, + 0xf8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0x1b, 0x0b, 0x03, 0xc0, 0x00, 0xc0, 0xf8, 0xf8, 0x38, 0x38, + 0x38, 0x38, 0xa0, 0xe0, 0xe0, 0x3f, 0xff, 0xff, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0x60, 0xf8, 0xf8, + 0x00, 0x00, 0x00, 0x08, 0x08, 0x18, 0xc0, 0x80, 0x80, 0xff, 0xff, 0x1f, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1a, 0x37, 0x37, 0x07, 0x00, 0x03, 0x07, 0x38, 0x38, 0xb8, 0xbd, 0x7f, + 0x5e, 0xf9, 0xff, 0xff, 0x3f, 0x1b, 0x30, 0x30, 0x30, 0x1b, 0x1b, 0x03, 0x38, 0x3f, 0x3f, 0x10, + 0x31, 0x31, 0x38, 0x38, 0x3e, 0xff, 0xff, 0x3f, 0x07, 0x07, 0x07, 0x00, 0x06, 0x06, 0x8d, 0x8d, + 0x8d, 0x01, 0x01, 0x30, 0x38, 0x3f, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x30, 0x3f, 0x3f, 0x1f, + 0x3f, 0x3f, 0xff, 0xff, 0x9f, 0x01, 0x01, 0x01, 0x3b, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x20, 0x20, + 0x3f, 0x19, 0x19, 0x31, 0x31, 0x31, 0x03, 0x03, 0x00, 0xe0, 0xfe, 0xff, 0x3f, 0x21, 0x38, 0x00, + 0x00, 0x00, 0xff, 0x7f, 0x3f, 0x00, 0x01, 0x01, 0x7f, 0x3f, 0x1b, 0x00, 0x00, 0xfc, 0xff, 0xff, + 0xfe, 0x06, 0x1e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x07, 0x20, 0x20, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x03, 0x07, 0x07, + 0x07, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x03, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, + 0x01, 0x13, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, + 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0e, 0x0e, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + + // Array of all bitmaps for convenience. (Total bytes used to store images in PROGMEM = 2112) + static const char* const bmp_Revengeday_Dirty_allArray[4] = { + bmp_Revengeday_Dirty1, + bmp_Revengeday_Dirty2, + bmp_Revengeday_Dirty3, + bmp_Revengeday_Dirty4 + }; + + uint16_t frame_size = sizeof(bmp_Revengeday_Clean); + + if (layer_changed) // flash_current_layer will change layer_changed to false after a short time, resuming the animation + flash_current_layer(); + + else if (timer_elapsed(animation_timer) > FRAME_DURATION) { + // Set animation_timer to updated time + animation_timer = timer_read(); + + //1. Do we have glitch set + if(glitch){ + //Randomly pick a glitch frame (add one to frame count) + current_frame = rand() % 7; + if(current_frame < 6){ + oled_write_raw_P(bmp_Revengeday_Glitch_allArray[current_frame], frame_size); + return; + } + glitch = false; + } + + //2. Do we have dirty set + if(dirty){ + //Randomly pick a dirty frame (add one to frame count) + current_frame = rand() % 5; + if(current_frame < 4){ + oled_write_raw_P(bmp_Revengeday_Dirty_allArray[current_frame], frame_size); + return; + } + + //So occasionally we want to glitch to somewhere else, we just do a rand and set a flag + if(rand() % 100 > 85) { hidden = true;} + dirty = false; + } + + //3. Not glitch or dirty do probability loop + //Lets get a random number between 0 and 99 + //We can use this to weight the chance of a clean, glitch or dirty + + uint8_t rand_weight = rand() % 100; + if(rand_weight < 85){ + FRAME_DURATION = 100; + glitch = false; + dirty = false; + oled_write_raw_P(bmp_Revengeday_Clean, frame_size); + } else if(rand_weight < 95){ + //Up the frame rate for the glitch frames + FRAME_DURATION = 50; + //Randomly pick a glitch frame + current_frame = rand() % 6; + glitch = true; + dirty = false; + oled_write_raw_P(bmp_Revengeday_Glitch_allArray[current_frame], frame_size); + }else{ + //Up the frame rate for the dirty frames + FRAME_DURATION = 50; + //Randomly pick a dirty frame + current_frame = rand() % 4; + glitch = false; + dirty = true; + oled_write_raw_P(bmp_Revengeday_Dirty_allArray[current_frame], frame_size); + } + } +} + +static void render_Hidden_animation(void) { + + // 'Hidden_Clean', 128x32px + static const char bmp_Hidden_Clean [] PROGMEM = { + 0x00, 0x00, 0x00, 0xfe, 0x02, 0x72, 0x72, 0x72, 0x02, 0x02, 0xfe, 0x00, 0xf0, 0xa2, 0xa0, 0x84, + 0xce, 0x5e, 0x22, 0x20, 0x3c, 0xb0, 0xe2, 0x00, 0xfe, 0x02, 0x72, 0x72, 0x72, 0x72, 0x02, 0xfe, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x38, 0x28, 0x00, + 0x00, 0x00, 0xf0, 0xf8, 0xf8, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x38, 0x10, 0x00, + 0x00, 0x00, 0xf8, 0xf8, 0xf8, 0x78, 0x78, 0xf8, 0x78, 0x78, 0xf8, 0xf8, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x31, 0x69, 0x39, 0x79, 0x79, 0x39, 0xa9, 0xe0, 0x03, 0x80, 0x81, 0x01, + 0x00, 0xdf, 0xb8, 0xae, 0x66, 0x66, 0x33, 0xe0, 0x89, 0x39, 0x29, 0x29, 0x29, 0x89, 0xb1, 0xe1, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf8, 0x98, 0x98, 0x98, 0xf8, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xf0, 0x98, 0x98, 0x98, 0xf8, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x10, 0x18, + 0x18, 0x18, 0x98, 0xf8, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0x06, 0x02, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xf0, 0x78, 0x3c, 0x3c, 0x7c, 0xf8, 0xf0, 0xe0, 0xc0, + 0x80, 0xc0, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x9e, 0x83, 0x94, 0x90, 0x88, 0x88, 0x88, 0x95, 0x03, 0x0c, 0x37, 0xf7, 0xff, + 0x1c, 0x35, 0xf1, 0x87, 0x0c, 0x00, 0xf2, 0x13, 0x95, 0x1e, 0xfc, 0xe6, 0x06, 0x91, 0x87, 0x8d, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x1d, 0x0f, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x08, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1d, 0x0f, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x18, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x1f, 0x1f, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x1c, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x20, 0x20, 0x20, 0x00, + 0x00, 0x00, 0x83, 0xc3, 0xe3, 0xf3, 0x79, 0x3c, 0x1e, 0x0f, 0x0f, 0x0f, 0x1e, 0x3d, 0x79, 0xf3, + 0xe3, 0xe3, 0xe3, 0xe3, 0xe1, 0xe0, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0x40, 0x4e, 0x4e, 0x4e, 0x40, 0x40, 0x7f, 0x00, 0x4f, 0x63, 0x03, 0x07, + 0x66, 0x42, 0x4a, 0x62, 0x22, 0x22, 0x33, 0x3e, 0x66, 0x62, 0x67, 0x7d, 0x7c, 0x4e, 0x45, 0x7d, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x04, 0x04, 0x00, + 0x00, 0x00, 0x07, 0x0f, 0x1f, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, + 0x1e, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1e, 0x1e, 0x1e, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00 + }; + + // 'Hidden_Glitch_1', 128x34px + static const char bmp_Hidden_Glitch_1 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0xc0, 0xc0, 0x00, 0x80, 0x80, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xff, 0xff, 0xfb, 0xe8, 0xf8, 0xff, 0xb0, 0xdf, 0x7a, + 0xfa, 0xcc, 0xf4, 0xf0, 0xf2, 0xf2, 0xf3, 0xbe, 0xb0, 0x7f, 0xf8, 0xf8, 0xfb, 0xff, 0x3b, 0xf8, + 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xd0, 0x50, 0xf0, 0xf0, 0xf0, 0x80, + 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0xd0, 0x50, 0xf0, 0xf0, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xf0, 0xf0, 0x80, 0x80, 0x00, 0x00, 0x40, + 0xc0, 0xe0, 0x70, 0xd0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x11, 0x10, 0x00, + 0x00, 0x10, 0xff, 0xff, 0xff, 0xb3, 0xd3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xf3, 0xd3, 0xb0, 0x30, + 0x30, 0xff, 0xff, 0xff, 0x17, 0xfb, 0xff, 0xfb, 0xf3, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7c, 0xfe, 0x86, 0xff, 0xff, 0xf7, 0xd4, 0xfe, 0xff, 0x07, 0x7f, 0x7f, + 0xff, 0x7f, 0x3b, 0x7b, 0xef, 0x5e, 0x5d, 0xff, 0x7f, 0x7f, 0x7d, 0x7f, 0xff, 0x7f, 0x7e, 0x9e, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x02, 0x1a, 0x0e, 0x07, 0x01, + 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x01, 0x03, 0x02, 0x1e, 0x0e, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x1f, 0x1f, 0x10, 0x10, 0x00, 0x00, 0x00, + 0x18, 0x1c, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x01, 0x01, 0x21, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x7b, 0x79, 0x7d, 0x7c, 0x7c, 0x7d, 0x7f, 0x7f, 0xf7, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x79, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x10, 0x16, 0x16, 0x16, 0x10, 0x10, 0x0f, 0x00, 0x17, 0x13, + 0x03, 0x03, 0x12, 0x10, 0x10, 0x10, 0x01, 0x09, 0x0f, 0x1a, 0x1a, 0x1b, 0x1b, 0x1e, 0x16, 0x12, + 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0x07, 0x0f, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0e, 0x0e, 0x0e, 0x0f, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + // 'Hidden_Glitch_2', 128x34px + static const char bmp_Hidden_Glitch_2 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0xc0, 0xc0, 0x00, 0x80, 0x80, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0xef, 0xc8, 0xef, 0xef, 0xeb, 0xe8, 0xe8, 0xef, 0x80, 0xff, 0xaa, + 0xaa, 0xcc, 0x64, 0xf0, 0xe2, 0xb2, 0xf3, 0xfe, 0x80, 0xef, 0xe8, 0xe8, 0xeb, 0xef, 0xeb, 0xc8, + 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x40, 0x40, 0x40, 0xc0, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x40, + 0x40, 0x40, 0x40, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x11, 0x00, 0x00, + 0x00, 0xfc, 0xff, 0xff, 0xff, 0x8f, 0xc7, 0xc7, 0xe7, 0xe7, 0xe7, 0xe7, 0xc7, 0x87, 0x80, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0xfe, 0xef, 0xbb, 0xbf, 0x9f, 0x9f, 0x9f, 0xff, 0x7f, 0xf9, 0xff, + 0xfe, 0xf8, 0xbf, 0xff, 0xef, 0xff, 0xdb, 0xfd, 0x7f, 0xff, 0xfe, 0xff, 0xff, 0xee, 0xe2, 0xef, + 0xff, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc1, 0xe3, 0x22, 0x3a, 0x3e, 0xe7, 0xc1, + 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0xc1, 0xe3, 0x22, 0x3e, 0x3e, 0xe7, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0xff, 0xff, 0x10, 0x10, 0x00, 0x00, 0x10, + 0x18, 0x1c, 0x96, 0xf3, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x04, 0x00, 0x00, + 0x00, 0x03, 0xcf, 0xcf, 0xef, 0xff, 0xff, 0x7f, 0x3f, 0x3d, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xef, + 0xef, 0xcf, 0xcf, 0xc7, 0xe3, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x1f, 0x10, 0x17, 0x17, 0x17, 0x11, 0x13, 0x0f, 0x00, 0x17, 0x13, + 0x03, 0x03, 0x13, 0x13, 0x13, 0x11, 0x01, 0x0b, 0x0f, 0x1b, 0x1b, 0x1b, 0x1b, 0x1f, 0x16, 0x12, + 0x1f, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0d, 0x07, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0f, 0x07, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x07, 0x07, 0x04, 0x04, 0x00, 0x00, 0x00, + 0x06, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x08, 0x00, + 0x00, 0x03, 0x0f, 0x0f, 0x0f, 0x0f, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0e, 0x0f, 0x0f, 0x0f, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + // 'Hidden_Glitch_3', 128x34px + static const char bmp_Hidden_Glitch_3 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0xc0, 0xc0, 0x00, 0x80, 0x80, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0c, 0xdf, 0xd8, 0xff, 0xff, 0xff, 0xf8, 0xfc, 0x8f, 0x80, 0x1f, 0x0e, + 0x8e, 0x0c, 0x7c, 0xf0, 0xf2, 0xba, 0xbf, 0xfe, 0x8c, 0x2f, 0xfc, 0xf8, 0xff, 0xbf, 0x3f, 0xd8, + 0x9f, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x40, 0xd0, 0xd0, 0xf0, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0xd0, 0xd0, 0xf0, 0xf0, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x50, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x50, + 0x50, 0x50, 0xd0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x11, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x83, 0xc3, 0xc3, 0xe3, 0xe3, 0xe3, 0xe3, 0xc3, 0x83, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x07, 0xfb, 0xff, 0xfb, 0x03, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x9c, 0xfe, 0xc7, 0xe9, 0xe3, 0xd1, 0xd1, 0xd8, 0x8f, 0x07, 0xfc, 0xff, + 0xff, 0xfe, 0x7b, 0x6b, 0xee, 0x8f, 0x9d, 0xf5, 0xe7, 0xaf, 0x3e, 0xfc, 0xfe, 0xec, 0xe6, 0xce, + 0xdf, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x02, 0x1f, 0x0f, 0x07, 0x01, + 0x00, 0x00, 0x00, 0x14, 0x14, 0x00, 0x00, 0x00, 0x01, 0x03, 0x02, 0x1f, 0x0f, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x14, 0x14, 0x1f, 0x1f, 0x14, 0x14, 0x00, 0x00, 0x00, + 0x1e, 0x1f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x21, 0x23, 0x21, 0x00, + 0x00, 0x82, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xdf, 0xdf, 0xdf, 0xdf, 0xbf, 0xff, 0xf7, 0xe7, + 0xe7, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0x2f, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x10, 0x1f, 0x1f, 0x1f, 0x16, 0x1f, 0x1f, 0x00, 0x1f, 0x1b, + 0x13, 0x1b, 0x13, 0x13, 0x1f, 0x1b, 0x1b, 0x0b, 0x0f, 0x1f, 0x1b, 0x1b, 0x1f, 0x1f, 0x1f, 0x17, + 0x1f, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x02, 0x02, 0x00, + 0x00, 0x03, 0x0f, 0x0f, 0x0f, 0x2f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x0e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x3f, 0x3f, 0x3f, 0x0f, 0x3f, 0x3f, 0x3f, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + // 'Hidden_Glitch_4', 128x34px + static const char bmp_Hidden_Glitch_4 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0xc0, 0xc0, 0x00, 0x80, 0x80, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xc8, 0x8f, 0xef, 0xeb, 0xe8, 0xc8, 0x8f, 0x80, 0x1f, 0x0a, + 0x0a, 0x0c, 0x64, 0x70, 0xe2, 0xb2, 0x93, 0x9e, 0x80, 0x0f, 0x68, 0xe8, 0x8b, 0x8f, 0x0b, 0xc8, + 0x8f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x40, 0x40, 0x40, 0xc0, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0xf8, 0xf8, 0x40, 0x40, 0x00, 0x00, 0x40, + 0x60, 0x70, 0x58, 0xc8, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x11, 0x00, 0x00, + 0x00, 0x08, 0xff, 0xff, 0xff, 0xdb, 0xeb, 0xe3, 0xf3, 0xf3, 0xf3, 0xf3, 0xfb, 0xeb, 0xd8, 0x98, + 0x98, 0xff, 0xff, 0xff, 0x87, 0xfb, 0xff, 0xfb, 0xf3, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xb8, 0xfc, 0x8e, 0xf9, 0xe0, 0xb1, 0xb0, 0xf0, 0x9b, 0x0f, 0xf8, 0xfe, + 0xfe, 0xf8, 0x78, 0xfa, 0xea, 0x9e, 0x39, 0xe8, 0xef, 0xfa, 0x7c, 0xf8, 0xf8, 0xfc, 0xc0, 0x9e, + 0x9b, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x02, 0x3a, 0x3e, 0x0f, 0x01, + 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x01, 0x03, 0x02, 0x3e, 0x1e, 0x0f, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x1f, 0x1f, 0x10, 0x10, 0x00, 0x00, 0x00, + 0x18, 0x1c, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x20, 0x00, + 0x00, 0x02, 0xdf, 0xff, 0xff, 0xff, 0x7b, 0x3d, 0x3c, 0x3c, 0x3c, 0x3d, 0x3f, 0x7f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3c, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1f, 0x3f, 0x31, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x1f, 0x00, 0x3f, 0x37, + 0x07, 0x37, 0x36, 0x37, 0x3f, 0x3b, 0x13, 0x1b, 0x1f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x37, + 0x3f, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0x07, 0x0f, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0e, 0x0e, 0x0e, 0x0f, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + + // Array of all bitmaps for convenience. (Total bytes used to store images in PROGMEM = 2624) + static const char* const bmp_Hidden_Glitch_allArray[4] = { + bmp_Hidden_Glitch_1, + bmp_Hidden_Glitch_2, + bmp_Hidden_Glitch_3, + bmp_Hidden_Glitch_4 + }; + + // 'Hidden_Dirty_1', 128x32px + static const char bmp_Hidden_Dirty_1 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x20, 0xa0, 0xa0, 0xa0, 0x20, 0x20, 0xc0, 0x00, 0x80, 0x00, + 0x00, 0x60, 0x60, 0x60, 0x00, 0x40, 0xc0, 0x00, 0x00, 0xe0, 0x20, 0x80, 0xb0, 0xf0, 0xb0, 0x80, + 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x00, 0x00, 0x00, + 0x00, 0x80, 0xc0, 0xc0, 0x40, 0xc0, 0xc0, 0xc0, 0x40, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x9c, 0x86, 0x89, 0x77, 0xf5, 0x74, 0x64, 0xc7, 0xc0, 0x0f, 0x05, + 0x05, 0x06, 0x32, 0x38, 0x71, 0x59, 0xc9, 0x4f, 0xc0, 0x07, 0x34, 0x8e, 0x88, 0xc8, 0x00, 0xec, + 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x20, 0x20, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x1f, 0x1f, 0x10, 0x10, 0x00, 0x00, 0x00, + 0x03, 0x03, 0x00, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x18, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x0d, 0xef, 0xe7, 0x73, 0x73, 0x73, 0x77, 0xff, 0xee, 0xdc, 0x9c, + 0x1c, 0x1f, 0xf1, 0xf0, 0xf8, 0xff, 0xbf, 0xbf, 0x80, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x42, 0x44, 0x03, 0x47, 0x43, 0x03, 0x0e, 0x1e, 0xf0, 0xa1, + 0xa1, 0xcc, 0x4c, 0x0d, 0x21, 0x3b, 0x24, 0x80, 0x9f, 0x29, 0xf2, 0xb3, 0xbf, 0xe0, 0x60, 0x28, + 0xe8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1c, 0x04, 0x04, 0x04, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x00, 0x03, 0x07, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x08, 0x00, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0x1f, 0x9f, 0xce, 0x39, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x39, 0x3b, 0x3b, + 0x3f, 0x3f, 0xe3, 0xe3, 0xf3, 0xf3, 0x73, 0x73, 0x03, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x08, 0x0b, 0x1a, 0x1a, 0x02, 0x02, 0x1e, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x06, 0x07, 0x0e, 0x00, 0x04, 0x07, 0x1c, 0x08, 0x08, 0x0d, 0x0d, 0x0f, 0x0b, 0x09, + 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x1c, 0x1c, 0x0f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x1b, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00 + }; + // 'Hidden_Dirty_2', 128x32px + static const char bmp_Hidden_Dirty_2 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x80, 0xa0, 0xa0, 0x20, 0x20, 0xc0, 0x00, 0x80, 0x00, + 0x00, 0x20, 0x60, 0x60, 0x00, 0x40, 0x10, 0x10, 0x00, 0x20, 0x20, 0x20, 0xa0, 0xa0, 0xa0, 0xe0, + 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x20, 0x00, 0x00, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x40, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x10, 0x30, 0xa0, 0x00, 0x00, + 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0xc0, 0x30, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x77, 0xf5, 0x74, 0x64, 0x43, 0x80, 0x21, 0x00, + 0xb1, 0xe0, 0x02, 0x08, 0x01, 0x01, 0x00, 0x40, 0x50, 0x40, 0x00, 0x00, 0x00, 0x47, 0x05, 0x50, + 0xd4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x20, 0x20, 0x20, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe1, 0x21, 0xa0, 0x20, 0xef, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, + 0x00, 0x18, 0x29, 0xef, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x2a, 0x00, 0x00, + 0x00, 0x00, 0x1c, 0x1c, 0x87, 0xb9, 0x0e, 0x06, 0x71, 0x71, 0x71, 0x00, 0x02, 0xb1, 0x60, 0x80, + 0x80, 0x0f, 0x0f, 0x3f, 0x03, 0xfd, 0xff, 0x00, 0x01, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x41, 0x18, 0x10, 0x00, 0x00, 0xc9, 0x09, 0x04, 0x01, + 0xf8, 0x98, 0x00, 0x00, 0x08, 0x10, 0x80, 0xf0, 0x90, 0x00, 0x1c, 0x9c, 0xf4, 0x08, 0x0c, 0x47, + 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe1, 0x03, 0x11, 0x07, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x60, 0x01, 0x01, 0x31, 0x11, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x0f, 0x08, 0x04, 0x08, 0x00, 0x00, 0x00, + 0x0c, 0x0e, 0x03, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xe0, 0xe0, 0x0d, 0x16, 0x00, 0x04, 0x35, 0x37, 0x37, 0x0e, 0x1f, 0xf0, 0xa5, 0x15, + 0x05, 0x6c, 0x6c, 0xee, 0x60, 0x00, 0x80, 0x44, 0x18, 0xe0, 0xe0, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x08, 0x0b, 0x03, 0x01, 0x08, 0x08, 0x07, 0x00, 0x0b, 0x09, + 0x01, 0x01, 0x00, 0x00, 0x08, 0x08, 0x00, 0x04, 0x07, 0x0d, 0x0d, 0x0d, 0x0d, 0x04, 0x03, 0x09, + 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x1b, 0x1b, 0x1b, 0x07, 0x07, 0x06, 0x06, 0x08, + 0x08, 0x18, 0x18, 0x18, 0x18, 0x08, 0x08, 0x07, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00 + }; + // 'Hidden_Dirty_3', 128x32px + static const char bmp_Hidden_Dirty_3 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x80, 0x00, 0x00, 0xa0, 0xa0, 0x40, 0x00, 0x00, 0xc0, + 0x80, 0x80, 0x60, 0x60, 0x00, 0x40, 0xc0, 0x00, 0x00, 0xe0, 0x20, 0x20, 0xa0, 0xa0, 0xa0, 0x20, + 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x80, 0xc0, 0x20, 0x00, 0x20, 0x20, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, + 0x00, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x41, 0x00, 0x60, 0x50, 0x64, 0x44, 0x40, 0x80, 0x10, 0x10, + 0x10, 0x11, 0x40, 0x22, 0x47, 0x01, 0x01, 0x01, 0x00, 0x07, 0x14, 0x14, 0x05, 0x47, 0x05, 0x64, + 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xb0, 0xa0, 0x20, 0xe0, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x20, 0x20, 0x20, 0xef, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0xe0, 0xe0, 0x00, 0x40, 0x00, 0x00, 0x20, + 0x20, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x7f, 0x04, 0xb8, 0xdc, 0xed, 0x71, 0x71, 0x71, 0x11, 0x21, 0x41, 0x00, 0x1c, + 0x18, 0x60, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x01, 0x1f, 0x1f, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0c, 0x04, 0x40, 0x40, 0xc0, 0x00, 0x8c, 0xb7, + 0xff, 0x9c, 0x04, 0x32, 0x60, 0x00, 0x80, 0xe0, 0x80, 0x00, 0x40, 0x48, 0x00, 0x04, 0x00, 0x58, + 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0c, 0x17, 0x33, 0x20, + 0x00, 0x00, 0x00, 0x09, 0x09, 0x00, 0x00, 0x00, 0x18, 0xf1, 0x91, 0x97, 0x97, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0xe3, 0xe7, 0x08, 0x08, 0x00, 0x00, 0x00, + 0x0c, 0x0e, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xec, 0xec, 0xf4, 0x7a, 0x3a, 0x1b, 0xc0, 0xc0, 0xc0, 0x00, 0x20, 0x40, 0x0c, 0x48, + 0xc8, 0xd8, 0xdc, 0xe0, 0xf0, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x0b, 0x0b, 0x0b, 0x08, 0x08, 0x07, 0x00, 0x0b, 0x09, + 0x01, 0x01, 0x09, 0x08, 0x08, 0x08, 0x00, 0x04, 0x07, 0x11, 0x00, 0x00, 0x10, 0x10, 0x10, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x08, 0x08, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x06, 0x06, 0x06, 0x09, 0x09, 0x09, 0x09, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x0c, 0x00, 0x00, 0x00, 0x00 + }; + // 'Hidden_Dirty_4', 128x32px + static const char bmp_Hidden_Dirty_4 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x20, 0xa0, 0xa0, 0xa0, 0x20, 0x20, 0xc0, 0x00, 0x80, 0x00, + 0x00, 0x60, 0x60, 0x60, 0x00, 0x40, 0xc0, 0x00, 0x00, 0xe0, 0x20, 0x20, 0xa0, 0xa0, 0xa0, 0x20, + 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x60, 0x70, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, + 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc7, 0xe4, 0xc7, 0x7f, 0xfd, 0x7d, 0x7d, 0xf7, 0xf0, 0x8f, 0x05, + 0x05, 0x86, 0xb2, 0x38, 0x71, 0x59, 0xc9, 0x4f, 0xc0, 0x07, 0xb4, 0xf4, 0xf5, 0xf7, 0xb5, 0xe4, + 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x20, 0x20, 0x20, 0xe0, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x20, 0x20, 0x20, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xe1, 0xe1, 0x01, 0x01, 0x00, 0x00, 0x20, + 0x20, 0x20, 0x20, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xc1, 0xe1, 0xef, 0xf7, 0xf7, 0xf7, 0xff, 0xff, 0xc1, 0x80, 0x80, + 0x80, 0xff, 0xff, 0xff, 0x07, 0xff, 0xff, 0xff, 0x03, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xce, 0x6f, 0xdc, 0x50, 0x5a, 0x5a, 0x50, 0xf1, 0x03, 0x8f, 0xf7, + 0xff, 0x9d, 0x1c, 0x7f, 0xfb, 0x3f, 0xa6, 0xf2, 0x9f, 0x2d, 0xde, 0x9e, 0xfc, 0xce, 0x00, 0xef, + 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3d, 0x25, 0x4d, 0xcf, 0xfb, 0x30, + 0x00, 0x00, 0x00, 0x09, 0x09, 0x00, 0x00, 0x00, 0x00, 0x81, 0x81, 0x8f, 0x87, 0x83, 0x00, 0x00, + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x0f, 0x0f, 0x08, 0x08, 0x00, 0x00, 0x00, + 0x0c, 0x0e, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x79, 0xbd, 0x1d, 0x0e, 0x0e, 0x0e, 0x0e, 0x1f, 0x3f, 0x7f, 0x7f, + 0xef, 0xef, 0xef, 0xe3, 0xf0, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x08, 0x0b, 0x0b, 0x0b, 0x08, 0x08, 0x07, 0x00, 0x0b, 0x0d, + 0x07, 0x07, 0x0f, 0x0c, 0x0b, 0x08, 0x04, 0x07, 0x1f, 0x0d, 0x0f, 0x1f, 0x1f, 0x0f, 0x0b, 0x09, + 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x04, 0x1c, 0x1c, 0x0f, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00 + }; + + // Array of all bitmaps for convenience. (Total bytes used to store images in PROGMEM = 2112) + static const char* const bmp_Hidden_Dirty_allArray[4] = { + bmp_Hidden_Dirty_1, + bmp_Hidden_Dirty_2, + bmp_Hidden_Dirty_3, + bmp_Hidden_Dirty_4 + }; + + uint16_t frame_size = sizeof(bmp_Hidden_Clean); + + if (layer_changed) // flash_current_layer will change layer_changed to false after a short time, resuming the animation + flash_current_layer(); + + else if (timer_elapsed(animation_timer) > FRAME_DURATION) { + // Set animation_timer to updated time + animation_timer = timer_read(); + + //1. Do we have glitch set + if(glitch){ + //Randomly pick a glitch frame (add one to frame count) + current_frame = rand() % 5; + if(current_frame < 4){ + oled_write_raw_P(bmp_Hidden_Glitch_allArray[current_frame], frame_size); + return; + } + glitch = false; + } + + //2. Do we have dirty set + if(dirty){ + //Randomly pick a dirty frame (add one to frame count) + current_frame = rand() % 5; + if(current_frame < 4){ + oled_write_raw_P(bmp_Hidden_Dirty_allArray[current_frame], frame_size); + return; + } + //Slightly higher prob of glitching back + if(rand() % 100 > 75) { hidden = false;} + dirty = false; + } + + //3. Not glitch or dirty do probability loop + //Lets get a random number between 0 and 99 + //We can use this to weight the chance of a clean, glitch or dirty + + uint8_t rand_weight = rand() % 100; + if(rand_weight < 85){ + FRAME_DURATION = 100; + glitch = false; + dirty = false; + oled_write_raw_P(bmp_Hidden_Clean, frame_size); + } else if(rand_weight < 95){ + //Up the frame rate for the glitch frames + FRAME_DURATION = 50; + //Randomly pick a glitch frame + current_frame = rand() % 4; + glitch = true; + dirty = false; + oled_write_raw_P(bmp_Hidden_Glitch_allArray[current_frame], frame_size); + }else{ + //Up the frame rate for the dirty frames + FRAME_DURATION = 50; + //Randomly pick a dirty frame + current_frame = rand() % 4; + glitch = false; + dirty = true; + oled_write_raw_P(bmp_Hidden_Dirty_allArray[current_frame], frame_size); + } + } +} + +static void render_layers(void) { + static const char pop[][525] = { + { + // 'Pop1', 128x32px + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0xf0, 0xf0, + 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x40, 0xf0, 0xf0, 0xb0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xf0, 0xf0, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0xe0, 0xf0, 0xf0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xb0, 0xf0, 0xf0, 0x40, 0x00, + 0x00, 0x00, 0xe0, 0xf0, 0xf0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x30, 0x30, 0x30, 0x30, 0xb0, 0xf0, 0xf0, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x07, 0x1f, 0x1e, 0x3c, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0x70, 0x1c, 0x1f, 0x0f, 0x03, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x03, 0x0f, 0x1f, 0x1c, 0x70, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0x3c, 0x1e, 0x1f, 0x07, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x0f, 0x1f, 0x1e, 0x78, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x38, 0x1e, 0x1f, 0x07, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x5e, 0xf8, 0xe0, 0xc0, 0x04, 0x0e, + 0x0e, 0x00, 0xc0, 0xf0, 0xf8, 0x4e, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0e, 0xf8, 0xf0, 0xc0, 0x00, 0x0e, + 0x0e, 0x04, 0xc0, 0xe0, 0xf8, 0x5e, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0xfc, 0xf0, 0xc0, 0x80, 0x0c, + 0x0e, 0x0c, 0x80, 0xe0, 0xf8, 0x7c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x0e, 0x0e, 0x0f, 0x0f, + 0x0f, 0x0e, 0x0e, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x0f, 0x0f, 0x0c, + 0x0c, 0x0f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x0f, 0x0e, + 0x0c, 0x0f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x0e, + 0x0c, 0x0e, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + // 'Pop2', 128x32px + 0x00, 0xc0, 0xf0, 0xf0, 0xb0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xf0, 0xf0, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, + 0x70, 0x70, 0x70, 0x70, 0x70, 0xf0, 0xf0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xe0, 0xf0, 0xf0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xb0, 0xf0, 0xf0, 0x40, 0x00, + 0x00, 0x00, 0xe0, 0xf0, 0xf0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x30, 0x30, 0x30, 0x30, 0xb0, 0xf0, 0xf0, 0xc0, 0x00, + 0x00, 0x00, 0x03, 0x07, 0x1f, 0x1e, 0x38, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0x78, 0x1e, 0x1f, 0x0f, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xff, 0x7f, 0x3f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x03, 0x0f, 0x1f, 0x1c, 0x70, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0x3c, 0x1e, 0x1f, 0x07, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x0f, 0x1f, 0x1e, 0x78, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x38, 0x1e, 0x1f, 0x07, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x7c, 0xf8, 0xe0, 0x80, 0x0c, 0x0e, + 0x0c, 0x80, 0xc0, 0xf0, 0xfc, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0x78, 0x3c, 0x1e, + 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0e, 0xf8, 0xf0, 0xc0, 0x00, 0x0e, + 0x0e, 0x04, 0xc0, 0xe0, 0xf8, 0x5e, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0xfc, 0xf0, 0xc0, 0x80, 0x0c, + 0x0e, 0x0c, 0x80, 0xe0, 0xf8, 0x7c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x0e, 0x0c, + 0x0e, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x0f, 0x0e, + 0x0c, 0x0f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x0e, + 0x0c, 0x0e, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + // 'Pop3', 128x32px + 0x00, 0xc0, 0xf0, 0xf0, 0xb0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xf0, 0xf0, 0xe0, 0x00, 0x00, + 0x00, 0x40, 0xf0, 0xf0, 0xb0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xf0, 0xf0, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, + 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xf0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xe0, 0xf0, 0xf0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x30, 0x30, 0x30, 0x30, 0xb0, 0xf0, 0xf0, 0xc0, 0x00, + 0x00, 0x00, 0x03, 0x07, 0x1f, 0x1e, 0x38, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0x78, 0x1e, 0x1f, 0x0f, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x07, 0x1f, 0x1e, 0x3c, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0x70, 0x1c, 0x1f, 0x0f, 0x03, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x0f, 0x1f, 0x1e, 0x78, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x38, 0x1e, 0x1f, 0x07, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x7c, 0xf8, 0xe0, 0x80, 0x0c, 0x0e, + 0x0c, 0x80, 0xc0, 0xf0, 0xfc, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x5e, 0xf8, 0xe0, 0xc0, 0x04, 0x0e, + 0x0e, 0x00, 0xc0, 0xf0, 0xf8, 0x4e, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0xfc, 0xf0, 0xc0, 0x80, 0x0c, + 0x0e, 0x0c, 0x80, 0xe0, 0xf8, 0x7c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x0e, 0x0c, + 0x0e, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x0f, 0x0f, 0x0c, + 0x0c, 0x0f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x0f, 0x0e, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0f, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x0e, + 0x0c, 0x0e, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + // 'Pop4', 128x32px + 0x00, 0xc0, 0xf0, 0xf0, 0xb0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xf0, 0xf0, 0xe0, 0x00, 0x00, + 0x00, 0x40, 0xf0, 0xf0, 0xb0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xf0, 0xf0, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0xe0, 0xf0, 0xf0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xb0, 0xf0, 0xf0, 0x40, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x07, 0x1f, 0x1e, 0x38, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0x78, 0x1e, 0x1f, 0x0f, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x07, 0x1f, 0x1e, 0x3c, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0x70, 0x1c, 0x1f, 0x0f, 0x03, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x03, 0x0f, 0x1f, 0x1c, 0x70, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0x3c, 0x1e, 0x1f, 0x07, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0x78, 0x3c, 0x1e, 0x0f, + 0x07, 0x03, 0x01, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x7c, 0xf8, 0xe0, 0x80, 0x0c, 0x0e, + 0x0c, 0x80, 0xc0, 0xf0, 0xfc, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x5e, 0xf8, 0xe0, 0xc0, 0x04, 0x0e, + 0x0e, 0x00, 0xc0, 0xf0, 0xf8, 0x4e, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0e, 0xf8, 0xf0, 0xc0, 0x00, 0x0e, + 0x0e, 0x04, 0xc0, 0xe0, 0xf8, 0x5e, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x1e, 0x1f, 0x1f, 0x1d, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, + 0x1c, 0x1c, 0x1c, 0x1c, 0xff, 0xff, 0xff, 0x1c, 0x1c, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x0e, 0x0c, + 0x0e, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x0f, 0x0f, 0x0c, + 0x0c, 0x0f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x0f, 0x0e, + 0x0c, 0x0f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0c, 0x0c, 0x0f, 0x0f, 0x0f, 0x0c, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + } + }; + + oled_write_raw_P(pop[get_highest_layer(layer_state)], sizeof(pop[0])); +} + +static void render_button_pressed(void) { + static const char pressed[] = { + // 'KeyPress-Down', 128x32px + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, + 0x60, 0x60, 0xe0, 0x20, 0xa0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, + 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0xfc, 0xe0, 0x80, 0x82, 0x84, 0xe8, 0x08, 0x18, 0x30, + 0x20, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf9, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x03, 0xe2, 0x7e, 0x83, 0x40, 0x40, 0xa0, 0x60, 0x50, 0x30, 0x28, 0x18, 0x0c, + 0x8c, 0x46, 0x96, 0x43, 0x2b, 0x01, 0xf6, 0x10, 0x50, 0x50, 0x50, 0x10, 0xd0, 0x00, 0xf0, 0x10, + 0x50, 0x50, 0x10, 0x10, 0xd0, 0x00, 0xf0, 0x10, 0x10, 0x50, 0x50, 0x10, 0xd0, 0x00, 0xf0, 0x10, + 0x50, 0x50, 0x10, 0x10, 0xd0, 0x10, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x11, 0x23, 0xe6, 0xe0, 0xf0, 0x80, 0x80, 0x80, 0xe7, 0x2f, 0x61, 0x40, 0x43, 0xc7, 0x80, 0x80, + 0xe0, 0x83, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x9f, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0xc0, 0x47, 0x7f, 0xc1, 0x02, 0x02, 0x05, 0x06, 0x0a, 0x0c, 0x14, 0x18, 0x30, + 0x31, 0x62, 0x69, 0x42, 0xd4, 0x80, 0x0f, 0x48, 0x1a, 0x1a, 0x1a, 0x18, 0x1b, 0x10, 0x0f, 0x08, + 0x18, 0x1a, 0x1a, 0x18, 0x13, 0x10, 0x0f, 0x08, 0x1a, 0x1a, 0x18, 0x18, 0x13, 0x10, 0x0f, 0x08, + 0x1a, 0x1a, 0x18, 0x18, 0x13, 0x18, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf8, + 0x1c, 0x47, 0x41, 0x40, 0x40, 0x7e, 0xe0, 0x61, 0x7d, 0xfc, 0x60, 0x64, 0xf8, 0x60, 0x66, 0x70, + 0xe1, 0x60, 0x7c, 0xe0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0f, 0x0c, 0x05, 0x0a, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x7f, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x06, 0x00, 0x03, 0x06, 0x00, 0x00, 0x07, 0x06, 0x07, + 0x7f, 0x7c, 0x0e, 0x1f, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + + static const char not_pressed[] = { + // 'KeyPress-UP', 128x32px + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x60, 0x60, + 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xe0, 0x20, 0xa0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, + 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0xfc, 0xe0, 0x80, 0x82, 0x84, 0xe8, 0x08, 0x18, 0x30, + 0x20, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf9, 0xf1, 0x3b, 0x06, 0x06, 0x06, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0xe2, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0xa0, 0x60, 0x50, 0x30, 0x28, 0x18, 0x0c, 0x8c, 0x46, 0x96, + 0x43, 0x2b, 0x01, 0x06, 0xf0, 0x10, 0x50, 0x50, 0x50, 0x10, 0xd0, 0x00, 0x00, 0xf0, 0x10, 0x50, + 0x50, 0x10, 0x10, 0xd0, 0x00, 0x00, 0xf0, 0x10, 0x10, 0x50, 0x50, 0x10, 0xd0, 0x00, 0x00, 0xf0, + 0x10, 0x50, 0x50, 0x10, 0x10, 0xd0, 0x10, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x11, 0x23, 0xe6, 0xe0, 0xf0, 0x80, 0x80, 0x80, 0xe7, 0x2f, 0x61, 0x40, 0x43, 0xc7, 0x80, 0x80, + 0xe0, 0x83, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x9f, 0x8f, 0xd8, 0xe0, 0x60, 0x60, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x47, 0x7f, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x05, 0x06, 0x0a, 0x0c, 0x14, 0x18, 0x30, 0x31, 0x62, 0x69, + 0x42, 0xd4, 0x80, 0x00, 0x4f, 0x08, 0x1a, 0x1a, 0x1a, 0x18, 0x1b, 0x10, 0x00, 0x0f, 0x08, 0x18, + 0x1a, 0x1a, 0x18, 0x13, 0x10, 0x00, 0x0f, 0x08, 0x1a, 0x1a, 0x18, 0x18, 0x13, 0x10, 0x00, 0x0f, + 0x08, 0x1a, 0x1a, 0x18, 0x18, 0x13, 0x18, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf8, + 0x1c, 0x47, 0x41, 0x40, 0x40, 0x7e, 0xe0, 0x61, 0x7d, 0xfc, 0x60, 0x64, 0xf8, 0x60, 0x66, 0x70, + 0xe1, 0x60, 0x7c, 0xe0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0f, 0x0c, 0x05, 0x0a, 0x05, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x7f, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x06, 0x00, 0x03, 0x06, 0x00, 0x00, 0x07, 0x06, 0x07, + 0x7f, 0x7c, 0x0e, 0x1f, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + + if (layer_changed) + flash_current_layer(); + + else if (key_pressed>0) + oled_write_raw_P(pressed, sizeof(pressed)); + else + oled_write_raw_P(not_pressed, sizeof(not_pressed)); +} + +static void flash_current_layer(void) { + // will flash for 500 ms + if (timer_elapsed(flash_timer) > 500) + layer_changed = false; + + static const char flash[][525] = { + { + // 'flash1', 128x32px + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x80, 0xc0, 0xf0, 0x70, 0x78, 0x38, 0x1c, 0x1c, 0x0c, 0xfc, 0xf8, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xfc, 0x18, 0x18, 0x10, 0x30, 0x60, 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xe0, 0x70, 0x78, 0x38, 0x1c, 0x18, 0x0c, 0x8c, 0x86, 0x06, 0x03, + 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf8, 0xf8, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x80, 0x80, 0x81, 0x81, 0x82, + 0x80, 0x84, 0x88, 0x88, 0x90, 0x10, 0x30, 0x20, 0x60, 0x40, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x0e, 0x1e, 0x1c, 0x38, 0x18, 0x30, 0x31, 0x61, 0x60, 0xc0, + 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x81, 0x81, 0x41, + 0x01, 0x21, 0x11, 0x11, 0x09, 0x18, 0x0c, 0x04, 0x06, 0x02, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x03, 0x0f, 0x0e, 0x1e, 0x1c, 0x38, 0x38, 0x30, 0x3f, 0x1f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0x18, 0x18, 0x08, 0x0c, 0x06, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + + { + // 'flash2', 128x32px + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x80, 0xc0, 0xf0, 0x70, 0x78, 0x38, 0x1c, 0x1c, 0x0c, 0xfc, 0xf8, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xfc, 0x18, 0x18, 0x10, 0x30, 0x60, 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xe0, 0x70, 0x78, 0x38, 0x1c, 0x18, 0x0c, 0x8c, 0x86, 0x06, 0x03, + 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x0f, 0x1e, 0x3c, 0x78, 0xf0, 0xe0, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x80, 0x80, 0x81, 0x81, 0x82, + 0x80, 0x84, 0x88, 0x88, 0x90, 0x10, 0x30, 0x20, 0x60, 0x40, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x0e, 0x1e, 0x1c, 0x38, 0x18, 0x30, 0x31, 0x61, 0x60, 0xc0, + 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1e, + 0x3c, 0x78, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0xe0, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x81, 0x81, 0x41, + 0x01, 0x21, 0x11, 0x11, 0x09, 0x18, 0x0c, 0x04, 0x06, 0x02, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x03, 0x0f, 0x0e, 0x1e, 0x1c, 0x38, 0x38, 0x30, 0x3f, 0x1f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0x18, 0x18, 0x08, 0x0c, 0x06, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + // 'flash3', 128x32px + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x80, 0xc0, 0xf0, 0x70, 0x78, 0x38, 0x1c, 0x1c, 0x0c, 0xfc, 0xf8, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xfc, 0x18, 0x18, 0x10, 0x30, 0x60, 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xe0, 0x70, 0x78, 0x38, 0x1c, 0x18, 0x0c, 0x8c, 0x86, 0x06, 0x03, + 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0xe0, + 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x80, 0x80, 0x81, 0x81, 0x82, + 0x80, 0x84, 0x88, 0x88, 0x90, 0x10, 0x30, 0x20, 0x60, 0x40, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x0e, 0x1e, 0x1c, 0x38, 0x18, 0x30, 0x31, 0x61, 0x60, 0xc0, + 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xff, + 0xff, 0xff, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x81, 0x81, 0x41, + 0x01, 0x21, 0x11, 0x11, 0x09, 0x18, 0x0c, 0x04, 0x06, 0x02, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x03, 0x0f, 0x0e, 0x1e, 0x1c, 0x38, 0x38, 0x30, 0x3f, 0x1f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0x18, 0x18, 0x08, 0x0c, 0x06, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + // 'flash4', 128x32px + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x80, 0xc0, 0xf0, 0x70, 0x78, 0x38, 0x1c, 0x1c, 0x0c, 0xfc, 0xf8, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xfc, 0x18, 0x18, 0x10, 0x30, 0x60, 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xe0, 0x70, 0x78, 0x38, 0x1c, 0x18, 0x0c, 0x8c, 0x86, 0x06, 0x03, + 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x03, 0x07, + 0x0f, 0x1e, 0x3c, 0x78, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x80, 0x80, 0x81, 0x81, 0x82, + 0x80, 0x84, 0x88, 0x88, 0x90, 0x10, 0x30, 0x20, 0x60, 0x40, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x0e, 0x1e, 0x1c, 0x38, 0x18, 0x30, 0x31, 0x61, 0x60, 0xc0, + 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x70, 0x70, 0x70, 0x70, 0x70, 0xff, 0xff, 0xff, 0x70, 0x70, + 0x70, 0x70, 0x70, 0x70, 0x70, 0x71, 0x73, 0x77, 0x7f, 0x7e, 0x7c, 0x78, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x81, 0x81, 0x41, + 0x01, 0x21, 0x11, 0x11, 0x09, 0x18, 0x0c, 0x04, 0x06, 0x02, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x03, 0x0f, 0x0e, 0x1e, 0x1c, 0x38, 0x38, 0x30, 0x3f, 0x1f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0x18, 0x18, 0x08, 0x0c, 0x06, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + } + }; + + oled_write_raw_P(flash[get_highest_layer(layer_state)], sizeof(flash[0])); +} + +static void render_daisy_logo(void){ + static const char Daisy_OLED[] = { + // 'Daisy-Logo', 128x32px + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xd8, 0xd8, 0x00, 0x40, 0xc0, + 0x40, 0xd8, 0x00, 0xfc, 0xfc, 0x00, 0xfc, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xf8, 0x0c, 0x06, 0x03, 0x01, 0x88, 0x00, 0x62, 0x62, 0x62, 0x00, 0x88, 0x00, + 0x62, 0x62, 0x62, 0x00, 0x88, 0x01, 0x03, 0x06, 0x0c, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xc2, 0xfe, 0xfe, 0xfe, 0x06, 0x02, 0x02, 0x02, 0x02, 0xfe, 0xfc, 0xf8, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x30, 0xf8, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x82, 0xfe, 0xfe, 0xfe, 0x0e, 0x02, 0x02, 0x00, 0x30, 0xfc, 0xf2, 0xe0, 0xe0, 0xc0, 0x82, 0x84, + 0x1e, 0x00, 0x00, 0x02, 0x06, 0x1e, 0xfe, 0xfe, 0xf2, 0x80, 0x80, 0x40, 0x12, 0x0e, 0x02, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4c, 0x6e, 0x00, 0x4d, 0x40, + 0x41, 0x6c, 0x00, 0x01, 0x01, 0x00, 0x01, 0xfe, 0x01, 0x00, 0xfe, 0xfe, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0x30, 0x60, 0xc0, 0x80, 0x11, 0x00, 0x46, 0x46, 0x46, 0x00, 0x19, 0x00, + 0x46, 0x46, 0x46, 0x00, 0x11, 0x80, 0xc0, 0x60, 0x30, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x40, 0x40, 0x78, 0x7f, 0x7f, 0x5f, 0x40, 0x40, 0x40, 0x40, 0x20, 0x3c, 0x1f, 0x1f, 0x07, 0x43, + 0x40, 0x60, 0x48, 0x06, 0x05, 0x04, 0x44, 0x7f, 0x7f, 0x7f, 0x70, 0x40, 0x00, 0x40, 0x40, 0x78, + 0x7f, 0x7f, 0x5f, 0x41, 0x00, 0x00, 0x00, 0x78, 0x20, 0x40, 0x01, 0x01, 0x03, 0x43, 0x3f, 0x1f, + 0x06, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7c, 0x7f, 0x7f, 0x4f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb8, 0x80, 0x10, 0x00, 0x32, 0x95, + 0x95, 0x36, 0x00, 0x80, 0x80, 0x7f, 0x00, 0x80, 0x7f, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x0d, 0x09, 0x00, 0x19, 0x0a, + 0x0a, 0x0b, 0x00, 0x3f, 0x3f, 0x00, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00 + }; + + oled_write_raw_P(Daisy_OLED, sizeof(Daisy_OLED)); +} + +bool logo_rendered = false; + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + if (!logo_rendered) { + //render_logo(); + render_daisy_logo(); + if (timer_read() > 2500) + logo_rendered = true; + } + else { + switch(current_display_mode) { + case 0: + render_layers(); + break; + case 1: + if(hidden){ + render_Hidden_animation(); + }else{ + render_Revengeday_animation(); + } + break; + case 2: + if(hidden){ + render_Hidden_animation(); + }else{ + render_NightCityCafe_animation(); + } + break; + case 3: + if(hidden){ + render_Hidden_animation(); + }else{ + render_CortexImplant_animation(); + } + break; + case 4: + render_button_pressed(); + break; + } + } + return false; +} +#endif diff --git a/keyboards/draytronics/daisy_v2/readme.md b/keyboards/draytronics/daisy_v2/readme.md new file mode 100644 index 00000000000..10988e5e673 --- /dev/null +++ b/keyboards/draytronics/daisy_v2/readme.md @@ -0,0 +1,26 @@ +# DAISY V2 +![daisy](https://i.imgur.com/42p02KD.png) + +An open source macro pad with a rotary encoder and OLED panel, this is an alternative version to the original through hole Daisy kit. More info / PCB designs available at [draytronics.co.uk/daisyV2](https://www.draytronics.co.uk/daisyV2) + +* Keyboard Maintainer: [Blake Drayson](https://github.com/ghostseven) +* Hardware Supported: DAISY PCB V2 / STM32F072 +* Hardware Availability: [draytronics.co.uk](https://draytronics.co.uk) + +Make example for this keyboard (after setting up your build environment): + + make draytronics/daisy_v2:default + +Flashing example for this keyboard: + + make draytronics/daisy_v2:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with [The QMK Tutorial](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the rotary encoder button and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/draytronics/daisy_v2/rules.mk b/keyboards/draytronics/daisy_v2/rules.mk new file mode 100644 index 00000000000..dbfa81b6ce0 --- /dev/null +++ b/keyboards/draytronics/daisy_v2/rules.mk @@ -0,0 +1 @@ +SRC += oled.c From dfd8d78b61eab119fde9409bfe00a578794a2934 Mon Sep 17 00:00:00 2001 From: Blake Date: Sat, 31 Aug 2024 13:56:26 +0100 Subject: [PATCH 02/12] Update keyboards/draytronics/daisy_v2/keyboard.json Co-authored-by: Ryan --- keyboards/draytronics/daisy_v2/keyboard.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/keyboards/draytronics/daisy_v2/keyboard.json b/keyboards/draytronics/daisy_v2/keyboard.json index b6e3f953ce2..750e577a25d 100644 --- a/keyboards/draytronics/daisy_v2/keyboard.json +++ b/keyboards/draytronics/daisy_v2/keyboard.json @@ -53,15 +53,15 @@ "layouts": { "LAYOUT": { "layout": [ - {"label": "", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "", "matrix": [1, 0], "x": 0, "y": 1}, - {"label": "", "matrix": [1, 1], "x": 1, "y": 1}, - {"label": "", "matrix": [1, 2], "x": 2, "y": 1}, - {"label": "", "matrix": [1, 3], "x": 3, "y": 1}, - {"label": "", "matrix": [2, 0], "x": 0, "y": 2}, - {"label": "", "matrix": [2, 1], "x": 1, "y": 2}, - {"label": "", "matrix": [2, 2], "x": 2, "y": 2}, - {"label": "", "matrix": [2, 3], "x": 3, "y": 2} + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2} ] } } From 1bd59415edb2e2443c6c54c0707fe16cf6f7c8ee Mon Sep 17 00:00:00 2001 From: Blake Date: Sat, 31 Aug 2024 13:56:33 +0100 Subject: [PATCH 03/12] Update keyboards/draytronics/daisy_v2/keyboard.json Co-authored-by: Ryan --- keyboards/draytronics/daisy_v2/keyboard.json | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/draytronics/daisy_v2/keyboard.json b/keyboards/draytronics/daisy_v2/keyboard.json index 750e577a25d..0801de47015 100644 --- a/keyboards/draytronics/daisy_v2/keyboard.json +++ b/keyboards/draytronics/daisy_v2/keyboard.json @@ -36,7 +36,6 @@ "knight": true, "christmas": true, "static_gradient": true, - "rgb_test": true, "alternating": true, "twinkle": true } From aa3029b4dfb9cb6e8641665aa122092a78c0e7e2 Mon Sep 17 00:00:00 2001 From: Blake Date: Sat, 31 Aug 2024 13:56:41 +0100 Subject: [PATCH 04/12] Update keyboards/draytronics/daisy_v2/halconfig.h Co-authored-by: Ryan --- keyboards/draytronics/daisy_v2/halconfig.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/draytronics/daisy_v2/halconfig.h b/keyboards/draytronics/daisy_v2/halconfig.h index fd2d74acc47..cb6d96cdb7f 100644 --- a/keyboards/draytronics/daisy_v2/halconfig.h +++ b/keyboards/draytronics/daisy_v2/halconfig.h @@ -30,6 +30,6 @@ The pixel graphics used here are from a combination of sources; */ #pragma once -#define HAL_USE_I2C TRUE //Enable I2C +#define HAL_USE_I2C TRUE #include_next From 0eaace20c1d826dbc312f58c157bf0298b879270 Mon Sep 17 00:00:00 2001 From: Blake Drayson Date: Sat, 31 Aug 2024 14:15:49 +0100 Subject: [PATCH 05/12] Conversion to Encoder Map --- .../draytronics/daisy_v2/keymaps/default/keymap.c | 14 ++++++-------- keyboards/draytronics/daisy_v2/rules.mk | 1 + 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/keyboards/draytronics/daisy_v2/keymaps/default/keymap.c b/keyboards/draytronics/daisy_v2/keymaps/default/keymap.c index 007840e55e3..8039d6bdcd8 100644 --- a/keyboards/draytronics/daisy_v2/keymaps/default/keymap.c +++ b/keyboards/draytronics/daisy_v2/keymaps/default/keymap.c @@ -84,11 +84,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ }; -bool encoder_update_user(uint8_t index, bool clockwise) { - if (clockwise) { - tap_code(KC_VOLD); - } else { - tap_code(KC_VOLU); - } - return false; -} +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_BASE] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [_CODE] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, +}; +#endif diff --git a/keyboards/draytronics/daisy_v2/rules.mk b/keyboards/draytronics/daisy_v2/rules.mk index dbfa81b6ce0..f2ba6e18ca1 100644 --- a/keyboards/draytronics/daisy_v2/rules.mk +++ b/keyboards/draytronics/daisy_v2/rules.mk @@ -1 +1,2 @@ +ENCODER_MAP_ENABLE = yes SRC += oled.c From 65c2f158d8d5cd00bfbe787d90ff56fe4dee9e9c Mon Sep 17 00:00:00 2001 From: Blake Drayson Date: Sat, 31 Aug 2024 14:40:23 +0100 Subject: [PATCH 06/12] Flip the direction of encoders correctly in config.h --- keyboards/draytronics/daisy_v2/config.h | 1 + keyboards/draytronics/daisy_v2/keymaps/default/keymap.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/keyboards/draytronics/daisy_v2/config.h b/keyboards/draytronics/daisy_v2/config.h index d2ad9390df3..42ff3881c6e 100644 --- a/keyboards/draytronics/daisy_v2/config.h +++ b/keyboards/draytronics/daisy_v2/config.h @@ -43,3 +43,4 @@ The pixel graphics used here are from a combination of sources; #define I2C1_TIMINGR_SCLL 0x09U #define OLED_TIMEOUT 300000 +#define ENCODER_DIRECTION_FLIP diff --git a/keyboards/draytronics/daisy_v2/keymaps/default/keymap.c b/keyboards/draytronics/daisy_v2/keymaps/default/keymap.c index 8039d6bdcd8..bc4f3136853 100644 --- a/keyboards/draytronics/daisy_v2/keymaps/default/keymap.c +++ b/keyboards/draytronics/daisy_v2/keymaps/default/keymap.c @@ -86,7 +86,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_BASE] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, - [_CODE] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_CODE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, }; #endif From 65e0672a077f59185255a4dd0c3709b8bca7ddc2 Mon Sep 17 00:00:00 2001 From: Blake Date: Sat, 31 Aug 2024 15:48:14 +0100 Subject: [PATCH 07/12] Update keyboards/draytronics/daisy_v2/config.h Co-authored-by: Ryan --- keyboards/draytronics/daisy_v2/config.h | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/draytronics/daisy_v2/config.h b/keyboards/draytronics/daisy_v2/config.h index 42ff3881c6e..d2ad9390df3 100644 --- a/keyboards/draytronics/daisy_v2/config.h +++ b/keyboards/draytronics/daisy_v2/config.h @@ -43,4 +43,3 @@ The pixel graphics used here are from a combination of sources; #define I2C1_TIMINGR_SCLL 0x09U #define OLED_TIMEOUT 300000 -#define ENCODER_DIRECTION_FLIP From 67a6dfe9ed52830d151dd9ab521acbd23fee4746 Mon Sep 17 00:00:00 2001 From: Blake Drayson Date: Sat, 31 Aug 2024 16:00:32 +0100 Subject: [PATCH 08/12] Fixed encoder direction flip, with pin change and moved encoder map enable to keymap level. --- keyboards/draytronics/daisy_v2/keyboard.json | 2 +- keyboards/draytronics/daisy_v2/keymaps/default/rules.mk | 1 + keyboards/draytronics/daisy_v2/rules.mk | 1 - 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 keyboards/draytronics/daisy_v2/keymaps/default/rules.mk diff --git a/keyboards/draytronics/daisy_v2/keyboard.json b/keyboards/draytronics/daisy_v2/keyboard.json index 0801de47015..7b3bf8bc8bb 100644 --- a/keyboards/draytronics/daisy_v2/keyboard.json +++ b/keyboards/draytronics/daisy_v2/keyboard.json @@ -7,7 +7,7 @@ "encoder": { "enabled": true, "rotary": [ - {"pin_a": "A15", "pin_b": "A14"} + {"pin_a": "A14", "pin_b": "A15"} ] }, "features": { diff --git a/keyboards/draytronics/daisy_v2/keymaps/default/rules.mk b/keyboards/draytronics/daisy_v2/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/draytronics/daisy_v2/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/draytronics/daisy_v2/rules.mk b/keyboards/draytronics/daisy_v2/rules.mk index f2ba6e18ca1..dbfa81b6ce0 100644 --- a/keyboards/draytronics/daisy_v2/rules.mk +++ b/keyboards/draytronics/daisy_v2/rules.mk @@ -1,2 +1 @@ -ENCODER_MAP_ENABLE = yes SRC += oled.c From 660d5f3c18c7117b96e374d0f9d0e8f2237d9b19 Mon Sep 17 00:00:00 2001 From: Blake Date: Tue, 15 Oct 2024 13:48:07 +0100 Subject: [PATCH 09/12] Update keyboards/draytronics/daisy_v2/readme.md Co-authored-by: Ryan --- keyboards/draytronics/daisy_v2/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/draytronics/daisy_v2/readme.md b/keyboards/draytronics/daisy_v2/readme.md index 10988e5e673..313b9f53c28 100644 --- a/keyboards/draytronics/daisy_v2/readme.md +++ b/keyboards/draytronics/daisy_v2/readme.md @@ -15,7 +15,7 @@ Flashing example for this keyboard: make draytronics/daisy_v2:default:flash -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with [The QMK Tutorial](https://docs.qmk.fm/#/newbs). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). ## Bootloader From aedf860574bc8923ff0317404ea5b5eea535dcc5 Mon Sep 17 00:00:00 2001 From: Blake Date: Tue, 15 Oct 2024 13:57:25 +0100 Subject: [PATCH 10/12] Update keyboards/draytronics/daisy_v2/keymaps/default/keymap.c Co-authored-by: Ryan --- keyboards/draytronics/daisy_v2/keymaps/default/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/draytronics/daisy_v2/keymaps/default/keymap.c b/keyboards/draytronics/daisy_v2/keymaps/default/keymap.c index bc4f3136853..f051a23b7a9 100644 --- a/keyboards/draytronics/daisy_v2/keymaps/default/keymap.c +++ b/keyboards/draytronics/daisy_v2/keymaps/default/keymap.c @@ -36,7 +36,7 @@ enum layers { }; enum my_keycodes { - ENCODER_PRESS = QK_KB, + ENCODER_PRESS = QK_USER, }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { From 7bf782d9d625bef4d60076f92a61dabc0c0d551f Mon Sep 17 00:00:00 2001 From: Blake Drayson Date: Tue, 15 Oct 2024 14:00:55 +0100 Subject: [PATCH 11/12] halconf rename and matching QK_USER in daisy_v2.c --- keyboards/draytronics/daisy_v2/daisy_v2.c | 2 +- keyboards/draytronics/daisy_v2/{halconfig.h => halconf.h} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename keyboards/draytronics/daisy_v2/{halconfig.h => halconf.h} (100%) diff --git a/keyboards/draytronics/daisy_v2/daisy_v2.c b/keyboards/draytronics/daisy_v2/daisy_v2.c index e5b22571c08..fb750fb9e28 100644 --- a/keyboards/draytronics/daisy_v2/daisy_v2.c +++ b/keyboards/draytronics/daisy_v2/daisy_v2.c @@ -31,7 +31,7 @@ The pixel graphics used here are from a combination of sources; #include "daisy_v2.h" enum my_keycodes { - ENCODER_PRESS = QK_KB, + ENCODER_PRESS = QK_USER, }; void board_init(void) { diff --git a/keyboards/draytronics/daisy_v2/halconfig.h b/keyboards/draytronics/daisy_v2/halconf.h similarity index 100% rename from keyboards/draytronics/daisy_v2/halconfig.h rename to keyboards/draytronics/daisy_v2/halconf.h From 60f6f30808a282d1fb104ca0f9f15d148252ed69 Mon Sep 17 00:00:00 2001 From: Blake Drayson Date: Tue, 15 Oct 2024 19:40:21 +0100 Subject: [PATCH 12/12] Moving LT(0, x) overrides to keymap level --- keyboards/draytronics/daisy_v2/daisy_v2.c | 89 +------------------ keyboards/draytronics/daisy_v2/daisy_v2.h | 46 ---------- .../daisy_v2/keymaps/default/keymap.c | 26 ++++++ keyboards/draytronics/daisy_v2/oled.c | 63 ++++++++++++- 4 files changed, 89 insertions(+), 135 deletions(-) delete mode 100644 keyboards/draytronics/daisy_v2/daisy_v2.h diff --git a/keyboards/draytronics/daisy_v2/daisy_v2.c b/keyboards/draytronics/daisy_v2/daisy_v2.c index fb750fb9e28..f5a82594ff5 100644 --- a/keyboards/draytronics/daisy_v2/daisy_v2.c +++ b/keyboards/draytronics/daisy_v2/daisy_v2.c @@ -28,95 +28,8 @@ The pixel graphics used here are from a combination of sources; 3. Key press indicator graphics were commissioned for this project and were designed by the amazing https://corteximplant.com/@jadedtwin / https://www.jadedtwin.com/ */ -#include "daisy_v2.h" - -enum my_keycodes { - ENCODER_PRESS = QK_USER, -}; +#include "quantum.h" void board_init(void) { SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP; } - -const uint8_t max_layer = 3; -uint8_t current_display_mode = 0; - -bool hidden = false; - -uint8_t key_pressed = 0; - - -/* EEPROM Stuct and function to allow init / saving of OLED mode */ -typedef union { -uint32_t raw; -struct { - uint8_t oled_mode :8; -}; -} kb_config_t; - -kb_config_t kb_config; - -void eeconfig_init_kb(void) { - //Init initial value and save to EEPROM. - kb_config.raw = 0; - eeconfig_update_kb(kb_config.raw); -} -/* End */ - -void keyboard_post_init_user(void) { - //Read user value and set current_display_mode. - kb_config.oled_mode = eeconfig_read_kb(); - current_display_mode = kb_config.oled_mode; - - //This is an adjustment to resolve the issue that occurs when there is a - //static colour underglow the first LED can be a different colour on first init. - rgblight_disable_noeeprom(); - rgblight_enable_noeeprom(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - if (!process_record_user(keycode, record)) { - return false; - } - #ifdef OLED_ENABLE - if (record->event.pressed) { - key_pressed++; - } else { - if (key_pressed) - key_pressed--; - } - #endif - switch(keycode) { - case LT(0, ENCODER_PRESS): - if (record->event.pressed) { - // on tap - if (record->tap.count) { - tap_code(KC_MUTE); - } - #ifdef OLED_ENABLE - // on hold - else { - hidden = false; - current_display_mode = (current_display_mode + 1) % 5; - // When mode changes update EEPROM. - kb_config.oled_mode = current_display_mode; - eeconfig_update_kb(kb_config.raw); - } - #endif - } - return false; - } - return true; -} - -#ifdef OLED_ENABLE -uint32_t flash_timer = 0; -bool layer_changed = false; - -// when the layer is changed, flash the layer number on the screen -layer_state_t layer_state_set_kb(layer_state_t state) { - flash_timer = timer_read(); - layer_changed = true; - return layer_state_set_user(state); -} -#endif diff --git a/keyboards/draytronics/daisy_v2/daisy_v2.h b/keyboards/draytronics/daisy_v2/daisy_v2.h deleted file mode 100644 index 2435eadadab..00000000000 --- a/keyboards/draytronics/daisy_v2/daisy_v2.h +++ /dev/null @@ -1,46 +0,0 @@ -/*Copyright 2024 Blake Drayson / Draytronics - -Contact info@draytronics.co.uk - -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 . - -This code is inspired by and adapted from the code used in the Printed Pad by Noah Beidelman (@noahbei) - -It also references the concept of glitching animations from Aleks (@aleksbrgt) - -The pixel graphics used here are from a combination of sources; - -1. Layer indicators are created by myself and free to use by anyone. -2. "Revengeday", "Cyber Cafe", "Cortex Implant" logos are used with kind permission of OBEY THE SYSTEM. - A collective of Fediverse instances and creatives. https://git.cyberwa.re/obey-the-system. - They are licenced as Non-Commercial and for use by members of the network, with attribution. -3. Key press indicator graphics were commissioned for this project and were designed by the - amazing https://corteximplant.com/@jadedtwin / https://www.jadedtwin.com/ -*/ -#pragma once - -#include "quantum.h" - -//for oled key press -extern uint8_t key_pressed; - -// for changing oled display mode -extern uint8_t current_display_mode; - -// for hidden animation toggle -extern bool hidden; - -//for determining when the layer is changed and having a timer for how long we flash the layer -extern uint32_t flash_timer; -extern bool layer_changed; diff --git a/keyboards/draytronics/daisy_v2/keymaps/default/keymap.c b/keyboards/draytronics/daisy_v2/keymaps/default/keymap.c index f051a23b7a9..3eb2c887f7a 100644 --- a/keyboards/draytronics/daisy_v2/keymaps/default/keymap.c +++ b/keyboards/draytronics/daisy_v2/keymaps/default/keymap.c @@ -90,3 +90,29 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [_CODE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, }; #endif + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch(keycode) { + case LT(0, ENCODER_PRESS): + if (record->event.pressed) { + // on tap + if (record->tap.count) { + tap_code(KC_MUTE); + } + #ifdef OLED_ENABLE + // on hold + else { + void oled_display_mode_step(void); + oled_display_mode_step(); + // hidden = false; + // current_display_mode = (current_display_mode + 1) % 5; + // // When mode changes update EEPROM. + // kb_config.oled_mode = current_display_mode; + // eeconfig_update_kb(kb_config.raw); + } + #endif + } + return false; + } + return true; +} diff --git a/keyboards/draytronics/daisy_v2/oled.c b/keyboards/draytronics/daisy_v2/oled.c index 66941c14bab..54a9acebd34 100644 --- a/keyboards/draytronics/daisy_v2/oled.c +++ b/keyboards/draytronics/daisy_v2/oled.c @@ -28,9 +28,21 @@ The pixel graphics used here are from a combination of sources; 3. Key press indicator graphics were commissioned for this project and were designed by the amazing https://corteximplant.com/@jadedtwin / https://www.jadedtwin.com/ */ -#include "daisy_v2.h" +#include "quantum.h" #ifdef OLED_ENABLE + +static uint8_t key_pressed = 0; + +// for changing oled display mode +static uint8_t current_display_mode = 0; + +// for hidden animation toggle +static bool hidden = false; + +static uint32_t flash_timer = 0; +static bool layer_changed = false; + static void flash_current_layer(void); uint8_t FRAME_DURATION = 100; @@ -41,6 +53,34 @@ uint8_t current_frame = 0; static bool glitch = true; static bool dirty = false; +/* EEPROM Stuct and function to allow init / saving of OLED mode */ +typedef union { +uint32_t raw; +struct { + uint8_t oled_mode :8; +}; +} kb_config_t; + +kb_config_t kb_config; + +void eeconfig_init_kb(void) { + //Init initial value and save to EEPROM. + kb_config.raw = 0; + eeconfig_update_kb(kb_config.raw); +} +/* End */ + +void keyboard_post_init_user(void) { + //Read user value and set current_display_mode. + kb_config.oled_mode = eeconfig_read_kb(); + current_display_mode = kb_config.oled_mode; + + //This is an adjustment to resolve the issue that occurs when there is a + //static colour underglow the first LED can be a different colour on first init. + rgblight_disable_noeeprom(); + rgblight_enable_noeeprom(); +} + static void render_CortexImplant_animation(void){ // 'CortexImplant_Clean', 128x32px @@ -2310,6 +2350,13 @@ static void render_daisy_logo(void){ bool logo_rendered = false; +void oled_display_mode_step(void) { + hidden = false; + current_display_mode = (current_display_mode + 1) % 5; + kb_config.oled_mode = current_display_mode; + eeconfig_update_kb(kb_config.raw); +} + bool oled_task_kb(void) { if (!oled_task_user()) { return false; @@ -2353,4 +2400,18 @@ bool oled_task_kb(void) { } return false; } + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + key_pressed = record->event.pressed; + + return process_record_user(keycode, record); +} + +// when the layer is changed, flash the layer number on the screen +layer_state_t layer_state_set_kb(layer_state_t state) { + flash_timer = timer_read(); + layer_changed = true; + return layer_state_set_user(state); +} + #endif