comparison code_part1/OSTC_code_asm_part1/divemode.asm @ 169:e26f49674956

Merge decoplan display for both GF and Buhlmann models. + Add CF(54) to reverse deco plan display order. + Clean state machine to faster redisplay in divemode. Fix don't flip screen for soft emulation.
author JeanDo
date Wed, 26 Jan 2011 19:19:02 +0100
parents cb055a7d75f3
children 7f3e1bf588bc
comparison
equal deleted inserted replaced
168:494587193f5d 169:e26f49674956
431 431
432 call deco_calc_hauptroutine ; calc_tissue 432 call deco_calc_hauptroutine ; calc_tissue
433 movlb b'00000001' ; rambank 1 selected 433 movlb b'00000001' ; rambank 1 selected
434 ostc_debug 'C' ; Sends debug-information to screen if debugmode active 434 ostc_debug 'C' ; Sends debug-information to screen if debugmode active
435 435
436 movff char_O_deco_status,WREG 436 movff char_O_first_deco_depth,wait_temp ; copy ceiling to temp register
437 tstfsz WREG ; deco_status=0 if decompression calculation done
438 return ; calculation not yet finished!
439
440 movff char_O_array_decodepth+0,wait_temp ; copy ceiling to temp register
441 tstfsz wait_temp ; Ceiling<0m? 437 tstfsz wait_temp ; Ceiling<0m?
442 bra calc_deko_divemode3 ; Yes! 438 bra calc_deko_divemode3 ; Yes!
443 439
444 btfsc dekostop_active 440 btfsc dekostop_active
445 call PLED_display_ndl_mask ; Clear deco data, display nostop time 441 call PLED_display_ndl_mask ; Clear deco data, display nostop time
474 calc_deko_divemode3: 470 calc_deko_divemode3:
475 btfss dekostop_active 471 btfss dekostop_active
476 call PLED_display_deko_mask ; clear nostop time, display decodata 472 call PLED_display_deko_mask ; clear nostop time, display decodata
477 bsf dekostop_active ; Set flag 473 bsf dekostop_active ; Set flag
478 474
479 movff char_O_array_decodepth+0,decodata+0 ; ceiling 475 movff char_O_first_deco_depth,decodata+0 ; ceiling
480 movff char_O_array_decotime,decodata+1 ; length of first stop in minues 476 movff char_O_first_deco_time,decodata+1 ; length of first stop in minues
481 477
482 call PLED_display_deko ; display decodata 478 call PLED_display_deko ; display decodata
483 return 479 return
484 480
485 store_dive_data: ; CF20 seconds gone 481 store_dive_data: ; CF20 seconds gone
1680 subfwb wait_temp,W ; minus He 1676 subfwb wait_temp,W ; minus He
1681 bsf STATUS,C ; Borrow bit 1677 bsf STATUS,C ; Borrow bit
1682 subfwb EEDATA,F ; minus O2 1678 subfwb EEDATA,F ; minus O2
1683 movff EEDATA, char_I_N2_ratio ; = N2! 1679 movff EEDATA, char_I_N2_ratio ; = N2!
1684 1680
1685 bcf multi_gf_display ; Do not display the multi-gf table screen 1681 return
1686 return