borgware-2d/animations/27c3.c

61 lines
2.2 KiB
C

#include <stdint.h>
#include <assert.h>
#include "../compat/pgmspace.h"
#include "bitmapscroller.h"
#include "27c3.h"
static uint8_t const aBitmap27c3 [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}}};
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);
return pgm_read_byte(&aBitmap27c3[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);
}