'Fuses definition.
#define CONFIG1L = 0x00
#define CONFIG1H = 0x38
#define CONFIG2L = 0x1E
#define CONFIG2H = 0x3C
#define CONFIG3L = 0x00
#define CONFIG3H = 0x3D
#define CONFIG4L = 0x80
#define CONFIG4H = 0x00
#define CONFIG5L = 0x0F
#define CONFIG5H = 0xC0
#define CONFIG6L = 0x0F
#define CONFIG6H = 0xE0
#define CONFIG7L = 0x0F
#define CONFIG7H = 0x40
#define CLOCK_FREQUENCY = 32 'Clock 64Mhz
#define STRING_MAX_LENGTH = 60
'#define SIMULATION_WAITMS_VALUE = 1
'************************************************
'*****************************************************
'lcd driver
Const ILI9341_NOP = 0x00
Const ILI9341_SWRESET = 0x01
Const ILI9341_RDDID = 0x04
Const ILI9341_RDDST = 0x09
Const ILI9341_SLPIN = 0x10
Const ILI9341_SLPOUT = 0x11
Const ILI9341_PTLON = 0x12
Const ILI9341_NORON = 0x13
Const ILI9341_INVOFF = 0x20
Const ILI9341_INVON = 0x21
Const ILI9341_DISPOFF = 0x28
Const ILI9341_DISPON = 0x29
Const ILI9341_CASET = 0x2a
Const ILI9341_RASET = 0x2b
Const ILI9341_RAMWR = 0x2c
Const ILI9341_RAMRD = 0x2e
Const ILI9341_PTLAR = 0x30
Const ILI9341_COLMOD = 0x3a
Const ILI9341_MADCTL = 0x36
Const ILI9341_DISP_FUNC = 0xB6
Const ILI9341_MADCTL_MY = 0x80
Const ILI9341_MADCTL_MX = 0x40
Const ILI9341_MADCTL_MV = 0x20
Const ILI9341_MADCTL_ML = 0x10
Const ILI9341_MADCTL_RGB = 0x08
Const ILI9341_MADCTL_MH = 0x04
Const ILI9341_POWER_CTLRA = 0xCB
Const ILI9341_POWER_CTLRB = 0xCF
Const ILI9341_POWER_CTLR1 = 0xC0
Const ILI9341_POWER_CTLR2 = 0xC1
Const ILI9341_VCM_CTRL = 0xC5
Const ILI9341_TIMING_CTLRA = 0xE8
Const ILI9341_TIMING_CTLRB = 0xEA
Const ILI9341_RDID1 = 0xda
Const ILI9341_RDID2 = 0xdb
Const ILI9341_RDID3 = 0xdc
Const ILI9341_RDID4 = 0xdd
Const LCD_BLACK = 0x0000
Const LCD_RED = 0x001f
Const LCD_BLUE = 0xf800
Const LCD_GREEN = 0x07E0
Const LCD_YELLOW = 0x07ff
Const LCD_MAGENTA = 0xf81f
Const LCD_CYAN = 0xffe0
Const LCD_WHITE = 0xffff
Dim LCD_width As Word ///< Display width as modified by current rotation
Dim LCD_height As Word ///< Display height as modified by current rotation
Dim LCD_rotation As Byte ///< Display rotation (0 thru 3)
Symbol TFT_RST = LATC.0 'RST RESET pin
Symbol TFT_DC = LATC.1 'DC (SS) Data/Command pin
Symbol TFT_CS = LATC.2 'CS Chip Select pin
Symbol TFT_SCK = LATC.3 'SCK as output
Symbol TFT_SDI = LATC.4 'SDI as input -> SDO
Symbol TFT_SDO = LATC.5 'SDO as output -> SDI
'*************************************************
Dim str As String
Dim x As Byte
OSCCON = 0x60
OSCTUNE.PLLEN = 1
TRISA.1 = 0
TRISC = 0
ADCON1 = 15
Call SPI_init()
Call LCD_init()
str = "MAXIMUM! "
Main:
x = 1
While x = 1
WaitMs 300
LATA.1 = 1
Call fillScreen(LCD_RED)
WaitMs 300
LATA.1 = 0
Call fillwindow(10,10,310,230, LCD_BLUE)
WaitMs 300
LATA.1 = 1
Call fillwindow(10,10,310,230, LCD_GREEN)
WaitMs 300
LATA.1 = 0
Call fillScreen(LCD_WHITE)
Call LCD_DrawLine(10,10,310,230,LCD_BLACK)
Call LCD_DrawLine(310,10,10,230,LCD_BLACK)
Call LCD_DrawLine(10,120,310,120,LCD_BLACK)
Call LCD_DrawLine(160,10,160,230,LCD_BLACK)
Call LCD_Circle(160,120,100,LCD_BLUE)
Call fillwindow(100,50,220,190, LCD_WHITE)
Call LCD_DrawRectangle(100,50,220,190,LCD_BLUE)
Call LCD_String( str,90,110, LCD_BLACK, LCD_WHITE)
WaitMs 2000
Wend
End
Proc SPI_init()
SSPSTAT = 0x40
SSPCON1 = 0x30
End Proc
Proc LCD_WRITE_COM(dat As Byte)
TFT_CS = 0
TFT_DC = 0
SSPBUF = dat
While SSPSTAT.BF = 0
Wend
TFT_DC = 1
TFT_CS = 1
End Proc
Proc LCD_WRITE_DATA(dat As Byte)
TFT_CS = 0
TFT_DC = 1
SSPBUF = dat
While SSPSTAT.BF = 0
Wend
TFT_DC = 1
TFT_CS = 1
End Proc
Proc LCD_init()
Dim idx As Byte
Dim cmd As Byte
High TFT_RST
'ConfigPin TFT_RST = Output
WaitMs 100
Low TFT_RST
WaitMs 100
High TFT_RST
WaitMs 200
Call LCD_WRITE_COM(ILI9341_SWRESET)
WaitMs 150
Call LCD_WRITE_COM(ILI9341_DISPOFF)
Call LCD_WRITE_COM(ILI9341_POWER_CTLRA) //Power control a
Call LCD_WRITE_DATA(0x39)
Call LCD_WRITE_DATA(0x2C)
Call LCD_WRITE_DATA(0x00)
Call LCD_WRITE_DATA(0x34)
Call LCD_WRITE_DATA(0x02)
WaitMs 1
Call LCD_WRITE_COM(ILI9341_POWER_CTLRB) //Power control b
Call LCD_WRITE_DATA(0x00)
Call LCD_WRITE_DATA(0XC1)
Call LCD_WRITE_DATA(0X30)
WaitMs 1
Call LCD_WRITE_COM(ILI9341_TIMING_CTLRA) //Timing control a
Call LCD_WRITE_DATA(0x85)
Call LCD_WRITE_DATA(0x10)
Call LCD_WRITE_DATA(0x78)
WaitMs 1
Call LCD_WRITE_COM(ILI9341_TIMING_CTLRB) //Timing control b
Call LCD_WRITE_DATA(0x00)
Call LCD_WRITE_DATA(0x00)
WaitMs 1
Call LCD_WRITE_COM(0xED) //Power on seq control
Call LCD_WRITE_DATA(0x64)
Call LCD_WRITE_DATA(0x03)
Call LCD_WRITE_DATA(0X12)
Call LCD_WRITE_DATA(0X81)
//WaitMs 1
Call LCD_WRITE_COM(ILI9341_POWER_CTLR1) //Power control 1
Call LCD_WRITE_DATA(0x26) //VRH[5:0]
//WaitMs 1
Call LCD_WRITE_COM(ILI9341_POWER_CTLR2) //Power control 2
Call LCD_WRITE_DATA(0x11) //SAP[2:0];BT[3:0]
//WaitMs 1
Call LCD_WRITE_COM(ILI9341_VCM_CTRL) //VCM control
Call LCD_WRITE_DATA(0x3e) //Contrast
Call LCD_WRITE_DATA(0x28)
// WaitMs 1
Call LCD_WRITE_COM(0xF7)
Call LCD_WRITE_DATA(0x20)
//WaitMs 1
Call LCD_WRITE_COM(ILI9341_MADCTL)
Call LCD_WRITE_DATA(0x28)
Call LCD_WRITE_COM(ILI9341_INVOFF)
//WaitMs 1
Call LCD_WRITE_COM(ILI9341_NORON)
WaitMs 1
Call LCD_WRITE_COM(ILI9341_COLMOD )
Call LCD_WRITE_DATA(0x55)
//WaitMs 1
Call LCD_WRITE_COM(0xB7) //emtry mode
Call LCD_WRITE_DATA(0x07)
Call LCD_WRITE_COM(ILI9341_DISP_FUNC) // Display Function Control
Call LCD_WRITE_DATA(0x08)
Call LCD_WRITE_DATA(0x82)
Call LCD_WRITE_DATA(0x27)
WaitMs 1
Call LCD_WRITE_COM(ILI9341_SLPOUT)
WaitMs 120
Call LCD_WRITE_COM(ILI9341_DISPON)
WaitMs 1
LCD_height = 240
LCD_width = 320
End Proc
'/**************************************************************************/
'@brief SPI displays set an address window rectangle For blitting pixels
'@param x Top left corner x coordinate
'@param y Top left corner x coordinate
'@param W Width of window
'@param h Height of window
'/**************************************************************************/
Proc setAddrWindow(x1 As Word, y1 As Word, x2 As Word, y2 As Word)
Call LCD_WRITE_COM(ILI9341_CASET) //Column addr set
Call LCD_WRITE_DATA(x1.HB)
Call LCD_WRITE_DATA(x1.LB)
Call LCD_WRITE_DATA(x2.HB)
Call LCD_WRITE_DATA(x2.LB)
Call LCD_WRITE_COM(ILI9341_RASET) //Row addr set
Call LCD_WRITE_DATA(y1.HB)
Call LCD_WRITE_DATA(y1.LB)
Call LCD_WRITE_DATA(y2.HB)
Call LCD_WRITE_DATA(y2.LB)
Call LCD_WRITE_COM(ILI9341_RAMWR) //write to RAM
End Proc
Proc LCD_DrawLine(x1 As Word, y1 As Word, x2 As Word, y2 As Word, color As Word)
Dim t As Word
Dim xerr, yerr, delta_x, delta_y, distance As Integer
Dim incx, incy, xPix, yPix As Integer
xerr = 0
yerr = 0
delta_x = x2 - x1
delta_y = y2 - y1
xPix = x1
yPix = y1
If delta_x > 0 Then incx = 1
If delta_x = 0 Then incx = 0
If delta_x < 0 Then
incx = -1
delta_x = -delta_x
Endif
If delta_y > 0 Then incy = 1
If delta_y = 0 Then incy = 0
If delta_y < 0 Then
incy = -1
delta_y = -delta_y
Endif
If delta_x > delta_y Then
distance = delta_x
Else
distance = delta_y
Endif
For t = 0 To distance + 1 Step 1
Call LCD_DrawPoint(xPix, yPix, color)
xerr = xerr + delta_x
yerr = yerr + delta_y
If xerr > distance Then
xerr = xerr - distance
xPix = xPix + incx
Endif
If yerr > distance Then
yerr = yerr - distance
yPix = yPix + incy
Endif
Next t
End Proc
Proc LCD_Char( char As Byte, x As Word, y As Word, fcol As Word , bcol As Word)
Dim x0 As Integer
Dim idx, idx2 As Byte
Dim mask As Integer
For idx = 0 To 31 Step 2
mask.HB = _LCDFnt(char, idx)
mask.LB = _LCDFnt(char, idx +1)
For idx2 = 0 To 15 Step 1
If mask And 0x8000 Then
Call LCD_DrawPoint(x+idx2, y, fcol)
Else
Call LCD_DrawPoint(x+idx2, y, bcol)
Endif
mask = ShiftLeft(mask,1)
Next idx2
y = y + 1
Next idx
End Proc
Proc LCD_String( str As String, x As Word, y As Word, fcol As Word , bcol As Word)
Dim idx As Byte
Dim x0 As Word
idx = 0
While str(idx) <> 0
Call LCD_Char(str(idx), x, y,fcol,bcol)
x = x+16
idx = idx + 1
Wend
End Proc
// Rectangle
Proc LCD_DrawRectangle( x1 As Integer, y1 As Integer, x2 As Integer, y2 As Integer, color As Word)
Call LCD_DrawLine(x1, y1, x2, y1, color)
Call LCD_DrawLine(x1, y1, x1, y2, color)
Call LCD_DrawLine(x1, y2, x2, y2, color)
Call LCD_DrawLine(x2, y1, x2, y2, color)
End Proc
// Circle routine
Proc LCD_Circle(x1 As Word, y1 As Word, rad As Word, color As Word)
Dim xPix, yPix, di As Integer
xPix = 0
yPix = rad
di = 3 - ShiftLeft(rad,1)
While xPix <= yPix
Call LCD_DrawPoint(x1+xPix, y1-yPix, color)
Call LCD_DrawPoint(x1+yPix, y1-xPix, color)
Call LCD_DrawPoint(x1+yPix, y1+xPix, color)
Call LCD_DrawPoint(x1+xPix, y1+yPix, color)
Call LCD_DrawPoint(x1-xPix, y1+yPix, color)
Call LCD_DrawPoint(x1-yPix, y1+xPix, color)
Call LCD_DrawPoint(x1-xPix, y1-yPix, color)
Call LCD_DrawPoint(x1-yPix, y1-xPix, color)
xPix = xPix + 1
If di < 0 Then
di= (4 * xPix + 6) + di
Else
di= (10 + 4 * (xPix-yPix)) + di
yPix = yPix - 1
Endif
Wend
End Proc
// line drawing
Proc LCD_DrawPoint(x1 As Word, y1 As Word ,color As Word)
Call LCD_WRITE_COM(ILI9341_CASET) //Column addr set
Call LCD_WRITE_DATA(x1.HB)
Call LCD_WRITE_DATA(x1.LB)
Call LCD_WRITE_COM(ILI9341_RASET) //Row addr set
Call LCD_WRITE_DATA(y1.HB)
Call LCD_WRITE_DATA(y1.LB)
Call LCD_WRITE_COM(ILI9341_RAMWR) //write to RAM
Call LCD_WRITE_DATA(color.HB)
Call LCD_WRITE_DATA(color.LB)
End Proc
'/**************************************************************************/
Proc fillRect(x1 As Word, y1 As Word, x2 As Word, y2 As Word, color As Word)
Dim px As Long
Dim tmp As Word
If x2 > 0 And y2 > 0 Then //Nonzero width and height?
Call setAddrWindow(x1, y1, x2, y2)
px = x2
px = px * y2
TFT_CS = 0
TFT_DC = 1
While px > 1
SSPBUF = color.HB
While SSPSTAT.BF = 0
Wend
SSPBUF = color.LB
While SSPSTAT.BF = 0
Wend
px = px - 1
Wend
TFT_DC = 1
TFT_CS = 1
Endif
End Proc
'/**************************************************************************/
'@brief Fill the screen completely with one color. Update in subclasses If desired!
'@param color 16-Bit 5-6-5 Color To fill with
'/**************************************************************************/
Proc fillScreen(color As Word)
Call fillRect(0, 0, LCD_width, LCD_height, color)
End Proc
Proc fillwindow(x1 As Word,y1 As Word,x2 As Word,y2 As Word,color As Word)
Call fillRect(x1, y1, x2, y2, color)
End Proc
Function _LCDFnt(ch As Byte, idx As Byte) As Byte
Symbol Retval = _LCDFnt
Select Case ch
Case 32
Retval = LookUp(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),idx '//
Case 33
Retval = LookUp(0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x01,0x80,0x01,0x80, 0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00),idx'// !
Case 34
Retval = LookUp(0x00,0x00,0x00,0x00,0x1C,0x70,0x1C,0x70,0x18,0x60,0x10,0x40,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00),idx '// "
Case 35
Retval = LookUp(0x00,0x00,0x00,0x00,0x06,0x30,0x06,0x30,0x06,0x30,0x1F,0xF8,0x1F,0xF8,0x0C,0x60, 0x0C,0x60,0x0C,0x60,0x3F,0xF0,0x3F,0xF0,0x18,0xC0,0x18,0xC0,0x00,0x00,0x00,0x00),idx '// #
Case 36
Retval = LookUp(0x00,0x00,0x01,0x00,0x07,0xC0,0x0F,0xE0,0x0D,0x20,0x0D,0x00,0x0D,0x00,0x0F,0xC0, 0x07,0xE0,0x01,0x60,0x01,0x60,0x09,0x60,0x0F,0xE0,0x07,0xC0,0x01,0x00,0x00,0x00),idx' // $
Case 37
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x18,0x0A,0x30,0x0E,0x60,0x00,0xC0,0x00,0x80, 0x01,0x80,0x03,0x00,0x06,0x00,0x04,0x70,0x0C,0x50,0x18,0x70,0x00,0x00,0x00,0x00),idx '// %
Case 38
Retval = LookUp(0x00,0x00,0x00,0x00,0x03,0xC0,0x07,0xE0,0x06,0x60,0x06,0x60,0x06,0x60,0x0F,0xE0, 0x0F,0xC0,0x1D,0xC0,0x18,0xE0,0x18,0xE0,0x1F,0xF0,0x0F,0xD8,0x00,0x00,0x00,0x00),idx // &
Case 39
Retval = LookUp(0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00),idx // '
Case 40
Retval = LookUp(0x00,0x00,0x00,0x60,0x00,0xE0,0x01,0xC0,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80, 0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0xC0,0x00,0xE0,0x00,0x60,0x00,0x00),idx // (
Case 41
Retval = LookUp(0x00,0x00,0x06,0x00,0x07,0x00,0x03,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80, 0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x03,0x80,0x07,0x00,0x06,0x00,0x00,0x00),idx // )
Case 42
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x1F,0xF8, 0x1F,0xF8,0x03,0xC0,0x06,0x60,0x06,0x60,0x0C,0x30,0x0C,0x30,0x00,0x00,0x00,0x00),idx // *
Case 43
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x01,0x80,0x0F,0xF0, 0x0F,0xF0,0x01,0x80,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00),idx // +
Case 44
Retval = LookUp(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,0x01,0x80,0x01,0x80,0x03,0x00),idx // ,
Case 45
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0, 0x0F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00),idx // -
Case 46
Retval = LookUp(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,0x18,0x00,0x18,0x00,0x00,0x00),idx // .
Case 47
Retval = LookUp(0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x60,0x00,0x60,0x00,0xC0,0x00,0xC0,0x01,0x80, 0x01,0x80,0x03,0x00,0x03,0x00,0x06,0x00,0x06,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00),idx // /
Case 48
Retval = LookUp(0x00,0x00,0x00,0x00,0x0F,0xE0,0x1F,0xF0,0x18,0x30,0x18,0x70,0x18,0xB0,0x18,0xB0, 0x19,0x30,0x1A,0x30,0x1A,0x30,0x1C,0x30,0x1F,0xF0,0x0F,0xE0,0x00,0x00,0x00,0x00),idx // 0
Case 49
Retval = LookUp(0x00,0x00,0x00,0x00,0x03,0x80,0x07,0x80,0x05,0x80,0x01,0x80,0x01,0x80,0x01,0x80, 0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x07,0xE0,0x07,0xE0,0x00,0x00,0x00,0x00),idx // 1
Case 50
Retval = LookUp(0x00,0x00,0x00,0x00,0x07,0xC0,0x0F,0xE0,0x08,0x60,0x00,0x60,0x00,0x60,0x00,0xE0, 0x03,0xC0,0x07,0x80,0x0E,0x00,0x0C,0x00,0x0F,0xE0,0x0F,0xE0,0x00,0x00,0x00,0x00),idx // 2
Case 51
Retval = LookUp(0x00,0x00,0x00,0x00,0x07,0xC0,0x0F,0xE0,0x0C,0x60,0x08,0x60,0x00,0x60,0x01,0xC0, 0x01,0xC0,0x00,0x60,0x00,0x60,0x08,0x60,0x0F,0xE0,0x07,0xC0,0x00,0x00,0x00,0x00),idx // 3
Case 52
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00, 0x0D,0x80,0x0D,0x80,0x0F,0xE0,0x0F,0xE0,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00),idx // 4
Case 53
Retval = LookUp(0x00,0x00,0x00,0x00,0x0F,0xE0,0x0F,0xE0,0x0C,0x00,0x0C,0x00,0x0F,0xC0,0x0F,0xE0, 0x08,0x60,0x00,0x60,0x00,0x60,0x08,0x60,0x0F,0xE0,0x07,0xC0,0x00,0x00,0x00,0x00),idx // 5
Case 54
Retval = LookUp(0x00,0x00,0x00,0x00,0x07,0xC0,0x0F,0xE0,0x0C,0x20,0x0C,0x00,0x0C,0x00,0x0F,0xC0, 0x0F,0xE0,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0F,0xE0,0x07,0xC0,0x00,0x00,0x00,0x00),idx // 6
Case 55
Retval = LookUp(0x00,0x00,0x00,0x00,0x0F,0xE0,0x0F,0xE0,0x08,0x60,0x00,0x60,0x00,0x60,0x00,0x60, 0x00,0xE0,0x00,0xC0,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00),idx // 7
Case 56
Retval = LookUp(0x00,0x00,0x00,0x00,0x07,0xC0,0x0F,0xE0,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x07,0xC0, 0x0F,0xE0,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0F,0xE0,0x07,0xC0,0x00,0x00,0x00,0x00),idx // 8
Case 57
Retval = LookUp(0x00,0x00,0x00,0x00,0x07,0xC0,0x0F,0xE0,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0F,0xE0, 0x07,0xE0,0x00,0x60,0x00,0x60,0x08,0x60,0x0F,0xE0,0x07,0xC0,0x00,0x00,0x00,0x00),idx // 9
Case 58
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x01,0x80, 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00),idx // :
Case 59
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x01,0x80, 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x00,0x00,0x00),idx // ;
Case 60
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x80,0x03,0x00,0x06,0x00,0x0C,0x00, 0x0C,0x00,0x06,0x00,0x03,0x00,0x01,0x80,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00),idx // <
Case 61
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x07,0xE0,0x00,0x00, 0x00,0x00,0x07,0xE0,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00),idx // =
Case 62
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x01,0x80,0x00,0xC0,0x00,0x60,0x00,0x30, 0x00,0x30,0x00,0x60,0x00,0xC0,0x01,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00),idx // >
Case 63
Retval = LookUp(0x00,0x00,0x00,0x00,0x07,0xC0,0x0F,0xE0,0x08,0x60,0x00,0x60,0x00,0x60,0x01,0xE0, 0x03,0xC0,0x03,0x00,0x03,0x00,0x00,0x00,0x03,0x00,0x03,0x00,0x00,0x00,0x00,0x00),idx // ?
Case 64
Retval = LookUp(0x00,0x00,0x00,0x00,0x07,0xE0,0x0F,0xF0,0x1C,0x30,0x19,0xF0,0x1B,0xF0,0x1B,0x30, 0x1B,0x30,0x1B,0xF0,0x19,0xD0,0x1C,0x38,0x0F,0xF0,0x07,0xE0,0x00,0x00,0x00,0x00),idx // @
Case 65
Retval = LookUp(0x00,0x00,0x00,0x00,0x07,0xC0,0x0F,0xE0,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0C,0x60, 0x0F,0xE0,0x0F,0xE0,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x00,0x00,0x00,0x00),idx // A
Case 66
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xC0,0x0F,0xE0,0x0C,0x60,0x0C,0x60,0x0C,0x60, 0x0F,0xC0,0x0F,0xE0,0x0C,0x60,0x0C,0x60,0x0F,0xE0,0x0F,0xC0,0x00,0x00,0x00,0x00),idx // B
Case 67
Retval = LookUp(0x00,0x00,0x00,0x00,0x07,0xC0,0x0F,0xE0,0x0C,0x20,0x0C,0x00,0x0C,0x00,0x0C,0x00, 0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x20,0x0F,0xE0,0x07,0xC0,0x00,0x00,0x00,0x00),idx // C
Case 68
Retval = LookUp(0x00,0x00,0x00,0x00,0x0F,0xC0,0x0F,0xE0,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0C,0x60, 0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0F,0xE0,0x0F,0xC0,0x00,0x00,0x00,0x00),idx // D
Case 69
Retval = LookUp(0x00,0x00,0x00,0x00,0x0F,0xE0,0x0F,0xE0,0x0C,0x20,0x0C,0x00,0x0C,0x00,0x0F,0x80, 0x0F,0x80,0x0C,0x00,0x0C,0x00,0x0C,0x20,0x0F,0xE0,0x0F,0xE0,0x00,0x00,0x00,0x00),idx // E
Case 70
Retval = LookUp(0x00,0x00,0x00,0x00,0x0F,0xE0,0x0F,0xE0,0x0C,0x20,0x0C,0x00,0x0C,0x00,0x0F,0x00, 0x0F,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00),idx // F
Case 71
Retval = LookUp(0x00,0x00,0x00,0x00,0x07,0xC0,0x0F,0xE0,0x0C,0x20,0x0C,0x00,0x0C,0x00,0x0C,0x00, 0x0C,0xE0,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0F,0xE0,0x07,0xC0,0x00,0x00,0x00,0x00),idx // G
Case 72
Retval = LookUp(0x00,0x00,0x00,0x00,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0F,0xE0, 0x0F,0xE0,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x00,0x00,0x00,0x00),idx // H
Case 73
Retval = LookUp(0x00,0x00,0x00,0x00,0x0F,0xE0,0x0F,0xE0,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80, 0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x0F,0xE0,0x0F,0xE0,0x00,0x00,0x00,0x00),idx // I
Case 74
Retval = LookUp(0x00,0x00,0x00,0x00,0x0F,0xE0,0x0F,0xE0,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80, 0x01,0x80,0x01,0x80,0x01,0x80,0x09,0x80,0x0F,0x80,0x07,0x00,0x00,0x00,0x00,0x00),idx // J
Case 75
Retval = LookUp(0x00,0x00,0x00,0x00,0x0C,0x60,0x0C,0x60,0x0C,0xC0,0x0D,0x80,0x0D,0x80,0x0F,0x00, 0x0F,0x00,0x0D,0x80,0x0D,0xC0,0x0C,0xC0,0x0C,0x60,0x0C,0x60,0x00,0x00,0x00,0x00),idx // K
Case 76
Retval = LookUp(0x00,0x00,0x00,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00, 0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0F,0xE0,0x0F,0xE0,0x00,0x00,0x00,0x00),idx // L
Case 77
Retval = LookUp(0x00,0x00,0x00,0x00,0x18,0x30,0x1C,0x70,0x1F,0xF0,0x1F,0xF0,0x1B,0xB0,0x18,0x30, 0x18,0x30,0x18,0x30,0x18,0x30,0x18,0x30,0x18,0x30,0x18,0x30,0x00,0x00,0x00,0x00),idx // M
Case 78
Retval = LookUp(0x00,0x00,0x00,0x00,0x0C,0x30,0x0E,0x30,0x0E,0x30,0x0F,0x30,0x0F,0x30,0x0D,0xB0, 0x0D,0xF0,0x0C,0xF0,0x0C,0xF0,0x0C,0x70,0x0C,0x70,0x0C,0x30,0x00,0x00,0x00,0x00),idx // N
Case 79
Retval = LookUp(0x00,0x00,0x00,0x00,0x07,0xE0,0x0F,0xF0,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30, 0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0F,0xF0,0x07,0xE0,0x00,0x00,0x00,0x00),idx // O
Case 80
Retval = LookUp(0x00,0x00,0x00,0x00,0x0F,0xC0,0x0F,0xE0,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0C,0x60, 0x0F,0xE0,0x0F,0xC0,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00),idx // P
Case 81
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x0F,0xE0,0x0C,0x60,0x0C,0x60,0x0C,0x60, 0x0C,0x60,0x0C,0x60,0x0D,0xE0,0x0D,0xE0,0x0F,0xE0,0x07,0xF0,0x00,0x00,0x00,0x00),idx // Q
Case 82
Retval = LookUp(0x00,0x00,0x00,0x00,0x0F,0xC0,0x0F,0xE0,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0C,0x60, 0x0F,0xE0,0x0F,0xC0,0x0C,0xC0,0x0C,0xC0,0x0C,0x60,0x0C,0x60,0x00,0x00,0x00,0x00),idx // R
Case 83
Retval = LookUp(0x00,0x00,0x00,0x00,0x07,0xC0,0x0F,0xE0,0x0C,0x20,0x0C,0x00,0x0C,0x00,0x0F,0xC0, 0x07,0xE0,0x00,0x60,0x00,0x60,0x08,0x60,0x0F,0xE0,0x07,0xC0,0x00,0x00,0x00,0x00),idx // S
Case 84
Retval = LookUp(0x00,0x00,0x00,0x00,0x1F,0xE0,0x1F,0xE0,0x13,0x20,0x03,0x00,0x03,0x00,0x03,0x00, 0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x00,0x00,0x00,0x00),idx // T
Case 85
Retval = LookUp(0x00,0x00,0x00,0x00,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0C,0x60, 0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0F,0xE0,0x07,0xC0,0x00,0x00,0x00,0x00),idx // U
Case 86
Retval = LookUp(0x00,0x00,0x00,0x00,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0C,0x60, 0x0C,0x60,0x0E,0xE0,0x06,0xC0,0x07,0xC0,0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00),idx // V
Case 87
Retval = LookUp(0x00,0x00,0x00,0x00,0x18,0x30,0x18,0x30,0x18,0x30,0x18,0x30,0x18,0x30,0x18,0x30, 0x18,0x30,0x1B,0xB0,0x1F,0xF0,0x1F,0xF0,0x1C,0x70,0x18,0x30,0x00,0x00,0x00,0x00),idx // W
Case 88
Retval = LookUp(0x00,0x00,0x00,0x00,0x18,0x60,0x18,0x60,0x18,0x60,0x0C,0xC0,0x07,0x80,0x03,0x00, 0x03,0x00,0x07,0x80,0x07,0x80,0x0C,0xC0,0x18,0x60,0x18,0x60,0x00,0x00,0x00,0x00),idx // X
Case 89
Retval = LookUp(0x00,0x00,0x00,0x00,0x18,0x60,0x18,0x60,0x18,0x60,0x18,0x60,0x1C,0xE0,0x0F,0xC0, 0x07,0x80,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x00,0x00,0x00,0x00),idx // Y
Case 90
Retval = LookUp(0x00,0x00,0x00,0x00,0x0F,0xE0,0x0F,0xE0,0x08,0x60,0x00,0x60,0x00,0xC0,0x01,0x80, 0x03,0x00,0x06,0x00,0x0C,0x00,0x0C,0x20,0x0F,0xE0,0x0F,0xE0,0x00,0x00,0x00,0x00),idx // Z
Case 91
Retval = LookUp(0x00,0x00,0x0F,0xC0,0x0F,0xC0,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00, 0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0F,0xC0,0x0F,0xC0,0x00,0x00),idx // [
Case 92
Retval = LookUp(0x00,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x06,0x00,0x06,0x00,0x03,0x00,0x03,0x80, 0x01,0x80,0x00,0xC0,0x00,0x60,0x00,0x60,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x00),idx // \
Case 93
Retval = LookUp(0x00,0x00,0x03,0xF0,0x03,0xF0,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30, 0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x03,0xF0,0x03,0xF0,0x00,0x00),idx // ]
Case 94
Retval = LookUp(0x00,0x00,0x00,0x00,0x01,0x80,0x03,0xC0,0x06,0x60,0x0C,0x30,0x18,0x18,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00),idx // ^
Case 95
Retval = LookUp(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,0x7F,0xFE,0x7F,0xFE),idx // _
Case 96
Retval = LookUp(0x00,0x00,0x00,0x00,0x0C,0x00,0x0C,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00),idx // '
Case 97
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x0F,0xC0,0x00,0xC0, 0x07,0xC0,0x0F,0xC0,0x0C,0xC0,0x0C,0xC0,0x0F,0xC0,0x07,0xC0,0x00,0x00,0x00,0x00),idx // a
Case 98
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0D,0xC0, 0x0F,0xE0,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0F,0xE0,0x0D,0xC0,0x00,0x00,0x00,0x00),idx // b
Case 99
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80, 0x0F,0xC0,0x0C,0x00,0x0C,0x00,0x0C,0x40,0x0F,0xC0,0x07,0x80,0x00,0x00,0x00,0x00),idx // c
Case 100
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x60,0x07,0x60, 0x0F,0xE0,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0F,0xE0,0x07,0x60,0x00,0x00,0x00,0x00),idx // d
Case 101
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x0F,0xE0, 0x0C,0x60,0x0F,0xE0,0x0F,0xE0,0x0C,0x00,0x0F,0xE0,0x07,0xC0,0x00,0x00,0x00,0x00),idx // e
Case 102
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0xE0,0x01,0x80,0x01,0x80, 0x07,0xE0,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00),idx // f
Case 103
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0, 0x0F,0xE0,0x0C,0x60,0x0F,0xE0,0x07,0xE0,0x00,0x60,0x0F,0xE0,0x07,0xC0,0x00,0x00),idx // g
Case 104
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0D,0x80, 0x0F,0xC0,0x0C,0xC0,0x0C,0xC0,0x0C,0xC0,0x0C,0xC0,0x0C,0xC0,0x00,0x00,0x00,0x00),idx // h
Case 105
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00, 0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00),idx // i
Case 106
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00, 0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x09,0x80,0x0F,0x80,0x07,0x00,0x00,0x00),idx // j
Case 107
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x60, 0x06,0x60,0x06,0xC0,0x07,0x80,0x07,0x80,0x06,0xC0,0x06,0x60,0x06,0x60,0x00,0x00),idx // k
Case 108
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00, 0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x00,0x00,0x00,0x00),idx // l
Case 109
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x60, 0x0F,0xE0,0x0F,0xE0,0x0D,0x60,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x00,0x00,0x00,0x00),idx // m
Case 110
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x06,0xE0,0x07,0xE0,0x06,0x60,0x06,0x60,0x06,0x60,0x06,0x60,0x00,0x00,0x00,0x00),idx // n
Case 111
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0, 0x07,0xE0,0x06,0x60,0x06,0x60,0x06,0x60,0x07,0xE0,0x03,0xC0,0x00,0x00,0x00,0x00),idx // o
Case 112
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0, 0x07,0xE0,0x06,0x60,0x06,0x60,0x07,0xE0,0x07,0xC0,0x06,0x00,0x06,0x00,0x00,0x00),idx // p
Case 113
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0, 0x0F,0xC0,0x0C,0xC0,0x0C,0xC0,0x0F,0xC0,0x07,0xC0,0x00,0xC0,0x00,0xC0,0x00,0x00),idx // q
Case 114
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0xC0, 0x07,0xC0,0x06,0x40,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00),idx // r
Case 115
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x0F,0xC0, 0x0C,0x40,0x0F,0x00,0x03,0x80,0x08,0xC0,0x0F,0xC0,0x07,0x80,0x00,0x00,0x00,0x00),idx // s
Case 116
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x0F,0xC0, 0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0xE0,0x01,0xC0,0x00,0x00,0x00,0x00),idx // t
Case 117
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x60, 0x06,0x60,0x06,0x60,0x06,0x60,0x06,0x60,0x07,0xE0,0x03,0xE0,0x00,0x00,0x00,0x00),idx // u
Case 118
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x60, 0x06,0x60,0x06,0x60,0x06,0x60,0x06,0x60,0x07,0xE0,0x03,0xC0,0x01,0x80,0x00,0x00),idx // v
Case 119
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0xC0,0x06,0xC0, 0x06,0xC0,0x03,0x80,0x03,0x80,0x06,0xC0,0x06,0xC0,0x06,0xC0,0x00,0x00,0x00,0x00),idx // w
Case 120
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x60,0x06,0x60, 0x06,0x60,0x07,0xE0,0x03,0xC0,0x01,0x80,0x01,0x80,0x01,0x80,0x07,0x00,0x00,0x00),idx // x
Case 121
Retval = LookUp(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xC0,0x0F,0xC0, 0x01,0x80,0x03,0x00,0x06,0x00,0x0C,0x00,0x0F,0xC0,0x0F,0xC0,0x00,0x00,0x00,0x00),idx // y
Case 122
Retval = LookUp(0x00,0x00,0x01,0x80,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x06,0x00, 0x06,0x00,0x06,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x01,0x80,0x00,0x00),idx // z
EndSelect
End Function