116 lines
4.2 KiB
C
116 lines
4.2 KiB
C
#include <stdint.h>
|
|
#include <assert.h>
|
|
|
|
#include "../compat/pgmspace.h"
|
|
#include "bitmapscroller.h"
|
|
#include "ideenpark.h"
|
|
|
|
|
|
static uint8_t const aIdeenparkBitmap[2][42][6] PROGMEM =
|
|
{{{0x00, 0x1f, 0xf0, 0x07, 0xf0, 0x00},
|
|
{0x00, 0x0f, 0xf0, 0x07, 0xf8, 0x00},
|
|
{0x00, 0x3f, 0xf8, 0x1f, 0xf8, 0x00},
|
|
{0x00, 0x1f, 0xf8, 0x0f, 0xfe, 0x00},
|
|
{0x00, 0x7f, 0xf8, 0x3f, 0xfc, 0x00},
|
|
{0x00, 0x7f, 0xfc, 0x1f, 0xff, 0x00},
|
|
{0x00, 0xff, 0xfc, 0x7f, 0xff, 0x00},
|
|
{0x00, 0x3f, 0xff, 0x7f, 0xfe, 0x00},
|
|
{0x00, 0x7f, 0xfe, 0x7f, 0xfe, 0x00},
|
|
{0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00},
|
|
{0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00},
|
|
{0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00},
|
|
{0x00, 0x07, 0xff, 0xff, 0xf8, 0x00},
|
|
{0x00, 0x0f, 0xff, 0xff, 0xe0, 0x00},
|
|
{0x00, 0x03, 0xff, 0xff, 0xe0, 0x00},
|
|
{0x10, 0x07, 0xff, 0xff, 0xe0, 0x00},
|
|
{0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc},
|
|
{0x1f, 0xff, 0xff, 0xf3, 0xff, 0xfc},
|
|
{0x67, 0x7f, 0xff, 0xc3, 0xff, 0x3c},
|
|
{0x64, 0xb3, 0x9e, 0xc0, 0x9f, 0xb7},
|
|
{0x61, 0x7f, 0xff, 0x48, 0x7f, 0xd6},
|
|
{0xe5, 0xc4, 0x02, 0x0b, 0x24, 0x1f},
|
|
{0xe7, 0x6f, 0x71, 0x0b, 0xe5, 0x1e},
|
|
{0x67, 0xe0, 0x09, 0x0e, 0x03, 0x8f},
|
|
{0x61, 0x5f, 0xb9, 0x8e, 0xe5, 0x24},
|
|
{0x1c, 0x73, 0x9f, 0xff, 0x9f, 0xf8},
|
|
{0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc},
|
|
{0x10, 0x07, 0xff, 0xff, 0xe0, 0x00},
|
|
{0x00, 0x03, 0xff, 0xff, 0xe0, 0x00},
|
|
{0x00, 0x0f, 0xff, 0xff, 0xe0, 0x00},
|
|
{0x00, 0x07, 0xff, 0xff, 0xf8, 0x00},
|
|
{0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00},
|
|
{0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00},
|
|
{0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00},
|
|
{0x00, 0x7f, 0xfe, 0x7f, 0xfe, 0x00},
|
|
{0x00, 0x3f, 0xff, 0x3f, 0xff, 0x00},
|
|
{0x00, 0xff, 0xfc, 0x7f, 0xff, 0x00},
|
|
{0x00, 0x7f, 0xfc, 0x1f, 0xff, 0x00},
|
|
{0x00, 0x7f, 0xf8, 0x3f, 0xfc, 0x00},
|
|
{0x00, 0x1f, 0xf8, 0x0f, 0xfe, 0x00},
|
|
{0x00, 0x3f, 0xf8, 0x0f, 0xf8, 0x00},
|
|
{0x00, 0x0f, 0xe0, 0x07, 0xf8, 0x00}},
|
|
|
|
{{0x00, 0x0f, 0xe0, 0x07, 0xf8, 0x00},
|
|
{0x00, 0x1f, 0xf0, 0x0f, 0xf8, 0x00},
|
|
{0x00, 0x1f, 0xf0, 0x0f, 0xfc, 0x00},
|
|
{0x00, 0x3f, 0xf8, 0x1f, 0xfc, 0x00},
|
|
{0x00, 0x3f, 0xfc, 0x1f, 0xfe, 0x00},
|
|
{0x00, 0x7f, 0xfc, 0x3f, 0xfe, 0x00},
|
|
{0x00, 0x7f, 0xfe, 0x3f, 0xfe, 0x00},
|
|
{0x00, 0x7f, 0xfe, 0x7f, 0xfe, 0x00},
|
|
{0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00},
|
|
{0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00},
|
|
{0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00},
|
|
{0x00, 0x0f, 0xff, 0xff, 0xf8, 0x00},
|
|
{0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00},
|
|
{0x00, 0x07, 0xff, 0xff, 0xf0, 0x00},
|
|
{0x00, 0x07, 0xff, 0xff, 0xe0, 0x00},
|
|
{0x0f, 0xff, 0xff, 0xff, 0xff, 0xf8},
|
|
{0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8},
|
|
{0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc},
|
|
{0x2f, 0xbf, 0xff, 0xe1, 0xff, 0xbe},
|
|
{0x6f, 0x3f, 0xff, 0xed, 0xff, 0x3e},
|
|
{0xec, 0x21, 0x08, 0x6d, 0x88, 0x2f},
|
|
{0xe9, 0x29, 0x69, 0x61, 0xc9, 0x8f},
|
|
{0x69, 0x80, 0x0b, 0x67, 0x0b, 0x8f},
|
|
{0x69, 0x0f, 0x7b, 0x6f, 0x69, 0x26},
|
|
{0x2c, 0x21, 0x0b, 0x6f, 0x0b, 0xb6},
|
|
{0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc},
|
|
{0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8},
|
|
{0x0f, 0xff, 0xff, 0xff, 0xff, 0xf8},
|
|
{0x00, 0x07, 0xff, 0xff, 0xe0, 0x00},
|
|
{0x00, 0x07, 0xff, 0xff, 0xf0, 0x00},
|
|
{0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00},
|
|
{0x00, 0x0f, 0xff, 0xff, 0xf8, 0x00},
|
|
{0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00},
|
|
{0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00},
|
|
{0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00},
|
|
{0x00, 0x7f, 0xfe, 0x7f, 0xfe, 0x00},
|
|
{0x00, 0x7f, 0xfe, 0x3f, 0xfe, 0x00},
|
|
{0x00, 0x7f, 0xfc, 0x3f, 0xfe, 0x00},
|
|
{0x00, 0x3f, 0xfc, 0x1f, 0xfe, 0x00},
|
|
{0x00, 0x3f, 0xf8, 0x1f, 0xfc, 0x00},
|
|
{0x00, 0x1f, 0xf0, 0x0f, 0xfc, 0x00},
|
|
{0x00, 0x1f, 0xf0, 0x0f, 0xf8, 0x00}}};
|
|
|
|
|
|
static uint8_t logo_Ideenpark_getChunk(unsigned char const nBitPlane,
|
|
unsigned char const nChunkX,
|
|
unsigned char const nChunkY,
|
|
unsigned int const nFrame)
|
|
{
|
|
assert(nBitPlane < 2);
|
|
assert(nChunkX < 6);
|
|
assert(nChunkY < 42);
|
|
|
|
return pgm_read_byte(&aIdeenparkBitmap[nBitPlane][nChunkY][nChunkX]);
|
|
}
|
|
|
|
|
|
void logo_Ideenpark()
|
|
{
|
|
// width 48, height 42, 2 bitplanes (4 colors), 600 frames à 50ms (20 fps)
|
|
// frame change and viewport movement after every cyle (both dividers are 1)
|
|
bitmap_scroll(48, 42, 2, 600, 50, 1, 1, logo_Ideenpark_getChunk);
|
|
}
|