Browse Source

Add "watterott" demo. Fix #7

jamesbowman 8 years ago
parent
commit
80115eeb02
4 changed files with 708 additions and 2 deletions
  1. 496 0
      converted-assets/watterott_logo.h
  2. 1 1
      go
  3. 1 1
      publish.py
  4. 210 0
      watterott.ino

+ 496 - 0
converted-assets/watterott_logo.h

@@ -0,0 +1,496 @@
+static PROGMEM prog_uchar wlogo_palette[] = {
+
+0xff,  0x7f,  0xd6,  0x5a,  0xb5,  0x56,  0xb5,  0x56,  0xb5,  0x56,  0xb5,  0x56,  0xb5,  0x56,  0x28,  0x6e, 
+0x94,  0x52,  0x52,  0x4e,  0xe3,  0x75,  0xe2,  0x71,  0x08,  0x21,  0x63,  0x0c,  0x00,  0x00,  0x00,  0x80, 
+};
+#define WLOGO_FRAMES 19
+static void draw_wlogo(int x, int y, byte anim, byte rot, byte jk = 0)
+    {
+      switch (anim) {
+        
+  case 0:
+    GD.xsprite(x, y, 0, 16, 0, 4, rot, jk);
+    GD.xsprite(x, y, 0, 32, 0, 6, rot, jk);
+    break;
+  case 1:
+    GD.xsprite(x, y, 0, 16, 1, 4, rot, jk);
+    GD.xsprite(x, y, 0, 32, 1, 6, rot, jk);
+    break;
+  case 2:
+    GD.xsprite(x, y, 0, 16, 2, 4, rot, jk);
+    GD.xsprite(x, y, 0, 32, 2, 6, rot, jk);
+    break;
+  case 3:
+    GD.xsprite(x, y, 0, 16, 3, 4, rot, jk);
+    GD.xsprite(x, y, 0, 32, 3, 6, rot, jk);
+    break;
+  case 4:
+    GD.xsprite(x, y, 0, 16, 4, 4, rot, jk);
+    GD.xsprite(x, y, 0, 32, 4, 6, rot, jk);
+    break;
+  case 5:
+    GD.xsprite(x, y, 0, 0, 5, 4, rot, jk);
+    GD.xsprite(x, y, 0, 16, 5, 6, rot, jk);
+    GD.xsprite(x, y, 0, 32, 6, 4, rot, jk);
+    break;
+  case 6:
+    GD.xsprite(x, y, 0, 0, 6, 6, rot, jk);
+    GD.xsprite(x, y, 0, 16, 7, 4, rot, jk);
+    GD.xsprite(x, y, 0, 32, 7, 6, rot, jk);
+    break;
+  case 7:
+    GD.xsprite(x, y, 0, 0, 8, 4, rot, jk);
+    GD.xsprite(x, y, 0, 16, 8, 6, rot, jk);
+    GD.xsprite(x, y, 0, 32, 9, 4, rot, jk);
+    break;
+  case 8:
+    GD.xsprite(x, y, 0, 0, 9, 6, rot, jk);
+    GD.xsprite(x, y, 0, 16, 10, 4, rot, jk);
+    GD.xsprite(x, y, 0, 32, 10, 6, rot, jk);
+    break;
+  case 9:
+    GD.xsprite(x, y, 0, 0, 11, 4, rot, jk);
+    GD.xsprite(x, y, 0, 16, 11, 6, rot, jk);
+    GD.xsprite(x, y, 0, 32, 12, 4, rot, jk);
+    break;
+  case 10:
+    GD.xsprite(x, y, 0, 0, 12, 6, rot, jk);
+    GD.xsprite(x, y, 0, 16, 13, 4, rot, jk);
+    GD.xsprite(x, y, 0, 32, 13, 6, rot, jk);
+    break;
+  case 11:
+    GD.xsprite(x, y, 0, 0, 14, 4, rot, jk);
+    GD.xsprite(x, y, 0, 16, 14, 6, rot, jk);
+    GD.xsprite(x, y, 0, 32, 15, 4, rot, jk);
+    break;
+  case 12:
+    GD.xsprite(x, y, 0, 0, 15, 6, rot, jk);
+    GD.xsprite(x, y, 0, 16, 16, 4, rot, jk);
+    GD.xsprite(x, y, 0, 32, 16, 6, rot, jk);
+    break;
+  case 13:
+    GD.xsprite(x, y, 0, 0, 17, 4, rot, jk);
+    GD.xsprite(x, y, 0, 16, 17, 6, rot, jk);
+    GD.xsprite(x, y, 0, 32, 18, 4, rot, jk);
+    break;
+  case 14:
+    GD.xsprite(x, y, 0, 0, 18, 6, rot, jk);
+    GD.xsprite(x, y, 0, 16, 19, 4, rot, jk);
+    GD.xsprite(x, y, 0, 32, 19, 6, rot, jk);
+    break;
+  case 15:
+    GD.xsprite(x, y, 0, 0, 20, 4, rot, jk);
+    GD.xsprite(x, y, 0, 16, 20, 6, rot, jk);
+    GD.xsprite(x, y, 0, 32, 21, 4, rot, jk);
+    break;
+  case 16:
+    GD.xsprite(x, y, 0, 0, 21, 6, rot, jk);
+    GD.xsprite(x, y, 0, 16, 22, 4, rot, jk);
+    GD.xsprite(x, y, 0, 32, 22, 6, rot, jk);
+    break;
+  case 17:
+    GD.xsprite(x, y, 0, 0, 23, 4, rot, jk);
+    GD.xsprite(x, y, 0, 16, 23, 6, rot, jk);
+    GD.xsprite(x, y, 0, 32, 24, 4, rot, jk);
+    break;
+  case 18:
+    GD.xsprite(x, y, 0, 0, 24, 6, rot, jk);
+    GD.xsprite(x, y, 0, 16, 25, 4, rot, jk);
+    GD.xsprite(x, y, 0, 32, 25, 6, rot, jk);
+    break;
+
+        }
+    }
+    
+#define SPARK_FRAMES 1
+static void draw_spark(int x, int y, byte anim, byte rot, byte jk = 0)
+    {
+      switch (anim) {
+        
+  case 0:
+    GD.xsprite(x, y, -6, -5, 26, 8, rot, jk);
+    break;
+
+        }
+    }
+    
+static PROGMEM prog_uchar spark_palette[] = {
+
+0xff,  0x7f,  0xc2,  0x71,  0x00,  0x00,  0x00,  0x80, 
+};
+static PROGMEM prog_uchar wlogo_compressed[] = {
+
+0xc9,  0x81,  0x8e,  0xfb,  0x0f,  0x40,  0xe0,  0xdd,  0x07,  0xf0,  0xe0,  0x1f,  0xfc,  0x3c,  0x04,  0x40, 
+0x00,  0x0e,  0x02,  0x78,  0xf0,  0xf0,  0x17,  0x00,  0xc0,  0xb9,  0x0b,  0x60,  0xc1,  0x27,  0x84,  0x07, 
+0xcf,  0x08,  0x1e,  0xfc,  0xc3,  0x7f,  0xf8,  0x4f,  0xe0,  0xd1,  0x2b,  0x82,  0x07,  0xff,  0x14,  0x1e, 
+0xfc,  0x33,  0xb8,  0xbb,  0xe8,  0x17,  0xc0,  0xea,  0x57,  0x41,  0x0e,  0xb8,  0xc1,  0x3f,  0xf8,  0x87, 
+0xff,  0xf0,  0x1f,  0xfd,  0xf3,  0xa0,  0x7b,  0xf0,  0xe6,  0xfb,  0x21,  0xf8,  0x41,  0x1f,  0x3c,  0x02, 
+0xf1,  0xa8,  0x1f,  0xd3,  0x0e,  0x00,  0x0c,  0xfa,  0xe0,  0x03,  0xae,  0x97,  0xcf,  0x69,  0x00,  0x05, 
+0xa4,  0x57,  0x85,  0xf7,  0xe0,  0x1f,  0xfc,  0xc3,  0x7f,  0xf8,  0x8f,  0xbe,  0xf1,  0x75,  0x75,  0xa7, 
+0xbb,  0xdd,  0xb0,  0x79,  0x72,  0x60,  0xf0,  0x1f,  0x54,  0x00,  0xc0,  0x83,  0x07,  0x10,  0xfc,  0x07, 
+0xa5,  0x87,  0xf9,  0x13,  0x18,  0x62,  0x70,  0x10,  0x0e,  0x2c,  0xa3,  0x2e,  0xf4,  0x04,  0xff,  0xe0, 
+0x3f,  0x6b,  0xff,  0xec,  0xa0,  0xff,  0xb3,  0xf6,  0x07,  0xdd,  0x9f,  0x1e,  0x24,  0x83,  0xfa,  0x12, 
+0x8f,  0x12,  0x77,  0xa5,  0x2b,  0xf8,  0x77,  0xda,  0xc7,  0xe5,  0x26,  0x06,  0xd7,  0x96,  0x57,  0x33, 
+0xcb,  0x83,  0x7f,  0xf8,  0x4f,  0xe1,  0x83,  0xaa,  0x59,  0x04,  0xef,  0x04,  0xd4,  0x6b,  0x82,  0xcf, 
+0xa0,  0xef,  0x16,  0x7f,  0x64,  0xd0,  0xfb,  0xef,  0xa4,  0x83,  0x2e,  0xf8,  0xfa,  0xe9,  0xf5,  0x7f, 
+0x75,  0xd0,  0x07,  0x3f,  0x9f,  0xb1,  0xf5,  0x77,  0xe9,  0x0f,  0xe0,  0x41,  0x22,  0xf8,  0x87,  0xd2, 
+0xf5,  0x09,  0x40,  0x43,  0x00,  0xd7,  0x10,  0xbc,  0x75,  0x07,  0x70,  0x0d,  0xea,  0x83,  0x7f,  0x20, 
+0x01,  0x90,  0x3c,  0xc3,  0x7f,  0xe4,  0x04,  0x95,  0x3e,  0x3d,  0x80,  0x8e,  0xe1,  0x71,  0x22,  0xf8, 
+
+0x07,  0xff,  0xfb,  0xe1,  0x3b,  0x82,  0xeb,  0xd6,  0x15,  0xbc,  0x43,  0x78,  0x06,  0x08,  0x3e,  0x11, 
+0x02,  0x34,  0x6f,  0xde,  0xaa,  0x03,  0xa0,  0x82,  0xe0,  0x1b,  0xa2,  0x02,  0x54,  0xf6,  0x0a,  0x3e, 
+0x01,  0xa5,  0x45,  0x05,  0xff,  0xe0,  0x1f,  0xc1,  0x7d,  0x7b,  0x8f,  0xff,  0xb1,  0xb4,  0xef,  0x07, 
+0xf1,  0x10,  0x1f,  0x56,  0xfb,  0x7d,  0x10,  0x54,  0x00,  0x20,  0x00,  0xe4,  0x91,  0x40,  0xeb,  0x2b, 
+0xef,  0x17,  0xf2,  0xa0,  0x5f,  0xd9,  0x63,  0x7c,  0x8d,  0xd4,  0x9e,  0x5c,  0xb4,  0x77,  0xf0,  0x4c, 
+0xaa,  0x6b,  0xa0,  0xe6,  0xfa,  0x91,  0xaa,  0x3e,  0x80,  0x2a,  0xe8,  0x57,  0x01,  0xf2,  0x0f,  0x04, 
+0x98,  0xc2,  0xf6,  0xa0,  0x7b,  0x79,  0xee,  0x08,  0xee,  0x23,  0x2c,  0x80,  0x54,  0xfe,  0xea,  0x1f, 
+0xfd,  0x13,  0x2c,  0x78,  0xf7,  0x01,  0x38,  0xf8,  0x07,  0x5f,  0xf0,  0xc1,  0x3f,  0xfc,  0xf0,  0x0f, 
+0x41,  0x85,  0x38,  0xf8,  0xcc,  0x8f,  0x08,  0x19,  0x77,  0x83,  0x4f,  0x08,  0x4c,  0x5a,  0x0e,  0x02, 
+0x48,  0xf0,  0x77,  0xe0,  0x2e,  0x00,  0x6f,  0x4f,  0xf5,  0x71,  0x3b,  0xf8,  0x27,  0xc8,  0x16,  0x1c, 
+0xfe,  0x53,  0x54,  0x69,  0x08,  0xfe,  0xc1,  0x3f,  0xfa,  0x07,  0xff,  0xe8,  0x1f,  0xfe,  0xe3,  0x7f, 
+0xf0,  0xcf,  0x5e,  0xe1,  0x3f,  0x7d,  0xb7,  0x94,  0xf8,  0x3b,  0x91,  0x16,  0x88,  0xbf,  0x00,  0x1c, 
+0xdc,  0x82,  0xdf,  0xfc,  0xd8,  0x60,  0xe1,  0x67,  0xfa,  0x07,  0xff,  0xf0,  0x1f,  0xbd,  0x1b,  0x07, 
+0x80,  0xe6,  0x98,  0xfc,  0xfd,  0x39,  0x70,  0xed,  0x60,  0x91,  0x44,  0x5f,  0xd7,  0xc1,  0x3f,  0xf8, 
+0x6f,  0xd2,  0x1c,  0x12,  0xfe,  0x4b,  0xac,  0x2b,  0x57,  0xc1,  0x3f,  0x27,  0xaf,  0x86,  0x53,  0x5e, 
+0x33,  0xdf,  0xc5,  0x25,  0xaf,  0xac,  0xb7,  0x3c,  0xf8,  0x3f,  0xf2,  0xf0,  0x1f,  0xfe,  0xfb,  0xe0, 
+
+0x28,  0x06,  0xd0,  0xea,  0x83,  0x7f,  0xf8,  0x0f,  0xff,  0xd1,  0x3f,  0x7a,  0xe6,  0xc1,  0x80,  0x1a, 
+0xbf,  0xc1,  0xcd,  0x9d,  0xe9,  0x14,  0xfc,  0x83,  0x7f,  0xf8,  0x0f,  0xff,  0x31,  0x30,  0x80,  0x7d, 
+0x9a,  0x56,  0x10,  0xe0,  0x83,  0x4f,  0xab,  0x0e,  0xc4,  0xc1,  0x3f,  0xa4,  0xc6,  0x9a,  0x8d,  0x18, 
+0x40,  0x2f,  0xc9,  0xa9,  0xf7,  0x1f,  0xfc,  0x83,  0x7f,  0xf8,  0x0f,  0xff,  0xd1,  0xff,  0xad,  0x82, 
+0xcf,  0xee,  0x67,  0x21,  0xf8,  0x07,  0xff,  0xf0,  0xbf,  0x55,  0x02,  0x50,  0xf4,  0x7f,  0x8a,  0x71, 
+0x3f,  0xf8,  0xbb,  0x6f,  0xee,  0xad,  0x33,  0x78,  0xf7,  0x92,  0xad,  0x1c,  0xfc,  0x83,  0x5f,  0x00, 
+0x1c,  0x24,  0x81,  0xa4,  0x78,  0x05,  0xff,  0xe0,  0x9f,  0xc0,  0x83,  0x7f,  0xf4,  0x8f,  0xfe,  0xf1, 
+0x3f,  0xfa,  0x27,  0xff,  0xfc,  0x9f,  0xfe,  0x4b,  0x7c,  0xff,  0xf2,  0x70,  0xdf,  0x83,  0x40,  0xf0, 
+0x0f,  0xfe,  0xe1,  0x3f,  0xfc,  0x47,  0xff,  0xe8,  0x9f,  0xc0,  0xfd,  0x81,  0x0f,  0xff,  0xc1,  0x3f, 
+0x7d,  0xc2,  0x0b,  0xa0,  0x59,  0x00,  0x40,  0xf6,  0x12,  0x47,  0x2e,  0x80,  0xd2,  0x13,  0x17,  0xbc, 
+0xe4,  0x13,  0x08,  0x1e,  0xe2,  0xd0,  0xa1,  0x0b,  0x55,  0xc1,  0x87,  0x7c,  0x08,  0x90,  0x57,  0x32, 
+0xe0,  0x45,  0xa0,  0xe0,  0x13,  0x02,  0xc4,  0xc9,  0x0b,  0x00,  0xb1,  0x2a,  0xf8,  0x92,  0xa7,  0x10, 
+0x40,  0xb3,  0x57,  0xf0,  0x92,  0xff,  0xf4,  0xc2,  0xaf,  0x78,  0xf8,  0x6f,  0x0a,  0x3e,  0xfd,  0xe2, 
+0xe5,  0x9f,  0x7e,  0x0c,  0x0c,  0x30,  0xf2,  0x83,  0xb7,  0x7f,  0xf1,  0x01,  0x0c,  0x7d,  0xf1,  0x0a, 
+0xe8,  0x7f,  0x32,  0xf8,  0x07,  0xff,  0x08,  0x1e,  0x7e,  0x3c,  0x04,  0xf0,  0xe8,  0x0d,  0x6e,  0xee, 
+0x07,  0xff,  0xe0,  0x1f,  0xfe,  0xc3,  0x3f,  0xf8,  0xbf,  0x00,  0x2e,  0x80,  0x01,  0x18,  0x8b,  0xc1, 
+
+0x23,  0x80,  0x07,  0x81,  0xa9,  0xe8,  0x01,  0x9c,  0x03,  0xf7,  0x01,  0x3c,  0x78,  0xf9,  0x0b,  0xfe, 
+0xc1,  0x37,  0x56,  0x04,  0xf0,  0xe0,  0x5d,  0xa8,  0x1a,  0x7a,  0xf0,  0x0f,  0xfe,  0xc1,  0x3f,  0xfc, 
+0x77,  0xff,  0xe8,  0xd3,  0xdf,  0x07,  0xff,  0x08,  0x1f,  0xf3,  0x13,  0x7d,  0x6a,  0x79,  0xf2,  0x0a, 
+0x34,  0x00,  0x14,  0xf2,  0xf7,  0x00,  0x02,  0x88,  0x13,  0x27,  0x2e,  0x2a,  0x79,  0x2d,  0x70,  0x11, 
+0x1c,  0x82,  0x7f,  0xd3,  0x0a,  0xfe,  0x0e,  0x03,  0x70,  0xf0,  0x73,  0x19,  0x1a,  0x03,  0x52,  0xf8, 
+0x75,  0x14,  0x29,  0x8c,  0x00,  0x05,  0x01,  0x28,  0x19,  0x44,  0xdf,  0x40,  0x09,  0xc4,  0xc7,  0x59, 
+0xf4,  0x12,  0xfc,  0x83,  0x87,  0x57,  0x9f,  0x01,  0x20,  0xf8,  0x87,  0x4f,  0x2f,  0x5e,  0x03,  0x60, 
+0xf8,  0x8f,  0x3e,  0xfe,  0xb3,  0x6f,  0x2a,  0x04,  0x82,  0x04,  0x21,  0xfa,  0x00,  0x90,  0xbf,  0x9d, 
+0x16,  0x96,  0xec,  0x13,  0x80,  0x4a,  0x57,  0x00,  0xb9,  0xef,  0x41,  0x3c,  0xc4,  0x87,  0xf5,  0xf7, 
+0x1b,  0x80,  0xa3,  0xff,  0x96,  0x8d,  0xff,  0xc1,  0x3f,  0xfa,  0x87,  0x6f,  0x78,  0x19,  0x04,  0x5e, 
+0x00,  0x80,  0x00,  0x3f,  0x00,  0xf8,  0x87,  0x4f,  0x8e,  0x9c,  0xbc,  0x9c,  0x20,  0x2f,  0x50,  0x04, 
+0x48,  0x02,  0x01,  0x40,  0x02,  0x81,  0xe0,  0x41,  0xcf,  0x1f,  0xbd,  0xe0,  0x24,  0x0e,  0x5d,  0x00, 
+0x10,  0x17,  0x06,  0x42,  0xa0,  0x3f,  0x71,  0xc1,  0xa9,  0x8c,  0x92,  0x0f,  0x01,  0xc1,  0xbf,  0x6a, 
+0xd1,  0xa7,  0x4f,  0xc1,  0x83,  0x80,  0x38,  0x29,  0xa0,  0xb8,  0xfc,  0x67,  0xf1,  0xe4,  0x03,  0x80, 
+0xf8,  0xdf,  0x8f,  0x3e,  0x78,  0xd3,  0xcf,  0x1a,  0xe5,  0x23,  0x07,  0x86,  0xe9,  0x08,  0x14,  0x90, 
+0x43,  0x81,  0xf8,  0x00,  0x10,  0xa3,  0x02,  0xe8,  0xf4,  0x0c,  0xe0,  0xf7,  0x3a,  0xf8,  0x07,  0xbf, 
+
+0x2f,  0xff,  0x5d,  0x73,  0x6b,  0x9e,  0xed,  0xff,  0x8b,  0xc1,  0x6f,  0xff,  0x9f,  0xe1,  0x1e,  0xc7, 
+0xff,  0xa6,  0x01,  0x90,  0x1c,  0xfc,  0x83,  0x0b,  0xe0,  0x41,  0xc2,  0x1d,  0x80,  0xeb,  0xe1,  0xc0, 
+0x81,  0xbb,  0x00,  0xee,  0x0e,  0xcc,  0xc2,  0x28,  0x1e,  0x21,  0x3c,  0x0c,  0x80,  0x0b,  0xfe,  0xc1, 
+0xbf,  0x78,  0x00,  0x48,  0xe8,  0xe0,  0x36,  0xf6,  0x49,  0x3f,  0xd9,  0x9e,  0x3c,  0xf8,  0x79,  0xe9, 
+0x17,  0xeb,  0xfd,  0x07,  0xff,  0x1f,  0xff,  0xf0,  0x03,  0x7e,  0x30,  0x0f,  0xf5,  0xe1,  0x3d,  0xf2, 
+0x8f,  0xf0,  0xe1,  0x1c,  0x3c,  0x1d,  0x3a,  0x5c,  0xf8,  0xc1,  0xd3,  0x87,  0x17,  0x20,  0x4e,  0x5c, 
+0x2c,  0x77,  0xf8,  0xe0,  0x83,  0x97,  0xcb,  0x88,  0x10,  0x31,  0x02,  0xa6,  0xc3,  0x65,  0xe0,  0xd0, 
+0x4b,  0xf8,  0x0c,  0x40,  0xee,  0x5d,  0x04,  0x46,  0x90,  0x81,  0x20,  0x7c,  0x3b,  0x0a,  0x00,  0xee, 
+0x9d,  0x86,  0xe6,  0xe0,  0x1d,  0xbf,  0x83,  0x77,  0x92,  0x48,  0xfe,  0xe1,  0xcb,  0xe9,  0xb5,  0x48, 
+0xff,  0xe1,  0x2b,  0x0b,  0xa4,  0xef,  0xf0,  0xef,  0xa2,  0x00,  0xf8,  0x4c,  0x5e,  0xf1,  0x29,  0x7a, 
+0x07,  0x8f,  0xfc,  0x95,  0xa4,  0xb3,  0x97,  0x93,  0x03,  0xe8,  0x11,  0x44,  0x50,  0x08,  0x90,  0x0e, 
+0x03,  0x75,  0x03,  0x9a,  0xff,  0xc3,  0x77,  0xf9,  0x07,  0xff,  0x08,  0x1e,  0xfe,  0xa3,  0x7f,  0xf8, 
+0x8f,  0xff,  0xc9,  0x3f,  0xf9,  0xc0,  0x87,  0x7f,  0x3e,  0xe1,  0x05,  0xd0,  0xe0,  0x49,  0x9e,  0xbc, 
+0x07,  0x74,  0xf4,  0xc8,  0x05,  0x20,  0x76,  0x01,  0x50,  0x42,  0xf0,  0x92,  0x17,  0x1c,  0xc5,  0x91, 
+0x43,  0x27,  0x2e,  0x04,  0x32,  0x38,  0x0e,  0xd1,  0x23,  0x68,  0x04,  0xcf,  0x52,  0x18,  0x7c,  0xca, 
+0x47,  0xf0,  0x0f,  0x80,  0x37,  0xc0,  0x83,  0x07,  0x01,  0x04,  0x02,  0x80,  0x80,  0xc0,  0xe0,  0x81, 
+
+0x41,  0x00,  0xac,  0x40,  0xe2,  0x53,  0x06,  0x79,  0xf1,  0x8f,  0x93,  0x7d,  0x00,  0x7c,  0x4e,  0xf2, 
+0x83,  0x8f,  0xf8,  0xe0,  0x17,  0xbe,  0x22,  0x62,  0x78,  0x92,  0xff,  0x9d,  0xe1,  0x8b,  0x0f,  0xa0, 
+0xd1,  0x39,  0xc0,  0x3f,  0x85,  0xdd,  0x19,  0xfc,  0x83,  0x7f,  0x84,  0x0f,  0x3f,  0x79,  0x30,  0xa0, 
+0x44,  0x9f,  0x79,  0x3f,  0x35,  0x83,  0xd7,  0x32,  0x0f,  0xde,  0x0e,  0x1d,  0xac,  0xf3,  0xf0,  0xed, 
+0xc0,  0x5d,  0x74,  0x8f,  0x5e,  0x06,  0xdc,  0x05,  0xff,  0xf8,  0xe5,  0x01,  0x5c,  0xf0,  0x0f,  0x3e, 
+0xfe,  0x42,  0x40,  0x76,  0x0f,  0xde,  0x21,  0xa0,  0xfa,  0x17,  0xc0,  0xbc,  0x55,  0xff,  0xef,  0x6c, 
+0xf3,  0x0f,  0xfe,  0x1d,  0x3e,  0xfa,  0x27,  0xf4,  0xf8,  0x3f,  0xe8,  0x87,  0xfb,  0xe8,  0x9f,  0xe0, 
+0x93,  0x2c,  0x80,  0x07,  0x49,  0x90,  0x20,  0xc1,  0xdb,  0xef,  0x85,  0x01,  0xdd,  0xa5,  0xb3,  0x60, 
+0x1f,  0x7c,  0x5c,  0x0e,  0x84,  0x00,  0x18,  0x88,  0x03,  0x45,  0xf0,  0x72,  0xe8,  0x2c,  0x00,  0xb8, 
+0x70,  0x11,  0x08,  0x03,  0x40,  0xd8,  0x88,  0x5e,  0x41,  0xc9,  0x85,  0xa3,  0x40,  0x61,  0x0c,  0x18, 
+0x30,  0x10,  0xe0,  0x41,  0x00,  0x0b,  0xde,  0x87,  0xd3,  0x05,  0x30,  0x6f,  0xde,  0x7c,  0xfa,  0xf7, 
+0xe1,  0x2d,  0xf8,  0x81,  0x0c,  0x0e,  0xde,  0x7c,  0x04,  0xff,  0xe0,  0x1f,  0xfe,  0xc3,  0x7f,  0xfc, 
+0x05,  0x11,  0x7d,  0xb3,  0x97,  0xb3,  0xbc,  0x18,  0xbc,  0x92,  0x87,  0xcf,  0xe0,  0x91,  0x0f,  0x02, 
+0x44,  0xf0,  0xf2,  0x11,  0x00,  0xd3,  0x87,  0x8f,  0x7d,  0xff,  0x47,  0x8f,  0x7d,  0xf0,  0x0f,  0xff, 
+0x11,  0x9a,  0x5d,  0x00,  0x08,  0xfe,  0xc1,  0x47,  0x5c,  0xfc,  0x4f,  0x48,  0xf2,  0x02,  0x40,  0xf2, 
+0x0f,  0xfe,  0x99,  0x00,  0x1e,  0x3c,  0x08,  0xf0,  0x03,  0x60,  0xf4,  0x89,  0x18,  0x89,  0x92,  0x1d, 
+
+0x83,  0x00,  0x08,  0xc1,  0x43,  0xf0,  0x0e,  0x4e,  0xe2,  0xd0,  0x05,  0x80,  0x80,  0xe1,  0x2f,  0xf8, 
+0xa5,  0x9a,  0x72,  0x11,  0xfc,  0xab,  0x68,  0xac,  0x10,  0xe0,  0x41,  0x42,  0x5c,  0x0c,  0x14,  0x01, 
+0x84,  0x3d,  0x7b,  0xf1,  0xfe,  0xe5,  0x07,  0x82,  0x40,  0xd9,  0x40,  0x82,  0x97,  0xf8,  0xe0,  0xc9, 
+0x5e,  0x7e,  0x00,  0x0e,  0xde,  0x21,  0x24,  0x14,  0x87,  0x8d,  0x00,  0xd0,  0x25,  0x03,  0x45,  0x78, 
+0x7d,  0x9e,  0xf7,  0x3f,  0x08,  0x80,  0x0f,  0xfe,  0xc1,  0x3f,  0xf8,  0x87,  0x5f,  0x0f,  0x00,  0x1c, 
+0x04,  0x90,  0xe8,  0xe3,  0xc1,  0x1f,  0x38,  0x77,  0x01,  0x24,  0x44,  0x05,  0xff,  0x10,  0x13,  0xbe, 
+0xe4,  0x05,  0xff,  0x88,  0x18,  0x3d,  0x83,  0x7b,  0x6c,  0x02,  0x10,  0x3c,  0x1c,  0x44,  0xf7,  0xe0, 
+0xe3,  0x3e,  0x84,  0x87,  0x01,  0x70,  0x9b,  0x30,  0xf8,  0x07,  0xc7,  0x4b,  0x04,  0x1e,  0x00,  0xb8, 
+0x00,  0x76,  0x4b,  0x0a,  0x44,  0x00,  0x0f,  0xfe,  0xaf,  0x3c,  0xf8,  0x7f,  0xf2,  0xe8,  0xff,  0xcb, 
+0x7b,  0xfc,  0x80,  0x1f,  0xf1,  0x23,  0x7e,  0xe2,  0x83,  0x0f,  0x40,  0x33,  0x7e,  0x46,  0xce,  0xfb, 
+0xc5,  0xde,  0x20,  0x02,  0xf8,  0x64,  0xe9,  0xe8,  0x23,  0x3b,  0xf8,  0x8f,  0xd4,  0x14,  0x00,  0x60, 
+0xa0,  0x8f,  0xa8,  0x12,  0x10,  0xfc,  0x83,  0x7f,  0x02,  0x0f,  0xff,  0xd1,  0x3f,  0xf8,  0xc7,  0xff, 
+0xe8,  0x9f,  0xfc,  0xf3,  0x7f,  0xfa,  0x2f,  0xf1,  0xd9,  0x6b,  0xc1,  0x2f,  0xf8,  0x10,  0xbe,  0xe0, 
+0xc3,  0x7f,  0xf8,  0x8f,  0xfe,  0x07,  0x3e,  0xfe,  0x27,  0x7f,  0x7f,  0xe0,  0xd2,  0x7f,  0xf0,  0x75, 
+0x70,  0xe3,  0xc3,  0x8f,  0xbb,  0x03,  0xf5,  0xd0,  0x83,  0xef,  0xcb,  0x0f,  0x7e,  0x9f,  0x3c,  0xf8, 
+0xfd,  0x8a,  0x00,  0x02,  0x20,  0x79,  0x05,  0xf4,  0xa7,  0x14,  0xfc,  0x83,  0x7f,  0x84,  0x0f,  0xff, 
+
+0x31,  0x3f,  0xf8,  0x07,  0xba,  0xa3,  0x10,  0xfc,  0x83,  0x7f,  0x84,  0x0f,  0xdf,  0x79,  0x34,  0xff, 
+0xb9,  0x9b,  0xfb,  0xc5,  0xa3,  0x79,  0x07,  0xff,  0xe0,  0x1f,  0xfe,  0xc3,  0x37,  0xb8,  0x00,  0x06, 
+0x00,  0x40,  0xf4,  0x76,  0x10,  0xc0,  0x01,  0xa4,  0x25,  0x70,  0xee,  0x03,  0x38,  0xf8,  0xb3,  0x1c, 
+0xfc,  0x83,  0x2f,  0xf8,  0x00,  0x1e,  0x7e,  0xea,  0xff,  0x1c,  0x6d,  0xfe,  0xc1,  0xbf,  0xc3,  0x47, 
+0xff,  0x9e,  0x9f,  0xfe,  0xb3,  0xdf,  0xb0,  0x08,  0xfe,  0xc1,  0x3f,  0xfc,  0x87,  0xff,  0xe8,  0x5b, 
+0x94,  0xe3,  0x7f,  0x12,  0x6d,  0xfe,  0x6d,  0x20,  0x2d,  0xbb,  0x0b,  0xe0,  0xc1,  0x3f,  0xf8,  0x87, 
+0xff,  0x40,  0x0c,  0xa0,  0x2d,  0x07,  0xff,  0xe0,  0x71,  0x96,  0xc3,  0x7f,  0xf0,  0x8f,  0xfe,  0xe1, 
+0x3f,  0xfa,  0x47,  0xff,  0xf8,  0x1f,  0xfd,  0x93,  0x7f,  0x0e,  0x8f,  0x3e,  0xf7,  0xff,  0x01,  0x04, 
+0xff,  0xe0,  0x1f,  0xfc,  0xc3,  0x7f,  0xf0,  0x8f,  0xfe,  0x09,  0x3c,  0xfe,  0xa7,  0x64,  0x79,  0xe6, 
+0x0c,  0x98,  0x0f,  0x00,  0xc9,  0x5f,  0x9e,  0x3d,  0x7b,  0x16,  0xec,  0x07,  0x00,  0xf1,  0xc1,  0x3f, 
+0x78,  0x84,  0x80,  0x00,  0xf0,  0x13,  0xc2,  0xbf,  0x3c,  0x71,  0xf0,  0xe0,  0xa1,  0x2b,  0x94,  0xf1, 
+0x0d,  0x5c,  0x99,  0xf9,  0x88,  0x15,  0x09,  0x9e,  0x3d,  0x73,  0xf2,  0x52,  0x82,  0xb9,  0xe0,  0x19, 
+0x02,  0x02,  0x10,  0x84,  0x78,  0x18,  0xbf,  0xff,  0x2f,  0xfa,  0x74,  0x18,  0x10,  0xff,  0x7d,  0xf0, 
+0x90,  0x2f,  0x5e,  0xbc,  0x7c,  0xf9,  0xc1,  0x1f,  0x7d,  0x51,  0x0c,  0xe7,  0x5d,  0x10,  0x7e,  0xf8, 
+0x08,  0x40,  0xd1,  0x1f,  0x91,  0x5d,  0xb8,  0x01,  0x40,  0xae,  0xdd,  0xf8,  0x1f,  0x3c,  0x02,  0x70, 
+0xf2,  0x87,  0x68,  0x33,  0x00,  0x99,  0xcc,  0xb7,  0x53,  0x52,  0xbe,  0xc1,  0x00,  0x08,  0x7f,  0xfa, 
+
+0xcc,  0x29,  0xbf,  0x01,  0xc8,  0x4f,  0xf0,  0xf7,  0x98,  0x1c,  0x03,  0x62,  0xf8,  0xc7,  0x64,  0xd7, 
+0x4e,  0x00,  0x48,  0x5e,  0xe0,  0x02,  0xe0,  0x97,  0x08,  0x1e,  0x76,  0x86,  0xa5,  0xc5,  0xf4,  0xe9, 
+0x20,  0x00,  0x05,  0xff,  0x28,  0xe1,  0x3e,  0x00,  0x85,  0xcf,  0xa8,  0x11,  0x7d,  0x82,  0x7f,  0x00, 
+0xb2,  0x73,  0x11,  0xc0,  0x07,  0xe0,  0xfa,  0x91,  0x0c,  0x43,  0x42,  0x2b,  0xbf,  0x8b,  0x1e,  0x03, 
+0x60,  0x7f,  0x0f,  0x16,  0x7e,  0x9f,  0xa5,  0xa7,  0xe2,  0x39,  0x7e,  0x83,  0x72,  0x28,  0x0e,  0xfe, 
+0x91,  0x04,  0x70,  0x00,  0x06,  0x10,  0x58,  0x82,  0x79,  0xf0,  0x0f,  0x5b,  0x00,  0x01,  0x04,  0xc4, 
+0xc0,  0x18,  0xfe,  0x43,  0x40,  0x48,  0x89,  0xe0,  0x01,  0x28,  0xb8,  0x87,  0xf0,  0x94,  0x1f,  0x41, 
+0x12,  0x63,  0x12,  0x88,  0x7e,  0x41,  0x2f,  0xfd,  0x17,  0xf0,  0xac,  0x13,  0xcf,  0x8b,  0x4b,  0xba, 
+0xaf,  0xe8,  0x35,  0xbc,  0xce,  0x37,  0xf4,  0xa6,  0xdf,  0xca,  0xdb,  0x7d,  0x67,  0xef,  0x7e,  0x80, 
+0x01, 
+};
+static PROGMEM prog_uchar logobg_pic[] = {
+
+0x00,  0x00,  0x00,  0x01,  0x02,  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,  0x04,  0x05, 
+0x00,  0x00,  0x00,  0x06,  0x00,  0x00,  0x00,  0x00,  0x00,  0x07,  0x08,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x09,  0x0a,  0x0b,  0x0c,  0x0d,  0x0e,  0x00,  0x00,  0x0f, 
+0x10,  0x11,  0x12,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x13,  0x14,  0x15,  0x16,  0x17,  0x18,  0x19,  0x1a,  0x1b,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x1c,  0x1d,  0x1e,  0x1e,  0x1f, 
+0x20,  0x21,  0x21,  0x21,  0x22,  0x23,  0x23,  0x24,  0x25,  0x0c,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x26,  0x27,  0x28,  0x29,  0x2a,  0x2b,  0x2c,  0x2d,  0x2e,  0x2e,  0x2f,  0x30,  0x30,  0x30, 
+0x31,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x26,  0x32,  0x33,  0x34,  0x1b,  0x00,  0x35, 
+0x36,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x37,  0x38,  0x39,  0x00,  0x00,  0x00,  0x00,  0x3a,  0x3b,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x3a,  0x3c,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x3d,  0x3e,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+
+0x00,  0x00,  0x00,  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,  0x40, 
+0x05,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x41,  0x42,  0x43,  0x05,  0x00,  0x00,  0x00,  0x44, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x45,  0x46,  0x47,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x48,  0x49,  0x0b,  0x0c,  0x4a,  0x4b,  0x00,  0x4c,  0x4d,  0x4e,  0x11,  0x4f,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x50,  0x51,  0x52, 
+0x53,  0x54,  0x18,  0x55,  0x56,  0x12,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x1c,  0x57,  0x1e,  0x1e,  0x1f,  0x58,  0x59,  0x21,  0x21, 
+0x21,  0x23,  0x23,  0x23,  0x5a,  0x25,  0x5b,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x26,  0x27, 
+0x5c,  0x5d,  0x5e,  0x5f,  0x60,  0x61,  0x2c,  0x2c,  0x62,  0x2e,  0x2e,  0x63,  0x30,  0x30,  0x64,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x26,  0x32,  0x65,  0x66,  0x67,  0x3e,  0x68,  0x69,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x6a,  0x6b,  0x6c, 
+0x00,  0x00,  0x00,  0x00,  0x6d,  0x6e,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x6f,  0x70,  0x00, 
+
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x71,  0x3e,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  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,  0x72,  0x05,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x73,  0x74,  0x0c,  0x00,  0x00,  0x00,  0x75,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x76,  0x77,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x78, 
+0x79,  0x7a,  0x00,  0x7b,  0x7c,  0x00,  0x00,  0x7d,  0x7e,  0x7f,  0x80,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x81,  0x82,  0x83,  0x84,  0x85,  0x86,  0x87, 
+0x88,  0x89,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x8a,  0x8b,  0x1e,  0x1e,  0x8c,  0x8d,  0x59,  0x21,  0x21,  0x21,  0x23,  0x23,  0x23, 
+0x5a,  0x25,  0x5b,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x26,  0x27,  0x5c,  0x5d,  0x5e,  0x5f, 
+0x60,  0x61,  0x2c,  0x2c,  0x62,  0x2e,  0x2e,  0x63,  0x30,  0x30,  0x64,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x26,  0x8e,  0x8f,  0x90,  0x67,  0x3e,  0x68,  0x91,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x92,  0x93,  0x39,  0x00,  0x00,  0x00,  0x00, 
+0x6d,  0x94,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x95,  0x96,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x97,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x98,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x4c,  0x0c,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x99,  0x9a,  0x0c,  0x00,  0x00,  0x00,  0x9b,  0x00,  0x00,  0x00,  0x00,  0x00,  0x9c,  0x9d,  0x9e, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x9f,  0xa0,  0xa1,  0x00,  0xa2, 
+0xa3,  0x00,  0x00,  0x0f,  0xa4,  0xa5,  0xa6,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0xa7,  0xa8,  0xa9,  0xaa,  0xab,  0xac,  0xad,  0xae,  0x4f,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0xaf, 
+0xb0,  0x1e,  0x1e,  0x8c,  0x8d,  0xb1,  0x21,  0x21,  0xb2,  0xb3,  0xb4,  0xb5,  0x00,  0x00,  0x00,  0x00, 
+
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0xb6,  0xb7,  0xb8,  0xb9,  0x2a,  0x2b,  0xba,  0x2e,  0x2f,  0x30, 
+0x30,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0xb6,  0xbb,  0xbc, 
+0xbd,  0xbe,  0x00,  0xbf,  0x36,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0xc0,  0xc1,  0x64,  0x00,  0x00,  0x00,  0x00,  0x3a,  0x6e,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x3a,  0x70,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0xc2,  0x3e, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0xc3,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0xc4,  0x05,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x26,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0xc5,  0xc6,  0x0c, 
+0x00,  0x00,  0x00,  0x44,  0x00,  0x00,  0x00,  0x00,  0x26,  0xc7,  0xc8,  0xc9,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0xca,  0xcb,  0x7a,  0x00,  0xcc,  0x4b,  0x00,  0x4c,  0x4d, 
+0xcd,  0xce,  0x4f,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+
+0x00,  0xcf,  0xd0,  0xa9,  0xd1,  0x54,  0x18,  0xd2,  0xae,  0x12,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0xd3,  0xd4,  0x1e,  0x1e,  0x8c, 
+0x8d,  0xb1,  0x21,  0x21,  0xd5,  0xd6,  0xd7,  0xd8,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x4c,  0xd9,  0xda,  0x5d,  0x5e,  0xdb,  0xdc,  0x2e,  0x2f,  0x30,  0x30,  0x3e,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x4c,  0xdd,  0xde,  0xdf,  0xe0,  0x3e,  0x68, 
+0xe1,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0xe2,  0x3e,  0x00,  0x00,  0x00,  0x00,  0x6d,  0xe3,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0xe4,  0xe5,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0xe6,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0xe7,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
+};
+static PROGMEM prog_uchar logobg_chr_compressed[] = {
+
+0xc9,  0x01,  0x6f,  0x02,  0x08,  0xe0,  0x41,  0x1e,  0x00,  0x04,  0x00,  0x40,  0x01,  0x00,  0xa4,  0x00, 
+0x00,  0x2a,  0x00,  0x60,  0x81,  0x21,  0xfc,  0x47,  0xc1,  0x90,  0xa0,  0x14,  0x00,  0x2b,  0x02,  0xd0, 
+0xa4,  0x00,  0x54,  0x19,  0x18,  0x00,  0xc0,  0x0a,  0xf7,  0x00,  0x08,  0x00,  0x90,  0x02,  0x40,  0x25, 
+0x01,  0x55,  0x12,  0x58,  0x29,  0x85,  0xa5,  0x2a,  0xf9,  0xc7,  0xd8,  0xe4,  0x93,  0x22,  0xa0,  0x00, 
+0x60,  0x12,  0xa0,  0xb3,  0x7f,  0x1e,  0x88,  0x17,  0x54,  0xa9,  0xc6,  0x81,  0x02,  0x02,  0x05,  0x28, 
+0x01,  0x2a,  0x89,  0xb3,  0x58,  0x00,  0x53,  0x05,  0x30,  0x61,  0xa4,  0x0b,  0x68,  0x69,  0x2f,  0x47, 
+0xa8,  0xa2,  0xa0,  0x4a,  0xa9,  0xaa,  0x00,  0xc8,  0x4a,  0x55,  0xba,  0x08,  0x17,  0x39,  0x3e,  0x47, 
+0x49,  0x51,  0x55,  0x24,  0x1a,  0x78,  0x91,  0x49,  0xdd,  0x01,  0xa6,  0x7c,  0x04,  0x48,  0x96,  0x91, 
+0x23,  0x40,  0xab,  0x2a,  0x1f,  0x01,  0xba,  0xfb,  0xf7,  0x01,  0xa0,  0x00,  0x69,  0x51,  0xab,  0x3e, 
+0xd1,  0x82,  0x1a,  0xd4,  0xf4,  0x99,  0x2c,  0x52,  0x44,  0xaf,  0x00,  0xca,  0x8a,  0x56,  0xe0,  0x6c, 
+0x1e,  0x19,  0xa2,  0x78,  0x05,  0xbe,  0x5a,  0xde,  0xe7,  0xe7,  0x4c,  0x99,  0x2a,  0x37,  0xd0,  0xea, 
+0xb4,  0x84,  0x1a,  0x1f,  0x66,  0x0a,  0xe6,  0x94,  0x08,  0x90,  0x14,  0x60,  0x29,  0x8d,  0x08,  0x19, 
+0x71,  0x52,  0x04,  0x58,  0x25,  0xad,  0xa6,  0xc8,  0x47,  0x3f,  0xaa,  0x45,  0x3a,  0xd8,  0x44,  0x88, 
+0xbe,  0x11,  0x78,  0x07,  0xc7,  0xd2,  0x51,  0x4a,  0x20,  0xf0,  0xdc,  0xfe,  0xc3,  0xdf,  0x72,  0xa6, 
+0xbc,  0xaa,  0xa0,  0x40,  0x2b,  0xfd,  0x7d,  0xf2,  0xea,  0x9b,  0xbc,  0xa8,  0x66,  0xd4,  0xd4,  0x4b, 
+0x95,  0x4a,  0xbf,  0x8c,  0xfe,  0x21,  0x3a,  0x42,  0x07,  0xff,  0x4f,  0x29,  0x35,  0x66,  0x86,  0xff, 
+
+0x08,  0x1b,  0xfd,  0x13,  0xe5,  0x83,  0x50,  0x49,  0x35,  0xfe,  0x27,  0xdc,  0xe4,  0xbf,  0x73,  0x03, 
+0x3f,  0xad,  0xf2,  0x1b,  0x78,  0x03,  0xaa,  0xd4,  0xa0,  0x5e,  0x2c,  0xa8,  0x24,  0xa3,  0x21,  0x46, 
+0x71,  0x5d,  0x06,  0xa8,  0x48,  0xbb,  0xa8,  0x5e,  0x4c,  0x2d,  0xcc,  0xf4,  0xd1,  0xbb,  0x60,  0x14, 
+0x8e,  0x46,  0xdf,  0x3d,  0xc3,  0x7d,  0xf8,  0x09,  0xef,  0x15,  0xbe,  0xa7,  0x37,  0x9c,  0x01,  0x3f, 
+0xd4,  0xab,  0x7f,  0xc9,  0xac,  0xfe,  0x52,  0x8f,  0x4c,  0x95,  0x91,  0x3a,  0x2e,  0xe7,  0x4c,  0xa5, 
+0xa9,  0x3a,  0x00,  0x58,  0x05,  0x88,  0x4a,  0xa3,  0x72,  0x4c,  0x04,  0xd8,  0xc1,  0x4f,  0x65,  0xa8, 
+0xf6,  0x8f,  0xa3,  0x40,  0xe1,  0xe5,  0x6f,  0x8c,  0x24,  0x7f,  0x64,  0x13,  0x66,  0xc0,  0x0f,  0x9a, 
+0x4a,  0x00,  0x04,  0x78,  0x00,  0x12,  0x02,  0x7c,  0xbe,  0x08,  0x70,  0xd1,  0x93,  0x65,  0x80,  0x86, 
+0x19,  0x20,  0xa1,  0x04,  0x88,  0x64,  0xff,  0xc6,  0x42,  0x66,  0xc0,  0x86,  0x10,  0xa0,  0xbf,  0x6b, 
+0x30,  0x28,  0x01,  0x00,  0x9b,  0x03,  0x54,  0x00,  0xc0,  0x02,  0xc3,  0x8f,  0x0f,  0xcb,  0x4a,  0xaf, 
+0x00,  0x05,  0x60,  0x4a,  0x9b,  0x36,  0xac,  0x7b,  0x0f,  0x20,  0x2a,  0x84,  0x0e,  0x55,  0x14,  0x4e, 
+0x43,  0x7b,  0x88,  0xf6,  0x89,  0x37,  0xde,  0x7f,  0x4d,  0x80,  0xb4,  0xa8,  0xc5,  0x87,  0x51,  0xbc, 
+0x19,  0xa0,  0x52,  0x60,  0x1a,  0x2b,  0xff,  0x4a,  0xb7,  0xcf,  0x87,  0xb0,  0x54,  0x01,  0x7b,  0x13, 
+0x69,  0x2b,  0xcf,  0xb6,  0x0f,  0x95,  0x33,  0x42,  0xca,  0xca,  0xfc,  0x83,  0x9b,  0x23,  0x6c,  0xac, 
+0xb6,  0x84,  0x19,  0x21,  0x02,  0x64,  0x6d,  0x60,  0x12,  0x20,  0x23,  0xe5,  0x8a,  0x5c,  0x5b,  0xd5, 
+0x3e,  0xf2,  0xd5,  0xf7,  0x66,  0x01,  0x94,  0xd5,  0x95,  0xc8,  0x3f,  0x00,  0xa9,  0x51,  0xbb,  0x59, 
+
+0x57,  0x22,  0x4d,  0x50,  0x68,  0x11,  0xdb,  0xfe,  0x7a,  0x6f,  0x48,  0x68,  0xb1,  0xff,  0x79,  0x05, 
+0xe4,  0x36,  0x51,  0x66,  0xa4,  0x14,  0xff,  0x00,  0x33,  0x28,  0x03,  0x04,  0x2b,  0x02,  0xac,  0xa4, 
+0x86,  0xb4,  0xf7,  0x21,  0x21,  0x40,  0x2b,  0x19,  0x16,  0xe1,  0x9b,  0x1a,  0xd4,  0xb8,  0x99,  0x68, 
+0x43,  0xc4,  0xc4,  0xc8,  0x3d,  0x54,  0x72,  0x5d,  0xfa,  0x69,  0x53,  0x40,  0xdb,  0x67,  0x44,  0x0c, 
+0xbd,  0x54,  0xa9,  0xa6,  0xdf,  0x0d,  0xaf,  0x34,  0x44,  0x1f,  0xfb,  0x88,  0xb5,  0x23,  0xcf,  0x7d, 
+0x88,  0x3d,  0x0f,  0x89,  0x27,  0xa0,  0x07,  0xfd,  0x02,  0x29,  0x55,  0x6a,  0xb9,  0x08,  0xfb,  0xd2, 
+0x54,  0x11,  0xdb,  0x9a,  0x61,  0xae,  0x56,  0xcf,  0xcf,  0xee,  0x93,  0x2f,  0xfa,  0x7f,  0x6d,  0x4a, 
+0x8d,  0xc1,  0x3f,  0xd8,  0x47,  0x98,  0xb0,  0x5f,  0xf9,  0xa3,  0x7a,  0x42,  0x29,  0x7e,  0x2a,  0x55, 
+0x52,  0xa1,  0xb2,  0xfc,  0x94,  0x2a,  0xa5,  0x10,  0xf9,  0x82,  0x7e,  0x0e,  0x1d,  0x1c,  0x01,  0xe6, 
+0x70,  0x04,  0x98,  0x92,  0xfd,  0x3a,  0xdf,  0xd7,  0xc7,  0x2a,  0xbd,  0x40,  0x4b,  0x78,  0xf7,  0xa8, 
+0xe6,  0xb3,  0xbb,  0xca,  0x3f,  0xbf,  0x00,  0x9f,  0xb2,  0x13,  0x87,  0x92,  0x00,  0x2f,  0x21,  0x40, 
+0x66,  0xae,  0x1f,  0x19,  0xe0,  0x43,  0x56,  0xc0,  0x22,  0x10,  0x60,  0xc3,  0x24,  0xcb,  0x00,  0xcf, 
+0x24,  0x40,  0x0e,  0xf9,  0x74,  0x34,  0x29,  0xa0,  0xd6,  0x08,  0x0a,  0x00,  0x99,  0x02,  0x80,  0x15, 
+0x18,  0x82,  0xd5,  0xa0,  0xcf,  0x94,  0x2a,  0x09,  0xb0,  0x92,  0x02,  0xab,  0x86,  0x2f,  0x0f,  0x08, 
+0x01,  0x7a,  0x89,  0x6f,  0x20,  0xa8,  0x40,  0xe3,  0x44,  0xf3,  0x05,  0x48,  0xa1,  0x4e,  0xcc,  0xad, 
+0x3e,  0xf5,  0x30,  0x92,  0x3d,  0x00,  0x29,  0x89,  0xf3,  0x6c,  0x2a,  0x3d,  0x1d,  0xac,  0x54,  0xc1, 
+
+0x1a,  0x9b,  0x9b,  0x7f,  0x4f,  0x9c,  0x8d,  0xff,  0x5f,  0xb4,  0x03,  0x74,  0x45,  0x0a,  0x58,  0xd3, 
+0xff,  0xce,  0x67,  0xea,  0x34,  0x51,  0xe7,  0xa8,  0x41,  0x4d,  0x91,  0xf1,  0xbb,  0x50,  0xb0,  0xa2, 
+0x95,  0x3e,  0x28,  0x24,  0x8f,  0xbb,  0x45,  0x2b,  0xf0,  0xce,  0xff,  0x62,  0xff,  0xff,  0x02,  0x4c, 
+0xb1,  0x09,  0x17,  0x5d,  0x46,  0x95,  0x94,  0xf7,  0x11,  0x66,  0xd2,  0xe4,  0x90,  0x08,  0x90,  0x04, 
+0x80,  0xf5,  0xc3,  0x3f,  0x20,  0x6b,  0x7b,  0x3c,  0xb8,  0x46,  0x29,  0x51,  0x95,  0xb4,  0xb4,  0x9e, 
+0xab,  0xa2,  0x57,  0x90,  0x04,  0xc8,  0x8a,  0x5a,  0x6a,  0x49,  0x18,  0x52,  0x82,  0x74,  0xe0,  0x9c, 
+0x17,  0x7d,  0x62,  0x5f,  0x36,  0x0e,  0x0a,  0x81,  0xa7,  0xa4,  0x1f,  0x0f,  0x68,  0xc5,  0x7e,  0x76, 
+0x16,  0xfb,  0x62,  0x99,  0xbc,  0x12,  0x9f,  0x4a,  0xaa,  0x41,  0x35,  0xf1,  0x52,  0x0d,  0xbe,  0xb1, 
+0xaf,  0x55,  0xc4,  0x85,  0xfc,  0xb9,  0x0b,  0x02,  0x4f,  0xce,  0xa2,  0x72,  0x20,  0xda,  0xaf,  0xd2, 
+0x5c,  0x41,  0xa5,  0xfb,  0xd5,  0xeb,  0x65,  0xf7,  0x2a,  0xfe,  0xfc,  0xc4,  0x4b,  0x1c,  0x52,  0xa9, 
+0x12,  0xa8,  0xf0,  0xc3,  0x32,  0xc0,  0x48,  0x08,  0xb0,  0xd5,  0x33,  0xc0,  0x03,  0x60,  0x19,  0x20, 
+0x42,  0x47,  0xab,  0x08,  0x70,  0x9b,  0x39,  0x64,  0xde,  0x64,  0x28,  0x01,  0x1a,  0x42,  0x80,  0xde, 
+0xff,  0x47,  0x14,  0x48,  0x8f,  0x3f,  0xb3,  0x09,  0xa3,  0x7c,  0xc0,  0xdc,  0x88,  0x00,  0x3f,  0x68, 
+0x2c,  0x3a,  0x12,  0x7f,  0xeb,  0xae,  0x7f,  0x6b,  0x6a,  0xe1,  0x27,  0x48,  0xd0,  0xa4,  0xb6,  0xe2, 
+0xa8,  0x40,  0x25,  0xd0,  0x36,  0x56,  0xfc,  0xf2,  0x82,  0xf5,  0xfe,  0x7f,  0xe7,  0xae,  0xb8,  0x91, 
+0x14,  0x06,  0xc4,  0xfb,  0xdd,  0x16,  0x01,  0xf4,  0x73,  0x28,  0x0d,  0x5d,  0xed,  0xa1,  0x4f,  0x04, 
+
+0xa8,  0x8f,  0xfd,  0x25,  0x61,  0x75,  0x9f,  0xf1,  0xf7,  0x35,  0xc6,  0x2d,  0x35,  0xa8,  0x27,  0x73, 
+0x49,  0x7d,  0x5e,  0xa5,  0x71,  0x23,  0x7e,  0x24,  0x8c,  0xf5,  0x29,  0x45,  0x29,  0x81,  0xc0,  0x15, 
+0xd0,  0xf3,  0xfd,  0xf6,  0x3d,  0x1c,  0xcf,  0x1f,  0xe0,  0xb5,  0x60,  0x35,  0x2d,  0x4a,  0xe4,  0xc1, 
+0x90,  0x12,  0x7a,  0xee,  0x67,  0xf4,  0x88,  0x11,  0x2b,  0x93,  0x00,  0x2b,  0xa9,  0x51,  0xe5,  0x7c, 
+0x5f,  0x4a,  0x09,  0xaa,  0x24,  0xaa,  0x92,  0xf6,  0xfe,  0x73,  0x4d,  0xf4,  0x1a,  0x54,  0x71,  0xe5, 
+0x63,  0x25,  0x8e,  0xc0,  0x3b,  0x6c,  0xf3,  0x7f,  0xed,  0x85,  0x96,  0x69,  0xfa,  0x55,  0x50,  0x68, 
+0x50,  0xfd,  0x6f,  0x7b,  0xa8,  0xa4,  0x9a,  0xbf,  0xeb,  0x3e,  0xd5,  0xe0,  0x19,  0x30,  0x9a,  0xfa, 
+0x84,  0x0a,  0x09,  0xc1,  0x3f,  0xc2,  0x6c,  0xfe,  0x85,  0xdb,  0xc7,  0xb3,  0x7f,  0xee,  0xdb,  0x12, 
+0xd9,  0x27,  0xf0,  0x05,  0xd4,  0x4e,  0x50,  0xf7,  0x55,  0x52,  0xf9,  0x19,  0xf3,  0x73,  0x65,  0x52, 
+0x5d,  0xe0,  0xb5,  0x3f,  0xfe,  0x48,  0x5d,  0x1b,  0x89,  0x77,  0x51,  0x50,  0x91,  0xda,  0xbe,  0xa3, 
+0x97,  0x4a,  0x0a,  0x71,  0xea,  0xc9,  0x48,  0x25,  0xf0,  0xf7,  0xaf,  0xca,  0xa6,  0x0c,  0xf8,  0xdb, 
+0xf3,  0xfe,  0x02,  0xad,  0xe8,  0x2c,  0xa1,  0xe6,  0xee,  0x80,  0xbe,  0x37,  0x58,  0x06,  0x58,  0x98, 
+0x01,  0x12,  0x4a,  0x80,  0x0f,  0x1c,  0x10,  0x02,  0x74,  0xd4,  0x0f,  0x9e,  0x89,  0x02,  0x20,  0xd4, 
+0xf5,  0x40,  0x01,  0xe0,  0x5f,  0x88,  0x15,  0x5d,  0xe2,  0xd3,  0x67,  0x8c,  0x57,  0xc3,  0x4a,  0x0a, 
+0x2c,  0x95,  0x69,  0x3d,  0x67,  0x50,  0x83,  0xda,  0x27,  0xa2,  0xc4,  0xbd,  0x61,  0x4a,  0x8b,  0x42, 
+0x2c,  0x98,  0x5e,  0x00,  0x29,  0x6c,  0x84,  0xd9,  0x5f,  0x0e,  0x81,  0x56,  0xac,  0x9b,  0x5f,  0x2d, 
+
+0x12,  0x67,  0xc7,  0xa0,  0x30,  0x32,  0x6e,  0xc7,  0xf7,  0x00,  0xd6,  0xa0,  0x92,  0x5d,  0x80,  0x7a, 
+0x13,  0x6f,  0x23,  0x16,  0x03,  0xa4,  0x45,  0xed,  0xff,  0x06,  0xd9,  0xe8,  0x91,  0x7e,  0x93,  0x75, 
+0xb7,  0x5f,  0xdf,  0xff,  0x37,  0x59,  0x66,  0xa9,  0x00,  0xc3,  0xaa,  0x1a,  0x1c,  0x85,  0xf8,  0xf0, 
+0x3f,  0x2b,  0xd5,  0xc9,  0x4f,  0x1e,  0x45,  0x7e,  0xb9,  0xc5,  0xeb,  0x83,  0xb1,  0x3a,  0x9f,  0xf4, 
+0x5c,  0x07,  0x40,  0x95,  0xea,  0x73,  0x6c,  0x06,  0x4b,  0xff,  0x59,  0xa8,  0x0c,  0x09,  0xc1,  0x3f, 
+0xc2,  0x6c,  0xf9,  0x18,  0xb3,  0xfb,  0x3f,  0x7c,  0xbf,  0x08,  0xbc,  0x01,  0xbc,  0x06,  0xa5,  0x09, 
+0x02,  0x01,  0x62,  0x70,  0x04,  0xa8,  0xfa,  0x99,  0x09,  0x3e,  0xfa,  0x1d,  0x8f,  0x3f,  0x61,  0x2a, 
+0xfe,  0x49,  0x95,  0x4a,  0x20,  0x32,  0x75,  0xef,  0xa0,  0xdb,  0xbf,  0x83,  0x7e,  0x20,  0x49,  0x35, 
+0x4a,  0x02,  0xfc,  0xd9,  0x00,  0x18,  0xde,  0x23,  0x53,  0xe8,  0x90,  0x10,  0xe0,  0xc3,  0x40,  0x58, 
+0x5c,  0x1e,  0x01,  0x86,  0x65,  0x80,  0x09,  0x59,  0xa1,  0x3b,  0xe5,  0x85,  0x2e,  0x26,  0x01,  0x12, 
+0x4a,  0x80,  0x85,  0x10,  0xa0,  0x73,  0x1c,  0x00, 
+};
+static PROGMEM prog_uchar logobg_pal_compressed[] = {
+
+0xc9,  0x01,  0x6c,  0x00,  0x10,  0x00,  0x20,  0x80,  0x08,  0xf0,  0xcf,  0xdf,  0x11,  0xc7,  0xc0,  0x1f, 
+0xfc,  0x43,  0x7f,  0xf8,  0x8c,  0xfc,  0xe1,  0x3f,  0xf4,  0xc7,  0xff,  0xe8,  0x1f,  0xfb,  0xc3,  0x7f, 
+0xea,  0x4f,  0xfd,  0xd9,  0x3f,  0xff,  0x17,  0xfe,  0xdc,  0x1f,  0xfe,  0x0b,  0x7f,  0xec,  0xcf,  0xfc, 
+0xf1,  0xbf,  0xf1,  0x37,  0xff,  0xf4,  0x9f,  0x79,  0xb3,  0x76,  0xf7,  0xef,  0xfd,  0xfd,  0xbf,  0xf8, 
+0x97,  0xfe,  0xf2,  0xdf,  0xff,  0xa7,  0x7f,  0xe4,  0x9f,  0xff,  0x8b,  0xbf,  0xf5,  0xb7,  0xff,  0xce, 
+0x3f,  0xff,  0xe7,  0x7f,  0xea,  0x3f,  0xfc,  0xc7,  0x7f,  0xfc,  0x07,  0xff,  0xe9,  0xbf,  0xfb,  0xe7, 
+0x7f,  0xef,  0x7f,  0xfe,  0xaf,  0x7f,  0xf3,  0x67,  0xfe,  0xe7,  0xff,  0xfc,  0xdf,  0xff,  0xfc,  0x0f, 
+0xfd,  0xa1,  0xff,  0xfa,  0x57,  0xff,  0xfb,  0x5f,  0xfe,  0x9f,  0x7f,  0xea,  0x4f,  0xfd,  0xe9,  0xff, 
+0xf7,  0x77,  0xfe,  0xf2,  0xff,  0xf9,  0x6b,  0xff,  0xf3,  0x2f,  0xff,  0x95,  0xff,  0xfe,  0x3f,  0xfe, 
+0xe6,  0x9f,  0xfb,  0xdf,  0xff,  0xe7,  0xef,  0xfc,  0xdd,  0x7f,  0xf0,  0x0f,  0xff,  0xe9,  0xdf,  0xf9, 
+0xdb,  0xff,  0xfb,  0x9f,  0xfe,  0xb3,  0xff,  0xf9,  0x77,  0xff,  0xd7,  0x5f,  0xff,  0x3b,  0xff,  0xe6, 
+0xdf,  0xfd,  0x87,  0xff,  0xf4,  0x9f,  0xff,  0xc3,  0x3f,  0xf8,  0xaf,  0x7f,  0xe4,  0xbf,  0xff,  0xcf, 
+0xff,  0xfd,  0x6f,  0xfe,  0xef,  0xbf,  0xfc,  0x6f,  0xff,  0xe1,  0x0f,  0xfe,  0xa1,  0xbf,  0xf2,  0x5f, 
+0xff,  0xd9,  0x1f,  0xff,  0xef,  0xff,  0xf3,  0x4f,  0xfd,  0xe9,  0xbf,  0xfb,  0xff,  0xfe,  0xe2,  0x5f, 
+0xf8,  0x6f,  0xff,  0xe9,  0x2f,  0xff,  0x95,  0x7f,  0xf6,  0x7f,  0xfe,  0xf1,  0x9f,  0xf9,  0x53,  0xff, 
+0xfb,  0x4f,  0xff,  0xdd,  0x7f,  0xff,  0x1f,  0xfe,  0xf1,  0x5f,  0xfd,  0xcb,  0xff,  0xe4,  0x9f,  0xfe, 
+
+0xb3,  0xff,  0xf1,  0x3f,  0xff,  0xd7,  0x3f,  0xfe,  0x47,  0x7f,  0xf1,  0xdf,  0xfd,  0xfb,  0x7f,  0xf8, 
+0x9f,  0xfe,  0xea,  0xff,  0xff,  0xa7,  0xff,  0xfe,  0xbf,  0xff,  0x8f,  0x7f,  0xf5,  0xbf,  0xff,  0xce, 
+0x7f,  0xf8,  0xb7,  0xff,  0xf6,  0x0f,  0xfc,  0x87,  0xff,  0xf8,  0x5f,  0xfe,  0xe9,  0xff,  0xfc,  0x57, 
+0x7f,  0xe2,  0x4f,  0xfe,  0xa9,  0xff,  0xf3,  0x7f,  0xff,  0xfc,  0xff,  0xff,  0x0f,  0xff,  0xf5,  0x2f, 
+0xfd,  0xe5,  0x7f,  0xfa,  0x8f,  0xfe,  0xe7,  0x9f,  0xfa,  0x63,  0x7f,  0xf4,  0x6f,  0xff,  0x9d,  0x7f, 
+0xf7,  0xff,  0xff,  0xe1,  0xbf,  0xfd,  0x4f,  0xff,  0xe1,  0x9f,  0xfc,  0xe3,  0x0f,  0x00, 
+};

