# HG changeset patch
# User heinrichsweikamp
# Date 1280994572 -7200
# Node ID 3691ea95a34df7b9dfc3ded3029eaeee4ec3dafb
# Parent 2ff1b30b1bdf46e836c38ee723f887455b664371
New deco code 1.10d
diff -r 2ff1b30b1bdf -r 3691ea95a34d code_part1/OSTC_code_asm_part1/tempcomp.asm
--- a/code_part1/OSTC_code_asm_part1/tempcomp.asm Thu Aug 05 09:44:43 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-; OSTC - diving computer code
; Copyright (C) 2008 HeinrichsWeikamp GbR
; This program is free software: you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation, either version 3 of the License, or
; (at your option) any later version.
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
; You should have received a copy of the GNU General Public License
; along with this program. If not, see .
; routine for extra temperature compensation
; written by: Matthias Heinrichs, info@heinrichsweikamp.com
; written: 01/12/08
; last updated: 08/08/31
; known bugs:
; ToDo:
; routine echoes the "f" command as ready signal
; PC has to send 2 bytes containing the actual temperature in 0.1C
; Byte1: low
; Byte2: high
compensate_temperature:
bcf uart_compensate_temp ; clear flag
bcf PIE1,RCIE ; no interrupt for UART
;
-; call set_LEDusb ; LEDusb ON
;
-; bcf PIR1,RCIF ; clear flag
;
-;
;
-; movlw "f" ; send echo
;
-; movwf TXREG
;
-; call rs232_wait_tx ; wait for UART
;
-;
;
-; call rs232_get_byte ; low byte
;
-; movff RCREG, lo
;
-;
;
-; call rs232_get_byte ; high byte
;
-; movff RCREG, hi
;
-;
;
-; clrf temperature_correction ; wait for uncompensated temperature value!
;
-; WAITMS d'250' ; wait for new temperature
;
-; WAITMS d'250'
;
-; WAITMS d'250'
;
-; WAITMS d'250'
;
-;
;
-; movff lo,sub_a+0 ; calculate difference
;
-; movff hi,sub_a+1
;
-; movff temperature+0, sub_b+0
;
-; movff temperature+1, sub_b+1
;
-; call sub16 ; sub_c = sub_a - sub_b
;
-;
;
-; movf sub_c+0,W
;
-; btfsc neg_flag ; compensate negative?
;
-; movlw d'0' ; use zero compensation!
;
-; movwf sub_c+0
;
-;
;
-; movff sub_c+0,TXREG ; Send answer
;
-;
;
-; movff sub_c+0,EEDATA ; store low byte only!
;
-; movff sub_c+0,temperature_correction ; no reboot required then...
;
-; movlw 0x01
;
-; movwf EEADRH
;
-; movlw 0x00
;
-; movwf EEADR
;
-; call write_eeprom ; stores in internal eeprom
;
-;
;
-; movlw 0x00
;
-; movwf EEADRH ; reset high address byte
;
-;
;
-; call clear_LEDusb ; LEDusb OFF
;
-; bcf PIR1,RCIF ; clear flag
bsf PIE1,RCIE ; enable interrupt for UART
goto surfloop_loop ; return to surface loop
diff -r 2ff1b30b1bdf -r 3691ea95a34d code_part1/OSTC_code_c_part2/p2_deco_main.c
--- a/code_part1/OSTC_code_c_part2/p2_deco_main.c Thu Aug 05 09:44:43 2010 +0200
+++ b/code_part1/OSTC_code_c_part2/p2_deco_main.c Thu Aug 05 09:49:32 2010 +0200
@@ -1,15 +1,17 @@
/*
- * p2_deco_main.c
+ * p2_deco_main_c_v108.c
*
- * Created on: 31.08.2009
- * Author: christian.w @ heinrichsweikamp.com
+ * Created on: 12.05.2009
+ * Author: chsw
*
+ * Changes: debug / plausibiliy output
*/
//#include
+
// OSTC - diving computer code
-// Copyright (C) 2009 HeinrichsWeikamp GbR
+// Copyright (C) 2008 HeinrichsWeikamp GbR
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -59,7 +61,9 @@
// 09/xx/08 v102d: Gradient Factor Model implemenation
// 10/10/08 v104: renamed to build v103 for v118 stable
// 10/14/08 v104: integration of temp_depth_last_deco for Gradient Model
-// 03/31/090 v107: integration of FONT Incon24
+// 03/31/09 v107: integration of FONT Incon24
+// 05/23/10 v109: 5 gas changes & 1 min timer
+// 07/13/10 v110: cns vault added
//
// literature:
@@ -100,11 +104,16 @@
// ** D E F I N E S **
// ** missing in p18f4685.h **
// ****************************
-/*
#define INT0IF 1
#define INT1IF 0
#define TMR1IF 0
-*/
+
+#define oled_clk PORTD, 0,0
+#define oled_data PORTD, 1,0
+#define oled_en PORTE, 0,0
+#define oled_rs PORTE, 1,0
+#define flag5 0x29 // in Bank1
+//#define no_sensor_int flag5,7,1 // ; block any further access to pressure sensor
# define DBG_c_gas 0b0000000000000001
# define DBG_c_ppO2 0b0000000000000010
@@ -165,7 +174,7 @@
// NDL_at_20mtr
-
+# define MBAR_REACH_GASCHANGE_AUTO_CHANGE_OFF 150
// ***********************
// ** V A R I A B L E S **
@@ -183,50 +192,33 @@
// nullzeit = remaining ground/bottom time for "no deco"
// hauptroutine = main
-#define WP_FONT_SMALL_HEIGHT 24
-#define WP_FONT_MEDIUM_HEIGHT 32
-#define WP_FONT_LARGE_HEIGHT 58
-
-#define oled_rw PORTA,2,0
-#define oled_rs PORTE,0,0
-
-#define U8 unsigned char
-#define U16 unsigned int
-
-// IO assembler
#pragma udata bank0a=0x060
-volatile unsigned char wp_stringstore[26];
-volatile U8 wp_color1;
-volatile U8 wp_color2;
-volatile U8 wp_top;
-volatile U8 wp_leftx2;
-volatile U8 wp_font;
-volatile U8 wp_invert;
-volatile U8 wp_temp_U8;
-// internal C
-#pragma udata bank0b=0x081
-volatile U8 wp_txtptr;
-volatile unsigned char wp_char;
-volatile U8 wp_command;
-volatile U16 wp_data_16bit;
-volatile U8 wp_data_8bit_one;
-volatile U8 wp_data_8bit_two;
-volatile U16 wp_start;
-volatile U16 wp_end;
-volatile U16 wp_i;
-volatile U8 wp_black;
-// some spare
-volatile U8 wp_debug_U8;
-
-// asm only
-#pragma udata bank0c=0x0D0
-#define LENGTH_kf_bank0 48
-volatile unsigned char keep_free_bank0[LENGTH_kf_bank0];
-
-
-#pragma udata bank1=0x100
-#define LENGTH_kf_bank1 256
-volatile unsigned char keep_free_bank1[LENGTH_kf_bank1]; // used by the assembler code
+volatile unsigned char dd2_stringstore[17];
+#pragma udata bank0b=0x071
+volatile unsigned char keep_free_bank0[21];
+
+#pragma udata bank0c=0x086
+volatile unsigned char dd2_left; // 1 - 64
+volatile unsigned char dd2_top; // 1 - 64
+volatile unsigned char dd2_heightmax; // 1 - 37
+volatile unsigned char dd2_oled_brightness_offset; // 0 - 15 (15 is pitch black always)
+volatile unsigned char dd2_fontwidth; // 8, 12, 21 for Incon16, Incon24, Incon42
+volatile unsigned char dd2_fontheight; // 14, 21, 37 for "
+volatile unsigned long dd2_pointer; // for font lut
+volatile unsigned char dd2_i;
+volatile unsigned char dd2_j;
+volatile unsigned char dd2_k;
+volatile unsigned char dd2_char;
+volatile unsigned char dd2_lowbyte;
+volatile unsigned char dd2_temp;
+volatile unsigned char dd2_data;
+volatile unsigned long dd2_base; // for font lut
+volatile unsigned char dd2_start; // for font lut
+volatile unsigned char dd2_end; // for font lut
+
+
+ #pragma udata bank1=0x100
+ const unsigned char keep_free_bank1[256]; // used by the assembler code
#pragma udata bank2a=0x200
// output:
@@ -237,8 +229,9 @@
static unsigned int int_O_gtissue_press; // 0x246
static unsigned int int_O_limit_GF_low; // 0x248
static unsigned int int_O_gtissue_press_at_GF_low; // 0x24A
-// 0x24C + 0x24D noch unbenutzt
-
+ volatile unsigned char char_I_step_is_1min; // 0x24C
+
+ // ...
#pragma udata bank2b=0x24E
static unsigned char char_O_GF_low_pointer; // 0x24E
static unsigned char char_O_actual_pointer; // 0x24F
@@ -269,7 +262,9 @@
static unsigned char temp_depth_GF_low_meter;
static unsigned char temp_depth_GF_low_number;
static unsigned char internal_deco_pointer;
- static unsigned char internal_deco_table[32];
+
+ #pragma udata bank2f=0x2C8
+ static unsigned char internal_deco_table[32]; // 0x2C8
static float temp_pres_deco_GF_low;
static unsigned int debug_temp;
@@ -278,7 +273,9 @@
#pragma udata bank3a=0x300
static char output[32];
// used by the math routines
-#pragma udata bank3b=0x380
+#pragma udata bank3b=0x37C
+volatile float cns_vault;
+#pragma udata bank3c=0x380
volatile float pres_tissue_vault[32];
#pragma udata bank4a=0x400
// internal:
@@ -286,6 +283,7 @@
unsigned char x;
unsigned int main_i;
unsigned int int_temp;
+ unsigned int int_temp2;
unsigned int int_temp_decostatus;
static float pres_respiration;
static float pres_surface;
@@ -316,6 +314,7 @@
static float pres_gtissue_limit;
static float temp_pres_gtissue_limit;
static float actual_ppO2; // new in v.102
+
#pragma udata bank4b=0x480
static float pres_tissue[32];
@@ -327,10 +326,14 @@
static unsigned int int_I_temp; // 0x504 new in v101
static unsigned char char_I_temp; // 0x506 new in v101
static unsigned char char_I_actual_ppO2; // 0x507
- static unsigned int int_I_spare_3;
- static unsigned int int_I_spare_4;
- static unsigned int int_I_spare_5;
- static unsigned int int_I_spare_6;
+ static unsigned char char_I_deco_N2_ratio2; // 0x508 new in v.109
+ static unsigned char char_I_deco_He_ratio2; // 0x509 new in v.109
+ static unsigned char char_I_deco_N2_ratio3; // 0x50A new in v.109
+ static unsigned char char_I_deco_He_ratio3; // 0x50B new in v.109
+ static unsigned char char_I_deco_N2_ratio4; // 0x50C new in v.109
+ static unsigned char char_I_deco_He_ratio4; // 0x50D new in v.109
+ static unsigned char char_I_deco_N2_ratio5; // 0x50E new in v.109
+ static unsigned char char_I_deco_He_ratio5; // 0x50F new in v.109
static unsigned char char_I_N2_ratio; // 0x510
static unsigned char char_I_He_ratio; // 0x511
static unsigned char char_I_saturation_multiplier; // for conservatism/safety values 1.0 (no conservatism) to 1.5 (50% faster saturation
@@ -347,7 +350,9 @@
static unsigned char char_I_deco_He_ratio; // 0x51D new in v.101
static unsigned char char_I_depth_last_deco; // 0x51E new in v.101 unit: [m]
static unsigned char char_I_deco_model; // 0x51F new in v.102 ( 1 = MultiGraF, sonst Std. mit (de-)saturation_multiplier)
-// output:
+
+
+ // output:
static unsigned int int_O_desaturation_time; // 0x520
static unsigned char char_O_nullzeit; // 0x522
static unsigned char char_O_deco_status; // 0x523
@@ -361,7 +366,10 @@
static unsigned char char_O_diluent; // 0x564 new in v.101
static unsigned char char_O_CNS_fraction; // 0x565 new in v.101
static unsigned char char_O_relative_gradient_GF; // 0x566 new in v.102
-
+ static unsigned char char_I_deco_gas_change2; // 0x567 new in v.109
+ static unsigned char char_I_deco_gas_change3; // 0x568 new in v.109
+ static unsigned char char_I_deco_gas_change4; // 0x569 new in v.109
+ static unsigned char char_I_deco_gas_change5; // 0x56A new in v.109
// internal:
static float pres_tissue_limit[16];
static float sim_pres_tissue_limit[16];
@@ -378,8 +386,8 @@
static float sim_pres_tissue[32];
static float sim_pres_tissue_backup[32];
- //#pragma udata bank7=0x700
- //const unsigned char keep_free_bank7[256]; // used by the assembler code (DD font2display)
+ #pragma udata bank7=0x700
+ const unsigned char keep_free_bank7[256]; // used by the assembler code (DD font2display)
#pragma udata bank8=0x800
static char md_pi_subst[256];
@@ -411,7 +419,7 @@
static float float_saturation_multiplier; // new in v.101
static float float_desaturation_multiplier; // new in v.101
static float float_deco_distance; // new in v.101
-// internal, dbg:
+ // internal, dbg:
static unsigned char DBG_char_I_deco_model; // new in v.108
static unsigned char DBG_char_I_depth_last_deco; // new in v.108
static float DBG_pres_surface; // new in v.108
@@ -434,6 +442,21 @@
static int int_dbg_i; // new in v.108
unsigned int temp_DBS;
+ static float deco_gas_change2; // new in v.109
+ static float deco_gas_change3; // new in v.109
+ static float deco_gas_change4; // new in v.109
+ static float deco_gas_change5; // new in v.109
+
+ static float deco_N2_ratio2; // new in v.109
+ static float deco_N2_ratio3; // new in v.109
+ static float deco_N2_ratio4; // new in v.109
+ static float deco_N2_ratio5; // new in v.109
+ static float deco_He_ratio2; // new in v.109
+ static float deco_He_ratio3; // new in v.109
+ static float deco_He_ratio4; // new in v.109
+ static float deco_He_ratio5; // new in v.109
+
+
// *************************
// ** P R O T O T Y P E S **
// *************************
@@ -465,6 +488,7 @@
void calc_desaturation_time(void);
void calc_wo_deco_step_1_min(void);
void calc_tissue_step_1_min(void);
+//void debug(void);
void hash(void);
void clear_CNS_fraction(void);
void calc_CNS_fraction(void);
@@ -475,24 +499,24 @@
void calc_hauptroutine_update_tissues(void);
void calc_hauptroutine_calc_deco(void);
void calc_hauptroutine_calc_ascend_to_deco(void);
+//void build_debug_output(void);
void calc_nextdecodepth_GF(void);
void copy_deco_table_GF(void);
void clear_internal_deco_table_GF(void);
void update_internal_deco_table_GF(void);
void DD2_write(void);
void DD2_write_incon42(void);
-void DD2_get_pointer_to_char(void);
-void DD2_set_column(void);
+void DD2_get_pointer_to_char(void);//dd2_char, &dd2_pointer);
+void DD2_set_column(void);//top, dd2_k);void DD2_load_background(void);//&dd2_columnstore, &dd2_background, dd2_top, dd2_left, dd2_heightmax);
void DD2_load_background(void);
-void DD2_build_one_line_of_char(void);
-void DD2_print_column(void);
+void DD2_build_one_line_of_char(void);//&dd2_columnstore, &dd2_pointer, dd2_fontheight, dd2_lowbyte);
+void DD2_print_column(void);//&dd2_columnstore, dd2_heightmax);
void DD2_CmdWrite(void);
void DD2_DataWrite(void);
void push_tissues_to_vault(void);
void pull_tissues_from_vault(void);
void main_push_tissues_to_vault(void);
void main_pull_tissues_from_vault(void);
-void wordprocessor(void);
// *******************************
// ** start **
@@ -515,29 +539,10 @@
#pragma code main = 0x9000
void main(void)
{
- for(wp_temp_U8=0;wp_temp_U8 dd2_fontheight) dd2_heightmax = dd2_fontheight;
+ if ((dd2_top + dd2_heightmax) > 65) dd2_heightmax = 65 - dd2_top;
+
+ dd2_k = dd2_left;
+ dd2_j = 0;
+ dd2_char = dd2_stringstore[dd2_j++];
+ DD2_get_pointer_to_char();//dd2_char, &dd2_pointer);
+ dd2_i = 0;
+ dd2_lowbyte = 1;
+
+while (dd2_char != 0)
{
- DD2_write();
+ if (dd2_lowbyte == 1) DD2_load_background();//&dd2_columnstore, &dd2_background, dd2_top, dd2_left, dd2_heightmax);
+ DD2_build_one_line_of_char(); //&dd2_columnstore, &dd2_pointer, dd2_fontheight, dd2_lowbyte); // dd2_heightmax
+ dd2_lowbyte = dd2_lowbyte ^ 1;
+ if (dd2_lowbyte == 1)
+ {
+ DD2_set_column();//top, dd2_k); //
+ if(dd2_k < 64) dd2_k++;
+ DD2_print_column();//&dd2_columnstore, dd2_heightmax); // dd2_column_store, dd2_heightmax
+ }
+ dd2_i++;
+ if ((dd2_i >= dd2_fontwidth) | (((dd2_char == '.') |(dd2_char == ':') | (dd2_char == '<')) & (dd2_i >= 4)))
+ {
+ dd2_char = dd2_stringstore[dd2_j++];
+ DD2_get_pointer_to_char();//dd2_char, &dd2_pointer);
+ dd2_i = 0;
+ }
}
-void DD2_load_background(void)
+} // void dd2_write(void)
+
+void DD2_get_pointer_to_char(void)//dd2_char, &dd2_pointer);
{
- DD2_write();
-}
-void DD2_build_one_line_of_char(void)
+ if((dd2_char < dd2_start) | (dd2_char > dd2_end))
+ {
+ dd2_pointer = 0;
+ dd2_temp = 0;
+ }
+ else
+ {
+ dd2_pointer = dd2_char - dd2_start;
+ dd2_pointer = dd2_pointer * ((dd2_fontheight+1)/2);
+ dd2_pointer = dd2_pointer * dd2_fontwidth;
+ dd2_pointer += dd2_base;
+ if((dd2_char == '.') | (dd2_char == ':') | (dd2_char == '<'))
+ {
+ dd2_pointer += 2 * dd2_fontheight;
+ }
+
+ }
+} // void DD2_get_pointer_to_char(void)
+
+void DD2_set_column(void)//top, dd2_k);
+{
+ dd2_data = 0x75;
+ DD2_CmdWrite();
+ dd2_data = dd2_top - 1;
+ DD2_CmdWrite();
+ dd2_data = 0x3f;
+ DD2_CmdWrite();
+
+ dd2_data = 0x15;
+ DD2_CmdWrite();
+ dd2_data = dd2_k - 1;
+ DD2_CmdWrite();
+ dd2_data = dd2_k - 1;
+ DD2_CmdWrite();
+} // DD2_set_column()
+
+void DD2_load_background(void)//&dd2_columnstore, &dd2_background, dd2_top, dd2_left, dd2_heightmax);
+{
+ for(dd2_temp = 0; dd2_temp < dd2_heightmax; dd2_temp++)
+ md_pi_subst[dd2_temp] = 0x00;
+} // void DD2_load_background()
+
+void DD2_build_one_line_of_char(void)//&dd2_columnstore, &dd2_pointer, dd2_fontheight, dd2_lowbyte);
{
- DD2_write();
-}
-void DD2_print_column(void)
+ if (dd2_pointer != 0)
+ {
+ dd2_temp = (char)(dd2_pointer & 255);
+_asm
+ movff dd2_temp,TBLPTRL
+_endasm
+ dd2_temp = (char)((dd2_pointer >> 8) & 255);
+_asm
+ movff dd2_temp,TBLPTRH
+_endasm
+ dd2_temp = (char)((dd2_pointer >> 16)& 255);
+_asm
+ movff dd2_temp,TBLPTRU
+_endasm
+
+ for(dd2_temp = 0; dd2_temp < dd2_heightmax; dd2_temp += 2)
+ {
+_asm
+ TBLRDPOSTINC
+ movff TABLAT,dd2_data
+_endasm
+ if (dd2_oled_brightness_offset != 0)
+ {
+ if ((dd2_oled_brightness_offset << 4) < (dd2_data & 0xF0))
+ dd2_data = dd2_data - (dd2_oled_brightness_offset << 4);
+ if ((dd2_oled_brightness_offset) < (dd2_data & 0x0F))
+ dd2_data = dd2_data - dd2_oled_brightness_offset;
+ }
+ if (dd2_lowbyte == 1)
+ {
+ md_pi_subst[dd2_temp] = dd2_data & 0xF0;
+ md_pi_subst[dd2_temp+1] = (dd2_data << 4) & 0xF0;
+ }
+ else
+ {
+ md_pi_subst[dd2_temp] = (md_pi_subst[dd2_temp] & 0xF0) | ((dd2_data >> 4) & 0x0F);
+ md_pi_subst[dd2_temp+1] = (md_pi_subst[dd2_temp+1] & 0xF0) | (dd2_data & 0x0F);
+ }
+ }//for
+ dd2_pointer += (dd2_fontheight+1)/2;
+ }//if
+} //
+
+void DD2_print_column(void)//&dd2_columnstore, dd2_heightmax);
{
- DD2_write();
-}
+_asm
+ bsf oled_rs
+_endasm
+ for(dd2_temp = 0; dd2_temp < dd2_heightmax; dd2_temp++)
+ {
+ dd2_data = md_pi_subst[dd2_temp];
+ DD2_DataWrite();
+ }
+} // void DD2_print_column(void)
+
+//; -----------------------------
+//; DD Write Cmd via W
+//; two jump_ins:
+//; DD_CmdWrite and DD_CmdWrite2
+//; -----------------------------
void DD2_CmdWrite(void)
{
- DD2_write();
+_asm
+ bcf oled_rs
+_endasm
+ DD2_DataWrite();
}
+
void DD2_DataWrite(void)
{
- DD2_write();
+_asm
+ movlb 1
+// bsf no_sensor_int // flag5, no_sensor_int
+ bcf oled_en
+ movlb 0
+ bcf oled_clk //; CLK=0
+ btfsc dd2_data,7,1 //; Bit
+ bsf oled_data
+ bcf oled_clk //; CLK=0
+ btfss dd2_data,7,1
+ bcf oled_data
+ bsf oled_clk //; CLK=1
+ btfsc dd2_data,6,1 //; Bit
+ bsf oled_data
+ bcf oled_clk //; CLK=0
+ btfss dd2_data,6,1
+ bcf oled_data
+ bsf oled_clk //; CLK=1
+ btfsc dd2_data,5,1 //; Bit
+ bsf oled_data
+ bcf oled_clk //; CLK=0
+ btfss dd2_data,5,1
+ bcf oled_data //;
+ bsf oled_clk //; CLK=1
+ btfsc dd2_data,4,1 //; Bit
+ bsf oled_data
+ bcf oled_clk //; CLK=0
+ btfss dd2_data,4,1
+ bcf oled_data
+ bsf oled_clk //; CLK=1
+ btfsc dd2_data,3,1 //; Bit
+ bsf oled_data
+ bcf oled_clk //; CLK=0
+ btfss dd2_data,3,1
+ bcf oled_data
+ bsf oled_clk //; CLK=1
+ btfsc dd2_data,2,1 //; Bit
+ bsf oled_data
+ bcf oled_clk //; CLK=0
+ btfss dd2_data,2,1
+ bcf oled_data
+ bsf oled_clk //; CLK=1
+ btfsc dd2_data,1,1 //; Bit
+ bsf oled_data
+ bcf oled_clk //; CLK=0
+ btfss dd2_data,1,1
+ bcf oled_data
+ bsf oled_clk //; CLK=1
+ btfsc dd2_data,0,1 //; Bit
+ bsf oled_data
+ bcf oled_clk //; CLK=0
+ btfss dd2_data,0,1
+ bcf oled_data
+ bsf oled_clk //; CLK=1
+ bsf oled_en //; CS#=1
+ movlb 1
+// bcf no_sensor_int // flag5, no_sensor_int
+ movlb 0
+_endasm
+ dd2_data = 0; // to be sure that C knows we are in Bank0
}
+#pragma romdata font_incon_24h15 = 0x0E100
+ rom const rom unsigned char incon24h15[] =
+ {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x80
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xf0
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xe0
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0xf0
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x4b, 0xff, 0xa0
+ ,0x00, 0x00, 0x00, 0x00, 0x5c, 0xff, 0x91, 0x00
+ ,0x00, 0x00, 0x00, 0x6d, 0xfe, 0x71, 0x00, 0x00
+ ,0x00, 0x01, 0x7e, 0xfd, 0x60, 0x00, 0x00, 0x00
+ ,0x01, 0x8f, 0xfd, 0x50, 0x00, 0x00, 0x00, 0x00
+ ,0x9f, 0xfb, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0xfa, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x20, 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, 0x69, 0xbc, 0xca, 0x72, 0x00, 0x00
+ ,0x00, 0x9f, 0xfe, 0xdc, 0xdf, 0xff, 0xb2, 0x00
+ ,0x1d, 0xf8, 0x20, 0x00, 0x05, 0xfd, 0xff, 0x30
+ ,0xaf, 0x30, 0x00, 0x00, 0x9f, 0x90, 0x2e, 0xd0
+ ,0xf8, 0x00, 0x00, 0x2c, 0xf5, 0x00, 0x06, 0xf0
+ ,0xf8, 0x00, 0x04, 0xed, 0x30, 0x00, 0x05, 0xf0
+ ,0xaf, 0x30, 0x8f, 0xb1, 0x00, 0x00, 0x0c, 0xe0
+ ,0x1d, 0xfd, 0xf8, 0x00, 0x00, 0x16, 0xdf, 0x40
+ ,0x00, 0x9f, 0xff, 0xdc, 0xde, 0xff, 0xc3, 0x00
+ ,0x00, 0x01, 0x69, 0xbc, 0xca, 0x73, 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
+ ,0x02, 0x90, 0x00, 0x00, 0x00, 0x00, 0x01, 0x30
+ ,0x0a, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x04, 0xf0
+ ,0x2f, 0x60, 0x00, 0x00, 0x00, 0x00, 0x04, 0xf0
+ ,0xaf, 0x97, 0x77, 0x77, 0x77, 0x77, 0x79, 0xf0
+ ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0
+ ,0x12, 0x22, 0x22, 0x22, 0x22, 0x22, 0x26, 0xf0
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xf0
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xd0
+ ,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, 0x01, 0x40
+ ,0x07, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0
+ ,0x4f, 0x80, 0x00, 0x00, 0x00, 0x1c, 0xfe, 0xf0
+ ,0xcc, 0x00, 0x00, 0x00, 0x02, 0xef, 0x57, 0xf0
+ ,0xf7, 0x00, 0x00, 0x00, 0x2e, 0xe2, 0x07, 0xf0
+ ,0xf8, 0x00, 0x00, 0x01, 0xde, 0x20, 0x07, 0xf0
+ ,0xce, 0x10, 0x00, 0x2d, 0xe2, 0x00, 0x07, 0xf0
+ ,0x4f, 0xd6, 0x58, 0xfe, 0x30, 0x00, 0x07, 0xf0
+ ,0x06, 0xff, 0xff, 0xb1, 0x00, 0x00, 0x07, 0xf0
+ ,0x00, 0x14, 0x52, 0x00, 0x00, 0x00, 0x05, 0x80
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00
+ ,0x09, 0x20, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x50
+ ,0x6f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2e, 0xd0
+ ,0xdb, 0x00, 0x00, 0x59, 0x00, 0x00, 0x07, 0xf0
+ ,0xf8, 0x00, 0x00, 0x8e, 0x00, 0x00, 0x04, 0xf0
+ ,0xea, 0x00, 0x00, 0xcf, 0x10, 0x00, 0x06, 0xf0
+ ,0x9f, 0x30, 0x07, 0xff, 0x90, 0x00, 0x1e, 0xe0
+ ,0x1e, 0xfc, 0xdf, 0x87, 0xfb, 0x79, 0xef, 0x50
+ ,0x01, 0x9d, 0xc6, 0x00, 0x7e, 0xff, 0xd5, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x2b, 0xb0, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x06, 0xff, 0xe0, 0x00, 0x00
+ ,0x00, 0x00, 0x02, 0xcf, 0x69, 0xe0, 0x00, 0x00
+ ,0x00, 0x00, 0x7f, 0xb1, 0x09, 0xe0, 0x00, 0x00
+ ,0x00, 0x2c, 0xe6, 0x00, 0x09, 0xe0, 0x00, 0x00
+ ,0x07, 0xfb, 0x10, 0x00, 0x09, 0xe0, 0x00, 0x00
+ ,0xcf, 0xfc, 0xcc, 0xcc, 0xce, 0xfd, 0xdd, 0xd0
+ ,0xde, 0xee, 0xee, 0xee, 0xef, 0xfe, 0xee, 0xe0
+ ,0x00, 0x00, 0x00, 0x00, 0x09, 0xe0, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x08, 0xc0, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00
+ ,0x78, 0xab, 0xcd, 0xed, 0x00, 0x00, 0xce, 0x20
+ ,0xff, 0xed, 0xcc, 0xfa, 0x00, 0x00, 0x5f, 0xb0
+ ,0xf9, 0x00, 0x06, 0xf0, 0x00, 0x00, 0x08, 0xf0
+ ,0xf9, 0x00, 0x0a, 0xb0, 0x00, 0x00, 0x04, 0xf0
+ ,0xf9, 0x00, 0x0a, 0xc0, 0x00, 0x00, 0x04, 0xf0
+ ,0xf9, 0x00, 0x08, 0xf3, 0x00, 0x00, 0x0b, 0xf0
+ ,0xf9, 0x00, 0x01, 0xfe, 0x62, 0x13, 0xbf, 0x90
+ ,0xf9, 0x00, 0x00, 0x4e, 0xff, 0xff, 0xfb, 0x00
+ ,0x11, 0x00, 0x00, 0x01, 0x6a, 0xa9, 0x40, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x03, 0x56, 0x65, 0x30, 0x00, 0x00
+ ,0x00, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xa2, 0x00
+ ,0x08, 0xfe, 0x96, 0x8f, 0x95, 0x6a, 0xff, 0x30
+ ,0x6f, 0x90, 0x01, 0xf8, 0x00, 0x00, 0x3e, 0xd0
+ ,0xec, 0x00, 0x08, 0xf0, 0x00, 0x00, 0x06, 0xf0
+ ,0xf6, 0x00, 0x0a, 0xe0, 0x00, 0x00, 0x04, 0xf0
+ ,0xf7, 0x00, 0x07, 0xf3, 0x00, 0x00, 0x09, 0xf0
+ ,0xcd, 0x10, 0x01, 0xef, 0x72, 0x13, 0xaf, 0x90
+ ,0x4d, 0x20, 0x00, 0x2d, 0xff, 0xff, 0xf9, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x47, 0x86, 0x10, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x90
+ ,0xfa, 0x00, 0x00, 0x00, 0x00, 0x39, 0xef, 0xf0
+ ,0xfa, 0x00, 0x00, 0x01, 0x7d, 0xff, 0xe9, 0x40
+ ,0xfa, 0x00, 0x05, 0xbf, 0xff, 0x94, 0x00, 0x00
+ ,0xfa, 0x18, 0xef, 0xfb, 0x50, 0x00, 0x00, 0x00
+ ,0xfe, 0xff, 0xd7, 0x10, 0x00, 0x00, 0x00, 0x00
+ ,0xff, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x52, 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, 0x02, 0x78, 0x50, 0x00
+ ,0x03, 0xad, 0xb4, 0x00, 0x7f, 0xff, 0xfc, 0x00
+ ,0x3f, 0xfc, 0xff, 0x66, 0xfa, 0x43, 0xaf, 0xa0
+ ,0xcd, 0x10, 0x1c, 0xfe, 0x70, 0x00, 0x0b, 0xf0
+ ,0xf5, 0x00, 0x01, 0xfe, 0x00, 0x00, 0x05, 0xf0
+ ,0xf5, 0x00, 0x00, 0xbf, 0x10, 0x00, 0x04, 0xf0
+ ,0xec, 0x00, 0x07, 0xff, 0xb0, 0x00, 0x0a, 0xf0
+ ,0x6f, 0xd9, 0xcf, 0x78, 0xfb, 0x32, 0x9f, 0x90
+ ,0x07, 0xef, 0xe6, 0x00, 0x9f, 0xff, 0xfb, 0x00
+ ,0x00, 0x01, 0x00, 0x00, 0x03, 0x88, 0x50, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x03, 0x55, 0x20, 0x00, 0x00, 0x00, 0x00
+ ,0x04, 0xdf, 0xff, 0xfb, 0x10, 0x00, 0x0b, 0x60
+ ,0x4f, 0xd7, 0x45, 0x9f, 0xd0, 0x00, 0x1c, 0xe0
+ ,0xdd, 0x00, 0x00, 0x05, 0xf5, 0x00, 0x05, 0xf0
+ ,0xf7, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x04, 0xf0
+ ,0xf8, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x08, 0xf0
+ ,0xbe, 0x20, 0x00, 0x06, 0xf2, 0x00, 0x5f, 0xa0
+ ,0x2e, 0xf9, 0x54, 0x7f, 0x94, 0x7c, 0xfc, 0x00
+ ,0x02, 0xaf, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00
+ ,0x00, 0x01, 0x46, 0x77, 0x75, 0x30, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x06, 0xa1, 0x00, 0x00, 0x09, 0x80
+ ,0x00, 0x00, 0x1f, 0xf9, 0x00, 0x00, 0x6f, 0xf0
+ ,0x00, 0x00, 0x0d, 0xf5, 0x00, 0x00, 0x3f, 0xe0
+ ,0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0xba, 0xae, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0xff, 0xe9, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x97, 0x8c, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0xff, 0xfb, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x75, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x75, 0x6a, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0xff, 0xfd, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0xa8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x2c, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0xdd, 0x78, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0xf2, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0xf0, 0x00, 0x4f, 0x10, 0x00, 0x00, 0x00, 0x00
+ ,0xea, 0x23, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x4f, 0xff, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x01, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10
+ ,0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0
+ ,0x00, 0x00, 0x9f, 0xa7, 0x77, 0x77, 0x77, 0x70
+ ,0x00, 0x00, 0xd6, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x02, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x01, 0xff, 0xcb, 0xbb, 0xbb, 0xbb, 0xb0
+ ,0x00, 0x00, 0x4f, 0xfe, 0xee, 0xee, 0xee, 0xe0
+ ,0x00, 0x00, 0xab, 0x20, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x01, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x02, 0xfa, 0x55, 0x55, 0x55, 0x55, 0x50
+ ,0x00, 0x00, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xf0
+ ,0x00, 0x00, 0x02, 0x44, 0x44, 0x44, 0x44, 0x40
+ };
+
+#pragma romdata font_incon_42 = 0x0F500
+ rom const rom unsigned char incon42[] =
+ {
+ // 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, 0x03, 0x7a, 0xcd, 0xee, 0xdc, 0xa8, 0x40, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x18, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x92, 0x00, 0x00, 0x00
+ ,0x00, 0x07, 0xef, 0xff, 0xff, 0xdc, 0xbb, 0xce, 0xff, 0xff, 0xff, 0x91, 0x00, 0x00
+ ,0x00, 0xbf, 0xff, 0xc7, 0x65, 0x43, 0x22, 0x33, 0x57, 0xbf, 0xff, 0xfd, 0x20, 0x00
+ ,0x0b, 0xff, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x6e, 0xff, 0xd1, 0x00
+ ,0x7f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xfa, 0x00
+ ,0xef, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0x20
+ ,0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0x60
+ ,0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
+ ,0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
+ ,0xcf, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
+ ,0x4f, 0xfe, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf8, 0x00
+ ,0x07, 0xff, 0xd7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7e, 0xff, 0xb0, 0x00
+ ,0x00, 0x5e, 0xff, 0xfb, 0x98, 0x54, 0x33, 0x34, 0x58, 0xbf, 0xff, 0xfa, 0x00, 0x00
+ ,0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x50, 0x00, 0x00
+ ,0x00, 0x00, 0x01, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x40, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x02, 0x46, 0x77, 0x65, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+
+#if 0
+// 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, 0x03, 0x7a, 0xcd, 0xee, 0xdc, 0xa8, 0x40, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x18, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x92, 0x00, 0x00, 0x00
+ ,0x00, 0x07, 0xef, 0xff, 0xff, 0xdc, 0xbb, 0xce, 0xff, 0xff, 0xff, 0x91, 0x00, 0x00
+ ,0x00, 0xbf, 0xff, 0xc7, 0x20, 0x00, 0x00, 0x00, 0x1c, 0xff, 0xff, 0xfd, 0x20, 0x00
+ ,0x0b, 0xff, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x02, 0xcf, 0xfc, 0x6e, 0xff, 0xd1, 0x00
+ ,0x7f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0xff, 0x90, 0x01, 0xbf, 0xfa, 0x00
+ ,0xef, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xe5, 0x00, 0x00, 0x0d, 0xff, 0x20
+ ,0xff, 0x60, 0x00, 0x00, 0x00, 0x02, 0xcf, 0xfc, 0x20, 0x00, 0x00, 0x05, 0xff, 0x60
+ ,0xff, 0x40, 0x00, 0x00, 0x00, 0x5e, 0xff, 0x90, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
+ ,0xff, 0x80, 0x00, 0x00, 0x08, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
+ ,0xcf, 0xf3, 0x00, 0x01, 0xcf, 0xfd, 0x30, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
+ ,0x4f, 0xfe, 0x50, 0x4e, 0xff, 0xa1, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf8, 0x00
+ ,0x07, 0xff, 0xfd, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7e, 0xff, 0xb0, 0x00
+ ,0x00, 0x5e, 0xff, 0xff, 0xd8, 0x54, 0x33, 0x34, 0x58, 0xbf, 0xff, 0xfa, 0x00, 0x00
+ ,0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x50, 0x00, 0x00
+ ,0x00, 0x00, 0x01, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x40, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x02, 0x46, 0x77, 0x65, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+#endif
+//
+// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x1f, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x00
+ ,0x00, 0x9f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
+ ,0x02, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
+ ,0x0a, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
+ ,0x3f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
+ ,0xbf, 0xfc, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x79, 0xff, 0x00
+ ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
+ ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
+ ,0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x36, 0xff, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xcc, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ //
+// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0xff, 0x00
+ ,0x00, 0xbf, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0x00
+ ,0x0a, 0xff, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0x00
+ ,0x4f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xdb, 0xff, 0x00
+ ,0xcf, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xf8, 0x08, 0xff, 0x00
+ ,0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xfe, 0x40, 0x08, 0xff, 0x00
+ ,0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xd2, 0x00, 0x08, 0xff, 0x00
+ ,0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xfd, 0x10, 0x00, 0x08, 0xff, 0x00
+ ,0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xd1, 0x00, 0x00, 0x08, 0xff, 0x00
+ ,0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xfe, 0x20, 0x00, 0x00, 0x08, 0xff, 0x00
+ ,0x9f, 0xfa, 0x00, 0x00, 0x00, 0x1a, 0xff, 0xe2, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
+ ,0x2e, 0xff, 0xd6, 0x21, 0x38, 0xef, 0xfd, 0x20, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
+ ,0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
+ ,0x00, 0x3d, 0xff, 0xff, 0xff, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
+ ,0x00, 0x00, 0x59, 0xbb, 0x95, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ //
+// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 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, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0x30, 0x00
+ ,0x04, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xd0, 0x00
+ ,0x1e, 0xfe, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xf8, 0x00
+ ,0x7f, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xfe, 0x00
+ ,0xdf, 0xc0, 0x00, 0x00, 0x00, 0x07, 0x95, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0x30
+ ,0xff, 0x70, 0x00, 0x00, 0x00, 0x0c, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
+ ,0xff, 0x50, 0x00, 0x00, 0x00, 0x0e, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
+ ,0xff, 0x60, 0x00, 0x00, 0x00, 0x2f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
+ ,0xff, 0xb0, 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0x30
+ ,0xbf, 0xf4, 0x00, 0x00, 0x02, 0xef, 0xff, 0x70, 0x00, 0x00, 0x00, 0x2f, 0xfe, 0x00
+ ,0x4f, 0xfe, 0x60, 0x00, 0x5e, 0xfd, 0xbf, 0xf5, 0x00, 0x00, 0x03, 0xef, 0xf7, 0x00
+ ,0x09, 0xff, 0xff, 0xdf, 0xff, 0xf3, 0x2f, 0xff, 0xb6, 0x56, 0xbf, 0xff, 0xc0, 0x00
+ ,0x00, 0x8f, 0xff, 0xff, 0xfe, 0x40, 0x04, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x00
+ ,0x00, 0x02, 0x8c, 0xdb, 0x71, 0x00, 0x00, 0x2b, 0xff, 0xff, 0xfe, 0x80, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x66, 0x30, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ //
+// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xef, 0xc0, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xaf, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0xff, 0xd4, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x06, 0xef, 0xf8, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x02, 0xbf, 0xfc, 0x30, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x7f, 0xff, 0x70, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x2c, 0xff, 0xb2, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x07, 0xff, 0xe6, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
+ ,0x03, 0xcf, 0xfa, 0x10, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
+ ,0x8f, 0xff, 0xea, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xef, 0xea, 0xaa, 0xaa, 0xaa, 0x00
+ ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
+ ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
+ ,0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0xdf, 0xd4, 0x44, 0x44, 0x44, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x70, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ //
+// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x12, 0x34, 0x56, 0x72, 0x00, 0x00, 0x00, 0x03, 0xf8, 0x00, 0x00
+ ,0xab, 0xcd, 0xef, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x1e, 0xff, 0x80, 0x00
+ ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x00, 0x00, 0x00, 0x28, 0xff, 0xf3, 0x00
+ ,0xff, 0xda, 0xa9, 0x87, 0x67, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfb, 0x00
+ ,0xff, 0x70, 0x00, 0x00, 0x06, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x10
+ ,0xff, 0x70, 0x00, 0x00, 0x0b, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0x50
+ ,0xff, 0x70, 0x00, 0x00, 0x0d, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
+ ,0xff, 0x70, 0x00, 0x00, 0x0e, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
+ ,0xff, 0x70, 0x00, 0x00, 0x0e, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
+ ,0xff, 0x70, 0x00, 0x00, 0x0b, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x30
+ ,0xff, 0x70, 0x00, 0x00, 0x06, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xfd, 0x00
+ ,0xff, 0x70, 0x00, 0x00, 0x00, 0xdf, 0xfd, 0x40, 0x00, 0x00, 0x29, 0xff, 0xf5, 0x00
+ ,0xff, 0x70, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0xba, 0xbd, 0xff, 0xff, 0x90, 0x00
+ ,0xff, 0x70, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00
+ ,0x55, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xdf, 0xff, 0xff, 0xea, 0x30, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x42, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ //
+// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x33, 0x33, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x49, 0xce, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x71, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00
+ ,0x00, 0x3d, 0xff, 0xff, 0xfc, 0xba, 0xff, 0xfb, 0xab, 0xef, 0xff, 0xfd, 0x20, 0x00
+ ,0x04, 0xff, 0xfe, 0x83, 0x00, 0x1c, 0xfd, 0x20, 0x00, 0x02, 0x8e, 0xff, 0xd1, 0x00
+ ,0x1e, 0xff, 0x90, 0x00, 0x00, 0xbf, 0xe1, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf9, 0x00
+ ,0xaf, 0xf7, 0x00, 0x00, 0x05, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
+ ,0xff, 0xb0, 0x00, 0x00, 0x0a, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
+ ,0xff, 0x50, 0x00, 0x00, 0x0d, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
+ ,0xff, 0x20, 0x00, 0x00, 0x0d, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x60
+ ,0xff, 0x30, 0x00, 0x00, 0x0a, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x30
+ ,0xff, 0x70, 0x00, 0x00, 0x05, 0xff, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xfd, 0x00
+ ,0xef, 0xe1, 0x00, 0x00, 0x00, 0xcf, 0xfd, 0x50, 0x00, 0x00, 0x28, 0xff, 0xf4, 0x00
+ ,0x7f, 0xfd, 0x00, 0x00, 0x00, 0x2d, 0xff, 0xff, 0xdb, 0xcd, 0xff, 0xff, 0x70, 0x00
+ ,0x0c, 0xd2, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xe5, 0x00, 0x00
+ ,0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x03, 0x9d, 0xff, 0xfe, 0xb6, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ //
+// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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
+ ,0xcc, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00
+ ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xef, 0x00
+ ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x9e, 0xff, 0xff, 0x00
+ ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xdf, 0xff, 0xff, 0xfe, 0x00
+ ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7d, 0xff, 0xff, 0xff, 0xd9, 0x40, 0x00
+ ,0xff, 0x90, 0x00, 0x00, 0x00, 0x05, 0xbf, 0xff, 0xff, 0xfd, 0x83, 0x00, 0x00, 0x00
+ ,0xff, 0x90, 0x00, 0x00, 0x39, 0xef, 0xff, 0xff, 0xe8, 0x30, 0x00, 0x00, 0x00, 0x00
+ ,0xff, 0x90, 0x00, 0x6c, 0xff, 0xff, 0xfe, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0xff, 0x92, 0x8e, 0xff, 0xff, 0xfb, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0xff, 0xef, 0xff, 0xff, 0xd7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0xff, 0xff, 0xff, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0xff, 0xfd, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0xba, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ //
+// ,0x00, 0x00, 0x00, 0x00, 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, 0x03, 0x67, 0x62, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x24, 0x42, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xff, 0xff, 0xb2, 0x00, 0x00
+ ,0x00, 0x3c, 0xff, 0xff, 0xc4, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xfe, 0x30, 0x00
+ ,0x05, 0xff, 0xff, 0xff, 0xff, 0x70, 0x08, 0xff, 0xfb, 0x77, 0xaf, 0xff, 0xe1, 0x00
+ ,0x3f, 0xff, 0xa7, 0x8d, 0xff, 0xf6, 0x4f, 0xfc, 0x20, 0x00, 0x02, 0xdf, 0xf9, 0x00
+ ,0xbf, 0xe3, 0x00, 0x00, 0x8f, 0xfe, 0xdf, 0xb0, 0x00, 0x00, 0x00, 0x2e, 0xff, 0x00
+ ,0xff, 0x60, 0x00, 0x00, 0x08, 0xff, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x08, 0xff, 0x40
+ ,0xff, 0x10, 0x00, 0x00, 0x00, 0xcf, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
+ ,0xff, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x60
+ ,0xff, 0x20, 0x00, 0x00, 0x00, 0x5f, 0xff, 0x10, 0x00, 0x00, 0x00, 0x05, 0xff, 0x50
+ ,0xff, 0x80, 0x00, 0x00, 0x03, 0xef, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x20
+ ,0xdf, 0xf6, 0x00, 0x00, 0x5e, 0xfc, 0xcf, 0xf8, 0x00, 0x00, 0x00, 0x4f, 0xfd, 0x00
+ ,0x4f, 0xff, 0xc8, 0x9d, 0xff, 0xf3, 0x3f, 0xff, 0xa2, 0x00, 0x06, 0xff, 0xf5, 0x00
+ ,0x07, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x06, 0xff, 0xff, 0xdc, 0xef, 0xff, 0xa0, 0x00
+ ,0x00, 0x4c, 0xff, 0xff, 0x91, 0x00, 0x00, 0x5e, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00
+ ,0x00, 0x00, 0x24, 0x30, 0x00, 0x00, 0x00, 0x01, 0x8e, 0xff, 0xfb, 0x40, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ //
+// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x02, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x01, 0x7d, 0xff, 0xff, 0xea, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00
+ ,0x00, 0x6e, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xe2, 0x00
+ ,0x08, 0xff, 0xff, 0xb9, 0x9b, 0xef, 0xff, 0xc0, 0x00, 0x00, 0x00, 0xbf, 0xfa, 0x00
+ ,0x4f, 0xff, 0x70, 0x00, 0x00, 0x05, 0xef, 0xf8, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x10
+ ,0xdf, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xff, 0x10, 0x00, 0x00, 0x06, 0xff, 0x50
+ ,0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50, 0x00, 0x00, 0x04, 0xff, 0x60
+ ,0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x70, 0x00, 0x00, 0x04, 0xff, 0x60
+ ,0xff, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x70, 0x00, 0x00, 0x07, 0xff, 0x40
+ ,0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x40, 0x00, 0x00, 0x0d, 0xfe, 0x00
+ ,0xef, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xfd, 0x00, 0x00, 0x00, 0x9f, 0xf8, 0x00
+ ,0x7f, 0xfd, 0x30, 0x00, 0x00, 0x00, 0x7f, 0xf4, 0x00, 0x00, 0x1a, 0xff, 0xd1, 0x00
+ ,0x0b, 0xff, 0xfb, 0x52, 0x00, 0x08, 0xff, 0x60, 0x13, 0x6a, 0xff, 0xfe, 0x20, 0x00
+ ,0x00, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xc2, 0x00, 0x00
+ ,0x00, 0x04, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x02, 0x69, 0xcd, 0xef, 0xff, 0xed, 0xb9, 0x62, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+
+#if 0
+#pragma romdata font_incon_42 = 0x0E000
+ rom const rom unsigned char incon42[] =
+ {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x03, 0x7a, 0xcd, 0xee, 0xdc, 0xa8, 0x40, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x18, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x92, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x07, 0xef, 0xff, 0xff, 0xdc, 0xbb, 0xce, 0xff, 0xff, 0xff, 0x91, 0x00, 0x00
+ ,0x00, 0x00, 0xbf, 0xff, 0xc7, 0x20, 0x00, 0x00, 0x00, 0x1c, 0xff, 0xff, 0xfd, 0x20, 0x00
+ ,0x00, 0x0b, 0xff, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x02, 0xcf, 0xfc, 0x6e, 0xff, 0xd1, 0x00
+ ,0x00, 0x7f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0xff, 0x90, 0x01, 0xbf, 0xfa, 0x00
+ ,0x00, 0xef, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xe5, 0x00, 0x00, 0x0d, 0xff, 0x20
+ ,0x03, 0xff, 0x60, 0x00, 0x00, 0x00, 0x02, 0xcf, 0xfc, 0x20, 0x00, 0x00, 0x05, 0xff, 0x60
+ ,0x04, 0xff, 0x40, 0x00, 0x00, 0x00, 0x5e, 0xff, 0x90, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
+ ,0x02, 0xff, 0x80, 0x00, 0x00, 0x08, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
+ ,0x00, 0xcf, 0xf3, 0x00, 0x01, 0xcf, 0xfd, 0x30, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
+ ,0x00, 0x4f, 0xfe, 0x50, 0x4e, 0xff, 0xa1, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf8, 0x00
+ ,0x00, 0x07, 0xff, 0xfd, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7e, 0xff, 0xb0, 0x00
+ ,0x00, 0x00, 0x5e, 0xff, 0xff, 0xd8, 0x54, 0x33, 0x34, 0x58, 0xbf, 0xff, 0xfa, 0x00, 0x00
+ ,0x00, 0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x50, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x01, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x40, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x46, 0x77, 0x65, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x1f, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x00
+ ,0x00, 0x00, 0x9f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
+ ,0x00, 0x02, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
+ ,0x00, 0x0a, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
+ ,0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
+ ,0x00, 0xbf, 0xfc, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x79, 0xff, 0x00
+ ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
+ ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
+ ,0x00, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x36, 0xff, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xcc, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0xff, 0x00
+ ,0x00, 0x00, 0xbf, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0x00
+ ,0x00, 0x0a, 0xff, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0x00
+ ,0x00, 0x4f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xdb, 0xff, 0x00
+ ,0x00, 0xcf, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xf8, 0x08, 0xff, 0x00
+ ,0x01, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xfe, 0x40, 0x08, 0xff, 0x00
+ ,0x04, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xd2, 0x00, 0x08, 0xff, 0x00
+ ,0x04, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xfd, 0x10, 0x00, 0x08, 0xff, 0x00
+ ,0x03, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xd1, 0x00, 0x00, 0x08, 0xff, 0x00
+ ,0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xfe, 0x20, 0x00, 0x00, 0x08, 0xff, 0x00
+ ,0x00, 0x9f, 0xfa, 0x00, 0x00, 0x00, 0x1a, 0xff, 0xe2, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
+ ,0x00, 0x2e, 0xff, 0xd6, 0x21, 0x38, 0xef, 0xfd, 0x20, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
+ ,0x00, 0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
+ ,0x00, 0x00, 0x3d, 0xff, 0xff, 0xff, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
+ ,0x00, 0x00, 0x00, 0x59, 0xbb, 0x95, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0x30, 0x00
+ ,0x00, 0x04, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xd0, 0x00
+ ,0x00, 0x1e, 0xfe, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xf8, 0x00
+ ,0x00, 0x7f, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xfe, 0x00
+ ,0x00, 0xdf, 0xc0, 0x00, 0x00, 0x00, 0x07, 0x95, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0x30
+ ,0x01, 0xff, 0x70, 0x00, 0x00, 0x00, 0x0c, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
+ ,0x03, 0xff, 0x50, 0x00, 0x00, 0x00, 0x0e, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
+ ,0x03, 0xff, 0x60, 0x00, 0x00, 0x00, 0x2f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
+ ,0x01, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0x30
+ ,0x00, 0xbf, 0xf4, 0x00, 0x00, 0x02, 0xef, 0xff, 0x70, 0x00, 0x00, 0x00, 0x2f, 0xfe, 0x00
+ ,0x00, 0x4f, 0xfe, 0x60, 0x00, 0x5e, 0xfd, 0xbf, 0xf5, 0x00, 0x00, 0x03, 0xef, 0xf7, 0x00
+ ,0x00, 0x09, 0xff, 0xff, 0xdf, 0xff, 0xf3, 0x2f, 0xff, 0xb6, 0x56, 0xbf, 0xff, 0xc0, 0x00
+ ,0x00, 0x00, 0x8f, 0xff, 0xff, 0xfe, 0x40, 0x04, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x00
+ ,0x00, 0x00, 0x02, 0x8c, 0xdb, 0x71, 0x00, 0x00, 0x2b, 0xff, 0xff, 0xfe, 0x80, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x66, 0x30, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x04, 0xef, 0xc0, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xaf, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0xff, 0xd4, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xef, 0xf8, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x02, 0xbf, 0xfc, 0x30, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x70, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x2c, 0xff, 0xb2, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x07, 0xff, 0xe6, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x03, 0xcf, 0xfa, 0x10, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x8f, 0xff, 0xea, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xef, 0xea, 0xaa, 0xaa, 0xaa, 0x00
+ ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
+ ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
+ ,0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0xdf, 0xd4, 0x44, 0x44, 0x44, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x70, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x12, 0x34, 0x56, 0x72, 0x00, 0x00, 0x00, 0x03, 0xf8, 0x00, 0x00
+ ,0x01, 0xab, 0xcd, 0xef, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x1e, 0xff, 0x80, 0x00
+ ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x00, 0x00, 0x00, 0x28, 0xff, 0xf3, 0x00
+ ,0x02, 0xff, 0xda, 0xa9, 0x87, 0x67, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfb, 0x00
+ ,0x02, 0xff, 0x70, 0x00, 0x00, 0x06, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x10
+ ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0b, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0x50
+ ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0d, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
+ ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0e, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
+ ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0e, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
+ ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0b, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x30
+ ,0x02, 0xff, 0x70, 0x00, 0x00, 0x06, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xfd, 0x00
+ ,0x02, 0xff, 0x70, 0x00, 0x00, 0x00, 0xdf, 0xfd, 0x40, 0x00, 0x00, 0x29, 0xff, 0xf5, 0x00
+ ,0x02, 0xff, 0x70, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0xba, 0xbd, 0xff, 0xff, 0x90, 0x00
+ ,0x02, 0xff, 0x70, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00
+ ,0x01, 0x55, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xdf, 0xff, 0xff, 0xea, 0x30, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x42, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x33, 0x33, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x49, 0xce, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x71, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00
+ ,0x00, 0x00, 0x3d, 0xff, 0xff, 0xfc, 0xba, 0xff, 0xfb, 0xab, 0xef, 0xff, 0xfd, 0x20, 0x00
+ ,0x00, 0x04, 0xff, 0xfe, 0x83, 0x00, 0x1c, 0xfd, 0x20, 0x00, 0x02, 0x8e, 0xff, 0xd1, 0x00
+ ,0x00, 0x1e, 0xff, 0x90, 0x00, 0x00, 0xbf, 0xe1, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf9, 0x00
+ ,0x00, 0xaf, 0xf7, 0x00, 0x00, 0x05, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
+ ,0x01, 0xff, 0xb0, 0x00, 0x00, 0x0a, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
+ ,0x04, 0xff, 0x50, 0x00, 0x00, 0x0d, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
+ ,0x06, 0xff, 0x20, 0x00, 0x00, 0x0d, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x60
+ ,0x06, 0xff, 0x30, 0x00, 0x00, 0x0a, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x30
+ ,0x03, 0xff, 0x70, 0x00, 0x00, 0x05, 0xff, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xfd, 0x00
+ ,0x00, 0xef, 0xe1, 0x00, 0x00, 0x00, 0xcf, 0xfd, 0x50, 0x00, 0x00, 0x28, 0xff, 0xf4, 0x00
+ ,0x00, 0x7f, 0xfd, 0x00, 0x00, 0x00, 0x2d, 0xff, 0xff, 0xdb, 0xcd, 0xff, 0xff, 0x70, 0x00
+ ,0x00, 0x0c, 0xd2, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xe5, 0x00, 0x00
+ ,0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x03, 0x9d, 0xff, 0xfe, 0xb6, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x02, 0xcc, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00
+ ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xef, 0x00
+ ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x9e, 0xff, 0xff, 0x00
+ ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xdf, 0xff, 0xff, 0xfe, 0x00
+ ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7d, 0xff, 0xff, 0xff, 0xd9, 0x40, 0x00
+ ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x05, 0xbf, 0xff, 0xff, 0xfd, 0x83, 0x00, 0x00, 0x00
+ ,0x02, 0xff, 0x90, 0x00, 0x00, 0x39, 0xef, 0xff, 0xff, 0xe8, 0x30, 0x00, 0x00, 0x00, 0x00
+ ,0x02, 0xff, 0x90, 0x00, 0x6c, 0xff, 0xff, 0xfe, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x02, 0xff, 0x92, 0x8e, 0xff, 0xff, 0xfb, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x02, 0xff, 0xef, 0xff, 0xff, 0xd7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x02, 0xff, 0xff, 0xff, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x02, 0xff, 0xfd, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x02, 0xba, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x67, 0x62, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x24, 0x42, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xff, 0xff, 0xb2, 0x00, 0x00
+ ,0x00, 0x00, 0x3c, 0xff, 0xff, 0xc4, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xfe, 0x30, 0x00
+ ,0x00, 0x05, 0xff, 0xff, 0xff, 0xff, 0x70, 0x08, 0xff, 0xfb, 0x77, 0xaf, 0xff, 0xe1, 0x00
+ ,0x00, 0x3f, 0xff, 0xa7, 0x8d, 0xff, 0xf6, 0x4f, 0xfc, 0x20, 0x00, 0x02, 0xdf, 0xf9, 0x00
+ ,0x00, 0xbf, 0xe3, 0x00, 0x00, 0x8f, 0xfe, 0xdf, 0xb0, 0x00, 0x00, 0x00, 0x2e, 0xff, 0x00
+ ,0x01, 0xff, 0x60, 0x00, 0x00, 0x08, 0xff, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x08, 0xff, 0x40
+ ,0x05, 0xff, 0x10, 0x00, 0x00, 0x00, 0xcf, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
+ ,0x06, 0xff, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x60
+ ,0x06, 0xff, 0x20, 0x00, 0x00, 0x00, 0x5f, 0xff, 0x10, 0x00, 0x00, 0x00, 0x05, 0xff, 0x50
+ ,0x03, 0xff, 0x80, 0x00, 0x00, 0x03, 0xef, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x20
+ ,0x00, 0xdf, 0xf6, 0x00, 0x00, 0x5e, 0xfc, 0xcf, 0xf8, 0x00, 0x00, 0x00, 0x4f, 0xfd, 0x00
+ ,0x00, 0x4f, 0xff, 0xc8, 0x9d, 0xff, 0xf3, 0x3f, 0xff, 0xa2, 0x00, 0x06, 0xff, 0xf5, 0x00
+ ,0x00, 0x07, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x06, 0xff, 0xff, 0xdc, 0xef, 0xff, 0xa0, 0x00
+ ,0x00, 0x00, 0x4c, 0xff, 0xff, 0x91, 0x00, 0x00, 0x5e, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x24, 0x30, 0x00, 0x00, 0x00, 0x01, 0x8e, 0xff, 0xfb, 0x40, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x02, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x01, 0x7d, 0xff, 0xff, 0xea, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00
+ ,0x00, 0x00, 0x6e, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xe2, 0x00
+ ,0x00, 0x08, 0xff, 0xff, 0xb9, 0x9b, 0xef, 0xff, 0xc0, 0x00, 0x00, 0x00, 0xbf, 0xfa, 0x00
+ ,0x00, 0x4f, 0xff, 0x70, 0x00, 0x00, 0x05, 0xef, 0xf8, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x10
+ ,0x00, 0xdf, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xff, 0x10, 0x00, 0x00, 0x06, 0xff, 0x50
+ ,0x03, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50, 0x00, 0x00, 0x04, 0xff, 0x60
+ ,0x05, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x70, 0x00, 0x00, 0x04, 0xff, 0x60
+ ,0x06, 0xff, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x70, 0x00, 0x00, 0x07, 0xff, 0x40
+ ,0x04, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x40, 0x00, 0x00, 0x0d, 0xfe, 0x00
+ ,0x00, 0xef, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xfd, 0x00, 0x00, 0x00, 0x9f, 0xf8, 0x00
+ ,0x00, 0x7f, 0xfd, 0x30, 0x00, 0x00, 0x00, 0x7f, 0xf4, 0x00, 0x00, 0x1a, 0xff, 0xd1, 0x00
+ ,0x00, 0x0b, 0xff, 0xfb, 0x52, 0x00, 0x08, 0xff, 0x60, 0x13, 0x6a, 0xff, 0xfe, 0x20, 0x00
+ ,0x00, 0x00, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xc2, 0x00, 0x00
+ ,0x00, 0x00, 0x04, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x02, 0x69, 0xcd, 0xef, 0xff, 0xed, 0xb9, 0x62, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+#endif
// **********************
// **********************
@@ -1234,59 +2075,57 @@
// ** for the asm code **
// **********************
// **********************
-#pragma code main_calc_hauptroutine = 0x10000
-void main_calc_hauptroutine(void) // length 0x0A
+#pragma code main_calc_hauptroutine = 0x10000
+void main_calc_hauptroutine(void)
{
calc_hauptroutine();
int_O_desaturation_time = 65535;
} // divemode
-
-#pragma code main_without_deco = 0x1000C // length 0x06
+#pragma code main_without_deco = 0x10020
void main_calc_without_deco(void)
{
calc_without_deco();
calc_desaturation_time();
}
-
-#pragma code main_clear_CNS_fraction = 0x10016
+#pragma code main_clear_CNS_fraction = 0x10030
void main_clear_CNS_fraction(void)
{
clear_CNS_fraction();
}
-#pragma code main_calc_CNS_decrease_15min = 0x1001C
-void main_calc_CNS_decrease_15min(void) // length 0x06
+#pragma code main_calc_CNS_decrease_15min = 0x10034
+void main_calc_CNS_decrease_15min(void)
{
calc_CNS_decrease_15min();
}
-#pragma code main_calc_percentage = 0x10022
-void main_calc_percentage(void)
+#pragma code main_calc_percentage = 0x10038
+void main_calc_percentage (void)
{
calc_percentage();
}
-#pragma code main_clear_tissue = 0x10028
+#pragma code main_clear_tissue = 0x10040
void main_clear_tissue(void)
{
clear_tissue();
char_I_depth_last_deco = 0; // for compatibility with v.101pre_no_last_deco
}
-#pragma code main_calc_CNS_fraction = 0x10032
+#pragma code main_calc_CNS_fraction = 0x10050
void main_calc_CNS_fraction(void)
{
calc_CNS_fraction();
}
-#pragma code main_calc_desaturation_time = 0x10038
+#pragma code main_calc_desaturation_time = 0x10060
void main_calc_desaturation_time(void)
{
calc_desaturation_time();
}
-#pragma code main_calc_wo_deco_step_1_min = 0x1003E
+#pragma code main_calc_wo_deco_step_1_min = 0x10080
void main_calc_wo_deco_step_1_min(void)
{
calc_wo_deco_step_1_min();
@@ -1294,42 +2133,45 @@
calc_desaturation_time();
} // surface mode
-#pragma code main_wordprocessor = 0x1004E
-void main_wordprocessor(void)
+#pragma code main_debug = 0x100A0
+void main_debug(void)
+{
+//debug();
+}
+
+#pragma code main_DD2_write_incon42 = 0x100B0
+void main_DD2_write_incon42(void)
{
- wordprocessor();
+ DD2_write_incon42();
}
-#pragma code main_gradient_array = 0x10054
+#pragma code main_DD2_write_incon24 = 0x100B4
+void main_DD2_write_incon24(void)
+{
+ DD2_write_incon24();
+}
+
+#pragma code main_gradient_array = 0x100C0
void main_gradient_array(void)
{
- calc_gradient_array_only();
+calc_gradient_array_only();
}
-
-#pragma code main_push_tissues = 0x1005A
+#pragma code main_push_tissues = 0x100C4
void main_push_tissues_to_vault(void)
{
push_tissues_to_vault();
}
-
-#pragma code main_pull_tissues = 0x10060
+#pragma code main_pull_tissues = 0x100C8
void main_pull_tissues_from_vault(void)
{
pull_tissues_from_vault();
}
-#pragma code main_hash = 0x10066
+#pragma code main_hash = 0x100E0
void main_hash(void)
{
hash();
}
-/*
-#pragma code main_debug = 0x1004E
-void main_debug(void)
-{
-// debug();
-}
-*/
// ***********************
// ***********************
@@ -1338,7 +2180,7 @@
// ***********************
#pragma romdata tables = 0x10200
-#include // new table for deco_main_v.101 (var_a modified)
+#include "p2_tables.romdata" // new table for deco_main_v.101 (var_a modified)
#pragma romdata tables2 = 0x10600
rom const rom unsigned int md_pi[] =
@@ -1562,14 +2404,75 @@
He_ratio = (float)char_I_He_ratio / 100.0;;
deco_N2_ratio = (float)char_I_deco_N2_ratio / 100.0;
deco_He_ratio = (float)char_I_deco_He_ratio / 100.0;
+ deco_N2_ratio2 = (float)char_I_deco_N2_ratio2 / 100.0;
+ deco_He_ratio2 = (float)char_I_deco_He_ratio2 / 100.0;
+ deco_N2_ratio3 = (float)char_I_deco_N2_ratio3 / 100.0;
+ deco_He_ratio3 = (float)char_I_deco_He_ratio3 / 100.0;
+ deco_N2_ratio4 = (float)char_I_deco_N2_ratio4 / 100.0;
+ deco_He_ratio4 = (float)char_I_deco_He_ratio4 / 100.0;
+ deco_N2_ratio5 = (float)char_I_deco_N2_ratio5 / 100.0;
+ deco_He_ratio5 = (float)char_I_deco_He_ratio5 / 100.0;
float_deco_distance = (float)char_I_deco_distance / 100.0;
+
+// ____________________________________________________
+//
+// _____________ G A S _ C H A N G E S ________________
+// ____________________________________________________
+
+int_temp = (int_I_pres_respiration - int_I_pres_surface) + MBAR_REACH_GASCHANGE_AUTO_CHANGE_OFF;
+
+ deco_gas_change = 0;
+ deco_gas_change2 = 0;
+ deco_gas_change3 = 0;
+ deco_gas_change4 = 0;
+ deco_gas_change5 = 0;
+
if(char_I_deco_gas_change)
{
- deco_gas_change = (float)char_I_deco_gas_change / 9.995 + pres_surface;
- deco_gas_change = deco_gas_change + float_deco_distance;
+ int_temp2 = ((int)char_I_deco_gas_change) * 100;
+ if(int_temp > int_temp2)
+ {
+ deco_gas_change = (float)char_I_deco_gas_change / 9.995 + pres_surface;
+ deco_gas_change += float_deco_distance;
+ }
+ }
+ if(char_I_deco_gas_change2)
+ {
+ int_temp2 = ((int)char_I_deco_gas_change2) * 100;
+ if(int_temp > int_temp2)
+ {
+ deco_gas_change2 = (float)char_I_deco_gas_change2 / 9.995 + pres_surface;
+ deco_gas_change2 += float_deco_distance;
+ }
}
- else
- deco_gas_change = 0;
+ if(char_I_deco_gas_change3)
+ {
+ int_temp2 = ((int)char_I_deco_gas_change3) * 100;
+ if(int_temp > int_temp2)
+ {
+ deco_gas_change3 = (float)char_I_deco_gas_change3 / 9.995 + pres_surface;
+ deco_gas_change3 += float_deco_distance;
+ }
+ }
+ if(char_I_deco_gas_change4)
+ {
+ int_temp2 = ((int)char_I_deco_gas_change4) * 100;
+ if(int_temp > int_temp2)
+ {
+ deco_gas_change4 = (float)char_I_deco_gas_change4 / 9.995 + pres_surface;
+ deco_gas_change4 += float_deco_distance;
+ }
+ }
+ if(char_I_deco_gas_change5)
+ {
+ int_temp2 = ((int)char_I_deco_gas_change5) * 100;
+ if(int_temp > int_temp2)
+ {
+ deco_gas_change5 = (float)char_I_deco_gas_change5 / 9.995 + pres_surface;
+ deco_gas_change5 += float_deco_distance;
+ }
+ }
+
const_ppO2 = (float)char_I_const_ppO2 / 100.0;
deco_ppO2_change = (float)char_I_deco_ppO2_change / 99.95 + pres_surface;
deco_ppO2_change = deco_ppO2_change + float_deco_distance;
@@ -1613,7 +2516,12 @@
char_O_diluent = 0;
}
temp_surface = pres_surface;
- calc_tissue();
+
+ if(!char_I_step_is_1min)
+ calc_tissue();
+ else
+ calc_tissue_step_1_min();
+
int_O_gtissue_limit = (int)(pres_tissue_limit[char_O_gtissue_no] * 1000);
int_O_gtissue_press = (int)((pres_tissue[char_O_gtissue_no] + pres_tissue[char_O_gtissue_no+16]) * 1000);
if (char_I_deco_model == 1)
@@ -1638,24 +2546,41 @@
calc_nextdecodepth_GF();
if (temp_depth_limit > 0)
{
- if (char_I_const_ppO2 == 0) // new in v.101
+ calc_N2_ratio = N2_ratio;
+ calc_He_ratio = He_ratio;
+
+ if (char_I_const_ppO2 == 0) // new in v.101
{
deco_diluent = temp_deco; // new in v.101
- if (temp_deco > deco_gas_change)
- {
- calc_N2_ratio = N2_ratio;
- calc_He_ratio = He_ratio;
- }
- else
- {
- calc_N2_ratio = deco_N2_ratio;
- calc_He_ratio = deco_He_ratio;
- }
+
+ if(deco_gas_change && (temp_deco < deco_gas_change))
+ {
+ calc_N2_ratio = deco_N2_ratio;
+ calc_He_ratio = deco_He_ratio;
+ }
+ if(deco_gas_change2 && (temp_deco < deco_gas_change2))
+ {
+ calc_N2_ratio = deco_N2_ratio2;
+ calc_He_ratio = deco_He_ratio2;
+ }
+ if(deco_gas_change3 && (temp_deco < deco_gas_change3))
+ {
+ calc_N2_ratio = deco_N2_ratio3;
+ calc_He_ratio = deco_He_ratio3;
+ }
+ if(deco_gas_change4 && (temp_deco < deco_gas_change4))
+ {
+ calc_N2_ratio = deco_N2_ratio4;
+ calc_He_ratio = deco_He_ratio4;
+ }
+ if(deco_gas_change5 && (temp_deco < deco_gas_change5))
+ {
+ calc_N2_ratio = deco_N2_ratio5;
+ calc_He_ratio = deco_He_ratio5;
+ }
}
else // new in v.101
{
- calc_N2_ratio = N2_ratio;
- calc_He_ratio = He_ratio;
if (temp_deco > deco_ppO2_change)
{
deco_diluent = ((temp_deco - const_ppO2)/(N2_ratio + He_ratio)); // new in v.101
@@ -1719,31 +2644,51 @@
{
lock_GF_depth_list = 0; // new in v.102, distance to first stop > 10 mtr.
output[6] = 0;
- if (char_I_const_ppO2 == 0) // new in v.101 // calculate at half of the ascent
+ temp_deco += 0.5;
+
+ calc_N2_ratio = N2_ratio;
+ calc_He_ratio = He_ratio;
+
+ if (char_I_const_ppO2 == 0) // new in v.101 // calculate at half of the ascent
{
- deco_diluent = temp_deco + 0.5; // new in v.101
- if (temp_deco + 0.5 > deco_gas_change)
- {
- calc_N2_ratio = N2_ratio;
- calc_He_ratio = He_ratio;
- }
- else
- {
+ deco_diluent = temp_deco; // new in v.101
+
+ if(deco_gas_change && (temp_deco < deco_gas_change))
+ {
calc_N2_ratio = deco_N2_ratio;
calc_He_ratio = deco_He_ratio;
}
+ if(deco_gas_change2 && (temp_deco < deco_gas_change2))
+ {
+ calc_N2_ratio = deco_N2_ratio2;
+ calc_He_ratio = deco_He_ratio2;
+ }
+ if(deco_gas_change3 && (temp_deco < deco_gas_change3))
+ {
+ calc_N2_ratio = deco_N2_ratio3;
+ calc_He_ratio = deco_He_ratio3;
+ }
+ if(deco_gas_change4 && (temp_deco < deco_gas_change4))
+ {
+ calc_N2_ratio = deco_N2_ratio4;
+ calc_He_ratio = deco_He_ratio4;
+ }
+ if(deco_gas_change5 && (temp_deco < deco_gas_change5))
+ {
+ calc_N2_ratio = deco_N2_ratio5;
+ calc_He_ratio = deco_He_ratio5;
+ }
}
else // new in v.101
{
- calc_N2_ratio = N2_ratio;
- calc_He_ratio = He_ratio;
- if (temp_deco + 0.5 > deco_ppO2_change)
- deco_diluent = ((temp_deco + 0.5 - const_ppO2)/(N2_ratio + He_ratio)); // new in v.101 // calculate at half of the ascent
+ if (temp_deco > deco_ppO2_change)
+ deco_diluent = ((temp_deco - const_ppO2)/(N2_ratio + He_ratio)); // new in v.101 // calculate at half of the ascent
else
- deco_diluent = ((temp_deco + 0.5 - deco_ppO2)/(N2_ratio + He_ratio)); // new in v.101 // calculate at half of the ascent
- if (deco_diluent > (temp_deco +0.5)) // new in v.101
- deco_diluent = temp_deco + 0.5; // new in v.101 // calculate at half of the ascent
+ deco_diluent = ((temp_deco - deco_ppO2)/(N2_ratio + He_ratio)); // new in v.101 // calculate at half of the ascent
+ if (deco_diluent > (temp_deco)) // new in v.101
+ deco_diluent = temp_deco; // new in v.101 // calculate at half of the ascent
}
+ temp_deco -= 0.5;
if (deco_diluent > 0.0627) // new in v.101
{
temp_atem = calc_N2_ratio * (deco_diluent - 0.0627); // changed in v.101
@@ -2707,27 +3652,29 @@
char_O_gtissue_no = ci;
}//if
-// gradient factor array for graphical display
-// display range is 0 to 250! in steps of 5 for 1 pixel
-// the display is divided in 6 blocks
-// -> double the gradient 100% = 200
-// tissue > respiration (entsaettigungsvorgang)
-// gradient ist wieviel prozent an limit von tissue aus
-// dh. 0% = respiration == tissue
-// dh. 100% = respiration == limit
-temp1 = temp_tissue - pres_respiration;
-temp2 = temp_tissue - pres_tissue_limit[ci]; // changed in v.102
-temp2 = temp1/temp2;
-temp2 = temp2 * 200; // because of output in (Double-)percentage
-if (temp2 < 0)
- temp2 = 0;
-if (temp2 > 255)
- temp2 = 255;
-if (temp1 < 0)
- char_O_array_gradient_weighted[ci] = 0;
-else
- char_O_array_gradient_weighted[ci] = (char)temp2;
-
+ if(!char_I_step_is_1min)
+ {
+ // gradient factor array for graphical display
+ // display range is 0 to 250! in steps of 5 for 1 pixel
+ // the display is divided in 6 blocks
+ // -> double the gradient 100% = 200
+ // tissue > respiration (entsaettigungsvorgang)
+ // gradient ist wieviel prozent an limit von tissue aus
+ // dh. 0% = respiration == tissue
+ // dh. 100% = respiration == limit
+ temp1 = temp_tissue - pres_respiration;
+ temp2 = temp_tissue - pres_tissue_limit[ci]; // changed in v.102
+ temp2 = temp1/temp2;
+ temp2 = temp2 * 200; // because of output in (Double-)percentage
+ if (temp2 < 0)
+ temp2 = 0;
+ if (temp2 > 255)
+ temp2 = 255;
+ if (temp1 < 0)
+ char_O_array_gradient_weighted[ci] = 0;
+ else
+ char_O_array_gradient_weighted[ci] = (char)temp2;
+ }
} // for
} // calc wo deco 1min
@@ -2763,7 +3710,7 @@
movwf TBLPTRH,0
movlw 0x00
movwf TBLPTRL,0
-_endasm
+_endasm;
for (md_i=0;md_i<127;md_i++)
{
_asm
@@ -2775,7 +3722,7 @@
_asm
TBLRDPOSTINC
movff TABLAT,md_temp
-_endasm
+_endasm;
md_pi_subst[127] = md_temp;
for (md_i=0;md_i<127;md_i++)
{
@@ -2943,269 +3890,14 @@
}
void push_tissues_to_vault(void)
{
+ cns_vault = CNS_fraction;
for (ci=0;ci<32;ci++)
pres_tissue_vault[ci] = pres_tissue[ci];
}
void pull_tissues_from_vault(void)
{
+ CNS_fraction = cns_vault;
for (ci=0;ci<32;ci++)
pres_tissue[ci] = pres_tissue_vault[ci];
}
-void wp_write_command(void)
-{
-_asm
- bcf oled_rs
- nop
- movff wp_command,PORTD
- bcf oled_rw
- nop
- bsf oled_rw
-_endasm
-}
-
-void wp_write_data(void)
-{
- wp_data_8bit_one = wp_data_16bit >> 8;
- wp_data_8bit_two = wp_data_16bit;
-_asm
- bsf oled_rs
- nop
- movff wp_data_8bit_one,PORTD
- bcf oled_rw
- nop
- bsf oled_rw
- nop
- movff wp_data_8bit_two,PORTD
- nop
- bcf oled_rw
- nop
- bsf oled_rw
-_endasm
-}
-
-void wp_write_black(void)
-{
-_asm
- movff wp_black,PORTD
- bcf oled_rw
- nop
- bsf oled_rw
- nop
- bcf oled_rw
- nop
- bsf oled_rw
-_endasm
-}
-
-void wp_write_color(void)
-{
-_asm
- movff wp_color1,PORTD
- bcf oled_rw
- nop
- bsf oled_rw
- nop
- movff wp_color2,PORTD
- bcf oled_rw
- nop
- bsf oled_rw
-_endasm
-}
-
-void wp_set_window(void)
-{
- // x axis start ( 0 - 319)
- wp_command = 0x35;
- wp_write_command();
- wp_data_16bit = ((U16)wp_leftx2) << 1;
- wp_write_data();
- // x axis end ( 0 - 319)
- wp_command = 0x36;
- wp_write_command();
- wp_data_16bit = 319;
- wp_write_data();
- // y axis start + end ( 0 - 239 )
- wp_command = 0x37;
- wp_write_command();
- // the bottom part
- wp_data_16bit = wp_top;
- if(wp_font == 2)
- wp_data_16bit += WP_FONT_LARGE_HEIGHT;
- else if(wp_font == 1)
- wp_data_16bit += WP_FONT_MEDIUM_HEIGHT;
- else
- wp_data_16bit += WP_FONT_SMALL_HEIGHT;
- wp_data_16bit--;
- if(wp_data_16bit > 239)
- wp_data_16bit = 239;
- // the top part
- wp_data_16bit |= ((U16)wp_top) << 8;
- // all together in one 16bit transfer
- wp_write_data();
-
- // start
- wp_command = 0x20;
- wp_write_command();
- wp_data_16bit = wp_top;
- wp_write_data();
-
- wp_command = 0x21;
- wp_write_command();
- wp_data_16bit = ((U16)wp_leftx2) << 1;
- wp_write_data();
-}
-
-void wp_set_char_font_small(void)
-{
- if(wp_char == ' ')
- wp_char = '¶';
-
- if (wp_char > 0x7E) // skip space between ~ and ¡
- wp_char -= 34;
-
- if((wp_char < '!') || (wp_char > 0xA1)) // font has 34 chars after ~ // ¾ + 4 chars limit to end of battery at the moment
- wp_char = 0x82; // ¤
-
- wp_start = wp_small_table[wp_char - '!'];
- wp_end = wp_small_table[1 + wp_char - '!'];
-}
-
-void wp_set_char_font_medium(void)
-{
- // space is 3E
- if (wp_char == 0x27) // 0x27 == '
- wp_char = 0x3B;
- if (wp_char == '"')
- wp_char = 0x3C;
- if (wp_char == 'm')
- wp_char = 0x3D;
- if (wp_char == ' ')
- wp_char = 0x3E;
-
- if((wp_char < '.') || (wp_char > 0x3E))
- wp_char = 0x3E;
- wp_start = wp_medium_table[wp_char - '.'];
- wp_end = wp_medium_table[1 + wp_char - '.'];
-}
-
-void wp_set_char_font_large(void)
-{
- // space is / = 0x2F
- if (wp_char == ' ')
- wp_char = 0x2F;
-
- if((wp_char < '.') || (wp_char > '9'))
- wp_char = 0x2F;
- wp_start = wp_large_table[wp_char - '.'];
- wp_end = wp_large_table[1 + wp_char - '.'];
-}
-
-void wordprocessor(void)
-{
- wp_set_window();
-
- // access to GRAM
- wp_command = 0x22;
- wp_write_command();
- _asm
- bsf oled_rs
- nop
- _endasm
-
- wp_txtptr = 0;
- wp_char = wp_stringstore[wp_txtptr];
-
- while(wp_char)
- {
- if(wp_font == 2)
- wp_set_char_font_large();
- else if(wp_font == 1)
- wp_set_char_font_medium();
- else
- wp_set_char_font_small();
-
- wp_black = 0;
-
- for(wp_i = wp_start; wp_i> 8;
- if((wp_temp_U8 & 128))
- {
- wp_temp_U8 -= 127;
- if(wp_invert)
- {
- while(wp_temp_U8 > 0)
- {
- wp_temp_U8--;
- wp_write_color();
- }
- }
- else
- {
- _asm
- movff wp_black,PORTD
- _endasm
- while(wp_temp_U8 > 0)
- {
- wp_temp_U8--;
- _asm
- bcf oled_rw
- nop
- bsf oled_rw
- nop
- bcf oled_rw
- nop
- bsf oled_rw
- _endasm
- }
- }
- }
- else
- {
- wp_temp_U8++;
- if(wp_invert)
- {
- _asm
- movff wp_black,PORTD
- _endasm
- while(wp_temp_U8 > 0)
- {
- wp_temp_U8--;
- _asm
- bcf oled_rw
- nop
- bsf oled_rw
- nop
- bcf oled_rw
- nop
- bsf oled_rw
- _endasm
- }
- }
- else
- {
- while(wp_temp_U8 > 0)
- {
- wp_temp_U8--;
- wp_write_color();
- }
- }
- }
- }
- wp_txtptr++;
- wp_char = wp_stringstore[wp_txtptr];
- }
- wp_command = 0x00;
- wp_write_command();
-}
-