.from: http://www.google.com/codesearch#hdIfIxYTHhY/trunk/Sources/vs10xx.c&q=VS1011.c&type=cs&l=2
/* Phillip Duran VS1011.c A low level driver to intialize and operate the VS1011 DSP Updated: 2/21/08 */ #include "VS1033.h" #include "SPI.h" #include <mc9s12e128.h> /* derivative information */ #include "board.h" // left and right volume levels // volume grows louder and levels approach zero (0) unsigned char Left_Vol = 0x24; unsigned char Right_Vol = 0x24; #define CODE_SIZE 2278 const unsigned char atab[2278] = { // Register addresses 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6 }; const unsigned short dtab[2278] = { // Data to write 0x8010, 0x2000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0024, 0x0000, 0x0024, 0x2800, 0x4c40, 0x8030, 0x2919, 0xe240, 0x0000, 0x0510, 0x2919, 0xe140, 0x0000, 0x0010, 0x2800, 0x0dc0, 0x0000, 0x0041, 0x0000, 0x0001, 0x2800, 0xa880, 0x0006, 0x2016, 0x8039, 0x3e13, 0xb80f, 0x0000, 0x0055, 0x0030, 0x0497, 0x3f75, 0x780d, 0x0000, 0x03ce, 0x2400, 0x11ce, 0x0000, 0x0024, 0x0000, 0x0024, 0x2800, 0x1080, 0x0000, 0x02d5, 0x3f05, 0x4024, 0x0000, 0x0024, 0x2800, 0x1180, 0x0000, 0x00d5, 0x3f05, 0x4024, 0x3009, 0x1bcd, 0x2000, 0x0000, 0x36f3, 0x980f, 0x804b, 0x0000, 0x0401, 0x3e11, 0xb804, 0x3e13, 0x7805, 0x0000, 0x0244, 0x0000, 0x0046, 0x419a, 0x380e, 0x4cc2, 0xb80f, 0x0030, 0x0497, 0x2400, 0x1745, 0x0fff, 0xff45, 0x0000, 0x0024, 0x0000, 0x0024, 0x3f60, 0x4024, 0x3710, 0x4024, 0x3f01, 0x0024, 0xa152, 0x0024, 0x0000, 0x0024, 0x0000, 0x0024, 0x8cc2, 0x3e46, 0x36f3, 0x980f, 0x36f3, 0x5805, 0x2000, 0x0000, 0x36f1, 0x9804, 0x8015, 0x3e12, 0x3805, 0x2900, 0x19c0, 0x0000, 0x3fc5, 0x3602, 0x0024, 0x2000, 0x0000, 0xb500, 0x9bc5, 0x8062, 0x6492, 0xb808, 0x2900, 0x19c0, 0x6198, 0x3844, 0x3009, 0x1808, 0x4082, 0x1804, 0x0000, 0x0015, 0xf240, 0x3814, 0xf400, 0x4014, 0x3583, 0x3801, 0x3510, 0x4024, 0x0000, 0x0204, 0x2800, 0x1c11, 0x3500, 0x0024, 0xac42, 0x0024, 0x0000, 0x0020, 0x6848, 0x4800, 0xac42, 0x1814, 0x2000, 0x0000, 0xc100, 0x9bc1, 0x8075, 0x0006, 0x0197, 0x3e00, 0x5c00, 0x000f, 0xd641, 0xfe10, 0x0024, 0x0008, 0xd4c0, 0x4cb2, 0x0024, 0xf200, 0xbc00, 0x2000, 0x0000, 0x36f0, 0x4024, 0x8025, 0x2a00, 0x1f8e, 0x807e, 0x3e12, 0xb817, 0x3e10, 0xb800, 0x0030, 0x0a57, 0x3700, 0x0024, 0x0000, 0x2002, 0xb024, 0x0024, 0x002f, 0xe002, 0x2800, 0x22c5, 0x0006, 0x2017, 0x4024, 0x1c00, 0xf400, 0x4097, 0x2800, 0x2400, 0x3f00, 0x1bcc, 0x3700, 0xb804, 0x0000, 0x01c4, 0xa244, 0x0024, 0x4024, 0x0024, 0x3f00, 0x9bc4, 0x36f0, 0x9800, 0x0030, 0x0717, 0x3602, 0x8024, 0x2100, 0x0000, 0x3f05, 0xdbd7, 0x8095, 0x3e12, 0xb817, 0x3e12, 0x3815, 0x3e05, 0xb814, 0x3625, 0x0024, 0x0000, 0x800a, 0x3e10, 0x7802, 0x3e10, 0xf804, 0x3e11, 0x7806, 0x3e11, 0xf810, 0x3e14, 0x7813, 0x3e13, 0xf80e, 0x3e03, 0x4842, 0x2800, 0x4880, 0xb88a, 0x8bc3, 0x2900, 0x0540, 0x4588, 0x184c, 0xf400, 0x4007, 0x0000, 0x3940, 0x6700, 0x0024, 0x0000, 0x02c1, 0x2800, 0x4205, 0x478e, 0x0024, 0x0000, 0x0024, 0x2800, 0x4205, 0x0000, 0x0024, 0x2900, 0x0540, 0x4518, 0x184c, 0x0000, 0x0401, 0x3413, 0x0024, 0xb010, 0xb3c0, 0x0000, 0x0b80, 0x2800, 0x34c5, 0x6700, 0x0024, 0x0000, 0x0501, 0x2800, 0x34c5, 0x0000, 0x0024, 0x0000, 0x0686, 0x4518, 0x184c, 0x3009, 0x3852, 0x3e10, 0xf802, 0x3009, 0x3852, 0x2900, 0x19c0, 0x3009, 0x3840, 0xb284, 0x984c, 0x2900, 0x19c0, 0x4568, 0x4003, 0xb182, 0x134c, 0x2900, 0xd340, 0x4dc6, 0x10d2, 0x34d3, 0x1bcc, 0x3600, 0xd802, 0x3e10, 0x0024, 0x2900, 0x2540, 0x3434, 0x8024, 0x4080, 0x1bcc, 0x3009, 0x1812, 0x2800, 0x3458, 0x4d82, 0x0024, 0x2800, 0x4940, 0xc890, 0x1bcc, 0x2900, 0xe9c0, 0x0000, 0x4208, 0x0000, 0x3781, 0x3413, 0x0024, 0x3009, 0x13c0, 0xb010, 0x0024, 0x0000, 0x0024, 0x2800, 0x4215, 0x0000, 0x0024, 0x0000, 0x0206, 0x2900, 0x1880, 0x4568, 0x184c, 0x2900, 0xf380, 0x3613, 0x0024, 0x4080, 0x0024, 0x0000, 0x0024, 0x2800, 0x4205, 0x0000, 0x0024, 0x0006, 0x0610, 0x30f1, 0x0024, 0x6498, 0x0040, 0x4090, 0x23c4, 0x6090, 0x2000, 0x0000, 0x0001, 0x2800, 0x4215, 0x0000, 0x0024, 0x0006, 0x0010, 0xf150, 0x0024, 0x0000, 0x014e, 0x4010, 0x0024, 0xf400, 0x4011, 0x2400, 0x3c8e, 0x3110, 0x0024, 0x3110, 0x2040, 0x0006, 0x0253, 0x0000, 0x0706, 0x2900, 0x1880, 0x4568, 0x984c, 0x0000, 0x0686, 0x3b10, 0x184c, 0x3bf0, 0x7802, 0x0000, 0x0501, 0x4518, 0x3843, 0x0000, 0x0001, 0x3009, 0x3852, 0x2900, 0x19c0, 0x3009, 0x3840, 0xb284, 0x984c, 0x2900, 0x19c0, 0x4568, 0x4003, 0x4dc6, 0x0024, 0x2900, 0xd340, 0x0006, 0x01d2, 0x2800, 0x4940, 0xc890, 0x9b92, 0xf400, 0x4145, 0x0000, 0x0801, 0x451a, 0x0024, 0x0000, 0x7fc1, 0xb51a, 0x0024, 0x458a, 0x0024, 0x0000, 0x0024, 0x2800, 0x28d5, 0x0000, 0x0024, 0x6d96, 0x4490, 0x3023, 0x0024, 0x3009, 0x0000, 0x4090, 0x0024, 0x3009, 0x2000, 0x2800, 0x4895, 0x0000, 0x0024, 0x30e3, 0x08cc, 0x3009, 0x0040, 0x3009, 0x03c1, 0x4c82, 0x8842, 0x3009, 0x0bc3, 0x2800, 0x4898, 0x0000, 0x0024, 0x0006, 0x0611, 0x2800, 0x4940, 0x3100, 0x0b4c, 0x4d82, 0x184c, 0x2900, 0xe9c0, 0x0000, 0x28c8, 0x36f3, 0x4024, 0x36f3, 0xd80e, 0x36f4, 0x5813, 0x36f1, 0xd810, 0x36f1, 0x5806, 0x36f0, 0xd804, 0x36f0, 0x5802, 0x3405, 0x9014, 0x36f3, 0x0024, 0x36f2, 0x1815, 0x2000, 0x0000, 0x36f2, 0x9817, 0x8131, 0x3613, 0x0024, 0x3e12, 0xb817, 0x3e12, 0x3815, 0x3e05, 0xb814, 0x3615, 0x0024, 0x0000, 0x800a, 0x3e10, 0x3801, 0x0020, 0x0001, 0x3e10, 0xb803, 0x3e11, 0x3805, 0x3e11, 0xb807, 0x3e14, 0x3811, 0x0006, 0x0390, 0x0030, 0x03d1, 0x3e14, 0xb813, 0x3e13, 0xf80e, 0x3e03, 0x4024, 0x3001, 0x4024, 0x3100, 0x0024, 0xb010, 0x0024, 0x0000, 0x0401, 0x2800, 0x5385, 0x0000, 0x0024, 0x3100, 0x184c, 0xf292, 0x0024, 0xb012, 0x0024, 0x2910, 0x9a80, 0x3900, 0x4024, 0x0000, 0x0401, 0x3100, 0x0024, 0xb010, 0x0024, 0x0000, 0x1c00, 0x2800, 0x5885, 0x458a, 0x0024, 0x0000, 0x0024, 0x2800, 0x5b05, 0x0000, 0x0024, 0x0006, 0x1e50, 0x0006, 0x03d2, 0x0006, 0x79d3, 0x2910, 0x0700, 0x3a01, 0x4024, 0xb88a, 0x8c00, 0x3009, 0x2000, 0x0006, 0x7a10, 0x3009, 0x0000, 0x6090, 0x0024, 0x2800, 0x5b00, 0x3009, 0x2c00, 0x0000, 0x0024, 0x2800, 0x5b15, 0x0000, 0x0024, 0x0006, 0x1e53, 0x0006, 0x79d0, 0x0006, 0x03d2, 0x2910, 0x0700, 0x0000, 0x18c0, 0x3201, 0x4c00, 0x3009, 0x2000, 0x0020, 0x0001, 0x31d3, 0x0024, 0x3100, 0x0024, 0xb010, 0x0024, 0x0000, 0x0024, 0x2800, 0x6185, 0x4590, 0x0024, 0x3100, 0x184c, 0xf292, 0x0024, 0xb012, 0x0024, 0x3930, 0x4024, 0x003f, 0xe9c1, 0x3100, 0x0024, 0xb012, 0x0024, 0x2900, 0x0e40, 0x3900, 0x4024, 0x0000, 0x404e, 0x2400, 0x608e, 0x0000, 0x0024, 0x0000, 0x0401, 0x2900, 0x1300, 0xc890, 0x184c, 0x0000, 0x0024, 0x2900, 0x0d80, 0x0000, 0x4084, 0x4590, 0x0024, 0x0000, 0x0181, 0x2800, 0x6715, 0x0030, 0x03d0, 0x0000, 0x0085, 0x0006, 0x0250, 0x0006, 0x0451, 0x3010, 0x0024, 0x30f0, 0x4024, 0x0006, 0x0590, 0x6c92, 0x0024, 0x0000, 0x0020, 0xf2c2, 0x0024, 0x3910, 0x0024, 0x0006, 0x01c0, 0x39f0, 0x4024, 0x0006, 0x01d1, 0x38d0, 0x0440, 0x3810, 0x0441, 0x3810, 0x4400, 0x0000, 0x0181, 0x3800, 0x0024, 0x0030, 0x03d0, 0x30a0, 0x0024, 0xb010, 0x0024, 0x0000, 0x0081, 0x6012, 0x0024, 0x001d, 0x9941, 0x2800, 0x6c55, 0x0000, 0x0024, 0x3000, 0x0024, 0x6012, 0x0024, 0x0030, 0x0110, 0x2800, 0x6c55, 0x0000, 0x0024, 0x0006, 0x0651, 0x3000, 0x0024, 0x3100, 0x4024, 0x6014, 0x0024, 0x0000, 0x0024, 0x2800, 0x6c41, 0x0000, 0x0024, 0x3100, 0x0024, 0x3800, 0x0024, 0x0000, 0x0080, 0x6500, 0x0024, 0x0000, 0x00c0, 0x2800, 0x7495, 0x0000, 0x0241, 0x0006, 0x04d0, 0x0000, 0x1442, 0x3011, 0x984c, 0x30f1, 0xc024, 0x2900, 0xfa40, 0xaf1e, 0x0024, 0x0000, 0x00c1, 0x3010, 0x8024, 0x3010, 0xc024, 0x6d96, 0x0380, 0x4090, 0x2042, 0x3810, 0xc024, 0x2800, 0x73d5, 0x0000, 0x00c5, 0x418a, 0x004c, 0x3000, 0x0024, 0x4010, 0x0024, 0x3800, 0x0024, 0x30d4, 0x4024, 0x3009, 0x0440, 0x3810, 0x07c1, 0x3820, 0x4024, 0x30f4, 0x4024, 0x3123, 0x0024, 0x3009, 0x0400, 0x0006, 0x0411, 0xb880, 0x2000, 0x4580, 0x2400, 0x6500, 0x0024, 0x0000, 0x0100, 0x2800, 0x7a55, 0x0000, 0x0201, 0x003f, 0xc000, 0x2900, 0x1300, 0x3613, 0x0024, 0x0000, 0x3f81, 0x6012, 0x0024, 0x0006, 0x0410, 0x2800, 0x7855, 0x0000, 0x0000, 0x0000, 0x0105, 0x2800, 0xa400, 0x3800, 0x0024, 0x3000, 0x0024, 0x6090, 0x0024, 0x4080, 0x2000, 0x0000, 0x0024, 0x2800, 0xa418, 0x0000, 0x0024, 0x2900, 0x0d80, 0x0000, 0xa408, 0x6500, 0x0024, 0x0000, 0x0140, 0x2800, 0x97d5, 0x0006, 0x0450, 0x3010, 0x0024, 0x30f0, 0x4024, 0x4c82, 0x0024, 0x0000, 0xf601, 0x2800, 0x8d89, 0x0000, 0x0024, 0x291a, 0x22c0, 0x3613, 0x0024, 0x6012, 0x0024, 0x0000, 0x0041, 0x2800, 0x8d98, 0x0006, 0x0451, 0x0000, 0x0802, 0x0006, 0x79d0, 0x3111, 0x8012, 0xfe22, 0x07c7, 0x48b2, 0x0024, 0x6cfe, 0x0024, 0x0000, 0x0004, 0x2800, 0x8109, 0x6420, 0x0024, 0xb888, 0x0442, 0x6420, 0x07c3, 0x0000, 0x0024, 0x2800, 0x8558, 0x4290, 0x0024, 0x2400, 0x8500, 0x0000, 0x0024, 0x0000, 0x0401, 0x2900, 0x1300, 0xc890, 0x184c, 0x0001, 0x0001, 0x3a10, 0x0024, 0xf400, 0x4480, 0x6016, 0x0024, 0x0000, 0x0024, 0x2800, 0x8511, 0x0000, 0x0024, 0x0000, 0x0012, 0x6498, 0x0024, 0x0006, 0x79d0, 0x0000, 0x0041, 0x0006, 0x0451, 0x0006, 0x0413, 0x3111, 0xa012, 0xfe22, 0x07c7, 0x6fb2, 0x0024, 0x3910, 0x0024, 0x39f0, 0x4024, 0x0000, 0x0801, 0x3300, 0x0024, 0x4012, 0x0024, 0x0000, 0x4000, 0x6100, 0x2c01, 0x0006, 0x0450, 0x2800, 0x8a91, 0x0000, 0x0401, 0x2900, 0x1300, 0xc890, 0x184c, 0x2800, 0x8d80, 0x0000, 0x0085, 0x3010, 0x0024, 0x30f0, 0x4024, 0x4c82, 0x0024, 0x0000, 0xf601, 0x2800, 0x8d89, 0x0000, 0x0024, 0x291a, 0x22c0, 0x3613, 0x0024, 0x6012, 0x0024, 0x0006, 0x0451, 0x2800, 0x7e48, 0x0000, 0x0041, 0x0013, 0xaa40, 0x0030, 0x0850, 0x0006, 0x0451, 0x3800, 0x0024, 0x3110, 0x0024, 0x31f0, 0x4024, 0x4c82, 0x0024, 0x0000, 0x0181, 0x2800, 0xa419, 0x0030, 0x03d0, 0x2900, 0x0e40, 0x3613, 0x0024, 0x30d0, 0x0024, 0xb010, 0x0024, 0x0000, 0x0081, 0x6012, 0x0024, 0x0000, 0x0145, 0x2800, 0x9455, 0x6892, 0x0024, 0x0030, 0x0111, 0x0006, 0x0652, 0x3100, 0x0024, 0x6090, 0x0024, 0x689a, 0x2800, 0x0000, 0x1b00, 0x2910, 0x0700, 0x0000, 0xa408, 0x3000, 0x0024, 0x4012, 0x0024, 0x6592, 0x20c1, 0x3000, 0x0024, 0xb010, 0x0024, 0x6592, 0x0024, 0x6012, 0x0024, 0x0000, 0x1401, 0x2800, 0xa415, 0x0000, 0x0024, 0x3000, 0x0024, 0xc012, 0x0024, 0x2800, 0xa400, 0x3800, 0x4024, 0x6500, 0x0024, 0x0030, 0x0850, 0x2800, 0xa3d5, 0x0013, 0xaa40, 0x0000, 0xf601, 0x291a, 0x22c0, 0x3613, 0x0024, 0x6012, 0x0024, 0x0000, 0x5001, 0x2800, 0x9fd8, 0x0006, 0x0410, 0x0006, 0x79d0, 0x0000, 0x07ce, 0x2400, 0x9d8e, 0xb884, 0x8012, 0x0001, 0x0001, 0x3a10, 0x8024, 0xf400, 0x4480, 0x6016, 0x0024, 0x0000, 0x0024, 0x2800, 0x9d91, 0x0000, 0x0024, 0x0000, 0x0012, 0x0000, 0x0024, 0x0000, 0x5001, 0x0000, 0x0804, 0x0006, 0x79d0, 0x0006, 0x0411, 0x3100, 0x2012, 0x0006, 0x0410, 0x6090, 0x0024, 0x3900, 0x0024, 0x3000, 0x0024, 0x6012, 0x0024, 0x0000, 0x404e, 0x2800, 0xa391, 0x0013, 0xaa40, 0x2400, 0xa24e, 0x0000, 0x0024, 0x0000, 0x0401, 0x2900, 0x1300, 0xc890, 0x184c, 0x0000, 0x0024, 0x2910, 0x0700, 0x0000, 0x1940, 0x2900, 0x0d80, 0x0013, 0xaa40, 0x0030, 0x0850, 0x3800, 0x0024, 0x0030, 0x0490, 0x0000, 0x0000, 0x0006, 0x0391, 0x3800, 0x0024, 0x3901, 0x4024, 0x36f3, 0x4024, 0x36f3, 0xd80e, 0x36f4, 0x9813, 0x36f4, 0x1811, 0x36f1, 0x9807, 0x36f1, 0x1805, 0x36f0, 0x9803, 0x36f0, 0x1801, 0x3405, 0x9014, 0x36f3, 0x0024, 0x36f2, 0x1815, 0x2000, 0x0000, 0x36f2, 0x9817, 0x82a2, 0x0030, 0x0653, 0x0030, 0x0351, 0x0000, 0xfa00, 0x0030, 0x0810, 0x0030, 0x0012, 0x003f, 0xfdc3, 0x3e05, 0xb814, 0x3615, 0x0024, 0x0000, 0x800a, 0x3810, 0x0024, 0x0013, 0xaa40, 0xb880, 0x2000, 0x0006, 0x0190, 0x2900, 0x0400, 0x3900, 0x0024, 0x3200, 0x8004, 0xb234, 0x984c, 0xc020, 0x0024, 0x3a00, 0x0024, 0x0000, 0x00c0, 0x3be0, 0x0024, 0x0000, 0x02c0, 0x2910, 0x4500, 0x3b00, 0x0024, 0x2916, 0x4780, 0x3613, 0x2004, 0x2911, 0xcb40, 0x3613, 0x0024, 0x2914, 0x3340, 0x0000, 0x7d05, 0x2910, 0x9040, 0x6898, 0x184c, 0x4182, 0x084c, 0x0000, 0x0302, 0x2800, 0xb255, 0x3200, 0x0024, 0x003f, 0xfdc2, 0x2800, 0xb280, 0xb024, 0x0024, 0xc024, 0x0024, 0x3a00, 0x8d4c, 0xb880, 0x984c, 0x3b00, 0x0024, 0x2911, 0xfe80, 0x3b00, 0x0024, 0x0000, 0x7fce, 0x2400, 0xb50e, 0x0000, 0x0024, 0x2900, 0x0e40, 0x3613, 0x0024, 0x0000, 0x0024, 0x0000, 0x1002, 0x2900, 0xfa40, 0xbf8e, 0x184c, 0x4090, 0x4004, 0x0000, 0x0024, 0x2800, 0xb3d5, 0x0000, 0x0024, 0x0000, 0x1045, 0x4584, 0x184c, 0x2900, 0xfa40, 0xbf8e, 0x0024, 0x4080, 0x0024, 0x0000, 0x0024, 0x2800, 0xbac5, 0x0000, 0x0024, 0x6498, 0x0024, 0x4480, 0x0024, 0x0000, 0x0024, 0x2800, 0xb3c8, 0x0000, 0x0024, 0x2800, 0xb740, 0x0000, 0x0024, 0x0000, 0x1402, 0x0000, 0x8006, 0x2900, 0xfa40, 0xb88e, 0x184c, 0x4080, 0x0024, 0x0000, 0x0024, 0x2800, 0xb3d5, 0x0000, 0x0024, 0x2901, 0x0380, 0x3613, 0x0024, 0x4080, 0x0024, 0x0000, 0x0802, 0x2800, 0xcb95, 0x0030, 0x03d0, 0x3000, 0x0024, 0xb020, 0x0024, 0x0000, 0x0024, 0x2800, 0xc005, 0x0000, 0x0024, 0x2800, 0xc0c0, 0xf290, 0x038c, 0x003f, 0xffc4, 0x2901, 0x1ac0, 0x3613, 0x038c, 0x3820, 0x184c, 0x6894, 0x0000, 0xb020, 0x0024, 0x0000, 0x0024, 0x2800, 0xc485, 0x0000, 0x0024, 0x3009, 0x3841, 0x2900, 0x1d40, 0x3009, 0x3840, 0x4084, 0x038c, 0x291d, 0x21c0, 0x3000, 0x1bcc, 0x0030, 0x0310, 0x4180, 0x9801, 0x3800, 0x0024, 0x0030, 0x0310, 0xf298, 0x0002, 0xb244, 0x0024, 0x2901, 0x1ac0, 0x4288, 0x2002, 0x4080, 0x00cc, 0x0000, 0x0182, 0x2800, 0xcb98, 0x0000, 0x0024, 0x3000, 0x0024, 0xb020, 0x0024, 0x0000, 0x0102, 0x6024, 0x0024, 0x0006, 0x0391, 0x2800, 0xc9d5, 0x003f, 0xefc2, 0x0000, 0x0402, 0x3000, 0x0024, 0xc024, 0x0024, 0x3800, 0x8024, 0x003f, 0xefc2, 0x3000, 0x0024, 0xb020, 0x0024, 0x0000, 0x0202, 0xc020, 0x0024, 0x6890, 0x2000, 0x2800, 0xcc80, 0x3900, 0x0024, 0x0030, 0x0310, 0xb880, 0x0024, 0x2900, 0x0d80, 0x3800, 0x0024, 0x0030, 0x0050, 0x003f, 0xfec2, 0x0006, 0x7e51, 0x0006, 0x7a92, 0x0030, 0x0693, 0x3000, 0x0024, 0xb024, 0x0024, 0x0002, 0x8000, 0x3830, 0xa400, 0x0001, 0x0000, 0x3009, 0x2800, 0x0000, 0x08c0, 0xb880, 0x2c00, 0x3800, 0x0024, 0x0006, 0x0650, 0x3800, 0x0024, 0x2913, 0x4280, 0x3613, 0x0024, 0x4080, 0x184c, 0x0000, 0x0024, 0x2800, 0xd2d5, 0x0000, 0x0024, 0x2919, 0x6e40, 0x0000, 0xd088, 0x3613, 0x0024, 0x2911, 0xfe80, 0x0000, 0xd088, 0x834d, 0x3e10, 0x7807, 0x3e12, 0x380a, 0x3e11, 0x3805, 0x3e14, 0xf811, 0x0006, 0x02d1, 0x31a0, 0x084c, 0x2800, 0xde00, 0xb182, 0x3806, 0x6d96, 0x05c0, 0x4080, 0x184c, 0x0003, 0xffc7, 0x2800, 0xd785, 0x3223, 0x050c, 0x2900, 0x1880, 0x489c, 0x44c4, 0x2800, 0xd940, 0xbcfe, 0x0640, 0x2900, 0x19c0, 0x478a, 0x44c4, 0x6098, 0x0024, 0x0000, 0x0001, 0x2800, 0xd955, 0x4c8e, 0x0640, 0x489c, 0x4147, 0x3009, 0x0804, 0x4408, 0x070c, 0x4408, 0xab84, 0x0000, 0x0024, 0x2800, 0xdb41, 0x6fda, 0x0401, 0x0000, 0x0024, 0x2800, 0xe145, 0x4f86, 0x0024, 0x4898, 0x05cc, 0x0003, 0xffc5, 0x6fea, 0x4480, 0x0006, 0x1d84, 0x2800, 0xe785, 0x6048, 0x084c, 0x3143, 0x0024, 0x2800, 0xe798, 0xb182, 0x0680, 0x3233, 0x0024, 0xffb0, 0x084c, 0x48ba, 0xab81, 0xffa0, 0x0440, 0x44ba, 0x05c1, 0x4ce2, 0x0684, 0x000c, 0x8c45, 0x645a, 0xa840, 0x0000, 0x0024, 0x2800, 0xe3d5, 0x3193, 0x2bc1, 0xc998, 0x088c, 0x2800, 0xe780, 0x3009, 0x2bc4, 0x4182, 0x44c6, 0x0000, 0x0080, 0x2800, 0xe285, 0x460c, 0x0024, 0x460c, 0x0024, 0x0000, 0x7fc0, 0xb60c, 0x0024, 0xf400, 0x4193, 0x2800, 0xd555, 0x0000, 0x0024, 0x0000, 0x3fc6, 0xb26c, 0x0440, 0x4080, 0x184c, 0x0fff, 0xfe04, 0x2800, 0xe645, 0x0000, 0x0021, 0x0000, 0x1fc6, 0xb26c, 0x0024, 0x466c, 0x0024, 0x0fff, 0xfe44, 0xad42, 0x0444, 0x466c, 0x0785, 0x4ce2, 0x4193, 0x2900, 0xe9c0, 0x0000, 0xd548, 0x36f1, 0x8884, 0x0020, 0x0005, 0xc458, 0x4480, 0x32e3, 0x1811, 0x36f4, 0xe804, 0x36f1, 0x1805, 0x36f2, 0x180a, 0x2000, 0x0000, 0x36f0, 0x5807, 0x83a7, 0x3e10, 0xb806, 0x3e12, 0x380a, 0x0000, 0x0246, 0x4112, 0xb812, 0xf212, 0x3847, 0x3e13, 0xf80e, 0xac6e, 0x388d, 0x2900, 0xfa40, 0x0000, 0x1442, 0x003f, 0xc000, 0x2900, 0x1300, 0x0000, 0x0201, 0x0000, 0x3fc2, 0x6024, 0x0024, 0x0000, 0x3f82, 0x2800, 0xec05, 0x6024, 0x184c, 0x0000, 0x0140, 0x2900, 0x0e55, 0x0000, 0xf208, 0x0000, 0x3fce, 0x2400, 0xf00e, 0x0000, 0x0012, 0x2900, 0x12c0, 0x003f, 0xffc0, 0x3a10, 0x184c, 0x003f, 0xffc0, 0x2900, 0x1300, 0x0000, 0x0401, 0x2900, 0x0e40, 0x3613, 0x0024, 0x2900, 0x0e40, 0xb080, 0x184c, 0x36f3, 0x4024, 0x36f3, 0xd80e, 0x36f1, 0xd812, 0x36f2, 0x180a, 0x2000, 0x0000, 0x36f0, 0x9806, 0x83ce, 0x4c87, 0xe2e3, 0x0000, 0x3fc1, 0xb316, 0x0024, 0x0000, 0xf755, 0xf400, 0x5544, 0x4c82, 0x0024, 0x0000, 0x0024, 0x2800, 0xf6c5, 0x0000, 0x0024, 0xdcd2, 0x0024, 0x0000, 0x0024, 0x2800, 0xf495, 0x0fff, 0xffc0, 0x2000, 0x0000, 0x36f0, 0x9803, 0x0033, 0x504d, 0x0033, 0x504d, 0x0033, 0x504d, 0x0056, 0x4157, 0x0041, 0x4d57, 0x0056, 0x4d57, 0x0046, 0x5341, 0x0043, 0x4141, 0x0034, 0x504d, 0x0041, 0x344d, 0x0044, 0x494d, 0x0000, 0x0000, 0x83e9, 0x3e10, 0x7803, 0x3e24, 0x3808, 0x2900, 0x0e40, 0x0030, 0x0650, 0x2900, 0x0e40, 0xf296, 0x984c, 0xf236, 0x0000, 0x0fff, 0xff41, 0xb012, 0x0024, 0xf236, 0x2001, 0x003f, 0xc000, 0x2900, 0x1300, 0x0000, 0x0201, 0x0000, 0x0201, 0x2900, 0x1300, 0xa210, 0x184c, 0x2900, 0x12c0, 0x4780, 0x184c, 0x2900, 0x12c0, 0x4680, 0x188c, 0x0000, 0x0201, 0x2900, 0x1300, 0x0025, 0x4000, 0x2801, 0x0100, 0x0001, 0xf402, 0x2900, 0x1300, 0x4680, 0x184c, 0x4294, 0x0024, 0x0000, 0x2006, 0x2801, 0x02c5, 0xb06c, 0x0024, 0x003f, 0xc006, 0x2801, 0x0095, 0x0000, 0x0201, 0x36f4, 0x1808, 0x2000, 0x0000, 0x36f0, 0x5803, 0x840e, 0x3e11, 0xf812, 0x3e10, 0x7802, 0x3e10, 0xf804, 0x3e11, 0x7806, 0x0006, 0x01d2, 0xbc82, 0x380a, 0x3a10, 0x3888, 0x2900, 0xe9c0, 0x3af0, 0x4024, 0x2900, 0x1880, 0x0000, 0x0d84, 0x0010, 0x5184, 0x000c, 0x5505, 0x6ce2, 0x18cc, 0x0000, 0x0024, 0x2801, 0x0a05, 0x000c, 0xd505, 0x2900, 0x1880, 0x0000, 0x1484, 0x0010, 0x5184, 0x6ce2, 0x184c, 0x0000, 0x0024, 0x2801, 0x0a05, 0x0000, 0x7184, 0x2900, 0x1880, 0x3613, 0x0024, 0x3a10, 0x0024, 0x2900, 0xe9c0, 0x3a50, 0x4024, 0x2900, 0x19c0, 0x0000, 0x0e44, 0x3af0, 0x0024, 0x2900, 0x19c0, 0x0000, 0x0444, 0x408e, 0x2a40, 0x0000, 0x02c4, 0x2801, 0x0d45, 0x6892, 0x0acc, 0xb882, 0x0024, 0x2900, 0x19c0, 0x3a70, 0x584c, 0x0000, 0x2001, 0xff82, 0x090c, 0x48b2, 0x184c, 0x2900, 0x0540, 0x0000, 0x0344, 0xff90, 0x4046, 0x48b6, 0x984c, 0x3ac0, 0x8024, 0x2900, 0x19c0, 0x0000, 0x0384, 0x3211, 0x0024, 0xffe0, 0x0a45, 0x4eb2, 0x184c, 0x3a10, 0x0024, 0xb182, 0x2841, 0x2900, 0x19c0, 0x0000, 0x0584, 0x4080, 0x2840, 0x3ac0, 0x584c, 0x2801, 0x1515, 0x3230, 0x0024, 0x4080, 0x1bcc, 0x0000, 0x0904, 0x2801, 0x1945, 0x0000, 0x02c0, 0x2900, 0x1880, 0x3613, 0x0024, 0x3a10, 0x184c, 0x3af0, 0x4024, 0x2900, 0x0540, 0x0000, 0x0404, 0xffe0, 0x0842, 0x48ba, 0x0b43, 0xffb8, 0x4103, 0x48b2, 0x0844, 0xffa6, 0x09c5, 0x40b2, 0x888c, 0x4cea, 0x0a42, 0xb182, 0x41c0, 0x0fff, 0xff07, 0xac72, 0x4043, 0x4ce2, 0x0bcc, 0x4224, 0x2844, 0x6cd2, 0x2845, 0xb880, 0x2840, 0x3a00, 0x4024, 0x36f2, 0x9808, 0x36f1, 0x5806, 0x36f0, 0xd804, 0x36f0, 0x5802, 0x2000, 0x0000, 0x36f1, 0xd812, 0x846b, 0x3e10, 0x7802, 0x3e12, 0x3810, 0x3e10, 0xf812, 0x0006, 0x0012, 0x3230, 0x0024, 0x4080, 0xb851, 0x0006, 0x01d1, 0x2801, 0x1e05, 0x0020, 0x0003, 0x0000, 0x0082, 0xb886, 0x4452, 0x2900, 0xd340, 0x0001, 0x20c8, 0x3210, 0x1bcc, 0x3260, 0x4024, 0xc132, 0x088c, 0x3200, 0x8024, 0xf224, 0xa440, 0xb182, 0xa7c1, 0xf224, 0x4450, 0xf224, 0x00cc, 0xf224, 0xa3c1, 0x3009, 0x2082, 0xf400, 0x4400, 0x0006, 0x05d5, 0xf400, 0x4452, 0xb884, 0x3444, 0x3d00, 0x8024, 0x2900, 0x2540, 0x3e10, 0x0024, 0x3009, 0x1bd1, 0x36f0, 0xd812, 0x36f2, 0x1810, 0x2000, 0x0000, 0x36f0, 0x5802 }; /*#define CODE_SIZE 2316 const unsigned char atab[2316] = { // Register addresses 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x7, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6 }; const unsigned short dtab[2316] = { // Data to write 0x8010, 0x2000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0024, 0x0000, 0x0024, 0x2800, 0x48c0, 0x8030, 0x2919, 0xe240, 0x0000, 0x0510, 0x2919, 0xe140, 0x0000, 0x0010, 0x2800, 0x0dc0, 0x0000, 0x0041, 0x0000, 0x0001, 0x2800, 0x9d00, 0x0006, 0x2016, 0x8039, 0x3e13, 0xb80f, 0x0000, 0x0055, 0x0030, 0x0497, 0x3f75, 0x780d, 0x0000, 0x03ce, 0x2400, 0x11ce, 0x0000, 0x0024, 0x0000, 0x0024, 0x2800, 0x1080, 0x0000, 0x02d5, 0x3f05, 0x4024, 0x0000, 0x0024, 0x2800, 0x1180, 0x0000, 0x00d5, 0x3f05, 0x4024, 0x3009, 0x1bcd, 0x2000, 0x0000, 0x36f3, 0x980f, 0x804b, 0x0000, 0x0401, 0x3e11, 0xb804, 0x3e13, 0x7805, 0x0000, 0x0244, 0x0000, 0x0046, 0x419a, 0x380e, 0x4cc2, 0xb80f, 0x0030, 0x0497, 0x2400, 0x1745, 0x0fff, 0xff45, 0x0000, 0x0024, 0x0000, 0x0024, 0x3f60, 0x4024, 0x3710, 0x4024, 0x3f01, 0x0024, 0xa152, 0x0024, 0x0000, 0x0024, 0x0000, 0x0024, 0x8cc2, 0x3e46, 0x36f3, 0x980f, 0x36f3, 0x5805, 0x2000, 0x0000, 0x36f1, 0x9804, 0x8015, 0x3e12, 0x3805, 0x2900, 0x19c0, 0x0000, 0x3fc5, 0x3602, 0x0024, 0x2000, 0x0000, 0xb500, 0x9bc5, 0x8062, 0x6492, 0xb808, 0x2900, 0x19c0, 0x6198, 0x3844, 0x3009, 0x1808, 0x4082, 0x1804, 0x0000, 0x0015, 0xf240, 0x3814, 0xf400, 0x4014, 0x3583, 0x3801, 0x3510, 0x4024, 0x0000, 0x0204, 0x2800, 0x1c11, 0x3500, 0x0024, 0xac42, 0x0024, 0x0000, 0x0020, 0x6848, 0x4800, 0xac42, 0x1814, 0x2000, 0x0000, 0xc100, 0x9bc1, 0x8075, 0x0006, 0x0197, 0x3e00, 0x5c00, 0x000f, 0xd641, 0xfe10, 0x0024, 0x0008, 0xd4c0, 0x4cb2, 0x0024, 0xf200, 0xbc00, 0x2000, 0x0000, 0x36f0, 0x4024, 0x807e, 0x0000, 0x07c0, 0x0030, 0x0497, 0x0000, 0x0055, 0x4090, 0x3c15, 0x0000, 0x0015, 0x2800, 0x2014, 0x3f05, 0x4024, 0x2000, 0x0000, 0x0000, 0x0024, 0x8087, 0x3e12, 0xb817, 0x3e12, 0x3815, 0x3e05, 0xb814, 0x3625, 0x0024, 0x0000, 0x800a, 0x3e10, 0x7802, 0x3e10, 0xf804, 0x3e11, 0x7806, 0x3e11, 0xf810, 0x3e14, 0x7813, 0x3e13, 0xf80e, 0x3e03, 0x4842, 0x2800, 0x4500, 0xb88a, 0x8bc3, 0x2900, 0x0540, 0x4588, 0x184c, 0xf400, 0x4007, 0x0000, 0x3940, 0x6700, 0x0024, 0x0000, 0x02c1, 0x2800, 0x3ec5, 0x478e, 0x0024, 0x0000, 0x0024, 0x2800, 0x3ec5, 0x0000, 0x0024, 0x2900, 0x0540, 0x4518, 0x184c, 0x0000, 0x0401, 0x3413, 0x0024, 0xb010, 0xb3c0, 0x0000, 0x0b80, 0x2800, 0x3185, 0x6700, 0x0024, 0x0000, 0x0501, 0x2800, 0x3185, 0x0000, 0x0024, 0x0000, 0x0686, 0x4518, 0x184c, 0x3009, 0x3852, 0x3e10, 0xf802, 0x0000, 0x0002, 0x3009, 0x3852, 0x2900, 0x19c0, 0x3009, 0x3840, 0x4086, 0x984c, 0x2900, 0x19c0, 0x4568, 0x0024, 0xb182, 0x134c, 0x2900, 0xd340, 0x4dc6, 0x10d2, 0x34d3, 0x1bcc, 0x3600, 0xd802, 0x3e10, 0x0024, 0x2900, 0x21c0, 0x3434, 0x8024, 0x4080, 0x1bcc, 0x3009, 0x1812, 0x2800, 0x3118, 0x4d82, 0x0024, 0x2800, 0x45c0, 0xc890, 0x1bcc, 0x2900, 0xe9c0, 0x0000, 0x3ec8, 0x0000, 0x3781, 0x3413, 0x0024, 0x3009, 0x13c0, 0xb010, 0x0024, 0x0000, 0x0024, 0x2800, 0x3ed5, 0x0000, 0x0024, 0x0000, 0x0206, 0x2900, 0x1880, 0x4568, 0x184c, 0x2900, 0xf380, 0x3613, 0x0024, 0x4080, 0x0024, 0x0000, 0x0024, 0x2800, 0x3ec5, 0x0000, 0x0024, 0x0006, 0x0610, 0x30f1, 0x0024, 0x6498, 0x0040, 0x4090, 0x23c4, 0x6090, 0x2000, 0x0000, 0x0001, 0x2800, 0x3ed5, 0xf150, 0x0024, 0x0000, 0x014e, 0x4010, 0x0024, 0x0006, 0x0010, 0xf400, 0x4011, 0x2400, 0x390e, 0x3110, 0x0024, 0x3110, 0x2040, 0x0006, 0x0253, 0x0000, 0x0706, 0x2900, 0x1880, 0x4568, 0x984c, 0x0000, 0x0686, 0x3b10, 0x184c, 0x3bf0, 0x7802, 0x0000, 0x0002, 0x0000, 0x0501, 0x4518, 0x3843, 0x0000, 0x0001, 0x3009, 0x3852, 0x2900, 0x19c0, 0x3009, 0x3840, 0x4086, 0x984c, 0x2900, 0x19c0, 0x4568, 0x0024, 0x4dc6, 0x0024, 0x2900, 0xd340, 0x0006, 0x01d2, 0x2800, 0x45c0, 0xc890, 0x9b92, 0x0000, 0x0801, 0x451a, 0x4140, 0x0000, 0x7fc1, 0xb51a, 0x0024, 0x458a, 0x0024, 0x0000, 0x0024, 0x2800, 0x2555, 0x0000, 0x0024, 0x6d96, 0x4490, 0x3023, 0x0024, 0x3009, 0x0000, 0x4090, 0x0024, 0x3009, 0x2000, 0x2800, 0x4515, 0x0000, 0x0024, 0x30e3, 0x08cc, 0x3009, 0x0040, 0x3009, 0x03c1, 0x4c82, 0x8842, 0x3009, 0x0bc3, 0x2800, 0x4518, 0x0000, 0x0024, 0x0006, 0x0611, 0x2800, 0x45c0, 0x3100, 0x0b4c, 0x4d82, 0x184c, 0x2900, 0xe9c0, 0x0000, 0x2548, 0x36f3, 0x4024, 0x36f3, 0xd80e, 0x36f4, 0x5813, 0x36f1, 0xd810, 0x36f1, 0x5806, 0x36f0, 0xd804, 0x36f0, 0x5802, 0x3405, 0x9014, 0x36f3, 0x0024, 0x36f2, 0x1815, 0x2000, 0x0000, 0x36f2, 0x9817, 0x8123, 0x3613, 0x0024, 0x3e12, 0xb817, 0x3e12, 0x3815, 0x3e05, 0xb814, 0x3615, 0x0024, 0x0000, 0x800a, 0x3e10, 0x3801, 0x0000, 0x0401, 0x3e10, 0xb803, 0x3e11, 0x3805, 0x3e11, 0xb807, 0x3e14, 0x3811, 0x0030, 0x03d1, 0x0006, 0x0390, 0x3e14, 0xb813, 0x3e13, 0xf80e, 0x3e03, 0x4024, 0x3001, 0x4024, 0x3100, 0x0024, 0xb010, 0x0024, 0x0013, 0x5501, 0x2800, 0x5245, 0x458a, 0x0024, 0x0006, 0x1e50, 0x2800, 0x5405, 0x0000, 0x0024, 0x0006, 0x79d3, 0x0006, 0x03d2, 0xb88b, 0xa530, 0x31a3, 0x2000, 0x3100, 0x0024, 0x6012, 0x0024, 0x0006, 0x7a10, 0x2800, 0x5415, 0x3009, 0x0000, 0x6090, 0x0024, 0x2800, 0x5400, 0x3009, 0x2c00, 0x0006, 0x79d0, 0x2800, 0x5415, 0x0000, 0x0024, 0x0006, 0x1e53, 0x0006, 0x03d2, 0x3201, 0x4c00, 0x3009, 0x2000, 0x0020, 0x0001, 0x0030, 0x0310, 0x3000, 0x0024, 0xb010, 0x0024, 0x0000, 0x0024, 0x2800, 0x57c5, 0x4590, 0x0024, 0x3000, 0x184c, 0xf292, 0x0024, 0xb010, 0x0024, 0x2900, 0x0e40, 0x3800, 0x0024, 0x2900, 0x0d80, 0x0000, 0x0024, 0x4590, 0x0024, 0x0000, 0x0181, 0x2800, 0x5d55, 0x0030, 0x03d0, 0x0006, 0x0590, 0x0006, 0x0452, 0x0006, 0x0251, 0x0000, 0x0085, 0x3110, 0x0024, 0x31f0, 0x4024, 0x0006, 0x0211, 0x6c92, 0x0024, 0x0000, 0x0020, 0xf2c2, 0x0024, 0x3a10, 0x0024, 0x0006, 0x01c0, 0x3af0, 0x47c1, 0x38d0, 0x0480, 0x3810, 0x0400, 0x3810, 0x4024, 0x0000, 0x0181, 0x3800, 0x0024, 0x0030, 0x03d0, 0x30a0, 0x0024, 0xb010, 0x0024, 0x0000, 0x0081, 0x6012, 0x0024, 0x001d, 0x9941, 0x2800, 0x6295, 0x0000, 0x0024, 0x3000, 0x0024, 0x6012, 0x0024, 0x0030, 0x0110, 0x2800, 0x6295, 0x0000, 0x0024, 0x0006, 0x0691, 0x3000, 0x0024, 0x3100, 0x4024, 0x6014, 0x0024, 0x0000, 0x0024, 0x2800, 0x6281, 0x0000, 0x0024, 0x3100, 0x0024, 0x3800, 0x0024, 0x0000, 0x0080, 0x6500, 0x0024, 0x0000, 0x0241, 0x2800, 0x6e15, 0x0006, 0x04d0, 0x0000, 0x1442, 0x3011, 0x984c, 0x30f1, 0xc024, 0x2900, 0xfa40, 0xaf1e, 0x0024, 0x0000, 0x00c1, 0x3010, 0x8024, 0x3010, 0xc024, 0x6d96, 0x0380, 0x4090, 0x2042, 0x3810, 0xc024, 0x2800, 0x6a15, 0x0006, 0x0411, 0x3013, 0x0024, 0x3000, 0x0024, 0x4010, 0x0024, 0x3800, 0x0024, 0x30d4, 0x4024, 0x3009, 0x0440, 0x3810, 0x07c1, 0x3820, 0x4024, 0x30f4, 0x4024, 0x3123, 0x0024, 0x3009, 0x0400, 0x0006, 0x0411, 0x0000, 0xc801, 0x0006, 0x0652, 0xb880, 0x2000, 0x3900, 0x0024, 0x3200, 0x0024, 0x6090, 0x0024, 0x6012, 0x2800, 0x0000, 0x00c5, 0x2800, 0x6e15, 0x0000, 0x0024, 0x0030, 0x0253, 0x3300, 0x0024, 0x4080, 0x0024, 0x0030, 0x03d0, 0x2800, 0x89c5, 0x0000, 0x0181, 0x0000, 0x00c0, 0x6500, 0x0024, 0x0000, 0x0100, 0x2800, 0x7415, 0x0000, 0x0201, 0x003f, 0xc000, 0x2900, 0x1300, 0x3613, 0x0024, 0x0000, 0x3f81, 0x6012, 0x0024, 0x0006, 0x0410, 0x2800, 0x7215, 0x0000, 0x0000, 0x0000, 0x0105, 0x2800, 0x9880, 0x3800, 0x0024, 0x3000, 0x0024, 0x6090, 0x0024, 0x4080, 0x2000, 0x0000, 0x0024, 0x2800, 0x9898, 0x0000, 0x0024, 0x2900, 0x0d80, 0x0000, 0x9888, 0x6500, 0x0024, 0x0000, 0x0140, 0x2800, 0x8e95, 0x0006, 0x0450, 0x3010, 0x0024, 0x30f0, 0x4024, 0x4c82, 0x0024, 0x0000, 0xf601, 0x2800, 0x8749, 0x0000, 0x0024, 0x291a, 0x22c0, 0x3613, 0x0024, 0x6012, 0x0024, 0x0000, 0x0041, 0x2800, 0x8758, 0x0006, 0x0451, 0x0006, 0x79d0, 0x0000, 0x0802, 0x3111, 0x8012, 0xfe22, 0x07c7, 0x48b2, 0x0024, 0x6cfe, 0x0024, 0x0000, 0x0004, 0x2800, 0x7ac9, 0x6420, 0x0024, 0xb888, 0x0442, 0x6420, 0x07c3, 0x0000, 0x0024, 0x2800, 0x7f18, 0x4290, 0x0024, 0x2400, 0x7ec0, 0x0000, 0x0024, 0x0000, 0x0401, 0x2900, 0x1300, 0xc890, 0x184c, 0x0001, 0x0001, 0x3a10, 0x0024, 0xf400, 0x4480, 0x6016, 0x0024, 0x0000, 0x0024, 0x2800, 0x7ed1, 0x0000, 0x0024, 0x0000, 0x0012, 0x6498, 0x0024, 0x0006, 0x0413, 0x0006, 0x0451, 0x0000, 0x0041, 0x0006, 0x79d0, 0x3111, 0xa012, 0xfe22, 0x07c7, 0x6fb2, 0x0024, 0x3910, 0x0024, 0x39f0, 0x4024, 0x0000, 0x0801, 0x3300, 0x0024, 0x4012, 0x0024, 0x0000, 0x4000, 0x6100, 0x2c01, 0x0006, 0x0450, 0x2800, 0x8451, 0x0000, 0x0401, 0x2900, 0x1300, 0xc890, 0x184c, 0x2800, 0x8740, 0x0000, 0x0085, 0x3010, 0x0024, 0x30f0, 0x4024, 0x4c82, 0x0024, 0x0000, 0xf601, 0x2800, 0x8749, 0x0000, 0x0024, 0x291a, 0x22c0, 0x3613, 0x0024, 0x6012, 0x0024, 0x0006, 0x0451, 0x2800, 0x7808, 0x0000, 0x0041, 0x0006, 0x0451, 0x0030, 0x0850, 0x0013, 0xaa40, 0x3800, 0x0024, 0x3110, 0x0024, 0x31f0, 0x4024, 0x4c82, 0x0024, 0x0030, 0x03d0, 0x2800, 0x9899, 0x0000, 0x0181, 0x2900, 0x0e40, 0x3613, 0x0024, 0x30d0, 0x0024, 0xb010, 0x0024, 0x0000, 0x0081, 0x6012, 0x0024, 0x0000, 0x0145, 0x2800, 0x8d95, 0x6892, 0x0024, 0x0006, 0x0692, 0x0030, 0x0111, 0x689a, 0x0400, 0x6090, 0x0024, 0x2800, 0x9880, 0x3a00, 0x0024, 0x3000, 0x0024, 0x4012, 0x0024, 0x2800, 0x9880, 0x3800, 0x4024, 0x6500, 0x0024, 0x0030, 0x0850, 0x2800, 0x9855, 0x0013, 0xaa40, 0x4112, 0x184c, 0x2900, 0x1300, 0xc890, 0x0024, 0x0000, 0xf601, 0x291a, 0x22c0, 0x3613, 0x0024, 0x6012, 0x0024, 0x0000, 0x07ce, 0x2800, 0x97d8, 0x0006, 0x79d0, 0x2400, 0x948e, 0xb884, 0x8012, 0x0001, 0x0001, 0x3a10, 0x8024, 0xf400, 0x4480, 0x6016, 0x0024, 0x0000, 0x0024, 0x2800, 0x9491, 0x0000, 0x0024, 0x0000, 0x0012, 0x0000, 0x0024, 0x0000, 0x0801, 0x0006, 0x0411, 0x0006, 0x79d0, 0x3100, 0x2012, 0x4012, 0x0024, 0x0002, 0x4000, 0x6100, 0x2401, 0x0000, 0x0024, 0x2800, 0x97d1, 0x0000, 0x0024, 0x2900, 0x0d80, 0x0000, 0x0024, 0x0030, 0x0850, 0x0013, 0xaa40, 0x3800, 0x0024, 0x0006, 0x0391, 0x0000, 0x0000, 0x0030, 0x0490, 0x3800, 0x0024, 0x3901, 0x4024, 0x36f3, 0x4024, 0x36f3, 0xd80e, 0x36f4, 0x9813, 0x36f4, 0x1811, 0x36f1, 0x9807, 0x36f1, 0x1805, 0x36f0, 0x9803, 0x36f0, 0x1801, 0x3405, 0x9014, 0x36f3, 0x0024, 0x36f2, 0x1815, 0x2000, 0x0000, 0x36f2, 0x9817, 0x8274, 0x0030, 0x0653, 0x0030, 0x0012, 0x0030, 0x0351, 0x0030, 0x0810, 0x0000, 0xfa00, 0x003f, 0xfdc2, 0x3e05, 0xb814, 0x3615, 0x0024, 0x0000, 0x800a, 0x3810, 0x0024, 0x0013, 0xaa40, 0xb880, 0x2000, 0x0006, 0x0190, 0x3900, 0x0024, 0x3200, 0x0024, 0xb024, 0x0024, 0x2900, 0x0400, 0x3a00, 0x8024, 0x3200, 0x8004, 0xc200, 0x984c, 0x3a00, 0x0024, 0x0000, 0x00c0, 0x3be0, 0x0024, 0x0000, 0x02c0, 0x2910, 0x4500, 0x3b00, 0x0024, 0x3373, 0x2004, 0xb880, 0x984c, 0x2916, 0x4780, 0x3b00, 0x0024, 0x2911, 0xcb40, 0x3613, 0x0024, 0x2914, 0x3340, 0x0000, 0x7d05, 0x2910, 0x9040, 0x6898, 0x184c, 0x4182, 0x084c, 0x0000, 0x0302, 0x2800, 0xa7d5, 0x3200, 0x0024, 0x003f, 0xfdc2, 0x2800, 0xa800, 0xb024, 0x0024, 0xc024, 0x0024, 0x0000, 0x1045, 0x0006, 0x6011, 0x0001, 0x0390, 0xb880, 0x2802, 0x3904, 0x0f8c, 0x3b00, 0x184c, 0x2911, 0xfe80, 0x3b00, 0x0024, 0x0000, 0x7fce, 0x2400, 0xab4e, 0x0000, 0x0024, 0x2900, 0x0e40, 0x3613, 0x0024, 0x0000, 0x0024, 0x0000, 0x1002, 0x2900, 0xfa40, 0xbf8e, 0x184c, 0x4090, 0x4004, 0x0000, 0x0024, 0x2800, 0xaa15, 0x0000, 0x0024, 0x4584, 0x184c, 0x2900, 0xfa40, 0xbf8e, 0x0024, 0x4080, 0x0024, 0x0000, 0x0024, 0x2800, 0xb0c5, 0x0000, 0x0024, 0x6498, 0x0024, 0x4480, 0x0024, 0x0000, 0x0024, 0x2800, 0xaa08, 0x0000, 0x0024, 0x2800, 0xad40, 0x0000, 0x0024, 0x0000, 0x8006, 0x0000, 0x1402, 0x2900, 0xfa40, 0xb88e, 0x184c, 0x4080, 0x0024, 0x0000, 0x0024, 0x2800, 0xaa15, 0x0000, 0x0024, 0x2901, 0x0880, 0x3613, 0x0024, 0x4080, 0x0024, 0x0030, 0x0350, 0x2800, 0xcb95, 0x0000, 0x0024, 0x003f, 0xffc4, 0x2901, 0x1fc0, 0x3613, 0x0024, 0x6894, 0x2080, 0x3000, 0x184c, 0xb020, 0x0024, 0x0000, 0x0024, 0x2800, 0xb8c5, 0x0000, 0x0024, 0x3009, 0x3841, 0x2900, 0x1d40, 0x3009, 0x3840, 0x4084, 0x038c, 0x291d, 0x21c0, 0x3000, 0x1bcc, 0x0030, 0x0310, 0x4180, 0x9801, 0x3800, 0x0024, 0x0030, 0x0310, 0xf294, 0x0004, 0xb428, 0x0024, 0x2901, 0x1fc0, 0x3801, 0x0024, 0x4080, 0x0024, 0x0006, 0x01d1, 0x2800, 0xcb98, 0x0000, 0x0024, 0x0000, 0x0cc7, 0x0000, 0x3fc5, 0x0011, 0x1246, 0x3613, 0x0024, 0x3009, 0x3841, 0x3009, 0x0440, 0x2900, 0xe9c0, 0x3009, 0x07c1, 0x2900, 0x1880, 0xb888, 0x984c, 0x4898, 0x0024, 0x4c86, 0x9bc1, 0xbde6, 0x0024, 0x6dfe, 0x0024, 0x0000, 0x0182, 0x2800, 0xc7d5, 0x0030, 0x03d0, 0x0000, 0x01c4, 0x2900, 0x0540, 0x3613, 0x0024, 0x4088, 0x184c, 0x0000, 0x0140, 0xa408, 0x0024, 0x3009, 0x3844, 0x2900, 0x0540, 0x0000, 0x0204, 0x3123, 0x1bc4, 0xf200, 0x0024, 0xf200, 0x0024, 0x4408, 0x8400, 0x6404, 0x0024, 0x0006, 0x0250, 0x2800, 0xc411, 0x0006, 0x0253, 0x3009, 0x0404, 0x4498, 0x0024, 0x0006, 0x01d2, 0x4484, 0x8846, 0xb386, 0x8bc7, 0x4fd6, 0x0024, 0x0000, 0x8006, 0xff68, 0xa842, 0x3009, 0x2bc3, 0x3009, 0x0c02, 0x6240, 0x0042, 0x30f0, 0xec00, 0x6dbe, 0x0024, 0x0000, 0x0182, 0x3811, 0x8024, 0x38f1, 0xc024, 0x0030, 0x03d0, 0x3000, 0x0024, 0xb020, 0x0024, 0x0000, 0x0102, 0x6024, 0x0024, 0x0006, 0x0652, 0x2800, 0xca95, 0x6890, 0x0024, 0x0000, 0x0602, 0x3000, 0x0024, 0xc024, 0x0024, 0x6890, 0x2002, 0x0006, 0x0391, 0xb880, 0x2400, 0x2800, 0xcc80, 0x3a00, 0x0024, 0x0030, 0x0310, 0xb880, 0x0024, 0x2900, 0x0d80, 0x3800, 0x0024, 0x0030, 0x0693, 0x0006, 0x7a92, 0x0006, 0x7e51, 0x003f, 0xfec2, 0x0030, 0x0050, 0x3000, 0x0024, 0xb024, 0x0024, 0x0002, 0x8000, 0x3830, 0xa400, 0x0001, 0x0000, 0x3009, 0x2800, 0x0000, 0x08c0, 0xb880, 0x2c00, 0x3800, 0x0024, 0x0006, 0x0690, 0x3800, 0x0024, 0x2913, 0x4280, 0x3613, 0x0024, 0x4080, 0x184c, 0x0000, 0x0024, 0x2800, 0xd2d5, 0x0000, 0x0024, 0x2919, 0x6e40, 0x0000, 0xd088, 0x3613, 0x0024, 0x2911, 0xfe80, 0x0000, 0xd088, 0x834d, 0x3e10, 0x7807, 0x3e12, 0x380a, 0x3e11, 0x3805, 0x3e14, 0xf811, 0x0006, 0x02d1, 0x31a0, 0x084c, 0x2800, 0xde00, 0xb182, 0x3806, 0x6d96, 0x05c0, 0x4080, 0x184c, 0x0003, 0xffc7, 0x2800, 0xd785, 0x3223, 0x050c, 0x2900, 0x1880, 0x489c, 0x44c4, 0x2800, 0xd940, 0xbcfe, 0x0640, 0x2900, 0x19c0, 0x478a, 0x44c4, 0x6098, 0x0024, 0x0000, 0x0001, 0x2800, 0xd955, 0x4c8e, 0x0640, 0x489c, 0x4147, 0x3009, 0x0804, 0x4408, 0x070c, 0x4408, 0xab84, 0x0000, 0x0024, 0x2800, 0xdb41, 0x6fda, 0x0401, 0x0000, 0x0024, 0x2800, 0xe145, 0x4f86, 0x0024, 0x4898, 0x05cc, 0x0003, 0xffc5, 0x6fea, 0x4480, 0x0006, 0x1d84, 0x2800, 0xe785, 0x6048, 0x084c, 0x3143, 0x0024, 0x2800, 0xe798, 0xb182, 0x0680, 0x3233, 0x0024, 0xffb0, 0x084c, 0x48ba, 0xab81, 0xffa0, 0x0440, 0x44ba, 0x05c1, 0x4ce2, 0x0684, 0x000c, 0x8c45, 0x645a, 0xa840, 0x0000, 0x0024, 0x2800, 0xe3d5, 0x3193, 0x2bc1, 0xc998, 0x088c, 0x2800, 0xe780, 0x3009, 0x2bc4, 0x4182, 0x44c6, 0x0000, 0x0080, 0x2800, 0xe285, 0x460c, 0x0024, 0x460c, 0x0024, 0x0000, 0x7fc0, 0xb60c, 0x0024, 0xf400, 0x4193, 0x2800, 0xd555, 0x0000, 0x0024, 0x0000, 0x3fc6, 0xb26c, 0x0440, 0x4080, 0x184c, 0x0fff, 0xfe04, 0x2800, 0xe645, 0x0000, 0x0021, 0x0000, 0x1fc6, 0xb26c, 0x0024, 0x466c, 0x0024, 0x0fff, 0xfe44, 0xad42, 0x0444, 0x466c, 0x0785, 0x4ce2, 0x4193, 0x2900, 0xe9c0, 0x0000, 0xd548, 0x36f1, 0x8884, 0x0020, 0x0005, 0xc458, 0x4480, 0x32e3, 0x1811, 0x36f4, 0xe804, 0x36f1, 0x1805, 0x36f2, 0x180a, 0x2000, 0x0000, 0x36f0, 0x5807, 0x83a7, 0x3e10, 0xb806, 0x3e12, 0x380a, 0x0000, 0x0246, 0x4112, 0xb812, 0xf212, 0x3847, 0x3e13, 0xf80e, 0xac6e, 0x388d, 0x2900, 0xfa40, 0x0000, 0x1442, 0x003f, 0xc000, 0x2900, 0x1300, 0x0000, 0x0201, 0x0000, 0x3fc2, 0x6024, 0x0024, 0x0000, 0x3f82, 0x2800, 0xec05, 0x6024, 0x184c, 0x0000, 0x0140, 0x2900, 0x0e55, 0x0000, 0xf208, 0x0000, 0x3fce, 0x2400, 0xf00e, 0x0000, 0x0012, 0x2900, 0x12c0, 0x003f, 0xffc0, 0x3a10, 0x184c, 0x003f, 0xffc0, 0x2900, 0x1300, 0x0000, 0x0401, 0x2900, 0x0e40, 0x3613, 0x0024, 0x2900, 0x0e40, 0xb080, 0x184c, 0x36f3, 0x4024, 0x36f3, 0xd80e, 0x36f1, 0xd812, 0x36f2, 0x180a, 0x2000, 0x0000, 0x36f0, 0x9806, 0x83ce, 0x4c87, 0xe2e3, 0x0000, 0x3fc1, 0xb316, 0x0024, 0x0000, 0xf755, 0xf400, 0x5544, 0x4c82, 0x0024, 0x0000, 0x0024, 0x2800, 0xf6c5, 0x0000, 0x0024, 0xdcd2, 0x0024, 0x0000, 0x0024, 0x2800, 0xf495, 0x0fff, 0xffc0, 0x2000, 0x0000, 0x36f0, 0x9803, 0x0033, 0x504d, 0x0033, 0x504d, 0x0033, 0x504d, 0x0056, 0x4157, 0x0044, 0x494d, 0x0041, 0x4d57, 0x0056, 0x4d57, 0x0046, 0x5341, 0x0043, 0x4141, 0x0034, 0x504d, 0x0041, 0x344d, 0x0000, 0x0000, 0x83e9, 0x3e10, 0x7803, 0x3e24, 0x3808, 0x2900, 0x0e40, 0x0030, 0x0650, 0x2900, 0x0e40, 0xf296, 0x984c, 0xf236, 0x0000, 0x0fff, 0xff41, 0xb012, 0x0024, 0xf236, 0x2001, 0x003f, 0xc000, 0x2900, 0x1300, 0x0000, 0x0201, 0x0000, 0x0201, 0x2900, 0x1300, 0xa210, 0x184c, 0x2900, 0x12c0, 0x4780, 0x184c, 0x2900, 0x12c0, 0x4680, 0x188c, 0x0000, 0x0201, 0x2900, 0x1300, 0x0025, 0x4000, 0x2801, 0x0100, 0x0001, 0xf402, 0x2900, 0x1300, 0x4680, 0x184c, 0x4294, 0x0024, 0x0000, 0x2006, 0x2801, 0x02c5, 0xb06c, 0x0024, 0x003f, 0xc006, 0x2801, 0x0095, 0x0000, 0x0201, 0x36f4, 0x1808, 0x2000, 0x0000, 0x36f0, 0x5803, 0x840e, 0x3613, 0x0024, 0x3e12, 0xb804, 0x0000, 0x800a, 0x0000, 0x0204, 0x6142, 0xb802, 0x0006, 0x5e55, 0x2801, 0x07d5, 0x3009, 0x1402, 0x6298, 0x4097, 0x3009, 0x3404, 0x0010, 0x0004, 0x6248, 0x1c01, 0xf400, 0x4117, 0x2801, 0x0784, 0x0030, 0x0395, 0x3009, 0x1c01, 0x3d00, 0x4024, 0x3009, 0x1bc2, 0x2000, 0x0000, 0x36f2, 0x9804, 0x8422, 0x3e11, 0xf812, 0x3e10, 0x7802, 0x3e10, 0xf804, 0x3e11, 0x7806, 0x0006, 0x01d2, 0xbc82, 0x380a, 0x3a10, 0x3888, 0x2900, 0xe9c0, 0x3af0, 0x4024, 0x2900, 0x1880, 0x0000, 0x0d84, 0x0010, 0x5184, 0x000c, 0x5505, 0x6ce2, 0x18cc, 0x0000, 0x0024, 0x2801, 0x0f05, 0x000c, 0xd505, 0x2900, 0x1880, 0x0000, 0x1484, 0x0010, 0x5184, 0x6ce2, 0x184c, 0x0000, 0x0024, 0x2801, 0x0f05, 0x0000, 0x7184, 0x2900, 0x1880, 0x3613, 0x0024, 0x3a10, 0x0024, 0x2900, 0xe9c0, 0x3a50, 0x4024, 0x2900, 0x19c0, 0x0000, 0x0e44, 0x3af0, 0x0024, 0x2900, 0x19c0, 0x0000, 0x0444, 0x408e, 0x2a40, 0x0000, 0x02c4, 0x2801, 0x1245, 0x6892, 0x0acc, 0xb882, 0x0024, 0x2900, 0x19c0, 0x3a70, 0x584c, 0x0000, 0x2001, 0xff82, 0x090c, 0x48b2, 0x184c, 0x2900, 0x0540, 0x0000, 0x0344, 0xff90, 0x4046, 0x48b6, 0x984c, 0x3ac0, 0x8024, 0x2900, 0x19c0, 0x0000, 0x0384, 0x3211, 0x0024, 0xffe0, 0x0a45, 0x4eb2, 0x184c, 0x3a10, 0x0024, 0xb182, 0x2841, 0x2900, 0x19c0, 0x0000, 0x0584, 0x4080, 0x2840, 0x3ac0, 0x584c, 0x2801, 0x1a15, 0x3230, 0x0024, 0x4080, 0x1bcc, 0x0000, 0x0904, 0x2801, 0x1e45, 0x0000, 0x02c0, 0x2900, 0x1880, 0x3613, 0x0024, 0x3a10, 0x184c, 0x3af0, 0x4024, 0x2900, 0x0540, 0x0000, 0x0404, 0xffe0, 0x0842, 0x48ba, 0x0b43, 0xffb8, 0x4103, 0x48b2, 0x0844, 0xffa6, 0x09c5, 0x40b2, 0x888c, 0x4cea, 0x0a42, 0xb182, 0x41c0, 0x0fff, 0xff07, 0xac72, 0x4043, 0x4ce2, 0x0bcc, 0x4224, 0x2844, 0x6cd2, 0x2845, 0xb880, 0x2840, 0x3a00, 0x4024, 0x36f2, 0x9808, 0x36f1, 0x5806, 0x36f0, 0xd804, 0x36f0, 0x5802, 0x2000, 0x0000, 0x36f1, 0xd812, 0x847f, 0x3e10, 0x7802, 0x3e12, 0x3810, 0x3e10, 0xf812, 0x0006, 0x0012, 0x3230, 0x0024, 0x4080, 0xb851, 0x0006, 0x01d1, 0x2801, 0x2305, 0x0020, 0x0003, 0x0000, 0x0082, 0xb886, 0x4452, 0x2900, 0xd340, 0x0001, 0x25c8, 0x3210, 0x1bcc, 0x3260, 0x4024, 0xc132, 0x088c, 0x3200, 0x8024, 0xf224, 0xa440, 0xb182, 0xa7c1, 0xf224, 0x4450, 0xf224, 0x00cc, 0xf224, 0xa3c1, 0x3009, 0x2082, 0xf400, 0x4400, 0x0006, 0x05d5, 0xf400, 0x4452, 0xb884, 0x3444, 0x3d00, 0x8024, 0x2900, 0x21c0, 0x3e10, 0x0024, 0x3009, 0x1bd1, 0x36f0, 0xd812, 0x36f2, 0x1810, 0x2000, 0x0000, 0x36f0, 0x5802 }; */ /* Writing to DSP control registers follow these steps: CS_Low(); send command send register command applies to send or receive 16 bit value CS_High(); */ /*******DSP_Init()************** Initializes the DSP with application code and also sets internal registers to enable MP3 output input: none output: none ********************************/ void DSP_Init() { static unsigned char garbage = 0; //for garbage reads and writes static unsigned long i = 0; static unsigned short data_in = 0; SPI_Init(1); // hw reset for initial turn on DDR_DSP_RESET = 1; //output to xReset DSP_RESET = 0; //reset low for(i=0; i<10000; i++){} DSP_RESET = 1; //reset high; for(i=0; i<100000; i++){} /*// sw reset DSP_Send(0x0004,MMODE); for(i=0; i<100000; i++){}*/ /*// funky mmode stuff data_in = DSP_Get(MMODE); data_in |= 0x0400; DSP_Send(data_in,MMODE);*/ //Initialize some internal registers DSP_Send(0x0000,BASS); DSP_Send(0x0000,DECODE); //Initialize clock doubler DSP_Send(0x4000,CLOCKF); //A write to AUDATA causes clock doubler to take effect DSP_Send(0x0000,AUDATA); for(i = 0; i < 10000; i++); //Set VOL (volume) data_in = Left_Vol; data_in = (data_in<<8) + Right_Vol; DSP_Send(data_in,VOL); //to test good send data_in = DSP_Get(VOL); //Load application code i = 0; do { DSP_Send(dtab[i],atab[i]); data_in = DSP_Get(atab[i]); } while(i < CODE_SIZE && data_in == dtab[i++]); // set the play mode data_in = DSP_Get(AICTRL3); //data_in &= PLAY_MODE_NORMAL; DSP_Send(data_in,AICTRL3); //write 0x30 to AIADDR to begin DSP MP3 application DSP_Send(0x0030,AIADDR); } void DSP_Init_Direct() { static unsigned char garbage = 0; //for garbage reads and writes static unsigned long i = 0; static unsigned short data_in = 0; SPI_Init(1); // hw reset for initial turn on DDR_DSP_RESET = 1; //output to xReset DSP_RESET = 0; //reset low for(i=0; i<10000; i++){} DSP_RESET = 1; //reset high; for(i=0; i<100000; i++){} /*// sw reset DSP_Send(0x0004,MMODE); for(i=0; i<100000; i++){}*/ /*// funky mmode stuff data_in = DSP_Get(MMODE); data_in |= 0x0400; DSP_Send(data_in,MMODE);*/ //Initialize some internal registers /* DSP_Send(0x0000,BASS); DSP_Send(0x0000,DECODE); */ //Initialize clock doubler DSP_Send(0x4000,CLOCKF); //A write to AUDATA causes clock doubler to take effect DSP_Send(0x0000,AUDATA); for(i = 0; i < 10000; i++); //Set VOL (volume) data_in = Left_Vol; data_in = (data_in<<8) + Right_Vol; DSP_Send(data_in,VOL); //to test good send data_in = DSP_Get(VOL); } /*******DSP_Play_Song()************** Commands the DSP to play the song indicated by songNum input: unsigned short songNum output: none ********************************/ void DSP_Play_Song(unsigned short songNum) { DSP_Send(songNum+0x8000,AICTRL0); } /*******DSP_Play_Pause()************** Toggles the play/pause state of the player input: none output: none ********************************/ void DSP_Play_Pause(void) { unsigned short data = DSP_Get(AICTRL3); data ^= 0x0010; DSP_Send(data,AICTRL3); } /*******DSP_Send()************** // sends 2 bytes of data to the DSP to the specified register // inputs: unsigned short data, unsigned char register // outputs: none ********************************/ void DSP_Send(unsigned short data, unsigned char reg) { unsigned char garbage; unsigned char LB = (unsigned char) data; unsigned char HB = (unsigned char) data >>8; SPI_CSLow(DSP_DEVICE); garbage = SPI_Data(COMMAND_WRITE); garbage = SPI_Data(reg); garbage = SPI_Data((unsigned char) (data >>8)); garbage = SPI_Data((unsigned char) data); for(garbage = 0; garbage != 50; garbage++); SPI_CSHigh(DSP_DEVICE); for(garbage = 0; garbage != 100; garbage++); } /*******DSP_Get()************** // Reads the specified two byte register and returns the value // inputs: unsigned char reg // outputs: unsigned short contents of reg ********************************/ unsigned short DSP_Get(unsigned char reg) { unsigned char garbage; unsigned short data; SPI_CSLow(DSP_DEVICE); garbage = SPI_Data(COMMAND_READ); garbage = SPI_Data(reg); data = SPI_Data(garbage); data = SPI_Data(garbage); data = data<<8; data += SPI_Data(garbage); for(garbage = 0; garbage != 50; garbage++); SPI_CSHigh(DSP_DEVICE); return data; } /****************************************************** ******************************************************* manish's test code! below ******************************************************* *******************************************************/ int DSP_Test2(void) { unsigned long i; DDR_DSP_CS = 1; DSP_CS = 1; DDR_DSP_RESET = 1; DSP_RESET = 0; for(i=0; i<10000; i++); DSP_RESET = 1; for(i=0; i<100000; i++); } //test1 and test2 were analog test //TEST 3 //dreq should go low then high really fast (PASSED!) int DSP_Test3(void) { unsigned char dummy; // 1) Activiate xCS by setting it to 0; //SPI_CSLow(DSP_DEVICE); DSP_Send(0x0004,0x02); /*PTS_PTS3 = 0; // 2) Reset the firmware by writing four SCI bytes: 0x02, 0x00, 0x00, 0x04; dummy = SPI_Data((unsigned char)(0x02)); //write function dummy = SPI_Data((unsigned char)(0x00)); //to mode register dummy = SPI_Data((unsigned char)(0x00)); //msb data dummy = SPI_Data((unsigned char)(0x04)); //lsb data // 3) Finish SCI cycle by setting xCS to 1; //SPI_CSHigh(DSP_DEVICE); // DSP CS = 1 PTS_PTS3 = 1;*/ return 1; } //TEST 4 //now that we know sci works, we can try reeding from DSP (PASSED!) int DSP_Test4(void) { unsigned char dummy; long i; static unsigned short VolReg = 2; unsigned short VolReg_Sent = 0xF0F1; /* // 1) Activiate xCS by setting it to 0; //SPI_CSLow(DSP_DEVICE); PTS_PTS3 = 0; for(i=0; i<100; i++); // 2) Set volume by writing four bytes // First two bytes are address for volume register // Next two bytes are data. // volume register is [0x020B] // data sent is "0xA2F5" dummy = SPI_Data((unsigned char)(0x02)); //for(i=0; i<100; i++); dummy = SPI_Data((unsigned char)(0x0B)); //for(i=0; i<100; i++); dummy = SPI_Data((unsigned char)(VolRegMSB_sent)); //for(i=0; i<100; i++); dummy = SPI_Data((unsigned char)(VolRegLSB_sent)); //for(i=0; i<100; i++); // 3) Finish Writing to volume register by setting xCS to 1; //SPI_CSHigh(DSP_DEVICE); PTS_PTS3 = 1; //delay loop. hopefully everything is done writing though SCI by then for(i=0; i<10000; i++){ asm nop } // 4) Activitate xCS by setting it to 0 so we can // start reading from volume register //SPI_CSLow(DSP_DEVICE); PTS_PTS3 = 0; for(i=0; i<100; i++); // 5) Write tow bytes (0x03, 0x0B) to SCI dummy = SPI_Data((unsigned char)(0x03)); dummy = SPI_Data((unsigned char)(0x0B)); dummy = SPI_Data((unsigned char)(VolRegMSB_sent)); VolRegMSB = SPI_Data((unsigned char)(0x00)); //msb bit recieved from vol register VolRegLSB = SPI_Data((unsigned char)(0x00)); //lsb bit recieved from vol register for(i=0; i<100; i++); // 6) Finish writing and reading volume reister by setting xCS to 1; //SPI_CSHigh(DSP_DEVICE); PTS_PTS3 = 1; //delay loop. hopefully everything is done writing though SCI by then for(i=0; i<10000; i++){ asm nop }*/ DSP_Send(VolReg_Sent,VOL); VolReg = DSP_Get(VOL); #if DEBUG SCI_OutString("VolReg_sent = "); SCI_OutUHex((unsigned long)VolReg_Sent&0xFFFF);SCI_OutString("\n\r"); SCI_OutString(" VolReg = "); SCI_OutUHex((unsigned long)VolReg&0xFFFF);SCI_OutString("\n\r"); #endif /* return 1; */ } //TEST 5 //the sine test, making the mp3 player sing! int DSP_Test5(void) { unsigned char dummy; unsigned long i; static unsigned short VolReg = 2; unsigned short VolReg_Sent = 0x0000; unsigned short received_reg; // 1) allows test for writing to SCI: 0x02, 0x0, 0x80, 0x20; /*SPI_CSLow(DSP_DEVICE); dummy = SPI_Data((unsigned char)(0x02)); //write command dummy = SPI_Data((unsigned char)(0x00)); //mode register dummy = SPI_Data((unsigned char)(0x08)); //msb data dummy = SPI_Data((unsigned char)(0x20)); //lsb data SPI_CSHigh(DSP_DEVICE);*/ DSP_Send(0x0C20,MMODE); received_reg = DSP_Get(MMODE); if(received_reg == 0x0C20) PTP_PTP0 = 1; //delay loop. hopefully everything is done writing though SCI by then for(i=0; i<1000000; i++){ asm nop } // 2) Activivate the sine test by writing the folowing eight bytes to SDI: // 0x53, 0xEF, 0x6E, 0x30, 0x00, 0x00, 0x00, 0x00 // Remember to take care of xDCS/BSYNC(PT3) // SPI_CSHigh(DSP_DEVICE); for(i=0; i<5; i++); dummy = SPI_Data((unsigned char)(0x53)); //for(i=0; i<5; i++); dummy = SPI_Data((unsigned char)(0xEF)); //for(i=0; i<5; i++); dummy = SPI_Data((unsigned char)(0x6E)); //for(i=0; i<5; i++); dummy = SPI_Data((unsigned char)(0x7F)); //for(i=0; i<5; i++); dummy = SPI_Data((unsigned char)(0x00)); //for(i=0; i<5; i++); dummy = SPI_Data((unsigned char)(0x00)); // SPI_CSHigh(DSP_DEVICE); // for(i=0; i<100; i++); // SPI_CSLow(DSP_DEVICE); //for(i=0; i<5; i++); dummy = SPI_Data((unsigned char)(0x00)); // for(i=0; i<5; i++); dummy = SPI_Data((unsigned char)(0x00)); for(i=0; i<10; i++); // 3) Wait about 500ms for example // delay loop. hopefully everything is done writing though SCI by then for(i=0; i<1000000; i++){ asm nop } // 4) Deactivate the siine test by writing to SDI: 0x45, 0x78, 0x69, 0x74 // SPI_CSHigh(DSP_DEVICE); dummy = SPI_Data((unsigned char)(0x45)); dummy = SPI_Data((unsigned char)(0x78)); dummy = SPI_Data((unsigned char)(0x69)); dummy = SPI_Data((unsigned char)(0x74)); dummy = SPI_Data((unsigned char)(0x00)); dummy = SPI_Data((unsigned char)(0x00)); dummy = SPI_Data((unsigned char)(0x00)); dummy = SPI_Data((unsigned char)(0x00)); // SPI_CSHigh(DSP_DEVICE); SPI_CSLow(DSP_DEVICE); for(i=0; i<10000; i++); SPI_CSHigh(DSP_DEVICE); // 5) Wait about 500ms for example // delay loop. hopefully everything is done writing though SCI by then for(i=0; i<1000000; i++){ asm nop } /************************* REMEBER TO CALL THIS TEST IN A FORLOOP BECAUSE STEP 6... 6) Repeat these steps indefinitely *************************/ }
No comments:
Post a Comment