+ 1 - 1
go

@@ -6,5 +6,5 @@ cp Gameduino.zip ~
 unzip -o ~/Gameduino.zip -d $HOME/Arduino/libraries/ &&
 
 # ./runtests `cat testset` ; exit
-./mkino cp437
+./mkino watterott
 # python /usr/share/doc/python-serial/examples/miniterm.py /dev/ttyUSB0 115200

+ 1 - 1
publish.py

@@ -9,7 +9,7 @@ inventory = {
     '1.Basics'          : "sprites256 palettes rotate collision scroll",
     '2.Audio'           : "toccata player sample instruments2",
     '3.Advanced'        : "interrupt splitscreen jkcollision bitmap wireframe snow assets",
-    '4.Demo'            : "ball chessboard dna spectrum cp437",
+    '4.Demo'            : "ball chessboard dna spectrum cp437 watterott",
     '5.Games'           : "asteroids frogger chopper",
     '6.Tools'           : "selftest screenshot memloader joytest",
 }

+ 210 - 0
watterott.ino

@@ -0,0 +1,210 @@
+#include <SPI.h>
+#include <GD.h>
+
+// ----------------------------------------------------------------------
+//     qrand: quick random numbers
+// ----------------------------------------------------------------------
+
+static uint16_t lfsr = 1;
+
+static void qrandSeed(int seed)
+{
+  if (seed) {
+    lfsr = seed;
+  } else {
+    lfsr = 0x947;
+  }
+}
+
+static byte qrand1()    // a random bit
+{
+  lfsr = (lfsr >> 1) ^ (-(lfsr & 1) & 0xb400);
+  return lfsr & 1;
+}
+
+static byte qrand(byte n) // n random bits
+{
+  byte r = 0;
+  while (n--)
+    r = (r << 1) | qrand1();
+  return r;
+}
+// ----------------------------------------------------------------------
+
+#include "watterott_logo.h"
+#include "bgstripes.h"
+
+int focusx, focusy;
+
+// JCB-PARTICLE-A
+#define NSPR 200
+
+struct spr {
+  int x, y;
+  signed char vx, vy;
+} sprites[NSPR];
+
+static void born(byte i)
+{
+  sprites[i].x = focusx + qrand(4);
+  sprites[i].y = focusy -16 + qrand(5);
+  sprites[i].vx = -8 + qrand(4);
+  sprites[i].vy = -qrand(4) - 1;
+}
+
+static void kill(byte i)
+{
+  sprites[i].y = 309;
+  sprites[i].vx = 0;
+  sprites[i].vy = 0;
+}
+// JCB-PARTICLE-B
+
+int atxy(int x, int y)
+{
+  return (y << 6) + x;
+}
+
+static byte sprcnt = 0;
+
+void setup()
+{
+  GD.begin();
+  Serial.begin(1000000); // JCB
+
+  // Black-to-gray transition starting at line 150
+  GD.microcode(bgstripes_code, sizeof(bgstripes_code));
+  GD.wr16(COMM+0, 112);
+
+  GD.uncompress(RAM_CHR, logobg_chr_compressed);
+
+  GD.copy(PALETTE4A, spark_palette, sizeof(spark_palette));
+  GD.uncompress(RAM_SPRIMG, wlogo_compressed);
+
+}
+
+void bgfade(byte t)
+{
+  for (byte i = 0; i < 64; i++) {
+    byte l = ((t == 31) ? 8 : 0) + ((i * t) >> 4);
+    GD.wr16(0x3e80 + 2 * i, RGB(l, l, l));
+  }
+}
+
+static void fade(uint16_t addr)
+{
+  uint16_t col = GD.rd16(addr);
+  if (col & (31 << 10)) col -= (1 << 10);
+  if (col & (31 << 5))  col -= (1 << 5);
+  if (col & 31)         col -= 1;
+  GD.wr16(addr, col);
+}
+
+// Fade 16 palette entries starting at addr
+static void fade16(uint16_t addr)
+{
+  uint16_t cols[16];
+  GD.__start(addr);
+  for (byte i = 0; i < 16; i++) {
+    byte lo = SPI.transfer(0);
+    byte hi = SPI.transfer(0);
+    uint16_t col = (hi << 8) | lo;
+    if (col & (31 << 10)) col -= (1 << 10);
+    if (col & (31 << 5))  col -= (1 << 5);
+    if (col & 31)         col -= 1;
+    cols[i] = col;
+  }
+  GD.__end();
+
+  GD.__wstart(addr);
+  for (byte i = 0; i < 16; i++) {
+    uint16_t col = cols[i];
+    SPI.transfer(lowByte(col));
+    SPI.transfer(highByte(col));
+  }
+  GD.__end();
+}
+
+#define FINALX 305
+
+void loop()
+{
+  focusy = 138;
+  sprcnt = 0;
+
+  for (byte i = 0; i < NSPR; i++) {
+    kill(i);
+  }
+  GD.__wstartspr(0);
+  for (int i = 0; i < 512; i++)
+    GD.xhide();
+  GD.__end();
+  GD.copy(PALETTE16A, wlogo_palette, sizeof(wlogo_palette));
+  GD.uncompress(RAM_PAL, logobg_pal_compressed);
+
+  byte jitter = 0;
+
+  for (int t = 0; t < 8 * 72; t++) {
+    byte frame = (t & 1);
+
+    if (t < 32)
+      bgfade(t);
+    if (((8 * 72) - 32) < t) {
+      bgfade(8 * 72 - t);
+      for (uint16_t a = RAM_PAL; a < RAM_PAL + (256 * 4 * 2); a += 32)
+        fade16(a);
+      fade16(PALETTE16A);
+    }
+
+    byte sparking = (72 <= t) && (t <= (72 + FINALX));
+    if (sparking) {
+      focusx = t - 72;
+      if (16 <= focusx && ((focusx & 15) == 0)) {
+        GD.__wstartspr(sprcnt);
+        draw_wlogo(focusx, 109, (focusx - 16) >> 4, 0);
+        GD.__end();
+        GD.__wstartspr(256 | sprcnt);
+        draw_wlogo(focusx, 109, (focusx - 16) >> 4, 0);
+        GD.__end();
+        sprcnt += GD.spr;
+      }
+    }
+
+#if 1
+    GD.__wstartspr((frame ? 256 : 0) + 56);
+    byte i;
+    // JCB-SPARK-A
+    struct spr *ps;
+    for (i = 0, ps = &sprites[i]; i < NSPR; i++, ps++) {
+      draw_spark(ps->x, ps->y, 0, (i & 7));
+      ps->x += ps->vx;
+      ps->y += ps->vy;
+      ps->vy++;
+      if ((ps->x < 0) || (ps->x > 400) || (ps->y > 310)) {
+        if (sparking)
+          born(i);
+        else
+          kill(i);
+      }
+    }
+    // JCB-SPARK-B
+    GD.__end();
+#endif
+
+    GD.waitvblank();
+    GD.wr(SPR_PAGE, frame);
+    // JCB-JITTER-A
+    GD.wr16(SCROLL_X, random(-1, 2));
+    GD.wr16(SCROLL_Y, random(-1, 2));
+    prog_uchar *src = logobg_pic + (12 * 25 * jitter);
+    for (byte y = 0; y < 12; y++) {
+      GD.copy(atxy(24, 12 + y), src, 25);
+      src += 25;
+    }
+    // JCB-JITTER-B
+    jitter = (jitter == 4) ? 0 : (jitter + 1);
+
+    // static int ss; GD.screenshot(ss++); // JCB
+  }
+  delay(700);
+}