changeset 1:210410f7c1b4

clean up
author heinrichsweikamp
date Tue, 12 Jan 2010 16:07:28 +0100
parents 96a35aeda5f2
children d11ef8dc4b2c
files code_part1/OSTC_code_c_part2/old/changes_log.txt code_part1/OSTC_code_c_part2/old/p2_deco_main - bigscreen.c code_part1/OSTC_code_c_part2/old/p2_deco_main_old_v107.c code_part1/OSTC_code_c_part2/old/p2_deco_main_old_v108_pre OSTC2.c code_part1/OSTC_code_c_part2/ostc_bigscreen.cof code_part1/OSTC_code_c_part2/ostc_bigscreen.hex code_part1/OSTC_code_c_part2/ostc_bigscreen.map code_part1/OSTC_code_c_part2/ostc_bigscreen.mcp code_part1/OSTC_code_c_part2/ostc_bigscreen.mcs code_part1/OSTC_code_c_part2/ostc_bigscreen.mcw code_part1/OSTC_code_c_part2/p2_deco_main_old_v107.c
diffstat 11 files changed, 0 insertions(+), 16243 deletions(-) [+]
line wrap: on
line diff
--- a/code_part1/OSTC_code_c_part2/old/changes_log.txt	Tue Jan 12 15:05:59 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-changes for v.101_C last deco:
-
-text_table_v111.asm : line 249
-	DA	"Last Deco   [m]}"		;65 (entspricht CF29)
-
-menu_reset_v111.asm : 
-line 153
-#DEFINE	last_deco_depth				d'3'		; 8Bit		3m
-line 253f
-	movlw	LOW		last_deco_depth				
-
-divemode_v111.asm
-line 421ff
-	GETCUSTOM8	d'29'				; Depth Last Deco in meter for simulation
-	movwf	wait_temp
-	movff	wait_temp,char_I_depth_last_deco
-
-definitions_v111.asm
-line 302
- char_I_depth_last_deco;			; 0x51E	new in v.101
--- a/code_part1/OSTC_code_c_part2/old/p2_deco_main - bigscreen.c	Tue Jan 12 15:05:59 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3230 +0,0 @@
-/*
- *  p2_deco_main.c
- *
- *  Created on: 31.08.2009
- *      Author: christian.w @ heinrichsweikamp.com
- *
- */
-
-//#include <p2_deco_header_c_v102d.h>
-
-// OSTC - diving computer code
-// Copyright (C) 2009 HeinrichsWeikamp GbR
-
-//    This program is free software: you can redistribute it and/or modify
-//    it under the terms of the GNU General Public License as published by
-//    the Free Software Foundation, either version 3 of the License, or
-//    (at your option) any later version.
-
-//    This program is distributed in the hope that it will be useful,
-//    but WITHOUT ANY WARRANTY; without even the implied warranty of
-//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//    GNU General Public License for more details.
-
-//    You should have received a copy of the GNU General Public License
-//    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-// *****************************
-// ** I N T R O D U C T I O N **
-// *****************************
-//
-// OSTC
-//
-// code:
-// p2_deco_main_c_v101.c
-// part2 of the OSTC code
-// code with constant O2 partial pressure routines
-// under construction !!
-//
-// summary:
-// decompression routines
-// for the OSTC experimental project
-// written by Christian Weikamp
-// last revision __________
-// comments added _________
-//
-// additional files:
-// p2_tables_v100.romdata (other files)
-// 18f4685_ostc_v100.lkr (linker script)
-//
-// history:
-// 01/03/08 v100: first release candidate
-// 03/13/08 v101: start of programming ppO2 code
-// 03/13/25 v101a: backup of interrim version with ppO2 calculation
-// 03/13/25 v101: open circuit gas change during deco
-// 03/13/25 v101: CNS_fraction calculation
-// 03/13/26 v101: optimization of tissue calc routines
-// 07/xx/08 v102a: debug of bottom time routine
-// 09/xx/08 v102d: Gradient Factor Model implemenation
-// 10/10/08 v104: renamed to build v103 for v118 stable
-// 10/14/08	v104: integration of temp_depth_last_deco for Gradient Model
-// 03/31/090 v107: integration of FONT Incon24
-
-//
-// literature:
-// B"uhlmann, Albert: Tauchmedizin; 4. Auflage;
-// 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
-// Morrison, Stuart; 2000; DIY DECOMPRESSION; http://www.lizardland.co.uk/DIYDeco.html
-// Balthasar, Steffen; Dekompressionstheorie I: Neo Haldane Modelle; http://www.txfreak.de/dekompressionstheorie_1.pdf
-// Baker, Erik C.; Clearing Up The Confusion About "Deep Stops"
-// Baker, Erik C.; Understanding M-values; http://www.txfreak.de/understanding_m-values.pdf
-
-
-// *********************
-// ** I N C L U D E S **
-// *********************
- #include <p18f4685.h>
- #include <math.h>
-
-// ********************************
-// ** C O N F I G U R A T I O N  **
-// ** for simulation without asm **
-// ********************************
- #pragma config OSC = IRCIO67
- #pragma config FCMEN = OFF
- #pragma config IESO = OFF
- #pragma config PWRT = ON
- #pragma config BOREN = OFF
- #pragma config WDT = OFF
- #pragma config WDTPS = 128
- #pragma config MCLRE = ON
- #pragma config LPT1OSC = OFF
- #pragma config PBADEN = OFF
- #pragma config DEBUG = OFF
- #pragma config XINST = OFF
- #pragma config LVP = OFF
- #pragma config STVREN = OFF
-
-// ****************************
-// ** D E F I N E S          **
-// ** missing in  p18f4685.h **
-// ****************************
-#define INT0IF	1
-#define INT1IF	0
-#define TMR1IF	0
-
-
-#	define	DBG_c_gas	0b0000000000000001
-#	define	DBG_c_ppO2	0b0000000000000010
-#	define	DBG_RUN 	0b0000000000000100
-#	define	DBG_RESTART 0b0000000000001000
-
-#	define	DBG_CdeSAT 	0b0000000000010000
-#	define	DBG_C_MODE	0b0000000000100000
-#	define	DBG_C_SURF	0b0000000001000000
-#	define	DBG_HEwoHE 	0b0000000010000000
-
-#	define	DBG_C_DPPO2	0b0000000100000000
-#	define	DBG_C_DGAS 	0b0000001000000000
-#	define	DBG_C_DIST	0b0000010000000000
-#	define	DBG_C_LAST	0b0000100000000000
-
-#	define	DBG_C_GF	0b0001000000000000
-#	define	DBG_ZH16ERR	0b0010000000000000
-#	define	DBG_PHIGH	0b0100000000000000
-#	define	DBG_PLOW	0b1000000000000000
-
-
-#	define	DBS_mode	0b0000000000000001
-#	define	DBS_ppO2	0b0000000000000010
-#	define	DBS_HE_sat	0b0000000000000100
-#	define	DBS_ppO2chg 0b0000000000001000
-
-#	define	DBS_SAT2l	0b0000000000010000
-#	define	DBS_SAT2h	0b0000000000100000
-#	define	DBS_GFLOW2l	0b0000000001000000
-#	define	DBS_GFLOW2h	0b0000000010000000
-
-#	define	DBS_GFHGH2l	0b0000000100000000
-#	define	DBS_GFHGH2h	0b0000001000000000
-#	define	DBS_GASO22l	0b0000010000000000
-#	define	DBS_GASO22h	0b0000100000000000
-
-#	define	DBS_DIST2h 	0b0001000000000000
-#	define	DBS_LAST2h 	0b0010000000000000
-#	define	DBS_DECOO2l	0b0100000000000000
-#	define	DBS_DECOO2h	0b1000000000000000
-
-
-#	define	DBS2_PRES2h 0b0000000000000001
-#	define	DBS2_PRES2l 0b0000000000000010
-#	define	DBS2_SURF2l	0b0000000000000100
-#	define	DBS2_SURF2h	0b0000000000001000
-
-#	define DBS2_DESAT2l 0b0000000000010000
-#	define DBS2_DESAT2h 0b0000000000100000
-#	define	DBS2_GFDneg 0b0000000001000000
-#	define	DBS2_ 0b000000000000000
-
-#	define	DBS2_ 0b000000000000000
-#	define	DBS2_ 0b000000000000000
-#	define	DBS2_ 0b000000000000000
-#	define	DBS2_ 0b000000000000000
-
-// NDL_at_20mtr
-
-
-
-// ***********************
-// ** V A R I A B L E S **
-// ***********************
-// prefixes etc:
-// _O_ = output for use in the assembler code
-// _I_ = input from the assembler code for the c code
-// char_ and int_ = used to identify output and input size
-// var = variable (from b"uhlmann)
-// pres = pressure
-// gtissue = guiding tissue, the one limiting the ascent
-// e2secs = exp of the b"uhlmann formula precalculated for a 2 second step
-// e1min = same for 1 minute step
-// sim = used in simulating the ascent to the surface
-// nullzeit = remaining ground/bottom time for "no deco"
-// hauptroutine = main
-
-#define	WP_SIZECHAR_SMALL		336
-#define	WP_SIZECHAR_MEDIUM		768
-#define	WP_FONT_SMALL_HEIGHT	 24
-#define	WP_FONT_MEDIUM_HEIGHT	 32
-
-#define oled_rw	PORTA,2,0
-#define oled_rs	PORTE,0,0
-
-#define U8 unsigned char
-#define U16 unsigned int
-
-#pragma udata bank0a=0x060
-/*
-	CBLOCK	0x060				;Bank 0
-	letter:.026					;letter buffer
-	win_color1
-	win_color2
-	win_top
-	win_leftx2
-	win_font
-	win_invert
-	win_temp
-*/
-
-volatile unsigned char wp_stringstore[26];
-volatile U8 wp_color1;
-volatile U8 wp_color2;
-volatile U8 wp_top;
-volatile U8 wp_leftx2;
-volatile U8 wp_font;
-volatile U8 wp_invert;
-volatile U8 wp_temp_U8;
-
-#pragma udata bank0b=0x081
-volatile unsigned char keep_free_bank0_1[5];
-
-#pragma udata bank0c=0x086
-U8 wp_txtptr;
-unsigned char wp_char;
-U8	wp_command;
-U16	wp_data_16bit;
-U8	wp_data_8bit_one;
-U8	wp_data_8bit_two;
-U16	wp_start;
-U16	wp_end;
-U16	wp_i;
-U8 	wp_black;
-
-#pragma udata bank0d=0x0E0
-volatile unsigned char keep_free_bank0_2[32];
-
-/*
-volatile unsigned char dd2_left;		// 1 - 64
-volatile unsigned char dd2_top;			// 1 - 64
-volatile unsigned char dd2_heightmax; 	// 1 - 37
-volatile unsigned char dd2_oled_brightness_offset; // 0 - 15 (15 is pitch black always)
-volatile unsigned char dd2_fontwidth;	//  8, 12, 21 for Incon16, Incon24, Incon42
-volatile unsigned char dd2_fontheight;	// 14, 21, 37 for "
-volatile unsigned long dd2_pointer;		// for font lut
-volatile unsigned char dd2_i;
-volatile unsigned char dd2_j;
-volatile unsigned char dd2_k;
-volatile unsigned char dd2_char;
-volatile unsigned char dd2_lowbyte;
-volatile unsigned char dd2_temp;
-volatile unsigned char dd2_data;
-volatile unsigned long dd2_base;			// for font lut
-volatile unsigned char dd2_start;			// for font lut
-volatile unsigned char dd2_end;			// for font lut
-*/
-
- #pragma udata bank1=0x100
- const unsigned char keep_free_bank1[256]; // used by the assembler code
-
- #pragma udata bank2a=0x200
-// output:
- static unsigned int	int_O_tissue_for_debug[32];
- static unsigned int	int_O_GF_spare____;						// 0x240
- static unsigned int	int_O_GF_step;							// 0x242
- static unsigned int 	int_O_gtissue_limit;					// 0x244
- static unsigned int 	int_O_gtissue_press;					// 0x246
- static unsigned int 	int_O_limit_GF_low;						// 0x248
- static unsigned int 	int_O_gtissue_press_at_GF_low;			// 0x24A
-// ...
- #pragma udata bank2b=0x24E
- static unsigned char	char_O_GF_low_pointer;					// 0x24E
- static unsigned char	char_O_actual_pointer;					// 0x24F
- #pragma udata bank2c=0x250
- static unsigned char	char_O_deco_table[32];					// 0x250
- #pragma udata bank2d=0x270
- static unsigned char	char_I_table_deco_done[32];
- #pragma udata bank2e=0x290
- static unsigned int 	int_O_calc_tissue_call_counter;			// 0x290
-// internal:
- unsigned char 			lock_GF_depth_list;
- static float			temp_limit;
- static float			GF_low;
- static float			GF_high;
- static float			GF_delta;
- static float			GF_temp;
- static float			GF_step;
- static float			GF_step2;
- static float			temp_pres_gtissue;
- static float			temp_pres_gtissue_diff;
- static float			temp_pres_gtissue_limit_GF_low;
- static float			temp_pres_gtissue_limit_GF_low_below_surface;
- static	unsigned int	temp_depth_limit;
- static unsigned char	temp_decotime;
- static unsigned char	temp_gtissue_no;
- static	unsigned int	temp_depth_last_deco;				// new in v.101
-
- static unsigned char	temp_depth_GF_low_meter;
- static unsigned char	temp_depth_GF_low_number;
- static unsigned char	internal_deco_pointer;
- static unsigned char	internal_deco_table[32];
- static float			temp_pres_deco_GF_low;
-
-static unsigned int debug_temp;
-
-
-#pragma udata bank3a=0x300
-static char output[32];
-// used by the math routines
-#pragma udata bank3b=0x380
-volatile float pres_tissue_vault[32];
- #pragma udata bank4a=0x400
-// internal:
- unsigned char			ci ; // don't move - used in _asm routines - if moved then modify movlb commands
- unsigned char 			x;
- unsigned int 			main_i;
- unsigned int 			int_temp;
- unsigned int 			int_temp_decostatus;
- static float 			pres_respiration;
- static float			pres_surface;
- static float			temp1;
- static float			temp2;
- static float			temp3;
- static float			temp4;
- static float			temp_deco;
- static float			temp_atem;
- static float			temp2_atem;
- static float			temp_tissue;
- static float			temp_surface;
- static float			N2_ratio;
- static float			He_ratio;
- static float			temp_ratio;
- static float 			var_a;
- static float 			var2_a;
- static float 			var_b;
- static float 			var2_b;
- static float 			var_t05nc;
- static float 			var2_t05nc;
- static float  			var_e2secs;
- static float  			var2_e2secs;
- static float  			var_e1min;
- static float  			var2_e1min;
- static float  			var_halftimes;
- static float  			var2_halftimes;
- static float			pres_gtissue_limit;
- static float			temp_pres_gtissue_limit;
- static float			actual_ppO2;						// new in v.102
- #pragma udata bank4b=0x480
- static float			pres_tissue[32];
-
- #pragma udata bank5=0x500
-// don't move positions in this bank, the registers are addressed directly from assembler code
-// input:
- static unsigned int	int_I_pres_respiration;				// 0x500
- static unsigned int	int_I_pres_surface;					// 0x502
- static unsigned int	int_I_temp;							// 0x504  new in v101
- static unsigned char	char_I_temp;						// 0x506  new in v101
- static unsigned char	char_I_actual_ppO2;					// 0x507
- static unsigned int	int_I_spare_3;
- static unsigned int	int_I_spare_4;
- static unsigned int	int_I_spare_5;
- static unsigned int	int_I_spare_6;
- static unsigned char	char_I_N2_ratio;					// 0x510
- static unsigned char	char_I_He_ratio;					// 0x511
- static unsigned char	char_I_saturation_multiplier;		// for conservatism/safety values 1.0 (no conservatism) to 1.5 (50% faster saturation
- 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()
- static unsigned char	char_I_GF_High_percentage;			// 0x514	new in v.102
- static unsigned char	char_I_GF_Low_percentage;			// 0x515	new in v.102
- static unsigned char	char_I_spare;					// 0x516
- static unsigned char	char_I_deco_distance;				// 0x517
- static unsigned char	char_I_const_ppO2;					// 0x518	new in v.101
- static unsigned char	char_I_deco_ppO2_change;			// 0x519	new in v.101
- static unsigned char	char_I_deco_ppO2;					// 0x51A	new in v.101
- static unsigned char	char_I_deco_gas_change;				// 0x51B	new in v.101
- static unsigned char	char_I_deco_N2_ratio;				// 0x51C	new in v.101
- static unsigned char	char_I_deco_He_ratio;				// 0x51D	new in v.101
- static unsigned char	char_I_depth_last_deco;				// 0x51E	new in v.101 unit: [m]
- static unsigned char	char_I_deco_model;					// 0x51F	new in v.102	( 1 = MultiGraF, sonst Std. mit (de-)saturation_multiplier)
-// output:
- static unsigned int	int_O_desaturation_time;			// 0x520
- static unsigned char	char_O_nullzeit;					// 0x522
- static unsigned char	char_O_deco_status;					// 0x523
- static unsigned char	char_O_array_decotime[7];			// 0x524
- static unsigned char	char_O_array_decodepth[6];			// 0x52B
- static unsigned char	char_O_ascenttime;					// 0x531
- static unsigned char	char_O_gradient_factor;				// 0x532
- static unsigned char	char_O_tissue_saturation[32];		// 0x533
- static unsigned char	char_O_array_gradient_weighted[16];	// 0x553
- static unsigned char	char_O_gtissue_no;					// 0x563
- static unsigned char	char_O_diluent;						// 0x564	new in v.101
- static unsigned char	char_O_CNS_fraction;				// 0x565	new in v.101
- static unsigned char	char_O_relative_gradient_GF;		// 0x566	new in v.102
-
-// internal:
- static float			pres_tissue_limit[16];
- static float			sim_pres_tissue_limit[16];
- static float			pres_diluent;						// new in v.101
- static float			deco_diluent;						// new in v.101
- static float			const_ppO2;							// new in v.101
- static float			deco_ppO2_change;					// new in v.101
- static float			deco_ppO2;							// new in v.101
-
-
-
- #pragma udata bank6=0x600
-// internal:
- static float			sim_pres_tissue[32];
- static float			sim_pres_tissue_backup[32];
-
- #pragma udata bank7=0x700
- const unsigned char keep_free_bank7[256]; // used by the assembler code (DD font2display)
-
- #pragma udata bank8=0x800
- static char			md_pi_subst[256];
-
- #pragma udata bank9a=0x900
-// output:
- static char			md_state[48];		// DONT MOVE !! // has to be at the beginning of bank 9 for the asm code!!!
- #pragma udata bank9b=0x930
-// output:
- static unsigned int	int_O_DBS_bitfield;					// 0x930	new in v.108
- static unsigned int	int_O_DBS2_bitfield;				// 0x932	new in v.108
- static unsigned int	int_O_DBG_pre_bitfield;				// 0x934	new in v.108
- static unsigned int	int_O_DBG_post_bitfield;			// 0x936	new in v.108
- static char			char_O_NDL_at_20mtr;				// 0x938	new in v.108 // 0xFF == undefined, max. 254
-// internal:
- static char			md_t;
- static char			md_buffer[16];
- static char			md_cksum[16];
- static char			md_i;
- static char			md_j;
- static char			md_temp;
- static unsigned int	md_pointer;
- static float			deco_N2_ratio;						// new in v.101
- static float			deco_He_ratio;						// new in v.101
- static float			calc_N2_ratio;						// new in v.101
- static float			calc_He_ratio;						// new in v.101
- static float			deco_gas_change;					// new in v.101
- static float			CNS_fraction;						// new in v.101
- static float			float_saturation_multiplier;		// new in v.101
- static float			float_desaturation_multiplier;		// new in v.101
- static float			float_deco_distance;				// new in v.101
-// internal, dbg:
- static unsigned char	DBG_char_I_deco_model;				// new in v.108
- static unsigned char	DBG_char_I_depth_last_deco;			// new in v.108
- static float			DBG_pres_surface;					// new in v.108
- static float			DBG_GF_low;							// new in v.108
- static float			DBG_GF_high;						// new in v.108
- static float			DBG_const_ppO2;						// new in v.108
- static float			DBG_deco_ppO2_change;				// new in v.108
- static float			DBG_deco_ppO2;						// new in v.108
- static float			DBG_deco_N2_ratio;					// new in v.108
- static float			DBG_deco_He_ratio;					// new in v.108
- static float			DBG_deco_gas_change;				// new in v.108
- static float			DBG_float_saturation_multiplier;	// new in v.108
- static float			DBG_float_desaturation_multiplier;	// new in v.108
- static float			DBG_float_deco_distance;			// new in v.108
- static float			DBG_deco_N2_ratio;					// new in v.108
- static float			DBG_deco_He_ratio;					// new in v.108
- static float			DBG_N2_ratio;						// new in v.108
- static float			DBG_He_ratio;						// new in v.108
- static char			flag_in_divemode;					// new in v.108
- static	int 			int_dbg_i;							// new in v.108
- unsigned int 			temp_DBS;
-
-// *************************
-// ** P R O T O T Y P E S **
-// *************************
-void main_calc_hauptroutine(void);
-void main_calc_without_deco(void);
-void main_clear_tissue(void);
-void main_calc_percentage(void);
-void main_calc_wo_deco_step_1_min(void);
-void main_debug(void);
-void main_gradient_array(void);
-void main_hash(void);
-
-void calc_hauptroutine(void);
-void calc_tissue(void);
-void calc_nullzeit(void);
-void backup_sim_pres_tissue(void);
-void restore_sim_pres_tissue(void);
-
-void calc_without_deco(void);
-void clear_tissue(void);
-void calc_ascenttime(void);
-void update_startvalues(void);
-void clear_decoarray(void);
-void update_decoarray(void);
-void sim_tissue_1min(void);
-void sim_tissue_10min(void);
-void calc_gradient_factor(void);
-void calc_gradient_array_only(void);
-void calc_desaturation_time(void);
-void calc_wo_deco_step_1_min(void);
-void calc_tissue_step_1_min(void);
-void hash(void);
-void clear_CNS_fraction(void);
-void calc_CNS_fraction(void);
-void calc_CNS_decrease_15min(void);
-void calc_percentage(void);
-void main(void);
-void calc_hauptroutine_data_input(void);
-void calc_hauptroutine_update_tissues(void);
-void calc_hauptroutine_calc_deco(void);
-void calc_hauptroutine_calc_ascend_to_deco(void);
-void calc_nextdecodepth_GF(void);
-void copy_deco_table_GF(void);
-void clear_internal_deco_table_GF(void);
-void update_internal_deco_table_GF(void);
-void DD2_write(void);
-void DD2_write_incon42(void);
-void DD2_get_pointer_to_char(void);
-void DD2_set_column(void);
-void DD2_load_background(void);
-void DD2_build_one_line_of_char(void);
-void DD2_print_column(void);
-void DD2_CmdWrite(void);
-void DD2_DataWrite(void);
-void push_tissues_to_vault(void);
-void pull_tissues_from_vault(void);
-void main_push_tissues_to_vault(void);
-void main_pull_tissues_from_vault(void);
-void wordprocessor(void);
-
-// *******************************
-// ** start                     **
-// ** necessary for compilation **
-// *******************************
-#pragma romdata der_code = 0x0000
-#pragma code der_start = 0x0000
-void der_start(void)
-{
-_asm
-	goto	main
-_endasm
-}
-
-// ***********************************
-// ** main code for simulation /    **
-// ** tests without assembler code  **
-// ** is NOT a part of the OSTC     **
-// ***********************************
-#pragma code main = 0x9000
-void main(void)
-{
-#if 1
-// new main to test DR-5
-
-wp_top = 10;
-wp_leftx2 = 10;
-wp_color1 = 255;
-wp_color2 = 255;
-wp_font   = 0;
-wp_invert = 0;
-wp_stringstore[0] = '°';
-wp_stringstore[1] = '1';
-wp_stringstore[2] = 'a';
-wp_stringstore[3] = ':';
-wp_stringstore[4] = 0;
-wordprocessor();
-
-GF_low = 1.0;
-GF_high = 1.0;
-
-GF_temp = GF_low * GF_high;
-
-clear_CNS_fraction();
-//char_I_const_ppO2 = 100;
-//for (main_i=0;main_i<255;main_i++)
-//{
-//calc_CNS_fraction();
-//} //for
-
-
-
-
-int_I_pres_respiration = 1000;//980;
-int_I_pres_surface = 1000;//980;
-char_I_N2_ratio = 39; //38;
-char_I_He_ratio = 40; //50;
-char_I_deco_distance = 0; // 10 = 1 meter
-char_I_depth_last_deco = 3;	// values below 3 (meter) are ignored
-
-char_I_const_ppO2 = 0;
-char_I_deco_ppO2_change = 0; // [dm] 10 = 1 meter
-char_I_deco_ppO2 = 0;
-
-char_I_deco_gas_change = 0; // [m] 1 = 1 meter
-char_I_deco_N2_ratio = 0;
-char_I_deco_He_ratio = 0;
-
-//char_I_actual_ppO2;					// 0x507
-char_I_GF_High_percentage = 100;			// 0x514	new in v.102
-char_I_GF_Low_percentage = 100;			// 0x515	new in v.102
-
-char_I_saturation_multiplier = 110;
-char_I_desaturation_multiplier = 90;
-
-char_I_deco_model = 0;
-
-main_clear_tissue();
-
-int_I_pres_respiration = 1000 + int_I_pres_surface;
-main_calc_wo_deco_step_1_min();
-int_I_pres_respiration = 3000 + int_I_pres_surface;
-main_calc_wo_deco_step_1_min();
-int_I_pres_respiration = 5000 + int_I_pres_surface;
-main_calc_wo_deco_step_1_min();
-
-/*
-int_I_pres_respiration = 6000 + int_I_pres_surface;
-for (main_i=0;main_i<27;main_i++)
-	main_calc_wo_deco_step_1_min();
-*/
-
-char_O_deco_status = 255;
-while (char_O_deco_status)
-	main_calc_hauptroutine();
-_asm
-nop
-_endasm
-
-for (main_i=0;main_i<50;main_i++)
-{
-main_calc_hauptroutine();
-}
-int_I_pres_respiration = 10000;
-for (main_i=0;main_i<1500;main_i++)
-{
-main_calc_hauptroutine();
-}
-
-_asm
-nop
-_endasm
-
-
-int_I_pres_respiration = 3000;
-for (main_i=0;main_i<150;main_i++)
-{
-	calc_hauptroutine_data_input();
-	calc_hauptroutine_update_tissues();
-} //for
-
-			update_startvalues();
-			clear_decoarray();
-			clear_internal_deco_table_GF();
-			calc_hauptroutine_calc_ascend_to_deco();
- 			if (char_O_deco_status > 15)		// can't go up to first deco, too deep to calculate in the given time slot
-			{
-				char_O_deco_status = 2;
-//				char_O_lock_depth_list = 255;
-			}
- 			else
-			{
-//				char_O_lock_depth_list = lock_GF_depth_list;
-				calc_hauptroutine_calc_deco();
-			}
-//			build_debug_output();
-
-_asm
-nop
-_endasm
-while (char_O_deco_status == 1)
-{
-			char_O_deco_status = 0;
-//			char_O_lock_depth_list = 255;
-			calc_hauptroutine_calc_deco();
-//			build_debug_output();
-_asm
-nop
-_endasm
-};
-debug_temp = 60; // [mtr Aufstieg in 10 mtr/min (30steps'2sec/min]
-int_I_pres_respiration = 9980;
-for (main_i=0;main_i<debug_temp;main_i++)
-{
-int_I_pres_respiration = int_I_pres_respiration - 33;
-	calc_hauptroutine_data_input();
-	calc_hauptroutine_update_tissues();
-int_I_pres_respiration = int_I_pres_respiration - 33;
-	calc_hauptroutine_data_input();
-	calc_hauptroutine_update_tissues();
-int_I_pres_respiration = int_I_pres_respiration - 34;
-	calc_hauptroutine_data_input();
-	calc_hauptroutine_update_tissues();
-} //for
-_asm
-nop
-_endasm
-
-			update_startvalues();
-			clear_decoarray();
-			clear_internal_deco_table_GF();
-			calc_hauptroutine_calc_ascend_to_deco();
- 			if (char_O_deco_status > 15)		// can't go up to first deco, too deep to calculate in the given time slot
-			{
-				char_O_deco_status = 2;
-//				char_O_lock_depth_list = 255;
-			}
- 			else
-			{
-//				char_O_lock_depth_list = lock_GF_depth_list;
-				calc_hauptroutine_calc_deco();
-			}
-//			build_debug_output();
-
-_asm
-nop
-_endasm
-while (char_O_deco_status == 1)
-{
-			char_O_deco_status = 0;
-//			char_O_lock_depth_list = 255;
-			calc_hauptroutine_calc_deco();
-//			build_debug_output();
-_asm
-nop
-_endasm
-};
-_asm
-nop
-_endasm
-debug_temp = 60; // [mtr Aufstieg in 10 mtr/min (30steps'2sec/min]
-int_I_pres_respiration = 9980;
-debug_temp = debug_temp * 3;
-for (main_i=0;main_i<debug_temp;main_i++)
-{
-	calc_hauptroutine_data_input();
-	calc_hauptroutine_update_tissues();
-} //for
-_asm
-nop
-_endasm
-#endif
-// -----------------------
-
-} // main
-
-// ******************************************************
-// ******************************************************
-// ** THE FOLLOWING CODE HAS TO BE COPPIED TO THE OSTC **
-// ******************************************************
-// ******************************************************
-
-// ***************
-// ***************
-// ** THE FONTS **
-// ***************
-// ***************
-// all new for bigscreen
-
-#pragma romdata font_table_medium = 0x0A000
-rom const rom U16 wp_medium_table[] =
-{
-#include "ostc48.tbl.txt"
-};
-
-#pragma romdata font_data_medium = 0x0A020
-rom const rom U16 wp_medium_data[] =
-{
-#include "ostc48.drx.txt"
-};
-
-#pragma romdata font_table_small = 0x0A3B0
-rom const rom U16 wp_small_table[] =
-{
-#include "ostc28.tbl.txt"
-};
-
-#pragma romdata font_data_small = 0x0A544
-rom const rom U16 wp_small_data[] =
-{
-#include "ostc28.drx.txt"
-};
-
-// ***********************
-// ***********************
-// ** THE SUBROUTINES 2 **
-// ***********************
-// ***********************
-// all new in v.102
-// moved from 0x0D000 to 0x0C000 in v.108
-
-#pragma code subroutines2 = 0x0C000	// can be adapted to fit the romdata tables ahead
-
-// -------------------------------
-// DBS - debug on start of dive //
-// -------------------------------
-void create_dbs_set_dbg_and_ndl20mtr(void)
-{
-	int_O_DBS_bitfield = 0;
-	int_O_DBS2_bitfield = 0;
-	if(int_O_DBG_pre_bitfield & DBG_RUN)
-		int_O_DBG_pre_bitfield = DBG_RESTART;
-	else
-		int_O_DBG_pre_bitfield = DBG_RUN;
-	int_O_DBG_post_bitfield = 0;
-	char_O_NDL_at_20mtr = 255;
-
-	DBG_N2_ratio = N2_ratio;
-	DBG_He_ratio = He_ratio;
-	DBG_char_I_deco_model = char_I_deco_model;
-	DBG_char_I_depth_last_deco = char_I_depth_last_deco;
-	DBG_pres_surface = pres_surface;
-	DBG_GF_low = GF_low;
-	DBG_GF_high = GF_high;
-	DBG_const_ppO2 = const_ppO2;
-	DBG_deco_ppO2_change = deco_ppO2_change;
-	DBG_deco_ppO2 = deco_ppO2;
-	DBG_deco_N2_ratio = deco_N2_ratio;
-	DBG_deco_He_ratio = deco_He_ratio;
-	DBG_deco_gas_change = deco_gas_change;
-	DBG_float_saturation_multiplier = float_saturation_multiplier;
-	DBG_float_desaturation_multiplier = float_desaturation_multiplier;
-	DBG_float_deco_distance = float_deco_distance;
-
-	if(char_I_deco_model)
-		int_O_DBS_bitfield |= DBS_mode;
-	if(const_ppO2)
-		int_O_DBS_bitfield |= DBS_ppO2;
-	for(int_dbg_i = 16; int_dbg_i < 32; int_dbg_i++)
-		if(pres_tissue[int_dbg_i])
-			int_O_DBS_bitfield |= DBS_HE_sat;
-	if(deco_ppO2_change)
-		int_O_DBS_bitfield |= DBS_ppO2chg;
-	if(float_saturation_multiplier < 0.99)
-		int_O_DBS_bitfield |= DBS_SAT2l;
-	if(float_saturation_multiplier > 1.3)
-		int_O_DBS_bitfield |= DBS_SAT2h;
-	if(GF_low < 0.19)
-		int_O_DBS_bitfield |= DBS_GFLOW2l;
-	if(GF_low > 1.01)
-		int_O_DBS_bitfield |= DBS_GFLOW2h;
-	if(GF_high < 0.6)
-		int_O_DBS_bitfield |= DBS_GFHGH2l;
-	if(GF_high > 1.01)
-		int_O_DBS_bitfield |= DBS_GFHGH2h;
-	if((N2_ratio + He_ratio) > 0.95)
-		int_O_DBS_bitfield |= DBS_GASO22l;
-	if((N2_ratio + He_ratio) < 0.05)
-		int_O_DBS_bitfield |= DBS_GASO22h;
-	if(float_deco_distance > 0.25)
-		int_O_DBS_bitfield |= DBS_DIST2h;
-	if(char_I_depth_last_deco > 8)
-		int_O_DBS_bitfield |= DBS_LAST2h;
-	if(DBG_deco_gas_change && ((deco_N2_ratio + deco_He_ratio) > 0.95))
-		int_O_DBS_bitfield |= DBS_DECOO2l;
-	if(DBG_deco_gas_change && ((deco_N2_ratio + deco_He_ratio) < 0.05))
-		int_O_DBS_bitfield |= DBS_DECOO2h;
-	if(pres_respiration > 3.0)
-		int_O_DBS2_bitfield |= DBS2_PRES2h;
-	if(pres_surface - pres_respiration > 0.2)
-		int_O_DBS2_bitfield |= DBS2_PRES2l;
-	if(pres_surface < 0.75)
-		int_O_DBS2_bitfield |= DBS2_SURF2l;
-	if(pres_surface > 1.11)
-		int_O_DBS2_bitfield |= DBS2_SURF2h;
-	if(float_desaturation_multiplier < 0.70)
-		int_O_DBS2_bitfield |= DBS2_DESAT2l;
-	if(float_desaturation_multiplier > 1.01)
-		int_O_DBS2_bitfield |= DBS2_DESAT2h;
-	if(GF_low > GF_high)
-		int_O_DBS2_bitfield |= DBS2_GFDneg;
-}
-
-// -------------------------------
-// DBG - set DBG to end_of_dive //
-// -------------------------------
-void set_dbg_end_of_dive(void)
-{
-	int_O_DBG_pre_bitfield &= (~DBG_RUN);
-	int_O_DBG_post_bitfield &= (~DBG_RUN);
-}
-
-// -------------------------------
-// DBG - NDL at first 20 m. hit //
-// -------------------------------
-void check_ndl(void)
-{
-	if((char_O_NDL_at_20mtr == -1) && (int_I_pres_respiration > 3000))
-	{
-		char_O_NDL_at_20mtr = char_O_nullzeit;
-		if(char_O_NDL_at_20mtr == 255)
-			char_O_NDL_at_20mtr == 254;
-	}
-}
-
-// -------------------------------
-// DBG - multi main during dive //
-// -------------------------------
-void check_dbg(char is_post_check)
-{
-	temp_DBS = 0;
-	if( (DBG_N2_ratio != N2_ratio) || (DBG_He_ratio != He_ratio) )
-		temp_DBS |= DBG_c_gas;
-	if(DBG_const_ppO2 != const_ppO2)
-		temp_DBS |= DBG_c_ppO2;
-	if((DBG_float_saturation_multiplier != float_saturation_multiplier) || (DBG_float_desaturation_multiplier != float_desaturation_multiplier))
-		temp_DBS |= DBG_CdeSAT;
-	if(DBG_char_I_deco_model != char_I_deco_model)
-		temp_DBS |= DBG_C_MODE;
-	if(DBG_pres_surface != pres_surface)
-		temp_DBS |= DBG_C_SURF;
-	if((!DBS_HE_sat) && (!He_ratio))
-		for(int_dbg_i = 16; int_dbg_i < 32; int_dbg_i++)
-			if(pres_tissue[int_dbg_i])
-				temp_DBS |= DBG_HEwoHE;
-	if(DBG_deco_ppO2 != deco_ppO2)
-		temp_DBS |= DBG_C_DPPO2;
-	if((DBG_deco_gas_change != deco_gas_change) || (DBG_deco_N2_ratio != deco_N2_ratio) || (DBG_deco_He_ratio != deco_He_ratio))
-		temp_DBS |= DBG_C_DGAS;
-	if(DBG_float_deco_distance != float_deco_distance)
-		temp_DBS |= DBG_C_DIST;
-	if(DBG_char_I_depth_last_deco != char_I_depth_last_deco)
-		temp_DBS |= DBG_C_LAST;
-	if((DBG_GF_low != GF_low) || (DBG_GF_high != GF_high))
-		temp_DBS |= DBG_C_GF;
-	if(pres_respiration > 13.0)
-		temp_DBS |= DBG_PHIGH;
-	if(pres_surface - pres_respiration > 0.2)
-		temp_DBS |= DBG_PLOW;
-/*
-	if()
-		temp_DBS |= ;
-	if()
-		temp_DBS |= ;
- */
-	if(is_post_check)
-		int_O_DBG_post_bitfield |= temp_DBS;
-	else
-		int_O_DBG_pre_bitfield |= temp_DBS;
-}
-
-// -------------------------------
-// DBG - prior to calc. of dive //
-// -------------------------------
-void check_pre_dbg(void)
-{
-	check_dbg(0);
-}
-
-// -------------------------------
-// DBG - after decocalc of dive //
-// -------------------------------
-void check_post_dbg(void)
-{
-	check_dbg(1);
-}
-
-
-
-// -------------------------
-// calc_next_decodepth_GF //
-// -------------------------
-// new in v.102
-void calc_nextdecodepth_GF(void)
-{
-// INPUT, changing during dive:
-// temp_pres_gtissue_limit_GF_low
-// temp_pres_gtissue_limit_GF_low_below_surface
-// temp_pres_gtissue
-// temp_pres_gtissue_diff
-// lock_GF_depth_list
-
-// INPUT, fixed during dive:
-// pres_surface
-// GF_delta
-// GF_high
-// GF_low
-// temp_depth_last_deco
-// float_deco_distance
-
-// OUTPUT
-// GF_step
-// temp_deco
-// temp_depth_limt
-// lock_GF_depth_list
-
-// USES
-// temp1
-// temp2
-// int_temp
-
-	char_I_table_deco_done[0] = 0; // safety if changed somewhere else. Needed for exit
-	if (char_I_deco_model == 1)
-	{
-		if (lock_GF_depth_list == 0)
-		{
-			temp2 =  temp_pres_gtissue_limit_GF_low_below_surface / 0.29985; 					// = ... / 99.95 / 0.003;
- 			int_temp = (int) (temp2 + 0.99);
-			if (int_temp > 31)
-				int_temp = 31;						//	deepest deco at 93 meter (31 deco stops)
-			if (int_temp < 0)
-				int_temp = 0;
-			temp_depth_GF_low_number = int_temp;
- 			temp_depth_GF_low_meter = 3 * temp_depth_GF_low_number;
-			temp2 = (float)temp_depth_GF_low_meter * 0.09995;
-			temp_pres_deco_GF_low = temp2 + float_deco_distance + pres_surface;
-			if (temp_depth_GF_low_number == 0)
-				GF_step = 0;
-			else
-				GF_step = GF_delta / (float)temp_depth_GF_low_number;
-			if (GF_step < 0)
-				GF_step = 0;
-			if (GF_step > GF_delta)
-				GF_step = GF_delta;
-			int_O_GF_step = (int)(GF_step * 10000);
-			int_O_limit_GF_low = (int)(temp_pres_deco_GF_low * 1000);
-			int_O_gtissue_press_at_GF_low = (int)(temp_pres_gtissue * 1000);
-			char_O_GF_low_pointer = temp_depth_GF_low_number;
-			lock_GF_depth_list = 1;
-			internal_deco_pointer = 0;
-		}
-		if (internal_deco_pointer == 0)		// new run
-		{
-			internal_deco_pointer = temp_depth_GF_low_number;
-			GF_temp = GF_high - ((float)internal_deco_pointer * GF_step);
-			int_temp = char_I_table_deco_done[internal_deco_pointer];
-			output[8] = int_temp;
-			output[9] = 33;
-		}
-		else
-		{
-			int_temp = 1;
-		}
-		while (int_temp == 1)
-		{
-			int_temp = internal_deco_pointer - 1;
-			if (int_temp == 1)								// new in v104
-			{
-				temp2 = (float)(temp_depth_last_deco * int_temp) * 0.09995;
-				GF_step2 = GF_step/3.0 * ((float)(6 - temp_depth_last_deco));
-			}
-			else
-			if (int_temp == 0)
-			{
-				temp2 = 0.0;
-				GF_step2 = GF_high - GF_temp;
-			}
-			else
-			{
-				temp2 = (float)(3 *int_temp) * 0.09995;
-				GF_step2 = GF_step;
-			}
-			temp2 = temp2 + pres_surface; // next deco stop to be tested
-			temp1 = ((GF_temp + GF_step2)* temp_pres_gtissue_diff) + temp_pres_gtissue;	// upper limit (lowest pressure allowed) // changes GF_step2 in v104
-			if (temp1 > temp2) // check if ascent to next deco stop is ok
-			{
-				int_temp = 0;	// no
-			}
-			else
-			{
-				internal_deco_pointer = int_temp;
-				GF_temp = GF_temp + GF_step2; // changed in v104
-				int_temp = char_I_table_deco_done[internal_deco_pointer]; // yes and check for ascent to even next stop if deco_done is set
-			}
-		} // while
-		if (internal_deco_pointer > 0)
-		{
-			temp2 = (float)(0.29985 * internal_deco_pointer);
-			temp_deco = temp2 + float_deco_distance + pres_surface;
-			if (internal_deco_pointer == 1)						// new in v104
-				temp_depth_limit = temp_depth_last_deco;
-			else
-				temp_depth_limit = 3 * internal_deco_pointer;
-			if (output[9] == 33)
-			{
-				output[9] = internal_deco_pointer;
-				output[10] = char_I_table_deco_done[internal_deco_pointer];
-				output[12] = output[12] + 1;
-				if (output[12] == 100)
-					output[12] = 0;
-			}
-		}
-		else	// 	if (char_I_deco_model == 1)
-		{
-			temp_deco = pres_surface;
-			temp_depth_limit = 0;
-		}
-	}
-	else
-	{
-		// calc_nextdecodepth - original
-		// optimized in v.101
-		// depth_last_deco included in v.101
-
-		temp1 = temp_pres_gtissue_limit - pres_surface;
-		if (temp1 >= 0)
- 		{
- 			temp1 = temp1 / 0.29985; 									// = temp1 / 99.95 / 0.003;
- 			temp_depth_limit = (int) (temp1 + 0.99);
- 			temp_depth_limit = 3 * temp_depth_limit; 					// depth for deco [m]
- 			if (temp_depth_limit == 0)
-  				temp_deco = pres_surface;
- 			else
-  			{
-  				if (temp_depth_limit < temp_depth_last_deco)
-					temp_depth_limit = temp_depth_last_deco;
-  				temp1 = (float)temp_depth_limit * 0.09995;
-  				temp_deco = temp1 + float_deco_distance + pres_surface; 	// depth for deco [bar]
-  			} // if (temp_depth_limit == 0)
- 		} // if (temp1 >= 0)
-		else
- 		{
- 			temp_deco = pres_surface;
- 			temp_depth_limit = 0;
- 		} // if (temp1 >= 0)
-	} // calc_nextdecodepth original
-} // calc_nextdecodepth_GF
-
-
-#if 0
-void 			build_debug_output(void)
-{
-output[0] = 0; // not used in asm PLED output
-output[1] = (int) (GF_low * 100);
-output[2] = (int) (GF_high * 100);
-output[3] = (int) (GF_step * 100);
-output[4] = (int) temp_depth_GF_low_number;
-output[5] = (int) temp_depth_GF_low_meter;
-//output[6]
-output[7] = (int) internal_deco_pointer;
-//output[8] = char_I_table_deco_done[temp_depth_GF_low_number]
-//output[9] = internal_deco_pointer @ new run
-//output[10] = char_I_table_deco_done[internal_deco_pointer] @ new run
-output [11] = (int) (temp_pres_deco_GF_low * 10);
-}	// build_debug_output
-#endif
-
-// ---------------------
-// copy_deco_table_GF //
-// ---------------------
-// new in v.102
-void copy_deco_table_GF(void)
-{
-	if (char_I_deco_model == 1)
-	{
-		int_temp = 32;
-		for (ci=0;ci<int_temp;ci++)
-			char_O_deco_table[ci] = internal_deco_table[ci];
-	}
-}		// copy_deco_table_GF
-
-
-// ------------------------------
-// clear_internal_deco_table_GF//
-// ------------------------------
-// new in v.102
-void clear_internal_deco_table_GF(void)
-{
-	if (char_I_deco_model == 1)
-	{
-		for (ci=0;ci<32;ci++)  // cycle through the 16 b"uhlmann tissues for Helium
-		{
-			internal_deco_table[ci] = 0;
-		}
-	}
-}	// clear_internal_deco_table_GF
-
-
-// --------------------------------
-// update_internal_deco_table_GF //
-// --------------------------------
-// new in v.102
-void update_internal_deco_table_GF(void)
-{
-	if ((char_I_deco_model == 1) && (internal_deco_table[internal_deco_pointer] < 255))
-		internal_deco_table[internal_deco_pointer] = internal_deco_table[internal_deco_pointer] + 1;
-}	// update_internal_deco_table_GF
-
-
-// ---------------------
-// temp_tissue_safety //
-// ---------------------
-// outsourced in v.102
-void temp_tissue_safety(void)
-{
-	if (char_I_deco_model == 1)
-	{
-	}
-	else
-	{
-		if (temp_tissue < 0.0)
-			temp_tissue = temp_tissue * float_desaturation_multiplier;
- 		else
-			temp_tissue = temp_tissue * float_saturation_multiplier;
-	}
-} // temp_tissue_safety
-
-// -----------
-// dd2 OLD  //
-// -----------
-void DD2_write(void)
-{
-	_asm
-	nop
-	_endasm
-}
-void DD2_write_incon42(void)
-{
-	DD2_write();
-}
-
-void DD2_write_incon24(void)
-{
-	DD2_write();
-}
-void DD2_get_pointer_to_char(void)
-{
-	DD2_write();
-}
-void DD2_set_column(void)
-{
-	DD2_write();
-}
-void DD2_load_background(void)
-{
-	DD2_write();
-}
-void DD2_build_one_line_of_char(void)
-{
-	DD2_write();
-}
-void DD2_print_column(void)
-{
-	DD2_write();
-}
-void DD2_CmdWrite(void)
-{
-	DD2_write();
-}
-void DD2_DataWrite(void)
-{
-	DD2_write();
-}
-
-// **********************
-// **********************
-// ** THE JUMP-IN CODE **
-// ** for the asm code **
-// **********************
-// **********************
-#pragma code main_calc_hauptroutine = 0x10000
-void main_calc_hauptroutine(void)
-{
-calc_hauptroutine();
-int_O_desaturation_time = 65535;
-}				// divemode
-#pragma code main_without_deco = 0x10020
-void main_calc_without_deco(void)
-{
-calc_without_deco();
-calc_desaturation_time();
-}
-
-#pragma code main_clear_CNS_fraction = 0x10030
-void main_clear_CNS_fraction(void)
-{
-clear_CNS_fraction();
-}
-
-#pragma code main_calc_CNS_decrease_15min = 0x10034
-void main_calc_CNS_decrease_15min(void)
-{
-calc_CNS_decrease_15min();
-}
-
-#pragma code main_calc_percentage = 0x10038
-void main_calc_percentage (void)
-{
-calc_percentage();
-}
-
-#pragma code main_clear_tissue = 0x10040
-void main_clear_tissue(void)
-{
-clear_tissue();
-char_I_depth_last_deco	= 0;		// for compatibility with v.101pre_no_last_deco
-}
-
-#pragma code main_calc_CNS_fraction = 0x10050
-void main_calc_CNS_fraction(void)
-{
-calc_CNS_fraction();
-}
-
-#pragma code main_calc_desaturation_time = 0x10060
-void main_calc_desaturation_time(void)
-{
-calc_desaturation_time();
-}
-
-#pragma code main_calc_wo_deco_step_1_min = 0x10080
-void main_calc_wo_deco_step_1_min(void)
-{
-calc_wo_deco_step_1_min();
-char_O_deco_status = 3; // surface new in v.102 overwrites value of calc_wo_deco_step_1_min
-calc_desaturation_time();
-}			// surface mode
-
-#pragma code main_debug = 0x100A0
-void main_debug(void)
-{
-//debug();
-}
-
-#pragma code main_DD2_write_incon42 = 0x100B0
-void main_DD2_write_incon42(void)
-{
-	DD2_write_incon42();
-}
-
-#pragma code main_DD2_write_incon24 = 0x100B4
-void main_DD2_write_incon24(void)
-{
-	DD2_write_incon24();
-}
-
-#pragma code main_wordprocessor = 0x100B8
-void main_wordprocessor(void)
-{
-	wordprocessor();
-}
-
-#pragma code main_gradient_array = 0x100C0
-void main_gradient_array(void)
-{
-calc_gradient_array_only();
-}
-#pragma code main_push_tissues = 0x100C4
-void main_push_tissues_to_vault(void)
-{
-	push_tissues_to_vault();
-}
-#pragma code main_pull_tissues = 0x100C8
-void main_pull_tissues_from_vault(void)
-{
-	pull_tissues_from_vault();
-}
-
-#pragma code main_hash = 0x100E0
-void main_hash(void)
-{
-hash();
-}
-
-// ***********************
-// ***********************
-// ** THE LOOKUP TABLES **
-// ***********************
-// ***********************
-
-#pragma romdata tables = 0x10200
-#include	<p2_tables.romdata> 		// new table for deco_main_v.101 (var_a modified)
-
-#pragma romdata tables2 = 0x10600
-rom const rom unsigned int md_pi[] =
-{
-    0x292E, 0x43C9, 0xA2D8, 0x7C01, 0x3D36, 0x54A1, 0xECF0, 0x0613
-  , 0x62A7, 0x05F3, 0xC0C7, 0x738C, 0x9893, 0x2BD9, 0xBC4C, 0x82CA
-  , 0x1E9B, 0x573C, 0xFDD4, 0xE016, 0x6742, 0x6F18, 0x8A17, 0xE512
-  , 0xBE4E, 0xC4D6, 0xDA9E, 0xDE49, 0xA0FB, 0xF58E, 0xBB2F, 0xEE7A
-  , 0xA968, 0x7991, 0x15B2, 0x073F, 0x94C2, 0x1089, 0x0B22, 0x5F21
-  , 0x807F, 0x5D9A, 0x5A90, 0x3227, 0x353E, 0xCCE7, 0xBFF7, 0x9703
-  , 0xFF19, 0x30B3, 0x48A5, 0xB5D1, 0xD75E, 0x922A, 0xAC56, 0xAAC6
-  , 0x4FB8, 0x38D2, 0x96A4, 0x7DB6, 0x76FC, 0x6BE2, 0x9C74, 0x04F1
-  , 0x459D, 0x7059, 0x6471, 0x8720, 0x865B, 0xCF65, 0xE62D, 0xA802
-  , 0x1B60, 0x25AD, 0xAEB0, 0xB9F6, 0x1C46, 0x6169, 0x3440, 0x7E0F
-  , 0x5547, 0xA323, 0xDD51, 0xAF3A, 0xC35C, 0xF9CE, 0xBAC5, 0xEA26
-  , 0x2C53, 0x0D6E, 0x8528, 0x8409, 0xD3DF, 0xCDF4, 0x4181, 0x4D52
-  , 0x6ADC, 0x37C8, 0x6CC1, 0xABFA, 0x24E1, 0x7B08, 0x0CBD, 0xB14A
-  , 0x7888, 0x958B, 0xE363, 0xE86D, 0xE9CB, 0xD5FE, 0x3B00, 0x1D39
-  , 0xF2EF, 0xB70E, 0x6658, 0xD0E4, 0xA677, 0x72F8, 0xEB75, 0x4B0A
-  , 0x3144, 0x50B4, 0x8FED, 0x1F1A, 0xDB99, 0x8D33, 0x9F11, 0x8314
-};
-
-// *********************
-// *********************
-// ** THE SUBROUTINES **
-// *********************
-// *********************
-
-#pragma code subroutines = 0x10700	// can be adapted to fit the romdata tables ahead
-
-
-// ---------------
-// CLEAR tissue //
-// ---------------
-// optimized in v.101 (var_a)
-
-void clear_tissue(void)    // preload tissues with standard pressure for the given ambient pressure
-{
-
-	flag_in_divemode = 0;
-	int_O_DBS_bitfield = 0;
-	int_O_DBS2_bitfield = 0;
-	int_O_DBG_pre_bitfield = 0;
-	int_O_DBG_post_bitfield = 0;
-	char_O_NDL_at_20mtr = 255;
-
-_asm
-lfsr 1, 0x300 // C math routines shall use this variable bank
-movlw	0x01
-movwf	TBLPTRU,0
-_endasm
-
-// N2_ratio = (float)char_I_N2_ratio; // the 0.0002 of 0.7902 are missing with standard air
- N2_ratio = 0.7902; // N2_ratio / 100.0;
- pres_respiration = (float)int_I_pres_respiration / 1000.0;
-for (ci=0;ci<16;ci++)  // cycle through the 16 b"uhlmann tissues
-{
- pres_tissue[ci] =  N2_ratio * (pres_respiration -  0.0627) ;
-_asm
-movlw	0x02
-movwf	TBLPTRH,0
-movlb	4 // fuer ci
-movf ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addlw	0x80
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_a+1
-TBLRDPOSTINC
-movff	TABLAT,var_a
-TBLRDPOSTINC
-movff	TABLAT,var_a+3
-TBLRD
-movff	TABLAT,var_a+2
-addlw	0x80
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_b+1
-TBLRDPOSTINC
-movff	TABLAT,var_b
-TBLRDPOSTINC
-movff	TABLAT,var_b+3
-TBLRD
-movff	TABLAT,var_b+2
-_endasm
-
-pres_tissue_limit[ci] = (pres_tissue[ci] - var_a) * var_b ;
-// now update the guiding tissue
-if (pres_tissue_limit[ci] < 0)
-pres_tissue_limit[ci] = 0;
-} // for 0 to 16
-
-for (ci=16;ci<32;ci++)  // cycle through the 16 b"uhlmann tissues for Helium
-{
- pres_tissue[ci] = 0.0;
-}  // for
-
- clear_decoarray();
- char_O_deco_status = 0;
- char_O_nullzeit = 0;
- char_O_ascenttime = 0;
- char_O_gradient_factor = 0;
- char_O_relative_gradient_GF = 0;
-} // clear_tissue(void)
-
-
-// --------------------
-// calc_without_deco //
-// fixed N2_ratio !  //
-// --------------------
-// optimized in v.101 (float_..saturation_multiplier)
-
-void calc_without_deco(void)
-{
-_asm
- lfsr 1, 0x300
-_endasm
- N2_ratio = 0.7902; // FIXED RATIO !! sum as stated in b"uhlmann
- pres_respiration = (float)int_I_pres_respiration / 1000.0; // assembler code uses different digit system
- pres_surface = (float)int_I_pres_surface / 1000.0;
- temp_atem = N2_ratio * (pres_respiration - 0.0627); // 0.0627 is the extra pressure in the body
- temp2_atem = 0.0;
- temp_surface = pres_surface; // the b"uhlmann formula using temp_surface does apply to the pressure without any inert ratio
- float_desaturation_multiplier = char_I_desaturation_multiplier / 100.0;
- float_saturation_multiplier = char_I_saturation_multiplier / 100.0;
-
- calc_tissue();  // update the pressure in the 16 tissues in accordance with the new ambient pressure
-
- clear_decoarray();
- char_O_deco_status = 0;
- char_O_nullzeit = 0;
- char_O_ascenttime = 0;
- calc_gradient_factor();
-
-} // calc_without_deco
-
-
-// --------------------
-// calc_hauptroutine //
-// --------------------
-// this is the major code in dive mode
-// calculates:
-// 		the tissues,
-//		the bottom time
-//		and simulates the ascend with all deco stops
-
-void calc_hauptroutine(void)
-{
-	calc_hauptroutine_data_input();
-
-	if(!flag_in_divemode)
-	{
-		flag_in_divemode = 1;
-		create_dbs_set_dbg_and_ndl20mtr();
-	}
-	else
-		check_pre_dbg();
-
-	calc_hauptroutine_update_tissues();
-	calc_gradient_factor();
-
-
-	switch (char_O_deco_status)	// toggle between calculation for nullzeit (bottom time), deco stops and more deco stops (continue)
-	{
- 		case 0:
-			update_startvalues();
-			calc_nullzeit();
-			check_ndl();
-			char_O_deco_status = 255; // calc deco next time
-			break;
-		case 1:
-			if (char_O_deco_status == 3)
-				break;
-			char_O_deco_status = 0;
-//			char_O_lock_depth_list = 255;
-			calc_hauptroutine_calc_deco();
-//			build_debug_output();
-			break;
-		case 3:				// new dive
-			clear_decoarray();
-			clear_internal_deco_table_GF();
-			copy_deco_table_GF();
-			internal_deco_pointer = 0;
-			lock_GF_depth_list = 0;
-			update_startvalues();
-			calc_nextdecodepth_GF();
-			char_O_deco_status = 0;
-			break;
-		default:
-			update_startvalues();
-			clear_decoarray();
-			clear_internal_deco_table_GF();
-			output[6] = 1;
-			calc_hauptroutine_calc_ascend_to_deco();
- 			if (char_O_deco_status > 15)		// can't go up to first deco, too deep to calculate in the given time slot
-			{
-				char_O_deco_status = 2;
-//				char_O_lock_depth_list = 255;
-			}
- 			else
-			{
-//				char_O_lock_depth_list = lock_GF_depth_list;
-				calc_hauptroutine_calc_deco();
-			}
-//			build_debug_output();
-			break;
-	}
-	calc_ascenttime();
-	check_post_dbg();
-}
-
-void calc_hauptroutine_data_input(void)
-{
- pres_respiration = (float)int_I_pres_respiration / 1000.0;
- pres_surface = (float)int_I_pres_surface / 1000.0;
-
- N2_ratio = (float)char_I_N2_ratio / 100.0;; // the 0.0002 of 0.7902 are missing with standard air
- He_ratio = (float)char_I_He_ratio / 100.0;;
- deco_N2_ratio = (float)char_I_deco_N2_ratio / 100.0;
- deco_He_ratio = (float)char_I_deco_He_ratio / 100.0;
- float_deco_distance = (float)char_I_deco_distance / 100.0;
- if(char_I_deco_gas_change)
- {
-	 deco_gas_change = (float)char_I_deco_gas_change / 9.995 + pres_surface;
-	 deco_gas_change = deco_gas_change + float_deco_distance;
- }
- else
-	deco_gas_change = 0;
- const_ppO2 = (float)char_I_const_ppO2 / 100.0;
- deco_ppO2_change = (float)char_I_deco_ppO2_change / 99.95 + pres_surface;
- deco_ppO2_change = deco_ppO2_change + float_deco_distance;
- deco_ppO2 = (float)char_I_deco_ppO2 / 100.0;
- float_desaturation_multiplier = char_I_desaturation_multiplier / 100.0;
- float_saturation_multiplier = char_I_saturation_multiplier / 100.0;
- GF_low = (float)char_I_GF_Low_percentage / 100.0;
- GF_high = (float)char_I_GF_High_percentage / 100.0;
- GF_delta = GF_high - GF_low;
-
- temp2 = (pres_respiration - pres_surface) / 0.29985;
- int_temp = (int)(temp2);
- if (int_temp < 0)
-	int_temp = 0;
- if (int_temp > 255)
-	int_temp = 255;
- char_O_actual_pointer = int_temp;
-
- temp_depth_last_deco = (int)char_I_depth_last_deco;
-}
-
-void calc_hauptroutine_update_tissues(void)
-{
-	int_O_calc_tissue_call_counter = int_O_calc_tissue_call_counter + 1;
- 	if (char_I_const_ppO2 == 0)																// new in v.101
-  		pres_diluent = pres_respiration;															// new in v.101
- 	else																						// new in v.101
-  		pres_diluent = ((pres_respiration - const_ppO2)/(N2_ratio + He_ratio));					// new in v.101
- 	if (pres_diluent > pres_respiration)														// new in v.101
-  		pres_diluent = pres_respiration;															// new in v.101
- 	if (pres_diluent > 0.0627)																	// new in v.101
- 	{
- 		temp_atem = N2_ratio * (pres_diluent - 0.0627);											// changed in v.101
- 		temp2_atem = He_ratio * (pres_diluent - 0.0627);											// changed in v.101
- 		char_O_diluent = (char)(pres_diluent/pres_respiration*100.0);
- 	}
- 	else																						// new in v.101
- 	{
- 		temp_atem = 0.0;																			// new in v.101
- 		temp2_atem = 0.0;																			// new in v.101
- 		char_O_diluent = 0;
- 	}
- 	temp_surface = pres_surface;
- 	calc_tissue();
- 	int_O_gtissue_limit = (int)(pres_tissue_limit[char_O_gtissue_no] * 1000);
-	int_O_gtissue_press = (int)((pres_tissue[char_O_gtissue_no] + pres_tissue[char_O_gtissue_no+16]) * 1000);
- 	if (char_I_deco_model == 1)
- 	{
-		temp1 = temp1 * GF_high;
- 	}
-	else
-	{
-	temp1 = temp_surface;
-	}
-	if (pres_gtissue_limit > temp1 && char_O_deco_status == 0)  // if guiding tissue can not be exposed to surface pressure immediately
- 	{
-  		char_O_nullzeit = 0; // deco necessary
-  		char_O_deco_status = 255; // calculate deco skip nullzeit calculation
- 	}
-} 		// calc_hauptroutine_update_tissues
-void calc_hauptroutine_calc_deco(void)
-{
- 	do
-  	{
-  		int_temp_decostatus = 0;
-  		calc_nextdecodepth_GF();
-  		if (temp_depth_limit > 0)
-   		{
-    		if (char_I_const_ppO2 == 0)																// new in v.101
-	 		{
-     			deco_diluent = temp_deco;																// new in v.101
-	 			if (temp_deco > deco_gas_change)
-	  			{
-	  				calc_N2_ratio = N2_ratio;
-	  				calc_He_ratio = He_ratio;
-	  			}
-	 			else
-	  			{
-	  				calc_N2_ratio = deco_N2_ratio;
-	  				calc_He_ratio = deco_He_ratio;
-	  			}
-	 		}
-    		else																					// new in v.101
-	 		{
-	 			calc_N2_ratio = N2_ratio;
-	 			calc_He_ratio = He_ratio;
-	 			if (temp_deco > deco_ppO2_change)
-				{
-      				deco_diluent = ((temp_deco - const_ppO2)/(N2_ratio + He_ratio));			// new in v.101
-				}
-	 			else
-				{
-      				deco_diluent = ((temp_deco - deco_ppO2)/(N2_ratio + He_ratio));			// new in v.101
-				}
-	 		}
-    		if (deco_diluent > temp_deco)															// new in v.101
-     			deco_diluent = temp_deco;																// new in v.101
- 			if (deco_diluent > 0.0627)																// new in v.101
-    		{
-     			temp_atem = calc_N2_ratio * (deco_diluent - 0.0627);										// changed in v.101
-				temp2_atem = calc_He_ratio * (deco_diluent - 0.0627);										// changed in v.101
-    		}
-    		else																					// new in v.101
-    		{
-     			temp_atem = 0.0;																		// new in v.101
-     			temp2_atem = 0.0;																		// new in v.101
-    		}
-   			sim_tissue_1min();
-			update_internal_deco_table_GF();
-   			temp_decotime = 1;
-   			update_decoarray();
-   			char_O_deco_status = char_O_deco_status + 1;
-   			if (char_O_deco_status < 16)
-     			int_temp_decostatus = 1;
-   		}
-  		else // if (temp_depth_limit > 0)
-		{
-   		char_O_deco_status = 0;
-		}
-	} while (int_temp_decostatus == 1);
-	if (char_O_deco_status > 15)
-	{
-   		char_O_deco_status = 1;
-	}
-  	else
-  	{
-		copy_deco_table_GF();
-		char_O_deco_status = 0;
-  	}
-}
-
-void calc_hauptroutine_calc_ascend_to_deco(void)
-{
- 	update_startvalues();
- 	char_O_deco_status = 0;
-   	temp_deco = pres_respiration;
- 	lock_GF_depth_list = 1; 																// new in v.102
- 	do								// go up to first deco
-  	{
-  		int_temp_decostatus = 0;
-  		temp_deco = temp_deco - 1.0;
-  		if ( char_I_deco_model == 1)																// new in v.102 , 4 = deep stops
-			temp_limit = temp_pres_gtissue_limit_GF_low;
-  		else
-			temp_limit = temp_pres_gtissue_limit;
-  		if ((temp_deco > temp_limit) && (temp_deco > pres_surface)) 								// changes in v.102
-   		{
-   			lock_GF_depth_list = 0; 																	// new in v.102, distance to first stop > 10 mtr.
-			output[6] = 0;
-  		 	if (char_I_const_ppO2 == 0)																// new in v.101 // calculate at half of the ascent
-			{
-    			deco_diluent = temp_deco + 0.5;															// new in v.101
-				if (temp_deco + 0.5 > deco_gas_change)
-	 			{
-	 				calc_N2_ratio = N2_ratio;
-	 				calc_He_ratio = He_ratio;
-	 			}
-				else
-	 			{
-	 				calc_N2_ratio = deco_N2_ratio;
-	 				calc_He_ratio = deco_He_ratio;
-	 			}
-			}
-   			else																						// new in v.101
-			{
-					calc_N2_ratio = N2_ratio;
-					calc_He_ratio = He_ratio;
-					if (temp_deco + 0.5 > deco_ppO2_change)
-     					deco_diluent = ((temp_deco + 0.5 - const_ppO2)/(N2_ratio + He_ratio));	// new in v.101 // calculate at half of the ascent
-					else
-     					deco_diluent = ((temp_deco + 0.5 - deco_ppO2)/(N2_ratio + He_ratio));	// new in v.101 // calculate at half of the ascent
-    				if (deco_diluent > (temp_deco +0.5))															// new in v.101
-     					deco_diluent = temp_deco + 0.5;															// new in v.101 // calculate at half of the ascent
-			}
-   			if (deco_diluent > 0.0627)																// new in v.101
-    		{
-    			temp_atem = calc_N2_ratio * (deco_diluent - 0.0627);											// changed in v.101
-    			temp2_atem = calc_He_ratio * (deco_diluent - 0.0627);										// changed in v.101
-    		}
-   			else																						// new in v.101
-    		{
-    			temp_atem = 0.0;																		// new in v.101
-    			temp2_atem = 0.0;																		// new in v.101
-    		}
-   			sim_tissue_1min();
-   			char_O_deco_status = char_O_deco_status + 1;
-   			if (char_O_deco_status < 16)  // 16 is the limit of calculations for one time slot
-    			int_temp_decostatus = 1;
-   		}
-	} while (int_temp_decostatus == 1);
-}	// calc_hauptroutine_calc_ascend_to_deco
-
-// --------------
-// calc_tissue //
-// --------------
-// optimized in v.101
-
-void calc_tissue(void)
-{
-_asm
-lfsr 1, 0x300
-movlw	0x01
-movwf	TBLPTRU,0
-_endasm
-
- char_O_gtissue_no = 255;
- pres_gtissue_limit = 0.0;
-
-for (ci=0;ci<16;ci++)
-{
-_asm
-movlw	0x02
-movwf	TBLPTRH,0
-movlb	4 // fuer ci
-movf ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_e2secs+1 // the order is confussing
-TBLRDPOSTINC
-movff	TABLAT,var_e2secs	// low byte first, high afterwards
-TBLRDPOSTINC
-movff	TABLAT,var_e2secs+3
-TBLRD
-movff	TABLAT,var_e2secs+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_e2secs+1
-TBLRDPOSTINC
-movff	TABLAT,var2_e2secs
-TBLRDPOSTINC
-movff	TABLAT,var2_e2secs+3
-TBLRD
-movff	TABLAT,var2_e2secs+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_a+1
-TBLRDPOSTINC
-movff	TABLAT,var_a
-TBLRDPOSTINC
-movff	TABLAT,var_a+3
-TBLRD
-movff	TABLAT,var_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_a+1
-TBLRDPOSTINC
-movff	TABLAT,var2_a
-TBLRDPOSTINC
-movff	TABLAT,var2_a+3
-TBLRD
-movff	TABLAT,var2_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_b+1
-TBLRDPOSTINC
-movff	TABLAT,var_b
-TBLRDPOSTINC
-movff	TABLAT,var_b+3
-TBLRD
-movff	TABLAT,var_b+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_b+1
-TBLRDPOSTINC
-movff	TABLAT,var2_b
-TBLRDPOSTINC
-movff	TABLAT,var2_b+3
-TBLRD
-movff	TABLAT,var2_b+2
-_endasm
- // the start values are the previous end values // write new values in temp
-
-	if(	(var_e2secs < 0.0000363)
-		|| (var_e2secs > 0.00577)
-		|| (var2_e2secs < 0.0000961)
-		|| (var2_e2secs > 0.150)
-		|| (var_a < 0.231)
-		|| (var_a > 1.27)
-		|| (var_b < 0.504)
-		|| (var_b > 0.966)
-		|| (var2_a < 0.510)
-		|| (var2_a > 1.75)
-		|| (var2_b < 0.423)
-		|| (var2_b > 0.927)
-		)
-		int_O_DBG_pre_bitfield |= DBG_ZH16ERR;
-
-// N2
- temp_tissue = (temp_atem - pres_tissue[ci]) * var_e2secs;
- temp_tissue_safety();
- pres_tissue[ci] = pres_tissue[ci] + temp_tissue;
-
-// He
- temp_tissue = (temp2_atem - pres_tissue[ci+16]) * var2_e2secs;
- temp_tissue_safety();
- pres_tissue[ci+16] = pres_tissue[ci+16] + temp_tissue;
-
- temp_tissue = pres_tissue[ci] + pres_tissue[ci+16];
-
- var_a = (var_a * pres_tissue[ci] + var2_a * pres_tissue[ci+16]) / temp_tissue;
- var_b = (var_b * pres_tissue[ci] + var2_b * pres_tissue[ci+16]) / temp_tissue;
- pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b;
- if (pres_tissue_limit[ci] < 0)
-  pres_tissue_limit[ci] = 0;
- if (pres_tissue_limit[ci] > pres_gtissue_limit)
-  {
-  pres_gtissue_limit = pres_tissue_limit[ci];
-  char_O_gtissue_no = ci;
-  }//if
-} // for
-}//calc_tissue(void)
-
-// ----------------
-// calc_nullzeit //
-// ----------------
-// calculates the remaining bottom time
-
-// unchanged in v.101
-
-void calc_nullzeit(void)
-{
-	char_O_nullzeit = 0;
-	int_temp = 1;
- 	do
-	{
-  		backup_sim_pres_tissue();
-  		sim_tissue_10min();
-  		char_O_nullzeit = char_O_nullzeit + 10;
-  		int_temp = int_temp + 1;
-		if (char_I_deco_model == 1)
-			temp1 = GF_high * temp_pres_gtissue_diff + temp_pres_gtissue;
-		else
-			temp1 = temp_pres_gtissue_limit;
-		if (temp1 > temp_surface)  // changed in v.102 , if guiding tissue can not be exposed to surface pressure immediately
-			int_temp = 255;
- 	} while (int_temp < 17);
- 	if (int_temp == 255)
- 	{
-  		restore_sim_pres_tissue();
-  		char_O_nullzeit = char_O_nullzeit - 10;
- 	} //if int_temp == 255]
- 	int_temp = 1;
- 	if (char_O_nullzeit < 60)
- 	{
-  		do
-		{
-   			sim_tissue_1min();
-   			char_O_nullzeit = char_O_nullzeit + 1;
-   			int_temp = int_temp + 1;			// new in v.102a
-		if (char_I_deco_model == 1)
-			temp1 = GF_high * temp_pres_gtissue_diff + temp_pres_gtissue;
-		else
-			temp1 = temp_pres_gtissue_limit;
-		if (temp1 > temp_surface)  // changed in v.102 , if guiding tissue can not be exposed to surface pressure immediately
-			int_temp = 255;
-  		} while (int_temp < 10);
-  		if (int_temp == 255)
-   			char_O_nullzeit = char_O_nullzeit - 1;
- 	} // if char_O_nullzeit < 60
-} //calc_nullzeit
-
-// -------------------------
-// backup_sim_pres_tissue //
-// -------------------------
-void backup_sim_pres_tissue(void)
-{
-  for (x = 0;x<16;x++)
-  {
-   sim_pres_tissue_backup[x] = sim_pres_tissue[x];
-   sim_pres_tissue_backup[x+16] = sim_pres_tissue[x+16];
-  }
-} // backup_sim
-
-// --------------------------
-// restore_sim_pres_tissue //
-// --------------------------
-void restore_sim_pres_tissue(void)
-{
-  for (x = 0;x<16;x++)
-  {
-   sim_pres_tissue[x] = sim_pres_tissue_backup[x];
-   sim_pres_tissue[x+16] = sim_pres_tissue_backup[x+16];
-  }
-} // restore_sim
-
-// ------------------
-// calc_ascenttime //
-// ------------------
-
-void calc_ascenttime(void)
-{
-if (pres_respiration > pres_surface)
- {
- switch (char_O_deco_status)
-  {
-  case 2:
-	char_O_ascenttime = 255;
-	break;
-  case 1:
-	break;
-  default:
-	temp1 = pres_respiration - pres_surface + 0.6; // + 0.6 hence 1 minute ascent time from a depth of 4 meter on
-	if (temp1 < 0)
-		temp1 = 0;
-	if (temp1 > 255)
-		temp1 = 255;
-    char_O_ascenttime = (char)temp1;
-
-	for(ci=0;ci<7;ci++)
-	{
-	x = char_O_ascenttime + char_O_array_decotime[ci];
-	if (x < char_O_ascenttime)
-		char_O_ascenttime = 255;
-	else
-		char_O_ascenttime = x;
-	}
-  }
- }
-else
- char_O_ascenttime = 0;
-} // calc_ascenttime()
-
-
-// ---------------------
-// update_startvalues //
-// ---------------------
-// updated in v.102
-
-void update_startvalues(void)
-{
-  	temp_pres_gtissue_limit = pres_gtissue_limit;
-  	temp_pres_gtissue = pres_tissue[char_O_gtissue_no] + pres_tissue[char_O_gtissue_no+16];
-  	temp_pres_gtissue_diff = temp_pres_gtissue_limit - temp_pres_gtissue;						// negative number
-	temp_pres_gtissue_limit_GF_low = GF_low * temp_pres_gtissue_diff + temp_pres_gtissue;
-  	temp_pres_gtissue_limit_GF_low_below_surface = temp_pres_gtissue_limit_GF_low - pres_surface;
-	if (temp_pres_gtissue_limit_GF_low_below_surface < 0)
-		temp_pres_gtissue_limit_GF_low_below_surface = 0;
-
-	temp_gtissue_no = char_O_gtissue_no;
-  	for (x = 0;x<16;x++)
-  	{
-   		sim_pres_tissue[x] = pres_tissue[x];
-   		sim_pres_tissue[x+16] = pres_tissue[x+16];
-   		sim_pres_tissue_limit[x] = pres_tissue_limit[x];
-  	}
-} // update_startvalues
-
-
-// ------------------
-// sim_tissue_1min //
-// ------------------
-// optimized in v.101
-
-void sim_tissue_1min(void)
-{
-temp_pres_gtissue_limit = 0.0;
-temp_gtissue_no = 255;
-
-_asm
-lfsr 1, 0x300
-movlw	0x01
-movwf	TBLPTRU,0
-_endasm
-
-
-for (ci=0;ci<16;ci++)
-{
-_asm
-movlw	0x02
-movwf	TBLPTRH,0
-movlb	4 // fuer ci
-movf ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addlw	0x80
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_a+1
-TBLRDPOSTINC
-movff	TABLAT,var_a
-TBLRDPOSTINC
-movff	TABLAT,var_a+3
-TBLRD
-movff	TABLAT,var_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_a+1
-TBLRDPOSTINC
-movff	TABLAT,var2_a
-TBLRDPOSTINC
-movff	TABLAT,var2_a+3
-TBLRD
-movff	TABLAT,var2_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_b+1
-TBLRDPOSTINC
-movff	TABLAT,var_b
-TBLRDPOSTINC
-movff	TABLAT,var_b+3
-TBLRD
-movff	TABLAT,var_b+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_b+1
-TBLRDPOSTINC
-movff	TABLAT,var2_b
-TBLRDPOSTINC
-movff	TABLAT,var2_b+3
-TBLRD
-movff	TABLAT,var2_b+2
-addlw	0xC0
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_e1min+1
-TBLRDPOSTINC
-movff	TABLAT,var_e1min
-TBLRDPOSTINC
-movff	TABLAT,var_e1min+3
-TBLRD
-movff	TABLAT,var_e1min+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min+1
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min+3
-TBLRD
-movff	TABLAT,var2_e1min+2
-_endasm
-// N2
- temp_tissue = (temp_atem - sim_pres_tissue[ci]) * var_e1min;
- temp_tissue_safety();
- sim_pres_tissue[ci] = sim_pres_tissue[ci] + temp_tissue;
-// He
- temp_tissue = (temp2_atem - sim_pres_tissue[ci+16]) * var2_e1min;
- temp_tissue_safety();
- sim_pres_tissue[ci+16] = sim_pres_tissue[ci+16] + temp_tissue;
-// pressure limit
- temp_tissue = sim_pres_tissue[ci] + sim_pres_tissue[ci+16];
- var_a = (var_a * sim_pres_tissue[ci] + var2_a * sim_pres_tissue[ci+16]) / temp_tissue;
- var_b = (var_b * sim_pres_tissue[ci] + var2_b * sim_pres_tissue[ci+16]) / temp_tissue;
- sim_pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b;
-
- if (sim_pres_tissue_limit[ci] < 0)
-  sim_pres_tissue_limit[ci] = 0;
- if (sim_pres_tissue_limit[ci] > temp_pres_gtissue_limit)
-  {
-  temp_pres_gtissue = temp_tissue;
-  temp_pres_gtissue_limit = sim_pres_tissue_limit[ci];
-  temp_gtissue_no = ci;
-  }
-} // for
-  	temp_pres_gtissue_diff = temp_pres_gtissue_limit - temp_pres_gtissue;
-	temp_pres_gtissue_limit_GF_low = GF_low * temp_pres_gtissue_diff + temp_pres_gtissue;
-  	temp_pres_gtissue_limit_GF_low_below_surface = temp_pres_gtissue_limit_GF_low - pres_surface;
-	if (temp_pres_gtissue_limit_GF_low_below_surface < 0)
-		temp_pres_gtissue_limit_GF_low_below_surface = 0;
-} //sim_tissue_1min()
-
-//--------------------
-// sim_tissue_10min //
-//--------------------
-
-// Attention!! uses var_e1min und var2_e1min to load 10min data !!!
-// is identical to sim_tissue_1min routine except for the different load of those variables
-
-// optimized in v.101
-
-void sim_tissue_10min(void)
-{
-temp_pres_gtissue_limit = 0.0;
-temp_gtissue_no = 255;
-
-_asm
-lfsr 1, 0x300
-movlw	0x01
-movwf	TBLPTRU,0
-_endasm
-
-for (ci=0;ci<16;ci++)
-{
-_asm
-movlw	0x02
-movwf	TBLPTRH,0
-movlb	4 // fuer ci
-movf ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addlw	0x80
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_a+1
-TBLRDPOSTINC
-movff	TABLAT,var_a
-TBLRDPOSTINC
-movff	TABLAT,var_a+3
-TBLRD
-movff	TABLAT,var_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_a+1
-TBLRDPOSTINC
-movff	TABLAT,var2_a
-TBLRDPOSTINC
-movff	TABLAT,var2_a+3
-TBLRD
-movff	TABLAT,var2_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_b+1
-TBLRDPOSTINC
-movff	TABLAT,var_b
-TBLRDPOSTINC
-movff	TABLAT,var_b+3
-TBLRD
-movff	TABLAT,var_b+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_b+1
-TBLRDPOSTINC
-movff	TABLAT,var2_b
-TBLRDPOSTINC
-movff	TABLAT,var2_b+3
-TBLRD
-movff	TABLAT,var2_b+2
-addlw	0xC0				// different to 1 min
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-incf	TBLPTRH,1,0			// different to 1 min
-TBLRDPOSTINC
-movff	TABLAT,var_e1min+1
-TBLRDPOSTINC
-movff	TABLAT,var_e1min
-TBLRDPOSTINC
-movff	TABLAT,var_e1min+3
-TBLRD
-movff	TABLAT,var_e1min+2
-addlw	0x40
-movwf	TBLPTRL,0
-//incf	TBLPTRH,1,0			// different to 1 min
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min+1
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min+3
-TBLRD
-movff	TABLAT,var2_e1min+2
-_endasm
-// N2
- temp_tissue = (temp_atem - sim_pres_tissue[ci]) * var_e1min;
- temp_tissue_safety();
- sim_pres_tissue[ci] = sim_pres_tissue[ci] + temp_tissue;
-// He
- temp_tissue = (temp2_atem - sim_pres_tissue[ci+16]) * var2_e1min;
- temp_tissue_safety();
- sim_pres_tissue[ci+16] = sim_pres_tissue[ci+16] + temp_tissue;
-// pressure limit
-temp_tissue = sim_pres_tissue[ci] + sim_pres_tissue[ci+16];
- var_a = (var_a * sim_pres_tissue[ci] + var2_a * sim_pres_tissue[ci+16]) / temp_tissue;
- var_b = (var_b * sim_pres_tissue[ci] + var2_b * sim_pres_tissue[ci+16]) / temp_tissue;
-
-sim_pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b;
- if (sim_pres_tissue_limit[ci] < 0)
-  sim_pres_tissue_limit[ci] = 0;
- if (sim_pres_tissue_limit[ci] > temp_pres_gtissue_limit)
-  {
-  temp_pres_gtissue = temp_tissue;
-  temp_pres_gtissue_limit = sim_pres_tissue_limit[ci];
-  temp_gtissue_no = ci;
-  }
-} // for
-  	temp_pres_gtissue_diff = temp_pres_gtissue_limit - temp_pres_gtissue;							// negative number
-	temp_pres_gtissue_limit_GF_low = GF_low * temp_pres_gtissue_diff + temp_pres_gtissue;
-  	temp_pres_gtissue_limit_GF_low_below_surface = temp_pres_gtissue_limit_GF_low - pres_surface;
-	if (temp_pres_gtissue_limit_GF_low_below_surface < 0)
-		temp_pres_gtissue_limit_GF_low_below_surface = 0;
-} //sim_tissue_10min()
-
-
-// ------------------
-// clear_decoarray //
-// ------------------
-// unchanged in v.101
-
-void clear_decoarray(void)
-{
-char_O_array_decodepth[0] = 0;
-char_O_array_decodepth[1] = 0;
-char_O_array_decodepth[2] = 0;
-char_O_array_decodepth[3] = 0;
-char_O_array_decodepth[4] = 0;
-char_O_array_decodepth[5] = 0;
-char_O_array_decotime[0] = 0;
-char_O_array_decotime[1] = 0;
-char_O_array_decotime[2] = 0;
-char_O_array_decotime[3] = 0;
-char_O_array_decotime[4] = 0;
-char_O_array_decotime[5] = 0;
-char_O_array_decotime[6] = 0;
-} // clear_decoarray
-
-
-// -------------------
-// update_decoarray //
-// -------------------
-// unchanged in v.101
-
-void update_decoarray()
-{
-	x = 0;
-	do
-	{
-		if (char_O_array_decodepth[x] == temp_depth_limit)
-		{
-			int_temp = char_O_array_decotime[x] + temp_decotime;
-			if (int_temp < 0)
-				int_temp = 0;
-			if (int_temp > 240)
-				int_temp = 240;
- 			char_O_array_decotime[x] = int_temp;
-			x = 10; // exit
-		} // if
-		else
- 		{
- 			if (char_O_array_decodepth[x] == 0)
-  			{
-  				if (temp_depth_limit > 255)
-   					char_O_array_decodepth[x] = 255;
-  				else
-   					char_O_array_decodepth[x] = (char)temp_depth_limit;
-  				int_temp = char_O_array_decotime[x] + temp_decotime;
-  				if (int_temp > 240)
-   					char_O_array_decotime[x] = 240;
-  				else
-   					char_O_array_decotime[x] = (char)int_temp;
-  				x = 10; // exit
-  			} // if
- 			else
-  				x++;
- 		} // else
-	} while (x<6);
-	if (x == 6)
- 	{
- 		int_temp = char_O_array_decotime[6] + temp_decotime;
- 		if (int_temp > 220)
-  			char_O_array_decotime[6] = 220;
- 		else
-  			char_O_array_decotime[6] = (char)int_temp;
- 	} // if x == 6
-} // update_decoarray
-
-
-// -----------------------
-// calc_gradient_factor //
-// -----------------------
-// optimized in v.101 (var_a)
-// new code in v.102
-
-void calc_gradient_factor(void)
-{
-	// tissue > respiration (entsaettigungsvorgang)
-	// gradient ist wieviel prozent an limit mit basis tissue
-	// dh. 0% = respiration == tissue
-	// dh. 100% = respiration == limit
-	temp_tissue = pres_tissue[char_O_gtissue_no] + pres_tissue[char_O_gtissue_no+16];
-	temp1 = temp_tissue - pres_respiration;
-	temp2 = temp_tissue - pres_tissue_limit[char_O_gtissue_no];	// changed in v.102
-	temp2 = temp1/temp2;
-	temp2 = temp2 * 100; // displayed in percent
-	if (temp2 < 0)
-		temp2 = 0;
-	if (temp2 > 255)
-		temp2 = 255;
-	if (temp1 < 0)
- 		char_O_gradient_factor = 0;
-	else
- 		char_O_gradient_factor = (char)temp2;
-
-	temp3 = temp2;
-
-	if (char_I_deco_model == 1)		// calculate relative gradient factor
-	{
-		temp1 = (float)temp_depth_GF_low_meter * 0.09995;
-		temp2 = pres_respiration - pres_surface;
-		if (temp2 <= 0)
-			temp1 = GF_high;
-		else
-		if (temp2 >= temp1)
-			temp1 = GF_low;
-		else
-			temp1 = GF_low + (temp1 - temp2)/temp1*GF_delta;
-		if (temp_depth_GF_low_meter == 0)
-			temp1 = GF_high;
-		temp2 = temp3 / temp1; // temp3 is already in percent
-		if (temp2 < 0)
-			temp2 = 0;
-		if (temp2 > 255)
-			temp2 = 255;
-		char_O_relative_gradient_GF  = (char)temp2;
-	}	// calc relative gradient factor
-	else
-	{
- 			char_O_relative_gradient_GF = char_O_gradient_factor;
-	}
-} // calc_gradient
-
-// ---------------------------
-// calc_gradient_array_only //
-// ---------------------------
-// optimized in v.101 (var_a)
-// new code in v.102
-
-void calc_gradient_array_only()
-{
- pres_respiration = (float)int_I_pres_respiration / 1000.0; // assembler code uses different digit system
-for (ci=0;ci<16;ci++)
-{
-	temp_tissue = pres_tissue[ci] + pres_tissue[ci+16];
-	temp1 = temp_tissue - pres_respiration;
-	temp2 = temp_tissue - pres_tissue_limit[ci];
-	temp2 = temp1/temp2;
-	temp2 = temp2 * 200; // because of output in (Double-)percentage
-	if (temp2 < 0)
-		temp2 = 0;
-	if (temp2 > 255)
-		temp2 = 255;
-	if (temp1 < 0)
- 		char_O_array_gradient_weighted[ci] = 0;
-	else
- 		char_O_array_gradient_weighted[ci] = (char)temp2;
-} // for
-} // calc_gradient_array_only
-
-
-// -------------------------
-// calc_desaturation_time //
-// -------------------------
-// FIXED N2_ratio
-// unchanged in v.101
-
-void calc_desaturation_time(void)
-{
-_asm
-lfsr 1, 0x300
-movlw	0x01
-movwf	TBLPTRU,0
-_endasm
- N2_ratio = 0.7902; // FIXED sum as stated in b"uhlmann
- pres_surface = (float)int_I_pres_surface / 1000.0;
- temp_atem = N2_ratio * (pres_surface - 0.0627);
- int_O_desaturation_time = 0;
- float_desaturation_multiplier = char_I_desaturation_multiplier / 142.0; // new in v.101	(70,42%/100.=142)
-
-for (ci=0;ci<16;ci++)
-{
-_asm
-movlw	0x04
-movwf	TBLPTRH,0
-movlb	4 // fuer ci
-movf ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addlw	0x80
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_halftimes+1
-TBLRDPOSTINC
-movff	TABLAT,var_halftimes
-TBLRDPOSTINC
-movff	TABLAT,var_halftimes+3
-TBLRD
-movff	TABLAT,var_halftimes+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_halftimes+1
-TBLRDPOSTINC
-movff	TABLAT,var2_halftimes
-TBLRDPOSTINC
-movff	TABLAT,var2_halftimes+3
-TBLRD
-movff	TABLAT,var2_halftimes+2
-_endasm
-
-// saturation_time (for flight) and N2_saturation in multiples of halftime
-// version v.100: 1.1 = 10 percent distance to totally clean (totally clean is not possible, would take infinite time )
-// new in version v.101: 1.07 = 7 percent distance to totally clean (totally clean is not possible, would take infinite time )
-// changes in v.101: 1.05 = 5 percent dist to totally clean is new desaturation point for display and noFly calculations
-// N2
- temp1 = 1.05 * temp_atem;
- temp1 = temp1 - pres_tissue[ci];
- temp2 = temp_atem - pres_tissue[ci];
-  if (temp2 >= 0.0)
-	{
-	temp1 = 0;
-	temp2 = 0;
-	}
- else
-    temp1 = temp1 / temp2;
-  if (temp1 > 0.0)
-	{
-	temp1 = log(1.0 - temp1);
-	temp1 = temp1 / -0.6931; // temp1 is the multiples of half times necessary.
-							 // 0.6931 is ln(2), because the math function log() calculates with a base of e not 2 as requested.
-							 // minus because log is negative
-	temp2 = var_halftimes * temp1 / float_desaturation_multiplier; // time necessary (in minutes ) for complete desaturation (see comment about 10 percent) , new in v.101: float_desaturation_multiplier
-	}
- else
-	{
-	temp1 = 0;
-	temp2 = 0;
-	}
-
-// He
- temp3 = 0.1 - pres_tissue[ci+16];
-if (temp3 >= 0.0)
-	{
-	temp3 = 0;
-	temp4 = 0;
-	}
- else
-    temp3 = -1.0 * temp3 / pres_tissue[ci+16];
-  if (temp3 > 0.0)
-	{
-	temp3 = log(1.0 - temp3);
-	temp3 = temp3 / -0.6931; // temp1 is the multiples of half times necessary.
-							 // 0.6931 is ln(2), because the math function log() calculates with a base of e  not 2 as requested.
-							 // minus because log is negative
-	temp4 = var2_halftimes * temp3 / float_desaturation_multiplier; // time necessary (in minutes ) for "complete" desaturation, new in v.101 float_desaturation_multiplier
-	}
- else
-	{
-	temp3 = 0;
-	temp4 = 0;
-	}
-
-// saturation_time (for flight)
- if (temp4 > temp2)
-	 int_temp = (int)temp4;
- else
-	 int_temp = (int)temp2;
- if(int_temp > int_O_desaturation_time)
-	int_O_desaturation_time = int_temp;
-
-// N2 saturation in multiples of halftime for display purposes
- temp2 = temp1 * 20.0;  // 0 = 1/8, 120 = 0, 249 = 8
- temp2 = temp2 + 80.0; // set center
- if (temp2 < 0.0)
-	 temp2 = 0.0;
- if (temp2 > 255.0)
- 	 temp2 = 255.0;
- char_O_tissue_saturation[ci] = (char)temp2;
-// He saturation in multiples of halftime for display purposes
- temp4 = temp3 * 20.0;  // 0 = 1/8, 120 = 0, 249 = 8
- temp4 = temp4 + 80.0; // set center
- if (temp4 < 0.0)
-	 temp4 = 0.0;
- if (temp4 > 255.0)
- 	 temp4 = 255.0;
- char_O_tissue_saturation[ci+16] = (char)temp4;
-} // for
-} // calc_desaturation_time
-
-
-// --------------------------
-// calc_wo_deco_step_1_min //
-// --------------------------
-// FIXED N2 Ratio
-// optimized in v.101 (...saturation_multiplier)
-// desaturation slowed down to 70,42%
-
-void calc_wo_deco_step_1_min(void)
-{
-	if(flag_in_divemode)
-	{
-		flag_in_divemode = 0;
-		set_dbg_end_of_dive();
-	}
-_asm
- lfsr 1, 0x300
-_endasm
- N2_ratio = 0.7902; // FIXED, sum lt. buehlmann
- pres_respiration = (float)int_I_pres_respiration / 1000.0; // assembler code uses different digit system
- pres_surface = (float)int_I_pres_surface / 1000.0;
- temp_atem = N2_ratio * (pres_respiration - 0.0627); // 0.0627 is the extra pressure in the body
- temp2_atem = 0.0;
- temp_surface = pres_surface; // the b"uhlmann formula using temp_surface does not use the N2_ratio
- float_desaturation_multiplier = char_I_desaturation_multiplier / 142.0; // new in v.101	(70,42%/100.=142)
- float_saturation_multiplier = char_I_saturation_multiplier / 100.0;
-
- calc_tissue_step_1_min();  // update the pressure in the 16 tissues in accordance with the new ambient pressure
- clear_decoarray();
- char_O_deco_status = 0;
- char_O_nullzeit = 0;
- char_O_ascenttime = 0;
- calc_gradient_factor();
-
-} // calc_wo_deco_step_1_min(void)
-
-
-// -------------------------
-// calc_tissue_step_1_min //
-// -------------------------
-// optimized in v.101
-
-void calc_tissue_step_1_min(void)
-{
-_asm
-lfsr 1, 0x300
-movlw	0x01
-movwf	TBLPTRU,0
-_endasm
-
- char_O_gtissue_no = 255;
- pres_gtissue_limit = 0.0;
-
-for (ci=0;ci<16;ci++)
-{
-_asm
-movlw	0x02
-movwf	TBLPTRH,0
-movlb	4 // fuer ci
-movf ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addlw	0x80
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_a+1
-TBLRDPOSTINC
-movff	TABLAT,var_a
-TBLRDPOSTINC
-movff	TABLAT,var_a+3
-TBLRD
-movff	TABLAT,var_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_a+1
-TBLRDPOSTINC
-movff	TABLAT,var2_a
-TBLRDPOSTINC
-movff	TABLAT,var2_a+3
-TBLRD
-movff	TABLAT,var2_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_b+1
-TBLRDPOSTINC
-movff	TABLAT,var_b
-TBLRDPOSTINC
-movff	TABLAT,var_b+3
-TBLRD
-movff	TABLAT,var_b+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_b+1
-TBLRDPOSTINC
-movff	TABLAT,var2_b
-TBLRDPOSTINC
-movff	TABLAT,var2_b+3
-TBLRD
-movff	TABLAT,var2_b+2
-addlw	0xC0
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_e1min+1
-TBLRDPOSTINC
-movff	TABLAT,var_e1min
-TBLRDPOSTINC
-movff	TABLAT,var_e1min+3
-TBLRD
-movff	TABLAT,var_e1min+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min+1
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min+3
-TBLRD
-movff	TABLAT,var2_e1min+2
-_endasm
-
-// N2 1 min
- temp_tissue = (temp_atem - pres_tissue[ci]) * var_e1min;
- temp_tissue_safety();
- pres_tissue[ci] = pres_tissue[ci] + temp_tissue;
-
-// He 1 min
- temp_tissue = (temp2_atem - pres_tissue[ci+16]) * var2_e1min;
- temp_tissue_safety();
- pres_tissue[ci+16] = pres_tissue[ci+16] + temp_tissue;
-
- temp_tissue = pres_tissue[ci] + pres_tissue[ci+16];
- var_a = (var_a * pres_tissue[ci] + var2_a * pres_tissue[ci+16]) / temp_tissue;
- var_b = (var_b * pres_tissue[ci] + var2_b * pres_tissue[ci+16]) / temp_tissue;
- pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b;
- if (pres_tissue_limit[ci] < 0)
-  pres_tissue_limit[ci] = 0;
- if (pres_tissue_limit[ci] > pres_gtissue_limit)
-  {
-  pres_gtissue_limit = pres_tissue_limit[ci];
-  char_O_gtissue_no = ci;
-  }//if
-
-// gradient factor array for graphical display
-// display range is 0 to 250! in steps of 5 for 1 pixel
-// the display is divided in 6 blocks
-// -> double the gradient 100% = 200
-// tissue > respiration (entsaettigungsvorgang)
-// gradient ist wieviel prozent an limit von tissue aus
-// dh. 0% = respiration == tissue
-// dh. 100% = respiration == limit
-temp1 = temp_tissue - pres_respiration;
-temp2 = temp_tissue - pres_tissue_limit[ci];	// changed in v.102
-temp2 = temp1/temp2;
-temp2 = temp2 * 200; // because of output in (Double-)percentage
-if (temp2 < 0)
-	temp2 = 0;
-if (temp2 > 255)
-	temp2 = 255;
-if (temp1 < 0)
- char_O_array_gradient_weighted[ci] = 0;
-else
- char_O_array_gradient_weighted[ci] = (char)temp2;
-
-} // for
-} // calc wo deco 1min
-
-#if 0
-// --------
-// debug //
-// --------
-void debug(void)
-{
-for (ci=0;ci<32;ci++)
-{
- int_O_tissue_for_debug[ci] = (unsigned int)(pres_tissue[ci] *1000);
-}
-} // void debug(void)
-#endif
-
-// ----------
-// md hash //
-// ----------
-void hash(void)
-{
-// init
- for (md_i=0;md_i<16;md_i++)
- {
-  md_state[md_i] = 0;
-  md_cksum[md_i] = 0;
- } // for md_i 16
-
-_asm
- movlw	0x01
- movwf	TBLPTRU,0
- movlw	0x06
- movwf	TBLPTRH,0
- movlw	0x00
- movwf	TBLPTRL,0
-_endasm
- for (md_i=0;md_i<127;md_i++)
- {
-_asm
- TBLRDPOSTINC
- movff	TABLAT,md_temp
-_endasm
-  md_pi_subst[md_i] = md_temp;
- } // for md_i 256
-_asm
- TBLRDPOSTINC
- movff	TABLAT,md_temp
-_endasm
-  md_pi_subst[127] = md_temp;
- for (md_i=0;md_i<127;md_i++)
- {
-_asm
- TBLRDPOSTINC
- movff	TABLAT,md_temp
-_endasm
-  md_pi_subst[md_i+128] = md_temp;
- } // for md_i 256
-_asm
- TBLRD
- movff	TABLAT,md_temp
-_endasm
-  md_pi_subst[255] = md_temp;
-
-_asm
- movlw	0x00
- movwf	TBLPTRU,0
- movlw	0x00
- movwf	TBLPTRH,0
- movlw	0x00
- movwf	TBLPTRL,0
-_endasm
-// cycle buffers
-for (md_pointer=0x0000;md_pointer<0x17f3;md_pointer++)
-{
- md_t = 0;
- for (md_i=0;md_i<16;md_i++)
- {
-  if(md_pointer == 9)
-   md_temp = md_cksum[md_i];
-  else
-  {
-_asm
-  TBLRDPOSTINC
-  movff	TABLAT,md_temp
-_endasm
-  } // else
-  md_buffer[md_i] = md_temp;
-  md_state[md_i+16] = md_buffer[md_i];
-  md_state[md_i+32] = (unsigned char)(md_buffer[md_i] ^ md_state[md_i]);
- } // for md_i 16
-
- for (md_i=0;md_i<18;md_i++)
- {
-  for (md_j=0;md_j<48;md_j++)
-  {
-   md_state[md_j] = (unsigned char)(md_state[md_j] ^ md_pi_subst[md_t]);
-   md_t = md_state[md_j];
-  } // for md_j 48
-  md_t = (unsigned char)(md_t+1);
- } // for md_i 18
- md_t = md_cksum[15];
-
- for (md_i=0;md_i<16;md_i++)
- {
-  md_cksum[md_i] = (unsigned char)(md_cksum[md_i] ^ md_pi_subst[(md_buffer[md_i] ^ md_t)]);
-  md_t = md_cksum[md_i];
- } // for md_i 16
-} // for md_pointer
-} // void hash(void)
-
-// ---------------------
-// clear_CNS_fraction //
-// ---------------------
-// new in v.101
-
-void clear_CNS_fraction(void)
-{
- CNS_fraction = 0.0;
- char_O_CNS_fraction = 0;
-} // void clear_CNS_fraction(void)
-
-
-// --------------------
-// calc_CNS_fraction //
-// --------------------
-// new in v.101
-// optimized in v.102 : with new variables char_I_actual_ppO2 and actual_ppO2
-
-// Input: char_I_actual_ppO2
-// Output: char_O_CNS_fraction
-// Uses and Updates: CNS_fraction
-// Uses: acutal_ppO2
-
-void calc_CNS_fraction(void)
-{
- actual_ppO2 = (float)char_I_actual_ppO2 / 100.0;
-
- if (char_I_actual_ppO2 < 50)
-  CNS_fraction = CNS_fraction;// no changes
- else if (char_I_actual_ppO2 < 60)
-  CNS_fraction = 1/(-54000.0 * actual_ppO2 + 54000.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 70)
-  CNS_fraction = 1/(-45000.0 * actual_ppO2 + 48600.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 80)
-  CNS_fraction = 1/(-36000.0 * actual_ppO2 + 42300.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 90)
-  CNS_fraction = 1/(-27000.0 * actual_ppO2 + 35100.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 110)
-  CNS_fraction = 1/(-18000.0 * actual_ppO2 + 27000.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 150)
-  CNS_fraction = 1/(-9000.0 * actual_ppO2 + 17100.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 160)
-  CNS_fraction = 1/(-22500.0 * actual_ppO2 + 37350.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 165)
-  CNS_fraction =  0.000755 + CNS_fraction; // Arieli et all.(2002): Modeling pulmonary and CNS O2 toxicity... Formula (A1) based on value for 1.55 and c=20
- else if (char_I_actual_ppO2 < 170)
-  CNS_fraction =  0.00102 + CNS_fraction; // example calculation: Sqrt((1.7/1.55)^20)*0.000404
- else if (char_I_actual_ppO2 < 175)
-  CNS_fraction =  0.00136 + CNS_fraction;
- else if (char_I_actual_ppO2 < 180)
-  CNS_fraction =  0.00180 + CNS_fraction;
- else if (char_I_actual_ppO2 < 185)
-  CNS_fraction =  0.00237 + CNS_fraction;
- else if (char_I_actual_ppO2 < 190)
-  CNS_fraction =  0.00310 + CNS_fraction;
- else if (char_I_actual_ppO2 < 195)
-  CNS_fraction =  0.00401 + CNS_fraction;
- else if (char_I_actual_ppO2 < 200)
-  CNS_fraction =  0.00517 + CNS_fraction;
- else if (char_I_actual_ppO2 < 230)
-  CNS_fraction =  0.0209 + CNS_fraction;
- else
-  CNS_fraction =  0.0482 + CNS_fraction; // value for 2.5
-
- if (CNS_fraction > 2.5)
-  CNS_fraction = 2.5;
- if (CNS_fraction < 0.0)
-  CNS_fraction = 0.0;
- char_O_CNS_fraction = (char)((CNS_fraction + 0.005)* 100.0);
-} // void calc_CNS_fraction(void)
-
-// --------------------------
-// calc_CNS_decrease_15min //
-// --------------------------
-// new in v.101
-
-// calculates the half time of 90 minutes in 6 steps of 15 min
-
-// Output: char_O_CNS_fraction
-// Uses and Updates: CNS_fraction
-
-void calc_CNS_decrease_15min(void)
-{
- CNS_fraction =  0.890899 * CNS_fraction;
- char_O_CNS_fraction = (char)((CNS_fraction + 0.005)* 100.0);
-}// calc_CNS_decrease_15min(void)
-
-
-// ------------------
-// calc_percentage //
-// ------------------
-// new in v.101
-
-// calculates int_I_temp * char_I_temp / 100
-// output is int_I_temp
-
-void calc_percentage(void)
-{
- temp1 = (float)int_I_temp;
- temp2 = (float)char_I_temp / 100.0;
- temp3 = temp1 * temp2;
- int_I_temp = (int)temp3;
-}
-void push_tissues_to_vault(void)
-{
-	for (ci=0;ci<32;ci++)
-		pres_tissue_vault[ci] = pres_tissue[ci];
-}
-void pull_tissues_from_vault(void)
-{
-	for (ci=0;ci<32;ci++)
-		pres_tissue[ci] = pres_tissue_vault[ci];
-}
-
-void wp_write_command(void)
-{
-	_asm
-		bcf		oled_rs
-		movff	wp_command,PORTD
-		bcf		oled_rw
-		bsf		oled_rw
-	_endasm
-}
-
-void wp_write_data(void)
-{
-	wp_data_8bit_one = wp_data_16bit >> 8;
-	wp_data_8bit_two = wp_data_16bit;
-_asm
-	bsf		oled_rs
-	movff	wp_data_8bit_one,PORTD
-	bcf		oled_rw
-	bsf		oled_rw
-	movff	wp_data_8bit_two,PORTD
-	bcf		oled_rw
-	bsf		oled_rw
-_endasm
-}
-
-void wp_write_black(void)
-{
-_asm
-	movff	wp_black,PORTD
-	bcf		oled_rw
-	bsf		oled_rw
-	bcf		oled_rw
-	bsf		oled_rw
-_endasm
-}
-
-void wp_write_color(void)
-{
-_asm
-	movff	wp_color1,PORTD
-	bcf		oled_rw
-	bsf		oled_rw
-	movff	wp_color2,PORTD
-	bcf		oled_rw
-	bsf		oled_rw
-_endasm
-}
-
-void wp_set_window(void)
-{
-	// x axis start ( 0 - 319)
-	wp_command = 0x35;
-	wp_write_command();
-	wp_data_16bit = ((U16)wp_leftx2) << 1;
-	wp_write_data();
-	// x axis end ( 0 - 319)
-	wp_command = 0x36;
-	wp_write_command();
-	wp_data_16bit = 319;
-	wp_write_data();
-	// y axis start + end ( 0 - 239 )
-	wp_command = 0x37;
-	wp_write_command();
-	// the bottom part
-	wp_data_16bit = wp_top;
-	if(wp_font & 1)
-	{
-		wp_data_16bit += WP_FONT_MEDIUM_HEIGHT;
-		if(wp_font & 2)
-			wp_data_16bit += WP_FONT_MEDIUM_HEIGHT;
-	}
-	else
-	{
-		wp_data_16bit += WP_FONT_SMALL_HEIGHT;
-		if(wp_font & 2)
-			wp_data_16bit += WP_FONT_SMALL_HEIGHT;
-	}
-	wp_data_16bit--;
-	if(wp_data_16bit > 239)
-		wp_data_16bit = 239;
-	// the top part
-	wp_data_16bit |= ((U16)wp_top) << 8;
-	// all together in one 16bit transfer
-	wp_write_data();
-
-	// start
-	wp_command = 0x20;
-	wp_write_command();
-	wp_data_16bit = wp_top;
-	wp_write_data();
-
-	wp_command = 0x21;
-	wp_write_command();
-	wp_data_16bit = ((U16)wp_leftx2) << 1;
-	wp_write_data();
-}
-
-void wp_set_char_font_small(void)
-{
-	if (wp_char > 0x7E)
-		wp_char -= 34;
-	if ((wp_char >= 1) && (wp_char <= 5)) // battery
-		wp_char += 160;
-	if((wp_char < '!') || (wp_char > 166)) // limit to end of battery at the moment
-		wp_char = ' ';
-	if(wp_char != ' ')
-	{
-		wp_start = wp_small_table[wp_char - '!'];
-		wp_end = wp_small_table[1 + wp_char - '!'];
-	}
-}
-
-void wp_set_char_font_medium(void)
-{
-	if (wp_char == 0x27) // 0x27 == '
-		wp_char = 0x3B;
-	if (wp_char == '"')
-		wp_char = 0x3C;
-	if (wp_char == 'm')
-		wp_char = 0x3D;
-	if((wp_char < '.') || (wp_char > 0x3D))
-		wp_char = ' ';
-	if(wp_char != ' ')
-	{
-		wp_start = wp_medium_table[wp_char - '.'];
-		wp_end = wp_medium_table[1 + wp_char - '.'];
-	}
-}
-
-void wordprocessor(void)
-{
-	wp_data_8bit_one = 0;
-	_asm
-		movff	wp_data_8bit_one,POSTINC2
-	_endasm
-
-	wp_set_window();
-
-	// access to GRAM
-	wp_command = 0x22;
-	wp_write_command();
-	_asm
-		bsf		oled_rs
-	_endasm
-
-	wp_txtptr = 0;
-	wp_char = wp_stringstore[wp_txtptr];
-	while(wp_char)
-	{
-		if(wp_font & 1)
-			wp_set_char_font_medium();
-		else
-			wp_set_char_font_small();
-
-		wp_black = 0;
-		if(wp_char == ' ')
-		{
-			_asm
-				movff	wp_black,PORTD
-			_endasm
-			if(wp_font & 1)
-				for(wp_i =0; wp_i<WP_SIZECHAR_MEDIUM;wp_i++)
-				{
-					_asm
-						bcf		oled_rw
-						bsf		oled_rw
-						bcf		oled_rw
-						bsf		oled_rw
-					_endasm
-				}
-			else
-				for(wp_i =0; wp_i<WP_SIZECHAR_SMALL;wp_i++)
-				{
-					_asm
-						bcf		oled_rw
-						bsf		oled_rw
-						bcf		oled_rw
-						bsf		oled_rw
-					_endasm
-				}
-		}
-		else
-		{
-			for(wp_i = wp_start; wp_i<wp_end;wp_i++)
-			{
-				if(wp_font & 1)
-					wp_data_16bit = wp_medium_data[wp_i / 2];
-				else
-					wp_data_16bit = wp_small_data[wp_i / 2];
-				if(wp_i & 1)
-					wp_temp_U8 = wp_data_16bit & 0xFF;
-				else
-					wp_temp_U8 = wp_data_16bit >> 8;
-				if((wp_temp_U8 & 128))
-				{
-					wp_temp_U8 -= 127;
-					if(wp_invert)
-					{
-						while(wp_temp_U8 > 0)
-						{
-							wp_temp_U8--;
-							wp_write_color();
-						}
-					}
-					else
-					{
-						_asm
-							movff	wp_black,PORTD
-						_endasm
-						_asm
-							movff	wp_black,PORTD
-						_endasm
-						while(wp_temp_U8 > 0)
-						{
-							wp_temp_U8--;
-							_asm
-								bcf		oled_rw
-								bsf		oled_rw
-								bcf		oled_rw
-								bsf		oled_rw
-							_endasm
-						}
-					}
-				}
-				else
-				{
-					wp_temp_U8++;
-					if(wp_invert)
-					{
-						_asm
-							movff	wp_black,PORTD
-						_endasm
-						_asm
-							movff	wp_black,PORTD
-						_endasm
-						while(wp_temp_U8 > 0)
-						{
-							wp_temp_U8--;
-							_asm
-								bcf		oled_rw
-								bsf		oled_rw
-								bcf		oled_rw
-								bsf		oled_rw
-							_endasm
-						}
-					}
-					else
-					{
-						while(wp_temp_U8 > 0)
-						{
-							wp_temp_U8--;
-							wp_write_color();
-						}
-					}
-				}
-			}
-		}
-		wp_txtptr++;
-		wp_char = wp_stringstore[wp_txtptr];
-	}
-	wp_command = 0x00;
-	wp_write_command();
-}
--- a/code_part1/OSTC_code_c_part2/old/p2_deco_main_old_v107.c	Tue Jan 12 15:05:59 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3453 +0,0 @@
-/*
- * p2_deco_main_c_v107.c
- *
- *  Created on: 31.03.2009
- *      Author: chsw
- */
-
-//#include <p2_deco_header_c_v102d.h>
-
-
-// OSTC - diving computer code
-// Copyright (C) 2008 HeinrichsWeikamp GbR
-
-//    This program is free software: you can redistribute it and/or modify
-//    it under the terms of the GNU General Public License as published by
-//    the Free Software Foundation, either version 3 of the License, or
-//    (at your option) any later version.
-
-//    This program is distributed in the hope that it will be useful,
-//    but WITHOUT ANY WARRANTY; without even the implied warranty of
-//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//    GNU General Public License for more details.
-
-//    You should have received a copy of the GNU General Public License
-//    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-// *****************************
-// ** I N T R O D U C T I O N **
-// *****************************
-//
-// OSTC
-//
-// code:
-// p2_deco_main_c_v101.c
-// part2 of the OSTC code
-// code with constant O2 partial pressure routines
-// under construction !!
-//
-// summary:
-// decompression routines
-// for the OSTC experimental project
-// written by Christian Weikamp
-// last revision __________
-// comments added _________
-//
-// additional files:
-// p2_tables_v100.romdata (other files)
-// 18f4685_ostc_v100.lkr (linker script)
-//
-// history:
-// 01/03/08 v100: first release candidate
-// 03/13/08 v101: start of programming ppO2 code
-// 03/13/25 v101a: backup of interrim version with ppO2 calculation
-// 03/13/25 v101: open circuit gas change during deco
-// 03/13/25 v101: CNS_fraction calculation
-// 03/13/26 v101: optimization of tissue calc routines
-// 07/xx/08 v102a: debug of bottom time routine
-// 09/xx/08 v102d: Gradient Factor Model implemenation
-// 10/10/08 v104: renamed to build v103 for v118 stable
-// 10/14/08	v104: integration of temp_depth_last_deco for Gradient Model
-// 03/31/090 v107: integration of FONT Incon24
-
-//
-// literature:
-// B"uhlmann, Albert: Tauchmedizin; 4. Auflage;
-// 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
-// Morrison, Stuart; 2000; DIY DECOMPRESSION; http://www.lizardland.co.uk/DIYDeco.html
-// Balthasar, Steffen; Dekompressionstheorie I: Neo Haldane Modelle; http://www.txfreak.de/dekompressionstheorie_1.pdf
-// Baker, Erik C.; Clearing Up The Confusion About "Deep Stops"
-// Baker, Erik C.; Understanding M-values; http://www.txfreak.de/understanding_m-values.pdf
-
-
-// *********************
-// ** I N C L U D E S **
-// *********************
- #include <p18f4685.h>
- #include <math.h>
-
-// ********************************
-// ** C O N F I G U R A T I O N  **
-// ** for simulation without asm **
-// ********************************
- #pragma config OSC = IRCIO67
- #pragma config FCMEN = OFF
- #pragma config IESO = OFF
- #pragma config PWRT = ON
- #pragma config BOREN = OFF
- #pragma config WDT = OFF
- #pragma config WDTPS = 128
- #pragma config MCLRE = ON
- #pragma config LPT1OSC = OFF
- #pragma config PBADEN = OFF
- #pragma config DEBUG = OFF
- #pragma config XINST = OFF
- #pragma config LVP = OFF
- #pragma config STVREN = OFF
-
-// ****************************
-// ** D E F I N E S          **
-// ** missing in  p18f4685.h **
-// ****************************
-#define INT0IF	1
-#define INT1IF	0
-#define TMR1IF	0
-
-#define oled_clk			PORTD, 0,0
-#define oled_data			PORTD, 1,0
-#define oled_en				PORTE, 0,0
-#define oled_rs				PORTE, 1,0
-#define flag5				0x29	// in Bank1
-//#define	no_sensor_int		flag5,7,1	// ; block any further access to pressure sensor
-
-// ***********************
-// ** V A R I A B L E S **
-// ***********************
-// prefixes etc:
-// _O_ = output for use in the assembler code
-// _I_ = input from the assembler code for the c code
-// char_ and int_ = used to identify output and input size
-// var = variable (from b"uhlmann)
-// pres = pressure
-// gtissue = guiding tissue, the one limiting the ascent
-// e2secs = exp of the b"uhlmann formula precalculated for a 2 second step
-// e1min = same for 1 minute step
-// sim = used in simulating the ascent to the surface
-// nullzeit = remaining ground/bottom time for "no deco"
-// hauptroutine = main
-
-#pragma udata bank0a=0x060
-volatile unsigned char dd2_stringstore[17];
-#pragma udata bank0b=0x071
-volatile unsigned char keep_free_bank0[21];
-
-#pragma udata bank0c=0x086
-volatile unsigned char dd2_left;		// 1 - 64
-volatile unsigned char dd2_top;			// 1 - 64
-volatile unsigned char dd2_heightmax; 	// 1 - 37
-volatile unsigned char dd2_oled_brightness_offset; // 0 - 15 (15 is pitch black always)
-volatile unsigned char dd2_fontwidth;	//  8, 12, 21 for Incon16, Incon24, Incon42
-volatile unsigned char dd2_fontheight;	// 14, 21, 37 for "
-volatile unsigned long dd2_pointer;		// for font lut
-volatile unsigned char dd2_i;
-volatile unsigned char dd2_j;
-volatile unsigned char dd2_k;
-volatile unsigned char dd2_char;
-volatile unsigned char dd2_lowbyte;
-volatile unsigned char dd2_temp;
-volatile unsigned char dd2_data;
-volatile unsigned long dd2_base;			// for font lut
-volatile unsigned char dd2_start;			// for font lut
-volatile unsigned char dd2_end;			// for font lut
-
-
- #pragma udata bank1=0x100
- const unsigned char keep_free_bank1[256]; // used by the assembler code
-
- #pragma udata bank2a=0x200
-// output:
- static unsigned int	int_O_tissue_for_debug[32];
- static unsigned int	int_O_GF_spare____;						// 0x240
- static unsigned int	int_O_GF_step;							// 0x242
- static unsigned int 	int_O_gtissue_limit;					// 0x244
- static unsigned int 	int_O_gtissue_press;					// 0x246
- static unsigned int 	int_O_limit_GF_low;						// 0x248
- static unsigned int 	int_O_gtissue_press_at_GF_low;			// 0x24A
-// ...
- #pragma udata bank2b=0x24E
- static unsigned char	char_O_GF_low_pointer;					// 0x24E
- static unsigned char	char_O_actual_pointer;					// 0x24F
- #pragma udata bank2c=0x250
- static unsigned char	char_O_deco_table[32];					// 0x250
- #pragma udata bank2d=0x270
- static unsigned char	char_I_table_deco_done[32];
- #pragma udata bank2e=0x290
- static unsigned int 	int_O_calc_tissue_call_counter;			// 0x290
-
-
-
-// internal:
- unsigned char 			lock_GF_depth_list;
- static float			temp_limit;
- static float			GF_low;
- static float			GF_high;
- static float			GF_delta;
- static float			GF_temp;
- static float			GF_step;
- static float			GF_step2;
- static float			temp_pres_gtissue;
- static float			temp_pres_gtissue_diff;
- static float			temp_pres_gtissue_limit_GF_low;
- static float			temp_pres_gtissue_limit_GF_low_below_surface;
- static	unsigned int	temp_depth_limit;
- static unsigned char	temp_decotime;
- static unsigned char	temp_gtissue_no;
- static	unsigned int	temp_depth_last_deco;				// new in v.101
-
- static unsigned char	temp_depth_GF_low_meter;
- static unsigned char	temp_depth_GF_low_number;
- static unsigned char	internal_deco_pointer;
- static unsigned char	internal_deco_table[32];
- static float			temp_pres_deco_GF_low;
-
-static unsigned int debug_temp;
-
-
-#pragma udata bank3a=0x300
-static char output[32];
-// used by the math routines
-#pragma udata bank3b=0x380
-volatile float pres_tissue_vault[32];
- #pragma udata bank4a=0x400
-// internal:
- unsigned char			ci ; // don't move - used in _asm routines - if moved then modify movlb commands
- unsigned char 			x;
- unsigned int 			main_i;
- unsigned int 			int_temp;
- unsigned int 			int_temp_decostatus;
- static float 			pres_respiration;
- static float			pres_surface;
- static float			temp1;
- static float			temp2;
- static float			temp3;
- static float			temp4;
- static float			temp_deco;
- static float			temp_atem;
- static float			temp2_atem;
- static float			temp_tissue;
- static float			temp_surface;
- static float			N2_ratio;
- static float			He_ratio;
- static float			temp_ratio;
- static float 			var_a;
- static float 			var2_a;
- static float 			var_b;
- static float 			var2_b;
- static float 			var_t05nc;
- static float 			var2_t05nc;
- static float  			var_e2secs;
- static float  			var2_e2secs;
- static float  			var_e1min;
- static float  			var2_e1min;
- static float  			var_halftimes;
- static float  			var2_halftimes;
- static float			pres_gtissue_limit;
- static float			temp_pres_gtissue_limit;
- static float			actual_ppO2;						// new in v.102
- #pragma udata bank4b=0x480
- static float			pres_tissue[32];
-
- #pragma udata bank5=0x500
-// don't move positions in this bank, the registers are addressed directly from assembler code
-// input:
- static unsigned int	int_I_pres_respiration;				// 0x500
- static unsigned int	int_I_pres_surface;					// 0x502
- static unsigned int	int_I_temp;							// 0x504  new in v101
- static unsigned char	char_I_temp;						// 0x506  new in v101
- static unsigned char	char_I_actual_ppO2;					// 0x507
- static unsigned int	int_I_spare_3;
- static unsigned int	int_I_spare_4;
- static unsigned int	int_I_spare_5;
- static unsigned int	int_I_spare_6;
- static unsigned char	char_I_N2_ratio;					// 0x510
- static unsigned char	char_I_He_ratio;					// 0x511
- static unsigned char	char_I_saturation_multiplier;		// for conservatism/safety values 1.0 (no conservatism) to 1.5 (50% faster saturation
- 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()
- static unsigned char	char_I_GF_High_percentage;			// 0x514	new in v.102
- static unsigned char	char_I_GF_Low_percentage;			// 0x515	new in v.102
- static unsigned char	char_I_spare;					// 0x516
- static unsigned char	char_I_deco_distance;				// 0x517
- static unsigned char	char_I_const_ppO2;					// 0x518	new in v.101
- static unsigned char	char_I_deco_ppO2_change;			// 0x519	new in v.101
- static unsigned char	char_I_deco_ppO2;					// 0x51A	new in v.101
- static unsigned char	char_I_deco_gas_change;				// 0x51B	new in v.101
- static unsigned char	char_I_deco_N2_ratio;				// 0x51C	new in v.101
- static unsigned char	char_I_deco_He_ratio;				// 0x51D	new in v.101
- static unsigned char	char_I_depth_last_deco;				// 0x51E	new in v.101 unit: [m]
- static unsigned char	char_I_deco_model;					// 0x51F	new in v.102	( 1 = MultiGraF, sonst Std. mit (de-)saturation_multiplier)
-// output:
- static unsigned int	int_O_desaturation_time;			// 0x520
- static unsigned char	char_O_nullzeit;					// 0x522
- static unsigned char	char_O_deco_status;					// 0x523
- static unsigned char	char_O_array_decotime[7];			// 0x524
- static unsigned char	char_O_array_decodepth[6];			// 0x52B
- static unsigned char	char_O_ascenttime;					// 0x531
- static unsigned char	char_O_gradient_factor;				// 0x532
- static unsigned char	char_O_tissue_saturation[32];		// 0x533
- static unsigned char	char_O_array_gradient_weighted[16];	// 0x553
- static unsigned char	char_O_gtissue_no;					// 0x563
- static unsigned char	char_O_diluent;						// 0x564	new in v.101
- static unsigned char	char_O_CNS_fraction;				// 0x565	new in v.101
- static unsigned char	char_O_relative_gradient_GF;		// 0x566	new in v.102
-// internal:
- static float			pres_tissue_limit[16];
- static float			sim_pres_tissue_limit[16];
- static float			pres_diluent;						// new in v.101
- static float			deco_diluent;						// new in v.101
- static float			const_ppO2;							// new in v.101
- static float			deco_ppO2_change;					// new in v.101
- static float			deco_ppO2;							// new in v.101
-
-
-
- #pragma udata bank6=0x600
-// internal:
- static float			sim_pres_tissue[32];
- static float			sim_pres_tissue_backup[32];
-
- #pragma udata bank7=0x700
- const unsigned char keep_free_bank7[256]; // used by the assembler code (DD font2display)
-
- #pragma udata bank8=0x800
- static char			md_pi_subst[256];
-
- #pragma udata bank9=0x900
-// output:
- static char			md_state[48];		// DONT MOVE !! has to be at the beginning of bank 9 for the asm code!!!
-// internal:
- static char			md_t;
- static char			md_buffer[16];
- static char			md_cksum[16];
- static char			md_i;
- static char			md_j;
- static char			md_temp;
- static unsigned int	md_pointer;
- static float			deco_N2_ratio;						// new in v.101
- static float			deco_He_ratio;						// new in v.101
- static float			calc_N2_ratio;						// new in v.101
- static float			calc_He_ratio;						// new in v.101
- static float			deco_gas_change;					// new in v.101
- static float			CNS_fraction;						// new in v.101
- static float			float_saturation_multiplier;		// new in v.101
- static float			float_desaturation_multiplier;		// new in v.101
- static float			float_deco_distance;				// new in v.101
-
-
-
-// *************************
-// ** P R O T O T Y P E S **
-// *************************
-void main_calc_hauptroutine(void);
-void main_calc_without_deco(void);
-void main_clear_tissue(void);
-void main_calc_percentage(void);
-void main_calc_wo_deco_step_1_min(void);
-void main_debug(void);
-void main_gradient_array(void);
-void main_hash(void);
-
-void calc_hauptroutine(void);
-void calc_tissue(void);
-void calc_nullzeit(void);
-void backup_sim_pres_tissue(void);
-void restore_sim_pres_tissue(void);
-
-void calc_without_deco(void);
-void clear_tissue(void);
-void calc_ascenttime(void);
-void update_startvalues(void);
-void clear_decoarray(void);
-void update_decoarray(void);
-void sim_tissue_1min(void);
-void sim_tissue_10min(void);
-void calc_gradient_factor(void);
-void calc_gradient_array_only(void);
-void calc_desaturation_time(void);
-void calc_wo_deco_step_1_min(void);
-void calc_tissue_step_1_min(void);
-//void debug(void);
-void hash(void);
-void clear_CNS_fraction(void);
-void calc_CNS_fraction(void);
-void calc_CNS_decrease_15min(void);
-void calc_percentage(void);
-void main(void);
-void calc_hauptroutine_data_input(void);
-void calc_hauptroutine_update_tissues(void);
-void calc_hauptroutine_calc_deco(void);
-void calc_hauptroutine_calc_ascend_to_deco(void);
-//void build_debug_output(void);
-void calc_nextdecodepth_GF(void);
-void copy_deco_table_GF(void);
-void clear_internal_deco_table_GF(void);
-void update_internal_deco_table_GF(void);
-void DD2_write(void);
-void DD2_write_incon42(void);
-void DD2_get_pointer_to_char(void);//dd2_char, &dd2_pointer);
-void DD2_set_column(void);//top, dd2_k);void DD2_load_background(void);//&dd2_columnstore, &dd2_background, dd2_top, dd2_left, dd2_heightmax);
-void DD2_load_background(void);
-void DD2_build_one_line_of_char(void);//&dd2_columnstore, &dd2_pointer, dd2_fontheight, dd2_lowbyte);
-void DD2_print_column(void);//&dd2_columnstore, dd2_heightmax);
-void DD2_CmdWrite(void);
-void DD2_DataWrite(void);
-void push_tissues_to_vault(void);
-void pull_tissues_from_vault(void);
-void main_push_tissues_to_vault(void);
-void main_pull_tissues_from_vault(void);
-
-// *******************************
-// ** start                     **
-// ** necessary for compilation **
-// *******************************
-#pragma romdata der_code = 0x0000
-#pragma code der_start = 0x0000
-void der_start(void)
-{
-_asm
-	goto	main
-_endasm
-}
-
-// ***********************************
-// ** main code for simulation /    **
-// ** tests without assembler code  **
-// ** is NOT a part of the OSTC     **
-// ***********************************
-#pragma code main = 0x9000
-void main(void)
-{
-#if 1
-// new main to test DR-5
-
-GF_low = 1.0;
-GF_high = 1.0;
-
-GF_temp = GF_low * GF_high;
-
-clear_CNS_fraction();
-//char_I_const_ppO2 = 100;
-//for (main_i=0;main_i<255;main_i++)
-//{
-//calc_CNS_fraction();
-//} //for
-
-
-
-
-int_I_pres_respiration = 1000;//980;
-int_I_pres_surface = 1000;//980;
-char_I_N2_ratio = 39; //38;
-char_I_He_ratio = 40; //50;
-char_I_deco_distance = 0; // 10 = 1 meter
-char_I_depth_last_deco = 3;	// values below 3 (meter) are ignored
-
-char_I_const_ppO2 = 0;
-char_I_deco_ppO2_change = 0; // [dm] 10 = 1 meter
-char_I_deco_ppO2 = 0;
-
-char_I_deco_gas_change = 0; // [m] 1 = 1 meter
-char_I_deco_N2_ratio = 0;
-char_I_deco_He_ratio = 0;
-
-//char_I_actual_ppO2;					// 0x507
-char_I_GF_High_percentage = 100;			// 0x514	new in v.102
-char_I_GF_Low_percentage = 100;			// 0x515	new in v.102
-
-char_I_saturation_multiplier = 110;
-char_I_desaturation_multiplier = 90;
-
-char_I_deco_model = 0;
-
-main_clear_tissue();
-
-int_I_pres_respiration = 1000 + int_I_pres_surface;
-main_calc_wo_deco_step_1_min();
-int_I_pres_respiration = 3000 + int_I_pres_surface;
-main_calc_wo_deco_step_1_min();
-int_I_pres_respiration = 5000 + int_I_pres_surface;
-main_calc_wo_deco_step_1_min();
-
-
-int_I_pres_respiration = 6000 + int_I_pres_surface;
-for (main_i=0;main_i<27;main_i++)
-	main_calc_wo_deco_step_1_min();
-
-char_O_deco_status = 255;
-while (char_O_deco_status)
-	main_calc_hauptroutine();
-_asm
-nop
-_endasm
-
-for (main_i=0;main_i<50;main_i++)
-{
-main_calc_hauptroutine();
-}
-int_I_pres_respiration = 10000;
-for (main_i=0;main_i<1500;main_i++)
-{
-main_calc_hauptroutine();
-}
-
-_asm
-nop
-_endasm
-
-
-int_I_pres_respiration = 3000;
-for (main_i=0;main_i<150;main_i++)
-{
-	calc_hauptroutine_data_input();
-	calc_hauptroutine_update_tissues();
-} //for
-
-			update_startvalues();
-			clear_decoarray();
-			clear_internal_deco_table_GF();
-			calc_hauptroutine_calc_ascend_to_deco();
- 			if (char_O_deco_status > 15)		// can't go up to first deco, too deep to calculate in the given time slot
-			{
-				char_O_deco_status = 2;
-//				char_O_lock_depth_list = 255;
-			}
- 			else
-			{
-//				char_O_lock_depth_list = lock_GF_depth_list;
-				calc_hauptroutine_calc_deco();
-			}
-//			build_debug_output();
-
-_asm
-nop
-_endasm
-while (char_O_deco_status == 1)
-{
-			char_O_deco_status = 0;
-//			char_O_lock_depth_list = 255;
-			calc_hauptroutine_calc_deco();
-//			build_debug_output();
-_asm
-nop
-_endasm
-};
-debug_temp = 60; // [mtr Aufstieg in 10 mtr/min (30steps'2sec/min]
-int_I_pres_respiration = 9980;
-for (main_i=0;main_i<debug_temp;main_i++)
-{
-int_I_pres_respiration = int_I_pres_respiration - 33;
-	calc_hauptroutine_data_input();
-	calc_hauptroutine_update_tissues();
-int_I_pres_respiration = int_I_pres_respiration - 33;
-	calc_hauptroutine_data_input();
-	calc_hauptroutine_update_tissues();
-int_I_pres_respiration = int_I_pres_respiration - 34;
-	calc_hauptroutine_data_input();
-	calc_hauptroutine_update_tissues();
-} //for
-_asm
-nop
-_endasm
-
-			update_startvalues();
-			clear_decoarray();
-			clear_internal_deco_table_GF();
-			calc_hauptroutine_calc_ascend_to_deco();
- 			if (char_O_deco_status > 15)		// can't go up to first deco, too deep to calculate in the given time slot
-			{
-				char_O_deco_status = 2;
-//				char_O_lock_depth_list = 255;
-			}
- 			else
-			{
-//				char_O_lock_depth_list = lock_GF_depth_list;
-				calc_hauptroutine_calc_deco();
-			}
-//			build_debug_output();
-
-_asm
-nop
-_endasm
-while (char_O_deco_status == 1)
-{
-			char_O_deco_status = 0;
-//			char_O_lock_depth_list = 255;
-			calc_hauptroutine_calc_deco();
-//			build_debug_output();
-_asm
-nop
-_endasm
-};
-_asm
-nop
-_endasm
-debug_temp = 60; // [mtr Aufstieg in 10 mtr/min (30steps'2sec/min]
-int_I_pres_respiration = 9980;
-debug_temp = debug_temp * 3;
-for (main_i=0;main_i<debug_temp;main_i++)
-{
-	calc_hauptroutine_data_input();
-	calc_hauptroutine_update_tissues();
-} //for
-_asm
-nop
-_endasm
-#endif
-// -----------------------
-
-} // main
-
-// ******************************************************
-// ******************************************************
-// ** THE FOLLOWING CODE HAS TO BE COPPIED TO THE OSTC **
-// ******************************************************
-// ******************************************************
-
-// ***********************
-// ***********************
-// ** THE SUBROUTINES 2 **
-// ***********************
-// ***********************
-// all new in v.102
-
-#pragma code subroutines2 = 0x0D000	// can be adapted to fit the romdata tables ahead
-
-// -------------------------
-// calc_next_decodepth_GF //
-// -------------------------
-// new in v.102
-void calc_nextdecodepth_GF(void)
-{
-// INPUT, changing during dive:
-// temp_pres_gtissue_limit_GF_low
-// temp_pres_gtissue_limit_GF_low_below_surface
-// temp_pres_gtissue
-// temp_pres_gtissue_diff
-// lock_GF_depth_list
-
-// INPUT, fixed during dive:
-// pres_surface
-// GF_delta
-// GF_high
-// GF_low
-// temp_depth_last_deco
-// float_deco_distance
-
-// OUTPUT
-// GF_step
-// temp_deco
-// temp_depth_limt
-// lock_GF_depth_list
-
-// USES
-// temp1
-// temp2
-// int_temp
-
-	char_I_table_deco_done[0] = 0; // safety if changed somewhere else. Needed for exit
-	if (char_I_deco_model == 1)
-	{
-		if (lock_GF_depth_list == 0)
-		{
-			temp2 =  temp_pres_gtissue_limit_GF_low_below_surface / 0.29985; 					// = ... / 99.95 / 0.003;
- 			int_temp = (int) (temp2 + 0.99);
-			if (int_temp > 31)
-				int_temp = 31;						//	deepest deco at 93 meter (31 deco stops)
-			if (int_temp < 0)
-				int_temp = 0;
-			temp_depth_GF_low_number = int_temp;
- 			temp_depth_GF_low_meter = 3 * temp_depth_GF_low_number;
-			temp2 = (float)temp_depth_GF_low_meter * 0.09995;
-			temp_pres_deco_GF_low = temp2 + float_deco_distance + pres_surface;
-			if (temp_depth_GF_low_number == 0)
-				GF_step = 0;
-			else
-				GF_step = GF_delta / (float)temp_depth_GF_low_number;
-			if (GF_step < 0)
-				GF_step = 0;
-			if (GF_step > GF_delta)
-				GF_step = GF_delta;
-			int_O_GF_step = (int)(GF_step * 10000);
-			int_O_limit_GF_low = (int)(temp_pres_deco_GF_low * 1000);
-			int_O_gtissue_press_at_GF_low = (int)(temp_pres_gtissue * 1000);
-			char_O_GF_low_pointer = temp_depth_GF_low_number;
-			lock_GF_depth_list = 1;
-			internal_deco_pointer = 0;
-		}
-		if (internal_deco_pointer == 0)		// new run
-		{
-			internal_deco_pointer = temp_depth_GF_low_number;
-			GF_temp = GF_high - ((float)internal_deco_pointer * GF_step);
-			int_temp = char_I_table_deco_done[internal_deco_pointer];
-			output[8] = int_temp;
-			output[9] = 33;
-		}
-		else
-		{
-			int_temp = 1;
-		}
-		while (int_temp == 1)
-		{
-			int_temp = internal_deco_pointer - 1;
-			if (int_temp == 1)								// new in v104
-			{
-				temp2 = (float)(temp_depth_last_deco * int_temp) * 0.09995;
-				GF_step2 = GF_step/3.0 * ((float)(6 - temp_depth_last_deco));
-			}
-			else
-			if (int_temp == 0)
-			{
-				temp2 = 0.0;
-				GF_step2 = GF_high - GF_temp;
-			}
-			else
-			{
-				temp2 = (float)(3 *int_temp) * 0.09995;
-				GF_step2 = GF_step;
-			}
-			temp2 = temp2 + pres_surface; // next deco stop to be tested
-			temp1 = ((GF_temp + GF_step2)* temp_pres_gtissue_diff) + temp_pres_gtissue;	// upper limit (lowest pressure allowed) // changes GF_step2 in v104
-			if (temp1 > temp2) // check if ascent to next deco stop is ok
-			{
-				int_temp = 0;	// no
-			}
-			else
-			{
-				internal_deco_pointer = int_temp;
-				GF_temp = GF_temp + GF_step2; // changed in v104
-				int_temp = char_I_table_deco_done[internal_deco_pointer]; // yes and check for ascent to even next stop if deco_done is set
-			}
-		} // while
-		if (internal_deco_pointer > 0)
-		{
-			temp2 = (float)(0.29985 * internal_deco_pointer);
-			temp_deco = temp2 + float_deco_distance + pres_surface;
-			if (internal_deco_pointer == 1)						// new in v104
-				temp_depth_limit = temp_depth_last_deco;
-			else
-				temp_depth_limit = 3 * internal_deco_pointer;
-			if (output[9] == 33)
-			{
-				output[9] = internal_deco_pointer;
-				output[10] = char_I_table_deco_done[internal_deco_pointer];
-				output[12] = output[12] + 1;
-				if (output[12] == 100)
-					output[12] = 0;
-			}
-		}
-		else	// 	if (char_I_deco_model == 1)
-		{
-			temp_deco = pres_surface;
-			temp_depth_limit = 0;
-		}
-	}
-	else
-	{
-		// calc_nextdecodepth - original
-		// optimized in v.101
-		// depth_last_deco included in v.101
-
-		temp1 = temp_pres_gtissue_limit - pres_surface;
-		if (temp1 >= 0)
- 		{
- 			temp1 = temp1 / 0.29985; 									// = temp1 / 99.95 / 0.003;
- 			temp_depth_limit = (int) (temp1 + 0.99);
- 			temp_depth_limit = 3 * temp_depth_limit; 					// depth for deco [m]
- 			if (temp_depth_limit == 0)
-  				temp_deco = pres_surface;
- 			else
-  			{
-  				if (temp_depth_limit < temp_depth_last_deco)
-					temp_depth_limit = temp_depth_last_deco;
-  				temp1 = (float)temp_depth_limit * 0.09995;
-  				temp_deco = temp1 + float_deco_distance + pres_surface; 	// depth for deco [bar]
-  			} // if (temp_depth_limit == 0)
- 		} // if (temp1 >= 0)
-		else
- 		{
- 			temp_deco = pres_surface;
- 			temp_depth_limit = 0;
- 		} // if (temp1 >= 0)
-	} // calc_nextdecodepth original
-} // calc_nextdecodepth_GF
-
-
-#if 0
-void 			build_debug_output(void)
-{
-output[0] = 0; // not used in asm PLED output
-output[1] = (int) (GF_low * 100);
-output[2] = (int) (GF_high * 100);
-output[3] = (int) (GF_step * 100);
-output[4] = (int) temp_depth_GF_low_number;
-output[5] = (int) temp_depth_GF_low_meter;
-//output[6]
-output[7] = (int) internal_deco_pointer;
-//output[8] = char_I_table_deco_done[temp_depth_GF_low_number]
-//output[9] = internal_deco_pointer @ new run
-//output[10] = char_I_table_deco_done[internal_deco_pointer] @ new run
-output [11] = (int) (temp_pres_deco_GF_low * 10);
-}	// build_debug_output
-#endif
-
-// ---------------------
-// copy_deco_table_GF //
-// ---------------------
-// new in v.102
-void copy_deco_table_GF(void)
-{
-	if (char_I_deco_model == 1)
-	{
-		int_temp = 32;
-		for (ci=0;ci<int_temp;ci++)
-			char_O_deco_table[ci] = internal_deco_table[ci];
-	}
-}		// copy_deco_table_GF
-
-
-// ------------------------------
-// clear_internal_deco_table_GF//
-// ------------------------------
-// new in v.102
-void clear_internal_deco_table_GF(void)
-{
-	if (char_I_deco_model == 1)
-	{
-		for (ci=0;ci<32;ci++)  // cycle through the 16 b"uhlmann tissues for Helium
-		{
-			internal_deco_table[ci] = 0;
-		}
-	}
-}	// clear_internal_deco_table_GF
-
-
-// --------------------------------
-// update_internal_deco_table_GF //
-// --------------------------------
-// new in v.102
-void update_internal_deco_table_GF(void)
-{
-	if ((char_I_deco_model == 1) && (internal_deco_table[internal_deco_pointer] < 255))
-		internal_deco_table[internal_deco_pointer] = internal_deco_table[internal_deco_pointer] + 1;
-}	// update_internal_deco_table_GF
-
-
-// ---------------------
-// temp_tissue_safety //
-// ---------------------
-// outsourced in v.102
-void temp_tissue_safety(void)
-{
-	if (char_I_deco_model == 1)
-	{
-	}
-	else
-	{
-		if (temp_tissue < 0.0)
-			temp_tissue = temp_tissue * float_desaturation_multiplier;
- 		else
-			temp_tissue = temp_tissue * float_saturation_multiplier;
-	}
-} // temp_tissue_safety
-
-// ---------------------
-// dd2_write_incon42  //
-// ---------------------
-void DD2_write_incon42(void)
-{
-//dd2_fontwidth	= 21;
-//dd2_fontheight  = 30;
-dd2_fontwidth	= 19;
-dd2_fontheight  = 28;
-dd2_base = 0x0F500;
-dd2_start = '0';
-dd2_end = '9';
-DD2_write();
-}
-
-// ---------------------
-// dd2_write_incon24  //
-// ---------------------
-void DD2_write_incon24(void)
-{
-dd2_fontwidth	= 12;
-dd2_fontheight  = 16;
-dd2_base = 0x0E100;
-dd2_start = '.';
-dd2_end = '9' + 5;
-DD2_write();
-}
-
-
-void DD2_write(void)
-{
-	dd2_i = 0;
-_asm
-	movff	dd2_i, POSTINC2 // write 0x00 at the end of dd2_strinstore[]
-	bsf		oled_rs
-_endasm
-	dd2_stringstore[16] = 0;	// safety if more than 16 letters (max at font incon16) are written, the other space is used by font remap
-	if (dd2_top == 0) dd2_top = 1;
-	if (dd2_left == 0) dd2_left = 1;
-	if (dd2_heightmax > dd2_fontheight) dd2_heightmax = dd2_fontheight;
-	if ((dd2_top + dd2_heightmax) > 65) dd2_heightmax = 65 - dd2_top;
-
-	dd2_k = dd2_left;
-	dd2_j = 0;
-	dd2_char = dd2_stringstore[dd2_j++];
-	DD2_get_pointer_to_char();//dd2_char, &dd2_pointer);
-	dd2_i = 0;
-	dd2_lowbyte = 1;
-
-while (dd2_char != 0)
-{
-		if (dd2_lowbyte == 1)	DD2_load_background();//&dd2_columnstore, &dd2_background, dd2_top, dd2_left, dd2_heightmax);
-		DD2_build_one_line_of_char();	//&dd2_columnstore, &dd2_pointer, dd2_fontheight, dd2_lowbyte); 	// dd2_heightmax
-		dd2_lowbyte = dd2_lowbyte ^ 1;
-		if (dd2_lowbyte == 1)
-		{
-			DD2_set_column();//top, dd2_k); 				//
-			if(dd2_k < 64) dd2_k++;
-			DD2_print_column();//&dd2_columnstore, dd2_heightmax);				// dd2_column_store, dd2_heightmax
-		}
-		dd2_i++;
-		if ((dd2_i >= dd2_fontwidth) | (((dd2_char == '.') |(dd2_char == ':') | (dd2_char == '<')) & (dd2_i >= 4)))
-		{
-			dd2_char = dd2_stringstore[dd2_j++];
-			DD2_get_pointer_to_char();//dd2_char, &dd2_pointer);
-			dd2_i = 0;
-		}
-}
-}		// void dd2_write(void)
-
-void DD2_get_pointer_to_char(void)//dd2_char, &dd2_pointer);
-{
-		if((dd2_char < dd2_start) | (dd2_char > dd2_end))
-		{
-			dd2_pointer = 0;
-			dd2_temp = 0;
-		}
-		else
-		{
-			dd2_pointer = dd2_char - dd2_start;
-			dd2_pointer = dd2_pointer * ((dd2_fontheight+1)/2);
-			dd2_pointer = dd2_pointer * dd2_fontwidth;
-			dd2_pointer += dd2_base;
-			if((dd2_char == '.') | (dd2_char == ':') | (dd2_char == '<'))
-			{
-				dd2_pointer += 2 * dd2_fontheight;
-			}
-
-		}
-}		// void DD2_get_pointer_to_char(void)
-
-void DD2_set_column(void)//top, dd2_k);
-{
-	dd2_data = 0x75;
-	DD2_CmdWrite();
-	dd2_data = dd2_top - 1;
-	DD2_CmdWrite();
-	dd2_data = 0x3f;
-	DD2_CmdWrite();
-
-	dd2_data = 0x15;
-	DD2_CmdWrite();
-	dd2_data = dd2_k - 1;
-	DD2_CmdWrite();
-	dd2_data = dd2_k - 1;
-	DD2_CmdWrite();
-}		// DD2_set_column()
-
-void DD2_load_background(void)//&dd2_columnstore, &dd2_background, dd2_top, dd2_left, dd2_heightmax);
-{
-	for(dd2_temp = 0; dd2_temp < dd2_heightmax; dd2_temp++)
-		md_pi_subst[dd2_temp] = 0x00;
-}		// void DD2_load_background()
-
-void DD2_build_one_line_of_char(void)//&dd2_columnstore, &dd2_pointer, dd2_fontheight, dd2_lowbyte);
-{
-	if (dd2_pointer != 0)
-	{
-		dd2_temp = (char)(dd2_pointer & 255);
-_asm
-		movff	dd2_temp,TBLPTRL
-_endasm
-		dd2_temp = (char)((dd2_pointer >> 8) & 255);
-_asm
-		movff	dd2_temp,TBLPTRH
-_endasm
-		dd2_temp = (char)((dd2_pointer >> 16)& 255);
-_asm
-		movff	dd2_temp,TBLPTRU
-_endasm
-
-		for(dd2_temp = 0; dd2_temp < dd2_heightmax; dd2_temp += 2)
-		{
-_asm
-			TBLRDPOSTINC
-			movff	TABLAT,dd2_data
-_endasm
-			if (dd2_oled_brightness_offset != 0)
-			{
-				if ((dd2_oled_brightness_offset << 4) < (dd2_data & 0xF0))
-					dd2_data = dd2_data - (dd2_oled_brightness_offset << 4);
-				if ((dd2_oled_brightness_offset) < (dd2_data & 0x0F))
-					dd2_data = dd2_data - dd2_oled_brightness_offset;
-			}
-			if (dd2_lowbyte == 1)
-			{
-				md_pi_subst[dd2_temp]   = dd2_data & 0xF0;
-				md_pi_subst[dd2_temp+1] = (dd2_data << 4) & 0xF0;
-			}
-			else
-			{
-				md_pi_subst[dd2_temp]   = (md_pi_subst[dd2_temp] & 0xF0) | ((dd2_data >> 4) & 0x0F);
-				md_pi_subst[dd2_temp+1] = (md_pi_subst[dd2_temp+1] & 0xF0) | (dd2_data & 0x0F);
-			}
-		}//for
-		dd2_pointer += (dd2_fontheight+1)/2;
-	}//if
-}		//
-
-void DD2_print_column(void)//&dd2_columnstore, dd2_heightmax);
-{
-_asm
-		bsf	oled_rs
-_endasm
-	for(dd2_temp = 0; dd2_temp < dd2_heightmax; dd2_temp++)
-	{
-		dd2_data = md_pi_subst[dd2_temp];
-		DD2_DataWrite();
-	}
-}		// void DD2_print_column(void)
-
-//; -----------------------------
-//; DD Write Cmd via W
-//; two jump_ins:
-//;  DD_CmdWrite and DD_CmdWrite2
-//; -----------------------------
-void DD2_CmdWrite(void)
-{
-_asm
-	bcf		oled_rs
-_endasm
-	DD2_DataWrite();
-}
-
-void DD2_DataWrite(void)
-{
-_asm
-	movlb	1
-//	bsf		no_sensor_int					// flag5, no_sensor_int
-	bcf		oled_en
-	movlb	0
-	bcf		oled_clk				//; CLK=0
-	btfsc	dd2_data,7,1				//; Bit
-	bsf		oled_data
-	bcf		oled_clk				//; CLK=0
-	btfss	dd2_data,7,1
-	bcf		oled_data
-	bsf		oled_clk				//; CLK=1
-	btfsc	dd2_data,6,1				//; Bit
-	bsf		oled_data
-	bcf		oled_clk				//; CLK=0
-	btfss	dd2_data,6,1
-	bcf		oled_data
-	bsf		oled_clk				//; CLK=1
-	btfsc	dd2_data,5,1				//; Bit
-	bsf		oled_data
-	bcf		oled_clk				//; CLK=0
-	btfss	dd2_data,5,1
-	bcf		oled_data				//;
-	bsf		oled_clk				//; CLK=1
-	btfsc	dd2_data,4,1				//; Bit
-	bsf		oled_data
-	bcf		oled_clk				//; CLK=0
-	btfss	dd2_data,4,1
-	bcf		oled_data
-	bsf		oled_clk				//; CLK=1
-	btfsc	dd2_data,3,1				//; Bit
-	bsf		oled_data
-	bcf		oled_clk				//; CLK=0
-	btfss	dd2_data,3,1
-	bcf		oled_data
-	bsf		oled_clk				//; CLK=1
-	btfsc	dd2_data,2,1				//; Bit
-	bsf		oled_data
-	bcf		oled_clk				//; CLK=0
-	btfss	dd2_data,2,1
-	bcf		oled_data
-	bsf		oled_clk				//; CLK=1
-	btfsc	dd2_data,1,1				//; Bit
-	bsf		oled_data
-	bcf		oled_clk				//; CLK=0
-	btfss	dd2_data,1,1
-	bcf		oled_data
-	bsf		oled_clk				//; CLK=1
-	btfsc	dd2_data,0,1				//; Bit
-	bsf		oled_data
-	bcf		oled_clk				//; CLK=0
-	btfss	dd2_data,0,1
-	bcf		oled_data
-	bsf		oled_clk				//; CLK=1
-	bsf		oled_en					//; CS#=1
-	movlb	1
-//	bcf		no_sensor_int					// flag5, no_sensor_int
-	movlb	0
-_endasm
-	dd2_data	= 0; // to be sure that C knows we are in Bank0
-}
-#pragma romdata font_incon_24h15 = 0x0E100
- rom const rom unsigned char incon24h15[] =
- {
-		  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x80
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xf0
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xe0
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0xf0
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x4b, 0xff, 0xa0
-		 ,0x00, 0x00, 0x00, 0x00, 0x5c, 0xff, 0x91, 0x00
-		 ,0x00, 0x00, 0x00, 0x6d, 0xfe, 0x71, 0x00, 0x00
-		 ,0x00, 0x01, 0x7e, 0xfd, 0x60, 0x00, 0x00, 0x00
-		 ,0x01, 0x8f, 0xfd, 0x50, 0x00, 0x00, 0x00, 0x00
-		 ,0x9f, 0xfb, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xfa, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x01, 0x69, 0xbc, 0xca, 0x72, 0x00, 0x00
-		 ,0x00, 0x9f, 0xfe, 0xdc, 0xdf, 0xff, 0xb2, 0x00
-		 ,0x1d, 0xf8, 0x20, 0x00, 0x05, 0xfd, 0xff, 0x30
-		 ,0xaf, 0x30, 0x00, 0x00, 0x9f, 0x90, 0x2e, 0xd0
-		 ,0xf8, 0x00, 0x00, 0x2c, 0xf5, 0x00, 0x06, 0xf0
-		 ,0xf8, 0x00, 0x04, 0xed, 0x30, 0x00, 0x05, 0xf0
-		 ,0xaf, 0x30, 0x8f, 0xb1, 0x00, 0x00, 0x0c, 0xe0
-		 ,0x1d, 0xfd, 0xf8, 0x00, 0x00, 0x16, 0xdf, 0x40
-		 ,0x00, 0x9f, 0xff, 0xdc, 0xde, 0xff, 0xc3, 0x00
-		 ,0x00, 0x01, 0x69, 0xbc, 0xca, 0x73, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x02, 0x90, 0x00, 0x00, 0x00, 0x00, 0x01, 0x30
-		 ,0x0a, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x04, 0xf0
-		 ,0x2f, 0x60, 0x00, 0x00, 0x00, 0x00, 0x04, 0xf0
-		 ,0xaf, 0x97, 0x77, 0x77, 0x77, 0x77, 0x79, 0xf0
-		 ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0
-		 ,0x12, 0x22, 0x22, 0x22, 0x22, 0x22, 0x26, 0xf0
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xf0
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xd0
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40
-		 ,0x07, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0
-		 ,0x4f, 0x80, 0x00, 0x00, 0x00, 0x1c, 0xfe, 0xf0
-		 ,0xcc, 0x00, 0x00, 0x00, 0x02, 0xef, 0x57, 0xf0
-		 ,0xf7, 0x00, 0x00, 0x00, 0x2e, 0xe2, 0x07, 0xf0
-		 ,0xf8, 0x00, 0x00, 0x01, 0xde, 0x20, 0x07, 0xf0
-		 ,0xce, 0x10, 0x00, 0x2d, 0xe2, 0x00, 0x07, 0xf0
-		 ,0x4f, 0xd6, 0x58, 0xfe, 0x30, 0x00, 0x07, 0xf0
-		 ,0x06, 0xff, 0xff, 0xb1, 0x00, 0x00, 0x07, 0xf0
-		 ,0x00, 0x14, 0x52, 0x00, 0x00, 0x00, 0x05, 0x80
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00
-		 ,0x09, 0x20, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x50
-		 ,0x6f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2e, 0xd0
-		 ,0xdb, 0x00, 0x00, 0x59, 0x00, 0x00, 0x07, 0xf0
-		 ,0xf8, 0x00, 0x00, 0x8e, 0x00, 0x00, 0x04, 0xf0
-		 ,0xea, 0x00, 0x00, 0xcf, 0x10, 0x00, 0x06, 0xf0
-		 ,0x9f, 0x30, 0x07, 0xff, 0x90, 0x00, 0x1e, 0xe0
-		 ,0x1e, 0xfc, 0xdf, 0x87, 0xfb, 0x79, 0xef, 0x50
-		 ,0x01, 0x9d, 0xc6, 0x00, 0x7e, 0xff, 0xd5, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x2b, 0xb0, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x06, 0xff, 0xe0, 0x00, 0x00
-		 ,0x00, 0x00, 0x02, 0xcf, 0x69, 0xe0, 0x00, 0x00
-		 ,0x00, 0x00, 0x7f, 0xb1, 0x09, 0xe0, 0x00, 0x00
-		 ,0x00, 0x2c, 0xe6, 0x00, 0x09, 0xe0, 0x00, 0x00
-		 ,0x07, 0xfb, 0x10, 0x00, 0x09, 0xe0, 0x00, 0x00
-		 ,0xcf, 0xfc, 0xcc, 0xcc, 0xce, 0xfd, 0xdd, 0xd0
-		 ,0xde, 0xee, 0xee, 0xee, 0xef, 0xfe, 0xee, 0xe0
-		 ,0x00, 0x00, 0x00, 0x00, 0x09, 0xe0, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x08, 0xc0, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00
-		 ,0x78, 0xab, 0xcd, 0xed, 0x00, 0x00, 0xce, 0x20
-		 ,0xff, 0xed, 0xcc, 0xfa, 0x00, 0x00, 0x5f, 0xb0
-		 ,0xf9, 0x00, 0x06, 0xf0, 0x00, 0x00, 0x08, 0xf0
-		 ,0xf9, 0x00, 0x0a, 0xb0, 0x00, 0x00, 0x04, 0xf0
-		 ,0xf9, 0x00, 0x0a, 0xc0, 0x00, 0x00, 0x04, 0xf0
-		 ,0xf9, 0x00, 0x08, 0xf3, 0x00, 0x00, 0x0b, 0xf0
-		 ,0xf9, 0x00, 0x01, 0xfe, 0x62, 0x13, 0xbf, 0x90
-		 ,0xf9, 0x00, 0x00, 0x4e, 0xff, 0xff, 0xfb, 0x00
-		 ,0x11, 0x00, 0x00, 0x01, 0x6a, 0xa9, 0x40, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x03, 0x56, 0x65, 0x30, 0x00, 0x00
-		 ,0x00, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xa2, 0x00
-		 ,0x08, 0xfe, 0x96, 0x8f, 0x95, 0x6a, 0xff, 0x30
-		 ,0x6f, 0x90, 0x01, 0xf8, 0x00, 0x00, 0x3e, 0xd0
-		 ,0xec, 0x00, 0x08, 0xf0, 0x00, 0x00, 0x06, 0xf0
-		 ,0xf6, 0x00, 0x0a, 0xe0, 0x00, 0x00, 0x04, 0xf0
-		 ,0xf7, 0x00, 0x07, 0xf3, 0x00, 0x00, 0x09, 0xf0
-		 ,0xcd, 0x10, 0x01, 0xef, 0x72, 0x13, 0xaf, 0x90
-		 ,0x4d, 0x20, 0x00, 0x2d, 0xff, 0xff, 0xf9, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x47, 0x86, 0x10, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x90
-		 ,0xfa, 0x00, 0x00, 0x00, 0x00, 0x39, 0xef, 0xf0
-		 ,0xfa, 0x00, 0x00, 0x01, 0x7d, 0xff, 0xe9, 0x40
-		 ,0xfa, 0x00, 0x05, 0xbf, 0xff, 0x94, 0x00, 0x00
-		 ,0xfa, 0x18, 0xef, 0xfb, 0x50, 0x00, 0x00, 0x00
-		 ,0xfe, 0xff, 0xd7, 0x10, 0x00, 0x00, 0x00, 0x00
-		 ,0xff, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x02, 0x78, 0x50, 0x00
-		 ,0x03, 0xad, 0xb4, 0x00, 0x7f, 0xff, 0xfc, 0x00
-		 ,0x3f, 0xfc, 0xff, 0x66, 0xfa, 0x43, 0xaf, 0xa0
-		 ,0xcd, 0x10, 0x1c, 0xfe, 0x70, 0x00, 0x0b, 0xf0
-		 ,0xf5, 0x00, 0x01, 0xfe, 0x00, 0x00, 0x05, 0xf0
-		 ,0xf5, 0x00, 0x00, 0xbf, 0x10, 0x00, 0x04, 0xf0
-		 ,0xec, 0x00, 0x07, 0xff, 0xb0, 0x00, 0x0a, 0xf0
-		 ,0x6f, 0xd9, 0xcf, 0x78, 0xfb, 0x32, 0x9f, 0x90
-		 ,0x07, 0xef, 0xe6, 0x00, 0x9f, 0xff, 0xfb, 0x00
-		 ,0x00, 0x01, 0x00, 0x00, 0x03, 0x88, 0x50, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x03, 0x55, 0x20, 0x00, 0x00, 0x00, 0x00
-		 ,0x04, 0xdf, 0xff, 0xfb, 0x10, 0x00, 0x0b, 0x60
-		 ,0x4f, 0xd7, 0x45, 0x9f, 0xd0, 0x00, 0x1c, 0xe0
-		 ,0xdd, 0x00, 0x00, 0x05, 0xf5, 0x00, 0x05, 0xf0
-		 ,0xf7, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x04, 0xf0
-		 ,0xf8, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x08, 0xf0
-		 ,0xbe, 0x20, 0x00, 0x06, 0xf2, 0x00, 0x5f, 0xa0
-		 ,0x2e, 0xf9, 0x54, 0x7f, 0x94, 0x7c, 0xfc, 0x00
-		 ,0x02, 0xaf, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00
-		 ,0x00, 0x01, 0x46, 0x77, 0x75, 0x30, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x06, 0xa1, 0x00, 0x00, 0x09, 0x80
-		 ,0x00, 0x00, 0x1f, 0xf9, 0x00, 0x00, 0x6f, 0xf0
-		 ,0x00, 0x00, 0x0d, 0xf5, 0x00, 0x00, 0x3f, 0xe0
-		 ,0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xba, 0xae, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xff, 0xe9, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x97, 0x8c, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xff, 0xfb, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x75, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x75, 0x6a, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xff, 0xfd, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xa8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x2c, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xdd, 0x78, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xf2, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xf0, 0x00, 0x4f, 0x10, 0x00, 0x00, 0x00, 0x00
-		 ,0xea, 0x23, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x4f, 0xff, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x01, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10
-		 ,0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0
-		 ,0x00, 0x00, 0x9f, 0xa7, 0x77, 0x77, 0x77, 0x70
-		 ,0x00, 0x00, 0xd6, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x02, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x01, 0xff, 0xcb, 0xbb, 0xbb, 0xbb, 0xb0
-		 ,0x00, 0x00, 0x4f, 0xfe, 0xee, 0xee, 0xee, 0xe0
-		 ,0x00, 0x00, 0xab, 0x20, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x01, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x02, 0xfa, 0x55, 0x55, 0x55, 0x55, 0x50
-		 ,0x00, 0x00, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xf0
-		 ,0x00, 0x00, 0x02, 0x44, 0x44, 0x44, 0x44, 0x40
- };
-
-#pragma romdata font_incon_42 = 0x0F500
- rom const rom unsigned char incon42[] =
- {
-	 // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-	  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-	  ,0x00, 0x00, 0x00, 0x03, 0x7a, 0xcd, 0xee, 0xdc, 0xa8, 0x40, 0x00, 0x00, 0x00, 0x00
-	  ,0x00, 0x00, 0x18, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x92, 0x00, 0x00, 0x00
-	  ,0x00, 0x07, 0xef, 0xff, 0xff, 0xdc, 0xbb, 0xce, 0xff, 0xff, 0xff, 0x91, 0x00, 0x00
-	  ,0x00, 0xbf, 0xff, 0xc7, 0x65, 0x43, 0x22, 0x33, 0x57, 0xbf, 0xff, 0xfd, 0x20, 0x00
-	  ,0x0b, 0xff, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x6e, 0xff, 0xd1, 0x00
-	  ,0x7f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xfa, 0x00
-	  ,0xef, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0x20
-	  ,0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0x60
-	  ,0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
-	  ,0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
-	  ,0xcf, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
-	  ,0x4f, 0xfe, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf8, 0x00
-	  ,0x07, 0xff, 0xd7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7e, 0xff, 0xb0, 0x00
-	  ,0x00, 0x5e, 0xff, 0xfb, 0x98, 0x54, 0x33, 0x34, 0x58, 0xbf, 0xff, 0xfa, 0x00, 0x00
-	  ,0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x50, 0x00, 0x00
-	  ,0x00, 0x00, 0x01, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x40, 0x00, 0x00, 0x00
-	  ,0x00, 0x00, 0x00, 0x00, 0x02, 0x46, 0x77, 0x65, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00
-	  ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-	 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
-#if 0
-// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x03, 0x7a, 0xcd, 0xee, 0xdc, 0xa8, 0x40, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x18, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x92, 0x00, 0x00, 0x00
- ,0x00, 0x07, 0xef, 0xff, 0xff, 0xdc, 0xbb, 0xce, 0xff, 0xff, 0xff, 0x91, 0x00, 0x00
- ,0x00, 0xbf, 0xff, 0xc7, 0x20, 0x00, 0x00, 0x00, 0x1c, 0xff, 0xff, 0xfd, 0x20, 0x00
- ,0x0b, 0xff, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x02, 0xcf, 0xfc, 0x6e, 0xff, 0xd1, 0x00
- ,0x7f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0xff, 0x90, 0x01, 0xbf, 0xfa, 0x00
- ,0xef, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xe5, 0x00, 0x00, 0x0d, 0xff, 0x20
- ,0xff, 0x60, 0x00, 0x00, 0x00, 0x02, 0xcf, 0xfc, 0x20, 0x00, 0x00, 0x05, 0xff, 0x60
- ,0xff, 0x40, 0x00, 0x00, 0x00, 0x5e, 0xff, 0x90, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
- ,0xff, 0x80, 0x00, 0x00, 0x08, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
- ,0xcf, 0xf3, 0x00, 0x01, 0xcf, 0xfd, 0x30, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
- ,0x4f, 0xfe, 0x50, 0x4e, 0xff, 0xa1, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf8, 0x00
- ,0x07, 0xff, 0xfd, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7e, 0xff, 0xb0, 0x00
- ,0x00, 0x5e, 0xff, 0xff, 0xd8, 0x54, 0x33, 0x34, 0x58, 0xbf, 0xff, 0xfa, 0x00, 0x00
- ,0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x50, 0x00, 0x00
- ,0x00, 0x00, 0x01, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x40, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x02, 0x46, 0x77, 0x65, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-#endif
-//
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x1f, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x00
- ,0x00, 0x9f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x02, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x0a, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x3f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0xbf, 0xfc, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x79, 0xff, 0x00
- ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
- ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
- ,0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x36, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xcc, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0xff, 0x00
- ,0x00, 0xbf, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0x00
- ,0x0a, 0xff, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0x00
- ,0x4f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xdb, 0xff, 0x00
- ,0xcf, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xf8, 0x08, 0xff, 0x00
- ,0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xfe, 0x40, 0x08, 0xff, 0x00
- ,0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xd2, 0x00, 0x08, 0xff, 0x00
- ,0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xfd, 0x10, 0x00, 0x08, 0xff, 0x00
- ,0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xd1, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xfe, 0x20, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x9f, 0xfa, 0x00, 0x00, 0x00, 0x1a, 0xff, 0xe2, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x2e, 0xff, 0xd6, 0x21, 0x38, 0xef, 0xfd, 0x20, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x00, 0x3d, 0xff, 0xff, 0xff, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x00, 0x00, 0x59, 0xbb, 0x95, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0x30, 0x00
- ,0x04, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xd0, 0x00
- ,0x1e, 0xfe, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xf8, 0x00
- ,0x7f, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xfe, 0x00
- ,0xdf, 0xc0, 0x00, 0x00, 0x00, 0x07, 0x95, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0x30
- ,0xff, 0x70, 0x00, 0x00, 0x00, 0x0c, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0xff, 0x50, 0x00, 0x00, 0x00, 0x0e, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
- ,0xff, 0x60, 0x00, 0x00, 0x00, 0x2f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0xff, 0xb0, 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0x30
- ,0xbf, 0xf4, 0x00, 0x00, 0x02, 0xef, 0xff, 0x70, 0x00, 0x00, 0x00, 0x2f, 0xfe, 0x00
- ,0x4f, 0xfe, 0x60, 0x00, 0x5e, 0xfd, 0xbf, 0xf5, 0x00, 0x00, 0x03, 0xef, 0xf7, 0x00
- ,0x09, 0xff, 0xff, 0xdf, 0xff, 0xf3, 0x2f, 0xff, 0xb6, 0x56, 0xbf, 0xff, 0xc0, 0x00
- ,0x00, 0x8f, 0xff, 0xff, 0xfe, 0x40, 0x04, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x00
- ,0x00, 0x02, 0x8c, 0xdb, 0x71, 0x00, 0x00, 0x2b, 0xff, 0xff, 0xfe, 0x80, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x66, 0x30, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xef, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xaf, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0xff, 0xd4, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x06, 0xef, 0xf8, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x02, 0xbf, 0xfc, 0x30, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x7f, 0xff, 0x70, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x2c, 0xff, 0xb2, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x07, 0xff, 0xe6, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x03, 0xcf, 0xfa, 0x10, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x8f, 0xff, 0xea, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xef, 0xea, 0xaa, 0xaa, 0xaa, 0x00
- ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
- ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
- ,0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0xdf, 0xd4, 0x44, 0x44, 0x44, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x70, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x12, 0x34, 0x56, 0x72, 0x00, 0x00, 0x00, 0x03, 0xf8, 0x00, 0x00
- ,0xab, 0xcd, 0xef, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x1e, 0xff, 0x80, 0x00
- ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x00, 0x00, 0x00, 0x28, 0xff, 0xf3, 0x00
- ,0xff, 0xda, 0xa9, 0x87, 0x67, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfb, 0x00
- ,0xff, 0x70, 0x00, 0x00, 0x06, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x10
- ,0xff, 0x70, 0x00, 0x00, 0x0b, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0x50
- ,0xff, 0x70, 0x00, 0x00, 0x0d, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
- ,0xff, 0x70, 0x00, 0x00, 0x0e, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
- ,0xff, 0x70, 0x00, 0x00, 0x0e, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0xff, 0x70, 0x00, 0x00, 0x0b, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x30
- ,0xff, 0x70, 0x00, 0x00, 0x06, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xfd, 0x00
- ,0xff, 0x70, 0x00, 0x00, 0x00, 0xdf, 0xfd, 0x40, 0x00, 0x00, 0x29, 0xff, 0xf5, 0x00
- ,0xff, 0x70, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0xba, 0xbd, 0xff, 0xff, 0x90, 0x00
- ,0xff, 0x70, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00
- ,0x55, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xdf, 0xff, 0xff, 0xea, 0x30, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x42, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x33, 0x33, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x49, 0xce, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x71, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00
- ,0x00, 0x3d, 0xff, 0xff, 0xfc, 0xba, 0xff, 0xfb, 0xab, 0xef, 0xff, 0xfd, 0x20, 0x00
- ,0x04, 0xff, 0xfe, 0x83, 0x00, 0x1c, 0xfd, 0x20, 0x00, 0x02, 0x8e, 0xff, 0xd1, 0x00
- ,0x1e, 0xff, 0x90, 0x00, 0x00, 0xbf, 0xe1, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf9, 0x00
- ,0xaf, 0xf7, 0x00, 0x00, 0x05, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
- ,0xff, 0xb0, 0x00, 0x00, 0x0a, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
- ,0xff, 0x50, 0x00, 0x00, 0x0d, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
- ,0xff, 0x20, 0x00, 0x00, 0x0d, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x60
- ,0xff, 0x30, 0x00, 0x00, 0x0a, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x30
- ,0xff, 0x70, 0x00, 0x00, 0x05, 0xff, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xfd, 0x00
- ,0xef, 0xe1, 0x00, 0x00, 0x00, 0xcf, 0xfd, 0x50, 0x00, 0x00, 0x28, 0xff, 0xf4, 0x00
- ,0x7f, 0xfd, 0x00, 0x00, 0x00, 0x2d, 0xff, 0xff, 0xdb, 0xcd, 0xff, 0xff, 0x70, 0x00
- ,0x0c, 0xd2, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xe5, 0x00, 0x00
- ,0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x03, 0x9d, 0xff, 0xfe, 0xb6, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0xcc, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00
- ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xef, 0x00
- ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x9e, 0xff, 0xff, 0x00
- ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xdf, 0xff, 0xff, 0xfe, 0x00
- ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7d, 0xff, 0xff, 0xff, 0xd9, 0x40, 0x00
- ,0xff, 0x90, 0x00, 0x00, 0x00, 0x05, 0xbf, 0xff, 0xff, 0xfd, 0x83, 0x00, 0x00, 0x00
- ,0xff, 0x90, 0x00, 0x00, 0x39, 0xef, 0xff, 0xff, 0xe8, 0x30, 0x00, 0x00, 0x00, 0x00
- ,0xff, 0x90, 0x00, 0x6c, 0xff, 0xff, 0xfe, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0xff, 0x92, 0x8e, 0xff, 0xff, 0xfb, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0xff, 0xef, 0xff, 0xff, 0xd7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0xff, 0xff, 0xff, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0xff, 0xfd, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0xba, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x67, 0x62, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x24, 0x42, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xff, 0xff, 0xb2, 0x00, 0x00
- ,0x00, 0x3c, 0xff, 0xff, 0xc4, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xfe, 0x30, 0x00
- ,0x05, 0xff, 0xff, 0xff, 0xff, 0x70, 0x08, 0xff, 0xfb, 0x77, 0xaf, 0xff, 0xe1, 0x00
- ,0x3f, 0xff, 0xa7, 0x8d, 0xff, 0xf6, 0x4f, 0xfc, 0x20, 0x00, 0x02, 0xdf, 0xf9, 0x00
- ,0xbf, 0xe3, 0x00, 0x00, 0x8f, 0xfe, 0xdf, 0xb0, 0x00, 0x00, 0x00, 0x2e, 0xff, 0x00
- ,0xff, 0x60, 0x00, 0x00, 0x08, 0xff, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x08, 0xff, 0x40
- ,0xff, 0x10, 0x00, 0x00, 0x00, 0xcf, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0xff, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x60
- ,0xff, 0x20, 0x00, 0x00, 0x00, 0x5f, 0xff, 0x10, 0x00, 0x00, 0x00, 0x05, 0xff, 0x50
- ,0xff, 0x80, 0x00, 0x00, 0x03, 0xef, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x20
- ,0xdf, 0xf6, 0x00, 0x00, 0x5e, 0xfc, 0xcf, 0xf8, 0x00, 0x00, 0x00, 0x4f, 0xfd, 0x00
- ,0x4f, 0xff, 0xc8, 0x9d, 0xff, 0xf3, 0x3f, 0xff, 0xa2, 0x00, 0x06, 0xff, 0xf5, 0x00
- ,0x07, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x06, 0xff, 0xff, 0xdc, 0xef, 0xff, 0xa0, 0x00
- ,0x00, 0x4c, 0xff, 0xff, 0x91, 0x00, 0x00, 0x5e, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00
- ,0x00, 0x00, 0x24, 0x30, 0x00, 0x00, 0x00, 0x01, 0x8e, 0xff, 0xfb, 0x40, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x02, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x01, 0x7d, 0xff, 0xff, 0xea, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00
- ,0x00, 0x6e, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xe2, 0x00
- ,0x08, 0xff, 0xff, 0xb9, 0x9b, 0xef, 0xff, 0xc0, 0x00, 0x00, 0x00, 0xbf, 0xfa, 0x00
- ,0x4f, 0xff, 0x70, 0x00, 0x00, 0x05, 0xef, 0xf8, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x10
- ,0xdf, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xff, 0x10, 0x00, 0x00, 0x06, 0xff, 0x50
- ,0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x70, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0xff, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x70, 0x00, 0x00, 0x07, 0xff, 0x40
- ,0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x40, 0x00, 0x00, 0x0d, 0xfe, 0x00
- ,0xef, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xfd, 0x00, 0x00, 0x00, 0x9f, 0xf8, 0x00
- ,0x7f, 0xfd, 0x30, 0x00, 0x00, 0x00, 0x7f, 0xf4, 0x00, 0x00, 0x1a, 0xff, 0xd1, 0x00
- ,0x0b, 0xff, 0xfb, 0x52, 0x00, 0x08, 0xff, 0x60, 0x13, 0x6a, 0xff, 0xfe, 0x20, 0x00
- ,0x00, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xc2, 0x00, 0x00
- ,0x00, 0x04, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x02, 0x69, 0xcd, 0xef, 0xff, 0xed, 0xb9, 0x62, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- };
-
-#if 0
-#pragma romdata font_incon_42 = 0x0E000
- rom const rom unsigned char incon42[] =
- {
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x03, 0x7a, 0xcd, 0xee, 0xdc, 0xa8, 0x40, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x18, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x92, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x07, 0xef, 0xff, 0xff, 0xdc, 0xbb, 0xce, 0xff, 0xff, 0xff, 0x91, 0x00, 0x00
- ,0x00, 0x00, 0xbf, 0xff, 0xc7, 0x20, 0x00, 0x00, 0x00, 0x1c, 0xff, 0xff, 0xfd, 0x20, 0x00
- ,0x00, 0x0b, 0xff, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x02, 0xcf, 0xfc, 0x6e, 0xff, 0xd1, 0x00
- ,0x00, 0x7f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0xff, 0x90, 0x01, 0xbf, 0xfa, 0x00
- ,0x00, 0xef, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xe5, 0x00, 0x00, 0x0d, 0xff, 0x20
- ,0x03, 0xff, 0x60, 0x00, 0x00, 0x00, 0x02, 0xcf, 0xfc, 0x20, 0x00, 0x00, 0x05, 0xff, 0x60
- ,0x04, 0xff, 0x40, 0x00, 0x00, 0x00, 0x5e, 0xff, 0x90, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
- ,0x02, 0xff, 0x80, 0x00, 0x00, 0x08, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
- ,0x00, 0xcf, 0xf3, 0x00, 0x01, 0xcf, 0xfd, 0x30, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
- ,0x00, 0x4f, 0xfe, 0x50, 0x4e, 0xff, 0xa1, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf8, 0x00
- ,0x00, 0x07, 0xff, 0xfd, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7e, 0xff, 0xb0, 0x00
- ,0x00, 0x00, 0x5e, 0xff, 0xff, 0xd8, 0x54, 0x33, 0x34, 0x58, 0xbf, 0xff, 0xfa, 0x00, 0x00
- ,0x00, 0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x50, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x01, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x40, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x46, 0x77, 0x65, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x1f, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x00
- ,0x00, 0x00, 0x9f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0x02, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0x0a, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0xbf, 0xfc, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x79, 0xff, 0x00
- ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
- ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
- ,0x00, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x36, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xcc, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0xff, 0x00
- ,0x00, 0x00, 0xbf, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0x00
- ,0x00, 0x0a, 0xff, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0x00
- ,0x00, 0x4f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xdb, 0xff, 0x00
- ,0x00, 0xcf, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xf8, 0x08, 0xff, 0x00
- ,0x01, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xfe, 0x40, 0x08, 0xff, 0x00
- ,0x04, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xd2, 0x00, 0x08, 0xff, 0x00
- ,0x04, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xfd, 0x10, 0x00, 0x08, 0xff, 0x00
- ,0x03, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xd1, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xfe, 0x20, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x00, 0x9f, 0xfa, 0x00, 0x00, 0x00, 0x1a, 0xff, 0xe2, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x00, 0x2e, 0xff, 0xd6, 0x21, 0x38, 0xef, 0xfd, 0x20, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x00, 0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x00, 0x00, 0x3d, 0xff, 0xff, 0xff, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x59, 0xbb, 0x95, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0x30, 0x00
- ,0x00, 0x04, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xd0, 0x00
- ,0x00, 0x1e, 0xfe, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xf8, 0x00
- ,0x00, 0x7f, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xfe, 0x00
- ,0x00, 0xdf, 0xc0, 0x00, 0x00, 0x00, 0x07, 0x95, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0x30
- ,0x01, 0xff, 0x70, 0x00, 0x00, 0x00, 0x0c, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0x03, 0xff, 0x50, 0x00, 0x00, 0x00, 0x0e, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
- ,0x03, 0xff, 0x60, 0x00, 0x00, 0x00, 0x2f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0x01, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0x30
- ,0x00, 0xbf, 0xf4, 0x00, 0x00, 0x02, 0xef, 0xff, 0x70, 0x00, 0x00, 0x00, 0x2f, 0xfe, 0x00
- ,0x00, 0x4f, 0xfe, 0x60, 0x00, 0x5e, 0xfd, 0xbf, 0xf5, 0x00, 0x00, 0x03, 0xef, 0xf7, 0x00
- ,0x00, 0x09, 0xff, 0xff, 0xdf, 0xff, 0xf3, 0x2f, 0xff, 0xb6, 0x56, 0xbf, 0xff, 0xc0, 0x00
- ,0x00, 0x00, 0x8f, 0xff, 0xff, 0xfe, 0x40, 0x04, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x00
- ,0x00, 0x00, 0x02, 0x8c, 0xdb, 0x71, 0x00, 0x00, 0x2b, 0xff, 0xff, 0xfe, 0x80, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x66, 0x30, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xef, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xaf, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0xff, 0xd4, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xef, 0xf8, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x02, 0xbf, 0xfc, 0x30, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x70, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x2c, 0xff, 0xb2, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x07, 0xff, 0xe6, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x03, 0xcf, 0xfa, 0x10, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x8f, 0xff, 0xea, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xef, 0xea, 0xaa, 0xaa, 0xaa, 0x00
- ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
- ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
- ,0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0xdf, 0xd4, 0x44, 0x44, 0x44, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x70, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x12, 0x34, 0x56, 0x72, 0x00, 0x00, 0x00, 0x03, 0xf8, 0x00, 0x00
- ,0x01, 0xab, 0xcd, 0xef, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x1e, 0xff, 0x80, 0x00
- ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x00, 0x00, 0x00, 0x28, 0xff, 0xf3, 0x00
- ,0x02, 0xff, 0xda, 0xa9, 0x87, 0x67, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfb, 0x00
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x06, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x10
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0b, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0x50
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0d, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0e, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0e, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0b, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x30
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x06, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xfd, 0x00
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x00, 0xdf, 0xfd, 0x40, 0x00, 0x00, 0x29, 0xff, 0xf5, 0x00
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0xba, 0xbd, 0xff, 0xff, 0x90, 0x00
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00
- ,0x01, 0x55, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xdf, 0xff, 0xff, 0xea, 0x30, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x42, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x33, 0x33, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x49, 0xce, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x71, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00
- ,0x00, 0x00, 0x3d, 0xff, 0xff, 0xfc, 0xba, 0xff, 0xfb, 0xab, 0xef, 0xff, 0xfd, 0x20, 0x00
- ,0x00, 0x04, 0xff, 0xfe, 0x83, 0x00, 0x1c, 0xfd, 0x20, 0x00, 0x02, 0x8e, 0xff, 0xd1, 0x00
- ,0x00, 0x1e, 0xff, 0x90, 0x00, 0x00, 0xbf, 0xe1, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf9, 0x00
- ,0x00, 0xaf, 0xf7, 0x00, 0x00, 0x05, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
- ,0x01, 0xff, 0xb0, 0x00, 0x00, 0x0a, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
- ,0x04, 0xff, 0x50, 0x00, 0x00, 0x0d, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
- ,0x06, 0xff, 0x20, 0x00, 0x00, 0x0d, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x60
- ,0x06, 0xff, 0x30, 0x00, 0x00, 0x0a, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x30
- ,0x03, 0xff, 0x70, 0x00, 0x00, 0x05, 0xff, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xfd, 0x00
- ,0x00, 0xef, 0xe1, 0x00, 0x00, 0x00, 0xcf, 0xfd, 0x50, 0x00, 0x00, 0x28, 0xff, 0xf4, 0x00
- ,0x00, 0x7f, 0xfd, 0x00, 0x00, 0x00, 0x2d, 0xff, 0xff, 0xdb, 0xcd, 0xff, 0xff, 0x70, 0x00
- ,0x00, 0x0c, 0xd2, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xe5, 0x00, 0x00
- ,0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x03, 0x9d, 0xff, 0xfe, 0xb6, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x02, 0xcc, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00
- ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xef, 0x00
- ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x9e, 0xff, 0xff, 0x00
- ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xdf, 0xff, 0xff, 0xfe, 0x00
- ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7d, 0xff, 0xff, 0xff, 0xd9, 0x40, 0x00
- ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x05, 0xbf, 0xff, 0xff, 0xfd, 0x83, 0x00, 0x00, 0x00
- ,0x02, 0xff, 0x90, 0x00, 0x00, 0x39, 0xef, 0xff, 0xff, 0xe8, 0x30, 0x00, 0x00, 0x00, 0x00
- ,0x02, 0xff, 0x90, 0x00, 0x6c, 0xff, 0xff, 0xfe, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x02, 0xff, 0x92, 0x8e, 0xff, 0xff, 0xfb, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x02, 0xff, 0xef, 0xff, 0xff, 0xd7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x02, 0xff, 0xff, 0xff, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x02, 0xff, 0xfd, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x02, 0xba, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x67, 0x62, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x24, 0x42, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xff, 0xff, 0xb2, 0x00, 0x00
- ,0x00, 0x00, 0x3c, 0xff, 0xff, 0xc4, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xfe, 0x30, 0x00
- ,0x00, 0x05, 0xff, 0xff, 0xff, 0xff, 0x70, 0x08, 0xff, 0xfb, 0x77, 0xaf, 0xff, 0xe1, 0x00
- ,0x00, 0x3f, 0xff, 0xa7, 0x8d, 0xff, 0xf6, 0x4f, 0xfc, 0x20, 0x00, 0x02, 0xdf, 0xf9, 0x00
- ,0x00, 0xbf, 0xe3, 0x00, 0x00, 0x8f, 0xfe, 0xdf, 0xb0, 0x00, 0x00, 0x00, 0x2e, 0xff, 0x00
- ,0x01, 0xff, 0x60, 0x00, 0x00, 0x08, 0xff, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x08, 0xff, 0x40
- ,0x05, 0xff, 0x10, 0x00, 0x00, 0x00, 0xcf, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0x06, 0xff, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x60
- ,0x06, 0xff, 0x20, 0x00, 0x00, 0x00, 0x5f, 0xff, 0x10, 0x00, 0x00, 0x00, 0x05, 0xff, 0x50
- ,0x03, 0xff, 0x80, 0x00, 0x00, 0x03, 0xef, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x20
- ,0x00, 0xdf, 0xf6, 0x00, 0x00, 0x5e, 0xfc, 0xcf, 0xf8, 0x00, 0x00, 0x00, 0x4f, 0xfd, 0x00
- ,0x00, 0x4f, 0xff, 0xc8, 0x9d, 0xff, 0xf3, 0x3f, 0xff, 0xa2, 0x00, 0x06, 0xff, 0xf5, 0x00
- ,0x00, 0x07, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x06, 0xff, 0xff, 0xdc, 0xef, 0xff, 0xa0, 0x00
- ,0x00, 0x00, 0x4c, 0xff, 0xff, 0x91, 0x00, 0x00, 0x5e, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x24, 0x30, 0x00, 0x00, 0x00, 0x01, 0x8e, 0xff, 0xfb, 0x40, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x02, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x01, 0x7d, 0xff, 0xff, 0xea, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00
- ,0x00, 0x00, 0x6e, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xe2, 0x00
- ,0x00, 0x08, 0xff, 0xff, 0xb9, 0x9b, 0xef, 0xff, 0xc0, 0x00, 0x00, 0x00, 0xbf, 0xfa, 0x00
- ,0x00, 0x4f, 0xff, 0x70, 0x00, 0x00, 0x05, 0xef, 0xf8, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x10
- ,0x00, 0xdf, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xff, 0x10, 0x00, 0x00, 0x06, 0xff, 0x50
- ,0x03, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0x05, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x70, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0x06, 0xff, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x70, 0x00, 0x00, 0x07, 0xff, 0x40
- ,0x04, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x40, 0x00, 0x00, 0x0d, 0xfe, 0x00
- ,0x00, 0xef, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xfd, 0x00, 0x00, 0x00, 0x9f, 0xf8, 0x00
- ,0x00, 0x7f, 0xfd, 0x30, 0x00, 0x00, 0x00, 0x7f, 0xf4, 0x00, 0x00, 0x1a, 0xff, 0xd1, 0x00
- ,0x00, 0x0b, 0xff, 0xfb, 0x52, 0x00, 0x08, 0xff, 0x60, 0x13, 0x6a, 0xff, 0xfe, 0x20, 0x00
- ,0x00, 0x00, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xc2, 0x00, 0x00
- ,0x00, 0x00, 0x04, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x02, 0x69, 0xcd, 0xef, 0xff, 0xed, 0xb9, 0x62, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- };
-#endif
-
-// **********************
-// **********************
-// ** THE JUMP-IN CODE **
-// ** for the asm code **
-// **********************
-// **********************
-#pragma code main_calc_hauptroutine = 0x10000
-void main_calc_hauptroutine(void)
-{
-calc_hauptroutine();
-int_O_desaturation_time = 65535;
-}				// divemode
-#pragma code main_without_deco = 0x10020
-void main_calc_without_deco(void)
-{
-calc_without_deco();
-calc_desaturation_time();
-}
-
-#pragma code main_clear_CNS_fraction = 0x10030
-void main_clear_CNS_fraction(void)
-{
-clear_CNS_fraction();
-}
-
-#pragma code main_calc_CNS_decrease_15min = 0x10034
-void main_calc_CNS_decrease_15min(void)
-{
-calc_CNS_decrease_15min();
-}
-
-#pragma code main_calc_percentage = 0x10038
-void main_calc_percentage (void)
-{
-calc_percentage();
-}
-
-#pragma code main_clear_tissue = 0x10040
-void main_clear_tissue(void)
-{
-clear_tissue();
-char_I_depth_last_deco	= 0;		// for compatibility with v.101pre_no_last_deco
-}
-
-#pragma code main_calc_CNS_fraction = 0x10050
-void main_calc_CNS_fraction(void)
-{
-calc_CNS_fraction();
-}
-
-#pragma code main_calc_desaturation_time = 0x10060
-void main_calc_desaturation_time(void)
-{
-calc_desaturation_time();
-}
-
-#pragma code main_calc_wo_deco_step_1_min = 0x10080
-void main_calc_wo_deco_step_1_min(void)
-{
-calc_wo_deco_step_1_min();
-char_O_deco_status = 3; // surface new in v.102 overwrites value of calc_wo_deco_step_1_min
-calc_desaturation_time();
-}			// surface mode
-
-#pragma code main_debug = 0x100A0
-void main_debug(void)
-{
-//debug();
-}
-
-#pragma code main_DD2_write_incon42 = 0x100B0
-void main_DD2_write_incon42(void)
-{
-	DD2_write_incon42();
-}
-
-#pragma code main_DD2_write_incon24 = 0x100B4
-void main_DD2_write_incon24(void)
-{
-	DD2_write_incon24();
-}
-
-#pragma code main_gradient_array = 0x100C0
-void main_gradient_array(void)
-{
-calc_gradient_array_only();
-}
-#pragma code main_push_tissues = 0x100C4
-void main_push_tissues_to_vault(void)
-{
-	push_tissues_to_vault();
-}
-#pragma code main_pull_tissues = 0x100C8
-void main_pull_tissues_from_vault(void)
-{
-	pull_tissues_from_vault();
-}
-
-#pragma code main_hash = 0x100E0
-void main_hash(void)
-{
-hash();
-}
-
-// ***********************
-// ***********************
-// ** THE LOOKUP TABLES **
-// ***********************
-// ***********************
-
-#pragma romdata tables = 0x10200
-#include	<p2_tables.romdata> 		// new table for deco_main_v.101 (var_a modified)
-
-#pragma romdata tables2 = 0x10600
-rom const rom unsigned int md_pi[] =
-{
-    0x292E, 0x43C9, 0xA2D8, 0x7C01, 0x3D36, 0x54A1, 0xECF0, 0x0613
-  , 0x62A7, 0x05F3, 0xC0C7, 0x738C, 0x9893, 0x2BD9, 0xBC4C, 0x82CA
-  , 0x1E9B, 0x573C, 0xFDD4, 0xE016, 0x6742, 0x6F18, 0x8A17, 0xE512
-  , 0xBE4E, 0xC4D6, 0xDA9E, 0xDE49, 0xA0FB, 0xF58E, 0xBB2F, 0xEE7A
-  , 0xA968, 0x7991, 0x15B2, 0x073F, 0x94C2, 0x1089, 0x0B22, 0x5F21
-  , 0x807F, 0x5D9A, 0x5A90, 0x3227, 0x353E, 0xCCE7, 0xBFF7, 0x9703
-  , 0xFF19, 0x30B3, 0x48A5, 0xB5D1, 0xD75E, 0x922A, 0xAC56, 0xAAC6
-  , 0x4FB8, 0x38D2, 0x96A4, 0x7DB6, 0x76FC, 0x6BE2, 0x9C74, 0x04F1
-  , 0x459D, 0x7059, 0x6471, 0x8720, 0x865B, 0xCF65, 0xE62D, 0xA802
-  , 0x1B60, 0x25AD, 0xAEB0, 0xB9F6, 0x1C46, 0x6169, 0x3440, 0x7E0F
-  , 0x5547, 0xA323, 0xDD51, 0xAF3A, 0xC35C, 0xF9CE, 0xBAC5, 0xEA26
-  , 0x2C53, 0x0D6E, 0x8528, 0x8409, 0xD3DF, 0xCDF4, 0x4181, 0x4D52
-  , 0x6ADC, 0x37C8, 0x6CC1, 0xABFA, 0x24E1, 0x7B08, 0x0CBD, 0xB14A
-  , 0x7888, 0x958B, 0xE363, 0xE86D, 0xE9CB, 0xD5FE, 0x3B00, 0x1D39
-  , 0xF2EF, 0xB70E, 0x6658, 0xD0E4, 0xA677, 0x72F8, 0xEB75, 0x4B0A
-  , 0x3144, 0x50B4, 0x8FED, 0x1F1A, 0xDB99, 0x8D33, 0x9F11, 0x8314
-};
-
-// *********************
-// *********************
-// ** THE SUBROUTINES **
-// *********************
-// *********************
-
-#pragma code subroutines = 0x10700	// can be adapted to fit the romdata tables ahead
-
-
-// ---------------
-// CLEAR tissue //
-// ---------------
-// optimized in v.101 (var_a)
-
-void clear_tissue(void)    // preload tissues with standard pressure for the given ambient pressure
-{
-_asm
-lfsr 1, 0x300 // C math routines shall use this variable bank
-movlw	0x01
-movwf	TBLPTRU,0
-_endasm
-
-// N2_ratio = (float)char_I_N2_ratio; // the 0.0002 of 0.7902 are missing with standard air
- N2_ratio = 0.7902; // N2_ratio / 100.0;
- pres_respiration = (float)int_I_pres_respiration / 1000.0;
-for (ci=0;ci<16;ci++)  // cycle through the 16 b"uhlmann tissues
-{
- pres_tissue[ci] =  N2_ratio * (pres_respiration -  0.0627) ;
-_asm
-movlw	0x02
-movwf	TBLPTRH,0
-movlb	4 // fuer ci
-movf ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addlw	0x80
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_a+1
-TBLRDPOSTINC
-movff	TABLAT,var_a
-TBLRDPOSTINC
-movff	TABLAT,var_a+3
-TBLRD
-movff	TABLAT,var_a+2
-addlw	0x80
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_b+1
-TBLRDPOSTINC
-movff	TABLAT,var_b
-TBLRDPOSTINC
-movff	TABLAT,var_b+3
-TBLRD
-movff	TABLAT,var_b+2
-_endasm
-
-pres_tissue_limit[ci] = (pres_tissue[ci] - var_a) * var_b ;
-// now update the guiding tissue
-if (pres_tissue_limit[ci] < 0)
-pres_tissue_limit[ci] = 0;
-} // for 0 to 16
-
-for (ci=16;ci<32;ci++)  // cycle through the 16 b"uhlmann tissues for Helium
-{
- pres_tissue[ci] = 0.0;
-}  // for
-
- clear_decoarray();
- char_O_deco_status = 0;
- char_O_nullzeit = 0;
- char_O_ascenttime = 0;
- char_O_gradient_factor = 0;
- char_O_relative_gradient_GF = 0;
-} // clear_tissue(void)
-
-
-// --------------------
-// calc_without_deco //
-// fixed N2_ratio !  //
-// --------------------
-// optimized in v.101 (float_..saturation_multiplier)
-
-void calc_without_deco(void)
-{
-_asm
- lfsr 1, 0x300
-_endasm
- N2_ratio = 0.7902; // FIXED RATIO !! sum as stated in b"uhlmann
- pres_respiration = (float)int_I_pres_respiration / 1000.0; // assembler code uses different digit system
- pres_surface = (float)int_I_pres_surface / 1000.0;
- temp_atem = N2_ratio * (pres_respiration - 0.0627); // 0.0627 is the extra pressure in the body
- temp2_atem = 0.0;
- temp_surface = pres_surface; // the b"uhlmann formula using temp_surface does apply to the pressure without any inert ratio
- float_desaturation_multiplier = char_I_desaturation_multiplier / 100.0;
- float_saturation_multiplier = char_I_saturation_multiplier / 100.0;
-
- calc_tissue();  // update the pressure in the 16 tissues in accordance with the new ambient pressure
-
- clear_decoarray();
- char_O_deco_status = 0;
- char_O_nullzeit = 0;
- char_O_ascenttime = 0;
- calc_gradient_factor();
-
-} // calc_without_deco
-
-
-// --------------------
-// calc_hauptroutine //
-// --------------------
-// this is the major code in dive mode
-// calculates:
-// 		the tissues,
-//		the bottom time
-//		and simulates the ascend with all deco stops
-
-void calc_hauptroutine(void)
-{
-	calc_hauptroutine_data_input();
-	calc_hauptroutine_update_tissues();
-	calc_gradient_factor();
-
-
-	switch (char_O_deco_status)	// toggle between calculation for nullzeit (bottom time), deco stops and more deco stops (continue)
-	{
- 		case 0:
-			update_startvalues();
-			calc_nullzeit();
-			char_O_deco_status = 255; // calc deco next time
-			break;
-		case 1:
-			if (char_O_deco_status == 3)
-				break;
-			char_O_deco_status = 0;
-//			char_O_lock_depth_list = 255;
-			calc_hauptroutine_calc_deco();
-//			build_debug_output();
-			break;
-		case 3:				// new dive
-			clear_decoarray();
-			clear_internal_deco_table_GF();
-			copy_deco_table_GF();
-			internal_deco_pointer = 0;
-			lock_GF_depth_list = 0;
-			update_startvalues();
-			calc_nextdecodepth_GF();
-			char_O_deco_status = 0;
-			break;
-		default:
-			update_startvalues();
-			clear_decoarray();
-			clear_internal_deco_table_GF();
-			output[6] = 1;
-			calc_hauptroutine_calc_ascend_to_deco();
- 			if (char_O_deco_status > 15)		// can't go up to first deco, too deep to calculate in the given time slot
-			{
-				char_O_deco_status = 2;
-//				char_O_lock_depth_list = 255;
-			}
- 			else
-			{
-//				char_O_lock_depth_list = lock_GF_depth_list;
-				calc_hauptroutine_calc_deco();
-			}
-//			build_debug_output();
-			break;
-	}
-	calc_ascenttime();
-}
-
-void calc_hauptroutine_data_input(void)
-{
- pres_respiration = (float)int_I_pres_respiration / 1000.0;
- pres_surface = (float)int_I_pres_surface / 1000.0;
-
- N2_ratio = (float)char_I_N2_ratio / 100.0;; // the 0.0002 of 0.7902 are missing with standard air
- He_ratio = (float)char_I_He_ratio / 100.0;;
- deco_N2_ratio = (float)char_I_deco_N2_ratio / 100.0;
- deco_He_ratio = (float)char_I_deco_He_ratio / 100.0;
- float_deco_distance = (float)char_I_deco_distance / 100.0;
- deco_gas_change = (float)char_I_deco_gas_change / 9.995 + pres_surface;
- deco_gas_change = deco_gas_change + float_deco_distance;
- const_ppO2 = (float)char_I_const_ppO2 / 100.0;
- deco_ppO2_change = (float)char_I_deco_ppO2_change / 99.95 + pres_surface;
- deco_ppO2_change = deco_ppO2_change + float_deco_distance;
- deco_ppO2 = (float)char_I_deco_ppO2 / 100.0;
- float_desaturation_multiplier = (float)char_I_desaturation_multiplier / 100.0;
- float_saturation_multiplier = (float)char_I_saturation_multiplier / 100.0;
- GF_low = (float)char_I_GF_Low_percentage / 100.0;
- GF_high = (float)char_I_GF_High_percentage / 100.0;
- GF_delta = GF_high - GF_low;
-
- temp2 = (pres_respiration - pres_surface) / 0.29985;
- int_temp = (int)(temp2);
- if (int_temp < 0)
-	int_temp = 0;
- if (int_temp > 255)
-	int_temp = 255;
- char_O_actual_pointer = int_temp;
-
- temp_depth_last_deco = (int)char_I_depth_last_deco;
-}
-
-void calc_hauptroutine_update_tissues(void)
-{
-	int_O_calc_tissue_call_counter = int_O_calc_tissue_call_counter + 1;
- 	if (char_I_const_ppO2 == 0)																// new in v.101
-  		pres_diluent = pres_respiration;															// new in v.101
- 	else																						// new in v.101
-  		pres_diluent = ((pres_respiration - const_ppO2)/(N2_ratio + He_ratio));					// new in v.101
- 	if (pres_diluent > pres_respiration)														// new in v.101
-  		pres_diluent = pres_respiration;															// new in v.101
- 	if (pres_diluent > 0.0627)																	// new in v.101
- 	{
- 		temp_atem = N2_ratio * (pres_diluent - 0.0627);											// changed in v.101
- 		temp2_atem = He_ratio * (pres_diluent - 0.0627);											// changed in v.101
- 		char_O_diluent = (char)(pres_diluent/pres_respiration*100.0);
- 	}
- 	else																						// new in v.101
- 	{
- 		temp_atem = 0.0;																			// new in v.101
- 		temp2_atem = 0.0;																			// new in v.101
- 		char_O_diluent = 0;
- 	}
- 	temp_surface = pres_surface;
- 	calc_tissue();
- 	int_O_gtissue_limit = (int)(pres_tissue_limit[char_O_gtissue_no] * 1000);
-	int_O_gtissue_press = (int)((pres_tissue[char_O_gtissue_no] + pres_tissue[char_O_gtissue_no+16]) * 1000);
- 	if (char_I_deco_model == 1)
- 	{
-		temp1 = temp1 * GF_high;
- 	}
-	else
-	{
-	temp1 = temp_surface;
-	}
-	if (pres_gtissue_limit > temp1 && char_O_deco_status == 0)  // if guiding tissue can not be exposed to surface pressure immediately
- 	{
-  		char_O_nullzeit = 0; // deco necessary
-  		char_O_deco_status = 255; // calculate deco skip nullzeit calculation
- 	}
-} 		// calc_hauptroutine_update_tissues
-void calc_hauptroutine_calc_deco(void)
-{
- 	do
-  	{
-  		int_temp_decostatus = 0;
-  		calc_nextdecodepth_GF();
-  		if (temp_depth_limit > 0)
-   		{
-    		if (char_I_const_ppO2 == 0)																// new in v.101
-	 		{
-     			deco_diluent = temp_deco;																// new in v.101
-	 			if (temp_deco > deco_gas_change)
-	  			{
-	  				calc_N2_ratio = N2_ratio;
-	  				calc_He_ratio = He_ratio;
-	  			}
-	 			else
-	  			{
-	  				calc_N2_ratio = deco_N2_ratio;
-	  				calc_He_ratio = deco_He_ratio;
-	  			}
-	 		}
-    		else																					// new in v.101
-	 		{
-	 			calc_N2_ratio = N2_ratio;
-	 			calc_He_ratio = He_ratio;
-	 			if (temp_deco > deco_ppO2_change)
-				{
-      				deco_diluent = ((temp_deco - const_ppO2)/(N2_ratio + He_ratio));			// new in v.101
-				}
-	 			else
-				{
-      				deco_diluent = ((temp_deco - deco_ppO2)/(N2_ratio + He_ratio));			// new in v.101
-				}
-	 		}
-    		if (deco_diluent > temp_deco)															// new in v.101
-     			deco_diluent = temp_deco;																// new in v.101
- 			if (deco_diluent > 0.0627)																// new in v.101
-    		{
-     			temp_atem = calc_N2_ratio * (deco_diluent - 0.0627);										// changed in v.101
-				temp2_atem = calc_He_ratio * (deco_diluent - 0.0627);										// changed in v.101
-    		}
-    		else																					// new in v.101
-    		{
-     			temp_atem = 0.0;																		// new in v.101
-     			temp2_atem = 0.0;																		// new in v.101
-    		}
-   			sim_tissue_1min();
-			update_internal_deco_table_GF();
-   			temp_decotime = 1;
-   			update_decoarray();
-   			char_O_deco_status = char_O_deco_status + 1;
-   			if (char_O_deco_status < 16)
-     			int_temp_decostatus = 1;
-   		}
-  		else // if (temp_depth_limit > 0)
-		{
-   		char_O_deco_status = 0;
-		}
-	} while (int_temp_decostatus == 1);
-	if (char_O_deco_status > 15)
-	{
-   		char_O_deco_status = 1;
-	}
-  	else
-  	{
-		copy_deco_table_GF();
-		char_O_deco_status = 0;
-  	}
-}
-
-void calc_hauptroutine_calc_ascend_to_deco(void)
-{
- 	update_startvalues();
- 	char_O_deco_status = 0;
-   	temp_deco = pres_respiration;
- 	lock_GF_depth_list = 1; 																// new in v.102
- 	do								// go up to first deco
-  	{
-  		int_temp_decostatus = 0;
-  		temp_deco = temp_deco - 1.0;
-  		if ( char_I_deco_model == 1)																// new in v.102 , 4 = deep stops
-			temp_limit = temp_pres_gtissue_limit_GF_low;
-  		else
-			temp_limit = temp_pres_gtissue_limit;
-  		if ((temp_deco > temp_limit) && (temp_deco > pres_surface)) 								// changes in v.102
-   		{
-   			lock_GF_depth_list = 0; 																	// new in v.102, distance to first stop > 10 mtr.
-			output[6] = 0;
-  		 	if (char_I_const_ppO2 == 0)																// new in v.101 // calculate at half of the ascent
-			{
-    			deco_diluent = temp_deco + 0.5;															// new in v.101
-				if (temp_deco + 0.5 > deco_gas_change)
-	 			{
-	 				calc_N2_ratio = N2_ratio;
-	 				calc_He_ratio = He_ratio;
-	 			}
-				else
-	 			{
-	 				calc_N2_ratio = deco_N2_ratio;
-	 				calc_He_ratio = deco_He_ratio;
-	 			}
-			}
-   			else																						// new in v.101
-			{
-					calc_N2_ratio = N2_ratio;
-					calc_He_ratio = He_ratio;
-					if (temp_deco + 0.5 > deco_ppO2_change)
-     					deco_diluent = ((temp_deco + 0.5 - const_ppO2)/(N2_ratio + He_ratio));	// new in v.101 // calculate at half of the ascent
-					else
-     					deco_diluent = ((temp_deco + 0.5 - deco_ppO2)/(N2_ratio + He_ratio));	// new in v.101 // calculate at half of the ascent
-    				if (deco_diluent > (temp_deco +0.5))															// new in v.101
-     					deco_diluent = temp_deco + 0.5;															// new in v.101 // calculate at half of the ascent
-			}
-   			if (deco_diluent > 0.0627)																// new in v.101
-    		{
-    			temp_atem = calc_N2_ratio * (deco_diluent - 0.0627);											// changed in v.101
-    			temp2_atem = calc_He_ratio * (deco_diluent - 0.0627);										// changed in v.101
-    		}
-   			else																						// new in v.101
-    		{
-    			temp_atem = 0.0;																		// new in v.101
-    			temp2_atem = 0.0;																		// new in v.101
-    		}
-   			sim_tissue_1min();
-   			char_O_deco_status = char_O_deco_status + 1;
-   			if (char_O_deco_status < 16)  // 16 is the limit of calculations for one time slot
-    			int_temp_decostatus = 1;
-   		}
-	} while (int_temp_decostatus == 1);
-}	// calc_hauptroutine_calc_ascend_to_deco
-
-// --------------
-// calc_tissue //
-// --------------
-// optimized in v.101
-
-void calc_tissue(void)
-{
-_asm
-lfsr 1, 0x300
-movlw	0x01
-movwf	TBLPTRU,0
-_endasm
-
- char_O_gtissue_no = 255;
- pres_gtissue_limit = 0.0;
-
-for (ci=0;ci<16;ci++)
-{
-_asm
-movlw	0x02
-movwf	TBLPTRH,0
-movlb	4 // fuer ci
-movf ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_e2secs+1 // the order is confussing
-TBLRDPOSTINC
-movff	TABLAT,var_e2secs	// low byte first, high afterwards
-TBLRDPOSTINC
-movff	TABLAT,var_e2secs+3
-TBLRD
-movff	TABLAT,var_e2secs+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_e2secs+1
-TBLRDPOSTINC
-movff	TABLAT,var2_e2secs
-TBLRDPOSTINC
-movff	TABLAT,var2_e2secs+3
-TBLRD
-movff	TABLAT,var2_e2secs+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_a+1
-TBLRDPOSTINC
-movff	TABLAT,var_a
-TBLRDPOSTINC
-movff	TABLAT,var_a+3
-TBLRD
-movff	TABLAT,var_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_a+1
-TBLRDPOSTINC
-movff	TABLAT,var2_a
-TBLRDPOSTINC
-movff	TABLAT,var2_a+3
-TBLRD
-movff	TABLAT,var2_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_b+1
-TBLRDPOSTINC
-movff	TABLAT,var_b
-TBLRDPOSTINC
-movff	TABLAT,var_b+3
-TBLRD
-movff	TABLAT,var_b+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_b+1
-TBLRDPOSTINC
-movff	TABLAT,var2_b
-TBLRDPOSTINC
-movff	TABLAT,var2_b+3
-TBLRD
-movff	TABLAT,var2_b+2
-_endasm
- // the start values are the previous end values // write new values in temp
-
-// N2
- temp_tissue = (temp_atem - pres_tissue[ci]) * var_e2secs;
- temp_tissue_safety();
- pres_tissue[ci] = pres_tissue[ci] + temp_tissue;
-
-// He
- temp_tissue = (temp2_atem - pres_tissue[ci+16]) * var2_e2secs;
- temp_tissue_safety();
- pres_tissue[ci+16] = pres_tissue[ci+16] + temp_tissue;
-
- temp_tissue = pres_tissue[ci] + pres_tissue[ci+16];
-
- var_a = (var_a * pres_tissue[ci] + var2_a * pres_tissue[ci+16]) / temp_tissue;
- var_b = (var_b * pres_tissue[ci] + var2_b * pres_tissue[ci+16]) / temp_tissue;
- pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b;
- if (pres_tissue_limit[ci] < 0)
-  pres_tissue_limit[ci] = 0;
- if (pres_tissue_limit[ci] > pres_gtissue_limit)
-  {
-  pres_gtissue_limit = pres_tissue_limit[ci];
-  char_O_gtissue_no = ci;
-  }//if
-} // for
-}//calc_tissue(void)
-
-// ----------------
-// calc_nullzeit //
-// ----------------
-// calculates the remaining bottom time
-
-// unchanged in v.101
-
-void calc_nullzeit(void)
-{
-	char_O_nullzeit = 0;
-	int_temp = 1;
- 	do
-	{
-  		backup_sim_pres_tissue();
-  		sim_tissue_10min();
-  		char_O_nullzeit = char_O_nullzeit + 10;
-  		int_temp = int_temp + 1;
-		if (char_I_deco_model == 1)
-			temp1 = GF_high * temp_pres_gtissue_diff + temp_pres_gtissue;
-		else
-			temp1 = temp_pres_gtissue_limit;
-		if (temp1 > temp_surface)  // changed in v.102 , if guiding tissue can not be exposed to surface pressure immediately
-			int_temp = 255;
- 	} while (int_temp < 17);
- 	if (int_temp == 255)
- 	{
-  		restore_sim_pres_tissue();
-  		char_O_nullzeit = char_O_nullzeit - 10;
- 	} //if int_temp == 255]
- 	int_temp = 1;
- 	if (char_O_nullzeit < 60)
- 	{
-  		do
-		{
-   			sim_tissue_1min();
-   			char_O_nullzeit = char_O_nullzeit + 1;
-   			int_temp = int_temp + 1;			// new in v.102a
-		if (char_I_deco_model == 1)
-			temp1 = GF_high * temp_pres_gtissue_diff + temp_pres_gtissue;
-		else
-			temp1 = temp_pres_gtissue_limit;
-		if (temp1 > temp_surface)  // changed in v.102 , if guiding tissue can not be exposed to surface pressure immediately
-			int_temp = 255;
-  		} while (int_temp < 10);
-  		if (int_temp == 255)
-   			char_O_nullzeit = char_O_nullzeit - 1;
- 	} // if char_O_nullzeit < 60
-} //calc_nullzeit
-
-// -------------------------
-// backup_sim_pres_tissue //
-// -------------------------
-void backup_sim_pres_tissue(void)
-{
-  for (x = 0;x<16;x++)
-  {
-   sim_pres_tissue_backup[x] = sim_pres_tissue[x];
-   sim_pres_tissue_backup[x+16] = sim_pres_tissue[x+16];
-  }
-} // backup_sim
-
-// --------------------------
-// restore_sim_pres_tissue //
-// --------------------------
-void restore_sim_pres_tissue(void)
-{
-  for (x = 0;x<16;x++)
-  {
-   sim_pres_tissue[x] = sim_pres_tissue_backup[x];
-   sim_pres_tissue[x+16] = sim_pres_tissue_backup[x+16];
-  }
-} // restore_sim
-
-// ------------------
-// calc_ascenttime //
-// ------------------
-
-void calc_ascenttime(void)
-{
-if (pres_respiration > pres_surface)
- {
- switch (char_O_deco_status)
-  {
-  case 2:
-	char_O_ascenttime = 255;
-	break;
-  case 1:
-	break;
-  default:
-	temp1 = pres_respiration - pres_surface + 0.6; // + 0.6 hence 1 minute ascent time from a depth of 4 meter on
-	if (temp1 < 0)
-		temp1 = 0;
-	if (temp1 > 255)
-		temp1 = 255;
-    char_O_ascenttime = (char)temp1;
-
-	for(ci=0;ci<7;ci++)
-	{
-	x = char_O_ascenttime + char_O_array_decotime[ci];
-	if (x < char_O_ascenttime)
-		char_O_ascenttime = 255;
-	else
-		char_O_ascenttime = x;
-	}
-  }
- }
-else
- char_O_ascenttime = 0;
-} // calc_ascenttime()
-
-
-// ---------------------
-// update_startvalues //
-// ---------------------
-// updated in v.102
-
-void update_startvalues(void)
-{
-  	temp_pres_gtissue_limit = pres_gtissue_limit;
-  	temp_pres_gtissue = pres_tissue[char_O_gtissue_no] + pres_tissue[char_O_gtissue_no+16];
-  	temp_pres_gtissue_diff = temp_pres_gtissue_limit - temp_pres_gtissue;						// negative number
-	temp_pres_gtissue_limit_GF_low = GF_low * temp_pres_gtissue_diff + temp_pres_gtissue;
-  	temp_pres_gtissue_limit_GF_low_below_surface = temp_pres_gtissue_limit_GF_low - pres_surface;
-	if (temp_pres_gtissue_limit_GF_low_below_surface < 0)
-		temp_pres_gtissue_limit_GF_low_below_surface = 0;
-
-	temp_gtissue_no = char_O_gtissue_no;
-  	for (x = 0;x<16;x++)
-  	{
-   		sim_pres_tissue[x] = pres_tissue[x];
-   		sim_pres_tissue[x+16] = pres_tissue[x+16];
-   		sim_pres_tissue_limit[x] = pres_tissue_limit[x];
-  	}
-} // update_startvalues
-
-
-// ------------------
-// sim_tissue_1min //
-// ------------------
-// optimized in v.101
-
-void sim_tissue_1min(void)
-{
-temp_pres_gtissue_limit = 0.0;
-temp_gtissue_no = 255;
-
-_asm
-lfsr 1, 0x300
-movlw	0x01
-movwf	TBLPTRU,0
-_endasm
-
-
-for (ci=0;ci<16;ci++)
-{
-_asm
-movlw	0x02
-movwf	TBLPTRH,0
-movlb	4 // fuer ci
-movf ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addlw	0x80
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_a+1
-TBLRDPOSTINC
-movff	TABLAT,var_a
-TBLRDPOSTINC
-movff	TABLAT,var_a+3
-TBLRD
-movff	TABLAT,var_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_a+1
-TBLRDPOSTINC
-movff	TABLAT,var2_a
-TBLRDPOSTINC
-movff	TABLAT,var2_a+3
-TBLRD
-movff	TABLAT,var2_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_b+1
-TBLRDPOSTINC
-movff	TABLAT,var_b
-TBLRDPOSTINC
-movff	TABLAT,var_b+3
-TBLRD
-movff	TABLAT,var_b+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_b+1
-TBLRDPOSTINC
-movff	TABLAT,var2_b
-TBLRDPOSTINC
-movff	TABLAT,var2_b+3
-TBLRD
-movff	TABLAT,var2_b+2
-addlw	0xC0
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_e1min+1
-TBLRDPOSTINC
-movff	TABLAT,var_e1min
-TBLRDPOSTINC
-movff	TABLAT,var_e1min+3
-TBLRD
-movff	TABLAT,var_e1min+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min+1
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min+3
-TBLRD
-movff	TABLAT,var2_e1min+2
-_endasm
-// N2
- temp_tissue = (temp_atem - sim_pres_tissue[ci]) * var_e1min;
- temp_tissue_safety();
- sim_pres_tissue[ci] = sim_pres_tissue[ci] + temp_tissue;
-// He
- temp_tissue = (temp2_atem - sim_pres_tissue[ci+16]) * var2_e1min;
- temp_tissue_safety();
- sim_pres_tissue[ci+16] = sim_pres_tissue[ci+16] + temp_tissue;
-// pressure limit
- temp_tissue = sim_pres_tissue[ci] + sim_pres_tissue[ci+16];
- var_a = (var_a * sim_pres_tissue[ci] + var2_a * sim_pres_tissue[ci+16]) / temp_tissue;
- var_b = (var_b * sim_pres_tissue[ci] + var2_b * sim_pres_tissue[ci+16]) / temp_tissue;
- sim_pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b;
-
- if (sim_pres_tissue_limit[ci] < 0)
-  sim_pres_tissue_limit[ci] = 0;
- if (sim_pres_tissue_limit[ci] > temp_pres_gtissue_limit)
-  {
-  temp_pres_gtissue = temp_tissue;
-  temp_pres_gtissue_limit = sim_pres_tissue_limit[ci];
-  temp_gtissue_no = ci;
-  }
-} // for
-  	temp_pres_gtissue_diff = temp_pres_gtissue_limit - temp_pres_gtissue;
-	temp_pres_gtissue_limit_GF_low = GF_low * temp_pres_gtissue_diff + temp_pres_gtissue;
-  	temp_pres_gtissue_limit_GF_low_below_surface = temp_pres_gtissue_limit_GF_low - pres_surface;
-	if (temp_pres_gtissue_limit_GF_low_below_surface < 0)
-		temp_pres_gtissue_limit_GF_low_below_surface = 0;
-} //sim_tissue_1min()
-
-//--------------------
-// sim_tissue_10min //
-//--------------------
-
-// Attention!! uses var_e1min und var2_e1min to load 10min data !!!
-// is identical to sim_tissue_1min routine except for the different load of those variables
-
-// optimized in v.101
-
-void sim_tissue_10min(void)
-{
-temp_pres_gtissue_limit = 0.0;
-temp_gtissue_no = 255;
-
-_asm
-lfsr 1, 0x300
-movlw	0x01
-movwf	TBLPTRU,0
-_endasm
-
-for (ci=0;ci<16;ci++)
-{
-_asm
-movlw	0x02
-movwf	TBLPTRH,0
-movlb	4 // fuer ci
-movf ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addlw	0x80
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_a+1
-TBLRDPOSTINC
-movff	TABLAT,var_a
-TBLRDPOSTINC
-movff	TABLAT,var_a+3
-TBLRD
-movff	TABLAT,var_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_a+1
-TBLRDPOSTINC
-movff	TABLAT,var2_a
-TBLRDPOSTINC
-movff	TABLAT,var2_a+3
-TBLRD
-movff	TABLAT,var2_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_b+1
-TBLRDPOSTINC
-movff	TABLAT,var_b
-TBLRDPOSTINC
-movff	TABLAT,var_b+3
-TBLRD
-movff	TABLAT,var_b+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_b+1
-TBLRDPOSTINC
-movff	TABLAT,var2_b
-TBLRDPOSTINC
-movff	TABLAT,var2_b+3
-TBLRD
-movff	TABLAT,var2_b+2
-addlw	0xC0				// different to 1 min
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-incf	TBLPTRH,1,0			// different to 1 min
-TBLRDPOSTINC
-movff	TABLAT,var_e1min+1
-TBLRDPOSTINC
-movff	TABLAT,var_e1min
-TBLRDPOSTINC
-movff	TABLAT,var_e1min+3
-TBLRD
-movff	TABLAT,var_e1min+2
-addlw	0x40
-movwf	TBLPTRL,0
-//incf	TBLPTRH,1,0			// different to 1 min
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min+1
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min+3
-TBLRD
-movff	TABLAT,var2_e1min+2
-_endasm
-// N2
- temp_tissue = (temp_atem - sim_pres_tissue[ci]) * var_e1min;
- temp_tissue_safety();
- sim_pres_tissue[ci] = sim_pres_tissue[ci] + temp_tissue;
-// He
- temp_tissue = (temp2_atem - sim_pres_tissue[ci+16]) * var2_e1min;
- temp_tissue_safety();
- sim_pres_tissue[ci+16] = sim_pres_tissue[ci+16] + temp_tissue;
-// pressure limit
-temp_tissue = sim_pres_tissue[ci] + sim_pres_tissue[ci+16];
- var_a = (var_a * sim_pres_tissue[ci] + var2_a * sim_pres_tissue[ci+16]) / temp_tissue;
- var_b = (var_b * sim_pres_tissue[ci] + var2_b * sim_pres_tissue[ci+16]) / temp_tissue;
-
-sim_pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b;
- if (sim_pres_tissue_limit[ci] < 0)
-  sim_pres_tissue_limit[ci] = 0;
- if (sim_pres_tissue_limit[ci] > temp_pres_gtissue_limit)
-  {
-  temp_pres_gtissue = temp_tissue;
-  temp_pres_gtissue_limit = sim_pres_tissue_limit[ci];
-  temp_gtissue_no = ci;
-  }
-} // for
-  	temp_pres_gtissue_diff = temp_pres_gtissue_limit - temp_pres_gtissue;							// negative number
-	temp_pres_gtissue_limit_GF_low = GF_low * temp_pres_gtissue_diff + temp_pres_gtissue;
-  	temp_pres_gtissue_limit_GF_low_below_surface = temp_pres_gtissue_limit_GF_low - pres_surface;
-	if (temp_pres_gtissue_limit_GF_low_below_surface < 0)
-		temp_pres_gtissue_limit_GF_low_below_surface = 0;
-} //sim_tissue_10min()
-
-
-// ------------------
-// clear_decoarray //
-// ------------------
-// unchanged in v.101
-
-void clear_decoarray(void)
-{
-char_O_array_decodepth[0] = 0;
-char_O_array_decodepth[1] = 0;
-char_O_array_decodepth[2] = 0;
-char_O_array_decodepth[3] = 0;
-char_O_array_decodepth[4] = 0;
-char_O_array_decodepth[5] = 0;
-char_O_array_decotime[0] = 0;
-char_O_array_decotime[1] = 0;
-char_O_array_decotime[2] = 0;
-char_O_array_decotime[3] = 0;
-char_O_array_decotime[4] = 0;
-char_O_array_decotime[5] = 0;
-char_O_array_decotime[6] = 0;
-} // clear_decoarray
-
-
-// -------------------
-// update_decoarray //
-// -------------------
-// unchanged in v.101
-
-void update_decoarray()
-{
-	x = 0;
-	do
-	{
-		if (char_O_array_decodepth[x] == temp_depth_limit)
-		{
-			int_temp = char_O_array_decotime[x] + temp_decotime;
-			if (int_temp < 0)
-				int_temp = 0;
-			if (int_temp > 240)
-				int_temp = 240;
- 			char_O_array_decotime[x] = int_temp;
-			x = 10; // exit
-		} // if
-		else
- 		{
- 			if (char_O_array_decodepth[x] == 0)
-  			{
-  				if (temp_depth_limit > 255)
-   					char_O_array_decodepth[x] = 255;
-  				else
-   					char_O_array_decodepth[x] = (char)temp_depth_limit;
-  				int_temp = char_O_array_decotime[x] + temp_decotime;
-  				if (int_temp > 240)
-   					char_O_array_decotime[x] = 240;
-  				else
-   					char_O_array_decotime[x] = (char)int_temp;
-  				x = 10; // exit
-  			} // if
- 			else
-  				x++;
- 		} // else
-	} while (x<6);
-	if (x == 6)
- 	{
- 		int_temp = char_O_array_decotime[6] + temp_decotime;
- 		if (int_temp > 220)
-  			char_O_array_decotime[6] = 220;
- 		else
-  			char_O_array_decotime[6] = (char)int_temp;
- 	} // if x == 6
-} // update_decoarray
-
-
-// -----------------------
-// calc_gradient_factor //
-// -----------------------
-// optimized in v.101 (var_a)
-// new code in v.102
-
-void calc_gradient_factor(void)
-{
-	// tissue > respiration (entsaettigungsvorgang)
-	// gradient ist wieviel prozent an limit mit basis tissue
-	// dh. 0% = respiration == tissue
-	// dh. 100% = respiration == limit
-	temp_tissue = pres_tissue[char_O_gtissue_no] + pres_tissue[char_O_gtissue_no+16];
-	temp1 = temp_tissue - pres_respiration;
-	temp2 = temp_tissue - pres_tissue_limit[char_O_gtissue_no];	// changed in v.102
-	temp2 = temp1/temp2;
-	temp2 = temp2 * 100; // displayed in percent
-	if (temp2 < 0)
-		temp2 = 0;
-	if (temp2 > 255)
-		temp2 = 255;
-	if (temp1 < 0)
- 		char_O_gradient_factor = 0;
-	else
- 		char_O_gradient_factor = (char)temp2;
-
-	temp3 = temp2;
-
-	if (char_I_deco_model == 1)		// calculate relative gradient factor
-	{
-		temp1 = (float)temp_depth_GF_low_meter * 0.09995;
-		temp2 = pres_respiration - pres_surface;
-		if (temp2 <= 0)
-			temp1 = GF_high;
-		else
-		if (temp2 >= temp1)
-			temp1 = GF_low;
-		else
-			temp1 = GF_low + (temp1 - temp2)/temp1*GF_delta;
-		if (temp_depth_GF_low_meter == 0)
-			temp1 = GF_high;
-		temp2 = temp3 / temp1; // temp3 is already in percent
-		if (temp2 < 0)
-			temp2 = 0;
-		if (temp2 > 255)
-			temp2 = 255;
-		char_O_relative_gradient_GF  = (char)temp2;
-	}	// calc relative gradient factor
-	else
-	{
- 			char_O_relative_gradient_GF = char_O_gradient_factor;
-	}
-} // calc_gradient
-
-// ---------------------------
-// calc_gradient_array_only //
-// ---------------------------
-// optimized in v.101 (var_a)
-// new code in v.102
-
-void calc_gradient_array_only()
-{
- pres_respiration = (float)int_I_pres_respiration / 1000.0; // assembler code uses different digit system
-for (ci=0;ci<16;ci++)
-{
-	temp_tissue = pres_tissue[ci] + pres_tissue[ci+16];
-	temp1 = temp_tissue - pres_respiration;
-	temp2 = temp_tissue - pres_tissue_limit[ci];
-	temp2 = temp1/temp2;
-	temp2 = temp2 * 200; // because of output in (Double-)percentage
-	if (temp2 < 0)
-		temp2 = 0;
-	if (temp2 > 255)
-		temp2 = 255;
-	if (temp1 < 0)
- 		char_O_array_gradient_weighted[ci] = 0;
-	else
- 		char_O_array_gradient_weighted[ci] = (char)temp2;
-} // for
-} // calc_gradient_array_only
-
-
-// -------------------------
-// calc_desaturation_time //
-// -------------------------
-// FIXED N2_ratio
-// unchanged in v.101
-
-void calc_desaturation_time(void)
-{
-_asm
-lfsr 1, 0x300
-movlw	0x01
-movwf	TBLPTRU,0
-_endasm
- N2_ratio = 0.7902; // FIXED sum as stated in b"uhlmann
- pres_surface = (float)int_I_pres_surface / 1000.0;
- temp_atem = N2_ratio * (pres_surface - 0.0627);
- int_O_desaturation_time = 0;
- float_desaturation_multiplier = char_I_desaturation_multiplier / 142.0; // new in v.101	(70,42%/100.=142)
-
-for (ci=0;ci<16;ci++)
-{
-_asm
-movlw	0x04
-movwf	TBLPTRH,0
-movlb	4 // fuer ci
-movf ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addlw	0x80
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_halftimes+1
-TBLRDPOSTINC
-movff	TABLAT,var_halftimes
-TBLRDPOSTINC
-movff	TABLAT,var_halftimes+3
-TBLRD
-movff	TABLAT,var_halftimes+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_halftimes+1
-TBLRDPOSTINC
-movff	TABLAT,var2_halftimes
-TBLRDPOSTINC
-movff	TABLAT,var2_halftimes+3
-TBLRD
-movff	TABLAT,var2_halftimes+2
-_endasm
-
-// saturation_time (for flight) and N2_saturation in multiples of halftime
-// version v.100: 1.1 = 10 percent distance to totally clean (totally clean is not possible, would take infinite time )
-// new in version v.101: 1.07 = 7 percent distance to totally clean (totally clean is not possible, would take infinite time )
-// changes in v.101: 1.05 = 5 percent dist to totally clean is new desaturation point for display and noFly calculations
-// N2
- temp1 = 1.05 * temp_atem;
- temp1 = temp1 - pres_tissue[ci];
- temp2 = temp_atem - pres_tissue[ci];
-  if (temp2 >= 0.0)
-	{
-	temp1 = 0;
-	temp2 = 0;
-	}
- else
-    temp1 = temp1 / temp2;
-  if (temp1 > 0.0)
-	{
-	temp1 = log(1.0 - temp1);
-	temp1 = temp1 / -0.6931; // temp1 is the multiples of half times necessary.
-							 // 0.6931 is ln(2), because the math function log() calculates with a base of e not 2 as requested.
-							 // minus because log is negative
-	temp2 = var_halftimes * temp1 / float_desaturation_multiplier; // time necessary (in minutes ) for complete desaturation (see comment about 10 percent) , new in v.101: float_desaturation_multiplier
-	}
- else
-	{
-	temp1 = 0;
-	temp2 = 0;
-	}
-
-// He
- temp3 = 0.1 - pres_tissue[ci+16];
-if (temp3 >= 0.0)
-	{
-	temp3 = 0;
-	temp4 = 0;
-	}
- else
-    temp3 = -1.0 * temp3 / pres_tissue[ci+16];
-  if (temp3 > 0.0)
-	{
-	temp3 = log(1.0 - temp3);
-	temp3 = temp3 / -0.6931; // temp1 is the multiples of half times necessary.
-							 // 0.6931 is ln(2), because the math function log() calculates with a base of e  not 2 as requested.
-							 // minus because log is negative
-	temp4 = var2_halftimes * temp3 / float_desaturation_multiplier; // time necessary (in minutes ) for "complete" desaturation, new in v.101 float_desaturation_multiplier
-	}
- else
-	{
-	temp3 = 0;
-	temp4 = 0;
-	}
-
-// saturation_time (for flight)
- if (temp4 > temp2)
-	 int_temp = (int)temp4;
- else
-	 int_temp = (int)temp2;
- if(int_temp > int_O_desaturation_time)
-	int_O_desaturation_time = int_temp;
-
-// N2 saturation in multiples of halftime for display purposes
- temp2 = temp1 * 20.0;  // 0 = 1/8, 120 = 0, 249 = 8
- temp2 = temp2 + 80.0; // set center
- if (temp2 < 0.0)
-	 temp2 = 0.0;
- if (temp2 > 255.0)
- 	 temp2 = 255.0;
- char_O_tissue_saturation[ci] = (char)temp2;
-// He saturation in multiples of halftime for display purposes
- temp4 = temp3 * 20.0;  // 0 = 1/8, 120 = 0, 249 = 8
- temp4 = temp4 + 80.0; // set center
- if (temp4 < 0.0)
-	 temp4 = 0.0;
- if (temp4 > 255.0)
- 	 temp4 = 255.0;
- char_O_tissue_saturation[ci+16] = (char)temp4;
-} // for
-} // calc_desaturation_time
-
-
-// --------------------------
-// calc_wo_deco_step_1_min //
-// --------------------------
-// FIXED N2 Ratio
-// optimized in v.101 (...saturation_multiplier)
-// desaturation slowed down to 70,42%
-
-void calc_wo_deco_step_1_min(void)
-{
-_asm
- lfsr 1, 0x300
-_endasm
- N2_ratio = 0.7902; // FIXED, sum lt. buehlmann
- pres_respiration = (float)int_I_pres_respiration / 1000.0; // assembler code uses different digit system
- pres_surface = (float)int_I_pres_surface / 1000.0;
- temp_atem = N2_ratio * (pres_respiration - 0.0627); // 0.0627 is the extra pressure in the body
- temp2_atem = 0.0;
- temp_surface = pres_surface; // the b"uhlmann formula using temp_surface does not use the N2_ratio
- float_desaturation_multiplier = char_I_desaturation_multiplier / 142.0; // new in v.101	(70,42%/100.=142)
- float_saturation_multiplier = char_I_saturation_multiplier / 100.0;
-
- calc_tissue_step_1_min();  // update the pressure in the 16 tissues in accordance with the new ambient pressure
- clear_decoarray();
- char_O_deco_status = 0;
- char_O_nullzeit = 0;
- char_O_ascenttime = 0;
- calc_gradient_factor();
-
-} // calc_wo_deco_step_1_min(void)
-
-
-// -------------------------
-// calc_tissue_step_1_min //
-// -------------------------
-// optimized in v.101
-
-void calc_tissue_step_1_min(void)
-{
-_asm
-lfsr 1, 0x300
-movlw	0x01
-movwf	TBLPTRU,0
-_endasm
-
- char_O_gtissue_no = 255;
- pres_gtissue_limit = 0.0;
-
-for (ci=0;ci<16;ci++)
-{
-_asm
-movlw	0x02
-movwf	TBLPTRH,0
-movlb	4 // fuer ci
-movf ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addlw	0x80
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_a+1
-TBLRDPOSTINC
-movff	TABLAT,var_a
-TBLRDPOSTINC
-movff	TABLAT,var_a+3
-TBLRD
-movff	TABLAT,var_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_a+1
-TBLRDPOSTINC
-movff	TABLAT,var2_a
-TBLRDPOSTINC
-movff	TABLAT,var2_a+3
-TBLRD
-movff	TABLAT,var2_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_b+1
-TBLRDPOSTINC
-movff	TABLAT,var_b
-TBLRDPOSTINC
-movff	TABLAT,var_b+3
-TBLRD
-movff	TABLAT,var_b+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_b+1
-TBLRDPOSTINC
-movff	TABLAT,var2_b
-TBLRDPOSTINC
-movff	TABLAT,var2_b+3
-TBLRD
-movff	TABLAT,var2_b+2
-addlw	0xC0
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_e1min+1
-TBLRDPOSTINC
-movff	TABLAT,var_e1min
-TBLRDPOSTINC
-movff	TABLAT,var_e1min+3
-TBLRD
-movff	TABLAT,var_e1min+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min+1
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min+3
-TBLRD
-movff	TABLAT,var2_e1min+2
-_endasm
-
-// N2 1 min
- temp_tissue = (temp_atem - pres_tissue[ci]) * var_e1min;
- temp_tissue_safety();
- pres_tissue[ci] = pres_tissue[ci] + temp_tissue;
-
-// He 1 min
- temp_tissue = (temp2_atem - pres_tissue[ci+16]) * var2_e1min;
- temp_tissue_safety();
- pres_tissue[ci+16] = pres_tissue[ci+16] + temp_tissue;
-
- temp_tissue = pres_tissue[ci] + pres_tissue[ci+16];
- var_a = (var_a * pres_tissue[ci] + var2_a * pres_tissue[ci+16]) / temp_tissue;
- var_b = (var_b * pres_tissue[ci] + var2_b * pres_tissue[ci+16]) / temp_tissue;
- pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b;
- if (pres_tissue_limit[ci] < 0)
-  pres_tissue_limit[ci] = 0;
- if (pres_tissue_limit[ci] > pres_gtissue_limit)
-  {
-  pres_gtissue_limit = pres_tissue_limit[ci];
-  char_O_gtissue_no = ci;
-  }//if
-
-// gradient factor array for graphical display
-// display range is 0 to 250! in steps of 5 for 1 pixel
-// the display is divided in 6 blocks
-// -> double the gradient 100% = 200
-// tissue > respiration (entsaettigungsvorgang)
-// gradient ist wieviel prozent an limit von tissue aus
-// dh. 0% = respiration == tissue
-// dh. 100% = respiration == limit
-temp1 = temp_tissue - pres_respiration;
-temp2 = temp_tissue - pres_tissue_limit[ci];	// changed in v.102
-temp2 = temp1/temp2;
-temp2 = temp2 * 200; // because of output in (Double-)percentage
-if (temp2 < 0)
-	temp2 = 0;
-if (temp2 > 255)
-	temp2 = 255;
-if (temp1 < 0)
- char_O_array_gradient_weighted[ci] = 0;
-else
- char_O_array_gradient_weighted[ci] = (char)temp2;
-
-} // for
-} // calc wo deco 1min
-
-#if 0
-// --------
-// debug //
-// --------
-void debug(void)
-{
-for (ci=0;ci<32;ci++)
-{
- int_O_tissue_for_debug[ci] = (unsigned int)(pres_tissue[ci] *1000);
-}
-} // void debug(void)
-#endif
-
-// ----------
-// md hash //
-// ----------
-void hash(void)
-{
-// init
- for (md_i=0;md_i<16;md_i++)
- {
-  md_state[md_i] = 0;
-  md_cksum[md_i] = 0;
- } // for md_i 16
-
-_asm
- movlw	0x01
- movwf	TBLPTRU,0
- movlw	0x06
- movwf	TBLPTRH,0
- movlw	0x00
- movwf	TBLPTRL,0
-_endasm
- for (md_i=0;md_i<127;md_i++)
- {
-_asm
- TBLRDPOSTINC
- movff	TABLAT,md_temp
-_endasm
-  md_pi_subst[md_i] = md_temp;
- } // for md_i 256
-_asm
- TBLRDPOSTINC
- movff	TABLAT,md_temp
-_endasm
-  md_pi_subst[127] = md_temp;
- for (md_i=0;md_i<127;md_i++)
- {
-_asm
- TBLRDPOSTINC
- movff	TABLAT,md_temp
-_endasm
-  md_pi_subst[md_i+128] = md_temp;
- } // for md_i 256
-_asm
- TBLRD
- movff	TABLAT,md_temp
-_endasm
-  md_pi_subst[255] = md_temp;
-
-_asm
- movlw	0x00
- movwf	TBLPTRU,0
- movlw	0x00
- movwf	TBLPTRH,0
- movlw	0x00
- movwf	TBLPTRL,0
-_endasm
-// cycle buffers
-for (md_pointer=0x0000;md_pointer<0x17f3;md_pointer++)
-{
- md_t = 0;
- for (md_i=0;md_i<16;md_i++)
- {
-  if(md_pointer == 9)
-   md_temp = md_cksum[md_i];
-  else
-  {
-_asm
-  TBLRDPOSTINC
-  movff	TABLAT,md_temp
-_endasm
-  } // else
-  md_buffer[md_i] = md_temp;
-  md_state[md_i+16] = md_buffer[md_i];
-  md_state[md_i+32] = (unsigned char)(md_buffer[md_i] ^ md_state[md_i]);
- } // for md_i 16
-
- for (md_i=0;md_i<18;md_i++)
- {
-  for (md_j=0;md_j<48;md_j++)
-  {
-   md_state[md_j] = (unsigned char)(md_state[md_j] ^ md_pi_subst[md_t]);
-   md_t = md_state[md_j];
-  } // for md_j 48
-  md_t = (unsigned char)(md_t+1);
- } // for md_i 18
- md_t = md_cksum[15];
-
- for (md_i=0;md_i<16;md_i++)
- {
-  md_cksum[md_i] = (unsigned char)(md_cksum[md_i] ^ md_pi_subst[(md_buffer[md_i] ^ md_t)]);
-  md_t = md_cksum[md_i];
- } // for md_i 16
-} // for md_pointer
-} // void hash(void)
-
-// ---------------------
-// clear_CNS_fraction //
-// ---------------------
-// new in v.101
-
-void clear_CNS_fraction(void)
-{
- CNS_fraction = 0.0;
- char_O_CNS_fraction = 0;
-} // void clear_CNS_fraction(void)
-
-
-// --------------------
-// calc_CNS_fraction //
-// --------------------
-// new in v.101
-// optimized in v.102 : with new variables char_I_actual_ppO2 and actual_ppO2
-
-// Input: char_I_actual_ppO2
-// Output: char_O_CNS_fraction
-// Uses and Updates: CNS_fraction
-// Uses: acutal_ppO2
-
-void calc_CNS_fraction(void)
-{
- actual_ppO2 = (float)char_I_actual_ppO2 / 100.0;
-
- if (char_I_actual_ppO2 < 50)
-  CNS_fraction = CNS_fraction;// no changes
- else if (char_I_actual_ppO2 < 60)
-  CNS_fraction = 1/(-54000.0 * actual_ppO2 + 54000.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 70)
-  CNS_fraction = 1/(-45000.0 * actual_ppO2 + 48600.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 80)
-  CNS_fraction = 1/(-36000.0 * actual_ppO2 + 42300.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 90)
-  CNS_fraction = 1/(-27000.0 * actual_ppO2 + 35100.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 110)
-  CNS_fraction = 1/(-18000.0 * actual_ppO2 + 27000.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 150)
-  CNS_fraction = 1/(-9000.0 * actual_ppO2 + 17100.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 160)
-  CNS_fraction = 1/(-22500.0 * actual_ppO2 + 37350.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 165)
-  CNS_fraction =  0.000755 + CNS_fraction; // Arieli et all.(2002): Modeling pulmonary and CNS O2 toxicity... Formula (A1) based on value for 1.55 and c=20
- else if (char_I_actual_ppO2 < 170)
-  CNS_fraction =  0.00102 + CNS_fraction; // example calculation: Sqrt((1.7/1.55)^20)*0.000404
- else if (char_I_actual_ppO2 < 175)
-  CNS_fraction =  0.00136 + CNS_fraction;
- else if (char_I_actual_ppO2 < 180)
-  CNS_fraction =  0.00180 + CNS_fraction;
- else if (char_I_actual_ppO2 < 185)
-  CNS_fraction =  0.00237 + CNS_fraction;
- else if (char_I_actual_ppO2 < 190)
-  CNS_fraction =  0.00310 + CNS_fraction;
- else if (char_I_actual_ppO2 < 195)
-  CNS_fraction =  0.00401 + CNS_fraction;
- else if (char_I_actual_ppO2 < 200)
-  CNS_fraction =  0.00517 + CNS_fraction;
- else if (char_I_actual_ppO2 < 230)
-  CNS_fraction =  0.0209 + CNS_fraction;
- else
-  CNS_fraction =  0.0482 + CNS_fraction; // value for 2.5
-
- if (CNS_fraction > 2.5)
-  CNS_fraction = 2.5;
- if (CNS_fraction < 0.0)
-  CNS_fraction = 0.0;
- char_O_CNS_fraction = (char)((CNS_fraction + 0.005)* 100.0);
-} // void calc_CNS_fraction(void)
-
-// --------------------------
-// calc_CNS_decrease_15min //
-// --------------------------
-// new in v.101
-
-// calculates the half time of 90 minutes in 6 steps of 15 min
-
-// Output: char_O_CNS_fraction
-// Uses and Updates: CNS_fraction
-
-void calc_CNS_decrease_15min(void)
-{
- CNS_fraction =  0.890899 * CNS_fraction;
- char_O_CNS_fraction = (char)((CNS_fraction + 0.005)* 100.0);
-}// calc_CNS_decrease_15min(void)
-
-
-// ------------------
-// calc_percentage //
-// ------------------
-// new in v.101
-
-// calculates int_I_temp * char_I_temp / 100
-// output is int_I_temp
-
-void calc_percentage(void)
-{
- temp1 = (float)int_I_temp;
- temp2 = (float)char_I_temp / 100.0;
- temp3 = temp1 * temp2;
- int_I_temp = (int)temp3;
-}
-void push_tissues_to_vault(void)
-{
-	for (ci=0;ci<32;ci++)
-		pres_tissue_vault[ci] = pres_tissue[ci];
-}
-void pull_tissues_from_vault(void)
-{
-	for (ci=0;ci<32;ci++)
-		pres_tissue[ci] = pres_tissue_vault[ci];
-}
--- a/code_part1/OSTC_code_c_part2/old/p2_deco_main_old_v108_pre OSTC2.c	Tue Jan 12 15:05:59 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3753 +0,0 @@
-/*
- * p2_deco_main_c_v108.c
- *
- *  Created on: 12.05.2009
- *      Author: chsw
- *
- * Changes: debug / plausibiliy output
- */
-
-//#include <p2_deco_header_c_v102d.h>
-
-
-// OSTC - diving computer code
-// Copyright (C) 2008 HeinrichsWeikamp GbR
-
-//    This program is free software: you can redistribute it and/or modify
-//    it under the terms of the GNU General Public License as published by
-//    the Free Software Foundation, either version 3 of the License, or
-//    (at your option) any later version.
-
-//    This program is distributed in the hope that it will be useful,
-//    but WITHOUT ANY WARRANTY; without even the implied warranty of
-//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//    GNU General Public License for more details.
-
-//    You should have received a copy of the GNU General Public License
-//    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-// *****************************
-// ** I N T R O D U C T I O N **
-// *****************************
-//
-// OSTC
-//
-// code:
-// p2_deco_main_c_v101.c
-// part2 of the OSTC code
-// code with constant O2 partial pressure routines
-// under construction !!
-//
-// summary:
-// decompression routines
-// for the OSTC experimental project
-// written by Christian Weikamp
-// last revision __________
-// comments added _________
-//
-// additional files:
-// p2_tables_v100.romdata (other files)
-// 18f4685_ostc_v100.lkr (linker script)
-//
-// history:
-// 01/03/08 v100: first release candidate
-// 03/13/08 v101: start of programming ppO2 code
-// 03/13/25 v101a: backup of interrim version with ppO2 calculation
-// 03/13/25 v101: open circuit gas change during deco
-// 03/13/25 v101: CNS_fraction calculation
-// 03/13/26 v101: optimization of tissue calc routines
-// 07/xx/08 v102a: debug of bottom time routine
-// 09/xx/08 v102d: Gradient Factor Model implemenation
-// 10/10/08 v104: renamed to build v103 for v118 stable
-// 10/14/08	v104: integration of temp_depth_last_deco for Gradient Model
-// 03/31/090 v107: integration of FONT Incon24
-
-//
-// literature:
-// B"uhlmann, Albert: Tauchmedizin; 4. Auflage;
-// 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
-// Morrison, Stuart; 2000; DIY DECOMPRESSION; http://www.lizardland.co.uk/DIYDeco.html
-// Balthasar, Steffen; Dekompressionstheorie I: Neo Haldane Modelle; http://www.txfreak.de/dekompressionstheorie_1.pdf
-// Baker, Erik C.; Clearing Up The Confusion About "Deep Stops"
-// Baker, Erik C.; Understanding M-values; http://www.txfreak.de/understanding_m-values.pdf
-
-
-// *********************
-// ** I N C L U D E S **
-// *********************
- #include <p18f4685.h>
- #include <math.h>
-
-// ********************************
-// ** C O N F I G U R A T I O N  **
-// ** for simulation without asm **
-// ********************************
- #pragma config OSC = IRCIO67
- #pragma config FCMEN = OFF
- #pragma config IESO = OFF
- #pragma config PWRT = ON
- #pragma config BOREN = OFF
- #pragma config WDT = OFF
- #pragma config WDTPS = 128
- #pragma config MCLRE = ON
- #pragma config LPT1OSC = OFF
- #pragma config PBADEN = OFF
- #pragma config DEBUG = OFF
- #pragma config XINST = OFF
- #pragma config LVP = OFF
- #pragma config STVREN = OFF
-
-// ****************************
-// ** D E F I N E S          **
-// ** missing in  p18f4685.h **
-// ****************************
-#define INT0IF	1
-#define INT1IF	0
-#define TMR1IF	0
-
-#define oled_clk			PORTD, 0,0
-#define oled_data			PORTD, 1,0
-#define oled_en				PORTE, 0,0
-#define oled_rs				PORTE, 1,0
-#define flag5				0x29	// in Bank1
-//#define	no_sensor_int		flag5,7,1	// ; block any further access to pressure sensor
-
-#	define	DBG_c_gas	0b0000000000000001
-#	define	DBG_c_ppO2	0b0000000000000010
-#	define	DBG_RUN 	0b0000000000000100
-#	define	DBG_RESTART 0b0000000000001000
-
-#	define	DBG_CdeSAT 	0b0000000000010000
-#	define	DBG_C_MODE	0b0000000000100000
-#	define	DBG_C_SURF	0b0000000001000000
-#	define	DBG_HEwoHE 	0b0000000010000000
-
-#	define	DBG_C_DPPO2	0b0000000100000000
-#	define	DBG_C_DGAS 	0b0000001000000000
-#	define	DBG_C_DIST	0b0000010000000000
-#	define	DBG_C_LAST	0b0000100000000000
-
-#	define	DBG_C_GF	0b0001000000000000
-#	define	DBG_ZH16ERR	0b0010000000000000
-#	define	DBG_PHIGH	0b0100000000000000
-#	define	DBG_PLOW	0b1000000000000000
-
-
-#	define	DBS_mode	0b0000000000000001
-#	define	DBS_ppO2	0b0000000000000010
-#	define	DBS_HE_sat	0b0000000000000100
-#	define	DBS_ppO2chg 0b0000000000001000
-
-#	define	DBS_SAT2l	0b0000000000010000
-#	define	DBS_SAT2h	0b0000000000100000
-#	define	DBS_GFLOW2l	0b0000000001000000
-#	define	DBS_GFLOW2h	0b0000000010000000
-
-#	define	DBS_GFHGH2l	0b0000000100000000
-#	define	DBS_GFHGH2h	0b0000001000000000
-#	define	DBS_GASO22l	0b0000010000000000
-#	define	DBS_GASO22h	0b0000100000000000
-
-#	define	DBS_DIST2h 	0b0001000000000000
-#	define	DBS_LAST2h 	0b0010000000000000
-#	define	DBS_DECOO2l	0b0100000000000000
-#	define	DBS_DECOO2h	0b1000000000000000
-
-
-#	define	DBS2_PRES2h 0b0000000000000001
-#	define	DBS2_PRES2l 0b0000000000000010
-#	define	DBS2_SURF2l	0b0000000000000100
-#	define	DBS2_SURF2h	0b0000000000001000
-
-#	define DBS2_DESAT2l 0b0000000000010000
-#	define DBS2_DESAT2h 0b0000000000100000
-#	define	DBS2_GFDneg 0b0000000001000000
-#	define	DBS2_ 0b000000000000000
-
-#	define	DBS2_ 0b000000000000000
-#	define	DBS2_ 0b000000000000000
-#	define	DBS2_ 0b000000000000000
-#	define	DBS2_ 0b000000000000000
-
-// NDL_at_20mtr
-
-
-// ***********************
-// ** V A R I A B L E S **
-// ***********************
-// prefixes etc:
-// _O_ = output for use in the assembler code
-// _I_ = input from the assembler code for the c code
-// char_ and int_ = used to identify output and input size
-// var = variable (from b"uhlmann)
-// pres = pressure
-// gtissue = guiding tissue, the one limiting the ascent
-// e2secs = exp of the b"uhlmann formula precalculated for a 2 second step
-// e1min = same for 1 minute step
-// sim = used in simulating the ascent to the surface
-// nullzeit = remaining ground/bottom time for "no deco"
-// hauptroutine = main
-
-#pragma udata bank0a=0x060
-volatile unsigned char dd2_stringstore[17];
-#pragma udata bank0b=0x071
-volatile unsigned char keep_free_bank0[21];
-
-#pragma udata bank0c=0x086
-volatile unsigned char dd2_left;		// 1 - 64
-volatile unsigned char dd2_top;			// 1 - 64
-volatile unsigned char dd2_heightmax; 	// 1 - 37
-volatile unsigned char dd2_oled_brightness_offset; // 0 - 15 (15 is pitch black always)
-volatile unsigned char dd2_fontwidth;	//  8, 12, 21 for Incon16, Incon24, Incon42
-volatile unsigned char dd2_fontheight;	// 14, 21, 37 for "
-volatile unsigned long dd2_pointer;		// for font lut
-volatile unsigned char dd2_i;
-volatile unsigned char dd2_j;
-volatile unsigned char dd2_k;
-volatile unsigned char dd2_char;
-volatile unsigned char dd2_lowbyte;
-volatile unsigned char dd2_temp;
-volatile unsigned char dd2_data;
-volatile unsigned long dd2_base;			// for font lut
-volatile unsigned char dd2_start;			// for font lut
-volatile unsigned char dd2_end;			// for font lut
-
-
- #pragma udata bank1=0x100
- const unsigned char keep_free_bank1[256]; // used by the assembler code
-
- #pragma udata bank2a=0x200
-// output:
- static unsigned int	int_O_tissue_for_debug[32];
- static unsigned int	int_O_GF_spare____;						// 0x240
- static unsigned int	int_O_GF_step;							// 0x242
- static unsigned int 	int_O_gtissue_limit;					// 0x244
- static unsigned int 	int_O_gtissue_press;					// 0x246
- static unsigned int 	int_O_limit_GF_low;						// 0x248
- static unsigned int 	int_O_gtissue_press_at_GF_low;			// 0x24A
-// ...
- #pragma udata bank2b=0x24E
- static unsigned char	char_O_GF_low_pointer;					// 0x24E
- static unsigned char	char_O_actual_pointer;					// 0x24F
- #pragma udata bank2c=0x250
- static unsigned char	char_O_deco_table[32];					// 0x250
- #pragma udata bank2d=0x270
- static unsigned char	char_I_table_deco_done[32];
- #pragma udata bank2e=0x290
- static unsigned int 	int_O_calc_tissue_call_counter;			// 0x290
-// internal:
- unsigned char 			lock_GF_depth_list;
- static float			temp_limit;
- static float			GF_low;
- static float			GF_high;
- static float			GF_delta;
- static float			GF_temp;
- static float			GF_step;
- static float			GF_step2;
- static float			temp_pres_gtissue;
- static float			temp_pres_gtissue_diff;
- static float			temp_pres_gtissue_limit_GF_low;
- static float			temp_pres_gtissue_limit_GF_low_below_surface;
- static	unsigned int	temp_depth_limit;
- static unsigned char	temp_decotime;
- static unsigned char	temp_gtissue_no;
- static	unsigned int	temp_depth_last_deco;				// new in v.101
-
- static unsigned char	temp_depth_GF_low_meter;
- static unsigned char	temp_depth_GF_low_number;
- static unsigned char	internal_deco_pointer;
- static unsigned char	internal_deco_table[32];
- static float			temp_pres_deco_GF_low;
-
-static unsigned int debug_temp;
-
-
-#pragma udata bank3a=0x300
-static char output[32];
-// used by the math routines
-#pragma udata bank3b=0x380
-volatile float pres_tissue_vault[32];
- #pragma udata bank4a=0x400
-// internal:
- unsigned char			ci ; // don't move - used in _asm routines - if moved then modify movlb commands
- unsigned char 			x;
- unsigned int 			main_i;
- unsigned int 			int_temp;
- unsigned int 			int_temp_decostatus;
- static float 			pres_respiration;
- static float			pres_surface;
- static float			temp1;
- static float			temp2;
- static float			temp3;
- static float			temp4;
- static float			temp_deco;
- static float			temp_atem;
- static float			temp2_atem;
- static float			temp_tissue;
- static float			temp_surface;
- static float			N2_ratio;
- static float			He_ratio;
- static float			temp_ratio;
- static float 			var_a;
- static float 			var2_a;
- static float 			var_b;
- static float 			var2_b;
- static float 			var_t05nc;
- static float 			var2_t05nc;
- static float  			var_e2secs;
- static float  			var2_e2secs;
- static float  			var_e1min;
- static float  			var2_e1min;
- static float  			var_halftimes;
- static float  			var2_halftimes;
- static float			pres_gtissue_limit;
- static float			temp_pres_gtissue_limit;
- static float			actual_ppO2;						// new in v.102
- #pragma udata bank4b=0x480
- static float			pres_tissue[32];
-
- #pragma udata bank5=0x500
-// don't move positions in this bank, the registers are addressed directly from assembler code
-// input:
- static unsigned int	int_I_pres_respiration;				// 0x500
- static unsigned int	int_I_pres_surface;					// 0x502
- static unsigned int	int_I_temp;							// 0x504  new in v101
- static unsigned char	char_I_temp;						// 0x506  new in v101
- static unsigned char	char_I_actual_ppO2;					// 0x507
- static unsigned int	int_I_spare_3;
- static unsigned int	int_I_spare_4;
- static unsigned int	int_I_spare_5;
- static unsigned int	int_I_spare_6;
- static unsigned char	char_I_N2_ratio;					// 0x510
- static unsigned char	char_I_He_ratio;					// 0x511
- static unsigned char	char_I_saturation_multiplier;		// for conservatism/safety values 1.0 (no conservatism) to 1.5 (50% faster saturation
- 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()
- static unsigned char	char_I_GF_High_percentage;			// 0x514	new in v.102
- static unsigned char	char_I_GF_Low_percentage;			// 0x515	new in v.102
- static unsigned char	char_I_spare;					// 0x516
- static unsigned char	char_I_deco_distance;				// 0x517
- static unsigned char	char_I_const_ppO2;					// 0x518	new in v.101
- static unsigned char	char_I_deco_ppO2_change;			// 0x519	new in v.101
- static unsigned char	char_I_deco_ppO2;					// 0x51A	new in v.101
- static unsigned char	char_I_deco_gas_change;				// 0x51B	new in v.101
- static unsigned char	char_I_deco_N2_ratio;				// 0x51C	new in v.101
- static unsigned char	char_I_deco_He_ratio;				// 0x51D	new in v.101
- static unsigned char	char_I_depth_last_deco;				// 0x51E	new in v.101 unit: [m]
- static unsigned char	char_I_deco_model;					// 0x51F	new in v.102	( 1 = MultiGraF, sonst Std. mit (de-)saturation_multiplier)
-// output:
- static unsigned int	int_O_desaturation_time;			// 0x520
- static unsigned char	char_O_nullzeit;					// 0x522
- static unsigned char	char_O_deco_status;					// 0x523
- static unsigned char	char_O_array_decotime[7];			// 0x524
- static unsigned char	char_O_array_decodepth[6];			// 0x52B
- static unsigned char	char_O_ascenttime;					// 0x531
- static unsigned char	char_O_gradient_factor;				// 0x532
- static unsigned char	char_O_tissue_saturation[32];		// 0x533
- static unsigned char	char_O_array_gradient_weighted[16];	// 0x553
- static unsigned char	char_O_gtissue_no;					// 0x563
- static unsigned char	char_O_diluent;						// 0x564	new in v.101
- static unsigned char	char_O_CNS_fraction;				// 0x565	new in v.101
- static unsigned char	char_O_relative_gradient_GF;		// 0x566	new in v.102
-
-// internal:
- static float			pres_tissue_limit[16];
- static float			sim_pres_tissue_limit[16];
- static float			pres_diluent;						// new in v.101
- static float			deco_diluent;						// new in v.101
- static float			const_ppO2;							// new in v.101
- static float			deco_ppO2_change;					// new in v.101
- static float			deco_ppO2;							// new in v.101
-
-
-
- #pragma udata bank6=0x600
-// internal:
- static float			sim_pres_tissue[32];
- static float			sim_pres_tissue_backup[32];
-
- #pragma udata bank7=0x700
- const unsigned char keep_free_bank7[256]; // used by the assembler code (DD font2display)
-
- #pragma udata bank8=0x800
- static char			md_pi_subst[256];
-
- #pragma udata bank9a=0x900
-// output:
- static char			md_state[48];		// DONT MOVE !! // has to be at the beginning of bank 9 for the asm code!!!
- #pragma udata bank9b=0x930
-// output:
- static unsigned int	int_O_DBS_bitfield;					// 0x930	new in v.108
- static unsigned int	int_O_DBS2_bitfield;				// 0x932	new in v.108
- static unsigned int	int_O_DBG_pre_bitfield;				// 0x934	new in v.108
- static unsigned int	int_O_DBG_post_bitfield;			// 0x936	new in v.108
- static char			char_O_NDL_at_20mtr;				// 0x938	new in v.108 // 0xFF == undefined, max. 254
-// internal:
- static char			md_t;
- static char			md_buffer[16];
- static char			md_cksum[16];
- static char			md_i;
- static char			md_j;
- static char			md_temp;
- static unsigned int	md_pointer;
- static float			deco_N2_ratio;						// new in v.101
- static float			deco_He_ratio;						// new in v.101
- static float			calc_N2_ratio;						// new in v.101
- static float			calc_He_ratio;						// new in v.101
- static float			deco_gas_change;					// new in v.101
- static float			CNS_fraction;						// new in v.101
- static float			float_saturation_multiplier;		// new in v.101
- static float			float_desaturation_multiplier;		// new in v.101
- static float			float_deco_distance;				// new in v.101
-// internal, dbg:
- static unsigned char	DBG_char_I_deco_model;				// new in v.108
- static unsigned char	DBG_char_I_depth_last_deco;			// new in v.108
- static float			DBG_pres_surface;					// new in v.108
- static float			DBG_GF_low;							// new in v.108
- static float			DBG_GF_high;						// new in v.108
- static float			DBG_const_ppO2;						// new in v.108
- static float			DBG_deco_ppO2_change;				// new in v.108
- static float			DBG_deco_ppO2;						// new in v.108
- static float			DBG_deco_N2_ratio;					// new in v.108
- static float			DBG_deco_He_ratio;					// new in v.108
- static float			DBG_deco_gas_change;				// new in v.108
- static float			DBG_float_saturation_multiplier;	// new in v.108
- static float			DBG_float_desaturation_multiplier;	// new in v.108
- static float			DBG_float_deco_distance;			// new in v.108
- static float			DBG_deco_N2_ratio;					// new in v.108
- static float			DBG_deco_He_ratio;					// new in v.108
- static float			DBG_N2_ratio;						// new in v.108
- static float			DBG_He_ratio;						// new in v.108
- static char			flag_in_divemode;					// new in v.108
- static	int 			int_dbg_i;							// new in v.108
- unsigned int 			temp_DBS;
-
-// *************************
-// ** P R O T O T Y P E S **
-// *************************
-void main_calc_hauptroutine(void);
-void main_calc_without_deco(void);
-void main_clear_tissue(void);
-void main_calc_percentage(void);
-void main_calc_wo_deco_step_1_min(void);
-void main_debug(void);
-void main_gradient_array(void);
-void main_hash(void);
-
-void calc_hauptroutine(void);
-void calc_tissue(void);
-void calc_nullzeit(void);
-void backup_sim_pres_tissue(void);
-void restore_sim_pres_tissue(void);
-
-void calc_without_deco(void);
-void clear_tissue(void);
-void calc_ascenttime(void);
-void update_startvalues(void);
-void clear_decoarray(void);
-void update_decoarray(void);
-void sim_tissue_1min(void);
-void sim_tissue_10min(void);
-void calc_gradient_factor(void);
-void calc_gradient_array_only(void);
-void calc_desaturation_time(void);
-void calc_wo_deco_step_1_min(void);
-void calc_tissue_step_1_min(void);
-//void debug(void);
-void hash(void);
-void clear_CNS_fraction(void);
-void calc_CNS_fraction(void);
-void calc_CNS_decrease_15min(void);
-void calc_percentage(void);
-void main(void);
-void calc_hauptroutine_data_input(void);
-void calc_hauptroutine_update_tissues(void);
-void calc_hauptroutine_calc_deco(void);
-void calc_hauptroutine_calc_ascend_to_deco(void);
-//void build_debug_output(void);
-void calc_nextdecodepth_GF(void);
-void copy_deco_table_GF(void);
-void clear_internal_deco_table_GF(void);
-void update_internal_deco_table_GF(void);
-void DD2_write(void);
-void DD2_write_incon42(void);
-void DD2_get_pointer_to_char(void);//dd2_char, &dd2_pointer);
-void DD2_set_column(void);//top, dd2_k);void DD2_load_background(void);//&dd2_columnstore, &dd2_background, dd2_top, dd2_left, dd2_heightmax);
-void DD2_load_background(void);
-void DD2_build_one_line_of_char(void);//&dd2_columnstore, &dd2_pointer, dd2_fontheight, dd2_lowbyte);
-void DD2_print_column(void);//&dd2_columnstore, dd2_heightmax);
-void DD2_CmdWrite(void);
-void DD2_DataWrite(void);
-void push_tissues_to_vault(void);
-void pull_tissues_from_vault(void);
-void main_push_tissues_to_vault(void);
-void main_pull_tissues_from_vault(void);
-
-// *******************************
-// ** start                     **
-// ** necessary for compilation **
-// *******************************
-#pragma romdata der_code = 0x0000
-#pragma code der_start = 0x0000
-void der_start(void)
-{
-_asm
-	goto	main
-_endasm
-}
-
-// ***********************************
-// ** main code for simulation /    **
-// ** tests without assembler code  **
-// ** is NOT a part of the OSTC     **
-// ***********************************
-#pragma code main = 0x9000
-void main(void)
-{
-#if 1
-// new main to test DR-5
-
-GF_low = 1.0;
-GF_high = 1.0;
-
-GF_temp = GF_low * GF_high;
-
-clear_CNS_fraction();
-//char_I_const_ppO2 = 100;
-//for (main_i=0;main_i<255;main_i++)
-//{
-//calc_CNS_fraction();
-//} //for
-
-
-
-
-int_I_pres_respiration = 1000;//980;
-int_I_pres_surface = 1000;//980;
-char_I_N2_ratio = 39; //38;
-char_I_He_ratio = 40; //50;
-char_I_deco_distance = 0; // 10 = 1 meter
-char_I_depth_last_deco = 3;	// values below 3 (meter) are ignored
-
-char_I_const_ppO2 = 0;
-char_I_deco_ppO2_change = 0; // [dm] 10 = 1 meter
-char_I_deco_ppO2 = 0;
-
-char_I_deco_gas_change = 0; // [m] 1 = 1 meter
-char_I_deco_N2_ratio = 0;
-char_I_deco_He_ratio = 0;
-
-//char_I_actual_ppO2;					// 0x507
-char_I_GF_High_percentage = 100;			// 0x514	new in v.102
-char_I_GF_Low_percentage = 100;			// 0x515	new in v.102
-
-char_I_saturation_multiplier = 110;
-char_I_desaturation_multiplier = 90;
-
-char_I_deco_model = 0;
-
-main_clear_tissue();
-
-int_I_pres_respiration = 1000 + int_I_pres_surface;
-main_calc_wo_deco_step_1_min();
-int_I_pres_respiration = 3000 + int_I_pres_surface;
-main_calc_wo_deco_step_1_min();
-int_I_pres_respiration = 5000 + int_I_pres_surface;
-main_calc_wo_deco_step_1_min();
-
-/*
-int_I_pres_respiration = 6000 + int_I_pres_surface;
-for (main_i=0;main_i<27;main_i++)
-	main_calc_wo_deco_step_1_min();
-*/
-
-char_O_deco_status = 255;
-while (char_O_deco_status)
-	main_calc_hauptroutine();
-_asm
-nop
-_endasm
-
-for (main_i=0;main_i<50;main_i++)
-{
-main_calc_hauptroutine();
-}
-int_I_pres_respiration = 10000;
-for (main_i=0;main_i<1500;main_i++)
-{
-main_calc_hauptroutine();
-}
-
-_asm
-nop
-_endasm
-
-
-int_I_pres_respiration = 3000;
-for (main_i=0;main_i<150;main_i++)
-{
-	calc_hauptroutine_data_input();
-	calc_hauptroutine_update_tissues();
-} //for
-
-			update_startvalues();
-			clear_decoarray();
-			clear_internal_deco_table_GF();
-			calc_hauptroutine_calc_ascend_to_deco();
- 			if (char_O_deco_status > 15)		// can't go up to first deco, too deep to calculate in the given time slot
-			{
-				char_O_deco_status = 2;
-//				char_O_lock_depth_list = 255;
-			}
- 			else
-			{
-//				char_O_lock_depth_list = lock_GF_depth_list;
-				calc_hauptroutine_calc_deco();
-			}
-//			build_debug_output();
-
-_asm
-nop
-_endasm
-while (char_O_deco_status == 1)
-{
-			char_O_deco_status = 0;
-//			char_O_lock_depth_list = 255;
-			calc_hauptroutine_calc_deco();
-//			build_debug_output();
-_asm
-nop
-_endasm
-};
-debug_temp = 60; // [mtr Aufstieg in 10 mtr/min (30steps'2sec/min]
-int_I_pres_respiration = 9980;
-for (main_i=0;main_i<debug_temp;main_i++)
-{
-int_I_pres_respiration = int_I_pres_respiration - 33;
-	calc_hauptroutine_data_input();
-	calc_hauptroutine_update_tissues();
-int_I_pres_respiration = int_I_pres_respiration - 33;
-	calc_hauptroutine_data_input();
-	calc_hauptroutine_update_tissues();
-int_I_pres_respiration = int_I_pres_respiration - 34;
-	calc_hauptroutine_data_input();
-	calc_hauptroutine_update_tissues();
-} //for
-_asm
-nop
-_endasm
-
-			update_startvalues();
-			clear_decoarray();
-			clear_internal_deco_table_GF();
-			calc_hauptroutine_calc_ascend_to_deco();
- 			if (char_O_deco_status > 15)		// can't go up to first deco, too deep to calculate in the given time slot
-			{
-				char_O_deco_status = 2;
-//				char_O_lock_depth_list = 255;
-			}
- 			else
-			{
-//				char_O_lock_depth_list = lock_GF_depth_list;
-				calc_hauptroutine_calc_deco();
-			}
-//			build_debug_output();
-
-_asm
-nop
-_endasm
-while (char_O_deco_status == 1)
-{
-			char_O_deco_status = 0;
-//			char_O_lock_depth_list = 255;
-			calc_hauptroutine_calc_deco();
-//			build_debug_output();
-_asm
-nop
-_endasm
-};
-_asm
-nop
-_endasm
-debug_temp = 60; // [mtr Aufstieg in 10 mtr/min (30steps'2sec/min]
-int_I_pres_respiration = 9980;
-debug_temp = debug_temp * 3;
-for (main_i=0;main_i<debug_temp;main_i++)
-{
-	calc_hauptroutine_data_input();
-	calc_hauptroutine_update_tissues();
-} //for
-_asm
-nop
-_endasm
-#endif
-// -----------------------
-
-} // main
-
-// ******************************************************
-// ******************************************************
-// ** THE FOLLOWING CODE HAS TO BE COPPIED TO THE OSTC **
-// ******************************************************
-// ******************************************************
-
-// ***********************
-// ***********************
-// ** THE SUBROUTINES 2 **
-// ***********************
-// ***********************
-// all new in v.102
-// moved from 0x0D000 to 0x0C000 in v.108
-
-#pragma code subroutines2 = 0x0C000	// can be adapted to fit the romdata tables ahead
-
-// -------------------------------
-// DBS - debug on start of dive //
-// -------------------------------
-void create_dbs_set_dbg_and_ndl20mtr(void)
-{
-	int_O_DBS_bitfield = 0;
-	int_O_DBS2_bitfield = 0;
-	if(int_O_DBG_pre_bitfield & DBG_RUN)
-		int_O_DBG_pre_bitfield = DBG_RESTART;
-	else
-		int_O_DBG_pre_bitfield = DBG_RUN;
-	int_O_DBG_post_bitfield = 0;
-	char_O_NDL_at_20mtr = 255;
-
-	DBG_N2_ratio = N2_ratio;
-	DBG_He_ratio = He_ratio;
-	DBG_char_I_deco_model = char_I_deco_model;
-	DBG_char_I_depth_last_deco = char_I_depth_last_deco;
-	DBG_pres_surface = pres_surface;
-	DBG_GF_low = GF_low;
-	DBG_GF_high = GF_high;
-	DBG_const_ppO2 = const_ppO2;
-	DBG_deco_ppO2_change = deco_ppO2_change;
-	DBG_deco_ppO2 = deco_ppO2;
-	DBG_deco_N2_ratio = deco_N2_ratio;
-	DBG_deco_He_ratio = deco_He_ratio;
-	DBG_deco_gas_change = deco_gas_change;
-	DBG_float_saturation_multiplier = float_saturation_multiplier;
-	DBG_float_desaturation_multiplier = float_desaturation_multiplier;
-	DBG_float_deco_distance = float_deco_distance;
-
-	if(char_I_deco_model)
-		int_O_DBS_bitfield |= DBS_mode;
-	if(const_ppO2)
-		int_O_DBS_bitfield |= DBS_ppO2;
-	for(int_dbg_i = 16; int_dbg_i < 32; int_dbg_i++)
-		if(pres_tissue[int_dbg_i])
-			int_O_DBS_bitfield |= DBS_HE_sat;
-	if(deco_ppO2_change)
-		int_O_DBS_bitfield |= DBS_ppO2chg;
-	if(float_saturation_multiplier < 0.99)
-		int_O_DBS_bitfield |= DBS_SAT2l;
-	if(float_saturation_multiplier > 1.3)
-		int_O_DBS_bitfield |= DBS_SAT2h;
-	if(GF_low < 0.19)
-		int_O_DBS_bitfield |= DBS_GFLOW2l;
-	if(GF_low > 1.01)
-		int_O_DBS_bitfield |= DBS_GFLOW2h;
-	if(GF_high < 0.6)
-		int_O_DBS_bitfield |= DBS_GFHGH2l;
-	if(GF_high > 1.01)
-		int_O_DBS_bitfield |= DBS_GFHGH2h;
-	if((N2_ratio + He_ratio) > 0.95)
-		int_O_DBS_bitfield |= DBS_GASO22l;
-	if((N2_ratio + He_ratio) < 0.05)
-		int_O_DBS_bitfield |= DBS_GASO22h;
-	if(float_deco_distance > 0.25)
-		int_O_DBS_bitfield |= DBS_DIST2h;
-	if(char_I_depth_last_deco > 8)
-		int_O_DBS_bitfield |= DBS_LAST2h;
-	if(DBG_deco_gas_change && ((deco_N2_ratio + deco_He_ratio) > 0.95))
-		int_O_DBS_bitfield |= DBS_DECOO2l;
-	if(DBG_deco_gas_change && ((deco_N2_ratio + deco_He_ratio) < 0.05))
-		int_O_DBS_bitfield |= DBS_DECOO2h;
-	if(pres_respiration > 3.0)
-		int_O_DBS2_bitfield |= DBS2_PRES2h;
-	if(pres_surface - pres_respiration > 0.2)
-		int_O_DBS2_bitfield |= DBS2_PRES2l;
-	if(pres_surface < 0.75)
-		int_O_DBS2_bitfield |= DBS2_SURF2l;
-	if(pres_surface > 1.11)
-		int_O_DBS2_bitfield |= DBS2_SURF2h;
-	if(float_desaturation_multiplier < 0.70)
-		int_O_DBS2_bitfield |= DBS2_DESAT2l;
-	if(float_desaturation_multiplier > 1.01)
-		int_O_DBS2_bitfield |= DBS2_DESAT2h;
-	if(GF_low > GF_high)
-		int_O_DBS2_bitfield |= DBS2_GFDneg;
-}
-
-// -------------------------------
-// DBG - set DBG to end_of_dive //
-// -------------------------------
-void set_dbg_end_of_dive(void)
-{
-	int_O_DBG_pre_bitfield &= (~DBG_RUN);
-	int_O_DBG_post_bitfield &= (~DBG_RUN);
-}
-
-// -------------------------------
-// DBG - NDL at first 20 m. hit //
-// -------------------------------
-void check_ndl(void)
-{
-	if((char_O_NDL_at_20mtr == -1) && (int_I_pres_respiration > 3000))
-	{
-		char_O_NDL_at_20mtr = char_O_nullzeit;
-		if(char_O_NDL_at_20mtr == 255)
-			char_O_NDL_at_20mtr == 254;
-	}
-}
-
-// -------------------------------
-// DBG - multi main during dive //
-// -------------------------------
-void check_dbg(char is_post_check)
-{
-	temp_DBS = 0;
-	if( (DBG_N2_ratio != N2_ratio) || (DBG_He_ratio != He_ratio) )
-		temp_DBS |= DBG_c_gas;
-	if(DBG_const_ppO2 != const_ppO2)
-		temp_DBS |= DBG_c_ppO2;
-	if((DBG_float_saturation_multiplier != float_saturation_multiplier) || (DBG_float_desaturation_multiplier != float_desaturation_multiplier))
-		temp_DBS |= DBG_CdeSAT;
-	if(DBG_char_I_deco_model != char_I_deco_model)
-		temp_DBS |= DBG_C_MODE;
-	if(DBG_pres_surface != pres_surface)
-		temp_DBS |= DBG_C_SURF;
-	if((!DBS_HE_sat) && (!He_ratio))
-		for(int_dbg_i = 16; int_dbg_i < 32; int_dbg_i++)
-			if(pres_tissue[int_dbg_i])
-				temp_DBS |= DBG_HEwoHE;
-	if(DBG_deco_ppO2 != deco_ppO2)
-		temp_DBS |= DBG_C_DPPO2;
-	if((DBG_deco_gas_change != deco_gas_change) || (DBG_deco_N2_ratio != deco_N2_ratio) || (DBG_deco_He_ratio != deco_He_ratio))
-		temp_DBS |= DBG_C_DGAS;
-	if(DBG_float_deco_distance != float_deco_distance)
-		temp_DBS |= DBG_C_DIST;
-	if(DBG_char_I_depth_last_deco != char_I_depth_last_deco)
-		temp_DBS |= DBG_C_LAST;
-	if((DBG_GF_low != GF_low) || (DBG_GF_high != GF_high))
-		temp_DBS |= DBG_C_GF;
-	if(pres_respiration > 13.0)
-		temp_DBS |= DBG_PHIGH;
-	if(pres_surface - pres_respiration > 0.2)
-		temp_DBS |= DBG_PLOW;
-/*
-	if()
-		temp_DBS |= ;
-	if()
-		temp_DBS |= ;
- */
-	if(is_post_check)
-		int_O_DBG_post_bitfield |= temp_DBS;
-	else
-		int_O_DBG_pre_bitfield |= temp_DBS;
-}
-
-// -------------------------------
-// DBG - prior to calc. of dive //
-// -------------------------------
-void check_pre_dbg(void)
-{
-	check_dbg(0);
-}
-
-// -------------------------------
-// DBG - after decocalc of dive //
-// -------------------------------
-void check_post_dbg(void)
-{
-	check_dbg(1);
-}
-
-
-
-// -------------------------
-// calc_next_decodepth_GF //
-// -------------------------
-// new in v.102
-void calc_nextdecodepth_GF(void)
-{
-// INPUT, changing during dive:
-// temp_pres_gtissue_limit_GF_low
-// temp_pres_gtissue_limit_GF_low_below_surface
-// temp_pres_gtissue
-// temp_pres_gtissue_diff
-// lock_GF_depth_list
-
-// INPUT, fixed during dive:
-// pres_surface
-// GF_delta
-// GF_high
-// GF_low
-// temp_depth_last_deco
-// float_deco_distance
-
-// OUTPUT
-// GF_step
-// temp_deco
-// temp_depth_limt
-// lock_GF_depth_list
-
-// USES
-// temp1
-// temp2
-// int_temp
-
-	char_I_table_deco_done[0] = 0; // safety if changed somewhere else. Needed for exit
-	if (char_I_deco_model == 1)
-	{
-		if (lock_GF_depth_list == 0)
-		{
-			temp2 =  temp_pres_gtissue_limit_GF_low_below_surface / 0.29985; 					// = ... / 99.95 / 0.003;
- 			int_temp = (int) (temp2 + 0.99);
-			if (int_temp > 31)
-				int_temp = 31;						//	deepest deco at 93 meter (31 deco stops)
-			if (int_temp < 0)
-				int_temp = 0;
-			temp_depth_GF_low_number = int_temp;
- 			temp_depth_GF_low_meter = 3 * temp_depth_GF_low_number;
-			temp2 = (float)temp_depth_GF_low_meter * 0.09995;
-			temp_pres_deco_GF_low = temp2 + float_deco_distance + pres_surface;
-			if (temp_depth_GF_low_number == 0)
-				GF_step = 0;
-			else
-				GF_step = GF_delta / (float)temp_depth_GF_low_number;
-			if (GF_step < 0)
-				GF_step = 0;
-			if (GF_step > GF_delta)
-				GF_step = GF_delta;
-			int_O_GF_step = (int)(GF_step * 10000);
-			int_O_limit_GF_low = (int)(temp_pres_deco_GF_low * 1000);
-			int_O_gtissue_press_at_GF_low = (int)(temp_pres_gtissue * 1000);
-			char_O_GF_low_pointer = temp_depth_GF_low_number;
-			lock_GF_depth_list = 1;
-			internal_deco_pointer = 0;
-		}
-		if (internal_deco_pointer == 0)		// new run
-		{
-			internal_deco_pointer = temp_depth_GF_low_number;
-			GF_temp = GF_high - ((float)internal_deco_pointer * GF_step);
-			int_temp = char_I_table_deco_done[internal_deco_pointer];
-			output[8] = int_temp;
-			output[9] = 33;
-		}
-		else
-		{
-			int_temp = 1;
-		}
-		while (int_temp == 1)
-		{
-			int_temp = internal_deco_pointer - 1;
-			if (int_temp == 1)								// new in v104
-			{
-				temp2 = (float)(temp_depth_last_deco * int_temp) * 0.09995;
-				GF_step2 = GF_step/3.0 * ((float)(6 - temp_depth_last_deco));
-			}
-			else
-			if (int_temp == 0)
-			{
-				temp2 = 0.0;
-				GF_step2 = GF_high - GF_temp;
-			}
-			else
-			{
-				temp2 = (float)(3 *int_temp) * 0.09995;
-				GF_step2 = GF_step;
-			}
-			temp2 = temp2 + pres_surface; // next deco stop to be tested
-			temp1 = ((GF_temp + GF_step2)* temp_pres_gtissue_diff) + temp_pres_gtissue;	// upper limit (lowest pressure allowed) // changes GF_step2 in v104
-			if (temp1 > temp2) // check if ascent to next deco stop is ok
-			{
-				int_temp = 0;	// no
-			}
-			else
-			{
-				internal_deco_pointer = int_temp;
-				GF_temp = GF_temp + GF_step2; // changed in v104
-				int_temp = char_I_table_deco_done[internal_deco_pointer]; // yes and check for ascent to even next stop if deco_done is set
-			}
-		} // while
-		if (internal_deco_pointer > 0)
-		{
-			temp2 = (float)(0.29985 * internal_deco_pointer);
-			temp_deco = temp2 + float_deco_distance + pres_surface;
-			if (internal_deco_pointer == 1)						// new in v104
-				temp_depth_limit = temp_depth_last_deco;
-			else
-				temp_depth_limit = 3 * internal_deco_pointer;
-			if (output[9] == 33)
-			{
-				output[9] = internal_deco_pointer;
-				output[10] = char_I_table_deco_done[internal_deco_pointer];
-				output[12] = output[12] + 1;
-				if (output[12] == 100)
-					output[12] = 0;
-			}
-		}
-		else	// 	if (char_I_deco_model == 1)
-		{
-			temp_deco = pres_surface;
-			temp_depth_limit = 0;
-		}
-	}
-	else
-	{
-		// calc_nextdecodepth - original
-		// optimized in v.101
-		// depth_last_deco included in v.101
-
-		temp1 = temp_pres_gtissue_limit - pres_surface;
-		if (temp1 >= 0)
- 		{
- 			temp1 = temp1 / 0.29985; 									// = temp1 / 99.95 / 0.003;
- 			temp_depth_limit = (int) (temp1 + 0.99);
- 			temp_depth_limit = 3 * temp_depth_limit; 					// depth for deco [m]
- 			if (temp_depth_limit == 0)
-  				temp_deco = pres_surface;
- 			else
-  			{
-  				if (temp_depth_limit < temp_depth_last_deco)
-					temp_depth_limit = temp_depth_last_deco;
-  				temp1 = (float)temp_depth_limit * 0.09995;
-  				temp_deco = temp1 + float_deco_distance + pres_surface; 	// depth for deco [bar]
-  			} // if (temp_depth_limit == 0)
- 		} // if (temp1 >= 0)
-		else
- 		{
- 			temp_deco = pres_surface;
- 			temp_depth_limit = 0;
- 		} // if (temp1 >= 0)
-	} // calc_nextdecodepth original
-} // calc_nextdecodepth_GF
-
-
-#if 0
-void 			build_debug_output(void)
-{
-output[0] = 0; // not used in asm PLED output
-output[1] = (int) (GF_low * 100);
-output[2] = (int) (GF_high * 100);
-output[3] = (int) (GF_step * 100);
-output[4] = (int) temp_depth_GF_low_number;
-output[5] = (int) temp_depth_GF_low_meter;
-//output[6]
-output[7] = (int) internal_deco_pointer;
-//output[8] = char_I_table_deco_done[temp_depth_GF_low_number]
-//output[9] = internal_deco_pointer @ new run
-//output[10] = char_I_table_deco_done[internal_deco_pointer] @ new run
-output [11] = (int) (temp_pres_deco_GF_low * 10);
-}	// build_debug_output
-#endif
-
-// ---------------------
-// copy_deco_table_GF //
-// ---------------------
-// new in v.102
-void copy_deco_table_GF(void)
-{
-	if (char_I_deco_model == 1)
-	{
-		int_temp = 32;
-		for (ci=0;ci<int_temp;ci++)
-			char_O_deco_table[ci] = internal_deco_table[ci];
-	}
-}		// copy_deco_table_GF
-
-
-// ------------------------------
-// clear_internal_deco_table_GF//
-// ------------------------------
-// new in v.102
-void clear_internal_deco_table_GF(void)
-{
-	if (char_I_deco_model == 1)
-	{
-		for (ci=0;ci<32;ci++)  // cycle through the 16 b"uhlmann tissues for Helium
-		{
-			internal_deco_table[ci] = 0;
-		}
-	}
-}	// clear_internal_deco_table_GF
-
-
-// --------------------------------
-// update_internal_deco_table_GF //
-// --------------------------------
-// new in v.102
-void update_internal_deco_table_GF(void)
-{
-	if ((char_I_deco_model == 1) && (internal_deco_table[internal_deco_pointer] < 255))
-		internal_deco_table[internal_deco_pointer] = internal_deco_table[internal_deco_pointer] + 1;
-}	// update_internal_deco_table_GF
-
-
-// ---------------------
-// temp_tissue_safety //
-// ---------------------
-// outsourced in v.102
-void temp_tissue_safety(void)
-{
-	if (char_I_deco_model == 1)
-	{
-	}
-	else
-	{
-		if (temp_tissue < 0.0)
-			temp_tissue = temp_tissue * float_desaturation_multiplier;
- 		else
-			temp_tissue = temp_tissue * float_saturation_multiplier;
-	}
-} // temp_tissue_safety
-
-// ---------------------
-// dd2_write_incon42  //
-// ---------------------
-void DD2_write_incon42(void)
-{
-//dd2_fontwidth	= 21;
-//dd2_fontheight  = 30;
-dd2_fontwidth	= 19;
-dd2_fontheight  = 28;
-dd2_base = 0x0F500;
-dd2_start = '0';
-dd2_end = '9';
-DD2_write();
-}
-
-// ---------------------
-// dd2_write_incon24  //
-// ---------------------
-void DD2_write_incon24(void)
-{
-dd2_fontwidth	= 12;
-dd2_fontheight  = 16;
-dd2_base = 0x0E100;
-dd2_start = '.';
-dd2_end = '9' + 5;
-DD2_write();
-}
-
-
-void DD2_write(void)
-{
-	dd2_i = 0;
-_asm
-	movff	dd2_i, POSTINC2 // write 0x00 at the end of dd2_strinstore[]
-	bsf		oled_rs
-_endasm
-	dd2_stringstore[16] = 0;	// safety if more than 16 letters (max at font incon16) are written, the other space is used by font remap
-	if (dd2_top == 0) dd2_top = 1;
-	if (dd2_left == 0) dd2_left = 1;
-	if (dd2_heightmax > dd2_fontheight) dd2_heightmax = dd2_fontheight;
-	if ((dd2_top + dd2_heightmax) > 65) dd2_heightmax = 65 - dd2_top;
-
-	dd2_k = dd2_left;
-	dd2_j = 0;
-	dd2_char = dd2_stringstore[dd2_j++];
-	DD2_get_pointer_to_char();//dd2_char, &dd2_pointer);
-	dd2_i = 0;
-	dd2_lowbyte = 1;
-
-while (dd2_char != 0)
-{
-		if (dd2_lowbyte == 1)	DD2_load_background();//&dd2_columnstore, &dd2_background, dd2_top, dd2_left, dd2_heightmax);
-		DD2_build_one_line_of_char();	//&dd2_columnstore, &dd2_pointer, dd2_fontheight, dd2_lowbyte); 	// dd2_heightmax
-		dd2_lowbyte = dd2_lowbyte ^ 1;
-		if (dd2_lowbyte == 1)
-		{
-			DD2_set_column();//top, dd2_k); 				//
-			if(dd2_k < 64) dd2_k++;
-			DD2_print_column();//&dd2_columnstore, dd2_heightmax);				// dd2_column_store, dd2_heightmax
-		}
-		dd2_i++;
-		if ((dd2_i >= dd2_fontwidth) | (((dd2_char == '.') |(dd2_char == ':') | (dd2_char == '<')) & (dd2_i >= 4)))
-		{
-			dd2_char = dd2_stringstore[dd2_j++];
-			DD2_get_pointer_to_char();//dd2_char, &dd2_pointer);
-			dd2_i = 0;
-		}
-}
-}		// void dd2_write(void)
-
-void DD2_get_pointer_to_char(void)//dd2_char, &dd2_pointer);
-{
-		if((dd2_char < dd2_start) | (dd2_char > dd2_end))
-		{
-			dd2_pointer = 0;
-			dd2_temp = 0;
-		}
-		else
-		{
-			dd2_pointer = dd2_char - dd2_start;
-			dd2_pointer = dd2_pointer * ((dd2_fontheight+1)/2);
-			dd2_pointer = dd2_pointer * dd2_fontwidth;
-			dd2_pointer += dd2_base;
-			if((dd2_char == '.') | (dd2_char == ':') | (dd2_char == '<'))
-			{
-				dd2_pointer += 2 * dd2_fontheight;
-			}
-
-		}
-}		// void DD2_get_pointer_to_char(void)
-
-void DD2_set_column(void)//top, dd2_k);
-{
-	dd2_data = 0x75;
-	DD2_CmdWrite();
-	dd2_data = dd2_top - 1;
-	DD2_CmdWrite();
-	dd2_data = 0x3f;
-	DD2_CmdWrite();
-
-	dd2_data = 0x15;
-	DD2_CmdWrite();
-	dd2_data = dd2_k - 1;
-	DD2_CmdWrite();
-	dd2_data = dd2_k - 1;
-	DD2_CmdWrite();
-}		// DD2_set_column()
-
-void DD2_load_background(void)//&dd2_columnstore, &dd2_background, dd2_top, dd2_left, dd2_heightmax);
-{
-	for(dd2_temp = 0; dd2_temp < dd2_heightmax; dd2_temp++)
-		md_pi_subst[dd2_temp] = 0x00;
-}		// void DD2_load_background()
-
-void DD2_build_one_line_of_char(void)//&dd2_columnstore, &dd2_pointer, dd2_fontheight, dd2_lowbyte);
-{
-	if (dd2_pointer != 0)
-	{
-		dd2_temp = (char)(dd2_pointer & 255);
-_asm
-		movff	dd2_temp,TBLPTRL
-_endasm
-		dd2_temp = (char)((dd2_pointer >> 8) & 255);
-_asm
-		movff	dd2_temp,TBLPTRH
-_endasm
-		dd2_temp = (char)((dd2_pointer >> 16)& 255);
-_asm
-		movff	dd2_temp,TBLPTRU
-_endasm
-
-		for(dd2_temp = 0; dd2_temp < dd2_heightmax; dd2_temp += 2)
-		{
-_asm
-			TBLRDPOSTINC
-			movff	TABLAT,dd2_data
-_endasm
-			if (dd2_oled_brightness_offset != 0)
-			{
-				if ((dd2_oled_brightness_offset << 4) < (dd2_data & 0xF0))
-					dd2_data = dd2_data - (dd2_oled_brightness_offset << 4);
-				if ((dd2_oled_brightness_offset) < (dd2_data & 0x0F))
-					dd2_data = dd2_data - dd2_oled_brightness_offset;
-			}
-			if (dd2_lowbyte == 1)
-			{
-				md_pi_subst[dd2_temp]   = dd2_data & 0xF0;
-				md_pi_subst[dd2_temp+1] = (dd2_data << 4) & 0xF0;
-			}
-			else
-			{
-				md_pi_subst[dd2_temp]   = (md_pi_subst[dd2_temp] & 0xF0) | ((dd2_data >> 4) & 0x0F);
-				md_pi_subst[dd2_temp+1] = (md_pi_subst[dd2_temp+1] & 0xF0) | (dd2_data & 0x0F);
-			}
-		}//for
-		dd2_pointer += (dd2_fontheight+1)/2;
-	}//if
-}		//
-
-void DD2_print_column(void)//&dd2_columnstore, dd2_heightmax);
-{
-_asm
-		bsf	oled_rs
-_endasm
-	for(dd2_temp = 0; dd2_temp < dd2_heightmax; dd2_temp++)
-	{
-		dd2_data = md_pi_subst[dd2_temp];
-		DD2_DataWrite();
-	}
-}		// void DD2_print_column(void)
-
-//; -----------------------------
-//; DD Write Cmd via W
-//; two jump_ins:
-//;  DD_CmdWrite and DD_CmdWrite2
-//; -----------------------------
-void DD2_CmdWrite(void)
-{
-_asm
-	bcf		oled_rs
-_endasm
-	DD2_DataWrite();
-}
-
-void DD2_DataWrite(void)
-{
-_asm
-	movlb	1
-//	bsf		no_sensor_int					// flag5, no_sensor_int
-	bcf		oled_en
-	movlb	0
-	bcf		oled_clk				//; CLK=0
-	btfsc	dd2_data,7,1				//; Bit
-	bsf		oled_data
-	bcf		oled_clk				//; CLK=0
-	btfss	dd2_data,7,1
-	bcf		oled_data
-	bsf		oled_clk				//; CLK=1
-	btfsc	dd2_data,6,1				//; Bit
-	bsf		oled_data
-	bcf		oled_clk				//; CLK=0
-	btfss	dd2_data,6,1
-	bcf		oled_data
-	bsf		oled_clk				//; CLK=1
-	btfsc	dd2_data,5,1				//; Bit
-	bsf		oled_data
-	bcf		oled_clk				//; CLK=0
-	btfss	dd2_data,5,1
-	bcf		oled_data				//;
-	bsf		oled_clk				//; CLK=1
-	btfsc	dd2_data,4,1				//; Bit
-	bsf		oled_data
-	bcf		oled_clk				//; CLK=0
-	btfss	dd2_data,4,1
-	bcf		oled_data
-	bsf		oled_clk				//; CLK=1
-	btfsc	dd2_data,3,1				//; Bit
-	bsf		oled_data
-	bcf		oled_clk				//; CLK=0
-	btfss	dd2_data,3,1
-	bcf		oled_data
-	bsf		oled_clk				//; CLK=1
-	btfsc	dd2_data,2,1				//; Bit
-	bsf		oled_data
-	bcf		oled_clk				//; CLK=0
-	btfss	dd2_data,2,1
-	bcf		oled_data
-	bsf		oled_clk				//; CLK=1
-	btfsc	dd2_data,1,1				//; Bit
-	bsf		oled_data
-	bcf		oled_clk				//; CLK=0
-	btfss	dd2_data,1,1
-	bcf		oled_data
-	bsf		oled_clk				//; CLK=1
-	btfsc	dd2_data,0,1				//; Bit
-	bsf		oled_data
-	bcf		oled_clk				//; CLK=0
-	btfss	dd2_data,0,1
-	bcf		oled_data
-	bsf		oled_clk				//; CLK=1
-	bsf		oled_en					//; CS#=1
-	movlb	1
-//	bcf		no_sensor_int					// flag5, no_sensor_int
-	movlb	0
-_endasm
-	dd2_data	= 0; // to be sure that C knows we are in Bank0
-}
-#pragma romdata font_incon_24h15 = 0x0E100
- rom const rom unsigned char incon24h15[] =
- {
-		  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x80
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xf0
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xe0
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0xf0
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x4b, 0xff, 0xa0
-		 ,0x00, 0x00, 0x00, 0x00, 0x5c, 0xff, 0x91, 0x00
-		 ,0x00, 0x00, 0x00, 0x6d, 0xfe, 0x71, 0x00, 0x00
-		 ,0x00, 0x01, 0x7e, 0xfd, 0x60, 0x00, 0x00, 0x00
-		 ,0x01, 0x8f, 0xfd, 0x50, 0x00, 0x00, 0x00, 0x00
-		 ,0x9f, 0xfb, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xfa, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x01, 0x69, 0xbc, 0xca, 0x72, 0x00, 0x00
-		 ,0x00, 0x9f, 0xfe, 0xdc, 0xdf, 0xff, 0xb2, 0x00
-		 ,0x1d, 0xf8, 0x20, 0x00, 0x05, 0xfd, 0xff, 0x30
-		 ,0xaf, 0x30, 0x00, 0x00, 0x9f, 0x90, 0x2e, 0xd0
-		 ,0xf8, 0x00, 0x00, 0x2c, 0xf5, 0x00, 0x06, 0xf0
-		 ,0xf8, 0x00, 0x04, 0xed, 0x30, 0x00, 0x05, 0xf0
-		 ,0xaf, 0x30, 0x8f, 0xb1, 0x00, 0x00, 0x0c, 0xe0
-		 ,0x1d, 0xfd, 0xf8, 0x00, 0x00, 0x16, 0xdf, 0x40
-		 ,0x00, 0x9f, 0xff, 0xdc, 0xde, 0xff, 0xc3, 0x00
-		 ,0x00, 0x01, 0x69, 0xbc, 0xca, 0x73, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x02, 0x90, 0x00, 0x00, 0x00, 0x00, 0x01, 0x30
-		 ,0x0a, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x04, 0xf0
-		 ,0x2f, 0x60, 0x00, 0x00, 0x00, 0x00, 0x04, 0xf0
-		 ,0xaf, 0x97, 0x77, 0x77, 0x77, 0x77, 0x79, 0xf0
-		 ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0
-		 ,0x12, 0x22, 0x22, 0x22, 0x22, 0x22, 0x26, 0xf0
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xf0
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xd0
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40
-		 ,0x07, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0
-		 ,0x4f, 0x80, 0x00, 0x00, 0x00, 0x1c, 0xfe, 0xf0
-		 ,0xcc, 0x00, 0x00, 0x00, 0x02, 0xef, 0x57, 0xf0
-		 ,0xf7, 0x00, 0x00, 0x00, 0x2e, 0xe2, 0x07, 0xf0
-		 ,0xf8, 0x00, 0x00, 0x01, 0xde, 0x20, 0x07, 0xf0
-		 ,0xce, 0x10, 0x00, 0x2d, 0xe2, 0x00, 0x07, 0xf0
-		 ,0x4f, 0xd6, 0x58, 0xfe, 0x30, 0x00, 0x07, 0xf0
-		 ,0x06, 0xff, 0xff, 0xb1, 0x00, 0x00, 0x07, 0xf0
-		 ,0x00, 0x14, 0x52, 0x00, 0x00, 0x00, 0x05, 0x80
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00
-		 ,0x09, 0x20, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x50
-		 ,0x6f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2e, 0xd0
-		 ,0xdb, 0x00, 0x00, 0x59, 0x00, 0x00, 0x07, 0xf0
-		 ,0xf8, 0x00, 0x00, 0x8e, 0x00, 0x00, 0x04, 0xf0
-		 ,0xea, 0x00, 0x00, 0xcf, 0x10, 0x00, 0x06, 0xf0
-		 ,0x9f, 0x30, 0x07, 0xff, 0x90, 0x00, 0x1e, 0xe0
-		 ,0x1e, 0xfc, 0xdf, 0x87, 0xfb, 0x79, 0xef, 0x50
-		 ,0x01, 0x9d, 0xc6, 0x00, 0x7e, 0xff, 0xd5, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x2b, 0xb0, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x06, 0xff, 0xe0, 0x00, 0x00
-		 ,0x00, 0x00, 0x02, 0xcf, 0x69, 0xe0, 0x00, 0x00
-		 ,0x00, 0x00, 0x7f, 0xb1, 0x09, 0xe0, 0x00, 0x00
-		 ,0x00, 0x2c, 0xe6, 0x00, 0x09, 0xe0, 0x00, 0x00
-		 ,0x07, 0xfb, 0x10, 0x00, 0x09, 0xe0, 0x00, 0x00
-		 ,0xcf, 0xfc, 0xcc, 0xcc, 0xce, 0xfd, 0xdd, 0xd0
-		 ,0xde, 0xee, 0xee, 0xee, 0xef, 0xfe, 0xee, 0xe0
-		 ,0x00, 0x00, 0x00, 0x00, 0x09, 0xe0, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x08, 0xc0, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00
-		 ,0x78, 0xab, 0xcd, 0xed, 0x00, 0x00, 0xce, 0x20
-		 ,0xff, 0xed, 0xcc, 0xfa, 0x00, 0x00, 0x5f, 0xb0
-		 ,0xf9, 0x00, 0x06, 0xf0, 0x00, 0x00, 0x08, 0xf0
-		 ,0xf9, 0x00, 0x0a, 0xb0, 0x00, 0x00, 0x04, 0xf0
-		 ,0xf9, 0x00, 0x0a, 0xc0, 0x00, 0x00, 0x04, 0xf0
-		 ,0xf9, 0x00, 0x08, 0xf3, 0x00, 0x00, 0x0b, 0xf0
-		 ,0xf9, 0x00, 0x01, 0xfe, 0x62, 0x13, 0xbf, 0x90
-		 ,0xf9, 0x00, 0x00, 0x4e, 0xff, 0xff, 0xfb, 0x00
-		 ,0x11, 0x00, 0x00, 0x01, 0x6a, 0xa9, 0x40, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x03, 0x56, 0x65, 0x30, 0x00, 0x00
-		 ,0x00, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xa2, 0x00
-		 ,0x08, 0xfe, 0x96, 0x8f, 0x95, 0x6a, 0xff, 0x30
-		 ,0x6f, 0x90, 0x01, 0xf8, 0x00, 0x00, 0x3e, 0xd0
-		 ,0xec, 0x00, 0x08, 0xf0, 0x00, 0x00, 0x06, 0xf0
-		 ,0xf6, 0x00, 0x0a, 0xe0, 0x00, 0x00, 0x04, 0xf0
-		 ,0xf7, 0x00, 0x07, 0xf3, 0x00, 0x00, 0x09, 0xf0
-		 ,0xcd, 0x10, 0x01, 0xef, 0x72, 0x13, 0xaf, 0x90
-		 ,0x4d, 0x20, 0x00, 0x2d, 0xff, 0xff, 0xf9, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x47, 0x86, 0x10, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x90
-		 ,0xfa, 0x00, 0x00, 0x00, 0x00, 0x39, 0xef, 0xf0
-		 ,0xfa, 0x00, 0x00, 0x01, 0x7d, 0xff, 0xe9, 0x40
-		 ,0xfa, 0x00, 0x05, 0xbf, 0xff, 0x94, 0x00, 0x00
-		 ,0xfa, 0x18, 0xef, 0xfb, 0x50, 0x00, 0x00, 0x00
-		 ,0xfe, 0xff, 0xd7, 0x10, 0x00, 0x00, 0x00, 0x00
-		 ,0xff, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x02, 0x78, 0x50, 0x00
-		 ,0x03, 0xad, 0xb4, 0x00, 0x7f, 0xff, 0xfc, 0x00
-		 ,0x3f, 0xfc, 0xff, 0x66, 0xfa, 0x43, 0xaf, 0xa0
-		 ,0xcd, 0x10, 0x1c, 0xfe, 0x70, 0x00, 0x0b, 0xf0
-		 ,0xf5, 0x00, 0x01, 0xfe, 0x00, 0x00, 0x05, 0xf0
-		 ,0xf5, 0x00, 0x00, 0xbf, 0x10, 0x00, 0x04, 0xf0
-		 ,0xec, 0x00, 0x07, 0xff, 0xb0, 0x00, 0x0a, 0xf0
-		 ,0x6f, 0xd9, 0xcf, 0x78, 0xfb, 0x32, 0x9f, 0x90
-		 ,0x07, 0xef, 0xe6, 0x00, 0x9f, 0xff, 0xfb, 0x00
-		 ,0x00, 0x01, 0x00, 0x00, 0x03, 0x88, 0x50, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x03, 0x55, 0x20, 0x00, 0x00, 0x00, 0x00
-		 ,0x04, 0xdf, 0xff, 0xfb, 0x10, 0x00, 0x0b, 0x60
-		 ,0x4f, 0xd7, 0x45, 0x9f, 0xd0, 0x00, 0x1c, 0xe0
-		 ,0xdd, 0x00, 0x00, 0x05, 0xf5, 0x00, 0x05, 0xf0
-		 ,0xf7, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x04, 0xf0
-		 ,0xf8, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x08, 0xf0
-		 ,0xbe, 0x20, 0x00, 0x06, 0xf2, 0x00, 0x5f, 0xa0
-		 ,0x2e, 0xf9, 0x54, 0x7f, 0x94, 0x7c, 0xfc, 0x00
-		 ,0x02, 0xaf, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00
-		 ,0x00, 0x01, 0x46, 0x77, 0x75, 0x30, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x06, 0xa1, 0x00, 0x00, 0x09, 0x80
-		 ,0x00, 0x00, 0x1f, 0xf9, 0x00, 0x00, 0x6f, 0xf0
-		 ,0x00, 0x00, 0x0d, 0xf5, 0x00, 0x00, 0x3f, 0xe0
-		 ,0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xba, 0xae, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xff, 0xe9, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x97, 0x8c, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xff, 0xfb, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x75, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x75, 0x6a, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xff, 0xfd, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xa8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x2c, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xdd, 0x78, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xf2, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xf0, 0x00, 0x4f, 0x10, 0x00, 0x00, 0x00, 0x00
-		 ,0xea, 0x23, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x4f, 0xff, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x01, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10
-		 ,0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0
-		 ,0x00, 0x00, 0x9f, 0xa7, 0x77, 0x77, 0x77, 0x70
-		 ,0x00, 0x00, 0xd6, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x02, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x01, 0xff, 0xcb, 0xbb, 0xbb, 0xbb, 0xb0
-		 ,0x00, 0x00, 0x4f, 0xfe, 0xee, 0xee, 0xee, 0xe0
-		 ,0x00, 0x00, 0xab, 0x20, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x01, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x02, 0xfa, 0x55, 0x55, 0x55, 0x55, 0x50
-		 ,0x00, 0x00, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xf0
-		 ,0x00, 0x00, 0x02, 0x44, 0x44, 0x44, 0x44, 0x40
- };
-
-#pragma romdata font_incon_42 = 0x0F500
- rom const rom unsigned char incon42[] =
- {
-	 // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-	  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-	  ,0x00, 0x00, 0x00, 0x03, 0x7a, 0xcd, 0xee, 0xdc, 0xa8, 0x40, 0x00, 0x00, 0x00, 0x00
-	  ,0x00, 0x00, 0x18, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x92, 0x00, 0x00, 0x00
-	  ,0x00, 0x07, 0xef, 0xff, 0xff, 0xdc, 0xbb, 0xce, 0xff, 0xff, 0xff, 0x91, 0x00, 0x00
-	  ,0x00, 0xbf, 0xff, 0xc7, 0x65, 0x43, 0x22, 0x33, 0x57, 0xbf, 0xff, 0xfd, 0x20, 0x00
-	  ,0x0b, 0xff, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x6e, 0xff, 0xd1, 0x00
-	  ,0x7f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xfa, 0x00
-	  ,0xef, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0x20
-	  ,0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0x60
-	  ,0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
-	  ,0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
-	  ,0xcf, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
-	  ,0x4f, 0xfe, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf8, 0x00
-	  ,0x07, 0xff, 0xd7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7e, 0xff, 0xb0, 0x00
-	  ,0x00, 0x5e, 0xff, 0xfb, 0x98, 0x54, 0x33, 0x34, 0x58, 0xbf, 0xff, 0xfa, 0x00, 0x00
-	  ,0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x50, 0x00, 0x00
-	  ,0x00, 0x00, 0x01, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x40, 0x00, 0x00, 0x00
-	  ,0x00, 0x00, 0x00, 0x00, 0x02, 0x46, 0x77, 0x65, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00
-	  ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-	 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
-#if 0
-// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x03, 0x7a, 0xcd, 0xee, 0xdc, 0xa8, 0x40, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x18, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x92, 0x00, 0x00, 0x00
- ,0x00, 0x07, 0xef, 0xff, 0xff, 0xdc, 0xbb, 0xce, 0xff, 0xff, 0xff, 0x91, 0x00, 0x00
- ,0x00, 0xbf, 0xff, 0xc7, 0x20, 0x00, 0x00, 0x00, 0x1c, 0xff, 0xff, 0xfd, 0x20, 0x00
- ,0x0b, 0xff, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x02, 0xcf, 0xfc, 0x6e, 0xff, 0xd1, 0x00
- ,0x7f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0xff, 0x90, 0x01, 0xbf, 0xfa, 0x00
- ,0xef, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xe5, 0x00, 0x00, 0x0d, 0xff, 0x20
- ,0xff, 0x60, 0x00, 0x00, 0x00, 0x02, 0xcf, 0xfc, 0x20, 0x00, 0x00, 0x05, 0xff, 0x60
- ,0xff, 0x40, 0x00, 0x00, 0x00, 0x5e, 0xff, 0x90, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
- ,0xff, 0x80, 0x00, 0x00, 0x08, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
- ,0xcf, 0xf3, 0x00, 0x01, 0xcf, 0xfd, 0x30, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
- ,0x4f, 0xfe, 0x50, 0x4e, 0xff, 0xa1, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf8, 0x00
- ,0x07, 0xff, 0xfd, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7e, 0xff, 0xb0, 0x00
- ,0x00, 0x5e, 0xff, 0xff, 0xd8, 0x54, 0x33, 0x34, 0x58, 0xbf, 0xff, 0xfa, 0x00, 0x00
- ,0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x50, 0x00, 0x00
- ,0x00, 0x00, 0x01, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x40, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x02, 0x46, 0x77, 0x65, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-#endif
-//
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x1f, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x00
- ,0x00, 0x9f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x02, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x0a, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x3f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0xbf, 0xfc, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x79, 0xff, 0x00
- ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
- ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
- ,0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x36, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xcc, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0xff, 0x00
- ,0x00, 0xbf, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0x00
- ,0x0a, 0xff, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0x00
- ,0x4f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xdb, 0xff, 0x00
- ,0xcf, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xf8, 0x08, 0xff, 0x00
- ,0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xfe, 0x40, 0x08, 0xff, 0x00
- ,0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xd2, 0x00, 0x08, 0xff, 0x00
- ,0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xfd, 0x10, 0x00, 0x08, 0xff, 0x00
- ,0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xd1, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xfe, 0x20, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x9f, 0xfa, 0x00, 0x00, 0x00, 0x1a, 0xff, 0xe2, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x2e, 0xff, 0xd6, 0x21, 0x38, 0xef, 0xfd, 0x20, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x00, 0x3d, 0xff, 0xff, 0xff, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x00, 0x00, 0x59, 0xbb, 0x95, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0x30, 0x00
- ,0x04, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xd0, 0x00
- ,0x1e, 0xfe, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xf8, 0x00
- ,0x7f, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xfe, 0x00
- ,0xdf, 0xc0, 0x00, 0x00, 0x00, 0x07, 0x95, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0x30
- ,0xff, 0x70, 0x00, 0x00, 0x00, 0x0c, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0xff, 0x50, 0x00, 0x00, 0x00, 0x0e, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
- ,0xff, 0x60, 0x00, 0x00, 0x00, 0x2f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0xff, 0xb0, 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0x30
- ,0xbf, 0xf4, 0x00, 0x00, 0x02, 0xef, 0xff, 0x70, 0x00, 0x00, 0x00, 0x2f, 0xfe, 0x00
- ,0x4f, 0xfe, 0x60, 0x00, 0x5e, 0xfd, 0xbf, 0xf5, 0x00, 0x00, 0x03, 0xef, 0xf7, 0x00
- ,0x09, 0xff, 0xff, 0xdf, 0xff, 0xf3, 0x2f, 0xff, 0xb6, 0x56, 0xbf, 0xff, 0xc0, 0x00
- ,0x00, 0x8f, 0xff, 0xff, 0xfe, 0x40, 0x04, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x00
- ,0x00, 0x02, 0x8c, 0xdb, 0x71, 0x00, 0x00, 0x2b, 0xff, 0xff, 0xfe, 0x80, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x66, 0x30, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xef, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xaf, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0xff, 0xd4, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x06, 0xef, 0xf8, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x02, 0xbf, 0xfc, 0x30, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x7f, 0xff, 0x70, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x2c, 0xff, 0xb2, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x07, 0xff, 0xe6, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x03, 0xcf, 0xfa, 0x10, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x8f, 0xff, 0xea, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xef, 0xea, 0xaa, 0xaa, 0xaa, 0x00
- ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
- ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
- ,0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0xdf, 0xd4, 0x44, 0x44, 0x44, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x70, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x12, 0x34, 0x56, 0x72, 0x00, 0x00, 0x00, 0x03, 0xf8, 0x00, 0x00
- ,0xab, 0xcd, 0xef, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x1e, 0xff, 0x80, 0x00
- ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x00, 0x00, 0x00, 0x28, 0xff, 0xf3, 0x00
- ,0xff, 0xda, 0xa9, 0x87, 0x67, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfb, 0x00
- ,0xff, 0x70, 0x00, 0x00, 0x06, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x10
- ,0xff, 0x70, 0x00, 0x00, 0x0b, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0x50
- ,0xff, 0x70, 0x00, 0x00, 0x0d, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
- ,0xff, 0x70, 0x00, 0x00, 0x0e, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
- ,0xff, 0x70, 0x00, 0x00, 0x0e, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0xff, 0x70, 0x00, 0x00, 0x0b, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x30
- ,0xff, 0x70, 0x00, 0x00, 0x06, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xfd, 0x00
- ,0xff, 0x70, 0x00, 0x00, 0x00, 0xdf, 0xfd, 0x40, 0x00, 0x00, 0x29, 0xff, 0xf5, 0x00
- ,0xff, 0x70, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0xba, 0xbd, 0xff, 0xff, 0x90, 0x00
- ,0xff, 0x70, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00
- ,0x55, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xdf, 0xff, 0xff, 0xea, 0x30, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x42, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x33, 0x33, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x49, 0xce, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x71, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00
- ,0x00, 0x3d, 0xff, 0xff, 0xfc, 0xba, 0xff, 0xfb, 0xab, 0xef, 0xff, 0xfd, 0x20, 0x00
- ,0x04, 0xff, 0xfe, 0x83, 0x00, 0x1c, 0xfd, 0x20, 0x00, 0x02, 0x8e, 0xff, 0xd1, 0x00
- ,0x1e, 0xff, 0x90, 0x00, 0x00, 0xbf, 0xe1, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf9, 0x00
- ,0xaf, 0xf7, 0x00, 0x00, 0x05, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
- ,0xff, 0xb0, 0x00, 0x00, 0x0a, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
- ,0xff, 0x50, 0x00, 0x00, 0x0d, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
- ,0xff, 0x20, 0x00, 0x00, 0x0d, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x60
- ,0xff, 0x30, 0x00, 0x00, 0x0a, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x30
- ,0xff, 0x70, 0x00, 0x00, 0x05, 0xff, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xfd, 0x00
- ,0xef, 0xe1, 0x00, 0x00, 0x00, 0xcf, 0xfd, 0x50, 0x00, 0x00, 0x28, 0xff, 0xf4, 0x00
- ,0x7f, 0xfd, 0x00, 0x00, 0x00, 0x2d, 0xff, 0xff, 0xdb, 0xcd, 0xff, 0xff, 0x70, 0x00
- ,0x0c, 0xd2, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xe5, 0x00, 0x00
- ,0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x03, 0x9d, 0xff, 0xfe, 0xb6, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0xcc, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00
- ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xef, 0x00
- ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x9e, 0xff, 0xff, 0x00
- ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xdf, 0xff, 0xff, 0xfe, 0x00
- ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7d, 0xff, 0xff, 0xff, 0xd9, 0x40, 0x00
- ,0xff, 0x90, 0x00, 0x00, 0x00, 0x05, 0xbf, 0xff, 0xff, 0xfd, 0x83, 0x00, 0x00, 0x00
- ,0xff, 0x90, 0x00, 0x00, 0x39, 0xef, 0xff, 0xff, 0xe8, 0x30, 0x00, 0x00, 0x00, 0x00
- ,0xff, 0x90, 0x00, 0x6c, 0xff, 0xff, 0xfe, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0xff, 0x92, 0x8e, 0xff, 0xff, 0xfb, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0xff, 0xef, 0xff, 0xff, 0xd7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0xff, 0xff, 0xff, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0xff, 0xfd, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0xba, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x67, 0x62, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x24, 0x42, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xff, 0xff, 0xb2, 0x00, 0x00
- ,0x00, 0x3c, 0xff, 0xff, 0xc4, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xfe, 0x30, 0x00
- ,0x05, 0xff, 0xff, 0xff, 0xff, 0x70, 0x08, 0xff, 0xfb, 0x77, 0xaf, 0xff, 0xe1, 0x00
- ,0x3f, 0xff, 0xa7, 0x8d, 0xff, 0xf6, 0x4f, 0xfc, 0x20, 0x00, 0x02, 0xdf, 0xf9, 0x00
- ,0xbf, 0xe3, 0x00, 0x00, 0x8f, 0xfe, 0xdf, 0xb0, 0x00, 0x00, 0x00, 0x2e, 0xff, 0x00
- ,0xff, 0x60, 0x00, 0x00, 0x08, 0xff, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x08, 0xff, 0x40
- ,0xff, 0x10, 0x00, 0x00, 0x00, 0xcf, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0xff, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x60
- ,0xff, 0x20, 0x00, 0x00, 0x00, 0x5f, 0xff, 0x10, 0x00, 0x00, 0x00, 0x05, 0xff, 0x50
- ,0xff, 0x80, 0x00, 0x00, 0x03, 0xef, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x20
- ,0xdf, 0xf6, 0x00, 0x00, 0x5e, 0xfc, 0xcf, 0xf8, 0x00, 0x00, 0x00, 0x4f, 0xfd, 0x00
- ,0x4f, 0xff, 0xc8, 0x9d, 0xff, 0xf3, 0x3f, 0xff, 0xa2, 0x00, 0x06, 0xff, 0xf5, 0x00
- ,0x07, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x06, 0xff, 0xff, 0xdc, 0xef, 0xff, 0xa0, 0x00
- ,0x00, 0x4c, 0xff, 0xff, 0x91, 0x00, 0x00, 0x5e, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00
- ,0x00, 0x00, 0x24, 0x30, 0x00, 0x00, 0x00, 0x01, 0x8e, 0xff, 0xfb, 0x40, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x02, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x01, 0x7d, 0xff, 0xff, 0xea, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00
- ,0x00, 0x6e, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xe2, 0x00
- ,0x08, 0xff, 0xff, 0xb9, 0x9b, 0xef, 0xff, 0xc0, 0x00, 0x00, 0x00, 0xbf, 0xfa, 0x00
- ,0x4f, 0xff, 0x70, 0x00, 0x00, 0x05, 0xef, 0xf8, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x10
- ,0xdf, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xff, 0x10, 0x00, 0x00, 0x06, 0xff, 0x50
- ,0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x70, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0xff, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x70, 0x00, 0x00, 0x07, 0xff, 0x40
- ,0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x40, 0x00, 0x00, 0x0d, 0xfe, 0x00
- ,0xef, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xfd, 0x00, 0x00, 0x00, 0x9f, 0xf8, 0x00
- ,0x7f, 0xfd, 0x30, 0x00, 0x00, 0x00, 0x7f, 0xf4, 0x00, 0x00, 0x1a, 0xff, 0xd1, 0x00
- ,0x0b, 0xff, 0xfb, 0x52, 0x00, 0x08, 0xff, 0x60, 0x13, 0x6a, 0xff, 0xfe, 0x20, 0x00
- ,0x00, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xc2, 0x00, 0x00
- ,0x00, 0x04, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x02, 0x69, 0xcd, 0xef, 0xff, 0xed, 0xb9, 0x62, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- };
-
-#if 0
-#pragma romdata font_incon_42 = 0x0E000
- rom const rom unsigned char incon42[] =
- {
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x03, 0x7a, 0xcd, 0xee, 0xdc, 0xa8, 0x40, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x18, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x92, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x07, 0xef, 0xff, 0xff, 0xdc, 0xbb, 0xce, 0xff, 0xff, 0xff, 0x91, 0x00, 0x00
- ,0x00, 0x00, 0xbf, 0xff, 0xc7, 0x20, 0x00, 0x00, 0x00, 0x1c, 0xff, 0xff, 0xfd, 0x20, 0x00
- ,0x00, 0x0b, 0xff, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x02, 0xcf, 0xfc, 0x6e, 0xff, 0xd1, 0x00
- ,0x00, 0x7f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0xff, 0x90, 0x01, 0xbf, 0xfa, 0x00
- ,0x00, 0xef, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xe5, 0x00, 0x00, 0x0d, 0xff, 0x20
- ,0x03, 0xff, 0x60, 0x00, 0x00, 0x00, 0x02, 0xcf, 0xfc, 0x20, 0x00, 0x00, 0x05, 0xff, 0x60
- ,0x04, 0xff, 0x40, 0x00, 0x00, 0x00, 0x5e, 0xff, 0x90, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
- ,0x02, 0xff, 0x80, 0x00, 0x00, 0x08, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
- ,0x00, 0xcf, 0xf3, 0x00, 0x01, 0xcf, 0xfd, 0x30, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
- ,0x00, 0x4f, 0xfe, 0x50, 0x4e, 0xff, 0xa1, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf8, 0x00
- ,0x00, 0x07, 0xff, 0xfd, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7e, 0xff, 0xb0, 0x00
- ,0x00, 0x00, 0x5e, 0xff, 0xff, 0xd8, 0x54, 0x33, 0x34, 0x58, 0xbf, 0xff, 0xfa, 0x00, 0x00
- ,0x00, 0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x50, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x01, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x40, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x46, 0x77, 0x65, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x1f, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x00
- ,0x00, 0x00, 0x9f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0x02, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0x0a, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0xbf, 0xfc, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x79, 0xff, 0x00
- ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
- ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
- ,0x00, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x36, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xcc, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0xff, 0x00
- ,0x00, 0x00, 0xbf, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0x00
- ,0x00, 0x0a, 0xff, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0x00
- ,0x00, 0x4f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xdb, 0xff, 0x00
- ,0x00, 0xcf, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xf8, 0x08, 0xff, 0x00
- ,0x01, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xfe, 0x40, 0x08, 0xff, 0x00
- ,0x04, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xd2, 0x00, 0x08, 0xff, 0x00
- ,0x04, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xfd, 0x10, 0x00, 0x08, 0xff, 0x00
- ,0x03, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xd1, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xfe, 0x20, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x00, 0x9f, 0xfa, 0x00, 0x00, 0x00, 0x1a, 0xff, 0xe2, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x00, 0x2e, 0xff, 0xd6, 0x21, 0x38, 0xef, 0xfd, 0x20, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x00, 0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x00, 0x00, 0x3d, 0xff, 0xff, 0xff, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x59, 0xbb, 0x95, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0x30, 0x00
- ,0x00, 0x04, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xd0, 0x00
- ,0x00, 0x1e, 0xfe, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xf8, 0x00
- ,0x00, 0x7f, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xfe, 0x00
- ,0x00, 0xdf, 0xc0, 0x00, 0x00, 0x00, 0x07, 0x95, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0x30
- ,0x01, 0xff, 0x70, 0x00, 0x00, 0x00, 0x0c, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0x03, 0xff, 0x50, 0x00, 0x00, 0x00, 0x0e, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
- ,0x03, 0xff, 0x60, 0x00, 0x00, 0x00, 0x2f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0x01, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0x30
- ,0x00, 0xbf, 0xf4, 0x00, 0x00, 0x02, 0xef, 0xff, 0x70, 0x00, 0x00, 0x00, 0x2f, 0xfe, 0x00
- ,0x00, 0x4f, 0xfe, 0x60, 0x00, 0x5e, 0xfd, 0xbf, 0xf5, 0x00, 0x00, 0x03, 0xef, 0xf7, 0x00
- ,0x00, 0x09, 0xff, 0xff, 0xdf, 0xff, 0xf3, 0x2f, 0xff, 0xb6, 0x56, 0xbf, 0xff, 0xc0, 0x00
- ,0x00, 0x00, 0x8f, 0xff, 0xff, 0xfe, 0x40, 0x04, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x00
- ,0x00, 0x00, 0x02, 0x8c, 0xdb, 0x71, 0x00, 0x00, 0x2b, 0xff, 0xff, 0xfe, 0x80, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x66, 0x30, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xef, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xaf, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0xff, 0xd4, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xef, 0xf8, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x02, 0xbf, 0xfc, 0x30, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x70, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x2c, 0xff, 0xb2, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x07, 0xff, 0xe6, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x03, 0xcf, 0xfa, 0x10, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x8f, 0xff, 0xea, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xef, 0xea, 0xaa, 0xaa, 0xaa, 0x00
- ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
- ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
- ,0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0xdf, 0xd4, 0x44, 0x44, 0x44, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x70, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x12, 0x34, 0x56, 0x72, 0x00, 0x00, 0x00, 0x03, 0xf8, 0x00, 0x00
- ,0x01, 0xab, 0xcd, 0xef, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x1e, 0xff, 0x80, 0x00
- ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x00, 0x00, 0x00, 0x28, 0xff, 0xf3, 0x00
- ,0x02, 0xff, 0xda, 0xa9, 0x87, 0x67, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfb, 0x00
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x06, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x10
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0b, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0x50
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0d, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0e, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0e, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0b, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x30
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x06, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xfd, 0x00
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x00, 0xdf, 0xfd, 0x40, 0x00, 0x00, 0x29, 0xff, 0xf5, 0x00
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0xba, 0xbd, 0xff, 0xff, 0x90, 0x00
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00
- ,0x01, 0x55, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xdf, 0xff, 0xff, 0xea, 0x30, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x42, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x33, 0x33, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x49, 0xce, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x71, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00
- ,0x00, 0x00, 0x3d, 0xff, 0xff, 0xfc, 0xba, 0xff, 0xfb, 0xab, 0xef, 0xff, 0xfd, 0x20, 0x00
- ,0x00, 0x04, 0xff, 0xfe, 0x83, 0x00, 0x1c, 0xfd, 0x20, 0x00, 0x02, 0x8e, 0xff, 0xd1, 0x00
- ,0x00, 0x1e, 0xff, 0x90, 0x00, 0x00, 0xbf, 0xe1, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf9, 0x00
- ,0x00, 0xaf, 0xf7, 0x00, 0x00, 0x05, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
- ,0x01, 0xff, 0xb0, 0x00, 0x00, 0x0a, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
- ,0x04, 0xff, 0x50, 0x00, 0x00, 0x0d, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
- ,0x06, 0xff, 0x20, 0x00, 0x00, 0x0d, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x60
- ,0x06, 0xff, 0x30, 0x00, 0x00, 0x0a, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x30
- ,0x03, 0xff, 0x70, 0x00, 0x00, 0x05, 0xff, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xfd, 0x00
- ,0x00, 0xef, 0xe1, 0x00, 0x00, 0x00, 0xcf, 0xfd, 0x50, 0x00, 0x00, 0x28, 0xff, 0xf4, 0x00
- ,0x00, 0x7f, 0xfd, 0x00, 0x00, 0x00, 0x2d, 0xff, 0xff, 0xdb, 0xcd, 0xff, 0xff, 0x70, 0x00
- ,0x00, 0x0c, 0xd2, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xe5, 0x00, 0x00
- ,0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x03, 0x9d, 0xff, 0xfe, 0xb6, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x02, 0xcc, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00
- ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xef, 0x00
- ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x9e, 0xff, 0xff, 0x00
- ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xdf, 0xff, 0xff, 0xfe, 0x00
- ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7d, 0xff, 0xff, 0xff, 0xd9, 0x40, 0x00
- ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x05, 0xbf, 0xff, 0xff, 0xfd, 0x83, 0x00, 0x00, 0x00
- ,0x02, 0xff, 0x90, 0x00, 0x00, 0x39, 0xef, 0xff, 0xff, 0xe8, 0x30, 0x00, 0x00, 0x00, 0x00
- ,0x02, 0xff, 0x90, 0x00, 0x6c, 0xff, 0xff, 0xfe, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x02, 0xff, 0x92, 0x8e, 0xff, 0xff, 0xfb, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x02, 0xff, 0xef, 0xff, 0xff, 0xd7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x02, 0xff, 0xff, 0xff, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x02, 0xff, 0xfd, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x02, 0xba, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x67, 0x62, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x24, 0x42, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xff, 0xff, 0xb2, 0x00, 0x00
- ,0x00, 0x00, 0x3c, 0xff, 0xff, 0xc4, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xfe, 0x30, 0x00
- ,0x00, 0x05, 0xff, 0xff, 0xff, 0xff, 0x70, 0x08, 0xff, 0xfb, 0x77, 0xaf, 0xff, 0xe1, 0x00
- ,0x00, 0x3f, 0xff, 0xa7, 0x8d, 0xff, 0xf6, 0x4f, 0xfc, 0x20, 0x00, 0x02, 0xdf, 0xf9, 0x00
- ,0x00, 0xbf, 0xe3, 0x00, 0x00, 0x8f, 0xfe, 0xdf, 0xb0, 0x00, 0x00, 0x00, 0x2e, 0xff, 0x00
- ,0x01, 0xff, 0x60, 0x00, 0x00, 0x08, 0xff, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x08, 0xff, 0x40
- ,0x05, 0xff, 0x10, 0x00, 0x00, 0x00, 0xcf, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0x06, 0xff, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x60
- ,0x06, 0xff, 0x20, 0x00, 0x00, 0x00, 0x5f, 0xff, 0x10, 0x00, 0x00, 0x00, 0x05, 0xff, 0x50
- ,0x03, 0xff, 0x80, 0x00, 0x00, 0x03, 0xef, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x20
- ,0x00, 0xdf, 0xf6, 0x00, 0x00, 0x5e, 0xfc, 0xcf, 0xf8, 0x00, 0x00, 0x00, 0x4f, 0xfd, 0x00
- ,0x00, 0x4f, 0xff, 0xc8, 0x9d, 0xff, 0xf3, 0x3f, 0xff, 0xa2, 0x00, 0x06, 0xff, 0xf5, 0x00
- ,0x00, 0x07, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x06, 0xff, 0xff, 0xdc, 0xef, 0xff, 0xa0, 0x00
- ,0x00, 0x00, 0x4c, 0xff, 0xff, 0x91, 0x00, 0x00, 0x5e, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x24, 0x30, 0x00, 0x00, 0x00, 0x01, 0x8e, 0xff, 0xfb, 0x40, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x02, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x01, 0x7d, 0xff, 0xff, 0xea, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00
- ,0x00, 0x00, 0x6e, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xe2, 0x00
- ,0x00, 0x08, 0xff, 0xff, 0xb9, 0x9b, 0xef, 0xff, 0xc0, 0x00, 0x00, 0x00, 0xbf, 0xfa, 0x00
- ,0x00, 0x4f, 0xff, 0x70, 0x00, 0x00, 0x05, 0xef, 0xf8, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x10
- ,0x00, 0xdf, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xff, 0x10, 0x00, 0x00, 0x06, 0xff, 0x50
- ,0x03, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0x05, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x70, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0x06, 0xff, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x70, 0x00, 0x00, 0x07, 0xff, 0x40
- ,0x04, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x40, 0x00, 0x00, 0x0d, 0xfe, 0x00
- ,0x00, 0xef, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xfd, 0x00, 0x00, 0x00, 0x9f, 0xf8, 0x00
- ,0x00, 0x7f, 0xfd, 0x30, 0x00, 0x00, 0x00, 0x7f, 0xf4, 0x00, 0x00, 0x1a, 0xff, 0xd1, 0x00
- ,0x00, 0x0b, 0xff, 0xfb, 0x52, 0x00, 0x08, 0xff, 0x60, 0x13, 0x6a, 0xff, 0xfe, 0x20, 0x00
- ,0x00, 0x00, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xc2, 0x00, 0x00
- ,0x00, 0x00, 0x04, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x02, 0x69, 0xcd, 0xef, 0xff, 0xed, 0xb9, 0x62, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- };
-#endif
-
-// **********************
-// **********************
-// ** THE JUMP-IN CODE **
-// ** for the asm code **
-// **********************
-// **********************
-#pragma code main_calc_hauptroutine = 0x10000
-void main_calc_hauptroutine(void)
-{
-calc_hauptroutine();
-int_O_desaturation_time = 65535;
-}				// divemode
-#pragma code main_without_deco = 0x10020
-void main_calc_without_deco(void)
-{
-calc_without_deco();
-calc_desaturation_time();
-}
-
-#pragma code main_clear_CNS_fraction = 0x10030
-void main_clear_CNS_fraction(void)
-{
-clear_CNS_fraction();
-}
-
-#pragma code main_calc_CNS_decrease_15min = 0x10034
-void main_calc_CNS_decrease_15min(void)
-{
-calc_CNS_decrease_15min();
-}
-
-#pragma code main_calc_percentage = 0x10038
-void main_calc_percentage (void)
-{
-calc_percentage();
-}
-
-#pragma code main_clear_tissue = 0x10040
-void main_clear_tissue(void)
-{
-clear_tissue();
-char_I_depth_last_deco	= 0;		// for compatibility with v.101pre_no_last_deco
-}
-
-#pragma code main_calc_CNS_fraction = 0x10050
-void main_calc_CNS_fraction(void)
-{
-calc_CNS_fraction();
-}
-
-#pragma code main_calc_desaturation_time = 0x10060
-void main_calc_desaturation_time(void)
-{
-calc_desaturation_time();
-}
-
-#pragma code main_calc_wo_deco_step_1_min = 0x10080
-void main_calc_wo_deco_step_1_min(void)
-{
-calc_wo_deco_step_1_min();
-char_O_deco_status = 3; // surface new in v.102 overwrites value of calc_wo_deco_step_1_min
-calc_desaturation_time();
-}			// surface mode
-
-#pragma code main_debug = 0x100A0
-void main_debug(void)
-{
-//debug();
-}
-
-#pragma code main_DD2_write_incon42 = 0x100B0
-void main_DD2_write_incon42(void)
-{
-	DD2_write_incon42();
-}
-
-#pragma code main_DD2_write_incon24 = 0x100B4
-void main_DD2_write_incon24(void)
-{
-	DD2_write_incon24();
-}
-
-#pragma code main_gradient_array = 0x100C0
-void main_gradient_array(void)
-{
-calc_gradient_array_only();
-}
-#pragma code main_push_tissues = 0x100C4
-void main_push_tissues_to_vault(void)
-{
-	push_tissues_to_vault();
-}
-#pragma code main_pull_tissues = 0x100C8
-void main_pull_tissues_from_vault(void)
-{
-	pull_tissues_from_vault();
-}
-
-#pragma code main_hash = 0x100E0
-void main_hash(void)
-{
-hash();
-}
-
-// ***********************
-// ***********************
-// ** THE LOOKUP TABLES **
-// ***********************
-// ***********************
-
-#pragma romdata tables = 0x10200
-#include	<p2_tables.romdata> 		// new table for deco_main_v.101 (var_a modified)
-
-#pragma romdata tables2 = 0x10600
-rom const rom unsigned int md_pi[] =
-{
-    0x292E, 0x43C9, 0xA2D8, 0x7C01, 0x3D36, 0x54A1, 0xECF0, 0x0613
-  , 0x62A7, 0x05F3, 0xC0C7, 0x738C, 0x9893, 0x2BD9, 0xBC4C, 0x82CA
-  , 0x1E9B, 0x573C, 0xFDD4, 0xE016, 0x6742, 0x6F18, 0x8A17, 0xE512
-  , 0xBE4E, 0xC4D6, 0xDA9E, 0xDE49, 0xA0FB, 0xF58E, 0xBB2F, 0xEE7A
-  , 0xA968, 0x7991, 0x15B2, 0x073F, 0x94C2, 0x1089, 0x0B22, 0x5F21
-  , 0x807F, 0x5D9A, 0x5A90, 0x3227, 0x353E, 0xCCE7, 0xBFF7, 0x9703
-  , 0xFF19, 0x30B3, 0x48A5, 0xB5D1, 0xD75E, 0x922A, 0xAC56, 0xAAC6
-  , 0x4FB8, 0x38D2, 0x96A4, 0x7DB6, 0x76FC, 0x6BE2, 0x9C74, 0x04F1
-  , 0x459D, 0x7059, 0x6471, 0x8720, 0x865B, 0xCF65, 0xE62D, 0xA802
-  , 0x1B60, 0x25AD, 0xAEB0, 0xB9F6, 0x1C46, 0x6169, 0x3440, 0x7E0F
-  , 0x5547, 0xA323, 0xDD51, 0xAF3A, 0xC35C, 0xF9CE, 0xBAC5, 0xEA26
-  , 0x2C53, 0x0D6E, 0x8528, 0x8409, 0xD3DF, 0xCDF4, 0x4181, 0x4D52
-  , 0x6ADC, 0x37C8, 0x6CC1, 0xABFA, 0x24E1, 0x7B08, 0x0CBD, 0xB14A
-  , 0x7888, 0x958B, 0xE363, 0xE86D, 0xE9CB, 0xD5FE, 0x3B00, 0x1D39
-  , 0xF2EF, 0xB70E, 0x6658, 0xD0E4, 0xA677, 0x72F8, 0xEB75, 0x4B0A
-  , 0x3144, 0x50B4, 0x8FED, 0x1F1A, 0xDB99, 0x8D33, 0x9F11, 0x8314
-};
-
-// *********************
-// *********************
-// ** THE SUBROUTINES **
-// *********************
-// *********************
-
-#pragma code subroutines = 0x10700	// can be adapted to fit the romdata tables ahead
-
-
-// ---------------
-// CLEAR tissue //
-// ---------------
-// optimized in v.101 (var_a)
-
-void clear_tissue(void)    // preload tissues with standard pressure for the given ambient pressure
-{
-
-	flag_in_divemode = 0;
-	int_O_DBS_bitfield = 0;
-	int_O_DBS2_bitfield = 0;
-	int_O_DBG_pre_bitfield = 0;
-	int_O_DBG_post_bitfield = 0;
-	char_O_NDL_at_20mtr = 255;
-
-_asm
-lfsr 1, 0x300 // C math routines shall use this variable bank
-movlw	0x01
-movwf	TBLPTRU,0
-_endasm
-
-// N2_ratio = (float)char_I_N2_ratio; // the 0.0002 of 0.7902 are missing with standard air
- N2_ratio = 0.7902; // N2_ratio / 100.0;
- pres_respiration = (float)int_I_pres_respiration / 1000.0;
-for (ci=0;ci<16;ci++)  // cycle through the 16 b"uhlmann tissues
-{
- pres_tissue[ci] =  N2_ratio * (pres_respiration -  0.0627) ;
-_asm
-movlw	0x02
-movwf	TBLPTRH,0
-movlb	4 // fuer ci
-movf ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addlw	0x80
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_a+1
-TBLRDPOSTINC
-movff	TABLAT,var_a
-TBLRDPOSTINC
-movff	TABLAT,var_a+3
-TBLRD
-movff	TABLAT,var_a+2
-addlw	0x80
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_b+1
-TBLRDPOSTINC
-movff	TABLAT,var_b
-TBLRDPOSTINC
-movff	TABLAT,var_b+3
-TBLRD
-movff	TABLAT,var_b+2
-_endasm
-
-pres_tissue_limit[ci] = (pres_tissue[ci] - var_a) * var_b ;
-// now update the guiding tissue
-if (pres_tissue_limit[ci] < 0)
-pres_tissue_limit[ci] = 0;
-} // for 0 to 16
-
-for (ci=16;ci<32;ci++)  // cycle through the 16 b"uhlmann tissues for Helium
-{
- pres_tissue[ci] = 0.0;
-}  // for
-
- clear_decoarray();
- char_O_deco_status = 0;
- char_O_nullzeit = 0;
- char_O_ascenttime = 0;
- char_O_gradient_factor = 0;
- char_O_relative_gradient_GF = 0;
-} // clear_tissue(void)
-
-
-// --------------------
-// calc_without_deco //
-// fixed N2_ratio !  //
-// --------------------
-// optimized in v.101 (float_..saturation_multiplier)
-
-void calc_without_deco(void)
-{
-_asm
- lfsr 1, 0x300
-_endasm
- N2_ratio = 0.7902; // FIXED RATIO !! sum as stated in b"uhlmann
- pres_respiration = (float)int_I_pres_respiration / 1000.0; // assembler code uses different digit system
- pres_surface = (float)int_I_pres_surface / 1000.0;
- temp_atem = N2_ratio * (pres_respiration - 0.0627); // 0.0627 is the extra pressure in the body
- temp2_atem = 0.0;
- temp_surface = pres_surface; // the b"uhlmann formula using temp_surface does apply to the pressure without any inert ratio
- float_desaturation_multiplier = char_I_desaturation_multiplier / 100.0;
- float_saturation_multiplier = char_I_saturation_multiplier / 100.0;
-
- calc_tissue();  // update the pressure in the 16 tissues in accordance with the new ambient pressure
-
- clear_decoarray();
- char_O_deco_status = 0;
- char_O_nullzeit = 0;
- char_O_ascenttime = 0;
- calc_gradient_factor();
-
-} // calc_without_deco
-
-
-// --------------------
-// calc_hauptroutine //
-// --------------------
-// this is the major code in dive mode
-// calculates:
-// 		the tissues,
-//		the bottom time
-//		and simulates the ascend with all deco stops
-
-void calc_hauptroutine(void)
-{
-	calc_hauptroutine_data_input();
-
-	if(!flag_in_divemode)
-	{
-		flag_in_divemode = 1;
-		create_dbs_set_dbg_and_ndl20mtr();
-	}
-	else
-		check_pre_dbg();
-
-	calc_hauptroutine_update_tissues();
-	calc_gradient_factor();
-
-
-	switch (char_O_deco_status)	// toggle between calculation for nullzeit (bottom time), deco stops and more deco stops (continue)
-	{
- 		case 0:
-			update_startvalues();
-			calc_nullzeit();
-			check_ndl();
-			char_O_deco_status = 255; // calc deco next time
-			break;
-		case 1:
-			if (char_O_deco_status == 3)
-				break;
-			char_O_deco_status = 0;
-//			char_O_lock_depth_list = 255;
-			calc_hauptroutine_calc_deco();
-//			build_debug_output();
-			break;
-		case 3:				// new dive
-			clear_decoarray();
-			clear_internal_deco_table_GF();
-			copy_deco_table_GF();
-			internal_deco_pointer = 0;
-			lock_GF_depth_list = 0;
-			update_startvalues();
-			calc_nextdecodepth_GF();
-			char_O_deco_status = 0;
-			break;
-		default:
-			update_startvalues();
-			clear_decoarray();
-			clear_internal_deco_table_GF();
-			output[6] = 1;
-			calc_hauptroutine_calc_ascend_to_deco();
- 			if (char_O_deco_status > 15)		// can't go up to first deco, too deep to calculate in the given time slot
-			{
-				char_O_deco_status = 2;
-//				char_O_lock_depth_list = 255;
-			}
- 			else
-			{
-//				char_O_lock_depth_list = lock_GF_depth_list;
-				calc_hauptroutine_calc_deco();
-			}
-//			build_debug_output();
-			break;
-	}
-	calc_ascenttime();
-	check_post_dbg();
-}
-
-void calc_hauptroutine_data_input(void)
-{
- pres_respiration = (float)int_I_pres_respiration / 1000.0;
- pres_surface = (float)int_I_pres_surface / 1000.0;
-
- N2_ratio = (float)char_I_N2_ratio / 100.0;; // the 0.0002 of 0.7902 are missing with standard air
- He_ratio = (float)char_I_He_ratio / 100.0;;
- deco_N2_ratio = (float)char_I_deco_N2_ratio / 100.0;
- deco_He_ratio = (float)char_I_deco_He_ratio / 100.0;
- float_deco_distance = (float)char_I_deco_distance / 100.0;
- if(char_I_deco_gas_change)
- {
-	 deco_gas_change = (float)char_I_deco_gas_change / 9.995 + pres_surface;
-	 deco_gas_change = deco_gas_change + float_deco_distance;
- }
- else
-	deco_gas_change = 0;
- const_ppO2 = (float)char_I_const_ppO2 / 100.0;
- deco_ppO2_change = (float)char_I_deco_ppO2_change / 99.95 + pres_surface;
- deco_ppO2_change = deco_ppO2_change + float_deco_distance;
- deco_ppO2 = (float)char_I_deco_ppO2 / 100.0;
- float_desaturation_multiplier = char_I_desaturation_multiplier / 100.0;
- float_saturation_multiplier = char_I_saturation_multiplier / 100.0;
- GF_low = (float)char_I_GF_Low_percentage / 100.0;
- GF_high = (float)char_I_GF_High_percentage / 100.0;
- GF_delta = GF_high - GF_low;
-
- temp2 = (pres_respiration - pres_surface) / 0.29985;
- int_temp = (int)(temp2);
- if (int_temp < 0)
-	int_temp = 0;
- if (int_temp > 255)
-	int_temp = 255;
- char_O_actual_pointer = int_temp;
-
- temp_depth_last_deco = (int)char_I_depth_last_deco;
-}
-
-void calc_hauptroutine_update_tissues(void)
-{
-	int_O_calc_tissue_call_counter = int_O_calc_tissue_call_counter + 1;
- 	if (char_I_const_ppO2 == 0)																// new in v.101
-  		pres_diluent = pres_respiration;															// new in v.101
- 	else																						// new in v.101
-  		pres_diluent = ((pres_respiration - const_ppO2)/(N2_ratio + He_ratio));					// new in v.101
- 	if (pres_diluent > pres_respiration)														// new in v.101
-  		pres_diluent = pres_respiration;															// new in v.101
- 	if (pres_diluent > 0.0627)																	// new in v.101
- 	{
- 		temp_atem = N2_ratio * (pres_diluent - 0.0627);											// changed in v.101
- 		temp2_atem = He_ratio * (pres_diluent - 0.0627);											// changed in v.101
- 		char_O_diluent = (char)(pres_diluent/pres_respiration*100.0);
- 	}
- 	else																						// new in v.101
- 	{
- 		temp_atem = 0.0;																			// new in v.101
- 		temp2_atem = 0.0;																			// new in v.101
- 		char_O_diluent = 0;
- 	}
- 	temp_surface = pres_surface;
- 	calc_tissue();
- 	int_O_gtissue_limit = (int)(pres_tissue_limit[char_O_gtissue_no] * 1000);
-	int_O_gtissue_press = (int)((pres_tissue[char_O_gtissue_no] + pres_tissue[char_O_gtissue_no+16]) * 1000);
- 	if (char_I_deco_model == 1)
- 	{
-		temp1 = temp1 * GF_high;
- 	}
-	else
-	{
-	temp1 = temp_surface;
-	}
-	if (pres_gtissue_limit > temp1 && char_O_deco_status == 0)  // if guiding tissue can not be exposed to surface pressure immediately
- 	{
-  		char_O_nullzeit = 0; // deco necessary
-  		char_O_deco_status = 255; // calculate deco skip nullzeit calculation
- 	}
-} 		// calc_hauptroutine_update_tissues
-void calc_hauptroutine_calc_deco(void)
-{
- 	do
-  	{
-  		int_temp_decostatus = 0;
-  		calc_nextdecodepth_GF();
-  		if (temp_depth_limit > 0)
-   		{
-    		if (char_I_const_ppO2 == 0)																// new in v.101
-	 		{
-     			deco_diluent = temp_deco;																// new in v.101
-	 			if (temp_deco > deco_gas_change)
-	  			{
-	  				calc_N2_ratio = N2_ratio;
-	  				calc_He_ratio = He_ratio;
-	  			}
-	 			else
-	  			{
-	  				calc_N2_ratio = deco_N2_ratio;
-	  				calc_He_ratio = deco_He_ratio;
-	  			}
-	 		}
-    		else																					// new in v.101
-	 		{
-	 			calc_N2_ratio = N2_ratio;
-	 			calc_He_ratio = He_ratio;
-	 			if (temp_deco > deco_ppO2_change)
-				{
-      				deco_diluent = ((temp_deco - const_ppO2)/(N2_ratio + He_ratio));			// new in v.101
-				}
-	 			else
-				{
-      				deco_diluent = ((temp_deco - deco_ppO2)/(N2_ratio + He_ratio));			// new in v.101
-				}
-	 		}
-    		if (deco_diluent > temp_deco)															// new in v.101
-     			deco_diluent = temp_deco;																// new in v.101
- 			if (deco_diluent > 0.0627)																// new in v.101
-    		{
-     			temp_atem = calc_N2_ratio * (deco_diluent - 0.0627);										// changed in v.101
-				temp2_atem = calc_He_ratio * (deco_diluent - 0.0627);										// changed in v.101
-    		}
-    		else																					// new in v.101
-    		{
-     			temp_atem = 0.0;																		// new in v.101
-     			temp2_atem = 0.0;																		// new in v.101
-    		}
-   			sim_tissue_1min();
-			update_internal_deco_table_GF();
-   			temp_decotime = 1;
-   			update_decoarray();
-   			char_O_deco_status = char_O_deco_status + 1;
-   			if (char_O_deco_status < 16)
-     			int_temp_decostatus = 1;
-   		}
-  		else // if (temp_depth_limit > 0)
-		{
-   		char_O_deco_status = 0;
-		}
-	} while (int_temp_decostatus == 1);
-	if (char_O_deco_status > 15)
-	{
-   		char_O_deco_status = 1;
-	}
-  	else
-  	{
-		copy_deco_table_GF();
-		char_O_deco_status = 0;
-  	}
-}
-
-void calc_hauptroutine_calc_ascend_to_deco(void)
-{
- 	update_startvalues();
- 	char_O_deco_status = 0;
-   	temp_deco = pres_respiration;
- 	lock_GF_depth_list = 1; 																// new in v.102
- 	do								// go up to first deco
-  	{
-  		int_temp_decostatus = 0;
-  		temp_deco = temp_deco - 1.0;
-  		if ( char_I_deco_model == 1)																// new in v.102 , 4 = deep stops
-			temp_limit = temp_pres_gtissue_limit_GF_low;
-  		else
-			temp_limit = temp_pres_gtissue_limit;
-  		if ((temp_deco > temp_limit) && (temp_deco > pres_surface)) 								// changes in v.102
-   		{
-   			lock_GF_depth_list = 0; 																	// new in v.102, distance to first stop > 10 mtr.
-			output[6] = 0;
-  		 	if (char_I_const_ppO2 == 0)																// new in v.101 // calculate at half of the ascent
-			{
-    			deco_diluent = temp_deco + 0.5;															// new in v.101
-				if (temp_deco + 0.5 > deco_gas_change)
-	 			{
-	 				calc_N2_ratio = N2_ratio;
-	 				calc_He_ratio = He_ratio;
-	 			}
-				else
-	 			{
-	 				calc_N2_ratio = deco_N2_ratio;
-	 				calc_He_ratio = deco_He_ratio;
-	 			}
-			}
-   			else																						// new in v.101
-			{
-					calc_N2_ratio = N2_ratio;
-					calc_He_ratio = He_ratio;
-					if (temp_deco + 0.5 > deco_ppO2_change)
-     					deco_diluent = ((temp_deco + 0.5 - const_ppO2)/(N2_ratio + He_ratio));	// new in v.101 // calculate at half of the ascent
-					else
-     					deco_diluent = ((temp_deco + 0.5 - deco_ppO2)/(N2_ratio + He_ratio));	// new in v.101 // calculate at half of the ascent
-    				if (deco_diluent > (temp_deco +0.5))															// new in v.101
-     					deco_diluent = temp_deco + 0.5;															// new in v.101 // calculate at half of the ascent
-			}
-   			if (deco_diluent > 0.0627)																// new in v.101
-    		{
-    			temp_atem = calc_N2_ratio * (deco_diluent - 0.0627);											// changed in v.101
-    			temp2_atem = calc_He_ratio * (deco_diluent - 0.0627);										// changed in v.101
-    		}
-   			else																						// new in v.101
-    		{
-    			temp_atem = 0.0;																		// new in v.101
-    			temp2_atem = 0.0;																		// new in v.101
-    		}
-   			sim_tissue_1min();
-   			char_O_deco_status = char_O_deco_status + 1;
-   			if (char_O_deco_status < 16)  // 16 is the limit of calculations for one time slot
-    			int_temp_decostatus = 1;
-   		}
-	} while (int_temp_decostatus == 1);
-}	// calc_hauptroutine_calc_ascend_to_deco
-
-// --------------
-// calc_tissue //
-// --------------
-// optimized in v.101
-
-void calc_tissue(void)
-{
-_asm
-lfsr 1, 0x300
-movlw	0x01
-movwf	TBLPTRU,0
-_endasm
-
- char_O_gtissue_no = 255;
- pres_gtissue_limit = 0.0;
-
-for (ci=0;ci<16;ci++)
-{
-_asm
-movlw	0x02
-movwf	TBLPTRH,0
-movlb	4 // fuer ci
-movf ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_e2secs+1 // the order is confussing
-TBLRDPOSTINC
-movff	TABLAT,var_e2secs	// low byte first, high afterwards
-TBLRDPOSTINC
-movff	TABLAT,var_e2secs+3
-TBLRD
-movff	TABLAT,var_e2secs+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_e2secs+1
-TBLRDPOSTINC
-movff	TABLAT,var2_e2secs
-TBLRDPOSTINC
-movff	TABLAT,var2_e2secs+3
-TBLRD
-movff	TABLAT,var2_e2secs+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_a+1
-TBLRDPOSTINC
-movff	TABLAT,var_a
-TBLRDPOSTINC
-movff	TABLAT,var_a+3
-TBLRD
-movff	TABLAT,var_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_a+1
-TBLRDPOSTINC
-movff	TABLAT,var2_a
-TBLRDPOSTINC
-movff	TABLAT,var2_a+3
-TBLRD
-movff	TABLAT,var2_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_b+1
-TBLRDPOSTINC
-movff	TABLAT,var_b
-TBLRDPOSTINC
-movff	TABLAT,var_b+3
-TBLRD
-movff	TABLAT,var_b+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_b+1
-TBLRDPOSTINC
-movff	TABLAT,var2_b
-TBLRDPOSTINC
-movff	TABLAT,var2_b+3
-TBLRD
-movff	TABLAT,var2_b+2
-_endasm
- // the start values are the previous end values // write new values in temp
-
-	if(	(var_e2secs < 0.0000363)
-		|| (var_e2secs > 0.00577)
-		|| (var2_e2secs < 0.0000961)
-		|| (var2_e2secs > 0.150)
-		|| (var_a < 0.231)
-		|| (var_a > 1.27)
-		|| (var_b < 0.504)
-		|| (var_b > 0.966)
-		|| (var2_a < 0.510)
-		|| (var2_a > 1.75)
-		|| (var2_b < 0.423)
-		|| (var2_b > 0.927)
-		)
-		int_O_DBG_pre_bitfield |= DBG_ZH16ERR;
-
-// N2
- temp_tissue = (temp_atem - pres_tissue[ci]) * var_e2secs;
- temp_tissue_safety();
- pres_tissue[ci] = pres_tissue[ci] + temp_tissue;
-
-// He
- temp_tissue = (temp2_atem - pres_tissue[ci+16]) * var2_e2secs;
- temp_tissue_safety();
- pres_tissue[ci+16] = pres_tissue[ci+16] + temp_tissue;
-
- temp_tissue = pres_tissue[ci] + pres_tissue[ci+16];
-
- var_a = (var_a * pres_tissue[ci] + var2_a * pres_tissue[ci+16]) / temp_tissue;
- var_b = (var_b * pres_tissue[ci] + var2_b * pres_tissue[ci+16]) / temp_tissue;
- pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b;
- if (pres_tissue_limit[ci] < 0)
-  pres_tissue_limit[ci] = 0;
- if (pres_tissue_limit[ci] > pres_gtissue_limit)
-  {
-  pres_gtissue_limit = pres_tissue_limit[ci];
-  char_O_gtissue_no = ci;
-  }//if
-} // for
-}//calc_tissue(void)
-
-// ----------------
-// calc_nullzeit //
-// ----------------
-// calculates the remaining bottom time
-
-// unchanged in v.101
-
-void calc_nullzeit(void)
-{
-	char_O_nullzeit = 0;
-	int_temp = 1;
- 	do
-	{
-  		backup_sim_pres_tissue();
-  		sim_tissue_10min();
-  		char_O_nullzeit = char_O_nullzeit + 10;
-  		int_temp = int_temp + 1;
-		if (char_I_deco_model == 1)
-			temp1 = GF_high * temp_pres_gtissue_diff + temp_pres_gtissue;
-		else
-			temp1 = temp_pres_gtissue_limit;
-		if (temp1 > temp_surface)  // changed in v.102 , if guiding tissue can not be exposed to surface pressure immediately
-			int_temp = 255;
- 	} while (int_temp < 17);
- 	if (int_temp == 255)
- 	{
-  		restore_sim_pres_tissue();
-  		char_O_nullzeit = char_O_nullzeit - 10;
- 	} //if int_temp == 255]
- 	int_temp = 1;
- 	if (char_O_nullzeit < 60)
- 	{
-  		do
-		{
-   			sim_tissue_1min();
-   			char_O_nullzeit = char_O_nullzeit + 1;
-   			int_temp = int_temp + 1;			// new in v.102a
-		if (char_I_deco_model == 1)
-			temp1 = GF_high * temp_pres_gtissue_diff + temp_pres_gtissue;
-		else
-			temp1 = temp_pres_gtissue_limit;
-		if (temp1 > temp_surface)  // changed in v.102 , if guiding tissue can not be exposed to surface pressure immediately
-			int_temp = 255;
-  		} while (int_temp < 10);
-  		if (int_temp == 255)
-   			char_O_nullzeit = char_O_nullzeit - 1;
- 	} // if char_O_nullzeit < 60
-} //calc_nullzeit
-
-// -------------------------
-// backup_sim_pres_tissue //
-// -------------------------
-void backup_sim_pres_tissue(void)
-{
-  for (x = 0;x<16;x++)
-  {
-   sim_pres_tissue_backup[x] = sim_pres_tissue[x];
-   sim_pres_tissue_backup[x+16] = sim_pres_tissue[x+16];
-  }
-} // backup_sim
-
-// --------------------------
-// restore_sim_pres_tissue //
-// --------------------------
-void restore_sim_pres_tissue(void)
-{
-  for (x = 0;x<16;x++)
-  {
-   sim_pres_tissue[x] = sim_pres_tissue_backup[x];
-   sim_pres_tissue[x+16] = sim_pres_tissue_backup[x+16];
-  }
-} // restore_sim
-
-// ------------------
-// calc_ascenttime //
-// ------------------
-
-void calc_ascenttime(void)
-{
-if (pres_respiration > pres_surface)
- {
- switch (char_O_deco_status)
-  {
-  case 2:
-	char_O_ascenttime = 255;
-	break;
-  case 1:
-	break;
-  default:
-	temp1 = pres_respiration - pres_surface + 0.6; // + 0.6 hence 1 minute ascent time from a depth of 4 meter on
-	if (temp1 < 0)
-		temp1 = 0;
-	if (temp1 > 255)
-		temp1 = 255;
-    char_O_ascenttime = (char)temp1;
-
-	for(ci=0;ci<7;ci++)
-	{
-	x = char_O_ascenttime + char_O_array_decotime[ci];
-	if (x < char_O_ascenttime)
-		char_O_ascenttime = 255;
-	else
-		char_O_ascenttime = x;
-	}
-  }
- }
-else
- char_O_ascenttime = 0;
-} // calc_ascenttime()
-
-
-// ---------------------
-// update_startvalues //
-// ---------------------
-// updated in v.102
-
-void update_startvalues(void)
-{
-  	temp_pres_gtissue_limit = pres_gtissue_limit;
-  	temp_pres_gtissue = pres_tissue[char_O_gtissue_no] + pres_tissue[char_O_gtissue_no+16];
-  	temp_pres_gtissue_diff = temp_pres_gtissue_limit - temp_pres_gtissue;						// negative number
-	temp_pres_gtissue_limit_GF_low = GF_low * temp_pres_gtissue_diff + temp_pres_gtissue;
-  	temp_pres_gtissue_limit_GF_low_below_surface = temp_pres_gtissue_limit_GF_low - pres_surface;
-	if (temp_pres_gtissue_limit_GF_low_below_surface < 0)
-		temp_pres_gtissue_limit_GF_low_below_surface = 0;
-
-	temp_gtissue_no = char_O_gtissue_no;
-  	for (x = 0;x<16;x++)
-  	{
-   		sim_pres_tissue[x] = pres_tissue[x];
-   		sim_pres_tissue[x+16] = pres_tissue[x+16];
-   		sim_pres_tissue_limit[x] = pres_tissue_limit[x];
-  	}
-} // update_startvalues
-
-
-// ------------------
-// sim_tissue_1min //
-// ------------------
-// optimized in v.101
-
-void sim_tissue_1min(void)
-{
-temp_pres_gtissue_limit = 0.0;
-temp_gtissue_no = 255;
-
-_asm
-lfsr 1, 0x300
-movlw	0x01
-movwf	TBLPTRU,0
-_endasm
-
-
-for (ci=0;ci<16;ci++)
-{
-_asm
-movlw	0x02
-movwf	TBLPTRH,0
-movlb	4 // fuer ci
-movf ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addlw	0x80
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_a+1
-TBLRDPOSTINC
-movff	TABLAT,var_a
-TBLRDPOSTINC
-movff	TABLAT,var_a+3
-TBLRD
-movff	TABLAT,var_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_a+1
-TBLRDPOSTINC
-movff	TABLAT,var2_a
-TBLRDPOSTINC
-movff	TABLAT,var2_a+3
-TBLRD
-movff	TABLAT,var2_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_b+1
-TBLRDPOSTINC
-movff	TABLAT,var_b
-TBLRDPOSTINC
-movff	TABLAT,var_b+3
-TBLRD
-movff	TABLAT,var_b+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_b+1
-TBLRDPOSTINC
-movff	TABLAT,var2_b
-TBLRDPOSTINC
-movff	TABLAT,var2_b+3
-TBLRD
-movff	TABLAT,var2_b+2
-addlw	0xC0
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_e1min+1
-TBLRDPOSTINC
-movff	TABLAT,var_e1min
-TBLRDPOSTINC
-movff	TABLAT,var_e1min+3
-TBLRD
-movff	TABLAT,var_e1min+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min+1
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min+3
-TBLRD
-movff	TABLAT,var2_e1min+2
-_endasm
-// N2
- temp_tissue = (temp_atem - sim_pres_tissue[ci]) * var_e1min;
- temp_tissue_safety();
- sim_pres_tissue[ci] = sim_pres_tissue[ci] + temp_tissue;
-// He
- temp_tissue = (temp2_atem - sim_pres_tissue[ci+16]) * var2_e1min;
- temp_tissue_safety();
- sim_pres_tissue[ci+16] = sim_pres_tissue[ci+16] + temp_tissue;
-// pressure limit
- temp_tissue = sim_pres_tissue[ci] + sim_pres_tissue[ci+16];
- var_a = (var_a * sim_pres_tissue[ci] + var2_a * sim_pres_tissue[ci+16]) / temp_tissue;
- var_b = (var_b * sim_pres_tissue[ci] + var2_b * sim_pres_tissue[ci+16]) / temp_tissue;
- sim_pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b;
-
- if (sim_pres_tissue_limit[ci] < 0)
-  sim_pres_tissue_limit[ci] = 0;
- if (sim_pres_tissue_limit[ci] > temp_pres_gtissue_limit)
-  {
-  temp_pres_gtissue = temp_tissue;
-  temp_pres_gtissue_limit = sim_pres_tissue_limit[ci];
-  temp_gtissue_no = ci;
-  }
-} // for
-  	temp_pres_gtissue_diff = temp_pres_gtissue_limit - temp_pres_gtissue;
-	temp_pres_gtissue_limit_GF_low = GF_low * temp_pres_gtissue_diff + temp_pres_gtissue;
-  	temp_pres_gtissue_limit_GF_low_below_surface = temp_pres_gtissue_limit_GF_low - pres_surface;
-	if (temp_pres_gtissue_limit_GF_low_below_surface < 0)
-		temp_pres_gtissue_limit_GF_low_below_surface = 0;
-} //sim_tissue_1min()
-
-//--------------------
-// sim_tissue_10min //
-//--------------------
-
-// Attention!! uses var_e1min und var2_e1min to load 10min data !!!
-// is identical to sim_tissue_1min routine except for the different load of those variables
-
-// optimized in v.101
-
-void sim_tissue_10min(void)
-{
-temp_pres_gtissue_limit = 0.0;
-temp_gtissue_no = 255;
-
-_asm
-lfsr 1, 0x300
-movlw	0x01
-movwf	TBLPTRU,0
-_endasm
-
-for (ci=0;ci<16;ci++)
-{
-_asm
-movlw	0x02
-movwf	TBLPTRH,0
-movlb	4 // fuer ci
-movf ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addlw	0x80
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_a+1
-TBLRDPOSTINC
-movff	TABLAT,var_a
-TBLRDPOSTINC
-movff	TABLAT,var_a+3
-TBLRD
-movff	TABLAT,var_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_a+1
-TBLRDPOSTINC
-movff	TABLAT,var2_a
-TBLRDPOSTINC
-movff	TABLAT,var2_a+3
-TBLRD
-movff	TABLAT,var2_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_b+1
-TBLRDPOSTINC
-movff	TABLAT,var_b
-TBLRDPOSTINC
-movff	TABLAT,var_b+3
-TBLRD
-movff	TABLAT,var_b+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_b+1
-TBLRDPOSTINC
-movff	TABLAT,var2_b
-TBLRDPOSTINC
-movff	TABLAT,var2_b+3
-TBLRD
-movff	TABLAT,var2_b+2
-addlw	0xC0				// different to 1 min
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-incf	TBLPTRH,1,0			// different to 1 min
-TBLRDPOSTINC
-movff	TABLAT,var_e1min+1
-TBLRDPOSTINC
-movff	TABLAT,var_e1min
-TBLRDPOSTINC
-movff	TABLAT,var_e1min+3
-TBLRD
-movff	TABLAT,var_e1min+2
-addlw	0x40
-movwf	TBLPTRL,0
-//incf	TBLPTRH,1,0			// different to 1 min
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min+1
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min+3
-TBLRD
-movff	TABLAT,var2_e1min+2
-_endasm
-// N2
- temp_tissue = (temp_atem - sim_pres_tissue[ci]) * var_e1min;
- temp_tissue_safety();
- sim_pres_tissue[ci] = sim_pres_tissue[ci] + temp_tissue;
-// He
- temp_tissue = (temp2_atem - sim_pres_tissue[ci+16]) * var2_e1min;
- temp_tissue_safety();
- sim_pres_tissue[ci+16] = sim_pres_tissue[ci+16] + temp_tissue;
-// pressure limit
-temp_tissue = sim_pres_tissue[ci] + sim_pres_tissue[ci+16];
- var_a = (var_a * sim_pres_tissue[ci] + var2_a * sim_pres_tissue[ci+16]) / temp_tissue;
- var_b = (var_b * sim_pres_tissue[ci] + var2_b * sim_pres_tissue[ci+16]) / temp_tissue;
-
-sim_pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b;
- if (sim_pres_tissue_limit[ci] < 0)
-  sim_pres_tissue_limit[ci] = 0;
- if (sim_pres_tissue_limit[ci] > temp_pres_gtissue_limit)
-  {
-  temp_pres_gtissue = temp_tissue;
-  temp_pres_gtissue_limit = sim_pres_tissue_limit[ci];
-  temp_gtissue_no = ci;
-  }
-} // for
-  	temp_pres_gtissue_diff = temp_pres_gtissue_limit - temp_pres_gtissue;							// negative number
-	temp_pres_gtissue_limit_GF_low = GF_low * temp_pres_gtissue_diff + temp_pres_gtissue;
-  	temp_pres_gtissue_limit_GF_low_below_surface = temp_pres_gtissue_limit_GF_low - pres_surface;
-	if (temp_pres_gtissue_limit_GF_low_below_surface < 0)
-		temp_pres_gtissue_limit_GF_low_below_surface = 0;
-} //sim_tissue_10min()
-
-
-// ------------------
-// clear_decoarray //
-// ------------------
-// unchanged in v.101
-
-void clear_decoarray(void)
-{
-char_O_array_decodepth[0] = 0;
-char_O_array_decodepth[1] = 0;
-char_O_array_decodepth[2] = 0;
-char_O_array_decodepth[3] = 0;
-char_O_array_decodepth[4] = 0;
-char_O_array_decodepth[5] = 0;
-char_O_array_decotime[0] = 0;
-char_O_array_decotime[1] = 0;
-char_O_array_decotime[2] = 0;
-char_O_array_decotime[3] = 0;
-char_O_array_decotime[4] = 0;
-char_O_array_decotime[5] = 0;
-char_O_array_decotime[6] = 0;
-} // clear_decoarray
-
-
-// -------------------
-// update_decoarray //
-// -------------------
-// unchanged in v.101
-
-void update_decoarray()
-{
-	x = 0;
-	do
-	{
-		if (char_O_array_decodepth[x] == temp_depth_limit)
-		{
-			int_temp = char_O_array_decotime[x] + temp_decotime;
-			if (int_temp < 0)
-				int_temp = 0;
-			if (int_temp > 240)
-				int_temp = 240;
- 			char_O_array_decotime[x] = int_temp;
-			x = 10; // exit
-		} // if
-		else
- 		{
- 			if (char_O_array_decodepth[x] == 0)
-  			{
-  				if (temp_depth_limit > 255)
-   					char_O_array_decodepth[x] = 255;
-  				else
-   					char_O_array_decodepth[x] = (char)temp_depth_limit;
-  				int_temp = char_O_array_decotime[x] + temp_decotime;
-  				if (int_temp > 240)
-   					char_O_array_decotime[x] = 240;
-  				else
-   					char_O_array_decotime[x] = (char)int_temp;
-  				x = 10; // exit
-  			} // if
- 			else
-  				x++;
- 		} // else
-	} while (x<6);
-	if (x == 6)
- 	{
- 		int_temp = char_O_array_decotime[6] + temp_decotime;
- 		if (int_temp > 220)
-  			char_O_array_decotime[6] = 220;
- 		else
-  			char_O_array_decotime[6] = (char)int_temp;
- 	} // if x == 6
-} // update_decoarray
-
-
-// -----------------------
-// calc_gradient_factor //
-// -----------------------
-// optimized in v.101 (var_a)
-// new code in v.102
-
-void calc_gradient_factor(void)
-{
-	// tissue > respiration (entsaettigungsvorgang)
-	// gradient ist wieviel prozent an limit mit basis tissue
-	// dh. 0% = respiration == tissue
-	// dh. 100% = respiration == limit
-	temp_tissue = pres_tissue[char_O_gtissue_no] + pres_tissue[char_O_gtissue_no+16];
-	temp1 = temp_tissue - pres_respiration;
-	temp2 = temp_tissue - pres_tissue_limit[char_O_gtissue_no];	// changed in v.102
-	temp2 = temp1/temp2;
-	temp2 = temp2 * 100; // displayed in percent
-	if (temp2 < 0)
-		temp2 = 0;
-	if (temp2 > 255)
-		temp2 = 255;
-	if (temp1 < 0)
- 		char_O_gradient_factor = 0;
-	else
- 		char_O_gradient_factor = (char)temp2;
-
-	temp3 = temp2;
-
-	if (char_I_deco_model == 1)		// calculate relative gradient factor
-	{
-		temp1 = (float)temp_depth_GF_low_meter * 0.09995;
-		temp2 = pres_respiration - pres_surface;
-		if (temp2 <= 0)
-			temp1 = GF_high;
-		else
-		if (temp2 >= temp1)
-			temp1 = GF_low;
-		else
-			temp1 = GF_low + (temp1 - temp2)/temp1*GF_delta;
-		if (temp_depth_GF_low_meter == 0)
-			temp1 = GF_high;
-		temp2 = temp3 / temp1; // temp3 is already in percent
-		if (temp2 < 0)
-			temp2 = 0;
-		if (temp2 > 255)
-			temp2 = 255;
-		char_O_relative_gradient_GF  = (char)temp2;
-	}	// calc relative gradient factor
-	else
-	{
- 			char_O_relative_gradient_GF = char_O_gradient_factor;
-	}
-} // calc_gradient
-
-// ---------------------------
-// calc_gradient_array_only //
-// ---------------------------
-// optimized in v.101 (var_a)
-// new code in v.102
-
-void calc_gradient_array_only()
-{
- pres_respiration = (float)int_I_pres_respiration / 1000.0; // assembler code uses different digit system
-for (ci=0;ci<16;ci++)
-{
-	temp_tissue = pres_tissue[ci] + pres_tissue[ci+16];
-	temp1 = temp_tissue - pres_respiration;
-	temp2 = temp_tissue - pres_tissue_limit[ci];
-	temp2 = temp1/temp2;
-	temp2 = temp2 * 200; // because of output in (Double-)percentage
-	if (temp2 < 0)
-		temp2 = 0;
-	if (temp2 > 255)
-		temp2 = 255;
-	if (temp1 < 0)
- 		char_O_array_gradient_weighted[ci] = 0;
-	else
- 		char_O_array_gradient_weighted[ci] = (char)temp2;
-} // for
-} // calc_gradient_array_only
-
-
-// -------------------------
-// calc_desaturation_time //
-// -------------------------
-// FIXED N2_ratio
-// unchanged in v.101
-
-void calc_desaturation_time(void)
-{
-_asm
-lfsr 1, 0x300
-movlw	0x01
-movwf	TBLPTRU,0
-_endasm
- N2_ratio = 0.7902; // FIXED sum as stated in b"uhlmann
- pres_surface = (float)int_I_pres_surface / 1000.0;
- temp_atem = N2_ratio * (pres_surface - 0.0627);
- int_O_desaturation_time = 0;
- float_desaturation_multiplier = char_I_desaturation_multiplier / 142.0; // new in v.101	(70,42%/100.=142)
-
-for (ci=0;ci<16;ci++)
-{
-_asm
-movlw	0x04
-movwf	TBLPTRH,0
-movlb	4 // fuer ci
-movf ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addlw	0x80
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_halftimes+1
-TBLRDPOSTINC
-movff	TABLAT,var_halftimes
-TBLRDPOSTINC
-movff	TABLAT,var_halftimes+3
-TBLRD
-movff	TABLAT,var_halftimes+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_halftimes+1
-TBLRDPOSTINC
-movff	TABLAT,var2_halftimes
-TBLRDPOSTINC
-movff	TABLAT,var2_halftimes+3
-TBLRD
-movff	TABLAT,var2_halftimes+2
-_endasm
-
-// saturation_time (for flight) and N2_saturation in multiples of halftime
-// version v.100: 1.1 = 10 percent distance to totally clean (totally clean is not possible, would take infinite time )
-// new in version v.101: 1.07 = 7 percent distance to totally clean (totally clean is not possible, would take infinite time )
-// changes in v.101: 1.05 = 5 percent dist to totally clean is new desaturation point for display and noFly calculations
-// N2
- temp1 = 1.05 * temp_atem;
- temp1 = temp1 - pres_tissue[ci];
- temp2 = temp_atem - pres_tissue[ci];
-  if (temp2 >= 0.0)
-	{
-	temp1 = 0;
-	temp2 = 0;
-	}
- else
-    temp1 = temp1 / temp2;
-  if (temp1 > 0.0)
-	{
-	temp1 = log(1.0 - temp1);
-	temp1 = temp1 / -0.6931; // temp1 is the multiples of half times necessary.
-							 // 0.6931 is ln(2), because the math function log() calculates with a base of e not 2 as requested.
-							 // minus because log is negative
-	temp2 = var_halftimes * temp1 / float_desaturation_multiplier; // time necessary (in minutes ) for complete desaturation (see comment about 10 percent) , new in v.101: float_desaturation_multiplier
-	}
- else
-	{
-	temp1 = 0;
-	temp2 = 0;
-	}
-
-// He
- temp3 = 0.1 - pres_tissue[ci+16];
-if (temp3 >= 0.0)
-	{
-	temp3 = 0;
-	temp4 = 0;
-	}
- else
-    temp3 = -1.0 * temp3 / pres_tissue[ci+16];
-  if (temp3 > 0.0)
-	{
-	temp3 = log(1.0 - temp3);
-	temp3 = temp3 / -0.6931; // temp1 is the multiples of half times necessary.
-							 // 0.6931 is ln(2), because the math function log() calculates with a base of e  not 2 as requested.
-							 // minus because log is negative
-	temp4 = var2_halftimes * temp3 / float_desaturation_multiplier; // time necessary (in minutes ) for "complete" desaturation, new in v.101 float_desaturation_multiplier
-	}
- else
-	{
-	temp3 = 0;
-	temp4 = 0;
-	}
-
-// saturation_time (for flight)
- if (temp4 > temp2)
-	 int_temp = (int)temp4;
- else
-	 int_temp = (int)temp2;
- if(int_temp > int_O_desaturation_time)
-	int_O_desaturation_time = int_temp;
-
-// N2 saturation in multiples of halftime for display purposes
- temp2 = temp1 * 20.0;  // 0 = 1/8, 120 = 0, 249 = 8
- temp2 = temp2 + 80.0; // set center
- if (temp2 < 0.0)
-	 temp2 = 0.0;
- if (temp2 > 255.0)
- 	 temp2 = 255.0;
- char_O_tissue_saturation[ci] = (char)temp2;
-// He saturation in multiples of halftime for display purposes
- temp4 = temp3 * 20.0;  // 0 = 1/8, 120 = 0, 249 = 8
- temp4 = temp4 + 80.0; // set center
- if (temp4 < 0.0)
-	 temp4 = 0.0;
- if (temp4 > 255.0)
- 	 temp4 = 255.0;
- char_O_tissue_saturation[ci+16] = (char)temp4;
-} // for
-} // calc_desaturation_time
-
-
-// --------------------------
-// calc_wo_deco_step_1_min //
-// --------------------------
-// FIXED N2 Ratio
-// optimized in v.101 (...saturation_multiplier)
-// desaturation slowed down to 70,42%
-
-void calc_wo_deco_step_1_min(void)
-{
-	if(flag_in_divemode)
-	{
-		flag_in_divemode = 0;
-		set_dbg_end_of_dive();
-	}
-_asm
- lfsr 1, 0x300
-_endasm
- N2_ratio = 0.7902; // FIXED, sum lt. buehlmann
- pres_respiration = (float)int_I_pres_respiration / 1000.0; // assembler code uses different digit system
- pres_surface = (float)int_I_pres_surface / 1000.0;
- temp_atem = N2_ratio * (pres_respiration - 0.0627); // 0.0627 is the extra pressure in the body
- temp2_atem = 0.0;
- temp_surface = pres_surface; // the b"uhlmann formula using temp_surface does not use the N2_ratio
- float_desaturation_multiplier = char_I_desaturation_multiplier / 142.0; // new in v.101	(70,42%/100.=142)
- float_saturation_multiplier = char_I_saturation_multiplier / 100.0;
-
- calc_tissue_step_1_min();  // update the pressure in the 16 tissues in accordance with the new ambient pressure
- clear_decoarray();
- char_O_deco_status = 0;
- char_O_nullzeit = 0;
- char_O_ascenttime = 0;
- calc_gradient_factor();
-
-} // calc_wo_deco_step_1_min(void)
-
-
-// -------------------------
-// calc_tissue_step_1_min //
-// -------------------------
-// optimized in v.101
-
-void calc_tissue_step_1_min(void)
-{
-_asm
-lfsr 1, 0x300
-movlw	0x01
-movwf	TBLPTRU,0
-_endasm
-
- char_O_gtissue_no = 255;
- pres_gtissue_limit = 0.0;
-
-for (ci=0;ci<16;ci++)
-{
-_asm
-movlw	0x02
-movwf	TBLPTRH,0
-movlb	4 // fuer ci
-movf ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addlw	0x80
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_a+1
-TBLRDPOSTINC
-movff	TABLAT,var_a
-TBLRDPOSTINC
-movff	TABLAT,var_a+3
-TBLRD
-movff	TABLAT,var_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_a+1
-TBLRDPOSTINC
-movff	TABLAT,var2_a
-TBLRDPOSTINC
-movff	TABLAT,var2_a+3
-TBLRD
-movff	TABLAT,var2_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_b+1
-TBLRDPOSTINC
-movff	TABLAT,var_b
-TBLRDPOSTINC
-movff	TABLAT,var_b+3
-TBLRD
-movff	TABLAT,var_b+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_b+1
-TBLRDPOSTINC
-movff	TABLAT,var2_b
-TBLRDPOSTINC
-movff	TABLAT,var2_b+3
-TBLRD
-movff	TABLAT,var2_b+2
-addlw	0xC0
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_e1min+1
-TBLRDPOSTINC
-movff	TABLAT,var_e1min
-TBLRDPOSTINC
-movff	TABLAT,var_e1min+3
-TBLRD
-movff	TABLAT,var_e1min+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min+1
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min+3
-TBLRD
-movff	TABLAT,var2_e1min+2
-_endasm
-
-// N2 1 min
- temp_tissue = (temp_atem - pres_tissue[ci]) * var_e1min;
- temp_tissue_safety();
- pres_tissue[ci] = pres_tissue[ci] + temp_tissue;
-
-// He 1 min
- temp_tissue = (temp2_atem - pres_tissue[ci+16]) * var2_e1min;
- temp_tissue_safety();
- pres_tissue[ci+16] = pres_tissue[ci+16] + temp_tissue;
-
- temp_tissue = pres_tissue[ci] + pres_tissue[ci+16];
- var_a = (var_a * pres_tissue[ci] + var2_a * pres_tissue[ci+16]) / temp_tissue;
- var_b = (var_b * pres_tissue[ci] + var2_b * pres_tissue[ci+16]) / temp_tissue;
- pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b;
- if (pres_tissue_limit[ci] < 0)
-  pres_tissue_limit[ci] = 0;
- if (pres_tissue_limit[ci] > pres_gtissue_limit)
-  {
-  pres_gtissue_limit = pres_tissue_limit[ci];
-  char_O_gtissue_no = ci;
-  }//if
-
-// gradient factor array for graphical display
-// display range is 0 to 250! in steps of 5 for 1 pixel
-// the display is divided in 6 blocks
-// -> double the gradient 100% = 200
-// tissue > respiration (entsaettigungsvorgang)
-// gradient ist wieviel prozent an limit von tissue aus
-// dh. 0% = respiration == tissue
-// dh. 100% = respiration == limit
-temp1 = temp_tissue - pres_respiration;
-temp2 = temp_tissue - pres_tissue_limit[ci];	// changed in v.102
-temp2 = temp1/temp2;
-temp2 = temp2 * 200; // because of output in (Double-)percentage
-if (temp2 < 0)
-	temp2 = 0;
-if (temp2 > 255)
-	temp2 = 255;
-if (temp1 < 0)
- char_O_array_gradient_weighted[ci] = 0;
-else
- char_O_array_gradient_weighted[ci] = (char)temp2;
-
-} // for
-} // calc wo deco 1min
-
-#if 0
-// --------
-// debug //
-// --------
-void debug(void)
-{
-for (ci=0;ci<32;ci++)
-{
- int_O_tissue_for_debug[ci] = (unsigned int)(pres_tissue[ci] *1000);
-}
-} // void debug(void)
-#endif
-
-// ----------
-// md hash //
-// ----------
-void hash(void)
-{
-// init
- for (md_i=0;md_i<16;md_i++)
- {
-  md_state[md_i] = 0;
-  md_cksum[md_i] = 0;
- } // for md_i 16
-
-_asm
- movlw	0x01
- movwf	TBLPTRU,0
- movlw	0x06
- movwf	TBLPTRH,0
- movlw	0x00
- movwf	TBLPTRL,0
-_endasm
- for (md_i=0;md_i<127;md_i++)
- {
-_asm
- TBLRDPOSTINC
- movff	TABLAT,md_temp
-_endasm
-  md_pi_subst[md_i] = md_temp;
- } // for md_i 256
-_asm
- TBLRDPOSTINC
- movff	TABLAT,md_temp
-_endasm
-  md_pi_subst[127] = md_temp;
- for (md_i=0;md_i<127;md_i++)
- {
-_asm
- TBLRDPOSTINC
- movff	TABLAT,md_temp
-_endasm
-  md_pi_subst[md_i+128] = md_temp;
- } // for md_i 256
-_asm
- TBLRD
- movff	TABLAT,md_temp
-_endasm
-  md_pi_subst[255] = md_temp;
-
-_asm
- movlw	0x00
- movwf	TBLPTRU,0
- movlw	0x00
- movwf	TBLPTRH,0
- movlw	0x00
- movwf	TBLPTRL,0
-_endasm
-// cycle buffers
-for (md_pointer=0x0000;md_pointer<0x17f3;md_pointer++)
-{
- md_t = 0;
- for (md_i=0;md_i<16;md_i++)
- {
-  if(md_pointer == 9)
-   md_temp = md_cksum[md_i];
-  else
-  {
-_asm
-  TBLRDPOSTINC
-  movff	TABLAT,md_temp
-_endasm
-  } // else
-  md_buffer[md_i] = md_temp;
-  md_state[md_i+16] = md_buffer[md_i];
-  md_state[md_i+32] = (unsigned char)(md_buffer[md_i] ^ md_state[md_i]);
- } // for md_i 16
-
- for (md_i=0;md_i<18;md_i++)
- {
-  for (md_j=0;md_j<48;md_j++)
-  {
-   md_state[md_j] = (unsigned char)(md_state[md_j] ^ md_pi_subst[md_t]);
-   md_t = md_state[md_j];
-  } // for md_j 48
-  md_t = (unsigned char)(md_t+1);
- } // for md_i 18
- md_t = md_cksum[15];
-
- for (md_i=0;md_i<16;md_i++)
- {
-  md_cksum[md_i] = (unsigned char)(md_cksum[md_i] ^ md_pi_subst[(md_buffer[md_i] ^ md_t)]);
-  md_t = md_cksum[md_i];
- } // for md_i 16
-} // for md_pointer
-} // void hash(void)
-
-// ---------------------
-// clear_CNS_fraction //
-// ---------------------
-// new in v.101
-
-void clear_CNS_fraction(void)
-{
- CNS_fraction = 0.0;
- char_O_CNS_fraction = 0;
-} // void clear_CNS_fraction(void)
-
-
-// --------------------
-// calc_CNS_fraction //
-// --------------------
-// new in v.101
-// optimized in v.102 : with new variables char_I_actual_ppO2 and actual_ppO2
-
-// Input: char_I_actual_ppO2
-// Output: char_O_CNS_fraction
-// Uses and Updates: CNS_fraction
-// Uses: acutal_ppO2
-
-void calc_CNS_fraction(void)
-{
- actual_ppO2 = (float)char_I_actual_ppO2 / 100.0;
-
- if (char_I_actual_ppO2 < 50)
-  CNS_fraction = CNS_fraction;// no changes
- else if (char_I_actual_ppO2 < 60)
-  CNS_fraction = 1/(-54000.0 * actual_ppO2 + 54000.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 70)
-  CNS_fraction = 1/(-45000.0 * actual_ppO2 + 48600.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 80)
-  CNS_fraction = 1/(-36000.0 * actual_ppO2 + 42300.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 90)
-  CNS_fraction = 1/(-27000.0 * actual_ppO2 + 35100.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 110)
-  CNS_fraction = 1/(-18000.0 * actual_ppO2 + 27000.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 150)
-  CNS_fraction = 1/(-9000.0 * actual_ppO2 + 17100.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 160)
-  CNS_fraction = 1/(-22500.0 * actual_ppO2 + 37350.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 165)
-  CNS_fraction =  0.000755 + CNS_fraction; // Arieli et all.(2002): Modeling pulmonary and CNS O2 toxicity... Formula (A1) based on value for 1.55 and c=20
- else if (char_I_actual_ppO2 < 170)
-  CNS_fraction =  0.00102 + CNS_fraction; // example calculation: Sqrt((1.7/1.55)^20)*0.000404
- else if (char_I_actual_ppO2 < 175)
-  CNS_fraction =  0.00136 + CNS_fraction;
- else if (char_I_actual_ppO2 < 180)
-  CNS_fraction =  0.00180 + CNS_fraction;
- else if (char_I_actual_ppO2 < 185)
-  CNS_fraction =  0.00237 + CNS_fraction;
- else if (char_I_actual_ppO2 < 190)
-  CNS_fraction =  0.00310 + CNS_fraction;
- else if (char_I_actual_ppO2 < 195)
-  CNS_fraction =  0.00401 + CNS_fraction;
- else if (char_I_actual_ppO2 < 200)
-  CNS_fraction =  0.00517 + CNS_fraction;
- else if (char_I_actual_ppO2 < 230)
-  CNS_fraction =  0.0209 + CNS_fraction;
- else
-  CNS_fraction =  0.0482 + CNS_fraction; // value for 2.5
-
- if (CNS_fraction > 2.5)
-  CNS_fraction = 2.5;
- if (CNS_fraction < 0.0)
-  CNS_fraction = 0.0;
- char_O_CNS_fraction = (char)((CNS_fraction + 0.005)* 100.0);
-} // void calc_CNS_fraction(void)
-
-// --------------------------
-// calc_CNS_decrease_15min //
-// --------------------------
-// new in v.101
-
-// calculates the half time of 90 minutes in 6 steps of 15 min
-
-// Output: char_O_CNS_fraction
-// Uses and Updates: CNS_fraction
-
-void calc_CNS_decrease_15min(void)
-{
- CNS_fraction =  0.890899 * CNS_fraction;
- char_O_CNS_fraction = (char)((CNS_fraction + 0.005)* 100.0);
-}// calc_CNS_decrease_15min(void)
-
-
-// ------------------
-// calc_percentage //
-// ------------------
-// new in v.101
-
-// calculates int_I_temp * char_I_temp / 100
-// output is int_I_temp
-
-void calc_percentage(void)
-{
- temp1 = (float)int_I_temp;
- temp2 = (float)char_I_temp / 100.0;
- temp3 = temp1 * temp2;
- int_I_temp = (int)temp3;
-}
-void push_tissues_to_vault(void)
-{
-	for (ci=0;ci<32;ci++)
-		pres_tissue_vault[ci] = pres_tissue[ci];
-}
-void pull_tissues_from_vault(void)
-{
-	for (ci=0;ci<32;ci++)
-		pres_tissue[ci] = pres_tissue_vault[ci];
-}
-
Binary file code_part1/OSTC_code_c_part2/ostc_bigscreen.cof has changed
--- a/code_part1/OSTC_code_c_part2/ostc_bigscreen.hex	Tue Jan 12 15:05:59 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,513 +0,0 @@
-:020000040000FA
-:0600000000EF48F01200C1
-:1090000000010A0E7C6F00010A0E7D6F00017A6973
-:1090100000017B6900017E6B00017F6B0001200E67
-:10902000606F0001210E616F0001220E626F00016E
-:0E9030003A0E636F0001646B90EC5BF012006F
-:109A0000AF9BAFAFAFAFD1AFB205B007B008AF09F2
-:109A1000AF09AF09AF09B108B2079B049F9F9F9F91
-:109A2000AE9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7
-:109A3000FFFFFFFFFF8F82FFAC04A1149B1A96204B
-:109A400092248F288A0E8C10940B8A0C9609870F0B
-:109A5000960885129707830785079706850783076A
-:109A600096068708820796058A07810696058C0761
-:109A7000810594058E088005940490078005930461
-:109A80009107800591049208800590049407800551
-:109A90008E05950780058C05960880058A06960830
-:109AA000820588069707820685079708840683073C
-:109AB00097088507800898078707970F8908950DED
-:109AC0008B0A8C108E0E912894269922A01CAA1520
-:109AD0009707FFFFD7FFB701B403B404B403B4047E
-:109AE000B304B304B305B205B206B205B2068136BB
-:109AF0008137813781378137FF37FFFFFFFFACFFA9
-:109B0000FFFF90FF8903A8008705A5038607A3052B
-:109B10008508A007840A9F08840B9F06830D9F0673
-:109B2000820E9F06810882049E05830882049E049B
-:109B3000840881049D05850881049C0587078104AC
-:109B40009C04880781049B04890781049A048A077E
-:109B5000810499048B07810498048C07810496057D
-:109B60008D07810495058E07810494058F07810474
-:109B70009206900782049006910782048E0792074E
-:109B800083048B07930883048609940A8404951937
-:109B900085049617860498148704991289049B0EED
-:109BA0008C049D08B305BA05FFFF8EFFB7008A023B
-:109BB000A8018804A5038607A3058608A5058407D0
-:109BC000A7058406A8058206AA058205AA058105BF
-:109BD00091059504800591059504800591059504EE
-:109BE00080059204950480059204950480059204F2
-:109BF00095048005920494058005900594068005DF
-:109C00009005940680058F05920882058E059208BE
-:109C100082058C06900A82068A078E0C84068707C6
-:109C200081068C06850781158907870883138918A3
-:109C300085118B16870F8D148A0C91128E07AC0E2E
-:109C4000FF0AFFB88BFFB205B006AF08AD09AC0B39
-:109C5000AA0CA90E8107A7058208A6058407A405FA
-:109C60008607A3058707A10589079F058A089E0522
-:109C70008C079C058D089B058F0799059008980512
-:109C80009207960594079505950793059707920502
-:109C9000813581378137813781378137A437B305E3
-:109CA000B305B305B305B305B3058F05FFFF8CFFFF
-:109CB000A20192009203901085058F1C84078E1DCF
-:109CC00083088E1D8308911C8207931B82068E05D4
-:109CD000950581068E05970481058E0597048105FB
-:109CE0008D05980580058D05990480058D059904DD
-:109CF00080058D05990480058D05990480058D05E5
-:109D0000990480058D05990480058D0599048005C9
-:109D10008D05990480058D05970581058D059705AD
-:109D200081058E05950581068E05930682068E05B2
-:109D3000910782078F058D0883089005870A830B9A
-:109D40009105841C9205851A930586189405A5151E
-:109D5000AA11C50CFFFF11F11BA2219A269429908C
-:109D60002B8E0D8C05850E850B880588098B088840
-:109D70000689088E0786058B07910784058B069355
-:109D80000683058C06950582058D05960681048D52
-:109D900006970580058D05980580058D059804803A
-:109DA000048E0B99048E0B99058E0B98058E0B98DB
-:109DB000058E05980480068E05960481058F05960C
-:109DC0000581068E05940582078F07900583098E0D
-:109DD000088C07840B8D0A8607851B8E05871990D2
-:109DE00003891792008B13960FA707ADFFC8FFFFDB
-:109DF000059605B305B305B305B305B301AF0581FA
-:109E000004AC058107A905810AA605810CA405817A
-:109E10000FA10581129E0581139B0583139805866A
-:109E2000129605891293058C1290058F118E05925A
-:109E3000118B0595108905981086059B0F84059E4A
-:109E4000108115A012A310A60DA80BAB09AD06AF8B
-:109E500004B2A7FFFFFF03CA0BB10FAB0790118F2E
-:109E60000C8D148A0F8A1688118818861486078428
-:109E7000088715850683078B068408860681068D6C
-:109E8000068307890480069005820C8B0591058165
-:109E90000A8D05920481088F05940480069005952B
-:109EA000048006900B9505910B9505910B950592F5
-:109EB0000B94069105940480079105930580088F03
-:109EC000049305810A8E059106810C8C068F06820B
-:109ED00006890681058E088308850781068C15840E
-:109EE0000883078813860A850A82118716870F89D7
-:109EF00014890C8B128C068F10900CAA06AFFFC52C
-:109F0000E9FFAC09980F8D0095138A029217880417
-:109F1000901986068E1B850788098F0A83068D088F
-:109F20009007820590078F078205930690058005AC
-:109F300094068F06800596058F05800597058F048A
-:109F4000800598048F04800598048E05980B8E0573
-:109F5000980B8F04800598048E04810597058E0464
-:109F6000810596058D05810695068E048305940569
-:109F70008D05830693068D04850690078B0586075D
-:109F80008D098A058808880B8706890C8C2D8F2BF4
-:0C9F9000932796249D1FA917D30700FFFC
-:109FA000000022003500D2000001A8014302AC02EB
-:0A9FB0005403ED035404FF049A0566
-:069FBA0000EE00F00D0EA8
-:089FC000EE6AEA62FDD712000F
-:10A0000000000F0016006B008300DC002D016601CC
-:10A01000C10116024C02AB0202031B032A034403D4
-:04A020006F03750352
-:0CA024009F9F03BA049A059A0499039BBD
-:10A030009F9F9FC0BF9F9F7FBF9F03CD0E96128E95
-:10A04000168A0487078B0385038C04800383048BA3
-:10A0500004820282048B03840281038B02870281C3
-:10A06000038A028802810488038902800387028BA5
-:10A0700003810385028C03820482038C03830480A2
-:10A08000038C0685048C168713890E8E0395FFCDED
-:10A090000084019E029C029B029C039B029B1D9BD1
-:10A0A0001D811D81FFFFFCC0850194008403910286
-:10A0B0008305900382069003820790028103810248
-:10A0C0008F02820481028E02830481028D02840445
-:10A0D00081028D02850381028C02860381028A033C
-:10A0E000870382028802880482028603890483022D
-:10A0F0008A0D84028C0A85028D0887029003E00293
-:10A100009AFF8501920283049303820495028203DD
-:10A110009602810289028A02810289028A028102F0
-:10A1200089028A02810289028A02810288028A03E4
-:10A130008202870289048202850387068303810ADB
-:10A1400084038404810A870C84068A0A8802FF0734
-:10A15000D3849A0299049705960781039402820496
-:10A160009302840391028504900287038E0288047F
-:10A170008D028A038B028B048A02811C811D811D42
-:10A18000941D9C029C029C02C80200FA068D028863
-:10A190000F8304870F82038809820281038A028168
-:10A1A0000287028C02810287028C02810187028D64
-:10A1B00002810187028E02800187038D028002875F
-:10A1C000028C02810287028C02810387038A02814A
-:10A1D0000388048802810588058402820E8902832F
-:10A1E0000C8A0894ECE591088B1188158517840575
-:10A1F0008602840585038902830386038A0281031C
-:10A2000086038C02810287028C02810287028D0202
-:10A21000800287028C02810287028C0281028702FF
-:10A220008B038102880289038302870284058305E8
-:10A230008703850E8A00950CE60680FF9C029C022F
-:10A240009C029702810294028105910281088F028B
-:10A2500082098C0285098902880987028B08840299
-:10A260008D0982029008930B950998069A04FC01C7
-:10A2700005F4038A088807870A8509850483058110
-:10A280000B8303810485028206850388028105878A
-:10A29000028902810388028A02810388028A02817C
-:10A2A0000289028A02810388028A02810488028963
-:10A2B00003810686028803820383038102860B835F
-:10A2C0000581048208840B84058709860597E7E5E4
-:10A2D00098048B098600890C8402880E8203880307
-:10A2E000880382028A02870381028C02870281022C
-:10A2F0008C02870280038C02870281028C02870213
-:10A3000081028C02870281028A0387028203890309
-:10A3100086028303870485028504810781038708F9
-:10A320008A168F12E90C9F9F03AB038A048B048962
-:10A33000048B0589048A0489028C038B9F9F9FC02C
-:10A34000C89F9401940A940A96089F05B99FA9FF93
-:10A350009B009403940A95099806FF0302830A94CC
-:10A360000A9407940497BAFF15C815891589028BBA
-:10A37000019B019C019D029D049C159A148A138BDC
-:10A38000028A029B019C019D029D159C1589148ADD
-:0AA39000118DFFA0FFFFFFFF00FF8B
-:06A39A0000000E001B0094
-:10A3A00048007D00B400E700F0000D012A014B01D8
-:10A3B0006401700185018E01A301D601E20115023D
-:10A3C000460267029C02CB02EA02210352036003A9
-:10A3D00071039C03CD03F8031B045C047D04B804E3
-:10A3E000E5040E05410564059705AC05CD05EA05B4
-:10A3F0000F0624063D0656067F06A406D50600076E
-:10A40000390752076B0784079D07C607DF0718083F
-:10A4100037084C086B087C089508A108D408F9088F
-:10A42000200945097A099B09E409F909140A330A44
-:10A43000540A710A8A0A9F0AC80AED0A120B270BEE
-:10A440005A0B770B8C0BA50BBE0BE30B040C390CD2
-:10A450005C0C630C860C9F0CAD0CD60C050D2A0D04
-:10A46000610D6C0DAB0DB80D050E3C0E5D0E700E42
-:10A47000730EBA0ECB0EE40E150F3C0F610F6B0F6F
-:04A48000860F890FAB
-:08A4880003F8018A0C85028231
-:10A490000A85028394FF00CD0591039101C70591C0
-:10A4A00003919DDA83018F0183018F018301880667
-:10A4B000870D81078F0183018F0183018F01820145
-:10A4C0008607890D83058F0183018F018301A20017
-:10A4D00002B40186048A0186018802810185008810
-:10A4E000018300860287028201851285018502842C
-:10A4F000018400870185018301880284018201892A
-:10A50000058403929A9F9203880585018301850142
-:10A51000860283018400890282058B0382039202F2
-:10A5200082028C02830289048402820186018503EF
-:10A53000830186008701820191019D0403A4069195
-:10A5400004880281028208860185008602840185D2
-:10A5500000860384018401860582018306860282C7
-:10A560000180038803850294069201900082FF9D7A
-:10A570000194069002918BFF07E70C8C03890387F7
-:10A580000286028B0184028E018201910181029177
-:10A5900000800093B0B093008100910181018F028F
-:10A5A00082028D0284028B028602870389038D0B4F
-:10A5B000E707009F019601950282009002810491B5
-:10A5C000078D078F04940092028101900183018F0F
-:10A5D0000095A0A6950195019501950191018B0A21
-:10A5E000900B9501950195019501A40188FF8201C9
-:10A5F0008F0190069404FC0001B801950195019526
-:10A60000019501950195019501950195FFBC018783
-:10A610000295029494FF01C1039304900490049066
-:10A6200003900391039103910193A0C490028B0ABC
-:10A6300085028903860187058601830186018600DC
-:10A6400084018601840085028601820186028601DA
-:10A6500080028701880184048B03900AA30201CA47
-:10A66000019501941095108694FF00B3018B01872A
-:10A670000389018604890186028801800086018899
-:10A68000018200860187018301860185018402869B
-:10A69000018301850687018604880187BFB488018C
-:10A6A0008B0087018C01860185008501860185006C
-:10A6B0008501860185008501860183018502860169
-:10A6C000810280018301880182049205B70300A4FE
-:10A6D0000294049202910180028F0182028E018312
-:10A6E000028C0185108B1086029001940096B7A110
-:10A6F0008501880083088702820285018701840022
-:10A700008700860184008700860184008700860117
-:10A710008400860186018400850187018500870801
-:10A720008600B60608B50C8C028901820283018777
-:10A7300001830186018601830186008600840187EA
-:10A7400000860184018601860283018401870884D2
-:10A75000058FB1B7960096008D0086018A008604A9
-:10A760008700880585008B0482008D059006930381
-:10A77000C30104BB04890682028702800180018331
-:10A780000187028301850086018501850086018598
-:10A790000185018602830185028601810180018392
-:10A7A0000588068102890484B3B68605880084077B
-:10A7B0008701840284018601860184008601870066
-:10A7C000830186018700840086018501830187015A
-:10A7D0008402820188028B0DB80901FE0186028C79
-:10A7E0000285028B028594FF01FF018601820286A9
-:10A7F0000685028704850094A0FC950193029303CB
-:10A80000810091018101900183018F0184018D01FB
-:10A8100085018D0186018B0187018B0188018901EA
-:10A8200089019E01009E00840090008400900084B5
-:10A8300000900084009000840090008400900084C8
-:10A8400000900084009000840090008400900084B8
-:10A85000009000849AA189018A0188018A018701F8
-:10A860008C0186018C0185018E0184018E0183019A
-:10A870009001810192018100920194039402A4014C
-:10A8800001B101950194019501940188028201842E
-:10A890000486028101850284018402860282068F79
-:10A8A00004919DBF8D0781048A04870288028B0171
-:10A8B0008701840183038700840082058601830069
-:10A8C0008201820186018300840082008601820168
-:10A8D0008400820086018102830082018701820A4E
-:10A8E0008A00A10802A70491048F068F048D0182BB
-:10A8F000038B0185048C0183048F018005910494EE
-:10A9000004950294999C8610861085008501860125
-:10A910008500860086018500860086018500860008
-:10A9200086018500850186018301850286018301F8
-:10A9300084028702800581028902820393059F02B7
-:10A94000069E0A8E038A0385018902890187028B8C
-:10A950000086018D0086018D0086018D0186018CA7
-:10A960000186018B028802880089008A999E8610E0
-:10A9700086108D0086018D0086018D0086018D0078
-:10A9800086018C0186018C0186018A02880186037A
-:10A990008B028E0AA20510B1108600860185018502
-:10A9A0000086018501850086018501850086018577
-:10A9B0000185008601850185008601850185008667
-:10A9C000018501850086018DB1B486108610850051
-:10A9D0008E0185008F0085008F0085008F00850027
-:10A9E0008F0085008F0085008F00C400069E0B8DB0
-:10A9F000028A02870288018A0187018C0086018D04
-:10AA00000086018D0086008701840186008601840E
-:10AA10000186008600840288068400890585B19E2F
-:10AA200086108D10950195019501950195018E0176
-:10AA30008610B41000B1008E0086018D0086018D55
-:10AA40000086018D108610860086018D0086018D9E
-:10AA50000086018DBFCC9601950186018D0086018F
-:10AA60008D0086018C008701870F890D9600960066
-:10AA7000AC0010991086028D02930493029102801B
-:10AA8000028F0282018D0385018A02880188038A70
-:10AA90000086018D0096B19C861095109501950158
-:10AAA00095019501950195019501B40110991086C4
-:10AAB00003870395039503950293029203920391F2
-:10AAC00010921086999C8610861095039502950326
-:10AAD0009503950395039502870386109C10089DA6
-:10AAE0000C8C028903870187018B0187018C00860A
-:10AAF000018D0086018D0186018C0186018B028803
-:10AB000002880C89088CB1A08610861086008E0001
-:10AB100086008E0086008E0086008E0084018E01E5
-:10AB200084018E0182028F029206A702089D0C8C7E
-:10AB3000028902880187028B0186018C0086028EC1
-:10AB40000084048E0182018C01810182018C0181CB
-:10AB50000283028801820C8401830886B1A08610DA
-:10AB6000861086008E0086008E0086008E0086008D
-:10AB70008D0184018B04840180018903830788038C
-:10AB800086058A028A009C0003B302860588018636
-:10AB90000187028201860186018301860086018584
-:10ABA0000185008601850185008601850185018674
-:10ABB0000185028302860284028101880585019352
-:10ABC00099A0960096009600960096008610861032
-:10ABD0009600960096009600AC000C990E8A02959D
-:10ABE00001950196019501950195019402940E87B6
-:10ABF0000C8899A0950194049405940594059205F8
-:10AC00008F048F048F048F049204AB0105990A927C
-:10AC100009920490058E048E05900694069406927F
-:10AC20000989068AA9A686008B0186028803880303
-:10AC300084038B0381038F0391058F0581038C03AC
-:10AC400085028803870387038B0196029C00009985
-:10AC500002960395039503950A94098D048B04903D
-:10AC6000039002920094A9AC86008C0086028A00B0
-:10AC700086048900800286018700810386018500A1
-:10AC80008303860184008502860182008603860193
-:10AC90008000880386018A0386018B0295019C014E
-:10ACA00015DF0181019101810191018101910181F2
-:10ACB0000191018101910181019100820091B0B265
-:10ACC00095019503950395039503940495049503C5
-:10ACD0009503B30100B000910182019101810191BE
-:10ACE0000181019101810191018101910181019114
-:10ACF0001581CEE19401920292029402960295028D
-:10AD00009503D60100AB009600960096009600963B
-:10AD1000009600960096009600960096E09A95019F
-:10AD2000950395029502FF00A68993018C04830187
-:10AD300080018B02830082018A01830184008A00E2
-:10AD4000830184008A00830184008A0083018300D8
-:10AD50008C00820182008C018C0BB40A12AF11842A
-:10AD6000018C0186008C0188018A0188018A018892
-:10AD7000018A0188018B0286038B0283088D04906F
-:10AD8000B8A08F068D0884028C0286018A02880191
-:10AD90008A0188018A0188018A0188018B01860164
-:10ADA0008C0185028D01A60004A10890028D028409
-:10ADB000018C0286018A0188018A0188018A018842
-:10ADC000008B0088018C018611861284A2B4920245
-:10ADD0008E0780048C03810182018B018201830133
-:10ADE0008A01820183018A01820183018A01820131
-:10ADF00083018B01810183018B0182058D01830415
-:10AE0000B50001B601950195109003850181018F70
-:10AE10000183008F0184018E0184018E00840190E2
-:10AE20000295AAAB8902810480018704810B860107
-:10AE300083018101830186008500820083008501F2
-:10AE400085008200830085018500820083008501E2
-:10AE500083018201830086018305830086008405C7
-:10AE600081018601890087048B009A0112AF128448
-:10AE7000018C019400950195019502950B950A8C22
-:10AE8000CDB488018A0188018A0188018501820187
-:10AE9000850C8201950C95019501CC0101C40196A8
-:10AEA0000185018D0185018D0185018D0185018C53
-:10AEB0000181108202810F810182AFDC84128F1226
-:10AEC0009402940192038001900282018E02840117
-:10AED0008C0286018A03890096019C0000B0018ED5
-:10AEE0000184018E0184018E0184018E12841284FA
-:10AEF00001950195019500969DB48A0C8B0C9500E7
-:10AF0000950195018B0C8B0B9401950195018B0C90
-:10AF10009C0B0CB50C8A018C019400950195019550
-:10AF200002950B950A8CA1B491048E0782028C03C2
-:10AF300086018B0188018A0188018A0188018A01C2
-:10AF400088018B0186018C0183038D029008A00487
-:10AF500011B5108501870186008C0088018B01885E
-:10AF6000018A0188018A0188018B0286028B028492
-:10AF7000088D0490A1A090048D0883028C038700A3
-:10AF80008A0288018A0188018A0188018B01880070
-:10AF90008C0086018C01860FAF110CCD0C8A018CC0
-:10AFA0000194009501950195019501960095B8A72A
-:10AFB00085008C0183048C0184048A018201830151
-:10AFC0008A01820183018A01820183018A0183014E
-:10AFD00082018B01830082018B0182018D05830038
-:10AFE000B60301B5019501950E920F88018A01887B
-:10AFF000018A0188018A0188018A01880194B5B516
-:10B000008C0A950B950296019600950095008B0190
-:10B010008A0CB40C009D0396049404950494049443
-:10B020000393039103910490039000939DA89305CB
-:10B03000930893058F038F04920495039405930559
-:10B040008C038B09A20601B50188028A0286028C54
-:10B050000382028E02800491049202910280028E89
-:10B060000383028B0286008A0189ACB486018C02BC
-:10B0700085018905880187048A0184048E0191076E
-:10B080008F0490048F0490049303A70100A9018A00
-:10B090000287018A0386018A0485018A028401806D
-:10B0A000018A02820182018A02810183018A02806F
-:10B0B0000184048A0185028A0187018A0188019539
-:10B0C000A29C960095019301810586028107830861
-:10B0D0008A06810291018101920181009201810021
-:10B0E0009201C80090FF8115FF15C8909201810060
-:10B0F0009201810092018100910182018506810106
-:10B10000830381078A0881058F019501BA01009F99
-:10B11000019501950194019501960295019501957E
-:10B12000019501940195F8A6890185048103850C98
-:10B130008302FF0AA19491028E0782038C03860189
-:10B140008B0188018A0186008607860E84088701A4
-:10B15000810088018A0187018B028601B60100A95E
-:10B16000018C0186048902850E8702870682018090
-:10B170000187018300860087018401860086018D96
-:10B180000186008D0186008D01950195B49C860095
-:10B190008E008F0882018F0184018F0084018E014F
-:10B1A00084018E018401900082018F018E08860047
-:10B1B000B90001B100870081038901840081038BFC
-:10B1C00001820081028D018100810A8F0A8C038A2D
-:10B1D00001800081038B0182008103890184008149
-:10B1E0000189018600810089FFAC099008820981EC
-:10B1F000088290FF02B800850486048002830784D9
-:10B20000018101840184018201830184018201831F
-:10B21000018301840182018401820184008301840D
-:10B2200001830182018402840780018504830480F4
-:10B23000018EC8BB94019502C50194019502DC0101
-:10B2400002890791018E0285018B02820082008BA8
-:10B2500005810082018900810183008100890181CB
-:10B2600001840080008901810184008001890180BE
-:10B2700000840081008A018101820081018A0081AD
-:10B280000185018B0186028D02820490BC898F01A9
-:10B2900081038A01810181048A0182008101800188
-:10B2A0008A018200820080018A018200820080017E
-:10B2B0008A018101810081018A0181088B01810756
-:10B2C0009501B80101BA03940292018002900182B3
-:10B2D000018F018401910394029201800290018206
-:10B2E000018F0184D0B6950190018B0C8D0A8F08D7
-:10B2F000910693049502BC00FFFF89CF91028E074F
-:10B3000085018B0288018B00800081078900800104
-:10B310008107890081008200840089008100820009
-:10B32000840089008001800182038A0081008102FB
-:10B3300081018A0088018B0186018D0182029002C1
-:10B34000890400C900960096009600960096009623
-:10B350000096CBDC930191058101900183018F015F
-:10B3600083018F01830191009205D803009F00871C
-:10B37000008D0187008C0187008C0187008C01877C
-:10B380000B8701810B870181008C0187008C01876D
-:10B39000008C0187008C0187008C0087CA9D860085
-:10B3A0008D0084018C0284018C03840180008C0157
-:10B3B000830180018C01820181018D0182048E0153
-:10B3C0008302D30100D1018E0184018D0186018C9D
-:10B3D00000820182018C00820182018C0181018244
-:10B3E000058D0180018F0381FFD4019103930193A7
-:10B3F00000959DF68511950B960195019501950196
-:10B4000094008B02950B9502950195018500FFFF35
-:02B4100000CF6B
-:06B4680090EC5BF0120005
-:02B46E000000DC
-:10B47000849083C083FF80948084120085C000F094
-:10B48000016A00C086F084C087F0848086C083FF94
-:10B490008094808487C083FF8094808412008EC053
-:10B4A00083FF809480848094808412007AC083FF1C
-:10B4B000809480847BC083FF80948084120000018C
-:10B4C000350E836FD5DF00017D510001846F856BE0
-:10B4D0000001D89084378537D1DF0001360E836FA5
-:10B4E000C7DF00013F0E846F010E856FC7DF0001CB
-:10B4F000370E836FBDDF00017C510001846F856BC7
-:10B50000020E00017E5D07E13A0E00018427000E65
-:10B510000001852310D000017E0507E1200E000107
-:10B520008427000E0001852306D0180E0001842711
-:10B53000000E0001852300018407000E855B0001D9
-:10B54000EF0ED8808455000E855504E2EF0E000101
-:10B55000846F856B7CC000F000C001F0006A005071
-:10B560000001841301500001851388DF0001200EC3
-:10B57000836F7EDF00017C510001846F856B7EDF6D
-:10B580000001210E836F74DF00017D510001846F83
-:10B59000856B0001D8908437853770DF1200200E4C
-:10B5A0000001825D03E10001B60E826F000182514D
-:10B5B0007E0803E2220E0001825F210E0001825DFF
-:10B5C00004E300018251A30803E20001820E826FAE
-:10B5D000210E0001825DF66EF76AD890F636F736D6
-:10B5E0009A0EF626A30EF7220900F5CF88F00A007E
-:10B5F000F5CF89F000018229DF0FF66EF76AD89047
-:10B60000F636F7369A0EF626A30EF7220900F5CF86
-:10B610008AF00A00F5CF8BF01200270E0001825D40
-:10B6200003E100013B0E826F220E0001825D03E107
-:10B6300000013C0E826F6D0E0001825D03E100018E
-:10B640003D0E826F200E0001825D03E100013E0E7F
-:10B65000826F2E0E0001825D04E3000182513E08DC
-:10B6600003E200013E0E826F2E0E0001825DF66E37
-:10B67000F76AD890F636F736000EF626A00EF722B7
-:10B680000900F5CF88F00A00F5CF89F00001822982
-:10B69000D20FF66EF76AD890F636F736000EF62619
-:10B6A000A00EF7220900F5CF8AF00A00F5CF8BF043
-:10B6B0001200200E0001825D03E100012F0E826F57
-:10B6C0002E0E0001825D04E300018251390803E27D
-:10B6D00000012F0E826F2E0E0001825DF66EF76A5A
-:10B6E000D890F636F736A00EF6269F0EF722090000
-:10B6F000F5CF88F00A00F5CF89F000018229D20F3A
-:10B70000F66EF76AD890F636F736A00EF6269F0E3C
-:10B71000F7220900F5CF8AF00A00F5CF8BF012006E
-:10B7200000017C51006E016A013404E20050E60819
-:10B73000000E015403E20001E60E7C6F00017D5112
-:10B74000006E016A013404E200509B08000E0154AF
-:10B7500003E200019B0E7D6FB2DE0001220E836FBB
-:10B7600087DE84800001816B00018151EA6A600FED
-:10B77000E96E000EEA22EFCF82F00001825106E16D
-:10B7800000013A0E826F0001190E816FF86A000104
-:10B79000825101E1DCD01A0E0001815D01E3D7D0B6
-:10B7A000020E00017E5D02E184DF06D000017E050D
-:10B7B00002E133DF01D0F3DE00018E6B88C08CF034
-:10B7C00089C08DF000018A5100018C5D00018B5110
-:10B7D00000018D5901E3AFD0020E00017E5D1DE135
-:10B7E0008CC0F6FF8DC0F7FF010E0F0B05E0D8905F
-:10B7F000F732F632E806FBE1010ED890F636F7365E
-:10B80000E806FBE1000EF6269A0EF7220900F5CFB6
-:10B8100084F00A00F5CF85F03CD000017E051DE1E3
-:10B820008CC0F6FF8DC0F7FF010E0F0B05E0D8901E
-:10B83000F732F632E806FBE1010ED890F636F7361D
-:10B84000E806FBE1240EF626A00EF7220900F5CF4C
-:10B8500084F00A00F5CF85F01CD08CC0F6FF8DC0B7
-:10B86000F7FF010E0F0B05E0D890F732F632E8062D
-:10B87000FBE1010ED890F636F736E806FBE1880EBC
-:10B88000F626A40EF7220900F5CF84F00A00F5CFC2
-:10B8900085F000018C51010B05E00001845100018D
-:10B8A000806F05D085C000F0016A00C080F0000103
-:10B8B0008051006E016A0050800B1DE07F0E000178
-:10B8C000805F00017F5109E000018051000804E21F
-:10B8D00000018007EBDDF8D70DD08EC083FF00019B
-:10B8E0008051000807E200018007809480848094E2
-:10B8F0008084F5D71BD00001802B00017F510EE022
-:10B900008EC083FF00018051000807E2000180071C
-:10B910008094808480948084F5D708D00001805181
-:10B92000000804E200018007C1DDF8D700018C2B7C
-:10B93000000E8D2347D70001812B00018151EA6A57
-:10B94000600FE96E000EEA22EFCF82F020D70001EF
-:06B95000836B8EDD120086
-:020000040030CA
-:0100010008F6
-:0100020018E5
-:010003000EEE
-:01000500807A
-:010006008079
-:00000001FF
--- a/code_part1/OSTC_code_c_part2/ostc_bigscreen.map	Tue Jan 12 15:05:59 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1722 +0,0 @@
-MPLINK 4.33, Linker
-Linker Map File - Created Thu Sep 24 11:19:30 2009
-
-                                 Section Info
-                  Section       Type    Address   Location Size(Bytes)
-                ---------  ---------  ---------  ---------  ---------
-                 der_code    romdata   0x000000    program   0x000000
-                der_start       code   0x000000    program   0x000006
-                     main       code   0x009000    program   0x00003e
-          font_data_large    romdata   0x009a00    program   0x00059c
-.romdata_p3_wordprocessor.o    romdata   0x009f9c    program   0x000000
- .code_p3_wordprocessor.o       code   0x009f9c    program   0x000000
-         font_table_large    romdata   0x009fa0    program   0x00001a
-                    .code       code   0x009fba    program   0x00000e
-        font_table_medium    romdata   0x00a000    program   0x000024
-         font_data_medium    romdata   0x00a024    program   0x000376
-         font_table_small    romdata   0x00a39a    program   0x0000ea
-.idata_p3_wordprocessor.o_i    romdata   0x00a484    program   0x000000
-          font_data_small    romdata   0x00a488    program   0x000f8a
-       main_wordprocessor       code   0x00b468    program   0x000006
-                   .cinit    romdata   0x00b46e    program   0x000002
-             subroutines2       code   0x00b470    program   0x0004e6
-.config_300001_p3_wordprocessor.o    romdata   0x300001    program   0x000001
-.config_300002_p3_wordprocessor.o    romdata   0x300002    program   0x000001
-.config_300003_p3_wordprocessor.o    romdata   0x300003    program   0x000001
-.config_300005_p3_wordprocessor.o    romdata   0x300005    program   0x000001
-.config_300006_p3_wordprocessor.o    romdata   0x300006    program   0x000001
-                 .tmpdata      udata   0x000000       data   0x000002
-                MATH_DATA      udata   0x000002       data   0x000000
-                   bank0a      udata   0x000060       data   0x000030
-.udata_p3_wordprocessor.o      udata   0x000090       data   0x000000
-.idata_p3_wordprocessor.o      idata   0x000090       data   0x000000
-                   .stack      udata   0x000c00       data   0x000100
-              SFR_BANKED0      udata   0x000d60       data   0x00000c
-              SFR_BANKED1      udata   0x000d70       data   0x00000c
-              SFR_BANKED2      udata   0x000d80       data   0x00000c
-              SFR_BANKED3      udata   0x000d90       data   0x000004
-              SFR_BANKED4      udata   0x000dd4       data   0x000002
-              SFR_BANKED5      udata   0x000dd8       data   0x000001
-              SFR_BANKED6      udata   0x000de0       data   0x000008
-              SFR_BANKED7      udata   0x000df0       data   0x000004
-              SFR_BANKED8      udata   0x000df8       data   0x000001
-              SFR_BANKED9      udata   0x000dfa       data   0x000001
-             SFR_BANKED10      udata   0x000dfc       data   0x000001
-             SFR_BANKED11      udata   0x000e20       data   0x000060
-             SFR_BANKED12      udata   0x000f00       data   0x000060
-            SFR_UNBANKED0      udata   0x000f60       data   0x000018
-            SFR_UNBANKED1      udata   0x000f80       data   0x000080
-
-
-
-                              Program Memory Usage 
-                               Start         End      
-                           ---------   ---------      
-                            0x000000    0x000005      
-                            0x009000    0x00903d      
-                            0x009a00    0x009f9b      
-                            0x009fa0    0x009fc7      
-                            0x00a000    0x00a483      
-                            0x00a488    0x00b411      
-                            0x00b468    0x00b955      
-                            0x300001    0x300003      
-                            0x300005    0x300006      
-            7945 out of 99352 program addresses used, program memory utilization is 7%
-
-
-
-                              Symbols - Sorted by Name
-                     Name    Address   Location    Storage File                     
-                ---------  ---------  ---------  --------- ---------                
-         ___else_lbl00037   0x00b7b6    program     static                          
-         ___else_lbl00039   0x00b7ac    program     static                          
-         ___else_lbl00043   0x00b85a    program     static                          
-         ___else_lbl00045   0x00b81a    program     static                          
-         ___else_lbl00047   0x00b8a4    program     static                          
-         ___else_lbl00053   0x00b8da    program     static                          
-         ___else_lbl00059   0x00b91c    program     static                          
-         ___else_lbl00061   0x00b8f6    program     static                          
-          ___for_lbl00040   0x00b92c    program     static                          
-          ___for_lbl00041   0x00b936    program     static                          
-          ___for_lbl00062   0x00b7c4    program     static                          
-           ___if_lbl00030   0x00b73c    program     static                          
-           ___if_lbl00031   0x00b758    program     static                          
-           ___if_lbl00032   0x00b78c    program     static                          
-           ___if_lbl00036   0x00b7b8    program     static                          
-           ___if_lbl00038   0x00b7b8    program     static                          
-           ___if_lbl00042   0x00b892    program     static                          
-           ___if_lbl00044   0x00b892    program     static                          
-           ___if_lbl00046   0x00b8ae    program     static                          
-           ___if_lbl00052   0x00b8f4    program     static                          
-           ___if_lbl00058   0x00b92c    program     static                          
-           ___if_lbl00060   0x00b92c    program     static                          
-       ___return_lbl00000   0x000004    program     static                          
-       ___return_lbl00003   0x00b47a    program     static                          
-       ___return_lbl00004   0x00b49c    program     static                          
-       ___return_lbl00005   0x00b4aa    program     static                          
-       ___return_lbl00006   0x00b4bc    program     static                          
-       ___return_lbl00029   0x00b954    program     static                          
-        ___while_lbl00033   0x00b78e    program     static                          
-        ___while_lbl00034   0x00b94e    program     static                          
-        ___while_lbl00048   0x00b8c8    program     static                          
-        ___while_lbl00049   0x00b8d8    program     static                          
-        ___while_lbl00050   0x00b8de    program     static                          
-        ___while_lbl00051   0x00b8f4    program     static                          
-        ___while_lbl00054   0x00b904    program     static                          
-        ___while_lbl00055   0x00b91a    program     static                          
-        ___while_lbl00056   0x00b91c    program     static                          
-        ___while_lbl00057   0x00b92c    program     static                          
-               __config_0   0x300001    program     static Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-               __config_1   0x300002    program     static Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-               __config_2   0x300003    program     static Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-               __config_3   0x300005    program     static Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-               __config_4   0x300006    program     static Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-               __tmplbl_6   0x00b7a0    program     static                          
-               __tmplbl_7   0x00b796    program     static                          
-            __zero_memory   0x009fba    program     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               clear_loop   0x009fc0    program     static C:\MCC18\src\traditional\proc\p18F4685.asm
-                der_start   0x000000    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-                     main   0x009000    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-       main_wordprocessor   0x00b468    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-            wordprocessor   0x00b720    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-            wp_large_data   0x009a00    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-           wp_large_table   0x009fa0    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-           wp_medium_data   0x00a024    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-          wp_medium_table   0x00a000    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-   wp_set_char_font_large   0x00b6b2    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-  wp_set_char_font_medium   0x00b61a    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-   wp_set_char_font_small   0x00b59e    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-            wp_set_window   0x00b4be    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-            wp_small_data   0x00a488    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-           wp_small_table   0x00a39a    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-           wp_write_black   0x00b49e    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-           wp_write_color   0x00b4ac    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-         wp_write_command   0x00b470    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-            wp_write_data   0x00b47c    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-                   ADCON0   0x000fc2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               ADCON0bits   0x000fc2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   ADCON1   0x000fc1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               ADCON1bits   0x000fc1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   ADCON2   0x000fc0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               ADCON2bits   0x000fc0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    ADRES   0x000fc3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   ADRESH   0x000fc4       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   ADRESL   0x000fc3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    B0CON   0x000e20       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                B0CONbits   0x000e20       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B0D0   0x000e26       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B0D0bits   0x000e26       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B0D1   0x000e27       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B0D1bits   0x000e27       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B0D2   0x000e28       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B0D2bits   0x000e28       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B0D3   0x000e29       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B0D3bits   0x000e29       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B0D4   0x000e2a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B0D4bits   0x000e2a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B0D5   0x000e2b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B0D5bits   0x000e2b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B0D6   0x000e2c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B0D6bits   0x000e2c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B0D7   0x000e2d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B0D7bits   0x000e2d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    B0DLC   0x000e25       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                B0DLCbits   0x000e25       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B0EIDH   0x000e23       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B0EIDHbits   0x000e23       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B0EIDL   0x000e24       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B0EIDLbits   0x000e24       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B0SIDH   0x000e21       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B0SIDHbits   0x000e21       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B0SIDL   0x000e22       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B0SIDLbits   0x000e22       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    B1CON   0x000e30       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                B1CONbits   0x000e30       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B1D0   0x000e36       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B1D0bits   0x000e36       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B1D1   0x000e37       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B1D1bits   0x000e37       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B1D2   0x000e38       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B1D2bits   0x000e38       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B1D3   0x000e39       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B1D3bits   0x000e39       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B1D4   0x000e3a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B1D4bits   0x000e3a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B1D5   0x000e3b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B1D5bits   0x000e3b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B1D6   0x000e3c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B1D6bits   0x000e3c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B1D7   0x000e3d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B1D7bits   0x000e3d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    B1DLC   0x000e35       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                B1DLCbits   0x000e35       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B1EIDH   0x000e33       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B1EIDHbits   0x000e33       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B1EIDL   0x000e34       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B1EIDLbits   0x000e34       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B1SIDH   0x000e31       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B1SIDHbits   0x000e31       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B1SIDL   0x000e32       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B1SIDLbits   0x000e32       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    B2CON   0x000e40       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                B2CONbits   0x000e40       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B2D0   0x000e46       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B2D0bits   0x000e46       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B2D1   0x000e47       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B2D1bits   0x000e47       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B2D2   0x000e48       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B2D2bits   0x000e48       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B2D3   0x000e49       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B2D3bits   0x000e49       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B2D4   0x000e4a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B2D4bits   0x000e4a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B2D5   0x000e4b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B2D5bits   0x000e4b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B2D6   0x000e4c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B2D6bits   0x000e4c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B2D7   0x000e4d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B2D7bits   0x000e4d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    B2DLC   0x000e45       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                B2DLCbits   0x000e45       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B2EIDH   0x000e43       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B2EIDHbits   0x000e43       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B2EIDL   0x000e44       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B2EIDLbits   0x000e44       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B2SIDH   0x000e41       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B2SIDHbits   0x000e41       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B2SIDL   0x000e42       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B2SIDLbits   0x000e42       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    B3CON   0x000e50       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                B3CONbits   0x000e50       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B3D0   0x000e56       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B3D0bits   0x000e56       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B3D1   0x000e57       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B3D1bits   0x000e57       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B3D2   0x000e58       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B3D2bits   0x000e58       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B3D3   0x000e59       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B3D3bits   0x000e59       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B3D4   0x000e5a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B3D4bits   0x000e5a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B3D5   0x000e5b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B3D5bits   0x000e5b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B3D6   0x000e5c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B3D6bits   0x000e5c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B3D7   0x000e5d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B3D7bits   0x000e5d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    B3DLC   0x000e55       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                B3DLCbits   0x000e55       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B3EIDH   0x000e53       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B3EIDHbits   0x000e53       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B3EIDL   0x000e54       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B3EIDLbits   0x000e54       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B3SIDH   0x000e51       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B3SIDHbits   0x000e51       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B3SIDL   0x000e52       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B3SIDLbits   0x000e52       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    B4CON   0x000e60       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                B4CONbits   0x000e60       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B4D0   0x000e66       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B4D0bits   0x000e66       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B4D1   0x000e67       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B4D1bits   0x000e67       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B4D2   0x000e68       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B4D2bits   0x000e68       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B4D3   0x000e69       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B4D3bits   0x000e69       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B4D4   0x000e6a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B4D4bits   0x000e6a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B4D5   0x000e6b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B4D5bits   0x000e6b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B4D6   0x000e6c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B4D6bits   0x000e6c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B4D7   0x000e6d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B4D7bits   0x000e6d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    B4DLC   0x000e65       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                B4DLCbits   0x000e65       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B4EIDH   0x000e63       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B4EIDHbits   0x000e63       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B4EIDL   0x000e64       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B4EIDLbits   0x000e64       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B4SIDH   0x000e61       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B4SIDHbits   0x000e61       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B4SIDL   0x000e62       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B4SIDLbits   0x000e62       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    B5CON   0x000e70       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                B5CONbits   0x000e70       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B5D0   0x000e76       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B5D0bits   0x000e76       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B5D1   0x000e77       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B5D1bits   0x000e77       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B5D2   0x000e78       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B5D2bits   0x000e78       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B5D3   0x000e79       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B5D3bits   0x000e79       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B5D4   0x000e7a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B5D4bits   0x000e7a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B5D5   0x000e7b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B5D5bits   0x000e7b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B5D6   0x000e7c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B5D6bits   0x000e7c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B5D7   0x000e7d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B5D7bits   0x000e7d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    B5DLC   0x000e75       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                B5DLCbits   0x000e75       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B5EIDH   0x000e73       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B5EIDHbits   0x000e73       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B5EIDL   0x000e74       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B5EIDLbits   0x000e74       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B5SIDH   0x000e71       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B5SIDHbits   0x000e71       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B5SIDL   0x000e72       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B5SIDLbits   0x000e72       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  BAUDCON   0x000fb8       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              BAUDCONbits   0x000fb8       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     BIE0   0x000dfa       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 BIE0bits   0x000dfa       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  BRGCON1   0x000f70       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              BRGCON1bits   0x000f70       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  BRGCON2   0x000f71       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              BRGCON2bits   0x000f71       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  BRGCON3   0x000f72       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              BRGCON3bits   0x000f72       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    BSEL0   0x000df8       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                BSEL0bits   0x000df8       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                      BSR   0x000fe0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   CANCON   0x000f6f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               CANCON_RO0   0x000f5f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-           CANCON_RO0bits   0x000f5f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               CANCON_RO1   0x000f4f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-           CANCON_RO1bits   0x000f4f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               CANCON_RO2   0x000f3f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-           CANCON_RO2bits   0x000f3f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               CANCON_RO3   0x000f2f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-           CANCON_RO3bits   0x000f2f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               CANCON_RO4   0x000e7f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-           CANCON_RO4bits   0x000e7f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               CANCON_RO5   0x000e6f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-           CANCON_RO5bits   0x000e6f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               CANCON_RO6   0x000e5f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-           CANCON_RO6bits   0x000e5f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               CANCON_RO7   0x000e4f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-           CANCON_RO7bits   0x000e4f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               CANCON_RO8   0x000e3f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-           CANCON_RO8bits   0x000e3f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               CANCON_RO9   0x000e2f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-           CANCON_RO9bits   0x000e2f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               CANCONbits   0x000f6f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  CANSTAT   0x000f6e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              CANSTAT_RO0   0x000f5e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-          CANSTAT_RO0bits   0x000f5e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              CANSTAT_RO1   0x000f4e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-          CANSTAT_RO1bits   0x000f4e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              CANSTAT_RO2   0x000f3e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-          CANSTAT_RO2bits   0x000f3e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              CANSTAT_RO3   0x000f2e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-          CANSTAT_RO3bits   0x000f2e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              CANSTAT_RO4   0x000e7e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-          CANSTAT_RO4bits   0x000e7e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              CANSTAT_RO5   0x000e6e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-          CANSTAT_RO5bits   0x000e6e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              CANSTAT_RO6   0x000e5e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-          CANSTAT_RO6bits   0x000e5e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              CANSTAT_RO7   0x000e4e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-          CANSTAT_RO7bits   0x000e4e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              CANSTAT_RO8   0x000e3e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-          CANSTAT_RO8bits   0x000e3e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              CANSTAT_RO9   0x000e2e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-          CANSTAT_RO9bits   0x000e2e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              CANSTATbits   0x000f6e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  CCP1CON   0x000fbd       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              CCP1CONbits   0x000fbd       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    CCPR1   0x000fbe       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   CCPR1H   0x000fbf       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   CCPR1L   0x000fbe       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   CIOCON   0x000f73       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               CIOCONbits   0x000f73       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    CMCON   0x000fb4       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                CMCONbits   0x000fb4       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  COMSTAT   0x000f74       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              COMSTATbits   0x000f74       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   CVRCON   0x000fb5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               CVRCONbits   0x000fb5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     DDRA   0x000f92       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 DDRAbits   0x000f92       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     DDRB   0x000f93       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 DDRBbits   0x000f93       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     DDRC   0x000f94       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 DDRCbits   0x000f94       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     DDRD   0x000f95       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 DDRDbits   0x000f95       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     DDRE   0x000f96       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 DDREbits   0x000f96       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  ECANCON   0x000f77       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              ECANCONbits   0x000f77       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  ECCP1AS   0x000fb6       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              ECCP1ASbits   0x000fb6       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 ECCP1CON   0x000fba       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             ECCP1CONbits   0x000fba       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 ECCP1DEL   0x000fb7       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             ECCP1DELbits   0x000fb7       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   ECCPR1   0x000fbb       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  ECCPR1H   0x000fbc       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  ECCPR1L   0x000fbb       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    EEADR   0x000fa9       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   EEADRH   0x000faa       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   EECON1   0x000fa6       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               EECON1bits   0x000fa6       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   EECON2   0x000fa7       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   EEDATA   0x000fa8       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     FSR0   0x000fe9       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    FSR0H   0x000fea       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    FSR0L   0x000fe9       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     FSR1   0x000fe1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    FSR1H   0x000fe2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    FSR1L   0x000fe1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     FSR2   0x000fd9       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    FSR2H   0x000fda       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    FSR2L   0x000fd9       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  HLVDCON   0x000fd2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              HLVDCONbits   0x000fd2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    INDF0   0x000fef       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    INDF1   0x000fe7       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    INDF2   0x000fdf       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   INTCON   0x000ff2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  INTCON2   0x000ff1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              INTCON2bits   0x000ff1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  INTCON3   0x000ff0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              INTCON3bits   0x000ff0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               INTCONbits   0x000ff2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     IPR1   0x000f9f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 IPR1bits   0x000f9f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     IPR2   0x000fa2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 IPR2bits   0x000fa2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     IPR3   0x000fa5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 IPR3bits   0x000fa5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     LATA   0x000f89       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 LATAbits   0x000f89       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     LATB   0x000f8a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 LATBbits   0x000f8a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     LATC   0x000f8b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 LATCbits   0x000f8b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     LATD   0x000f8c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 LATDbits   0x000f8c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     LATE   0x000f8d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 LATEbits   0x000f8d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   LVDCON   0x000fd2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               LVDCONbits   0x000fd2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    MSEL0   0x000df0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                MSEL0bits   0x000df0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    MSEL1   0x000df1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                MSEL1bits   0x000df1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    MSEL2   0x000df2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                MSEL2bits   0x000df2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    MSEL3   0x000df3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                MSEL3bits   0x000df3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   OSCCON   0x000fd3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               OSCCONbits   0x000fd3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  OSCTUNE   0x000f9b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              OSCTUNEbits   0x000f9b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                       PC   0x000ff9       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                      PCL   0x000ff9       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   PCLATH   0x000ffa       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   PCLATU   0x000ffb       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     PIE1   0x000f9d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 PIE1bits   0x000f9d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     PIE2   0x000fa0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 PIE2bits   0x000fa0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     PIE3   0x000fa3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 PIE3bits   0x000fa3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     PIR1   0x000f9e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 PIR1bits   0x000f9e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     PIR2   0x000fa1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 PIR2bits   0x000fa1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     PIR3   0x000fa4       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 PIR3bits   0x000fa4       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   PLUSW0   0x000feb       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   PLUSW1   0x000fe3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   PLUSW2   0x000fdb       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    PORTA   0x000f80       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                PORTAbits   0x000f80       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    PORTB   0x000f81       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                PORTBbits   0x000f81       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    PORTC   0x000f82       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                PORTCbits   0x000f82       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    PORTD   0x000f83       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                PORTDbits   0x000f83       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    PORTE   0x000f84       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                PORTEbits   0x000f84       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 POSTDEC0   0x000fed       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 POSTDEC1   0x000fe5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 POSTDEC2   0x000fdd       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 POSTINC0   0x000fee       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 POSTINC1   0x000fe6       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 POSTINC2   0x000fde       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                      PR2   0x000fcb       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  PREINC0   0x000fec       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  PREINC1   0x000fe4       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  PREINC2   0x000fdc       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     PROD   0x000ff3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    PRODH   0x000ff4       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    PRODL   0x000ff3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     RCON   0x000fd0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RCONbits   0x000fd0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    RCREG   0x000fae       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    RCSTA   0x000fab       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RCSTAbits   0x000fab       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  RXB0CON   0x000f60       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              RXB0CONbits   0x000f60       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB0D0   0x000f66       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB0D0bits   0x000f66       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB0D1   0x000f67       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB0D1bits   0x000f67       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB0D2   0x000f68       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB0D2bits   0x000f68       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB0D3   0x000f69       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB0D3bits   0x000f69       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB0D4   0x000f6a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB0D4bits   0x000f6a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB0D5   0x000f6b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB0D5bits   0x000f6b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB0D6   0x000f6c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB0D6bits   0x000f6c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB0D7   0x000f6d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB0D7bits   0x000f6d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  RXB0DLC   0x000f65       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              RXB0DLCbits   0x000f65       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXB0EIDH   0x000f63       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXB0EIDHbits   0x000f63       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXB0EIDL   0x000f64       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXB0EIDLbits   0x000f64       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXB0SIDH   0x000f61       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXB0SIDHbits   0x000f61       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXB0SIDL   0x000f62       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXB0SIDLbits   0x000f62       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  RXB1CON   0x000f50       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              RXB1CONbits   0x000f50       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB1D0   0x000f56       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB1D0bits   0x000f56       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB1D1   0x000f57       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB1D1bits   0x000f57       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB1D2   0x000f58       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB1D2bits   0x000f58       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB1D3   0x000f59       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB1D3bits   0x000f59       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB1D4   0x000f5a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB1D4bits   0x000f5a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB1D5   0x000f5b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB1D5bits   0x000f5b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB1D6   0x000f5c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB1D6bits   0x000f5c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB1D7   0x000f5d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB1D7bits   0x000f5d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  RXB1DLC   0x000f55       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              RXB1DLCbits   0x000f55       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXB1EIDH   0x000f53       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXB1EIDHbits   0x000f53       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXB1EIDL   0x000f54       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXB1EIDLbits   0x000f54       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXB1SIDH   0x000f51       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXB1SIDHbits   0x000f51       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXB1SIDL   0x000f52       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXB1SIDLbits   0x000f52       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXERRCNT   0x000f75       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXERRCNTbits   0x000f75       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF0EIDH   0x000f02       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF0EIDHbits   0x000f02       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF0EIDL   0x000f03       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF0EIDLbits   0x000f03       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF0SIDH   0x000f00       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF0SIDHbits   0x000f00       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF0SIDL   0x000f01       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF0SIDLbits   0x000f01       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF10EIDH   0x000d76       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF10EIDHbits   0x000d76       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF10EIDL   0x000d77       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF10EIDLbits   0x000d77       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF10SIDH   0x000d74       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF10SIDHbits   0x000d74       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF10SIDL   0x000d75       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF10SIDLbits   0x000d75       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF11EIDH   0x000d7a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF11EIDHbits   0x000d7a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF11EIDL   0x000d7b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF11EIDLbits   0x000d7b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF11SIDH   0x000d78       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF11SIDHbits   0x000d78       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF11SIDL   0x000d79       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF11SIDLbits   0x000d79       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF12EIDH   0x000d82       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF12EIDHbits   0x000d82       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF12EIDL   0x000d83       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF12EIDLbits   0x000d83       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF12SIDH   0x000d80       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF12SIDHbits   0x000d80       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF12SIDL   0x000d81       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF12SIDLbits   0x000d81       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF13EIDH   0x000d86       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF13EIDHbits   0x000d86       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF13EIDL   0x000d87       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF13EIDLbits   0x000d87       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF13SIDH   0x000d84       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF13SIDHbits   0x000d84       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF13SIDL   0x000d85       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF13SIDLbits   0x000d85       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF14EIDH   0x000d8a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF14EIDHbits   0x000d8a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF14EIDL   0x000d8b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF14EIDLbits   0x000d8b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF14SIDH   0x000d88       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF14SIDHbits   0x000d88       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF14SIDL   0x000d89       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF14SIDLbits   0x000d89       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF15EIDH   0x000d92       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF15EIDHbits   0x000d92       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF15EIDL   0x000d93       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF15EIDLbits   0x000d93       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF15SIDH   0x000d90       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF15SIDHbits   0x000d90       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF15SIDL   0x000d91       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF15SIDLbits   0x000d91       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF1EIDH   0x000f06       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF1EIDHbits   0x000f06       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF1EIDL   0x000f07       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF1EIDLbits   0x000f07       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF1SIDH   0x000f04       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF1SIDHbits   0x000f04       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF1SIDL   0x000f05       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF1SIDLbits   0x000f05       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF2EIDH   0x000f0a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF2EIDHbits   0x000f0a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF2EIDL   0x000f0b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF2EIDLbits   0x000f0b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF2SIDH   0x000f08       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF2SIDHbits   0x000f08       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF2SIDL   0x000f09       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF2SIDLbits   0x000f09       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF3EIDH   0x000f0e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF3EIDHbits   0x000f0e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF3EIDL   0x000f0f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF3EIDLbits   0x000f0f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF3SIDH   0x000f0c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF3SIDHbits   0x000f0c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF3SIDL   0x000f0d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF3SIDLbits   0x000f0d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF4EIDH   0x000f12       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF4EIDHbits   0x000f12       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF4EIDL   0x000f13       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF4EIDLbits   0x000f13       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF4SIDH   0x000f10       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF4SIDHbits   0x000f10       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF4SIDL   0x000f11       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF4SIDLbits   0x000f11       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF5EIDH   0x000f16       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF5EIDHbits   0x000f16       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF5EIDL   0x000f17       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF5EIDLbits   0x000f17       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF5SIDH   0x000f14       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF5SIDHbits   0x000f14       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF5SIDL   0x000f15       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF5SIDLbits   0x000f15       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF6EIDH   0x000d62       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF6EIDHbits   0x000d62       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF6EIDL   0x000d63       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF6EIDLbits   0x000d63       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF6SIDH   0x000d60       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF6SIDHbits   0x000d60       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF6SIDL   0x000d61       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF6SIDLbits   0x000d61       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF7EIDH   0x000d66       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF7EIDHbits   0x000d66       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF7EIDL   0x000d67       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF7EIDLbits   0x000d67       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF7SIDH   0x000d64       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF7SIDHbits   0x000d64       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF7SIDL   0x000d65       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF7SIDLbits   0x000d65       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF8EIDH   0x000d6a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF8EIDHbits   0x000d6a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF8EIDL   0x000d6b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF8EIDLbits   0x000d6b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF8SIDH   0x000d68       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF8SIDHbits   0x000d68       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF8SIDL   0x000d69       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF8SIDLbits   0x000d69       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF9EIDH   0x000d72       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF9EIDHbits   0x000d72       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF9EIDL   0x000d73       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF9EIDLbits   0x000d73       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF9SIDH   0x000d70       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF9SIDHbits   0x000d70       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF9SIDL   0x000d71       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF9SIDLbits   0x000d71       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXFBCON0   0x000de0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXFBCON0bits   0x000de0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXFBCON1   0x000de1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXFBCON1bits   0x000de1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXFBCON2   0x000de2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXFBCON2bits   0x000de2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXFBCON3   0x000de3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXFBCON3bits   0x000de3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXFBCON4   0x000de4       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXFBCON4bits   0x000de4       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXFBCON5   0x000de5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXFBCON5bits   0x000de5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXFBCON6   0x000de6       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXFBCON6bits   0x000de6       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXFBCON7   0x000de7       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXFBCON7bits   0x000de7       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  RXFCON0   0x000dd4       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              RXFCON0bits   0x000dd4       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  RXFCON1   0x000dd5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              RXFCON1bits   0x000dd5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXM0EIDH   0x000f1a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXM0EIDHbits   0x000f1a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXM0EIDL   0x000f1b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXM0EIDLbits   0x000f1b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXM0SIDH   0x000f18       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXM0SIDHbits   0x000f18       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXM0SIDL   0x000f19       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXM0SIDLbits   0x000f19       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXM1EIDH   0x000f1e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXM1EIDHbits   0x000f1e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXM1EIDL   0x000f1f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXM1EIDLbits   0x000f1f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXM1SIDH   0x000f1c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXM1SIDHbits   0x000f1c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXM1SIDL   0x000f1d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXM1SIDLbits   0x000f1d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    SDFLC   0x000dd8       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                SDFLCbits   0x000dd8       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    SPBRG   0x000faf       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   SPBRGH   0x000fb0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   SSPADD   0x000fc8       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   SSPBUF   0x000fc9       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  SSPCON1   0x000fc6       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              SSPCON1bits   0x000fc6       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  SSPCON2   0x000fc5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              SSPCON2bits   0x000fc5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  SSPSTAT   0x000fc7       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              SSPSTATbits   0x000fc7       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   STATUS   0x000fd8       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               STATUSbits   0x000fd8       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   STKPTR   0x000ffc       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               STKPTRbits   0x000ffc       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    T0CON   0x000fd5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                T0CONbits   0x000fd5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    T1CON   0x000fcd       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                T1CONbits   0x000fcd       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    T2CON   0x000fca       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                T2CONbits   0x000fca       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    T3CON   0x000fb1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                T3CONbits   0x000fb1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TABLAT   0x000ff5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TBLPTR   0x000ff6       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  TBLPTRH   0x000ff7       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  TBLPTRL   0x000ff6       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  TBLPTRU   0x000ff8       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TMR0H   0x000fd7       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TMR0L   0x000fd6       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TMR1H   0x000fcf       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TMR1L   0x000fce       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     TMR2   0x000fcc       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TMR3H   0x000fb3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TMR3L   0x000fb2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                      TOS   0x000ffd       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     TOSH   0x000ffe       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     TOSL   0x000ffd       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     TOSU   0x000fff       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TRISA   0x000f92       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                TRISAbits   0x000f92       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TRISB   0x000f93       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                TRISBbits   0x000f93       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TRISC   0x000f94       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                TRISCbits   0x000f94       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TRISD   0x000f95       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                TRISDbits   0x000f95       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TRISE   0x000f96       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                TRISEbits   0x000f96       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  TXB0CON   0x000f40       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              TXB0CONbits   0x000f40       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB0D0   0x000f46       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB0D0bits   0x000f46       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB0D1   0x000f47       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB0D1bits   0x000f47       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB0D2   0x000f48       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB0D2bits   0x000f48       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB0D3   0x000f49       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB0D3bits   0x000f49       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB0D4   0x000f4a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB0D4bits   0x000f4a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB0D5   0x000f4b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB0D5bits   0x000f4b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB0D6   0x000f4c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB0D6bits   0x000f4c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB0D7   0x000f4d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB0D7bits   0x000f4d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  TXB0DLC   0x000f45       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              TXB0DLCbits   0x000f45       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 TXB0EIDH   0x000f43       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             TXB0EIDHbits   0x000f43       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 TXB0EIDL   0x000f44       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             TXB0EIDLbits   0x000f44       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 TXB0SIDH   0x000f41       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             TXB0SIDHbits   0x000f41       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 TXB0SIDL   0x000f42       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             TXB0SIDLbits   0x000f42       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  TXB1CON   0x000f30       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              TXB1CONbits   0x000f30       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB1D0   0x000f36       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB1D0bits   0x000f36       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB1D1   0x000f37       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB1D1bits   0x000f37       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB1D2   0x000f38       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB1D2bits   0x000f38       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB1D3   0x000f39       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB1D3bits   0x000f39       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB1D4   0x000f3a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB1D4bits   0x000f3a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB1D5   0x000f3b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB1D5bits   0x000f3b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB1D6   0x000f3c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB1D6bits   0x000f3c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB1D7   0x000f3d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB1D7bits   0x000f3d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  TXB1DLC   0x000f35       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              TXB1DLCbits   0x000f35       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 TXB1EIDH   0x000f33       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             TXB1EIDHbits   0x000f33       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 TXB1EIDL   0x000f34       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             TXB1EIDLbits   0x000f34       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 TXB1SIDH   0x000f31       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             TXB1SIDHbits   0x000f31       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 TXB1SIDL   0x000f32       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             TXB1SIDLbits   0x000f32       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  TXB2CON   0x000f20       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              TXB2CONbits   0x000f20       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB2D0   0x000f26       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB2D0bits   0x000f26       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB2D1   0x000f27       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB2D1bits   0x000f27       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB2D2   0x000f28       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB2D2bits   0x000f28       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB2D3   0x000f29       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB2D3bits   0x000f29       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB2D4   0x000f2a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB2D4bits   0x000f2a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB2D5   0x000f2b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB2D5bits   0x000f2b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB2D6   0x000f2c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB2D6bits   0x000f2c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB2D7   0x000f2d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB2D7bits   0x000f2d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  TXB2DLC   0x000f25       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              TXB2DLCbits   0x000f25       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 TXB2EIDH   0x000f23       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             TXB2EIDHbits   0x000f23       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 TXB2EIDL   0x000f24       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             TXB2EIDLbits   0x000f24       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 TXB2SIDH   0x000f21       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             TXB2SIDHbits   0x000f21       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 TXB2SIDL   0x000f22       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             TXB2SIDLbits   0x000f22       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TXBIE   0x000dfc       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                TXBIEbits   0x000dfc       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 TXERRCNT   0x000f76       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             TXERRCNTbits   0x000f76       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TXREG   0x000fad       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TXSTA   0x000fac       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                TXSTAbits   0x000fac       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   WDTCON   0x000fd1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               WDTCONbits   0x000fd1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     WREG   0x000fe8       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  __tmp_0   0x000000       data     static Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-                 wp_black   0x00008e       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-                  wp_char   0x000082       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-                wp_color1   0x00007a       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-                wp_color2   0x00007b       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-               wp_command   0x000083       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-            wp_data_16bit   0x000084       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-         wp_data_8bit_one   0x000086       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-         wp_data_8bit_two   0x000087       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-              wp_debug_U8   0x00008f       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-                   wp_end   0x00008a       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-                  wp_font   0x00007e       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-                     wp_i   0x00008c       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-                wp_invert   0x00007f       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-                wp_leftx2   0x00007d       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-                 wp_start   0x000088       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-           wp_stringstore   0x000060       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-               wp_temp_U8   0x000080       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-                   wp_top   0x00007c       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-                wp_txtptr   0x000081       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-
-
-
-                              Symbols - Sorted by Address
-                     Name    Address   Location    Storage File                     
-                ---------  ---------  ---------  --------- ---------                
-                der_start   0x000000    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-       ___return_lbl00000   0x000004    program     static                          
-                     main   0x009000    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-            wp_large_data   0x009a00    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-           wp_large_table   0x009fa0    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-            __zero_memory   0x009fba    program     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               clear_loop   0x009fc0    program     static C:\MCC18\src\traditional\proc\p18F4685.asm
-          wp_medium_table   0x00a000    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-           wp_medium_data   0x00a024    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-           wp_small_table   0x00a39a    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-            wp_small_data   0x00a488    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-       main_wordprocessor   0x00b468    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-         wp_write_command   0x00b470    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-       ___return_lbl00003   0x00b47a    program     static                          
-            wp_write_data   0x00b47c    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-       ___return_lbl00004   0x00b49c    program     static                          
-           wp_write_black   0x00b49e    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-       ___return_lbl00005   0x00b4aa    program     static                          
-           wp_write_color   0x00b4ac    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-       ___return_lbl00006   0x00b4bc    program     static                          
-            wp_set_window   0x00b4be    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-   wp_set_char_font_small   0x00b59e    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-  wp_set_char_font_medium   0x00b61a    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-   wp_set_char_font_large   0x00b6b2    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-            wordprocessor   0x00b720    program     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-           ___if_lbl00030   0x00b73c    program     static                          
-           ___if_lbl00031   0x00b758    program     static                          
-           ___if_lbl00032   0x00b78c    program     static                          
-        ___while_lbl00033   0x00b78e    program     static                          
-               __tmplbl_7   0x00b796    program     static                          
-               __tmplbl_6   0x00b7a0    program     static                          
-         ___else_lbl00039   0x00b7ac    program     static                          
-         ___else_lbl00037   0x00b7b6    program     static                          
-           ___if_lbl00036   0x00b7b8    program     static                          
-           ___if_lbl00038   0x00b7b8    program     static                          
-          ___for_lbl00062   0x00b7c4    program     static                          
-         ___else_lbl00045   0x00b81a    program     static                          
-         ___else_lbl00043   0x00b85a    program     static                          
-           ___if_lbl00042   0x00b892    program     static                          
-           ___if_lbl00044   0x00b892    program     static                          
-         ___else_lbl00047   0x00b8a4    program     static                          
-           ___if_lbl00046   0x00b8ae    program     static                          
-        ___while_lbl00048   0x00b8c8    program     static                          
-        ___while_lbl00049   0x00b8d8    program     static                          
-         ___else_lbl00053   0x00b8da    program     static                          
-        ___while_lbl00050   0x00b8de    program     static                          
-        ___while_lbl00051   0x00b8f4    program     static                          
-           ___if_lbl00052   0x00b8f4    program     static                          
-         ___else_lbl00061   0x00b8f6    program     static                          
-        ___while_lbl00054   0x00b904    program     static                          
-        ___while_lbl00055   0x00b91a    program     static                          
-        ___while_lbl00056   0x00b91c    program     static                          
-         ___else_lbl00059   0x00b91c    program     static                          
-          ___for_lbl00040   0x00b92c    program     static                          
-        ___while_lbl00057   0x00b92c    program     static                          
-           ___if_lbl00058   0x00b92c    program     static                          
-           ___if_lbl00060   0x00b92c    program     static                          
-          ___for_lbl00041   0x00b936    program     static                          
-        ___while_lbl00034   0x00b94e    program     static                          
-       ___return_lbl00029   0x00b954    program     static                          
-               __config_0   0x300001    program     static Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-               __config_1   0x300002    program     static Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-               __config_2   0x300003    program     static Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-               __config_3   0x300005    program     static Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-               __config_4   0x300006    program     static Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-                  __tmp_0   0x000000       data     static Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-           wp_stringstore   0x000060       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-                wp_color1   0x00007a       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-                wp_color2   0x00007b       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-                   wp_top   0x00007c       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-                wp_leftx2   0x00007d       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-                  wp_font   0x00007e       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-                wp_invert   0x00007f       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-               wp_temp_U8   0x000080       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-                wp_txtptr   0x000081       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-                  wp_char   0x000082       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-               wp_command   0x000083       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-            wp_data_16bit   0x000084       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-         wp_data_8bit_one   0x000086       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-         wp_data_8bit_two   0x000087       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-                 wp_start   0x000088       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-                   wp_end   0x00008a       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-                     wp_i   0x00008c       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-                 wp_black   0x00008e       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-              wp_debug_U8   0x00008f       data     extern Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-             RXF6SIDHbits   0x000d60       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF6SIDH   0x000d60       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF6SIDLbits   0x000d61       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF6SIDL   0x000d61       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF6EIDHbits   0x000d62       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF6EIDH   0x000d62       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF6EIDLbits   0x000d63       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF6EIDL   0x000d63       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF7SIDHbits   0x000d64       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF7SIDH   0x000d64       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF7SIDLbits   0x000d65       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF7SIDL   0x000d65       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF7EIDH   0x000d66       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF7EIDHbits   0x000d66       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF7EIDLbits   0x000d67       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF7EIDL   0x000d67       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF8SIDH   0x000d68       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF8SIDHbits   0x000d68       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF8SIDLbits   0x000d69       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF8SIDL   0x000d69       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF8EIDH   0x000d6a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF8EIDHbits   0x000d6a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF8EIDL   0x000d6b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF8EIDLbits   0x000d6b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF9SIDHbits   0x000d70       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF9SIDH   0x000d70       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF9SIDL   0x000d71       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF9SIDLbits   0x000d71       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF9EIDH   0x000d72       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF9EIDHbits   0x000d72       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF9EIDL   0x000d73       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF9EIDLbits   0x000d73       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF10SIDH   0x000d74       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF10SIDHbits   0x000d74       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF10SIDLbits   0x000d75       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF10SIDL   0x000d75       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF10EIDH   0x000d76       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF10EIDHbits   0x000d76       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF10EIDLbits   0x000d77       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF10EIDL   0x000d77       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF11SIDH   0x000d78       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF11SIDHbits   0x000d78       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF11SIDLbits   0x000d79       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF11SIDL   0x000d79       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF11EIDH   0x000d7a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF11EIDHbits   0x000d7a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF11EIDL   0x000d7b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF11EIDLbits   0x000d7b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF12SIDHbits   0x000d80       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF12SIDH   0x000d80       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF12SIDLbits   0x000d81       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF12SIDL   0x000d81       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF12EIDH   0x000d82       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF12EIDHbits   0x000d82       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF12EIDL   0x000d83       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF12EIDLbits   0x000d83       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF13SIDHbits   0x000d84       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF13SIDH   0x000d84       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF13SIDL   0x000d85       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF13SIDLbits   0x000d85       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF13EIDHbits   0x000d86       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF13EIDH   0x000d86       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF13EIDL   0x000d87       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF13EIDLbits   0x000d87       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF14SIDH   0x000d88       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF14SIDHbits   0x000d88       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF14SIDLbits   0x000d89       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF14SIDL   0x000d89       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF14EIDH   0x000d8a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF14EIDHbits   0x000d8a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF14EIDLbits   0x000d8b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF14EIDL   0x000d8b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF15SIDH   0x000d90       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF15SIDHbits   0x000d90       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF15SIDL   0x000d91       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF15SIDLbits   0x000d91       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF15EIDH   0x000d92       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF15EIDHbits   0x000d92       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RXF15EIDL   0x000d93       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-            RXF15EIDLbits   0x000d93       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              RXFCON0bits   0x000dd4       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  RXFCON0   0x000dd4       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              RXFCON1bits   0x000dd5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  RXFCON1   0x000dd5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    SDFLC   0x000dd8       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                SDFLCbits   0x000dd8       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXFBCON0   0x000de0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXFBCON0bits   0x000de0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXFBCON1   0x000de1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXFBCON1bits   0x000de1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXFBCON2   0x000de2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXFBCON2bits   0x000de2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXFBCON3   0x000de3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXFBCON3bits   0x000de3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXFBCON4   0x000de4       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXFBCON4bits   0x000de4       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXFBCON5   0x000de5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXFBCON5bits   0x000de5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXFBCON6bits   0x000de6       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXFBCON6   0x000de6       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXFBCON7bits   0x000de7       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXFBCON7   0x000de7       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                MSEL0bits   0x000df0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    MSEL0   0x000df0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                MSEL1bits   0x000df1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    MSEL1   0x000df1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                MSEL2bits   0x000df2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    MSEL2   0x000df2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                MSEL3bits   0x000df3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    MSEL3   0x000df3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                BSEL0bits   0x000df8       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    BSEL0   0x000df8       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 BIE0bits   0x000dfa       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     BIE0   0x000dfa       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TXBIE   0x000dfc       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                TXBIEbits   0x000dfc       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                B0CONbits   0x000e20       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    B0CON   0x000e20       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B0SIDH   0x000e21       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B0SIDHbits   0x000e21       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B0SIDL   0x000e22       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B0SIDLbits   0x000e22       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B0EIDH   0x000e23       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B0EIDHbits   0x000e23       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B0EIDLbits   0x000e24       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B0EIDL   0x000e24       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    B0DLC   0x000e25       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                B0DLCbits   0x000e25       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B0D0bits   0x000e26       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B0D0   0x000e26       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B0D1   0x000e27       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B0D1bits   0x000e27       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B0D2   0x000e28       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B0D2bits   0x000e28       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B0D3bits   0x000e29       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B0D3   0x000e29       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B0D4   0x000e2a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B0D4bits   0x000e2a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B0D5   0x000e2b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B0D5bits   0x000e2b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B0D6   0x000e2c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B0D6bits   0x000e2c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B0D7bits   0x000e2d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B0D7   0x000e2d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-          CANSTAT_RO9bits   0x000e2e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              CANSTAT_RO9   0x000e2e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               CANCON_RO9   0x000e2f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-           CANCON_RO9bits   0x000e2f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    B1CON   0x000e30       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                B1CONbits   0x000e30       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B1SIDHbits   0x000e31       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B1SIDH   0x000e31       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B1SIDLbits   0x000e32       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B1SIDL   0x000e32       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B1EIDH   0x000e33       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B1EIDHbits   0x000e33       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B1EIDL   0x000e34       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B1EIDLbits   0x000e34       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                B1DLCbits   0x000e35       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    B1DLC   0x000e35       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B1D0bits   0x000e36       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B1D0   0x000e36       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B1D1bits   0x000e37       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B1D1   0x000e37       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B1D2bits   0x000e38       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B1D2   0x000e38       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B1D3bits   0x000e39       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B1D3   0x000e39       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B1D4bits   0x000e3a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B1D4   0x000e3a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B1D5   0x000e3b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B1D5bits   0x000e3b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B1D6   0x000e3c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B1D6bits   0x000e3c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B1D7   0x000e3d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B1D7bits   0x000e3d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              CANSTAT_RO8   0x000e3e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-          CANSTAT_RO8bits   0x000e3e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-           CANCON_RO8bits   0x000e3f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               CANCON_RO8   0x000e3f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                B2CONbits   0x000e40       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    B2CON   0x000e40       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B2SIDHbits   0x000e41       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B2SIDH   0x000e41       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B2SIDLbits   0x000e42       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B2SIDL   0x000e42       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B2EIDHbits   0x000e43       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B2EIDH   0x000e43       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B2EIDLbits   0x000e44       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B2EIDL   0x000e44       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    B2DLC   0x000e45       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                B2DLCbits   0x000e45       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B2D0   0x000e46       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B2D0bits   0x000e46       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B2D1   0x000e47       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B2D1bits   0x000e47       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B2D2   0x000e48       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B2D2bits   0x000e48       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B2D3bits   0x000e49       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B2D3   0x000e49       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B2D4bits   0x000e4a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B2D4   0x000e4a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B2D5bits   0x000e4b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B2D5   0x000e4b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B2D6bits   0x000e4c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B2D6   0x000e4c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B2D7bits   0x000e4d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B2D7   0x000e4d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              CANSTAT_RO7   0x000e4e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-          CANSTAT_RO7bits   0x000e4e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-           CANCON_RO7bits   0x000e4f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               CANCON_RO7   0x000e4f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    B3CON   0x000e50       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                B3CONbits   0x000e50       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B3SIDHbits   0x000e51       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B3SIDH   0x000e51       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B3SIDLbits   0x000e52       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B3SIDL   0x000e52       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B3EIDHbits   0x000e53       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B3EIDH   0x000e53       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B3EIDLbits   0x000e54       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B3EIDL   0x000e54       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                B3DLCbits   0x000e55       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    B3DLC   0x000e55       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B3D0bits   0x000e56       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B3D0   0x000e56       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B3D1   0x000e57       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B3D1bits   0x000e57       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B3D2   0x000e58       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B3D2bits   0x000e58       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B3D3   0x000e59       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B3D3bits   0x000e59       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B3D4   0x000e5a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B3D4bits   0x000e5a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B3D5   0x000e5b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B3D5bits   0x000e5b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B3D6   0x000e5c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B3D6bits   0x000e5c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B3D7   0x000e5d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B3D7bits   0x000e5d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              CANSTAT_RO6   0x000e5e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-          CANSTAT_RO6bits   0x000e5e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               CANCON_RO6   0x000e5f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-           CANCON_RO6bits   0x000e5f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    B4CON   0x000e60       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                B4CONbits   0x000e60       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B4SIDH   0x000e61       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B4SIDHbits   0x000e61       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B4SIDL   0x000e62       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B4SIDLbits   0x000e62       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B4EIDH   0x000e63       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B4EIDHbits   0x000e63       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B4EIDL   0x000e64       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B4EIDLbits   0x000e64       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                B4DLCbits   0x000e65       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    B4DLC   0x000e65       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B4D0   0x000e66       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B4D0bits   0x000e66       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B4D1bits   0x000e67       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B4D1   0x000e67       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B4D2bits   0x000e68       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B4D2   0x000e68       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B4D3bits   0x000e69       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B4D3   0x000e69       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B4D4   0x000e6a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B4D4bits   0x000e6a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B4D5   0x000e6b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B4D5bits   0x000e6b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B4D6   0x000e6c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B4D6bits   0x000e6c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B4D7bits   0x000e6d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B4D7   0x000e6d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-          CANSTAT_RO5bits   0x000e6e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              CANSTAT_RO5   0x000e6e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               CANCON_RO5   0x000e6f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-           CANCON_RO5bits   0x000e6f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                B5CONbits   0x000e70       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    B5CON   0x000e70       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B5SIDHbits   0x000e71       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B5SIDH   0x000e71       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B5SIDLbits   0x000e72       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B5SIDL   0x000e72       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B5EIDHbits   0x000e73       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B5EIDH   0x000e73       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   B5EIDL   0x000e74       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               B5EIDLbits   0x000e74       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                B5DLCbits   0x000e75       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    B5DLC   0x000e75       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B5D0   0x000e76       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B5D0bits   0x000e76       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B5D1   0x000e77       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B5D1bits   0x000e77       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B5D2bits   0x000e78       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B5D2   0x000e78       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B5D3bits   0x000e79       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B5D3   0x000e79       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B5D4bits   0x000e7a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B5D4   0x000e7a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B5D5   0x000e7b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B5D5bits   0x000e7b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B5D6   0x000e7c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B5D6bits   0x000e7c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     B5D7   0x000e7d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 B5D7bits   0x000e7d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              CANSTAT_RO4   0x000e7e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-          CANSTAT_RO4bits   0x000e7e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               CANCON_RO4   0x000e7f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-           CANCON_RO4bits   0x000e7f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF0SIDHbits   0x000f00       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF0SIDH   0x000f00       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF0SIDLbits   0x000f01       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF0SIDL   0x000f01       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF0EIDHbits   0x000f02       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF0EIDH   0x000f02       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF0EIDLbits   0x000f03       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF0EIDL   0x000f03       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF1SIDH   0x000f04       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF1SIDHbits   0x000f04       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF1SIDLbits   0x000f05       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF1SIDL   0x000f05       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF1EIDH   0x000f06       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF1EIDHbits   0x000f06       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF1EIDL   0x000f07       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF1EIDLbits   0x000f07       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF2SIDHbits   0x000f08       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF2SIDH   0x000f08       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF2SIDLbits   0x000f09       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF2SIDL   0x000f09       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF2EIDHbits   0x000f0a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF2EIDH   0x000f0a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF2EIDLbits   0x000f0b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF2EIDL   0x000f0b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF3SIDH   0x000f0c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF3SIDHbits   0x000f0c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF3SIDL   0x000f0d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF3SIDLbits   0x000f0d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF3EIDHbits   0x000f0e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF3EIDH   0x000f0e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF3EIDLbits   0x000f0f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF3EIDL   0x000f0f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF4SIDH   0x000f10       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF4SIDHbits   0x000f10       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF4SIDL   0x000f11       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF4SIDLbits   0x000f11       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF4EIDHbits   0x000f12       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF4EIDH   0x000f12       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF4EIDL   0x000f13       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF4EIDLbits   0x000f13       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF5SIDHbits   0x000f14       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF5SIDH   0x000f14       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF5SIDLbits   0x000f15       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF5SIDL   0x000f15       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF5EIDHbits   0x000f16       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF5EIDH   0x000f16       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXF5EIDLbits   0x000f17       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXF5EIDL   0x000f17       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXM0SIDH   0x000f18       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXM0SIDHbits   0x000f18       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXM0SIDL   0x000f19       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXM0SIDLbits   0x000f19       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXM0EIDH   0x000f1a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXM0EIDHbits   0x000f1a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXM0EIDL   0x000f1b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXM0EIDLbits   0x000f1b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXM1SIDHbits   0x000f1c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXM1SIDH   0x000f1c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXM1SIDLbits   0x000f1d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXM1SIDL   0x000f1d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXM1EIDHbits   0x000f1e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXM1EIDH   0x000f1e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXM1EIDLbits   0x000f1f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXM1EIDL   0x000f1f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  TXB2CON   0x000f20       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              TXB2CONbits   0x000f20       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             TXB2SIDHbits   0x000f21       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 TXB2SIDH   0x000f21       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             TXB2SIDLbits   0x000f22       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 TXB2SIDL   0x000f22       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             TXB2EIDHbits   0x000f23       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 TXB2EIDH   0x000f23       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             TXB2EIDLbits   0x000f24       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 TXB2EIDL   0x000f24       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              TXB2DLCbits   0x000f25       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  TXB2DLC   0x000f25       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB2D0   0x000f26       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB2D0bits   0x000f26       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB2D1bits   0x000f27       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB2D1   0x000f27       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB2D2bits   0x000f28       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB2D2   0x000f28       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB2D3bits   0x000f29       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB2D3   0x000f29       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB2D4bits   0x000f2a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB2D4   0x000f2a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB2D5   0x000f2b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB2D5bits   0x000f2b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB2D6bits   0x000f2c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB2D6   0x000f2c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB2D7bits   0x000f2d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB2D7   0x000f2d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-          CANSTAT_RO3bits   0x000f2e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              CANSTAT_RO3   0x000f2e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               CANCON_RO3   0x000f2f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-           CANCON_RO3bits   0x000f2f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              TXB1CONbits   0x000f30       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  TXB1CON   0x000f30       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 TXB1SIDH   0x000f31       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             TXB1SIDHbits   0x000f31       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 TXB1SIDL   0x000f32       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             TXB1SIDLbits   0x000f32       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             TXB1EIDHbits   0x000f33       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 TXB1EIDH   0x000f33       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             TXB1EIDLbits   0x000f34       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 TXB1EIDL   0x000f34       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              TXB1DLCbits   0x000f35       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  TXB1DLC   0x000f35       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB1D0   0x000f36       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB1D0bits   0x000f36       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB1D1bits   0x000f37       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB1D1   0x000f37       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB1D2   0x000f38       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB1D2bits   0x000f38       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB1D3bits   0x000f39       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB1D3   0x000f39       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB1D4bits   0x000f3a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB1D4   0x000f3a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB1D5bits   0x000f3b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB1D5   0x000f3b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB1D6bits   0x000f3c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB1D6   0x000f3c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB1D7bits   0x000f3d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB1D7   0x000f3d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              CANSTAT_RO2   0x000f3e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-          CANSTAT_RO2bits   0x000f3e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-           CANCON_RO2bits   0x000f3f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               CANCON_RO2   0x000f3f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  TXB0CON   0x000f40       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              TXB0CONbits   0x000f40       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             TXB0SIDHbits   0x000f41       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 TXB0SIDH   0x000f41       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             TXB0SIDLbits   0x000f42       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 TXB0SIDL   0x000f42       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             TXB0EIDHbits   0x000f43       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 TXB0EIDH   0x000f43       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             TXB0EIDLbits   0x000f44       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 TXB0EIDL   0x000f44       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              TXB0DLCbits   0x000f45       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  TXB0DLC   0x000f45       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB0D0   0x000f46       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB0D0bits   0x000f46       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB0D1bits   0x000f47       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB0D1   0x000f47       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB0D2bits   0x000f48       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB0D2   0x000f48       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB0D3bits   0x000f49       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB0D3   0x000f49       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB0D4bits   0x000f4a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB0D4   0x000f4a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB0D5bits   0x000f4b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB0D5   0x000f4b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB0D6bits   0x000f4c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB0D6   0x000f4c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               TXB0D7bits   0x000f4d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TXB0D7   0x000f4d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-          CANSTAT_RO1bits   0x000f4e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              CANSTAT_RO1   0x000f4e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-           CANCON_RO1bits   0x000f4f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               CANCON_RO1   0x000f4f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  RXB1CON   0x000f50       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              RXB1CONbits   0x000f50       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXB1SIDH   0x000f51       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXB1SIDHbits   0x000f51       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXB1SIDLbits   0x000f52       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXB1SIDL   0x000f52       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXB1EIDHbits   0x000f53       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXB1EIDH   0x000f53       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXB1EIDLbits   0x000f54       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXB1EIDL   0x000f54       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              RXB1DLCbits   0x000f55       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  RXB1DLC   0x000f55       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB1D0bits   0x000f56       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB1D0   0x000f56       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB1D1bits   0x000f57       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB1D1   0x000f57       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB1D2bits   0x000f58       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB1D2   0x000f58       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB1D3bits   0x000f59       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB1D3   0x000f59       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB1D4   0x000f5a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB1D4bits   0x000f5a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB1D5   0x000f5b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB1D5bits   0x000f5b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB1D6   0x000f5c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB1D6bits   0x000f5c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB1D7bits   0x000f5d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB1D7   0x000f5d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-          CANSTAT_RO0bits   0x000f5e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              CANSTAT_RO0   0x000f5e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-           CANCON_RO0bits   0x000f5f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               CANCON_RO0   0x000f5f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  RXB0CON   0x000f60       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              RXB0CONbits   0x000f60       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXB0SIDH   0x000f61       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXB0SIDHbits   0x000f61       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXB0SIDL   0x000f62       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXB0SIDLbits   0x000f62       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXB0EIDH   0x000f63       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXB0EIDHbits   0x000f63       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXB0EIDL   0x000f64       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXB0EIDLbits   0x000f64       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              RXB0DLCbits   0x000f65       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  RXB0DLC   0x000f65       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB0D0bits   0x000f66       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB0D0   0x000f66       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB0D1bits   0x000f67       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB0D1   0x000f67       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB0D2bits   0x000f68       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB0D2   0x000f68       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB0D3bits   0x000f69       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB0D3   0x000f69       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB0D4bits   0x000f6a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB0D4   0x000f6a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB0D5bits   0x000f6b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB0D5   0x000f6b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB0D6bits   0x000f6c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB0D6   0x000f6c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               RXB0D7bits   0x000f6d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   RXB0D7   0x000f6d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              CANSTATbits   0x000f6e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  CANSTAT   0x000f6e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   CANCON   0x000f6f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               CANCONbits   0x000f6f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  BRGCON1   0x000f70       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              BRGCON1bits   0x000f70       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  BRGCON2   0x000f71       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              BRGCON2bits   0x000f71       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  BRGCON3   0x000f72       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              BRGCON3bits   0x000f72       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               CIOCONbits   0x000f73       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   CIOCON   0x000f73       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  COMSTAT   0x000f74       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              COMSTATbits   0x000f74       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RXERRCNT   0x000f75       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             RXERRCNTbits   0x000f75       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 TXERRCNT   0x000f76       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             TXERRCNTbits   0x000f76       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              ECANCONbits   0x000f77       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  ECANCON   0x000f77       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    PORTA   0x000f80       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                PORTAbits   0x000f80       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    PORTB   0x000f81       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                PORTBbits   0x000f81       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    PORTC   0x000f82       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                PORTCbits   0x000f82       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    PORTD   0x000f83       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                PORTDbits   0x000f83       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    PORTE   0x000f84       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                PORTEbits   0x000f84       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 LATAbits   0x000f89       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     LATA   0x000f89       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 LATBbits   0x000f8a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     LATB   0x000f8a       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 LATCbits   0x000f8b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     LATC   0x000f8b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 LATDbits   0x000f8c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     LATD   0x000f8c       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 LATEbits   0x000f8d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     LATE   0x000f8d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TRISA   0x000f92       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                TRISAbits   0x000f92       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     DDRA   0x000f92       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 DDRAbits   0x000f92       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 DDRBbits   0x000f93       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     DDRB   0x000f93       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TRISB   0x000f93       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                TRISBbits   0x000f93       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     DDRC   0x000f94       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 DDRCbits   0x000f94       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TRISC   0x000f94       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                TRISCbits   0x000f94       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     DDRD   0x000f95       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 DDRDbits   0x000f95       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TRISD   0x000f95       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                TRISDbits   0x000f95       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TRISE   0x000f96       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                TRISEbits   0x000f96       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     DDRE   0x000f96       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 DDREbits   0x000f96       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              OSCTUNEbits   0x000f9b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  OSCTUNE   0x000f9b       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 PIE1bits   0x000f9d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     PIE1   0x000f9d       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     PIR1   0x000f9e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 PIR1bits   0x000f9e       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 IPR1bits   0x000f9f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     IPR1   0x000f9f       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     PIE2   0x000fa0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 PIE2bits   0x000fa0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     PIR2   0x000fa1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 PIR2bits   0x000fa1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 IPR2bits   0x000fa2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     IPR2   0x000fa2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     PIE3   0x000fa3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 PIE3bits   0x000fa3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 PIR3bits   0x000fa4       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     PIR3   0x000fa4       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 IPR3bits   0x000fa5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     IPR3   0x000fa5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               EECON1bits   0x000fa6       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   EECON1   0x000fa6       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   EECON2   0x000fa7       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   EEDATA   0x000fa8       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    EEADR   0x000fa9       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   EEADRH   0x000faa       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                RCSTAbits   0x000fab       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    RCSTA   0x000fab       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TXSTA   0x000fac       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                TXSTAbits   0x000fac       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TXREG   0x000fad       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    RCREG   0x000fae       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    SPBRG   0x000faf       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   SPBRGH   0x000fb0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                T3CONbits   0x000fb1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    T3CON   0x000fb1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TMR3L   0x000fb2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TMR3H   0x000fb3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    CMCON   0x000fb4       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                CMCONbits   0x000fb4       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   CVRCON   0x000fb5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               CVRCONbits   0x000fb5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  ECCP1AS   0x000fb6       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              ECCP1ASbits   0x000fb6       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 ECCP1DEL   0x000fb7       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             ECCP1DELbits   0x000fb7       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  BAUDCON   0x000fb8       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              BAUDCONbits   0x000fb8       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 ECCP1CON   0x000fba       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-             ECCP1CONbits   0x000fba       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   ECCPR1   0x000fbb       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  ECCPR1L   0x000fbb       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  ECCPR1H   0x000fbc       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              CCP1CONbits   0x000fbd       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  CCP1CON   0x000fbd       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   CCPR1L   0x000fbe       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    CCPR1   0x000fbe       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   CCPR1H   0x000fbf       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   ADCON2   0x000fc0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               ADCON2bits   0x000fc0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               ADCON1bits   0x000fc1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   ADCON1   0x000fc1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               ADCON0bits   0x000fc2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   ADCON0   0x000fc2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   ADRESL   0x000fc3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    ADRES   0x000fc3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   ADRESH   0x000fc4       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              SSPCON2bits   0x000fc5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  SSPCON2   0x000fc5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              SSPCON1bits   0x000fc6       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  SSPCON1   0x000fc6       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              SSPSTATbits   0x000fc7       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  SSPSTAT   0x000fc7       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   SSPADD   0x000fc8       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   SSPBUF   0x000fc9       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    T2CON   0x000fca       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                T2CONbits   0x000fca       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                      PR2   0x000fcb       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     TMR2   0x000fcc       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    T1CON   0x000fcd       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                T1CONbits   0x000fcd       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TMR1L   0x000fce       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TMR1H   0x000fcf       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     RCON   0x000fd0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 RCONbits   0x000fd0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               WDTCONbits   0x000fd1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   WDTCON   0x000fd1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              HLVDCONbits   0x000fd2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  HLVDCON   0x000fd2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               LVDCONbits   0x000fd2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   LVDCON   0x000fd2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               OSCCONbits   0x000fd3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   OSCCON   0x000fd3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                T0CONbits   0x000fd5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    T0CON   0x000fd5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TMR0L   0x000fd6       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    TMR0H   0x000fd7       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   STATUS   0x000fd8       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               STATUSbits   0x000fd8       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    FSR2L   0x000fd9       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     FSR2   0x000fd9       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    FSR2H   0x000fda       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   PLUSW2   0x000fdb       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  PREINC2   0x000fdc       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 POSTDEC2   0x000fdd       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 POSTINC2   0x000fde       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    INDF2   0x000fdf       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                      BSR   0x000fe0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    FSR1L   0x000fe1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     FSR1   0x000fe1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    FSR1H   0x000fe2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   PLUSW1   0x000fe3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  PREINC1   0x000fe4       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 POSTDEC1   0x000fe5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 POSTINC1   0x000fe6       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    INDF1   0x000fe7       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     WREG   0x000fe8       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     FSR0   0x000fe9       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    FSR0L   0x000fe9       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    FSR0H   0x000fea       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   PLUSW0   0x000feb       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  PREINC0   0x000fec       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 POSTDEC0   0x000fed       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                 POSTINC0   0x000fee       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    INDF0   0x000fef       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              INTCON3bits   0x000ff0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  INTCON3   0x000ff0       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  INTCON2   0x000ff1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-              INTCON2bits   0x000ff1       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   INTCON   0x000ff2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               INTCONbits   0x000ff2       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     PROD   0x000ff3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    PRODL   0x000ff3       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                    PRODH   0x000ff4       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TABLAT   0x000ff5       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  TBLPTRL   0x000ff6       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   TBLPTR   0x000ff6       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  TBLPTRH   0x000ff7       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                  TBLPTRU   0x000ff8       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                      PCL   0x000ff9       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                       PC   0x000ff9       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   PCLATH   0x000ffa       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   PCLATU   0x000ffb       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                   STKPTR   0x000ffc       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-               STKPTRbits   0x000ffc       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     TOSL   0x000ffd       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                      TOS   0x000ffd       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     TOSH   0x000ffe       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-                     TOSU   0x000fff       data     extern C:\MCC18\src\traditional\proc\p18F4685.asm
-
-
--- a/code_part1/OSTC_code_c_part2/ostc_bigscreen.mcp	Tue Jan 12 15:05:59 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-[HEADER]
-magic_cookie={66E99B07-E706-4689-9E80-9B2582898A13}
-file_version=1.0
-[PATH_INFO]
-BuildDirPolicy=BuildDirIsProjectDir
-dir_src=
-dir_bin=
-dir_tmp=
-dir_sin=
-dir_inc=C:\Users\chsw\Documents\avr32workspace\ostc_bigscreen
-dir_lib=C:\MCC18\lib
-dir_lkr=
-[CAT_FILTERS]
-filter_src=*.asm;*.c
-filter_inc=*.h;*.inc
-filter_obj=*.o
-filter_lib=*.lib
-filter_lkr=*.lkr
-[OTHER_FILES]
-file_000=no
-file_001=no
-file_002=yes
-[FILE_INFO]
-file_000=Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c
-file_001=18f4685_ostc.lkr
-file_002=p2_tables.romdata
-[SUITE_INFO]
-suite_guid={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
-suite_state=
-[TOOL_SETTINGS]
-TS{DD2213A8-6310-47B1-8376-9430CDFC013F}=
-TS{BFD27FBA-4A02-4C0E-A5E5-B812F3E7707C}=/m"$(BINDIR_)$(TARGETBASE).map" /w /o"$(BINDIR_)$(TARGETBASE).cof"
-TS{C2AF05E7-1416-4625-923D-E114DB6E2B96}=-O-
-TS{ADE93A55-C7C7-4D4D-A4BA-59305F7D0391}=
-[INSTRUMENTED_TRACE]
-enable=0
-transport=0
-format=0
-[CUSTOM_BUILD]
-Pre-Build=
-Post-Build=
--- a/code_part1/OSTC_code_c_part2/ostc_bigscreen.mcs	Tue Jan 12 15:05:59 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-[Header]
-MagicCookie={0b13fe8c-dfe0-40eb-8900-6712719559a7}
-Version=1.0
-[File000]
-Location=Q:\Data\OSTC2\code\OSTC_code_c_part2\p3_wordprocessor.o
-Folder=Intermediary
-DeviceName=PIC18F4685
-LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
-LanguageToolID={E56A1C86-9D32-4DF6-8C34-FE0388B1B644}
-LanguageToolLocation=C:\MCC18\bin\mcc18.exe
-PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)|C:\Users\chsw\Documents\avr32workspace\ostc_bigscreen||$(LIBDIR)|C:\MCC18\lib||$(LKRDIR)||
-SOLK=<src>|Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c||<obj>||<lib>||<lkr>|18f4685_ostc.lkr||
-SuiteArgsString=
-ToolArgsString=-O-
-TraceCmdString=
-DebugOptions=
-[File001]
-Location=Q:\Data\OSTC2\code\OSTC_code_c_part2\ostc_bigscreen.cof
-Folder=Output
-DeviceName=PIC18F4685
-LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
-LanguageToolID={96C98149-AA1B-4CF9-B967-FAE79CAB663C}
-LanguageToolLocation=C:\MCC18\bin\mplink.exe
-PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)|C:\Users\chsw\Documents\avr32workspace\ostc_bigscreen||$(LIBDIR)|C:\MCC18\lib||$(LKRDIR)||
-SOLK=<src>|Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c||<obj>||<lib>||<lkr>|18f4685_ostc.lkr||
-SuiteArgsString=
-ToolArgsString=/m"$(BINDIR_)$(TARGETBASE).map" /w /o"$(BINDIR_)$(TARGETBASE).cof"
-TraceCmdString=
-DebugOptions=
-[File002]
-Location=Q:\Data\OSTC2\code\OSTC_code_c_part2\ostc_bigscreen.hex
-Folder=Output
-DeviceName=PIC18F4685
-LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
-LanguageToolID={96C98149-AA1B-4CF9-B967-FAE79CAB663C}
-LanguageToolLocation=C:\MCC18\bin\mplink.exe
-PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)|C:\Users\chsw\Documents\avr32workspace\ostc_bigscreen||$(LIBDIR)|C:\MCC18\lib||$(LKRDIR)||
-SOLK=<src>|Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c||<obj>||<lib>||<lkr>|18f4685_ostc.lkr||
-SuiteArgsString=
-ToolArgsString=/m"$(BINDIR_)$(TARGETBASE).map" /w /o"$(BINDIR_)$(TARGETBASE).cof"
-TraceCmdString=
-DebugOptions=
-[File003]
-Location=Q:\Data\OSTC2\code\OSTC_code_c_part2\ostc_bigscreen.map
-Folder=Output
-DeviceName=PIC18F4685
-LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
-LanguageToolID={96C98149-AA1B-4CF9-B967-FAE79CAB663C}
-LanguageToolLocation=C:\MCC18\bin\mplink.exe
-PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)|C:\Users\chsw\Documents\avr32workspace\ostc_bigscreen||$(LIBDIR)|C:\MCC18\lib||$(LKRDIR)||
-SOLK=<src>|Q:\Data\OSTC2\ostc_bigscreen\src\p3_wordprocessor.c||<obj>||<lib>||<lkr>|18f4685_ostc.lkr||
-SuiteArgsString=
-ToolArgsString=/m"$(BINDIR_)$(TARGETBASE).map" /w /o"$(BINDIR_)$(TARGETBASE).cof"
-TraceCmdString=
-DebugOptions=
-[TOOL_LOC_STAMPS]
-tool_loc{96C98149-AA1B-4CF9-B967-FAE79CAB663C}=C:\MCC18\bin\mplink.exe
-tool_loc{E56A1C86-9D32-4DF6-8C34-FE0388B1B644}=C:\MCC18\bin\mcc18.exe
Binary file code_part1/OSTC_code_c_part2/ostc_bigscreen.mcw has changed
--- a/code_part1/OSTC_code_c_part2/p2_deco_main_old_v107.c	Tue Jan 12 15:05:59 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3453 +0,0 @@
-/*
- * p2_deco_main_c_v107.c
- *
- *  Created on: 31.03.2009
- *      Author: chsw
- */
-
-//#include <p2_deco_header_c_v102d.h>
-
-
-// OSTC - diving computer code
-// Copyright (C) 2008 HeinrichsWeikamp GbR
-
-//    This program is free software: you can redistribute it and/or modify
-//    it under the terms of the GNU General Public License as published by
-//    the Free Software Foundation, either version 3 of the License, or
-//    (at your option) any later version.
-
-//    This program is distributed in the hope that it will be useful,
-//    but WITHOUT ANY WARRANTY; without even the implied warranty of
-//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//    GNU General Public License for more details.
-
-//    You should have received a copy of the GNU General Public License
-//    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-// *****************************
-// ** I N T R O D U C T I O N **
-// *****************************
-//
-// OSTC
-//
-// code:
-// p2_deco_main_c_v101.c
-// part2 of the OSTC code
-// code with constant O2 partial pressure routines
-// under construction !!
-//
-// summary:
-// decompression routines
-// for the OSTC experimental project
-// written by Christian Weikamp
-// last revision __________
-// comments added _________
-//
-// additional files:
-// p2_tables_v100.romdata (other files)
-// 18f4685_ostc_v100.lkr (linker script)
-//
-// history:
-// 01/03/08 v100: first release candidate
-// 03/13/08 v101: start of programming ppO2 code
-// 03/13/25 v101a: backup of interrim version with ppO2 calculation
-// 03/13/25 v101: open circuit gas change during deco
-// 03/13/25 v101: CNS_fraction calculation
-// 03/13/26 v101: optimization of tissue calc routines
-// 07/xx/08 v102a: debug of bottom time routine
-// 09/xx/08 v102d: Gradient Factor Model implemenation
-// 10/10/08 v104: renamed to build v103 for v118 stable
-// 10/14/08	v104: integration of temp_depth_last_deco for Gradient Model
-// 03/31/090 v107: integration of FONT Incon24
-
-//
-// literature:
-// B"uhlmann, Albert: Tauchmedizin; 4. Auflage;
-// 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
-// Morrison, Stuart; 2000; DIY DECOMPRESSION; http://www.lizardland.co.uk/DIYDeco.html
-// Balthasar, Steffen; Dekompressionstheorie I: Neo Haldane Modelle; http://www.txfreak.de/dekompressionstheorie_1.pdf
-// Baker, Erik C.; Clearing Up The Confusion About "Deep Stops"
-// Baker, Erik C.; Understanding M-values; http://www.txfreak.de/understanding_m-values.pdf
-
-
-// *********************
-// ** I N C L U D E S **
-// *********************
- #include <p18f4685.h>
- #include <math.h>
-
-// ********************************
-// ** C O N F I G U R A T I O N  **
-// ** for simulation without asm **
-// ********************************
- #pragma config OSC = IRCIO67
- #pragma config FCMEN = OFF
- #pragma config IESO = OFF
- #pragma config PWRT = ON
- #pragma config BOREN = OFF
- #pragma config WDT = OFF
- #pragma config WDTPS = 128
- #pragma config MCLRE = ON
- #pragma config LPT1OSC = OFF
- #pragma config PBADEN = OFF
- #pragma config DEBUG = OFF
- #pragma config XINST = OFF
- #pragma config LVP = OFF
- #pragma config STVREN = OFF
-
-// ****************************
-// ** D E F I N E S          **
-// ** missing in  p18f4685.h **
-// ****************************
-#define INT0IF	1
-#define INT1IF	0
-#define TMR1IF	0
-
-#define oled_clk			PORTD, 0,0
-#define oled_data			PORTD, 1,0
-#define oled_en				PORTE, 0,0
-#define oled_rs				PORTE, 1,0
-#define flag5				0x29	// in Bank1
-//#define	no_sensor_int		flag5,7,1	// ; block any further access to pressure sensor
-
-// ***********************
-// ** V A R I A B L E S **
-// ***********************
-// prefixes etc:
-// _O_ = output for use in the assembler code
-// _I_ = input from the assembler code for the c code
-// char_ and int_ = used to identify output and input size
-// var = variable (from b"uhlmann)
-// pres = pressure
-// gtissue = guiding tissue, the one limiting the ascent
-// e2secs = exp of the b"uhlmann formula precalculated for a 2 second step
-// e1min = same for 1 minute step
-// sim = used in simulating the ascent to the surface
-// nullzeit = remaining ground/bottom time for "no deco"
-// hauptroutine = main
-
-#pragma udata bank0a=0x060
-volatile unsigned char dd2_stringstore[17];
-#pragma udata bank0b=0x071
-volatile unsigned char keep_free_bank0[21];
-
-#pragma udata bank0c=0x086
-volatile unsigned char dd2_left;		// 1 - 64
-volatile unsigned char dd2_top;			// 1 - 64
-volatile unsigned char dd2_heightmax; 	// 1 - 37
-volatile unsigned char dd2_oled_brightness_offset; // 0 - 15 (15 is pitch black always)
-volatile unsigned char dd2_fontwidth;	//  8, 12, 21 for Incon16, Incon24, Incon42
-volatile unsigned char dd2_fontheight;	// 14, 21, 37 for "
-volatile unsigned long dd2_pointer;		// for font lut
-volatile unsigned char dd2_i;
-volatile unsigned char dd2_j;
-volatile unsigned char dd2_k;
-volatile unsigned char dd2_char;
-volatile unsigned char dd2_lowbyte;
-volatile unsigned char dd2_temp;
-volatile unsigned char dd2_data;
-volatile unsigned long dd2_base;			// for font lut
-volatile unsigned char dd2_start;			// for font lut
-volatile unsigned char dd2_end;			// for font lut
-
-
- #pragma udata bank1=0x100
- const unsigned char keep_free_bank1[256]; // used by the assembler code
-
- #pragma udata bank2a=0x200
-// output:
- static unsigned int	int_O_tissue_for_debug[32];
- static unsigned int	int_O_GF_spare____;						// 0x240
- static unsigned int	int_O_GF_step;							// 0x242
- static unsigned int 	int_O_gtissue_limit;					// 0x244
- static unsigned int 	int_O_gtissue_press;					// 0x246
- static unsigned int 	int_O_limit_GF_low;						// 0x248
- static unsigned int 	int_O_gtissue_press_at_GF_low;			// 0x24A
-// ...
- #pragma udata bank2b=0x24E
- static unsigned char	char_O_GF_low_pointer;					// 0x24E
- static unsigned char	char_O_actual_pointer;					// 0x24F
- #pragma udata bank2c=0x250
- static unsigned char	char_O_deco_table[32];					// 0x250
- #pragma udata bank2d=0x270
- static unsigned char	char_I_table_deco_done[32];
- #pragma udata bank2e=0x290
- static unsigned int 	int_O_calc_tissue_call_counter;			// 0x290
-
-
-
-// internal:
- unsigned char 			lock_GF_depth_list;
- static float			temp_limit;
- static float			GF_low;
- static float			GF_high;
- static float			GF_delta;
- static float			GF_temp;
- static float			GF_step;
- static float			GF_step2;
- static float			temp_pres_gtissue;
- static float			temp_pres_gtissue_diff;
- static float			temp_pres_gtissue_limit_GF_low;
- static float			temp_pres_gtissue_limit_GF_low_below_surface;
- static	unsigned int	temp_depth_limit;
- static unsigned char	temp_decotime;
- static unsigned char	temp_gtissue_no;
- static	unsigned int	temp_depth_last_deco;				// new in v.101
-
- static unsigned char	temp_depth_GF_low_meter;
- static unsigned char	temp_depth_GF_low_number;
- static unsigned char	internal_deco_pointer;
- static unsigned char	internal_deco_table[32];
- static float			temp_pres_deco_GF_low;
-
-static unsigned int debug_temp;
-
-
-#pragma udata bank3a=0x300
-static char output[32];
-// used by the math routines
-#pragma udata bank3b=0x380
-volatile float pres_tissue_vault[32];
- #pragma udata bank4a=0x400
-// internal:
- unsigned char			ci ; // don't move - used in _asm routines - if moved then modify movlb commands
- unsigned char 			x;
- unsigned int 			main_i;
- unsigned int 			int_temp;
- unsigned int 			int_temp_decostatus;
- static float 			pres_respiration;
- static float			pres_surface;
- static float			temp1;
- static float			temp2;
- static float			temp3;
- static float			temp4;
- static float			temp_deco;
- static float			temp_atem;
- static float			temp2_atem;
- static float			temp_tissue;
- static float			temp_surface;
- static float			N2_ratio;
- static float			He_ratio;
- static float			temp_ratio;
- static float 			var_a;
- static float 			var2_a;
- static float 			var_b;
- static float 			var2_b;
- static float 			var_t05nc;
- static float 			var2_t05nc;
- static float  			var_e2secs;
- static float  			var2_e2secs;
- static float  			var_e1min;
- static float  			var2_e1min;
- static float  			var_halftimes;
- static float  			var2_halftimes;
- static float			pres_gtissue_limit;
- static float			temp_pres_gtissue_limit;
- static float			actual_ppO2;						// new in v.102
- #pragma udata bank4b=0x480
- static float			pres_tissue[32];
-
- #pragma udata bank5=0x500
-// don't move positions in this bank, the registers are addressed directly from assembler code
-// input:
- static unsigned int	int_I_pres_respiration;				// 0x500
- static unsigned int	int_I_pres_surface;					// 0x502
- static unsigned int	int_I_temp;							// 0x504  new in v101
- static unsigned char	char_I_temp;						// 0x506  new in v101
- static unsigned char	char_I_actual_ppO2;					// 0x507
- static unsigned int	int_I_spare_3;
- static unsigned int	int_I_spare_4;
- static unsigned int	int_I_spare_5;
- static unsigned int	int_I_spare_6;
- static unsigned char	char_I_N2_ratio;					// 0x510
- static unsigned char	char_I_He_ratio;					// 0x511
- static unsigned char	char_I_saturation_multiplier;		// for conservatism/safety values 1.0 (no conservatism) to 1.5 (50% faster saturation
- 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()
- static unsigned char	char_I_GF_High_percentage;			// 0x514	new in v.102
- static unsigned char	char_I_GF_Low_percentage;			// 0x515	new in v.102
- static unsigned char	char_I_spare;					// 0x516
- static unsigned char	char_I_deco_distance;				// 0x517
- static unsigned char	char_I_const_ppO2;					// 0x518	new in v.101
- static unsigned char	char_I_deco_ppO2_change;			// 0x519	new in v.101
- static unsigned char	char_I_deco_ppO2;					// 0x51A	new in v.101
- static unsigned char	char_I_deco_gas_change;				// 0x51B	new in v.101
- static unsigned char	char_I_deco_N2_ratio;				// 0x51C	new in v.101
- static unsigned char	char_I_deco_He_ratio;				// 0x51D	new in v.101
- static unsigned char	char_I_depth_last_deco;				// 0x51E	new in v.101 unit: [m]
- static unsigned char	char_I_deco_model;					// 0x51F	new in v.102	( 1 = MultiGraF, sonst Std. mit (de-)saturation_multiplier)
-// output:
- static unsigned int	int_O_desaturation_time;			// 0x520
- static unsigned char	char_O_nullzeit;					// 0x522
- static unsigned char	char_O_deco_status;					// 0x523
- static unsigned char	char_O_array_decotime[7];			// 0x524
- static unsigned char	char_O_array_decodepth[6];			// 0x52B
- static unsigned char	char_O_ascenttime;					// 0x531
- static unsigned char	char_O_gradient_factor;				// 0x532
- static unsigned char	char_O_tissue_saturation[32];		// 0x533
- static unsigned char	char_O_array_gradient_weighted[16];	// 0x553
- static unsigned char	char_O_gtissue_no;					// 0x563
- static unsigned char	char_O_diluent;						// 0x564	new in v.101
- static unsigned char	char_O_CNS_fraction;				// 0x565	new in v.101
- static unsigned char	char_O_relative_gradient_GF;		// 0x566	new in v.102
-// internal:
- static float			pres_tissue_limit[16];
- static float			sim_pres_tissue_limit[16];
- static float			pres_diluent;						// new in v.101
- static float			deco_diluent;						// new in v.101
- static float			const_ppO2;							// new in v.101
- static float			deco_ppO2_change;					// new in v.101
- static float			deco_ppO2;							// new in v.101
-
-
-
- #pragma udata bank6=0x600
-// internal:
- static float			sim_pres_tissue[32];
- static float			sim_pres_tissue_backup[32];
-
- #pragma udata bank7=0x700
- const unsigned char keep_free_bank7[256]; // used by the assembler code (DD font2display)
-
- #pragma udata bank8=0x800
- static char			md_pi_subst[256];
-
- #pragma udata bank9=0x900
-// output:
- static char			md_state[48];		// DONT MOVE !! has to be at the beginning of bank 9 for the asm code!!!
-// internal:
- static char			md_t;
- static char			md_buffer[16];
- static char			md_cksum[16];
- static char			md_i;
- static char			md_j;
- static char			md_temp;
- static unsigned int	md_pointer;
- static float			deco_N2_ratio;						// new in v.101
- static float			deco_He_ratio;						// new in v.101
- static float			calc_N2_ratio;						// new in v.101
- static float			calc_He_ratio;						// new in v.101
- static float			deco_gas_change;					// new in v.101
- static float			CNS_fraction;						// new in v.101
- static float			float_saturation_multiplier;		// new in v.101
- static float			float_desaturation_multiplier;		// new in v.101
- static float			float_deco_distance;				// new in v.101
-
-
-
-// *************************
-// ** P R O T O T Y P E S **
-// *************************
-void main_calc_hauptroutine(void);
-void main_calc_without_deco(void);
-void main_clear_tissue(void);
-void main_calc_percentage(void);
-void main_calc_wo_deco_step_1_min(void);
-void main_debug(void);
-void main_gradient_array(void);
-void main_hash(void);
-
-void calc_hauptroutine(void);
-void calc_tissue(void);
-void calc_nullzeit(void);
-void backup_sim_pres_tissue(void);
-void restore_sim_pres_tissue(void);
-
-void calc_without_deco(void);
-void clear_tissue(void);
-void calc_ascenttime(void);
-void update_startvalues(void);
-void clear_decoarray(void);
-void update_decoarray(void);
-void sim_tissue_1min(void);
-void sim_tissue_10min(void);
-void calc_gradient_factor(void);
-void calc_gradient_array_only(void);
-void calc_desaturation_time(void);
-void calc_wo_deco_step_1_min(void);
-void calc_tissue_step_1_min(void);
-//void debug(void);
-void hash(void);
-void clear_CNS_fraction(void);
-void calc_CNS_fraction(void);
-void calc_CNS_decrease_15min(void);
-void calc_percentage(void);
-void main(void);
-void calc_hauptroutine_data_input(void);
-void calc_hauptroutine_update_tissues(void);
-void calc_hauptroutine_calc_deco(void);
-void calc_hauptroutine_calc_ascend_to_deco(void);
-//void build_debug_output(void);
-void calc_nextdecodepth_GF(void);
-void copy_deco_table_GF(void);
-void clear_internal_deco_table_GF(void);
-void update_internal_deco_table_GF(void);
-void DD2_write(void);
-void DD2_write_incon42(void);
-void DD2_get_pointer_to_char(void);//dd2_char, &dd2_pointer);
-void DD2_set_column(void);//top, dd2_k);void DD2_load_background(void);//&dd2_columnstore, &dd2_background, dd2_top, dd2_left, dd2_heightmax);
-void DD2_load_background(void);
-void DD2_build_one_line_of_char(void);//&dd2_columnstore, &dd2_pointer, dd2_fontheight, dd2_lowbyte);
-void DD2_print_column(void);//&dd2_columnstore, dd2_heightmax);
-void DD2_CmdWrite(void);
-void DD2_DataWrite(void);
-void push_tissues_to_vault(void);
-void pull_tissues_from_vault(void);
-void main_push_tissues_to_vault(void);
-void main_pull_tissues_from_vault(void);
-
-// *******************************
-// ** start                     **
-// ** necessary for compilation **
-// *******************************
-#pragma romdata der_code = 0x0000
-#pragma code der_start = 0x0000
-void der_start(void)
-{
-_asm
-	goto	main
-_endasm
-}
-
-// ***********************************
-// ** main code for simulation /    **
-// ** tests without assembler code  **
-// ** is NOT a part of the OSTC     **
-// ***********************************
-#pragma code main = 0x9000
-void main(void)
-{
-#if 1
-// new main to test DR-5
-
-GF_low = 1.0;
-GF_high = 1.0;
-
-GF_temp = GF_low * GF_high;
-
-clear_CNS_fraction();
-//char_I_const_ppO2 = 100;
-//for (main_i=0;main_i<255;main_i++)
-//{
-//calc_CNS_fraction();
-//} //for
-
-
-
-
-int_I_pres_respiration = 1000;//980;
-int_I_pres_surface = 1000;//980;
-char_I_N2_ratio = 39; //38;
-char_I_He_ratio = 40; //50;
-char_I_deco_distance = 0; // 10 = 1 meter
-char_I_depth_last_deco = 3;	// values below 3 (meter) are ignored
-
-char_I_const_ppO2 = 0;
-char_I_deco_ppO2_change = 0; // [dm] 10 = 1 meter
-char_I_deco_ppO2 = 0;
-
-char_I_deco_gas_change = 0; // [m] 1 = 1 meter
-char_I_deco_N2_ratio = 0;
-char_I_deco_He_ratio = 0;
-
-//char_I_actual_ppO2;					// 0x507
-char_I_GF_High_percentage = 100;			// 0x514	new in v.102
-char_I_GF_Low_percentage = 100;			// 0x515	new in v.102
-
-char_I_saturation_multiplier = 110;
-char_I_desaturation_multiplier = 90;
-
-char_I_deco_model = 0;
-
-main_clear_tissue();
-
-int_I_pres_respiration = 1000 + int_I_pres_surface;
-main_calc_wo_deco_step_1_min();
-int_I_pres_respiration = 3000 + int_I_pres_surface;
-main_calc_wo_deco_step_1_min();
-int_I_pres_respiration = 5000 + int_I_pres_surface;
-main_calc_wo_deco_step_1_min();
-
-
-int_I_pres_respiration = 6000 + int_I_pres_surface;
-for (main_i=0;main_i<27;main_i++)
-	main_calc_wo_deco_step_1_min();
-
-char_O_deco_status = 255;
-while (char_O_deco_status)
-	main_calc_hauptroutine();
-_asm
-nop
-_endasm
-
-for (main_i=0;main_i<50;main_i++)
-{
-main_calc_hauptroutine();
-}
-int_I_pres_respiration = 10000;
-for (main_i=0;main_i<1500;main_i++)
-{
-main_calc_hauptroutine();
-}
-
-_asm
-nop
-_endasm
-
-
-int_I_pres_respiration = 3000;
-for (main_i=0;main_i<150;main_i++)
-{
-	calc_hauptroutine_data_input();
-	calc_hauptroutine_update_tissues();
-} //for
-
-			update_startvalues();
-			clear_decoarray();
-			clear_internal_deco_table_GF();
-			calc_hauptroutine_calc_ascend_to_deco();
- 			if (char_O_deco_status > 15)		// can't go up to first deco, too deep to calculate in the given time slot
-			{
-				char_O_deco_status = 2;
-//				char_O_lock_depth_list = 255;
-			}
- 			else
-			{
-//				char_O_lock_depth_list = lock_GF_depth_list;
-				calc_hauptroutine_calc_deco();
-			}
-//			build_debug_output();
-
-_asm
-nop
-_endasm
-while (char_O_deco_status == 1)
-{
-			char_O_deco_status = 0;
-//			char_O_lock_depth_list = 255;
-			calc_hauptroutine_calc_deco();
-//			build_debug_output();
-_asm
-nop
-_endasm
-};
-debug_temp = 60; // [mtr Aufstieg in 10 mtr/min (30steps'2sec/min]
-int_I_pres_respiration = 9980;
-for (main_i=0;main_i<debug_temp;main_i++)
-{
-int_I_pres_respiration = int_I_pres_respiration - 33;
-	calc_hauptroutine_data_input();
-	calc_hauptroutine_update_tissues();
-int_I_pres_respiration = int_I_pres_respiration - 33;
-	calc_hauptroutine_data_input();
-	calc_hauptroutine_update_tissues();
-int_I_pres_respiration = int_I_pres_respiration - 34;
-	calc_hauptroutine_data_input();
-	calc_hauptroutine_update_tissues();
-} //for
-_asm
-nop
-_endasm
-
-			update_startvalues();
-			clear_decoarray();
-			clear_internal_deco_table_GF();
-			calc_hauptroutine_calc_ascend_to_deco();
- 			if (char_O_deco_status > 15)		// can't go up to first deco, too deep to calculate in the given time slot
-			{
-				char_O_deco_status = 2;
-//				char_O_lock_depth_list = 255;
-			}
- 			else
-			{
-//				char_O_lock_depth_list = lock_GF_depth_list;
-				calc_hauptroutine_calc_deco();
-			}
-//			build_debug_output();
-
-_asm
-nop
-_endasm
-while (char_O_deco_status == 1)
-{
-			char_O_deco_status = 0;
-//			char_O_lock_depth_list = 255;
-			calc_hauptroutine_calc_deco();
-//			build_debug_output();
-_asm
-nop
-_endasm
-};
-_asm
-nop
-_endasm
-debug_temp = 60; // [mtr Aufstieg in 10 mtr/min (30steps'2sec/min]
-int_I_pres_respiration = 9980;
-debug_temp = debug_temp * 3;
-for (main_i=0;main_i<debug_temp;main_i++)
-{
-	calc_hauptroutine_data_input();
-	calc_hauptroutine_update_tissues();
-} //for
-_asm
-nop
-_endasm
-#endif
-// -----------------------
-
-} // main
-
-// ******************************************************
-// ******************************************************
-// ** THE FOLLOWING CODE HAS TO BE COPPIED TO THE OSTC **
-// ******************************************************
-// ******************************************************
-
-// ***********************
-// ***********************
-// ** THE SUBROUTINES 2 **
-// ***********************
-// ***********************
-// all new in v.102
-
-#pragma code subroutines2 = 0x0D000	// can be adapted to fit the romdata tables ahead
-
-// -------------------------
-// calc_next_decodepth_GF //
-// -------------------------
-// new in v.102
-void calc_nextdecodepth_GF(void)
-{
-// INPUT, changing during dive:
-// temp_pres_gtissue_limit_GF_low
-// temp_pres_gtissue_limit_GF_low_below_surface
-// temp_pres_gtissue
-// temp_pres_gtissue_diff
-// lock_GF_depth_list
-
-// INPUT, fixed during dive:
-// pres_surface
-// GF_delta
-// GF_high
-// GF_low
-// temp_depth_last_deco
-// float_deco_distance
-
-// OUTPUT
-// GF_step
-// temp_deco
-// temp_depth_limt
-// lock_GF_depth_list
-
-// USES
-// temp1
-// temp2
-// int_temp
-
-	char_I_table_deco_done[0] = 0; // safety if changed somewhere else. Needed for exit
-	if (char_I_deco_model == 1)
-	{
-		if (lock_GF_depth_list == 0)
-		{
-			temp2 =  temp_pres_gtissue_limit_GF_low_below_surface / 0.29985; 					// = ... / 99.95 / 0.003;
- 			int_temp = (int) (temp2 + 0.99);
-			if (int_temp > 31)
-				int_temp = 31;						//	deepest deco at 93 meter (31 deco stops)
-			if (int_temp < 0)
-				int_temp = 0;
-			temp_depth_GF_low_number = int_temp;
- 			temp_depth_GF_low_meter = 3 * temp_depth_GF_low_number;
-			temp2 = (float)temp_depth_GF_low_meter * 0.09995;
-			temp_pres_deco_GF_low = temp2 + float_deco_distance + pres_surface;
-			if (temp_depth_GF_low_number == 0)
-				GF_step = 0;
-			else
-				GF_step = GF_delta / (float)temp_depth_GF_low_number;
-			if (GF_step < 0)
-				GF_step = 0;
-			if (GF_step > GF_delta)
-				GF_step = GF_delta;
-			int_O_GF_step = (int)(GF_step * 10000);
-			int_O_limit_GF_low = (int)(temp_pres_deco_GF_low * 1000);
-			int_O_gtissue_press_at_GF_low = (int)(temp_pres_gtissue * 1000);
-			char_O_GF_low_pointer = temp_depth_GF_low_number;
-			lock_GF_depth_list = 1;
-			internal_deco_pointer = 0;
-		}
-		if (internal_deco_pointer == 0)		// new run
-		{
-			internal_deco_pointer = temp_depth_GF_low_number;
-			GF_temp = GF_high - ((float)internal_deco_pointer * GF_step);
-			int_temp = char_I_table_deco_done[internal_deco_pointer];
-			output[8] = int_temp;
-			output[9] = 33;
-		}
-		else
-		{
-			int_temp = 1;
-		}
-		while (int_temp == 1)
-		{
-			int_temp = internal_deco_pointer - 1;
-			if (int_temp == 1)								// new in v104
-			{
-				temp2 = (float)(temp_depth_last_deco * int_temp) * 0.09995;
-				GF_step2 = GF_step/3.0 * ((float)(6 - temp_depth_last_deco));
-			}
-			else
-			if (int_temp == 0)
-			{
-				temp2 = 0.0;
-				GF_step2 = GF_high - GF_temp;
-			}
-			else
-			{
-				temp2 = (float)(3 *int_temp) * 0.09995;
-				GF_step2 = GF_step;
-			}
-			temp2 = temp2 + pres_surface; // next deco stop to be tested
-			temp1 = ((GF_temp + GF_step2)* temp_pres_gtissue_diff) + temp_pres_gtissue;	// upper limit (lowest pressure allowed) // changes GF_step2 in v104
-			if (temp1 > temp2) // check if ascent to next deco stop is ok
-			{
-				int_temp = 0;	// no
-			}
-			else
-			{
-				internal_deco_pointer = int_temp;
-				GF_temp = GF_temp + GF_step2; // changed in v104
-				int_temp = char_I_table_deco_done[internal_deco_pointer]; // yes and check for ascent to even next stop if deco_done is set
-			}
-		} // while
-		if (internal_deco_pointer > 0)
-		{
-			temp2 = (float)(0.29985 * internal_deco_pointer);
-			temp_deco = temp2 + float_deco_distance + pres_surface;
-			if (internal_deco_pointer == 1)						// new in v104
-				temp_depth_limit = temp_depth_last_deco;
-			else
-				temp_depth_limit = 3 * internal_deco_pointer;
-			if (output[9] == 33)
-			{
-				output[9] = internal_deco_pointer;
-				output[10] = char_I_table_deco_done[internal_deco_pointer];
-				output[12] = output[12] + 1;
-				if (output[12] == 100)
-					output[12] = 0;
-			}
-		}
-		else	// 	if (char_I_deco_model == 1)
-		{
-			temp_deco = pres_surface;
-			temp_depth_limit = 0;
-		}
-	}
-	else
-	{
-		// calc_nextdecodepth - original
-		// optimized in v.101
-		// depth_last_deco included in v.101
-
-		temp1 = temp_pres_gtissue_limit - pres_surface;
-		if (temp1 >= 0)
- 		{
- 			temp1 = temp1 / 0.29985; 									// = temp1 / 99.95 / 0.003;
- 			temp_depth_limit = (int) (temp1 + 0.99);
- 			temp_depth_limit = 3 * temp_depth_limit; 					// depth for deco [m]
- 			if (temp_depth_limit == 0)
-  				temp_deco = pres_surface;
- 			else
-  			{
-  				if (temp_depth_limit < temp_depth_last_deco)
-					temp_depth_limit = temp_depth_last_deco;
-  				temp1 = (float)temp_depth_limit * 0.09995;
-  				temp_deco = temp1 + float_deco_distance + pres_surface; 	// depth for deco [bar]
-  			} // if (temp_depth_limit == 0)
- 		} // if (temp1 >= 0)
-		else
- 		{
- 			temp_deco = pres_surface;
- 			temp_depth_limit = 0;
- 		} // if (temp1 >= 0)
-	} // calc_nextdecodepth original
-} // calc_nextdecodepth_GF
-
-
-#if 0
-void 			build_debug_output(void)
-{
-output[0] = 0; // not used in asm PLED output
-output[1] = (int) (GF_low * 100);
-output[2] = (int) (GF_high * 100);
-output[3] = (int) (GF_step * 100);
-output[4] = (int) temp_depth_GF_low_number;
-output[5] = (int) temp_depth_GF_low_meter;
-//output[6]
-output[7] = (int) internal_deco_pointer;
-//output[8] = char_I_table_deco_done[temp_depth_GF_low_number]
-//output[9] = internal_deco_pointer @ new run
-//output[10] = char_I_table_deco_done[internal_deco_pointer] @ new run
-output [11] = (int) (temp_pres_deco_GF_low * 10);
-}	// build_debug_output
-#endif
-
-// ---------------------
-// copy_deco_table_GF //
-// ---------------------
-// new in v.102
-void copy_deco_table_GF(void)
-{
-	if (char_I_deco_model == 1)
-	{
-		int_temp = 32;
-		for (ci=0;ci<int_temp;ci++)
-			char_O_deco_table[ci] = internal_deco_table[ci];
-	}
-}		// copy_deco_table_GF
-
-
-// ------------------------------
-// clear_internal_deco_table_GF//
-// ------------------------------
-// new in v.102
-void clear_internal_deco_table_GF(void)
-{
-	if (char_I_deco_model == 1)
-	{
-		for (ci=0;ci<32;ci++)  // cycle through the 16 b"uhlmann tissues for Helium
-		{
-			internal_deco_table[ci] = 0;
-		}
-	}
-}	// clear_internal_deco_table_GF
-
-
-// --------------------------------
-// update_internal_deco_table_GF //
-// --------------------------------
-// new in v.102
-void update_internal_deco_table_GF(void)
-{
-	if ((char_I_deco_model == 1) && (internal_deco_table[internal_deco_pointer] < 255))
-		internal_deco_table[internal_deco_pointer] = internal_deco_table[internal_deco_pointer] + 1;
-}	// update_internal_deco_table_GF
-
-
-// ---------------------
-// temp_tissue_safety //
-// ---------------------
-// outsourced in v.102
-void temp_tissue_safety(void)
-{
-	if (char_I_deco_model == 1)
-	{
-	}
-	else
-	{
-		if (temp_tissue < 0.0)
-			temp_tissue = temp_tissue * float_desaturation_multiplier;
- 		else
-			temp_tissue = temp_tissue * float_saturation_multiplier;
-	}
-} // temp_tissue_safety
-
-// ---------------------
-// dd2_write_incon42  //
-// ---------------------
-void DD2_write_incon42(void)
-{
-//dd2_fontwidth	= 21;
-//dd2_fontheight  = 30;
-dd2_fontwidth	= 19;
-dd2_fontheight  = 28;
-dd2_base = 0x0F500;
-dd2_start = '0';
-dd2_end = '9';
-DD2_write();
-}
-
-// ---------------------
-// dd2_write_incon24  //
-// ---------------------
-void DD2_write_incon24(void)
-{
-dd2_fontwidth	= 12;
-dd2_fontheight  = 16;
-dd2_base = 0x0E100;
-dd2_start = '.';
-dd2_end = '9' + 5;
-DD2_write();
-}
-
-
-void DD2_write(void)
-{
-	dd2_i = 0;
-_asm
-	movff	dd2_i, POSTINC2 // write 0x00 at the end of dd2_strinstore[]
-	bsf		oled_rs
-_endasm
-	dd2_stringstore[16] = 0;	// safety if more than 16 letters (max at font incon16) are written, the other space is used by font remap
-	if (dd2_top == 0) dd2_top = 1;
-	if (dd2_left == 0) dd2_left = 1;
-	if (dd2_heightmax > dd2_fontheight) dd2_heightmax = dd2_fontheight;
-	if ((dd2_top + dd2_heightmax) > 65) dd2_heightmax = 65 - dd2_top;
-
-	dd2_k = dd2_left;
-	dd2_j = 0;
-	dd2_char = dd2_stringstore[dd2_j++];
-	DD2_get_pointer_to_char();//dd2_char, &dd2_pointer);
-	dd2_i = 0;
-	dd2_lowbyte = 1;
-
-while (dd2_char != 0)
-{
-		if (dd2_lowbyte == 1)	DD2_load_background();//&dd2_columnstore, &dd2_background, dd2_top, dd2_left, dd2_heightmax);
-		DD2_build_one_line_of_char();	//&dd2_columnstore, &dd2_pointer, dd2_fontheight, dd2_lowbyte); 	// dd2_heightmax
-		dd2_lowbyte = dd2_lowbyte ^ 1;
-		if (dd2_lowbyte == 1)
-		{
-			DD2_set_column();//top, dd2_k); 				//
-			if(dd2_k < 64) dd2_k++;
-			DD2_print_column();//&dd2_columnstore, dd2_heightmax);				// dd2_column_store, dd2_heightmax
-		}
-		dd2_i++;
-		if ((dd2_i >= dd2_fontwidth) | (((dd2_char == '.') |(dd2_char == ':') | (dd2_char == '<')) & (dd2_i >= 4)))
-		{
-			dd2_char = dd2_stringstore[dd2_j++];
-			DD2_get_pointer_to_char();//dd2_char, &dd2_pointer);
-			dd2_i = 0;
-		}
-}
-}		// void dd2_write(void)
-
-void DD2_get_pointer_to_char(void)//dd2_char, &dd2_pointer);
-{
-		if((dd2_char < dd2_start) | (dd2_char > dd2_end))
-		{
-			dd2_pointer = 0;
-			dd2_temp = 0;
-		}
-		else
-		{
-			dd2_pointer = dd2_char - dd2_start;
-			dd2_pointer = dd2_pointer * ((dd2_fontheight+1)/2);
-			dd2_pointer = dd2_pointer * dd2_fontwidth;
-			dd2_pointer += dd2_base;
-			if((dd2_char == '.') | (dd2_char == ':') | (dd2_char == '<'))
-			{
-				dd2_pointer += 2 * dd2_fontheight;
-			}
-
-		}
-}		// void DD2_get_pointer_to_char(void)
-
-void DD2_set_column(void)//top, dd2_k);
-{
-	dd2_data = 0x75;
-	DD2_CmdWrite();
-	dd2_data = dd2_top - 1;
-	DD2_CmdWrite();
-	dd2_data = 0x3f;
-	DD2_CmdWrite();
-
-	dd2_data = 0x15;
-	DD2_CmdWrite();
-	dd2_data = dd2_k - 1;
-	DD2_CmdWrite();
-	dd2_data = dd2_k - 1;
-	DD2_CmdWrite();
-}		// DD2_set_column()
-
-void DD2_load_background(void)//&dd2_columnstore, &dd2_background, dd2_top, dd2_left, dd2_heightmax);
-{
-	for(dd2_temp = 0; dd2_temp < dd2_heightmax; dd2_temp++)
-		md_pi_subst[dd2_temp] = 0x00;
-}		// void DD2_load_background()
-
-void DD2_build_one_line_of_char(void)//&dd2_columnstore, &dd2_pointer, dd2_fontheight, dd2_lowbyte);
-{
-	if (dd2_pointer != 0)
-	{
-		dd2_temp = (char)(dd2_pointer & 255);
-_asm
-		movff	dd2_temp,TBLPTRL
-_endasm
-		dd2_temp = (char)((dd2_pointer >> 8) & 255);
-_asm
-		movff	dd2_temp,TBLPTRH
-_endasm
-		dd2_temp = (char)((dd2_pointer >> 16)& 255);
-_asm
-		movff	dd2_temp,TBLPTRU
-_endasm
-
-		for(dd2_temp = 0; dd2_temp < dd2_heightmax; dd2_temp += 2)
-		{
-_asm
-			TBLRDPOSTINC
-			movff	TABLAT,dd2_data
-_endasm
-			if (dd2_oled_brightness_offset != 0)
-			{
-				if ((dd2_oled_brightness_offset << 4) < (dd2_data & 0xF0))
-					dd2_data = dd2_data - (dd2_oled_brightness_offset << 4);
-				if ((dd2_oled_brightness_offset) < (dd2_data & 0x0F))
-					dd2_data = dd2_data - dd2_oled_brightness_offset;
-			}
-			if (dd2_lowbyte == 1)
-			{
-				md_pi_subst[dd2_temp]   = dd2_data & 0xF0;
-				md_pi_subst[dd2_temp+1] = (dd2_data << 4) & 0xF0;
-			}
-			else
-			{
-				md_pi_subst[dd2_temp]   = (md_pi_subst[dd2_temp] & 0xF0) | ((dd2_data >> 4) & 0x0F);
-				md_pi_subst[dd2_temp+1] = (md_pi_subst[dd2_temp+1] & 0xF0) | (dd2_data & 0x0F);
-			}
-		}//for
-		dd2_pointer += (dd2_fontheight+1)/2;
-	}//if
-}		//
-
-void DD2_print_column(void)//&dd2_columnstore, dd2_heightmax);
-{
-_asm
-		bsf	oled_rs
-_endasm
-	for(dd2_temp = 0; dd2_temp < dd2_heightmax; dd2_temp++)
-	{
-		dd2_data = md_pi_subst[dd2_temp];
-		DD2_DataWrite();
-	}
-}		// void DD2_print_column(void)
-
-//; -----------------------------
-//; DD Write Cmd via W
-//; two jump_ins:
-//;  DD_CmdWrite and DD_CmdWrite2
-//; -----------------------------
-void DD2_CmdWrite(void)
-{
-_asm
-	bcf		oled_rs
-_endasm
-	DD2_DataWrite();
-}
-
-void DD2_DataWrite(void)
-{
-_asm
-	movlb	1
-//	bsf		no_sensor_int					// flag5, no_sensor_int
-	bcf		oled_en
-	movlb	0
-	bcf		oled_clk				//; CLK=0
-	btfsc	dd2_data,7,1				//; Bit
-	bsf		oled_data
-	bcf		oled_clk				//; CLK=0
-	btfss	dd2_data,7,1
-	bcf		oled_data
-	bsf		oled_clk				//; CLK=1
-	btfsc	dd2_data,6,1				//; Bit
-	bsf		oled_data
-	bcf		oled_clk				//; CLK=0
-	btfss	dd2_data,6,1
-	bcf		oled_data
-	bsf		oled_clk				//; CLK=1
-	btfsc	dd2_data,5,1				//; Bit
-	bsf		oled_data
-	bcf		oled_clk				//; CLK=0
-	btfss	dd2_data,5,1
-	bcf		oled_data				//;
-	bsf		oled_clk				//; CLK=1
-	btfsc	dd2_data,4,1				//; Bit
-	bsf		oled_data
-	bcf		oled_clk				//; CLK=0
-	btfss	dd2_data,4,1
-	bcf		oled_data
-	bsf		oled_clk				//; CLK=1
-	btfsc	dd2_data,3,1				//; Bit
-	bsf		oled_data
-	bcf		oled_clk				//; CLK=0
-	btfss	dd2_data,3,1
-	bcf		oled_data
-	bsf		oled_clk				//; CLK=1
-	btfsc	dd2_data,2,1				//; Bit
-	bsf		oled_data
-	bcf		oled_clk				//; CLK=0
-	btfss	dd2_data,2,1
-	bcf		oled_data
-	bsf		oled_clk				//; CLK=1
-	btfsc	dd2_data,1,1				//; Bit
-	bsf		oled_data
-	bcf		oled_clk				//; CLK=0
-	btfss	dd2_data,1,1
-	bcf		oled_data
-	bsf		oled_clk				//; CLK=1
-	btfsc	dd2_data,0,1				//; Bit
-	bsf		oled_data
-	bcf		oled_clk				//; CLK=0
-	btfss	dd2_data,0,1
-	bcf		oled_data
-	bsf		oled_clk				//; CLK=1
-	bsf		oled_en					//; CS#=1
-	movlb	1
-//	bcf		no_sensor_int					// flag5, no_sensor_int
-	movlb	0
-_endasm
-	dd2_data	= 0; // to be sure that C knows we are in Bank0
-}
-#pragma romdata font_incon_24h15 = 0x0E100
- rom const rom unsigned char incon24h15[] =
- {
-		  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x80
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xf0
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xe0
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0xf0
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x4b, 0xff, 0xa0
-		 ,0x00, 0x00, 0x00, 0x00, 0x5c, 0xff, 0x91, 0x00
-		 ,0x00, 0x00, 0x00, 0x6d, 0xfe, 0x71, 0x00, 0x00
-		 ,0x00, 0x01, 0x7e, 0xfd, 0x60, 0x00, 0x00, 0x00
-		 ,0x01, 0x8f, 0xfd, 0x50, 0x00, 0x00, 0x00, 0x00
-		 ,0x9f, 0xfb, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xfa, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x01, 0x69, 0xbc, 0xca, 0x72, 0x00, 0x00
-		 ,0x00, 0x9f, 0xfe, 0xdc, 0xdf, 0xff, 0xb2, 0x00
-		 ,0x1d, 0xf8, 0x20, 0x00, 0x05, 0xfd, 0xff, 0x30
-		 ,0xaf, 0x30, 0x00, 0x00, 0x9f, 0x90, 0x2e, 0xd0
-		 ,0xf8, 0x00, 0x00, 0x2c, 0xf5, 0x00, 0x06, 0xf0
-		 ,0xf8, 0x00, 0x04, 0xed, 0x30, 0x00, 0x05, 0xf0
-		 ,0xaf, 0x30, 0x8f, 0xb1, 0x00, 0x00, 0x0c, 0xe0
-		 ,0x1d, 0xfd, 0xf8, 0x00, 0x00, 0x16, 0xdf, 0x40
-		 ,0x00, 0x9f, 0xff, 0xdc, 0xde, 0xff, 0xc3, 0x00
-		 ,0x00, 0x01, 0x69, 0xbc, 0xca, 0x73, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x02, 0x90, 0x00, 0x00, 0x00, 0x00, 0x01, 0x30
-		 ,0x0a, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x04, 0xf0
-		 ,0x2f, 0x60, 0x00, 0x00, 0x00, 0x00, 0x04, 0xf0
-		 ,0xaf, 0x97, 0x77, 0x77, 0x77, 0x77, 0x79, 0xf0
-		 ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0
-		 ,0x12, 0x22, 0x22, 0x22, 0x22, 0x22, 0x26, 0xf0
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xf0
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xd0
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40
-		 ,0x07, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0
-		 ,0x4f, 0x80, 0x00, 0x00, 0x00, 0x1c, 0xfe, 0xf0
-		 ,0xcc, 0x00, 0x00, 0x00, 0x02, 0xef, 0x57, 0xf0
-		 ,0xf7, 0x00, 0x00, 0x00, 0x2e, 0xe2, 0x07, 0xf0
-		 ,0xf8, 0x00, 0x00, 0x01, 0xde, 0x20, 0x07, 0xf0
-		 ,0xce, 0x10, 0x00, 0x2d, 0xe2, 0x00, 0x07, 0xf0
-		 ,0x4f, 0xd6, 0x58, 0xfe, 0x30, 0x00, 0x07, 0xf0
-		 ,0x06, 0xff, 0xff, 0xb1, 0x00, 0x00, 0x07, 0xf0
-		 ,0x00, 0x14, 0x52, 0x00, 0x00, 0x00, 0x05, 0x80
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00
-		 ,0x09, 0x20, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x50
-		 ,0x6f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2e, 0xd0
-		 ,0xdb, 0x00, 0x00, 0x59, 0x00, 0x00, 0x07, 0xf0
-		 ,0xf8, 0x00, 0x00, 0x8e, 0x00, 0x00, 0x04, 0xf0
-		 ,0xea, 0x00, 0x00, 0xcf, 0x10, 0x00, 0x06, 0xf0
-		 ,0x9f, 0x30, 0x07, 0xff, 0x90, 0x00, 0x1e, 0xe0
-		 ,0x1e, 0xfc, 0xdf, 0x87, 0xfb, 0x79, 0xef, 0x50
-		 ,0x01, 0x9d, 0xc6, 0x00, 0x7e, 0xff, 0xd5, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x2b, 0xb0, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x06, 0xff, 0xe0, 0x00, 0x00
-		 ,0x00, 0x00, 0x02, 0xcf, 0x69, 0xe0, 0x00, 0x00
-		 ,0x00, 0x00, 0x7f, 0xb1, 0x09, 0xe0, 0x00, 0x00
-		 ,0x00, 0x2c, 0xe6, 0x00, 0x09, 0xe0, 0x00, 0x00
-		 ,0x07, 0xfb, 0x10, 0x00, 0x09, 0xe0, 0x00, 0x00
-		 ,0xcf, 0xfc, 0xcc, 0xcc, 0xce, 0xfd, 0xdd, 0xd0
-		 ,0xde, 0xee, 0xee, 0xee, 0xef, 0xfe, 0xee, 0xe0
-		 ,0x00, 0x00, 0x00, 0x00, 0x09, 0xe0, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x08, 0xc0, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00
-		 ,0x78, 0xab, 0xcd, 0xed, 0x00, 0x00, 0xce, 0x20
-		 ,0xff, 0xed, 0xcc, 0xfa, 0x00, 0x00, 0x5f, 0xb0
-		 ,0xf9, 0x00, 0x06, 0xf0, 0x00, 0x00, 0x08, 0xf0
-		 ,0xf9, 0x00, 0x0a, 0xb0, 0x00, 0x00, 0x04, 0xf0
-		 ,0xf9, 0x00, 0x0a, 0xc0, 0x00, 0x00, 0x04, 0xf0
-		 ,0xf9, 0x00, 0x08, 0xf3, 0x00, 0x00, 0x0b, 0xf0
-		 ,0xf9, 0x00, 0x01, 0xfe, 0x62, 0x13, 0xbf, 0x90
-		 ,0xf9, 0x00, 0x00, 0x4e, 0xff, 0xff, 0xfb, 0x00
-		 ,0x11, 0x00, 0x00, 0x01, 0x6a, 0xa9, 0x40, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x03, 0x56, 0x65, 0x30, 0x00, 0x00
-		 ,0x00, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xa2, 0x00
-		 ,0x08, 0xfe, 0x96, 0x8f, 0x95, 0x6a, 0xff, 0x30
-		 ,0x6f, 0x90, 0x01, 0xf8, 0x00, 0x00, 0x3e, 0xd0
-		 ,0xec, 0x00, 0x08, 0xf0, 0x00, 0x00, 0x06, 0xf0
-		 ,0xf6, 0x00, 0x0a, 0xe0, 0x00, 0x00, 0x04, 0xf0
-		 ,0xf7, 0x00, 0x07, 0xf3, 0x00, 0x00, 0x09, 0xf0
-		 ,0xcd, 0x10, 0x01, 0xef, 0x72, 0x13, 0xaf, 0x90
-		 ,0x4d, 0x20, 0x00, 0x2d, 0xff, 0xff, 0xf9, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x47, 0x86, 0x10, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x90
-		 ,0xfa, 0x00, 0x00, 0x00, 0x00, 0x39, 0xef, 0xf0
-		 ,0xfa, 0x00, 0x00, 0x01, 0x7d, 0xff, 0xe9, 0x40
-		 ,0xfa, 0x00, 0x05, 0xbf, 0xff, 0x94, 0x00, 0x00
-		 ,0xfa, 0x18, 0xef, 0xfb, 0x50, 0x00, 0x00, 0x00
-		 ,0xfe, 0xff, 0xd7, 0x10, 0x00, 0x00, 0x00, 0x00
-		 ,0xff, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x02, 0x78, 0x50, 0x00
-		 ,0x03, 0xad, 0xb4, 0x00, 0x7f, 0xff, 0xfc, 0x00
-		 ,0x3f, 0xfc, 0xff, 0x66, 0xfa, 0x43, 0xaf, 0xa0
-		 ,0xcd, 0x10, 0x1c, 0xfe, 0x70, 0x00, 0x0b, 0xf0
-		 ,0xf5, 0x00, 0x01, 0xfe, 0x00, 0x00, 0x05, 0xf0
-		 ,0xf5, 0x00, 0x00, 0xbf, 0x10, 0x00, 0x04, 0xf0
-		 ,0xec, 0x00, 0x07, 0xff, 0xb0, 0x00, 0x0a, 0xf0
-		 ,0x6f, 0xd9, 0xcf, 0x78, 0xfb, 0x32, 0x9f, 0x90
-		 ,0x07, 0xef, 0xe6, 0x00, 0x9f, 0xff, 0xfb, 0x00
-		 ,0x00, 0x01, 0x00, 0x00, 0x03, 0x88, 0x50, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x03, 0x55, 0x20, 0x00, 0x00, 0x00, 0x00
-		 ,0x04, 0xdf, 0xff, 0xfb, 0x10, 0x00, 0x0b, 0x60
-		 ,0x4f, 0xd7, 0x45, 0x9f, 0xd0, 0x00, 0x1c, 0xe0
-		 ,0xdd, 0x00, 0x00, 0x05, 0xf5, 0x00, 0x05, 0xf0
-		 ,0xf7, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x04, 0xf0
-		 ,0xf8, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x08, 0xf0
-		 ,0xbe, 0x20, 0x00, 0x06, 0xf2, 0x00, 0x5f, 0xa0
-		 ,0x2e, 0xf9, 0x54, 0x7f, 0x94, 0x7c, 0xfc, 0x00
-		 ,0x02, 0xaf, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00
-		 ,0x00, 0x01, 0x46, 0x77, 0x75, 0x30, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x06, 0xa1, 0x00, 0x00, 0x09, 0x80
-		 ,0x00, 0x00, 0x1f, 0xf9, 0x00, 0x00, 0x6f, 0xf0
-		 ,0x00, 0x00, 0x0d, 0xf5, 0x00, 0x00, 0x3f, 0xe0
-		 ,0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xba, 0xae, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xff, 0xe9, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x97, 0x8c, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xff, 0xfb, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x75, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x75, 0x6a, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xff, 0xfd, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xa8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x2c, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xdd, 0x78, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xf2, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0xf0, 0x00, 0x4f, 0x10, 0x00, 0x00, 0x00, 0x00
-		 ,0xea, 0x23, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x4f, 0xff, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x01, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10
-		 ,0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0
-		 ,0x00, 0x00, 0x9f, 0xa7, 0x77, 0x77, 0x77, 0x70
-		 ,0x00, 0x00, 0xd6, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x02, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x01, 0xff, 0xcb, 0xbb, 0xbb, 0xbb, 0xb0
-		 ,0x00, 0x00, 0x4f, 0xfe, 0xee, 0xee, 0xee, 0xe0
-		 ,0x00, 0x00, 0xab, 0x20, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x01, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x00
-		 ,0x00, 0x02, 0xfa, 0x55, 0x55, 0x55, 0x55, 0x50
-		 ,0x00, 0x00, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xf0
-		 ,0x00, 0x00, 0x02, 0x44, 0x44, 0x44, 0x44, 0x40
- };
-
-#pragma romdata font_incon_42 = 0x0F500
- rom const rom unsigned char incon42[] =
- {
-	 // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-	  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-	  ,0x00, 0x00, 0x00, 0x03, 0x7a, 0xcd, 0xee, 0xdc, 0xa8, 0x40, 0x00, 0x00, 0x00, 0x00
-	  ,0x00, 0x00, 0x18, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x92, 0x00, 0x00, 0x00
-	  ,0x00, 0x07, 0xef, 0xff, 0xff, 0xdc, 0xbb, 0xce, 0xff, 0xff, 0xff, 0x91, 0x00, 0x00
-	  ,0x00, 0xbf, 0xff, 0xc7, 0x65, 0x43, 0x22, 0x33, 0x57, 0xbf, 0xff, 0xfd, 0x20, 0x00
-	  ,0x0b, 0xff, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x6e, 0xff, 0xd1, 0x00
-	  ,0x7f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xfa, 0x00
-	  ,0xef, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0x20
-	  ,0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0x60
-	  ,0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
-	  ,0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
-	  ,0xcf, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
-	  ,0x4f, 0xfe, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf8, 0x00
-	  ,0x07, 0xff, 0xd7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7e, 0xff, 0xb0, 0x00
-	  ,0x00, 0x5e, 0xff, 0xfb, 0x98, 0x54, 0x33, 0x34, 0x58, 0xbf, 0xff, 0xfa, 0x00, 0x00
-	  ,0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x50, 0x00, 0x00
-	  ,0x00, 0x00, 0x01, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x40, 0x00, 0x00, 0x00
-	  ,0x00, 0x00, 0x00, 0x00, 0x02, 0x46, 0x77, 0x65, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00
-	  ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-	 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
-#if 0
-// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x03, 0x7a, 0xcd, 0xee, 0xdc, 0xa8, 0x40, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x18, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x92, 0x00, 0x00, 0x00
- ,0x00, 0x07, 0xef, 0xff, 0xff, 0xdc, 0xbb, 0xce, 0xff, 0xff, 0xff, 0x91, 0x00, 0x00
- ,0x00, 0xbf, 0xff, 0xc7, 0x20, 0x00, 0x00, 0x00, 0x1c, 0xff, 0xff, 0xfd, 0x20, 0x00
- ,0x0b, 0xff, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x02, 0xcf, 0xfc, 0x6e, 0xff, 0xd1, 0x00
- ,0x7f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0xff, 0x90, 0x01, 0xbf, 0xfa, 0x00
- ,0xef, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xe5, 0x00, 0x00, 0x0d, 0xff, 0x20
- ,0xff, 0x60, 0x00, 0x00, 0x00, 0x02, 0xcf, 0xfc, 0x20, 0x00, 0x00, 0x05, 0xff, 0x60
- ,0xff, 0x40, 0x00, 0x00, 0x00, 0x5e, 0xff, 0x90, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
- ,0xff, 0x80, 0x00, 0x00, 0x08, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
- ,0xcf, 0xf3, 0x00, 0x01, 0xcf, 0xfd, 0x30, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
- ,0x4f, 0xfe, 0x50, 0x4e, 0xff, 0xa1, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf8, 0x00
- ,0x07, 0xff, 0xfd, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7e, 0xff, 0xb0, 0x00
- ,0x00, 0x5e, 0xff, 0xff, 0xd8, 0x54, 0x33, 0x34, 0x58, 0xbf, 0xff, 0xfa, 0x00, 0x00
- ,0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x50, 0x00, 0x00
- ,0x00, 0x00, 0x01, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x40, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x02, 0x46, 0x77, 0x65, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-#endif
-//
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x1f, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x00
- ,0x00, 0x9f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x02, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x0a, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x3f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0xbf, 0xfc, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x79, 0xff, 0x00
- ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
- ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
- ,0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x36, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xcc, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0xff, 0x00
- ,0x00, 0xbf, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0x00
- ,0x0a, 0xff, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0x00
- ,0x4f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xdb, 0xff, 0x00
- ,0xcf, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xf8, 0x08, 0xff, 0x00
- ,0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xfe, 0x40, 0x08, 0xff, 0x00
- ,0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xd2, 0x00, 0x08, 0xff, 0x00
- ,0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xfd, 0x10, 0x00, 0x08, 0xff, 0x00
- ,0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xd1, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xfe, 0x20, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x9f, 0xfa, 0x00, 0x00, 0x00, 0x1a, 0xff, 0xe2, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x2e, 0xff, 0xd6, 0x21, 0x38, 0xef, 0xfd, 0x20, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x00, 0x3d, 0xff, 0xff, 0xff, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x00, 0x00, 0x59, 0xbb, 0x95, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0x30, 0x00
- ,0x04, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xd0, 0x00
- ,0x1e, 0xfe, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xf8, 0x00
- ,0x7f, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xfe, 0x00
- ,0xdf, 0xc0, 0x00, 0x00, 0x00, 0x07, 0x95, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0x30
- ,0xff, 0x70, 0x00, 0x00, 0x00, 0x0c, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0xff, 0x50, 0x00, 0x00, 0x00, 0x0e, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
- ,0xff, 0x60, 0x00, 0x00, 0x00, 0x2f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0xff, 0xb0, 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0x30
- ,0xbf, 0xf4, 0x00, 0x00, 0x02, 0xef, 0xff, 0x70, 0x00, 0x00, 0x00, 0x2f, 0xfe, 0x00
- ,0x4f, 0xfe, 0x60, 0x00, 0x5e, 0xfd, 0xbf, 0xf5, 0x00, 0x00, 0x03, 0xef, 0xf7, 0x00
- ,0x09, 0xff, 0xff, 0xdf, 0xff, 0xf3, 0x2f, 0xff, 0xb6, 0x56, 0xbf, 0xff, 0xc0, 0x00
- ,0x00, 0x8f, 0xff, 0xff, 0xfe, 0x40, 0x04, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x00
- ,0x00, 0x02, 0x8c, 0xdb, 0x71, 0x00, 0x00, 0x2b, 0xff, 0xff, 0xfe, 0x80, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x66, 0x30, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xef, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xaf, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0xff, 0xd4, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x06, 0xef, 0xf8, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x02, 0xbf, 0xfc, 0x30, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x7f, 0xff, 0x70, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x2c, 0xff, 0xb2, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x07, 0xff, 0xe6, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x03, 0xcf, 0xfa, 0x10, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x8f, 0xff, 0xea, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xef, 0xea, 0xaa, 0xaa, 0xaa, 0x00
- ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
- ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
- ,0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0xdf, 0xd4, 0x44, 0x44, 0x44, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x70, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x12, 0x34, 0x56, 0x72, 0x00, 0x00, 0x00, 0x03, 0xf8, 0x00, 0x00
- ,0xab, 0xcd, 0xef, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x1e, 0xff, 0x80, 0x00
- ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x00, 0x00, 0x00, 0x28, 0xff, 0xf3, 0x00
- ,0xff, 0xda, 0xa9, 0x87, 0x67, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfb, 0x00
- ,0xff, 0x70, 0x00, 0x00, 0x06, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x10
- ,0xff, 0x70, 0x00, 0x00, 0x0b, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0x50
- ,0xff, 0x70, 0x00, 0x00, 0x0d, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
- ,0xff, 0x70, 0x00, 0x00, 0x0e, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
- ,0xff, 0x70, 0x00, 0x00, 0x0e, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0xff, 0x70, 0x00, 0x00, 0x0b, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x30
- ,0xff, 0x70, 0x00, 0x00, 0x06, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xfd, 0x00
- ,0xff, 0x70, 0x00, 0x00, 0x00, 0xdf, 0xfd, 0x40, 0x00, 0x00, 0x29, 0xff, 0xf5, 0x00
- ,0xff, 0x70, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0xba, 0xbd, 0xff, 0xff, 0x90, 0x00
- ,0xff, 0x70, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00
- ,0x55, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xdf, 0xff, 0xff, 0xea, 0x30, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x42, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x33, 0x33, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x49, 0xce, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x71, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00
- ,0x00, 0x3d, 0xff, 0xff, 0xfc, 0xba, 0xff, 0xfb, 0xab, 0xef, 0xff, 0xfd, 0x20, 0x00
- ,0x04, 0xff, 0xfe, 0x83, 0x00, 0x1c, 0xfd, 0x20, 0x00, 0x02, 0x8e, 0xff, 0xd1, 0x00
- ,0x1e, 0xff, 0x90, 0x00, 0x00, 0xbf, 0xe1, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf9, 0x00
- ,0xaf, 0xf7, 0x00, 0x00, 0x05, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
- ,0xff, 0xb0, 0x00, 0x00, 0x0a, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
- ,0xff, 0x50, 0x00, 0x00, 0x0d, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
- ,0xff, 0x20, 0x00, 0x00, 0x0d, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x60
- ,0xff, 0x30, 0x00, 0x00, 0x0a, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x30
- ,0xff, 0x70, 0x00, 0x00, 0x05, 0xff, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xfd, 0x00
- ,0xef, 0xe1, 0x00, 0x00, 0x00, 0xcf, 0xfd, 0x50, 0x00, 0x00, 0x28, 0xff, 0xf4, 0x00
- ,0x7f, 0xfd, 0x00, 0x00, 0x00, 0x2d, 0xff, 0xff, 0xdb, 0xcd, 0xff, 0xff, 0x70, 0x00
- ,0x0c, 0xd2, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xe5, 0x00, 0x00
- ,0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x03, 0x9d, 0xff, 0xfe, 0xb6, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0xcc, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00
- ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xef, 0x00
- ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x9e, 0xff, 0xff, 0x00
- ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xdf, 0xff, 0xff, 0xfe, 0x00
- ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7d, 0xff, 0xff, 0xff, 0xd9, 0x40, 0x00
- ,0xff, 0x90, 0x00, 0x00, 0x00, 0x05, 0xbf, 0xff, 0xff, 0xfd, 0x83, 0x00, 0x00, 0x00
- ,0xff, 0x90, 0x00, 0x00, 0x39, 0xef, 0xff, 0xff, 0xe8, 0x30, 0x00, 0x00, 0x00, 0x00
- ,0xff, 0x90, 0x00, 0x6c, 0xff, 0xff, 0xfe, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0xff, 0x92, 0x8e, 0xff, 0xff, 0xfb, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0xff, 0xef, 0xff, 0xff, 0xd7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0xff, 0xff, 0xff, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0xff, 0xfd, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0xba, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x67, 0x62, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x24, 0x42, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xff, 0xff, 0xb2, 0x00, 0x00
- ,0x00, 0x3c, 0xff, 0xff, 0xc4, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xfe, 0x30, 0x00
- ,0x05, 0xff, 0xff, 0xff, 0xff, 0x70, 0x08, 0xff, 0xfb, 0x77, 0xaf, 0xff, 0xe1, 0x00
- ,0x3f, 0xff, 0xa7, 0x8d, 0xff, 0xf6, 0x4f, 0xfc, 0x20, 0x00, 0x02, 0xdf, 0xf9, 0x00
- ,0xbf, 0xe3, 0x00, 0x00, 0x8f, 0xfe, 0xdf, 0xb0, 0x00, 0x00, 0x00, 0x2e, 0xff, 0x00
- ,0xff, 0x60, 0x00, 0x00, 0x08, 0xff, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x08, 0xff, 0x40
- ,0xff, 0x10, 0x00, 0x00, 0x00, 0xcf, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0xff, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x60
- ,0xff, 0x20, 0x00, 0x00, 0x00, 0x5f, 0xff, 0x10, 0x00, 0x00, 0x00, 0x05, 0xff, 0x50
- ,0xff, 0x80, 0x00, 0x00, 0x03, 0xef, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x20
- ,0xdf, 0xf6, 0x00, 0x00, 0x5e, 0xfc, 0xcf, 0xf8, 0x00, 0x00, 0x00, 0x4f, 0xfd, 0x00
- ,0x4f, 0xff, 0xc8, 0x9d, 0xff, 0xf3, 0x3f, 0xff, 0xa2, 0x00, 0x06, 0xff, 0xf5, 0x00
- ,0x07, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x06, 0xff, 0xff, 0xdc, 0xef, 0xff, 0xa0, 0x00
- ,0x00, 0x4c, 0xff, 0xff, 0x91, 0x00, 0x00, 0x5e, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00
- ,0x00, 0x00, 0x24, 0x30, 0x00, 0x00, 0x00, 0x01, 0x8e, 0xff, 0xfb, 0x40, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- //
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x02, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x01, 0x7d, 0xff, 0xff, 0xea, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00
- ,0x00, 0x6e, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xe2, 0x00
- ,0x08, 0xff, 0xff, 0xb9, 0x9b, 0xef, 0xff, 0xc0, 0x00, 0x00, 0x00, 0xbf, 0xfa, 0x00
- ,0x4f, 0xff, 0x70, 0x00, 0x00, 0x05, 0xef, 0xf8, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x10
- ,0xdf, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xff, 0x10, 0x00, 0x00, 0x06, 0xff, 0x50
- ,0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x70, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0xff, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x70, 0x00, 0x00, 0x07, 0xff, 0x40
- ,0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x40, 0x00, 0x00, 0x0d, 0xfe, 0x00
- ,0xef, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xfd, 0x00, 0x00, 0x00, 0x9f, 0xf8, 0x00
- ,0x7f, 0xfd, 0x30, 0x00, 0x00, 0x00, 0x7f, 0xf4, 0x00, 0x00, 0x1a, 0xff, 0xd1, 0x00
- ,0x0b, 0xff, 0xfb, 0x52, 0x00, 0x08, 0xff, 0x60, 0x13, 0x6a, 0xff, 0xfe, 0x20, 0x00
- ,0x00, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xc2, 0x00, 0x00
- ,0x00, 0x04, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x02, 0x69, 0xcd, 0xef, 0xff, 0xed, 0xb9, 0x62, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-// ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- };
-
-#if 0
-#pragma romdata font_incon_42 = 0x0E000
- rom const rom unsigned char incon42[] =
- {
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x03, 0x7a, 0xcd, 0xee, 0xdc, 0xa8, 0x40, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x18, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x92, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x07, 0xef, 0xff, 0xff, 0xdc, 0xbb, 0xce, 0xff, 0xff, 0xff, 0x91, 0x00, 0x00
- ,0x00, 0x00, 0xbf, 0xff, 0xc7, 0x20, 0x00, 0x00, 0x00, 0x1c, 0xff, 0xff, 0xfd, 0x20, 0x00
- ,0x00, 0x0b, 0xff, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x02, 0xcf, 0xfc, 0x6e, 0xff, 0xd1, 0x00
- ,0x00, 0x7f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0xff, 0x90, 0x01, 0xbf, 0xfa, 0x00
- ,0x00, 0xef, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xe5, 0x00, 0x00, 0x0d, 0xff, 0x20
- ,0x03, 0xff, 0x60, 0x00, 0x00, 0x00, 0x02, 0xcf, 0xfc, 0x20, 0x00, 0x00, 0x05, 0xff, 0x60
- ,0x04, 0xff, 0x40, 0x00, 0x00, 0x00, 0x5e, 0xff, 0x90, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
- ,0x02, 0xff, 0x80, 0x00, 0x00, 0x08, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
- ,0x00, 0xcf, 0xf3, 0x00, 0x01, 0xcf, 0xfd, 0x30, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
- ,0x00, 0x4f, 0xfe, 0x50, 0x4e, 0xff, 0xa1, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf8, 0x00
- ,0x00, 0x07, 0xff, 0xfd, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7e, 0xff, 0xb0, 0x00
- ,0x00, 0x00, 0x5e, 0xff, 0xff, 0xd8, 0x54, 0x33, 0x34, 0x58, 0xbf, 0xff, 0xfa, 0x00, 0x00
- ,0x00, 0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x50, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x01, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x40, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x46, 0x77, 0x65, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x1f, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x00
- ,0x00, 0x00, 0x9f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0x02, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0x0a, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0xbf, 0xfc, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x79, 0xff, 0x00
- ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
- ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
- ,0x00, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x36, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xcc, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0xff, 0x00
- ,0x00, 0x00, 0xbf, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0x00
- ,0x00, 0x0a, 0xff, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0x00
- ,0x00, 0x4f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xdb, 0xff, 0x00
- ,0x00, 0xcf, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xf8, 0x08, 0xff, 0x00
- ,0x01, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xfe, 0x40, 0x08, 0xff, 0x00
- ,0x04, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xd2, 0x00, 0x08, 0xff, 0x00
- ,0x04, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xfd, 0x10, 0x00, 0x08, 0xff, 0x00
- ,0x03, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xd1, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xfe, 0x20, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x00, 0x9f, 0xfa, 0x00, 0x00, 0x00, 0x1a, 0xff, 0xe2, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x00, 0x2e, 0xff, 0xd6, 0x21, 0x38, 0xef, 0xfd, 0x20, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x00, 0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x00, 0x00, 0x3d, 0xff, 0xff, 0xff, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x59, 0xbb, 0x95, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0x30, 0x00
- ,0x00, 0x04, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xd0, 0x00
- ,0x00, 0x1e, 0xfe, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xf8, 0x00
- ,0x00, 0x7f, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xfe, 0x00
- ,0x00, 0xdf, 0xc0, 0x00, 0x00, 0x00, 0x07, 0x95, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0x30
- ,0x01, 0xff, 0x70, 0x00, 0x00, 0x00, 0x0c, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0x03, 0xff, 0x50, 0x00, 0x00, 0x00, 0x0e, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
- ,0x03, 0xff, 0x60, 0x00, 0x00, 0x00, 0x2f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0x01, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0x30
- ,0x00, 0xbf, 0xf4, 0x00, 0x00, 0x02, 0xef, 0xff, 0x70, 0x00, 0x00, 0x00, 0x2f, 0xfe, 0x00
- ,0x00, 0x4f, 0xfe, 0x60, 0x00, 0x5e, 0xfd, 0xbf, 0xf5, 0x00, 0x00, 0x03, 0xef, 0xf7, 0x00
- ,0x00, 0x09, 0xff, 0xff, 0xdf, 0xff, 0xf3, 0x2f, 0xff, 0xb6, 0x56, 0xbf, 0xff, 0xc0, 0x00
- ,0x00, 0x00, 0x8f, 0xff, 0xff, 0xfe, 0x40, 0x04, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x00
- ,0x00, 0x00, 0x02, 0x8c, 0xdb, 0x71, 0x00, 0x00, 0x2b, 0xff, 0xff, 0xfe, 0x80, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x66, 0x30, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xef, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xaf, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0xff, 0xd4, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xef, 0xf8, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x02, 0xbf, 0xfc, 0x30, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x70, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x2c, 0xff, 0xb2, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x07, 0xff, 0xe6, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x03, 0xcf, 0xfa, 0x10, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x8f, 0xff, 0xea, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xef, 0xea, 0xaa, 0xaa, 0xaa, 0x00
- ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
- ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
- ,0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0xdf, 0xd4, 0x44, 0x44, 0x44, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x70, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x12, 0x34, 0x56, 0x72, 0x00, 0x00, 0x00, 0x03, 0xf8, 0x00, 0x00
- ,0x01, 0xab, 0xcd, 0xef, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x1e, 0xff, 0x80, 0x00
- ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x00, 0x00, 0x00, 0x28, 0xff, 0xf3, 0x00
- ,0x02, 0xff, 0xda, 0xa9, 0x87, 0x67, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfb, 0x00
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x06, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x10
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0b, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0x50
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0d, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0e, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0e, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0b, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x30
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x06, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xfd, 0x00
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x00, 0xdf, 0xfd, 0x40, 0x00, 0x00, 0x29, 0xff, 0xf5, 0x00
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0xba, 0xbd, 0xff, 0xff, 0x90, 0x00
- ,0x02, 0xff, 0x70, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00
- ,0x01, 0x55, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xdf, 0xff, 0xff, 0xea, 0x30, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x42, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x33, 0x33, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x49, 0xce, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x71, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00
- ,0x00, 0x00, 0x3d, 0xff, 0xff, 0xfc, 0xba, 0xff, 0xfb, 0xab, 0xef, 0xff, 0xfd, 0x20, 0x00
- ,0x00, 0x04, 0xff, 0xfe, 0x83, 0x00, 0x1c, 0xfd, 0x20, 0x00, 0x02, 0x8e, 0xff, 0xd1, 0x00
- ,0x00, 0x1e, 0xff, 0x90, 0x00, 0x00, 0xbf, 0xe1, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf9, 0x00
- ,0x00, 0xaf, 0xf7, 0x00, 0x00, 0x05, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
- ,0x01, 0xff, 0xb0, 0x00, 0x00, 0x0a, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
- ,0x04, 0xff, 0x50, 0x00, 0x00, 0x0d, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
- ,0x06, 0xff, 0x20, 0x00, 0x00, 0x0d, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x60
- ,0x06, 0xff, 0x30, 0x00, 0x00, 0x0a, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x30
- ,0x03, 0xff, 0x70, 0x00, 0x00, 0x05, 0xff, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xfd, 0x00
- ,0x00, 0xef, 0xe1, 0x00, 0x00, 0x00, 0xcf, 0xfd, 0x50, 0x00, 0x00, 0x28, 0xff, 0xf4, 0x00
- ,0x00, 0x7f, 0xfd, 0x00, 0x00, 0x00, 0x2d, 0xff, 0xff, 0xdb, 0xcd, 0xff, 0xff, 0x70, 0x00
- ,0x00, 0x0c, 0xd2, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xe5, 0x00, 0x00
- ,0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x03, 0x9d, 0xff, 0xfe, 0xb6, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x02, 0xcc, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00
- ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xef, 0x00
- ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x9e, 0xff, 0xff, 0x00
- ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xdf, 0xff, 0xff, 0xfe, 0x00
- ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7d, 0xff, 0xff, 0xff, 0xd9, 0x40, 0x00
- ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x05, 0xbf, 0xff, 0xff, 0xfd, 0x83, 0x00, 0x00, 0x00
- ,0x02, 0xff, 0x90, 0x00, 0x00, 0x39, 0xef, 0xff, 0xff, 0xe8, 0x30, 0x00, 0x00, 0x00, 0x00
- ,0x02, 0xff, 0x90, 0x00, 0x6c, 0xff, 0xff, 0xfe, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x02, 0xff, 0x92, 0x8e, 0xff, 0xff, 0xfb, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x02, 0xff, 0xef, 0xff, 0xff, 0xd7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x02, 0xff, 0xff, 0xff, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x02, 0xff, 0xfd, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x02, 0xba, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x67, 0x62, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x24, 0x42, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xff, 0xff, 0xb2, 0x00, 0x00
- ,0x00, 0x00, 0x3c, 0xff, 0xff, 0xc4, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xfe, 0x30, 0x00
- ,0x00, 0x05, 0xff, 0xff, 0xff, 0xff, 0x70, 0x08, 0xff, 0xfb, 0x77, 0xaf, 0xff, 0xe1, 0x00
- ,0x00, 0x3f, 0xff, 0xa7, 0x8d, 0xff, 0xf6, 0x4f, 0xfc, 0x20, 0x00, 0x02, 0xdf, 0xf9, 0x00
- ,0x00, 0xbf, 0xe3, 0x00, 0x00, 0x8f, 0xfe, 0xdf, 0xb0, 0x00, 0x00, 0x00, 0x2e, 0xff, 0x00
- ,0x01, 0xff, 0x60, 0x00, 0x00, 0x08, 0xff, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x08, 0xff, 0x40
- ,0x05, 0xff, 0x10, 0x00, 0x00, 0x00, 0xcf, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0x06, 0xff, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x60
- ,0x06, 0xff, 0x20, 0x00, 0x00, 0x00, 0x5f, 0xff, 0x10, 0x00, 0x00, 0x00, 0x05, 0xff, 0x50
- ,0x03, 0xff, 0x80, 0x00, 0x00, 0x03, 0xef, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x20
- ,0x00, 0xdf, 0xf6, 0x00, 0x00, 0x5e, 0xfc, 0xcf, 0xf8, 0x00, 0x00, 0x00, 0x4f, 0xfd, 0x00
- ,0x00, 0x4f, 0xff, 0xc8, 0x9d, 0xff, 0xf3, 0x3f, 0xff, 0xa2, 0x00, 0x06, 0xff, 0xf5, 0x00
- ,0x00, 0x07, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x06, 0xff, 0xff, 0xdc, 0xef, 0xff, 0xa0, 0x00
- ,0x00, 0x00, 0x4c, 0xff, 0xff, 0x91, 0x00, 0x00, 0x5e, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x24, 0x30, 0x00, 0x00, 0x00, 0x01, 0x8e, 0xff, 0xfb, 0x40, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x02, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x01, 0x7d, 0xff, 0xff, 0xea, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00
- ,0x00, 0x00, 0x6e, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xe2, 0x00
- ,0x00, 0x08, 0xff, 0xff, 0xb9, 0x9b, 0xef, 0xff, 0xc0, 0x00, 0x00, 0x00, 0xbf, 0xfa, 0x00
- ,0x00, 0x4f, 0xff, 0x70, 0x00, 0x00, 0x05, 0xef, 0xf8, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x10
- ,0x00, 0xdf, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xff, 0x10, 0x00, 0x00, 0x06, 0xff, 0x50
- ,0x03, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0x05, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x70, 0x00, 0x00, 0x04, 0xff, 0x60
- ,0x06, 0xff, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x70, 0x00, 0x00, 0x07, 0xff, 0x40
- ,0x04, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x40, 0x00, 0x00, 0x0d, 0xfe, 0x00
- ,0x00, 0xef, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xfd, 0x00, 0x00, 0x00, 0x9f, 0xf8, 0x00
- ,0x00, 0x7f, 0xfd, 0x30, 0x00, 0x00, 0x00, 0x7f, 0xf4, 0x00, 0x00, 0x1a, 0xff, 0xd1, 0x00
- ,0x00, 0x0b, 0xff, 0xfb, 0x52, 0x00, 0x08, 0xff, 0x60, 0x13, 0x6a, 0xff, 0xfe, 0x20, 0x00
- ,0x00, 0x00, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xc2, 0x00, 0x00
- ,0x00, 0x00, 0x04, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x02, 0x69, 0xcd, 0xef, 0xff, 0xed, 0xb9, 0x62, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- };
-#endif
-
-// **********************
-// **********************
-// ** THE JUMP-IN CODE **
-// ** for the asm code **
-// **********************
-// **********************
-#pragma code main_calc_hauptroutine = 0x10000
-void main_calc_hauptroutine(void)
-{
-calc_hauptroutine();
-int_O_desaturation_time = 65535;
-}				// divemode
-#pragma code main_without_deco = 0x10020
-void main_calc_without_deco(void)
-{
-calc_without_deco();
-calc_desaturation_time();
-}
-
-#pragma code main_clear_CNS_fraction = 0x10030
-void main_clear_CNS_fraction(void)
-{
-clear_CNS_fraction();
-}
-
-#pragma code main_calc_CNS_decrease_15min = 0x10034
-void main_calc_CNS_decrease_15min(void)
-{
-calc_CNS_decrease_15min();
-}
-
-#pragma code main_calc_percentage = 0x10038
-void main_calc_percentage (void)
-{
-calc_percentage();
-}
-
-#pragma code main_clear_tissue = 0x10040
-void main_clear_tissue(void)
-{
-clear_tissue();
-char_I_depth_last_deco	= 0;		// for compatibility with v.101pre_no_last_deco
-}
-
-#pragma code main_calc_CNS_fraction = 0x10050
-void main_calc_CNS_fraction(void)
-{
-calc_CNS_fraction();
-}
-
-#pragma code main_calc_desaturation_time = 0x10060
-void main_calc_desaturation_time(void)
-{
-calc_desaturation_time();
-}
-
-#pragma code main_calc_wo_deco_step_1_min = 0x10080
-void main_calc_wo_deco_step_1_min(void)
-{
-calc_wo_deco_step_1_min();
-char_O_deco_status = 3; // surface new in v.102 overwrites value of calc_wo_deco_step_1_min
-calc_desaturation_time();
-}			// surface mode
-
-#pragma code main_debug = 0x100A0
-void main_debug(void)
-{
-//debug();
-}
-
-#pragma code main_DD2_write_incon42 = 0x100B0
-void main_DD2_write_incon42(void)
-{
-	DD2_write_incon42();
-}
-
-#pragma code main_DD2_write_incon24 = 0x100B4
-void main_DD2_write_incon24(void)
-{
-	DD2_write_incon24();
-}
-
-#pragma code main_gradient_array = 0x100C0
-void main_gradient_array(void)
-{
-calc_gradient_array_only();
-}
-#pragma code main_push_tissues = 0x100C4
-void main_push_tissues_to_vault(void)
-{
-	push_tissues_to_vault();
-}
-#pragma code main_pull_tissues = 0x100C8
-void main_pull_tissues_from_vault(void)
-{
-	pull_tissues_from_vault();
-}
-
-#pragma code main_hash = 0x100E0
-void main_hash(void)
-{
-hash();
-}
-
-// ***********************
-// ***********************
-// ** THE LOOKUP TABLES **
-// ***********************
-// ***********************
-
-#pragma romdata tables = 0x10200
-#include	<p2_tables.romdata> 		// new table for deco_main_v.101 (var_a modified)
-
-#pragma romdata tables2 = 0x10600
-rom const rom unsigned int md_pi[] =
-{
-    0x292E, 0x43C9, 0xA2D8, 0x7C01, 0x3D36, 0x54A1, 0xECF0, 0x0613
-  , 0x62A7, 0x05F3, 0xC0C7, 0x738C, 0x9893, 0x2BD9, 0xBC4C, 0x82CA
-  , 0x1E9B, 0x573C, 0xFDD4, 0xE016, 0x6742, 0x6F18, 0x8A17, 0xE512
-  , 0xBE4E, 0xC4D6, 0xDA9E, 0xDE49, 0xA0FB, 0xF58E, 0xBB2F, 0xEE7A
-  , 0xA968, 0x7991, 0x15B2, 0x073F, 0x94C2, 0x1089, 0x0B22, 0x5F21
-  , 0x807F, 0x5D9A, 0x5A90, 0x3227, 0x353E, 0xCCE7, 0xBFF7, 0x9703
-  , 0xFF19, 0x30B3, 0x48A5, 0xB5D1, 0xD75E, 0x922A, 0xAC56, 0xAAC6
-  , 0x4FB8, 0x38D2, 0x96A4, 0x7DB6, 0x76FC, 0x6BE2, 0x9C74, 0x04F1
-  , 0x459D, 0x7059, 0x6471, 0x8720, 0x865B, 0xCF65, 0xE62D, 0xA802
-  , 0x1B60, 0x25AD, 0xAEB0, 0xB9F6, 0x1C46, 0x6169, 0x3440, 0x7E0F
-  , 0x5547, 0xA323, 0xDD51, 0xAF3A, 0xC35C, 0xF9CE, 0xBAC5, 0xEA26
-  , 0x2C53, 0x0D6E, 0x8528, 0x8409, 0xD3DF, 0xCDF4, 0x4181, 0x4D52
-  , 0x6ADC, 0x37C8, 0x6CC1, 0xABFA, 0x24E1, 0x7B08, 0x0CBD, 0xB14A
-  , 0x7888, 0x958B, 0xE363, 0xE86D, 0xE9CB, 0xD5FE, 0x3B00, 0x1D39
-  , 0xF2EF, 0xB70E, 0x6658, 0xD0E4, 0xA677, 0x72F8, 0xEB75, 0x4B0A
-  , 0x3144, 0x50B4, 0x8FED, 0x1F1A, 0xDB99, 0x8D33, 0x9F11, 0x8314
-};
-
-// *********************
-// *********************
-// ** THE SUBROUTINES **
-// *********************
-// *********************
-
-#pragma code subroutines = 0x10700	// can be adapted to fit the romdata tables ahead
-
-
-// ---------------
-// CLEAR tissue //
-// ---------------
-// optimized in v.101 (var_a)
-
-void clear_tissue(void)    // preload tissues with standard pressure for the given ambient pressure
-{
-_asm
-lfsr 1, 0x300 // C math routines shall use this variable bank
-movlw	0x01
-movwf	TBLPTRU,0
-_endasm
-
-// N2_ratio = (float)char_I_N2_ratio; // the 0.0002 of 0.7902 are missing with standard air
- N2_ratio = 0.7902; // N2_ratio / 100.0;
- pres_respiration = (float)int_I_pres_respiration / 1000.0;
-for (ci=0;ci<16;ci++)  // cycle through the 16 b"uhlmann tissues
-{
- pres_tissue[ci] =  N2_ratio * (pres_respiration -  0.0627) ;
-_asm
-movlw	0x02
-movwf	TBLPTRH,0
-movlb	4 // fuer ci
-movf ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addlw	0x80
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_a+1
-TBLRDPOSTINC
-movff	TABLAT,var_a
-TBLRDPOSTINC
-movff	TABLAT,var_a+3
-TBLRD
-movff	TABLAT,var_a+2
-addlw	0x80
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_b+1
-TBLRDPOSTINC
-movff	TABLAT,var_b
-TBLRDPOSTINC
-movff	TABLAT,var_b+3
-TBLRD
-movff	TABLAT,var_b+2
-_endasm
-
-pres_tissue_limit[ci] = (pres_tissue[ci] - var_a) * var_b ;
-// now update the guiding tissue
-if (pres_tissue_limit[ci] < 0)
-pres_tissue_limit[ci] = 0;
-} // for 0 to 16
-
-for (ci=16;ci<32;ci++)  // cycle through the 16 b"uhlmann tissues for Helium
-{
- pres_tissue[ci] = 0.0;
-}  // for
-
- clear_decoarray();
- char_O_deco_status = 0;
- char_O_nullzeit = 0;
- char_O_ascenttime = 0;
- char_O_gradient_factor = 0;
- char_O_relative_gradient_GF = 0;
-} // clear_tissue(void)
-
-
-// --------------------
-// calc_without_deco //
-// fixed N2_ratio !  //
-// --------------------
-// optimized in v.101 (float_..saturation_multiplier)
-
-void calc_without_deco(void)
-{
-_asm
- lfsr 1, 0x300
-_endasm
- N2_ratio = 0.7902; // FIXED RATIO !! sum as stated in b"uhlmann
- pres_respiration = (float)int_I_pres_respiration / 1000.0; // assembler code uses different digit system
- pres_surface = (float)int_I_pres_surface / 1000.0;
- temp_atem = N2_ratio * (pres_respiration - 0.0627); // 0.0627 is the extra pressure in the body
- temp2_atem = 0.0;
- temp_surface = pres_surface; // the b"uhlmann formula using temp_surface does apply to the pressure without any inert ratio
- float_desaturation_multiplier = char_I_desaturation_multiplier / 100.0;
- float_saturation_multiplier = char_I_saturation_multiplier / 100.0;
-
- calc_tissue();  // update the pressure in the 16 tissues in accordance with the new ambient pressure
-
- clear_decoarray();
- char_O_deco_status = 0;
- char_O_nullzeit = 0;
- char_O_ascenttime = 0;
- calc_gradient_factor();
-
-} // calc_without_deco
-
-
-// --------------------
-// calc_hauptroutine //
-// --------------------
-// this is the major code in dive mode
-// calculates:
-// 		the tissues,
-//		the bottom time
-//		and simulates the ascend with all deco stops
-
-void calc_hauptroutine(void)
-{
-	calc_hauptroutine_data_input();
-	calc_hauptroutine_update_tissues();
-	calc_gradient_factor();
-
-
-	switch (char_O_deco_status)	// toggle between calculation for nullzeit (bottom time), deco stops and more deco stops (continue)
-	{
- 		case 0:
-			update_startvalues();
-			calc_nullzeit();
-			char_O_deco_status = 255; // calc deco next time
-			break;
-		case 1:
-			if (char_O_deco_status == 3)
-				break;
-			char_O_deco_status = 0;
-//			char_O_lock_depth_list = 255;
-			calc_hauptroutine_calc_deco();
-//			build_debug_output();
-			break;
-		case 3:				// new dive
-			clear_decoarray();
-			clear_internal_deco_table_GF();
-			copy_deco_table_GF();
-			internal_deco_pointer = 0;
-			lock_GF_depth_list = 0;
-			update_startvalues();
-			calc_nextdecodepth_GF();
-			char_O_deco_status = 0;
-			break;
-		default:
-			update_startvalues();
-			clear_decoarray();
-			clear_internal_deco_table_GF();
-			output[6] = 1;
-			calc_hauptroutine_calc_ascend_to_deco();
- 			if (char_O_deco_status > 15)		// can't go up to first deco, too deep to calculate in the given time slot
-			{
-				char_O_deco_status = 2;
-//				char_O_lock_depth_list = 255;
-			}
- 			else
-			{
-//				char_O_lock_depth_list = lock_GF_depth_list;
-				calc_hauptroutine_calc_deco();
-			}
-//			build_debug_output();
-			break;
-	}
-	calc_ascenttime();
-}
-
-void calc_hauptroutine_data_input(void)
-{
- pres_respiration = (float)int_I_pres_respiration / 1000.0;
- pres_surface = (float)int_I_pres_surface / 1000.0;
-
- N2_ratio = (float)char_I_N2_ratio / 100.0;; // the 0.0002 of 0.7902 are missing with standard air
- He_ratio = (float)char_I_He_ratio / 100.0;;
- deco_N2_ratio = (float)char_I_deco_N2_ratio / 100.0;
- deco_He_ratio = (float)char_I_deco_He_ratio / 100.0;
- float_deco_distance = (float)char_I_deco_distance / 100.0;
- deco_gas_change = (float)char_I_deco_gas_change / 9.995 + pres_surface;
- deco_gas_change = deco_gas_change + float_deco_distance;
- const_ppO2 = (float)char_I_const_ppO2 / 100.0;
- deco_ppO2_change = (float)char_I_deco_ppO2_change / 99.95 + pres_surface;
- deco_ppO2_change = deco_ppO2_change + float_deco_distance;
- deco_ppO2 = (float)char_I_deco_ppO2 / 100.0;
- float_desaturation_multiplier = (float)char_I_desaturation_multiplier / 100.0;
- float_saturation_multiplier = (float)char_I_saturation_multiplier / 100.0;
- GF_low = (float)char_I_GF_Low_percentage / 100.0;
- GF_high = (float)char_I_GF_High_percentage / 100.0;
- GF_delta = GF_high - GF_low;
-
- temp2 = (pres_respiration - pres_surface) / 0.29985;
- int_temp = (int)(temp2);
- if (int_temp < 0)
-	int_temp = 0;
- if (int_temp > 255)
-	int_temp = 255;
- char_O_actual_pointer = int_temp;
-
- temp_depth_last_deco = (int)char_I_depth_last_deco;
-}
-
-void calc_hauptroutine_update_tissues(void)
-{
-	int_O_calc_tissue_call_counter = int_O_calc_tissue_call_counter + 1;
- 	if (char_I_const_ppO2 == 0)																// new in v.101
-  		pres_diluent = pres_respiration;															// new in v.101
- 	else																						// new in v.101
-  		pres_diluent = ((pres_respiration - const_ppO2)/(N2_ratio + He_ratio));					// new in v.101
- 	if (pres_diluent > pres_respiration)														// new in v.101
-  		pres_diluent = pres_respiration;															// new in v.101
- 	if (pres_diluent > 0.0627)																	// new in v.101
- 	{
- 		temp_atem = N2_ratio * (pres_diluent - 0.0627);											// changed in v.101
- 		temp2_atem = He_ratio * (pres_diluent - 0.0627);											// changed in v.101
- 		char_O_diluent = (char)(pres_diluent/pres_respiration*100.0);
- 	}
- 	else																						// new in v.101
- 	{
- 		temp_atem = 0.0;																			// new in v.101
- 		temp2_atem = 0.0;																			// new in v.101
- 		char_O_diluent = 0;
- 	}
- 	temp_surface = pres_surface;
- 	calc_tissue();
- 	int_O_gtissue_limit = (int)(pres_tissue_limit[char_O_gtissue_no] * 1000);
-	int_O_gtissue_press = (int)((pres_tissue[char_O_gtissue_no] + pres_tissue[char_O_gtissue_no+16]) * 1000);
- 	if (char_I_deco_model == 1)
- 	{
-		temp1 = temp1 * GF_high;
- 	}
-	else
-	{
-	temp1 = temp_surface;
-	}
-	if (pres_gtissue_limit > temp1 && char_O_deco_status == 0)  // if guiding tissue can not be exposed to surface pressure immediately
- 	{
-  		char_O_nullzeit = 0; // deco necessary
-  		char_O_deco_status = 255; // calculate deco skip nullzeit calculation
- 	}
-} 		// calc_hauptroutine_update_tissues
-void calc_hauptroutine_calc_deco(void)
-{
- 	do
-  	{
-  		int_temp_decostatus = 0;
-  		calc_nextdecodepth_GF();
-  		if (temp_depth_limit > 0)
-   		{
-    		if (char_I_const_ppO2 == 0)																// new in v.101
-	 		{
-     			deco_diluent = temp_deco;																// new in v.101
-	 			if (temp_deco > deco_gas_change)
-	  			{
-	  				calc_N2_ratio = N2_ratio;
-	  				calc_He_ratio = He_ratio;
-	  			}
-	 			else
-	  			{
-	  				calc_N2_ratio = deco_N2_ratio;
-	  				calc_He_ratio = deco_He_ratio;
-	  			}
-	 		}
-    		else																					// new in v.101
-	 		{
-	 			calc_N2_ratio = N2_ratio;
-	 			calc_He_ratio = He_ratio;
-	 			if (temp_deco > deco_ppO2_change)
-				{
-      				deco_diluent = ((temp_deco - const_ppO2)/(N2_ratio + He_ratio));			// new in v.101
-				}
-	 			else
-				{
-      				deco_diluent = ((temp_deco - deco_ppO2)/(N2_ratio + He_ratio));			// new in v.101
-				}
-	 		}
-    		if (deco_diluent > temp_deco)															// new in v.101
-     			deco_diluent = temp_deco;																// new in v.101
- 			if (deco_diluent > 0.0627)																// new in v.101
-    		{
-     			temp_atem = calc_N2_ratio * (deco_diluent - 0.0627);										// changed in v.101
-				temp2_atem = calc_He_ratio * (deco_diluent - 0.0627);										// changed in v.101
-    		}
-    		else																					// new in v.101
-    		{
-     			temp_atem = 0.0;																		// new in v.101
-     			temp2_atem = 0.0;																		// new in v.101
-    		}
-   			sim_tissue_1min();
-			update_internal_deco_table_GF();
-   			temp_decotime = 1;
-   			update_decoarray();
-   			char_O_deco_status = char_O_deco_status + 1;
-   			if (char_O_deco_status < 16)
-     			int_temp_decostatus = 1;
-   		}
-  		else // if (temp_depth_limit > 0)
-		{
-   		char_O_deco_status = 0;
-		}
-	} while (int_temp_decostatus == 1);
-	if (char_O_deco_status > 15)
-	{
-   		char_O_deco_status = 1;
-	}
-  	else
-  	{
-		copy_deco_table_GF();
-		char_O_deco_status = 0;
-  	}
-}
-
-void calc_hauptroutine_calc_ascend_to_deco(void)
-{
- 	update_startvalues();
- 	char_O_deco_status = 0;
-   	temp_deco = pres_respiration;
- 	lock_GF_depth_list = 1; 																// new in v.102
- 	do								// go up to first deco
-  	{
-  		int_temp_decostatus = 0;
-  		temp_deco = temp_deco - 1.0;
-  		if ( char_I_deco_model == 1)																// new in v.102 , 4 = deep stops
-			temp_limit = temp_pres_gtissue_limit_GF_low;
-  		else
-			temp_limit = temp_pres_gtissue_limit;
-  		if ((temp_deco > temp_limit) && (temp_deco > pres_surface)) 								// changes in v.102
-   		{
-   			lock_GF_depth_list = 0; 																	// new in v.102, distance to first stop > 10 mtr.
-			output[6] = 0;
-  		 	if (char_I_const_ppO2 == 0)																// new in v.101 // calculate at half of the ascent
-			{
-    			deco_diluent = temp_deco + 0.5;															// new in v.101
-				if (temp_deco + 0.5 > deco_gas_change)
-	 			{
-	 				calc_N2_ratio = N2_ratio;
-	 				calc_He_ratio = He_ratio;
-	 			}
-				else
-	 			{
-	 				calc_N2_ratio = deco_N2_ratio;
-	 				calc_He_ratio = deco_He_ratio;
-	 			}
-			}
-   			else																						// new in v.101
-			{
-					calc_N2_ratio = N2_ratio;
-					calc_He_ratio = He_ratio;
-					if (temp_deco + 0.5 > deco_ppO2_change)
-     					deco_diluent = ((temp_deco + 0.5 - const_ppO2)/(N2_ratio + He_ratio));	// new in v.101 // calculate at half of the ascent
-					else
-     					deco_diluent = ((temp_deco + 0.5 - deco_ppO2)/(N2_ratio + He_ratio));	// new in v.101 // calculate at half of the ascent
-    				if (deco_diluent > (temp_deco +0.5))															// new in v.101
-     					deco_diluent = temp_deco + 0.5;															// new in v.101 // calculate at half of the ascent
-			}
-   			if (deco_diluent > 0.0627)																// new in v.101
-    		{
-    			temp_atem = calc_N2_ratio * (deco_diluent - 0.0627);											// changed in v.101
-    			temp2_atem = calc_He_ratio * (deco_diluent - 0.0627);										// changed in v.101
-    		}
-   			else																						// new in v.101
-    		{
-    			temp_atem = 0.0;																		// new in v.101
-    			temp2_atem = 0.0;																		// new in v.101
-    		}
-   			sim_tissue_1min();
-   			char_O_deco_status = char_O_deco_status + 1;
-   			if (char_O_deco_status < 16)  // 16 is the limit of calculations for one time slot
-    			int_temp_decostatus = 1;
-   		}
-	} while (int_temp_decostatus == 1);
-}	// calc_hauptroutine_calc_ascend_to_deco
-
-// --------------
-// calc_tissue //
-// --------------
-// optimized in v.101
-
-void calc_tissue(void)
-{
-_asm
-lfsr 1, 0x300
-movlw	0x01
-movwf	TBLPTRU,0
-_endasm
-
- char_O_gtissue_no = 255;
- pres_gtissue_limit = 0.0;
-
-for (ci=0;ci<16;ci++)
-{
-_asm
-movlw	0x02
-movwf	TBLPTRH,0
-movlb	4 // fuer ci
-movf ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_e2secs+1 // the order is confussing
-TBLRDPOSTINC
-movff	TABLAT,var_e2secs	// low byte first, high afterwards
-TBLRDPOSTINC
-movff	TABLAT,var_e2secs+3
-TBLRD
-movff	TABLAT,var_e2secs+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_e2secs+1
-TBLRDPOSTINC
-movff	TABLAT,var2_e2secs
-TBLRDPOSTINC
-movff	TABLAT,var2_e2secs+3
-TBLRD
-movff	TABLAT,var2_e2secs+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_a+1
-TBLRDPOSTINC
-movff	TABLAT,var_a
-TBLRDPOSTINC
-movff	TABLAT,var_a+3
-TBLRD
-movff	TABLAT,var_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_a+1
-TBLRDPOSTINC
-movff	TABLAT,var2_a
-TBLRDPOSTINC
-movff	TABLAT,var2_a+3
-TBLRD
-movff	TABLAT,var2_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_b+1
-TBLRDPOSTINC
-movff	TABLAT,var_b
-TBLRDPOSTINC
-movff	TABLAT,var_b+3
-TBLRD
-movff	TABLAT,var_b+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_b+1
-TBLRDPOSTINC
-movff	TABLAT,var2_b
-TBLRDPOSTINC
-movff	TABLAT,var2_b+3
-TBLRD
-movff	TABLAT,var2_b+2
-_endasm
- // the start values are the previous end values // write new values in temp
-
-// N2
- temp_tissue = (temp_atem - pres_tissue[ci]) * var_e2secs;
- temp_tissue_safety();
- pres_tissue[ci] = pres_tissue[ci] + temp_tissue;
-
-// He
- temp_tissue = (temp2_atem - pres_tissue[ci+16]) * var2_e2secs;
- temp_tissue_safety();
- pres_tissue[ci+16] = pres_tissue[ci+16] + temp_tissue;
-
- temp_tissue = pres_tissue[ci] + pres_tissue[ci+16];
-
- var_a = (var_a * pres_tissue[ci] + var2_a * pres_tissue[ci+16]) / temp_tissue;
- var_b = (var_b * pres_tissue[ci] + var2_b * pres_tissue[ci+16]) / temp_tissue;
- pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b;
- if (pres_tissue_limit[ci] < 0)
-  pres_tissue_limit[ci] = 0;
- if (pres_tissue_limit[ci] > pres_gtissue_limit)
-  {
-  pres_gtissue_limit = pres_tissue_limit[ci];
-  char_O_gtissue_no = ci;
-  }//if
-} // for
-}//calc_tissue(void)
-
-// ----------------
-// calc_nullzeit //
-// ----------------
-// calculates the remaining bottom time
-
-// unchanged in v.101
-
-void calc_nullzeit(void)
-{
-	char_O_nullzeit = 0;
-	int_temp = 1;
- 	do
-	{
-  		backup_sim_pres_tissue();
-  		sim_tissue_10min();
-  		char_O_nullzeit = char_O_nullzeit + 10;
-  		int_temp = int_temp + 1;
-		if (char_I_deco_model == 1)
-			temp1 = GF_high * temp_pres_gtissue_diff + temp_pres_gtissue;
-		else
-			temp1 = temp_pres_gtissue_limit;
-		if (temp1 > temp_surface)  // changed in v.102 , if guiding tissue can not be exposed to surface pressure immediately
-			int_temp = 255;
- 	} while (int_temp < 17);
- 	if (int_temp == 255)
- 	{
-  		restore_sim_pres_tissue();
-  		char_O_nullzeit = char_O_nullzeit - 10;
- 	} //if int_temp == 255]
- 	int_temp = 1;
- 	if (char_O_nullzeit < 60)
- 	{
-  		do
-		{
-   			sim_tissue_1min();
-   			char_O_nullzeit = char_O_nullzeit + 1;
-   			int_temp = int_temp + 1;			// new in v.102a
-		if (char_I_deco_model == 1)
-			temp1 = GF_high * temp_pres_gtissue_diff + temp_pres_gtissue;
-		else
-			temp1 = temp_pres_gtissue_limit;
-		if (temp1 > temp_surface)  // changed in v.102 , if guiding tissue can not be exposed to surface pressure immediately
-			int_temp = 255;
-  		} while (int_temp < 10);
-  		if (int_temp == 255)
-   			char_O_nullzeit = char_O_nullzeit - 1;
- 	} // if char_O_nullzeit < 60
-} //calc_nullzeit
-
-// -------------------------
-// backup_sim_pres_tissue //
-// -------------------------
-void backup_sim_pres_tissue(void)
-{
-  for (x = 0;x<16;x++)
-  {
-   sim_pres_tissue_backup[x] = sim_pres_tissue[x];
-   sim_pres_tissue_backup[x+16] = sim_pres_tissue[x+16];
-  }
-} // backup_sim
-
-// --------------------------
-// restore_sim_pres_tissue //
-// --------------------------
-void restore_sim_pres_tissue(void)
-{
-  for (x = 0;x<16;x++)
-  {
-   sim_pres_tissue[x] = sim_pres_tissue_backup[x];
-   sim_pres_tissue[x+16] = sim_pres_tissue_backup[x+16];
-  }
-} // restore_sim
-
-// ------------------
-// calc_ascenttime //
-// ------------------
-
-void calc_ascenttime(void)
-{
-if (pres_respiration > pres_surface)
- {
- switch (char_O_deco_status)
-  {
-  case 2:
-	char_O_ascenttime = 255;
-	break;
-  case 1:
-	break;
-  default:
-	temp1 = pres_respiration - pres_surface + 0.6; // + 0.6 hence 1 minute ascent time from a depth of 4 meter on
-	if (temp1 < 0)
-		temp1 = 0;
-	if (temp1 > 255)
-		temp1 = 255;
-    char_O_ascenttime = (char)temp1;
-
-	for(ci=0;ci<7;ci++)
-	{
-	x = char_O_ascenttime + char_O_array_decotime[ci];
-	if (x < char_O_ascenttime)
-		char_O_ascenttime = 255;
-	else
-		char_O_ascenttime = x;
-	}
-  }
- }
-else
- char_O_ascenttime = 0;
-} // calc_ascenttime()
-
-
-// ---------------------
-// update_startvalues //
-// ---------------------
-// updated in v.102
-
-void update_startvalues(void)
-{
-  	temp_pres_gtissue_limit = pres_gtissue_limit;
-  	temp_pres_gtissue = pres_tissue[char_O_gtissue_no] + pres_tissue[char_O_gtissue_no+16];
-  	temp_pres_gtissue_diff = temp_pres_gtissue_limit - temp_pres_gtissue;						// negative number
-	temp_pres_gtissue_limit_GF_low = GF_low * temp_pres_gtissue_diff + temp_pres_gtissue;
-  	temp_pres_gtissue_limit_GF_low_below_surface = temp_pres_gtissue_limit_GF_low - pres_surface;
-	if (temp_pres_gtissue_limit_GF_low_below_surface < 0)
-		temp_pres_gtissue_limit_GF_low_below_surface = 0;
-
-	temp_gtissue_no = char_O_gtissue_no;
-  	for (x = 0;x<16;x++)
-  	{
-   		sim_pres_tissue[x] = pres_tissue[x];
-   		sim_pres_tissue[x+16] = pres_tissue[x+16];
-   		sim_pres_tissue_limit[x] = pres_tissue_limit[x];
-  	}
-} // update_startvalues
-
-
-// ------------------
-// sim_tissue_1min //
-// ------------------
-// optimized in v.101
-
-void sim_tissue_1min(void)
-{
-temp_pres_gtissue_limit = 0.0;
-temp_gtissue_no = 255;
-
-_asm
-lfsr 1, 0x300
-movlw	0x01
-movwf	TBLPTRU,0
-_endasm
-
-
-for (ci=0;ci<16;ci++)
-{
-_asm
-movlw	0x02
-movwf	TBLPTRH,0
-movlb	4 // fuer ci
-movf ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addlw	0x80
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_a+1
-TBLRDPOSTINC
-movff	TABLAT,var_a
-TBLRDPOSTINC
-movff	TABLAT,var_a+3
-TBLRD
-movff	TABLAT,var_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_a+1
-TBLRDPOSTINC
-movff	TABLAT,var2_a
-TBLRDPOSTINC
-movff	TABLAT,var2_a+3
-TBLRD
-movff	TABLAT,var2_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_b+1
-TBLRDPOSTINC
-movff	TABLAT,var_b
-TBLRDPOSTINC
-movff	TABLAT,var_b+3
-TBLRD
-movff	TABLAT,var_b+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_b+1
-TBLRDPOSTINC
-movff	TABLAT,var2_b
-TBLRDPOSTINC
-movff	TABLAT,var2_b+3
-TBLRD
-movff	TABLAT,var2_b+2
-addlw	0xC0
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_e1min+1
-TBLRDPOSTINC
-movff	TABLAT,var_e1min
-TBLRDPOSTINC
-movff	TABLAT,var_e1min+3
-TBLRD
-movff	TABLAT,var_e1min+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min+1
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min+3
-TBLRD
-movff	TABLAT,var2_e1min+2
-_endasm
-// N2
- temp_tissue = (temp_atem - sim_pres_tissue[ci]) * var_e1min;
- temp_tissue_safety();
- sim_pres_tissue[ci] = sim_pres_tissue[ci] + temp_tissue;
-// He
- temp_tissue = (temp2_atem - sim_pres_tissue[ci+16]) * var2_e1min;
- temp_tissue_safety();
- sim_pres_tissue[ci+16] = sim_pres_tissue[ci+16] + temp_tissue;
-// pressure limit
- temp_tissue = sim_pres_tissue[ci] + sim_pres_tissue[ci+16];
- var_a = (var_a * sim_pres_tissue[ci] + var2_a * sim_pres_tissue[ci+16]) / temp_tissue;
- var_b = (var_b * sim_pres_tissue[ci] + var2_b * sim_pres_tissue[ci+16]) / temp_tissue;
- sim_pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b;
-
- if (sim_pres_tissue_limit[ci] < 0)
-  sim_pres_tissue_limit[ci] = 0;
- if (sim_pres_tissue_limit[ci] > temp_pres_gtissue_limit)
-  {
-  temp_pres_gtissue = temp_tissue;
-  temp_pres_gtissue_limit = sim_pres_tissue_limit[ci];
-  temp_gtissue_no = ci;
-  }
-} // for
-  	temp_pres_gtissue_diff = temp_pres_gtissue_limit - temp_pres_gtissue;
-	temp_pres_gtissue_limit_GF_low = GF_low * temp_pres_gtissue_diff + temp_pres_gtissue;
-  	temp_pres_gtissue_limit_GF_low_below_surface = temp_pres_gtissue_limit_GF_low - pres_surface;
-	if (temp_pres_gtissue_limit_GF_low_below_surface < 0)
-		temp_pres_gtissue_limit_GF_low_below_surface = 0;
-} //sim_tissue_1min()
-
-//--------------------
-// sim_tissue_10min //
-//--------------------
-
-// Attention!! uses var_e1min und var2_e1min to load 10min data !!!
-// is identical to sim_tissue_1min routine except for the different load of those variables
-
-// optimized in v.101
-
-void sim_tissue_10min(void)
-{
-temp_pres_gtissue_limit = 0.0;
-temp_gtissue_no = 255;
-
-_asm
-lfsr 1, 0x300
-movlw	0x01
-movwf	TBLPTRU,0
-_endasm
-
-for (ci=0;ci<16;ci++)
-{
-_asm
-movlw	0x02
-movwf	TBLPTRH,0
-movlb	4 // fuer ci
-movf ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addlw	0x80
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_a+1
-TBLRDPOSTINC
-movff	TABLAT,var_a
-TBLRDPOSTINC
-movff	TABLAT,var_a+3
-TBLRD
-movff	TABLAT,var_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_a+1
-TBLRDPOSTINC
-movff	TABLAT,var2_a
-TBLRDPOSTINC
-movff	TABLAT,var2_a+3
-TBLRD
-movff	TABLAT,var2_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_b+1
-TBLRDPOSTINC
-movff	TABLAT,var_b
-TBLRDPOSTINC
-movff	TABLAT,var_b+3
-TBLRD
-movff	TABLAT,var_b+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_b+1
-TBLRDPOSTINC
-movff	TABLAT,var2_b
-TBLRDPOSTINC
-movff	TABLAT,var2_b+3
-TBLRD
-movff	TABLAT,var2_b+2
-addlw	0xC0				// different to 1 min
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-incf	TBLPTRH,1,0			// different to 1 min
-TBLRDPOSTINC
-movff	TABLAT,var_e1min+1
-TBLRDPOSTINC
-movff	TABLAT,var_e1min
-TBLRDPOSTINC
-movff	TABLAT,var_e1min+3
-TBLRD
-movff	TABLAT,var_e1min+2
-addlw	0x40
-movwf	TBLPTRL,0
-//incf	TBLPTRH,1,0			// different to 1 min
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min+1
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min+3
-TBLRD
-movff	TABLAT,var2_e1min+2
-_endasm
-// N2
- temp_tissue = (temp_atem - sim_pres_tissue[ci]) * var_e1min;
- temp_tissue_safety();
- sim_pres_tissue[ci] = sim_pres_tissue[ci] + temp_tissue;
-// He
- temp_tissue = (temp2_atem - sim_pres_tissue[ci+16]) * var2_e1min;
- temp_tissue_safety();
- sim_pres_tissue[ci+16] = sim_pres_tissue[ci+16] + temp_tissue;
-// pressure limit
-temp_tissue = sim_pres_tissue[ci] + sim_pres_tissue[ci+16];
- var_a = (var_a * sim_pres_tissue[ci] + var2_a * sim_pres_tissue[ci+16]) / temp_tissue;
- var_b = (var_b * sim_pres_tissue[ci] + var2_b * sim_pres_tissue[ci+16]) / temp_tissue;
-
-sim_pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b;
- if (sim_pres_tissue_limit[ci] < 0)
-  sim_pres_tissue_limit[ci] = 0;
- if (sim_pres_tissue_limit[ci] > temp_pres_gtissue_limit)
-  {
-  temp_pres_gtissue = temp_tissue;
-  temp_pres_gtissue_limit = sim_pres_tissue_limit[ci];
-  temp_gtissue_no = ci;
-  }
-} // for
-  	temp_pres_gtissue_diff = temp_pres_gtissue_limit - temp_pres_gtissue;							// negative number
-	temp_pres_gtissue_limit_GF_low = GF_low * temp_pres_gtissue_diff + temp_pres_gtissue;
-  	temp_pres_gtissue_limit_GF_low_below_surface = temp_pres_gtissue_limit_GF_low - pres_surface;
-	if (temp_pres_gtissue_limit_GF_low_below_surface < 0)
-		temp_pres_gtissue_limit_GF_low_below_surface = 0;
-} //sim_tissue_10min()
-
-
-// ------------------
-// clear_decoarray //
-// ------------------
-// unchanged in v.101
-
-void clear_decoarray(void)
-{
-char_O_array_decodepth[0] = 0;
-char_O_array_decodepth[1] = 0;
-char_O_array_decodepth[2] = 0;
-char_O_array_decodepth[3] = 0;
-char_O_array_decodepth[4] = 0;
-char_O_array_decodepth[5] = 0;
-char_O_array_decotime[0] = 0;
-char_O_array_decotime[1] = 0;
-char_O_array_decotime[2] = 0;
-char_O_array_decotime[3] = 0;
-char_O_array_decotime[4] = 0;
-char_O_array_decotime[5] = 0;
-char_O_array_decotime[6] = 0;
-} // clear_decoarray
-
-
-// -------------------
-// update_decoarray //
-// -------------------
-// unchanged in v.101
-
-void update_decoarray()
-{
-	x = 0;
-	do
-	{
-		if (char_O_array_decodepth[x] == temp_depth_limit)
-		{
-			int_temp = char_O_array_decotime[x] + temp_decotime;
-			if (int_temp < 0)
-				int_temp = 0;
-			if (int_temp > 240)
-				int_temp = 240;
- 			char_O_array_decotime[x] = int_temp;
-			x = 10; // exit
-		} // if
-		else
- 		{
- 			if (char_O_array_decodepth[x] == 0)
-  			{
-  				if (temp_depth_limit > 255)
-   					char_O_array_decodepth[x] = 255;
-  				else
-   					char_O_array_decodepth[x] = (char)temp_depth_limit;
-  				int_temp = char_O_array_decotime[x] + temp_decotime;
-  				if (int_temp > 240)
-   					char_O_array_decotime[x] = 240;
-  				else
-   					char_O_array_decotime[x] = (char)int_temp;
-  				x = 10; // exit
-  			} // if
- 			else
-  				x++;
- 		} // else
-	} while (x<6);
-	if (x == 6)
- 	{
- 		int_temp = char_O_array_decotime[6] + temp_decotime;
- 		if (int_temp > 220)
-  			char_O_array_decotime[6] = 220;
- 		else
-  			char_O_array_decotime[6] = (char)int_temp;
- 	} // if x == 6
-} // update_decoarray
-
-
-// -----------------------
-// calc_gradient_factor //
-// -----------------------
-// optimized in v.101 (var_a)
-// new code in v.102
-
-void calc_gradient_factor(void)
-{
-	// tissue > respiration (entsaettigungsvorgang)
-	// gradient ist wieviel prozent an limit mit basis tissue
-	// dh. 0% = respiration == tissue
-	// dh. 100% = respiration == limit
-	temp_tissue = pres_tissue[char_O_gtissue_no] + pres_tissue[char_O_gtissue_no+16];
-	temp1 = temp_tissue - pres_respiration;
-	temp2 = temp_tissue - pres_tissue_limit[char_O_gtissue_no];	// changed in v.102
-	temp2 = temp1/temp2;
-	temp2 = temp2 * 100; // displayed in percent
-	if (temp2 < 0)
-		temp2 = 0;
-	if (temp2 > 255)
-		temp2 = 255;
-	if (temp1 < 0)
- 		char_O_gradient_factor = 0;
-	else
- 		char_O_gradient_factor = (char)temp2;
-
-	temp3 = temp2;
-
-	if (char_I_deco_model == 1)		// calculate relative gradient factor
-	{
-		temp1 = (float)temp_depth_GF_low_meter * 0.09995;
-		temp2 = pres_respiration - pres_surface;
-		if (temp2 <= 0)
-			temp1 = GF_high;
-		else
-		if (temp2 >= temp1)
-			temp1 = GF_low;
-		else
-			temp1 = GF_low + (temp1 - temp2)/temp1*GF_delta;
-		if (temp_depth_GF_low_meter == 0)
-			temp1 = GF_high;
-		temp2 = temp3 / temp1; // temp3 is already in percent
-		if (temp2 < 0)
-			temp2 = 0;
-		if (temp2 > 255)
-			temp2 = 255;
-		char_O_relative_gradient_GF  = (char)temp2;
-	}	// calc relative gradient factor
-	else
-	{
- 			char_O_relative_gradient_GF = char_O_gradient_factor;
-	}
-} // calc_gradient
-
-// ---------------------------
-// calc_gradient_array_only //
-// ---------------------------
-// optimized in v.101 (var_a)
-// new code in v.102
-
-void calc_gradient_array_only()
-{
- pres_respiration = (float)int_I_pres_respiration / 1000.0; // assembler code uses different digit system
-for (ci=0;ci<16;ci++)
-{
-	temp_tissue = pres_tissue[ci] + pres_tissue[ci+16];
-	temp1 = temp_tissue - pres_respiration;
-	temp2 = temp_tissue - pres_tissue_limit[ci];
-	temp2 = temp1/temp2;
-	temp2 = temp2 * 200; // because of output in (Double-)percentage
-	if (temp2 < 0)
-		temp2 = 0;
-	if (temp2 > 255)
-		temp2 = 255;
-	if (temp1 < 0)
- 		char_O_array_gradient_weighted[ci] = 0;
-	else
- 		char_O_array_gradient_weighted[ci] = (char)temp2;
-} // for
-} // calc_gradient_array_only
-
-
-// -------------------------
-// calc_desaturation_time //
-// -------------------------
-// FIXED N2_ratio
-// unchanged in v.101
-
-void calc_desaturation_time(void)
-{
-_asm
-lfsr 1, 0x300
-movlw	0x01
-movwf	TBLPTRU,0
-_endasm
- N2_ratio = 0.7902; // FIXED sum as stated in b"uhlmann
- pres_surface = (float)int_I_pres_surface / 1000.0;
- temp_atem = N2_ratio * (pres_surface - 0.0627);
- int_O_desaturation_time = 0;
- float_desaturation_multiplier = char_I_desaturation_multiplier / 142.0; // new in v.101	(70,42%/100.=142)
-
-for (ci=0;ci<16;ci++)
-{
-_asm
-movlw	0x04
-movwf	TBLPTRH,0
-movlb	4 // fuer ci
-movf ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addlw	0x80
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_halftimes+1
-TBLRDPOSTINC
-movff	TABLAT,var_halftimes
-TBLRDPOSTINC
-movff	TABLAT,var_halftimes+3
-TBLRD
-movff	TABLAT,var_halftimes+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_halftimes+1
-TBLRDPOSTINC
-movff	TABLAT,var2_halftimes
-TBLRDPOSTINC
-movff	TABLAT,var2_halftimes+3
-TBLRD
-movff	TABLAT,var2_halftimes+2
-_endasm
-
-// saturation_time (for flight) and N2_saturation in multiples of halftime
-// version v.100: 1.1 = 10 percent distance to totally clean (totally clean is not possible, would take infinite time )
-// new in version v.101: 1.07 = 7 percent distance to totally clean (totally clean is not possible, would take infinite time )
-// changes in v.101: 1.05 = 5 percent dist to totally clean is new desaturation point for display and noFly calculations
-// N2
- temp1 = 1.05 * temp_atem;
- temp1 = temp1 - pres_tissue[ci];
- temp2 = temp_atem - pres_tissue[ci];
-  if (temp2 >= 0.0)
-	{
-	temp1 = 0;
-	temp2 = 0;
-	}
- else
-    temp1 = temp1 / temp2;
-  if (temp1 > 0.0)
-	{
-	temp1 = log(1.0 - temp1);
-	temp1 = temp1 / -0.6931; // temp1 is the multiples of half times necessary.
-							 // 0.6931 is ln(2), because the math function log() calculates with a base of e not 2 as requested.
-							 // minus because log is negative
-	temp2 = var_halftimes * temp1 / float_desaturation_multiplier; // time necessary (in minutes ) for complete desaturation (see comment about 10 percent) , new in v.101: float_desaturation_multiplier
-	}
- else
-	{
-	temp1 = 0;
-	temp2 = 0;
-	}
-
-// He
- temp3 = 0.1 - pres_tissue[ci+16];
-if (temp3 >= 0.0)
-	{
-	temp3 = 0;
-	temp4 = 0;
-	}
- else
-    temp3 = -1.0 * temp3 / pres_tissue[ci+16];
-  if (temp3 > 0.0)
-	{
-	temp3 = log(1.0 - temp3);
-	temp3 = temp3 / -0.6931; // temp1 is the multiples of half times necessary.
-							 // 0.6931 is ln(2), because the math function log() calculates with a base of e  not 2 as requested.
-							 // minus because log is negative
-	temp4 = var2_halftimes * temp3 / float_desaturation_multiplier; // time necessary (in minutes ) for "complete" desaturation, new in v.101 float_desaturation_multiplier
-	}
- else
-	{
-	temp3 = 0;
-	temp4 = 0;
-	}
-
-// saturation_time (for flight)
- if (temp4 > temp2)
-	 int_temp = (int)temp4;
- else
-	 int_temp = (int)temp2;
- if(int_temp > int_O_desaturation_time)
-	int_O_desaturation_time = int_temp;
-
-// N2 saturation in multiples of halftime for display purposes
- temp2 = temp1 * 20.0;  // 0 = 1/8, 120 = 0, 249 = 8
- temp2 = temp2 + 80.0; // set center
- if (temp2 < 0.0)
-	 temp2 = 0.0;
- if (temp2 > 255.0)
- 	 temp2 = 255.0;
- char_O_tissue_saturation[ci] = (char)temp2;
-// He saturation in multiples of halftime for display purposes
- temp4 = temp3 * 20.0;  // 0 = 1/8, 120 = 0, 249 = 8
- temp4 = temp4 + 80.0; // set center
- if (temp4 < 0.0)
-	 temp4 = 0.0;
- if (temp4 > 255.0)
- 	 temp4 = 255.0;
- char_O_tissue_saturation[ci+16] = (char)temp4;
-} // for
-} // calc_desaturation_time
-
-
-// --------------------------
-// calc_wo_deco_step_1_min //
-// --------------------------
-// FIXED N2 Ratio
-// optimized in v.101 (...saturation_multiplier)
-// desaturation slowed down to 70,42%
-
-void calc_wo_deco_step_1_min(void)
-{
-_asm
- lfsr 1, 0x300
-_endasm
- N2_ratio = 0.7902; // FIXED, sum lt. buehlmann
- pres_respiration = (float)int_I_pres_respiration / 1000.0; // assembler code uses different digit system
- pres_surface = (float)int_I_pres_surface / 1000.0;
- temp_atem = N2_ratio * (pres_respiration - 0.0627); // 0.0627 is the extra pressure in the body
- temp2_atem = 0.0;
- temp_surface = pres_surface; // the b"uhlmann formula using temp_surface does not use the N2_ratio
- float_desaturation_multiplier = char_I_desaturation_multiplier / 142.0; // new in v.101	(70,42%/100.=142)
- float_saturation_multiplier = char_I_saturation_multiplier / 100.0;
-
- calc_tissue_step_1_min();  // update the pressure in the 16 tissues in accordance with the new ambient pressure
- clear_decoarray();
- char_O_deco_status = 0;
- char_O_nullzeit = 0;
- char_O_ascenttime = 0;
- calc_gradient_factor();
-
-} // calc_wo_deco_step_1_min(void)
-
-
-// -------------------------
-// calc_tissue_step_1_min //
-// -------------------------
-// optimized in v.101
-
-void calc_tissue_step_1_min(void)
-{
-_asm
-lfsr 1, 0x300
-movlw	0x01
-movwf	TBLPTRU,0
-_endasm
-
- char_O_gtissue_no = 255;
- pres_gtissue_limit = 0.0;
-
-for (ci=0;ci<16;ci++)
-{
-_asm
-movlw	0x02
-movwf	TBLPTRH,0
-movlb	4 // fuer ci
-movf ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addwf	ci,0,1
-addlw	0x80
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var_a+1
-TBLRDPOSTINC
-movff	TABLAT,var_a
-TBLRDPOSTINC
-movff	TABLAT,var_a+3
-TBLRD
-movff	TABLAT,var_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_a+1
-TBLRDPOSTINC
-movff	TABLAT,var2_a
-TBLRDPOSTINC
-movff	TABLAT,var2_a+3
-TBLRD
-movff	TABLAT,var2_a+2
-addlw	0x40
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_b+1
-TBLRDPOSTINC
-movff	TABLAT,var_b
-TBLRDPOSTINC
-movff	TABLAT,var_b+3
-TBLRD
-movff	TABLAT,var_b+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_b+1
-TBLRDPOSTINC
-movff	TABLAT,var2_b
-TBLRDPOSTINC
-movff	TABLAT,var2_b+3
-TBLRD
-movff	TABLAT,var2_b+2
-addlw	0xC0
-movwf	TBLPTRL,0
-incf	TBLPTRH,1,0
-TBLRDPOSTINC
-movff	TABLAT,var_e1min+1
-TBLRDPOSTINC
-movff	TABLAT,var_e1min
-TBLRDPOSTINC
-movff	TABLAT,var_e1min+3
-TBLRD
-movff	TABLAT,var_e1min+2
-addlw	0x40
-movwf	TBLPTRL,0
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min+1
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min
-TBLRDPOSTINC
-movff	TABLAT,var2_e1min+3
-TBLRD
-movff	TABLAT,var2_e1min+2
-_endasm
-
-// N2 1 min
- temp_tissue = (temp_atem - pres_tissue[ci]) * var_e1min;
- temp_tissue_safety();
- pres_tissue[ci] = pres_tissue[ci] + temp_tissue;
-
-// He 1 min
- temp_tissue = (temp2_atem - pres_tissue[ci+16]) * var2_e1min;
- temp_tissue_safety();
- pres_tissue[ci+16] = pres_tissue[ci+16] + temp_tissue;
-
- temp_tissue = pres_tissue[ci] + pres_tissue[ci+16];
- var_a = (var_a * pres_tissue[ci] + var2_a * pres_tissue[ci+16]) / temp_tissue;
- var_b = (var_b * pres_tissue[ci] + var2_b * pres_tissue[ci+16]) / temp_tissue;
- pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b;
- if (pres_tissue_limit[ci] < 0)
-  pres_tissue_limit[ci] = 0;
- if (pres_tissue_limit[ci] > pres_gtissue_limit)
-  {
-  pres_gtissue_limit = pres_tissue_limit[ci];
-  char_O_gtissue_no = ci;
-  }//if
-
-// gradient factor array for graphical display
-// display range is 0 to 250! in steps of 5 for 1 pixel
-// the display is divided in 6 blocks
-// -> double the gradient 100% = 200
-// tissue > respiration (entsaettigungsvorgang)
-// gradient ist wieviel prozent an limit von tissue aus
-// dh. 0% = respiration == tissue
-// dh. 100% = respiration == limit
-temp1 = temp_tissue - pres_respiration;
-temp2 = temp_tissue - pres_tissue_limit[ci];	// changed in v.102
-temp2 = temp1/temp2;
-temp2 = temp2 * 200; // because of output in (Double-)percentage
-if (temp2 < 0)
-	temp2 = 0;
-if (temp2 > 255)
-	temp2 = 255;
-if (temp1 < 0)
- char_O_array_gradient_weighted[ci] = 0;
-else
- char_O_array_gradient_weighted[ci] = (char)temp2;
-
-} // for
-} // calc wo deco 1min
-
-#if 0
-// --------
-// debug //
-// --------
-void debug(void)
-{
-for (ci=0;ci<32;ci++)
-{
- int_O_tissue_for_debug[ci] = (unsigned int)(pres_tissue[ci] *1000);
-}
-} // void debug(void)
-#endif
-
-// ----------
-// md hash //
-// ----------
-void hash(void)
-{
-// init
- for (md_i=0;md_i<16;md_i++)
- {
-  md_state[md_i] = 0;
-  md_cksum[md_i] = 0;
- } // for md_i 16
-
-_asm
- movlw	0x01
- movwf	TBLPTRU,0
- movlw	0x06
- movwf	TBLPTRH,0
- movlw	0x00
- movwf	TBLPTRL,0
-_endasm
- for (md_i=0;md_i<127;md_i++)
- {
-_asm
- TBLRDPOSTINC
- movff	TABLAT,md_temp
-_endasm
-  md_pi_subst[md_i] = md_temp;
- } // for md_i 256
-_asm
- TBLRDPOSTINC
- movff	TABLAT,md_temp
-_endasm
-  md_pi_subst[127] = md_temp;
- for (md_i=0;md_i<127;md_i++)
- {
-_asm
- TBLRDPOSTINC
- movff	TABLAT,md_temp
-_endasm
-  md_pi_subst[md_i+128] = md_temp;
- } // for md_i 256
-_asm
- TBLRD
- movff	TABLAT,md_temp
-_endasm
-  md_pi_subst[255] = md_temp;
-
-_asm
- movlw	0x00
- movwf	TBLPTRU,0
- movlw	0x00
- movwf	TBLPTRH,0
- movlw	0x00
- movwf	TBLPTRL,0
-_endasm
-// cycle buffers
-for (md_pointer=0x0000;md_pointer<0x17f3;md_pointer++)
-{
- md_t = 0;
- for (md_i=0;md_i<16;md_i++)
- {
-  if(md_pointer == 9)
-   md_temp = md_cksum[md_i];
-  else
-  {
-_asm
-  TBLRDPOSTINC
-  movff	TABLAT,md_temp
-_endasm
-  } // else
-  md_buffer[md_i] = md_temp;
-  md_state[md_i+16] = md_buffer[md_i];
-  md_state[md_i+32] = (unsigned char)(md_buffer[md_i] ^ md_state[md_i]);
- } // for md_i 16
-
- for (md_i=0;md_i<18;md_i++)
- {
-  for (md_j=0;md_j<48;md_j++)
-  {
-   md_state[md_j] = (unsigned char)(md_state[md_j] ^ md_pi_subst[md_t]);
-   md_t = md_state[md_j];
-  } // for md_j 48
-  md_t = (unsigned char)(md_t+1);
- } // for md_i 18
- md_t = md_cksum[15];
-
- for (md_i=0;md_i<16;md_i++)
- {
-  md_cksum[md_i] = (unsigned char)(md_cksum[md_i] ^ md_pi_subst[(md_buffer[md_i] ^ md_t)]);
-  md_t = md_cksum[md_i];
- } // for md_i 16
-} // for md_pointer
-} // void hash(void)
-
-// ---------------------
-// clear_CNS_fraction //
-// ---------------------
-// new in v.101
-
-void clear_CNS_fraction(void)
-{
- CNS_fraction = 0.0;
- char_O_CNS_fraction = 0;
-} // void clear_CNS_fraction(void)
-
-
-// --------------------
-// calc_CNS_fraction //
-// --------------------
-// new in v.101
-// optimized in v.102 : with new variables char_I_actual_ppO2 and actual_ppO2
-
-// Input: char_I_actual_ppO2
-// Output: char_O_CNS_fraction
-// Uses and Updates: CNS_fraction
-// Uses: acutal_ppO2
-
-void calc_CNS_fraction(void)
-{
- actual_ppO2 = (float)char_I_actual_ppO2 / 100.0;
-
- if (char_I_actual_ppO2 < 50)
-  CNS_fraction = CNS_fraction;// no changes
- else if (char_I_actual_ppO2 < 60)
-  CNS_fraction = 1/(-54000.0 * actual_ppO2 + 54000.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 70)
-  CNS_fraction = 1/(-45000.0 * actual_ppO2 + 48600.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 80)
-  CNS_fraction = 1/(-36000.0 * actual_ppO2 + 42300.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 90)
-  CNS_fraction = 1/(-27000.0 * actual_ppO2 + 35100.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 110)
-  CNS_fraction = 1/(-18000.0 * actual_ppO2 + 27000.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 150)
-  CNS_fraction = 1/(-9000.0 * actual_ppO2 + 17100.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 160)
-  CNS_fraction = 1/(-22500.0 * actual_ppO2 + 37350.0) + CNS_fraction;
- else if (char_I_actual_ppO2 < 165)
-  CNS_fraction =  0.000755 + CNS_fraction; // Arieli et all.(2002): Modeling pulmonary and CNS O2 toxicity... Formula (A1) based on value for 1.55 and c=20
- else if (char_I_actual_ppO2 < 170)
-  CNS_fraction =  0.00102 + CNS_fraction; // example calculation: Sqrt((1.7/1.55)^20)*0.000404
- else if (char_I_actual_ppO2 < 175)
-  CNS_fraction =  0.00136 + CNS_fraction;
- else if (char_I_actual_ppO2 < 180)
-  CNS_fraction =  0.00180 + CNS_fraction;
- else if (char_I_actual_ppO2 < 185)
-  CNS_fraction =  0.00237 + CNS_fraction;
- else if (char_I_actual_ppO2 < 190)
-  CNS_fraction =  0.00310 + CNS_fraction;
- else if (char_I_actual_ppO2 < 195)
-  CNS_fraction =  0.00401 + CNS_fraction;
- else if (char_I_actual_ppO2 < 200)
-  CNS_fraction =  0.00517 + CNS_fraction;
- else if (char_I_actual_ppO2 < 230)
-  CNS_fraction =  0.0209 + CNS_fraction;
- else
-  CNS_fraction =  0.0482 + CNS_fraction; // value for 2.5
-
- if (CNS_fraction > 2.5)
-  CNS_fraction = 2.5;
- if (CNS_fraction < 0.0)
-  CNS_fraction = 0.0;
- char_O_CNS_fraction = (char)((CNS_fraction + 0.005)* 100.0);
-} // void calc_CNS_fraction(void)
-
-// --------------------------
-// calc_CNS_decrease_15min //
-// --------------------------
-// new in v.101
-
-// calculates the half time of 90 minutes in 6 steps of 15 min
-
-// Output: char_O_CNS_fraction
-// Uses and Updates: CNS_fraction
-
-void calc_CNS_decrease_15min(void)
-{
- CNS_fraction =  0.890899 * CNS_fraction;
- char_O_CNS_fraction = (char)((CNS_fraction + 0.005)* 100.0);
-}// calc_CNS_decrease_15min(void)
-
-
-// ------------------
-// calc_percentage //
-// ------------------
-// new in v.101
-
-// calculates int_I_temp * char_I_temp / 100
-// output is int_I_temp
-
-void calc_percentage(void)
-{
- temp1 = (float)int_I_temp;
- temp2 = (float)char_I_temp / 100.0;
- temp3 = temp1 * temp2;
- int_I_temp = (int)temp3;
-}
-void push_tissues_to_vault(void)
-{
-	for (ci=0;ci<32;ci++)
-		pres_tissue_vault[ci] = pres_tissue[ci];
-}
-void pull_tissues_from_vault(void)
-{
-	for (ci=0;ci<32;ci++)
-		pres_tissue[ci] = pres_tissue_vault[ci];
-}