//main.c
//Fattah-Tafreshi Iran-Tehran
//[email protected]
//2011
//CCS Convert Image to GLCD-KS0108 128*64
#include <16F877A.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=8000000)
#define GLCD_CS1 PIN_B0 // Chip Selection 1
#define GLCD_CS2 PIN_B1 // Chip Selection 2
#define GLCD_DI PIN_B2 // Data or Instruction input
#define GLCD_RW PIN_B3 // Read/Write
#define GLCD_E PIN_B4 // Enable
#define GLCD_RST PIN_B5 // Reset
#include <HDM64GS12.c>
#include <imagedata.h>
void glcd_showimage1()
{
int16 n=0;
int i,j;
int1 cs=0;
// Loop through the vertical pages
for(i = 0; i <8; ++i)
{
output_low(GLCD_DI); // Set for instruction
glcd_writeByte(GLCD_LEFT, 0b01000000); // Set horizontal address to 0
glcd_writeByte(GLCD_RIGHT, 0b01000000);
glcd_writeByte(GLCD_LEFT, i | 0b10111000);// Set page address
glcd_writeByte(GLCD_RIGHT, i | 0b10111000);
output_high(GLCD_DI); // Set for data
// Loop through the horizontal sections
for(j = 0; j < 128;++j)
{
if(j<64) cs=GLCD_LEFT;else cs=GLCD_RIGHT;
glcd_writeByte(cs,SYMS3_BMP[n]); // Turn pixels on or off
//delay_us(5);
n++;
}
}
}
void glcd_showimage2()
{
int16 n=0;
int i,j;
int1 cs=0;
// Loop through the vertical pages
for(i = 0; i <8; ++i)
{
output_low(GLCD_DI); // Set for instruction
glcd_writeByte(GLCD_LEFT, 0b01000000); // Set horizontal address to 0
glcd_writeByte(GLCD_RIGHT, 0b01000000);
glcd_writeByte(GLCD_LEFT, i | 0b10111000);// Set page address
glcd_writeByte(GLCD_RIGHT, i | 0b10111000);
output_high(GLCD_DI); // Set for data
// Loop through the horizontal sections
for(j = 0; j < 128;++j)
{
if(j<64) cs=GLCD_LEFT;else cs=GLCD_RIGHT;
glcd_writeByte(cs,truck_bmp[n]); // Turn pixels on or off
//delay_us(5);
n++;
}
}
}
void glcd_showimage3()
{
int16 n=0;
int i,j;
int1 cs=0;
// Loop through the vertical pages
for(i = 0; i <8; ++i)
{
output_low(GLCD_DI); // Set for instruction
glcd_writeByte(GLCD_LEFT, 0b01000000); // Set horizontal address to 0
glcd_writeByte(GLCD_RIGHT, 0b01000000);
glcd_writeByte(GLCD_LEFT, i | 0b10111000);// Set page address
glcd_writeByte(GLCD_RIGHT, i | 0b10111000);
output_high(GLCD_DI); // Set for data
// Loop through the horizontal sections
for(j = 0; j < 128;++j)
{
if(j<64) cs=GLCD_LEFT;else cs=GLCD_RIGHT;
glcd_writeByte(cs,bank_bmp[n]); // Turn pixels on or off
//delay_us(5);
n++;
}
}
}
void main()
{
glcd_init(ON);
glcd_fillScreen(OFF);
delay_ms(100);
while(1){
glcd_fillScreen(off);
delay_ms(100);
glcd_showimage1();
delay_ms(2000);
glcd_showimage2();
delay_ms(2000);
glcd_showimage3();
delay_ms(2000);
}
}
//imagedata.h
// ------------------------------------------------------
// GLCD Picture name: SYMS3.BMP
// GLCD Model: KS0108 128x64
// ------------------------------------------------------
unsigned char const SYMS3_BMP[1024] = {
0, 0, 0,192, 0, 0, 0, 0,192, 0, 0,128, 64, 64, 64, 64,
0, 0,128, 64, 64,128,128, 0, 0, 0, 0, 64,248, 68, 68, 4,
64, 64, 64,128, 0, 0, 0,192, 64, 64, 64, 64,128, 64, 64, 64,
64,128, 0,196, 0, 0,252, 0, 0,196, 0, 0, 0, 0, 64, 64,
64,128, 0, 0,128,128, 64, 0, 0, 0, 0, 0,128, 64, 64, 64,
64,192, 0, 0, 0,128, 64, 0,192, 64, 64, 64, 64,128, 64, 64,
64, 64,128, 0,252, 64, 64, 64,128, 0, 0, 0,128, 64, 64, 64,
128, 0, 0, 0,252, 0, 0,128, 64, 64, 64, 64, 0, 0, 0, 0,
0, 0, 0, 15, 16, 16, 16, 16, 31, 0, 0, 9, 18, 18, 12, 0,
0, 15, 18, 18, 18, 18, 11, 2, 0, 0, 0, 0, 31, 0, 0, 12,
18, 17, 17, 31, 0, 0, 0, 31, 0, 0, 0, 0, 31, 0, 0, 0,
0, 31, 0, 31, 0, 0, 31, 0, 0, 31, 0, 0, 0, 12, 18, 17,
17, 31, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 9, 18, 18, 12,
0,129,198, 56, 6, 1, 0, 0, 31, 0, 0, 0, 0, 31, 0, 0,
0, 0, 31, 0, 31, 16, 16, 16, 8, 7, 0, 0, 15, 16, 16, 16,
8, 7, 0, 0, 31, 0, 0, 9, 18, 18, 12, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,224,
240,240, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,248,248,240,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0,224,160, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
32, 32, 32, 32, 32,160,224, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0,192,224,112, 48, 56,248,252,252,254,254,252,
249,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,248,252,
252,252,248, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0,255, 0, 1, 2, 4,136,208, 96, 64, 64, 64, 64, 64, 64, 96,
208,136, 4, 2, 1, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 31, 31, 0, 0,252,255,255,255,255,199, 1,
3, 7, 6, 14, 12, 28, 24, 24, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0,128,192,192,224,240,240,248,248,252,255,255,255,255,
254,252,248,248,240,240,224,192,192,128, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0,255,255,
255,192,192,192,192,192,192,192,192, 0, 0, 0, 0, 0, 0, 0,
0, 31, 24, 28, 22, 19, 17, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 17, 19, 22, 28, 24, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,192,248,255,127, 31, 7, 3, 7, 31,255,
254,248,192, 0, 0, 0, 0, 0, 0, 0, 0, 0,112,120,124, 62,
62, 63, 31, 31, 31, 15, 15, 15, 7, 7, 7, 3,255,255,255,255,
3, 3, 7, 7, 7, 15, 15, 15, 31, 31, 31, 63, 62, 62,124,120,
112, 0, 0, 0, 0, 0,128,240,252, 28, 6, 7, 3, 0, 31, 31,
31, 25, 25, 25, 25, 25, 25, 25, 25, 24, 24,248,248,240,128, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 16, 30, 31, 7, 1, 0, 0, 0, 0, 0, 0, 0,
7, 31, 31, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,128,128,192,224,255,255,127,255,
240,224,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3, 31, 62,248,240,192,128,128, 0, 0,
0, 0, 0, 0, 0, 0, 0,128,192,224,240,112, 7, 63,255,252,
224, 96, 96,112, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 1, 1, 0, 0, 0, 0,
0, 1, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 3, 3, 3,
6, 6, 6, 6, 7, 7, 3, 3, 3, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
// ------------------------------------------------------
// GLCD Picture name: truck.bmp
// GLCD Model: KS0108 128x64
// ------------------------------------------------------
unsigned char const truck_bmp[1024] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,128,
128, 64, 64, 64, 64, 64, 64, 32, 32, 32, 32, 32, 32, 32, 32, 32,
32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
32, 32,160,160,160, 96,224,224, 96, 96, 96, 32, 0, 32, 32, 32,
32, 32, 32, 32, 32, 32, 0, 0, 64, 64, 64, 0,128, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0,254, 0, 1, 1, 1, 1, 1,253,253,253,253,
1, 1, 1, 1, 1, 1,253,253,253,253, 1, 1, 1, 1,253,253,
253,253,249,241,225,193,129,193,225,249,253,253,253,253,253, 1,
1, 1, 1,253,253,253,253,221,221,221, 29, 17, 1,255, 1, 1,
1, 1, 0,254, 1,168, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 16,224, 24, 36,132, 0, 2,130, 5, 81, 68,112,
160,192, 96, 96, 32, 0,128,128,192,192,192, 64, 0, 0, 0, 0,
0,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 63, 96, 96, 96,224, 96, 96,127,127,127,127,
124,124,124,124, 96, 96,127,127,127,127, 96, 96, 96, 96,127,127,
127,127, 97,103,111,127,127,111,103, 99, 97,127,127,127,127, 96,
96, 96, 96,127,127,127,127,125,125,125,124,116, 96,127, 64, 64,
64,160, 96,252,246, 1, 14, 6, 6, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 66,114, 60, 32, 16, 16, 0, 4, 2, 3, 2,
0, 0, 0, 4, 4, 4, 4, 20, 16, 16, 16, 16, 16, 9, 9, 41,
112, 32, 67, 5,240,126,174,128, 56, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,
1, 1,127,127,127,127,255,255,247,251,123,191, 95, 93,125,189,
189, 63, 93, 89,177,115,243,229,207, 27, 63,119,255,207,191,255,
255,255,255,255,255,255,255,127,127,127,127,127,127,127,127,255,
255,255,127,127,125,120,120,120,120,120,248,120,120,120,120,120,
120,248,248,224,135, 0, 0, 0, 0, 0, 0, 0, 0,128,240,248,
120,188,220, 92,252, 28, 28, 60, 92, 92, 60,120,248,248, 96,192,
143,168,216,136, 49, 68, 72, 2,160, 96, 0, 0, 0, 0, 0, 0,
0, 0, 0,128,192,248,248,248,248,252,254,254,254,254,254,254,
254,254,254,254,254,255,255,255,255,255,246,239,208,246,174,173,
169,128,209,208,224,247,249,255,255,252,220,240,127,255,223,255,
255,255,255,255,255,254,254,255,255,255,255,255,255,255,254,255,
255,255,255,255,255,255,254,254,254,254,254,254,254,254,254,254,
254,254,254,254,255,255,255,255,255,255,254,255,190,255,255,253,
240,239,221,223,254,168,136,170,196,208,228,230,248,127,126,156,
216,224,240,240,242,242,240,177, 32, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 1, 1, 1, 3, 3, 3, 7, 7, 7, 7, 7, 15,
15, 15, 7, 15, 15, 15, 7, 7, 15, 14, 15, 13, 15, 47, 43, 43,
43, 43, 43, 47,111,239,255,253,253,255,254,255,255,255,255,255,
191,191,239,239,239,191,255,191,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,127,127,127,127,255,255,191,191,191,191,255,254,
255,253,255,255,255,251,255,255,255,127,125, 63, 31, 31, 31, 31,
31, 31, 63, 15, 15, 7, 7, 3, 3, 3, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
1, 1, 1, 1, 3, 3, 3, 11, 11, 11, 11, 7, 3, 14, 6, 6,
6, 2, 18, 19, 19, 3, 23, 21, 21, 17, 1, 19, 19, 3, 6, 6,
14, 15, 15, 7, 15, 15, 15, 11, 2, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
// ------------------------------------------------------
// GLCD Picture name: bank.bmp
// GLCD Model: KS0108 128x64
// ------------------------------------------------------
unsigned char const bank_bmp[1024] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 64,128, 0,
98, 68, 8, 16, 0,128, 72,132, 0, 0, 96, 32, 0,192, 64, 0,
128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0,128, 16,132,121, 4, 3, 1,128, 0,
0, 0, 0, 0, 0, 0, 24, 23, 16, 0, 0, 0, 32, 32, 64,128,
128, 1, 34,156,112,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 64,192, 0, 96, 64,
16, 64, 96, 32,128, 64, 0,128, 0, 0, 0, 0, 0, 0, 32, 16,
0, 0, 0, 4, 0, 0, 0, 3, 0, 3, 0, 4, 4, 6, 8, 16,
112,192, 0, 0, 0, 0, 0, 0, 0, 0,128, 32, 0, 0, 8, 1,
7, 6, 4, 6, 4, 7, 4, 4, 0, 8, 8, 16,112,192, 0, 0,
0, 0, 0, 0, 0, 0,240, 0, 0,122,122, 0, 64, 0, 2, 0,
4,248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,128,128, 0, 64,128, 0, 96,128, 48, 96, 24, 24,
32, 12, 20, 18, 6, 12, 3, 7, 4, 3, 3, 26, 1, 31,125, 60,
60, 60,125, 25, 6, 2, 3, 5, 4, 2, 9, 12, 6, 18, 10, 36,
48, 64, 96, 48,192,192, 32,160,192, 64, 16,144, 0, 8, 8, 4,
6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 32, 32, 32, 32, 32, 0, 16, 16, 8, 12, 6, 3,128,128,
128, 0, 0,192,192,128,255, 0, 0, 7, 69, 8,192,135, 0, 0,
128,255, 8,224,240,240,224,192,192,128, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 1, 1,129, 1, 63, 33, 33, 33, 33,123, 63, 37,
37, 37, 63,187, 33, 33, 33, 57, 37, 35,163, 39, 47, 61, 57, 49,
33, 35, 63, 39, 37, 45, 57, 57, 63, 63, 33, 33, 59,127, 63, 37,
37, 37, 47, 59, 57, 49,225, 33, 33, 33, 33, 63, 33, 1,192, 0,
224, 32, 32, 0, 0, 0, 48, 48, 32, 0,136,152,152, 16,128,140,
76, 72, 64, 0,198,230, 36, 32, 0, 3,227,242, 16, 16, 1, 1,
9,248,248, 0, 0, 4,255, 0, 0,141,136,152,144, 61, 1, 0,
218,255, 0,255,255,255,255,255,255,255,255,255,254,252,252,248,
0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0,255, 86, 0,
0, 0, 0,255, 0, 0, 0, 0,255,255, 16,172,244, 62, 37, 39,
35, 34, 34,226, 34, 34, 34, 35, 37, 38, 58,228,248, 0,255,255,
0, 0, 0,255,255, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,
255, 2, 0, 0,127, 65, 65, 0, 63, 63, 0, 0, 32, 32, 63, 63,
0,128,128,128,159,159,144,144,128,128,143,143,136, 8, 72, 72,
64,199, 71,192,192, 4, 15, 0, 16, 5, 33, 34, 38, 32, 48, 0,
15, 6, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,
0, 0, 0, 0, 0, 0, 64, 64,127, 64, 64, 64, 64,127,107, 64,
64, 64, 64,127, 64, 64, 64, 64,127,127, 64, 84,127, 64, 64, 64,
64, 64, 64,127, 64, 64, 64, 64, 64, 64, 64,127,127, 64,127,127,
64, 64, 64,127,127, 64, 64,127, 64, 64, 64, 64, 64, 64, 64,240,
255, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0,255, 64,255,255, 0, 16, 16, 16, 16, 16, 16,
16,255, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0,255, 63,255, 15,255,255,255,255,255,255,255,255,255,
0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 63,
43, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
40, 40, 40, 40, 40, 47, 32, 63, 63, 32, 32, 32, 32, 32, 32, 32,
32, 63, 32, 47, 47, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
40, 40, 40, 63, 32, 32, 32, 47, 63, 47, 47, 63, 63, 63, 63, 63
};
|