Mercurial > public > mk2
annotate code_part1/OSTC_code_asm_part1/simulator.asm @ 278:17aab4ca0547
BUGFIX CCR decoplan fails (bug bb42).
Make decoplaning faster (just update tissue during bottomtime).
Animate ascent depth during decoplaning.
author | JeanDo |
---|---|
date | Tue, 19 Apr 2011 02:26:41 +0200 |
parents | 5c17b2b4b9dd |
children | 8514588eb6a2 |
rev | line source |
---|---|
0 | 1 |
2 ; OSTC - diving computer code | |
3 ; Copyright (C) 2008 HeinrichsWeikamp GbR | |
4 | |
5 ; This program is free software: you can redistribute it and/or modify | |
6 ; it under the terms of the GNU General Public License as published by | |
7 ; the Free Software Foundation, either version 3 of the License, or | |
8 ; (at your option) any later version. | |
9 | |
10 ; This program is distributed in the hope that it will be useful, | |
11 ; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 ; GNU General Public License for more details. | |
14 | |
15 ; You should have received a copy of the GNU General Public License | |
16 ; along with this program. If not, see <http://www.gnu.org/licenses/>. | |
17 | |
18 | |
19 ; menu "Simulator" | |
20 ; written by: Matthias Heinrichs, info@heinrichsweikamp.com | |
21 ; written: 081210 | |
22 ; last updated: 081210 | |
23 ; known bugs: | |
24 ; ToDo: | |
25 | |
26 menu_simulator: | |
27 movlw d'1' | |
28 movwf logbook_temp1 ; Bottom time | |
29 movlw d'15' | |
30 movwf logbook_temp2 ; Max. Depth | |
31 movlw d'1' | |
32 movwf menupos | |
33 | |
34 menu_simulator1: | |
35 clrf timeout_counter2 | |
36 bsf menubit | |
37 bsf cursor | |
49 | 38 call PLED_brightness_full ;max. brightness |
0 | 39 call PLED_ClearScreen |
40 call PLED_simulator_mask | |
41 | |
42 menu_simulator2: | |
43 bcf switch_left | |
44 bcf switch_right | |
45 bcf menubit2 | |
46 bcf menubit3 | |
47 call PLED_simulator_data | |
48 call PLED_menu_cursor | |
49 | |
50 menu_simulator_loop: | |
51 call check_switches_menu | |
52 menu_simulator_loop2: | |
53 btfss onesecupdate | |
54 bra menu_simulator_loop3 | |
55 | |
56 call timeout_surfmode | |
57 call set_dive_modes | |
58 call test_charger ; check if charger IC is active | |
59 call get_battery_voltage ; get battery voltage | |
60 | |
61 bcf onesecupdate ; End of one second tasks | |
62 | |
63 menu_simulator_loop3: | |
64 btfsc menubit2 | |
65 goto menu_simulator_do ; call submenu | |
66 | |
67 btfss menubit | |
35 | 68 goto menu_simulator_exit |
0 | 69 |
70 btfsc sleepmode | |
35 | 71 goto menu_simulator_exit |
0 | 72 |
73 btfsc divemode | |
74 goto restart ; exit menu, restart and enter divemode | |
75 | |
76 bra menu_simulator_loop | |
77 | |
78 menu_simulator_do: ; calls submenu | |
79 dcfsnz menupos,F | |
80 bra simulator_startdive | |
81 dcfsnz menupos,F | |
82 bra simulator_inc_bottomtime | |
83 dcfsnz menupos,F | |
84 bra simulator_inc_maxdepth | |
85 dcfsnz menupos,F | |
86 bra simulator_calc_deco | |
87 dcfsnz menupos,F | |
88 bra simulator_show_decoplan | |
35 | 89 menu_simulator_exit: |
0 | 90 movlw d'4' |
91 movwf menupos | |
92 goto more_menu2 ; exit... | |
93 | |
94 simulator_inc_bottomtime: | |
95 movlw d'2' | |
96 addwf logbook_temp1,F ; Here: Bottomtime in m | |
97 movlw d'199' | |
98 cpfslt logbook_temp1 | |
99 movwf logbook_temp1 | |
100 movlw d'2' | |
101 movwf menupos | |
102 bra menu_simulator2 | |
103 | |
104 simulator_inc_maxdepth: | |
105 movlw d'3' | |
106 addwf logbook_temp2,F ; Here: Maxdepth in m | |
107 movlw d'99' | |
108 cpfslt logbook_temp2 | |
109 movwf logbook_temp2 | |
110 movlw d'3' | |
111 movwf menupos | |
112 bra menu_simulator2 | |
113 | |
114 simulator_startdive: | |
33 | 115 ; Descent to -15m depth |
0 | 116 ; Set standalone_simulator flag (Displays Simulator menu during simulation by pressing ENTER button) |
117 ; Clear standalone_simulator after (any) dive | |
118 bsf simulatormode_active ; normal simulator mode | |
119 bsf standalone_simulator ; Standalone Simulator active | |
120 | |
121 movff logbook_temp2,xA+0 | |
122 clrf xA+1 | |
123 movlw d'100' | |
124 movwf xB+0 | |
125 clrf xB+1 | |
126 call mult16x16 ;xA*xB=xC ; Depth in m*100 | |
127 | |
62 | 128 movlw LOW d'1000' |
0 | 129 addwf xC+0,F |
62 | 130 movlw HIGH d'1000' |
131 addwfc xC+1,F ; add 1000mBar | |
132 | |
0 | 133 movff xC+0,sim_pressure+0 |
134 movff xC+1,sim_pressure+1 | |
135 | |
136 movff sim_pressure+0,amb_pressure+0 ; override readings with simulator values | |
137 movff sim_pressure+1,amb_pressure+1 | |
138 | |
139 bcf menubit2 | |
140 bcf menubit3 | |
141 bcf menubit | |
142 bcf switch_left | |
143 bcf switch_right | |
144 | |
145 call simulator_save_tissue_data ; Stores 32 floats "pre_tissue" into bank3 | |
146 | |
200 | 147 movlw d'3' ; Begin of deco cycle (reset table). |
148 movff WREG,char_O_deco_status ; Reset Deco module. | |
149 | |
0 | 150 bsf divemode ; Set divemode flag |
151 ostc_debug 'P' ; Sends debug-information to screen if debugmode active | |
152 goto diveloop ; Start Divemode | |
153 | |
154 simulator_show_decoplan: | |
124 | 155 call PLED_ClearScreen |
156 call PLED_simdata_screen | |
157 call divemenu_see_decoplan | |
158 | |
184 | 159 WIN_LEFT .0 |
160 call PLED_standard_color | |
161 | |
124 | 162 ; Display TTS, if any... |
168 | 163 movff int_O_ascenttime+0,lo |
164 movff int_O_ascenttime+1,hi | |
165 movf lo,W | |
166 iorwf hi,W | |
124 | 167 bz simulator_decoplan_notts |
184 | 168 |
124 | 169 WIN_TOP .160 |
184 | 170 lfsr FSR2, letter |
171 OUTPUTTEXT .85 ; TTS (for translation). | |
172 STRCAT ": " | |
173 bsf leftbind | |
174 output_16 | |
175 STRCAT_PRINT "'" | |
176 | |
177 simulator_decoplan_notts: | |
224 | 178 ; Print ambient pressure in DEBUG compile, because if might |
179 ; be usefull to calibrate decompression algorithm. | |
180 #ifdef __DEBUG | |
184 | 181 movff int_I_pres_surface+0,lo |
182 movff int_I_pres_surface+1,hi | |
183 | |
224 | 184 WIN_TOP .190 |
184 | 185 lfsr FSR2, letter |
169
e26f49674956
Merge decoplan display for both GF and Buhlmann models.
JeanDo
parents:
168
diff
changeset
|
186 bsf leftbind |
e26f49674956
Merge decoplan display for both GF and Buhlmann models.
JeanDo
parents:
168
diff
changeset
|
187 output_16 |
124 | 188 bcf leftbind |
184 | 189 STRCAT_PRINT " mbar" |
224 | 190 #endif |
124 | 191 |
192 WIN_INVERT .1 ; Init new Wordprocessor | |
193 DISPLAYTEXT .188 ; Sim. Results: | |
194 WIN_INVERT .0 ; Init new Wordprocessor | |
34 | 195 |
64 | 196 simulator_show_decoplan1: |
0 | 197 bcf switch_left |
198 bcf switch_right | |
199 simulator_show_decoplan2: | |
200 btfss onesecupdate | |
201 bra simulator_show_decoplan3 | |
202 | |
203 call timeout_surfmode | |
204 call set_dive_modes | |
205 call test_charger ; check if charger IC is active | |
206 call get_battery_voltage ; get battery voltage | |
207 | |
208 bcf onesecupdate ; End of one second tasks | |
209 | |
210 simulator_show_decoplan3: | |
64 | 211 btfsc switch_right |
0 | 212 bra simulator_show_decoplan4 ; Quit display |
213 | |
64 | 214 btfsc switch_left |
224 | 215 bra simulator_show_decoplan5 ; Next decoplan-page. |
0 | 216 |
217 btfsc sleepmode | |
218 goto more_menu | |
219 | |
220 btfsc divemode | |
221 goto restart ; exit menu, restart and enter divemode | |
222 | |
223 bra simulator_show_decoplan2 | |
224 | |
64 | 225 simulator_show_decoplan5: |
124 | 226 incf decoplan_page,F |
64 | 227 btfsc last_ceiling_gf_shown ; last ceiling shown? |
228 bra simulator_show_decoplan5_0 ; All done, clear and return | |
229 | |
169
e26f49674956
Merge decoplan display for both GF and Buhlmann models.
JeanDo
parents:
168
diff
changeset
|
230 call PLED_decoplan ; Re-Draw Current page of GF Decoplan |
64 | 231 bra simulator_show_decoplan1 |
232 | |
231
f9d42f8ff97b
BUGFIX Don't show (nosense) gas consumption in CCR mode (bug BB20).
JeanDo
parents:
230
diff
changeset
|
233 ;---- In OCR mode, show the gas Usage special page --------------------------- |
f9d42f8ff97b
BUGFIX Don't show (nosense) gas consumption in CCR mode (bug BB20).
JeanDo
parents:
230
diff
changeset
|
234 simulator_show_decoplan5_0: |
f9d42f8ff97b
BUGFIX Don't show (nosense) gas consumption in CCR mode (bug BB20).
JeanDo
parents:
230
diff
changeset
|
235 btfss display_see_deco ; Already displayed ? |
f9d42f8ff97b
BUGFIX Don't show (nosense) gas consumption in CCR mode (bug BB20).
JeanDo
parents:
230
diff
changeset
|
236 bra simulator_show_decoplan4 ; Exit to menu. |
f9d42f8ff97b
BUGFIX Don't show (nosense) gas consumption in CCR mode (bug BB20).
JeanDo
parents:
230
diff
changeset
|
237 |
169
e26f49674956
Merge decoplan display for both GF and Buhlmann models.
JeanDo
parents:
168
diff
changeset
|
238 bcf display_see_deco ; clear flag |
224 | 239 |
231
f9d42f8ff97b
BUGFIX Don't show (nosense) gas consumption in CCR mode (bug BB20).
JeanDo
parents:
230
diff
changeset
|
240 btfsc FLAG_const_ppO2_mode ; In CCR mode ? |
f9d42f8ff97b
BUGFIX Don't show (nosense) gas consumption in CCR mode (bug BB20).
JeanDo
parents:
230
diff
changeset
|
241 bra simulator_show_decoplan4 ; YES: finished. |
f9d42f8ff97b
BUGFIX Don't show (nosense) gas consumption in CCR mode (bug BB20).
JeanDo
parents:
230
diff
changeset
|
242 |
240
d995e220ddac
BUGFIX Gas Usage when first gas is not #1 (bug BB22).
JeanDo
parents:
236
diff
changeset
|
243 ; Re-read gas change depth, from the unsorted list. |
d995e220ddac
BUGFIX Gas Usage when first gas is not #1 (bug BB22).
JeanDo
parents:
236
diff
changeset
|
244 movlw .33 ; First gas. |
d995e220ddac
BUGFIX Gas Usage when first gas is not #1 (bug BB22).
JeanDo
parents:
236
diff
changeset
|
245 movwf EEADR |
d995e220ddac
BUGFIX Gas Usage when first gas is not #1 (bug BB22).
JeanDo
parents:
236
diff
changeset
|
246 clrf EEADRH |
d995e220ddac
BUGFIX Gas Usage when first gas is not #1 (bug BB22).
JeanDo
parents:
236
diff
changeset
|
247 call read_eeprom |
d995e220ddac
BUGFIX Gas Usage when first gas is not #1 (bug BB22).
JeanDo
parents:
236
diff
changeset
|
248 movff EEDATA,char_I_first_gas |
d995e220ddac
BUGFIX Gas Usage when first gas is not #1 (bug BB22).
JeanDo
parents:
236
diff
changeset
|
249 |
225 | 250 movlw .27 ; Active flags. |
251 movwf EEADR | |
252 call read_eeprom | |
253 movff EEDATA,waitms_temp ; Save activity flags. | |
254 incf EEADR,F ; 28 == Gas#1's change depth. | |
255 | |
256 lfsr FSR2,char_I_deco_gas_change | |
257 movlw 5 | |
258 movwf wait_temp | |
259 | |
260 simulator_show_decoplan5_4: | |
261 call read_eeprom | |
262 incf EEADR,F | |
263 | |
264 rrcf waitms_temp ; Roll acticity to cary. | |
265 btfss STATUS,C | |
266 clrf EEDATA ; If not active, set depth=0 | |
267 | |
268 movff EEDATA,POSTINC2 ; Write that in depth array. | |
269 decfsz wait_temp | |
270 bra simulator_show_decoplan5_4 | |
271 | |
272 ; Compute gas consumption for each tank. | |
224 | 273 call deco_gas_volumes |
274 movlb 1 | |
275 | |
230
9406a5b0ba5e
BUGFIX Clear bottom stops when display gas usage (bug BB23)
JeanDo
parents:
229
diff
changeset
|
276 ; Clear the complete stop result column: |
9406a5b0ba5e
BUGFIX Clear bottom stops when display gas usage (bug BB23)
JeanDo
parents:
229
diff
changeset
|
277 WIN_BOX_BLACK .0, .239, .82, .160 ;top, bottom, left, right |
224 | 278 |
279 movlw d'10' | |
280 movwf waitms_temp ; Row for gas list is .10+.25 | |
281 clrf wait_temp ; Gas counter | |
282 lfsr FSR0,int_O_gas_volumes ; Initialize indexed addressing. | |
283 | |
284 WIN_LEFT .90 ; Set column | |
270
fda90f19486a
Don't show gas 1 usage black on back (bb28 followup)
JeanDo
parents:
269
diff
changeset
|
285 call PLED_standard_color |
224 | 286 |
287 simulator_show_decoplan5_loop: | |
288 incf wait_temp,F ; Increment gas # | |
289 | |
290 movlw .25 | |
291 addwf waitms_temp,F ; Increase row position | |
292 movff waitms_temp,win_top ; Set Row | |
293 | |
294 movff POSTINC0,lo ; Read (16bit) result, low first, | |
295 movff POSTINC0,hi ; then high. | |
296 movf lo,W ; Null ? | |
297 iorwf hi,W | |
298 bz simulator_show_decoplan5_1 ; Skip printing. | |
299 | |
300 movf lo,W ; == 65535 (saturated ?) | |
225 | 301 andwf hi,W |
224 | 302 incf WREG |
303 bnz simulator_show_decoplan5_2 | |
304 call PLED_warnings_color | |
265 | 305 STRCPY_PRINT "= xxxx.x" |
306 call PLED_standard_color | |
307 bra simulator_show_decoplan5_1 | |
224 | 308 |
309 simulator_show_decoplan5_2: | |
310 STRCPY "= " | |
311 | |
232 | 312 bsf leftbind |
224 | 313 output_16dp .4 ; 1 decimal. |
232 | 314 bcf leftbind |
224 | 315 call word_processor ; No unit: can be bars or litters. |
316 | |
317 ; Loop for all 5 gas | |
318 simulator_show_decoplan5_1: | |
319 movlw d'5' ; list all five gases | |
320 cpfseq wait_temp ; All gases shown? | |
321 bra simulator_show_decoplan5_loop ; No | |
322 | |
323 WIN_INVERT 1 | |
231
f9d42f8ff97b
BUGFIX Don't show (nosense) gas consumption in CCR mode (bug BB20).
JeanDo
parents:
230
diff
changeset
|
324 DISPLAYTEXTH .301 ; OCR Gas Usage: |
224 | 325 WIN_INVERT 0 |
326 | |
327 bra simulator_show_decoplan1 | |
169
e26f49674956
Merge decoplan display for both GF and Buhlmann models.
JeanDo
parents:
168
diff
changeset
|
328 |
271 | 329 ;============================================================================= |
330 ; OSTC Simulator: compute a new runtime | |
331 ; | |
0 | 332 simulator_show_decoplan4: |
333 movlw d'5' | |
334 movwf menupos | |
335 bra menu_simulator1 | |
271 | 336 |
0 | 337 simulator_calc_deco: |
269
be06783f533b
hunting for bug#30 - solved by disabling timer3 (?)
heinrichsweikamp
parents:
265
diff
changeset
|
338 call simulator_save_tissue_data ; Stores 32 floats "pre_tissue" into bank3 |
0 | 339 |
340 bsf simulatormode_active ; normal simulator mode | |
341 bsf standalone_simulator ; Standalone Simulator active | |
269
be06783f533b
hunting for bug#30 - solved by disabling timer3 (?)
heinrichsweikamp
parents:
265
diff
changeset
|
342 bsf no_sensor_int ; Disable sensor interrupt |
271 | 343 clrf T3CON ; Restart time3 counter, |
344 clrf TMR3L ; so the simu won't stop right away. | |
269
be06783f533b
hunting for bug#30 - solved by disabling timer3 (?)
heinrichsweikamp
parents:
265
diff
changeset
|
345 clrf TMR3H |
be06783f533b
hunting for bug#30 - solved by disabling timer3 (?)
heinrichsweikamp
parents:
265
diff
changeset
|
346 |
be06783f533b
hunting for bug#30 - solved by disabling timer3 (?)
heinrichsweikamp
parents:
265
diff
changeset
|
347 call diveloop_boot ; configure gases, etc. |
be06783f533b
hunting for bug#30 - solved by disabling timer3 (?)
heinrichsweikamp
parents:
265
diff
changeset
|
348 |
224 | 349 ; Save dive parameters for gas volume estimation: |
350 movff logbook_temp2,char_I_bottom_depth | |
351 movff logbook_temp1,char_I_bottom_time | |
352 | |
197 | 353 movff logbook_temp2,xA+0 ; Bottom depth. |
0 | 354 clrf xA+1 |
355 movlw d'100' | |
356 movwf xB+0 | |
357 clrf xB+1 | |
358 call mult16x16 ;xA*xB=xC ; Depth in m*100 | |
359 | |
62 | 360 movlw LOW d'1000' |
0 | 361 addwf xC+0,F |
62 | 362 movlw HIGH d'1000' |
363 addwfc xC+1,F ; add 1000mBar | |
364 | |
0 | 365 movff xC+0,sim_pressure+0 |
366 movff xC+1,sim_pressure+1 | |
367 | |
124 | 368 call PLED_topline_box |
0 | 369 WIN_INVERT .1 |
271 | 370 DISPLAYTEXT .12 ; "Wait..." |
0 | 371 WIN_INVERT .0 |
372 | |
269
be06783f533b
hunting for bug#30 - solved by disabling timer3 (?)
heinrichsweikamp
parents:
265
diff
changeset
|
373 movff sim_pressure+0,amb_pressure+0 ; override readings with simulator values |
be06783f533b
hunting for bug#30 - solved by disabling timer3 (?)
heinrichsweikamp
parents:
265
diff
changeset
|
374 movff sim_pressure+1,amb_pressure+1 |
be06783f533b
hunting for bug#30 - solved by disabling timer3 (?)
heinrichsweikamp
parents:
265
diff
changeset
|
375 |
197 | 376 call divemode_check_decogases ; Checks for decogases and sets the gases |
377 call divemode_prepare_flags_for_deco | |
269
be06783f533b
hunting for bug#30 - solved by disabling timer3 (?)
heinrichsweikamp
parents:
265
diff
changeset
|
378 |
278 | 379 ; First minute is special: init everything. |
200 | 380 movlw d'3' ; Begin of deco cycle (reset table). |
197 | 381 movff WREG,char_O_deco_status ; Reset Deco module. |
382 | |
278 | 383 movlw d'1' |
384 movff WREG,char_I_step_is_1min ; 1 minute mode. | |
269
be06783f533b
hunting for bug#30 - solved by disabling timer3 (?)
heinrichsweikamp
parents:
265
diff
changeset
|
385 |
278 | 386 call deco_calc_hauptroutine ; Reset table + sim one minute for descent. |
197 | 387 movlb b'00000001' ; rambank 1 selected |
32 | 388 |
278 | 389 decf logbook_temp1,F ; One minute done. |
0 | 390 |
278 | 391 ; Loop for bottom time duration |
32 | 392 simulator_calc_deco_loop2: |
278 | 393 call PLED_simulator_data ; Update display of bottom time. |
32 | 394 |
278 | 395 call deco_calc_tissue ; JUST calc tissue (faster). |
197 | 396 movlb b'00000001' ; rambank 1 selected |
397 ostc_debug 'C' ; Sends debug-information to screen if debugmode active | |
398 | |
278 | 399 decfsz logbook_temp1,F ; Decrement bottom time, |
400 bra simulator_calc_deco_loop2 ; and loop while not finished. | |
32 | 401 |
278 | 402 ; No the bottom time is finish, restart a full ascent simulation, |
32 | 403 movlw d'0' |
278 | 404 movff WREG,char_I_step_is_1min ; Back to 2 second deco mode |
197 | 405 |
271 | 406 clrf timeout_counter2 ; timeout used as maxloop here |
278 | 407 movff char_I_bottom_depth,char_O_deco_last_stop |
408 | |
197 | 409 simulator_calc_deco2: |
410 call deco_calc_hauptroutine ; calc_tissue | |
411 movlb b'00000001' ; rambank 1 selected | |
0 | 412 |
278 | 413 movff char_O_deco_last_stop,logbook_temp2 |
414 call PLED_simulator_data ; Animate ascent simu. | |
415 | |
271 | 416 dcfsnz timeout_counter2,F ; Abort loop (max. 256 tries)? |
262 | 417 bra simulator_calc_deco3 ; Yes... |
418 | |
197 | 419 movff char_O_deco_status,WREG |
278 | 420 iorwf WREG ; deco_status=0 if decompression calculation done |
421 bnz simulator_calc_deco2 ; Not finished | |
0 | 422 |
262 | 423 simulator_calc_deco3: |
197 | 424 ; Finished |
269
be06783f533b
hunting for bug#30 - solved by disabling timer3 (?)
heinrichsweikamp
parents:
265
diff
changeset
|
425 rcall simulator_restore_tissue_data ; Restore 32 floats "pre_tissue" from bank3 |
0 | 426 |
197 | 427 bcf simulatormode_active ; normal simulator mode |
428 bcf standalone_simulator ; Standalone Simulator active | |
269
be06783f533b
hunting for bug#30 - solved by disabling timer3 (?)
heinrichsweikamp
parents:
265
diff
changeset
|
429 bcf no_sensor_int ; Re-enable sensor interrupt |
0 | 430 |
431 WAITMS d'250' | |
432 WAITMS d'250' | |
197 | 433 WAITMS d'250' ; Wait for Pressure Sensor to get real pressure again... |
0 | 434 |
197 | 435 movlw d'5' ; Pre-Set Cursor to "Show Decoplan" |
436 movwf menupos | |
278 | 437 movff char_I_bottom_time,logbook_temp1 ; Restore bottom time, |
438 movff char_I_bottom_depth,logbook_temp2 ; and depth. | |
197 | 439 bra menu_simulator1 ; Done. |
49 | 440 |
441 simulator_save_tissue_data: | |
442 bsf restore_deco_data ; Set restore flag | |
443 ostc_debug 'S' ; Sends debug-information to screen if debugmode active | |
116 | 444 call deco_push_tissues_to_vault |
49 | 445 movlb 0x01 ; Back to RAM Bank1 |
446 ostc_debug 'T' ; Sends debug-information to screen if debugmode active | |
447 return | |
448 | |
449 simulator_restore_tissue_data: | |
229
85ea09d3b9d8
Nofly should not be reset after dive simulation (bug BB18).
JeanDo
parents:
225
diff
changeset
|
450 bcf restore_deco_data ; clear restore flag |
85ea09d3b9d8
Nofly should not be reset after dive simulation (bug BB18).
JeanDo
parents:
225
diff
changeset
|
451 ostc_debug 'S' ; Sends debug-information to screen if debugmode active |
116 | 452 call deco_pull_tissues_from_vault |
49 | 453 movlb 0x01 ; Back to RAM Bank1 |
229
85ea09d3b9d8
Nofly should not be reset after dive simulation (bug BB18).
JeanDo
parents:
225
diff
changeset
|
454 ostc_debug 'T' ; Sends debug-information to screen if debugmode active |
49 | 455 |
456 ostc_debug 'G' ; Sends debug-information to screen if debugmode active | |
116 | 457 call deco_calc_desaturation_time ; calculate desaturation time |
229
85ea09d3b9d8
Nofly should not be reset after dive simulation (bug BB18).
JeanDo
parents:
225
diff
changeset
|
458 movlb b'00000001' ; select ram bank 1 |
85ea09d3b9d8
Nofly should not be reset after dive simulation (bug BB18).
JeanDo
parents:
225
diff
changeset
|
459 |
85ea09d3b9d8
Nofly should not be reset after dive simulation (bug BB18).
JeanDo
parents:
225
diff
changeset
|
460 ; Note: should not reset nofly-time here: the true value have continued to be decremented |
85ea09d3b9d8
Nofly should not be reset after dive simulation (bug BB18).
JeanDo
parents:
225
diff
changeset
|
461 ; during simulation, which is the right thing to do... |
49 | 462 ostc_debug 'H' ; Sends debug-information to screen if debugmode active |
463 | |
464 ; Calculate CNS | |
229
85ea09d3b9d8
Nofly should not be reset after dive simulation (bug BB18).
JeanDo
parents:
225
diff
changeset
|
465 call deco_calc_CNS_fraction ; calculate CNS |
85ea09d3b9d8
Nofly should not be reset after dive simulation (bug BB18).
JeanDo
parents:
225
diff
changeset
|
466 movlb b'00000001' ; rambank 1 selected |
85ea09d3b9d8
Nofly should not be reset after dive simulation (bug BB18).
JeanDo
parents:
225
diff
changeset
|
467 |
49 | 468 return |