Mercurial > public > mk2
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 |