comparison code_part1/OSTC_code_c_part2/p2_deco_main.c @ 60:3691ea95a34d

New deco code 1.10d
author heinrichsweikamp
date Thu, 05 Aug 2010 09:49:32 +0200
parents 96a35aeda5f2
children
comparison
equal deleted inserted replaced
59:2ff1b30b1bdf 60:3691ea95a34d
1 /* 1 /*
2 * p2_deco_main.c 2 * p2_deco_main_c_v108.c
3 * 3 *
4 * Created on: 31.08.2009 4 * Created on: 12.05.2009
5 * Author: christian.w @ heinrichsweikamp.com 5 * Author: chsw
6 * 6 *
7 * Changes: debug / plausibiliy output
7 */ 8 */
8 9
9 //#include <p2_deco_header_c_v102d.h> 10 //#include <p2_deco_header_c_v102d.h>
10 11
12
11 // OSTC - diving computer code 13 // OSTC - diving computer code
12 // Copyright (C) 2009 HeinrichsWeikamp GbR 14 // Copyright (C) 2008 HeinrichsWeikamp GbR
13 15
14 // This program is free software: you can redistribute it and/or modify 16 // This program is free software: you can redistribute it and/or modify
15 // it under the terms of the GNU General Public License as published by 17 // it under the terms of the GNU General Public License as published by
16 // the Free Software Foundation, either version 3 of the License, or 18 // the Free Software Foundation, either version 3 of the License, or
17 // (at your option) any later version. 19 // (at your option) any later version.
57 // 03/13/26 v101: optimization of tissue calc routines 59 // 03/13/26 v101: optimization of tissue calc routines
58 // 07/xx/08 v102a: debug of bottom time routine 60 // 07/xx/08 v102a: debug of bottom time routine
59 // 09/xx/08 v102d: Gradient Factor Model implemenation 61 // 09/xx/08 v102d: Gradient Factor Model implemenation
60 // 10/10/08 v104: renamed to build v103 for v118 stable 62 // 10/10/08 v104: renamed to build v103 for v118 stable
61 // 10/14/08 v104: integration of temp_depth_last_deco for Gradient Model 63 // 10/14/08 v104: integration of temp_depth_last_deco for Gradient Model
62 // 03/31/090 v107: integration of FONT Incon24 64 // 03/31/09 v107: integration of FONT Incon24
65 // 05/23/10 v109: 5 gas changes & 1 min timer
66 // 07/13/10 v110: cns vault added
63 67
64 // 68 //
65 // literature: 69 // literature:
66 // B"uhlmann, Albert: Tauchmedizin; 4. Auflage; 70 // B"uhlmann, Albert: Tauchmedizin; 4. Auflage;
67 // Schr"oder, Kai & Reith, Steffen; 2000; S"attigungsvorg"ange beim Tauchen, das Modell ZH-L16, Funktionsweise von Tauchcomputern; http://www.achim-und-kai.de/kai/tausim/saett_faq 71 // Schr"oder, Kai & Reith, Steffen; 2000; S"attigungsvorg"ange beim Tauchen, das Modell ZH-L16, Funktionsweise von Tauchcomputern; http://www.achim-und-kai.de/kai/tausim/saett_faq
98 102
99 // **************************** 103 // ****************************
100 // ** D E F I N E S ** 104 // ** D E F I N E S **
101 // ** missing in p18f4685.h ** 105 // ** missing in p18f4685.h **
102 // **************************** 106 // ****************************
103 /*
104 #define INT0IF 1 107 #define INT0IF 1
105 #define INT1IF 0 108 #define INT1IF 0
106 #define TMR1IF 0 109 #define TMR1IF 0
107 */ 110
111 #define oled_clk PORTD, 0,0
112 #define oled_data PORTD, 1,0
113 #define oled_en PORTE, 0,0
114 #define oled_rs PORTE, 1,0
115 #define flag5 0x29 // in Bank1
116 //#define no_sensor_int flag5,7,1 // ; block any further access to pressure sensor
108 117
109 # define DBG_c_gas 0b0000000000000001 118 # define DBG_c_gas 0b0000000000000001
110 # define DBG_c_ppO2 0b0000000000000010 119 # define DBG_c_ppO2 0b0000000000000010
111 # define DBG_RUN 0b0000000000000100 120 # define DBG_RUN 0b0000000000000100
112 # define DBG_RESTART 0b0000000000001000 121 # define DBG_RESTART 0b0000000000001000
163 # define DBS2_ 0b000000000000000 172 # define DBS2_ 0b000000000000000
164 # define DBS2_ 0b000000000000000 173 # define DBS2_ 0b000000000000000
165 174
166 // NDL_at_20mtr 175 // NDL_at_20mtr
167 176
168 177 # define MBAR_REACH_GASCHANGE_AUTO_CHANGE_OFF 150
169 178
170 // *********************** 179 // ***********************
171 // ** V A R I A B L E S ** 180 // ** V A R I A B L E S **
172 // *********************** 181 // ***********************
173 // prefixes etc: 182 // prefixes etc:
181 // e1min = same for 1 minute step 190 // e1min = same for 1 minute step
182 // sim = used in simulating the ascent to the surface 191 // sim = used in simulating the ascent to the surface
183 // nullzeit = remaining ground/bottom time for "no deco" 192 // nullzeit = remaining ground/bottom time for "no deco"
184 // hauptroutine = main 193 // hauptroutine = main
185 194
186 #define WP_FONT_SMALL_HEIGHT 24
187 #define WP_FONT_MEDIUM_HEIGHT 32
188 #define WP_FONT_LARGE_HEIGHT 58
189
190 #define oled_rw PORTA,2,0
191 #define oled_rs PORTE,0,0
192
193 #define U8 unsigned char
194 #define U16 unsigned int
195
196 // IO assembler
197 #pragma udata bank0a=0x060 195 #pragma udata bank0a=0x060
198 volatile unsigned char wp_stringstore[26]; 196 volatile unsigned char dd2_stringstore[17];
199 volatile U8 wp_color1; 197 #pragma udata bank0b=0x071
200 volatile U8 wp_color2; 198 volatile unsigned char keep_free_bank0[21];
201 volatile U8 wp_top; 199
202 volatile U8 wp_leftx2; 200 #pragma udata bank0c=0x086
203 volatile U8 wp_font; 201 volatile unsigned char dd2_left; // 1 - 64
204 volatile U8 wp_invert; 202 volatile unsigned char dd2_top; // 1 - 64
205 volatile U8 wp_temp_U8; 203 volatile unsigned char dd2_heightmax; // 1 - 37
206 // internal C 204 volatile unsigned char dd2_oled_brightness_offset; // 0 - 15 (15 is pitch black always)
207 #pragma udata bank0b=0x081 205 volatile unsigned char dd2_fontwidth; // 8, 12, 21 for Incon16, Incon24, Incon42
208 volatile U8 wp_txtptr; 206 volatile unsigned char dd2_fontheight; // 14, 21, 37 for "
209 volatile unsigned char wp_char; 207 volatile unsigned long dd2_pointer; // for font lut
210 volatile U8 wp_command; 208 volatile unsigned char dd2_i;
211 volatile U16 wp_data_16bit; 209 volatile unsigned char dd2_j;
212 volatile U8 wp_data_8bit_one; 210 volatile unsigned char dd2_k;
213 volatile U8 wp_data_8bit_two; 211 volatile unsigned char dd2_char;
214 volatile U16 wp_start; 212 volatile unsigned char dd2_lowbyte;
215 volatile U16 wp_end; 213 volatile unsigned char dd2_temp;
216 volatile U16 wp_i; 214 volatile unsigned char dd2_data;
217 volatile U8 wp_black; 215 volatile unsigned long dd2_base; // for font lut
218 // some spare 216 volatile unsigned char dd2_start; // for font lut
219 volatile U8 wp_debug_U8; 217 volatile unsigned char dd2_end; // for font lut
220 218
221 // asm only 219
222 #pragma udata bank0c=0x0D0 220 #pragma udata bank1=0x100
223 #define LENGTH_kf_bank0 48 221 const unsigned char keep_free_bank1[256]; // used by the assembler code
224 volatile unsigned char keep_free_bank0[LENGTH_kf_bank0];
225
226
227 #pragma udata bank1=0x100
228 #define LENGTH_kf_bank1 256
229 volatile unsigned char keep_free_bank1[LENGTH_kf_bank1]; // used by the assembler code
230 222
231 #pragma udata bank2a=0x200 223 #pragma udata bank2a=0x200
232 // output: 224 // output:
233 static unsigned int int_O_tissue_for_debug[32]; 225 static unsigned int int_O_tissue_for_debug[32];
234 static unsigned int int_O_GF_spare____; // 0x240 226 static unsigned int int_O_GF_spare____; // 0x240
235 static unsigned int int_O_GF_step; // 0x242 227 static unsigned int int_O_GF_step; // 0x242
236 static unsigned int int_O_gtissue_limit; // 0x244 228 static unsigned int int_O_gtissue_limit; // 0x244
237 static unsigned int int_O_gtissue_press; // 0x246 229 static unsigned int int_O_gtissue_press; // 0x246
238 static unsigned int int_O_limit_GF_low; // 0x248 230 static unsigned int int_O_limit_GF_low; // 0x248
239 static unsigned int int_O_gtissue_press_at_GF_low; // 0x24A 231 static unsigned int int_O_gtissue_press_at_GF_low; // 0x24A
240 // 0x24C + 0x24D noch unbenutzt 232 volatile unsigned char char_I_step_is_1min; // 0x24C
241 233
234 // ...
242 #pragma udata bank2b=0x24E 235 #pragma udata bank2b=0x24E
243 static unsigned char char_O_GF_low_pointer; // 0x24E 236 static unsigned char char_O_GF_low_pointer; // 0x24E
244 static unsigned char char_O_actual_pointer; // 0x24F 237 static unsigned char char_O_actual_pointer; // 0x24F
245 #pragma udata bank2c=0x250 238 #pragma udata bank2c=0x250
246 static unsigned char char_O_deco_table[32]; // 0x250 239 static unsigned char char_O_deco_table[32]; // 0x250
267 static unsigned int temp_depth_last_deco; // new in v.101 260 static unsigned int temp_depth_last_deco; // new in v.101
268 261
269 static unsigned char temp_depth_GF_low_meter; 262 static unsigned char temp_depth_GF_low_meter;
270 static unsigned char temp_depth_GF_low_number; 263 static unsigned char temp_depth_GF_low_number;
271 static unsigned char internal_deco_pointer; 264 static unsigned char internal_deco_pointer;
272 static unsigned char internal_deco_table[32]; 265
266 #pragma udata bank2f=0x2C8
267 static unsigned char internal_deco_table[32]; // 0x2C8
273 static float temp_pres_deco_GF_low; 268 static float temp_pres_deco_GF_low;
274 269
275 static unsigned int debug_temp; 270 static unsigned int debug_temp;
276 271
277 272
278 #pragma udata bank3a=0x300 273 #pragma udata bank3a=0x300
279 static char output[32]; 274 static char output[32];
280 // used by the math routines 275 // used by the math routines
281 #pragma udata bank3b=0x380 276 #pragma udata bank3b=0x37C
277 volatile float cns_vault;
278 #pragma udata bank3c=0x380
282 volatile float pres_tissue_vault[32]; 279 volatile float pres_tissue_vault[32];
283 #pragma udata bank4a=0x400 280 #pragma udata bank4a=0x400
284 // internal: 281 // internal:
285 unsigned char ci ; // don't move - used in _asm routines - if moved then modify movlb commands 282 unsigned char ci ; // don't move - used in _asm routines - if moved then modify movlb commands
286 unsigned char x; 283 unsigned char x;
287 unsigned int main_i; 284 unsigned int main_i;
288 unsigned int int_temp; 285 unsigned int int_temp;
286 unsigned int int_temp2;
289 unsigned int int_temp_decostatus; 287 unsigned int int_temp_decostatus;
290 static float pres_respiration; 288 static float pres_respiration;
291 static float pres_surface; 289 static float pres_surface;
292 static float temp1; 290 static float temp1;
293 static float temp2; 291 static float temp2;
314 static float var_halftimes; 312 static float var_halftimes;
315 static float var2_halftimes; 313 static float var2_halftimes;
316 static float pres_gtissue_limit; 314 static float pres_gtissue_limit;
317 static float temp_pres_gtissue_limit; 315 static float temp_pres_gtissue_limit;
318 static float actual_ppO2; // new in v.102 316 static float actual_ppO2; // new in v.102
317
319 #pragma udata bank4b=0x480 318 #pragma udata bank4b=0x480
320 static float pres_tissue[32]; 319 static float pres_tissue[32];
321 320
322 #pragma udata bank5=0x500 321 #pragma udata bank5=0x500
323 // don't move positions in this bank, the registers are addressed directly from assembler code 322 // don't move positions in this bank, the registers are addressed directly from assembler code
325 static unsigned int int_I_pres_respiration; // 0x500 324 static unsigned int int_I_pres_respiration; // 0x500
326 static unsigned int int_I_pres_surface; // 0x502 325 static unsigned int int_I_pres_surface; // 0x502
327 static unsigned int int_I_temp; // 0x504 new in v101 326 static unsigned int int_I_temp; // 0x504 new in v101
328 static unsigned char char_I_temp; // 0x506 new in v101 327 static unsigned char char_I_temp; // 0x506 new in v101
329 static unsigned char char_I_actual_ppO2; // 0x507 328 static unsigned char char_I_actual_ppO2; // 0x507
330 static unsigned int int_I_spare_3; 329 static unsigned char char_I_deco_N2_ratio2; // 0x508 new in v.109
331 static unsigned int int_I_spare_4; 330 static unsigned char char_I_deco_He_ratio2; // 0x509 new in v.109
332 static unsigned int int_I_spare_5; 331 static unsigned char char_I_deco_N2_ratio3; // 0x50A new in v.109
333 static unsigned int int_I_spare_6; 332 static unsigned char char_I_deco_He_ratio3; // 0x50B new in v.109
333 static unsigned char char_I_deco_N2_ratio4; // 0x50C new in v.109
334 static unsigned char char_I_deco_He_ratio4; // 0x50D new in v.109
335 static unsigned char char_I_deco_N2_ratio5; // 0x50E new in v.109
336 static unsigned char char_I_deco_He_ratio5; // 0x50F new in v.109
334 static unsigned char char_I_N2_ratio; // 0x510 337 static unsigned char char_I_N2_ratio; // 0x510
335 static unsigned char char_I_He_ratio; // 0x511 338 static unsigned char char_I_He_ratio; // 0x511
336 static unsigned char char_I_saturation_multiplier; // for conservatism/safety values 1.0 (no conservatism) to 1.5 (50% faster saturation 339 static unsigned char char_I_saturation_multiplier; // for conservatism/safety values 1.0 (no conservatism) to 1.5 (50% faster saturation
337 static unsigned char char_I_desaturation_multiplier; // for conservatism/safety values 0.66 (50% slower desaturation) to 1.0 (no conservatism)// consveratism used in calc_tissue(), calc_tissue_step_1_min() and sim_tissue_1min() 340 static unsigned char char_I_desaturation_multiplier; // for conservatism/safety values 0.66 (50% slower desaturation) to 1.0 (no conservatism)// consveratism used in calc_tissue(), calc_tissue_step_1_min() and sim_tissue_1min()
338 static unsigned char char_I_GF_High_percentage; // 0x514 new in v.102 341 static unsigned char char_I_GF_High_percentage; // 0x514 new in v.102
345 static unsigned char char_I_deco_gas_change; // 0x51B new in v.101 348 static unsigned char char_I_deco_gas_change; // 0x51B new in v.101
346 static unsigned char char_I_deco_N2_ratio; // 0x51C new in v.101 349 static unsigned char char_I_deco_N2_ratio; // 0x51C new in v.101
347 static unsigned char char_I_deco_He_ratio; // 0x51D new in v.101 350 static unsigned char char_I_deco_He_ratio; // 0x51D new in v.101
348 static unsigned char char_I_depth_last_deco; // 0x51E new in v.101 unit: [m] 351 static unsigned char char_I_depth_last_deco; // 0x51E new in v.101 unit: [m]
349 static unsigned char char_I_deco_model; // 0x51F new in v.102 ( 1 = MultiGraF, sonst Std. mit (de-)saturation_multiplier) 352 static unsigned char char_I_deco_model; // 0x51F new in v.102 ( 1 = MultiGraF, sonst Std. mit (de-)saturation_multiplier)
350 // output: 353
354
355 // output:
351 static unsigned int int_O_desaturation_time; // 0x520 356 static unsigned int int_O_desaturation_time; // 0x520
352 static unsigned char char_O_nullzeit; // 0x522 357 static unsigned char char_O_nullzeit; // 0x522
353 static unsigned char char_O_deco_status; // 0x523 358 static unsigned char char_O_deco_status; // 0x523
354 static unsigned char char_O_array_decotime[7]; // 0x524 359 static unsigned char char_O_array_decotime[7]; // 0x524
355 static unsigned char char_O_array_decodepth[6]; // 0x52B 360 static unsigned char char_O_array_decodepth[6]; // 0x52B
359 static unsigned char char_O_array_gradient_weighted[16]; // 0x553 364 static unsigned char char_O_array_gradient_weighted[16]; // 0x553
360 static unsigned char char_O_gtissue_no; // 0x563 365 static unsigned char char_O_gtissue_no; // 0x563
361 static unsigned char char_O_diluent; // 0x564 new in v.101 366 static unsigned char char_O_diluent; // 0x564 new in v.101
362 static unsigned char char_O_CNS_fraction; // 0x565 new in v.101 367 static unsigned char char_O_CNS_fraction; // 0x565 new in v.101
363 static unsigned char char_O_relative_gradient_GF; // 0x566 new in v.102 368 static unsigned char char_O_relative_gradient_GF; // 0x566 new in v.102
364 369 static unsigned char char_I_deco_gas_change2; // 0x567 new in v.109
370 static unsigned char char_I_deco_gas_change3; // 0x568 new in v.109
371 static unsigned char char_I_deco_gas_change4; // 0x569 new in v.109
372 static unsigned char char_I_deco_gas_change5; // 0x56A new in v.109
365 // internal: 373 // internal:
366 static float pres_tissue_limit[16]; 374 static float pres_tissue_limit[16];
367 static float sim_pres_tissue_limit[16]; 375 static float sim_pres_tissue_limit[16];
368 static float pres_diluent; // new in v.101 376 static float pres_diluent; // new in v.101
369 static float deco_diluent; // new in v.101 377 static float deco_diluent; // new in v.101
376 #pragma udata bank6=0x600 384 #pragma udata bank6=0x600
377 // internal: 385 // internal:
378 static float sim_pres_tissue[32]; 386 static float sim_pres_tissue[32];
379 static float sim_pres_tissue_backup[32]; 387 static float sim_pres_tissue_backup[32];
380 388
381 //#pragma udata bank7=0x700 389 #pragma udata bank7=0x700
382 //const unsigned char keep_free_bank7[256]; // used by the assembler code (DD font2display) 390 const unsigned char keep_free_bank7[256]; // used by the assembler code (DD font2display)
383 391
384 #pragma udata bank8=0x800 392 #pragma udata bank8=0x800
385 static char md_pi_subst[256]; 393 static char md_pi_subst[256];
386 394
387 #pragma udata bank9a=0x900 395 #pragma udata bank9a=0x900
409 static float deco_gas_change; // new in v.101 417 static float deco_gas_change; // new in v.101
410 static float CNS_fraction; // new in v.101 418 static float CNS_fraction; // new in v.101
411 static float float_saturation_multiplier; // new in v.101 419 static float float_saturation_multiplier; // new in v.101
412 static float float_desaturation_multiplier; // new in v.101 420 static float float_desaturation_multiplier; // new in v.101
413 static float float_deco_distance; // new in v.101 421 static float float_deco_distance; // new in v.101
414 // internal, dbg: 422 // internal, dbg:
415 static unsigned char DBG_char_I_deco_model; // new in v.108 423 static unsigned char DBG_char_I_deco_model; // new in v.108
416 static unsigned char DBG_char_I_depth_last_deco; // new in v.108 424 static unsigned char DBG_char_I_depth_last_deco; // new in v.108
417 static float DBG_pres_surface; // new in v.108 425 static float DBG_pres_surface; // new in v.108
418 static float DBG_GF_low; // new in v.108 426 static float DBG_GF_low; // new in v.108
419 static float DBG_GF_high; // new in v.108 427 static float DBG_GF_high; // new in v.108
432 static float DBG_He_ratio; // new in v.108 440 static float DBG_He_ratio; // new in v.108
433 static char flag_in_divemode; // new in v.108 441 static char flag_in_divemode; // new in v.108
434 static int int_dbg_i; // new in v.108 442 static int int_dbg_i; // new in v.108
435 unsigned int temp_DBS; 443 unsigned int temp_DBS;
436 444
445 static float deco_gas_change2; // new in v.109
446 static float deco_gas_change3; // new in v.109
447 static float deco_gas_change4; // new in v.109
448 static float deco_gas_change5; // new in v.109
449
450 static float deco_N2_ratio2; // new in v.109
451 static float deco_N2_ratio3; // new in v.109
452 static float deco_N2_ratio4; // new in v.109
453 static float deco_N2_ratio5; // new in v.109
454 static float deco_He_ratio2; // new in v.109
455 static float deco_He_ratio3; // new in v.109
456 static float deco_He_ratio4; // new in v.109
457 static float deco_He_ratio5; // new in v.109
458
459
437 // ************************* 460 // *************************
438 // ** P R O T O T Y P E S ** 461 // ** P R O T O T Y P E S **
439 // ************************* 462 // *************************
440 void main_calc_hauptroutine(void); 463 void main_calc_hauptroutine(void);
441 void main_calc_without_deco(void); 464 void main_calc_without_deco(void);
463 void calc_gradient_factor(void); 486 void calc_gradient_factor(void);
464 void calc_gradient_array_only(void); 487 void calc_gradient_array_only(void);
465 void calc_desaturation_time(void); 488 void calc_desaturation_time(void);
466 void calc_wo_deco_step_1_min(void); 489 void calc_wo_deco_step_1_min(void);
467 void calc_tissue_step_1_min(void); 490 void calc_tissue_step_1_min(void);
491 //void debug(void);
468 void hash(void); 492 void hash(void);
469 void clear_CNS_fraction(void); 493 void clear_CNS_fraction(void);
470 void calc_CNS_fraction(void); 494 void calc_CNS_fraction(void);
471 void calc_CNS_decrease_15min(void); 495 void calc_CNS_decrease_15min(void);
472 void calc_percentage(void); 496 void calc_percentage(void);
473 void main(void); 497 void main(void);
474 void calc_hauptroutine_data_input(void); 498 void calc_hauptroutine_data_input(void);
475 void calc_hauptroutine_update_tissues(void); 499 void calc_hauptroutine_update_tissues(void);
476 void calc_hauptroutine_calc_deco(void); 500 void calc_hauptroutine_calc_deco(void);
477 void calc_hauptroutine_calc_ascend_to_deco(void); 501 void calc_hauptroutine_calc_ascend_to_deco(void);
502 //void build_debug_output(void);
478 void calc_nextdecodepth_GF(void); 503 void calc_nextdecodepth_GF(void);
479 void copy_deco_table_GF(void); 504 void copy_deco_table_GF(void);
480 void clear_internal_deco_table_GF(void); 505 void clear_internal_deco_table_GF(void);
481 void update_internal_deco_table_GF(void); 506 void update_internal_deco_table_GF(void);
482 void DD2_write(void); 507 void DD2_write(void);
483 void DD2_write_incon42(void); 508 void DD2_write_incon42(void);
484 void DD2_get_pointer_to_char(void); 509 void DD2_get_pointer_to_char(void);//dd2_char, &dd2_pointer);
485 void DD2_set_column(void); 510 void DD2_set_column(void);//top, dd2_k);void DD2_load_background(void);//&dd2_columnstore, &dd2_background, dd2_top, dd2_left, dd2_heightmax);
486 void DD2_load_background(void); 511 void DD2_load_background(void);
487 void DD2_build_one_line_of_char(void); 512 void DD2_build_one_line_of_char(void);//&dd2_columnstore, &dd2_pointer, dd2_fontheight, dd2_lowbyte);
488 void DD2_print_column(void); 513 void DD2_print_column(void);//&dd2_columnstore, dd2_heightmax);
489 void DD2_CmdWrite(void); 514 void DD2_CmdWrite(void);
490 void DD2_DataWrite(void); 515 void DD2_DataWrite(void);
491 void push_tissues_to_vault(void); 516 void push_tissues_to_vault(void);
492 void pull_tissues_from_vault(void); 517 void pull_tissues_from_vault(void);
493 void main_push_tissues_to_vault(void); 518 void main_push_tissues_to_vault(void);
494 void main_pull_tissues_from_vault(void); 519 void main_pull_tissues_from_vault(void);
495 void wordprocessor(void);
496 520
497 // ******************************* 521 // *******************************
498 // ** start ** 522 // ** start **
499 // ** necessary for compilation ** 523 // ** necessary for compilation **
500 // ******************************* 524 // *******************************
513 // ** is NOT a part of the OSTC ** 537 // ** is NOT a part of the OSTC **
514 // *********************************** 538 // ***********************************
515 #pragma code main = 0x9000 539 #pragma code main = 0x9000
516 void main(void) 540 void main(void)
517 { 541 {
518 for(wp_temp_U8=0;wp_temp_U8<LENGTH_kf_bank0 - 1;wp_temp_U8++)
519 keep_free_bank0[wp_temp_U8] = 7;
520 keep_free_bank0[LENGTH_kf_bank0 - 1] = 7;
521
522 for(wp_temp_U8=0;wp_temp_U8<LENGTH_kf_bank1 - 1;wp_temp_U8++)
523 keep_free_bank1[wp_temp_U8] = 7;
524 keep_free_bank1[LENGTH_kf_bank1 - 1] = 7;
525
526 #if 1 542 #if 1
527 // new main to test DR-5 543 // new main to test DR-5
528 544
529 wp_top = 10; 545 char_I_deco_model = 0;
530 wp_leftx2 = 10;
531 wp_color1 = 255;
532 wp_color2 = 255;
533 wp_font = 0;
534 wp_invert = 0;
535 wp_stringstore[0] = ' ';
536 wp_stringstore[1] = ' ';
537 wp_stringstore[2] = '1';
538 wp_stringstore[3] = ':';
539 wp_stringstore[4] = 0;
540 wordprocessor();
541 546
542 GF_low = 1.0; 547 GF_low = 1.0;
543 GF_high = 1.0; 548 GF_high = 1.0;
544 549
545 GF_temp = GF_low * GF_high; 550 GF_temp = GF_low * GF_high;
554 559
555 560
556 561
557 int_I_pres_respiration = 1000;//980; 562 int_I_pres_respiration = 1000;//980;
558 int_I_pres_surface = 1000;//980; 563 int_I_pres_surface = 1000;//980;
559 char_I_N2_ratio = 39; //38; 564 char_I_N2_ratio = 79; //38;
560 char_I_He_ratio = 40; //50; 565 char_I_He_ratio = 0; //50;
561 char_I_deco_distance = 0; // 10 = 1 meter 566 char_I_deco_distance = 10; // 10 = 1 meter
562 char_I_depth_last_deco = 3; // values below 3 (meter) are ignored 567 char_I_depth_last_deco = 3; // values below 3 (meter) are ignored
563 568
564 char_I_const_ppO2 = 0; 569 char_I_const_ppO2 = 0;
565 char_I_deco_ppO2_change = 0; // [dm] 10 = 1 meter 570 char_I_deco_ppO2_change = 0; // [dm] 10 = 1 meter
566 char_I_deco_ppO2 = 0; 571 char_I_deco_ppO2 = 0;
567 572
568 char_I_deco_gas_change = 0; // [m] 1 = 1 meter 573 char_I_deco_gas_change = 20; // [m] 1 = 1 meter
569 char_I_deco_N2_ratio = 0; 574 char_I_deco_N2_ratio = 50;
570 char_I_deco_He_ratio = 0; 575 char_I_deco_He_ratio = 0;
576
577 char_I_deco_gas_change2 = 6; // [m] 1 = 1 meter
578 char_I_deco_N2_ratio2 = 0;
579 char_I_deco_He_ratio2 = 0;
580
581 char_I_deco_gas_change3 = 0; // [m] 1 = 1 meter
582 char_I_deco_gas_change4 = 0; // [m] 1 = 1 meter
583 char_I_deco_gas_change5 = 0; // [m] 1 = 1 meter
571 584
572 //char_I_actual_ppO2; // 0x507 585 //char_I_actual_ppO2; // 0x507
573 char_I_GF_High_percentage = 100; // 0x514 new in v.102 586 char_I_GF_High_percentage = 100; // 0x514 new in v.102
574 char_I_GF_Low_percentage = 100; // 0x515 new in v.102 587 char_I_GF_Low_percentage = 100; // 0x515 new in v.102
575 588
576 char_I_saturation_multiplier = 110; 589 char_I_saturation_multiplier = 110;
577 char_I_desaturation_multiplier = 90; 590 char_I_desaturation_multiplier = 90;
578 591
579 char_I_deco_model = 0;
580 592
581 main_clear_tissue(); 593 main_clear_tissue();
582 594
583 int_I_pres_respiration = 1000 + int_I_pres_surface; 595 char_I_step_is_1min = 1;
584 main_calc_wo_deco_step_1_min(); 596 int_I_pres_respiration = 4500 + int_I_pres_surface;
585 int_I_pres_respiration = 3000 + int_I_pres_surface; 597
586 main_calc_wo_deco_step_1_min(); 598 for (main_i=0;main_i<29;main_i++)
587 int_I_pres_respiration = 5000 + int_I_pres_surface; 599 {
588 main_calc_wo_deco_step_1_min(); 600 main_calc_hauptroutine();
589 601 }
590 /* 602
591 int_I_pres_respiration = 6000 + int_I_pres_surface; 603 char_I_step_is_1min = 0;
592 for (main_i=0;main_i<27;main_i++)
593 main_calc_wo_deco_step_1_min();
594 */
595
596 char_O_deco_status = 255; 604 char_O_deco_status = 255;
597 while (char_O_deco_status) 605 while (char_O_deco_status)
598 main_calc_hauptroutine(); 606 main_calc_hauptroutine();
599 _asm 607 _asm
600 nop 608 nop
601 _endasm 609 _endasm
602 610
603 for (main_i=0;main_i<50;main_i++) 611 char_O_deco_status = 255;
604 { 612 while (char_O_deco_status)
605 main_calc_hauptroutine(); 613 main_calc_hauptroutine();
606 } 614 _asm
615 nop
616 _endasm
617
607 int_I_pres_respiration = 10000; 618 int_I_pres_respiration = 10000;
608 for (main_i=0;main_i<1500;main_i++) 619 for (main_i=0;main_i<1500;main_i++)
609 { 620 {
610 main_calc_hauptroutine(); 621 main_calc_hauptroutine();
611 } 622 }
720 // ****************************************************** 731 // ******************************************************
721 // ****************************************************** 732 // ******************************************************
722 // ** THE FOLLOWING CODE HAS TO BE COPPIED TO THE OSTC ** 733 // ** THE FOLLOWING CODE HAS TO BE COPPIED TO THE OSTC **
723 // ****************************************************** 734 // ******************************************************
724 // ****************************************************** 735 // ******************************************************
725
726 // ***************
727 // ***************
728 // ** THE FONTS **
729 // ***************
730 // ***************
731 // all new for bigscreen
732
733 #pragma romdata font_data_large = 0x09A00
734 rom const rom U16 wp_large_data[] =
735 {
736 #include "ostc90.drx.txt" // length 0x59A
737 };
738
739 #pragma romdata font_table_large = 0x09FA0
740 rom const rom U16 wp_large_table[] =
741 {
742 #include "ostc90.tbl.txt" // length 0x18
743 };
744
745 #pragma romdata font_table_medium = 0x0A000
746 rom const rom U16 wp_medium_table[] =
747 {
748 #include "ostc48.tbl.txt" // length 0x22
749 };
750
751 #pragma romdata font_data_medium = 0x0A024
752 rom const rom U16 wp_medium_data[] =
753 {
754 #include "ostc48.drx.txt" // length 0x374 // geht bis einschl. 0xA398
755 };
756
757 #pragma romdata font_table_small = 0x0A39A
758 rom const rom U16 wp_small_table[] =
759 {
760 #include "ostc28.tbl.txt" // length 0xE8
761 };
762
763 #pragma romdata font_data_small = 0x0A484
764 rom const rom U16 wp_small_data[] =
765 {
766 #include "ostc28.drx.txt"
767 };
768
769 736
770 // *********************** 737 // ***********************
771 // *********************** 738 // ***********************
772 // ** THE SUBROUTINES 2 ** 739 // ** THE SUBROUTINES 2 **
773 // *********************** 740 // ***********************
1179 else 1146 else
1180 temp_tissue = temp_tissue * float_saturation_multiplier; 1147 temp_tissue = temp_tissue * float_saturation_multiplier;
1181 } 1148 }
1182 } // temp_tissue_safety 1149 } // temp_tissue_safety
1183 1150
1184 // ----------- 1151 // ---------------------
1185 // dd2 OLD // 1152 // dd2_write_incon42 //
1186 // ----------- 1153 // ---------------------
1154 void DD2_write_incon42(void)
1155 {
1156 //dd2_fontwidth = 21;
1157 //dd2_fontheight = 30;
1158 dd2_fontwidth = 19;
1159 dd2_fontheight = 28;
1160 dd2_base = 0x0F500;
1161 dd2_start = '0';
1162 dd2_end = '9';
1163 DD2_write();
1164 }
1165
1166 // ---------------------
1167 // dd2_write_incon24 //
1168 // ---------------------
1169 void DD2_write_incon24(void)
1170 {
1171 dd2_fontwidth = 12;
1172 dd2_fontheight = 16;
1173 dd2_base = 0x0E100;
1174 dd2_start = '.';
1175 dd2_end = '9' + 5;
1176 DD2_write();
1177 }
1178
1179
1187 void DD2_write(void) 1180 void DD2_write(void)
1188 { 1181 {
1189 _asm 1182 dd2_i = 0;
1190 nop 1183 _asm
1191 _endasm 1184 movff dd2_i, POSTINC2 // write 0x00 at the end of dd2_strinstore[]
1185 bsf oled_rs
1186 _endasm
1187 dd2_stringstore[16] = 0; // safety if more than 16 letters (max at font incon16) are written, the other space is used by font remap
1188 if (dd2_top == 0) dd2_top = 1;
1189 if (dd2_left == 0) dd2_left = 1;
1190 if (dd2_heightmax > dd2_fontheight) dd2_heightmax = dd2_fontheight;
1191 if ((dd2_top + dd2_heightmax) > 65) dd2_heightmax = 65 - dd2_top;
1192
1193 dd2_k = dd2_left;
1194 dd2_j = 0;
1195 dd2_char = dd2_stringstore[dd2_j++];
1196 DD2_get_pointer_to_char();//dd2_char, &dd2_pointer);
1197 dd2_i = 0;
1198 dd2_lowbyte = 1;
1199
1200 while (dd2_char != 0)
1201 {
1202 if (dd2_lowbyte == 1) DD2_load_background();//&dd2_columnstore, &dd2_background, dd2_top, dd2_left, dd2_heightmax);
1203 DD2_build_one_line_of_char(); //&dd2_columnstore, &dd2_pointer, dd2_fontheight, dd2_lowbyte); // dd2_heightmax
1204 dd2_lowbyte = dd2_lowbyte ^ 1;
1205 if (dd2_lowbyte == 1)
1206 {
1207 DD2_set_column();//top, dd2_k); //
1208 if(dd2_k < 64) dd2_k++;
1209 DD2_print_column();//&dd2_columnstore, dd2_heightmax); // dd2_column_store, dd2_heightmax
1210 }
1211 dd2_i++;
1212 if ((dd2_i >= dd2_fontwidth) | (((dd2_char == '.') |(dd2_char == ':') | (dd2_char == '<')) & (dd2_i >= 4)))
1213 {
1214 dd2_char = dd2_stringstore[dd2_j++];
1215 DD2_get_pointer_to_char();//dd2_char, &dd2_pointer);
1216 dd2_i = 0;
1217 }
1192 } 1218 }
1193 void DD2_write_incon42(void) 1219 } // void dd2_write(void)
1194 { 1220
1195 DD2_write(); 1221 void DD2_get_pointer_to_char(void)//dd2_char, &dd2_pointer);
1222 {
1223 if((dd2_char < dd2_start) | (dd2_char > dd2_end))
1224 {
1225 dd2_pointer = 0;
1226 dd2_temp = 0;
1227 }
1228 else
1229 {
1230 dd2_pointer = dd2_char - dd2_start;
1231 dd2_pointer = dd2_pointer * ((dd2_fontheight+1)/2);
1232 dd2_pointer = dd2_pointer * dd2_fontwidth;
1233 dd2_pointer += dd2_base;
1234 if((dd2_char == '.') | (dd2_char == ':') | (dd2_char == '<'))
1235 {
1236 dd2_pointer += 2 * dd2_fontheight;
1237 }
1238
1239 }
1240 } // void DD2_get_pointer_to_char(void)
1241
1242 void DD2_set_column(void)//top, dd2_k);
1243 {
1244 dd2_data = 0x75;
1245 DD2_CmdWrite();
1246 dd2_data = dd2_top - 1;
1247 DD2_CmdWrite();
1248 dd2_data = 0x3f;
1249 DD2_CmdWrite();
1250
1251 dd2_data = 0x15;
1252 DD2_CmdWrite();
1253 dd2_data = dd2_k - 1;
1254 DD2_CmdWrite();
1255 dd2_data = dd2_k - 1;
1256 DD2_CmdWrite();
1257 } // DD2_set_column()
1258
1259 void DD2_load_background(void)//&dd2_columnstore, &dd2_background, dd2_top, dd2_left, dd2_heightmax);
1260 {
1261 for(dd2_temp = 0; dd2_temp < dd2_heightmax; dd2_temp++)
1262 md_pi_subst[dd2_temp] = 0x00;
1263 } // void DD2_load_background()
1264
1265 void DD2_build_one_line_of_char(void)//&dd2_columnstore, &dd2_pointer, dd2_fontheight, dd2_lowbyte);
1266 {
1267 if (dd2_pointer != 0)
1268 {
1269 dd2_temp = (char)(dd2_pointer & 255);
1270 _asm
1271 movff dd2_temp,TBLPTRL
1272 _endasm
1273 dd2_temp = (char)((dd2_pointer >> 8) & 255);
1274 _asm
1275 movff dd2_temp,TBLPTRH
1276 _endasm
1277 dd2_temp = (char)((dd2_pointer >> 16)& 255);
1278 _asm
1279 movff dd2_temp,TBLPTRU
1280 _endasm
1281
1282 for(dd2_temp = 0; dd2_temp < dd2_heightmax; dd2_temp += 2)
1283 {
1284 _asm
1285 TBLRDPOSTINC
1286 movff TABLAT,dd2_data
1287 _endasm
1288 if (dd2_oled_brightness_offset != 0)
1289 {
1290 if ((dd2_oled_brightness_offset << 4) < (dd2_data & 0xF0))
1291 dd2_data = dd2_data - (dd2_oled_brightness_offset << 4);
1292 if ((dd2_oled_brightness_offset) < (dd2_data & 0x0F))
1293 dd2_data = dd2_data - dd2_oled_brightness_offset;
1294 }
1295 if (dd2_lowbyte == 1)
1296 {
1297 md_pi_subst[dd2_temp] = dd2_data & 0xF0;
1298 md_pi_subst[dd2_temp+1] = (dd2_data << 4) & 0xF0;
1299 }
1300 else
1301 {
1302 md_pi_subst[dd2_temp] = (md_pi_subst[dd2_temp] & 0xF0) | ((dd2_data >> 4) & 0x0F);
1303 md_pi_subst[dd2_temp+1] = (md_pi_subst[dd2_temp+1] & 0xF0) | (dd2_data & 0x0F);
1304 }
1305 }//for
1306 dd2_pointer += (dd2_fontheight+1)/2;
1307 }//if
1308 } //
1309
1310 void DD2_print_column(void)//&dd2_columnstore, dd2_heightmax);
1311 {
1312 _asm
1313 bsf oled_rs
1314 _endasm
1315 for(dd2_temp = 0; dd2_temp < dd2_heightmax; dd2_temp++)
1316 {
1317 dd2_data = md_pi_subst[dd2_temp];
1318 DD2_DataWrite();
1319 }
1320 } // void DD2_print_column(void)
1321
1322 //; -----------------------------
1323 //; DD Write Cmd via W
1324 //; two jump_ins:
1325 //; DD_CmdWrite and DD_CmdWrite2
1326 //; -----------------------------
1327 void DD2_CmdWrite(void)
1328 {
1329 _asm
1330 bcf oled_rs
1331 _endasm
1332 DD2_DataWrite();
1196 } 1333 }
1197 1334
1198 void DD2_write_incon24(void) 1335 void DD2_DataWrite(void)
1199 { 1336 {
1200 DD2_write(); 1337 _asm
1338 movlb 1
1339 // bsf no_sensor_int // flag5, no_sensor_int
1340 bcf oled_en
1341 movlb 0
1342 bcf oled_clk //; CLK=0
1343 btfsc dd2_data,7,1 //; Bit
1344 bsf oled_data
1345 bcf oled_clk //; CLK=0
1346 btfss dd2_data,7,1
1347 bcf oled_data
1348 bsf oled_clk //; CLK=1
1349 btfsc dd2_data,6,1 //; Bit
1350 bsf oled_data
1351 bcf oled_clk //; CLK=0
1352 btfss dd2_data,6,1
1353 bcf oled_data
1354 bsf oled_clk //; CLK=1
1355 btfsc dd2_data,5,1 //; Bit
1356 bsf oled_data
1357 bcf oled_clk //; CLK=0
1358 btfss dd2_data,5,1
1359 bcf oled_data //;
1360 bsf oled_clk //; CLK=1
1361 btfsc dd2_data,4,1 //; Bit
1362 bsf oled_data
1363 bcf oled_clk //; CLK=0
1364 btfss dd2_data,4,1
1365 bcf oled_data
1366 bsf oled_clk //; CLK=1
1367 btfsc dd2_data,3,1 //; Bit
1368 bsf oled_data
1369 bcf oled_clk //; CLK=0
1370 btfss dd2_data,3,1
1371 bcf oled_data
1372 bsf oled_clk //; CLK=1
1373 btfsc dd2_data,2,1 //; Bit
1374 bsf oled_data
1375 bcf oled_clk //; CLK=0
1376 btfss dd2_data,2,1
1377 bcf oled_data
1378 bsf oled_clk //; CLK=1
1379 btfsc dd2_data,1,1 //; Bit
1380 bsf oled_data
1381 bcf oled_clk //; CLK=0
1382 btfss dd2_data,1,1
1383 bcf oled_data
1384 bsf oled_clk //; CLK=1
1385 btfsc dd2_data,0,1 //; Bit
1386 bsf oled_data
1387 bcf oled_clk //; CLK=0
1388 btfss dd2_data,0,1
1389 bcf oled_data
1390 bsf oled_clk //; CLK=1
1391 bsf oled_en //; CS#=1
1392 movlb 1
1393 // bcf no_sensor_int // flag5, no_sensor_int
1394 movlb 0
1395 _endasm
1396 dd2_data = 0; // to be sure that C knows we are in Bank0
1201 } 1397 }
1202 void DD2_get_pointer_to_char(void) 1398 #pragma romdata font_incon_24h15 = 0x0E100
1203 { 1399 rom const rom unsigned char incon24h15[] =
1204 DD2_write(); 1400 {
1205 } 1401 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1206 void DD2_set_column(void) 1402 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1207 { 1403 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1208 DD2_write(); 1404 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1209 } 1405 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x80
1210 void DD2_load_background(void) 1406 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xf0
1211 { 1407 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xe0
1212 DD2_write(); 1408 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1213 } 1409 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1214 void DD2_build_one_line_of_char(void) 1410 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1215 { 1411 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1216 DD2_write(); 1412 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1217 } 1413 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1218 void DD2_print_column(void) 1414 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20
1219 { 1415 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0xf0
1220 DD2_write(); 1416 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x4b, 0xff, 0xa0
1221 } 1417 ,0x00, 0x00, 0x00, 0x00, 0x5c, 0xff, 0x91, 0x00
1222 void DD2_CmdWrite(void) 1418 ,0x00, 0x00, 0x00, 0x6d, 0xfe, 0x71, 0x00, 0x00
1223 { 1419 ,0x00, 0x01, 0x7e, 0xfd, 0x60, 0x00, 0x00, 0x00
1224 DD2_write(); 1420 ,0x01, 0x8f, 0xfd, 0x50, 0x00, 0x00, 0x00, 0x00
1225 } 1421 ,0x9f, 0xfb, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00
1226 void DD2_DataWrite(void) 1422 ,0xfa, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1227 { 1423 ,0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1228 DD2_write(); 1424 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1229 } 1425 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1426 ,0x00, 0x01, 0x69, 0xbc, 0xca, 0x72, 0x00, 0x00
1427 ,0x00, 0x9f, 0xfe, 0xdc, 0xdf, 0xff, 0xb2, 0x00
1428 ,0x1d, 0xf8, 0x20, 0x00, 0x05, 0xfd, 0xff, 0x30
1429 ,0xaf, 0x30, 0x00, 0x00, 0x9f, 0x90, 0x2e, 0xd0
1430 ,0xf8, 0x00, 0x00, 0x2c, 0xf5, 0x00, 0x06, 0xf0
1431 ,0xf8, 0x00, 0x04, 0xed, 0x30, 0x00, 0x05, 0xf0
1432 ,0xaf, 0x30, 0x8f, 0xb1, 0x00, 0x00, 0x0c, 0xe0
1433 ,0x1d, 0xfd, 0xf8, 0x00, 0x00, 0x16, 0xdf, 0x40
1434 ,0x00, 0x9f, 0xff, 0xdc, 0xde, 0xff, 0xc3, 0x00
1435 ,0x00, 0x01, 0x69, 0xbc, 0xca, 0x73, 0x00, 0x00
1436 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1437 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1438 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1439 ,0x02, 0x90, 0x00, 0x00, 0x00, 0x00, 0x01, 0x30
1440 ,0x0a, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x04, 0xf0
1441 ,0x2f, 0x60, 0x00, 0x00, 0x00, 0x00, 0x04, 0xf0
1442 ,0xaf, 0x97, 0x77, 0x77, 0x77, 0x77, 0x79, 0xf0
1443 ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0
1444 ,0x12, 0x22, 0x22, 0x22, 0x22, 0x22, 0x26, 0xf0
1445 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xf0
1446 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xd0
1447 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1448 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1449 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1450 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40
1451 ,0x07, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0
1452 ,0x4f, 0x80, 0x00, 0x00, 0x00, 0x1c, 0xfe, 0xf0
1453 ,0xcc, 0x00, 0x00, 0x00, 0x02, 0xef, 0x57, 0xf0
1454 ,0xf7, 0x00, 0x00, 0x00, 0x2e, 0xe2, 0x07, 0xf0
1455 ,0xf8, 0x00, 0x00, 0x01, 0xde, 0x20, 0x07, 0xf0
1456 ,0xce, 0x10, 0x00, 0x2d, 0xe2, 0x00, 0x07, 0xf0
1457 ,0x4f, 0xd6, 0x58, 0xfe, 0x30, 0x00, 0x07, 0xf0
1458 ,0x06, 0xff, 0xff, 0xb1, 0x00, 0x00, 0x07, 0xf0
1459 ,0x00, 0x14, 0x52, 0x00, 0x00, 0x00, 0x05, 0x80
1460 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1461 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1462 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00
1463 ,0x09, 0x20, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x50
1464 ,0x6f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2e, 0xd0
1465 ,0xdb, 0x00, 0x00, 0x59, 0x00, 0x00, 0x07, 0xf0
1466 ,0xf8, 0x00, 0x00, 0x8e, 0x00, 0x00, 0x04, 0xf0
1467 ,0xea, 0x00, 0x00, 0xcf, 0x10, 0x00, 0x06, 0xf0
1468 ,0x9f, 0x30, 0x07, 0xff, 0x90, 0x00, 0x1e, 0xe0
1469 ,0x1e, 0xfc, 0xdf, 0x87, 0xfb, 0x79, 0xef, 0x50
1470 ,0x01, 0x9d, 0xc6, 0x00, 0x7e, 0xff, 0xd5, 0x00
1471 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00
1472 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1473 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1474 ,0x00, 0x00, 0x00, 0x00, 0x2b, 0xb0, 0x00, 0x00
1475 ,0x00, 0x00, 0x00, 0x06, 0xff, 0xe0, 0x00, 0x00
1476 ,0x00, 0x00, 0x02, 0xcf, 0x69, 0xe0, 0x00, 0x00
1477 ,0x00, 0x00, 0x7f, 0xb1, 0x09, 0xe0, 0x00, 0x00
1478 ,0x00, 0x2c, 0xe6, 0x00, 0x09, 0xe0, 0x00, 0x00
1479 ,0x07, 0xfb, 0x10, 0x00, 0x09, 0xe0, 0x00, 0x00
1480 ,0xcf, 0xfc, 0xcc, 0xcc, 0xce, 0xfd, 0xdd, 0xd0
1481 ,0xde, 0xee, 0xee, 0xee, 0xef, 0xfe, 0xee, 0xe0
1482 ,0x00, 0x00, 0x00, 0x00, 0x09, 0xe0, 0x00, 0x00
1483 ,0x00, 0x00, 0x00, 0x00, 0x08, 0xc0, 0x00, 0x00
1484 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1485 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1486 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00
1487 ,0x78, 0xab, 0xcd, 0xed, 0x00, 0x00, 0xce, 0x20
1488 ,0xff, 0xed, 0xcc, 0xfa, 0x00, 0x00, 0x5f, 0xb0
1489 ,0xf9, 0x00, 0x06, 0xf0, 0x00, 0x00, 0x08, 0xf0
1490 ,0xf9, 0x00, 0x0a, 0xb0, 0x00, 0x00, 0x04, 0xf0
1491 ,0xf9, 0x00, 0x0a, 0xc0, 0x00, 0x00, 0x04, 0xf0
1492 ,0xf9, 0x00, 0x08, 0xf3, 0x00, 0x00, 0x0b, 0xf0
1493 ,0xf9, 0x00, 0x01, 0xfe, 0x62, 0x13, 0xbf, 0x90
1494 ,0xf9, 0x00, 0x00, 0x4e, 0xff, 0xff, 0xfb, 0x00
1495 ,0x11, 0x00, 0x00, 0x01, 0x6a, 0xa9, 0x40, 0x00
1496 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1497 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1498 ,0x00, 0x00, 0x03, 0x56, 0x65, 0x30, 0x00, 0x00
1499 ,0x00, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xa2, 0x00
1500 ,0x08, 0xfe, 0x96, 0x8f, 0x95, 0x6a, 0xff, 0x30
1501 ,0x6f, 0x90, 0x01, 0xf8, 0x00, 0x00, 0x3e, 0xd0
1502 ,0xec, 0x00, 0x08, 0xf0, 0x00, 0x00, 0x06, 0xf0
1503 ,0xf6, 0x00, 0x0a, 0xe0, 0x00, 0x00, 0x04, 0xf0
1504 ,0xf7, 0x00, 0x07, 0xf3, 0x00, 0x00, 0x09, 0xf0
1505 ,0xcd, 0x10, 0x01, 0xef, 0x72, 0x13, 0xaf, 0x90
1506 ,0x4d, 0x20, 0x00, 0x2d, 0xff, 0xff, 0xf9, 0x00
1507 ,0x00, 0x00, 0x00, 0x00, 0x47, 0x86, 0x10, 0x00
1508 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1509 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1510 ,0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1511 ,0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1512 ,0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x90
1513 ,0xfa, 0x00, 0x00, 0x00, 0x00, 0x39, 0xef, 0xf0
1514 ,0xfa, 0x00, 0x00, 0x01, 0x7d, 0xff, 0xe9, 0x40
1515 ,0xfa, 0x00, 0x05, 0xbf, 0xff, 0x94, 0x00, 0x00
1516 ,0xfa, 0x18, 0xef, 0xfb, 0x50, 0x00, 0x00, 0x00
1517 ,0xfe, 0xff, 0xd7, 0x10, 0x00, 0x00, 0x00, 0x00
1518 ,0xff, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1519 ,0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1520 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1521 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1522 ,0x00, 0x00, 0x00, 0x00, 0x02, 0x78, 0x50, 0x00
1523 ,0x03, 0xad, 0xb4, 0x00, 0x7f, 0xff, 0xfc, 0x00
1524 ,0x3f, 0xfc, 0xff, 0x66, 0xfa, 0x43, 0xaf, 0xa0
1525 ,0xcd, 0x10, 0x1c, 0xfe, 0x70, 0x00, 0x0b, 0xf0
1526 ,0xf5, 0x00, 0x01, 0xfe, 0x00, 0x00, 0x05, 0xf0
1527 ,0xf5, 0x00, 0x00, 0xbf, 0x10, 0x00, 0x04, 0xf0
1528 ,0xec, 0x00, 0x07, 0xff, 0xb0, 0x00, 0x0a, 0xf0
1529 ,0x6f, 0xd9, 0xcf, 0x78, 0xfb, 0x32, 0x9f, 0x90
1530 ,0x07, 0xef, 0xe6, 0x00, 0x9f, 0xff, 0xfb, 0x00
1531 ,0x00, 0x01, 0x00, 0x00, 0x03, 0x88, 0x50, 0x00
1532 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1533 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1534 ,0x00, 0x03, 0x55, 0x20, 0x00, 0x00, 0x00, 0x00
1535 ,0x04, 0xdf, 0xff, 0xfb, 0x10, 0x00, 0x0b, 0x60
1536 ,0x4f, 0xd7, 0x45, 0x9f, 0xd0, 0x00, 0x1c, 0xe0
1537 ,0xdd, 0x00, 0x00, 0x05, 0xf5, 0x00, 0x05, 0xf0
1538 ,0xf7, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x04, 0xf0
1539 ,0xf8, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x08, 0xf0
1540 ,0xbe, 0x20, 0x00, 0x06, 0xf2, 0x00, 0x5f, 0xa0
1541 ,0x2e, 0xf9, 0x54, 0x7f, 0x94, 0x7c, 0xfc, 0x00
1542 ,0x02, 0xaf, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00
1543 ,0x00, 0x01, 0x46, 0x77, 0x75, 0x30, 0x00, 0x00
1544 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1545 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1546 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1547 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1548 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1549 ,0x00, 0x00, 0x06, 0xa1, 0x00, 0x00, 0x09, 0x80
1550 ,0x00, 0x00, 0x1f, 0xf9, 0x00, 0x00, 0x6f, 0xf0
1551 ,0x00, 0x00, 0x0d, 0xf5, 0x00, 0x00, 0x3f, 0xe0
1552 ,0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00
1553 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1554 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1555 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1556 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1557 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1558 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1559 ,0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00
1560 ,0xba, 0xae, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00
1561 ,0xff, 0xe9, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00
1562 ,0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1563 ,0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00
1564 ,0x97, 0x8c, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00
1565 ,0xff, 0xfb, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00
1566 ,0x75, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1567 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1568 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1569 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1570 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1571 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1572 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1573 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1574 ,0x75, 0x6a, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00
1575 ,0xff, 0xfd, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00
1576 ,0xa8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1577 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1578 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1579 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1580 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1581 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1582 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1583 ,0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1584 ,0x2c, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00
1585 ,0xdd, 0x78, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00
1586 ,0xf2, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00
1587 ,0xf0, 0x00, 0x4f, 0x10, 0x00, 0x00, 0x00, 0x00
1588 ,0xea, 0x23, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00
1589 ,0x4f, 0xff, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x00
1590 ,0x01, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1591 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1592 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1593 ,0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10
1594 ,0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0
1595 ,0x00, 0x00, 0x9f, 0xa7, 0x77, 0x77, 0x77, 0x70
1596 ,0x00, 0x00, 0xd6, 0x00, 0x00, 0x00, 0x00, 0x00
1597 ,0x00, 0x02, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x00
1598 ,0x00, 0x01, 0xff, 0xcb, 0xbb, 0xbb, 0xbb, 0xb0
1599 ,0x00, 0x00, 0x4f, 0xfe, 0xee, 0xee, 0xee, 0xe0
1600 ,0x00, 0x00, 0xab, 0x20, 0x00, 0x00, 0x00, 0x00
1601 ,0x00, 0x01, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x00
1602 ,0x00, 0x02, 0xfa, 0x55, 0x55, 0x55, 0x55, 0x50
1603 ,0x00, 0x00, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xf0
1604 ,0x00, 0x00, 0x02, 0x44, 0x44, 0x44, 0x44, 0x40
1605 };
1606
1607 #pragma romdata font_incon_42 = 0x0F500
1608 rom const rom unsigned char incon42[] =
1609 {
1610 // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1611 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1612 ,0x00, 0x00, 0x00, 0x03, 0x7a, 0xcd, 0xee, 0xdc, 0xa8, 0x40, 0x00, 0x00, 0x00, 0x00
1613 ,0x00, 0x00, 0x18, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x92, 0x00, 0x00, 0x00
1614 ,0x00, 0x07, 0xef, 0xff, 0xff, 0xdc, 0xbb, 0xce, 0xff, 0xff, 0xff, 0x91, 0x00, 0x00
1615 ,0x00, 0xbf, 0xff, 0xc7, 0x65, 0x43, 0x22, 0x33, 0x57, 0xbf, 0xff, 0xfd, 0x20, 0x00
1616 ,0x0b, 0xff, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x6e, 0xff, 0xd1, 0x00
1617 ,0x7f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xfa, 0x00
1618 ,0xef, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0x20
1619 ,0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0x60
1620 ,0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
1621 ,0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
1622 ,0xcf, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
1623 ,0x4f, 0xfe, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf8, 0x00
1624 ,0x07, 0xff, 0xd7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7e, 0xff, 0xb0, 0x00
1625 ,0x00, 0x5e, 0xff, 0xfb, 0x98, 0x54, 0x33, 0x34, 0x58, 0xbf, 0xff, 0xfa, 0x00, 0x00
1626 ,0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x50, 0x00, 0x00
1627 ,0x00, 0x00, 0x01, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x40, 0x00, 0x00, 0x00
1628 ,0x00, 0x00, 0x00, 0x00, 0x02, 0x46, 0x77, 0x65, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00
1629 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1630 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1631
1632 #if 0
1633 // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1634 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1635 ,0x00, 0x00, 0x00, 0x03, 0x7a, 0xcd, 0xee, 0xdc, 0xa8, 0x40, 0x00, 0x00, 0x00, 0x00
1636 ,0x00, 0x00, 0x18, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x92, 0x00, 0x00, 0x00
1637 ,0x00, 0x07, 0xef, 0xff, 0xff, 0xdc, 0xbb, 0xce, 0xff, 0xff, 0xff, 0x91, 0x00, 0x00
1638 ,0x00, 0xbf, 0xff, 0xc7, 0x20, 0x00, 0x00, 0x00, 0x1c, 0xff, 0xff, 0xfd, 0x20, 0x00
1639 ,0x0b, 0xff, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x02, 0xcf, 0xfc, 0x6e, 0xff, 0xd1, 0x00
1640 ,0x7f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0xff, 0x90, 0x01, 0xbf, 0xfa, 0x00
1641 ,0xef, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xe5, 0x00, 0x00, 0x0d, 0xff, 0x20
1642 ,0xff, 0x60, 0x00, 0x00, 0x00, 0x02, 0xcf, 0xfc, 0x20, 0x00, 0x00, 0x05, 0xff, 0x60
1643 ,0xff, 0x40, 0x00, 0x00, 0x00, 0x5e, 0xff, 0x90, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
1644 ,0xff, 0x80, 0x00, 0x00, 0x08, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
1645 ,0xcf, 0xf3, 0x00, 0x01, 0xcf, 0xfd, 0x30, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
1646 ,0x4f, 0xfe, 0x50, 0x4e, 0xff, 0xa1, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf8, 0x00
1647 ,0x07, 0xff, 0xfd, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7e, 0xff, 0xb0, 0x00
1648 ,0x00, 0x5e, 0xff, 0xff, 0xd8, 0x54, 0x33, 0x34, 0x58, 0xbf, 0xff, 0xfa, 0x00, 0x00
1649 ,0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x50, 0x00, 0x00
1650 ,0x00, 0x00, 0x01, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x40, 0x00, 0x00, 0x00
1651 ,0x00, 0x00, 0x00, 0x00, 0x02, 0x46, 0x77, 0x65, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00
1652 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1653 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1654 #endif
1655 //
1656 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1657 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1658 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1659 ,0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1660 ,0x00, 0x1f, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x00
1661 ,0x00, 0x9f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
1662 ,0x02, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
1663 ,0x0a, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
1664 ,0x3f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
1665 ,0xbf, 0xfc, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x79, 0xff, 0x00
1666 ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
1667 ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
1668 ,0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x36, 0xff, 0x00
1669 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
1670 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
1671 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
1672 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xcc, 0x00
1673 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1674 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1675 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1676 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1677 //
1678 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1679 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1680 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1681 ,0x00, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0xff, 0x00
1682 ,0x00, 0xbf, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0x00
1683 ,0x0a, 0xff, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0x00
1684 ,0x4f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xdb, 0xff, 0x00
1685 ,0xcf, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xf8, 0x08, 0xff, 0x00
1686 ,0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xfe, 0x40, 0x08, 0xff, 0x00
1687 ,0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xd2, 0x00, 0x08, 0xff, 0x00
1688 ,0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xfd, 0x10, 0x00, 0x08, 0xff, 0x00
1689 ,0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xd1, 0x00, 0x00, 0x08, 0xff, 0x00
1690 ,0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xfe, 0x20, 0x00, 0x00, 0x08, 0xff, 0x00
1691 ,0x9f, 0xfa, 0x00, 0x00, 0x00, 0x1a, 0xff, 0xe2, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
1692 ,0x2e, 0xff, 0xd6, 0x21, 0x38, 0xef, 0xfd, 0x20, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
1693 ,0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
1694 ,0x00, 0x3d, 0xff, 0xff, 0xff, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
1695 ,0x00, 0x00, 0x59, 0xbb, 0x95, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0x00
1696 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1697 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1698 //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1699 //
1700 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1701 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1702 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1703 ,0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0x30, 0x00
1704 ,0x04, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xd0, 0x00
1705 ,0x1e, 0xfe, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xf8, 0x00
1706 ,0x7f, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xfe, 0x00
1707 ,0xdf, 0xc0, 0x00, 0x00, 0x00, 0x07, 0x95, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0x30
1708 ,0xff, 0x70, 0x00, 0x00, 0x00, 0x0c, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
1709 ,0xff, 0x50, 0x00, 0x00, 0x00, 0x0e, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
1710 ,0xff, 0x60, 0x00, 0x00, 0x00, 0x2f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
1711 ,0xff, 0xb0, 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0x30
1712 ,0xbf, 0xf4, 0x00, 0x00, 0x02, 0xef, 0xff, 0x70, 0x00, 0x00, 0x00, 0x2f, 0xfe, 0x00
1713 ,0x4f, 0xfe, 0x60, 0x00, 0x5e, 0xfd, 0xbf, 0xf5, 0x00, 0x00, 0x03, 0xef, 0xf7, 0x00
1714 ,0x09, 0xff, 0xff, 0xdf, 0xff, 0xf3, 0x2f, 0xff, 0xb6, 0x56, 0xbf, 0xff, 0xc0, 0x00
1715 ,0x00, 0x8f, 0xff, 0xff, 0xfe, 0x40, 0x04, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x00
1716 ,0x00, 0x02, 0x8c, 0xdb, 0x71, 0x00, 0x00, 0x2b, 0xff, 0xff, 0xfe, 0x80, 0x00, 0x00
1717 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x66, 0x30, 0x00, 0x00, 0x00
1718 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1719 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1720 //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1721 //
1722 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1723 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1724 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xef, 0xc0, 0x00, 0x00, 0x00, 0x00
1725 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xaf, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00
1726 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00
1727 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0xff, 0xd4, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
1728 ,0x00, 0x00, 0x00, 0x00, 0x06, 0xef, 0xf8, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
1729 ,0x00, 0x00, 0x00, 0x02, 0xbf, 0xfc, 0x30, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
1730 ,0x00, 0x00, 0x00, 0x7f, 0xff, 0x70, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
1731 ,0x00, 0x00, 0x2c, 0xff, 0xb2, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
1732 ,0x00, 0x07, 0xff, 0xe6, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
1733 ,0x03, 0xcf, 0xfa, 0x10, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
1734 ,0x8f, 0xff, 0xea, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xef, 0xea, 0xaa, 0xaa, 0xaa, 0x00
1735 ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
1736 ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
1737 ,0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0xdf, 0xd4, 0x44, 0x44, 0x44, 0x00
1738 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
1739 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
1740 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x70, 0x00, 0x00, 0x00, 0x00
1741 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1742 //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1743 //
1744 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1745 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1746 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00
1747 ,0x00, 0x00, 0x00, 0x12, 0x34, 0x56, 0x72, 0x00, 0x00, 0x00, 0x03, 0xf8, 0x00, 0x00
1748 ,0xab, 0xcd, 0xef, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x1e, 0xff, 0x80, 0x00
1749 ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x00, 0x00, 0x00, 0x28, 0xff, 0xf3, 0x00
1750 ,0xff, 0xda, 0xa9, 0x87, 0x67, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfb, 0x00
1751 ,0xff, 0x70, 0x00, 0x00, 0x06, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x10
1752 ,0xff, 0x70, 0x00, 0x00, 0x0b, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0x50
1753 ,0xff, 0x70, 0x00, 0x00, 0x0d, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
1754 ,0xff, 0x70, 0x00, 0x00, 0x0e, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
1755 ,0xff, 0x70, 0x00, 0x00, 0x0e, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
1756 ,0xff, 0x70, 0x00, 0x00, 0x0b, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x30
1757 ,0xff, 0x70, 0x00, 0x00, 0x06, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xfd, 0x00
1758 ,0xff, 0x70, 0x00, 0x00, 0x00, 0xdf, 0xfd, 0x40, 0x00, 0x00, 0x29, 0xff, 0xf5, 0x00
1759 ,0xff, 0x70, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0xba, 0xbd, 0xff, 0xff, 0x90, 0x00
1760 ,0xff, 0x70, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00
1761 ,0x55, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xdf, 0xff, 0xff, 0xea, 0x30, 0x00, 0x00
1762 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x42, 0x00, 0x00, 0x00, 0x00
1763 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1764 //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1765 //
1766 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1767 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1768 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x33, 0x33, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00
1769 ,0x00, 0x00, 0x00, 0x49, 0xce, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x71, 0x00, 0x00, 0x00
1770 ,0x00, 0x00, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00
1771 ,0x00, 0x3d, 0xff, 0xff, 0xfc, 0xba, 0xff, 0xfb, 0xab, 0xef, 0xff, 0xfd, 0x20, 0x00
1772 ,0x04, 0xff, 0xfe, 0x83, 0x00, 0x1c, 0xfd, 0x20, 0x00, 0x02, 0x8e, 0xff, 0xd1, 0x00
1773 ,0x1e, 0xff, 0x90, 0x00, 0x00, 0xbf, 0xe1, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf9, 0x00
1774 ,0xaf, 0xf7, 0x00, 0x00, 0x05, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
1775 ,0xff, 0xb0, 0x00, 0x00, 0x0a, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
1776 ,0xff, 0x50, 0x00, 0x00, 0x0d, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
1777 ,0xff, 0x20, 0x00, 0x00, 0x0d, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x60
1778 ,0xff, 0x30, 0x00, 0x00, 0x0a, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x30
1779 ,0xff, 0x70, 0x00, 0x00, 0x05, 0xff, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xfd, 0x00
1780 ,0xef, 0xe1, 0x00, 0x00, 0x00, 0xcf, 0xfd, 0x50, 0x00, 0x00, 0x28, 0xff, 0xf4, 0x00
1781 ,0x7f, 0xfd, 0x00, 0x00, 0x00, 0x2d, 0xff, 0xff, 0xdb, 0xcd, 0xff, 0xff, 0x70, 0x00
1782 ,0x0c, 0xd2, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xe5, 0x00, 0x00
1783 ,0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x03, 0x9d, 0xff, 0xfe, 0xb6, 0x00, 0x00, 0x00
1784 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1785 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1786 //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1787 //
1788 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1789 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1790 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1791 ,0xcc, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1792 ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1793 ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00
1794 ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xef, 0x00
1795 ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x9e, 0xff, 0xff, 0x00
1796 ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xdf, 0xff, 0xff, 0xfe, 0x00
1797 ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7d, 0xff, 0xff, 0xff, 0xd9, 0x40, 0x00
1798 ,0xff, 0x90, 0x00, 0x00, 0x00, 0x05, 0xbf, 0xff, 0xff, 0xfd, 0x83, 0x00, 0x00, 0x00
1799 ,0xff, 0x90, 0x00, 0x00, 0x39, 0xef, 0xff, 0xff, 0xe8, 0x30, 0x00, 0x00, 0x00, 0x00
1800 ,0xff, 0x90, 0x00, 0x6c, 0xff, 0xff, 0xfe, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1801 ,0xff, 0x92, 0x8e, 0xff, 0xff, 0xfb, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1802 ,0xff, 0xef, 0xff, 0xff, 0xd7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1803 ,0xff, 0xff, 0xff, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1804 ,0xff, 0xfd, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1805 ,0xba, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1806 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1807 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1808 //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1809 //
1810 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1811 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1812 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x67, 0x62, 0x00, 0x00, 0x00
1813 ,0x00, 0x00, 0x24, 0x42, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xff, 0xff, 0xb2, 0x00, 0x00
1814 ,0x00, 0x3c, 0xff, 0xff, 0xc4, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xfe, 0x30, 0x00
1815 ,0x05, 0xff, 0xff, 0xff, 0xff, 0x70, 0x08, 0xff, 0xfb, 0x77, 0xaf, 0xff, 0xe1, 0x00
1816 ,0x3f, 0xff, 0xa7, 0x8d, 0xff, 0xf6, 0x4f, 0xfc, 0x20, 0x00, 0x02, 0xdf, 0xf9, 0x00
1817 ,0xbf, 0xe3, 0x00, 0x00, 0x8f, 0xfe, 0xdf, 0xb0, 0x00, 0x00, 0x00, 0x2e, 0xff, 0x00
1818 ,0xff, 0x60, 0x00, 0x00, 0x08, 0xff, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x08, 0xff, 0x40
1819 ,0xff, 0x10, 0x00, 0x00, 0x00, 0xcf, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
1820 ,0xff, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x60
1821 ,0xff, 0x20, 0x00, 0x00, 0x00, 0x5f, 0xff, 0x10, 0x00, 0x00, 0x00, 0x05, 0xff, 0x50
1822 ,0xff, 0x80, 0x00, 0x00, 0x03, 0xef, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x20
1823 ,0xdf, 0xf6, 0x00, 0x00, 0x5e, 0xfc, 0xcf, 0xf8, 0x00, 0x00, 0x00, 0x4f, 0xfd, 0x00
1824 ,0x4f, 0xff, 0xc8, 0x9d, 0xff, 0xf3, 0x3f, 0xff, 0xa2, 0x00, 0x06, 0xff, 0xf5, 0x00
1825 ,0x07, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x06, 0xff, 0xff, 0xdc, 0xef, 0xff, 0xa0, 0x00
1826 ,0x00, 0x4c, 0xff, 0xff, 0x91, 0x00, 0x00, 0x5e, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00
1827 ,0x00, 0x00, 0x24, 0x30, 0x00, 0x00, 0x00, 0x01, 0x8e, 0xff, 0xfb, 0x40, 0x00, 0x00
1828 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00
1829 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1830 //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1831 //
1832 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1833 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1834 ,0x00, 0x00, 0x00, 0x02, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1835 ,0x00, 0x01, 0x7d, 0xff, 0xff, 0xea, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00
1836 ,0x00, 0x6e, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xe2, 0x00
1837 ,0x08, 0xff, 0xff, 0xb9, 0x9b, 0xef, 0xff, 0xc0, 0x00, 0x00, 0x00, 0xbf, 0xfa, 0x00
1838 ,0x4f, 0xff, 0x70, 0x00, 0x00, 0x05, 0xef, 0xf8, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x10
1839 ,0xdf, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xff, 0x10, 0x00, 0x00, 0x06, 0xff, 0x50
1840 ,0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50, 0x00, 0x00, 0x04, 0xff, 0x60
1841 ,0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x70, 0x00, 0x00, 0x04, 0xff, 0x60
1842 ,0xff, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x70, 0x00, 0x00, 0x07, 0xff, 0x40
1843 ,0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x40, 0x00, 0x00, 0x0d, 0xfe, 0x00
1844 ,0xef, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xfd, 0x00, 0x00, 0x00, 0x9f, 0xf8, 0x00
1845 ,0x7f, 0xfd, 0x30, 0x00, 0x00, 0x00, 0x7f, 0xf4, 0x00, 0x00, 0x1a, 0xff, 0xd1, 0x00
1846 ,0x0b, 0xff, 0xfb, 0x52, 0x00, 0x08, 0xff, 0x60, 0x13, 0x6a, 0xff, 0xfe, 0x20, 0x00
1847 ,0x00, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xc2, 0x00, 0x00
1848 ,0x00, 0x04, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x00, 0x00, 0x00
1849 ,0x00, 0x00, 0x02, 0x69, 0xcd, 0xef, 0xff, 0xed, 0xb9, 0x62, 0x00, 0x00, 0x00, 0x00
1850 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1851 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1852 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1853 };
1854
1855 #if 0
1856 #pragma romdata font_incon_42 = 0x0E000
1857 rom const rom unsigned char incon42[] =
1858 {
1859 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1860 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1861 ,0x00, 0x00, 0x00, 0x00, 0x03, 0x7a, 0xcd, 0xee, 0xdc, 0xa8, 0x40, 0x00, 0x00, 0x00, 0x00
1862 ,0x00, 0x00, 0x00, 0x18, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x92, 0x00, 0x00, 0x00
1863 ,0x00, 0x00, 0x07, 0xef, 0xff, 0xff, 0xdc, 0xbb, 0xce, 0xff, 0xff, 0xff, 0x91, 0x00, 0x00
1864 ,0x00, 0x00, 0xbf, 0xff, 0xc7, 0x20, 0x00, 0x00, 0x00, 0x1c, 0xff, 0xff, 0xfd, 0x20, 0x00
1865 ,0x00, 0x0b, 0xff, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x02, 0xcf, 0xfc, 0x6e, 0xff, 0xd1, 0x00
1866 ,0x00, 0x7f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0xff, 0x90, 0x01, 0xbf, 0xfa, 0x00
1867 ,0x00, 0xef, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xe5, 0x00, 0x00, 0x0d, 0xff, 0x20
1868 ,0x03, 0xff, 0x60, 0x00, 0x00, 0x00, 0x02, 0xcf, 0xfc, 0x20, 0x00, 0x00, 0x05, 0xff, 0x60
1869 ,0x04, 0xff, 0x40, 0x00, 0x00, 0x00, 0x5e, 0xff, 0x90, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
1870 ,0x02, 0xff, 0x80, 0x00, 0x00, 0x08, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
1871 ,0x00, 0xcf, 0xf3, 0x00, 0x01, 0xcf, 0xfd, 0x30, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
1872 ,0x00, 0x4f, 0xfe, 0x50, 0x4e, 0xff, 0xa1, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf8, 0x00
1873 ,0x00, 0x07, 0xff, 0xfd, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7e, 0xff, 0xb0, 0x00
1874 ,0x00, 0x00, 0x5e, 0xff, 0xff, 0xd8, 0x54, 0x33, 0x34, 0x58, 0xbf, 0xff, 0xfa, 0x00, 0x00
1875 ,0x00, 0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x50, 0x00, 0x00
1876 ,0x00, 0x00, 0x00, 0x01, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x40, 0x00, 0x00, 0x00
1877 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x46, 0x77, 0x65, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00
1878 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1879 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1880 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1881 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1882 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1883 ,0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1884 ,0x00, 0x00, 0x1f, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x00
1885 ,0x00, 0x00, 0x9f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
1886 ,0x00, 0x02, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
1887 ,0x00, 0x0a, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
1888 ,0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
1889 ,0x00, 0xbf, 0xfc, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x79, 0xff, 0x00
1890 ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
1891 ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
1892 ,0x00, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x36, 0xff, 0x00
1893 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
1894 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
1895 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
1896 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xcc, 0x00
1897 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1898 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1899 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1900 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1901 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1902 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1903 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1904 ,0x00, 0x00, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0xff, 0x00
1905 ,0x00, 0x00, 0xbf, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0x00
1906 ,0x00, 0x0a, 0xff, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0x00
1907 ,0x00, 0x4f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xdb, 0xff, 0x00
1908 ,0x00, 0xcf, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xf8, 0x08, 0xff, 0x00
1909 ,0x01, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xfe, 0x40, 0x08, 0xff, 0x00
1910 ,0x04, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xd2, 0x00, 0x08, 0xff, 0x00
1911 ,0x04, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xfd, 0x10, 0x00, 0x08, 0xff, 0x00
1912 ,0x03, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xd1, 0x00, 0x00, 0x08, 0xff, 0x00
1913 ,0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xfe, 0x20, 0x00, 0x00, 0x08, 0xff, 0x00
1914 ,0x00, 0x9f, 0xfa, 0x00, 0x00, 0x00, 0x1a, 0xff, 0xe2, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
1915 ,0x00, 0x2e, 0xff, 0xd6, 0x21, 0x38, 0xef, 0xfd, 0x20, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
1916 ,0x00, 0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
1917 ,0x00, 0x00, 0x3d, 0xff, 0xff, 0xff, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
1918 ,0x00, 0x00, 0x00, 0x59, 0xbb, 0x95, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0x00
1919 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1920 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1921 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1922 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1923 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1924 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1925 ,0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0x30, 0x00
1926 ,0x00, 0x04, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xd0, 0x00
1927 ,0x00, 0x1e, 0xfe, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xf8, 0x00
1928 ,0x00, 0x7f, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xfe, 0x00
1929 ,0x00, 0xdf, 0xc0, 0x00, 0x00, 0x00, 0x07, 0x95, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0x30
1930 ,0x01, 0xff, 0x70, 0x00, 0x00, 0x00, 0x0c, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
1931 ,0x03, 0xff, 0x50, 0x00, 0x00, 0x00, 0x0e, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
1932 ,0x03, 0xff, 0x60, 0x00, 0x00, 0x00, 0x2f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
1933 ,0x01, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0x30
1934 ,0x00, 0xbf, 0xf4, 0x00, 0x00, 0x02, 0xef, 0xff, 0x70, 0x00, 0x00, 0x00, 0x2f, 0xfe, 0x00
1935 ,0x00, 0x4f, 0xfe, 0x60, 0x00, 0x5e, 0xfd, 0xbf, 0xf5, 0x00, 0x00, 0x03, 0xef, 0xf7, 0x00
1936 ,0x00, 0x09, 0xff, 0xff, 0xdf, 0xff, 0xf3, 0x2f, 0xff, 0xb6, 0x56, 0xbf, 0xff, 0xc0, 0x00
1937 ,0x00, 0x00, 0x8f, 0xff, 0xff, 0xfe, 0x40, 0x04, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x00
1938 ,0x00, 0x00, 0x02, 0x8c, 0xdb, 0x71, 0x00, 0x00, 0x2b, 0xff, 0xff, 0xfe, 0x80, 0x00, 0x00
1939 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x66, 0x30, 0x00, 0x00, 0x00
1940 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1941 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1942 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1943 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1944 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1945 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xef, 0xc0, 0x00, 0x00, 0x00, 0x00
1946 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xaf, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00
1947 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00
1948 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0xff, 0xd4, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
1949 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xef, 0xf8, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
1950 ,0x00, 0x00, 0x00, 0x00, 0x02, 0xbf, 0xfc, 0x30, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
1951 ,0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x70, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
1952 ,0x00, 0x00, 0x00, 0x2c, 0xff, 0xb2, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
1953 ,0x00, 0x00, 0x07, 0xff, 0xe6, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
1954 ,0x00, 0x03, 0xcf, 0xfa, 0x10, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
1955 ,0x00, 0x8f, 0xff, 0xea, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xef, 0xea, 0xaa, 0xaa, 0xaa, 0x00
1956 ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
1957 ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
1958 ,0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0xdf, 0xd4, 0x44, 0x44, 0x44, 0x00
1959 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
1960 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
1961 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x70, 0x00, 0x00, 0x00, 0x00
1962 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1963 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1964 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1965 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1966 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00
1967 ,0x00, 0x00, 0x00, 0x00, 0x12, 0x34, 0x56, 0x72, 0x00, 0x00, 0x00, 0x03, 0xf8, 0x00, 0x00
1968 ,0x01, 0xab, 0xcd, 0xef, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x1e, 0xff, 0x80, 0x00
1969 ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x00, 0x00, 0x00, 0x28, 0xff, 0xf3, 0x00
1970 ,0x02, 0xff, 0xda, 0xa9, 0x87, 0x67, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfb, 0x00
1971 ,0x02, 0xff, 0x70, 0x00, 0x00, 0x06, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x10
1972 ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0b, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0x50
1973 ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0d, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
1974 ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0e, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
1975 ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0e, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
1976 ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0b, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x30
1977 ,0x02, 0xff, 0x70, 0x00, 0x00, 0x06, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xfd, 0x00
1978 ,0x02, 0xff, 0x70, 0x00, 0x00, 0x00, 0xdf, 0xfd, 0x40, 0x00, 0x00, 0x29, 0xff, 0xf5, 0x00
1979 ,0x02, 0xff, 0x70, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0xba, 0xbd, 0xff, 0xff, 0x90, 0x00
1980 ,0x02, 0xff, 0x70, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00
1981 ,0x01, 0x55, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xdf, 0xff, 0xff, 0xea, 0x30, 0x00, 0x00
1982 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x42, 0x00, 0x00, 0x00, 0x00
1983 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1984 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1985 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1986 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1987 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x33, 0x33, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00
1988 ,0x00, 0x00, 0x00, 0x00, 0x49, 0xce, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x71, 0x00, 0x00, 0x00
1989 ,0x00, 0x00, 0x00, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00
1990 ,0x00, 0x00, 0x3d, 0xff, 0xff, 0xfc, 0xba, 0xff, 0xfb, 0xab, 0xef, 0xff, 0xfd, 0x20, 0x00
1991 ,0x00, 0x04, 0xff, 0xfe, 0x83, 0x00, 0x1c, 0xfd, 0x20, 0x00, 0x02, 0x8e, 0xff, 0xd1, 0x00
1992 ,0x00, 0x1e, 0xff, 0x90, 0x00, 0x00, 0xbf, 0xe1, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf9, 0x00
1993 ,0x00, 0xaf, 0xf7, 0x00, 0x00, 0x05, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
1994 ,0x01, 0xff, 0xb0, 0x00, 0x00, 0x0a, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
1995 ,0x04, 0xff, 0x50, 0x00, 0x00, 0x0d, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
1996 ,0x06, 0xff, 0x20, 0x00, 0x00, 0x0d, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x60
1997 ,0x06, 0xff, 0x30, 0x00, 0x00, 0x0a, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x30
1998 ,0x03, 0xff, 0x70, 0x00, 0x00, 0x05, 0xff, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xfd, 0x00
1999 ,0x00, 0xef, 0xe1, 0x00, 0x00, 0x00, 0xcf, 0xfd, 0x50, 0x00, 0x00, 0x28, 0xff, 0xf4, 0x00
2000 ,0x00, 0x7f, 0xfd, 0x00, 0x00, 0x00, 0x2d, 0xff, 0xff, 0xdb, 0xcd, 0xff, 0xff, 0x70, 0x00
2001 ,0x00, 0x0c, 0xd2, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xe5, 0x00, 0x00
2002 ,0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x03, 0x9d, 0xff, 0xfe, 0xb6, 0x00, 0x00, 0x00
2003 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2004 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2005 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2006 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2007 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2008 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2009 ,0x02, 0xcc, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2010 ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2011 ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00
2012 ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xef, 0x00
2013 ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x9e, 0xff, 0xff, 0x00
2014 ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xdf, 0xff, 0xff, 0xfe, 0x00
2015 ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7d, 0xff, 0xff, 0xff, 0xd9, 0x40, 0x00
2016 ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x05, 0xbf, 0xff, 0xff, 0xfd, 0x83, 0x00, 0x00, 0x00
2017 ,0x02, 0xff, 0x90, 0x00, 0x00, 0x39, 0xef, 0xff, 0xff, 0xe8, 0x30, 0x00, 0x00, 0x00, 0x00
2018 ,0x02, 0xff, 0x90, 0x00, 0x6c, 0xff, 0xff, 0xfe, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2019 ,0x02, 0xff, 0x92, 0x8e, 0xff, 0xff, 0xfb, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2020 ,0x02, 0xff, 0xef, 0xff, 0xff, 0xd7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2021 ,0x02, 0xff, 0xff, 0xff, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2022 ,0x02, 0xff, 0xfd, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2023 ,0x02, 0xba, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2024 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2025 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2026 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2027 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2028 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2029 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x67, 0x62, 0x00, 0x00, 0x00
2030 ,0x00, 0x00, 0x00, 0x24, 0x42, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xff, 0xff, 0xb2, 0x00, 0x00
2031 ,0x00, 0x00, 0x3c, 0xff, 0xff, 0xc4, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xfe, 0x30, 0x00
2032 ,0x00, 0x05, 0xff, 0xff, 0xff, 0xff, 0x70, 0x08, 0xff, 0xfb, 0x77, 0xaf, 0xff, 0xe1, 0x00
2033 ,0x00, 0x3f, 0xff, 0xa7, 0x8d, 0xff, 0xf6, 0x4f, 0xfc, 0x20, 0x00, 0x02, 0xdf, 0xf9, 0x00
2034 ,0x00, 0xbf, 0xe3, 0x00, 0x00, 0x8f, 0xfe, 0xdf, 0xb0, 0x00, 0x00, 0x00, 0x2e, 0xff, 0x00
2035 ,0x01, 0xff, 0x60, 0x00, 0x00, 0x08, 0xff, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x08, 0xff, 0x40
2036 ,0x05, 0xff, 0x10, 0x00, 0x00, 0x00, 0xcf, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
2037 ,0x06, 0xff, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x60
2038 ,0x06, 0xff, 0x20, 0x00, 0x00, 0x00, 0x5f, 0xff, 0x10, 0x00, 0x00, 0x00, 0x05, 0xff, 0x50
2039 ,0x03, 0xff, 0x80, 0x00, 0x00, 0x03, 0xef, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x20
2040 ,0x00, 0xdf, 0xf6, 0x00, 0x00, 0x5e, 0xfc, 0xcf, 0xf8, 0x00, 0x00, 0x00, 0x4f, 0xfd, 0x00
2041 ,0x00, 0x4f, 0xff, 0xc8, 0x9d, 0xff, 0xf3, 0x3f, 0xff, 0xa2, 0x00, 0x06, 0xff, 0xf5, 0x00
2042 ,0x00, 0x07, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x06, 0xff, 0xff, 0xdc, 0xef, 0xff, 0xa0, 0x00
2043 ,0x00, 0x00, 0x4c, 0xff, 0xff, 0x91, 0x00, 0x00, 0x5e, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00
2044 ,0x00, 0x00, 0x00, 0x24, 0x30, 0x00, 0x00, 0x00, 0x01, 0x8e, 0xff, 0xfb, 0x40, 0x00, 0x00
2045 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00
2046 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2047 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2048 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2049 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2050 ,0x00, 0x00, 0x00, 0x00, 0x02, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2051 ,0x00, 0x00, 0x01, 0x7d, 0xff, 0xff, 0xea, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00
2052 ,0x00, 0x00, 0x6e, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xe2, 0x00
2053 ,0x00, 0x08, 0xff, 0xff, 0xb9, 0x9b, 0xef, 0xff, 0xc0, 0x00, 0x00, 0x00, 0xbf, 0xfa, 0x00
2054 ,0x00, 0x4f, 0xff, 0x70, 0x00, 0x00, 0x05, 0xef, 0xf8, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x10
2055 ,0x00, 0xdf, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xff, 0x10, 0x00, 0x00, 0x06, 0xff, 0x50
2056 ,0x03, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50, 0x00, 0x00, 0x04, 0xff, 0x60
2057 ,0x05, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x70, 0x00, 0x00, 0x04, 0xff, 0x60
2058 ,0x06, 0xff, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x70, 0x00, 0x00, 0x07, 0xff, 0x40
2059 ,0x04, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x40, 0x00, 0x00, 0x0d, 0xfe, 0x00
2060 ,0x00, 0xef, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xfd, 0x00, 0x00, 0x00, 0x9f, 0xf8, 0x00
2061 ,0x00, 0x7f, 0xfd, 0x30, 0x00, 0x00, 0x00, 0x7f, 0xf4, 0x00, 0x00, 0x1a, 0xff, 0xd1, 0x00
2062 ,0x00, 0x0b, 0xff, 0xfb, 0x52, 0x00, 0x08, 0xff, 0x60, 0x13, 0x6a, 0xff, 0xfe, 0x20, 0x00
2063 ,0x00, 0x00, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xc2, 0x00, 0x00
2064 ,0x00, 0x00, 0x04, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x00, 0x00, 0x00
2065 ,0x00, 0x00, 0x00, 0x02, 0x69, 0xcd, 0xef, 0xff, 0xed, 0xb9, 0x62, 0x00, 0x00, 0x00, 0x00
2066 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2067 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2068 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2069 };
2070 #endif
1230 2071
1231 // ********************** 2072 // **********************
1232 // ********************** 2073 // **********************
1233 // ** THE JUMP-IN CODE ** 2074 // ** THE JUMP-IN CODE **
1234 // ** for the asm code ** 2075 // ** for the asm code **
1235 // ********************** 2076 // **********************
1236 // ********************** 2077 // **********************
1237 #pragma code main_calc_hauptroutine = 0x10000 2078 #pragma code main_calc_hauptroutine = 0x10000
1238 void main_calc_hauptroutine(void) // length 0x0A 2079 void main_calc_hauptroutine(void)
1239 { 2080 {
1240 calc_hauptroutine(); 2081 calc_hauptroutine();
1241 int_O_desaturation_time = 65535; 2082 int_O_desaturation_time = 65535;
1242 } // divemode 2083 } // divemode
1243 2084 #pragma code main_without_deco = 0x10020
1244 #pragma code main_without_deco = 0x1000C // length 0x06
1245 void main_calc_without_deco(void) 2085 void main_calc_without_deco(void)
1246 { 2086 {
1247 calc_without_deco(); 2087 calc_without_deco();
1248 calc_desaturation_time(); 2088 calc_desaturation_time();
1249 } 2089 }
1250 2090
1251 2091 #pragma code main_clear_CNS_fraction = 0x10030
1252 #pragma code main_clear_CNS_fraction = 0x10016
1253 void main_clear_CNS_fraction(void) 2092 void main_clear_CNS_fraction(void)
1254 { 2093 {
1255 clear_CNS_fraction(); 2094 clear_CNS_fraction();
1256 } 2095 }
1257 2096
1258 #pragma code main_calc_CNS_decrease_15min = 0x1001C 2097 #pragma code main_calc_CNS_decrease_15min = 0x10034
1259 void main_calc_CNS_decrease_15min(void) // length 0x06 2098 void main_calc_CNS_decrease_15min(void)
1260 { 2099 {
1261 calc_CNS_decrease_15min(); 2100 calc_CNS_decrease_15min();
1262 } 2101 }
1263 2102
1264 #pragma code main_calc_percentage = 0x10022 2103 #pragma code main_calc_percentage = 0x10038
1265 void main_calc_percentage(void) 2104 void main_calc_percentage (void)
1266 { 2105 {
1267 calc_percentage(); 2106 calc_percentage();
1268 } 2107 }
1269 2108
1270 #pragma code main_clear_tissue = 0x10028 2109 #pragma code main_clear_tissue = 0x10040
1271 void main_clear_tissue(void) 2110 void main_clear_tissue(void)
1272 { 2111 {
1273 clear_tissue(); 2112 clear_tissue();
1274 char_I_depth_last_deco = 0; // for compatibility with v.101pre_no_last_deco 2113 char_I_depth_last_deco = 0; // for compatibility with v.101pre_no_last_deco
1275 } 2114 }
1276 2115
1277 #pragma code main_calc_CNS_fraction = 0x10032 2116 #pragma code main_calc_CNS_fraction = 0x10050
1278 void main_calc_CNS_fraction(void) 2117 void main_calc_CNS_fraction(void)
1279 { 2118 {
1280 calc_CNS_fraction(); 2119 calc_CNS_fraction();
1281 } 2120 }
1282 2121
1283 #pragma code main_calc_desaturation_time = 0x10038 2122 #pragma code main_calc_desaturation_time = 0x10060
1284 void main_calc_desaturation_time(void) 2123 void main_calc_desaturation_time(void)
1285 { 2124 {
1286 calc_desaturation_time(); 2125 calc_desaturation_time();
1287 } 2126 }
1288 2127
1289 #pragma code main_calc_wo_deco_step_1_min = 0x1003E 2128 #pragma code main_calc_wo_deco_step_1_min = 0x10080
1290 void main_calc_wo_deco_step_1_min(void) 2129 void main_calc_wo_deco_step_1_min(void)
1291 { 2130 {
1292 calc_wo_deco_step_1_min(); 2131 calc_wo_deco_step_1_min();
1293 char_O_deco_status = 3; // surface new in v.102 overwrites value of calc_wo_deco_step_1_min 2132 char_O_deco_status = 3; // surface new in v.102 overwrites value of calc_wo_deco_step_1_min
1294 calc_desaturation_time(); 2133 calc_desaturation_time();
1295 } // surface mode 2134 } // surface mode
1296 2135
1297 #pragma code main_wordprocessor = 0x1004E 2136 #pragma code main_debug = 0x100A0
1298 void main_wordprocessor(void) 2137 void main_debug(void)
1299 { 2138 {
1300 wordprocessor(); 2139 //debug();
1301 } 2140 }
1302 2141
1303 #pragma code main_gradient_array = 0x10054 2142 #pragma code main_DD2_write_incon42 = 0x100B0
2143 void main_DD2_write_incon42(void)
2144 {
2145 DD2_write_incon42();
2146 }
2147
2148 #pragma code main_DD2_write_incon24 = 0x100B4
2149 void main_DD2_write_incon24(void)
2150 {
2151 DD2_write_incon24();
2152 }
2153
2154 #pragma code main_gradient_array = 0x100C0
1304 void main_gradient_array(void) 2155 void main_gradient_array(void)
1305 { 2156 {
1306 calc_gradient_array_only(); 2157 calc_gradient_array_only();
1307 } 2158 }
1308 2159 #pragma code main_push_tissues = 0x100C4
1309 #pragma code main_push_tissues = 0x1005A
1310 void main_push_tissues_to_vault(void) 2160 void main_push_tissues_to_vault(void)
1311 { 2161 {
1312 push_tissues_to_vault(); 2162 push_tissues_to_vault();
1313 } 2163 }
1314 2164 #pragma code main_pull_tissues = 0x100C8
1315 #pragma code main_pull_tissues = 0x10060
1316 void main_pull_tissues_from_vault(void) 2165 void main_pull_tissues_from_vault(void)
1317 { 2166 {
1318 pull_tissues_from_vault(); 2167 pull_tissues_from_vault();
1319 } 2168 }
1320 2169
1321 #pragma code main_hash = 0x10066 2170 #pragma code main_hash = 0x100E0
1322 void main_hash(void) 2171 void main_hash(void)
1323 { 2172 {
1324 hash(); 2173 hash();
1325 } 2174 }
1326 /*
1327 #pragma code main_debug = 0x1004E
1328 void main_debug(void)
1329 {
1330 // debug();
1331 }
1332 */
1333 2175
1334 // *********************** 2176 // ***********************
1335 // *********************** 2177 // ***********************
1336 // ** THE LOOKUP TABLES ** 2178 // ** THE LOOKUP TABLES **
1337 // *********************** 2179 // ***********************
1338 // *********************** 2180 // ***********************
1339 2181
1340 #pragma romdata tables = 0x10200 2182 #pragma romdata tables = 0x10200
1341 #include <p2_tables.romdata> // new table for deco_main_v.101 (var_a modified) 2183 #include "p2_tables.romdata" // new table for deco_main_v.101 (var_a modified)
1342 2184
1343 #pragma romdata tables2 = 0x10600 2185 #pragma romdata tables2 = 0x10600
1344 rom const rom unsigned int md_pi[] = 2186 rom const rom unsigned int md_pi[] =
1345 { 2187 {
1346 0x292E, 0x43C9, 0xA2D8, 0x7C01, 0x3D36, 0x54A1, 0xECF0, 0x0613 2188 0x292E, 0x43C9, 0xA2D8, 0x7C01, 0x3D36, 0x54A1, 0xECF0, 0x0613
1560 2402
1561 N2_ratio = (float)char_I_N2_ratio / 100.0;; // the 0.0002 of 0.7902 are missing with standard air 2403 N2_ratio = (float)char_I_N2_ratio / 100.0;; // the 0.0002 of 0.7902 are missing with standard air
1562 He_ratio = (float)char_I_He_ratio / 100.0;; 2404 He_ratio = (float)char_I_He_ratio / 100.0;;
1563 deco_N2_ratio = (float)char_I_deco_N2_ratio / 100.0; 2405 deco_N2_ratio = (float)char_I_deco_N2_ratio / 100.0;
1564 deco_He_ratio = (float)char_I_deco_He_ratio / 100.0; 2406 deco_He_ratio = (float)char_I_deco_He_ratio / 100.0;
2407 deco_N2_ratio2 = (float)char_I_deco_N2_ratio2 / 100.0;
2408 deco_He_ratio2 = (float)char_I_deco_He_ratio2 / 100.0;
2409 deco_N2_ratio3 = (float)char_I_deco_N2_ratio3 / 100.0;
2410 deco_He_ratio3 = (float)char_I_deco_He_ratio3 / 100.0;
2411 deco_N2_ratio4 = (float)char_I_deco_N2_ratio4 / 100.0;
2412 deco_He_ratio4 = (float)char_I_deco_He_ratio4 / 100.0;
2413 deco_N2_ratio5 = (float)char_I_deco_N2_ratio5 / 100.0;
2414 deco_He_ratio5 = (float)char_I_deco_He_ratio5 / 100.0;
1565 float_deco_distance = (float)char_I_deco_distance / 100.0; 2415 float_deco_distance = (float)char_I_deco_distance / 100.0;
2416
2417 // ____________________________________________________
2418 //
2419 // _____________ G A S _ C H A N G E S ________________
2420 // ____________________________________________________
2421
2422 int_temp = (int_I_pres_respiration - int_I_pres_surface) + MBAR_REACH_GASCHANGE_AUTO_CHANGE_OFF;
2423
2424 deco_gas_change = 0;
2425 deco_gas_change2 = 0;
2426 deco_gas_change3 = 0;
2427 deco_gas_change4 = 0;
2428 deco_gas_change5 = 0;
2429
1566 if(char_I_deco_gas_change) 2430 if(char_I_deco_gas_change)
1567 { 2431 {
1568 deco_gas_change = (float)char_I_deco_gas_change / 9.995 + pres_surface; 2432 int_temp2 = ((int)char_I_deco_gas_change) * 100;
1569 deco_gas_change = deco_gas_change + float_deco_distance; 2433 if(int_temp > int_temp2)
2434 {
2435 deco_gas_change = (float)char_I_deco_gas_change / 9.995 + pres_surface;
2436 deco_gas_change += float_deco_distance;
2437 }
1570 } 2438 }
1571 else 2439 if(char_I_deco_gas_change2)
1572 deco_gas_change = 0; 2440 {
2441 int_temp2 = ((int)char_I_deco_gas_change2) * 100;
2442 if(int_temp > int_temp2)
2443 {
2444 deco_gas_change2 = (float)char_I_deco_gas_change2 / 9.995 + pres_surface;
2445 deco_gas_change2 += float_deco_distance;
2446 }
2447 }
2448 if(char_I_deco_gas_change3)
2449 {
2450 int_temp2 = ((int)char_I_deco_gas_change3) * 100;
2451 if(int_temp > int_temp2)
2452 {
2453 deco_gas_change3 = (float)char_I_deco_gas_change3 / 9.995 + pres_surface;
2454 deco_gas_change3 += float_deco_distance;
2455 }
2456 }
2457 if(char_I_deco_gas_change4)
2458 {
2459 int_temp2 = ((int)char_I_deco_gas_change4) * 100;
2460 if(int_temp > int_temp2)
2461 {
2462 deco_gas_change4 = (float)char_I_deco_gas_change4 / 9.995 + pres_surface;
2463 deco_gas_change4 += float_deco_distance;
2464 }
2465 }
2466 if(char_I_deco_gas_change5)
2467 {
2468 int_temp2 = ((int)char_I_deco_gas_change5) * 100;
2469 if(int_temp > int_temp2)
2470 {
2471 deco_gas_change5 = (float)char_I_deco_gas_change5 / 9.995 + pres_surface;
2472 deco_gas_change5 += float_deco_distance;
2473 }
2474 }
2475
1573 const_ppO2 = (float)char_I_const_ppO2 / 100.0; 2476 const_ppO2 = (float)char_I_const_ppO2 / 100.0;
1574 deco_ppO2_change = (float)char_I_deco_ppO2_change / 99.95 + pres_surface; 2477 deco_ppO2_change = (float)char_I_deco_ppO2_change / 99.95 + pres_surface;
1575 deco_ppO2_change = deco_ppO2_change + float_deco_distance; 2478 deco_ppO2_change = deco_ppO2_change + float_deco_distance;
1576 deco_ppO2 = (float)char_I_deco_ppO2 / 100.0; 2479 deco_ppO2 = (float)char_I_deco_ppO2 / 100.0;
1577 float_desaturation_multiplier = char_I_desaturation_multiplier / 100.0; 2480 float_desaturation_multiplier = char_I_desaturation_multiplier / 100.0;
1611 temp_atem = 0.0; // new in v.101 2514 temp_atem = 0.0; // new in v.101
1612 temp2_atem = 0.0; // new in v.101 2515 temp2_atem = 0.0; // new in v.101
1613 char_O_diluent = 0; 2516 char_O_diluent = 0;
1614 } 2517 }
1615 temp_surface = pres_surface; 2518 temp_surface = pres_surface;
1616 calc_tissue(); 2519
2520 if(!char_I_step_is_1min)
2521 calc_tissue();
2522 else
2523 calc_tissue_step_1_min();
2524
1617 int_O_gtissue_limit = (int)(pres_tissue_limit[char_O_gtissue_no] * 1000); 2525 int_O_gtissue_limit = (int)(pres_tissue_limit[char_O_gtissue_no] * 1000);
1618 int_O_gtissue_press = (int)((pres_tissue[char_O_gtissue_no] + pres_tissue[char_O_gtissue_no+16]) * 1000); 2526 int_O_gtissue_press = (int)((pres_tissue[char_O_gtissue_no] + pres_tissue[char_O_gtissue_no+16]) * 1000);
1619 if (char_I_deco_model == 1) 2527 if (char_I_deco_model == 1)
1620 { 2528 {
1621 temp1 = temp1 * GF_high; 2529 temp1 = temp1 * GF_high;
1636 { 2544 {
1637 int_temp_decostatus = 0; 2545 int_temp_decostatus = 0;
1638 calc_nextdecodepth_GF(); 2546 calc_nextdecodepth_GF();
1639 if (temp_depth_limit > 0) 2547 if (temp_depth_limit > 0)
1640 { 2548 {
1641 if (char_I_const_ppO2 == 0) // new in v.101 2549 calc_N2_ratio = N2_ratio;
2550 calc_He_ratio = He_ratio;
2551
2552 if (char_I_const_ppO2 == 0) // new in v.101
1642 { 2553 {
1643 deco_diluent = temp_deco; // new in v.101 2554 deco_diluent = temp_deco; // new in v.101
1644 if (temp_deco > deco_gas_change) 2555
1645 { 2556 if(deco_gas_change && (temp_deco < deco_gas_change))
1646 calc_N2_ratio = N2_ratio; 2557 {
1647 calc_He_ratio = He_ratio; 2558 calc_N2_ratio = deco_N2_ratio;
1648 } 2559 calc_He_ratio = deco_He_ratio;
1649 else 2560 }
1650 { 2561 if(deco_gas_change2 && (temp_deco < deco_gas_change2))
1651 calc_N2_ratio = deco_N2_ratio; 2562 {
1652 calc_He_ratio = deco_He_ratio; 2563 calc_N2_ratio = deco_N2_ratio2;
1653 } 2564 calc_He_ratio = deco_He_ratio2;
2565 }
2566 if(deco_gas_change3 && (temp_deco < deco_gas_change3))
2567 {
2568 calc_N2_ratio = deco_N2_ratio3;
2569 calc_He_ratio = deco_He_ratio3;
2570 }
2571 if(deco_gas_change4 && (temp_deco < deco_gas_change4))
2572 {
2573 calc_N2_ratio = deco_N2_ratio4;
2574 calc_He_ratio = deco_He_ratio4;
2575 }
2576 if(deco_gas_change5 && (temp_deco < deco_gas_change5))
2577 {
2578 calc_N2_ratio = deco_N2_ratio5;
2579 calc_He_ratio = deco_He_ratio5;
2580 }
1654 } 2581 }
1655 else // new in v.101 2582 else // new in v.101
1656 { 2583 {
1657 calc_N2_ratio = N2_ratio;
1658 calc_He_ratio = He_ratio;
1659 if (temp_deco > deco_ppO2_change) 2584 if (temp_deco > deco_ppO2_change)
1660 { 2585 {
1661 deco_diluent = ((temp_deco - const_ppO2)/(N2_ratio + He_ratio)); // new in v.101 2586 deco_diluent = ((temp_deco - const_ppO2)/(N2_ratio + He_ratio)); // new in v.101
1662 } 2587 }
1663 else 2588 else
1717 temp_limit = temp_pres_gtissue_limit; 2642 temp_limit = temp_pres_gtissue_limit;
1718 if ((temp_deco > temp_limit) && (temp_deco > pres_surface)) // changes in v.102 2643 if ((temp_deco > temp_limit) && (temp_deco > pres_surface)) // changes in v.102
1719 { 2644 {
1720 lock_GF_depth_list = 0; // new in v.102, distance to first stop > 10 mtr. 2645 lock_GF_depth_list = 0; // new in v.102, distance to first stop > 10 mtr.
1721 output[6] = 0; 2646 output[6] = 0;
1722 if (char_I_const_ppO2 == 0) // new in v.101 // calculate at half of the ascent 2647 temp_deco += 0.5;
2648
2649 calc_N2_ratio = N2_ratio;
2650 calc_He_ratio = He_ratio;
2651
2652 if (char_I_const_ppO2 == 0) // new in v.101 // calculate at half of the ascent
1723 { 2653 {
1724 deco_diluent = temp_deco + 0.5; // new in v.101 2654 deco_diluent = temp_deco; // new in v.101
1725 if (temp_deco + 0.5 > deco_gas_change) 2655
1726 { 2656 if(deco_gas_change && (temp_deco < deco_gas_change))
1727 calc_N2_ratio = N2_ratio; 2657 {
1728 calc_He_ratio = He_ratio;
1729 }
1730 else
1731 {
1732 calc_N2_ratio = deco_N2_ratio; 2658 calc_N2_ratio = deco_N2_ratio;
1733 calc_He_ratio = deco_He_ratio; 2659 calc_He_ratio = deco_He_ratio;
2660 }
2661 if(deco_gas_change2 && (temp_deco < deco_gas_change2))
2662 {
2663 calc_N2_ratio = deco_N2_ratio2;
2664 calc_He_ratio = deco_He_ratio2;
2665 }
2666 if(deco_gas_change3 && (temp_deco < deco_gas_change3))
2667 {
2668 calc_N2_ratio = deco_N2_ratio3;
2669 calc_He_ratio = deco_He_ratio3;
2670 }
2671 if(deco_gas_change4 && (temp_deco < deco_gas_change4))
2672 {
2673 calc_N2_ratio = deco_N2_ratio4;
2674 calc_He_ratio = deco_He_ratio4;
2675 }
2676 if(deco_gas_change5 && (temp_deco < deco_gas_change5))
2677 {
2678 calc_N2_ratio = deco_N2_ratio5;
2679 calc_He_ratio = deco_He_ratio5;
1734 } 2680 }
1735 } 2681 }
1736 else // new in v.101 2682 else // new in v.101
1737 { 2683 {
1738 calc_N2_ratio = N2_ratio; 2684 if (temp_deco > deco_ppO2_change)
1739 calc_He_ratio = He_ratio; 2685 deco_diluent = ((temp_deco - const_ppO2)/(N2_ratio + He_ratio)); // new in v.101 // calculate at half of the ascent
1740 if (temp_deco + 0.5 > deco_ppO2_change)
1741 deco_diluent = ((temp_deco + 0.5 - const_ppO2)/(N2_ratio + He_ratio)); // new in v.101 // calculate at half of the ascent
1742 else 2686 else
1743 deco_diluent = ((temp_deco + 0.5 - deco_ppO2)/(N2_ratio + He_ratio)); // new in v.101 // calculate at half of the ascent 2687 deco_diluent = ((temp_deco - deco_ppO2)/(N2_ratio + He_ratio)); // new in v.101 // calculate at half of the ascent
1744 if (deco_diluent > (temp_deco +0.5)) // new in v.101 2688 if (deco_diluent > (temp_deco)) // new in v.101
1745 deco_diluent = temp_deco + 0.5; // new in v.101 // calculate at half of the ascent 2689 deco_diluent = temp_deco; // new in v.101 // calculate at half of the ascent
1746 } 2690 }
2691 temp_deco -= 0.5;
1747 if (deco_diluent > 0.0627) // new in v.101 2692 if (deco_diluent > 0.0627) // new in v.101
1748 { 2693 {
1749 temp_atem = calc_N2_ratio * (deco_diluent - 0.0627); // changed in v.101 2694 temp_atem = calc_N2_ratio * (deco_diluent - 0.0627); // changed in v.101
1750 temp2_atem = calc_He_ratio * (deco_diluent - 0.0627); // changed in v.101 2695 temp2_atem = calc_He_ratio * (deco_diluent - 0.0627); // changed in v.101
1751 } 2696 }
2705 { 3650 {
2706 pres_gtissue_limit = pres_tissue_limit[ci]; 3651 pres_gtissue_limit = pres_tissue_limit[ci];
2707 char_O_gtissue_no = ci; 3652 char_O_gtissue_no = ci;
2708 }//if 3653 }//if
2709 3654
2710 // gradient factor array for graphical display 3655 if(!char_I_step_is_1min)
2711 // display range is 0 to 250! in steps of 5 for 1 pixel 3656 {
2712 // the display is divided in 6 blocks 3657 // gradient factor array for graphical display
2713 // -> double the gradient 100% = 200 3658 // display range is 0 to 250! in steps of 5 for 1 pixel
2714 // tissue > respiration (entsaettigungsvorgang) 3659 // the display is divided in 6 blocks
2715 // gradient ist wieviel prozent an limit von tissue aus 3660 // -> double the gradient 100% = 200
2716 // dh. 0% = respiration == tissue 3661 // tissue > respiration (entsaettigungsvorgang)
2717 // dh. 100% = respiration == limit 3662 // gradient ist wieviel prozent an limit von tissue aus
2718 temp1 = temp_tissue - pres_respiration; 3663 // dh. 0% = respiration == tissue
2719 temp2 = temp_tissue - pres_tissue_limit[ci]; // changed in v.102 3664 // dh. 100% = respiration == limit
2720 temp2 = temp1/temp2; 3665 temp1 = temp_tissue - pres_respiration;
2721 temp2 = temp2 * 200; // because of output in (Double-)percentage 3666 temp2 = temp_tissue - pres_tissue_limit[ci]; // changed in v.102
2722 if (temp2 < 0) 3667 temp2 = temp1/temp2;
2723 temp2 = 0; 3668 temp2 = temp2 * 200; // because of output in (Double-)percentage
2724 if (temp2 > 255) 3669 if (temp2 < 0)
2725 temp2 = 255; 3670 temp2 = 0;
2726 if (temp1 < 0) 3671 if (temp2 > 255)
2727 char_O_array_gradient_weighted[ci] = 0; 3672 temp2 = 255;
2728 else 3673 if (temp1 < 0)
2729 char_O_array_gradient_weighted[ci] = (char)temp2; 3674 char_O_array_gradient_weighted[ci] = 0;
2730 3675 else
3676 char_O_array_gradient_weighted[ci] = (char)temp2;
3677 }
2731 } // for 3678 } // for
2732 } // calc wo deco 1min 3679 } // calc wo deco 1min
2733 3680
2734 #if 0 3681 #if 0
2735 // -------- 3682 // --------
2761 movwf TBLPTRU,0 3708 movwf TBLPTRU,0
2762 movlw 0x06 3709 movlw 0x06
2763 movwf TBLPTRH,0 3710 movwf TBLPTRH,0
2764 movlw 0x00 3711 movlw 0x00
2765 movwf TBLPTRL,0 3712 movwf TBLPTRL,0
2766 _endasm 3713 _endasm;
2767 for (md_i=0;md_i<127;md_i++) 3714 for (md_i=0;md_i<127;md_i++)
2768 { 3715 {
2769 _asm 3716 _asm
2770 TBLRDPOSTINC 3717 TBLRDPOSTINC
2771 movff TABLAT,md_temp 3718 movff TABLAT,md_temp
2773 md_pi_subst[md_i] = md_temp; 3720 md_pi_subst[md_i] = md_temp;
2774 } // for md_i 256 3721 } // for md_i 256
2775 _asm 3722 _asm
2776 TBLRDPOSTINC 3723 TBLRDPOSTINC
2777 movff TABLAT,md_temp 3724 movff TABLAT,md_temp
2778 _endasm 3725 _endasm;
2779 md_pi_subst[127] = md_temp; 3726 md_pi_subst[127] = md_temp;
2780 for (md_i=0;md_i<127;md_i++) 3727 for (md_i=0;md_i<127;md_i++)
2781 { 3728 {
2782 _asm 3729 _asm
2783 TBLRDPOSTINC 3730 TBLRDPOSTINC
2941 temp3 = temp1 * temp2; 3888 temp3 = temp1 * temp2;
2942 int_I_temp = (int)temp3; 3889 int_I_temp = (int)temp3;
2943 } 3890 }
2944 void push_tissues_to_vault(void) 3891 void push_tissues_to_vault(void)
2945 { 3892 {
3893 cns_vault = CNS_fraction;
2946 for (ci=0;ci<32;ci++) 3894 for (ci=0;ci<32;ci++)
2947 pres_tissue_vault[ci] = pres_tissue[ci]; 3895 pres_tissue_vault[ci] = pres_tissue[ci];
2948 } 3896 }
2949 void pull_tissues_from_vault(void) 3897 void pull_tissues_from_vault(void)
2950 { 3898 {
3899 CNS_fraction = cns_vault;
2951 for (ci=0;ci<32;ci++) 3900 for (ci=0;ci<32;ci++)
2952 pres_tissue[ci] = pres_tissue_vault[ci]; 3901 pres_tissue[ci] = pres_tissue_vault[ci];
2953 } 3902 }
2954 3903
2955 void wp_write_command(void)
2956 {
2957 _asm
2958 bcf oled_rs
2959 nop
2960 movff wp_command,PORTD
2961 bcf oled_rw
2962 nop
2963 bsf oled_rw
2964 _endasm
2965 }
2966
2967 void wp_write_data(void)
2968 {
2969 wp_data_8bit_one = wp_data_16bit >> 8;
2970 wp_data_8bit_two = wp_data_16bit;
2971 _asm
2972 bsf oled_rs
2973 nop
2974 movff wp_data_8bit_one,PORTD
2975 bcf oled_rw
2976 nop
2977 bsf oled_rw
2978 nop
2979 movff wp_data_8bit_two,PORTD
2980 nop
2981 bcf oled_rw
2982 nop
2983 bsf oled_rw
2984 _endasm
2985 }
2986
2987 void wp_write_black(void)
2988 {
2989 _asm
2990 movff wp_black,PORTD
2991 bcf oled_rw
2992 nop
2993 bsf oled_rw
2994 nop
2995 bcf oled_rw
2996 nop
2997 bsf oled_rw
2998 _endasm
2999 }
3000
3001 void wp_write_color(void)
3002 {
3003 _asm
3004 movff wp_color1,PORTD
3005 bcf oled_rw
3006 nop
3007 bsf oled_rw
3008 nop
3009 movff wp_color2,PORTD
3010 bcf oled_rw
3011 nop
3012 bsf oled_rw
3013 _endasm
3014 }
3015
3016 void wp_set_window(void)
3017 {
3018 // x axis start ( 0 - 319)
3019 wp_command = 0x35;
3020 wp_write_command();
3021 wp_data_16bit = ((U16)wp_leftx2) << 1;
3022 wp_write_data();
3023 // x axis end ( 0 - 319)
3024 wp_command = 0x36;
3025 wp_write_command();
3026 wp_data_16bit = 319;
3027 wp_write_data();
3028 // y axis start + end ( 0 - 239 )
3029 wp_command = 0x37;
3030 wp_write_command();
3031 // the bottom part
3032 wp_data_16bit = wp_top;
3033 if(wp_font == 2)
3034 wp_data_16bit += WP_FONT_LARGE_HEIGHT;
3035 else if(wp_font == 1)
3036 wp_data_16bit += WP_FONT_MEDIUM_HEIGHT;
3037 else
3038 wp_data_16bit += WP_FONT_SMALL_HEIGHT;
3039 wp_data_16bit--;
3040 if(wp_data_16bit > 239)
3041 wp_data_16bit = 239;
3042 // the top part
3043 wp_data_16bit |= ((U16)wp_top) << 8;
3044 // all together in one 16bit transfer
3045 wp_write_data();
3046
3047 // start
3048 wp_command = 0x20;
3049 wp_write_command();
3050 wp_data_16bit = wp_top;
3051 wp_write_data();
3052
3053 wp_command = 0x21;
3054 wp_write_command();
3055 wp_data_16bit = ((U16)wp_leftx2) << 1;
3056 wp_write_data();
3057 }
3058
3059 void wp_set_char_font_small(void)
3060 {
3061 if(wp_char == ' ')
3062 wp_char = '¶';
3063
3064 if (wp_char > 0x7E) // skip space between ~ and ¡
3065 wp_char -= 34;
3066
3067 if((wp_char < '!') || (wp_char > 0xA1)) // font has 34 chars after ~ // ¾ + 4 chars limit to end of battery at the moment
3068 wp_char = 0x82; // ¤
3069
3070 wp_start = wp_small_table[wp_char - '!'];
3071 wp_end = wp_small_table[1 + wp_char - '!'];
3072 }
3073
3074 void wp_set_char_font_medium(void)
3075 {
3076 // space is 3E
3077 if (wp_char == 0x27) // 0x27 == '
3078 wp_char = 0x3B;
3079 if (wp_char == '"')
3080 wp_char = 0x3C;
3081 if (wp_char == 'm')
3082 wp_char = 0x3D;
3083 if (wp_char == ' ')
3084 wp_char = 0x3E;
3085
3086 if((wp_char < '.') || (wp_char > 0x3E))
3087 wp_char = 0x3E;
3088 wp_start = wp_medium_table[wp_char - '.'];
3089 wp_end = wp_medium_table[1 + wp_char - '.'];
3090 }
3091
3092 void wp_set_char_font_large(void)
3093 {
3094 // space is / = 0x2F
3095 if (wp_char == ' ')
3096 wp_char = 0x2F;
3097
3098 if((wp_char < '.') || (wp_char > '9'))
3099 wp_char = 0x2F;
3100 wp_start = wp_large_table[wp_char - '.'];
3101 wp_end = wp_large_table[1 + wp_char - '.'];
3102 }
3103
3104 void wordprocessor(void)
3105 {
3106 wp_set_window();
3107
3108 // access to GRAM
3109 wp_command = 0x22;
3110 wp_write_command();
3111 _asm
3112 bsf oled_rs
3113 nop
3114 _endasm
3115
3116 wp_txtptr = 0;
3117 wp_char = wp_stringstore[wp_txtptr];
3118
3119 while(wp_char)
3120 {
3121 if(wp_font == 2)
3122 wp_set_char_font_large();
3123 else if(wp_font == 1)
3124 wp_set_char_font_medium();
3125 else
3126 wp_set_char_font_small();
3127
3128 wp_black = 0;
3129
3130 for(wp_i = wp_start; wp_i<wp_end;wp_i++)
3131 {
3132 if(wp_font == 2)
3133 wp_data_16bit = wp_large_data[wp_i / 2];
3134 else if(wp_font == 1)
3135 wp_data_16bit = wp_medium_data[wp_i / 2];
3136 else
3137 wp_data_16bit = wp_small_data[wp_i / 2];
3138 if(wp_i & 1)
3139 wp_temp_U8 = wp_data_16bit & 0xFF;
3140 else
3141 wp_temp_U8 = wp_data_16bit >> 8;
3142 if((wp_temp_U8 & 128))
3143 {
3144 wp_temp_U8 -= 127;
3145 if(wp_invert)
3146 {
3147 while(wp_temp_U8 > 0)
3148 {
3149 wp_temp_U8--;
3150 wp_write_color();
3151 }
3152 }
3153 else
3154 {
3155 _asm
3156 movff wp_black,PORTD
3157 _endasm
3158 while(wp_temp_U8 > 0)
3159 {
3160 wp_temp_U8--;
3161 _asm
3162 bcf oled_rw
3163 nop
3164 bsf oled_rw
3165 nop
3166 bcf oled_rw
3167 nop
3168 bsf oled_rw
3169 _endasm
3170 }
3171 }
3172 }
3173 else
3174 {
3175 wp_temp_U8++;
3176 if(wp_invert)
3177 {
3178 _asm
3179 movff wp_black,PORTD
3180 _endasm
3181 while(wp_temp_U8 > 0)
3182 {
3183 wp_temp_U8--;
3184 _asm
3185 bcf oled_rw
3186 nop
3187 bsf oled_rw
3188 nop
3189 bcf oled_rw
3190 nop
3191 bsf oled_rw
3192 _endasm
3193 }
3194 }
3195 else
3196 {
3197 while(wp_temp_U8 > 0)
3198 {
3199 wp_temp_U8--;
3200 wp_write_color();
3201 }
3202 }
3203 }
3204 }
3205 wp_txtptr++;
3206 wp_char = wp_stringstore[wp_txtptr];
3207 }
3208 wp_command = 0x00;
3209 wp_write_command();
3210 }
3211