diff src/tft_outputs.asm @ 582:b455b31ce022

work on 2.97 stable
author heinrichsweikamp
date Mon, 26 Feb 2018 16:40:28 +0100
parents f5de1ff88814
children 6636cbe64c6d
line wrap: on
line diff
--- a/src/tft_outputs.asm	Sun Feb 25 18:25:38 2018 +0100
+++ b/src/tft_outputs.asm	Mon Feb 26 16:40:28 2018 +0100
@@ -1,6 +1,6 @@
 ;=============================================================================
 ;
-;   File tft_outputs.asm							REFACTORED VERSION	V2.95a1
+;   File tft_outputs.asm							REFACTORED VERSION	V2.98
 ;
 ;   Startup subroutines
 ;
@@ -9,134 +9,118 @@
 ; HISTORY
 ;  2011-08-07 : [mH] moving from OSTC code
 
-#include    "hwos.inc"                  ; Mandatory header
-#include    "shared_definitions.h"      ; Mailbox from/to p2_deco.c
-#include    "tft.inc"
-#include    "start.inc"
-#include    "wait.inc"
-#include    "strings.inc"
-#include    "convert.inc"
-#include    "varargs.inc"
-#include    "math.inc"
-#include    "isr.inc"
-#include    "eeprom_rs232.inc"
-#include    "adc_lightsensor.inc"
-#include    "surfmode.inc"
-#include    "divemode.inc"
-#include    "external_flash.inc"
-#include    "ghostwriter.inc"
-#include    "customview.inc"
-#include    "i2c.inc"
-#include    "colorschemes.inc"
-#include    "calibrate.inc"
+#include "hwos.inc"							; Mandatory header
+#include "shared_definitions.h"				; Mailbox from/to p2_deco.c
+#include "tft.inc"
+#include "start.inc"
+#include "wait.inc"
+#include "strings.inc"
+#include "convert.inc"
+#include "varargs.inc"
+#include "math.inc"
+#include "isr.inc"
+#include "eeprom_rs232.inc"
+#include "adc_lightsensor.inc"
+#include "surfmode.inc"
+#include "divemode.inc"
+#include "external_flash.inc"
+#include "ghostwriter.inc"
+#include "customview.inc"
+#include "i2c.inc"
+#include "colorschemes.inc"
+#include "calibrate.inc"
 
 
 	extern	aa_wordprocessor
 
 ;=============================================================================
 
-gui    CODE
+gui		CODE
+
 ;=============================================================================
 
-    global   TFT_divemask_color
+	global	TFT_divemask_color
 TFT_divemask_color:
-    movlw   color_green
-    btfsc   divemode            			; in Divemode?
-    rcall   TFT_divemask_color_dive
+	movlw	color_green
+	btfsc	divemode					; in Divemode?
+	rcall	TFT_divemask_color_dive
 	bra		TFT_standard_color0
 
 TFT_divemask_color_dive:
-    movff   opt_dive_color_scheme,WREG  	; 0-3
-    incf    WREG
+	movff	opt_dive_color_scheme,WREG	; 0-3
+	incf	WREG
 	dcfsnz	WREG
-	retlw   color_scheme_divemode_mask1		;0
+	retlw	color_scheme_divemode_mask1	;0
 	dcfsnz	WREG
-	retlw   color_scheme_divemode_mask2		;1
+	retlw	color_scheme_divemode_mask2	;1
 	dcfsnz	WREG
-	retlw   color_scheme_divemode_mask3		;2
-	retlw   color_scheme_divemode_mask4		;3
-
-
-    global  TFT_attention_color
+	retlw	color_scheme_divemode_mask3	;2
+	retlw	color_scheme_divemode_mask4	;3
+
+
+	global	TFT_attention_color
 TFT_attention_color:
-    movlw   color_yellow					; TODO
+	movlw	color_yellow				; make this configurable?
 	bra		TFT_standard_color0
 TFT_attention_color_dive:
-    retlw   color_yellow					; TODO
-
-    global  TFT_warnings_color
+	retlw	color_yellow				; make this configurable?
+
+
+	global	TFT_warnings_color
 TFT_warnings_color:
-    movlw   color_red						; TODO
+	movlw	color_red					; make this configurable?
 	bra		TFT_standard_color0
 TFT_warnings_color_dive:
-    retlw   color_red						; TODO
-
-    global  TFT_disabled_color
+	retlw	color_red					; make this configurable?
+
+
+	global	TFT_disabled_color
 TFT_disabled_color:
-    ;movlw   color_grey          			; Default to OSTC grey (dark blue)
-    movlw   color_lightblue
-    btfsc   divemode            			; in Divemode?
-    rcall   TFT_disabled_color_dive
-    bra		TFT_standard_color0
+	;movlw	color_grey					; Default to OSTC grey (dark blue)
+	movlw	color_lightblue
+	btfsc	divemode					; in Divemode?
+	rcall	TFT_disabled_color_dive		; YES
+	bra		TFT_standard_color0
+
 TFT_disabled_color_dive:
-    movff   opt_dive_color_scheme,WREG		; 0-3
-    incf    WREG
-	dcfsnz	WREG
-	retlw   color_scheme_divemode_dis1		;0
+	movff	opt_dive_color_scheme,WREG	; 0-3
+	incf	WREG
 	dcfsnz	WREG
-	retlw   color_scheme_divemode_dis2		;1
+	retlw	color_scheme_divemode_dis1	; 0
 	dcfsnz	WREG
-	retlw   color_scheme_divemode_dis3		;2
-	retlw   color_scheme_divemode_dis4		;3
-
-    global  TFT_standard_color
-TFT_standard_color:
-    setf    WREG                			; Default white
-    btfsc   divemode            			; in Divemode?
-    rcall   TFT_standard_color_dive
-TFT_standard_color0:
-	goto	TFT_set_color					; and return...
-TFT_standard_color_dive:
-    movff   opt_dive_color_scheme,WREG		; 0-3
-    incf    WREG
-	dcfsnz	WREG
-	retlw   color_scheme_divemode_std1		;0
+	retlw	color_scheme_divemode_dis2	; 1
 	dcfsnz	WREG
-	retlw   color_scheme_divemode_std2		;1
-	dcfsnz	WREG
-	retlw   color_scheme_divemode_std3		;2
-    retlw   color_scheme_divemode_std4		;3
-
-TFT_color_code macro color_code_temp
-	movlw	color_code_temp
-	call	TFT_color_code1
-	endm
-	
-	global	TFT_color_code1
-TFT_color_code1:						; Color-codes the output, if required
-	dcfsnz	WREG
-	bra		TFT_color_code_depth		; depth_warn_mbar [mbar], 16Bit
-	dcfsnz	WREG
-	bra		TFT_color_code_cns			; color-code CNS values (CNS in hi:lo [%])
+	retlw	color_scheme_divemode_dis3	; 2
+	retlw	color_scheme_divemode_dis4	; 3
+
+
+	global	TFT_standard_color
+TFT_standard_color:
+	setf	WREG						; Default white
+	btfsc	divemode					; in Divemode?
+	rcall	TFT_standard_color_dive
+	;bra	TFT_standard_color0
+
+TFT_standard_color0:
+	goto	TFT_set_color				; and return...
+
+
+TFT_standard_color_dive:
+	movff	opt_dive_color_scheme,WREG	; 0-3
+	incf	WREG
 	dcfsnz	WREG
-	bra		TFT_color_code_gf			; color-code GF value [%]
+	retlw	color_scheme_divemode_std1	;0
 	dcfsnz	WREG
-	bra		TFT_color_code_ppo2         ; Color-code ppO2 values (ppO2 in hi:lo [cbar]) by its warning flags
-	dcfsnz	WREG
-	bra		TFT_color_code_ceiling		; Color-code the ceiling depth
+	retlw	color_scheme_divemode_std2	;1
 	dcfsnz	WREG
-	bra		TFT_color_code_gaslist		; Color-code current row in Gaslist (%O2 in hi) according to current amb_pressure
-    dcfsnz	WREG
-    bra     TFT_color_code_ppo2_hud		; Color-code ppO2 values (ppO2 in --:lo [cbar]) by its value
-    dcfsnz	WREG
-    bra     TFT_color_code_battery		; Color-code the battery display
-	dcfsnz	WREG
-    bra     TFT_color_code_stop			; Color-code the stop depth
-
-
-TFT_color_code_gaslist:					; %O2 in hi
+	retlw	color_scheme_divemode_std3	;2
+	retlw	color_scheme_divemode_std4	;3
+
+
+	global	TFT_color_code_gaslist
+TFT_color_code_gaslist:					; Color-code current row in Gaslist (%O2 in hi) according to current amb_pressure
 ; Check very high ppO2 manually
-    SAFE_2BYTE_COPY amb_pressure,xA
+	SAFE_2BYTE_COPY amb_pressure,xA
 	movlw	d'10'
 	movwf	xB+0
 	clrf	xB+1
@@ -155,54 +139,54 @@
 ; Check for low ppo2
 	movff	xC+0,sub_a+0
 	movff	xC+1,sub_a+1
-    movff	char_I_ppO2_min,WREG
-	mullw	d'100'                  	; char_I_ppO2_min*100
+	movff	char_I_ppO2_min,WREG
+	mullw	d'100'						; char_I_ppO2_min*100
 	movff	PRODL,sub_b+0
 	movff	PRODH,sub_b+1
 	call	subU16
 	btfsc	neg_flag
-    bra		TFT_warnings_color      	; too low -> Warning Color!
+	bra		TFT_warnings_color			; too low -> Warning Color!
 ; Check for high ppo2
-    movff   gaslist_gas_global,WREG		; Read current gas O2 ratio
-	lfsr	FSR1,opt_gas_type			; 0=Disabled, 1=First, 2=Travel, 3=Deco for OC gases and 0=Disabled, 1=First, 2=Normal for diluents
-	movff   PLUSW1,xA+0					; xA+0 used as temp here -> holds type
-	movff   char_I_ppO2_max_deco,xB+1	; xB+1 used as temp here
-	movlw	.3			
-	cpfseq	xA+0						; Deco?
-	movff   char_I_ppO2_max,xB+1		; No, overwrite with travel/bottom max
-	movf	xB+1,W						; Result in WREG
+	movff	char_O_deco_warnings,WREG	; bank-safe copy of deco warnings
+	btfsc	WREG,deco_flag				; are we in deco?
+	bra		TFT_color_code_gaslist_deco	; YES - take deco max
+	movff	char_I_ppO2_max,WREG		; No  - take travel/bottom max
+	bra		TFT_color_code_gaslist_com
+TFT_color_code_gaslist_deco:
+	movff	char_I_ppO2_max_deco,WREG	; ppo2 max for deco
+TFT_color_code_gaslist_com:
 	mullw	d'100'						; char_I_ppO2_max*100
 	movff	PRODL,sub_b+0
 	movff	PRODH,sub_b+1
 	infsnz	sub_a+0,F
 	incf	sub_a+1,F					; add 1mbar to avoid warning on equal
-	call	subU16						; sub_c = sub_a - sub_b	
+	call	subU16						; sub_c = sub_a - sub_b
 	btfss	neg_flag
-	bra	TFT_warnings_color				; too high -> Warning Color!
+	bra		TFT_warnings_color			; too high -> Warning Color!
 	return
 
 
-TFT_color_code_ceiling:
-	btfsc	hi,char_invalid_flag		; is the invalid flag set?  (bit 7 here)
+TFT_color_code_ceiling:					; color-code the ceiling depth
+	btfsc	hi,char_invalid_flag		; is the invalid flag set? (bit 7 here)
 	bra		TFT_color_code_ceiling_1	; YES
 	SAFE_2BYTE_COPY rel_pressure,sub_a	; NO
-    movff   lo,sub_b+0
-    movff   hi,sub_b+1
+	movff	lo,sub_b+0
+	movff	hi,sub_b+1
 	call	subU16						; sub_c = sub_a - sub_b :  sub_c = rel_pressure [cm] - int_O_ceiling [mbar => cm]
-	btfsc 	neg_flag					; is ceiling > current depth?
-	bra		TFT_warnings_color			; YES - set to warning  color and return	
+	btfsc	neg_flag					; is ceiling > current depth?
+	bra		TFT_warnings_color			; YES - set to warning  color and return
 	bra		TFT_standard_color			; NO  - set to standard color and return
 TFT_color_code_ceiling_1:
 	bcf		hi,char_invalid_flag		; clear the invalid flag (bit 7 here)
 	bra		TFT_disabled_color			; set to disabled color and return
 
 
-TFT_color_code_stop:
+TFT_color_code_stop:					; color-code the stop depth
 	movff	char_O_deco_gas+0,WREG		; get flag for invalid deco data
 	btfsc	WREG,char_invalid_flag		; is the invalid flag set?
 	bra		TFT_disabled_color			; set to disabled color and return
-    SAFE_2BYTE_COPY rel_pressure,xA		; get current pressure in mbar = cm
-	movlw	LOW	d'100'
+	SAFE_2BYTE_COPY rel_pressure,xA		; get current pressure in mbar = cm
+	movlw	LOW d'100'
 	movwf	xB+0
 	clrf	xB+1
 	call	div16x16					; xA/xB=xC with xA as remainder: Divide/100 => xC+0 = current depth in meters
@@ -213,16 +197,15 @@
 	bra		TFT_warnings_color			; YES - set to warning  color and return
 
 
-
-TFT_color_code_depth:					; with depth as rel_pressure in [mbar] in hi:lo
+TFT_color_code_depth:					; with actual depth as rel_pressure in [mbar] in hi:lo and threshold depth_warn_mbar [mbar], 16Bit
 	movff	lo,sub_a+0
 	movff	hi,sub_a+1
-	movlw	LOW	 depth_warn_mbar
+	movlw	LOW  depth_warn_mbar
 	movwf	sub_b+0
 	movlw	HIGH depth_warn_mbar
 	movwf	sub_b+1
 	call	subU16						; sub_c = sub_a - sub_b
-    TSTOSS  opt_modwarning				; 0=standard, 1=blink
+	TSTOSS	opt_modwarning				; 0=standard, 1=blink
 	bra		TFT_color_code_depth_std
 	btfss	neg_flag
 	bra		TFT_color_code_depth_warn	; set to warning color
@@ -232,81 +215,90 @@
 	bra		TFT_warnings_color			; set to warning  color and return
 	bra		TFT_standard_color			; set to standard color and return...
 TFT_color_code_depth_ppO2:
-	movff   opt_dive_mode,WREG			; 0=OC, 1=CC, 2=Gauge, 3=Apnea, 4=PSCR
+	movff	opt_dive_mode,WREG			; 0=OC, 1=CC, 2=Gauge, 3=Apnea, 4=PSCR
 	decfsz	WREG,F						; are we in CCR mode?
 	bra		TFT_color_code_depth_no_ccr	; NO  - continue checking for ppO2
 	btfsc	is_bailout					; YES - check if in bailout
-	bra		TFT_color_code_depth_no_ccr	; 		YES - continue checking for ppO2
-; no warning by depth for all CCR modes	when not in bailout ## V2.94
-	;movff	opt_ccr_mode,WREG					; =0: Fixed SP, =1: Sensor,  =2: Auto SP
-	;decfsz	WREG,F
-	;bra	TFT_color_code_ppo2_depth_no_ccr	; Not Sensor
-	bcf     blinking_depth_warning		; reset warning
+	bra		TFT_color_code_depth_no_ccr	;       YES - continue checking for ppO2
+	bcf		blinking_depth_warning		; reset warning
 	bra		TFT_standard_color			; no color coding, return.
 TFT_color_code_depth_no_ccr:
 	movff	int_O_breathed_ppO2+1,WREG	; get upper byte of currently breathed ppO2
 	btfsc	WREG,int_warning_flag		; is the warning flag set?
 	bra		TFT_color_code_depth_warn	; YES - animate in warning design
-	bcf     blinking_depth_warning		; NO  - reset warning
-	bra 	TFT_standard_color			;		set standard color and return
+	bcf		blinking_depth_warning		; NO  - reset warning
+	bra		TFT_standard_color			;       set standard color and return
 TFT_color_code_depth_warn:
-   	bsf		blinking_depth_warning		; set warning
-    bra     TFT_warnings_color			; set to warning color and return...
-
-
-TFT_color_code_cns:						; with CNS% in hi:lo
+	bsf		blinking_depth_warning		; set warning
+	bra		TFT_warnings_color			; set to warning color and return...
+
+
+	global	TFT_color_code_cns
+TFT_color_code_cns:						; color-code CNS values (CNS in hi:lo [%])
 	btfss	hi,int_invalid_flag			; is the invalid flag set?
 	bra		TFT_color_code_cns_1		; NO
-	bcf		hi,int_invalid_flag			; YES - clear invalid flag							## Todo: use ~bitmask and AND
-	bcf		hi,int_warning_flag			;		clear warning     flag (it may be set)
-	bcf		hi,int_prewarning_flag		; 		clear pre-warning flag (it may be set)
-	bra		TFT_disabled_color			; 		set to disabled color and return
+	bcf		hi,int_invalid_flag			; YES - clear invalid flag
+	bcf		hi,int_warning_flag			;       clear warning	flag (it may be set)
+	bcf		hi,int_attention_flag		;       clear attention flag (it may be set)
+	bra		TFT_disabled_color			;       set to disabled color and return
 TFT_color_code_cns_1
 	btfss	hi,int_warning_flag			; is the warning flag set?
 	bra		TFT_color_code_cns_2		; NO
-	bcf		hi,int_warning_flag			; YES - clear warning								## Todo: use ~bitmask and AND
-	bcf		hi,int_prewarning_flag		; 		clear pre-warning flag (it may be set)
-	bra		TFT_warnings_color			; 		set to warning color and return
+	bcf		hi,int_warning_flag			; YES - clear warning	flag
+	bcf		hi,int_attention_flag		;		clear attention flag (it may be set)
+	bra		TFT_warnings_color			;		set to warning color and return
 TFT_color_code_cns_2:
-	bcf		hi,int_prewarning_flag		; clear pre-warning flag (it may be set)
-	bra		TFT_standard_color			; set to standard color and return
+	btfss	hi,int_attention_flag		; is the attention flag set?
+	bra		TFT_standard_color			; NO  - set to standard color and return
+	bcf		hi,int_attention_flag		; YES - clear attention flag
+	bra		TFT_attention_color			;		set to attention color and return
 
 
 TFT_color_code_gf:
-	btfsc	hi,int_warning_flag			; is the warning flag set?
-	bra		TFT_warnings_color			; YES - set to warning color and return
-	btfsc	hi,int_prewarning_flag		; is the attention flag set?
-	bra		TFT_attention_color			; YES - set to attention color and return
-	bra		TFT_standard_color			; NO  - set to normal  color and return
-
-
-TFT_color_code_ppo2:
+	; with int_O_gradient_factor, the upper byte is solely used for the flags
+	; and not for the value, thus there is no need to clear the flags
+	btfsc	hi,int_invalid_flag			; is the invalid flag set?
+	bra		TFT_disabled_color			; YES - set to disabled color and return
+	btfsc	hi,int_warning_flag			; NO  - is the warning flag set?
+	bra		TFT_warnings_color			;       YES - set to warning color and return
+	btfsc	hi,int_attention_flag		;       NO  - is the attention flag set?
+	bra		TFT_attention_color			;             YES - set to attention color and return
+	bra		TFT_standard_color			;             NO  - set to normal    color and return
+
+
+TFT_color_code_ppo2:					; color-code ppO2 values (ppO2 in hi:lo [cbar]) by its warning flags
 	btfss	hi,int_warning_flag			; is the warning flag set?
 	bra		TFT_color_code_ppo2_1		; NO
-	bcf		hi,int_warning_flag			; YES - clear warning flag							## Todo: use ~bitmask and AND
-	bcf		hi,int_prewarning_flag		;		clear  pre-warning flag (it may be set)
-	bcf		hi,int_high_flag			;		clear high warning flag (it may be set)
-	bcf		hi,int_low_flag				;		clear low  warning flag (it may be set)
-	bra		TFT_warnings_color     		; 		warn in warning color
+	bcf		hi,int_warning_flag			; YES - clear warning flag
+	bcf		hi,int_attention_flag		;       clear attention    flag (it may be set)
+	bcf		hi,int_high_flag			;       clear high warning flag (it may be set)
+	bcf		hi,int_low_flag				;       clear low  warning flag (it may be set)
+	bra		TFT_warnings_color			;       warn in warning color
 TFT_color_code_ppo2_1:
-	bcf		hi,int_prewarning_flag		;		clear  pre-warning flag (it may be set)		## Todo: use ~bitmask and AND
-	bcf		hi,int_high_flag			;		clear high warning flag (it may be set)
-	bcf		hi,int_low_flag				;		clear low  warning flag (it may be set)
+	btfss	hi,int_attention_flag		; is the attention flag set?
+	bra		TFT_color_code_ppo2_2		; NO
+	bcf		hi,int_attention_flag		; YES - clear attention    flag (it may be set)
+	bcf		hi,int_high_flag			;       clear high warning flag (it may be set)
+	bcf		hi,int_low_flag				;       clear low  warning flag (it may be set)
+	bra		TFT_attention_color			;       set to standard color and return
+TFT_color_code_ppo2_2:
+	bcf		hi,int_high_flag			; clear high warning flag (it may be set)
+	bcf		hi,int_low_flag				; clear low  warning flag (it may be set)
 	bra		TFT_standard_color			; set to standard color and return
 
 
-TFT_color_code_ppo2_hud:            	; With ppO2 [cbar] in --:lo
+TFT_color_code_ppo2_hud:				; color-code ppO2 values (ppO2 in --:lo [cbar]) by its value
 	movff	char_O_deco_warnings,WREG	; get the deco warnings vector
 	btfss	WREG,deco_flag				; are we in deco?
 	bra		TFT_color_code_ppo2_hud_a	; NO  - load normal max value as threshold
 	movff	char_I_ppO2_max_deco,WREG	; YES - load deco value as threshold
 	bra		TFT_color_code_ppo2_hud_b
-TFT_color_code_ppo2_hud_a:	
+TFT_color_code_ppo2_hud_a:
 	movff	char_I_ppO2_max,WREG		; ppO2 max while not in deco
-TFT_color_code_ppo2_hud_b:	
-    cpfsgt  lo                      	; lo > threshold?
-    bra     TFT_color_code_ppo2_hud1	; NO  - continue with checking for ppO2 low
-    bra     TFT_warnings_color     		; YES - set warning color and return
+TFT_color_code_ppo2_hud_b:
+	cpfsgt	lo							; lo > threshold?
+	bra		TFT_color_code_ppo2_hud1	; NO  - continue with checking for ppO2 low
+	bra		TFT_warnings_color			; YES - set warning color and return
 TFT_color_code_ppo2_hud1:
 	movff	opt_dive_mode,WREG			; 0=OC, 1=CC, 2=Gauge, 3=Apnea, 4=PSCR
 	decfsz	WREG,F						; now:  0=CC, 1=Gauge, 2=Apnea, 3=PSCR
@@ -318,309 +310,329 @@
 TFT_color_code_ppo2_hud_nocc:
 	movff	char_I_ppO2_min,WREG		; PPO2 min for all other modes
 TFT_color_code_ppo2_hud_cont:
-    cpfslt  lo                      	; lo < char_I_ppO2_min?
-    bra		TFT_standard_color			; NO  - set standard color and return...
-    bra     TFT_warnings_color     		; Yes - set warning  color and return
-
-
-TFT_color_code_battery:             	; With battery percent in lo
-    movlw   color_code_battery_low		; get warning threshold
-    cpfsgt  lo                      	; is battery percent < threshold?
-    bra     TFT_warnings_color     		; YES - set to warning  color and return
-    bra	    TFT_standard_color	    	; NO  - set to standard color and return
+	cpfslt	lo							; lo < char_I_ppO2_min?
+	bra		TFT_standard_color			; NO  - set standard color and return...
+	bra		TFT_warnings_color			; Yes - set warning  color and return
+
+
+TFT_color_code_battery:					; color-code the battery display, with battery percent in lo
+	movlw	color_code_battery_low		; get warning threshold
+	cpfsgt	lo							; is battery percent < threshold?
+	bra		TFT_warnings_color			; YES - set to warning  color and return
+	bra		TFT_standard_color			; NO  - set to standard color and return
+
+
+	global	TFT_color_code_gas
+TFT_color_code_gas:						; color-code the output according to gas number (1-6) in WREG
+	movwf	up							; copy gas number (1-6) to up
+	movlw	color_white					; Default color
+	dcfsnz	up,F
+	movlw	color_white					; Color for Gas 1
+	dcfsnz	up,F
+	movlw	color_green					; Color for Gas 2
+	dcfsnz	up,F
+	movlw	color_red					; Color for Gas 3
+	dcfsnz	up,F
+	movlw	color_yellow				; Color for Gas 4
+	dcfsnz	up,F
+	movlw	color_cyan					; Color for Gas 5
+	dcfsnz	up,F
+	movlw	color_pink					; Color for Gas 6
+	goto	TFT_set_color				; Set Color...
+
 
 ; ****************************************************************************
 
-    global  TFT_show_OC_startgas_surface
-TFT_show_OC_startgas_surface:           ; Show first gas and "OSTC2-like" active gases
-    ; Show first gas
-    WIN_SMALL surf_decotype_column+.1,surf_decotype_row+.30
-    extern  get_first_gas_to_WREG,gaslist_strcat_gas
-    call    get_first_gas_to_WREG       ; Gets first gas (1-5) into WREG
+	global	TFT_show_OC_startgas_surface
+TFT_show_OC_startgas_surface:			; Show first gas and "OSTC2-like" active gases
+	; Show first gas
+	WIN_SMALL surf_decotype_column+.1,surf_decotype_row+.30
+	extern	get_first_gas_to_WREG,gaslist_strcat_gas
+	call	get_first_gas_to_WREG		; Gets first gas (1-5) into WREG
 	decf	WREG,W						; 1-5 -> 0-4
-    movwf   PRODL
-    call    gaslist_strcat_gas          ; Input: PRODL : gas number (0..4), Output: Text appended into buffer pointed by FSR2.
-    STRCAT_PRINT ""
-    ; Show boxes
-    WIN_TOP		surf_decotype_row+.30+.25
-	WIN_LEFT	surf_decotype_boxes_left1+.1
-    rcall    TFT_disabled_color
-    movff   opt_gas_type+0,hi          ; 0=Disabled, 1=First, 2=Travel, 3=Deco
-    tstfsz  hi
-    rcall    TFT_standard_color
-    STRCPY_PRINT    "1"
-    decfsz  hi,F                        ; Type = 1 (First)?
-    bra     DISP_active_gas_surfmode3   ; No, skip box
-	WIN_FRAME_STD   surf_decotype_boxes_top, surf_decotype_boxes_bottom, surf_decotype_boxes_left1, surf_decotype_boxes_left1+.8    ;top, bottom, left, right
+	movwf	PRODL
+	call	gaslist_strcat_gas			; Input: PRODL : gas number (0..4), Output: Text appended into buffer pointed by FSR2.
+	STRCAT_PRINT ""
+	; Show boxes
+	WIN_TOP	 surf_decotype_row+.30+.25
+	WIN_LEFT surf_decotype_boxes_left1+.1
+	rcall	TFT_disabled_color
+	movff	opt_gas_type+0,hi			; 0=Disabled, 1=First, 2=Travel, 3=Deco
+	tstfsz	hi
+	rcall	TFT_standard_color
+	STRCPY_PRINT "1"
+	decfsz	hi,F						; Type = 1 (First)?
+	bra		DISP_active_gas_surfmode3	; No, skip box
+	WIN_FRAME_STD surf_decotype_boxes_top, surf_decotype_boxes_bottom, surf_decotype_boxes_left1, surf_decotype_boxes_left1+.8	;top, bottom, left, right
 DISP_active_gas_surfmode3:
-    rcall    TFT_disabled_color
-    movff   opt_gas_type+1,hi           ; 0=Disabled, 1=First, 2=Travel, 3=Deco
-    tstfsz  hi
-    rcall    TFT_standard_color
-	WIN_LEFT	surf_decotype_boxes_left2+.1
-    STRCPY_PRINT    "2"
-    decfsz  hi,F                        ; Type = 1 (First)?
-    bra     DISP_active_gas_surfmode4   ; No, skip box
-	WIN_FRAME_STD   surf_decotype_boxes_top, surf_decotype_boxes_bottom, surf_decotype_boxes_left2, surf_decotype_boxes_left2+.8    ;top, bottom, left, right
+	rcall	TFT_disabled_color
+	movff	opt_gas_type+1,hi			; 0=Disabled, 1=First, 2=Travel, 3=Deco
+	tstfsz	hi
+	rcall	TFT_standard_color
+	WIN_LEFT surf_decotype_boxes_left2+.1
+	STRCPY_PRINT "2"
+	decfsz	hi,F						; Type = 1 (First)?
+	bra		DISP_active_gas_surfmode4	; No, skip box
+	WIN_FRAME_STD surf_decotype_boxes_top, surf_decotype_boxes_bottom, surf_decotype_boxes_left2, surf_decotype_boxes_left2+.8	;top, bottom, left, right
 DISP_active_gas_surfmode4:
-    rcall    TFT_disabled_color
-    movff   opt_gas_type+2,hi           ; 0=Disabled, 1=First, 2=Travel, 3=Deco
-    tstfsz  hi
-    rcall    TFT_standard_color
-	WIN_LEFT	surf_decotype_boxes_left3+.1
-    STRCPY_PRINT    "3"
-    decfsz  hi,F                        ; Type = 1 (First)?
-    bra     DISP_active_gas_surfmode5   ; No, skip box
-    WIN_FRAME_STD   surf_decotype_boxes_top, surf_decotype_boxes_bottom, surf_decotype_boxes_left3, surf_decotype_boxes_left3+.8    ;top, bottom, left, right
+	rcall	TFT_disabled_color
+	movff	opt_gas_type+2,hi			; 0=Disabled, 1=First, 2=Travel, 3=Deco
+	tstfsz	hi
+	rcall	TFT_standard_color
+	WIN_LEFT surf_decotype_boxes_left3+.1
+	STRCPY_PRINT "3"
+	decfsz	hi,F						; Type = 1 (First)?
+	bra		DISP_active_gas_surfmode5	; No, skip box
+	WIN_FRAME_STD surf_decotype_boxes_top, surf_decotype_boxes_bottom, surf_decotype_boxes_left3, surf_decotype_boxes_left3+.8	;top, bottom, left, right
 DISP_active_gas_surfmode5:
-    rcall    TFT_disabled_color
-    movff   opt_gas_type+3,hi           ; 0=Disabled, 1=First, 2=Travel, 3=Deco
-    tstfsz  hi
-    rcall    TFT_standard_color
-	WIN_LEFT	surf_decotype_boxes_left4+.1
-    STRCPY_PRINT    "4"
-    decfsz  hi,F                        ; Type = 1 (First)?
-    bra     DISP_active_gas_surfmode6   ; No, skip box
-    WIN_FRAME_STD   surf_decotype_boxes_top, surf_decotype_boxes_bottom, surf_decotype_boxes_left4, surf_decotype_boxes_left4+.8    ;top, bottom, left, right
+	rcall	TFT_disabled_color
+	movff	opt_gas_type+3,hi			; 0=Disabled, 1=First, 2=Travel, 3=Deco
+	tstfsz	hi
+	rcall	TFT_standard_color
+	WIN_LEFT surf_decotype_boxes_left4+.1
+	STRCPY_PRINT "4"
+	decfsz	hi,F						; Type = 1 (First)?
+	bra		DISP_active_gas_surfmode6	; No, skip box
+	WIN_FRAME_STD surf_decotype_boxes_top, surf_decotype_boxes_bottom, surf_decotype_boxes_left4, surf_decotype_boxes_left4+.8	;top, bottom, left, right
 DISP_active_gas_surfmode6:
-    rcall    TFT_disabled_color
-    movff   opt_gas_type+4,hi           ; 0=Disabled, 1=First, 2=Travel, 3=Deco
-    tstfsz  hi
-    rcall    TFT_standard_color
-	WIN_LEFT	surf_decotype_boxes_left5+.1
-    STRCPY_PRINT    "5"
-    rcall    TFT_standard_color         ; Reset color
-    decfsz  hi,F                        ; Type = 1 (First)?
-    return                              ; no, Done.
-    WIN_FRAME_STD   surf_decotype_boxes_top, surf_decotype_boxes_bottom, surf_decotype_boxes_left5, surf_decotype_boxes_left5+.8    ;top, bottom, left, right
-    return                              ; Done.
-
-	
-    global  TFT_show_color_schemes
+	rcall	TFT_disabled_color
+	movff	opt_gas_type+4,hi			; 0=Disabled, 1=First, 2=Travel, 3=Deco
+	tstfsz	hi
+	rcall	TFT_standard_color
+	WIN_LEFT surf_decotype_boxes_left5+.1
+	STRCPY_PRINT "5"
+	rcall	TFT_standard_color			; Reset color
+	decfsz	hi,F						; Type = 1 (First)?
+	return								; no, Done.
+	WIN_FRAME_STD surf_decotype_boxes_top, surf_decotype_boxes_bottom, surf_decotype_boxes_left5, surf_decotype_boxes_left5+.8	;top, bottom, left, right
+	return								; Done.
+
+
+	global	TFT_show_color_schemes
 TFT_show_color_schemes:					; update the color schemes
-    bsf     divemode					; put in divemode
-    call    TFT_divemask_color
-    WIN_TINY  .12,.40
-    STRCAT_TEXT_PRINT	tDepth
-    WIN_TINY  .62,.40
-    STRCAT_TEXT_PRINT	tMaxDepth
-    WIN_TINY  .122,.40
-    STRCAT_TEXT_PRINT	tDivetime
-
-    ; Show some demo screen
-
-    ; Depth demo
-    call	TFT_standard_color
+	bsf		divemode					; put in divemode
+	call	TFT_divemask_color
+	WIN_TINY .12,.40
+	STRCAT_TEXT_PRINT tDepth
+	WIN_TINY .62,.40
+	STRCAT_TEXT_PRINT tMaxDepth
+	WIN_TINY .122,.40
+	STRCAT_TEXT_PRINT tDivetime
+
+	; Show some demo screen
+
+	; Depth demo
+	call	TFT_standard_color
 	WIN_MEDIUM	.3,.54
-    movlw   LOW     .5172
-    movwf   lo
-    movlw   HIGH    .5172
-    movwf   hi
+	movlw	LOW  .5172
+	movwf	lo
+	movlw	HIGH .5172
+	movwf	hi
 	bsf		leftbind
 	bsf		ignore_digit4
 	output_16							; Full meters in Big font
 	bcf		leftbind
 	STRCAT_PRINT ""						; Display full meters
-    WIN_SMALL	.25,.66
-    movlw   LOW     .5172
-    movwf   lo
-    movlw   HIGH    .5172
-    movwf   hi
-	PUTC    "."
+	WIN_SMALL	.25,.66
+	movlw	LOW	 .5172
+	movwf	lo
+	movlw	HIGH	.5172
+	movwf	hi
+	PUTC	"."
 	movlw	d'4'
 	movwf	ignore_digits
 	bsf		ignore_digit5
-	output_16dp	d'0'                	; .1m in SMALL font
+	output_16dp	d'0'					; .1m in SMALL font
 	STRCAT_PRINT ""						; Display decimeters
-	WIN_FONT 	FT_SMALL
-
-    ; Max. Depth demo
-    WIN_MEDIUM	.64,.54
-	bsf     ignore_digit4				; no 0.1m
-    bsf     leftbind
-    movlw   LOW     .6349
-    movwf   lo
-    movlw   HIGH    .6349
-    movwf   hi
+	WIN_FONT FT_SMALL
+
+	; Max. Depth demo
+	WIN_MEDIUM	.64,.54
+	bsf		ignore_digit4				; no 0.1m
+	bsf		leftbind
+	movlw	LOW	 .6349
+	movwf	lo
+	movlw	HIGH	.6349
+	movwf	hi
 	output_16
 	STRCAT_PRINT ""						; Display full meters
-    bcf     leftbind
+	bcf		leftbind
 	; .1m in SMALL font
-	WIN_SMALL	.87,.66
-	PUTC    "."
+	WIN_SMALL .87,.66
+	PUTC	"."
 	movlw	d'4'
 	movwf	ignore_digits
 	bsf		ignore_digit5
-    bsf     leftbind
-    movlw   LOW     .6349
-    movwf   lo
-    movlw   HIGH    .6349
-    movwf   hi
+	bsf		leftbind
+	movlw	LOW	 .6349
+	movwf	lo
+	movlw	HIGH	.6349
+	movwf	hi
 	output_16dp	d'0'
 	STRCAT_PRINT ""						; Display decimeters
-    bcf     leftbind
-
-    ; Divetime demo
-    movff   mins,lo
-    clrf    hi
-	WIN_MEDIUM	.103, .54
-	output_16_3                     	; limit to 999 and display only (0-999)
-	STRCAT_PRINT ""                 	; Show minutes in large font
-	WIN_SMALL  .139, .66   				; left position for two sec figures
-	PUTC    ':'
+	bcf		leftbind
+
+	; Divetime demo
+	movff	mins,lo
+	clrf	hi
+	WIN_MEDIUM .103, .54
+	output_16_3							; limit to 999 and display only (0-999)
+	STRCAT_PRINT ""						; Show minutes in large font
+	WIN_SMALL .139, .66					; left position for two sec figures
+	PUTC	':'
 	bsf		leftbind
-	movff   secs,lo
+	movff	secs,lo
 	output_99x
-	bcf     leftbind
-	STRCAT_PRINT ""                 	; Show seconds in small font
-
-    bcf     divemode                	; don't stay in divemode
+	bcf		leftbind
+	STRCAT_PRINT ""						; Show seconds in small font
+
+	bcf		divemode					; don't stay in divemode
 	return
 
 	global	TFT_divemode_mask
 TFT_divemode_mask:						; Displays mask in divemode
-	bcf	    FLAG_TFT_divemode_mask
-	call    TFT_divemask_color
+	bcf		FLAG_TFT_divemode_mask
+	call	TFT_divemask_color
 	WIN_TINY dm_mask_depth_column,dm_mask_depth_row
-	STRCAT_TEXT_PRINT   tDepth
+	STRCAT_TEXT_PRINT tDepth
 	WIN_TINY dm_mask_maxdepth_column,dm_mask_maxdepth_row
-	TSTOSS  opt_vsigraph				; 0=skip, 1=draw
+	TSTOSS	opt_vsigraph				; 0=skip, 1=draw
 	WIN_TINY dm_mask_maxdepth_column_nvsi,dm_mask_maxdepth_row
-	STRCAT_TEXT_PRINT   tMaxDepth
+	STRCAT_TEXT_PRINT tMaxDepth
 	WIN_TINY dm_mask_divetime_column,dm_mask_divetime_row
-	STRCAT_TEXT_PRINT   tDivetime
-	bra		TFT_standard_color 			; and return...
-    
-    global  TFT_divemode_mask_alternative
+	STRCAT_TEXT_PRINT tDivetime
+	bra		TFT_standard_color			; and return...
+
+	global	TFT_divemode_mask_alternative
 TFT_divemode_mask_alternative:			; Alt. mask for divemode
-    bcf	    FLAG_TFT_divemode_mask_alt
-    call    TFT_divemask_color
-    WIN_TINY dm_mask_depth_column,dm_mask_depth_row
-    STRCAT_TEXT_PRINT   tDepth
-    WIN_TINY dm_mask_divetime_column-.30,dm_mask_divetime_row
-    STRCAT_TEXT_PRINT   tDivetime
-    bra		TFT_standard_color 			; and return...
-    
-    global	TFT_draw_gassep_line
+	bcf		FLAG_TFT_divemode_mask_alt
+	call	TFT_divemask_color
+	WIN_TINY dm_mask_depth_column,dm_mask_depth_row
+	STRCAT_TEXT_PRINT tDepth
+	WIN_TINY dm_mask_divetime_column-.30,dm_mask_divetime_row
+	STRCAT_TEXT_PRINT tDivetime
+	bra		TFT_standard_color			; and return...
+
+	global	TFT_draw_gassep_line
 TFT_draw_gassep_line:
-    btfsc	FLAG_apnoe_mode				; Ignore in Apnoe mode
-    return
-    btfsc   divemode_menu               ; Is the dive mode menu shown?
-    return                              ; Yes, return
-    bra		TFT_standard_color 			; and return...
+	btfsc	FLAG_apnoe_mode				; Ignore in Apnoe mode
+	return
+	btfsc	divemode_menu				; Is the dive mode menu shown?
+	return								; Yes, return
+	bra		TFT_standard_color			; and return...
 
 ;=========================================================================
 
 	global	TFT_display_velocity
-TFT_display_velocity:						; With divA+0 = m/min, neg_flag_velocity: ascend=1, descend=0
-    bcf     STATUS,C
-    movlw   velocity_display_threshold_1	; lowest threshold for display vertical velocity
-    subwf   divA+0,W
-    btfss   STATUS,C
-    bra	    TFT_velocity_clear              ; lower then threshold. Clear text and graph (If active)
-
-    ; We have something to display
-    bsf	    display_velocity                ; Set flag
-    ; check if descending: no warning color if descending
-    rcall   TFT_standard_color
-    btfsc   neg_flag_velocity               ; Ignore for descent!
-    rcall   TFT_velocity_set_color          ; Set color for text and set threshold for graph
-
-    rcall   TFT_velocity_disp               ; Show the text
-
-    TSTOSS  opt_vsigraph                    ; =1: draw the graphical VSI bar
-    bra     TFT_display_velocity_done       ; No graph
-	
-    btfsc   alternative_divelayout	    ; Alternative layout?
-    bra     TFT_display_velocity_done       ; Yes, no graph! (no room when divetime minutes is three figures)
-
-    btfsc   neg_flag_velocity               ; Ignore for descent!
-    rcall   TFT_velocity_graph              ; Show the graph
-    btfss   neg_flag_velocity               ; Ignore for descent!
-    rcall   TFT_velocity_clear_graph        ; Clear the graph for descent
-
-TFT_display_velocity_done:	
-    bra 	TFT_standard_color              ; and return!
+TFT_display_velocity:					; With divA+0 = m/min, neg_flag_velocity: ascend=1, descend=0
+	bcf		STATUS,C
+	movlw	velocity_display_threshold_1; lowest threshold for display vertical velocity
+	subwf	divA+0,W
+	btfss	STATUS,C
+	bra		TFT_velocity_clear			; lower then threshold. Clear text and graph (If active)
+
+	; We have something to display
+	bsf		display_velocity			; Set flag
+	; check if descending: no warning color if descending
+	rcall	TFT_standard_color
+	btfsc	neg_flag_velocity			; Ignore for descent!
+	rcall	TFT_velocity_set_color		; Set color for text and set threshold for graph
+
+	rcall	TFT_velocity_disp			; Show the text
+
+	TSTOSS	opt_vsigraph				; =1: draw the graphical VSI bar
+	bra		TFT_display_velocity_done	; No graph
+
+	btfsc	alternative_divelayout		; Alternative layout?
+	bra		TFT_display_velocity_done	; Yes, no graph! (no room when divetime minutes is three figures)
+
+	btfsc	neg_flag_velocity			; Ignore for descent!
+	rcall	TFT_velocity_graph			; Show the graph
+	btfss	neg_flag_velocity			; Ignore for descent!
+	rcall	TFT_velocity_clear_graph	; Clear the graph for descent
+
+TFT_display_velocity_done:
+	bra		TFT_standard_color			; and return!
 
 TFT_speed_table:
-    ; use a depth-dependent ascent rate warning
-    ; depth(ft):     <20 >20 >40 >60 >75 >88 >101 >115 >128 >144 >164
-    ; speed(ft/min):  23  26  29  33  36  43   49   56   59   62   66
-    ; depth(m):      <=6  >6 >12 >18 >23 >27  >31  >35  >39  >44  >50
-    ; speed(m/min):    7   8   9  10  11  13   15   17   18   19   20 (warning)
+	; use a depth-dependent ascent rate warning
+	; depth(ft):     <20 >20 >40 >60 >75 >88 >101 >115 >128 >144 >164
+	; speed(ft/min):  23  26  29  33  36  43   49   56   59   62   66
+	; depth(m):      <=6  >6 >12 >18 >23 >27  >31  >35  >39  >44  >50
+	; speed(m/min):    7   8   9  10  11  13   15   17   18   19   20 (warning)
 	; speed(m/min):    5   6   7   8   8  10   12   13   14   15   15 (attention)
 
-    ; <xx m, warning speed, attention speed, unused
-    DB  .6,.7,.5,.0
-    DB  .12,.8,.6,.0
-    DB  .18,.9,.7,.0
-    DB  .23,.10,.8,.0
-    DB  .27,.11,.8,.0
-    DB  .31,.13,.10,.0
-    DB  .35,.15,.12,.0
-    DB  .39,.17,.13,.0
-    DB  .44,.18,.14,.0
-    DB  .50,.19,.15,.0
-    DB  .200,.20,.15,.0
-
-TFT_velocity_set_color:                     ; Set color based on speed table or use static thresholds, with divA+0 = m/min
-    ; check if old/new ascend logic is used
-    TSTOSS  opt_vsitextv2       			; 0=standard, 1=dynamic
-    bra     TFT_velocity_set_color_static   ; static ascend rate limit
-
-    ; get the actual depth in m
-    SAFE_2BYTE_COPY rel_pressure, lo
+	; <xx m, warning speed, attention speed, unused
+	DB  .6,.7,.5,.0
+	DB  .12,.8,.6,.0
+	DB  .18,.9,.7,.0
+	DB  .23,.10,.8,.0
+	DB  .27,.11,.8,.0
+	DB  .31,.13,.10,.0
+	DB  .35,.15,.12,.0
+	DB  .39,.17,.13,.0
+	DB  .44,.18,.14,.0
+	DB  .50,.19,.15,.0
+	DB  .200,.20,.15,.0
+
+TFT_velocity_set_color:						; Set color based on speed table or use static thresholds, with divA+0 = m/min
+	; check if old/new ascend logic is used
+	TSTOSS	opt_vsitextv2					; 0=standard, 1=dynamic
+	bra		TFT_velocity_set_color_static	; static ascend rate limit
+
+	; get the actual depth in m
+	SAFE_2BYTE_COPY rel_pressure, lo
 	call	adjust_depth_with_salinity		; computes salinity setting into lo:hi [mbar]
 	movff	hi,xA+1
 	movff	lo,xA+0
 	movlw	LOW		d'100'
 	movwf	xB+0
-	clrf	xB+1						    ; Devide/100 -> xC+0 = Depth in m
-	call	div16x16					    ; xA/xB=xC with xA as remainder 	
-	;movf	xC+0,W						    ; Depth in m
-    
-    ; point to speed table
-    movlw   LOW     (TFT_speed_table-.3)
-    movwf   TBLPTRL
-    movlw   HIGH    (TFT_speed_table-.3)
-    movwf   TBLPTRH
-    movlw   UPPER   (TFT_speed_table-.3)
-    movwf   TBLPTRU
+	clrf	xB+1							; Devide/100 -> xC+0 = Depth in m
+	call	div16x16						; xA/xB=xC with xA as remainder
+	;movf	xC+0,W							; Depth in m
+
+	; point to speed table
+	movlw	LOW   (TFT_speed_table-.3)
+	movwf	TBLPTRL
+	movlw	HIGH  (TFT_speed_table-.3)
+	movwf	TBLPTRH
+	movlw	UPPER (TFT_speed_table-.3)
+	movwf	TBLPTRU
 
 TFT_velocity_set_color_skip:
-    TBLRD*+                                 ; 3 dummy reads
-    TBLRD*+
-    TBLRD*+
-
-    TBLRD*+                                 ; Get speed threshold
-    movf	xC+0,W						    ; Depth in m
-    cpfsgt  TABLAT                          ; Threshold > current depth ?
-    bra     TFT_velocity_set_color_skip     ; No
-    
-    TBLRD*+                                 ; Get warning speed threshold
-    movf    TABLAT,W
-    movwf   divA+1                          ; Copy for graph routine
-    cpfslt  divA+0                          ; smaller then actual value (in m/min)?
-    bra     TFT_warnings_color              ; Set Warning color (And return)
-    TBLRD*+                                 ; Get attention speed threshold
-    movf    TABLAT,W
-    cpfslt  divA+0                          ; smaller then actual value (in m/min)?
-    bra     TFT_attention_color             ; Set Attention color (And return)
-    bra     TFT_standard_color              ; ...and return
+	TBLRD*+									; 3 dummy reads
+	TBLRD*+
+	TBLRD*+
+
+	TBLRD*+									; Get speed threshold
+	movf	xC+0,W							; Depth in m
+	cpfsgt	TABLAT							; Threshold > current depth ?
+	bra		TFT_velocity_set_color_skip		; No
+
+	TBLRD*+									; Get warning speed threshold
+	movf	TABLAT,W
+	movwf	divA+1							; Copy for graph routine
+	cpfslt	divA+0							; smaller then actual value (in m/min)?
+	bra	 TFT_warnings_color					; Set Warning color (And return)
+	TBLRD*+									; Get attention speed threshold
+	movf	TABLAT,W
+	cpfslt	divA+0							; smaller then actual value (in m/min)?
+	bra		TFT_attention_color				; set attention color (and return)
+	bra		TFT_standard_color				; ...and return
 
 TFT_velocity_set_color_static:
-    movlw   color_code_velocity_warn_high   ; in m/min
-    movwf   divA+1                          ; Copy for graph routine
-    cpfslt  divA+0                          ; smaller then actual value (in m/min)?
-    bra     TFT_warnings_color              ; Set Warning color (And return)
-    movlw   color_code_velocity_attn_high   ; in m/min
-    cpfslt  divA+0                          ; smaller then actual value (in m/min)?
-    bra     TFT_attention_color             ; Set Attention color (And return)
-    bra     TFT_standard_color              ; ...and return
+	movlw	color_code_velocity_warn_high	; in m/min
+	movwf	divA+1							; Copy for graph routine
+	cpfslt	divA+0							; smaller then actual value (in m/min)?
+	bra		TFT_warnings_color				; Set Warning color (And return)
+	movlw	color_code_velocity_attn_high	; in m/min
+	cpfslt	divA+0							; smaller then actual value (in m/min)?
+	bra		TFT_attention_color				; set attention color (and return)
+	bra		TFT_standard_color				; ...and return
 
 TFT_velocity_disp:
-    WIN_SMALL	dm_velocity_text_column, dm_velocity_text_row
-    TSTOSS  opt_units			            ; 0=Meters, 1=Feets
+	WIN_SMALL	dm_velocity_text_column, dm_velocity_text_row
+	TSTOSS	opt_units						; 0=Meters, 1=Feets
 	bra		TFT_velocity_metric
 ;TFT_velocity_imperial:
 	movff	divA+0,WREG						; divA+0 = m/min
@@ -635,8 +647,8 @@
 	bsf		leftbind
 	output_16
 	bcf		leftbind
-	STRCAT_TEXT_PRINT  tVelImperial			; Unit switch
-    return
+	STRCAT_TEXT_PRINT tVelImperial			; Unit switch
+	return
 
 TFT_velocity_metric:
 	movff	divA+0,lo						; divA+0 = m/min
@@ -645,37 +657,37 @@
 	movlw	'+'
 	movwf	POSTINC2
 	output_99
-	STRCAT_TEXT_PRINT  tVelMetric			; Unit switch
-    return
-
-TFT_velocity_graph:                         ; divA+0 = m/min
+	STRCAT_TEXT_PRINT tVelMetric			; Unit switch
+	return
+
+TFT_velocity_graph:							; divA+0 = m/min
 	; divA+0 holding the ascend speed in m/min
-	movff	divA+0,hi	                    ; Copy
-	WIN_BOX_BLACK   dm_velobar_top, dm_velobar_bot, dm_velobar_lft, dm_velobar_rgt ;top, bottom, left, right -> outer frame
-	rcall   TFT_divemask_color_dive     ; Color -> WREG
-    WIN_FRAME_COLOR   dm_velobar_top, dm_velobar_bot, dm_velobar_lft, dm_velobar_rgt ;inner frame
-	rcall   TFT_divemask_color_dive     ; Color -> WREG
-	WIN_FRAME_COLOR   dm_velobar_top+.10, dm_velobar_bot-.10, dm_velobar_lft, dm_velobar_rgt ;inner frame
-	rcall   TFT_divemask_color_dive     ; Color -> WREG
-	WIN_FRAME_COLOR   dm_velobar_top+.20, dm_velobar_bot-.20, dm_velobar_lft, dm_velobar_rgt ;inner frame
-	rcall   TFT_divemask_color_dive     ; Color -> WREG
-	WIN_FRAME_COLOR   dm_velobar_top+.30, dm_velobar_bot-.30, dm_velobar_lft, dm_velobar_rgt ;inner frame
+	movff	divA+0,hi						; Copy
+	WIN_BOX_BLACK	dm_velobar_top, dm_velobar_bot, dm_velobar_lft, dm_velobar_rgt ;top, bottom, left, right -> outer frame
+	rcall	TFT_divemask_color_dive			; Color -> WREG
+	WIN_FRAME_COLOR	dm_velobar_top, dm_velobar_bot, dm_velobar_lft, dm_velobar_rgt ;inner frame
+	rcall	TFT_divemask_color_dive			; Color -> WREG
+	WIN_FRAME_COLOR	dm_velobar_top+.10, dm_velobar_bot-.10, dm_velobar_lft, dm_velobar_rgt ;inner frame
+	rcall	TFT_divemask_color_dive			; Color -> WREG
+	WIN_FRAME_COLOR	dm_velobar_top+.20, dm_velobar_bot-.20, dm_velobar_lft, dm_velobar_rgt ;inner frame
+	rcall	TFT_divemask_color_dive			; Color -> WREG
+	WIN_FRAME_COLOR	dm_velobar_top+.30, dm_velobar_bot-.30, dm_velobar_lft, dm_velobar_rgt ;inner frame
 	
-    movff   divA+1,xA+0                     ; m/min for warning level (upper two blocks)
+	movff	divA+1,xA+0						; m/min for warning level (upper two blocks)
 	clrf	xA+1
 	movlw	.5
 	movwf	xB+0							; Threshold for color warning (5 color normal + 2 color warning)
 	clrf	xB+1
-	call	div16x16						;xA/xB=xC with xA as remainder 	
-	; xC+0 holds stepsize in m/min (e.g. =3 for 15m/min warning treshold)
+	call	div16x16						;xA/xB=xC with xA as remainder
+	; xC+0 holds step size in m/min (e.g. =3 for 15m/min warning threshold)
 	movff	hi,xA+0							; Velocity in m/min
 	clrf	xA+1
 	movff	xC+0,xB+0						; Step size
 	clrf	xB+1
-	call	div16x16						;xA/xB=xC with xA as remainder 	
+	call	div16x16						;xA/xB=xC with xA as remainder
 	; xC+0 now holds amount of segments to show
 
-	movff	hi,divA+0	                    ; Copy back for numeric output
+	movff	hi,divA+0						; Copy back for numeric output
 	movlw	d'7'
 	cpfslt	xC+0
 	bra		DISP_graph_vel_7
@@ -697,31 +709,31 @@
 	movlw	d'1'
 	cpfslt	xC+0
 	bra		DISP_graph_vel_1
-	bra		DISP_graph_vel_0			; Should not happen...
+	bra		DISP_graph_vel_0				; Should not happen...
 
 DISP_graph_vel_7:
-	rcall   TFT_warnings_color_dive     ; Color -> WREG
-    WIN_BOX_COLOR   dm_velobar_top+.2, dm_velobar_top+.8, dm_velobar_lft+.2, dm_velobar_rgt-.2 ;top, bottom, left, right
+	rcall	TFT_warnings_color_dive		; Color -> WREG
+	WIN_BOX_COLOR dm_velobar_top+.2, dm_velobar_top+.8, dm_velobar_lft+.2, dm_velobar_rgt-.2 ;top, bottom, left, right
 DISP_graph_vel_6:
-	rcall   TFT_warnings_color_dive     ; Color -> WREG
-    WIN_BOX_COLOR   dm_velobar_top+.12, dm_velobar_top+.18, dm_velobar_lft+.2, dm_velobar_rgt-.2 ;top, bottom, left, right
+	rcall	TFT_warnings_color_dive		; Color -> WREG
+	WIN_BOX_COLOR dm_velobar_top+.12, dm_velobar_top+.18, dm_velobar_lft+.2, dm_velobar_rgt-.2 ;top, bottom, left, right
 DISP_graph_vel_5:
-    rcall   TFT_attention_color_dive     ; Color -> WREG
-    WIN_BOX_COLOR   dm_velobar_top+.22, dm_velobar_top+.28, dm_velobar_lft+.2, dm_velobar_rgt-.2 ;top, bottom, left, right
+	rcall	TFT_attention_color_dive	; Color -> WREG
+	WIN_BOX_COLOR dm_velobar_top+.22, dm_velobar_top+.28, dm_velobar_lft+.2, dm_velobar_rgt-.2 ;top, bottom, left, right
 DISP_graph_vel_4:
-    rcall   TFT_standard_color_dive     ; Color -> WREG
-    WIN_BOX_COLOR   dm_velobar_top+.32, dm_velobar_top+.38, dm_velobar_lft+.2, dm_velobar_rgt-.2 ;top, bottom, left, right
+	rcall	TFT_standard_color_dive		; Color -> WREG
+	WIN_BOX_COLOR dm_velobar_top+.32, dm_velobar_top+.38, dm_velobar_lft+.2, dm_velobar_rgt-.2 ;top, bottom, left, right
 DISP_graph_vel_3:
-    rcall   TFT_standard_color_dive     ; Color -> WREG
-    WIN_BOX_COLOR   dm_velobar_top+.42, dm_velobar_top+.48, dm_velobar_lft+.2, dm_velobar_rgt-.2 ;top, bottom, left, right
+	rcall	TFT_standard_color_dive		; Color -> WREG
+	WIN_BOX_COLOR dm_velobar_top+.42, dm_velobar_top+.48, dm_velobar_lft+.2, dm_velobar_rgt-.2 ;top, bottom, left, right
 DISP_graph_vel_2:
-    rcall   TFT_standard_color_dive     ; Color -> WREG
-    WIN_BOX_COLOR   dm_velobar_top+.52, dm_velobar_top+.58, dm_velobar_lft+.2, dm_velobar_rgt-.2 ;top, bottom, left, right
+	rcall	TFT_standard_color_dive		; Color -> WREG
+	WIN_BOX_COLOR dm_velobar_top+.52, dm_velobar_top+.58, dm_velobar_lft+.2, dm_velobar_rgt-.2 ;top, bottom, left, right
 DISP_graph_vel_1:
-    rcall   TFT_standard_color_dive     ; Color -> WREG
-    WIN_BOX_COLOR   dm_velobar_top+.62, dm_velobar_top+.68, dm_velobar_lft+.2, dm_velobar_rgt-.2 ;top, bottom, left, right
+	rcall	TFT_standard_color_dive		; Color -> WREG
+	WIN_BOX_COLOR dm_velobar_top+.62, dm_velobar_top+.68, dm_velobar_lft+.2, dm_velobar_rgt-.2 ;top, bottom, left, right
 DISP_graph_vel_0:
-    return                              ; Done.
+	return								; Done.
 
 	global	TFT_velocity_clear
 TFT_velocity_clear:
@@ -729,55 +741,55 @@
 	return
 	bcf		display_velocity			; Velocity was displayed, delete velocity now
 	; Clear Text
-	WIN_BOX_BLACK   dm_velocity_text_row, dm_velocity_text_bot, dm_velocity_text_column, dm_velocity_text_rgt	; top, bottom, left, right
-
-    TSTOSS  opt_vsigraph               ; =1: draw the graphical VSI bar
-    return                             ; No graph to clear         
+	WIN_BOX_BLACK	dm_velocity_text_row, dm_velocity_text_bot, dm_velocity_text_column, dm_velocity_text_rgt ; top, bottom, left, right
+
+	TSTOSS	opt_vsigraph				; =1: draw the graphical VSI bar
+	return								; No graph to clear
 TFT_velocity_clear_graph:
-    ; Clear Graph
-    WIN_BOX_BLACK   dm_velobar_top, dm_velobar_bot, dm_velobar_lft, dm_velobar_rgt ;top, bottom, left, right
+	; Clear Graph
+	WIN_BOX_BLACK dm_velobar_top, dm_velobar_bot, dm_velobar_lft, dm_velobar_rgt ;top, bottom, left, right
 	return
 
 ;=========================================================================
 
-    global  TFT_clear_decoarea
+	global	TFT_clear_decoarea
 TFT_clear_decoarea:
-    WIN_BOX_BLACK   dm_decostop_1st_stop_row, .239, dm_decostop_1st_stop_column, .159	; top, bottom, left, right
+	WIN_BOX_BLACK	dm_decostop_1st_stop_row, .239, dm_decostop_1st_stop_column, .159 ; top, bottom, left, right
 	return
 
 
-    global  TFT_clear_divemode_menu
+	global	TFT_clear_divemode_menu
 TFT_clear_divemode_menu:
-    WIN_BOX_BLACK   dm_menu_row,   dm_menu_lower, dm_menu_left,  dm_menu_right	; top, bottom, left, right
+	WIN_BOX_BLACK	dm_menu_row, dm_menu_lower, dm_menu_left, dm_menu_right	; top, bottom, left, right
 	return
 
 
 	global	TFT_display_ndl_mask
 TFT_display_ndl_mask:
-    bcf	    FLAG_TFT_display_ndl_mask
-    btfsc   divemode_menu               ; Is the dive mode menu shown?
-    return                              ; Yes, return
-	call	TFT_clear_decoarea          ; Clear Dekostop and Dekosum
-    call    TFT_divemask_color
-   	WIN_STD dm_ndl_text_column, dm_ndl_text_row
-	STRCPY_TEXT_PRINT  tNDL             ; NDL
-	bra	TFT_standard_color              ; and return...
+	bcf		FLAG_TFT_display_ndl_mask
+	btfsc	divemode_menu				; Is the dive mode menu shown?
+	return								; Yes, return
+	call	TFT_clear_decoarea			; Clear Dekostop and Dekosum
+	call	TFT_divemask_color
+	WIN_STD dm_ndl_text_column, dm_ndl_text_row
+	STRCPY_TEXT_PRINT tNDL				; NDL
+	bra		TFT_standard_color			; and return...
 
 
 	global	TFT_display_tts
 TFT_display_tts:
-    bcf	    FLAG_TFT_display_tts
-    btfsc   divemode_menu               ; Is the dive mode menu shown?
-    return                              ; Yes, return
+	bcf		FLAG_TFT_display_tts
+	btfsc	divemode_menu				; Is the dive mode menu shown?
+	return								; Yes, return
 	call	TFT_standard_color
-	movff	int_O_ascenttime+0,lo       ; TTS
-	movff	int_O_ascenttime+1,hi       ; on 16bits
+	movff	int_O_ascenttime+0,lo		; TTS
+	movff	int_O_ascenttime+1,hi		; on 16bits
 	btfss	hi,int_invalid_flag			; is the invalid flag set?
 	bra		TFT_display_tts_1			; NO
 	bcf		hi,int_invalid_flag			; YES - clear flag
-	call	TFT_disabled_color			; 		switch to disabled color
+	call	TFT_disabled_color			;       switch to disabled color
 TFT_display_tts_1:
-	WIN_MEDIUM  dm_tts_value_column, dm_tts_value_row
+	WIN_MEDIUM dm_tts_value_column, dm_tts_value_row
 	output_16_3							; Displays only 0...999
 	STRCAT_PRINT "'"
 	return
@@ -785,110 +797,110 @@
 
 	global	TFT_display_ndl
 TFT_display_ndl:
-    bcf	    FLAG_TFT_display_ndl
-    btfsc   divemode_menu               ; Is the dive mode menu shown?
-    return                              ; Yes, return
-    WIN_MEDIUM	dm_ndl_value_column, dm_ndl_value_row
-    call	TFT_standard_color
-    movff	char_O_nullzeit,lo			; Get NDL from C-code
-    output_8
-    STRCAT_PRINT "'"
-    return
-
-
-	global	TFT_big_deco_alt	        ; The big deco
+	bcf		FLAG_TFT_display_ndl
+	btfsc	divemode_menu				; Is the dive mode menu shown?
+	return								; Yes, return
+	WIN_MEDIUM	dm_ndl_value_column, dm_ndl_value_row
+	call	TFT_standard_color
+	movff	char_O_nullzeit,lo			; Get NDL from C-code
+	output_8
+	STRCAT_PRINT "'"
+	return
+
+
+	global	TFT_big_deco_alt			; The big deco
 TFT_big_deco_alt:
-    bcf	    FLAG_TFT_big_deco_alt
-    
-    btfss   decostop_active             ; deco?
-    bra	    TFT_big_deco_ndl_alt	    ; NDL
-    
-    ; Deco
-    bcf	    FLAG_TFT_display_deko
-    call    TFT_divemask_color
-    WIN_STD 	.70,.165
-    STRCPY_TEXT_PRINT  tTTS             ; TTS
-    rcall   TFT_standard_color
-    
-    ; TTS
-    WIN_LARGE	.97,.170
-    movff	int_O_ascenttime+0,lo       ; TTS
-    movff	int_O_ascenttime+1,hi       ; on 16bits
-    btfss	hi,int_invalid_flag			; is the invalid flag set?
-    bra		TFT_display_tts_alt_1		; NO
-    bcf		hi,int_invalid_flag			; YES - clear flag
-    call	TFT_disabled_color			; 		switch to disabled color
+	bcf		FLAG_TFT_big_deco_alt
+
+	btfss	decostop_active				; deco?
+	bra		TFT_big_deco_ndl_alt		; NDL
+
+	; Deco
+	bcf		FLAG_TFT_display_deko
+	call	TFT_divemask_color
+	WIN_STD .70,.165
+	STRCPY_TEXT_PRINT tTTS				; TTS
+	rcall	TFT_standard_color
+
+	; TTS
+	WIN_LARGE	.97,.170
+	movff	int_O_ascenttime+0,lo		; TTS
+	movff	int_O_ascenttime+1,hi		; on 16bits
+	btfss	hi,int_invalid_flag			; is the invalid flag set?
+	bra		TFT_display_tts_alt_1		; NO
+	bcf		hi,int_invalid_flag			; YES - clear flag
+	call	TFT_disabled_color			;       switch to disabled color
 TFT_display_tts_alt_1:
-    output_16_3							; Displays only 0...999
-    STRCAT_PRINT ""
-    
-    ; 1st Stop
-    call    TFT_divemask_color
-    WIN_STD .25,dm_customview_row
-    STRCPY_TEXT_PRINT  tDiveSafetyStop  ; "Stop"
-    
-    WIN_LARGE	.60,.95
-    TFT_color_code	warn_stop		    ; Color-code Output
-    movff	char_O_first_deco_depth,lo  ; stop depth in m
-    rcall	TFT_display_deko_output_depth ; Outputs depth (stored in lo) to POSTINC2 with "m" or w/o (For ft)
-    STRCAT_PRINT ""
-    
-    ; m or ft after the stop depth
-    WIN_MEDIUM 	.100,.118
-    TSTOSS	opt_units				    ; 0=m, 1=ft
-    bra		TFT_display_tts_alt_1_metric
-    STRCAT_TEXT_PRINT tFeets1
-    bra	    TFT_display_tts_alt_1_com
+	output_16_3							; Displays only 0...999
+	STRCAT_PRINT ""
+
+	; 1st Stop
+	call	TFT_divemask_color
+	WIN_STD .25,dm_customview_row
+	STRCPY_TEXT_PRINT tDiveSafetyStop	; "Stop"
+
+	WIN_LARGE .60,.95
+	call	TFT_color_code_stop			; Color-code Output
+	movff	char_O_first_deco_depth,lo	; stop depth in m
+	rcall	TFT_display_deko_output_depth ; Outputs depth (stored in lo) to POSTINC2 with "m" or w/o (For ft)
+	STRCAT_PRINT ""
+
+	; m or ft after the stop depth
+	WIN_MEDIUM .100,.118
+	TSTOSS	opt_units					; 0=m, 1=ft
+	bra		TFT_display_tts_alt_1_metric
+	STRCAT_TEXT_PRINT tFeets1
+	bra		TFT_display_tts_alt_1_com
 TFT_display_tts_alt_1_metric:
-    STRCAT_TEXT_PRINT tMeters
+	STRCAT_TEXT_PRINT tMeters
 TFT_display_tts_alt_1_com:
-    WIN_LARGE	.117,.95
-    movff	char_O_first_deco_time,lo   ; length of first stop in min
-    bcf	    leftbind
-    output_99
-    STRCAT_PRINT ""
-    goto	TFT_standard_color			; and return...
-   
+	WIN_LARGE .117,.95
+	movff	char_O_first_deco_time,lo	; length of first stop in min
+	bcf		leftbind
+	output_99
+	STRCAT_PRINT ""
+	goto	TFT_standard_color			; and return...
+	
 TFT_big_deco_ndl_alt:
-    ; NDL
-    bcf	    FLAG_TFT_display_ndl
-    bcf	    decostop_active				; clear flag (again)
-    call    TFT_divemask_color
-    WIN_STD .70,.165
-    STRCPY_TEXT_PRINT  tNDL             ; NDL
-    call   TFT_standard_color
-    WIN_LARGE .97,.170
-    call	TFT_standard_color
-    movff	char_O_nullzeit,lo			; Get NDL from C-code
-    output_8
-    STRCAT_PRINT ""
-    
-    btfsc   FLAG_TFT_show_safety_stop
-    bra	    TFT_show_safety_stop_alt	; Show safety stop (And return)
-    ; Clear any safety stop or Decostop
+	; NDL
+	bcf		FLAG_TFT_display_ndl
+	bcf		decostop_active				; clear flag (again)
+	call	TFT_divemask_color
+	WIN_STD .70,.165
+	STRCPY_TEXT_PRINT tNDL				; NDL
+	call	TFT_standard_color
+	WIN_LARGE .97,.170
+	call	TFT_standard_color
+	movff	char_O_nullzeit,lo			; Get NDL from C-code
+	output_8
+	STRCAT_PRINT ""
+
+	btfsc	FLAG_TFT_show_safety_stop
+	bra		TFT_show_safety_stop_alt	; Show safety stop (And return)
+	; Clear any safety stop or Decostop
 TFT_no_more_safety_stop_alt:
-    WIN_BOX_BLACK   dm_customview_row, .150, .0, .159	; top, bottom, left, right
-    WIN_BOX_BLACK   dm_customview_row, .164, .60, .159	; top, bottom, left, right
-    return
+	WIN_BOX_BLACK	dm_customview_row, .150, .0, .159	; top, bottom, left, right
+	WIN_BOX_BLACK	dm_customview_row, .164, .60, .159	; top, bottom, left, right
+	return
 
 TFT_show_safety_stop_alt:
-    bcf	    FLAG_TFT_show_safety_stop
-    tstfsz	safety_stop_countdown		; Countdown at zero?
-    bra		TFT_show_safety_stop_alt2	; No, show stop
-    bcf		show_safety_stop			; Clear flag
-    btfss	safety_stop_active			; Displayed?
-    return								; No
-    bcf		safety_stop_active			; Clear flag
-    bra		TFT_no_more_safety_stop_alt	; Yes, Clear stop ; and return...
+	bcf		FLAG_TFT_show_safety_stop
+	tstfsz	safety_stop_countdown		; Countdown at zero?
+	bra		TFT_show_safety_stop_alt2	; No, show stop
+	bcf		show_safety_stop			; Clear flag
+	btfss	safety_stop_active			; Displayed?
+	return								; No
+	bcf		safety_stop_active			; Clear flag
+	bra		TFT_no_more_safety_stop_alt	; Yes, Clear stop ; and return...
 
 TFT_show_safety_stop_alt2:
-    bsf     safety_stop_active			; Set flag
-    decf    safety_stop_countdown,F		; Reduce countdown
-
-	call    TFT_divemask_color
-	WIN_STD 	.50,dm_customview_row
+	bsf		safety_stop_active			; Set flag
+	decf	safety_stop_countdown,F		; Reduce countdown
+
+	call	TFT_divemask_color
+	WIN_STD	.50,dm_customview_row
 	STRCPY_TEXT_PRINT tDiveSafetyStop
-	call    TFT_attention_color         ; show in yellow
+	call	TFT_attention_color			; show in yellow
 	WIN_LARGE	.90,.95
 	movff	safety_stop_countdown,lo
 	clrf	hi
@@ -896,51 +908,50 @@
 	movf	hi,W
 	movff	lo,hi
 	movwf	lo							; exchange lo and hi
-	bsf     leftbind
+	bsf		leftbind
 	output_8
 	STRCAT_PRINT ""
-	WIN_MEDIUM 	.112,.120
+	WIN_MEDIUM .112,.120
 	STRCAT_PRINT ":"
-	WIN_LARGE	.117,.95
-	bcf     leftbind
+	WIN_LARGE  .117,.95
+	bcf		leftbind
 	movff	hi,lo
 	output_99x
 	STRCAT_PRINT ""
-	WIN_FONT 	FT_SMALL
+	WIN_FONT FT_SMALL
 	goto	TFT_standard_color			; and return...
 
 
 	global	TFT_divemode_warning
 TFT_divemode_warning:
 	bcf		FLAG_TFT_divemode_warning
-	bsf		dive_warning_displayed              ; =1: The warning sign is shown
+	bsf		dive_warning_displayed				; =1: The warning sign is shown
 	WIN_TOP  dm_warning_icon_row
 	WIN_LEFT dm_warning_icon_column
-	TFT_WRITE_PROM_IMAGE dive_warning2_block 	; Show Warning icon
+	TFT_WRITE_PROM_IMAGE dive_warning2_block	; Show Warning icon
 	return
 
 	global	TFT_divemode_warning_clear
 TFT_divemode_warning_clear:
 	bcf		FLAG_TFT_divemode_warning_clear
-	btfss	dive_warning_displayed              ; =1: The warning sign is shown
+	btfss	dive_warning_displayed				; =1: The warning sign is shown
 	return
-	bcf		dive_warning_displayed              ; clear only once
-	WIN_BOX_BLACK dm_warning_icon_row, dm_warning_icon_bot, dm_warning_icon_column, dm_warning_icon_rgt  ; top, bottom, left, right
+	bcf		dive_warning_displayed				; clear only once
+	WIN_BOX_BLACK dm_warning_icon_row, dm_warning_icon_bot, dm_warning_icon_column, dm_warning_icon_rgt ; top, bottom, left, right
 	return
 
-
 	global	TFT_display_deko_mask
 TFT_display_deko_mask:
-    bcf		FLAG_TFT_display_deko_mask
-    btfsc	divemode_menu			; Is the dive mode menu shown? 
-    return							; Yes, return
-    rcall	TFT_clear_decoarea		; Clear Dekostop and Dekosum (and NDL in this case)
-    WIN_STD dm_tts_text_column, dm_tts_text_row
-    call	TFT_divemask_color
-    STRCPY_TEXT_PRINT  tTTS         ; TTS
-    call	TFT_standard_color
-    bcf		show_safety_stop        ; Clear safety stop flag
-    return
+	bcf		FLAG_TFT_display_deko_mask
+	btfsc	divemode_menu			; Is the dive mode menu shown? 
+	return							; Yes, return
+	rcall	TFT_clear_decoarea		; Clear Dekostop and Dekosum (and NDL in this case)
+	WIN_STD dm_tts_text_column, dm_tts_text_row
+	call	TFT_divemask_color
+	STRCPY_TEXT_PRINT tTTS			; TTS
+	call	TFT_standard_color
+	bcf		show_safety_stop		; Clear safety stop flag
+	return
 
 
 TFT_display_deko_output_depth:		; Outputs depth (stored in lo) to POSTINC2 with "m" or w/o (for ft)
@@ -954,37 +965,37 @@
 ; Convert with 334feet/100m to have 10ft, 20ft, 30ft stops...
 	movff	lo,xA+0
 	movff	hi,xA+1
-	movlw	LOW 	d'334'          ; 334feet/100m
+	movlw	LOW  d'334'				; 334feet/100m
 	movwf	xB+0
-	movlw	HIGH 	d'334'
+	movlw	HIGH d'334'
 	movwf	xB+1
-	call	mult16x16			    ; xA*xB=xC (lo:hi * 328)
-	movlw	d'50'                   ; round up
+	call	mult16x16				; xA*xB=xC (lo:hi * 328)
+	movlw	d'50'					; round up
 	addwf	xC+0,F
 	movlw	0
 	addwfc	xC+1,F
 	addwfc	xC+2,F
 	addwfc	xC+3,F
-	movlw	d'100'					
+	movlw	d'100'
 	movwf	xB+0
 	clrf	xB+1
-	call	div32x16  			    ; xC:4 / xB:2 = xC+3:xC+2 with xC+1:xC+0 as remainder
+	call	div32x16				; xC:4 / xB:2 = xC+3:xC+2 with xC+1:xC+0 as remainder
 	movff	xC+0,lo
-	movff	xC+1,hi				    ; restore lo and hi with updated value
+	movff	xC+1,hi					; restore lo and hi with updated value
 	bcf		leftbind
 	btfsc	alternative_divelayout
-	bsf		leftbind		    	; left for alternative layout mode
+	bsf		leftbind				; left for alternative layout mode
 	bsf		ignore_digit4			; Only full feet
 	output_16
 	btfsc	alternative_divelayout
-	return					    	; Not for alternative layout mode
+	return							; Not for alternative layout mode
 	STRCAT_TEXT	tFeets1
 	return
 
 TFT_display_deko_output_metric:
 	output_99
 	btfsc	alternative_divelayout
-	return					    	; Not for alternative layout mode
+	return							; Not for alternative layout mode
 	STRCAT_TEXT	tMeters
 	PUTC	' '
 	return
@@ -992,24 +1003,24 @@
 
 	global	TFT_display_deko
 TFT_display_deko:
-    bcf	    FLAG_TFT_display_deko
-    btfsc   divemode_menu               ; Is the dive mode menu shown?
-    return                              ; Yes, return
+	bcf		FLAG_TFT_display_deko
+	btfsc	divemode_menu				; Is the dive mode menu shown?
+	return								; Yes, return
 	WIN_MEDIUM dm_decostop_1st_stop_column, dm_decostop_1st_stop_row
-	TFT_color_code	warn_stop		    ; Color-code Output
-	movff	char_O_first_deco_depth,lo  ; stop depth in m
+	call	TFT_color_code_stop			; Color-code Output
+	movff	char_O_first_deco_depth,lo	; stop depth in m
 	rcall	TFT_display_deko_output_depth ; Outputs depth (stored in lo) to POSTINC2 with "m" or w/o (For ft)
-	movff	char_O_first_deco_time,lo   ; length of first stop in min
+	movff	char_O_first_deco_time,lo	; length of first stop in min
 	output_99
 	STRCAT_PRINT "'"
 	goto	TFT_standard_color			; and return...
 
 
-    global  TFT_decoplan
+	global	TFT_decoplan
 TFT_decoplan:
-    call    TFT_divemask_color
-    WIN_TINY    dm_custom_decoplan_title_column, dm_custom_decoplan_title_row
-    STRCPY_TEXT_PRINT tDiveDecoplan
+	call	TFT_divemask_color
+	WIN_TINY	dm_custom_decoplan_title_column, dm_custom_decoplan_title_row
+	STRCPY_TEXT_PRINT tDiveDecoplan
 	call	TFT_standard_color
 	movff	char_O_deco_depth+1,lo
 	tstfsz	lo							; Show another stop?
@@ -1018,51 +1029,51 @@
 	call	TFT_standard_color
 	WIN_SMALL	dm_cust_dstop_4th_stop_column,dm_cust_dstop_4th_stop_row
 	STRCPY_PRINT "  ---  "
-	WIN_BOX_BLACK   dm_cust_dstop_2nd_stop_row, dm_customview_bot-.2, dm_cust_dstop_2nd_stop_column, dm_cust_dstop_4th_stop_column	; top, bottom, left, right
-	WIN_BOX_BLACK   dm_cust_dstop_5th_stop_row, dm_customview_bot, dm_cust_dstop_5th_stop_column, dm_cust_dstop_6th_stop_column	; top, bottom, left, right
-	WIN_BOX_BLACK   dm_cust_dstop_6th_stop_row, dm_customview_bot, dm_cust_dstop_6th_stop_column, .159	; top, bottom, left, right
+	WIN_BOX_BLACK dm_cust_dstop_2nd_stop_row, dm_customview_bot-.2, dm_cust_dstop_2nd_stop_column, dm_cust_dstop_4th_stop_column	; top, bottom, left, right
+	WIN_BOX_BLACK dm_cust_dstop_5th_stop_row, dm_customview_bot, dm_cust_dstop_5th_stop_column, dm_cust_dstop_6th_stop_column	; top, bottom, left, right
+	WIN_BOX_BLACK dm_cust_dstop_6th_stop_row, dm_customview_bot, dm_cust_dstop_6th_stop_column, .159	; top, bottom, left, right
 	goto	TFT_standard_color			; and return...
-	
+
 TFT_display_deko2:
 	movff	char_O_deco_gas+0,lo		; get flag for invalid deco data
 	btfsc	lo,char_invalid_flag		; is the invalid flag set?
 	call	TFT_disabled_color			; YES - set to disabled color
 	WIN_SMALL	dm_cust_dstop_2nd_stop_column, dm_cust_dstop_2nd_stop_row
-	movff	char_O_deco_depth+1,lo  	; stop in m
-	bcf     lo,7                        ; Clear GAS_SWITCH bit
+	movff	char_O_deco_depth+1,lo		; stop in m
+	bcf		lo,7						; Clear GAS_SWITCH bit
 	rcall	TFT_display_deko_output_depth ; Outputs depth (stored in lo) to POSTINC2 with "m" or w/o (For ft)
-	movff	char_O_deco_time+1,lo   	; length of stop in min
+	movff	char_O_deco_time+1,lo		; length of stop in min
 	output_99
 	STRCAT_PRINT "'"
 	movff	char_O_deco_depth+2,lo
 	tstfsz	lo							; Show another stop?
 	bra		TFT_display_deko3			; Yes
 	; No, clear output and return
-	WIN_BOX_BLACK   dm_cust_dstop_3rd_stop_row, dm_customview_bot-.2, dm_cust_dstop_2nd_stop_column, dm_cust_dstop_4th_stop_column	; top, bottom, left, right
-	WIN_BOX_BLACK   dm_cust_dstop_4th_stop_row, dm_customview_bot, dm_cust_dstop_4th_stop_column, .159	; top, bottom, left, right
+	WIN_BOX_BLACK	dm_cust_dstop_3rd_stop_row, dm_customview_bot-.2, dm_cust_dstop_2nd_stop_column, dm_cust_dstop_4th_stop_column	; top, bottom, left, right
+	WIN_BOX_BLACK	dm_cust_dstop_4th_stop_row, dm_customview_bot, dm_cust_dstop_4th_stop_column, .159	; top, bottom, left, right
 	goto	TFT_standard_color			; and return...
 
 TFT_display_deko3:
 	WIN_SMALL	dm_cust_dstop_3rd_stop_column, dm_cust_dstop_3rd_stop_row
-	movff	char_O_deco_depth+2,lo  	; stop in m
-	bcf     lo,7                        ; Clear GAS_SWITCH bit
+	movff	char_O_deco_depth+2,lo		; stop in m
+	bcf		lo,7						; Clear GAS_SWITCH bit
 	rcall	TFT_display_deko_output_depth ; Outputs depth (stored in lo) to POSTINC2 with "m" or w/o (For ft)
-	movff	char_O_deco_time+2,lo   	; length of stop in min
+	movff	char_O_deco_time+2,lo		; length of stop in min
 	output_99
 	STRCAT_PRINT "'"
 	movff	char_O_deco_depth+3,lo
 	tstfsz	lo							; Show another stop?
 	bra		TFT_display_deko4			; Yes
 	; No, clear output and return
-	WIN_BOX_BLACK   dm_cust_dstop_4th_stop_row, dm_customview_bot, dm_cust_dstop_4th_stop_column, .159  ; top, bottom, left, right
+	WIN_BOX_BLACK dm_cust_dstop_4th_stop_row, dm_customview_bot, dm_cust_dstop_4th_stop_column, .159 ; top, bottom, left, right
 	goto	TFT_standard_color			; and return...
 
 TFT_display_deko4:
 	WIN_SMALL	dm_cust_dstop_4th_stop_column, dm_cust_dstop_4th_stop_row
-	movff	char_O_deco_depth+3,lo  	; stop in m
-	bcf     lo,7                        ; Clear GAS_SWITCH bit
+	movff	char_O_deco_depth+3,lo		; stop in m
+	bcf		lo,7						; Clear GAS_SWITCH bit
 	rcall	TFT_display_deko_output_depth ; Outputs depth (stored in lo) to POSTINC2 with "m" or w/o (For ft)
-	movff	char_O_deco_time+3,lo   	; length of stop in min
+	movff	char_O_deco_time+3,lo		; length of stop in min
 	output_99
 	STRCAT_PRINT "'"
 
@@ -1070,598 +1081,596 @@
 	tstfsz	lo							; Show another stop?
 	bra		TFT_display_deko5			; Yes
 	; No, clear output and return
-	WIN_BOX_BLACK   dm_cust_dstop_5th_stop_row, dm_customview_bot, dm_cust_dstop_5th_stop_column, dm_cust_dstop_6th_stop_column	; top, bottom, left, right
-	WIN_BOX_BLACK   dm_cust_dstop_6th_stop_row, dm_customview_bot, dm_cust_dstop_6th_stop_column, .159                     ; top, bottom, left, right
+	WIN_BOX_BLACK	dm_cust_dstop_5th_stop_row, dm_customview_bot, dm_cust_dstop_5th_stop_column, dm_cust_dstop_6th_stop_column	; top, bottom, left, right
+	WIN_BOX_BLACK	dm_cust_dstop_6th_stop_row, dm_customview_bot, dm_cust_dstop_6th_stop_column, .159					 ; top, bottom, left, right
 	goto	TFT_standard_color			; and return...
 
 TFT_display_deko5:
 	WIN_SMALL	dm_cust_dstop_5th_stop_column, dm_cust_dstop_5th_stop_row
-	movff	char_O_deco_depth+4,lo  	; stop in m
-	bcf     lo,7                        ; Clear GAS_SWITCH bit
+	movff	char_O_deco_depth+4,lo		; stop in m
+	bcf		lo,7						; Clear GAS_SWITCH bit
 	rcall	TFT_display_deko_output_depth ; Outputs depth (stored in lo) to POSTINC2 with "m" or w/o (For ft)
-	movff	char_O_deco_time+4,lo   	; length of stop in min
+	movff	char_O_deco_time+4,lo		; length of stop in min
 	output_99
 	STRCAT_PRINT "'"
 	movff	char_O_deco_depth+5,lo
 	tstfsz	lo							; Show another stop?
 	bra		TFT_display_deko6			; Yes
 	; No, clear output and return
-	WIN_BOX_BLACK   dm_cust_dstop_6th_stop_row, dm_customview_bot, dm_cust_dstop_6th_stop_column, .159        ; top, bottom, left, right
+	WIN_BOX_BLACK	dm_cust_dstop_6th_stop_row, dm_customview_bot, dm_cust_dstop_6th_stop_column, .159		; top, bottom, left, right
 	goto	TFT_standard_color			; and return...
-	
+
 TFT_display_deko6:
 	WIN_SMALL	dm_cust_dstop_6th_stop_column, dm_cust_dstop_6th_stop_row
-	movff	char_O_deco_depth+5,lo  	; stop in m
-	bcf     lo,7                        ; Clear GAS_SWITCH bit
+	movff	char_O_deco_depth+5,lo		; stop in m
+	bcf		lo,7						; Clear GAS_SWITCH bit
 	rcall	TFT_display_deko_output_depth ; Outputs depth (stored in lo) to POSTINC2 with "m" or w/o (For ft)
-	movff	char_O_deco_time+5,lo   	; length of stop in min
+	movff	char_O_deco_time+5,lo		; length of stop in min
 	output_99
 	STRCAT_PRINT "'"
 	movff	char_O_deco_depth+6,lo
 	tstfsz	lo							; Show another stop?
 	bra		TFT_display_deko7			; Yes
 	; No, clear output and return
-	WIN_BOX_BLACK   dm_cust_dstop_7th_stop_row, dm_customview_bot, dm_cust_dstop_7th_stop_column, .159     ; top, bottom, left, right
+	WIN_BOX_BLACK	dm_cust_dstop_7th_stop_row, dm_customview_bot, dm_cust_dstop_7th_stop_column, .159	 ; top, bottom, left, right
 	goto	TFT_standard_color			; and return...
-	
+
 TFT_display_deko7:
 	WIN_SMALL	dm_cust_dstop_7th_stop_column, dm_cust_dstop_7th_stop_row
-	movff	char_O_deco_depth+6,lo  	; stop in m
-	bcf     lo,7                        ; Clear GAS_SWITCH bit
+	movff	char_O_deco_depth+6,lo		; stop in m
+	bcf		lo,7						; Clear GAS_SWITCH bit
 	rcall	TFT_display_deko_output_depth ; Outputs depth (stored in lo) to POSTINC2 with "m" or w/o (For ft)
-	movff	char_O_deco_time+6,lo   	; length of stop in min
+	movff	char_O_deco_time+6,lo		; length of stop in min
 	output_99
 	STRCAT_PRINT "'"
 	goto	TFT_standard_color			; and return...
 
 
-    global  TFT_clear_safety_stop
+	global	TFT_clear_safety_stop
 TFT_clear_safety_stop:
-    bcf	    FLAG_TFT_clear_safety_stop		 ; clear flag
-    WIN_BOX_BLACK   dm_safetystop_row, dm_safetystop_bot, dm_safetystop_text_column, .159	; top, bottom, left, right
-    return
-
-    global  TFT_show_safety_stop
+	bcf		FLAG_TFT_clear_safety_stop		; clear flag
+	WIN_BOX_BLACK	dm_safetystop_row, dm_safetystop_bot, dm_safetystop_text_column, .159	; top, bottom, left, right
+	return
+
+	global	TFT_show_safety_stop
 TFT_show_safety_stop:
-    bcf	    FLAG_TFT_show_safety_stop
+	bcf		FLAG_TFT_show_safety_stop
 	tstfsz	safety_stop_countdown			; Countdown at zero?
 	bra		TFT_show_safety_stop2			; No, show stop
 	bcf		show_safety_stop				; Clear flag
 	btfss	safety_stop_active				; Displayed?
-    return                                  ; No
+	return									; No
 	bcf		safety_stop_active				; Clear flag
-    btfsc   divemode_menu                   ; Is the dive mode menu shown?
-    return                                  ; Yes, return
-    bra		TFT_clear_safety_stop           ; Yes, Clear stop ; and return...
+	btfsc	divemode_menu					; Is the dive mode menu shown?
+	return									; Yes, return
+	bra		TFT_clear_safety_stop			; Yes, Clear stop ; and return...
 TFT_show_safety_stop2:
-    bsf     safety_stop_active				; Set flag
-    decf	safety_stop_countdown,F			; Reduce countdown
-    btfsc   divemode_menu                   ; Is the dive mode menu shown?
-    return                                  ; Yes, return
-    ;btfsc   menuview
-    ;bra     TFT_show_safety_stop3          ; No room when menuview=1...
-    call    TFT_divemask_color
-    WIN_STD  dm_safetystop_text_column, dm_safetystop_text_row
-    STRCPY_TEXT_PRINT tDiveSafetyStop
+	bsf		safety_stop_active				; Set flag
+	decf	safety_stop_countdown,F			; Reduce countdown
+	btfsc	divemode_menu					; Is the dive mode menu shown?
+	return									; Yes, return
+	;btfsc	menuview
+	;bra	 TFT_show_safety_stop3			; No room when menuview=1...
+	call	TFT_divemask_color
+	WIN_STD	 dm_safetystop_text_column, dm_safetystop_text_row
+	STRCPY_TEXT_PRINT tDiveSafetyStop
 TFT_show_safety_stop3:
-	call    TFT_attention_color             ; show in yellow
-    WIN_MEDIUM	dm_safetystop_column, dm_safetystop_row
+	call	TFT_attention_color			 ; show in yellow
+	WIN_MEDIUM	dm_safetystop_column, dm_safetystop_row
 	movff	safety_stop_countdown,lo
 	clrf	hi
 	call	convert_time					; converts hi:lo in seconds to mins (hi) and seconds (lo)
 	movf	hi,W
 	movff	lo,hi
 	movwf	lo								; exchange lo and hi
-    bsf     leftbind
+	bsf		leftbind
 	output_8
-    bcf     leftbind
-	PUTC    ':'
+	bcf		leftbind
+	PUTC	':'
 	movff	hi,lo
 	output_99x
 	STRCAT_PRINT ""
-	WIN_FONT 	FT_SMALL
+	WIN_FONT FT_SMALL
 	goto	TFT_standard_color				; and return...
 
 
-    global  TFT_mask_avr_stopwatch      ; Show mask for average depth and stopwatch
+	global	TFT_mask_avr_stopwatch			; Show mask for average depth and stopwatch
 TFT_mask_avr_stopwatch:
-    ; The mask
-    call    TFT_divemask_color
-    WIN_TINY          dm_custom_avr_stop_title_column1,dm_custom_avr_stop_title_row
-    STRCPY_TEXT_PRINT tDiveTotalAvg
-    WIN_TINY          dm_custom_avr_stop_title_column2,dm_custom_avr_stop_title_row
-    STRCPY_TEXT_PRINT tDiveStopwatch
-    WIN_TINY          dm_custom_avr_stop_title_column3,dm_custom_avr_stop_title_row
-    STRCPY_TEXT_PRINT tDiveStopAvg
-    goto	TFT_standard_color          ; and return...
-
-    global  TFT_update_avr_stopwatch    ; Update average depth and stopwatch
+	; The mask
+	call	TFT_divemask_color
+	WIN_TINY dm_custom_avr_stop_title_column1,dm_custom_avr_stop_title_row
+	STRCPY_TEXT_PRINT tDiveTotalAvg
+	WIN_TINY dm_custom_avr_stop_title_column2,dm_custom_avr_stop_title_row
+	STRCPY_TEXT_PRINT tDiveStopwatch
+	WIN_TINY dm_custom_avr_stop_title_column3,dm_custom_avr_stop_title_row
+	STRCPY_TEXT_PRINT tDiveStopAvg
+	goto	TFT_standard_color				; and return...
+
+	global	TFT_update_avr_stopwatch		; Update average depth and stopwatch
 TFT_update_avr_stopwatch:
-    call    TFT_standard_color
-    SAFE_2BYTE_COPY  average_divesecs,lo
+	call	TFT_standard_color
+	SAFE_2BYTE_COPY	average_divesecs,lo
 	call	convert_time				; lo=secs, hi=mins
-    WIN_MEDIUM  dm_custom_avr_stop_column2,dm_custom_avr_stop_row
-    bsf     leftbind
+	WIN_MEDIUM dm_custom_avr_stop_column2,dm_custom_avr_stop_row
+	bsf		leftbind
 	movf	hi,W
 	movff	lo,hi
 	movwf	lo							; exchange lo and hi
 	output_8
-	PUTC    ':'
+	PUTC	':'
 	movff	hi,lo
 	output_99x
-    movlw   .5
-    call    TFT_fillup_with_spaces      ; Fillup FSR2 with spaces (Total string length in #WREG)
-    clrf    WREG
-    movff   WREG,buffer+.5              ; limit to 5 chars
+	movlw	.5
+	call	TFT_fillup_with_spaces		; Fillup FSR2 with spaces (Total string length in #WREG)
+	clrf	WREG
+	movff	WREG,buffer+.5				; limit to 5 chars
 	STRCAT_PRINT ""
-
-    TSTOSS  opt_units   				; 0=m, 1=ft
+	TSTOSS	opt_units					; 0=m, 1=ft
 	bra		TFT_update_avr_stopwatch_metric
-;TFT_update_avr_stopwatch_imperial
-    movff   avg_rel_pressure_total+0,lo
-    movff   avg_rel_pressure_total+1,hi
-    call	adjust_depth_with_salinity	; computes salinity setting into lo:hi [mbar]
-    call	convert_mbar_to_feet       	; convert value in lo:hi from mbar to feet
-    WIN_MEDIUM  dm_custom_avr_stop_column1,dm_custom_avr_stop_row
-    bsf     leftbind
-    output_16                       	; yxz
-    STRCAT_PRINT " "
-    ; Stopped average depth
-    movff   avg_rel_pressure+0,lo
-    movff   avg_rel_pressure+1,hi
-    call	adjust_depth_with_salinity	; computes salinity setting into lo:hi [mbar]
-    call	convert_mbar_to_feet       	; convert value in lo:hi from mbar to feet
-    WIN_MEDIUM  dm_custom_avr_stop_column3,dm_custom_avr_stop_row
-    output_16                       	; yxz
-    bcf     leftbind
-    PUTC    " "
-    clrf    WREG
-    movff   WREG,buffer+.3              ; limit string length to 3
-    STRCAT_PRINT ""
-    return
+	;TFT_update_avr_stopwatch_imperial
+	movff	avg_rel_pressure_total+0,lo
+	movff	avg_rel_pressure_total+1,hi
+	call	adjust_depth_with_salinity	; computes salinity setting into lo:hi [mbar]
+	call	convert_mbar_to_feet		; convert value in lo:hi from mbar to feet
+	WIN_MEDIUM dm_custom_avr_stop_column1,dm_custom_avr_stop_row
+	bsf		leftbind
+	output_16							; yxz
+	STRCAT_PRINT " "
+	; Stopped average depth
+	movff	avg_rel_pressure+0,lo
+	movff	avg_rel_pressure+1,hi
+	call	adjust_depth_with_salinity	; computes salinity setting into lo:hi [mbar]
+	call	convert_mbar_to_feet		; convert value in lo:hi from mbar to feet
+	WIN_MEDIUM dm_custom_avr_stop_column3,dm_custom_avr_stop_row
+	output_16							; yxz
+	bcf		leftbind
+	PUTC	" "
+	clrf	WREG
+	movff	WREG,buffer+.3				; limit string length to 3
+	STRCAT_PRINT ""
+	return
 
 TFT_update_avr_stopwatch_metric:
-    ; Non-resettable average depth
-    movff   avg_rel_pressure_total+0,lo
-    movff   avg_rel_pressure_total+1,hi
-    call	adjust_depth_with_salinity	; computes salinity setting into lo:hi [mbar]
-    WIN_MEDIUM  dm_custom_avr_stop_column1,dm_custom_avr_stop_row
-    bsf     ignore_digit5         		; no cm
-    output_16dp  .3               		; yxz.a
-    STRCAT_PRINT " "
-    ; Stopped average depth
-    movff   avg_rel_pressure+0,lo
-    movff   avg_rel_pressure+1,hi
-    call	adjust_depth_with_salinity	; computes salinity setting into lo:hi [mbar]
-    WIN_MEDIUM  dm_custom_avr_stop_column3,dm_custom_avr_stop_row
-    bsf     ignore_digit5         		; no cm
-    output_16dp  .3               		; yxz.a
-    bcf     leftbind
-    bcf     ignore_digit5
-    clrf    WREG
-    movff   WREG,buffer+.4              ; limit string length to 4
-    STRCAT_PRINT ""
-    return
-
-
-    global  TFT_ceiling_mask            ; The ceiling mask
+	; Non-resettable average depth
+	movff	avg_rel_pressure_total+0,lo
+	movff	avg_rel_pressure_total+1,hi
+	call	adjust_depth_with_salinity	; computes salinity setting into lo:hi [mbar]
+	WIN_MEDIUM dm_custom_avr_stop_column1,dm_custom_avr_stop_row
+	bsf		ignore_digit5				; no cm
+	output_16dp .3						; yxz.a
+	STRCAT_PRINT " "
+	; Stopped average depth
+	movff	avg_rel_pressure+0,lo
+	movff	avg_rel_pressure+1,hi
+	call	adjust_depth_with_salinity	; computes salinity setting into lo:hi [mbar]
+	WIN_MEDIUM dm_custom_avr_stop_column3,dm_custom_avr_stop_row
+	bsf		ignore_digit5				; no cm
+	output_16dp .3						; yxz.a
+	bcf		leftbind
+	bcf		ignore_digit5
+	clrf	WREG
+	movff	WREG,buffer+.4				; limit string length to 4
+	STRCAT_PRINT ""
+	return
+
+
+	global	TFT_ceiling_mask			; The ceiling mask
 TFT_ceiling_mask:
-    call    TFT_divemask_color
-    WIN_TINY  dm_custom_ceiling_text_column,dm_custom_ceiling_text_row
-    STRCPY_TEXT_PRINT tCeiling
-    goto	TFT_standard_color 			; and return...
-
-    global  TFT_ceiling                 ; Ceiling
+	call	TFT_divemask_color
+	WIN_TINY	dm_custom_ceiling_text_column,dm_custom_ceiling_text_row
+	STRCPY_TEXT_PRINT tCeiling
+	goto	TFT_standard_color			; and return...
+
+	global	TFT_ceiling					; Ceiling
 TFT_ceiling:
-    WIN_MEDIUM  dm_custom_ceiling_value_column,dm_custom_ceiling_value_row
-    movff   int_O_ceiling+0,lo
-    movff   int_O_ceiling+1,hi
-	TFT_color_code	warn_ceiling		; color-code the output
-    call	adjust_depth_with_salinity	; computes salinity setting into lo:hi [mbar]
-    bsf     leftbind
-    TSTOSS  opt_units   				; 0=m, 1=ft
+	WIN_MEDIUM dm_custom_ceiling_value_column,dm_custom_ceiling_value_row
+	movff	int_O_ceiling+0,lo
+	movff	int_O_ceiling+1,hi
+	call	TFT_color_code_ceiling		; color-code the output
+	call	adjust_depth_with_salinity	; computes salinity setting into lo:hi [mbar]
+	bsf		leftbind
+	TSTOSS	opt_units					; 0=m, 1=ft
 	bra		TFT_ceiling_metric
 ;TFT_ceiling_imperial
-    call	convert_mbar_to_feet       	; convert value in lo:hi from mbar to feet
-    output_16                       	; yxz
-    bcf     leftbind
-    STRCAT_PRINT " "
+	call	convert_mbar_to_feet		; convert value in lo:hi from mbar to feet
+	output_16							; yxz
+	bcf		leftbind
+	STRCAT_PRINT " "
 	goto	TFT_standard_color
 
 TFT_ceiling_metric:
-    bsf     ignore_digit5         		; no cm
-    output_16dp  .3               		; yxz.a
-    bcf     leftbind
-    bcf     ignore_digit5
-    STRCAT_PRINT " "
+	bsf	 ignore_digit5					; no cm
+	output_16dp .3						; yxz.a
+	bcf		leftbind
+	bcf		ignore_digit5
+	STRCAT_PRINT " "
 	goto	TFT_standard_color
 
 
 	global	TFT_CNS_mask
 TFT_CNS_mask:
-    call    TFT_divemask_color
-    WIN_TINY dm_custom_gf_title_col1, dm_custom_gf_title_row
-    STRCPY_TEXT_PRINT tCNSsurf
-    WIN_TINY dm_custom_gf_title_col2, dm_custom_gf_title_row
+	call	TFT_divemask_color
+	WIN_TINY dm_custom_gf_title_col1, dm_custom_gf_title_row
+	STRCPY_TEXT_PRINT tCNSsurf
+	WIN_TINY dm_custom_gf_title_col2, dm_custom_gf_title_row
 	btfsc	FLAG_ccr_mode						; in CCR mode?
 	bra		TFT_CNS_mask_1						; YES - proceed with checking for bailout
 	btfsc	FLAG_pscr_mode						; NO  -	in pSCR mode?
-	bra		TFT_CNS_mask_1						; 		YES - proceed with checking for bailout
-	bra		TFT_CNS_mask_2						; 		NO  - must be OC then
+	bra		TFT_CNS_mask_1						;       YES - proceed with checking for bailout
+	bra		TFT_CNS_mask_2						;       NO  - must be OC then
 TFT_CNS_mask_1:									; in CCR or pSCR mode
 	btfsc	is_bailout							; in bailout?
 	bra		TFT_CNS_mask_2						; YES - print fTTS label (label will be printed, but a fTTS will actually not be calculated)
 	TSTOSS	opt_calc_asc_gasvolume				; NO  - bailout volume calculation requested?
-	bra		TFT_CNS_mask_2						;		NO  - print fTTS label
-	STRCPY_TEXT_PRINT tCNSBO					; 		YES - print bailout label
+	bra		TFT_CNS_mask_2						;       NO  - print fTTS label
+	STRCPY_TEXT_PRINT tCNSBO					;       YES - print bailout label
 	bra		TFT_CNS_mask_3
 TFT_CNS_mask_2:									; OC or bailout
 	STRCPY_TEXT_PRINT tCNSfTTS					; print fTTS label
 TFT_CNS_mask_3:
-    WIN_TINY dm_custom_gf_title_col3, dm_custom_gf_title_row
-    STRCPY_TEXT_PRINT tCNSnow
-    goto	TFT_standard_color					; and return...
-	
+	WIN_TINY dm_custom_gf_title_col3, dm_custom_gf_title_row
+	STRCPY_TEXT_PRINT tCNSnow
+	goto	TFT_standard_color					; and return...
+
 	global	TFT_CNS
 TFT_CNS:
 	; CNS at end of normal dive
 	WIN_STD dm_custom_hud_sensor1_column+.5,dm_custom_hud_data_row
-    movff   int_O_normal_CNS_fraction+0,lo
-	movff   int_O_normal_CNS_fraction+1,hi
-	TFT_color_code	warn_cns
-	bsf     leftbind
-    output_16_3									; output as xxx
+	movff	int_O_normal_CNS_fraction+0,lo
+	movff	int_O_normal_CNS_fraction+1,hi
+	call	TFT_color_code_cns
+	bsf		leftbind
+	output_16_3									; output as xxx
 	bcf		leftbind
-    STRCAT_PRINT "% "
+	STRCAT_PRINT "% "
 	; fTTS / Bailout CNS, if enabled
-    WIN_STD dm_custom_hud_sensor2_column+.2,dm_custom_hud_data_row
+	WIN_STD dm_custom_hud_sensor2_column+.2,dm_custom_hud_data_row
 	btfsc	is_bailout							; in bailout?
 	bra		TFT_CNS_3							; YES - show "---"
 	TSTOSS	opt_calc_asc_gasvolume				; NO  - bailout volume calculation requested?
-	bra		TFT_CNS_1							;		NO  - continue checking fTTS extra time
-	btfsc	FLAG_ccr_mode						; 		YES - in CCR mode?
-	bra		TFT_CNS_2							; 			  YES - skip test for fTTS extra time and show CNS%
-	btfsc	FLAG_pscr_mode						; 			  in pSCR mode?
-	bra		TFT_CNS_2							; 			  YES - skip test for fTTS extra time and show CNS%
+	bra		TFT_CNS_1							;       NO  - continue checking fTTS extra time
+	btfsc	FLAG_ccr_mode						;       YES - in CCR mode?
+	bra		TFT_CNS_2							;             YES - skip test for fTTS extra time and show CNS%
+	btfsc	FLAG_pscr_mode						;             in pSCR mode?
+	bra		TFT_CNS_2							;             YES - skip test for fTTS extra time and show CNS%
 TFT_CNS_1:										; not in bailout, no volume calculation
 	TSTOSS	char_I_extra_time					; fTTS extra time fTTS configured?
 	bra		TFT_CNS_3							; NO  - show "---"
 TFT_CNS_2:
-    movff   int_O_alternate_CNS_fraction+0,lo	; YES - show CNS%
-	movff   int_O_alternate_CNS_fraction+1,hi
-	TFT_color_code	warn_cns
-	bsf     leftbind
-    output_16_3	        						; output as xxx
+	movff	int_O_alternate_CNS_fraction+0,lo	; YES - show CNS%
+	movff	int_O_alternate_CNS_fraction+1,hi
+	call	TFT_color_code_cns
+	bsf		leftbind
+	output_16_3									; output as xxx
 	bcf		leftbind
-    STRCAT_PRINT "% "
+	STRCAT_PRINT "% "
 	bra		TFT_CNS_4
 TFT_CNS_3:
 	call	TFT_standard_color
-	STRCPY_PRINT "---  "	
+	STRCPY_PRINT "---  "
 TFT_CNS_4:
 	; current CNS
 	WIN_STD dm_custom_hud_sensor3_column,dm_custom_hud_data_row
-    movff   int_O_CNS_fraction+0,lo
-	movff   int_O_CNS_fraction+1,hi
-	TFT_color_code	warn_cns
-	bsf     leftbind
-    output_16_3	        						; output as xxx
+	movff	int_O_CNS_fraction+0,lo
+	movff	int_O_CNS_fraction+1,hi
+	call	TFT_color_code_cns
+	bsf		leftbind
+	output_16_3									; output as xxx
 	bcf		leftbind
-    STRCAT_PRINT "%"
-	bcf     leftbind
+	STRCAT_PRINT "%"
 	goto	TFT_standard_color					; and return...
-	
-	
-    global  TFT_hud_mask            			; The HUD mask
+
+
+	global	TFT_hud_mask						; The HUD mask
 TFT_hud_mask:
-    call    TFT_divemask_color
-    WIN_TINY dm_custom_hud_column1,dm_custom_hud_row
-    STRCPY_TEXT_PRINT tDiveHudMask1
-    WIN_TINY dm_custom_hud_column2,dm_custom_hud_row
-    STRCPY_TEXT_PRINT tDiveHudMask2
-    WIN_TINY dm_custom_hud_column3,dm_custom_hud_row
-    STRCPY_TEXT_PRINT tDiveHudMask3
-    goto	TFT_standard_color 					; and return...
-
-
-    global  TFT_update_ppo2_sensors         ; Update Sensor data
+	call	TFT_divemask_color
+	WIN_TINY dm_custom_hud_column1,dm_custom_hud_row
+	STRCPY_TEXT_PRINT tDiveHudMask1
+	WIN_TINY dm_custom_hud_column2,dm_custom_hud_row
+	STRCPY_TEXT_PRINT tDiveHudMask2
+	WIN_TINY dm_custom_hud_column3,dm_custom_hud_row
+	STRCPY_TEXT_PRINT tDiveHudMask3
+	goto	TFT_standard_color					; and return...
+
+
+	global	TFT_update_ppo2_sensors				; Update Sensor data
 TFT_update_ppo2_sensors:
 ;
 ; Definition of the output:
 ;
-;  sensorX		 use	 voting			 o2
-; _calibrated    _O2	 _logic        _ppo2        Output        Color
-;   _ok       _sensorX	_sensorX     _sensorX
+;  sensorX       use        voting         o2
+; _calibrated    _O2       _logic        _ppo2          Output           Color
+;    _ok      _sensorX    _sensorX     _sensorX
 ;-----------------------------------------------------------------------------------------------
-;    0  		-/-		  -/-		    -/-         "----"	  	  TFT_standard_color
-;    1			 0	      -/-           = 0	 	 o2_ppo2_sensorX  TFT_attention_color
-;    1			 0    	  -/-           > 0	 	 o2_ppo2_sensorX  TFT_disabled_color
-;    1		 	 1         0            -/-      o2_ppo2_sensorX  TFT_color_code warn_ppo2_hud + win_invert
-;    1    	 	 1         1            -/-      o2_ppo2_sensorX  TFT_color_code warn_ppo2_hud
+;    0          -/-          -/-            -/-         "----"           TFT_standard_color
+;    1           0           -/-            = 0         o2_ppo2_sensorX  TFT_attention_color
+;    1           0           -/-            > 0         o2_ppo2_sensorX  TFT_disabled_color
+;    1           1            0             -/-         o2_ppo2_sensorX  TFT_color_code_ppo2_hud + win_invert
+;    1           1            1             -/-         o2_ppo2_sensorX  TFT_color_code_ppo2_hud
 ;
-    bsf     leftbind
+	bsf		leftbind
 	; sensor 1
-    btfsc   sensor1_calibrated_ok		; valid calibration?
-    bra     TFT_update_hud1b     		; yes
+	btfsc	sensor1_calibrated_ok		; valid calibration?
+	bra	TFT_update_hud1b				; yes
 	; no valid calibration
 	WIN_STD dm_custom_hud_sensor1_column+.7, dm_custom_hud_data_row+.5
 	call	TFT_standard_color
-    STRCPY_PRINT "---"
-    bra     TFT_update_hud2a 			; continue with sensor 2
+	STRCPY_PRINT "---"
+	bra		TFT_update_hud2a			; continue with sensor 2
 TFT_update_hud1b:
 	; sensor has a valid calibration
 	WIN_MEDIUM dm_custom_hud_sensor1_column,dm_custom_hud_data_row
-    movff   o2_ppo2_sensor1,lo			; load ppO2 value into transfer storage for output
-    clrf    hi							; 
+	movff	o2_ppo2_sensor1,lo			; load ppO2 value into transfer storage for output
+	clrf	hi							; 
 	btfsc	use_O2_sensor1				; in use?
 	bra		TFT_update_hud1d			; yes
 	; valid calibration, but not in use
 	tstfsz	o2_ppo2_sensor1				; sensor value = 0?
 	bra		TFT_update_hud1c			; no
 	; valid calibration, not in use and value = 0
-	call    TFT_attention_color          ; output in yellow
+	call	TFT_attention_color			; output in yellow
 	bra		TFT_update_hud1e
 TFT_update_hud1c:
 	; sensor has valid calibration, is not in use and has a value > 0
-	call    TFT_disabled_color			; output in light blue
+	call	TFT_disabled_color			; output in light blue
 	bra		TFT_update_hud1e
 TFT_update_hud1d:
 	; sensor has valid calibration and is in use
-	TFT_color_code  warn_ppo2_hud       ; With ppO2 [cbar] in lo
+	call	TFT_color_code_ppo2_hud		; With ppO2 [cbar] in lo
 	btfsc	voting_logic_sensor1		; sensor value agrees with other sensor's values?
 	bra		TFT_update_hud1e			; yes
 	; valid calibration, in use, but value does not agree with other sensors
-	bsf     win_invert                  ; invert output
-TFT_update_hud1e:						
+	bsf		win_invert					; invert output
+TFT_update_hud1e:
 	; all coloring is set up now, let's write the value to the display!
 	bsf		leftbind
-	output_16dp  .3         			; x.xx bar
-    bcf		leftbind
-    STRCAT_PRINT ""
-    bcf		win_invert
+	output_16dp .3						; x.xx bar
+	bcf		leftbind
+	STRCAT_PRINT ""
+	bcf		win_invert
 
 TFT_update_hud2a:						; sensor 2
-    btfsc   sensor2_calibrated_ok		; valid calibration?
-    bra     TFT_update_hud2b     		; yes
+	btfsc	sensor2_calibrated_ok		; valid calibration?
+	bra		TFT_update_hud2b			; yes
 	; no valid calibration
 	WIN_STD dm_custom_hud_sensor2_column+.7, dm_custom_hud_data_row+.5
 	call	TFT_standard_color
-    STRCPY_PRINT "---"
-    bra     TFT_update_hud3a 			; continue with sensor 3
+	STRCPY_PRINT "---"
+	bra		TFT_update_hud3a			; continue with sensor 3
 TFT_update_hud2b:
 	; sensor has a valid calibration
 	WIN_MEDIUM dm_custom_hud_sensor2_column,dm_custom_hud_data_row
-    movff   o2_ppo2_sensor2,lo			; load ppO2 value into transfer storage for output
-    clrf    hi							; 
+	movff	o2_ppo2_sensor2,lo			; load ppO2 value into transfer storage for output
+	clrf	hi							; 
 	btfsc	use_O2_sensor2				; in use?
 	bra		TFT_update_hud2d			; yes
 	; valid calibration, but not in use
 	tstfsz	o2_ppo2_sensor2				; sensor value = 0?
 	bra		TFT_update_hud2c			; no
 	; valid calibration, not in use and value = 0
-	call    TFT_attention_color          ; output in yellow
+	call	TFT_attention_color			; output in yellow
 	bra		TFT_update_hud2e
 TFT_update_hud2c:
 	; sensor has valid calibration, is not in use and has a value > 0
-	call    TFT_disabled_color			; output in light blue
+	call	TFT_disabled_color			; output in light blue
 	bra		TFT_update_hud2e
 TFT_update_hud2d:
 	; sensor has valid calibration and is in use
-	TFT_color_code  warn_ppo2_hud       ; With ppO2 [cbar] in lo
+	call	TFT_color_code_ppo2_hud		; With ppO2 [cbar] in lo
 	btfsc	voting_logic_sensor2		; sensor value agrees with other sensor's vlaues?
 	bra		TFT_update_hud2e			; yes
 	; valid calibration, in use, but value does not agree with other sensors
-	bsf     win_invert                  ; invert output
-TFT_update_hud2e:						
+	bsf		win_invert					; invert output
+TFT_update_hud2e:
 	; all coloring is set up now, let's write the value to the display!
 	bsf		leftbind
-	output_16dp  .3         			; x.xx bar
-    bcf		leftbind
-    STRCAT_PRINT ""
-    bcf		win_invert
+	output_16dp .3						; x.xx bar
+	bcf		leftbind
+	STRCAT_PRINT ""
+	bcf		win_invert
 
 TFT_update_hud3a:						; sensor 3
-    btfsc   sensor3_calibrated_ok		; valid calibration?
-    bra     TFT_update_hud3b     		; yes
+	btfsc	sensor3_calibrated_ok		; valid calibration?
+	bra		TFT_update_hud3b			; yes
 	; no valid calibration
-    WIN_STD dm_custom_hud_sensor3_column+.7, dm_custom_hud_data_row+.5
+	WIN_STD dm_custom_hud_sensor3_column+.7, dm_custom_hud_data_row+.5
 	call	TFT_standard_color
-    STRCPY_PRINT "---"
-    bra     TFT_update_hud4 			; done
+	STRCPY_PRINT "---"
+	bra		TFT_update_hud4				; done
 TFT_update_hud3b:
 	; sensor has a valid calibration
 	WIN_MEDIUM dm_custom_hud_sensor3_column,dm_custom_hud_data_row
-    movff   o2_ppo2_sensor3,lo			; load ppO2 value into transfer storage for output
-    clrf    hi							; 
+	movff	o2_ppo2_sensor3,lo			; load ppO2 value into transfer storage for output
+	clrf	hi							; 
 	btfsc	use_O2_sensor3				; in use?
 	bra		TFT_update_hud3d			; yes
 	; valid calibration, but not in use
 	tstfsz	o2_ppo2_sensor3				; sensor value = 0?
 	bra		TFT_update_hud3c			; no
 	; valid calibration, not in use and value = 0
-	call    TFT_attention_color          ; output in yellow
+	call	TFT_attention_color			; output in yellow
 	bra		TFT_update_hud3e
 TFT_update_hud3c:
 	; sensor has valid calibration, is not in use and has a value > 0
-	call    TFT_disabled_color			; output in light blue
+	call	TFT_disabled_color			; output in light blue
 	bra		TFT_update_hud3e
 TFT_update_hud3d:
 	; sensor has valid calibration and is in use
-	TFT_color_code  warn_ppo2_hud       ; With ppO2 [cbar] in lo
+	call	TFT_color_code_ppo2_hud		; With ppO2 [cbar] in lo
 	btfsc	voting_logic_sensor3		; sensor value agrees with other sensor's vlaues?
 	bra		TFT_update_hud3e			; yes
 	; valid calibration, in use, but value does not agree with other sensors
-	bsf     win_invert                  ; invert output
-TFT_update_hud3e:						
+	bsf		win_invert					; invert output
+TFT_update_hud3e:
 	; all coloring is set up now, let's write the value to the display!
 	bsf		leftbind
-	output_16dp  .3         			; x.xx bar
-    bcf		leftbind
-    STRCAT_PRINT ""
-    bcf		win_invert	
-	
+	output_16dp .3						; x.xx bar
+	bcf		leftbind
+	STRCAT_PRINT ""
+	bcf		win_invert
+
 TFT_update_hud4:						; closure
-    bcf     leftbind
-    goto	TFT_standard_color  		; and return...
-
-
-    global  TFT_surface_sensor			; Update Sensor data in surface mode
+	bcf		leftbind
+	goto	TFT_standard_color			; and return...
+
+
+	global	TFT_surface_sensor			; Update Sensor data in surface mode
 TFT_surface_sensor:
-    movf    hardware_flag,W
-    sublw   0x11						; 2 with BLE
-    btfsc   STATUS,Z
-    return								; Ignore for 0x11
-    ; show three sensors
-    bsf     leftbind
-    WIN_SMALL surf_hud_sensor1_column,surf_hud_sensor1_row
+	movf	hardware_flag,W
+	sublw	0x11						; 2 with BLE
+	btfsc	STATUS,Z
+	return								; Ignore for 0x11
+	; show three sensors
+	bsf		leftbind
+	WIN_SMALL surf_hud_sensor1_column,surf_hud_sensor1_row
 	btfsc	sensor1_calibrated_ok
-    bra     TFT_surface_sensor1 		; Yes
-   	call	TFT_standard_color
-    STRCPY_PRINT "--- "
-    bra     TFT_surface_sensor2			; Skip Sensor 1
+	bra		TFT_surface_sensor1			; Yes
+	call	TFT_standard_color
+	STRCPY_PRINT "--- "
+	bra		TFT_surface_sensor2			; Skip Sensor 1
 TFT_surface_sensor1:
-    movff   o2_ppo2_sensor1,lo
-    TFT_color_code  warn_ppo2_hud       ; With ppO2 [cbar] in lo
-    clrf    hi
+	movff	o2_ppo2_sensor1,lo
+	call	TFT_color_code_ppo2_hud		; With ppO2 [cbar] in lo
+	clrf	hi
 	bsf		leftbind
-	output_16dp  .3         			; x.xx bar
-    bcf		leftbind
-    STRCAT_PRINT ""
+	output_16dp .3						; x.xx bar
+	bcf		leftbind
+	STRCAT_PRINT ""
 TFT_surface_sensor2:
-    WIN_SMALL surf_hud_sensor2_column,surf_hud_sensor2_row
+	WIN_SMALL surf_hud_sensor2_column,surf_hud_sensor2_row
 	btfsc	sensor2_calibrated_ok
-    bra     TFT_surface_sensor3			; Yes
-   	call	TFT_standard_color
-    STRCPY_PRINT "--- "
-    bra     TFT_surface_sensor4			; Skip Sensor 2
+	bra		TFT_surface_sensor3			; Yes
+	call	TFT_standard_color
+	STRCPY_PRINT "--- "
+	bra		TFT_surface_sensor4			; Skip Sensor 2
 TFT_surface_sensor3:
-    movff   o2_ppo2_sensor2,lo
-    TFT_color_code  warn_ppo2_hud       ; With ppO2 [cbar] in lo
-    clrf    hi
+	movff	o2_ppo2_sensor2,lo
+	call	TFT_color_code_ppo2_hud		; With ppO2 [cbar] in lo
+	clrf	hi
 	bsf		leftbind
-	output_16dp  .3         			; x.xx bar
-    bcf		leftbind
-    STRCAT_PRINT ""
+	output_16dp .3						; x.xx bar
+	bcf		leftbind
+	STRCAT_PRINT ""
 TFT_surface_sensor4:
-    WIN_SMALL surf_hud_sensor3_column,surf_hud_sensor3_row
+	WIN_SMALL surf_hud_sensor3_column,surf_hud_sensor3_row
 	btfsc	sensor3_calibrated_ok
-    bra     TFT_surface_sensor5 		; Yes
-   	call	TFT_standard_color
-    STRCPY_PRINT "--- "
-    bra     TFT_surface_sensor6 		; Skip Sensor 3
+	bra	TFT_surface_sensor5				; Yes
+	call	TFT_standard_color
+	STRCPY_PRINT "--- "
+	bra		TFT_surface_sensor6			; Skip Sensor 3
 TFT_surface_sensor5:
-    movff   o2_ppo2_sensor3,lo
-    TFT_color_code  warn_ppo2_hud       ; With ppO2 [cbar] in lo
-    clrf    hi
+	movff	o2_ppo2_sensor3,lo
+	call	TFT_color_code_ppo2_hud		; With ppO2 [cbar] in lo
+	clrf	hi
 	bsf		leftbind
-	output_16dp  .3         			; x.xx bar
-    bcf		leftbind
-    STRCAT_PRINT ""
+	output_16dp .3						; x.xx bar
+	bcf		leftbind
+	STRCAT_PRINT ""
 TFT_surface_sensor6:
-    bcf     leftbind
-    goto    TFT_standard_color; and return...
-
-
-    global TFT_sensor_mV 
+	bcf		leftbind
+	goto	TFT_standard_color			; and return...
+
+
+	global	TFT_sensor_mV 
 TFT_sensor_mV: 
-    call    TFT_standard_color 
-    bsf	    leftbind
-    WIN_SMALL surf_mV_sensor_column,surf_mV_sensor1_row 
-    movff   o2_mv_sensor1+0,lo 			; in 0.1mV steps 
-    movff   o2_mv_sensor1+1,hi 			; in 0.1mV steps 
-    STRCAT  "1: " 
-    output_16dp .4						; xxx.y mV 
-    STRCAT_PRINT "mV "
-    
-    WIN_SMALL surf_mV_sensor_column,surf_mV_sensor2_row 
-    movff   o2_mv_sensor2+0,lo 			; in 0.1mV steps
-    movff   o2_mv_sensor2+1,hi 			; in 0.1mV steps 
-    STRCAT  "2: " 
-    output_16dp .4 						; xxx.y mV 
-    STRCAT_PRINT "mV "
-
-    WIN_SMALL surf_mV_sensor_column,surf_mV_sensor3_row 
-    movff   o2_mv_sensor3+0,lo 			; in 0.1mV steps 
-    movff   o2_mv_sensor3+1,hi 			; in 0.1mV steps 
-    STRCAT "3: " 
-    output_16dp .4 						; xxx.y mV 
-    STRCAT_PRINT "mV "
-    bcf	    leftbind 
-    goto    TFT_standard_color 			; and return...
-
-
-    global TFT_sensor_surface_warning
+	call	TFT_standard_color 
+	bsf		leftbind
+	WIN_SMALL surf_mV_sensor_column,surf_mV_sensor1_row
+	movff	o2_mv_sensor1+0,lo			; in 0.1mV steps
+	movff	o2_mv_sensor1+1,hi			; in 0.1mV steps
+	STRCAT	"1: "
+	output_16dp .4						; xxx.y mV 
+	STRCAT_PRINT "mV "
+	
+	WIN_SMALL surf_mV_sensor_column,surf_mV_sensor2_row
+	movff	o2_mv_sensor2+0,lo			; in 0.1mV steps
+	movff	o2_mv_sensor2+1,hi			; in 0.1mV steps
+	STRCAT	"2: "
+	output_16dp .4						; xxx.y mV 
+	STRCAT_PRINT "mV "
+
+	WIN_SMALL surf_mV_sensor_column,surf_mV_sensor3_row
+	movff	o2_mv_sensor3+0,lo			; in 0.1mV steps
+	movff	o2_mv_sensor3+1,hi			; in 0.1mV steps
+	STRCAT	"3: "
+	output_16dp .4						; xxx.y mV
+	STRCAT_PRINT "mV "
+	bcf		leftbind 
+	goto	TFT_standard_color			; and return...
+
+
+	global	TFT_sensor_surface_warning
 TFT_sensor_surface_warning: 
-    call    TFT_warnings_color
+	call	TFT_warnings_color
 	btfss	sensor1_calibrated_ok		; do not show end of lifetime arrow if sensor failed calibration at all
 	bra		TFT_sensor_mV2
-    movff   opt_x_s1+1,lo				; into bank1
-    movf    lo,W						; when opt_x_s1 > 255 the sensor will just give 8 mV at a ppO2 of 0,21 any more 
-    bz	    TFT_sensor_mV2				; the sensor is not too bad yet for a warning 
-    WIN_SMALL surf_mV_sensor_status_column,surf_mV_sensor1_row-.5 
-    STRCPY_PRINT    "\xb8"				; mark sensor as being at end of lifetime 
+	movff	opt_x_s1+1,lo				; into bank1
+	movf	lo,W						; when opt_x_s1 > 255 the sensor will just give 8 mV at a ppO2 of 0,21 any more 
+	bz		TFT_sensor_mV2				; the sensor is not too bad yet for a warning 
+	WIN_SMALL surf_mV_sensor_status_column,surf_mV_sensor1_row-.5 
+	STRCPY_PRINT "\xb8"					; mark sensor as being at end of lifetime
 TFT_sensor_mV2:
 	btfss	sensor2_calibrated_ok		; do not show end of lifetime arrow if sensor failed calibration at all
 	bra		TFT_sensor_mV3
-    movff   opt_x_s2+1,lo				; into bank1
-    movf    lo,W						; when opt_x_s2 > 255 the sensor will just give 8 mV at a ppO2 of 0,21 any more 
-    bz	    TFT_sensor_mV3				; the sensor is not too bad yet for a warning 
-    WIN_SMALL surf_mV_sensor_status_column,surf_mV_sensor2_row-.5 
-    STRCPY_PRINT    "\xb8"	 			; mark sensor as being at end of lifetime 
+	movff	opt_x_s2+1,lo				; into bank1
+	movf	lo,W						; when opt_x_s2 > 255 the sensor will just give 8 mV at a ppO2 of 0,21 any more 
+	bz		TFT_sensor_mV3				; the sensor is not too bad yet for a warning 
+	WIN_SMALL surf_mV_sensor_status_column,surf_mV_sensor2_row-.5 
+	STRCPY_PRINT "\xb8"					; mark sensor as being at end of lifetime 
 TFT_sensor_mV3:
 	btfss	sensor3_calibrated_ok		; do not show end of lifetime arrow if sensor failed calibration at all
 	bra		TFT_sensor_mV4
-    movff   opt_x_s3+1,lo				; into bank1
-    movf    lo,W						; when opt_x_s3 > 255 the sensor will just give 8 mV at a ppO2 of 0,21 any more 
-    bz	    TFT_sensor_mV4				; the sensor is not too bad yet for a warning 
-    WIN_SMALL surf_mV_sensor_status_column,surf_mV_sensor3_row-.5
-    STRCPY_PRINT    "\xb8"				; mark sensor as beeing at end of lifetime 
+	movff	opt_x_s3+1,lo				; into bank1
+	movf	lo,W						; when opt_x_s3 > 255 the sensor will just give 8 mV at a ppO2 of 0,21 any more 
+	bz		TFT_sensor_mV4				; the sensor is not too bad yet for a warning 
+	WIN_SMALL surf_mV_sensor_status_column,surf_mV_sensor3_row-.5
+	STRCPY_PRINT "\xb8"					; mark sensor as being at end of lifetime 
 TFT_sensor_mV4:
-    goto    TFT_standard_color 			; ...and return
-
-
-    global  TFT_menu_calibrate
-TFT_menu_calibrate:     				; update mV data in calibration menu
-	btfss   s8_digital					; =1: Digital I/O
-	bra     TFT_menu_calibrate_analog	; use analog
-	btfss   new_s8_data_available       ; New data frame recieved?
-	bra	TFT_menu_calibrate_common   ; No, use old values...
-	; Yes. Update the values
+	goto	TFT_standard_color			; ...and return
+
+
+	global	TFT_menu_calibrate
+TFT_menu_calibrate:						; update mV data in calibration menu
+	btfss	s8_digital					; =1: Digital I/O
+	bra		TFT_menu_calibrate_analog	; use analog
+	btfss	new_s8_data_available		; new data frame received?
+	bra		TFT_menu_calibrate_common	; NO - use old values...
+	; YES - update the values
 	call	compute_mvolts_for_all_sensors
-	bra	TFT_menu_calibrate_common
+	bra		TFT_menu_calibrate_common
 TFT_menu_calibrate_analog:
-	call    get_analog_inputs
+	call	get_analog_inputs
 TFT_menu_calibrate_common:
-    call    TFT_attention_color         ; show in yellow
-    bsf     leftbind
-    WIN_SMALL   surf_menu_sensor1_column,surf_menu2_sensor1_row
-    movff   o2_mv_sensor1+0,lo      	; in 0.1mV steps
-    movff   o2_mv_sensor1+1,hi      	; in 0.1mV steps
-    output_16dp  .4         			; xxx.y mV
-    STRCAT_PRINT "mV  "
-    WIN_SMALL   surf_menu_sensor2_column,surf_menu2_sensor2_row
-    movff   o2_mv_sensor2+0,lo      	; in 0.1mV steps
-    movff   o2_mv_sensor2+1,hi      	; in 0.1mV steps
-    output_16dp  .4         			; xxx.y mV
-    STRCAT_PRINT "mV  "
-    WIN_SMALL   surf_menu_sensor3_column,surf_menu2_sensor3_row
-    movff   o2_mv_sensor3+0,lo      	; in 0.1mV steps
-    movff   o2_mv_sensor3+1,hi      	; in 0.1mV steps
-    output_16dp  .4         			; xxx.y mV
-    STRCAT_PRINT "mV  "
-    bcf	    leftbind
-    goto	TFT_standard_color			; ...and return
-
-
-    global	TFT_clock
+	call	TFT_attention_color			; show in yellow
+	bsf		leftbind
+	WIN_SMALL	surf_menu_sensor1_column,surf_menu2_sensor1_row
+	movff	o2_mv_sensor1+0,lo			; in 0.1mV steps
+	movff	o2_mv_sensor1+1,hi			; in 0.1mV steps
+	output_16dp .4						; xxx.y mV
+	STRCAT_PRINT "mV  "
+	WIN_SMALL	surf_menu_sensor2_column,surf_menu2_sensor2_row
+	movff	o2_mv_sensor2+0,lo			; in 0.1mV steps
+	movff	o2_mv_sensor2+1,hi			; in 0.1mV steps
+	output_16dp .4						; xxx.y mV
+	STRCAT_PRINT "mV  "
+	WIN_SMALL	surf_menu_sensor3_column,surf_menu2_sensor3_row
+	movff	o2_mv_sensor3+0,lo			; in 0.1mV steps
+	movff	o2_mv_sensor3+1,hi			; in 0.1mV steps
+	output_16dp .4						; xxx.y mV
+	STRCAT_PRINT "mV  "
+	bcf		leftbind
+	goto	TFT_standard_color			; ...and return
+
+
+	global	TFT_clock
 TFT_clock:
-	WIN_SMALL  surf_clock_column,surf_clock_row
-TFT_clock2:                         ; called from divemode clock
-   	call	TFT_standard_color
+	WIN_SMALL surf_clock_column,surf_clock_row
+TFT_clock2:								; called from divemode clock
+	call	TFT_standard_color
 	movff	hours,lo
 	output_99
 	movlw	':'
-	btfss	secs,0					; blinking every second
+	btfss	secs,0						; blinking every second
 	movlw	' '
 	movwf	POSTINC2
 	movff	mins,lo
@@ -1671,9 +1680,9 @@
 
 	global	TFT_show_time_date_menu
 TFT_show_time_date_menu:
-    call    speed_fastest
-	WIN_SMALL  .15,.30
-   	call	TFT_standard_color
+	call	speed_fastest
+	WIN_SMALL .15,.30
+	call	TFT_standard_color
 	movff	hours,lo
 	output_99
 	PUTC	':'
@@ -1682,178 +1691,178 @@
 	PUTC	':'
 	movff	secs,lo
 	output_99x
-	STRCAT  " - "
-	movff	month,convert_value_temp+0
-	movff	day,convert_value_temp+1
-	movff	year,convert_value_temp+2
-	call	TFT_convert_date		; converts into "DD/MM/YY" or "MM/DD/YY" or "YY/MM/DD" in postinc2	
+	STRCAT	" - "
+	movff	day,lo
+	movff	month,hi
+	movff	year,up
+	call	TFT_convert_date			; converts into "DD/MM/YY" or "MM/DD/YY" or "YY/MM/DD" in postinc2
 	STRCAT_PRINT " "
 	return
 
 ;=============================================================================
 
-    global  TFT_surface_decosettings    ; Show all deco settings
+	global	TFT_surface_decosettings	; Show all deco settings
 TFT_surface_decosettings:
 	; Deco Mode
 	call	TFT_standard_color
 	WIN_SMALL surf_gaslist_column,surf_gaslist_row
-	STRCAT_PRINT  "ZH-L16"
-    movff   char_I_deco_model,WREG
-    iorwf   WREG
-    bnz     TFT_surface_decosettings1
+	STRCAT_PRINT "ZH-L16"
+	movff	char_I_deco_model,WREG
+	iorwf	WREG
+	bnz		TFT_surface_decosettings1
 	; Display ZH-L16 sat/desat model
-    WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.1)
-    lfsr    FSR2,buffer
-    movff   char_I_desaturation_multiplier,lo
-    bsf     leftbind
-    output_8
-    STRCAT  "%/"
-    movff   char_I_saturation_multiplier,lo
-    output_8
-    STRCAT_PRINT  "%"
-    bra     TFT_surface_decosettings2
-   ; Display ZH-L16-GF low/high model
+	WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.1)
+	lfsr	FSR2,buffer
+	movff	char_I_desaturation_multiplier,lo
+	bsf		leftbind
+	output_8
+	STRCAT	"%/"
+	movff	char_I_saturation_multiplier,lo
+	output_8
+	STRCAT_PRINT "%"
+	bra		TFT_surface_decosettings2
+	; Display ZH-L16-GF low/high model
 TFT_surface_decosettings1:
-    TEXT_SMALL  surf_gaslist_column+.43,surf_gaslist_row,tZHL16GF
-    WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.1)
-    STRCPY_TEXT tGF  															; GF:
+	TEXT_SMALL surf_gaslist_column+.43,surf_gaslist_row,tZHL16GF
+	WIN_SMALL  surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.1)
+	STRCPY_TEXT	tGF						; GF:
 	movff	opt_GF_low,lo
-    output_99x
-    STRCAT  "/"
+	output_99x
+	STRCAT	"/"
 	movff	opt_GF_high,lo
-    output_99x
-    STRCAT_PRINT  ""
-TFT_surface_decosettings2:														; fTTS
-    WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.2)
-    STRCPY_TEXT tFTTSMenu
-    movff   char_I_extra_time,lo
-    bsf     leftbind
-    output_8
-    STRCAT_TEXT_PRINT   tMinutes
-    ; Last Stop
-    WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.3)
-    STRCPY_TEXT tLastDecostop
+	output_99x
+	STRCAT_PRINT ""
+TFT_surface_decosettings2:				; fTTS
+	WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.2)
+	STRCPY_TEXT tFTTSMenu
+	movff	char_I_extra_time,lo
+	bsf		leftbind
+	output_8
+	STRCAT_TEXT_PRINT tMinutes
+	; Last Stop
+	WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.3)
+	STRCPY_TEXT tLastDecostop
 	movff	opt_last_stop,lo
-    output_8
-    STRCAT_TEXT_PRINT   tMeters
-    ; Salinity
-    WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.4)
-    STRCPY_TEXT tDvSalinity
-    movff   opt_salinity,lo
-    output_8
-    bcf     leftbind
-    STRCAT_TEXT_PRINT   tPercent
-    return
+	output_8
+	STRCAT_TEXT_PRINT tMeters
+	; Salinity
+	WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.4)
+	STRCPY_TEXT tDvSalinity
+	movff	opt_salinity,lo
+	output_8
+	bcf		leftbind
+	STRCAT_TEXT_PRINT tPercent
+	return
 
 	global	TFT_debug_output
 TFT_debug_output:
-    return
-    WIN_TINY   .80,.0
-    call	TFT_standard_color
-    lfsr	FSR2,buffer
-    movff   analog_sw1,lo
-    output_8
-    PUTC    ","
-    movff   analog_sw2,lo
-    output_8
-    STRCAT_PRINT ""
-    return
-
-    global  TFT_divetimeout             ; Show timeout counter
+	return
+	WIN_TINY .80,.0
+	call	TFT_standard_color
+	lfsr	FSR2,buffer
+	movff	analog_sw1,lo
+	output_8
+	PUTC	","
+	movff	analog_sw2,lo
+	output_8
+	STRCAT_PRINT ""
+	return
+
+	global	TFT_divetimeout				; Show timeout counter
 TFT_divetimeout:
 	call	TFT_warning_set_window		; Sets the row and column for the current warning
-    tstfsz  WREG                        ; Is there room for the warning?
-    return                              ; No
-    call	TFT_standard_color
-    STRCPY  0x94                        ; "End of dive" icon
-    movff	opt_diveTimeout,WREG	    ; in [min]
-    mullw	.60
-    movff	PRODL,sub_a+0
-    movff	PRODH,sub_a+1		    	; in [s]
-    movff   timeout_counter,sub_b+0
-    movff   timeout_counter2,sub_b+1
-    call    subU16  					;  sub_c = sub_a - sub_b (with UNSIGNED values)
-	movff	sub_c+0, lo
-	movff	sub_c+1, hi
+	tstfsz	WREG						; Is there room for the warning?
+	return								; No
+	call	TFT_standard_color
+	STRCPY	0x94						; "End of dive" icon
+	movff	opt_diveTimeout,WREG		; in [min]
+	mullw	.60
+	movff	PRODL,sub_a+0
+	movff	PRODH,sub_a+1				; in [s]
+	movff	timeout_counter1+0,sub_b+0
+	movff	timeout_counter1+1,sub_b+1
+	call	subU16						; sub_c = sub_a - sub_b (with UNSIGNED values)
+	movff	sub_c+0,lo
+	movff	sub_c+1,hi
 	call	convert_time				; converts hi:lo in minutes to hours (hi) and minutes (lo)
 	movf	hi,W
 	movff	lo,hi
 	movwf	lo							; exchange lo and hi
 	output_99x
-	PUTC    ':'
+	PUTC	':'
 	movff	hi,lo
 	output_99x
-    movlw   dm_warning_length         	; Divemode string length
-    call    TFT_fillup_with_spaces     	; Fillup FSR2 with spaces (Total string length in #WREG)
+	movlw	dm_warning_length			; Divemode string length
+	call	TFT_fillup_with_spaces		; Fillup FSR2 with spaces (Total string length in #WREG)
 	STRCAT_PRINT ""
-    bcf     win_invert
+	bcf		win_invert
 	return
 
 	global	TFT_display_ftts
 TFT_display_ftts:
-    movff   char_I_extra_time,lo
-    tstfsz  lo
-    bra     TFT_display_ftts_a
-    return                              	; char_I_extra_time=0, return.
+	movff	char_I_extra_time,lo
+	tstfsz	lo
+	bra		TFT_display_ftts_a
+	return								; char_I_extra_time=0, return.
 TFT_display_ftts_a:
-    movff   int_O_alternate_ascenttime+0,WREG
-    movff   int_O_alternate_ascenttime+1,hi
-    iorwf   hi,W                    		; int_O_alternate_ascenttime:2 == 0 ?
-    bnz     TFT_display_ftts_b
-    return  								; No deco, do nothing
+	movff	int_O_alternate_ascenttime+0,WREG
+	movff	int_O_alternate_ascenttime+1,hi
+	iorwf	hi,W						; int_O_alternate_ascenttime:2 == 0 ?
+	bnz		TFT_display_ftts_b
+	return								; No deco, do nothing
 TFT_display_ftts_b:
-	btfsc	is_bailout						; check if we are in bailout mode
-	return									; YES - in bailout no fTTS will be computed, so nothing to display
-	incf    warning_counter,F				; increase counter
-	call    TFT_warning_set_window			; sets the row and column for the current warning
-	tstfsz  WREG                        	; is there room for the warning?
-	return                              	; NO
- 	btfsc	FLAG_ccr_mode					; in CCR mode?
-	bra		TFT_display_ftts_1				; YES - print fTTS label
-	btfsc	FLAG_pscr_mode					; NO  -	in pSCR mode?
-	bra		TFT_display_ftts_1				; 		YES	- print fTTS label
-	bra		TFT_display_ftts_2				; 		NO  - must be OC then
-TFT_display_ftts_1:							; in CCR or pSCR mode
-	btfsc	is_bailout						; in bailout?
-	bra		TFT_display_ftts_2				; YES - print fTTS label
-	TSTOSS	opt_calc_asc_gasvolume			; NO  - bailout volume calculation requested?
-	bra		TFT_display_ftts_2				;		NO  - print fTTS label
-	STRCPY	"B/O"							; 		YES - print bailout label
+	btfsc	is_bailout					; check if we are in bailout mode
+	return								; YES - in bailout no fTTS will be computed, so nothing to display
+	incf	warning_counter,F			; increase counter
+	call	TFT_warning_set_window		; sets the row and column for the current warning
+	tstfsz	WREG						; is there room for the warning?
+	return								; NO
+	btfsc	FLAG_ccr_mode				; in CCR mode?
+	bra		TFT_display_ftts_1			; YES - print fTTS label
+	btfsc	FLAG_pscr_mode				; NO  - in pSCR mode?
+	bra		TFT_display_ftts_1			;       YES - print fTTS label
+	bra		TFT_display_ftts_2			;       NO  - must be OC then
+TFT_display_ftts_1:						; in CCR or pSCR mode
+	btfsc	is_bailout					; in bailout?
+	bra		TFT_display_ftts_2			; YES - print fTTS label
+	TSTOSS	opt_calc_asc_gasvolume		; NO  - bailout volume calculation requested?
+	bra		TFT_display_ftts_2			;       NO  - print fTTS label
+	STRCPY	"B/O"						;       YES - print bailout label
 	bra		TFT_display_ftts_3
-TFT_display_ftts_2:							; OC or bailout
-	STRCPY	"@+"							; print fTTS label
+TFT_display_ftts_2:						; OC or bailout
+	STRCPY	"@+"						; print fTTS label
 TFT_display_ftts_3:
-	movff   char_I_extra_time,lo
-    bsf     leftbind
-    output_8
-    PUTC    ":"
-	movff   int_O_alternate_ascenttime+0,lo
-	movff   int_O_alternate_ascenttime+1,hi
+	movff	char_I_extra_time,lo
+	bsf		leftbind
+	output_8
+	PUTC	":"
+	movff	int_O_alternate_ascenttime+0,lo
+	movff	int_O_alternate_ascenttime+1,hi
 	btfss	hi,int_invalid_flag				; is the invalid flag set?
 	bra		TFT_display_ftts1				; NO
 	bcf		hi,int_invalid_flag				; YES - clear flag
-	call	TFT_disabled_color				; 		switch to disabled color
+	call	TFT_disabled_color				;       switch to disabled color
 TFT_display_ftts1:
-	movf    lo,W
-	iorwf   hi,W                    		; extra_ascenttime == 0 ?
-	bz      TFT_display_ftts2   			; YES - show dashes
+	movf	lo,W
+	iorwf	hi,W							; extra_ascenttime == 0 ?
+	bz		TFT_display_ftts2				; YES - show dashes
 	btfsc	hi,int_not_yet_computed			; is the not-computed-yet flag set?
 	bra		TFT_display_ftts2				; YES
 	output_16								; NO
 	bcf		leftbind
-    PUTC    "'"
-    movlw   dm_warning_length				; Divemode string length
-    call    TFT_fillup_with_spaces			; Fillup FSR2 with spaces (Total string length in #WREG)
+	PUTC	"'"
+	movlw	dm_warning_length				; Divemode string length
+	call	TFT_fillup_with_spaces			; Fillup FSR2 with spaces (Total string length in #WREG)
 	STRCAT_PRINT ""
-    bcf     win_invert
+	bcf		win_invert
 	goto	TFT_standard_color				; ...and return
 TFT_display_ftts2:
-    STRCAT  "---"
-	bcf     leftbind
-    movlw   dm_warning_length				; Divemode string length
-    call    TFT_fillup_with_spaces 			; Fillup FSR2 with spaces (Total string length in #WREG)
-    STRCAT_PRINT ""
-    bcf     win_invert
+	STRCAT	"---"
+	bcf		leftbind
+	movlw	dm_warning_length				; Divemode string length
+	call	TFT_fillup_with_spaces			; Fillup FSR2 with spaces (Total string length in #WREG)
+	STRCAT_PRINT ""
+	bcf		win_invert
 	goto	TFT_standard_color				; ...and return
 
 
@@ -1861,31 +1870,32 @@
 
 	global	TFT_temp_surfmode
 TFT_temp_surfmode:
-    call    TFT_divemask_color
-	WIN_SMALL   surf_temp_column+3*8,surf_temp_row
-    TSTOSS  opt_units   					; 0=°C, 1=°F
+	call	TFT_divemask_color
+	WIN_SMALL surf_temp_column+3*8,surf_temp_row
+	TSTOSS	opt_units						; 0=°C, 1=°F
 	bra		TFT_temp_surfmode_metric
-	STRCAT_TEXT	tLogTunitF					; °F
+	STRCAT_TEXT tLogTunitF					; °F
 	bra		TFT_temp_surfmode_common
 TFT_temp_surfmode_metric:
-	STRCAT_TEXT	tLogTunitC					; °C
+	STRCAT_TEXT tLogTunitC					; °C
 TFT_temp_surfmode_common:
 	STRCAT_PRINT ""
-	WIN_SMALL   surf_temp_column,surf_temp_row
+	WIN_SMALL surf_temp_column,surf_temp_row
 	bra		TFT_temp_common
-	
+
+
 	global	TFT_temp_divemode
 TFT_temp_divemode:
-    bcf	    FLAG_TFT_temp_divemode
-    btfsc   divemode_menu					; Is the dive mode menu shown?
-    return									; Yes, no update of temperature now
+	bcf		FLAG_TFT_temp_divemode
+	btfsc	divemode_menu					; Is the dive mode menu shown?
+	return									; Yes, no update of temperature now
 	btfsc	blinking_better_gas				; blinking better Gas?
 	return									; Yes, no update of temperature now
 	WIN_SMALL	dm_temp_column,dm_temp_row
 TFT_temp_common:
-	call    TFT_standard_color
+	call	TFT_standard_color
 	SAFE_2BYTE_COPY temperature,lo			; get current temperature
-	TSTOSS  opt_units						; 0=°C, 1=°F
+	TSTOSS	opt_units						; 0=°C, 1=°F
 	bra		TFT_temp_common_1
 	call	convert_celsius_to_fahrenheit	; convert value in lo:hi from celsius to fahrenheit
 TFT_temp_common_1:
@@ -1893,7 +1903,7 @@
 	btfsc	neg_flag						; is the temperature negative?
 	bra		TFT_temp_common_2				; YES - the minus sign has already been written
 	; temp is positive, is it less then 10°C? 
-	tstfsz  hi
+	tstfsz	hi
 	bra		TFT_temp_common_1a				; >25.5°C, skip here
 	movlw	.100
 	cpfslt	lo
@@ -1908,8 +1918,8 @@
 	bsf		ignore_digit5					; ignore decimal
 	output_16_3								; output 0-999 without decimal -> writes ' ' - 99
 	bcf		ignore_digit5
-	movff    buffer+2,lo					; get output from unit position
-	movlw    " "							; load code of the space character
+	movff	buffer+2,lo						; get output from unit position
+	movlw	" "								; load code of the space character
 	cpfseq	lo								; is there a space sign on the unit position? (happens between +1 and -1)
 	bra		TFT_temp_common_3				; NO
 	movff	WREG,buffer+0					; YES - replace potential minus sign with a space (temps from -0.9° to -0.1° else would appear as '- 0')
@@ -1923,125 +1933,125 @@
 	STRCAT_TEXT tLogTunitF					; append °F
 	bra		TFT_temp_common_5
 TFT_temp_common_4:
-	STRCAT_TEXT tLogTunitC					; append °C   
+	STRCAT_TEXT tLogTunitC					; append °C
 TFT_temp_common_5:
 	STRCAT_PRINT ""							; output to screen
-	return                
-	
+	return
+
 ;=============================================================================
 
-    global  TFT_divemode_menu_cursor
+	global	TFT_divemode_menu_cursor
 TFT_divemode_menu_cursor:
-    WIN_BOX_BLACK   dm_menu_row+.1, dm_menu_lower-.1, dm_menu_item1_column-.8, dm_menu_item1_column-.1
-    WIN_BOX_BLACK   dm_menu_row+.1, dm_menu_lower-.1, dm_menu_item4_column-.8, dm_menu_item4_column-.1
-    call	TFT_standard_color
-
-    movlw   dm_menu_item1_column-.8
-    btfsc   menupos,2       			; >3?
-    movlw   dm_menu_item4_column-.8  	; Yes
-    movff   WREG,win_leftx2
-    
-    movff   menupos,lo					; Copy menu pos
-    movlw   dm_menu_item6_row
-    dcfsnz  lo,F
-    movlw   dm_menu_item1_row
-    dcfsnz  lo,F
-    movlw   dm_menu_item2_row
-    dcfsnz  lo,F
-    movlw   dm_menu_item3_row
-    dcfsnz  lo,F
-    movlw   dm_menu_item4_row
-    dcfsnz  lo,F
-    movlw   dm_menu_item5_row
-    movff   WREG,win_top
-    movlw   FT_SMALL
-    movff   WREG,win_font
-    STRCPY_PRINT    "\xb7"          	; print cursor
-    return
+	WIN_BOX_BLACK dm_menu_row+.1, dm_menu_lower-.1, dm_menu_item1_column-.8, dm_menu_item1_column-.1
+	WIN_BOX_BLACK dm_menu_row+.1, dm_menu_lower-.1, dm_menu_item4_column-.8, dm_menu_item4_column-.1
+	call	TFT_standard_color
+
+	movlw	dm_menu_item1_column-.8
+	btfsc	menupos1,2					; >3?
+	movlw	dm_menu_item4_column-.8		; Yes
+	movff	WREG,win_leftx2
+
+	movff	menupos1,lo					; Copy menu position
+	movlw	dm_menu_item6_row
+	dcfsnz	lo,F
+	movlw	dm_menu_item1_row
+	dcfsnz	lo,F
+	movlw	dm_menu_item2_row
+	dcfsnz	lo,F
+	movlw	dm_menu_item3_row
+	dcfsnz	lo,F
+	movlw	dm_menu_item4_row
+	dcfsnz	lo,F
+	movlw	dm_menu_item5_row
+	movff	WREG,win_top
+	movlw	FT_SMALL
+	movff	WREG,win_font
+	STRCPY_PRINT "\xb7"					; print cursor
+	return
 
 	global	TFT_active_gas_divemode
 TFT_active_gas_divemode:				; Display gas/Setpoint
-    bcf	    FLAG_TFT_active_gas_divemode
-    btfsc   divemode_menu               ; Is the dive mode menu shown?
-    return                              ; Yes, return
-    btfsc	FLAG_apnoe_mode				; Ignore in Apnoe mode
-    return
-    btfsc   FLAG_ccr_mode               ; in CCR mode?
-    bra     TFT_active_setpoint         ; Yes, show setpoint and gas mix
-    btfsc   FLAG_pscr_mode				; in PSCR mode?
-    bra		TFT_active_setpoint         ; Yes, show setpoint and gas mix
-	call    TFT_standard_color
-	btfss	better_gas_available        ; check if a better gas is available and a gas change is advised in divemode
+	bcf		FLAG_TFT_active_gas_divemode
+	btfsc	divemode_menu				; Is the dive mode menu shown?
+	return								; Yes, return
+	btfsc	FLAG_apnoe_mode				; Ignore in Apnoe mode
+	return
+	btfsc	FLAG_ccr_mode				; in CCR mode?
+	bra		TFT_active_setpoint			; Yes, show setpoint and gas mix
+	btfsc	FLAG_pscr_mode				; in PSCR mode?
+	bra		TFT_active_setpoint			; Yes, show setpoint and gas mix
+	call	TFT_standard_color
+	btfss	better_gas_available		; check if a better gas is available and a gas change is advised in divemode
 	bra		TFT_active_gas_divemode2	; NO  - print in normal rendering
-	btg		blinking_better_gas         ; YES - toggle blink bit
-	btfss	blinking_better_gas         ; 		blink now?
-	bra		TFT_active_gas_divemode2	; 		NO  - print in normal rendering
-    call    TFT_attention_color         ; 		YES - blink in yellow
-    bsf     win_invert                  ; 			  set invert flag
+	btg		blinking_better_gas			; YES - toggle blink bit
+	btfss	blinking_better_gas			;       blink now?
+	bra		TFT_active_gas_divemode2	;       NO  - print in normal rendering
+	call	TFT_attention_color			;       YES - blink in yellow
+	bsf		win_invert					;             set invert flag
 TFT_active_gas_divemode2:
-    WIN_STD dm_active_gas_column, dm_active_gas_row
-    movff   char_I_O2_ratio,lo          ; lo now stores O2 in %
-    movff   char_I_He_ratio,hi          ; hi now stores He in %
-    call    customview_show_mix         ; put "Nxlo", "Txlo/hi", "Air" or "O2" into Postinc2
+	WIN_STD dm_active_gas_column, dm_active_gas_row
+	movff	char_I_O2_ratio,lo			; lo now stores O2 in %
+	movff	char_I_He_ratio,hi			; hi now stores He in %
+	call	customview_show_mix			; put "Nxlo", "Txlo/hi", "Air" or "O2" into Postinc2
 	STRCAT_PRINT ""
-	bcf     win_invert                  ; reset invert flag
+	bcf		win_invert					; reset invert flag
 	goto	TFT_standard_color			; ...and return
 
-TFT_active_setpoint:         			; Show setpoint
-    btfsc   is_bailout                  ; are we in bailout?
-    bra     TFT_active_setpoint_bail    ; YES - show "Bailout" instead of setpoint
+TFT_active_setpoint:					; Show setpoint
+	btfsc	is_bailout					; are we in bailout?
+	bra		TFT_active_setpoint_bail	; YES - show "Bailout" instead of setpoint
 	movff	int_O_breathed_ppO2+0,lo
 	movff	int_O_breathed_ppO2+1,hi
-    TFT_color_code  warn_ppo2			; with ppO2 [cbar] in hi:lo
-    btg	    blinking_setpoint			; toggle blink bit...
-    btfss   blinking_setpoint			; blink now?
-    bra	    TFT_active_setpoint_print	; NO  - print ppO2 with normal rendering
-    btfsc   setpoint_fallback 			; YES - check if we are in fallback condition
-    bra	    TFT_active_setpoint_fallb	; 		YES - process fallback case
-    movff   int_O_breathed_ppO2+1,WREG	;		NO  - get flags again (have been cleared in hi:lo by TFT_color_code meanwhile)
-    btfss	WREG,int_warning_flag		;			  warning flag set?
-    bra	    TFT_active_setpoint_print	; 			  NO  - ppO2 is ok, print ppO2 with normal rendering
-    bra	    TFT_active_setpoint_com		; 			  YES - continue with blinking common part
+	call	TFT_color_code_ppo2			; with ppO2 [cbar] in hi:lo
+	btg		blinking_setpoint			; toggle blink bit...
+	btfss	blinking_setpoint			; blink now?
+	bra		TFT_active_setpoint_print	; NO  - print ppO2 with normal rendering
+	btfsc	setpoint_fallback			; YES - check if we are in fallback condition
+	bra		TFT_active_setpoint_fallb	;       YES - process fallback case
+	movff	int_O_breathed_ppO2+1,WREG	;       NO  - get flags again (have been cleared in hi:lo by TFT_color_code_ppo2 meanwhile)
+	btfss	WREG,int_warning_flag		;             warning flag set?
+	bra		TFT_active_setpoint_print	;             NO  - ppO2 is ok, print ppO2 with normal rendering
+	bra		TFT_active_setpoint_com		;             YES - continue with blinking common part
 TFT_active_setpoint_fallb:				; set up fallback case 
-    movlw   color_yellow				; text in yellow 
-    call    TFT_set_color				; overwrite setting done by TFT_color_code warn_ppo2 
-TFT_active_setpoint_com:				; blinking common part    
-    bsf     win_invert              	; set invert flag
+	movlw	color_yellow				; text in yellow 
+	call	TFT_set_color				; overwrite setting done by TFT_color_code_ppo2 
+TFT_active_setpoint_com:				; blinking common part
+	bsf		win_invert					; set invert flag
 TFT_active_setpoint_print:
 	WIN_STD dm_active_gas_column, dm_active_gas_row
 	bsf		leftbind
-	output_16dp  .3         			; x.xx bar
-    bcf		leftbind
-    STRCAT_TEXT tbar
-    movff   opt_ccr_mode,WREG			; =0: Fixed SP, =1: Sensor,  =2: Auto SP
-    sublw   .1							; opt_ccr_mode = 1 (Sensor)?
-    bnz     TFT_active_setpoint2_a		; NO  - skip
-    PUTC    "*"							; YES - add an astrix
+	output_16dp .3						; x.xx bar
+	bcf		leftbind
+	STRCAT_TEXT tbar
+	movff	opt_ccr_mode,WREG			; =0: Fixed SP, =1: Sensor,  =2: Auto SP
+	sublw	.1							; opt_ccr_mode = 1 (Sensor)?
+	bnz		TFT_active_setpoint2_a		; NO  - skip
+	PUTC	"*"							; YES - add an astrix
 TFT_active_setpoint2_a:
 	STRCAT_PRINT ""
-	bcf     win_invert                  ; reset invert flag
+	bcf		win_invert					; reset invert flag
 	call	TFT_standard_color			; revert to standard color
 	bra		TFT_active_setpoint_diluent ; continue with showing diluent
 TFT_active_setpoint_bail:
 	WIN_SMALL dm_active_gas_column, dm_active_gas_row+.3	; collides with diluent in FT_MEDIUM
 	call	TFT_standard_color
-	STRCPY_TEXT_PRINT tDiveBailout    						; Bailout
+	STRCPY_TEXT_PRINT tDiveBailout		; Bailout
 TFT_active_setpoint_diluent:
- 	btfss	better_gas_available        ; check if a better gas is available and a gas change is advised in divemode
+	btfss	better_gas_available		; check if a better gas is available and a gas change is advised in divemode
 	bra		TFT_active_setpoint_diluent_show	; NO  - print in normal rendering
-	btg		blinking_better_gas         		; YES - toggle blink bit...
-	btfss	blinking_better_gas         		; blink now?
+	btg		blinking_better_gas					; YES - toggle blink bit...
+	btfss	blinking_better_gas					; blink now?
 	bra		TFT_active_setpoint_diluent_show	; NO  - print in normal rendering
-	movlw	color_yellow                		; YES - blink in yellow
-    call	TFT_set_color						;       set text color
-    bsf     win_invert              			; 		set invert flag
+	movlw	color_yellow						; YES - blink in yellow
+	call	TFT_set_color						;       set text color
+	bsf		win_invert							;       set invert flag
 TFT_active_setpoint_diluent_show:
 	WIN_SMALL dm_active_dil_column, dm_active_dil_row
-	movff	char_I_O2_ratio,lo          ; lo now stores O2 in %
-	movff	char_I_He_ratio,hi          ; hi now stores He in %
-	call	customview_show_mix         ; put "Nxlo", "Txlo/hi", "Air" or "O2" into Postinc2
+	movff	char_I_O2_ratio,lo			; lo now stores O2 in %
+	movff	char_I_He_ratio,hi			; hi now stores He in %
+	call	customview_show_mix			; put "Nxlo", "Txlo/hi", "Air" or "O2" into Postinc2
 	STRCAT_PRINT ""
-	bcf		win_invert                  ; reset invert flag
+	bcf		win_invert					; reset invert flag
 	goto	TFT_standard_color			; ...and return
 
 
@@ -2063,211 +2073,210 @@
 	call	TFT_standard_color			; set standard color
 	STRCPY_TEXT_PRINT tDvPSCR			; print "PSCR"
 	return
-	
+
 
 	global	TFT_display_decotype_surface
 TFT_display_decotype_surface:
-	WIN_STD  surf_decotype_column,surf_decotype_row
-    WIN_COLOR	color_lightblue
-    movff   opt_dive_mode,lo        		; 0=OC, 1=CC, 2=Gauge, 3=Apnea, 4=PSCR
-    tstfsz  lo
-    bra     TFT_display_decotype_surface2
+	WIN_STD	surf_decotype_column,surf_decotype_row
+	WIN_COLOR color_lightblue
+	movff	opt_dive_mode,lo			; 0=OC, 1=CC, 2=Gauge, 3=Apnea, 4=PSCR
+	tstfsz	lo
+	bra		TFT_display_decotype_surface2
 TFT_display_decotype_surface0:
-    STRCAT_TEXT_PRINT	tDvOC				; OC
-    bra     TFT_display_decotype_exit
+	STRCAT_TEXT_PRINT tDvOC				; OC
+	bra		TFT_display_decotype_exit
 TFT_display_decotype_surface2:
-    decfsz  lo,F
-    bra     TFT_display_decotype_surface3
-    STRCAT_TEXT_PRINT   tDvCC				; CC
-    call	TFT_standard_color
+	decfsz	lo,F
+	bra		TFT_display_decotype_surface3
+	STRCAT_TEXT_PRINT tDvCC				; CC
+	call	TFT_standard_color
 	WIN_TINY surf_decotype_column+.18,surf_decotype_row+.12
-    TSTOSS  opt_ccr_mode        			; =0: Fixed SP, =1: Sensor,  =2: Auto SP
-    bra     TFT_display_decotype_cc_fixed
-    ; Sensor mode or Auto
-    movff   opt_ccr_mode,WREG
-    sublw   .2
-    bz      TFT_display_decotype_cc_auto
-    STRCPY_TEXT tCCRModeSensor 				; Sensor
-    bra     TFT_display_decotype_cc_common
+	TSTOSS	opt_ccr_mode				; =0: Fixed SP, =1: Sensor, =2: Auto SP
+	bra	 TFT_display_decotype_cc_fixed
+	; Sensor mode or Auto
+	movff	opt_ccr_mode,WREG
+	sublw	.2
+	bz		TFT_display_decotype_cc_auto
+	STRCPY_TEXT tCCRModeSensor				; Sensor
+	bra		TFT_display_decotype_cc_common
 TFT_display_decotype_cc_auto:
-    STRCPY_TEXT tCCRModeAutoSP  			; Auto SP
-    bra     TFT_display_decotype_cc_common
+	STRCPY_TEXT tCCRModeAutoSP				; Auto SP
+	bra		TFT_display_decotype_cc_common
 TFT_display_decotype_cc_fixed:
-    STRCPY_TEXT tCCRModeFixedSP 			; Fixed SP
+	STRCPY_TEXT tCCRModeFixedSP				; Fixed SP
 TFT_display_decotype_cc_common:
-	clrf    WREG
-	movff   WREG,buffer+.8					; limit string length to 8
-    STRCAT_PRINT ""
-    bra     TFT_display_decotype_exit
+	clrf	WREG
+	movff	WREG,buffer+.8					; limit string length to 8
+	STRCAT_PRINT ""
+	bra		TFT_display_decotype_exit
 TFT_display_decotype_surface3:
-    decfsz  lo,F
-    bra     TFT_display_decotype_surface4
+	decfsz	lo,F
+	bra		TFT_display_decotype_surface4
 TFT_display_decotype_surface3_1:
-    STRCAT_TEXT_PRINT	tDvGauge			; Gauge
-    bra     TFT_display_decotype_exit
+	STRCAT_TEXT_PRINT tDvGauge				; Gauge
+	bra		TFT_display_decotype_exit
 TFT_display_decotype_surface4:
-    decfsz  lo,F
-    bra     TFT_display_decotype_surface5
-TFT_display_decotype_surface4_1:    
-    STRCAT_TEXT_PRINT	tDvApnea			; Apnea
-    bra     TFT_display_decotype_exit
+	decfsz	lo,F
+	bra		TFT_display_decotype_surface5
+TFT_display_decotype_surface4_1:
+	STRCAT_TEXT_PRINT tDvApnea				; Apnea
+	bra		TFT_display_decotype_exit
 TFT_display_decotype_surface5:
-    STRCAT_TEXT_PRINT	tDvPSCR	    		; PSCR
+	STRCAT_TEXT_PRINT tDvPSCR				; PSCR
 TFT_display_decotype_exit:
-    goto	TFT_standard_color  			; and return...
-
-
-    global  TFT_display_decotype_surface1   ; Used from logbook!
-TFT_display_decotype_surface1:  			; Used from logbook!
-    tstfsz  lo
-    bra     TFT_display_decotype_surface1_2
-    bra     TFT_display_decotype_surface0   ;OC
+	goto	TFT_standard_color				; and return...
+
+
+	global	TFT_display_decotype_surface1	; Used from logbook!
+TFT_display_decotype_surface1:				; Used from logbook!
+	tstfsz	lo
+	bra		TFT_display_decotype_surface1_2
+	bra		TFT_display_decotype_surface0	;OC
 TFT_display_decotype_surface1_2:
-    decfsz  lo,F
-    bra     TFT_display_decotype_surface1_3
-    STRCAT_TEXT_PRINT   tDvCC               ; CC (w/o Sensor/Fixed Display)
+	decfsz	lo,F
+	bra		TFT_display_decotype_surface1_3
+	STRCAT_TEXT_PRINT	tDvCC				; CC (w/o Sensor/Fixed Display)
 TFT_display_decotype_surface1_3:
-    decfsz  lo,F
-    bra     TFT_display_decotype_surface1_4
-    bra     TFT_display_decotype_surface3_1 ; Gauge
+	decfsz	lo,F
+	bra		TFT_display_decotype_surface1_4
+	bra		TFT_display_decotype_surface3_1 ; Gauge
 TFT_display_decotype_surface1_4:
-    decfsz  lo,F
-    bra     TFT_display_decotype_surface4_1 ; Apnea
-    bra     TFT_display_decotype_surface5   ; PSCR
+	decfsz	lo,F
+	bra		TFT_display_decotype_surface4_1 ; Apnea
+	bra		TFT_display_decotype_surface5	; PSCR
 
 ;=============================================================================
 
-    global  TFT_splist_surfmode     	; Show Setpoint list
-    extern  gaslist_strcat_setpoint
+	global	TFT_splist_surfmode			; Show Setpoint list
+	extern	gaslist_strcat_setpoint
 TFT_splist_surfmode:
-    bsf     short_gas_decriptions   	; =1: Use short versions of gaslist_strcat_gas_mod and gaslist_strcat_setpoint
-    ;SP 1
-    WIN_SMALL surf_gaslist_column,surf_gaslist_row
-    clrf    PRODL
-    call    gaslist_strcat_setpoint     ; Show SP#+1 of PRODL#
-    STRCAT_PRINT ""
-    ;SP 2
-    WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.1)
-    movlw   .1
-    movwf   PRODL
-    call    gaslist_strcat_setpoint     ; Show SP#+1 of PRODL#
-    STRCAT_PRINT ""
-    ;SP 3
-    WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.2)
-    movlw   .2
-    movwf   PRODL
-    call    gaslist_strcat_setpoint     ; Show SP#+1 of PRODL#
-    STRCAT_PRINT ""
-    ;SP 4
-    WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.3)
-    movlw   .3
-    movwf   PRODL
-    call    gaslist_strcat_setpoint     ; Show SP#+1 of PRODL#
-    STRCAT_PRINT ""
-    ;SP 5
-    WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.4)
-    movlw   .4
-    movwf   PRODL
-    call    gaslist_strcat_setpoint     ; Show SP#+1 of PRODL#
-    STRCAT_PRINT ""
-    bcf     leftbind
-    return
+	bsf		short_gas_decriptions		; =1: Use short versions of gaslist_strcat_gas_mod and gaslist_strcat_setpoint
+	;SP 1
+	WIN_SMALL surf_gaslist_column,surf_gaslist_row
+	clrf	PRODL
+	call	gaslist_strcat_setpoint		; Show SP#+1 of PRODL#
+	STRCAT_PRINT ""
+	;SP 2
+	WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.1)
+	movlw	.1
+	movwf	PRODL
+	call	gaslist_strcat_setpoint		; Show SP#+1 of PRODL#
+	STRCAT_PRINT ""
+	;SP 3
+	WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.2)
+	movlw	.2
+	movwf	PRODL
+	call	gaslist_strcat_setpoint		; Show SP#+1 of PRODL#
+	STRCAT_PRINT ""
+	;SP 4
+	WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.3)
+	movlw	.3
+	movwf	PRODL
+	call	gaslist_strcat_setpoint		; Show SP#+1 of PRODL#
+	STRCAT_PRINT ""
+	;SP 5
+	WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.4)
+	movlw	.4
+	movwf	PRODL
+	call	gaslist_strcat_setpoint		; Show SP#+1 of PRODL#
+	STRCAT_PRINT ""
+	bcf		leftbind
+	return
 
 	global	TFT_gaslist_surfmode
-TFT_gaslist_surfmode:				; Displays Gas List
-    bsf     short_gas_decriptions   ; =1: Use short versions of gaslist_strcat_gas_mod and gaslist_strcat_setpoint
-    extern  gaslist_strcat_gas_mod
-    ;Gas 1
-    WIN_SMALL surf_gaslist_column,surf_gaslist_row
-    clrf    PRODL
-    call    gaslist_strcat_gas_mod  ;Append gas description of gas #PRODL (0-4) to current string
-    STRCAT_PRINT ""
-    ;Gas 2
-    WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.1)
-    movlw   .1
-    movwf   PRODL
-    call    gaslist_strcat_gas_mod  ;Append gas description of gas #PRODL (0-4) to current string
-    STRCAT_PRINT ""
-    ;Gas 3
-    WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.2)
-    movlw   .2
-    movwf   PRODL
-    call    gaslist_strcat_gas_mod  ;Append gas description of gas #PRODL (0-4) to current string
-    STRCAT_PRINT ""
-    ;Gas 4
-    WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.3)
-    movlw   .3
-    movwf   PRODL
-    call    gaslist_strcat_gas_mod  ;Append gas description of gas #PRODL (0-4) to current string
-    STRCAT_PRINT ""
-    ;Gas 5
-    WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.4)
-    movlw   .4
-    movwf   PRODL
-    call    gaslist_strcat_gas_mod  ;Append gas description of gas #PRODL (0-4) to current string
-    STRCAT_PRINT ""
-    bcf     leftbind
-    return
+TFT_gaslist_surfmode:					; Displays Gas List
+	bsf		short_gas_decriptions		; =1: Use short versions of gaslist_strcat_gas_mod and gaslist_strcat_setpoint
+	extern	gaslist_strcat_gas_mod
+	;Gas 1
+	WIN_SMALL surf_gaslist_column,surf_gaslist_row
+	clrf	PRODL
+	call	gaslist_strcat_gas_mod		;Append gas description of gas #PRODL (0-4) to current string
+	STRCAT_PRINT ""
+	;Gas 2
+	WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.1)
+	movlw	.1
+	movwf	PRODL
+	call	gaslist_strcat_gas_mod		;Append gas description of gas #PRODL (0-4) to current string
+	STRCAT_PRINT ""
+	;Gas 3
+	WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.2)
+	movlw	.2
+	movwf	PRODL
+	call	gaslist_strcat_gas_mod		;Append gas description of gas #PRODL (0-4) to current string
+	STRCAT_PRINT ""
+	;Gas 4
+	WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.3)
+	movlw	.3
+	movwf	PRODL
+	call	gaslist_strcat_gas_mod		;Append gas description of gas #PRODL (0-4) to current string
+	STRCAT_PRINT ""
+	;Gas 5
+	WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.4)
+	movlw	.4
+	movwf	PRODL
+	call	gaslist_strcat_gas_mod		;Append gas description of gas #PRODL (0-4) to current string
+	STRCAT_PRINT ""
+	bcf		leftbind
+	return
 
 	global	TFT_dillist_surfmode
-TFT_dillist_surfmode:				; Displays Diluent List
-    bsf     short_gas_decriptions   ; =1: Use short versions of gaslist_strcat_gas_mod and gaslist_strcat_setpoint
-    bsf     ccr_diluent_setup       ; Use CCR Diluents...
-    rcall   TFT_gaslist_surfmode    ; Use OC/BAIL routine
-    bcf     ccr_diluent_setup       ; Clear flag
-    return
+TFT_dillist_surfmode:					; Displays Diluent List
+	bsf		short_gas_decriptions		; =1: Use short versions of gaslist_strcat_gas_mod and gaslist_strcat_setpoint
+	bsf		ccr_diluent_setup			; Use CCR Diluents...
+	rcall	TFT_gaslist_surfmode		; Use OC/BAIL routine
+	bcf		ccr_diluent_setup			; Clear flag
+	return
 
 ;==================================================================
 
 	global	TFT_depth
 TFT_depth:
-    bcf	    FLAG_TFT_depth
-    SAFE_2BYTE_COPY rel_pressure, lo
-    call    adjust_depth_with_salinity	; computes salinity setting into lo:hi [mbar]
-
-    TFT_color_code  warn_depth		; Color-code the output
-    rcall 	TFT_depth_blink
-    WIN_LARGE   dm_depth_column, dm_depth_row
-
-    TSTOSS  opt_units   			; 0=m, 1=ft
-    bra     TFT_depth_metric
+	bcf		FLAG_TFT_depth
+	SAFE_2BYTE_COPY rel_pressure, lo
+	call	adjust_depth_with_salinity	; computes salinity setting into lo:hi [mbar]
+	call	TFT_color_code_depth		; Color-code the output
+	rcall	TFT_depth_blink
+	WIN_LARGE dm_depth_column, dm_depth_row
+
+	TSTOSS	opt_units					; 0=m, 1=ft
+	bra		TFT_depth_metric
 ;TFT_depth_imperial
-    clrf    sub_a+1                 ; Display 0ft if lower then 30cm
+	clrf	sub_a+1						; Display 0ft if lower then 30cm
 	movlw	d'30'
 	movwf	sub_a+0
 	movff	hi,sub_b+1
 	movff	lo,sub_b+0
-	call	subU16					; sub_c = sub_a - sub_b
-	btfss	neg_flag				; Depth lower then 0.4m?
-	bra		depth_less_0.3mtr_feet	; Yes, Show 0ft manually
-
-	call	convert_mbar_to_feet    ; convert value in lo:hi from mbar to feet
+	call	subU16						; sub_c = sub_a - sub_b
+	btfss	neg_flag					; Depth lower then 0.4m?
+	bra		depth_less_0.3mtr_feet		; Yes, Show 0ft manually
+
+	call	convert_mbar_to_feet		; convert value in lo:hi from mbar to feet
 	bsf		leftbind
-	output_16						; feet in Big font
-    bcf		leftbind
-    movlw   .3                      ; limit to three chars
-    call    TFT_fillup_with_spaces  ; Fillup FSR2 with spaces (Total string length in #WREG)
-	STRCAT_PRINT ""					; Display feet
-    bcf     win_invert              ; Reset invert flag
-    return
+	output_16							; feet in Big font
+	bcf		leftbind
+	movlw	.3							; limit to three chars
+	call	TFT_fillup_with_spaces		; Fillup FSR2 with spaces (Total string length in #WREG)
+	STRCAT_PRINT ""						; Display feet
+	bcf		win_invert					; Reset invert flag
+	return
 
 depth_less_0.3mtr_feet:
-	STRCAT_PRINT "0  "				; manual zero
-    bcf     win_invert              ; Reset invert flag
+	STRCAT_PRINT "0  "					; manual zero
+	bcf		win_invert					; Reset invert flag
 	return
 
 TFT_depth_metric:
 	movlw	.039
 	cpfslt	hi
-    bra		depth_greater_99_84mtr
-
-	btfsc	depth_greater_100m		; Was depth>100m during last call
-	rcall	TFT_clear_depth         ; Yes, clear depth area
-	bcf		depth_greater_100m		; Do this once only...
+	bra		depth_greater_99_84mtr
+
+	btfsc	depth_greater_100m			; Was depth>100m during last call
+	rcall	TFT_clear_depth				; Yes, clear depth area
+	bcf		depth_greater_100m			; Do this once only...
 
 	movlw	.039
 	cpfslt	hi
-    bra		depth_greater_99_84mtr
+	bra		depth_greater_99_84mtr
 
 	movlw	HIGH	d'1000'
 	movwf	sub_a+1
@@ -2279,11 +2288,11 @@
 	movlw	d'0'
 	addwfc	sub_b+1,F				; Add 1mbar offset
 	call	sub16					; sub_c = sub_a - sub_b
-    movlw   ' '
+	movlw	' '
 	btfss	neg_flag				; Depth lower then 10m?
-    movwf   POSTINC2                ; Yes, add extra space
-
-	clrf    sub_a+1
+	movwf	POSTINC2				; Yes, add extra space
+
+	clrf	sub_a+1
 	movlw	d'99'
 	movwf	sub_a+0
 	movff	hi,sub_b+1
@@ -2299,7 +2308,7 @@
 	bra		tft_depth3
 
 tft_depth2:
-	STRCAT	"0"                    ; manual zero
+	STRCAT	"0"						; manual zero
 
 tft_depth3:
 	STRCAT_PRINT ""					; Display full meters
@@ -2308,15 +2317,14 @@
 	WIN_MEDIUM	dm_depth_dm_column, dm_depth_dm_row
 
 	; TODO - check if needed, depth should still be in hi:lo
-    SAFE_2BYTE_COPY rel_pressure, lo
-	call	adjust_depth_with_salinity ; computes salinity setting into lo:hi [mbar]
-
-	TFT_color_code	warn_depth		; Color-code the output
-	
-	PUTC    "."
-	movlw	HIGH	d'30'			; Display 0.0m if lower then 30cm
+	SAFE_2BYTE_COPY rel_pressure, lo
+	call	adjust_depth_with_salinity	; computes salinity setting into lo:hi [mbar]
+	call	TFT_color_code_depth	; Color-code the output
+
+	PUTC	"."
+	movlw	HIGH d'30'				; Display 0.0m if lower then 30cm
 	movwf	sub_a+1
-	movlw	LOW		d'30'
+	movlw	LOW  d'30'
 	movwf	sub_a+0
 	movff	hi,sub_b+1
 	movff	lo,sub_b+0
@@ -2329,158 +2337,158 @@
 	bsf		ignore_digit5
 	output_16dp	d'0'
 	STRCAT_PRINT ""					; Display decimeters
-    bcf     win_invert              ; Reset invert flag
-	WIN_FONT 	FT_SMALL
+	bcf		win_invert				; Reset invert flag
+	WIN_FONT FT_SMALL
 	return
 
 depth_less_0.3mtr:
 	STRCAT_PRINT "0"				; Display 0.0m manually
-    bcf     win_invert              ; Reset invert flag
-	WIN_FONT 	FT_SMALL
+	bcf		win_invert				; Reset invert flag
+	WIN_FONT FT_SMALL
 	return
 
 depth_greater_99_84mtr:				; Display only in full meters
 	btfss	depth_greater_100m		; Is depth>100m already?
 	rcall	TFT_clear_depth			; No, clear depth area and set flag
-    TFT_color_code	warn_depth
+	call	TFT_color_code_depth
 	; Depth is already in hi:lo
 	; Show depth in Full meters
 	; That means ignore digit 4 and 5
-	lfsr    FSR2,buffer
+	lfsr	FSR2,buffer
 	bsf		ignore_digit4
 	bsf		leftbind
 	output_16
 	bcf		leftbind
-    STRCAT_PRINT ""					; Display full meters only
-    bcf     win_invert              ; Reset invert flag
-	WIN_FONT 	FT_SMALL
+	STRCAT_PRINT ""					; Display full meters only
+	bcf		win_invert				; Reset invert flag
+	WIN_FONT FT_SMALL
 	return
 
-TFT_clear_depth:            			; No, clear depth area and set flag
-    WIN_BOX_BLACK   dm_depth_row, dm_depth_bot, dm_depth_column, dm_depth_rgt    ;top, bottom, left, right
-	bsf		depth_greater_100m			; Set Flag
+TFT_clear_depth:					; No, clear depth area and set flag
+	WIN_BOX_BLACK dm_depth_row, dm_depth_bot, dm_depth_column, dm_depth_rgt	;top, bottom, left, right
+	bsf		depth_greater_100m		; Set Flag
 	return
 
 TFT_depth_blink:
-    TSTOSS  opt_modwarning				; 0=standard, 1=blink
-    return
-
-    ; check if previous cycle had the blinking warning or not
-    btfsc   blinking_depth_prev         ; did we have warning prev?
-    bra     TFT_depth_blink_prevwarn    ; Yes
-
-    ; No; check if it's set now
-    btfsc   blinking_depth_warning      ; do we have warning set now?
-    bra     TFT_depth_blink_warn        ; Yes  - so we have warning now but not prev
-
-    ; no warning in previous cycle, no warning now, reset all flags
-    bcf     blinking_depth_prev         ; reset prev flag
-    bcf     blinking_depth_toggle       ; reset toggle
-    bcf     win_invert
-    ; all done
-    return
+	TSTOSS	opt_modwarning			; 0=standard, 1=blink
+	return
+
+	; check if previous cycle had the blinking warning or not
+	btfsc	blinking_depth_prev		; did we have warning prev?
+	bra		TFT_depth_blink_prevwarn; Yes
+
+	; No; check if it's set now
+	btfsc	blinking_depth_warning	; do we have warning set now?
+	bra		TFT_depth_blink_warn	; Yes  - so we have warning now but not prev
+
+	; no warning in previous cycle, no warning now, reset all flags
+	bcf		blinking_depth_prev		; reset prev flag
+	bcf		blinking_depth_toggle	; reset toggle
+	bcf		win_invert
+	; all done
+	return
 
 TFT_depth_blink_prevwarn:
-    ; ...we had warning in previous cycle, check if we still have the warning set
-    btfss   blinking_depth_warning              ; do we still have the warning?
-    bra     TFT_depth_blink_prevwarn_nowarn     ; No, clear the depth area
-
-    ; we still have the warning, set previous flag for next cycle...
-    bsf     blinking_depth_prev                 ; set prev flag
-    ; and set toggle and invert if required
-    btfss   blinking_depth_toggle               ; do we have the toggle set?
-    bra		TFT_depth_blink_set                 ; No:  set inverse,   do color_box, set flag
-    bra		TFT_depth_blink_reset               ; Yes: clear inverse, do black box, reset flag
+	; ...we had warning in previous cycle, check if we still have the warning set
+	btfss	blinking_depth_warning			; do we still have the warning?
+	bra		TFT_depth_blink_prevwarn_nowarn	; No, clear the depth area
+
+	; we still have the warning, set previous flag for next cycle...
+	bsf		blinking_depth_prev				; set prev flag
+	; and set toggle and invert if required
+	btfss	blinking_depth_toggle			; do we have the toggle set?
+	bra		TFT_depth_blink_set				; No:  set inverse,	do color_box, set flag
+	bra		TFT_depth_blink_reset			; Yes: clear inverse, do black box, reset flag
 
 TFT_depth_blink_prevwarn_nowarn:
-    ; we had warning, but not now... (e.g. ascended or switched to better gas)
-    ; reset the previous cycle flag for the next cycle...
-    bcf     blinking_depth_prev         		; reset prev flag
-    ; clear it - just in case if we had a blinked before
-    bra    TFT_depth_blink_reset                ; Yes: clear inverse, do black box, reset flag
+	; we had warning, but not now... (e.g. ascended or switched to better gas)
+	; reset the previous cycle flag for the next cycle...
+	bcf		blinking_depth_prev				; reset prev flag
+	; clear it - just in case if we had a blinked before
+	bra		TFT_depth_blink_reset			; Yes: clear inverse, do black box, reset flag
 
 TFT_depth_blink_warn:
-    ; new blinking warning activated (had no warning in previous cycle)
-    bsf     blinking_depth_prev                 ; set prev flag
-    ; set toggle and invert
-    bra    TFT_depth_blink_set
+	; new blinking warning activated (had no warning in previous cycle)
+	bsf		blinking_depth_prev				; set prev flag
+	; set toggle and invert
+	bra		TFT_depth_blink_set
 
 TFT_depth_blink_set:
-    ; clear the area with color
-    movlw   color_red  ; that should not be hardcoded...
-    WIN_BOX_COLOR    dm_depth_row, dm_depth_bot, dm_depth_column, dm_depth_rgt    ;top, bottom, left, right
-    ;set the invert color
-    bsf     win_invert
-    ; set the toggle
-    bsf     blinking_depth_toggle
-    ; all done
-    return
+	; clear the area with color
+	movlw	color_red						; that should not be hardcoded...
+	WIN_BOX_COLOR dm_depth_row, dm_depth_bot, dm_depth_column, dm_depth_rgt	;top, bottom, left, right
+	;set the invert color
+	bsf		win_invert
+	; set the toggle
+	bsf		blinking_depth_toggle
+	; all done
+	return
 
 TFT_depth_blink_reset:
-    ; clear the area with black
-    WIN_BOX_BLACK    dm_depth_row, dm_depth_bot, dm_depth_column, dm_depth_rgt    ;top, bottom, left, right
-    ;reset the invert color
-    bcf     win_invert
-    ; reset the toggle
-    bcf     blinking_depth_toggle
-    ; if it's still warning...
-    btfsc   blinking_depth_warning
-    call    TFT_warnings_color
-    ; all done
-    return
+	; clear the area with black
+	WIN_BOX_BLACK dm_depth_row, dm_depth_bot, dm_depth_column, dm_depth_rgt	;top, bottom, left, right
+	;reset the invert color
+	bcf		win_invert
+	; reset the toggle
+	bcf		blinking_depth_toggle
+	; if it's still warning...
+	btfsc	blinking_depth_warning
+	call	TFT_warnings_color
+	; all done
+	return
 
 ;=============================================================================
 
-    global  TFT_custom_text
-TFT_custom_text:            			; Show the custom text
-    lfsr        FSR0, opt_name          ; Source
-    WIN_SMALL   surf_customtext_column,surf_customtext_row1 ; First row
-    rcall       TFT_custom_text_2       ; Show up to 12 chars and print
-    incfsz      lo,F                    ; Was lo=255?
-    return                              ; No, all done.
-    lfsr        FSR0, opt_name+.12      ; Source
-    WIN_SMALL   surf_customtext_column,surf_customtext_row2 ; Second row
-    rcall       TFT_custom_text_2       ; Show up to 12 chars and print
-    incfsz      lo,F                    ; Was lo=255?
-    return                              ; No, all done.
-    lfsr        FSR0, opt_name+.24      ; Source
-    WIN_SMALL   surf_customtext_column,surf_customtext_row3 ; Third row
-    rcall       TFT_custom_text_2       ; Show up to 12 chars and print
-    incfsz      lo,F                    ; Was lo=255?
-    return                              ; No, all done.
-    lfsr        FSR0, opt_name+.36      ; Source
-    WIN_SMALL   surf_customtext_column,surf_customtext_row4 ; Forth row
-    rcall       TFT_custom_text_2       ; Show up to 12 chars and print
-    incfsz      lo,F                    ; Was lo=255?
-    return                              ; No, all done.
-    lfsr        FSR0, opt_name+.48      ; Source
-    WIN_SMALL   surf_customtext_column,surf_customtext_row5 ; Fifth row
-    bra		TFT_custom_text_2       	; Show up to 12 chars and print ; and return...
+	global	TFT_custom_text
+TFT_custom_text:					; Show the custom text
+	lfsr	FSR0, opt_name			; Source
+	WIN_SMALL surf_customtext_column,surf_customtext_row1 ; First row
+	rcall	TFT_custom_text_2		; Show up to 12 chars and print
+	incfsz	lo,F					; Was lo=255?
+	return							; No, all done.
+	lfsr	FSR0, opt_name+.12		; Source
+	WIN_SMALL surf_customtext_column,surf_customtext_row2 ; Second row
+	rcall	TFT_custom_text_2		; Show up to 12 chars and print
+	incfsz	lo,F					; Was lo=255?
+	return							; No, all done.
+	lfsr	FSR0, opt_name+.24		; Source
+	WIN_SMALL surf_customtext_column,surf_customtext_row3 ; Third row
+	rcall	TFT_custom_text_2		; Show up to 12 chars and print
+	incfsz	lo,F					; Was lo=255?
+	return							; No, all done.
+	lfsr	FSR0, opt_name+.36		; Source
+	WIN_SMALL surf_customtext_column,surf_customtext_row4 ; Forth row
+	rcall	TFT_custom_text_2		; Show up to 12 chars and print
+	incfsz	lo,F					; Was lo=255?
+	return							; No, all done.
+	lfsr	FSR0, opt_name+.48		; Source
+	WIN_SMALL surf_customtext_column,surf_customtext_row5 ; Fifth row
+	bra		TFT_custom_text_2		; Show up to 12 chars and print ; and return...
 
 
 TFT_custom_text_2:
-    lfsr        FSR2, buffer            ; destination
-    movlw       .12
-    movwf       lo                      ; length/line
+	lfsr	FSR2, buffer			; destination
+	movlw	.12
+	movwf	lo						; length/line
 TFT_custom_text_3:
-    movf        POSTINC0,W              ; Get byte
-    bz          TFT_custom_text_4       ; End if NULL
-    movwf       POSTINC2                ; NO: copy
-    decfsz      lo,F                    ; Max len reached ?
-    bra         TFT_custom_text_3       ; NO: loop
-    setf        lo                      ; lo=255 -> more to come
+	movf	POSTINC0,W				; Get byte
+	bz		TFT_custom_text_4		; End if NULL
+	movwf	POSTINC2				; NO: copy
+	decfsz	lo,F					; Max length reached ?
+	bra		TFT_custom_text_3		; NO: loop
+	setf	lo						; lo=255 -> more to come
 TFT_custom_text_4:
-    clrf        POSTINC2                ; Mark end of string
-    goto        aa_wordprocessor        ; print and return
+	clrf	POSTINC2				; Mark end of string
+	goto	aa_wordprocessor		; print and return
 
 
 ;=============================================================================
 
 	global	TFT_update_surf_press
 TFT_update_surf_press:
-    WIN_SMALL   surf_press_column,surf_press_row
+	WIN_SMALL	surf_press_column,surf_press_row
 	call	TFT_standard_color
-    SAFE_2BYTE_COPY amb_pressure, lo
+	SAFE_2BYTE_COPY amb_pressure, lo
 	movff	lo,sub_a+0
 	movff	hi,sub_a+1
 	movff	last_surfpressure_30min+0,sub_b+0
@@ -2494,7 +2502,7 @@
 	subwf	sub_c+0,W
 	btfsc	STATUS,C
 	bra		update_surf_press_common			; Yes, display!
-    SAFE_2BYTE_COPY last_surfpressure_30min, lo	; Overwrite with stable value...
+	SAFE_2BYTE_COPY last_surfpressure_30min, lo	; Overwrite with stable value...
 update_surf_press_common:
 	movff	lo,int_I_pres_surface+0				; copy displayed value to C code to have pressure displayed
 	movff	hi,int_I_pres_surface+1				; and pressure used for desaturation & no-fly time in sync
@@ -2506,10 +2514,10 @@
 	movff	buffer+4,buffer+3
 	movlw	0x00
 	movff	WREG,buffer+4
-	STRCAT_PRINT  ""
-    call    TFT_divemask_color
-	WIN_SMALL   surf_press_column+4*8,surf_press_row
-    STRCPY_TEXT_PRINT  tMBAR        			; mbar
+	STRCAT_PRINT ""
+	call	TFT_divemask_color
+	WIN_SMALL	surf_press_column+4*8,surf_press_row
+	STRCPY_TEXT_PRINT tMBAR						; mbar
 	return
 
 update_surf_press2:
@@ -2523,17 +2531,17 @@
 
 	global	TFT_update_batt_voltage
 TFT_update_batt_voltage:
-    movff   batt_percent,lo         ; Get battery percent
-    TFT_color_code warn_battery		; Color-code battery percent
-    ; Setup charge indicator
-    btfsc   cc_active
-    bsf     win_invert
-    btfsc   cc_active
-    movlw   color_yellow
-    btfsc   cv_active
-    movlw   color_green
-    btfsc   cc_active
-    call	TFT_set_color
+	movff	batt_percent,lo			; Get battery percent
+	call	TFT_color_code_battery	; Color-code battery percent
+	; Setup charge indicator
+	btfsc	cc_active
+	bsf		win_invert
+	btfsc	cc_active
+	movlw	color_yellow
+	btfsc	cv_active
+	movlw	color_green
+	btfsc	cc_active
+	call	TFT_set_color
 	WIN_TINY batt_percent_column,batt_percent_row
 	bsf		leftbind
 	output_8
@@ -2541,24 +2549,24 @@
 	STRCAT	"% "
 	movlw	0x00
 	movff	WREG,buffer+4			; Only "xxx%"
-    STRCAT_PRINT	""
-    bcf     win_invert
+	STRCAT_PRINT ""
+	bcf		win_invert
 	call	TFT_standard_color
 	WIN_TINY batt_voltage_column,batt_voltage_row
-    movff   battery_type,lo			; =0:1.5V, =1:3,6V Saft, =2:LiIon 3,7V/0.8Ah, =3:LiIon 3,7V/3.1Ah, =4: LiIon 3,7V/2.3Ah
+	movff	battery_type,lo			; =0:1.5V, =1:3,6V Saft, =2:LiIon 3,7V/0.8Ah, =3:LiIon 3,7V/3.1Ah, =4: LiIon 3,7V/2.3Ah
 	PUTC	"T"
-	bsf	leftbind
-    output_8
-    PUTC    ":"
+	bsf		leftbind
+	output_8
+	PUTC	":"
 	movff	batt_voltage+0,lo
 	movff	batt_voltage+1,hi
-	output_16dp	.2
+	output_16dp .2
 	bcf		leftbind
 	PUTC	'V'
 	movff	buffer+8,buffer+6
 	movlw	0x00
 	movff	WREG,buffer+7			; Only "x.yV"
-	STRCAT_PRINT	""
+	STRCAT_PRINT ""
 	return
 
 ;update_battery_debug:
@@ -2576,7 +2584,7 @@
 ;	movwf	xB+0
 ;	movlw	HIGH	.152
 ;	movwf	xB+1
-;	call	div32x16	  ; xC:4 / xB:2 = xC+3:xC+2 with xC+1:xC+0 as remainder
+;	call	div32x16		; xC:4 / xB:2 = xC+3:xC+2 with xC+1:xC+0 as remainder
 ;	bsf		leftbind
 ;	movff	xC+0,lo
 ;	movff	xC+1,hi
@@ -2585,104 +2593,89 @@
 ;	WIN_FONT	FT_SMALL
 ;	bcf		leftbind
 ;	return
-		
+
 ;=============================================================================
 
 	global	TFT_convert_signed_16bit
 TFT_convert_signed_16bit:
-	bcf			neg_flag				; Positive temperature
-   	btfss   	hi,7                    ; Negative temperature ?
-    return								; No, return
+	bcf		neg_flag				; Positive temperature
+	btfss	hi,7					; Negative temperature ?
+	return							; No, return
 ; Yes, negative temperature!
-	bsf			neg_flag				; Negative temperature
-	PUTC		'-'                     ; Display "-"
-    comf    	hi                      ; Then, 16bit sign changes.
-    negf    	lo
-    btfsc   	STATUS,C
-    incf    	hi
-	return								; and return
+	bsf		neg_flag				; Negative temperature
+	PUTC	'-'						; Display "-"
+	comf	hi						; Then, 16bit sign changes.
+	negf	lo
+	btfsc	STATUS,C
+	incf	hi
+	return							; and return
 
 ;=============================================================================
 
 	global	TFT_convert_date
-TFT_convert_date:	; converts into "DD/MM/YY" or "MM/DD/YY" or "YY/MM/DD" in postinc2
-	movff	opt_dateformat,WREG		; =0:MMDDYY, =1:DDMMYY, =2:YYMMDD
-	movwf	EEDATA					; used as temp here
+TFT_convert_date:						; converts into "DD/MM/YY" or "MM/DD/YY" or "YY/MM/DD" in postinc2
+	movff	opt_dateformat,WREG			; =0:MMDDYY, =1:DDMMYY, =2:YYMMDD
+	movwf	EEDATA						; used as temp here
 	tstfsz	EEDATA
-	bra		TFT_convert_date1
-; EEDATA was 0
-; Use MMDDYY
-	movff	convert_value_temp+0,lo			;month
+	bra		TFT_convert_date_1			; opt_dateformat is 1 or 2
+	; opt_dateformat is 0
+	; use MMDDYY
+	movff	lo,lo_temp					; incoming: lo = day,   hi = month
+	movff	hi,lo						; swap
+	movff	lo_temp,hi					; now:      lo = month, hi = day
+	bra		TFT_convert_date_common
+
+TFT_convert_date_1:
+	decfsz	EEDATA,F
+	bra		TFT_convert_date_2			; opt_dateformat is 2
+	; opt_dateformat is 1
+	; use DDMMYY
+TFT_convert_date_common:
 	bsf		leftbind
+	output_99x							; with lo = month or day   or year
+	PUTC	'.'
+	movff	hi,lo						; now  lo = day   or month or month
 	output_99x
-	PUTC    '.'
-	movff	convert_value_temp+1,lo			;day
-	bra 	TFT_convert_date1_common		;year
-
-TFT_convert_date1:	; Read date format (0=MMDDYY, 1=DDMMYY, 2=YYMMDD)
-	decfsz	EEDATA,F
-	bra		TFT_convert_date2				; EEDATA was 2
-; EEDATA was 1
-; Use DDMMYY
-	movff	convert_value_temp+1,lo			;day
-	bsf		leftbind
-	output_99x
-	PUTC    '.'
-	movff	convert_value_temp+0,lo			;month
-
-TFT_convert_date1_common:
-	bsf		leftbind
-	output_99x
-	PUTC    '.'
-	movff	convert_value_temp+2,lo			;year
+	PUTC	'.'
+	movff	up,lo						; now  lo = year  or year  or day
 	output_99x
 	bcf		leftbind
 	return
 
-TFT_convert_date2:
-; Use YYMMDD
-	movff	convert_value_temp+2,lo			;year
-	bsf		leftbind
-	output_99x
-    PUTC    '.'
-	movff	convert_value_temp+0,lo			;month
-	output_99x
-    PUTC    '.'
-	movff	convert_value_temp+1,lo			;day
-	output_99x
-	bcf		leftbind
-	return
+TFT_convert_date_2:
+	; opt_dateformat is 2
+	; use YYMMDD
+	movff	lo,lo_temp					; incoming: lo = day,  up = year
+	movff	up,lo						; swap
+	movff	lo_temp,up					; now     : lo = year, up = day
+	bra		TFT_convert_date_common
 
 ;=============================================================================
 
 	global	TFT_convert_date_short
-TFT_convert_date_short:	; converts into "DD/MM" or "MM/DD" or "MM/DD" in postinc2
-	movff	opt_dateformat,WREG		; =0:MMDDYY, =1:DDMMYY, =2:YYMMDD
-	movwf	EEDATA					; used as temp here
+TFT_convert_date_short:					; converts into "DD/MM" or "MM/DD" or "MM/DD" in postinc2
+	movff	opt_dateformat,WREG			; =0:MMDDYY, =1:DDMMYY, =2:YYMMDD
+	movwf	EEDATA						; used as temp here
 	tstfsz	EEDATA
-	bra		TFT_convert_date_short1
-; EEDATA was 0
-; Use MMDDYY
+	bra		TFT_convert_date_short_1
+	; opt_dateformat is 0
+	; Use MMDD(YY)
+TFT_convert_date_short_0:
+	movff	lo,lo_temp					; incoming: lo = day,   hi = month
+	movff	hi,lo						; swap
+	movff	lo_temp,hi					; now:      lo = month, hi = day
+	bra		TFT_convert_date_short_common
+
+TFT_convert_date_short_1:
+	decfsz	EEDATA,F
+	bra		TFT_convert_date_short_0	; opt_dateformat is 2 -> use (YY)MMDD
+	; opt_dateformat is 1
+	; use DDMM(YY)
 TFT_convert_date_short_common:
-	movff	convert_value_temp+0,lo			;month
 	bsf		leftbind
-	output_99x
-    PUTC    '.'
-	movff	convert_value_temp+1,lo			;day
-	output_99x
-	bcf		leftbind
-	return
-
-TFT_convert_date_short1:
-	decfsz	EEDATA,F
-	bra		TFT_convert_date_short_common	; EEDATA was 2 -> Use YYMMDD
-; EEDATA was 1
-; Use DDMMYY
-	movff	convert_value_temp+1,lo			;day
-	bsf		leftbind
-	output_99x
-    PUTC    '.'
-	movff	convert_value_temp+0,lo			;month
+	output_99x							; with lo = month or day
+	PUTC	'.'
+	movff	hi,lo						; now  lo = day   or month
 	output_99x
 	bcf		leftbind
 	return
@@ -2691,11 +2684,11 @@
 
 	global	TFT_date
 TFT_date:
-    WIN_SMALL  surf_date_column,surf_date_row	; Init new Wordprocessor
+	WIN_SMALL	surf_date_column,surf_date_row	; Init new Wordprocessor
 	call	TFT_standard_color
-	movff	month,convert_value_temp+0
-	movff	day,convert_value_temp+1
-	movff	year,convert_value_temp+2
+	movff	day,lo
+	movff	month,hi
+	movff	year,up
 	call	TFT_convert_date					; converts into "DD/MM/YY" or "MM/DD/YY" or "YY/MM/DD" in postinc2	
 	STRCAT_PRINT ""
 	return
@@ -2703,55 +2696,55 @@
 ;=============================================================================
 
 	global	TFT_max_depth_alternative
-TFT_max_depth_alternative:	
-	bcf	FLAG_TFT_max_depth_alt
+TFT_max_depth_alternative:
+	bcf		FLAG_TFT_max_depth_alt
 	; The "mask"
-	call    TFT_divemask_color
-	WIN_TINY    dm_mask_depth_column, dm_max_alt_row-.14
+	call	TFT_divemask_color
+	WIN_TINY dm_mask_depth_column, dm_max_alt_row-.14
 	STRCPY_TEXT_PRINT tMaxDepth
 
 	; The max. depth
 	SAFE_2BYTE_COPY max_pressure, lo
 	call	adjust_depth_with_salinity	; computes salinity setting into lo:hi [mbar]
-	call    TFT_standard_color
-	TSTOSS  opt_units   				; 0=m, 1=ft
-	bra	TFT_max_depth_alt_metric
+	call	TFT_standard_color
+	TSTOSS	opt_units					; 0=m, 1=ft
+	bra		TFT_max_depth_alt_metric
 ;TFT_max_depth_alt_imperial:
 TFT_max_depth_alt_metric:
-	WIN_LARGE	dm_max_alt_column,dm_max_alt_row
-	bsf     ignore_digit4				; no 0.1m
+	WIN_LARGE dm_max_alt_column,dm_max_alt_row
+	bsf		ignore_digit4				; no 0.1m
 	output_16
 	STRCAT_PRINT ""
-	
+
 	WIN_MEDIUM	dm_max_dm_alt_column,dm_max_alt_row+.25
 	SAFE_2BYTE_COPY max_pressure, lo
 	call	adjust_depth_with_salinity	; computes salinity setting into lo:hi [mbar]
-	PUTC    "."
+	PUTC	"."
 	movlw	d'4'
 	movwf	ignore_digits
-	bsf	ignore_digit5
-	bsf     leftbind
+	bsf		ignore_digit5
+	bsf		leftbind
 	output_16dp	d'0'
 	STRCAT_PRINT ""						; Display decimeters
-	bcf     leftbind
+	bcf		leftbind
 	return
-   
-	
+
+
 	global	TFT_max_depth
 TFT_max_depth:
 	bcf	FLAG_TFT_max_depth
 	btfsc	FLAG_apnoe_mode				; different display in apnoe mode
-	bra	TFT_max_depth_apnoe
+	bra		TFT_max_depth_apnoe
 TFT_max_depth2:
-    SAFE_2BYTE_COPY max_pressure, lo
+	SAFE_2BYTE_COPY max_pressure, lo
 TFT_max_depth3:
 	call	adjust_depth_with_salinity	; computes salinity setting into lo:hi [mbar]
-    TSTOSS  opt_units   				; 0=m, 1=ft
+	TSTOSS	opt_units					; 0=m, 1=ft
 	bra		TFT_max_depth2_metric
 ;TFT_max_depth2_imperial:
-	call	convert_mbar_to_feet        ; convert value in lo:hi from mbar to feet
+	call	convert_mbar_to_feet		; convert value in lo:hi from mbar to feet
 	WIN_MEDIUM	dm_max_depth_column, dm_max_depth_row
-	TSTOSS  opt_vsigraph				; 0=skip, 1=draw
+	TSTOSS	opt_vsigraph				; 0=skip, 1=draw
 	WIN_MEDIUM	dm_max_depth_column_nvsi, dm_max_depth_row
 	call	TFT_standard_color
 	output_16_3
@@ -2759,14 +2752,14 @@
 	return
 
 TFT_max_depth2_metric:
-	WIN_MEDIUM	dm_max_depth_column, dm_max_depth_row
-	TSTOSS  opt_vsigraph				; 0=skip, 1=draw
-	WIN_MEDIUM	dm_max_depth_column_nvsi, dm_max_depth_row
-    call    TFT_standard_color
+	WIN_MEDIUM dm_max_depth_column, dm_max_depth_row
+	TSTOSS	opt_vsigraph				; 0=skip, 1=draw
+	WIN_MEDIUM dm_max_depth_column_nvsi, dm_max_depth_row
+	call	TFT_standard_color
 
 	movlw	.039
 	cpfslt	hi
-    bra		max_depth_greater_99_84mtr
+	bra		max_depth_greater_99_84mtr
 
 	btfsc	max_depth_greater_100m		; Was depth>100m during last call
 	rcall	TFT_clear_max_depth			; Yes, clear depth area
@@ -2774,7 +2767,7 @@
 
 	movlw	.039
 	cpfslt	hi
-    bra		max_depth_greater_99_84mtr
+	bra		max_depth_greater_99_84mtr
 
 	movlw	HIGH	d'1000'
 	movwf	sub_a+1
@@ -2786,103 +2779,103 @@
 	movlw	d'0'
 	addwfc	sub_b+1,F				; Add 1mbar offset
 	call	sub16					; sub_c = sub_a - sub_b
-    movlw   ' '
+	movlw	' '
 	btfss	neg_flag				; Depth lower then 10m?
-    movwf   POSTINC2                ; Yes, add extra space
-
-	clrf    sub_a+1
+	movwf	POSTINC2				; Yes, add extra space
+
+	clrf	sub_a+1
 	movlw	d'99'
 	movwf	sub_a+0
 	movff	hi,sub_b+1
 	movff	lo,sub_b+0
 	call	subU16					; sub_c = sub_a - sub_b
 	btfss	neg_flag				; Depth lower then 1m?
-	bra		tft_max_depth2          ; Yes, display manual Zero
-
-	bsf     ignore_digit4			; no 0.1m
-    bsf     leftbind
+	bra		tft_max_depth2			; Yes, display manual Zero
+
+	bsf		ignore_digit4			; no 0.1m
+	bsf		leftbind
 	output_16
 	bra		tft_max_depth3
 
 tft_max_depth2:
-	WIN_MEDIUM	dm_max_depth_column, dm_max_depth_row
-	TSTOSS  opt_vsigraph			; 0=skip, 1=draw
-	WIN_MEDIUM	dm_max_depth_column_nvsi, dm_max_depth_row
+	WIN_MEDIUM dm_max_depth_column, dm_max_depth_row
+	TSTOSS	opt_vsigraph			; 0=skip, 1=draw
+	WIN_MEDIUM dm_max_depth_column_nvsi, dm_max_depth_row
 	STRCAT	"0"
 
 tft_max_depth3:
 	call	TFT_standard_color
 	STRCAT_PRINT ""					; Display full meters
-    bcf     leftbind
+	bcf	 leftbind
 
 	; .1m in SMALL font
 	WIN_SMALL	dm_max_depth_dm_column, dm_max_depth_dm_row
-	TSTOSS  opt_vsigraph			; 0=skip, 1=draw
+	TSTOSS	opt_vsigraph			; 0=skip, 1=draw
 	WIN_SMALL	dm_max_depth_dm_column_nvsi, dm_max_depth_dm_row
 
-    SAFE_2BYTE_COPY max_pressure, lo
+	SAFE_2BYTE_COPY max_pressure, lo
 	call	adjust_depth_with_salinity	; computes salinity setting into lo:hi [mbar]
 
-	PUTC    "."
+	PUTC	"."
 
 	movlw	d'4'
 	movwf	ignore_digits
 	bsf		ignore_digit5
-    bsf     leftbind
+	bsf		leftbind
 	output_16dp	d'0'
 	STRCAT_PRINT ""						; Display decimeters
-    bcf     leftbind
+	bcf		leftbind
 	return
 
-max_depth_greater_99_84mtr:             ; Display only in full meters
+max_depth_greater_99_84mtr:				; Display only in full meters
 	btfss	max_depth_greater_100m		; Is max depth>100m already?
 	rcall	TFT_clear_max_depth			; No, clear max depth area and set flag
 	; Max. Depth is already in hi:lo
 	; Show max. depth in Full meters
 	; That means ignore figure 4 and 5
-	lfsr    FSR2,buffer
+	lfsr	FSR2,buffer
 	bsf		ignore_digit4
 	bsf		leftbind
 	output_16
 	bcf		leftbind
-    STRCAT_PRINT ""						; Display full meters only
-	WIN_FONT 	FT_SMALL
+	STRCAT_PRINT ""						; Display full meters only
+	WIN_FONT FT_SMALL
 	return
 
-TFT_clear_max_depth:            		; No, clear max. depth area and set flag
-    WIN_BOX_BLACK   dm_max_depth_row, dm_max_depth_bot, dm_max_depth_column, dm_max_depth_rgt    ;top, bottom, left, right
+TFT_clear_max_depth:					; No, clear max. depth area and set flag
+	WIN_BOX_BLACK	dm_max_depth_row, dm_max_depth_bot, dm_max_depth_column, dm_max_depth_rgt	;top, bottom, left, right
 	bsf		max_depth_greater_100m		; Set Flag
 	return
 
 
 TFT_max_depth_apnoe:
-	btfss	FLAG_active_descent			; Are we descending?			
-	bra		TFT_max_depth2			; Yes, show normal max.
+	btfss	FLAG_active_descent			; Are we descending?
+	bra		TFT_max_depth2				; Yes, show normal max.
 	SAFE_2BYTE_COPY apnoe_max_pressure, lo
-	bra		TFT_max_depth3			; Show apnoe_max_pressure as max. depth
+	bra		TFT_max_depth3				; Show apnoe_max_pressure as max. depth
 
 	global	TFT_display_apnoe_last_max
 TFT_display_apnoe_last_max:
-    call    TFT_divemask_color
-    WIN_TINY    dm_apnoe_last_max_depth_text_col, dm_apnoe_last_max_depth_text_row
-    STRCPY_TEXT_PRINT   tApnoeMax
+	call	TFT_divemask_color
+	WIN_TINY dm_apnoe_last_max_depth_text_col, dm_apnoe_last_max_depth_text_row
+	STRCPY_TEXT_PRINT	tApnoeMax
 
 	call	TFT_standard_color
 	SAFE_2BYTE_COPY max_pressure, lo
-    call	adjust_depth_with_salinity	; computes salinity setting into lo:hi [mbar]
-    TSTOSS  opt_units   				; 0=m, 1=ft
+	call	adjust_depth_with_salinity	; computes salinity setting into lo:hi [mbar]
+	TSTOSS	opt_units					; 0=m, 1=ft
 	bra		TFT_display_apnoe_last_m_metric
 ;TFT_display_apnoe_last_max_imperial
-	call	convert_mbar_to_feet        ; convert value in lo:hi from mbar to feet
+	call	convert_mbar_to_feet		; convert value in lo:hi from mbar to feet
 	WIN_MEDIUM	dm_apnoe_last_max_depth_column, dm_apnoe_last_max_depth_row
 	output_16
 	STRCAT_PRINT ""
 	return
 
 TFT_display_apnoe_last_m_metric:
-	WIN_MEDIUM	dm_apnoe_last_max_depth_column, dm_apnoe_last_max_depth_row
-	bsf		ignore_digit5		; do not display 1cm depth
-	output_16dp	d'3'
+	WIN_MEDIUM dm_apnoe_last_max_depth_column, dm_apnoe_last_max_depth_row
+	bsf		ignore_digit5				; do not display 1cm depth
+	output_16dp d'3'
 	STRCAT_PRINT ""
 	return
 
@@ -2890,87 +2883,87 @@
 
 	global	TFT_divemins
 TFT_divemins:
-	bcf	FLAG_TFT_divemins	    	; Clear flag
+	bcf	FLAG_TFT_divemins			; Clear flag
 	movff	divemins+0,lo
 	movff	divemins+1,hi
 
-    ; Already showing divemins > 99min
+	; Already showing divemins > 99min
 	btfsc	no_more_divesecs		; Ignore seconds?
-	bra     TFT_divemins2           ; Show minutes only
-
-	tstfsz	hi                      ; hi = 0?
+	bra		TFT_divemins2			; Show minutes only
+
+	tstfsz	hi						; hi = 0?
 	bra	TFT_divemins_clr			; No, show mins only
 
 	movlw	.99
-	cpfsgt	lo                      ; bigger than 99?
-	bra	TFT_divemins1				; No show mins:secs
+	cpfsgt	lo						; bigger than 99?
+	bra		TFT_divemins1			; No show mins:secs
 
 TFT_divemins_clr:
 	; Yes, remove second display for the rest of the dive and clear seconds
-	bsf		no_more_divesecs        ; Set flag
+	bsf		no_more_divesecs		; Set flag
 	; Clear rest of seconds
-	WIN_BOX_BLACK   dm_divetime_row, dm_divetime_bot, dm_divetime_column, dm_divetime_rgt ;top, bottom, left, right
-	bra     TFT_divemins2           ; Show minutes only
+	WIN_BOX_BLACK dm_divetime_row, dm_divetime_bot, dm_divetime_column, dm_divetime_rgt ;top, bottom, left, right
+	bra		TFT_divemins2			; Show minutes only
 
 TFT_divemins1:
-    ; Print out the minutes, up to 99min, only 2chars !
+	; Print out the minutes, up to 99min, only 2chars !
 	call	TFT_standard_color
-	WIN_MEDIUM	dm_divetime_column, dm_divetime_row
-	output_99                       ; displays only last two figures from a 8Bit value (0-99)
-	STRCAT_PRINT ""                 ; Show minutes in large font
-
-    ; Print out the seconds
-	WIN_SMALL  dm_divetime_secs_column, dm_divetime_secs_row   		; left position for two sec figures
-	PUTC    ':'
+	WIN_MEDIUM dm_divetime_column, dm_divetime_row
+	output_99						; displays only last two figures from a 8Bit value (0-99)
+	STRCAT_PRINT ""					; Show minutes in large font
+
+	; Print out the seconds
+	WIN_SMALL dm_divetime_secs_column, dm_divetime_secs_row			; left position for two sec figures
+	PUTC	':'
 	bsf	leftbind
-	movff   divesecs,lo
+	movff	divesecs,lo
 	output_99x						; displays only last two figures from a 8Bit value with leading zero (00-99) 
-	bcf     leftbind
-	STRCAT_PRINT ""                 ; Show seconds in small font
+	bcf	 leftbind
+	STRCAT_PRINT ""					; Show seconds in small font
 	return
 
 TFT_divemins2:
 	; Full minutes only
 	call	TFT_standard_color
 	WIN_MEDIUM	dm_divetime_minsonly_column, dm_divetime_row
-        bcf		leftbind
-        output_16_4
-        STRCAT_PRINT ""             ; Show minutes in large font
-        return
-	
+	bcf		leftbind
+	output_16_4
+	STRCAT_PRINT ""					; Show minutes in large font
+	return
+
 	global	TFT_divemins_alternative
 TFT_divemins_alternative:
-    bcf	    FLAG_TFT_divemins	    ; Clear flag
-    call    TFT_standard_color
-    ; Print out the minutes (0-999) in large
-    WIN_LARGE	dm_divetime_alt_column, dm_divetime_alt_row
-    movff	divemins+0,lo
-    movff	divemins+1,hi
-    output_16_3                     ; limit to 999 and display only (0-999)
-    STRCAT_PRINT ""                 ; Show minutes
-    ; Print out the seconds in medium
-    WIN_MEDIUM	dm_divetime_alt_column+.60, dm_divetime_alt_row+.25
-    PUTC    ":"
-    bsf	    leftbind
-    movff   divesecs,lo
-    output_99x						; displays only last two figures from a 8Bit value with leading zero (00-99) 
-    bcf     leftbind
-    STRCAT_PRINT ""                 ; Show seconds in small font
-    return
+	bcf		FLAG_TFT_divemins		; Clear flag
+	call	TFT_standard_color
+	; Print out the minutes (0-999) in large
+	WIN_LARGE dm_divetime_alt_column, dm_divetime_alt_row
+	movff	divemins+0,lo
+	movff	divemins+1,hi
+	output_16_3						; limit to 999 and display only (0-999)
+	STRCAT_PRINT ""					; Show minutes
+	; Print out the seconds in medium
+	WIN_MEDIUM	dm_divetime_alt_column+.60, dm_divetime_alt_row+.25
+	PUTC	":"
+	bsf		leftbind
+	movff	divesecs,lo
+	output_99x						; displays only last two figures from a 8Bit value with leading zero (00-99) 
+	bcf		leftbind
+	STRCAT_PRINT ""					; Show seconds in small font
+	return
 
 ;=============================================================================
 
 	global	TFT_display_apnoe_surface
 TFT_display_apnoe_surface:
-    call    TFT_divemask_color
-    WIN_TINY    dm_apnoe_surface_time_text_col,  dm_apnoe_surface_time_text_row
-    STRCPY_TEXT_PRINT   tApnoeSurface
+	call	TFT_divemask_color
+	WIN_TINY dm_apnoe_surface_time_text_col, dm_apnoe_surface_time_text_row
+	STRCPY_TEXT_PRINT tApnoeSurface
 
 	call	TFT_standard_color
-	WIN_MEDIUM	dm_apnoe_surface_time_column, dm_apnoe_surface_time_row
+	WIN_MEDIUM dm_apnoe_surface_time_column, dm_apnoe_surface_time_row
 	movff	apnoe_surface_mins,lo
 	output_8
-    PUTC    ':'
+	PUTC	':'
 	movff	apnoe_surface_secs,lo
 	output_99x
 	STRCAT_PRINT ""
@@ -2979,180 +2972,180 @@
 	global	TFT_apnoe_clear_surface
 TFT_apnoe_clear_surface:
 	; Clear Surface timer....
-	WIN_BOX_BLACK   dm_apnoe_surface_time_text_row, .239, dm_apnoe_surface_time_text_col, .159	;top, bottom, left, right
+	WIN_BOX_BLACK dm_apnoe_surface_time_text_row, .239, dm_apnoe_surface_time_text_col, .159	;top, bottom, left, right
 	return
 
 	global	TFT_display_apnoe_descent
 TFT_display_apnoe_descent:			; Descent divetime
 	movff	apnoe_mins,lo
-    clrf    hi
+	clrf	hi
 	WIN_MEDIUM	dm_divetime_apnoe_column, dm_divetime_apnoe_row
-	output_16_3                     ; displays only last three figures from a 16Bit value (0-999)
+	output_16_3						; displays only last three figures from a 16Bit value (0-999)
 	call	TFT_standard_color
-	STRCAT_PRINT ""                 ; Show minutes in large font
-	WIN_SMALL   dm_divetime_apnoe_secs_column, dm_divetime_apnoe_secs_row	; left position for two sec figures
-	PUTC    ':'
+	STRCAT_PRINT ""					; Show minutes in large font
+	WIN_SMALL	dm_divetime_apnoe_secs_column, dm_divetime_apnoe_secs_row	; left position for two sec figures
+	PUTC	':'
 	bsf		leftbind
 	movff	apnoe_secs,lo
 	output_99x
-	bcf     leftbind
-	STRCAT_PRINT ""                 ; Show seconds in small font
-
-    call    TFT_divemask_color
-    WIN_TINY    dm_total_apnoe_text_column,dm_total_apnoe_text_row
-    STRCPY_TEXT_PRINT   tApnoeTotal
+	bcf		leftbind
+	STRCAT_PRINT ""					; Show seconds in small font
+
+	call	TFT_divemask_color
+	WIN_TINY dm_total_apnoe_text_column,dm_total_apnoe_text_row
+	STRCPY_TEXT_PRINT tApnoeTotal
 	call	TFT_standard_color
 	movff	divemins,lo
-    clrf    hi
-	WIN_MEDIUM	dm_apnoe_total_divetime_column, dm_apnoe_total_divetime_row
-	output_16_3                     ; displays only last three figures from a 16Bit value (0-999)
+	clrf	hi
+	WIN_MEDIUM dm_apnoe_total_divetime_column, dm_apnoe_total_divetime_row
+	output_16_3						; displays only last three figures from a 16Bit value (0-999)
 	call	TFT_standard_color
-	STRCAT_PRINT ""                 ; Show minutes in large font
-	WIN_SMALL   dm_apnoe_total_divetime_secs_col, dm_apnoe_total_divetime_secs_row	; left position for two sec figures
-	PUTC    ':'
+	STRCAT_PRINT ""					; Show minutes in large font
+	WIN_SMALL	dm_apnoe_total_divetime_secs_col, dm_apnoe_total_divetime_secs_row	; left position for two sec figures
+	PUTC	':'
 	bsf		leftbind
 	movff	divesecs,lo
 	output_99x
-	bcf     leftbind
-	STRCAT_PRINT ""                 ; Show seconds in small font
+	bcf		leftbind
+	STRCAT_PRINT ""					; Show seconds in small font
 	return
-	
+
 ;=============================================================================
 ; Writes ostc #Serial and Firmware version in splash screen
 
 	global	TFT_serial
 TFT_serial:		
-    WIN_TINY	.5,.225
-    STRCPY  "OSTC"                  ; Won't translate that...
-
-    movlw   0x0A
-    cpfseq  hardware_flag
-    bra     TFT_serial2
-    STRCAT  "3 #"
-    bra     TFT_serial_common
+	WIN_TINY	.5,.225
+	STRCPY	"OSTC"					; Won't translate that...
+
+	movlw	0x0A
+	cpfseq	hardware_flag
+	bra		TFT_serial2
+	STRCAT	"3 #"
+	bra		TFT_serial_common
 TFT_serial2:
-    movlw   0x05
-    cpfseq  hardware_flag
-    bra     TFT_serial3
-    STRCAT  " cR #"
-    bra     TFT_serial_common
+	movlw	0x05
+	cpfseq	hardware_flag
+	bra		TFT_serial3
+	STRCAT	" cR #"
+	bra	 TFT_serial_common
 TFT_serial3:
-    movlw   0x11
-    cpfseq  hardware_flag
-    bra     TFT_serial4
-    STRCAT  "2 #"
-    bra     TFT_serial_common
+	movlw	0x11
+	cpfseq	hardware_flag
+	bra		TFT_serial4
+	STRCAT	"2 #"
+	bra		TFT_serial_common
 TFT_serial4:
-    movlw   0x1A
-    cpfseq  hardware_flag
-    bra     TFT_serial5
-    STRCAT  "3 #"
-;    bra     TFT_serial_common
+	movlw	0x1A
+	cpfseq	hardware_flag
+	bra		TFT_serial5
+	STRCAT	"3 #"
+;	bra		TFT_serial_common
 TFT_serial5:
 TFT_serial_common:
-    rcall   TFT_cat_serial
-    STRCAT  " v"
-    WIN_COLOR   color_greenish
-    rcall   TFT_cat_firmware
-
-    ifdef __DEBUG
-        movlw   color_grey              ; Write header in blue when
-        call    TFT_set_color           ; compiled in DEBUG mode...
-        STRCAT_PRINT "DEBUG"    
-    else
-        STRCAT_PRINT ""
-        bcf     win_invert              ; Reset invert flag
-        call	TFT_standard_color
-
-        movlw	softwareversion_beta    ; =1: Beta, =0: Release
-        decfsz	WREG,F
-        return                          ; Release version -> Return
-        
-        call	TFT_warnings_color
-        WIN_LEFT    .160-4*9/2          ; Right pad.
-        STRCPY_TEXT_PRINT tBeta
-    endif
-	call    TFT_standard_color
-    bcf	    win_invert
-    return
-	
+	rcall	TFT_cat_serial
+	STRCAT	" v"
+	WIN_COLOR color_greenish
+	rcall	TFT_cat_firmware
+
+	ifdef __DEBUG
+		movlw	color_grey				; Write header in blue when
+		call	TFT_set_color			; compiled in DEBUG mode...
+		STRCAT_PRINT "DEBUG"
+	else
+		STRCAT_PRINT ""
+		bcf		win_invert				; Reset invert flag
+		call	TFT_standard_color
+
+		movlw	softwareversion_beta	; =1: Beta, =0: Release
+		decfsz	WREG,F
+		return							; Release version -> Return
+
+		call	TFT_warnings_color
+		WIN_LEFT .160-4*9/2				; Right pad.
+		STRCPY_TEXT_PRINT tBeta
+	endif
+	call	TFT_standard_color
+	bcf		win_invert
+	return
+
 
 ;=============================================================================
 ; For the Information menu: append firmware x.yy version.
 
-    global info_menu_firmware
-    extern  tFirmware
+	global	info_menu_firmware
+	extern	tFirmware
 info_menu_firmware:
-    lfsr    FSR1,tFirmware
-    call    strcat_text
-    rcall   TFT_cat_firmware
-    ; Show language version
-    IFNDEF	    french_italian
+	lfsr	FSR1,tFirmware
+	call	strcat_text
+	rcall	TFT_cat_firmware
+	; Show language version
+	IFNDEF		french_italian
 	STRCAT	"_en+de"
 	ELSE
 	STRCAT	"_fr+it"
-    ENDIF
-    bcf     win_invert              ; Reset invert flag
-    return
-
-    global  TFT_cat_firmware
+	ENDIF
+	bcf		win_invert				; Reset invert flag
+	return
+
+	global	TFT_cat_firmware
 TFT_cat_firmware:
-    movlw	softwareversion_x
-    movwf	lo
-    bsf		leftbind
-    output_8
-    PUTC    '.'
-    movlw	softwareversion_y
-    movwf	lo
-    output_99x
-    bcf		leftbind
-    ; Check firmware date
-    movlw   firmware_expire_year-.1
-    cpfsgt  year                    ; > threshold?
-    return
-    movlw   firmware_expire_month-.1
-    cpfsgt  month                   ; > threshold?
-    return
-    movlw   firmware_expire_day-.1
-    cpfsgt  day                     ; > threshold?
-    return
-
-    ; Show in "change firmware" style
-    movlw   color_yellow
-    bcf	    win_invert
-    goto    TFT_set_color   ; and return...
+	movlw	softwareversion_x
+	movwf	lo
+	bsf		leftbind
+	output_8
+	PUTC	'.'
+	movlw	softwareversion_y
+	movwf	lo
+	output_99x
+	bcf		leftbind
+	; Check firmware date
+	movlw	firmware_expire_year-.1
+	cpfsgt	year					; > threshold?
+	return
+	movlw	firmware_expire_month-.1
+	cpfsgt	month					; > threshold?
+	return
+	movlw	firmware_expire_day-.1
+	cpfsgt	day					 ; > threshold?
+	return
+
+	; Show in "change firmware" style
+	movlw	color_yellow
+	bcf	win_invert
+	goto	TFT_set_color	; and return...
 
 ;-----------------------------------------------------------------------------
 ; For the Information menu: append serial number 
 
-    global  info_menu_serial
-    extern  tSerial
+	global	info_menu_serial
+	extern	tSerial
 info_menu_serial:
-    lfsr    FSR1,tSerial
-    call    strcat_text
-    global  TFT_cat_serial
+	lfsr	FSR1,tSerial
+	call	strcat_text
+	global	TFT_cat_serial
 TFT_cat_serial:
-    clrf	EEADRH
-    clrf	EEADR                       ; Get Serial number LOW
-    call	read_eeprom                 ; read byte
-    movff	EEDATA,lo
-    incf	EEADR,F                     ; Get Serial number HIGH
-    call	read_eeprom                 ; read byte
-    movff	EEDATA,hi
-
-    bsf		leftbind
-    output_16
-    bcf		leftbind
-    return
+	clrf	EEADRH
+	clrf	EEADR					; Get Serial number LOW
+	call	read_eeprom				; read byte
+	movff	EEDATA,lo
+	incf	EEADR,F					; Get Serial number HIGH
+	call	read_eeprom				; read byte
+	movff	EEDATA,hi
+
+	bsf		leftbind
+	output_16
+	bcf		leftbind
+	return
 
 ;-----------------------------------------------------------------------------
 ; For the Information menu: Append total dives
 
-    global  info_menu_total_dives
-    extern  tTotalDives
+	global	info_menu_total_dives
+	extern	tTotalDives
 info_menu_total_dives:
-    lfsr    FSR1,tTotalDives
-    call    strcat_text
+	lfsr	FSR1,tTotalDives
+	call	strcat_text
 TFT_cat_total_dives:
 	read_int_eeprom	.2
 	movff	EEDATA,lo
@@ -3160,145 +3153,108 @@
 	movff	EEDATA,hi
 	bsf		leftbind
 	output_16
-    bcf		leftbind
-    return
+	bcf		leftbind
+	return
 
 ; For the Information menu: Append battery voltage
-    global  info_menu_battery_volts
-    extern  tBatteryV
+	global	info_menu_battery_volts
+	extern	tBatteryV
 info_menu_battery_volts:
-    lfsr    FSR1,tBatteryV
-    call    strcat_text
-    movff   batt_voltage+1,hi
-    movff   batt_voltage+0,lo
+	lfsr	FSR1,tBatteryV
+	call	strcat_text
+	movff	batt_voltage+1,hi
+	movff	batt_voltage+0,lo
 	bsf		leftbind
-	output_16dp .2      		; x.xxx
-    STRCAT  "V(T"
-    movff   battery_type,lo		; =0:1.5V, =1:3,6V Saft, =2:LiIon 3,7V/0.8Ah, =3:LiIon 3,7V/3.1Ah, =4: LiIon 3,7V/2.3Ah
-    output_8
-    bcf		leftbind
-    PUTC    ")"
-    return
-
-    ; For the Information menu: Append Uptime
-    global  info_menu_uptime
-    extern  tUptime
+	output_16dp .2				; x.xxx
+	STRCAT	"V(T"
+	movff	battery_type,lo		; =0:1.5V, =1:3,6V Saft, =2:LiIon 3,7V/0.8Ah, =3:LiIon 3,7V/3.1Ah, =4: LiIon 3,7V/2.3Ah
+	output_8
+	bcf		leftbind
+	PUTC	")"
+	return
+
+	; For the Information menu: Append Uptime
+	global	info_menu_uptime
+	extern	tUptime
 info_menu_uptime:
-    lfsr    FSR1,tUptime
-    call    strcat_text
-    movff   uptime+0,xC+0
-    movff   uptime+1,xC+1
-    movff   uptime+2,xC+2
-    movff   uptime+3,xC+3
-    movlw   LOW	    .3600
-    movwf   xB+0
-    movlw   HIGH    .3600
-    movwf   xB+1			; One day = 3600s
-    call    div32x16		; xC:4 / xB:2 = xC+3:xC+2 with xC+1:xC+0 as remainder
-    ;xC+0:xC+1 -> Full hours
-    movff   xC+1,xA+1
-    movff   xC+0,xA+0
-    clrf    xB+1
-    movlw   .24
-    movwf   xB+0
-    call    div16x16		; xA/xB=xC with xA+0 as remainder 	
-    movff   xC+0,lo
-    movff   xC+1,hi	; Full days
-    bsf	    leftbind
-    output_16
-    PUTC    "d"
-    movff   xA+0,lo	; Full hours
-    output_8
-    PUTC    "h"
-    bcf	    leftbind
-    return  ; Done.
-    
-    extern  tCalX,tCalY,tCalZ
-    global  menu_cal_x
-menu_cal_x:  
-    lfsr    FSR1,tCalX
-    call    strcat_text
-    movff   compass_CX_f+0,lo
-    movff   compass_CX_f+1,hi
-    call    TFT_convert_signed_16bit	; converts lo:hi into signed-short and adds '-' to POSTINC2 if required
-    bsf		leftbind
-    output_16
-    bcf		leftbind
-    return
-
-    global  menu_cal_y
-menu_cal_y:  
-    lfsr    FSR1,tCalY
-    call    strcat_text
-    movff   compass_CY_f+0,lo
-    movff   compass_CY_f+1,hi
-    call    TFT_convert_signed_16bit	; converts lo:hi into signed-short and adds '-' to POSTINC2 if required
-    bsf		leftbind
-    output_16
-    bcf		leftbind
-    return
-    
-    global  menu_cal_z
-menu_cal_z:  
-    lfsr    FSR1,tCalZ
-    call    strcat_text
-    movff   compass_CZ_f+0,lo
-    movff   compass_CZ_f+1,hi
-    call    TFT_convert_signed_16bit	; converts lo:hi into signed-short and adds '-' to POSTINC2 if required
-    bsf		leftbind
-    output_16
-    bcf		leftbind
-    return
+	lfsr	FSR1,tUptime
+	call	strcat_text
+	movff	uptime+0,xC+0
+	movff	uptime+1,xC+1
+	movff	uptime+2,xC+2
+	movff	uptime+3,xC+3
+	movlw	LOW		.3600
+	movwf	xB+0
+	movlw	HIGH	.3600
+	movwf	xB+1			; One day = 3600s
+	call	div32x16		; xC:4 / xB:2 = xC+3:xC+2 with xC+1:xC+0 as remainder
+	;xC+0:xC+1 -> Full hours
+	movff	xC+1,xA+1
+	movff	xC+0,xA+0
+	clrf	xB+1
+	movlw	.24
+	movwf	xB+0
+	call	div16x16		; xA/xB=xC with xA+0 as remainder
+	movff	xC+0,lo
+	movff	xC+1,hi			; Full days
+	bsf		leftbind
+	output_16
+	PUTC	"d"
+	movff	xA+0,lo			; Full hours
+	output_8
+	PUTC	"h"
+	bcf		leftbind
+	return					; Done.
+	
+	extern	tCalX,tCalY,tCalZ
+	global	menu_cal_x
+menu_cal_x:
+	lfsr	FSR1,tCalX
+	call	strcat_text
+	movff	compass_CX_f+0,lo
+	movff	compass_CX_f+1,hi
+	call	TFT_convert_signed_16bit	; converts lo:hi into signed-short and adds '-' to POSTINC2 if required
+	bsf		leftbind
+	output_16
+	bcf		leftbind
+	return
+
+	global	menu_cal_y
+menu_cal_y:
+	lfsr	FSR1,tCalY
+	call	strcat_text
+	movff	compass_CY_f+0,lo
+	movff	compass_CY_f+1,hi
+	call	TFT_convert_signed_16bit	; converts lo:hi into signed-short and adds '-' to POSTINC2 if required
+	bsf		leftbind
+	output_16
+	bcf		leftbind
+	return
+	
+	global	menu_cal_z
+menu_cal_z:
+	lfsr	FSR1,tCalZ
+	call	strcat_text
+	movff	compass_CZ_f+0,lo
+	movff	compass_CZ_f+1,hi
+	call	TFT_convert_signed_16bit	; converts lo:hi into signed-short and adds '-' to POSTINC2 if required
+	bsf		leftbind
+	output_16
+	bcf		leftbind
+	return
 
 
 ;-----------------------------------------------------------------------------
 ; ppO2 menu
 
-	global	divesets_ppo2_max
-    extern  tPPO2Max
-    extern  tbar
-divesets_ppo2_max:
-    lfsr    FSR1,tPPO2Max
-    call    strcat_text
-	movff	char_I_ppO2_max,lo
-    movlw   ppo2_warning_high
-
-divesets_ppo2_common:
-    movwf   up                  	; Save default value
-	clrf	hi
-	bsf		leftbind
-	output_16dp d'3'
-    bcf		leftbind
-    lfsr    FSR1,tbar
-    call    strcat_text
-    movf    up,W                	; Default value
-    cpfseq  lo                  	; Current value
-    bra     divesets_ppo2_common2 	; Not default, add *
-    return                      	; Default, Done.
-divesets_ppo2_common2:
-    PUTC    "*"
-    return                      	; Done.
-
-
 	global	divesets_ppo2_min
-    extern  tPPO2MIN
+	extern	tPPO2MIN
 divesets_ppo2_min:
-    lfsr    FSR1,tPPO2MIN
-    call    strcat_text
+	lfsr	FSR1,tPPO2MIN
+	call	strcat_text
 	movff	char_I_ppO2_min,lo
-    movlw   ppo2_warning_low
-    bra     divesets_ppo2_common
-
-
-	global	divesets_ppo2_max_deco
-    extern  tPPO2DECO
-divesets_ppo2_max_deco:
-    lfsr    FSR1,tPPO2DECO
-    call    strcat_text
-	movff	char_I_ppO2_max_deco,lo
-    movlw   ppo2_warning_high_deco
-    bra     divesets_ppo2_common
-	
+	movlw	ppo2_warning_low_default
+	bra		divesets_ppo2_common
 
 	global	divesets_ppo2_min_cc
 	extern	tPPO2MINCC
@@ -3306,58 +3262,93 @@
 	lfsr	FSR1,tPPO2MINCC
 	call	strcat_text
 	movff	char_I_ppO2_min_loop,lo
-	movlw	ppo2_warning_low_cc
+	movlw	ppo2_warning_loop_default
+	bra		divesets_ppo2_common
+
+	global	divesets_ppo2_max
+	extern	tPPO2Max
+	extern	tbar
+divesets_ppo2_max:
+	lfsr	FSR1,tPPO2Max
+	call	strcat_text
+	movff	char_I_ppO2_max,lo
+	movlw	ppo2_warning_high_default
 	bra		divesets_ppo2_common
-    
-;=============================================================================
-
-    global  TFT_clear_warning_text
-TFT_clear_warning_text:
-    btfss   divemode                            ; in divemode?
-    bra     TFT_clear_warning_text2             ; No, setup for surface mode
-    bcf	    FLAG_TFT_dive_warning_text_clear	; Clear flag
-    btfsc   alternative_divelayout
-    bra	    TFT_clear_warning_text_2nd_row	; In Alt mode, clear only row 2
-    WIN_BOX_BLACK dm_warning_row, dm_warning_bot, dm_warning_column, dm_warning_rgt		; top, bottom, left, right
-    return
-TFT_clear_warning_text2:
-    WIN_BOX_BLACK surf_warning1_row, surf_warning2_row+.24, surf_warning1_column, surf_warning1_column+.76	; top, bottom, left, right
-    return
-
-    global  TFT_clear_warning_text_2nd_row
-TFT_clear_warning_text_2nd_row:
-    btfss   divemode                            ; in divemode?
-    bra     TFT_clear_warning_text_2nd_2        ; No, setup for surface mode
-    bcf	    FLAG_TFT_dive_warning_text_clr2	; Clear flag
-	WIN_BOX_BLACK dm_warning2_row, dm_warning2_bot, dm_warning2_column, dm_warning2_rgt	; top, bottom, left, right
-    return
-TFT_clear_warning_text_2nd_2:
-    WIN_BOX_BLACK surf_warning2_row, surf_warning2_row+.24, surf_warning2_column, surf_warning2_column+.76	; top, bottom, left, right
-    return
-
-    global  TFT_fillup_with_spaces
-TFT_fillup_with_spaces:         	; Fillup FSR2 with spaces (Total string length in #WREG)
-    movwf   lo                  	; save max. string length into lo
-    movf    FSR2L,W             	; Get current string length
-    subwf   lo,F                	; lo-WREG
-    btfsc   STATUS,N            	; longer then #lo already?
-    return                      	; Yes, done.
-    tstfsz  lo                 	    ; Zero?
-    bra     TFT_fillup_with_spaces2 ; No.
-    return                      	; Yes, done.
-TFT_fillup_with_spaces2:
-    PUTC    " "                 	; Add one space
-    decfsz  lo,F                	; All done?
-    bra     TFT_fillup_with_spaces2 ; No, loop
-    return                      	; Done.
+
+	global	divesets_ppo2_max_deco
+	extern	tPPO2DECO
+divesets_ppo2_max_deco:
+	lfsr	FSR1,tPPO2DECO
+	call	strcat_text
+	movff	char_I_ppO2_max_deco,lo
+	movlw	ppo2_warning_deco_default
+	;bra	divesets_ppo2_common
+
+divesets_ppo2_common:
+	movwf	up						; Save default value
+	clrf	hi
+	bsf		leftbind
+	output_16dp d'3'
+	bcf		leftbind
+	lfsr	FSR1,tbar
+	call	strcat_text
+	movf	up,W					; Default value
+	cpfseq	lo						; Current value
+	bra		divesets_ppo2_common2	; Not default, add *
+	return							; Default, Done.
+divesets_ppo2_common2:
+	PUTC	"*"
+	return							; Done.
 
 ;=============================================================================
-	
+
+	global	TFT_clear_warning_text
+TFT_clear_warning_text:
+	btfss	divemode							; in divemode?
+	bra		TFT_clear_warning_text2				; No, setup for surface mode
+	bcf		FLAG_TFT_dive_warning_text_clear	; Clear flag
+	btfsc	alternative_divelayout
+	bra		TFT_clear_warning_text_2nd_row		; In Alt mode, clear only row 2
+	WIN_BOX_BLACK dm_warning_row, dm_warning_bot, dm_warning_column, dm_warning_rgt		; top, bottom, left, right
+	return
+TFT_clear_warning_text2:
+	WIN_BOX_BLACK surf_warning1_row, surf_warning2_row+.24, surf_warning1_column, surf_warning1_column+.76	; top, bottom, left, right
+	return
+
+	global	TFT_clear_warning_text_2nd_row
+TFT_clear_warning_text_2nd_row:
+	btfss	divemode							; in divemode?
+	bra		TFT_clear_warning_text_2nd_2		; No, setup for surface mode
+	bcf		FLAG_TFT_dive_warning_text_clr2		; Clear flag
+	WIN_BOX_BLACK dm_warning2_row, dm_warning2_bot, dm_warning2_column, dm_warning2_rgt	; top, bottom, left, right
+	return
+TFT_clear_warning_text_2nd_2:
+	WIN_BOX_BLACK surf_warning2_row, surf_warning2_row+.24, surf_warning2_column, surf_warning2_column+.76	; top, bottom, left, right
+	return
+
+	global	TFT_fillup_with_spaces
+TFT_fillup_with_spaces:					; Fillup FSR2 with spaces (Total string length in #WREG)
+	movwf	lo							; save max. string length into lo
+	movf	FSR2L,W						; Get current string length
+	subwf	lo,F						; lo-WREG
+	btfsc	STATUS,N					; longer then #lo already?
+	return								; Yes, done.
+	tstfsz	lo							; Zero?
+	bra		TFT_fillup_with_spaces2		; No.
+	return								; Yes, done.
+TFT_fillup_with_spaces2:
+	PUTC	" "							; Add one space
+	decfsz	lo,F						; All done?
+	bra		TFT_fillup_with_spaces2		; No, loop
+	return								; Done.
+
+;=============================================================================
+
 	global	TFT_desaturation_time
 TFT_desaturation_time:
 	rcall	TFT_warning_set_window		; Sets the row and column for the current warning
-    tstfsz  WREG                        ; Is there room for the warning?
-    return                              ; No
+	tstfsz	WREG						; Is there room for the warning?
+	return								; No
 	STRCPY	"Desat:"
 	movff	int_O_desaturation_time+0,lo
 	movff	int_O_desaturation_time+1,hi
@@ -3371,20 +3362,20 @@
 	movff	hi,lo						; Minutes
 	output_99x
 	bcf		leftbind
-    movlw   surf_warning_length         ; Only use surface string length
-    rcall   TFT_fillup_with_spaces      ; Fillup FSR2 with spaces (Total string length in #WREG)
-    movlw   .0							; TODO - needed?
-    movff   WREG,buffer+11				; TODO - needed?
+	movlw	surf_warning_length			; Only use surface string length
+	rcall	TFT_fillup_with_spaces		; Fillup FSR2 with spaces (Total string length in #WREG)
+	movlw	.0							; TODO - needed?
+	movff	WREG,buffer+11				; TODO - needed?
 	STRCAT_PRINT ""
-    bcf     win_invert
+	bcf		win_invert
 	return
 
 
 	global	TFT_nofly_time
 TFT_nofly_time:
 	rcall	TFT_warning_set_window		; Sets the row and column for the current warning
-    tstfsz  WREG                        ; Is there room for the warning?
-    return                              ; No
+	tstfsz	WREG						; Is there room for the warning?
+	return								; No
 	movff	char_I_altitude_wait,WREG
 	tstfsz	WREG
 	bra		TFT_nofly_time_1
@@ -3395,123 +3386,123 @@
 TFT_nofly_time_2:
 	movff	int_O_nofly_time+0,lo
 	movff	int_O_nofly_time+1,hi
-	call	convert_time			; converts hi:lo in minutes to hours (hi) and minutes (lo)
+	call	convert_time				; converts hi:lo in minutes to hours (hi) and minutes (lo)
 	bsf		leftbind
 	movf	lo,W
 	movff	hi,lo
-	movwf	hi						; exchange lo and hi...
-	output_8						; Hours
+	movwf	hi							; exchange lo and hi...
+	output_8							; Hours
 	PUTC	':'
-	movff	hi,lo					; Minutes
+	movff	hi,lo						; Minutes
 	output_99x
 	bcf		leftbind
-    movlw   surf_warning_length		; Only use surface string length
-    rcall   TFT_fillup_with_spaces 	; Fillup FSR2 with spaces (Total string length in #WREG)
-    movlw   .0						; TODO - needed?
-    movff   WREG,buffer+11			; TODO - needed?
-	STRCAT_PRINT	""
-    bcf     win_invert
+	movlw	surf_warning_length			; Only use surface string length
+	rcall	TFT_fillup_with_spaces		; Fillup FSR2 with spaces (Total string length in #WREG)
+	movlw	.0							; TODO - needed?
+	movff	WREG,buffer+11				; TODO - needed?
+	STRCAT_PRINT ""
+	bcf		win_invert
 	return
 
 ;=============================================================================
 
-    global  TFT_warning_agf
+	global	TFT_warning_agf
 TFT_warning_agf:
 	rcall	TFT_warning_set_window		; Sets the row and column for the current warning
-    tstfsz  WREG                        ; Is there room for the warning?
-    return                              ; No
-    call	TFT_warnings_color
-	STRCPY_TEXT tDiveaGF_active         ; "aGF!"
-    movlw   dm_warning_length           ; Divemode string length
-    rcall   TFT_fillup_with_spaces      ; Fillup FSR2 with spaces (Total string length in #WREG)
-    STRCAT_PRINT ""
-    ;bcf     win_invert
-    ;return
+	tstfsz	WREG						; Is there room for the warning?
+	return								; No
+	call	TFT_attention_color
+	STRCPY_TEXT tDiveaGF_active			; "aGF!"
+	movlw	dm_warning_length			; Divemode string length
+	rcall	TFT_fillup_with_spaces		; Fillup FSR2 with spaces (Total string length in #WREG)
+	STRCAT_PRINT ""
+	;bcf	 win_invert
+	;return
 	goto	TFT_standard_color
 
-    global  TFT_warning_fallback
+	global	TFT_warning_fallback
 TFT_warning_fallback:					; Show fallback warning
 	rcall	TFT_warning_set_window		; Sets the row and column for the current warning
-    tstfsz  WREG						; Is there room for the warning?
-    return                              ; No
-    call	TFT_warnings_color
+	tstfsz	WREG						; Is there room for the warning?
+	return								; No
+	call	TFT_warnings_color
 	STRCPY_TEXT tDiveFallback			; "Fallback!"
-    movlw   dm_warning_length			; Divemode string length
-    rcall   TFT_fillup_with_spaces		; Fillup FSR2 with spaces (Total string length in #WREG)
-    STRCAT_PRINT ""
-    goto	TFT_standard_color			; and return...
+	movlw	dm_warning_length			; Divemode string length
+	rcall	TFT_fillup_with_spaces		; Fillup FSR2 with spaces (Total string length in #WREG)
+	STRCAT_PRINT ""
+	goto	TFT_standard_color			; and return...
 
 
 	global	TFT_info_deco
-TFT_info_deco							; show info when in decompression
+TFT_info_deco:							; show info when in decompression
 	rcall	TFT_warning_set_window		; Sets the row and column for the current warning
-    tstfsz  WREG						; Is there room for the warning?
-    return                              ; NO  - return
+	tstfsz	WREG						; Is there room for the warning?
+	return								; NO  - return
 	movlw	color_green					; YES - select green text color
-	call	TFT_set_color				;		set color
-	STRCPY_TEXT tDecoInfo				; 		write "Deco Zone"
-    movlw   dm_warning_length			; 		select Divemode string length
-    rcall   TFT_fillup_with_spaces		; 		Fillup FSR2 with spaces (Total string length in #WREG)
-    STRCAT_PRINT ""						;		print buffer
-    goto	TFT_standard_color			; 		and return...
-
-
-    global  TFT_warning_gf
-TFT_warning_gf:                         ; GF
+	call	TFT_set_color				;       set color
+	STRCPY_TEXT tDecoInfo				;       write "Deco Zone"
+	movlw	dm_warning_length			;       select Divemode string length
+	rcall	TFT_fillup_with_spaces		;       Fillup FSR2 with spaces (Total string length in #WREG)
+	STRCAT_PRINT ""						;       print buffer
+	goto	TFT_standard_color			;       and return...
+
+
+	global	TFT_warning_gf
+TFT_warning_gf:							; GF
 	rcall	TFT_warning_set_window		; Sets the row and column for the current warning
-    tstfsz  WREG                        ; Is there room for the warning?
-    return                              ; No
+	tstfsz	WREG						; Is there room for the warning?
+	return								; No
 	movff	int_O_gradient_factor+0,lo	; bank-safe copy gradient factor
 	movff	int_O_gradient_factor+1,hi	;
-	TFT_color_code warn_gf				; Color-code Output
-	STRCPY  "GF:  "						; the two spaces are on purpose to align the output with other warnings' outputs
-    bsf     leftbind
+	call	TFT_color_code_gf			; Color-code Output
+	STRCPY	"GF:  "						; the two spaces are on purpose to align the output with other warnings' outputs
+	bsf		leftbind
 	output_8							; print value of lo only, int_O_gradient_factor is limited to 255
-    PUTC    "%"
-    movlw   dm_warning_length			; Divemode string length
-    btfss   divemode					; In Divemode?
-    movlw   surf_warning_length			; No, use surface string length
-    rcall   TFT_fillup_with_spaces		; Fillup FSR2 with spaces (Total string length in #WREG)
-    STRCAT_PRINT  ""
-    bcf     leftbind
-    bcf	    win_invert
-    goto    TFT_standard_color			; and return...
+	PUTC	"%"
+	movlw	dm_warning_length			; Divemode string length
+	btfss	divemode					; In Divemode?
+	movlw	surf_warning_length			; No, use surface string length
+	rcall	TFT_fillup_with_spaces		; Fillup FSR2 with spaces (Total string length in #WREG)
+	STRCAT_PRINT ""
+	bcf		leftbind
+	bcf		win_invert
+	goto	TFT_standard_color			; and return...
 
 
 	global	TFT_warning_mbubbles
 TFT_warning_mbubbles:
 	rcall	TFT_warning_set_window		; sets the row and column for the current warning
-    tstfsz  WREG                        ; Is there room for the warning?
-    return                              ; NO
+	tstfsz	WREG						; Is there room for the warning?
+	return								; NO
 	call	TFT_attention_color			; set attention color as default
 	movff	char_O_deco_warnings,WREG	; bank-safe copy for deco warnings
 	btfsc	WREG,mbubble_warning		; are we in the microbubbles zone right now?
 	call	TFT_warnings_color			; YES - reconfigure to warning color
 	STRCPY_TEXT tMicroBubbles
-    movlw   dm_warning_length			; divemode string length
-    btfss   divemode					; in Divemode?
-    movlw   surf_warning_length			; NO  - use surface string length
-    rcall   TFT_fillup_with_spaces		; fillup FSR2 with spaces (total string length in #WREG)
-    STRCAT_PRINT  ""	
-    goto    TFT_standard_color			; and return...
+	movlw	dm_warning_length			; divemode string length
+	btfss	divemode					; in Divemode?
+	movlw	surf_warning_length			; NO  - use surface string length
+	rcall	TFT_fillup_with_spaces		; fillup FSR2 with spaces (total string length in #WREG)
+	STRCAT_PRINT ""
+	goto	TFT_standard_color			; and return...
 
 
 	global	TFT_warning_outside
 TFT_warning_outside:
 	rcall	TFT_warning_set_window		; sets the row and column for the current warning
-    tstfsz  WREG                        ; is there room for the warning?
-    return                              ; NO
+	tstfsz	WREG						; is there room for the warning?
+	return								; NO
 	call	TFT_attention_color
 	movff	char_O_deco_warnings,WREG	; bank-safe copy for deco warnings
 	btfsc	WREG,outside_warning		; are we outside the ZH-L16 model right now?
 	call	TFT_warnings_color			; YES - reconfigure to warning color
-	STRCPY  "X-ZHL16-X"
-    movlw   dm_warning_length			; divemode string length
-    btfss   divemode					; in Divemode?
-    movlw   surf_warning_length			; NO  - use surface string length
-    rcall   TFT_fillup_with_spaces		; fillup FSR2 with spaces (total string length in #WREG)
-    STRCAT_PRINT  ""	
-    goto    TFT_standard_color			; and return...
+	STRCPY	"X-ZHL16-X"
+	movlw	dm_warning_length			; divemode string length
+	btfss	divemode					; in Divemode?
+	movlw	surf_warning_length			; NO  - use surface string length
+	rcall	TFT_fillup_with_spaces		; fillup FSR2 with spaces (total string length in #WREG)
+	STRCAT_PRINT ""
+	goto	TFT_standard_color			; and return...
 
 
 	global	TFT_warning_gas_needs_warn
@@ -3519,22 +3510,22 @@
 TFT_warning_gas_needs_warn:
 	rcall	TFT_warning_gas_needs_war_helper
 	rcall	TFT_warning_set_window		; Sets the row and column for the current warning
-    tstfsz  WREG                        ; Is there room for the warning?
-    return                              ; No
+	tstfsz	WREG						; Is there room for the warning?
+	return								; No
 	call	TFT_warnings_color
 	bra		TFT_warning_gas_needs_com
 TFT_warning_gas_needs_att:
 	rcall	TFT_warning_gas_needs_att_helper
 	rcall	TFT_warning_set_window		; Sets the row and column for the current warning
-    tstfsz  WREG                        ; Is there room for the warning?
-    return                              ; No
+	tstfsz	WREG						; Is there room for the warning?
+	return								; No
 	call	TFT_attention_color
 TFT_warning_gas_needs_com:
 	STRCPY_TEXT tGasNeedsWarn			; "Gas Needs"
-    movlw   dm_warning_length           ; Divemode string length
-    rcall   TFT_fillup_with_spaces      ; Fillup FSR2 with spaces (Total string length in #WREG)
-    STRCAT_PRINT ""	
-	goto	TFT_standard_color  		; and return...
+	movlw	dm_warning_length			; Divemode string length
+	rcall	TFT_fillup_with_spaces		; Fillup FSR2 with spaces (Total string length in #WREG)
+	STRCAT_PRINT ""
+	goto	TFT_standard_color			; and return...
 
 TFT_warning_gas_needs_war_helper:
 	incf	warning_counter,F			; increase counter
@@ -3551,34 +3542,34 @@
 	movlw	.12							; customview number one below gas needs view
 	movwf	menupos3					; set fake current view number
 	bsf		toggle_customview			; initiate toggle of customview -> gas needs view will be shown
-	return	
+	return
 
 
 	global	TFT_warning_IBCD
 TFT_warning_IBCD:
 	rcall	TFT_warning_set_window		; Sets the row and column for the current warning
-    tstfsz  WREG                        ; Is there room for the warning?
-    return                              ; No
+	tstfsz	WREG						; Is there room for the warning?
+	return								; No
 	call	TFT_attention_color			; select attention color as default
 	STRCPY_TEXT tIBCD					; "IBCD N2He"
-	movlw   dm_warning_length           ; Divemode string length
-    rcall   TFT_fillup_with_spaces      ; Fillup FSR2 with spaces (Total string length in #WREG)
-    STRCAT_PRINT ""
-	goto	TFT_standard_color  		; and return...
-
-	
-    global  TFT_warning_sensor_disagree
-TFT_warning_sensor_disagree:            ; Show sensor disagree warning
+	movlw	dm_warning_length			; Divemode string length
+	rcall	TFT_fillup_with_spaces		; Fillup FSR2 with spaces (Total string length in #WREG)
+	STRCAT_PRINT ""
+	goto	TFT_standard_color			; and return...
+
+
+	global	TFT_warning_sensor_disagree
+TFT_warning_sensor_disagree:			; Show sensor disagree warning
 	rcall	TFT_warning_sensor_dis_helper
 	rcall	TFT_warning_set_window		; Sets the row and column for the current warning
-    tstfsz  WREG                        ; Is there room for the warning?
-    return                              ; No
-    call	TFT_warnings_color
-	STRCPY_TEXT tSensorDisagree         ; "Sensors<>"
-    movlw   dm_warning_length           ; Divemode string length
-    rcall   TFT_fillup_with_spaces      ; Fillup FSR2 with spaces (Total string length in #WREG)
-    STRCAT_PRINT ""
-    goto	TFT_standard_color  		; and return...
+	tstfsz	WREG						; Is there room for the warning?
+	return								; No
+	call	TFT_warnings_color
+	STRCPY_TEXT tSensorDisagree			; "Sensors<>"
+	movlw	dm_warning_length			; Divemode string length
+	rcall	TFT_fillup_with_spaces		; Fillup FSR2 with spaces (Total string length in #WREG)
+	STRCAT_PRINT ""
+	goto	TFT_standard_color			; and return...
 
 TFT_warning_sensor_dis_helper:
 	btfsc	sensor_warning				; is it a new warning?
@@ -3587,252 +3578,252 @@
 	clrf	menupos3					; set fake current view number
 	bsf		toggle_customview			; initiate toggle of customview -> sensor view will be shown
 	return
-	
+
 ;=============================================================================
-	
-TFT_warning_set_window:                 ; Sets the row and column for the current warning
-    ; ignore warning (now)?
-    decf    warning_counter,W           ; -1
-    bcf     STATUS,C
-    btfss   alternative_divelayout		; In alt mode, do not divide...
-    rrcf    WREG,W                      ; (warning_counter-1)/2
-    cpfseq  warning_page
-    retlw   .255                        ; WREG <> 0 -> Warning window not defined
-    call	TFT_standard_color
-    btfss   divemode                    ; in divemode?
-    bra     TFT_warning_set_window3     ; No, setup for surface mode
-    btfss   alternative_divelayout
-    bra	    TFT_warning_set_window3a	; standard layout
-    bra	    TFT_warning_set_window2a	; alternative layout (Only lower row used)
-TFT_warning_set_window3a:    
-    btfss   warning_counter,0           ; Toggle with each warning
-    bra		TFT_warning_set_window2
-    WIN_SMALL	dm_warning1_column, dm_warning1_row
-    bcf     second_row_warning          ; =1: The second row contains a warning
-    retlw   .0                          ; WREG=0 -> Warning window defined
+
+TFT_warning_set_window:					; Sets the row and column for the current warning
+	; ignore warning (now)?
+	decf	warning_counter,W			; -1
+	bcf		STATUS,C
+	btfss	alternative_divelayout		; In alt mode, do not divide...
+	rrcf	WREG,W						; (warning_counter-1)/2
+	cpfseq	warning_page
+	retlw	.255						; WREG <> 0 -> Warning window not defined
+	call	TFT_standard_color
+	btfss	divemode					; in divemode?
+	bra		TFT_warning_set_window3		; No, setup for surface mode
+	btfss	alternative_divelayout
+	bra		TFT_warning_set_window3a	; standard layout
+	bra		TFT_warning_set_window2a	; alternative layout (Only lower row used)
+TFT_warning_set_window3a:	
+	btfss	warning_counter,0			; Toggle with each warning
+	bra		TFT_warning_set_window2
+	WIN_SMALL dm_warning1_column, dm_warning1_row
+	bcf		second_row_warning			; =1: The second row contains a warning
+	retlw	.0							; WREG=0 -> Warning window defined
 TFT_warning_set_window2:
-    bsf     second_row_warning          ; =1: The second row contains a warning
-TFT_warning_set_window2a:    
-    WIN_SMALL	dm_warning2_column, dm_warning2_row
-    retlw   .0                          ; WREG=0 -> Warning window defined
+	bsf		second_row_warning			; =1: The second row contains a warning
+TFT_warning_set_window2a:	
+	WIN_SMALL dm_warning2_column, dm_warning2_row
+	retlw	.0							; WREG=0 -> Warning window defined
 TFT_warning_set_window3:
-    btfss   warning_counter,0           ; Toggle with each warning
-    bra	    TFT_warning_set_window4
-    WIN_SMALL	surf_warning1_column,surf_warning1_row
-    bcf     second_row_warning          ; =1: The second row contains a warning
-    retlw   .0                          ; WREG=0 -> Warning window defined
+	btfss	warning_counter,0			; Toggle with each warning
+	bra		TFT_warning_set_window4
+	WIN_SMALL surf_warning1_column,surf_warning1_row
+	bcf		second_row_warning			; =1: The second row contains a warning
+	retlw	.0							; WREG=0 -> Warning window defined
 TFT_warning_set_window4:
-    WIN_SMALL	surf_warning2_column,surf_warning2_row
-    bsf     second_row_warning          ; =1: The second row contains a warning
-    retlw   .0                          ; WREG=0 -> Warning window defined
+	WIN_SMALL surf_warning2_column,surf_warning2_row
+	bsf		second_row_warning			; =1: The second row contains a warning
+	retlw	.0							; WREG=0 -> Warning window defined
 
 
 	global	TFT_update_batt_percent_divemode
 TFT_update_batt_percent_divemode:
 	rcall	TFT_warning_set_window		; Sets the row and column for the current warning
-    tstfsz  WREG                        ; Is there room for the warning?
-    return                              ; No
-    movff   batt_percent,lo         	; Get battery percent
-    TFT_color_code	warn_battery		; Color-code battery percent
-    STRCPY  "Batt:"
+	tstfsz	WREG						; Is there room for the warning?
+	return								; No
+	movff	batt_percent,lo				; Get battery percent
+	call	TFT_color_code_battery		; Color-code battery percent
+	STRCPY	"Batt:"
 	bsf		leftbind
 	output_8
 	bcf		leftbind
-    PUTC    "%"
-    movlw   dm_warning_length           ; Divemode string length
-    btfss   divemode                    ; In Divemode?
-    movlw   surf_warning_length         ; No, use surface string length
-    rcall   TFT_fillup_with_spaces      ; Fillup FSR2 with spaces (Total string length in #WREG)
-	STRCAT_PRINT	""
-	bcf	win_invert
+	PUTC	"%"
+	movlw	dm_warning_length			; Divemode string length
+	btfss	divemode					; In Divemode?
+	movlw	surf_warning_length			; No, use surface string length
+	rcall	TFT_fillup_with_spaces		; Fillup FSR2 with spaces (Total string length in #WREG)
+	STRCAT_PRINT ""
+	bcf		win_invert
 	goto	TFT_standard_color			; and return...
 
 
-    global  TFT_gf_mask					; Setup Mask
+	global	TFT_gf_mask					; Setup Mask
 TFT_gf_mask:
-    ; The mask
-    call    TFT_divemask_color
-    WIN_TINY          dm_custom_gf_title_col1, dm_custom_gf_title_row
-    STRCPY_TEXT_PRINT tGFactors
-    WIN_TINY          dm_custom_gf_title_col2, dm_custom_gf_title_row
-    STRCPY_TEXT_PRINT taGFactors
-    WIN_TINY          dm_custom_gf_title_col3, dm_custom_gf_title_row
-    STRCPY_TEXT_PRINT tGFInfo
-    ; Show GF (Static)
-    call    TFT_disabled_color
-    btfss   use_agf
-    call	TFT_standard_color
-    WIN_STD   dm_custom_gf_column, dm_custom_gf_row
-    bsf     leftbind
-    movff   opt_GF_low,lo
-    output_8
-    PUTC    "/"
-    movff   opt_GF_high,lo
-    output_8
-    STRCAT_PRINT   ""
-    ; Show aGF (Static)
-    call	TFT_standard_color
-    TSTOSS  opt_enable_aGF              ; =1: aGF can be selected underwater
-    bra     TFT_gf_mask2                ; Show "---" instead
-    btfss   use_agf
-    call    TFT_disabled_color
-    WIN_STD   dm_custom_agf_column, dm_custom_agf_row
-    movff   opt_aGF_low,lo
-    output_8
-    PUTC    "/"
-    movff   opt_aGF_high,lo
-    output_8
-    STRCAT_PRINT   ""
-    bcf     leftbind
-    goto	TFT_standard_color  ; and return...
+	; The mask
+	call	TFT_divemask_color
+	WIN_TINY dm_custom_gf_title_col1, dm_custom_gf_title_row
+	STRCPY_TEXT_PRINT tGFactors
+	WIN_TINY dm_custom_gf_title_col2, dm_custom_gf_title_row
+	STRCPY_TEXT_PRINT taGFactors
+	WIN_TINY dm_custom_gf_title_col3, dm_custom_gf_title_row
+	STRCPY_TEXT_PRINT tGFInfo
+	; Show GF (Static)
+	call	TFT_disabled_color
+	btfss	use_agf
+	call	TFT_standard_color
+	WIN_STD	dm_custom_gf_column, dm_custom_gf_row
+	bsf		leftbind
+	movff	opt_GF_low,lo
+	output_8
+	PUTC	"/"
+	movff	opt_GF_high,lo
+	output_8
+	STRCAT_PRINT ""
+	; Show aGF (Static)
+	call	TFT_standard_color
+	TSTOSS	opt_enable_aGF				; =1: aGF can be selected underwater
+	bra	 TFT_gf_mask2					; Show "---" instead
+	btfss	use_agf
+	call	TFT_disabled_color
+	WIN_STD	dm_custom_agf_column, dm_custom_agf_row
+	movff	opt_aGF_low,lo
+	output_8
+	PUTC	"/"
+	movff	opt_aGF_high,lo
+	output_8
+	STRCAT_PRINT ""
+	bcf		leftbind
+	goto	TFT_standard_color			; and return...
 
 TFT_gf_mask2:
-    WIN_STD   dm_custom_agf_column+.10, dm_custom_agf_row
-    STRCPY_PRINT   "---"
-    bcf     leftbind
-    return
-
-
-    global  TFT_gf_mask_cGF                     ; Setup Mask
+	WIN_STD	dm_custom_agf_column+.10, dm_custom_agf_row
+	STRCPY_PRINT "---"
+	bcf		leftbind
+	return
+
+
+	global	TFT_gf_mask_cGF				; Setup Mask
 TFT_gf_mask_cGF:
-    ; The mask
-    call	TFT_divemask_color
-    WIN_TINY dm_custom_gf_title_col3, dm_custom_gf_title_row
-    STRCPY_TEXT_PRINT tGFInfo
-    goto	TFT_standard_color; and return...
-
-    global  TFT_gf_info                         ; Show GF informations
+	; The mask
+	call	TFT_divemask_color
+	WIN_TINY dm_custom_gf_title_col3, dm_custom_gf_title_row
+	STRCPY_TEXT_PRINT tGFInfo
+	goto	TFT_standard_color			; and return...
+
+	global	TFT_gf_info					; Show GF informations
 TFT_gf_info:
-    WIN_STD   dm_custom_currentgf_column, dm_custom_currentgf_row
-	movff	int_O_gradient_factor+0,lo			; gradient factor absolute (Non-GF model)
+	WIN_STD	dm_custom_currentgf_column, dm_custom_currentgf_row
+	movff	int_O_gradient_factor+0,lo	; gradient factor absolute (Non-GF model)
 	movff	int_O_gradient_factor+1,hi
-    TFT_color_code warn_gf						; Color-code Output
-    output_8									; print lo only, int_O_gradient_factor is limited to 255
-    STRCAT_PRINT   "%"
-    return
-
-
-    global  TFT_battinfo_tissues_clock_mask      ; Setup Mask
+	call	TFT_color_code_gf			; Color-code Output
+	output_8							; print lo only, int_O_gradient_factor is limited to 255
+	STRCAT_PRINT "%"
+	return
+
+
+	global	TFT_battinfo_tissues_clock_mask		; Setup Mask
 TFT_battinfo_tissues_clock_mask:
-    ; The mask
-    ; Put three columns at HUD positions
-    call    TFT_divemask_color
-    btfsc   FLAG_apnoe_mode						; In Apnoe mode?
-    bra	    TFT_battinfo_tissues_clock_mask2 	; Yes
-    btfsc   FLAG_gauge_mode						; In Gauge mode?
-    bra	    TFT_battinfo_tissues_clock_mask2 	; Yes
-    WIN_TINY dm_custom_tissue_title_column,  dm_custom_tissue_title_row
-    STRCPY_TEXT_PRINT tDiveTissues
-TFT_battinfo_tissues_clock_mask2:           	; Show only clock
-    WIN_TINY dm_custom_ead_column,     dm_custom_eadend_title_row
-    STRCPY_TEXT_PRINT tBatteryV	    			; "Battery: "
-    WIN_TINY dm_custom_clock_column,  dm_custom_clock_title_row
-    STRCPY_TEXT_PRINT tDiveClock
-    goto	TFT_standard_color					; and return...
-
-    global  TFT_battinfo_tissues_clock      	; Show EAD/END, Tissues and clock
+	; The mask
+	; Put three columns at HUD positions
+	call	TFT_divemask_color
+	btfsc	FLAG_apnoe_mode						; In Apnoe mode?
+	bra		TFT_battinfo_tissues_clock_mask2	; Yes
+	btfsc	FLAG_gauge_mode						; In Gauge mode?
+	bra		TFT_battinfo_tissues_clock_mask2	; Yes
+	WIN_TINY dm_custom_tissue_title_column, dm_custom_tissue_title_row
+	STRCPY_TEXT_PRINT tDiveTissues
+TFT_battinfo_tissues_clock_mask2:				; Show only clock
+	WIN_TINY dm_custom_ead_column, dm_custom_eadend_title_row
+	STRCPY_TEXT_PRINT tBatteryV					; "Battery: "
+	WIN_TINY dm_custom_clock_column, dm_custom_clock_title_row
+	STRCPY_TEXT_PRINT tDiveClock
+	goto	TFT_standard_color					; and return...
+
+	global	TFT_battinfo_tissues_clock	; Show EAD/END, Tissues and clock
 TFT_battinfo_tissues_clock:
-    ; Update clock and date
-    WIN_SMALL   dm_custom_clock_column, dm_custom_clock_row
-    call    TFT_clock2                      	; print clock
-
-    ; Show Battery info
-    WIN_SMALL   dm_custom_ead_column, dm_custom_ead_row
-    movff   batt_percent,lo         			; Get battery percent
-    TFT_color_code	warn_battery				; Color-code battery percent
-    bsf		leftbind
-    output_8
-    bcf		leftbind
-    STRCAT	"% "
-    movlw	0x00
-    movff	WREG,buffer+4						; Only "xxx%"
-    STRCAT_PRINT	""
-    bcf     win_invert
-    call	TFT_standard_color
-    WIN_SMALL   dm_custom_end_column, dm_custom_end_row
-    movff	batt_voltage+0,lo
-    movff	batt_voltage+1,hi
-    bsf		leftbind
-    output_16dp	.2
-    bcf		leftbind
-    PUTC	'V'
-    movff	buffer+5,buffer+4
-    movlw	0x00
-    movff	WREG,buffer+5						; Only "x.yzV"
-    STRCAT_PRINT	""
-
-    btfsc	FLAG_apnoe_mode						; In Apnoe mode?
-    return                                  	; Yes, done.
-    btfsc	FLAG_gauge_mode						; In Gauge mode?
-    return                                  	; Yes, done.
-    
-    ; Show tissue diagram
-    call    TFT_divemask_color
-    WIN_TINY dm_custom_tissue_N2_column, dm_custom_tissue_N2_row
-    STRCPY_TEXT_PRINT   tN2
-    WIN_TINY dm_custom_tissue_He_column, dm_custom_tissue_He_row
-    STRCPY_TEXT_PRINT   tHe
-    bra   DISP_tissue_saturation_graph      ; Show char_O_tissue_N2_saturation and char_O_tissue_He_saturation and return...
-
-    
-    global  TFT_pscr_info_mask
-TFT_pscr_info_mask:		    				; Show pSCR-ppO2, drop and lung ratio mask    
-    rcall   TFT_mask_ppo2
-    call    TFT_divemask_color
-    WIN_TINY dm_custom_pscr_text_drop_column, dm_custom_pscr_text_row
-    STRCPY_TEXT_PRINT tPSCR_O2_drop
-    WIN_TINY dm_custom_pscr_text_ratio_column, dm_custom_pscr_text_row
-    STRCPY_TEXT_PRINT tPSCR_lungratio
-    goto	TFT_standard_color				; and return...
-    
-    global	TFT_pscr_info					; Show pSCR-ppO2, drop and lung ratio
+	; Update clock and date
+	WIN_SMALL dm_custom_clock_column, dm_custom_clock_row
+	call	TFT_clock2					; print clock
+
+	; Show Battery info
+	WIN_SMALL	dm_custom_ead_column, dm_custom_ead_row
+	movff	batt_percent,lo				; Get battery percent
+	call	TFT_color_code_battery		; Color-code battery percent
+	bsf		leftbind
+	output_8
+	bcf		leftbind
+	STRCAT	"% "
+	movlw	0x00
+	movff	WREG,buffer+4				; Only "xxx%"
+	STRCAT_PRINT ""
+	bcf		win_invert
+	call	TFT_standard_color
+	WIN_SMALL dm_custom_end_column, dm_custom_end_row
+	movff	batt_voltage+0,lo
+	movff	batt_voltage+1,hi
+	bsf		leftbind
+	output_16dp	.2
+	bcf		leftbind
+	PUTC	'V'
+	movff	buffer+5,buffer+4
+	movlw	0x00
+	movff	WREG,buffer+5				; Only "x.yzV"
+	STRCAT_PRINT ""
+
+	btfsc	FLAG_apnoe_mode				; In Apnoe mode?
+	return								; Yes, done.
+	btfsc	FLAG_gauge_mode				; In Gauge mode?
+	return								; Yes, done.
+
+	; Show tissue diagram
+	call	TFT_divemask_color
+	WIN_TINY dm_custom_tissue_N2_column, dm_custom_tissue_N2_row
+	STRCPY_TEXT_PRINT tN2
+	WIN_TINY dm_custom_tissue_He_column, dm_custom_tissue_He_row
+	STRCPY_TEXT_PRINT tHe
+	bra	DISP_tissue_saturation_graph	; Show char_O_tissue_N2_saturation and char_O_tissue_He_saturation and return...
+
+
+	global	TFT_pscr_info_mask
+TFT_pscr_info_mask:						; Show pSCR-ppO2, drop and lung ratio mask	
+	rcall	TFT_mask_ppo2
+	call	TFT_divemask_color
+	WIN_TINY dm_custom_pscr_text_drop_column, dm_custom_pscr_text_row
+	STRCPY_TEXT_PRINT tPSCR_O2_drop
+	WIN_TINY dm_custom_pscr_text_ratio_column, dm_custom_pscr_text_row
+	STRCPY_TEXT_PRINT tPSCR_lungratio
+	goto	TFT_standard_color			; and return...
+
+	global	TFT_pscr_info				; Show pSCR-ppO2, drop and lung ratio
 TFT_pscr_info:
-    ;show ppO2
-	WIN_MEDIUM  dm_custom_ceiling_ppo2_val_col, dm_custom_ceiling_value_row
+	;show ppO2
+	WIN_MEDIUM dm_custom_ceiling_ppo2_val_col, dm_custom_ceiling_value_row
 	movff	int_O_pSCR_ppO2+0,lo			; copy pSCR ppO2 to hi:lo
 	movff	int_O_pSCR_ppO2+1,hi
-	TFT_color_code warn_ppo2				; color-code output
+	call	TFT_color_code_ppo2				; color-code output
 	bsf		leftbind
-	output_16dp  .3         				; x.xx bar
-    bcf		leftbind
-    STRCAT_PRINT   ""
-    ; Show Drop
-    WIN_STD dm_custom_pscr_drop_column,dm_custom_pscr_drop_row
+	output_16dp .3							; x.xx bar
+	bcf		leftbind
+	STRCAT_PRINT ""
+	; Show Drop
+	WIN_STD dm_custom_pscr_drop_column,dm_custom_pscr_drop_row
 	call	TFT_standard_color
 	movff	char_I_PSCR_drop,lo
-    bsf	    leftbind
-    output_8
-    STRCAT_PRINT "%"
-    ; Show lung ratio
-    WIN_STD dm_custom_pscr_ratio_column,dm_custom_pscr_ratio_row
-    movff   char_I_PSCR_lungratio,lo
-    bsf	    leftbind
-    STRCPY  "1/"
-    output_8
-    STRCAT_PRINT   ""
-    bcf	    leftbind
-    return
+	bsf		leftbind
+	output_8
+	STRCAT_PRINT "%"
+	; Show lung ratio
+	WIN_STD dm_custom_pscr_ratio_column,dm_custom_pscr_ratio_row
+	movff	char_I_PSCR_lungratio,lo
+	bsf		leftbind
+	STRCPY	"1/"
+	output_8
+	STRCAT_PRINT ""
+	bcf		leftbind
+	return
 
 
 	global	TFT_gas_needs_mask
 TFT_gas_needs_mask:
-    call	TFT_divemask_color
-    WIN_TINY dm_custom_dyn_gas_mask_column-.10,dm_custom_dyn_gas_mask_row
-    STRCPY_TEXT_PRINT	tGasNeedsBar	; "Gas Needs (bar)"
+	call	TFT_divemask_color
+	WIN_TINY dm_custom_dyn_gas_mask_column-.10,dm_custom_dyn_gas_mask_row
+	STRCPY_TEXT_PRINT	tGasNeedsBar	; "Gas Needs (bar)"
 	goto	TFT_standard_color			; and return...
 
 	global	TFT_gas_needs
-TFT_gas_needs:							; LIMITATION: 	there is only space for 4 gases on the screen - if 5 gases
-	bsf     leftbind					;				have a pres_need > 0, then only the first 4 will be shown!
+TFT_gas_needs:							; LIMITATION: there is only space for 4 gases on the screen - if 5 gases
+	bsf		leftbind					;             have a pres_need > 0, then only the first 4 will be shown!
 	clrf	up
-	WIN_SMALL   dm_custom_dyn_gas_column1+.5,dm_custom_dyn_gas_row1
+	WIN_SMALL dm_custom_dyn_gas_column1+.5,dm_custom_dyn_gas_row1
 	call	TFT_gas_needs_helper
-    WIN_SMALL   dm_custom_dyn_gas_column1+.5,dm_custom_dyn_gas_row2
-	call 	TFT_gas_needs_helper
-	WIN_SMALL   dm_custom_dyn_gas_column2+.5,dm_custom_dyn_gas_row1
+	WIN_SMALL dm_custom_dyn_gas_column1+.5,dm_custom_dyn_gas_row2
 	call	TFT_gas_needs_helper
-    WIN_SMALL   dm_custom_dyn_gas_column2+.5,dm_custom_dyn_gas_row2
- 	call	TFT_gas_needs_helper
+	WIN_SMALL dm_custom_dyn_gas_column2+.5,dm_custom_dyn_gas_row1
+	call	TFT_gas_needs_helper
+	WIN_SMALL dm_custom_dyn_gas_column2+.5,dm_custom_dyn_gas_row2
+	call	TFT_gas_needs_helper
 	bcf		leftbind
 	return
 
@@ -3841,453 +3832,453 @@
 	movlw	.5							; number of gases
 	cpfslt	up							; check if all gases have been processed
 	bra		TFT_gas_needs_helper_1		; yes -> clear display area
-    movf    up,W						; no  -> get gas number	and check if need of that gas is > 0
+	movf	up,W						; no  -> get gas number	and check if need of that gas is > 0
 	rlncf	WREG,W						; multipy by 2
-    lfsr    FSR1,int_O_tank_pres_need+1 ; read HIGH(int_O_tank_pres_need[up])
-	movff   PLUSW1,hi					; copy to temp storage hi
+	lfsr	FSR1,int_O_tank_pres_need+1 ; read HIGH(int_O_tank_pres_need[up])
+	movff	PLUSW1,hi					; copy to temp storage hi
 	btfss	hi,int_is_zero				; check flag for pres_need == 0
 	bra		TFT_gas_needs_helper_2		; no  -> print gas type and pressure needed
 	incf	up,F						; yes -> increment to next gas...
 	bra		TFT_gas_needs_helper		; ...and try the next gas
 TFT_gas_needs_helper_1:					; no gases to show anymore, clear display area from potential remains of last invocation
-    STRCAT_PRINT "  ----   "			; overwrite outdated stuff if screen position is not needed
+	STRCAT_PRINT "  ----   "			; overwrite outdated stuff if screen position is not needed
 	return
 TFT_gas_needs_helper_2:					; output gas type and pressure needed
-	movf    up,W						; get gas number (0-4) to WREG
-	lfsr    FSR1,opt_gas_O2_ratio		; read opt_gas_O2_ratio[WREG]
-    movff   PLUSW1,lo					; copy result to lo
-    movf    up,W						; get gas number (0-4) to WREG ; SHOULD NOT BE NEEDED AS movff SHOULD NOT ALTER wreg
-    lfsr    FSR1,opt_gas_He_ratio		; read opt_gas_He_ratio[WREG]
-    movff   PLUSW1,hi					; copy result to hi
-	call    customview_show_mix			; print "Air", "O2", "21/35", etc.
+	movf	up,W						; get gas number (0-4) to WREG
+	lfsr	FSR1,opt_gas_O2_ratio		; read opt_gas_O2_ratio[WREG]
+	movff	PLUSW1,lo					; copy result to lo
+	movf	up,W						; get gas number (0-4) to WREG ; SHOULD NOT BE NEEDED AS movff SHOULD NOT ALTER wreg
+	lfsr	FSR1,opt_gas_He_ratio		; read opt_gas_He_ratio[WREG]
+	movff	PLUSW1,hi					; copy result to hi
+	call	customview_show_mix			; print "Air", "O2", "21/35", etc.
 	STRCAT	":"
-	movf    up,W						; get gas number (0-4) to WREG
+	movf	up,W						; get gas number (0-4) to WREG
 	rlncf	WREG,W						; multipy by 2
-    lfsr    FSR1,int_O_tank_pres_need+0	; read lower part of integer
-    movff   PLUSW1,lo
-    movf    up,W						; get gas number (0-4) to WREG ; SHOULD NOT BE NEEDED AS movff SHOULD NOT ALTER wreg
+	lfsr	FSR1,int_O_tank_pres_need+0	; read lower part of integer
+	movff	PLUSW1,lo
+	movf	up,W						; get gas number (0-4) to WREG ; SHOULD NOT BE NEEDED AS movff SHOULD NOT ALTER wreg
 	rlncf	WREG,W						; multipy by 2
-    lfsr    FSR1,int_O_tank_pres_need+1 ; read upper part of integer
-	movff   PLUSW1,hi
-	btfsc	hi,int_prewarning_flag		; check if pre-warning flag is set (pres_need > pres_fill * threshold)
+	lfsr	FSR1,int_O_tank_pres_need+1 ; read upper part of integer
+	movff	PLUSW1,hi
+	btfsc	hi,int_attention_flag		; check if attention flag is set (pres_need > pres_fill * threshold)
 	call	TFT_attention_color			; yes, print gas need in yellow
-	btfsc	hi,int_warning_flag			; check if warning flag is set   (pres_need > pres_fill)
-	call    TFT_warnings_color			; yes, print gas need in red
+	btfsc	hi,int_warning_flag			; check if warning flag is set	(pres_need > pres_fill)
+	call	TFT_warnings_color			; yes, print gas need in red
 	movff	int_O_tank_pres_need+1,WREG	; get HIGH(int_O_tank_pres_need[0]) which hold flag for invalid data
 	btfsc	WREG,int_invalid_flag		; check if invalid data flag is set
 	call	TFT_disabled_color			; yes, print gas need in disabled color
-	bcf		hi,int_prewarning_flag		; clear pre-warning flag for attention color
-	bcf		hi,int_warning_flag			; clear     warning flag for warning   color
+	bcf		hi,int_attention_flag		; clear attention flag for attention color
+	bcf		hi,int_warning_flag			; clear warning	flag for warning	color
 	bcf		hi,int_invalid_flag			; clear flag for invalid data (will actually only be set with 1st gas)	
-    output_16_3 						; limit to 999 and display only (0-999)
+	output_16_3							; limit to 999 and display only (0-999)
 	STRCAT_PRINT " "					; adds a space to overwrite any potential remains of earlier outputs
 	incf	up,F						; increment to next gas
-	goto	TFT_standard_color  		; and return...
-
-	
-	global  TFT_mask_ppo2				; helper function for several custom views
+	goto	TFT_standard_color			; and return...
+
+
+	global	TFT_mask_ppo2				; helper function for several custom views
 TFT_mask_ppo2:
-    call    TFT_divemask_color
-    btfss   FLAG_ccr_mode 				; in CCR mode?
-    bra	    TFT_mask_ppo2a				; NO  - continue checking for pSCR and OC
-    btfsc   is_bailout					; in bailout?
-    bra	    TFT_mask_ppo2b				; YES
-    WIN_TINY dm_custom_ceiling_ppo2_col_dil,dm_custom_ceiling_text_row	; tuned position for longer text
-    STRCPY_TEXT_PRINT tppO2Dil			; print "ppO2(Dil)"
-    goto    TFT_standard_color			; and return...
+	call	TFT_divemask_color
+	btfss	FLAG_ccr_mode				; in CCR mode?
+	bra		TFT_mask_ppo2a				; NO  - continue checking for pSCR and OC
+	btfsc	is_bailout					; in bailout?
+	bra		TFT_mask_ppo2b				; YES
+	WIN_TINY dm_custom_ceiling_ppo2_col_dil,dm_custom_ceiling_text_row	; tuned position for longer text
+	STRCPY_TEXT_PRINT tppO2Dil			; print "ppO2(Dil)"
+	goto	TFT_standard_color			; and return...
 TFT_mask_ppo2a:
-    btfss   FLAG_pscr_mode 				; in pSCR mode?
-    bra	    TFT_mask_ppo2b				; NO  - continue with OC mode (or bailout)
-    btfsc   is_bailout					; in bailout?
-    bra	    TFT_mask_ppo2b				; YES
-    WIN_TINY dm_custom_ceiling_ppo2_col_dil,dm_custom_ceiling_text_row	; tuned position for longer text
-    STRCPY_TEXT_PRINT tppO2Mix			; print "ppO2(Mix)"
-    goto    TFT_standard_color			; and return... 
+	btfss	FLAG_pscr_mode				; in pSCR mode?
+	bra		TFT_mask_ppo2b				; NO  - continue with OC mode (or bailout)
+	btfsc	is_bailout					; in bailout?
+	bra		TFT_mask_ppo2b				; YES
+	WIN_TINY dm_custom_ceiling_ppo2_col_dil,dm_custom_ceiling_text_row	; tuned position for longer text
+	STRCPY_TEXT_PRINT tppO2Mix			; print "ppO2(Mix)"
+	goto	TFT_standard_color			; and return... 
 TFT_mask_ppo2b:							; OC mode or bailout
-    WIN_TINY  dm_custom_ceiling_ppo2_column, dm_custom_ceiling_text_row	; normal position
-    STRCPY_TEXT_PRINT tppO2				; in all other modes
-    goto    TFT_standard_color			; and return...
-	
+	WIN_TINY dm_custom_ceiling_ppo2_column, dm_custom_ceiling_text_row	; normal position
+	STRCPY_TEXT_PRINT tppO2				; in all other modes
+	goto	TFT_standard_color			; and return...
+
+
 	global	TFT_display_pure_ppo2		; show ppO2 of the pure gas - helper function for several custom views
 TFT_display_pure_ppo2:
-	WIN_MEDIUM  dm_custom_ceiling_ppo2_val_col, dm_custom_ceiling_value_row
+	WIN_MEDIUM dm_custom_ceiling_ppo2_val_col, dm_custom_ceiling_value_row
 	movff	int_O_pure_ppO2+0,lo		; copy ppO2 of the pure gas to hi:lo
 	movff	int_O_pure_ppO2+1,hi
-	TFT_color_code warn_ppo2			; color-code output
+	call	TFT_color_code_ppo2			; color-code output
 	bsf		leftbind
-	output_16dp  .3         			; x.xx bar
-    bcf		leftbind
-    STRCAT_PRINT ""
+	output_16dp .3						; x.xx bar
+	bcf		leftbind
+	STRCAT_PRINT ""
 	goto	TFT_standard_color			; and return...
-	
-    
-    global  TFT_ppo2_ead_end_cns_mask			; Show ppO2, END/EAD and CNS mask
+
+
+	global TFT_ppo2_ead_end_cns_mask	; Show ppO2, END/EAD and CNS mask
 TFT_ppo2_ead_end_cns_mask:
-    rcall	TFT_mask_ppo2
-    call	TFT_divemask_color
-    WIN_TINY dm_custom_ead_column, dm_custom_eadend_title_row
-    STRCPY_TEXT_PRINT tDiveEAD_END
-    WIN_TINY dm_custom_gf_title_col3, dm_custom_gf_title_row
-    STRCPY_TEXT_PRINT tCNS2
-    goto	TFT_standard_color					; and return...
-    
-    global  TFT_ppo2_ead_end_cns				; Show ppO2, END/EAD and CNS
+	rcall	TFT_mask_ppo2
+	call	TFT_divemask_color
+	WIN_TINY dm_custom_ead_column, dm_custom_eadend_title_row
+	STRCPY_TEXT_PRINT tDiveEAD_END
+	WIN_TINY dm_custom_gf_title_col3, dm_custom_gf_title_row
+	STRCPY_TEXT_PRINT tCNS2
+	goto	TFT_standard_color			; and return...
+
+
+	global	TFT_ppo2_ead_end_cns		; Show ppO2, END/EAD and CNS
 TFT_ppo2_ead_end_cns:
-    ;show ppO2
-	rcall	TFT_display_pure_ppo2				; show ppO2 of the pure gas
-    ; Show END/EAD
-    WIN_SMALL   dm_custom_ead_column, dm_custom_ead_row
-    STRCPY_TEXT tEAD                            ; EAD:
-    movff   char_O_EAD,lo
-    rcall   TFT_end_ead_common                  ; print "lo m" (or ft) and limit to 8 chars
-    WIN_SMALL dm_custom_end_column, dm_custom_end_row
-    STRCPY_TEXT tEND                            ; END:
-    movff   char_O_END,lo
-    rcall   TFT_end_ead_common                  ; print "lo m" (or ft) and limit to 8 chars
-    ; Show CNS
-    WIN_STD   dm_custom_currentgf_column, dm_custom_currentgf_row
-    movff	int_O_CNS_fraction+0,lo
-    movff	int_O_CNS_fraction+1,hi
-	TFT_color_code	warn_cns					; Color-code CNS output
-    bsf		leftbind
-    output_16_3									; Displays only 0...999
-    bcf		leftbind
-    STRCAT_PRINT "%"
-    goto	TFT_standard_color					; and return...
-    
-TFT_end_ead_common:           					; print "lo m" (or ft) and limit to 8 chars
-    bsf     leftbind
-    TSTOSS  opt_units							; 0=Meters, 1=Feets
+	;show ppO2
+	rcall	TFT_display_pure_ppo2		; show ppO2 of the pure gas
+	; Show END/EAD
+	WIN_SMALL	dm_custom_ead_column, dm_custom_ead_row
+	STRCPY_TEXT tEAD					; EAD:
+	movff	char_O_EAD,lo
+	rcall	TFT_end_ead_common			; print "lo m" (or ft) and limit to 8 chars
+	WIN_SMALL dm_custom_end_column, dm_custom_end_row
+	STRCPY_TEXT tEND					; END:
+	movff	char_O_END,lo
+	rcall	TFT_end_ead_common			; print "lo m" (or ft) and limit to 8 chars
+	; Show CNS
+	WIN_STD	dm_custom_currentgf_column, dm_custom_currentgf_row
+	movff	int_O_CNS_fraction+0,lo
+	movff	int_O_CNS_fraction+1,hi
+	call	TFT_color_code_cns			; Color-code CNS output
+	bsf		leftbind
+	output_16_3							; Displays only 0...999
+	bcf		leftbind
+	STRCAT_PRINT "%"
+	goto	TFT_standard_color			; and return...
+
+TFT_end_ead_common:						; print "lo m" (or ft) and limit to 8 chars
+	bsf		leftbind
+	TSTOSS	opt_units					; 0=Meters, 1=Feets
 	bra		TFT_end_ead_common_metric
 ;TFT_end_ead_common_imperial:
-    movf    lo,W								; With lo in m
-	mullw	.100								; PRODL:PRODH = mbar/min
+	movf	lo,W						; With lo in m
+	mullw	.100						; PRODL:PRODH = mbar/min
 	movff	PRODL,lo
 	movff	PRODH,hi
-	call	convert_mbar_to_feet				; convert value in lo:hi from mbar to feet
-    output_16_3
-    STRCAT_TEXT     tFeets
-    clrf    WREG
-    movff   WREG,buffer+.8                  	; limit string length to 8
-    bra     TFT_end_ead_common_exit
+	call	convert_mbar_to_feet		; convert value in lo:hi from mbar to feet
+	output_16_3
+	STRCAT_TEXT tFeets
+	clrf	WREG
+	movff	WREG,buffer+.8				; limit string length to 8
+	bra	 TFT_end_ead_common_exit
 TFT_end_ead_common_metric:
-    output_8
-    STRCAT_TEXT     tMeters
+	output_8
+	STRCAT_TEXT tMeters
 TFT_end_ead_common_exit:
-    bcf     leftbind
-    movlw   .8
-    rcall   TFT_fillup_with_spaces          	; Fillup FSR2 with spaces (Total string length in #WREG)
-    STRCAT_PRINT ""
-    return
-
-
-    global  TFT_sensor_check_mask		; show ppO2 of O2 and Diluent mask
+	bcf		leftbind
+	movlw	.8
+	rcall	TFT_fillup_with_spaces		; Fillup FSR2 with spaces (Total string length in #WREG)
+	STRCAT_PRINT ""
+	return
+
+
+	global	TFT_sensor_check_mask		; show ppO2 of O2 and Diluent mask
 TFT_sensor_check_mask:
-    call    TFT_divemask_color
-    WIN_TINY dm_custom_s_check_text_column, dm_custom_s_check_text_row
-    STRCPY_TEXT_PRINT   tSensorCheck
-    WIN_TINY dm_custom_ppO2_text_column, dm_custom_s_check_text_row
-    STRCPY_TEXT_PRINT tppO2O2
-    WIN_TINY dm_custom_ppDil_text_column, dm_custom_s_check_text_row
-    STRCPY_TEXT_PRINT tppO2Dil
-    goto	TFT_standard_color			; and return...
-
-    global  TFT_sensor_check			; show ppO2 of O2 and Diluent
+	call	TFT_divemask_color
+	WIN_TINY dm_custom_s_check_text_column, dm_custom_s_check_text_row
+	STRCPY_TEXT_PRINT tSensorCheck
+	WIN_TINY dm_custom_ppO2_text_column, dm_custom_s_check_text_row
+	STRCPY_TEXT_PRINT tppO2O2
+	WIN_TINY dm_custom_ppDil_text_column, dm_custom_s_check_text_row
+	STRCPY_TEXT_PRINT tppO2Dil
+	goto	TFT_standard_color			; and return...
+
+	global	TFT_sensor_check			; show ppO2 of O2 and Diluent
 TFT_sensor_check:
-    ; Show ppO2 of O2 in this depth
-    WIN_MEDIUM dm_custom_s_check_ppo2_o2_column, dm_custom_s_check_value_row
+	; Show ppO2 of O2 in this depth
+	WIN_MEDIUM dm_custom_s_check_ppo2_o2_column, dm_custom_s_check_value_row
 	movff	int_O_O2_ppO2+0,lo			; copy ppO2 of pure O2 to hi:lo
 	movff	int_O_O2_ppO2+1,hi
-	TFT_color_code warn_ppo2			; color-code output
+	call	TFT_color_code_ppo2			; color-code output
 	bsf		leftbind
-	output_16dp  .3         			; x.xx bar
-    bcf		leftbind
-    STRCAT_PRINT ""
-    ; Show ppO2 of the diluent in this depth
-    WIN_MEDIUM   dm_custom_s_check_ppo2_dil_col, dm_custom_s_check_value_row
+	output_16dp .3						; x.xx bar
+	bcf		leftbind
+	STRCAT_PRINT ""
+	; Show ppO2 of the diluent in this depth
+	WIN_MEDIUM	dm_custom_s_check_ppo2_dil_col, dm_custom_s_check_value_row
 	movff	int_O_pure_ppO2+0,lo		; copy ppO2 of pure gas to hi:lo
 	movff	int_O_pure_ppO2+1,hi
-	TFT_color_code warn_ppo2			; color-code output
+	call	TFT_color_code_ppo2			; color-code output
 	bsf		leftbind
-	output_16dp  .3         			; x.xx bar
-    bcf		leftbind
-    STRCAT_PRINT ""
+	output_16dp .3						; x.xx bar
+	bcf		leftbind
+	STRCAT_PRINT ""
 	goto	TFT_standard_color			; and return...
 
 ;=============================================================================
 
-    global  TFT_surface_lastdive
+	global	TFT_surface_lastdive
 TFT_surface_lastdive:
-    call    TFT_divemask_color
-    WIN_TINY    surf_gaslist_column,surf_gaslist_row+.5
-    STRCAT_TEXT_PRINT   tLastDive		    ; Last Dive:
-    WIN_TINY    surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.1)+.5
-    STRCAT_TEXT_PRINT   tDivetime		    ; Divetime
-    WIN_TINY    surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.2)+.5
-    STRCAT_TEXT_PRINT   tMaxDepth		    ; Max. Depth
-    call	TFT_standard_color
-    WIN_SMALL    surf_gaslist_column+.48,surf_gaslist_row
-	
+	call	TFT_divemask_color
+	WIN_TINY surf_gaslist_column,surf_gaslist_row+.5
+	STRCAT_TEXT_PRINT	tLastDive			; Last Dive:
+	WIN_TINY surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.1)+.5
+	STRCAT_TEXT_PRINT	tDivetime			; Divetime
+	WIN_TINY surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.2)+.5
+	STRCAT_TEXT_PRINT	tMaxDepth			; Max. Depth
+	call	TFT_standard_color
+	WIN_SMALL surf_gaslist_column+.48,surf_gaslist_row
+
 	movff	int_O_desaturation_time+0,lo	; bank-safe copies
 	movff	int_O_desaturation_time+1,WREG
 	iorwf	lo,W							; check if desaturation time is zero
-    bz		TFT_surface_lastdive_1			; YES - show last dive time
+	bz		TFT_surface_lastdive_1			; YES - show last dive time
 	movff	surface_interval+0,lo			; NO  - show dive interval
 	movff	surface_interval+1,hi
-	call	convert_time				; lo=mins, hi=hours
+	call	convert_time					; lo=mins, hi=hours
 	movf	hi,W
 	movff	lo,hi
-	movwf	lo							; exchange lo and hi
-	bsf	    leftbind
+	movwf	lo								; exchange lo and hi
+	bsf		leftbind
 	output_99x
-	PUTC    'h'
+	PUTC	'h'
 	movff	hi,lo
 	output_99x
 	STRCAT_PRINT "m "
 	bra		TFT_surface_lastdive_2
 TFT_surface_lastdive_1:
-    movff   lastdive_time+0,xC+0
-    movff   lastdive_time+1,xC+1
-    movff   lastdive_time+2,xC+2
-    movff   lastdive_time+3,xC+3
-    movlw   LOW	    .3600
-    movwf   xB+0
-    movlw   HIGH    .3600
-    movwf   xB+1						; One day = 3600s
-    call    div32x16					; xC:4 / xB:2 = xC+3:xC+2 with xC+1:xC+0 as remainder
-    ;xC+0:xC+1 -> Full hours
-    movff   xC+1,xA+1
-    movff   xC+0,xA+0
-    clrf    xB+1
-    movlw   .24
-    movwf   xB+0
-    call    div16x16					;xA/xB=xC with xA+0 as remainder 	
-    movff   xC+0,lo
-    movff   xC+1,hi						; Full days
-    bsf	    leftbind
-    output_16
-    PUTC    "d"
-    movff   xA+0,lo						; Full hours
-    output_8
+	movff	lastdive_time+0,xC+0
+	movff	lastdive_time+1,xC+1
+	movff	lastdive_time+2,xC+2
+	movff	lastdive_time+3,xC+3
+	movlw	LOW  .3600
+	movwf	xB+0
+	movlw	HIGH .3600
+	movwf	xB+1							; One day = 3600s
+	call	div32x16						; xC:4 / xB:2 = xC+3:xC+2 with xC+1:xC+0 as remainder
+	;xC+0:xC+1 -> Full hours
+	movff	xC+1,xA+1
+	movff	xC+0,xA+0
+	clrf	xB+1
+	movlw	.24
+	movwf	xB+0
+	call	div16x16						;xA/xB=xC with xA+0 as remainder
+	movff	xC+0,lo
+	movff	xC+1,hi							; Full days
+	bsf		leftbind
+	output_16
+	PUTC	"d"
+	movff	xA+0,lo							; Full hours
+	output_8
 	STRCAT_PRINT "h "
 TFT_surface_lastdive_2:
-    WIN_SMALL    surf_gaslist_column+.48,surf_gaslist_row+(surf_gaslist_spacing*.1)
-    movff   lastdive_duration+0,lo
-    movff   lastdive_duration+1,hi
-    output_16							; divetime minutes
-    PUTC    ":"
-    movff   lastdive_duration+2,lo
-    output_99x							; divetime seconds
-    STRCAT_PRINT    ""
-    WIN_SMALL    surf_gaslist_column+.48,surf_gaslist_row+(surf_gaslist_spacing*.2)
-    movff   lastdive_maxdepth+0,lo
-    movff   lastdive_maxdepth+1,hi
-    TSTOSS  opt_units					; 0=Meters, 1=Feets
-    bra	    TFT_surface_lastdive_metric
+	WIN_SMALL surf_gaslist_column+.48,surf_gaslist_row+(surf_gaslist_spacing*.1)
+	movff	lastdive_duration+0,lo
+	movff	lastdive_duration+1,hi
+	output_16								; divetime minutes
+	PUTC	":"
+	movff	lastdive_duration+2,lo
+	output_99x								; divetime seconds
+	STRCAT_PRINT ""
+	WIN_SMALL	surf_gaslist_column+.48,surf_gaslist_row+(surf_gaslist_spacing*.2)
+	movff	lastdive_maxdepth+0,lo
+	movff	lastdive_maxdepth+1,hi
+	TSTOSS	opt_units						; 0=Meters, 1=Feets
+	bra		TFT_surface_lastdive_metric
 	;imperial
-    rcall   convert_mbar_to_feet    	; convert value in lo:hi from mbar to feet
-    output_16_3                         ; limit to 999 and display only (0-999)
-    STRCAT_TEXT tFeets1
-    bra	    TFT_surface_lastdive2
+	rcall	convert_mbar_to_feet			; convert value in lo:hi from mbar to feet
+	output_16_3								; limit to 999 and display only (0-999)
+	STRCAT_TEXT tFeets1
+	bra		TFT_surface_lastdive2
 
 TFT_surface_lastdive_metric:
-    bsf     ignore_digit5               ; no cm...
-    movlw   d'1'						; +1
-    movff   WREG,ignore_digits			; no 1000m
-    output_16dp .3  					; xxx.y
-    STRCAT_TEXT tMeters
+	bsf		ignore_digit5					; no cm...
+	movlw	d'1'							; +1
+	movff	WREG,ignore_digits				; no 1000m
+	output_16dp .3							; xxx.y
+	STRCAT_TEXT tMeters
 TFT_surface_lastdive2:
-    STRCAT_PRINT    ""
-    bcf	    leftbind
-    return  							; Done.
+	STRCAT_PRINT ""
+	bcf		leftbind
+	return									; Done.
 
 ;=============================================================================
-	
-    global  TFT_surface_tissues
-TFT_surface_tissues:             		; Show Tissue diagram in surface mode
-    WIN_SMALL    surf_tissue_N2_column,surf_tissue_N2_row
-    STRCPY_TEXT_PRINT   tN2
-    WIN_SMALL    surf_tissue_He_column,surf_tissue_He_row
-    STRCPY_TEXT_PRINT   tHe
-
-    movlw	color_deepblue
-	call	TFT_set_color				; Make this configurable?
-    WIN_FRAME_COLOR16 surf_tissue_diagram_top+.23,surf_tissue_diagram_bottom-.4,.29,.29
-    WIN_FRAME_COLOR16 surf_tissue_diagram_top+.23,surf_tissue_diagram_bottom-.4,.37,.37
-    WIN_FRAME_COLOR16 surf_tissue_diagram_top+.23,surf_tissue_diagram_bottom-.4,.45,.45
-    WIN_FRAME_COLOR16 surf_tissue_diagram_top+.23,surf_tissue_diagram_bottom-.4,.53,.53
-    WIN_FRAME_COLOR16 surf_tissue_diagram_top+.23,surf_tissue_diagram_bottom-.4,.61,.61
-    WIN_FRAME_COLOR16 surf_tissue_diagram_top+.23,surf_tissue_diagram_bottom-.4,.69,.69
-    WIN_FRAME_COLOR16 surf_tissue_diagram_top+.23,surf_tissue_diagram_bottom-.4,.77,.77
-    WIN_FRAME_COLOR16 surf_tissue_diagram_top+.23,surf_tissue_diagram_bottom-.4,.85,.85
-    WIN_FRAME_STD	  surf_tissue_diagram_top, surf_tissue_diagram_bottom, surf_tissue_diagram_left, surf_tissue_diagram_right    ; outer frame
+
+	global	TFT_surface_tissues
+TFT_surface_tissues:						; Show Tissue diagram in surface mode
+	WIN_SMALL surf_tissue_N2_column,surf_tissue_N2_row
+	STRCPY_TEXT_PRINT tN2
+	WIN_SMALL surf_tissue_He_column,surf_tissue_He_row
+	STRCPY_TEXT_PRINT tHe
+
+	movlw	color_deepblue
+	call	TFT_set_color					; Make this configurable?
+	WIN_FRAME_COLOR16 surf_tissue_diagram_top+.23,surf_tissue_diagram_bottom-.4,.29,.29
+	WIN_FRAME_COLOR16 surf_tissue_diagram_top+.23,surf_tissue_diagram_bottom-.4,.37,.37
+	WIN_FRAME_COLOR16 surf_tissue_diagram_top+.23,surf_tissue_diagram_bottom-.4,.45,.45
+	WIN_FRAME_COLOR16 surf_tissue_diagram_top+.23,surf_tissue_diagram_bottom-.4,.53,.53
+	WIN_FRAME_COLOR16 surf_tissue_diagram_top+.23,surf_tissue_diagram_bottom-.4,.61,.61
+	WIN_FRAME_COLOR16 surf_tissue_diagram_top+.23,surf_tissue_diagram_bottom-.4,.69,.69
+	WIN_FRAME_COLOR16 surf_tissue_diagram_top+.23,surf_tissue_diagram_bottom-.4,.77,.77
+	WIN_FRAME_COLOR16 surf_tissue_diagram_top+.23,surf_tissue_diagram_bottom-.4,.85,.85
+	WIN_FRAME_STD     surf_tissue_diagram_top, surf_tissue_diagram_bottom, surf_tissue_diagram_left, surf_tissue_diagram_right	; outer frame
 
 	movlw	.1
-	movff	WREG,win_height             								; row bottom (0-239)
-	
-    ;---- Draw N2 Tissues ----------------------------------------------------	
-
-    movlw   surf_tissue_diagram_left+.4 								; start position for N2 bars
-	movff	WREG,win_leftx2             								; column left (0-159)
+	movff	WREG,win_height												; row bottom (0-239)
+
+	;---- Draw N2 Tissues ----------------------------------------------------
+
+	movlw	surf_tissue_diagram_left+.4									; start position for N2 bars
+	movff	WREG,win_leftx2												; column left (0-159)
 	movlw	surf_tissue_diagram_right - surf_tissue_diagram_left - .4	; max width for N2 bars
-	movff   WREG,win_width
+	movff	WREG,win_width
 
 	lfsr	FSR2, char_O_tissue_N2_saturation
 	movlw	d'16'
-	movwf	wait_temp                   		; 16 tissues
-	clrf	waitms_temp                 		; row offset
+	movwf	lo															; 16 tissues
+	clrf	hi															; row offset
 surf_tissue_saturation_graph_N2:
-    movlw   surf_tissue_diagram_top+.23 		; surface mode
-	addwf	waitms_temp,W
-	movff	WREG,win_top                		; row top (0-239)
-    rcall   surf_tissue_saturation_loop 		; show one tissue
-	decfsz	wait_temp,F
+	movlw	surf_tissue_diagram_top+.23									; surface mode
+	addwf	hi,W
+	movff	WREG,win_top												; row top (0-239)
+	rcall	surf_tissue_saturation_loop									; show one tissue
+	decfsz	lo,F
 	bra		surf_tissue_saturation_graph_N2
 
-    ;---- Draw He Tissues ----------------------------------------------------
-	
+	;---- Draw He Tissues ----------------------------------------------------
+
 	movlw	surf_tissue_diagram_left + .24								; start position for He bars (.15 without x2)
-	movff	WREG,win_leftx2 											; column left (0-159)
+	movff	WREG,win_leftx2												; column left (0-159)
 	movlw	surf_tissue_diagram_right - surf_tissue_diagram_left - .24	; max width for He bars
-	movff 	WREG,win_width
-	
+	movff	WREG,win_width
+
 	lfsr	FSR2, char_O_tissue_He_saturation
 	movlw	d'16'
-	movwf	wait_temp                   		; 16 tissues
-	clrf	waitms_temp                 		; row offset
+	movwf	lo															; 16 tissues
+	clrf	hi													; row offset
 surf_tissue_saturation_graph_He:
-    movlw   surf_tissue_diagram_top+.23+.57    	; surface mode
-	addwf	waitms_temp,W
-	movff	WREG,win_top                		; row top (0-239)
-    rcall   surf_tissue_saturation_loop    		; show one tissue
-	decfsz	wait_temp,F
+	movlw	surf_tissue_diagram_top+.23+.57								; surface mode
+	addwf	hi,W
+	movff	WREG,win_top												; row top (0-239)
+	rcall	surf_tissue_saturation_loop									; show one tissue
+	decfsz	lo,F
 	bra		surf_tissue_saturation_graph_He
-	
-	WIN_SMALL surf_tissue_He_column+.22,surf_tissue_He_row	; position in-between tissue bars
+
+	WIN_SMALL surf_tissue_He_column+.22,surf_tissue_He_row				; position in-between tissue bars
 	movff	int_O_CNS_fraction+0,lo
 	movff	int_O_CNS_fraction+1,hi
-	TFT_color_code	warn_cns
-	STRCPY_TEXT tCNS2							; CNS:
+	call	TFT_color_code_cns
+	STRCPY_TEXT tCNS2													; CNS:
 	bsf		leftbind
-	output_16_3									; Displays only 0...999
+	output_16_3															; Displays only 0...999
 	bcf		leftbind
 	STRCAT_PRINT "%"
-	goto	TFT_standard_color					; and return...
+	goto	TFT_standard_color											; and return...
 
 surf_tissue_saturation_loop:
-    call	TFT_standard_color
-    movlw   .2                          ; row spacing
-	addwf   waitms_temp,F
-	movf	POSTINC2,W                  ; get tissue load
+	call	TFT_standard_color
+	movlw	.2							; row spacing
+	addwf	hi,F
+	movf	POSTINC2,W					; get tissue load
 	bcf		WREG,7						; clear flag bit for sat/desat info (not used in surface mode)
 	rlncf	WREG,W						; multiply with 2 (previously cleared bit 7 will be rotated to bit 0)
 	incf	WREG,W						; add 1 for a minimum visible bar (He-bars could be invisible else-wise)
-	movwf   temp1
-    movff   win_width+0,WREG			; get max window width (win_width)
-    cpfslt	temp1						; skip if WREG < win_width
-    movwf	temp1						; crop length to win_width
+	movwf	up
+	movff	win_width+0,WREG			; get max window width (win_width)
+	cpfslt	up							; skip if WREG < win_width
+	movwf	up							; crop length to win_width
 										; no need to be able to draw longer bars –
 										; we are at the surface and if bars would
 										; even touch the max length possible here,
 										; the diver would be in severe decompression
 										; issues if not dead already...
-    movff   temp1,win_bargraph
-    clrf    win_width+1
-    goto	TFT_box						; and return...
+	movff	up,win_bargraph
+	clrf	win_width+1
+	goto	TFT_box						; and return...
 
 ;=============================================================================
 ; Draw saturation graph in dive mode.
 
 DISP_tissue_saturation_graph:
-    ;---- Draw Frame
-    call	TFT_standard_color
-    WIN_FRAME_COLOR16   dm_custom_tissue_diagram_top, dm_custom_tissue_diagram_bottom, dm_custom_tissue_diagram_left, .159    ; outer frame
+	;---- Draw Frame
+	call	TFT_standard_color
+	WIN_FRAME_COLOR16 dm_custom_tissue_diagram_top, dm_custom_tissue_diagram_bottom, dm_custom_tissue_diagram_left, .159	; outer frame
 
 	movlw	.1
-	movff	WREG,win_height             				; row bottom (0-239)
-	
-    ;---- Draw N2 Tissues ----------------------------------------------------	
-	
-    movlw   dm_custom_tissue_diagram_left+.3      		; divemode
-	movff	WREG,win_leftx2             				; column left (0-159)
-	movlw	.159-dm_custom_tissue_diagram_left-.4  		; width
-	movff   WREG,win_width
+	movff	WREG,win_height							; row bottom (0-239)
+
+	;---- Draw N2 Tissues ----------------------------------------------------
+
+	movlw	dm_custom_tissue_diagram_left+.3		; divemode
+	movff	WREG,win_leftx2							; column left (0-159)
+	movlw	.159-dm_custom_tissue_diagram_left-.4	; width
+	movff	WREG,win_width
 
 	lfsr	FSR2, char_O_tissue_N2_saturation
 	movlw	d'16'
-	movwf	wait_temp                   				; 16 tissues
-	clrf	waitms_temp                 				; row offset
+	movwf	lo											; 16 tissues
+	clrf	hi											; row offset
 tissue_saturation_graph_N2:
-    movlw   dm_custom_tissue_diagram_top+.3        		; divemode
-    rcall   tissue_saturation_graph_loop    			; show one tissue
-	decfsz	wait_temp,F
+	movlw	dm_custom_tissue_diagram_top+.3				; divemode
+	rcall	tissue_saturation_graph_loop				; show one tissue
+	decfsz	lo,F
 	bra		tissue_saturation_graph_N2
 
-    ;---- Draw He Tissues ----------------------------------------------------
-	
+	;---- Draw He Tissues ----------------------------------------------------
+
 	movlw	dm_custom_tissue_diagram_left + .8			; divemode
 	movff	WREG,win_leftx2								; column left (0-159)
 	movlw	.159 - dm_custom_tissue_diagram_left - .14	; width
 	movff	WREG,win_width
-		
+
 	lfsr	FSR2, char_O_tissue_He_saturation
 	movlw	d'16'
-	movwf	wait_temp									; 16 tissues
-	clrf	waitms_temp									; row offset
+	movwf	lo											; 16 tissues
+	clrf	hi											; row offset
 tissue_saturation_graph_He:
-    movlw   dm_custom_tissue_diagram_top+.3+.22			; divemode
-    rcall   tissue_saturation_graph_loop    			; show one tissue
-	decfsz	wait_temp,F
+	movlw	dm_custom_tissue_diagram_top+.3+.22			; divemode
+	rcall	tissue_saturation_graph_loop				; show one tissue
+	decfsz	lo,F
 	bra		tissue_saturation_graph_He
 	goto	TFT_standard_color							; and return...
 
 tissue_saturation_graph_loop:
-    addwf	waitms_temp,W
-	movff	WREG,win_top                				; row top (0-239)
-	movlw   color_cyan									; preset color for tissues with decreasing pressure
-    call	TFT_set_color
-	incf	waitms_temp,F
+	addwf	hi,W
+	movff	WREG,win_top								; row top (0-239)
+	movlw	color_cyan									; preset color for tissues with decreasing pressure
+	call	TFT_set_color
+	incf	hi,F
 	movf	POSTINC2,W
 	btfss	WREG,7										; check fs flag for increasing tissue pressure set
 	bra		tissue_saturation_graph_loop_1				; NO  - keep color
-	movwf	temp1										; YES - buffer WREG
-	movlw   color_orange								; 		select color for tissues with increasing pressure
-    call	TFT_set_color								;		change color
-	movf	temp1,W										;		restore WREG
+	movwf	up											; YES - buffer WREG
+	movlw	color_orange								;       select color for tissues with increasing pressure
+	call	TFT_set_color								;       change color
+	movf	up,W										;       restore WREG
 tissue_saturation_graph_loop_1:
 	bcf		WREG,7										; clear flag bit
-    bcf		STATUS,C
-	rrcf	WREG                        				; divide by 2
+	bcf		STATUS,C
+	rrcf	WREG										; divide by 2
 	incf	WREG,W										; add a bit for a minimum visible bar
-	movwf   temp1
-	;movlw	.1
-    ;addwf	temp1,F                     				; add a bit for a minimum visible bar (old version)
-	movf	win_width,W                					; get max window width (win_width)
-	cpfslt	temp1                       				; skip if WREG < win_width
-	movwf	temp1
-	movff   temp1,win_bargraph
-    clrf    win_width+1
-    goto    TFT_box	    								; and return...
+	movwf	up
+	movf	win_width,W									; get max window width (win_width)
+	cpfslt	up											; skip if WREG < win_width
+	movwf	up
+	movff	up,win_bargraph
+	clrf	win_width+1
+	goto	TFT_box										; and return...
 
 ;=============================================================================
 
 	global	TFT_display_cns
 TFT_display_cns:
 	call	TFT_warning_set_window		; Sets the row and column for the current warning
-    tstfsz  WREG						; Is there room for the warning?
-    return								; No
-    STRCPY_TEXT tCNS					; CNS:
-    movff	int_O_CNS_fraction+0,lo
-    movff	int_O_CNS_fraction+1,hi
-    TFT_color_code	warn_cns			; Color-code CNS output
-    bsf		leftbind
-    output_16_3							; Displays only 0...999
-    bcf		leftbind
-    PUTC    "%"
-    movlw   dm_warning_length			; Divemode string length
-    btfss   divemode					; In Divemode?
-    movlw   surf_warning_length			; No, use surface string length
-    call	TFT_fillup_with_spaces		; Fillup FSR2 with spaces (Total string length in #WREG)
+	tstfsz	WREG						; Is there room for the warning?
+	return								; No
+	STRCPY_TEXT tCNS					; CNS:
+	movff	int_O_CNS_fraction+0,lo
+	movff	int_O_CNS_fraction+1,hi
+	call	TFT_color_code_cns			; Color-code CNS output
+	bsf		leftbind
+	output_16_3							; Displays only 0...999
+	bcf		leftbind
+	PUTC	"%"
+	movlw	dm_warning_length			; Divemode string length
+	btfss	divemode					; In Divemode?
+	movlw	surf_warning_length			; No, use surface string length
+	call	TFT_fillup_with_spaces		; Fillup FSR2 with spaces (Total string length in #WREG)
 	STRCAT_PRINT ""
 	bcf		win_invert
 	goto	TFT_standard_color			; and return...
@@ -4296,50 +4287,50 @@
 	global	TFT_display_eod_cns
 TFT_display_eod_cns:
 	call	TFT_warning_set_window		; Sets the row and column for the current warning
-    tstfsz  WREG						; Is there room for the warning?
-    return								; No
+	tstfsz	WREG						; Is there room for the warning?
+	return								; No
 	call	TFT_warnings_color			; switch to warnings (red) text color
 	STRCPY_TEXT tCNSeod					; end-of-dive CNS warning text
-    movlw   dm_warning_length			; Divemode string length
-    call	TFT_fillup_with_spaces		; Fillup FSR2 with spaces (Total string length in #WREG)
+	movlw	dm_warning_length			; Divemode string length
+	call	TFT_fillup_with_spaces		; Fillup FSR2 with spaces (Total string length in #WREG)
 	STRCAT_PRINT ""
 	goto	TFT_standard_color			; and return...
 
 
-	global	TFT_display_ppo2	
+	global	TFT_display_ppo2
 TFT_display_ppo2:
 	call	TFT_warning_set_window		; Sets the row and column for the current warning
-    tstfsz  WREG						; Is there room for the warning?
-    return								; No
+	tstfsz	WREG						; Is there room for the warning?
+	return								; No
 	movff	int_O_pure_ppO2+0,lo		; copy ppO2 of the pure gas (OC: = breathed gas, loop: = diluent/premix) to hi:lo
 	movff	int_O_pure_ppO2+1,hi
-	TFT_color_code warn_ppo2			; Color-code output
-    btfss   FLAG_ccr_mode 				; in CCR mode?
-    bra	    TFT_display_diluent_1		; NO  - continue with pSCR or OC 
-    btfsc   is_bailout 					; YES - in bailout?
-    bra	    TFT_display_diluent_2		; 		YES - continue with OC 
-    STRCPY_TEXT tdil					; 		NO  - print "Dil:"
-    bra	    TFT_display_diluent_3
+	call	TFT_color_code_ppo2			; Color-code output
+	btfss	FLAG_ccr_mode				; in CCR mode?
+	bra		TFT_display_diluent_1		; NO  - continue with pSCR or OC 
+	btfsc	is_bailout					; YES - in bailout?
+	bra		TFT_display_diluent_2		;       YES - continue with OC 
+	STRCPY_TEXT tdil					;       NO  - print "Dil:"
+	bra		TFT_display_diluent_3
 TFT_display_diluent_1:
-	btfss   FLAG_pscr_mode 				; in pSCR mode?
-    bra	    TFT_display_diluent_2		; NO  - continue with pSCR or OC 
-    btfsc   is_bailout 					; YES - in bailout?
-    bra	    TFT_display_diluent_2		; 		YES - continue with OC 
-    STRCPY_TEXT tmix					; 		NO  - print "Mix:"
-    bra	    TFT_display_diluent_3
+	btfss	FLAG_pscr_mode				; in pSCR mode?
+	bra		TFT_display_diluent_2		; NO  - continue with pSCR or OC 
+	btfsc	is_bailout					; YES - in bailout?
+	bra		TFT_display_diluent_2		;       YES - continue with OC 
+	STRCPY_TEXT tmix					;       NO  - print "Mix:"
+	bra		TFT_display_diluent_3
 TFT_display_diluent_2:
-    STRCPY_TEXT tppO2                   ; OC mode or bailout, print "ppO2:"
+	STRCPY_TEXT tppO2					; OC mode or bailout, print "ppO2:"
 TFT_display_diluent_3:
 	bsf		leftbind
-	output_16dp  .3         			; x.xx bar
-    bcf		leftbind
-	movlw   dm_warning_length			; Divemode string length
-    call	TFT_fillup_with_spaces		; Fillup FSR2 with spaces (Total string length in #WREG)
+	output_16dp .3						; x.xx bar
+	bcf		leftbind
+	movlw	dm_warning_length			; Divemode string length
+	call	TFT_fillup_with_spaces		; Fillup FSR2 with spaces (Total string length in #WREG)
 	STRCAT_PRINT ""
 	goto	TFT_standard_color			; and return...
-	
+
 ;=============================================================================
-	
+
 	global	TFT_LogOffset_Logtitle
 TFT_LogOffset_Logtitle:
 	STRCPY_TEXT tLogOffset
@@ -4349,25 +4340,25 @@
 	output_16_4
 	bcf		leftbind
 	PUTC	" "
-	return							; No "_PRINT" here...
-	
+	return								; No "_PRINT" here...
+
 ;=============================================================================
-	
+
 	global	adjust_depth_with_salinity
-	global  adjust_depth_with_salinity_log
+	global	adjust_depth_with_salinity_log
 adjust_depth_with_salinity:			; computes salinity setting into lo:hi [mbar]
-	btfsc	simulatormode_active	; Do not apply salinity in Simulatormode
+	btfsc	simulatormode_active	; Do not apply salinity in simulator mode
 	return
-    movff   opt_salinity,WREG       ; 0-5%
+	movff	opt_salinity,WREG		; 0-5%
 adjust_depth_with_salinity_log:		; computes salinity setting (FROM WREG!) into lo:hi [mbar]
-	addlw	d'100'                  ; 1.00kg/l
-	movwf	wait_temp
-	
+	addlw	d'100'					; 1.00kg/l
+	movwf	up
+
 	movlw	d'105'					; 105% ?
-	cpfslt	wait_temp				; Salinity higher limit
+	cpfslt	up						; Salinity higher limit
 	return							; Out of limit, do not adjust lo:hi
 	movlw	d'99'					; 99% ?
-	cpfsgt	wait_temp				; Salinity lower limit
+	cpfsgt	up						; Salinity lower limit
 	return							; Out of limit, do not adjust lo:hi
 
 	movff	lo,xA+0
@@ -4377,77 +4368,77 @@
 	movwf	xB+0
 	clrf	xB+1
 	call	mult16x16				; xA*xB=xC (lo:hi * 100)
-	movff	wait_temp,xB+0			; Salinity
+	movff	up,xB+0					; Salinity
 	clrf	xB+1
-	call	div32x16  				; xC:4 / xB:2 = xC+3:xC+2 with xC+1:xC+0 as remainder
+	call	div32x16				; xC:4 / xB:2 = xC+3:xC+2 with xC+1:xC+0 as remainder
 	movff	xC+0,lo
 	movff	xC+1,hi					; restore lo and hi with updated value
 	return
 
 ;=============================================================================
-	
-	global	convert_mbar_to_feet   	; convert value in lo:hi from mbar to feet
-convert_mbar_to_feet:              	; convert value in lo:hi from mbar to feet
+
+	global	convert_mbar_to_feet	; convert value in lo:hi from mbar to feet
+convert_mbar_to_feet:				; convert value in lo:hi from mbar to feet
 	movff	lo,xA+0
 	movff	hi,xA+1
 
-	movlw	LOW 	d'328'          ; 328feet/100m
+	movlw	LOW  d'328'				; 328feet/100m
 	movwf	xB+0
-	movlw	HIGH 	d'328'
+	movlw	HIGH d'328'
 	movwf	xB+1
 
-	call	mult16x16			    ; xA*xB=xC (lo:hi * 328)
-
-	movlw	d'50'                   ; round up
+	call	mult16x16				; xA*xB=xC (lo:hi * 328)
+
+	movlw	d'50'					; round up
 	addwf	xC+0,F
 	movlw	0
 	addwfc	xC+1,F
 	addwfc	xC+2,F
 	addwfc	xC+3,F
 
-    movlw   LOW  .10000
-    movwf   xB+0
-    movlw   HIGH .10000
-    movwf   xB+1
-
-	call	div32x16  			    ; xC:4 / xB:2 = xC+3:xC+2 with xC+1:xC+0 as remainder
+	movlw	LOW  .10000
+	movwf	xB+0
+	movlw	HIGH .10000
+	movwf	xB+1
+
+	call	div32x16				; xC:4 / xB:2 = xC+3:xC+2 with xC+1:xC+0 as remainder
 
 	movff	xC+0,lo
-	movff	xC+1,hi				    ; restore lo and hi with updated value
+	movff	xC+1,hi					; restore lo and hi with updated value
 	return
 
 ;=============================================================================	
 
-    global    convert_celsius_to_fahrenheit    ; convert value in lo:hi from celsius to fahrenheit
-convert_celsius_to_fahrenheit:      ; convert value in lo:hi from celsius to fahrenheit
-    movff   lo,xA+0                 ; temperature in 1/10 of °C
-    movff   hi,xA+1
-   
-    movlw   LOW  d'1000'            ; offset °C value by 1000 to get out of any negative numbers
-    addwf   xA+0,F
-    movlw   HIGH d'1000'
-    addwfc  xA+1,F
-
-    movlw   d'18'                   ; adjust scaling: 1°C = 1.8°F
-    movwf   xB+0
-    clrf    xB+1
-
-    call    mult16x16               ; xA*xB=xC (lo:hi * 18)
-
-    movlw   d'10'
-    movwf   xB+0
-    clrf    xB+1
-
-    call    div32x16                ; xC:4 / xB:2 = xC+3:xC+2 with xC+1:xC+0 as remainder
-
-    movlw   LOW  d'1480'            ; adjust offset: subtract above offset of 1000 * 1.8 = 1800 now and add 320 => subtract 1480
-    subwf   xC+0,F
-    movlw   HIGH d'1480'
-    subwfb  xC+1,F
-   
-    movff   xC+0,lo
-    movff   xC+1,hi                 ; restore lo and hi with updated value
-    return
+	global	convert_celsius_to_fahrenheit	; convert value in lo:hi from celsius to fahrenheit
+convert_celsius_to_fahrenheit:		; convert value in lo:hi from celsius to fahrenheit
+	movff	lo,xA+0					; temperature in 1/10 of °C
+	movff	hi,xA+1
+	
+	movlw	LOW  d'1000'			; offset °C value by 1000 to get out of any negative numbers
+	addwf	xA+0,F
+	movlw	HIGH d'1000'
+	addwfc	xA+1,F
+
+	movlw	d'18'					; adjust scaling: 1°C = 1.8°F
+	movwf	xB+0
+	clrf	xB+1
+
+	call	mult16x16				; xA*xB=xC (lo:hi * 18)
+
+	movlw	d'10'
+	movwf	xB+0
+	clrf	xB+1
+
+	call	div32x16				; xC:4 / xB:2 = xC+3:xC+2 with xC+1:xC+0 as remainder
+
+	movlw	LOW  d'1480'			; adjust offset: subtract above offset of 1000 * 1.8 = 1800 now and add 320 => subtract 1480
+	subwf	xC+0,F
+	movlw	HIGH d'1480'
+	subwfb	xC+1,F
+
+	movff	xC+0,lo
+	movff	xC+1,hi					; restore lo and hi with updated value
+	return
 
 ;=============================================================================