annotate code_part1/OSTC_code_c_part2/p2_deco_main.c @ 88:eff0da5cb975

mh
author heinrichsweikamp
date Fri, 10 Dec 2010 12:59:23 +0100
parents 3691ea95a34d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1 /*
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2 * p2_deco_main_c_v108.c
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3 *
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
4 * Created on: 12.05.2009
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
5 * Author: chsw
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
6 *
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
7 * Changes: debug / plausibiliy output
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
8 */
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
9
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
10 //#include <p2_deco_header_c_v102d.h>
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
11
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
12
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
13 // OSTC - diving computer code
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
14 // Copyright (C) 2008 HeinrichsWeikamp GbR
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
15
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
16 // This program is free software: you can redistribute it and/or modify
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
17 // it under the terms of the GNU General Public License as published by
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
18 // the Free Software Foundation, either version 3 of the License, or
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
19 // (at your option) any later version.
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
20
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
21 // This program is distributed in the hope that it will be useful,
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
22 // but WITHOUT ANY WARRANTY; without even the implied warranty of
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
23 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
24 // GNU General Public License for more details.
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
25
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
26 // You should have received a copy of the GNU General Public License
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
27 // along with this program. If not, see <http://www.gnu.org/licenses/>.
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
28
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
29
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
30 // *****************************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
31 // ** I N T R O D U C T I O N **
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
32 // *****************************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
33 //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
34 // OSTC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
35 //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
36 // code:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
37 // p2_deco_main_c_v101.c
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
38 // part2 of the OSTC code
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
39 // code with constant O2 partial pressure routines
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
40 // under construction !!
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
41 //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
42 // summary:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
43 // decompression routines
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
44 // for the OSTC experimental project
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
45 // written by Christian Weikamp
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
46 // last revision __________
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
47 // comments added _________
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
48 //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
49 // additional files:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
50 // p2_tables_v100.romdata (other files)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
51 // 18f4685_ostc_v100.lkr (linker script)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
52 //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
53 // history:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
54 // 01/03/08 v100: first release candidate
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
55 // 03/13/08 v101: start of programming ppO2 code
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
56 // 03/13/25 v101a: backup of interrim version with ppO2 calculation
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
57 // 03/13/25 v101: open circuit gas change during deco
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
58 // 03/13/25 v101: CNS_fraction calculation
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
59 // 03/13/26 v101: optimization of tissue calc routines
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
60 // 07/xx/08 v102a: debug of bottom time routine
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
61 // 09/xx/08 v102d: Gradient Factor Model implemenation
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
62 // 10/10/08 v104: renamed to build v103 for v118 stable
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
63 // 10/14/08 v104: integration of temp_depth_last_deco for Gradient Model
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
64 // 03/31/09 v107: integration of FONT Incon24
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
65 // 05/23/10 v109: 5 gas changes & 1 min timer
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
66 // 07/13/10 v110: cns vault added
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
67
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
68 //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
69 // literature:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
70 // B"uhlmann, Albert: Tauchmedizin; 4. Auflage;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
71 // Schr"oder, Kai & Reith, Steffen; 2000; S"attigungsvorg"ange beim Tauchen, das Modell ZH-L16, Funktionsweise von Tauchcomputern; http://www.achim-und-kai.de/kai/tausim/saett_faq
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
72 // Morrison, Stuart; 2000; DIY DECOMPRESSION; http://www.lizardland.co.uk/DIYDeco.html
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
73 // Balthasar, Steffen; Dekompressionstheorie I: Neo Haldane Modelle; http://www.txfreak.de/dekompressionstheorie_1.pdf
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
74 // Baker, Erik C.; Clearing Up The Confusion About "Deep Stops"
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
75 // Baker, Erik C.; Understanding M-values; http://www.txfreak.de/understanding_m-values.pdf
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
76
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
77
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
78 // *********************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
79 // ** I N C L U D E S **
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
80 // *********************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
81 #include <p18f4685.h>
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
82 #include <math.h>
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
83
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
84 // ********************************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
85 // ** C O N F I G U R A T I O N **
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
86 // ** for simulation without asm **
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
87 // ********************************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
88 #pragma config OSC = IRCIO67
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
89 #pragma config FCMEN = OFF
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
90 #pragma config IESO = OFF
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
91 #pragma config PWRT = ON
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
92 #pragma config BOREN = OFF
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
93 #pragma config WDT = OFF
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
94 #pragma config WDTPS = 128
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
95 #pragma config MCLRE = ON
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
96 #pragma config LPT1OSC = OFF
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
97 #pragma config PBADEN = OFF
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
98 #pragma config DEBUG = OFF
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
99 #pragma config XINST = OFF
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
100 #pragma config LVP = OFF
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
101 #pragma config STVREN = OFF
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
102
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
103 // ****************************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
104 // ** D E F I N E S **
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
105 // ** missing in p18f4685.h **
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
106 // ****************************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
107 #define INT0IF 1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
108 #define INT1IF 0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
109 #define TMR1IF 0
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
110
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
111 #define oled_clk PORTD, 0,0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
112 #define oled_data PORTD, 1,0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
113 #define oled_en PORTE, 0,0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
114 #define oled_rs PORTE, 1,0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
115 #define flag5 0x29 // in Bank1
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
116 //#define no_sensor_int flag5,7,1 // ; block any further access to pressure sensor
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
117
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
118 # define DBG_c_gas 0b0000000000000001
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
119 # define DBG_c_ppO2 0b0000000000000010
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
120 # define DBG_RUN 0b0000000000000100
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
121 # define DBG_RESTART 0b0000000000001000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
122
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
123 # define DBG_CdeSAT 0b0000000000010000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
124 # define DBG_C_MODE 0b0000000000100000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
125 # define DBG_C_SURF 0b0000000001000000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
126 # define DBG_HEwoHE 0b0000000010000000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
127
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
128 # define DBG_C_DPPO2 0b0000000100000000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
129 # define DBG_C_DGAS 0b0000001000000000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
130 # define DBG_C_DIST 0b0000010000000000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
131 # define DBG_C_LAST 0b0000100000000000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
132
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
133 # define DBG_C_GF 0b0001000000000000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
134 # define DBG_ZH16ERR 0b0010000000000000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
135 # define DBG_PHIGH 0b0100000000000000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
136 # define DBG_PLOW 0b1000000000000000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
137
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
138
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
139 # define DBS_mode 0b0000000000000001
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
140 # define DBS_ppO2 0b0000000000000010
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
141 # define DBS_HE_sat 0b0000000000000100
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
142 # define DBS_ppO2chg 0b0000000000001000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
143
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
144 # define DBS_SAT2l 0b0000000000010000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
145 # define DBS_SAT2h 0b0000000000100000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
146 # define DBS_GFLOW2l 0b0000000001000000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
147 # define DBS_GFLOW2h 0b0000000010000000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
148
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
149 # define DBS_GFHGH2l 0b0000000100000000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
150 # define DBS_GFHGH2h 0b0000001000000000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
151 # define DBS_GASO22l 0b0000010000000000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
152 # define DBS_GASO22h 0b0000100000000000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
153
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
154 # define DBS_DIST2h 0b0001000000000000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
155 # define DBS_LAST2h 0b0010000000000000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
156 # define DBS_DECOO2l 0b0100000000000000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
157 # define DBS_DECOO2h 0b1000000000000000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
158
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
159
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
160 # define DBS2_PRES2h 0b0000000000000001
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
161 # define DBS2_PRES2l 0b0000000000000010
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
162 # define DBS2_SURF2l 0b0000000000000100
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
163 # define DBS2_SURF2h 0b0000000000001000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
164
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
165 # define DBS2_DESAT2l 0b0000000000010000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
166 # define DBS2_DESAT2h 0b0000000000100000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
167 # define DBS2_GFDneg 0b0000000001000000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
168 # define DBS2_ 0b000000000000000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
169
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
170 # define DBS2_ 0b000000000000000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
171 # define DBS2_ 0b000000000000000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
172 # define DBS2_ 0b000000000000000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
173 # define DBS2_ 0b000000000000000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
174
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
175 // NDL_at_20mtr
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
176
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
177 # define MBAR_REACH_GASCHANGE_AUTO_CHANGE_OFF 150
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
178
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
179 // ***********************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
180 // ** V A R I A B L E S **
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
181 // ***********************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
182 // prefixes etc:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
183 // _O_ = output for use in the assembler code
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
184 // _I_ = input from the assembler code for the c code
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
185 // char_ and int_ = used to identify output and input size
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
186 // var = variable (from b"uhlmann)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
187 // pres = pressure
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
188 // gtissue = guiding tissue, the one limiting the ascent
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
189 // e2secs = exp of the b"uhlmann formula precalculated for a 2 second step
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
190 // e1min = same for 1 minute step
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
191 // sim = used in simulating the ascent to the surface
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
192 // nullzeit = remaining ground/bottom time for "no deco"
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
193 // hauptroutine = main
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
194
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
195 #pragma udata bank0a=0x060
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
196 volatile unsigned char dd2_stringstore[17];
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
197 #pragma udata bank0b=0x071
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
198 volatile unsigned char keep_free_bank0[21];
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
199
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
200 #pragma udata bank0c=0x086
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
201 volatile unsigned char dd2_left; // 1 - 64
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
202 volatile unsigned char dd2_top; // 1 - 64
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
203 volatile unsigned char dd2_heightmax; // 1 - 37
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
204 volatile unsigned char dd2_oled_brightness_offset; // 0 - 15 (15 is pitch black always)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
205 volatile unsigned char dd2_fontwidth; // 8, 12, 21 for Incon16, Incon24, Incon42
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
206 volatile unsigned char dd2_fontheight; // 14, 21, 37 for "
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
207 volatile unsigned long dd2_pointer; // for font lut
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
208 volatile unsigned char dd2_i;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
209 volatile unsigned char dd2_j;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
210 volatile unsigned char dd2_k;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
211 volatile unsigned char dd2_char;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
212 volatile unsigned char dd2_lowbyte;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
213 volatile unsigned char dd2_temp;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
214 volatile unsigned char dd2_data;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
215 volatile unsigned long dd2_base; // for font lut
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
216 volatile unsigned char dd2_start; // for font lut
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
217 volatile unsigned char dd2_end; // for font lut
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
218
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
219
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
220 #pragma udata bank1=0x100
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
221 const unsigned char keep_free_bank1[256]; // used by the assembler code
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
222
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
223 #pragma udata bank2a=0x200
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
224 // output:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
225 static unsigned int int_O_tissue_for_debug[32];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
226 static unsigned int int_O_GF_spare____; // 0x240
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
227 static unsigned int int_O_GF_step; // 0x242
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
228 static unsigned int int_O_gtissue_limit; // 0x244
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
229 static unsigned int int_O_gtissue_press; // 0x246
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
230 static unsigned int int_O_limit_GF_low; // 0x248
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
231 static unsigned int int_O_gtissue_press_at_GF_low; // 0x24A
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
232 volatile unsigned char char_I_step_is_1min; // 0x24C
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
233
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
234 // ...
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
235 #pragma udata bank2b=0x24E
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
236 static unsigned char char_O_GF_low_pointer; // 0x24E
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
237 static unsigned char char_O_actual_pointer; // 0x24F
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
238 #pragma udata bank2c=0x250
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
239 static unsigned char char_O_deco_table[32]; // 0x250
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
240 #pragma udata bank2d=0x270
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
241 static unsigned char char_I_table_deco_done[32];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
242 #pragma udata bank2e=0x290
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
243 static unsigned int int_O_calc_tissue_call_counter; // 0x290
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
244 // internal:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
245 unsigned char lock_GF_depth_list;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
246 static float temp_limit;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
247 static float GF_low;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
248 static float GF_high;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
249 static float GF_delta;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
250 static float GF_temp;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
251 static float GF_step;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
252 static float GF_step2;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
253 static float temp_pres_gtissue;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
254 static float temp_pres_gtissue_diff;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
255 static float temp_pres_gtissue_limit_GF_low;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
256 static float temp_pres_gtissue_limit_GF_low_below_surface;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
257 static unsigned int temp_depth_limit;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
258 static unsigned char temp_decotime;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
259 static unsigned char temp_gtissue_no;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
260 static unsigned int temp_depth_last_deco; // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
261
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
262 static unsigned char temp_depth_GF_low_meter;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
263 static unsigned char temp_depth_GF_low_number;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
264 static unsigned char internal_deco_pointer;
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
265
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
266 #pragma udata bank2f=0x2C8
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
267 static unsigned char internal_deco_table[32]; // 0x2C8
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
268 static float temp_pres_deco_GF_low;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
269
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
270 static unsigned int debug_temp;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
271
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
272
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
273 #pragma udata bank3a=0x300
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
274 static char output[32];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
275 // used by the math routines
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
276 #pragma udata bank3b=0x37C
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
277 volatile float cns_vault;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
278 #pragma udata bank3c=0x380
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
279 volatile float pres_tissue_vault[32];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
280 #pragma udata bank4a=0x400
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
281 // internal:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
282 unsigned char ci ; // don't move - used in _asm routines - if moved then modify movlb commands
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
283 unsigned char x;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
284 unsigned int main_i;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
285 unsigned int int_temp;
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
286 unsigned int int_temp2;
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
287 unsigned int int_temp_decostatus;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
288 static float pres_respiration;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
289 static float pres_surface;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
290 static float temp1;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
291 static float temp2;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
292 static float temp3;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
293 static float temp4;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
294 static float temp_deco;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
295 static float temp_atem;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
296 static float temp2_atem;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
297 static float temp_tissue;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
298 static float temp_surface;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
299 static float N2_ratio;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
300 static float He_ratio;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
301 static float temp_ratio;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
302 static float var_a;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
303 static float var2_a;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
304 static float var_b;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
305 static float var2_b;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
306 static float var_t05nc;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
307 static float var2_t05nc;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
308 static float var_e2secs;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
309 static float var2_e2secs;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
310 static float var_e1min;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
311 static float var2_e1min;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
312 static float var_halftimes;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
313 static float var2_halftimes;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
314 static float pres_gtissue_limit;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
315 static float temp_pres_gtissue_limit;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
316 static float actual_ppO2; // new in v.102
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
317
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
318 #pragma udata bank4b=0x480
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
319 static float pres_tissue[32];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
320
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
321 #pragma udata bank5=0x500
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
322 // don't move positions in this bank, the registers are addressed directly from assembler code
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
323 // input:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
324 static unsigned int int_I_pres_respiration; // 0x500
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
325 static unsigned int int_I_pres_surface; // 0x502
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
326 static unsigned int int_I_temp; // 0x504 new in v101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
327 static unsigned char char_I_temp; // 0x506 new in v101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
328 static unsigned char char_I_actual_ppO2; // 0x507
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
329 static unsigned char char_I_deco_N2_ratio2; // 0x508 new in v.109
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
330 static unsigned char char_I_deco_He_ratio2; // 0x509 new in v.109
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
331 static unsigned char char_I_deco_N2_ratio3; // 0x50A new in v.109
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
332 static unsigned char char_I_deco_He_ratio3; // 0x50B new in v.109
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
333 static unsigned char char_I_deco_N2_ratio4; // 0x50C new in v.109
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
334 static unsigned char char_I_deco_He_ratio4; // 0x50D new in v.109
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
335 static unsigned char char_I_deco_N2_ratio5; // 0x50E new in v.109
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
336 static unsigned char char_I_deco_He_ratio5; // 0x50F new in v.109
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
337 static unsigned char char_I_N2_ratio; // 0x510
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
338 static unsigned char char_I_He_ratio; // 0x511
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
339 static unsigned char char_I_saturation_multiplier; // for conservatism/safety values 1.0 (no conservatism) to 1.5 (50% faster saturation
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
340 static unsigned char char_I_desaturation_multiplier; // for conservatism/safety values 0.66 (50% slower desaturation) to 1.0 (no conservatism)// consveratism used in calc_tissue(), calc_tissue_step_1_min() and sim_tissue_1min()
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
341 static unsigned char char_I_GF_High_percentage; // 0x514 new in v.102
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
342 static unsigned char char_I_GF_Low_percentage; // 0x515 new in v.102
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
343 static unsigned char char_I_spare; // 0x516
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
344 static unsigned char char_I_deco_distance; // 0x517
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
345 static unsigned char char_I_const_ppO2; // 0x518 new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
346 static unsigned char char_I_deco_ppO2_change; // 0x519 new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
347 static unsigned char char_I_deco_ppO2; // 0x51A new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
348 static unsigned char char_I_deco_gas_change; // 0x51B new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
349 static unsigned char char_I_deco_N2_ratio; // 0x51C new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
350 static unsigned char char_I_deco_He_ratio; // 0x51D new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
351 static unsigned char char_I_depth_last_deco; // 0x51E new in v.101 unit: [m]
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
352 static unsigned char char_I_deco_model; // 0x51F new in v.102 ( 1 = MultiGraF, sonst Std. mit (de-)saturation_multiplier)
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
353
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
354
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
355 // output:
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
356 static unsigned int int_O_desaturation_time; // 0x520
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
357 static unsigned char char_O_nullzeit; // 0x522
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
358 static unsigned char char_O_deco_status; // 0x523
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
359 static unsigned char char_O_array_decotime[7]; // 0x524
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
360 static unsigned char char_O_array_decodepth[6]; // 0x52B
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
361 static unsigned char char_O_ascenttime; // 0x531
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
362 static unsigned char char_O_gradient_factor; // 0x532
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
363 static unsigned char char_O_tissue_saturation[32]; // 0x533
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
364 static unsigned char char_O_array_gradient_weighted[16]; // 0x553
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
365 static unsigned char char_O_gtissue_no; // 0x563
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
366 static unsigned char char_O_diluent; // 0x564 new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
367 static unsigned char char_O_CNS_fraction; // 0x565 new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
368 static unsigned char char_O_relative_gradient_GF; // 0x566 new in v.102
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
369 static unsigned char char_I_deco_gas_change2; // 0x567 new in v.109
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
370 static unsigned char char_I_deco_gas_change3; // 0x568 new in v.109
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
371 static unsigned char char_I_deco_gas_change4; // 0x569 new in v.109
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
372 static unsigned char char_I_deco_gas_change5; // 0x56A new in v.109
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
373 // internal:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
374 static float pres_tissue_limit[16];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
375 static float sim_pres_tissue_limit[16];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
376 static float pres_diluent; // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
377 static float deco_diluent; // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
378 static float const_ppO2; // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
379 static float deco_ppO2_change; // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
380 static float deco_ppO2; // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
381
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
382
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
383
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
384 #pragma udata bank6=0x600
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
385 // internal:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
386 static float sim_pres_tissue[32];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
387 static float sim_pres_tissue_backup[32];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
388
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
389 #pragma udata bank7=0x700
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
390 const unsigned char keep_free_bank7[256]; // used by the assembler code (DD font2display)
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
391
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
392 #pragma udata bank8=0x800
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
393 static char md_pi_subst[256];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
394
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
395 #pragma udata bank9a=0x900
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
396 // output:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
397 static char md_state[48]; // DONT MOVE !! // has to be at the beginning of bank 9 for the asm code!!!
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
398 #pragma udata bank9b=0x930
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
399 // output:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
400 static unsigned int int_O_DBS_bitfield; // 0x930 new in v.108
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
401 static unsigned int int_O_DBS2_bitfield; // 0x932 new in v.108
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
402 static unsigned int int_O_DBG_pre_bitfield; // 0x934 new in v.108
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
403 static unsigned int int_O_DBG_post_bitfield; // 0x936 new in v.108
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
404 static char char_O_NDL_at_20mtr; // 0x938 new in v.108 // 0xFF == undefined, max. 254
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
405 // internal:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
406 static char md_t;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
407 static char md_buffer[16];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
408 static char md_cksum[16];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
409 static char md_i;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
410 static char md_j;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
411 static char md_temp;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
412 static unsigned int md_pointer;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
413 static float deco_N2_ratio; // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
414 static float deco_He_ratio; // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
415 static float calc_N2_ratio; // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
416 static float calc_He_ratio; // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
417 static float deco_gas_change; // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
418 static float CNS_fraction; // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
419 static float float_saturation_multiplier; // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
420 static float float_desaturation_multiplier; // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
421 static float float_deco_distance; // new in v.101
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
422 // internal, dbg:
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
423 static unsigned char DBG_char_I_deco_model; // new in v.108
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
424 static unsigned char DBG_char_I_depth_last_deco; // new in v.108
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
425 static float DBG_pres_surface; // new in v.108
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
426 static float DBG_GF_low; // new in v.108
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
427 static float DBG_GF_high; // new in v.108
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
428 static float DBG_const_ppO2; // new in v.108
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
429 static float DBG_deco_ppO2_change; // new in v.108
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
430 static float DBG_deco_ppO2; // new in v.108
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
431 static float DBG_deco_N2_ratio; // new in v.108
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
432 static float DBG_deco_He_ratio; // new in v.108
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
433 static float DBG_deco_gas_change; // new in v.108
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
434 static float DBG_float_saturation_multiplier; // new in v.108
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
435 static float DBG_float_desaturation_multiplier; // new in v.108
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
436 static float DBG_float_deco_distance; // new in v.108
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
437 static float DBG_deco_N2_ratio; // new in v.108
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
438 static float DBG_deco_He_ratio; // new in v.108
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
439 static float DBG_N2_ratio; // new in v.108
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
440 static float DBG_He_ratio; // new in v.108
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
441 static char flag_in_divemode; // new in v.108
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
442 static int int_dbg_i; // new in v.108
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
443 unsigned int temp_DBS;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
444
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
445 static float deco_gas_change2; // new in v.109
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
446 static float deco_gas_change3; // new in v.109
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
447 static float deco_gas_change4; // new in v.109
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
448 static float deco_gas_change5; // new in v.109
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
449
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
450 static float deco_N2_ratio2; // new in v.109
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
451 static float deco_N2_ratio3; // new in v.109
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
452 static float deco_N2_ratio4; // new in v.109
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
453 static float deco_N2_ratio5; // new in v.109
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
454 static float deco_He_ratio2; // new in v.109
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
455 static float deco_He_ratio3; // new in v.109
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
456 static float deco_He_ratio4; // new in v.109
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
457 static float deco_He_ratio5; // new in v.109
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
458
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
459
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
460 // *************************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
461 // ** P R O T O T Y P E S **
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
462 // *************************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
463 void main_calc_hauptroutine(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
464 void main_calc_without_deco(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
465 void main_clear_tissue(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
466 void main_calc_percentage(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
467 void main_calc_wo_deco_step_1_min(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
468 void main_debug(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
469 void main_gradient_array(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
470 void main_hash(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
471
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
472 void calc_hauptroutine(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
473 void calc_tissue(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
474 void calc_nullzeit(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
475 void backup_sim_pres_tissue(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
476 void restore_sim_pres_tissue(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
477
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
478 void calc_without_deco(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
479 void clear_tissue(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
480 void calc_ascenttime(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
481 void update_startvalues(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
482 void clear_decoarray(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
483 void update_decoarray(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
484 void sim_tissue_1min(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
485 void sim_tissue_10min(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
486 void calc_gradient_factor(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
487 void calc_gradient_array_only(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
488 void calc_desaturation_time(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
489 void calc_wo_deco_step_1_min(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
490 void calc_tissue_step_1_min(void);
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
491 //void debug(void);
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
492 void hash(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
493 void clear_CNS_fraction(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
494 void calc_CNS_fraction(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
495 void calc_CNS_decrease_15min(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
496 void calc_percentage(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
497 void main(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
498 void calc_hauptroutine_data_input(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
499 void calc_hauptroutine_update_tissues(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
500 void calc_hauptroutine_calc_deco(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
501 void calc_hauptroutine_calc_ascend_to_deco(void);
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
502 //void build_debug_output(void);
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
503 void calc_nextdecodepth_GF(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
504 void copy_deco_table_GF(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
505 void clear_internal_deco_table_GF(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
506 void update_internal_deco_table_GF(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
507 void DD2_write(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
508 void DD2_write_incon42(void);
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
509 void DD2_get_pointer_to_char(void);//dd2_char, &dd2_pointer);
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
510 void DD2_set_column(void);//top, dd2_k);void DD2_load_background(void);//&dd2_columnstore, &dd2_background, dd2_top, dd2_left, dd2_heightmax);
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
511 void DD2_load_background(void);
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
512 void DD2_build_one_line_of_char(void);//&dd2_columnstore, &dd2_pointer, dd2_fontheight, dd2_lowbyte);
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
513 void DD2_print_column(void);//&dd2_columnstore, dd2_heightmax);
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
514 void DD2_CmdWrite(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
515 void DD2_DataWrite(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
516 void push_tissues_to_vault(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
517 void pull_tissues_from_vault(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
518 void main_push_tissues_to_vault(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
519 void main_pull_tissues_from_vault(void);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
520
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
521 // *******************************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
522 // ** start **
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
523 // ** necessary for compilation **
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
524 // *******************************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
525 #pragma romdata der_code = 0x0000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
526 #pragma code der_start = 0x0000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
527 void der_start(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
528 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
529 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
530 goto main
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
531 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
532 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
533
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
534 // ***********************************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
535 // ** main code for simulation / **
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
536 // ** tests without assembler code **
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
537 // ** is NOT a part of the OSTC **
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
538 // ***********************************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
539 #pragma code main = 0x9000
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
540 void main(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
541 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
542 #if 1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
543 // new main to test DR-5
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
544
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
545 char_I_deco_model = 0;
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
546
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
547 GF_low = 1.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
548 GF_high = 1.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
549
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
550 GF_temp = GF_low * GF_high;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
551
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
552 clear_CNS_fraction();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
553 //char_I_const_ppO2 = 100;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
554 //for (main_i=0;main_i<255;main_i++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
555 //{
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
556 //calc_CNS_fraction();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
557 //} //for
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
558
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
559
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
560
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
561
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
562 int_I_pres_respiration = 1000;//980;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
563 int_I_pres_surface = 1000;//980;
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
564 char_I_N2_ratio = 79; //38;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
565 char_I_He_ratio = 0; //50;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
566 char_I_deco_distance = 10; // 10 = 1 meter
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
567 char_I_depth_last_deco = 3; // values below 3 (meter) are ignored
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
568
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
569 char_I_const_ppO2 = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
570 char_I_deco_ppO2_change = 0; // [dm] 10 = 1 meter
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
571 char_I_deco_ppO2 = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
572
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
573 char_I_deco_gas_change = 20; // [m] 1 = 1 meter
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
574 char_I_deco_N2_ratio = 50;
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
575 char_I_deco_He_ratio = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
576
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
577 char_I_deco_gas_change2 = 6; // [m] 1 = 1 meter
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
578 char_I_deco_N2_ratio2 = 0;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
579 char_I_deco_He_ratio2 = 0;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
580
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
581 char_I_deco_gas_change3 = 0; // [m] 1 = 1 meter
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
582 char_I_deco_gas_change4 = 0; // [m] 1 = 1 meter
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
583 char_I_deco_gas_change5 = 0; // [m] 1 = 1 meter
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
584
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
585 //char_I_actual_ppO2; // 0x507
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
586 char_I_GF_High_percentage = 100; // 0x514 new in v.102
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
587 char_I_GF_Low_percentage = 100; // 0x515 new in v.102
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
588
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
589 char_I_saturation_multiplier = 110;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
590 char_I_desaturation_multiplier = 90;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
591
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
592
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
593 main_clear_tissue();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
594
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
595 char_I_step_is_1min = 1;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
596 int_I_pres_respiration = 4500 + int_I_pres_surface;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
597
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
598 for (main_i=0;main_i<29;main_i++)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
599 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
600 main_calc_hauptroutine();
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
601 }
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
602
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
603 char_I_step_is_1min = 0;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
604 char_O_deco_status = 255;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
605 while (char_O_deco_status)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
606 main_calc_hauptroutine();
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
607 _asm
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
608 nop
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
609 _endasm
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
610
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
611 char_O_deco_status = 255;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
612 while (char_O_deco_status)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
613 main_calc_hauptroutine();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
614 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
615 nop
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
616 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
617
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
618 int_I_pres_respiration = 10000;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
619 for (main_i=0;main_i<1500;main_i++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
620 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
621 main_calc_hauptroutine();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
622 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
623
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
624 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
625 nop
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
626 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
627
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
628
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
629 int_I_pres_respiration = 3000;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
630 for (main_i=0;main_i<150;main_i++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
631 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
632 calc_hauptroutine_data_input();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
633 calc_hauptroutine_update_tissues();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
634 } //for
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
635
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
636 update_startvalues();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
637 clear_decoarray();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
638 clear_internal_deco_table_GF();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
639 calc_hauptroutine_calc_ascend_to_deco();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
640 if (char_O_deco_status > 15) // can't go up to first deco, too deep to calculate in the given time slot
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
641 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
642 char_O_deco_status = 2;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
643 // char_O_lock_depth_list = 255;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
644 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
645 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
646 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
647 // char_O_lock_depth_list = lock_GF_depth_list;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
648 calc_hauptroutine_calc_deco();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
649 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
650 // build_debug_output();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
651
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
652 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
653 nop
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
654 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
655 while (char_O_deco_status == 1)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
656 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
657 char_O_deco_status = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
658 // char_O_lock_depth_list = 255;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
659 calc_hauptroutine_calc_deco();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
660 // build_debug_output();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
661 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
662 nop
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
663 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
664 };
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
665 debug_temp = 60; // [mtr Aufstieg in 10 mtr/min (30steps'2sec/min]
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
666 int_I_pres_respiration = 9980;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
667 for (main_i=0;main_i<debug_temp;main_i++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
668 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
669 int_I_pres_respiration = int_I_pres_respiration - 33;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
670 calc_hauptroutine_data_input();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
671 calc_hauptroutine_update_tissues();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
672 int_I_pres_respiration = int_I_pres_respiration - 33;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
673 calc_hauptroutine_data_input();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
674 calc_hauptroutine_update_tissues();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
675 int_I_pres_respiration = int_I_pres_respiration - 34;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
676 calc_hauptroutine_data_input();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
677 calc_hauptroutine_update_tissues();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
678 } //for
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
679 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
680 nop
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
681 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
682
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
683 update_startvalues();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
684 clear_decoarray();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
685 clear_internal_deco_table_GF();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
686 calc_hauptroutine_calc_ascend_to_deco();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
687 if (char_O_deco_status > 15) // can't go up to first deco, too deep to calculate in the given time slot
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
688 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
689 char_O_deco_status = 2;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
690 // char_O_lock_depth_list = 255;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
691 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
692 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
693 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
694 // char_O_lock_depth_list = lock_GF_depth_list;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
695 calc_hauptroutine_calc_deco();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
696 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
697 // build_debug_output();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
698
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
699 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
700 nop
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
701 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
702 while (char_O_deco_status == 1)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
703 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
704 char_O_deco_status = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
705 // char_O_lock_depth_list = 255;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
706 calc_hauptroutine_calc_deco();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
707 // build_debug_output();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
708 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
709 nop
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
710 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
711 };
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
712 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
713 nop
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
714 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
715 debug_temp = 60; // [mtr Aufstieg in 10 mtr/min (30steps'2sec/min]
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
716 int_I_pres_respiration = 9980;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
717 debug_temp = debug_temp * 3;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
718 for (main_i=0;main_i<debug_temp;main_i++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
719 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
720 calc_hauptroutine_data_input();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
721 calc_hauptroutine_update_tissues();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
722 } //for
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
723 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
724 nop
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
725 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
726 #endif
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
727 // -----------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
728
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
729 } // main
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
730
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
731 // ******************************************************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
732 // ******************************************************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
733 // ** THE FOLLOWING CODE HAS TO BE COPPIED TO THE OSTC **
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
734 // ******************************************************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
735 // ******************************************************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
736
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
737 // ***********************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
738 // ***********************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
739 // ** THE SUBROUTINES 2 **
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
740 // ***********************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
741 // ***********************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
742 // all new in v.102
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
743 // moved from 0x0D000 to 0x0C000 in v.108
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
744
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
745 #pragma code subroutines2 = 0x0C000 // can be adapted to fit the romdata tables ahead
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
746
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
747 // -------------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
748 // DBS - debug on start of dive //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
749 // -------------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
750 void create_dbs_set_dbg_and_ndl20mtr(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
751 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
752 int_O_DBS_bitfield = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
753 int_O_DBS2_bitfield = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
754 if(int_O_DBG_pre_bitfield & DBG_RUN)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
755 int_O_DBG_pre_bitfield = DBG_RESTART;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
756 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
757 int_O_DBG_pre_bitfield = DBG_RUN;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
758 int_O_DBG_post_bitfield = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
759 char_O_NDL_at_20mtr = 255;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
760
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
761 DBG_N2_ratio = N2_ratio;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
762 DBG_He_ratio = He_ratio;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
763 DBG_char_I_deco_model = char_I_deco_model;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
764 DBG_char_I_depth_last_deco = char_I_depth_last_deco;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
765 DBG_pres_surface = pres_surface;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
766 DBG_GF_low = GF_low;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
767 DBG_GF_high = GF_high;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
768 DBG_const_ppO2 = const_ppO2;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
769 DBG_deco_ppO2_change = deco_ppO2_change;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
770 DBG_deco_ppO2 = deco_ppO2;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
771 DBG_deco_N2_ratio = deco_N2_ratio;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
772 DBG_deco_He_ratio = deco_He_ratio;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
773 DBG_deco_gas_change = deco_gas_change;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
774 DBG_float_saturation_multiplier = float_saturation_multiplier;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
775 DBG_float_desaturation_multiplier = float_desaturation_multiplier;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
776 DBG_float_deco_distance = float_deco_distance;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
777
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
778 if(char_I_deco_model)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
779 int_O_DBS_bitfield |= DBS_mode;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
780 if(const_ppO2)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
781 int_O_DBS_bitfield |= DBS_ppO2;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
782 for(int_dbg_i = 16; int_dbg_i < 32; int_dbg_i++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
783 if(pres_tissue[int_dbg_i])
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
784 int_O_DBS_bitfield |= DBS_HE_sat;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
785 if(deco_ppO2_change)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
786 int_O_DBS_bitfield |= DBS_ppO2chg;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
787 if(float_saturation_multiplier < 0.99)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
788 int_O_DBS_bitfield |= DBS_SAT2l;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
789 if(float_saturation_multiplier > 1.3)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
790 int_O_DBS_bitfield |= DBS_SAT2h;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
791 if(GF_low < 0.19)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
792 int_O_DBS_bitfield |= DBS_GFLOW2l;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
793 if(GF_low > 1.01)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
794 int_O_DBS_bitfield |= DBS_GFLOW2h;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
795 if(GF_high < 0.6)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
796 int_O_DBS_bitfield |= DBS_GFHGH2l;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
797 if(GF_high > 1.01)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
798 int_O_DBS_bitfield |= DBS_GFHGH2h;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
799 if((N2_ratio + He_ratio) > 0.95)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
800 int_O_DBS_bitfield |= DBS_GASO22l;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
801 if((N2_ratio + He_ratio) < 0.05)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
802 int_O_DBS_bitfield |= DBS_GASO22h;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
803 if(float_deco_distance > 0.25)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
804 int_O_DBS_bitfield |= DBS_DIST2h;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
805 if(char_I_depth_last_deco > 8)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
806 int_O_DBS_bitfield |= DBS_LAST2h;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
807 if(DBG_deco_gas_change && ((deco_N2_ratio + deco_He_ratio) > 0.95))
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
808 int_O_DBS_bitfield |= DBS_DECOO2l;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
809 if(DBG_deco_gas_change && ((deco_N2_ratio + deco_He_ratio) < 0.05))
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
810 int_O_DBS_bitfield |= DBS_DECOO2h;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
811 if(pres_respiration > 3.0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
812 int_O_DBS2_bitfield |= DBS2_PRES2h;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
813 if(pres_surface - pres_respiration > 0.2)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
814 int_O_DBS2_bitfield |= DBS2_PRES2l;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
815 if(pres_surface < 0.75)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
816 int_O_DBS2_bitfield |= DBS2_SURF2l;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
817 if(pres_surface > 1.11)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
818 int_O_DBS2_bitfield |= DBS2_SURF2h;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
819 if(float_desaturation_multiplier < 0.70)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
820 int_O_DBS2_bitfield |= DBS2_DESAT2l;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
821 if(float_desaturation_multiplier > 1.01)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
822 int_O_DBS2_bitfield |= DBS2_DESAT2h;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
823 if(GF_low > GF_high)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
824 int_O_DBS2_bitfield |= DBS2_GFDneg;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
825 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
826
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
827 // -------------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
828 // DBG - set DBG to end_of_dive //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
829 // -------------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
830 void set_dbg_end_of_dive(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
831 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
832 int_O_DBG_pre_bitfield &= (~DBG_RUN);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
833 int_O_DBG_post_bitfield &= (~DBG_RUN);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
834 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
835
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
836 // -------------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
837 // DBG - NDL at first 20 m. hit //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
838 // -------------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
839 void check_ndl(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
840 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
841 if((char_O_NDL_at_20mtr == -1) && (int_I_pres_respiration > 3000))
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
842 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
843 char_O_NDL_at_20mtr = char_O_nullzeit;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
844 if(char_O_NDL_at_20mtr == 255)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
845 char_O_NDL_at_20mtr == 254;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
846 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
847 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
848
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
849 // -------------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
850 // DBG - multi main during dive //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
851 // -------------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
852 void check_dbg(char is_post_check)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
853 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
854 temp_DBS = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
855 if( (DBG_N2_ratio != N2_ratio) || (DBG_He_ratio != He_ratio) )
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
856 temp_DBS |= DBG_c_gas;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
857 if(DBG_const_ppO2 != const_ppO2)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
858 temp_DBS |= DBG_c_ppO2;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
859 if((DBG_float_saturation_multiplier != float_saturation_multiplier) || (DBG_float_desaturation_multiplier != float_desaturation_multiplier))
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
860 temp_DBS |= DBG_CdeSAT;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
861 if(DBG_char_I_deco_model != char_I_deco_model)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
862 temp_DBS |= DBG_C_MODE;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
863 if(DBG_pres_surface != pres_surface)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
864 temp_DBS |= DBG_C_SURF;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
865 if((!DBS_HE_sat) && (!He_ratio))
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
866 for(int_dbg_i = 16; int_dbg_i < 32; int_dbg_i++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
867 if(pres_tissue[int_dbg_i])
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
868 temp_DBS |= DBG_HEwoHE;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
869 if(DBG_deco_ppO2 != deco_ppO2)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
870 temp_DBS |= DBG_C_DPPO2;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
871 if((DBG_deco_gas_change != deco_gas_change) || (DBG_deco_N2_ratio != deco_N2_ratio) || (DBG_deco_He_ratio != deco_He_ratio))
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
872 temp_DBS |= DBG_C_DGAS;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
873 if(DBG_float_deco_distance != float_deco_distance)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
874 temp_DBS |= DBG_C_DIST;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
875 if(DBG_char_I_depth_last_deco != char_I_depth_last_deco)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
876 temp_DBS |= DBG_C_LAST;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
877 if((DBG_GF_low != GF_low) || (DBG_GF_high != GF_high))
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
878 temp_DBS |= DBG_C_GF;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
879 if(pres_respiration > 13.0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
880 temp_DBS |= DBG_PHIGH;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
881 if(pres_surface - pres_respiration > 0.2)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
882 temp_DBS |= DBG_PLOW;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
883 /*
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
884 if()
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
885 temp_DBS |= ;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
886 if()
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
887 temp_DBS |= ;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
888 */
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
889 if(is_post_check)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
890 int_O_DBG_post_bitfield |= temp_DBS;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
891 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
892 int_O_DBG_pre_bitfield |= temp_DBS;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
893 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
894
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
895 // -------------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
896 // DBG - prior to calc. of dive //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
897 // -------------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
898 void check_pre_dbg(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
899 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
900 check_dbg(0);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
901 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
902
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
903 // -------------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
904 // DBG - after decocalc of dive //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
905 // -------------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
906 void check_post_dbg(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
907 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
908 check_dbg(1);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
909 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
910
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
911
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
912
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
913 // -------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
914 // calc_next_decodepth_GF //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
915 // -------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
916 // new in v.102
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
917 void calc_nextdecodepth_GF(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
918 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
919 // INPUT, changing during dive:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
920 // temp_pres_gtissue_limit_GF_low
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
921 // temp_pres_gtissue_limit_GF_low_below_surface
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
922 // temp_pres_gtissue
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
923 // temp_pres_gtissue_diff
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
924 // lock_GF_depth_list
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
925
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
926 // INPUT, fixed during dive:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
927 // pres_surface
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
928 // GF_delta
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
929 // GF_high
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
930 // GF_low
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
931 // temp_depth_last_deco
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
932 // float_deco_distance
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
933
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
934 // OUTPUT
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
935 // GF_step
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
936 // temp_deco
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
937 // temp_depth_limt
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
938 // lock_GF_depth_list
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
939
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
940 // USES
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
941 // temp1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
942 // temp2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
943 // int_temp
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
944
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
945 char_I_table_deco_done[0] = 0; // safety if changed somewhere else. Needed for exit
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
946 if (char_I_deco_model == 1)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
947 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
948 if (lock_GF_depth_list == 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
949 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
950 temp2 = temp_pres_gtissue_limit_GF_low_below_surface / 0.29985; // = ... / 99.95 / 0.003;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
951 int_temp = (int) (temp2 + 0.99);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
952 if (int_temp > 31)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
953 int_temp = 31; // deepest deco at 93 meter (31 deco stops)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
954 if (int_temp < 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
955 int_temp = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
956 temp_depth_GF_low_number = int_temp;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
957 temp_depth_GF_low_meter = 3 * temp_depth_GF_low_number;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
958 temp2 = (float)temp_depth_GF_low_meter * 0.09995;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
959 temp_pres_deco_GF_low = temp2 + float_deco_distance + pres_surface;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
960 if (temp_depth_GF_low_number == 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
961 GF_step = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
962 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
963 GF_step = GF_delta / (float)temp_depth_GF_low_number;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
964 if (GF_step < 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
965 GF_step = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
966 if (GF_step > GF_delta)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
967 GF_step = GF_delta;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
968 int_O_GF_step = (int)(GF_step * 10000);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
969 int_O_limit_GF_low = (int)(temp_pres_deco_GF_low * 1000);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
970 int_O_gtissue_press_at_GF_low = (int)(temp_pres_gtissue * 1000);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
971 char_O_GF_low_pointer = temp_depth_GF_low_number;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
972 lock_GF_depth_list = 1;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
973 internal_deco_pointer = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
974 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
975 if (internal_deco_pointer == 0) // new run
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
976 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
977 internal_deco_pointer = temp_depth_GF_low_number;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
978 GF_temp = GF_high - ((float)internal_deco_pointer * GF_step);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
979 int_temp = char_I_table_deco_done[internal_deco_pointer];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
980 output[8] = int_temp;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
981 output[9] = 33;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
982 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
983 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
984 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
985 int_temp = 1;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
986 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
987 while (int_temp == 1)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
988 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
989 int_temp = internal_deco_pointer - 1;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
990 if (int_temp == 1) // new in v104
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
991 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
992 temp2 = (float)(temp_depth_last_deco * int_temp) * 0.09995;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
993 GF_step2 = GF_step/3.0 * ((float)(6 - temp_depth_last_deco));
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
994 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
995 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
996 if (int_temp == 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
997 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
998 temp2 = 0.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
999 GF_step2 = GF_high - GF_temp;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1000 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1001 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1002 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1003 temp2 = (float)(3 *int_temp) * 0.09995;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1004 GF_step2 = GF_step;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1005 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1006 temp2 = temp2 + pres_surface; // next deco stop to be tested
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1007 temp1 = ((GF_temp + GF_step2)* temp_pres_gtissue_diff) + temp_pres_gtissue; // upper limit (lowest pressure allowed) // changes GF_step2 in v104
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1008 if (temp1 > temp2) // check if ascent to next deco stop is ok
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1009 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1010 int_temp = 0; // no
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1011 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1012 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1013 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1014 internal_deco_pointer = int_temp;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1015 GF_temp = GF_temp + GF_step2; // changed in v104
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1016 int_temp = char_I_table_deco_done[internal_deco_pointer]; // yes and check for ascent to even next stop if deco_done is set
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1017 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1018 } // while
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1019 if (internal_deco_pointer > 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1020 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1021 temp2 = (float)(0.29985 * internal_deco_pointer);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1022 temp_deco = temp2 + float_deco_distance + pres_surface;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1023 if (internal_deco_pointer == 1) // new in v104
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1024 temp_depth_limit = temp_depth_last_deco;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1025 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1026 temp_depth_limit = 3 * internal_deco_pointer;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1027 if (output[9] == 33)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1028 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1029 output[9] = internal_deco_pointer;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1030 output[10] = char_I_table_deco_done[internal_deco_pointer];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1031 output[12] = output[12] + 1;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1032 if (output[12] == 100)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1033 output[12] = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1034 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1035 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1036 else // if (char_I_deco_model == 1)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1037 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1038 temp_deco = pres_surface;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1039 temp_depth_limit = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1040 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1041 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1042 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1043 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1044 // calc_nextdecodepth - original
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1045 // optimized in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1046 // depth_last_deco included in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1047
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1048 temp1 = temp_pres_gtissue_limit - pres_surface;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1049 if (temp1 >= 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1050 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1051 temp1 = temp1 / 0.29985; // = temp1 / 99.95 / 0.003;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1052 temp_depth_limit = (int) (temp1 + 0.99);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1053 temp_depth_limit = 3 * temp_depth_limit; // depth for deco [m]
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1054 if (temp_depth_limit == 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1055 temp_deco = pres_surface;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1056 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1057 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1058 if (temp_depth_limit < temp_depth_last_deco)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1059 temp_depth_limit = temp_depth_last_deco;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1060 temp1 = (float)temp_depth_limit * 0.09995;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1061 temp_deco = temp1 + float_deco_distance + pres_surface; // depth for deco [bar]
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1062 } // if (temp_depth_limit == 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1063 } // if (temp1 >= 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1064 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1065 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1066 temp_deco = pres_surface;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1067 temp_depth_limit = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1068 } // if (temp1 >= 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1069 } // calc_nextdecodepth original
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1070 } // calc_nextdecodepth_GF
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1071
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1072
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1073 #if 0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1074 void build_debug_output(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1075 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1076 output[0] = 0; // not used in asm PLED output
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1077 output[1] = (int) (GF_low * 100);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1078 output[2] = (int) (GF_high * 100);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1079 output[3] = (int) (GF_step * 100);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1080 output[4] = (int) temp_depth_GF_low_number;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1081 output[5] = (int) temp_depth_GF_low_meter;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1082 //output[6]
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1083 output[7] = (int) internal_deco_pointer;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1084 //output[8] = char_I_table_deco_done[temp_depth_GF_low_number]
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1085 //output[9] = internal_deco_pointer @ new run
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1086 //output[10] = char_I_table_deco_done[internal_deco_pointer] @ new run
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1087 output [11] = (int) (temp_pres_deco_GF_low * 10);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1088 } // build_debug_output
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1089 #endif
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1090
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1091 // ---------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1092 // copy_deco_table_GF //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1093 // ---------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1094 // new in v.102
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1095 void copy_deco_table_GF(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1096 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1097 if (char_I_deco_model == 1)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1098 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1099 int_temp = 32;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1100 for (ci=0;ci<int_temp;ci++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1101 char_O_deco_table[ci] = internal_deco_table[ci];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1102 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1103 } // copy_deco_table_GF
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1104
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1105
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1106 // ------------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1107 // clear_internal_deco_table_GF//
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1108 // ------------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1109 // new in v.102
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1110 void clear_internal_deco_table_GF(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1111 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1112 if (char_I_deco_model == 1)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1113 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1114 for (ci=0;ci<32;ci++) // cycle through the 16 b"uhlmann tissues for Helium
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1115 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1116 internal_deco_table[ci] = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1117 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1118 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1119 } // clear_internal_deco_table_GF
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1120
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1121
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1122 // --------------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1123 // update_internal_deco_table_GF //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1124 // --------------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1125 // new in v.102
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1126 void update_internal_deco_table_GF(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1127 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1128 if ((char_I_deco_model == 1) && (internal_deco_table[internal_deco_pointer] < 255))
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1129 internal_deco_table[internal_deco_pointer] = internal_deco_table[internal_deco_pointer] + 1;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1130 } // update_internal_deco_table_GF
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1131
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1132
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1133 // ---------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1134 // temp_tissue_safety //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1135 // ---------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1136 // outsourced in v.102
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1137 void temp_tissue_safety(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1138 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1139 if (char_I_deco_model == 1)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1140 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1141 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1142 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1143 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1144 if (temp_tissue < 0.0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1145 temp_tissue = temp_tissue * float_desaturation_multiplier;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1146 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1147 temp_tissue = temp_tissue * float_saturation_multiplier;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1148 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1149 } // temp_tissue_safety
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1150
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1151 // ---------------------
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1152 // dd2_write_incon42 //
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1153 // ---------------------
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1154 void DD2_write_incon42(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1155 {
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1156 //dd2_fontwidth = 21;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1157 //dd2_fontheight = 30;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1158 dd2_fontwidth = 19;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1159 dd2_fontheight = 28;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1160 dd2_base = 0x0F500;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1161 dd2_start = '0';
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1162 dd2_end = '9';
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1163 DD2_write();
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1164 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1165
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1166 // ---------------------
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1167 // dd2_write_incon24 //
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1168 // ---------------------
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1169 void DD2_write_incon24(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1170 {
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1171 dd2_fontwidth = 12;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1172 dd2_fontheight = 16;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1173 dd2_base = 0x0E100;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1174 dd2_start = '.';
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1175 dd2_end = '9' + 5;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1176 DD2_write();
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1177 }
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1178
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1179
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1180 void DD2_write(void)
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1181 {
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1182 dd2_i = 0;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1183 _asm
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1184 movff dd2_i, POSTINC2 // write 0x00 at the end of dd2_strinstore[]
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1185 bsf oled_rs
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1186 _endasm
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1187 dd2_stringstore[16] = 0; // safety if more than 16 letters (max at font incon16) are written, the other space is used by font remap
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1188 if (dd2_top == 0) dd2_top = 1;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1189 if (dd2_left == 0) dd2_left = 1;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1190 if (dd2_heightmax > dd2_fontheight) dd2_heightmax = dd2_fontheight;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1191 if ((dd2_top + dd2_heightmax) > 65) dd2_heightmax = 65 - dd2_top;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1192
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1193 dd2_k = dd2_left;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1194 dd2_j = 0;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1195 dd2_char = dd2_stringstore[dd2_j++];
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1196 DD2_get_pointer_to_char();//dd2_char, &dd2_pointer);
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1197 dd2_i = 0;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1198 dd2_lowbyte = 1;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1199
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1200 while (dd2_char != 0)
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1201 {
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1202 if (dd2_lowbyte == 1) DD2_load_background();//&dd2_columnstore, &dd2_background, dd2_top, dd2_left, dd2_heightmax);
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1203 DD2_build_one_line_of_char(); //&dd2_columnstore, &dd2_pointer, dd2_fontheight, dd2_lowbyte); // dd2_heightmax
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1204 dd2_lowbyte = dd2_lowbyte ^ 1;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1205 if (dd2_lowbyte == 1)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1206 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1207 DD2_set_column();//top, dd2_k); //
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1208 if(dd2_k < 64) dd2_k++;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1209 DD2_print_column();//&dd2_columnstore, dd2_heightmax); // dd2_column_store, dd2_heightmax
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1210 }
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1211 dd2_i++;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1212 if ((dd2_i >= dd2_fontwidth) | (((dd2_char == '.') |(dd2_char == ':') | (dd2_char == '<')) & (dd2_i >= 4)))
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1213 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1214 dd2_char = dd2_stringstore[dd2_j++];
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1215 DD2_get_pointer_to_char();//dd2_char, &dd2_pointer);
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1216 dd2_i = 0;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1217 }
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1218 }
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1219 } // void dd2_write(void)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1220
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1221 void DD2_get_pointer_to_char(void)//dd2_char, &dd2_pointer);
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1222 {
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1223 if((dd2_char < dd2_start) | (dd2_char > dd2_end))
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1224 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1225 dd2_pointer = 0;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1226 dd2_temp = 0;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1227 }
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1228 else
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1229 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1230 dd2_pointer = dd2_char - dd2_start;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1231 dd2_pointer = dd2_pointer * ((dd2_fontheight+1)/2);
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1232 dd2_pointer = dd2_pointer * dd2_fontwidth;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1233 dd2_pointer += dd2_base;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1234 if((dd2_char == '.') | (dd2_char == ':') | (dd2_char == '<'))
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1235 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1236 dd2_pointer += 2 * dd2_fontheight;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1237 }
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1238
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1239 }
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1240 } // void DD2_get_pointer_to_char(void)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1241
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1242 void DD2_set_column(void)//top, dd2_k);
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1243 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1244 dd2_data = 0x75;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1245 DD2_CmdWrite();
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1246 dd2_data = dd2_top - 1;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1247 DD2_CmdWrite();
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1248 dd2_data = 0x3f;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1249 DD2_CmdWrite();
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1250
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1251 dd2_data = 0x15;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1252 DD2_CmdWrite();
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1253 dd2_data = dd2_k - 1;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1254 DD2_CmdWrite();
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1255 dd2_data = dd2_k - 1;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1256 DD2_CmdWrite();
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1257 } // DD2_set_column()
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1258
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1259 void DD2_load_background(void)//&dd2_columnstore, &dd2_background, dd2_top, dd2_left, dd2_heightmax);
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1260 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1261 for(dd2_temp = 0; dd2_temp < dd2_heightmax; dd2_temp++)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1262 md_pi_subst[dd2_temp] = 0x00;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1263 } // void DD2_load_background()
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1264
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1265 void DD2_build_one_line_of_char(void)//&dd2_columnstore, &dd2_pointer, dd2_fontheight, dd2_lowbyte);
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1266 {
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1267 if (dd2_pointer != 0)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1268 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1269 dd2_temp = (char)(dd2_pointer & 255);
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1270 _asm
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1271 movff dd2_temp,TBLPTRL
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1272 _endasm
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1273 dd2_temp = (char)((dd2_pointer >> 8) & 255);
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1274 _asm
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1275 movff dd2_temp,TBLPTRH
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1276 _endasm
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1277 dd2_temp = (char)((dd2_pointer >> 16)& 255);
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1278 _asm
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1279 movff dd2_temp,TBLPTRU
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1280 _endasm
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1281
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1282 for(dd2_temp = 0; dd2_temp < dd2_heightmax; dd2_temp += 2)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1283 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1284 _asm
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1285 TBLRDPOSTINC
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1286 movff TABLAT,dd2_data
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1287 _endasm
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1288 if (dd2_oled_brightness_offset != 0)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1289 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1290 if ((dd2_oled_brightness_offset << 4) < (dd2_data & 0xF0))
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1291 dd2_data = dd2_data - (dd2_oled_brightness_offset << 4);
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1292 if ((dd2_oled_brightness_offset) < (dd2_data & 0x0F))
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1293 dd2_data = dd2_data - dd2_oled_brightness_offset;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1294 }
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1295 if (dd2_lowbyte == 1)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1296 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1297 md_pi_subst[dd2_temp] = dd2_data & 0xF0;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1298 md_pi_subst[dd2_temp+1] = (dd2_data << 4) & 0xF0;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1299 }
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1300 else
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1301 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1302 md_pi_subst[dd2_temp] = (md_pi_subst[dd2_temp] & 0xF0) | ((dd2_data >> 4) & 0x0F);
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1303 md_pi_subst[dd2_temp+1] = (md_pi_subst[dd2_temp+1] & 0xF0) | (dd2_data & 0x0F);
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1304 }
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1305 }//for
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1306 dd2_pointer += (dd2_fontheight+1)/2;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1307 }//if
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1308 } //
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1309
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1310 void DD2_print_column(void)//&dd2_columnstore, dd2_heightmax);
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1311 {
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1312 _asm
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1313 bsf oled_rs
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1314 _endasm
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1315 for(dd2_temp = 0; dd2_temp < dd2_heightmax; dd2_temp++)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1316 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1317 dd2_data = md_pi_subst[dd2_temp];
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1318 DD2_DataWrite();
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1319 }
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1320 } // void DD2_print_column(void)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1321
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1322 //; -----------------------------
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1323 //; DD Write Cmd via W
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1324 //; two jump_ins:
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1325 //; DD_CmdWrite and DD_CmdWrite2
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1326 //; -----------------------------
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1327 void DD2_CmdWrite(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1328 {
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1329 _asm
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1330 bcf oled_rs
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1331 _endasm
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1332 DD2_DataWrite();
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1333 }
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1334
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1335 void DD2_DataWrite(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1336 {
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1337 _asm
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1338 movlb 1
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1339 // bsf no_sensor_int // flag5, no_sensor_int
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1340 bcf oled_en
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1341 movlb 0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1342 bcf oled_clk //; CLK=0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1343 btfsc dd2_data,7,1 //; Bit
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1344 bsf oled_data
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1345 bcf oled_clk //; CLK=0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1346 btfss dd2_data,7,1
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1347 bcf oled_data
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1348 bsf oled_clk //; CLK=1
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1349 btfsc dd2_data,6,1 //; Bit
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1350 bsf oled_data
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1351 bcf oled_clk //; CLK=0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1352 btfss dd2_data,6,1
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1353 bcf oled_data
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1354 bsf oled_clk //; CLK=1
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1355 btfsc dd2_data,5,1 //; Bit
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1356 bsf oled_data
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1357 bcf oled_clk //; CLK=0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1358 btfss dd2_data,5,1
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1359 bcf oled_data //;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1360 bsf oled_clk //; CLK=1
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1361 btfsc dd2_data,4,1 //; Bit
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1362 bsf oled_data
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1363 bcf oled_clk //; CLK=0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1364 btfss dd2_data,4,1
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1365 bcf oled_data
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1366 bsf oled_clk //; CLK=1
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1367 btfsc dd2_data,3,1 //; Bit
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1368 bsf oled_data
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1369 bcf oled_clk //; CLK=0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1370 btfss dd2_data,3,1
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1371 bcf oled_data
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1372 bsf oled_clk //; CLK=1
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1373 btfsc dd2_data,2,1 //; Bit
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1374 bsf oled_data
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1375 bcf oled_clk //; CLK=0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1376 btfss dd2_data,2,1
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1377 bcf oled_data
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1378 bsf oled_clk //; CLK=1
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1379 btfsc dd2_data,1,1 //; Bit
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1380 bsf oled_data
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1381 bcf oled_clk //; CLK=0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1382 btfss dd2_data,1,1
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1383 bcf oled_data
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1384 bsf oled_clk //; CLK=1
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1385 btfsc dd2_data,0,1 //; Bit
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1386 bsf oled_data
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1387 bcf oled_clk //; CLK=0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1388 btfss dd2_data,0,1
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1389 bcf oled_data
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1390 bsf oled_clk //; CLK=1
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1391 bsf oled_en //; CS#=1
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1392 movlb 1
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1393 // bcf no_sensor_int // flag5, no_sensor_int
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1394 movlb 0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1395 _endasm
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1396 dd2_data = 0; // to be sure that C knows we are in Bank0
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1397 }
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1398 #pragma romdata font_incon_24h15 = 0x0E100
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1399 rom const rom unsigned char incon24h15[] =
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1400 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1401 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1402 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1403 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1404 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1405 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x80
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1406 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1407 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xe0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1408 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1409 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1410 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1411 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1412 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1413 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1414 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1415 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1416 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x4b, 0xff, 0xa0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1417 ,0x00, 0x00, 0x00, 0x00, 0x5c, 0xff, 0x91, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1418 ,0x00, 0x00, 0x00, 0x6d, 0xfe, 0x71, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1419 ,0x00, 0x01, 0x7e, 0xfd, 0x60, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1420 ,0x01, 0x8f, 0xfd, 0x50, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1421 ,0x9f, 0xfb, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1422 ,0xfa, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1423 ,0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1424 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1425 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1426 ,0x00, 0x01, 0x69, 0xbc, 0xca, 0x72, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1427 ,0x00, 0x9f, 0xfe, 0xdc, 0xdf, 0xff, 0xb2, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1428 ,0x1d, 0xf8, 0x20, 0x00, 0x05, 0xfd, 0xff, 0x30
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1429 ,0xaf, 0x30, 0x00, 0x00, 0x9f, 0x90, 0x2e, 0xd0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1430 ,0xf8, 0x00, 0x00, 0x2c, 0xf5, 0x00, 0x06, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1431 ,0xf8, 0x00, 0x04, 0xed, 0x30, 0x00, 0x05, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1432 ,0xaf, 0x30, 0x8f, 0xb1, 0x00, 0x00, 0x0c, 0xe0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1433 ,0x1d, 0xfd, 0xf8, 0x00, 0x00, 0x16, 0xdf, 0x40
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1434 ,0x00, 0x9f, 0xff, 0xdc, 0xde, 0xff, 0xc3, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1435 ,0x00, 0x01, 0x69, 0xbc, 0xca, 0x73, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1436 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1437 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1438 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1439 ,0x02, 0x90, 0x00, 0x00, 0x00, 0x00, 0x01, 0x30
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1440 ,0x0a, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x04, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1441 ,0x2f, 0x60, 0x00, 0x00, 0x00, 0x00, 0x04, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1442 ,0xaf, 0x97, 0x77, 0x77, 0x77, 0x77, 0x79, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1443 ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1444 ,0x12, 0x22, 0x22, 0x22, 0x22, 0x22, 0x26, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1445 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1446 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xd0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1447 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1448 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1449 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1450 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1451 ,0x07, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1452 ,0x4f, 0x80, 0x00, 0x00, 0x00, 0x1c, 0xfe, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1453 ,0xcc, 0x00, 0x00, 0x00, 0x02, 0xef, 0x57, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1454 ,0xf7, 0x00, 0x00, 0x00, 0x2e, 0xe2, 0x07, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1455 ,0xf8, 0x00, 0x00, 0x01, 0xde, 0x20, 0x07, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1456 ,0xce, 0x10, 0x00, 0x2d, 0xe2, 0x00, 0x07, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1457 ,0x4f, 0xd6, 0x58, 0xfe, 0x30, 0x00, 0x07, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1458 ,0x06, 0xff, 0xff, 0xb1, 0x00, 0x00, 0x07, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1459 ,0x00, 0x14, 0x52, 0x00, 0x00, 0x00, 0x05, 0x80
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1460 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1461 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1462 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1463 ,0x09, 0x20, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x50
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1464 ,0x6f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2e, 0xd0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1465 ,0xdb, 0x00, 0x00, 0x59, 0x00, 0x00, 0x07, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1466 ,0xf8, 0x00, 0x00, 0x8e, 0x00, 0x00, 0x04, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1467 ,0xea, 0x00, 0x00, 0xcf, 0x10, 0x00, 0x06, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1468 ,0x9f, 0x30, 0x07, 0xff, 0x90, 0x00, 0x1e, 0xe0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1469 ,0x1e, 0xfc, 0xdf, 0x87, 0xfb, 0x79, 0xef, 0x50
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1470 ,0x01, 0x9d, 0xc6, 0x00, 0x7e, 0xff, 0xd5, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1471 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1472 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1473 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1474 ,0x00, 0x00, 0x00, 0x00, 0x2b, 0xb0, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1475 ,0x00, 0x00, 0x00, 0x06, 0xff, 0xe0, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1476 ,0x00, 0x00, 0x02, 0xcf, 0x69, 0xe0, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1477 ,0x00, 0x00, 0x7f, 0xb1, 0x09, 0xe0, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1478 ,0x00, 0x2c, 0xe6, 0x00, 0x09, 0xe0, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1479 ,0x07, 0xfb, 0x10, 0x00, 0x09, 0xe0, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1480 ,0xcf, 0xfc, 0xcc, 0xcc, 0xce, 0xfd, 0xdd, 0xd0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1481 ,0xde, 0xee, 0xee, 0xee, 0xef, 0xfe, 0xee, 0xe0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1482 ,0x00, 0x00, 0x00, 0x00, 0x09, 0xe0, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1483 ,0x00, 0x00, 0x00, 0x00, 0x08, 0xc0, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1484 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1485 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1486 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1487 ,0x78, 0xab, 0xcd, 0xed, 0x00, 0x00, 0xce, 0x20
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1488 ,0xff, 0xed, 0xcc, 0xfa, 0x00, 0x00, 0x5f, 0xb0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1489 ,0xf9, 0x00, 0x06, 0xf0, 0x00, 0x00, 0x08, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1490 ,0xf9, 0x00, 0x0a, 0xb0, 0x00, 0x00, 0x04, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1491 ,0xf9, 0x00, 0x0a, 0xc0, 0x00, 0x00, 0x04, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1492 ,0xf9, 0x00, 0x08, 0xf3, 0x00, 0x00, 0x0b, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1493 ,0xf9, 0x00, 0x01, 0xfe, 0x62, 0x13, 0xbf, 0x90
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1494 ,0xf9, 0x00, 0x00, 0x4e, 0xff, 0xff, 0xfb, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1495 ,0x11, 0x00, 0x00, 0x01, 0x6a, 0xa9, 0x40, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1496 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1497 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1498 ,0x00, 0x00, 0x03, 0x56, 0x65, 0x30, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1499 ,0x00, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xa2, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1500 ,0x08, 0xfe, 0x96, 0x8f, 0x95, 0x6a, 0xff, 0x30
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1501 ,0x6f, 0x90, 0x01, 0xf8, 0x00, 0x00, 0x3e, 0xd0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1502 ,0xec, 0x00, 0x08, 0xf0, 0x00, 0x00, 0x06, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1503 ,0xf6, 0x00, 0x0a, 0xe0, 0x00, 0x00, 0x04, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1504 ,0xf7, 0x00, 0x07, 0xf3, 0x00, 0x00, 0x09, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1505 ,0xcd, 0x10, 0x01, 0xef, 0x72, 0x13, 0xaf, 0x90
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1506 ,0x4d, 0x20, 0x00, 0x2d, 0xff, 0xff, 0xf9, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1507 ,0x00, 0x00, 0x00, 0x00, 0x47, 0x86, 0x10, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1508 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1509 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1510 ,0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1511 ,0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1512 ,0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x90
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1513 ,0xfa, 0x00, 0x00, 0x00, 0x00, 0x39, 0xef, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1514 ,0xfa, 0x00, 0x00, 0x01, 0x7d, 0xff, 0xe9, 0x40
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1515 ,0xfa, 0x00, 0x05, 0xbf, 0xff, 0x94, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1516 ,0xfa, 0x18, 0xef, 0xfb, 0x50, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1517 ,0xfe, 0xff, 0xd7, 0x10, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1518 ,0xff, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1519 ,0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1520 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1521 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1522 ,0x00, 0x00, 0x00, 0x00, 0x02, 0x78, 0x50, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1523 ,0x03, 0xad, 0xb4, 0x00, 0x7f, 0xff, 0xfc, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1524 ,0x3f, 0xfc, 0xff, 0x66, 0xfa, 0x43, 0xaf, 0xa0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1525 ,0xcd, 0x10, 0x1c, 0xfe, 0x70, 0x00, 0x0b, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1526 ,0xf5, 0x00, 0x01, 0xfe, 0x00, 0x00, 0x05, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1527 ,0xf5, 0x00, 0x00, 0xbf, 0x10, 0x00, 0x04, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1528 ,0xec, 0x00, 0x07, 0xff, 0xb0, 0x00, 0x0a, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1529 ,0x6f, 0xd9, 0xcf, 0x78, 0xfb, 0x32, 0x9f, 0x90
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1530 ,0x07, 0xef, 0xe6, 0x00, 0x9f, 0xff, 0xfb, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1531 ,0x00, 0x01, 0x00, 0x00, 0x03, 0x88, 0x50, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1532 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1533 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1534 ,0x00, 0x03, 0x55, 0x20, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1535 ,0x04, 0xdf, 0xff, 0xfb, 0x10, 0x00, 0x0b, 0x60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1536 ,0x4f, 0xd7, 0x45, 0x9f, 0xd0, 0x00, 0x1c, 0xe0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1537 ,0xdd, 0x00, 0x00, 0x05, 0xf5, 0x00, 0x05, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1538 ,0xf7, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x04, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1539 ,0xf8, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x08, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1540 ,0xbe, 0x20, 0x00, 0x06, 0xf2, 0x00, 0x5f, 0xa0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1541 ,0x2e, 0xf9, 0x54, 0x7f, 0x94, 0x7c, 0xfc, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1542 ,0x02, 0xaf, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1543 ,0x00, 0x01, 0x46, 0x77, 0x75, 0x30, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1544 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1545 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1546 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1547 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1548 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1549 ,0x00, 0x00, 0x06, 0xa1, 0x00, 0x00, 0x09, 0x80
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1550 ,0x00, 0x00, 0x1f, 0xf9, 0x00, 0x00, 0x6f, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1551 ,0x00, 0x00, 0x0d, 0xf5, 0x00, 0x00, 0x3f, 0xe0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1552 ,0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1553 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1554 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1555 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1556 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1557 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1558 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1559 ,0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1560 ,0xba, 0xae, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1561 ,0xff, 0xe9, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1562 ,0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1563 ,0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1564 ,0x97, 0x8c, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1565 ,0xff, 0xfb, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1566 ,0x75, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1567 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1568 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1569 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1570 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1571 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1572 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1573 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1574 ,0x75, 0x6a, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1575 ,0xff, 0xfd, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1576 ,0xa8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1577 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1578 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1579 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1580 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1581 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1582 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1583 ,0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1584 ,0x2c, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1585 ,0xdd, 0x78, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1586 ,0xf2, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1587 ,0xf0, 0x00, 0x4f, 0x10, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1588 ,0xea, 0x23, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1589 ,0x4f, 0xff, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1590 ,0x01, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1591 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1592 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1593 ,0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1594 ,0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1595 ,0x00, 0x00, 0x9f, 0xa7, 0x77, 0x77, 0x77, 0x70
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1596 ,0x00, 0x00, 0xd6, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1597 ,0x00, 0x02, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1598 ,0x00, 0x01, 0xff, 0xcb, 0xbb, 0xbb, 0xbb, 0xb0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1599 ,0x00, 0x00, 0x4f, 0xfe, 0xee, 0xee, 0xee, 0xe0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1600 ,0x00, 0x00, 0xab, 0x20, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1601 ,0x00, 0x01, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1602 ,0x00, 0x02, 0xfa, 0x55, 0x55, 0x55, 0x55, 0x50
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1603 ,0x00, 0x00, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xf0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1604 ,0x00, 0x00, 0x02, 0x44, 0x44, 0x44, 0x44, 0x40
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1605 };
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1606
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1607 #pragma romdata font_incon_42 = 0x0F500
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1608 rom const rom unsigned char incon42[] =
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1609 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1610 // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1611 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1612 ,0x00, 0x00, 0x00, 0x03, 0x7a, 0xcd, 0xee, 0xdc, 0xa8, 0x40, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1613 ,0x00, 0x00, 0x18, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x92, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1614 ,0x00, 0x07, 0xef, 0xff, 0xff, 0xdc, 0xbb, 0xce, 0xff, 0xff, 0xff, 0x91, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1615 ,0x00, 0xbf, 0xff, 0xc7, 0x65, 0x43, 0x22, 0x33, 0x57, 0xbf, 0xff, 0xfd, 0x20, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1616 ,0x0b, 0xff, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x6e, 0xff, 0xd1, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1617 ,0x7f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xfa, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1618 ,0xef, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0x20
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1619 ,0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0x60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1620 ,0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1621 ,0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1622 ,0xcf, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1623 ,0x4f, 0xfe, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf8, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1624 ,0x07, 0xff, 0xd7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7e, 0xff, 0xb0, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1625 ,0x00, 0x5e, 0xff, 0xfb, 0x98, 0x54, 0x33, 0x34, 0x58, 0xbf, 0xff, 0xfa, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1626 ,0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x50, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1627 ,0x00, 0x00, 0x01, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x40, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1628 ,0x00, 0x00, 0x00, 0x00, 0x02, 0x46, 0x77, 0x65, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1629 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1630 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1631
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1632 #if 0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1633 // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1634 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1635 ,0x00, 0x00, 0x00, 0x03, 0x7a, 0xcd, 0xee, 0xdc, 0xa8, 0x40, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1636 ,0x00, 0x00, 0x18, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x92, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1637 ,0x00, 0x07, 0xef, 0xff, 0xff, 0xdc, 0xbb, 0xce, 0xff, 0xff, 0xff, 0x91, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1638 ,0x00, 0xbf, 0xff, 0xc7, 0x20, 0x00, 0x00, 0x00, 0x1c, 0xff, 0xff, 0xfd, 0x20, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1639 ,0x0b, 0xff, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x02, 0xcf, 0xfc, 0x6e, 0xff, 0xd1, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1640 ,0x7f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0xff, 0x90, 0x01, 0xbf, 0xfa, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1641 ,0xef, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xe5, 0x00, 0x00, 0x0d, 0xff, 0x20
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1642 ,0xff, 0x60, 0x00, 0x00, 0x00, 0x02, 0xcf, 0xfc, 0x20, 0x00, 0x00, 0x05, 0xff, 0x60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1643 ,0xff, 0x40, 0x00, 0x00, 0x00, 0x5e, 0xff, 0x90, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1644 ,0xff, 0x80, 0x00, 0x00, 0x08, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1645 ,0xcf, 0xf3, 0x00, 0x01, 0xcf, 0xfd, 0x30, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1646 ,0x4f, 0xfe, 0x50, 0x4e, 0xff, 0xa1, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf8, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1647 ,0x07, 0xff, 0xfd, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7e, 0xff, 0xb0, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1648 ,0x00, 0x5e, 0xff, 0xff, 0xd8, 0x54, 0x33, 0x34, 0x58, 0xbf, 0xff, 0xfa, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1649 ,0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x50, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1650 ,0x00, 0x00, 0x01, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x40, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1651 ,0x00, 0x00, 0x00, 0x00, 0x02, 0x46, 0x77, 0x65, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1652 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1653 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1654 #endif
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1655 //
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1656 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1657 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1658 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1659 ,0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1660 ,0x00, 0x1f, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1661 ,0x00, 0x9f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1662 ,0x02, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1663 ,0x0a, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1664 ,0x3f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1665 ,0xbf, 0xfc, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x79, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1666 ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1667 ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1668 ,0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x36, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1669 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1670 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1671 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1672 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xcc, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1673 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1674 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1675 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1676 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1677 //
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1678 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1679 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1680 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1681 ,0x00, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1682 ,0x00, 0xbf, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1683 ,0x0a, 0xff, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1684 ,0x4f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xdb, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1685 ,0xcf, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xf8, 0x08, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1686 ,0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xfe, 0x40, 0x08, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1687 ,0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xd2, 0x00, 0x08, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1688 ,0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xfd, 0x10, 0x00, 0x08, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1689 ,0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xd1, 0x00, 0x00, 0x08, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1690 ,0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xfe, 0x20, 0x00, 0x00, 0x08, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1691 ,0x9f, 0xfa, 0x00, 0x00, 0x00, 0x1a, 0xff, 0xe2, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1692 ,0x2e, 0xff, 0xd6, 0x21, 0x38, 0xef, 0xfd, 0x20, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1693 ,0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1694 ,0x00, 0x3d, 0xff, 0xff, 0xff, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1695 ,0x00, 0x00, 0x59, 0xbb, 0x95, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1696 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1697 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1698 //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1699 //
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1700 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1701 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1702 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1703 ,0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0x30, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1704 ,0x04, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xd0, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1705 ,0x1e, 0xfe, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xf8, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1706 ,0x7f, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xfe, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1707 ,0xdf, 0xc0, 0x00, 0x00, 0x00, 0x07, 0x95, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0x30
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1708 ,0xff, 0x70, 0x00, 0x00, 0x00, 0x0c, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1709 ,0xff, 0x50, 0x00, 0x00, 0x00, 0x0e, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1710 ,0xff, 0x60, 0x00, 0x00, 0x00, 0x2f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1711 ,0xff, 0xb0, 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0x30
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1712 ,0xbf, 0xf4, 0x00, 0x00, 0x02, 0xef, 0xff, 0x70, 0x00, 0x00, 0x00, 0x2f, 0xfe, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1713 ,0x4f, 0xfe, 0x60, 0x00, 0x5e, 0xfd, 0xbf, 0xf5, 0x00, 0x00, 0x03, 0xef, 0xf7, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1714 ,0x09, 0xff, 0xff, 0xdf, 0xff, 0xf3, 0x2f, 0xff, 0xb6, 0x56, 0xbf, 0xff, 0xc0, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1715 ,0x00, 0x8f, 0xff, 0xff, 0xfe, 0x40, 0x04, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1716 ,0x00, 0x02, 0x8c, 0xdb, 0x71, 0x00, 0x00, 0x2b, 0xff, 0xff, 0xfe, 0x80, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1717 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x66, 0x30, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1718 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1719 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1720 //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1721 //
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1722 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1723 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1724 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xef, 0xc0, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1725 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xaf, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1726 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1727 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0xff, 0xd4, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1728 ,0x00, 0x00, 0x00, 0x00, 0x06, 0xef, 0xf8, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1729 ,0x00, 0x00, 0x00, 0x02, 0xbf, 0xfc, 0x30, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1730 ,0x00, 0x00, 0x00, 0x7f, 0xff, 0x70, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1731 ,0x00, 0x00, 0x2c, 0xff, 0xb2, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1732 ,0x00, 0x07, 0xff, 0xe6, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1733 ,0x03, 0xcf, 0xfa, 0x10, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1734 ,0x8f, 0xff, 0xea, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xef, 0xea, 0xaa, 0xaa, 0xaa, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1735 ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1736 ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1737 ,0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0xdf, 0xd4, 0x44, 0x44, 0x44, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1738 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1739 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1740 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x70, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1741 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1742 //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1743 //
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1744 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1745 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1746 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1747 ,0x00, 0x00, 0x00, 0x12, 0x34, 0x56, 0x72, 0x00, 0x00, 0x00, 0x03, 0xf8, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1748 ,0xab, 0xcd, 0xef, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x1e, 0xff, 0x80, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1749 ,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x00, 0x00, 0x00, 0x28, 0xff, 0xf3, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1750 ,0xff, 0xda, 0xa9, 0x87, 0x67, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfb, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1751 ,0xff, 0x70, 0x00, 0x00, 0x06, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x10
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1752 ,0xff, 0x70, 0x00, 0x00, 0x0b, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0x50
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1753 ,0xff, 0x70, 0x00, 0x00, 0x0d, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1754 ,0xff, 0x70, 0x00, 0x00, 0x0e, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1755 ,0xff, 0x70, 0x00, 0x00, 0x0e, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1756 ,0xff, 0x70, 0x00, 0x00, 0x0b, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x30
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1757 ,0xff, 0x70, 0x00, 0x00, 0x06, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xfd, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1758 ,0xff, 0x70, 0x00, 0x00, 0x00, 0xdf, 0xfd, 0x40, 0x00, 0x00, 0x29, 0xff, 0xf5, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1759 ,0xff, 0x70, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0xba, 0xbd, 0xff, 0xff, 0x90, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1760 ,0xff, 0x70, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1761 ,0x55, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xdf, 0xff, 0xff, 0xea, 0x30, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1762 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x42, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1763 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1764 //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1765 //
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1766 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1767 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1768 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x33, 0x33, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1769 ,0x00, 0x00, 0x00, 0x49, 0xce, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x71, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1770 ,0x00, 0x00, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1771 ,0x00, 0x3d, 0xff, 0xff, 0xfc, 0xba, 0xff, 0xfb, 0xab, 0xef, 0xff, 0xfd, 0x20, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1772 ,0x04, 0xff, 0xfe, 0x83, 0x00, 0x1c, 0xfd, 0x20, 0x00, 0x02, 0x8e, 0xff, 0xd1, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1773 ,0x1e, 0xff, 0x90, 0x00, 0x00, 0xbf, 0xe1, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf9, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1774 ,0xaf, 0xf7, 0x00, 0x00, 0x05, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1775 ,0xff, 0xb0, 0x00, 0x00, 0x0a, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1776 ,0xff, 0x50, 0x00, 0x00, 0x0d, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1777 ,0xff, 0x20, 0x00, 0x00, 0x0d, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1778 ,0xff, 0x30, 0x00, 0x00, 0x0a, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x30
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1779 ,0xff, 0x70, 0x00, 0x00, 0x05, 0xff, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xfd, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1780 ,0xef, 0xe1, 0x00, 0x00, 0x00, 0xcf, 0xfd, 0x50, 0x00, 0x00, 0x28, 0xff, 0xf4, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1781 ,0x7f, 0xfd, 0x00, 0x00, 0x00, 0x2d, 0xff, 0xff, 0xdb, 0xcd, 0xff, 0xff, 0x70, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1782 ,0x0c, 0xd2, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xe5, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1783 ,0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x03, 0x9d, 0xff, 0xfe, 0xb6, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1784 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1785 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1786 //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1787 //
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1788 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1789 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1790 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1791 ,0xcc, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1792 ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1793 ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1794 ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xef, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1795 ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x9e, 0xff, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1796 ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xdf, 0xff, 0xff, 0xfe, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1797 ,0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7d, 0xff, 0xff, 0xff, 0xd9, 0x40, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1798 ,0xff, 0x90, 0x00, 0x00, 0x00, 0x05, 0xbf, 0xff, 0xff, 0xfd, 0x83, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1799 ,0xff, 0x90, 0x00, 0x00, 0x39, 0xef, 0xff, 0xff, 0xe8, 0x30, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1800 ,0xff, 0x90, 0x00, 0x6c, 0xff, 0xff, 0xfe, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1801 ,0xff, 0x92, 0x8e, 0xff, 0xff, 0xfb, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1802 ,0xff, 0xef, 0xff, 0xff, 0xd7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1803 ,0xff, 0xff, 0xff, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1804 ,0xff, 0xfd, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1805 ,0xba, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1806 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1807 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1808 //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1809 //
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1810 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1811 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1812 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x67, 0x62, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1813 ,0x00, 0x00, 0x24, 0x42, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xff, 0xff, 0xb2, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1814 ,0x00, 0x3c, 0xff, 0xff, 0xc4, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xfe, 0x30, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1815 ,0x05, 0xff, 0xff, 0xff, 0xff, 0x70, 0x08, 0xff, 0xfb, 0x77, 0xaf, 0xff, 0xe1, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1816 ,0x3f, 0xff, 0xa7, 0x8d, 0xff, 0xf6, 0x4f, 0xfc, 0x20, 0x00, 0x02, 0xdf, 0xf9, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1817 ,0xbf, 0xe3, 0x00, 0x00, 0x8f, 0xfe, 0xdf, 0xb0, 0x00, 0x00, 0x00, 0x2e, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1818 ,0xff, 0x60, 0x00, 0x00, 0x08, 0xff, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x08, 0xff, 0x40
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1819 ,0xff, 0x10, 0x00, 0x00, 0x00, 0xcf, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1820 ,0xff, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1821 ,0xff, 0x20, 0x00, 0x00, 0x00, 0x5f, 0xff, 0x10, 0x00, 0x00, 0x00, 0x05, 0xff, 0x50
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1822 ,0xff, 0x80, 0x00, 0x00, 0x03, 0xef, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x20
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1823 ,0xdf, 0xf6, 0x00, 0x00, 0x5e, 0xfc, 0xcf, 0xf8, 0x00, 0x00, 0x00, 0x4f, 0xfd, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1824 ,0x4f, 0xff, 0xc8, 0x9d, 0xff, 0xf3, 0x3f, 0xff, 0xa2, 0x00, 0x06, 0xff, 0xf5, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1825 ,0x07, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x06, 0xff, 0xff, 0xdc, 0xef, 0xff, 0xa0, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1826 ,0x00, 0x4c, 0xff, 0xff, 0x91, 0x00, 0x00, 0x5e, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1827 ,0x00, 0x00, 0x24, 0x30, 0x00, 0x00, 0x00, 0x01, 0x8e, 0xff, 0xfb, 0x40, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1828 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1829 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1830 //,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1831 //
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1832 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1833 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1834 ,0x00, 0x00, 0x00, 0x02, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1835 ,0x00, 0x01, 0x7d, 0xff, 0xff, 0xea, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1836 ,0x00, 0x6e, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xe2, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1837 ,0x08, 0xff, 0xff, 0xb9, 0x9b, 0xef, 0xff, 0xc0, 0x00, 0x00, 0x00, 0xbf, 0xfa, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1838 ,0x4f, 0xff, 0x70, 0x00, 0x00, 0x05, 0xef, 0xf8, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x10
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1839 ,0xdf, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xff, 0x10, 0x00, 0x00, 0x06, 0xff, 0x50
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1840 ,0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50, 0x00, 0x00, 0x04, 0xff, 0x60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1841 ,0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x70, 0x00, 0x00, 0x04, 0xff, 0x60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1842 ,0xff, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x70, 0x00, 0x00, 0x07, 0xff, 0x40
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1843 ,0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x40, 0x00, 0x00, 0x0d, 0xfe, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1844 ,0xef, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xfd, 0x00, 0x00, 0x00, 0x9f, 0xf8, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1845 ,0x7f, 0xfd, 0x30, 0x00, 0x00, 0x00, 0x7f, 0xf4, 0x00, 0x00, 0x1a, 0xff, 0xd1, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1846 ,0x0b, 0xff, 0xfb, 0x52, 0x00, 0x08, 0xff, 0x60, 0x13, 0x6a, 0xff, 0xfe, 0x20, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1847 ,0x00, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xc2, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1848 ,0x00, 0x04, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1849 ,0x00, 0x00, 0x02, 0x69, 0xcd, 0xef, 0xff, 0xed, 0xb9, 0x62, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1850 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1851 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1852 // ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1853 };
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1854
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1855 #if 0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1856 #pragma romdata font_incon_42 = 0x0E000
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1857 rom const rom unsigned char incon42[] =
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1858 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1859 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1860 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1861 ,0x00, 0x00, 0x00, 0x00, 0x03, 0x7a, 0xcd, 0xee, 0xdc, 0xa8, 0x40, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1862 ,0x00, 0x00, 0x00, 0x18, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x92, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1863 ,0x00, 0x00, 0x07, 0xef, 0xff, 0xff, 0xdc, 0xbb, 0xce, 0xff, 0xff, 0xff, 0x91, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1864 ,0x00, 0x00, 0xbf, 0xff, 0xc7, 0x20, 0x00, 0x00, 0x00, 0x1c, 0xff, 0xff, 0xfd, 0x20, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1865 ,0x00, 0x0b, 0xff, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x02, 0xcf, 0xfc, 0x6e, 0xff, 0xd1, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1866 ,0x00, 0x7f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0xff, 0x90, 0x01, 0xbf, 0xfa, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1867 ,0x00, 0xef, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xe5, 0x00, 0x00, 0x0d, 0xff, 0x20
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1868 ,0x03, 0xff, 0x60, 0x00, 0x00, 0x00, 0x02, 0xcf, 0xfc, 0x20, 0x00, 0x00, 0x05, 0xff, 0x60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1869 ,0x04, 0xff, 0x40, 0x00, 0x00, 0x00, 0x5e, 0xff, 0x90, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1870 ,0x02, 0xff, 0x80, 0x00, 0x00, 0x08, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1871 ,0x00, 0xcf, 0xf3, 0x00, 0x01, 0xcf, 0xfd, 0x30, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1872 ,0x00, 0x4f, 0xfe, 0x50, 0x4e, 0xff, 0xa1, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf8, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1873 ,0x00, 0x07, 0xff, 0xfd, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7e, 0xff, 0xb0, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1874 ,0x00, 0x00, 0x5e, 0xff, 0xff, 0xd8, 0x54, 0x33, 0x34, 0x58, 0xbf, 0xff, 0xfa, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1875 ,0x00, 0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x50, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1876 ,0x00, 0x00, 0x00, 0x01, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x40, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1877 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x46, 0x77, 0x65, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1878 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1879 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1880 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1881 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1882 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1883 ,0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1884 ,0x00, 0x00, 0x1f, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1885 ,0x00, 0x00, 0x9f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1886 ,0x00, 0x02, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1887 ,0x00, 0x0a, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1888 ,0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1889 ,0x00, 0xbf, 0xfc, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x79, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1890 ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1891 ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1892 ,0x00, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x36, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1893 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1894 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1895 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1896 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xcc, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1897 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1898 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1899 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1900 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1901 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1902 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1903 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1904 ,0x00, 0x00, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1905 ,0x00, 0x00, 0xbf, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1906 ,0x00, 0x0a, 0xff, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1907 ,0x00, 0x4f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xdb, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1908 ,0x00, 0xcf, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xf8, 0x08, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1909 ,0x01, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xfe, 0x40, 0x08, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1910 ,0x04, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xd2, 0x00, 0x08, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1911 ,0x04, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xfd, 0x10, 0x00, 0x08, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1912 ,0x03, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xd1, 0x00, 0x00, 0x08, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1913 ,0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xfe, 0x20, 0x00, 0x00, 0x08, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1914 ,0x00, 0x9f, 0xfa, 0x00, 0x00, 0x00, 0x1a, 0xff, 0xe2, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1915 ,0x00, 0x2e, 0xff, 0xd6, 0x21, 0x38, 0xef, 0xfd, 0x20, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1916 ,0x00, 0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1917 ,0x00, 0x00, 0x3d, 0xff, 0xff, 0xff, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1918 ,0x00, 0x00, 0x00, 0x59, 0xbb, 0x95, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1919 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1920 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1921 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1922 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1923 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1924 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1925 ,0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0x30, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1926 ,0x00, 0x04, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xd0, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1927 ,0x00, 0x1e, 0xfe, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xf8, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1928 ,0x00, 0x7f, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xfe, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1929 ,0x00, 0xdf, 0xc0, 0x00, 0x00, 0x00, 0x07, 0x95, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0x30
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1930 ,0x01, 0xff, 0x70, 0x00, 0x00, 0x00, 0x0c, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1931 ,0x03, 0xff, 0x50, 0x00, 0x00, 0x00, 0x0e, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x70
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1932 ,0x03, 0xff, 0x60, 0x00, 0x00, 0x00, 0x2f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1933 ,0x01, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0x30
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1934 ,0x00, 0xbf, 0xf4, 0x00, 0x00, 0x02, 0xef, 0xff, 0x70, 0x00, 0x00, 0x00, 0x2f, 0xfe, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1935 ,0x00, 0x4f, 0xfe, 0x60, 0x00, 0x5e, 0xfd, 0xbf, 0xf5, 0x00, 0x00, 0x03, 0xef, 0xf7, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1936 ,0x00, 0x09, 0xff, 0xff, 0xdf, 0xff, 0xf3, 0x2f, 0xff, 0xb6, 0x56, 0xbf, 0xff, 0xc0, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1937 ,0x00, 0x00, 0x8f, 0xff, 0xff, 0xfe, 0x40, 0x04, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1938 ,0x00, 0x00, 0x02, 0x8c, 0xdb, 0x71, 0x00, 0x00, 0x2b, 0xff, 0xff, 0xfe, 0x80, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1939 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x66, 0x30, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1940 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1941 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1942 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1943 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1944 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1945 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xef, 0xc0, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1946 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xaf, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1947 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1948 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0xff, 0xd4, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1949 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xef, 0xf8, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1950 ,0x00, 0x00, 0x00, 0x00, 0x02, 0xbf, 0xfc, 0x30, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1951 ,0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x70, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1952 ,0x00, 0x00, 0x00, 0x2c, 0xff, 0xb2, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1953 ,0x00, 0x00, 0x07, 0xff, 0xe6, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1954 ,0x00, 0x03, 0xcf, 0xfa, 0x10, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1955 ,0x00, 0x8f, 0xff, 0xea, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xef, 0xea, 0xaa, 0xaa, 0xaa, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1956 ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1957 ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1958 ,0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0xdf, 0xd4, 0x44, 0x44, 0x44, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1959 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1960 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1961 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x70, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1962 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1963 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1964 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1965 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1966 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1967 ,0x00, 0x00, 0x00, 0x00, 0x12, 0x34, 0x56, 0x72, 0x00, 0x00, 0x00, 0x03, 0xf8, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1968 ,0x01, 0xab, 0xcd, 0xef, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x1e, 0xff, 0x80, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1969 ,0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x00, 0x00, 0x00, 0x28, 0xff, 0xf3, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1970 ,0x02, 0xff, 0xda, 0xa9, 0x87, 0x67, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfb, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1971 ,0x02, 0xff, 0x70, 0x00, 0x00, 0x06, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x10
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1972 ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0b, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0x50
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1973 ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0d, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1974 ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0e, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1975 ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0e, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1976 ,0x02, 0xff, 0x70, 0x00, 0x00, 0x0b, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x30
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1977 ,0x02, 0xff, 0x70, 0x00, 0x00, 0x06, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xfd, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1978 ,0x02, 0xff, 0x70, 0x00, 0x00, 0x00, 0xdf, 0xfd, 0x40, 0x00, 0x00, 0x29, 0xff, 0xf5, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1979 ,0x02, 0xff, 0x70, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0xba, 0xbd, 0xff, 0xff, 0x90, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1980 ,0x02, 0xff, 0x70, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1981 ,0x01, 0x55, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xdf, 0xff, 0xff, 0xea, 0x30, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1982 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x42, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1983 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1984 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1985 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1986 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1987 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x33, 0x33, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1988 ,0x00, 0x00, 0x00, 0x00, 0x49, 0xce, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x71, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1989 ,0x00, 0x00, 0x00, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1990 ,0x00, 0x00, 0x3d, 0xff, 0xff, 0xfc, 0xba, 0xff, 0xfb, 0xab, 0xef, 0xff, 0xfd, 0x20, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1991 ,0x00, 0x04, 0xff, 0xfe, 0x83, 0x00, 0x1c, 0xfd, 0x20, 0x00, 0x02, 0x8e, 0xff, 0xd1, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1992 ,0x00, 0x1e, 0xff, 0x90, 0x00, 0x00, 0xbf, 0xe1, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xf9, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1993 ,0x00, 0xaf, 0xf7, 0x00, 0x00, 0x05, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x10
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1994 ,0x01, 0xff, 0xb0, 0x00, 0x00, 0x0a, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1995 ,0x04, 0xff, 0x50, 0x00, 0x00, 0x0d, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x70
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1996 ,0x06, 0xff, 0x20, 0x00, 0x00, 0x0d, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1997 ,0x06, 0xff, 0x30, 0x00, 0x00, 0x0a, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x30
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1998 ,0x03, 0xff, 0x70, 0x00, 0x00, 0x05, 0xff, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xfd, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
1999 ,0x00, 0xef, 0xe1, 0x00, 0x00, 0x00, 0xcf, 0xfd, 0x50, 0x00, 0x00, 0x28, 0xff, 0xf4, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2000 ,0x00, 0x7f, 0xfd, 0x00, 0x00, 0x00, 0x2d, 0xff, 0xff, 0xdb, 0xcd, 0xff, 0xff, 0x70, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2001 ,0x00, 0x0c, 0xd2, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xe5, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2002 ,0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x03, 0x9d, 0xff, 0xfe, 0xb6, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2003 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2004 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2005 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2006 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2007 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2008 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2009 ,0x02, 0xcc, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2010 ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2011 ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2012 ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xef, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2013 ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x9e, 0xff, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2014 ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xdf, 0xff, 0xff, 0xfe, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2015 ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7d, 0xff, 0xff, 0xff, 0xd9, 0x40, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2016 ,0x02, 0xff, 0x90, 0x00, 0x00, 0x00, 0x05, 0xbf, 0xff, 0xff, 0xfd, 0x83, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2017 ,0x02, 0xff, 0x90, 0x00, 0x00, 0x39, 0xef, 0xff, 0xff, 0xe8, 0x30, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2018 ,0x02, 0xff, 0x90, 0x00, 0x6c, 0xff, 0xff, 0xfe, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2019 ,0x02, 0xff, 0x92, 0x8e, 0xff, 0xff, 0xfb, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2020 ,0x02, 0xff, 0xef, 0xff, 0xff, 0xd7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2021 ,0x02, 0xff, 0xff, 0xff, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2022 ,0x02, 0xff, 0xfd, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2023 ,0x02, 0xba, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2024 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2025 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2026 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2027 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2028 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2029 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x67, 0x62, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2030 ,0x00, 0x00, 0x00, 0x24, 0x42, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xff, 0xff, 0xb2, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2031 ,0x00, 0x00, 0x3c, 0xff, 0xff, 0xc4, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xfe, 0x30, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2032 ,0x00, 0x05, 0xff, 0xff, 0xff, 0xff, 0x70, 0x08, 0xff, 0xfb, 0x77, 0xaf, 0xff, 0xe1, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2033 ,0x00, 0x3f, 0xff, 0xa7, 0x8d, 0xff, 0xf6, 0x4f, 0xfc, 0x20, 0x00, 0x02, 0xdf, 0xf9, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2034 ,0x00, 0xbf, 0xe3, 0x00, 0x00, 0x8f, 0xfe, 0xdf, 0xb0, 0x00, 0x00, 0x00, 0x2e, 0xff, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2035 ,0x01, 0xff, 0x60, 0x00, 0x00, 0x08, 0xff, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x08, 0xff, 0x40
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2036 ,0x05, 0xff, 0x10, 0x00, 0x00, 0x00, 0xcf, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2037 ,0x06, 0xff, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2038 ,0x06, 0xff, 0x20, 0x00, 0x00, 0x00, 0x5f, 0xff, 0x10, 0x00, 0x00, 0x00, 0x05, 0xff, 0x50
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2039 ,0x03, 0xff, 0x80, 0x00, 0x00, 0x03, 0xef, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x20
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2040 ,0x00, 0xdf, 0xf6, 0x00, 0x00, 0x5e, 0xfc, 0xcf, 0xf8, 0x00, 0x00, 0x00, 0x4f, 0xfd, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2041 ,0x00, 0x4f, 0xff, 0xc8, 0x9d, 0xff, 0xf3, 0x3f, 0xff, 0xa2, 0x00, 0x06, 0xff, 0xf5, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2042 ,0x00, 0x07, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x06, 0xff, 0xff, 0xdc, 0xef, 0xff, 0xa0, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2043 ,0x00, 0x00, 0x4c, 0xff, 0xff, 0x91, 0x00, 0x00, 0x5e, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2044 ,0x00, 0x00, 0x00, 0x24, 0x30, 0x00, 0x00, 0x00, 0x01, 0x8e, 0xff, 0xfb, 0x40, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2045 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2046 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2047 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2048 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2049 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2050 ,0x00, 0x00, 0x00, 0x00, 0x02, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2051 ,0x00, 0x00, 0x01, 0x7d, 0xff, 0xff, 0xea, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2052 ,0x00, 0x00, 0x6e, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xe2, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2053 ,0x00, 0x08, 0xff, 0xff, 0xb9, 0x9b, 0xef, 0xff, 0xc0, 0x00, 0x00, 0x00, 0xbf, 0xfa, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2054 ,0x00, 0x4f, 0xff, 0x70, 0x00, 0x00, 0x05, 0xef, 0xf8, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x10
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2055 ,0x00, 0xdf, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xff, 0x10, 0x00, 0x00, 0x06, 0xff, 0x50
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2056 ,0x03, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x50, 0x00, 0x00, 0x04, 0xff, 0x60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2057 ,0x05, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x70, 0x00, 0x00, 0x04, 0xff, 0x60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2058 ,0x06, 0xff, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x70, 0x00, 0x00, 0x07, 0xff, 0x40
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2059 ,0x04, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0x40, 0x00, 0x00, 0x0d, 0xfe, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2060 ,0x00, 0xef, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xfd, 0x00, 0x00, 0x00, 0x9f, 0xf8, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2061 ,0x00, 0x7f, 0xfd, 0x30, 0x00, 0x00, 0x00, 0x7f, 0xf4, 0x00, 0x00, 0x1a, 0xff, 0xd1, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2062 ,0x00, 0x0b, 0xff, 0xfb, 0x52, 0x00, 0x08, 0xff, 0x60, 0x13, 0x6a, 0xff, 0xfe, 0x20, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2063 ,0x00, 0x00, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xc2, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2064 ,0x00, 0x00, 0x04, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2065 ,0x00, 0x00, 0x00, 0x02, 0x69, 0xcd, 0xef, 0xff, 0xed, 0xb9, 0x62, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2066 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2067 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2068 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2069 };
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2070 #endif
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2071
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2072 // **********************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2073 // **********************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2074 // ** THE JUMP-IN CODE **
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2075 // ** for the asm code **
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2076 // **********************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2077 // **********************
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2078 #pragma code main_calc_hauptroutine = 0x10000
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2079 void main_calc_hauptroutine(void)
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2080 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2081 calc_hauptroutine();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2082 int_O_desaturation_time = 65535;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2083 } // divemode
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2084 #pragma code main_without_deco = 0x10020
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2085 void main_calc_without_deco(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2086 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2087 calc_without_deco();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2088 calc_desaturation_time();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2089 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2090
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2091 #pragma code main_clear_CNS_fraction = 0x10030
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2092 void main_clear_CNS_fraction(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2093 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2094 clear_CNS_fraction();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2095 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2096
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2097 #pragma code main_calc_CNS_decrease_15min = 0x10034
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2098 void main_calc_CNS_decrease_15min(void)
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2099 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2100 calc_CNS_decrease_15min();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2101 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2102
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2103 #pragma code main_calc_percentage = 0x10038
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2104 void main_calc_percentage (void)
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2105 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2106 calc_percentage();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2107 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2108
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2109 #pragma code main_clear_tissue = 0x10040
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2110 void main_clear_tissue(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2111 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2112 clear_tissue();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2113 char_I_depth_last_deco = 0; // for compatibility with v.101pre_no_last_deco
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2114 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2115
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2116 #pragma code main_calc_CNS_fraction = 0x10050
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2117 void main_calc_CNS_fraction(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2118 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2119 calc_CNS_fraction();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2120 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2121
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2122 #pragma code main_calc_desaturation_time = 0x10060
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2123 void main_calc_desaturation_time(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2124 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2125 calc_desaturation_time();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2126 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2127
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2128 #pragma code main_calc_wo_deco_step_1_min = 0x10080
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2129 void main_calc_wo_deco_step_1_min(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2130 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2131 calc_wo_deco_step_1_min();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2132 char_O_deco_status = 3; // surface new in v.102 overwrites value of calc_wo_deco_step_1_min
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2133 calc_desaturation_time();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2134 } // surface mode
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2135
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2136 #pragma code main_debug = 0x100A0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2137 void main_debug(void)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2138 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2139 //debug();
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2140 }
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2141
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2142 #pragma code main_DD2_write_incon42 = 0x100B0
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2143 void main_DD2_write_incon42(void)
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2144 {
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2145 DD2_write_incon42();
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2146 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2147
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2148 #pragma code main_DD2_write_incon24 = 0x100B4
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2149 void main_DD2_write_incon24(void)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2150 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2151 DD2_write_incon24();
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2152 }
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2153
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2154 #pragma code main_gradient_array = 0x100C0
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2155 void main_gradient_array(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2156 {
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2157 calc_gradient_array_only();
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2158 }
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2159 #pragma code main_push_tissues = 0x100C4
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2160 void main_push_tissues_to_vault(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2161 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2162 push_tissues_to_vault();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2163 }
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2164 #pragma code main_pull_tissues = 0x100C8
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2165 void main_pull_tissues_from_vault(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2166 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2167 pull_tissues_from_vault();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2168 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2169
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2170 #pragma code main_hash = 0x100E0
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2171 void main_hash(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2172 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2173 hash();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2174 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2175
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2176 // ***********************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2177 // ***********************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2178 // ** THE LOOKUP TABLES **
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2179 // ***********************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2180 // ***********************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2181
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2182 #pragma romdata tables = 0x10200
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2183 #include "p2_tables.romdata" // new table for deco_main_v.101 (var_a modified)
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2184
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2185 #pragma romdata tables2 = 0x10600
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2186 rom const rom unsigned int md_pi[] =
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2187 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2188 0x292E, 0x43C9, 0xA2D8, 0x7C01, 0x3D36, 0x54A1, 0xECF0, 0x0613
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2189 , 0x62A7, 0x05F3, 0xC0C7, 0x738C, 0x9893, 0x2BD9, 0xBC4C, 0x82CA
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2190 , 0x1E9B, 0x573C, 0xFDD4, 0xE016, 0x6742, 0x6F18, 0x8A17, 0xE512
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2191 , 0xBE4E, 0xC4D6, 0xDA9E, 0xDE49, 0xA0FB, 0xF58E, 0xBB2F, 0xEE7A
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2192 , 0xA968, 0x7991, 0x15B2, 0x073F, 0x94C2, 0x1089, 0x0B22, 0x5F21
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2193 , 0x807F, 0x5D9A, 0x5A90, 0x3227, 0x353E, 0xCCE7, 0xBFF7, 0x9703
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2194 , 0xFF19, 0x30B3, 0x48A5, 0xB5D1, 0xD75E, 0x922A, 0xAC56, 0xAAC6
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2195 , 0x4FB8, 0x38D2, 0x96A4, 0x7DB6, 0x76FC, 0x6BE2, 0x9C74, 0x04F1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2196 , 0x459D, 0x7059, 0x6471, 0x8720, 0x865B, 0xCF65, 0xE62D, 0xA802
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2197 , 0x1B60, 0x25AD, 0xAEB0, 0xB9F6, 0x1C46, 0x6169, 0x3440, 0x7E0F
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2198 , 0x5547, 0xA323, 0xDD51, 0xAF3A, 0xC35C, 0xF9CE, 0xBAC5, 0xEA26
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2199 , 0x2C53, 0x0D6E, 0x8528, 0x8409, 0xD3DF, 0xCDF4, 0x4181, 0x4D52
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2200 , 0x6ADC, 0x37C8, 0x6CC1, 0xABFA, 0x24E1, 0x7B08, 0x0CBD, 0xB14A
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2201 , 0x7888, 0x958B, 0xE363, 0xE86D, 0xE9CB, 0xD5FE, 0x3B00, 0x1D39
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2202 , 0xF2EF, 0xB70E, 0x6658, 0xD0E4, 0xA677, 0x72F8, 0xEB75, 0x4B0A
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2203 , 0x3144, 0x50B4, 0x8FED, 0x1F1A, 0xDB99, 0x8D33, 0x9F11, 0x8314
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2204 };
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2205
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2206 // *********************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2207 // *********************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2208 // ** THE SUBROUTINES **
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2209 // *********************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2210 // *********************
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2211
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2212 #pragma code subroutines = 0x10700 // can be adapted to fit the romdata tables ahead
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2213
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2214
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2215 // ---------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2216 // CLEAR tissue //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2217 // ---------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2218 // optimized in v.101 (var_a)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2219
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2220 void clear_tissue(void) // preload tissues with standard pressure for the given ambient pressure
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2221 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2222
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2223 flag_in_divemode = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2224 int_O_DBS_bitfield = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2225 int_O_DBS2_bitfield = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2226 int_O_DBG_pre_bitfield = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2227 int_O_DBG_post_bitfield = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2228 char_O_NDL_at_20mtr = 255;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2229
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2230 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2231 lfsr 1, 0x300 // C math routines shall use this variable bank
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2232 movlw 0x01
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2233 movwf TBLPTRU,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2234 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2235
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2236 // N2_ratio = (float)char_I_N2_ratio; // the 0.0002 of 0.7902 are missing with standard air
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2237 N2_ratio = 0.7902; // N2_ratio / 100.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2238 pres_respiration = (float)int_I_pres_respiration / 1000.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2239 for (ci=0;ci<16;ci++) // cycle through the 16 b"uhlmann tissues
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2240 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2241 pres_tissue[ci] = N2_ratio * (pres_respiration - 0.0627) ;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2242 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2243 movlw 0x02
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2244 movwf TBLPTRH,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2245 movlb 4 // fuer ci
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2246 movf ci,0,1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2247 addwf ci,0,1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2248 addwf ci,0,1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2249 addwf ci,0,1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2250 addlw 0x80
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2251 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2252 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2253 movff TABLAT,var_a+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2254 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2255 movff TABLAT,var_a
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2256 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2257 movff TABLAT,var_a+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2258 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2259 movff TABLAT,var_a+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2260 addlw 0x80
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2261 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2262 incf TBLPTRH,1,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2263 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2264 movff TABLAT,var_b+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2265 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2266 movff TABLAT,var_b
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2267 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2268 movff TABLAT,var_b+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2269 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2270 movff TABLAT,var_b+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2271 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2272
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2273 pres_tissue_limit[ci] = (pres_tissue[ci] - var_a) * var_b ;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2274 // now update the guiding tissue
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2275 if (pres_tissue_limit[ci] < 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2276 pres_tissue_limit[ci] = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2277 } // for 0 to 16
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2278
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2279 for (ci=16;ci<32;ci++) // cycle through the 16 b"uhlmann tissues for Helium
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2280 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2281 pres_tissue[ci] = 0.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2282 } // for
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2283
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2284 clear_decoarray();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2285 char_O_deco_status = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2286 char_O_nullzeit = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2287 char_O_ascenttime = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2288 char_O_gradient_factor = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2289 char_O_relative_gradient_GF = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2290 } // clear_tissue(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2291
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2292
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2293 // --------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2294 // calc_without_deco //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2295 // fixed N2_ratio ! //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2296 // --------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2297 // optimized in v.101 (float_..saturation_multiplier)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2298
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2299 void calc_without_deco(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2300 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2301 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2302 lfsr 1, 0x300
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2303 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2304 N2_ratio = 0.7902; // FIXED RATIO !! sum as stated in b"uhlmann
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2305 pres_respiration = (float)int_I_pres_respiration / 1000.0; // assembler code uses different digit system
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2306 pres_surface = (float)int_I_pres_surface / 1000.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2307 temp_atem = N2_ratio * (pres_respiration - 0.0627); // 0.0627 is the extra pressure in the body
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2308 temp2_atem = 0.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2309 temp_surface = pres_surface; // the b"uhlmann formula using temp_surface does apply to the pressure without any inert ratio
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2310 float_desaturation_multiplier = char_I_desaturation_multiplier / 100.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2311 float_saturation_multiplier = char_I_saturation_multiplier / 100.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2312
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2313 calc_tissue(); // update the pressure in the 16 tissues in accordance with the new ambient pressure
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2314
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2315 clear_decoarray();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2316 char_O_deco_status = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2317 char_O_nullzeit = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2318 char_O_ascenttime = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2319 calc_gradient_factor();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2320
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2321 } // calc_without_deco
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2322
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2323
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2324 // --------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2325 // calc_hauptroutine //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2326 // --------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2327 // this is the major code in dive mode
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2328 // calculates:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2329 // the tissues,
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2330 // the bottom time
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2331 // and simulates the ascend with all deco stops
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2332
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2333 void calc_hauptroutine(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2334 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2335 calc_hauptroutine_data_input();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2336
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2337 if(!flag_in_divemode)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2338 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2339 flag_in_divemode = 1;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2340 create_dbs_set_dbg_and_ndl20mtr();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2341 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2342 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2343 check_pre_dbg();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2344
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2345 calc_hauptroutine_update_tissues();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2346 calc_gradient_factor();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2347
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2348
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2349 switch (char_O_deco_status) // toggle between calculation for nullzeit (bottom time), deco stops and more deco stops (continue)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2350 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2351 case 0:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2352 update_startvalues();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2353 calc_nullzeit();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2354 check_ndl();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2355 char_O_deco_status = 255; // calc deco next time
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2356 break;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2357 case 1:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2358 if (char_O_deco_status == 3)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2359 break;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2360 char_O_deco_status = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2361 // char_O_lock_depth_list = 255;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2362 calc_hauptroutine_calc_deco();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2363 // build_debug_output();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2364 break;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2365 case 3: // new dive
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2366 clear_decoarray();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2367 clear_internal_deco_table_GF();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2368 copy_deco_table_GF();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2369 internal_deco_pointer = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2370 lock_GF_depth_list = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2371 update_startvalues();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2372 calc_nextdecodepth_GF();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2373 char_O_deco_status = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2374 break;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2375 default:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2376 update_startvalues();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2377 clear_decoarray();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2378 clear_internal_deco_table_GF();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2379 output[6] = 1;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2380 calc_hauptroutine_calc_ascend_to_deco();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2381 if (char_O_deco_status > 15) // can't go up to first deco, too deep to calculate in the given time slot
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2382 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2383 char_O_deco_status = 2;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2384 // char_O_lock_depth_list = 255;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2385 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2386 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2387 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2388 // char_O_lock_depth_list = lock_GF_depth_list;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2389 calc_hauptroutine_calc_deco();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2390 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2391 // build_debug_output();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2392 break;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2393 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2394 calc_ascenttime();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2395 check_post_dbg();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2396 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2397
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2398 void calc_hauptroutine_data_input(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2399 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2400 pres_respiration = (float)int_I_pres_respiration / 1000.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2401 pres_surface = (float)int_I_pres_surface / 1000.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2402
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2403 N2_ratio = (float)char_I_N2_ratio / 100.0;; // the 0.0002 of 0.7902 are missing with standard air
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2404 He_ratio = (float)char_I_He_ratio / 100.0;;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2405 deco_N2_ratio = (float)char_I_deco_N2_ratio / 100.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2406 deco_He_ratio = (float)char_I_deco_He_ratio / 100.0;
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2407 deco_N2_ratio2 = (float)char_I_deco_N2_ratio2 / 100.0;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2408 deco_He_ratio2 = (float)char_I_deco_He_ratio2 / 100.0;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2409 deco_N2_ratio3 = (float)char_I_deco_N2_ratio3 / 100.0;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2410 deco_He_ratio3 = (float)char_I_deco_He_ratio3 / 100.0;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2411 deco_N2_ratio4 = (float)char_I_deco_N2_ratio4 / 100.0;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2412 deco_He_ratio4 = (float)char_I_deco_He_ratio4 / 100.0;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2413 deco_N2_ratio5 = (float)char_I_deco_N2_ratio5 / 100.0;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2414 deco_He_ratio5 = (float)char_I_deco_He_ratio5 / 100.0;
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2415 float_deco_distance = (float)char_I_deco_distance / 100.0;
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2416
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2417 // ____________________________________________________
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2418 //
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2419 // _____________ G A S _ C H A N G E S ________________
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2420 // ____________________________________________________
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2421
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2422 int_temp = (int_I_pres_respiration - int_I_pres_surface) + MBAR_REACH_GASCHANGE_AUTO_CHANGE_OFF;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2423
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2424 deco_gas_change = 0;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2425 deco_gas_change2 = 0;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2426 deco_gas_change3 = 0;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2427 deco_gas_change4 = 0;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2428 deco_gas_change5 = 0;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2429
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2430 if(char_I_deco_gas_change)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2431 {
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2432 int_temp2 = ((int)char_I_deco_gas_change) * 100;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2433 if(int_temp > int_temp2)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2434 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2435 deco_gas_change = (float)char_I_deco_gas_change / 9.995 + pres_surface;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2436 deco_gas_change += float_deco_distance;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2437 }
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2438 }
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2439 if(char_I_deco_gas_change2)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2440 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2441 int_temp2 = ((int)char_I_deco_gas_change2) * 100;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2442 if(int_temp > int_temp2)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2443 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2444 deco_gas_change2 = (float)char_I_deco_gas_change2 / 9.995 + pres_surface;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2445 deco_gas_change2 += float_deco_distance;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2446 }
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2447 }
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2448 if(char_I_deco_gas_change3)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2449 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2450 int_temp2 = ((int)char_I_deco_gas_change3) * 100;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2451 if(int_temp > int_temp2)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2452 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2453 deco_gas_change3 = (float)char_I_deco_gas_change3 / 9.995 + pres_surface;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2454 deco_gas_change3 += float_deco_distance;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2455 }
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2456 }
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2457 if(char_I_deco_gas_change4)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2458 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2459 int_temp2 = ((int)char_I_deco_gas_change4) * 100;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2460 if(int_temp > int_temp2)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2461 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2462 deco_gas_change4 = (float)char_I_deco_gas_change4 / 9.995 + pres_surface;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2463 deco_gas_change4 += float_deco_distance;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2464 }
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2465 }
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2466 if(char_I_deco_gas_change5)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2467 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2468 int_temp2 = ((int)char_I_deco_gas_change5) * 100;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2469 if(int_temp > int_temp2)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2470 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2471 deco_gas_change5 = (float)char_I_deco_gas_change5 / 9.995 + pres_surface;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2472 deco_gas_change5 += float_deco_distance;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2473 }
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2474 }
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2475
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2476 const_ppO2 = (float)char_I_const_ppO2 / 100.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2477 deco_ppO2_change = (float)char_I_deco_ppO2_change / 99.95 + pres_surface;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2478 deco_ppO2_change = deco_ppO2_change + float_deco_distance;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2479 deco_ppO2 = (float)char_I_deco_ppO2 / 100.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2480 float_desaturation_multiplier = char_I_desaturation_multiplier / 100.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2481 float_saturation_multiplier = char_I_saturation_multiplier / 100.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2482 GF_low = (float)char_I_GF_Low_percentage / 100.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2483 GF_high = (float)char_I_GF_High_percentage / 100.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2484 GF_delta = GF_high - GF_low;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2485
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2486 temp2 = (pres_respiration - pres_surface) / 0.29985;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2487 int_temp = (int)(temp2);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2488 if (int_temp < 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2489 int_temp = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2490 if (int_temp > 255)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2491 int_temp = 255;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2492 char_O_actual_pointer = int_temp;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2493
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2494 temp_depth_last_deco = (int)char_I_depth_last_deco;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2495 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2496
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2497 void calc_hauptroutine_update_tissues(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2498 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2499 int_O_calc_tissue_call_counter = int_O_calc_tissue_call_counter + 1;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2500 if (char_I_const_ppO2 == 0) // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2501 pres_diluent = pres_respiration; // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2502 else // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2503 pres_diluent = ((pres_respiration - const_ppO2)/(N2_ratio + He_ratio)); // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2504 if (pres_diluent > pres_respiration) // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2505 pres_diluent = pres_respiration; // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2506 if (pres_diluent > 0.0627) // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2507 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2508 temp_atem = N2_ratio * (pres_diluent - 0.0627); // changed in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2509 temp2_atem = He_ratio * (pres_diluent - 0.0627); // changed in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2510 char_O_diluent = (char)(pres_diluent/pres_respiration*100.0);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2511 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2512 else // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2513 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2514 temp_atem = 0.0; // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2515 temp2_atem = 0.0; // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2516 char_O_diluent = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2517 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2518 temp_surface = pres_surface;
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2519
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2520 if(!char_I_step_is_1min)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2521 calc_tissue();
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2522 else
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2523 calc_tissue_step_1_min();
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2524
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2525 int_O_gtissue_limit = (int)(pres_tissue_limit[char_O_gtissue_no] * 1000);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2526 int_O_gtissue_press = (int)((pres_tissue[char_O_gtissue_no] + pres_tissue[char_O_gtissue_no+16]) * 1000);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2527 if (char_I_deco_model == 1)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2528 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2529 temp1 = temp1 * GF_high;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2530 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2531 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2532 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2533 temp1 = temp_surface;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2534 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2535 if (pres_gtissue_limit > temp1 && char_O_deco_status == 0) // if guiding tissue can not be exposed to surface pressure immediately
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2536 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2537 char_O_nullzeit = 0; // deco necessary
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2538 char_O_deco_status = 255; // calculate deco skip nullzeit calculation
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2539 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2540 } // calc_hauptroutine_update_tissues
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2541 void calc_hauptroutine_calc_deco(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2542 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2543 do
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2544 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2545 int_temp_decostatus = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2546 calc_nextdecodepth_GF();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2547 if (temp_depth_limit > 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2548 {
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2549 calc_N2_ratio = N2_ratio;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2550 calc_He_ratio = He_ratio;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2551
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2552 if (char_I_const_ppO2 == 0) // new in v.101
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2553 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2554 deco_diluent = temp_deco; // new in v.101
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2555
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2556 if(deco_gas_change && (temp_deco < deco_gas_change))
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2557 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2558 calc_N2_ratio = deco_N2_ratio;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2559 calc_He_ratio = deco_He_ratio;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2560 }
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2561 if(deco_gas_change2 && (temp_deco < deco_gas_change2))
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2562 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2563 calc_N2_ratio = deco_N2_ratio2;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2564 calc_He_ratio = deco_He_ratio2;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2565 }
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2566 if(deco_gas_change3 && (temp_deco < deco_gas_change3))
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2567 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2568 calc_N2_ratio = deco_N2_ratio3;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2569 calc_He_ratio = deco_He_ratio3;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2570 }
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2571 if(deco_gas_change4 && (temp_deco < deco_gas_change4))
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2572 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2573 calc_N2_ratio = deco_N2_ratio4;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2574 calc_He_ratio = deco_He_ratio4;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2575 }
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2576 if(deco_gas_change5 && (temp_deco < deco_gas_change5))
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2577 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2578 calc_N2_ratio = deco_N2_ratio5;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2579 calc_He_ratio = deco_He_ratio5;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2580 }
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2581 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2582 else // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2583 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2584 if (temp_deco > deco_ppO2_change)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2585 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2586 deco_diluent = ((temp_deco - const_ppO2)/(N2_ratio + He_ratio)); // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2587 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2588 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2589 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2590 deco_diluent = ((temp_deco - deco_ppO2)/(N2_ratio + He_ratio)); // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2591 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2592 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2593 if (deco_diluent > temp_deco) // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2594 deco_diluent = temp_deco; // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2595 if (deco_diluent > 0.0627) // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2596 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2597 temp_atem = calc_N2_ratio * (deco_diluent - 0.0627); // changed in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2598 temp2_atem = calc_He_ratio * (deco_diluent - 0.0627); // changed in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2599 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2600 else // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2601 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2602 temp_atem = 0.0; // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2603 temp2_atem = 0.0; // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2604 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2605 sim_tissue_1min();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2606 update_internal_deco_table_GF();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2607 temp_decotime = 1;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2608 update_decoarray();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2609 char_O_deco_status = char_O_deco_status + 1;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2610 if (char_O_deco_status < 16)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2611 int_temp_decostatus = 1;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2612 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2613 else // if (temp_depth_limit > 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2614 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2615 char_O_deco_status = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2616 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2617 } while (int_temp_decostatus == 1);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2618 if (char_O_deco_status > 15)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2619 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2620 char_O_deco_status = 1;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2621 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2622 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2623 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2624 copy_deco_table_GF();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2625 char_O_deco_status = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2626 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2627 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2628
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2629 void calc_hauptroutine_calc_ascend_to_deco(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2630 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2631 update_startvalues();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2632 char_O_deco_status = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2633 temp_deco = pres_respiration;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2634 lock_GF_depth_list = 1; // new in v.102
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2635 do // go up to first deco
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2636 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2637 int_temp_decostatus = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2638 temp_deco = temp_deco - 1.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2639 if ( char_I_deco_model == 1) // new in v.102 , 4 = deep stops
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2640 temp_limit = temp_pres_gtissue_limit_GF_low;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2641 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2642 temp_limit = temp_pres_gtissue_limit;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2643 if ((temp_deco > temp_limit) && (temp_deco > pres_surface)) // changes in v.102
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2644 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2645 lock_GF_depth_list = 0; // new in v.102, distance to first stop > 10 mtr.
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2646 output[6] = 0;
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2647 temp_deco += 0.5;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2648
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2649 calc_N2_ratio = N2_ratio;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2650 calc_He_ratio = He_ratio;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2651
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2652 if (char_I_const_ppO2 == 0) // new in v.101 // calculate at half of the ascent
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2653 {
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2654 deco_diluent = temp_deco; // new in v.101
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2655
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2656 if(deco_gas_change && (temp_deco < deco_gas_change))
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2657 {
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2658 calc_N2_ratio = deco_N2_ratio;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2659 calc_He_ratio = deco_He_ratio;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2660 }
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2661 if(deco_gas_change2 && (temp_deco < deco_gas_change2))
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2662 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2663 calc_N2_ratio = deco_N2_ratio2;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2664 calc_He_ratio = deco_He_ratio2;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2665 }
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2666 if(deco_gas_change3 && (temp_deco < deco_gas_change3))
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2667 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2668 calc_N2_ratio = deco_N2_ratio3;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2669 calc_He_ratio = deco_He_ratio3;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2670 }
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2671 if(deco_gas_change4 && (temp_deco < deco_gas_change4))
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2672 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2673 calc_N2_ratio = deco_N2_ratio4;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2674 calc_He_ratio = deco_He_ratio4;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2675 }
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2676 if(deco_gas_change5 && (temp_deco < deco_gas_change5))
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2677 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2678 calc_N2_ratio = deco_N2_ratio5;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2679 calc_He_ratio = deco_He_ratio5;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2680 }
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2681 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2682 else // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2683 {
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2684 if (temp_deco > deco_ppO2_change)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2685 deco_diluent = ((temp_deco - const_ppO2)/(N2_ratio + He_ratio)); // new in v.101 // calculate at half of the ascent
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2686 else
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2687 deco_diluent = ((temp_deco - deco_ppO2)/(N2_ratio + He_ratio)); // new in v.101 // calculate at half of the ascent
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2688 if (deco_diluent > (temp_deco)) // new in v.101
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2689 deco_diluent = temp_deco; // new in v.101 // calculate at half of the ascent
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2690 }
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
2691 temp_deco -= 0.5;
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2692 if (deco_diluent > 0.0627) // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2693 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2694 temp_atem = calc_N2_ratio * (deco_diluent - 0.0627); // changed in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2695 temp2_atem = calc_He_ratio * (deco_diluent - 0.0627); // changed in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2696 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2697 else // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2698 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2699 temp_atem = 0.0; // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2700 temp2_atem = 0.0; // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2701 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2702 sim_tissue_1min();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2703 char_O_deco_status = char_O_deco_status + 1;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2704 if (char_O_deco_status < 16) // 16 is the limit of calculations for one time slot
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2705 int_temp_decostatus = 1;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2706 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2707 } while (int_temp_decostatus == 1);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2708 } // calc_hauptroutine_calc_ascend_to_deco
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2709
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2710 // --------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2711 // calc_tissue //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2712 // --------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2713 // optimized in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2714
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2715 void calc_tissue(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2716 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2717 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2718 lfsr 1, 0x300
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2719 movlw 0x01
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2720 movwf TBLPTRU,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2721 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2722
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2723 char_O_gtissue_no = 255;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2724 pres_gtissue_limit = 0.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2725
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2726 for (ci=0;ci<16;ci++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2727 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2728 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2729 movlw 0x02
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2730 movwf TBLPTRH,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2731 movlb 4 // fuer ci
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2732 movf ci,0,1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2733 addwf ci,0,1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2734 addwf ci,0,1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2735 addwf ci,0,1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2736 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2737 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2738 movff TABLAT,var_e2secs+1 // the order is confussing
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2739 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2740 movff TABLAT,var_e2secs // low byte first, high afterwards
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2741 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2742 movff TABLAT,var_e2secs+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2743 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2744 movff TABLAT,var_e2secs+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2745 addlw 0x40
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2746 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2747 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2748 movff TABLAT,var2_e2secs+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2749 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2750 movff TABLAT,var2_e2secs
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2751 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2752 movff TABLAT,var2_e2secs+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2753 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2754 movff TABLAT,var2_e2secs+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2755 addlw 0x40
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2756 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2757 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2758 movff TABLAT,var_a+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2759 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2760 movff TABLAT,var_a
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2761 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2762 movff TABLAT,var_a+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2763 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2764 movff TABLAT,var_a+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2765 addlw 0x40
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2766 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2767 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2768 movff TABLAT,var2_a+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2769 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2770 movff TABLAT,var2_a
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2771 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2772 movff TABLAT,var2_a+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2773 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2774 movff TABLAT,var2_a+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2775 addlw 0x40
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2776 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2777 incf TBLPTRH,1,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2778 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2779 movff TABLAT,var_b+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2780 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2781 movff TABLAT,var_b
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2782 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2783 movff TABLAT,var_b+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2784 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2785 movff TABLAT,var_b+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2786 addlw 0x40
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2787 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2788 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2789 movff TABLAT,var2_b+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2790 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2791 movff TABLAT,var2_b
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2792 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2793 movff TABLAT,var2_b+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2794 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2795 movff TABLAT,var2_b+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2796 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2797 // the start values are the previous end values // write new values in temp
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2798
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2799 if( (var_e2secs < 0.0000363)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2800 || (var_e2secs > 0.00577)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2801 || (var2_e2secs < 0.0000961)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2802 || (var2_e2secs > 0.150)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2803 || (var_a < 0.231)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2804 || (var_a > 1.27)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2805 || (var_b < 0.504)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2806 || (var_b > 0.966)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2807 || (var2_a < 0.510)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2808 || (var2_a > 1.75)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2809 || (var2_b < 0.423)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2810 || (var2_b > 0.927)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2811 )
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2812 int_O_DBG_pre_bitfield |= DBG_ZH16ERR;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2813
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2814 // N2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2815 temp_tissue = (temp_atem - pres_tissue[ci]) * var_e2secs;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2816 temp_tissue_safety();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2817 pres_tissue[ci] = pres_tissue[ci] + temp_tissue;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2818
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2819 // He
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2820 temp_tissue = (temp2_atem - pres_tissue[ci+16]) * var2_e2secs;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2821 temp_tissue_safety();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2822 pres_tissue[ci+16] = pres_tissue[ci+16] + temp_tissue;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2823
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2824 temp_tissue = pres_tissue[ci] + pres_tissue[ci+16];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2825
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2826 var_a = (var_a * pres_tissue[ci] + var2_a * pres_tissue[ci+16]) / temp_tissue;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2827 var_b = (var_b * pres_tissue[ci] + var2_b * pres_tissue[ci+16]) / temp_tissue;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2828 pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2829 if (pres_tissue_limit[ci] < 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2830 pres_tissue_limit[ci] = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2831 if (pres_tissue_limit[ci] > pres_gtissue_limit)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2832 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2833 pres_gtissue_limit = pres_tissue_limit[ci];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2834 char_O_gtissue_no = ci;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2835 }//if
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2836 } // for
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2837 }//calc_tissue(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2838
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2839 // ----------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2840 // calc_nullzeit //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2841 // ----------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2842 // calculates the remaining bottom time
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2843
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2844 // unchanged in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2845
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2846 void calc_nullzeit(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2847 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2848 char_O_nullzeit = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2849 int_temp = 1;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2850 do
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2851 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2852 backup_sim_pres_tissue();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2853 sim_tissue_10min();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2854 char_O_nullzeit = char_O_nullzeit + 10;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2855 int_temp = int_temp + 1;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2856 if (char_I_deco_model == 1)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2857 temp1 = GF_high * temp_pres_gtissue_diff + temp_pres_gtissue;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2858 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2859 temp1 = temp_pres_gtissue_limit;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2860 if (temp1 > temp_surface) // changed in v.102 , if guiding tissue can not be exposed to surface pressure immediately
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2861 int_temp = 255;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2862 } while (int_temp < 17);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2863 if (int_temp == 255)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2864 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2865 restore_sim_pres_tissue();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2866 char_O_nullzeit = char_O_nullzeit - 10;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2867 } //if int_temp == 255]
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2868 int_temp = 1;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2869 if (char_O_nullzeit < 60)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2870 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2871 do
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2872 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2873 sim_tissue_1min();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2874 char_O_nullzeit = char_O_nullzeit + 1;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2875 int_temp = int_temp + 1; // new in v.102a
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2876 if (char_I_deco_model == 1)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2877 temp1 = GF_high * temp_pres_gtissue_diff + temp_pres_gtissue;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2878 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2879 temp1 = temp_pres_gtissue_limit;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2880 if (temp1 > temp_surface) // changed in v.102 , if guiding tissue can not be exposed to surface pressure immediately
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2881 int_temp = 255;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2882 } while (int_temp < 10);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2883 if (int_temp == 255)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2884 char_O_nullzeit = char_O_nullzeit - 1;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2885 } // if char_O_nullzeit < 60
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2886 } //calc_nullzeit
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2887
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2888 // -------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2889 // backup_sim_pres_tissue //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2890 // -------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2891 void backup_sim_pres_tissue(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2892 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2893 for (x = 0;x<16;x++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2894 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2895 sim_pres_tissue_backup[x] = sim_pres_tissue[x];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2896 sim_pres_tissue_backup[x+16] = sim_pres_tissue[x+16];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2897 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2898 } // backup_sim
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2899
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2900 // --------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2901 // restore_sim_pres_tissue //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2902 // --------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2903 void restore_sim_pres_tissue(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2904 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2905 for (x = 0;x<16;x++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2906 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2907 sim_pres_tissue[x] = sim_pres_tissue_backup[x];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2908 sim_pres_tissue[x+16] = sim_pres_tissue_backup[x+16];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2909 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2910 } // restore_sim
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2911
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2912 // ------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2913 // calc_ascenttime //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2914 // ------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2915
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2916 void calc_ascenttime(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2917 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2918 if (pres_respiration > pres_surface)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2919 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2920 switch (char_O_deco_status)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2921 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2922 case 2:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2923 char_O_ascenttime = 255;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2924 break;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2925 case 1:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2926 break;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2927 default:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2928 temp1 = pres_respiration - pres_surface + 0.6; // + 0.6 hence 1 minute ascent time from a depth of 4 meter on
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2929 if (temp1 < 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2930 temp1 = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2931 if (temp1 > 255)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2932 temp1 = 255;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2933 char_O_ascenttime = (char)temp1;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2934
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2935 for(ci=0;ci<7;ci++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2936 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2937 x = char_O_ascenttime + char_O_array_decotime[ci];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2938 if (x < char_O_ascenttime)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2939 char_O_ascenttime = 255;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2940 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2941 char_O_ascenttime = x;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2942 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2943 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2944 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2945 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2946 char_O_ascenttime = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2947 } // calc_ascenttime()
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2948
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2949
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2950 // ---------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2951 // update_startvalues //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2952 // ---------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2953 // updated in v.102
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2954
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2955 void update_startvalues(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2956 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2957 temp_pres_gtissue_limit = pres_gtissue_limit;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2958 temp_pres_gtissue = pres_tissue[char_O_gtissue_no] + pres_tissue[char_O_gtissue_no+16];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2959 temp_pres_gtissue_diff = temp_pres_gtissue_limit - temp_pres_gtissue; // negative number
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2960 temp_pres_gtissue_limit_GF_low = GF_low * temp_pres_gtissue_diff + temp_pres_gtissue;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2961 temp_pres_gtissue_limit_GF_low_below_surface = temp_pres_gtissue_limit_GF_low - pres_surface;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2962 if (temp_pres_gtissue_limit_GF_low_below_surface < 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2963 temp_pres_gtissue_limit_GF_low_below_surface = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2964
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2965 temp_gtissue_no = char_O_gtissue_no;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2966 for (x = 0;x<16;x++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2967 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2968 sim_pres_tissue[x] = pres_tissue[x];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2969 sim_pres_tissue[x+16] = pres_tissue[x+16];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2970 sim_pres_tissue_limit[x] = pres_tissue_limit[x];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2971 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2972 } // update_startvalues
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2973
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2974
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2975 // ------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2976 // sim_tissue_1min //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2977 // ------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2978 // optimized in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2979
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2980 void sim_tissue_1min(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2981 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2982 temp_pres_gtissue_limit = 0.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2983 temp_gtissue_no = 255;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2984
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2985 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2986 lfsr 1, 0x300
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2987 movlw 0x01
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2988 movwf TBLPTRU,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2989 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2990
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2991
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2992 for (ci=0;ci<16;ci++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2993 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2994 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2995 movlw 0x02
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2996 movwf TBLPTRH,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2997 movlb 4 // fuer ci
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2998 movf ci,0,1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
2999 addwf ci,0,1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3000 addwf ci,0,1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3001 addwf ci,0,1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3002 addlw 0x80
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3003 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3004 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3005 movff TABLAT,var_a+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3006 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3007 movff TABLAT,var_a
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3008 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3009 movff TABLAT,var_a+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3010 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3011 movff TABLAT,var_a+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3012 addlw 0x40
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3013 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3014 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3015 movff TABLAT,var2_a+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3016 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3017 movff TABLAT,var2_a
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3018 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3019 movff TABLAT,var2_a+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3020 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3021 movff TABLAT,var2_a+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3022 addlw 0x40
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3023 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3024 incf TBLPTRH,1,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3025 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3026 movff TABLAT,var_b+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3027 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3028 movff TABLAT,var_b
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3029 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3030 movff TABLAT,var_b+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3031 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3032 movff TABLAT,var_b+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3033 addlw 0x40
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3034 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3035 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3036 movff TABLAT,var2_b+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3037 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3038 movff TABLAT,var2_b
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3039 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3040 movff TABLAT,var2_b+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3041 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3042 movff TABLAT,var2_b+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3043 addlw 0xC0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3044 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3045 incf TBLPTRH,1,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3046 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3047 movff TABLAT,var_e1min+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3048 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3049 movff TABLAT,var_e1min
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3050 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3051 movff TABLAT,var_e1min+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3052 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3053 movff TABLAT,var_e1min+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3054 addlw 0x40
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3055 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3056 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3057 movff TABLAT,var2_e1min+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3058 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3059 movff TABLAT,var2_e1min
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3060 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3061 movff TABLAT,var2_e1min+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3062 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3063 movff TABLAT,var2_e1min+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3064 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3065 // N2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3066 temp_tissue = (temp_atem - sim_pres_tissue[ci]) * var_e1min;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3067 temp_tissue_safety();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3068 sim_pres_tissue[ci] = sim_pres_tissue[ci] + temp_tissue;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3069 // He
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3070 temp_tissue = (temp2_atem - sim_pres_tissue[ci+16]) * var2_e1min;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3071 temp_tissue_safety();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3072 sim_pres_tissue[ci+16] = sim_pres_tissue[ci+16] + temp_tissue;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3073 // pressure limit
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3074 temp_tissue = sim_pres_tissue[ci] + sim_pres_tissue[ci+16];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3075 var_a = (var_a * sim_pres_tissue[ci] + var2_a * sim_pres_tissue[ci+16]) / temp_tissue;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3076 var_b = (var_b * sim_pres_tissue[ci] + var2_b * sim_pres_tissue[ci+16]) / temp_tissue;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3077 sim_pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3078
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3079 if (sim_pres_tissue_limit[ci] < 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3080 sim_pres_tissue_limit[ci] = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3081 if (sim_pres_tissue_limit[ci] > temp_pres_gtissue_limit)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3082 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3083 temp_pres_gtissue = temp_tissue;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3084 temp_pres_gtissue_limit = sim_pres_tissue_limit[ci];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3085 temp_gtissue_no = ci;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3086 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3087 } // for
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3088 temp_pres_gtissue_diff = temp_pres_gtissue_limit - temp_pres_gtissue;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3089 temp_pres_gtissue_limit_GF_low = GF_low * temp_pres_gtissue_diff + temp_pres_gtissue;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3090 temp_pres_gtissue_limit_GF_low_below_surface = temp_pres_gtissue_limit_GF_low - pres_surface;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3091 if (temp_pres_gtissue_limit_GF_low_below_surface < 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3092 temp_pres_gtissue_limit_GF_low_below_surface = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3093 } //sim_tissue_1min()
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3094
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3095 //--------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3096 // sim_tissue_10min //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3097 //--------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3098
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3099 // Attention!! uses var_e1min und var2_e1min to load 10min data !!!
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3100 // is identical to sim_tissue_1min routine except for the different load of those variables
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3102 // optimized in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3103
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3104 void sim_tissue_10min(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3105 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3106 temp_pres_gtissue_limit = 0.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3107 temp_gtissue_no = 255;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3108
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3109 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3110 lfsr 1, 0x300
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3111 movlw 0x01
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3112 movwf TBLPTRU,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3113 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3114
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3115 for (ci=0;ci<16;ci++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3116 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3117 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3118 movlw 0x02
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3119 movwf TBLPTRH,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3120 movlb 4 // fuer ci
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3121 movf ci,0,1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3122 addwf ci,0,1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3123 addwf ci,0,1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3124 addwf ci,0,1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3125 addlw 0x80
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3126 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3127 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3128 movff TABLAT,var_a+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3129 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3130 movff TABLAT,var_a
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3131 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3132 movff TABLAT,var_a+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3133 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3134 movff TABLAT,var_a+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3135 addlw 0x40
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3136 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3137 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3138 movff TABLAT,var2_a+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3139 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3140 movff TABLAT,var2_a
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3141 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3142 movff TABLAT,var2_a+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3143 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3144 movff TABLAT,var2_a+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3145 addlw 0x40
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3146 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3147 incf TBLPTRH,1,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3148 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3149 movff TABLAT,var_b+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3150 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3151 movff TABLAT,var_b
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3152 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3153 movff TABLAT,var_b+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3154 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3155 movff TABLAT,var_b+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3156 addlw 0x40
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3157 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3158 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3159 movff TABLAT,var2_b+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3160 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3161 movff TABLAT,var2_b
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3162 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3163 movff TABLAT,var2_b+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3164 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3165 movff TABLAT,var2_b+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3166 addlw 0xC0 // different to 1 min
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3167 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3168 incf TBLPTRH,1,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3169 incf TBLPTRH,1,0 // different to 1 min
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3170 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3171 movff TABLAT,var_e1min+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3172 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3173 movff TABLAT,var_e1min
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3174 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3175 movff TABLAT,var_e1min+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3176 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3177 movff TABLAT,var_e1min+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3178 addlw 0x40
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3179 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3180 //incf TBLPTRH,1,0 // different to 1 min
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3181 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3182 movff TABLAT,var2_e1min+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3183 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3184 movff TABLAT,var2_e1min
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3185 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3186 movff TABLAT,var2_e1min+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3187 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3188 movff TABLAT,var2_e1min+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3189 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3190 // N2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3191 temp_tissue = (temp_atem - sim_pres_tissue[ci]) * var_e1min;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3192 temp_tissue_safety();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3193 sim_pres_tissue[ci] = sim_pres_tissue[ci] + temp_tissue;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3194 // He
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3195 temp_tissue = (temp2_atem - sim_pres_tissue[ci+16]) * var2_e1min;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3196 temp_tissue_safety();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3197 sim_pres_tissue[ci+16] = sim_pres_tissue[ci+16] + temp_tissue;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3198 // pressure limit
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3199 temp_tissue = sim_pres_tissue[ci] + sim_pres_tissue[ci+16];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3200 var_a = (var_a * sim_pres_tissue[ci] + var2_a * sim_pres_tissue[ci+16]) / temp_tissue;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3201 var_b = (var_b * sim_pres_tissue[ci] + var2_b * sim_pres_tissue[ci+16]) / temp_tissue;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3202
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3203 sim_pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3204 if (sim_pres_tissue_limit[ci] < 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3205 sim_pres_tissue_limit[ci] = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3206 if (sim_pres_tissue_limit[ci] > temp_pres_gtissue_limit)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3207 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3208 temp_pres_gtissue = temp_tissue;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3209 temp_pres_gtissue_limit = sim_pres_tissue_limit[ci];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3210 temp_gtissue_no = ci;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3211 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3212 } // for
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3213 temp_pres_gtissue_diff = temp_pres_gtissue_limit - temp_pres_gtissue; // negative number
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3214 temp_pres_gtissue_limit_GF_low = GF_low * temp_pres_gtissue_diff + temp_pres_gtissue;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3215 temp_pres_gtissue_limit_GF_low_below_surface = temp_pres_gtissue_limit_GF_low - pres_surface;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3216 if (temp_pres_gtissue_limit_GF_low_below_surface < 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3217 temp_pres_gtissue_limit_GF_low_below_surface = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3218 } //sim_tissue_10min()
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3219
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3220
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3221 // ------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3222 // clear_decoarray //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3223 // ------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3224 // unchanged in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3225
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3226 void clear_decoarray(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3227 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3228 char_O_array_decodepth[0] = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3229 char_O_array_decodepth[1] = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3230 char_O_array_decodepth[2] = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3231 char_O_array_decodepth[3] = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3232 char_O_array_decodepth[4] = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3233 char_O_array_decodepth[5] = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3234 char_O_array_decotime[0] = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3235 char_O_array_decotime[1] = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3236 char_O_array_decotime[2] = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3237 char_O_array_decotime[3] = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3238 char_O_array_decotime[4] = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3239 char_O_array_decotime[5] = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3240 char_O_array_decotime[6] = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3241 } // clear_decoarray
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3242
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3243
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3244 // -------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3245 // update_decoarray //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3246 // -------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3247 // unchanged in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3248
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3249 void update_decoarray()
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3250 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3251 x = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3252 do
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3253 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3254 if (char_O_array_decodepth[x] == temp_depth_limit)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3255 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3256 int_temp = char_O_array_decotime[x] + temp_decotime;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3257 if (int_temp < 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3258 int_temp = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3259 if (int_temp > 240)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3260 int_temp = 240;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3261 char_O_array_decotime[x] = int_temp;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3262 x = 10; // exit
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3263 } // if
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3264 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3265 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3266 if (char_O_array_decodepth[x] == 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3267 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3268 if (temp_depth_limit > 255)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3269 char_O_array_decodepth[x] = 255;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3270 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3271 char_O_array_decodepth[x] = (char)temp_depth_limit;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3272 int_temp = char_O_array_decotime[x] + temp_decotime;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3273 if (int_temp > 240)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3274 char_O_array_decotime[x] = 240;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3275 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3276 char_O_array_decotime[x] = (char)int_temp;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3277 x = 10; // exit
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3278 } // if
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3279 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3280 x++;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3281 } // else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3282 } while (x<6);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3283 if (x == 6)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3284 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3285 int_temp = char_O_array_decotime[6] + temp_decotime;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3286 if (int_temp > 220)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3287 char_O_array_decotime[6] = 220;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3288 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3289 char_O_array_decotime[6] = (char)int_temp;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3290 } // if x == 6
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3291 } // update_decoarray
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3292
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3293
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3294 // -----------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3295 // calc_gradient_factor //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3296 // -----------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3297 // optimized in v.101 (var_a)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3298 // new code in v.102
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3299
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3300 void calc_gradient_factor(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3301 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3302 // tissue > respiration (entsaettigungsvorgang)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3303 // gradient ist wieviel prozent an limit mit basis tissue
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3304 // dh. 0% = respiration == tissue
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3305 // dh. 100% = respiration == limit
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3306 temp_tissue = pres_tissue[char_O_gtissue_no] + pres_tissue[char_O_gtissue_no+16];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3307 temp1 = temp_tissue - pres_respiration;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3308 temp2 = temp_tissue - pres_tissue_limit[char_O_gtissue_no]; // changed in v.102
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3309 temp2 = temp1/temp2;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3310 temp2 = temp2 * 100; // displayed in percent
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3311 if (temp2 < 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3312 temp2 = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3313 if (temp2 > 255)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3314 temp2 = 255;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3315 if (temp1 < 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3316 char_O_gradient_factor = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3317 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3318 char_O_gradient_factor = (char)temp2;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3319
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3320 temp3 = temp2;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3321
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3322 if (char_I_deco_model == 1) // calculate relative gradient factor
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3323 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3324 temp1 = (float)temp_depth_GF_low_meter * 0.09995;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3325 temp2 = pres_respiration - pres_surface;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3326 if (temp2 <= 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3327 temp1 = GF_high;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3328 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3329 if (temp2 >= temp1)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3330 temp1 = GF_low;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3331 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3332 temp1 = GF_low + (temp1 - temp2)/temp1*GF_delta;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3333 if (temp_depth_GF_low_meter == 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3334 temp1 = GF_high;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3335 temp2 = temp3 / temp1; // temp3 is already in percent
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3336 if (temp2 < 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3337 temp2 = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3338 if (temp2 > 255)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3339 temp2 = 255;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3340 char_O_relative_gradient_GF = (char)temp2;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3341 } // calc relative gradient factor
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3342 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3343 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3344 char_O_relative_gradient_GF = char_O_gradient_factor;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3345 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3346 } // calc_gradient
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3347
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3348 // ---------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3349 // calc_gradient_array_only //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3350 // ---------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3351 // optimized in v.101 (var_a)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3352 // new code in v.102
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3353
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3354 void calc_gradient_array_only()
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3355 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3356 pres_respiration = (float)int_I_pres_respiration / 1000.0; // assembler code uses different digit system
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3357 for (ci=0;ci<16;ci++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3358 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3359 temp_tissue = pres_tissue[ci] + pres_tissue[ci+16];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3360 temp1 = temp_tissue - pres_respiration;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3361 temp2 = temp_tissue - pres_tissue_limit[ci];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3362 temp2 = temp1/temp2;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3363 temp2 = temp2 * 200; // because of output in (Double-)percentage
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3364 if (temp2 < 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3365 temp2 = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3366 if (temp2 > 255)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3367 temp2 = 255;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3368 if (temp1 < 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3369 char_O_array_gradient_weighted[ci] = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3370 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3371 char_O_array_gradient_weighted[ci] = (char)temp2;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3372 } // for
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3373 } // calc_gradient_array_only
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3374
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3375
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3376 // -------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3377 // calc_desaturation_time //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3378 // -------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3379 // FIXED N2_ratio
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3380 // unchanged in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3381
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3382 void calc_desaturation_time(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3383 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3384 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3385 lfsr 1, 0x300
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3386 movlw 0x01
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3387 movwf TBLPTRU,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3388 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3389 N2_ratio = 0.7902; // FIXED sum as stated in b"uhlmann
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3390 pres_surface = (float)int_I_pres_surface / 1000.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3391 temp_atem = N2_ratio * (pres_surface - 0.0627);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3392 int_O_desaturation_time = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3393 float_desaturation_multiplier = char_I_desaturation_multiplier / 142.0; // new in v.101 (70,42%/100.=142)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3394
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3395 for (ci=0;ci<16;ci++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3396 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3397 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3398 movlw 0x04
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3399 movwf TBLPTRH,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3400 movlb 4 // fuer ci
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3401 movf ci,0,1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3402 addwf ci,0,1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3403 addwf ci,0,1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3404 addwf ci,0,1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3405 addlw 0x80
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3406 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3407 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3408 movff TABLAT,var_halftimes+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3409 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3410 movff TABLAT,var_halftimes
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3411 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3412 movff TABLAT,var_halftimes+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3413 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3414 movff TABLAT,var_halftimes+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3415 addlw 0x40
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3416 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3417 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3418 movff TABLAT,var2_halftimes+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3419 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3420 movff TABLAT,var2_halftimes
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3421 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3422 movff TABLAT,var2_halftimes+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3423 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3424 movff TABLAT,var2_halftimes+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3425 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3426
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3427 // saturation_time (for flight) and N2_saturation in multiples of halftime
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3428 // version v.100: 1.1 = 10 percent distance to totally clean (totally clean is not possible, would take infinite time )
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3429 // new in version v.101: 1.07 = 7 percent distance to totally clean (totally clean is not possible, would take infinite time )
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3430 // changes in v.101: 1.05 = 5 percent dist to totally clean is new desaturation point for display and noFly calculations
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3431 // N2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3432 temp1 = 1.05 * temp_atem;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3433 temp1 = temp1 - pres_tissue[ci];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3434 temp2 = temp_atem - pres_tissue[ci];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3435 if (temp2 >= 0.0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3436 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3437 temp1 = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3438 temp2 = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3439 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3440 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3441 temp1 = temp1 / temp2;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3442 if (temp1 > 0.0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3443 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3444 temp1 = log(1.0 - temp1);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3445 temp1 = temp1 / -0.6931; // temp1 is the multiples of half times necessary.
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3446 // 0.6931 is ln(2), because the math function log() calculates with a base of e not 2 as requested.
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3447 // minus because log is negative
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3448 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
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3449 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3450 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3451 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3452 temp1 = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3453 temp2 = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3454 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3455
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3456 // He
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3457 temp3 = 0.1 - pres_tissue[ci+16];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3458 if (temp3 >= 0.0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3459 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3460 temp3 = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3461 temp4 = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3462 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3463 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3464 temp3 = -1.0 * temp3 / pres_tissue[ci+16];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3465 if (temp3 > 0.0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3466 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3467 temp3 = log(1.0 - temp3);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3468 temp3 = temp3 / -0.6931; // temp1 is the multiples of half times necessary.
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3469 // 0.6931 is ln(2), because the math function log() calculates with a base of e not 2 as requested.
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3470 // minus because log is negative
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3471 temp4 = var2_halftimes * temp3 / float_desaturation_multiplier; // time necessary (in minutes ) for "complete" desaturation, new in v.101 float_desaturation_multiplier
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3472 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3473 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3474 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3475 temp3 = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3476 temp4 = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3477 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3478
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3479 // saturation_time (for flight)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3480 if (temp4 > temp2)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3481 int_temp = (int)temp4;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3482 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3483 int_temp = (int)temp2;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3484 if(int_temp > int_O_desaturation_time)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3485 int_O_desaturation_time = int_temp;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3486
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3487 // N2 saturation in multiples of halftime for display purposes
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3488 temp2 = temp1 * 20.0; // 0 = 1/8, 120 = 0, 249 = 8
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3489 temp2 = temp2 + 80.0; // set center
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3490 if (temp2 < 0.0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3491 temp2 = 0.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3492 if (temp2 > 255.0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3493 temp2 = 255.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3494 char_O_tissue_saturation[ci] = (char)temp2;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3495 // He saturation in multiples of halftime for display purposes
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3496 temp4 = temp3 * 20.0; // 0 = 1/8, 120 = 0, 249 = 8
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3497 temp4 = temp4 + 80.0; // set center
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3498 if (temp4 < 0.0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3499 temp4 = 0.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3500 if (temp4 > 255.0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3501 temp4 = 255.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3502 char_O_tissue_saturation[ci+16] = (char)temp4;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3503 } // for
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3504 } // calc_desaturation_time
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3505
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3506
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3507 // --------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3508 // calc_wo_deco_step_1_min //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3509 // --------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3510 // FIXED N2 Ratio
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3511 // optimized in v.101 (...saturation_multiplier)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3512 // desaturation slowed down to 70,42%
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3513
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3514 void calc_wo_deco_step_1_min(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3515 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3516 if(flag_in_divemode)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3517 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3518 flag_in_divemode = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3519 set_dbg_end_of_dive();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3520 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3521 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3522 lfsr 1, 0x300
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3523 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3524 N2_ratio = 0.7902; // FIXED, sum lt. buehlmann
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3525 pres_respiration = (float)int_I_pres_respiration / 1000.0; // assembler code uses different digit system
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3526 pres_surface = (float)int_I_pres_surface / 1000.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3527 temp_atem = N2_ratio * (pres_respiration - 0.0627); // 0.0627 is the extra pressure in the body
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3528 temp2_atem = 0.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3529 temp_surface = pres_surface; // the b"uhlmann formula using temp_surface does not use the N2_ratio
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3530 float_desaturation_multiplier = char_I_desaturation_multiplier / 142.0; // new in v.101 (70,42%/100.=142)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3531 float_saturation_multiplier = char_I_saturation_multiplier / 100.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3532
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3533 calc_tissue_step_1_min(); // update the pressure in the 16 tissues in accordance with the new ambient pressure
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3534 clear_decoarray();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3535 char_O_deco_status = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3536 char_O_nullzeit = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3537 char_O_ascenttime = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3538 calc_gradient_factor();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3539
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3540 } // calc_wo_deco_step_1_min(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3541
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3542
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3543 // -------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3544 // calc_tissue_step_1_min //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3545 // -------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3546 // optimized in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3547
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3548 void calc_tissue_step_1_min(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3549 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3550 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3551 lfsr 1, 0x300
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3552 movlw 0x01
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3553 movwf TBLPTRU,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3554 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3555
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3556 char_O_gtissue_no = 255;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3557 pres_gtissue_limit = 0.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3558
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3559 for (ci=0;ci<16;ci++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3560 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3561 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3562 movlw 0x02
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3563 movwf TBLPTRH,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3564 movlb 4 // fuer ci
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3565 movf ci,0,1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3566 addwf ci,0,1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3567 addwf ci,0,1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3568 addwf ci,0,1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3569 addlw 0x80
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3570 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3571 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3572 movff TABLAT,var_a+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3573 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3574 movff TABLAT,var_a
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3575 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3576 movff TABLAT,var_a+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3577 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3578 movff TABLAT,var_a+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3579 addlw 0x40
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3580 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3581 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3582 movff TABLAT,var2_a+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3583 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3584 movff TABLAT,var2_a
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3585 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3586 movff TABLAT,var2_a+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3587 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3588 movff TABLAT,var2_a+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3589 addlw 0x40
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3590 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3591 incf TBLPTRH,1,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3592 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3593 movff TABLAT,var_b+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3594 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3595 movff TABLAT,var_b
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3596 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3597 movff TABLAT,var_b+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3598 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3599 movff TABLAT,var_b+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3600 addlw 0x40
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3601 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3602 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3603 movff TABLAT,var2_b+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3604 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3605 movff TABLAT,var2_b
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3606 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3607 movff TABLAT,var2_b+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3608 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3609 movff TABLAT,var2_b+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3610 addlw 0xC0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3611 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3612 incf TBLPTRH,1,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3613 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3614 movff TABLAT,var_e1min+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3615 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3616 movff TABLAT,var_e1min
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3617 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3618 movff TABLAT,var_e1min+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3619 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3620 movff TABLAT,var_e1min+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3621 addlw 0x40
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3622 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3623 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3624 movff TABLAT,var2_e1min+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3625 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3626 movff TABLAT,var2_e1min
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3627 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3628 movff TABLAT,var2_e1min+3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3629 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3630 movff TABLAT,var2_e1min+2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3631 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3632
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3633 // N2 1 min
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3634 temp_tissue = (temp_atem - pres_tissue[ci]) * var_e1min;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3635 temp_tissue_safety();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3636 pres_tissue[ci] = pres_tissue[ci] + temp_tissue;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3637
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3638 // He 1 min
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3639 temp_tissue = (temp2_atem - pres_tissue[ci+16]) * var2_e1min;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3640 temp_tissue_safety();
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3641 pres_tissue[ci+16] = pres_tissue[ci+16] + temp_tissue;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3642
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3643 temp_tissue = pres_tissue[ci] + pres_tissue[ci+16];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3644 var_a = (var_a * pres_tissue[ci] + var2_a * pres_tissue[ci+16]) / temp_tissue;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3645 var_b = (var_b * pres_tissue[ci] + var2_b * pres_tissue[ci+16]) / temp_tissue;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3646 pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3647 if (pres_tissue_limit[ci] < 0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3648 pres_tissue_limit[ci] = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3649 if (pres_tissue_limit[ci] > pres_gtissue_limit)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3650 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3651 pres_gtissue_limit = pres_tissue_limit[ci];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3652 char_O_gtissue_no = ci;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3653 }//if
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3654
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
3655 if(!char_I_step_is_1min)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
3656 {
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
3657 // gradient factor array for graphical display
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
3658 // display range is 0 to 250! in steps of 5 for 1 pixel
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
3659 // the display is divided in 6 blocks
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
3660 // -> double the gradient 100% = 200
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
3661 // tissue > respiration (entsaettigungsvorgang)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
3662 // gradient ist wieviel prozent an limit von tissue aus
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
3663 // dh. 0% = respiration == tissue
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
3664 // dh. 100% = respiration == limit
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
3665 temp1 = temp_tissue - pres_respiration;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
3666 temp2 = temp_tissue - pres_tissue_limit[ci]; // changed in v.102
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
3667 temp2 = temp1/temp2;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
3668 temp2 = temp2 * 200; // because of output in (Double-)percentage
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
3669 if (temp2 < 0)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
3670 temp2 = 0;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
3671 if (temp2 > 255)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
3672 temp2 = 255;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
3673 if (temp1 < 0)
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
3674 char_O_array_gradient_weighted[ci] = 0;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
3675 else
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
3676 char_O_array_gradient_weighted[ci] = (char)temp2;
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
3677 }
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3678 } // for
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3679 } // calc wo deco 1min
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3680
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3681 #if 0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3682 // --------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3683 // debug //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3684 // --------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3685 void debug(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3686 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3687 for (ci=0;ci<32;ci++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3688 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3689 int_O_tissue_for_debug[ci] = (unsigned int)(pres_tissue[ci] *1000);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3690 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3691 } // void debug(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3692 #endif
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3693
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3694 // ----------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3695 // md hash //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3696 // ----------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3697 void hash(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3698 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3699 // init
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3700 for (md_i=0;md_i<16;md_i++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3701 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3702 md_state[md_i] = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3703 md_cksum[md_i] = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3704 } // for md_i 16
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3705
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3706 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3707 movlw 0x01
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3708 movwf TBLPTRU,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3709 movlw 0x06
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3710 movwf TBLPTRH,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3711 movlw 0x00
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3712 movwf TBLPTRL,0
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
3713 _endasm;
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3714 for (md_i=0;md_i<127;md_i++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3715 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3716 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3717 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3718 movff TABLAT,md_temp
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3719 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3720 md_pi_subst[md_i] = md_temp;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3721 } // for md_i 256
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3722 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3723 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3724 movff TABLAT,md_temp
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
3725 _endasm;
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3726 md_pi_subst[127] = md_temp;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3727 for (md_i=0;md_i<127;md_i++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3728 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3729 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3730 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3731 movff TABLAT,md_temp
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3732 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3733 md_pi_subst[md_i+128] = md_temp;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3734 } // for md_i 256
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3735 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3736 TBLRD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3737 movff TABLAT,md_temp
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3738 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3739 md_pi_subst[255] = md_temp;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3740
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3741 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3742 movlw 0x00
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3743 movwf TBLPTRU,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3744 movlw 0x00
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3745 movwf TBLPTRH,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3746 movlw 0x00
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3747 movwf TBLPTRL,0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3748 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3749 // cycle buffers
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3750 for (md_pointer=0x0000;md_pointer<0x17f3;md_pointer++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3751 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3752 md_t = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3753 for (md_i=0;md_i<16;md_i++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3754 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3755 if(md_pointer == 9)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3756 md_temp = md_cksum[md_i];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3757 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3758 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3759 _asm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3760 TBLRDPOSTINC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3761 movff TABLAT,md_temp
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3762 _endasm
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3763 } // else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3764 md_buffer[md_i] = md_temp;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3765 md_state[md_i+16] = md_buffer[md_i];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3766 md_state[md_i+32] = (unsigned char)(md_buffer[md_i] ^ md_state[md_i]);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3767 } // for md_i 16
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3768
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3769 for (md_i=0;md_i<18;md_i++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3770 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3771 for (md_j=0;md_j<48;md_j++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3772 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3773 md_state[md_j] = (unsigned char)(md_state[md_j] ^ md_pi_subst[md_t]);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3774 md_t = md_state[md_j];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3775 } // for md_j 48
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3776 md_t = (unsigned char)(md_t+1);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3777 } // for md_i 18
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3778 md_t = md_cksum[15];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3779
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3780 for (md_i=0;md_i<16;md_i++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3781 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3782 md_cksum[md_i] = (unsigned char)(md_cksum[md_i] ^ md_pi_subst[(md_buffer[md_i] ^ md_t)]);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3783 md_t = md_cksum[md_i];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3784 } // for md_i 16
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3785 } // for md_pointer
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3786 } // void hash(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3787
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3788 // ---------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3789 // clear_CNS_fraction //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3790 // ---------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3791 // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3792
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3793 void clear_CNS_fraction(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3794 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3795 CNS_fraction = 0.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3796 char_O_CNS_fraction = 0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3797 } // void clear_CNS_fraction(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3798
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3799
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3800 // --------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3801 // calc_CNS_fraction //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3802 // --------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3803 // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3804 // optimized in v.102 : with new variables char_I_actual_ppO2 and actual_ppO2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3805
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3806 // Input: char_I_actual_ppO2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3807 // Output: char_O_CNS_fraction
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3808 // Uses and Updates: CNS_fraction
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3809 // Uses: acutal_ppO2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3810
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3811 void calc_CNS_fraction(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3812 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3813 actual_ppO2 = (float)char_I_actual_ppO2 / 100.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3814
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3815 if (char_I_actual_ppO2 < 50)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3816 CNS_fraction = CNS_fraction;// no changes
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3817 else if (char_I_actual_ppO2 < 60)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3818 CNS_fraction = 1/(-54000.0 * actual_ppO2 + 54000.0) + CNS_fraction;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3819 else if (char_I_actual_ppO2 < 70)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3820 CNS_fraction = 1/(-45000.0 * actual_ppO2 + 48600.0) + CNS_fraction;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3821 else if (char_I_actual_ppO2 < 80)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3822 CNS_fraction = 1/(-36000.0 * actual_ppO2 + 42300.0) + CNS_fraction;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3823 else if (char_I_actual_ppO2 < 90)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3824 CNS_fraction = 1/(-27000.0 * actual_ppO2 + 35100.0) + CNS_fraction;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3825 else if (char_I_actual_ppO2 < 110)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3826 CNS_fraction = 1/(-18000.0 * actual_ppO2 + 27000.0) + CNS_fraction;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3827 else if (char_I_actual_ppO2 < 150)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3828 CNS_fraction = 1/(-9000.0 * actual_ppO2 + 17100.0) + CNS_fraction;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3829 else if (char_I_actual_ppO2 < 160)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3830 CNS_fraction = 1/(-22500.0 * actual_ppO2 + 37350.0) + CNS_fraction;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3831 else if (char_I_actual_ppO2 < 165)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3832 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
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3833 else if (char_I_actual_ppO2 < 170)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3834 CNS_fraction = 0.00102 + CNS_fraction; // example calculation: Sqrt((1.7/1.55)^20)*0.000404
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3835 else if (char_I_actual_ppO2 < 175)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3836 CNS_fraction = 0.00136 + CNS_fraction;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3837 else if (char_I_actual_ppO2 < 180)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3838 CNS_fraction = 0.00180 + CNS_fraction;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3839 else if (char_I_actual_ppO2 < 185)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3840 CNS_fraction = 0.00237 + CNS_fraction;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3841 else if (char_I_actual_ppO2 < 190)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3842 CNS_fraction = 0.00310 + CNS_fraction;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3843 else if (char_I_actual_ppO2 < 195)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3844 CNS_fraction = 0.00401 + CNS_fraction;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3845 else if (char_I_actual_ppO2 < 200)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3846 CNS_fraction = 0.00517 + CNS_fraction;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3847 else if (char_I_actual_ppO2 < 230)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3848 CNS_fraction = 0.0209 + CNS_fraction;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3849 else
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3850 CNS_fraction = 0.0482 + CNS_fraction; // value for 2.5
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3851
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3852 if (CNS_fraction > 2.5)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3853 CNS_fraction = 2.5;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3854 if (CNS_fraction < 0.0)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3855 CNS_fraction = 0.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3856 char_O_CNS_fraction = (char)((CNS_fraction + 0.005)* 100.0);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3857 } // void calc_CNS_fraction(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3858
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3859 // --------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3860 // calc_CNS_decrease_15min //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3861 // --------------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3862 // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3863
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3864 // calculates the half time of 90 minutes in 6 steps of 15 min
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3865
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3866 // Output: char_O_CNS_fraction
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3867 // Uses and Updates: CNS_fraction
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3868
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3869 void calc_CNS_decrease_15min(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3870 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3871 CNS_fraction = 0.890899 * CNS_fraction;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3872 char_O_CNS_fraction = (char)((CNS_fraction + 0.005)* 100.0);
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3873 }// calc_CNS_decrease_15min(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3874
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3875
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3876 // ------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3877 // calc_percentage //
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3878 // ------------------
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3879 // new in v.101
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3880
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3881 // calculates int_I_temp * char_I_temp / 100
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3882 // output is int_I_temp
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3883
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3884 void calc_percentage(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3885 {
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3886 temp1 = (float)int_I_temp;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3887 temp2 = (float)char_I_temp / 100.0;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3888 temp3 = temp1 * temp2;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3889 int_I_temp = (int)temp3;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3890 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3891 void push_tissues_to_vault(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3892 {
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
3893 cns_vault = CNS_fraction;
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3894 for (ci=0;ci<32;ci++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3895 pres_tissue_vault[ci] = pres_tissue[ci];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3896 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3897 void pull_tissues_from_vault(void)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3898 {
60
3691ea95a34d New deco code 1.10d
heinrichsweikamp
parents: 0
diff changeset
3899 CNS_fraction = cns_vault;
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3900 for (ci=0;ci<32;ci++)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3901 pres_tissue[ci] = pres_tissue_vault[ci];
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3902 }
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
3903