#include #include #include "../compat/pgmspace.h" #include "bitmapscroller.h" #include "27c3.h" static uint8_t logo_27c3_getChunk(unsigned char const nBitPlane, unsigned char const nChunkX, unsigned char const nChunkY, unsigned int const nFrame) { assert(nBitPlane < 2); assert(nChunkX < 7); assert(nChunkY < 16); static uint8_t aBitmap [2][16][7] PROGMEM = {{{0x08, 0x00, 0x40, 0x04, 0x00, 0x40, 0x00}, // bit plane 0 {0x08, 0x00, 0x40, 0x04, 0x00, 0x40, 0x00}, {0x08, 0x00, 0x40, 0x04, 0x00, 0x40, 0x00}, {0x0F, 0xF0, 0x7F, 0x04, 0x00, 0x7F, 0x00}, {0x00, 0x10, 0x01, 0x04, 0x70, 0x01, 0x00}, {0x00, 0x10, 0x01, 0x04, 0x10, 0x01, 0x00}, {0x08, 0x00, 0x00, 0x04, 0x10, 0x40, 0x00}, {0x08, 0x00, 0x00, 0x04, 0x10, 0x40, 0x00}, {0x08, 0x00, 0x00, 0x04, 0x10, 0x40, 0x00}, {0x08, 0x7F, 0xFF, 0x04, 0x1E, 0x7F, 0x00}, {0x08, 0x00, 0x01, 0x04, 0x00, 0x01, 0x00}, {0x08, 0x00, 0x01, 0x04, 0x00, 0x01, 0x00}, {0x08, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00}, {0x08, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00}, {0x08, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00}, {0x0F, 0xFF, 0xF9, 0x07, 0xFF, 0xFF, 0xF0}}, {{0x0F, 0xFE, 0x7F, 0xE7, 0xFE, 0x7F, 0xF0}, // bit plane 1 {0x0F, 0xFE, 0x7F, 0xE7, 0xFE, 0x7F, 0xF0}, {0x0F, 0xFE, 0x7F, 0xE7, 0xFE, 0x7F, 0xF0}, {0x08, 0x0E, 0x40, 0xE7, 0xFE, 0x40, 0xF0}, {0x00, 0x1E, 0x01, 0xE7, 0x8E, 0x01, 0xF0}, {0x00, 0x1E, 0x01, 0xE7, 0x9E, 0x01, 0xF0}, {0x0F, 0xFF, 0xFF, 0xE7, 0x9E, 0x7F, 0xF0}, {0x0F, 0xFF, 0xFF, 0xE7, 0x9E, 0x7F, 0xF0}, {0x0F, 0xFF, 0xFF, 0xE7, 0x9E, 0x7F, 0xF0}, {0x0F, 0x80, 0x00, 0xE7, 0x90, 0x40, 0xF0}, {0x0F, 0x80, 0x01, 0xE7, 0x80, 0x01, 0xF0}, {0x0F, 0x80, 0x01, 0xE7, 0x80, 0x01, 0xF0}, {0x0F, 0xFF, 0xF9, 0xE7, 0xFF, 0xFF, 0xF0}, {0x0F, 0xFF, 0xF9, 0xE7, 0xFF, 0xFF, 0xF0}, {0x0F, 0xFF, 0xF9, 0xE7, 0xFF, 0xFF, 0xF0}, {0x08, 0x00, 0x01, 0xE4, 0x00, 0x00, 0x00}}}; return pgm_read_byte(&aBitmap[nBitPlane][nChunkY][nChunkX]); } void logo_27c3() { // width 56, height 16, 2 bitplanes (4 colors), 600 frames à 50ms (20 fps) bitmap_scroll(56, 16, 2, 600, 50, logo_27c3_getChunk); }