diff src/option_table.asm @ 631:185ba2f91f59

3.09 beta 1 release
author heinrichsweikamp
date Fri, 28 Feb 2020 15:45:07 +0100
parents cd58f7fc86db
children 4050675965ea
line wrap: on
line diff
--- a/src/option_table.asm	Fri Feb 21 10:51:36 2020 +0100
+++ b/src/option_table.asm	Fri Feb 28 15:45:07 2020 +0100
@@ -1,6 +1,6 @@
 ;=============================================================================
 ;
-;   File option_table.asm                     combined next generation V3.04.3
+;   File option_table.asm                     combined next generation V3.08.8
 ;
 ;   The Option Table
 ;
@@ -10,105 +10,99 @@
 ;   2014-08-03 : mH creation
 ;
 
-#include "hwos.inc"					; Mandatory Header
+#include "hwos.inc"                    ; Mandatory Header
 #include "eeprom_rs232.inc"
 
 ;=============================================================================
 ; Options Tables
 
-option_table	CODE 0x00700
+option_table	CODE 0x00700	; keep in lower page!
+
 
-OPTION_UINT8	MACRO lbl, min, max, default, unit, eeprom, register
-		global	lbl
-lbl:	db		.0, default			; type0 = INT8
-		db		.1, min
-		db		max, eeprom
-		dw		unit
-		dw		register
+OPTION_UINT8	MACRO lbl, min, max, default, unit, eeprom, serial, register
+	global	lbl
+lbl:	db	.0, serial					; type   : 0 = INT8
+		db	.1, min, max, default		; value  : increment, min, max, default
+		dw	unit, register, eeprom		; pointer: unit, variable, EEPROM
 		ENDM
 
-OPTION_UINT8d	MACRO lbl, min, max, default, unit, eeprom, register
-		global	lbl
-lbl:	db		.3, default			; type3 = INT8 with automatic display in meters or feet
-		db		.1, min
-		db		max, eeprom
-		dw		unit
-		dw		register
+OPTION_UINT8d	MACRO lbl, min, max, default, unit, eeprom, serial, register
+	global	lbl
+lbl:	db	.3, serial					; type   : 3 = INT8 with automatic display in meters or feet
+		db	.1, min, max, default		; value  : increment, min, max, default
+		dw	unit, register, eeprom		; pointer: unit, variable, EEPROM
 		ENDM
 
-OPTION_UINT8p2	MACRO lbl, min, max, default, unit, eeprom, register
-		global	lbl
-lbl:	db		.0, default			; type0 = INT8
-		db		.2, min
-		db		max, eeprom
-		dw		unit
-		dw	register
+OPTION_UINT8p2	MACRO lbl, min, max, default, unit, eeprom, serial, register
+	global	lbl
+lbl:	db	.0, serial					; type   : 0 = INT8 with increment 2
+		db	.2, min, max, default		; value  : increment, min, max, default
+		dw	unit, register, eeprom		; pointer: unit, variable, EEPROM
 		ENDM
 
-OPTION_UINT8p3	MACRO lbl, min, max, default, unit, eeprom, register
+OPTION_UINT8p3	MACRO lbl, min, max, default, unit, eeprom, serial, register
 		global	lbl
-lbl:	db		.0, default			; type0 = INT8
-		db		.3, min
-		db		max, eeprom
-		dw		unit
-		dw		register
+lbl:	db	.0, serial					; type   : 0 = INT8 with increment 3
+		db	.3, min, max, default		; value  : increment, min, max, default
+		dw	unit, register, eeprom		; pointer: unit, variable, EEPROM
 		ENDM
 
-OPTION_UINT8p3d	MACRO lbl, min, max, default, unit, eeprom, register
+OPTION_UINT8p3d	MACRO lbl, min, max, default, unit, eeprom, serial, register
 		global	lbl
-lbl:	db		.3, default			; type3 = INT8 with automatic display in meters or feet
-		db		.3, min
-		db		max, eeprom
-		dw		unit
-		dw		register
+lbl:	db	.3, serial					; type   : 3 = INT8 with increment 3 and automatic display in meters or feet
+		db	.3, min, max, default		; value  : increment, min, max, default
+		dw	unit, register, eeprom		; pointer: unit, variable, EEPROM
 		ENDM
 
-OPTION_UINT8p5	MACRO lbl, min, max, default, unit, eeprom, register
+OPTION_UINT8p5	MACRO lbl, min, max, default, unit, eeprom, serial, register
 		global	lbl
-lbl:	db		.0, default			; type0 = INT8
-		db		.5, min
-		db		max, eeprom
-		dw		unit
-		dw		register
+lbl:	db	.0, serial					; type   : 0 = INT8 with increment 5
+		db	.5, min, max, default		; value  : increment, min, max, default
+		dw	unit, register, eeprom		; pointer: unit, variable, EEPROM
 		ENDM
 
-OPTION_UINT8p10	MACRO lbl, min, max, default, unit, eeprom, register
+OPTION_UINT8p10	MACRO lbl, min, max, default, unit, eeprom, serial, register
 		global	lbl
-lbl:	db		.0, default			; type0 = INT8
-		db		.10, min
-		db		max, eeprom
-		dw		unit
-		dw		register
+lbl:	db	.0, serial					; type   : 0 = INT8 with increment 10
+		db	.10, min, max, default		; value  : increment, min, max, default
+		dw	unit, register, eeprom		; pointer: unit, variable, EEPROM
 		ENDM
 
-OPTION_ENUM8	MACRO lbl, max, default, tValue, eeprom, register
+OPTION_ENUM8	MACRO lbl, max, default, tValue, eeprom, serial, register
 		global	lbl
 		extern	tValue
-lbl:	db		.1, default			; type1 = ENUM
-		db		LOW(tValue), HIGH(tValue)
-		db		max, eeprom
-		dw		.0					; no unit
-		dw		register
+lbl:	db	.1, serial					; type   : 1 = ENUM
+		db	LOW(tValue), HIGH(tValue)	; value  : pointer to base text
+		db	max-1, default				; value  : number of ENUMS, default
+		dw	.0, register, eeprom		; pointer: (no unit), variable, EEPROM
 		ENDM
 
-OPTION_BOOL		MACRO lbl, default, eeprom, register
-		OPTION_ENUM8 lbl, 2, default, tNo, eeprom, register
+OPTION_BOOL		MACRO lbl, default, eeprom, serial, register
+		global	lbl
+		extern	tNo
+lbl:	db	.1, serial					; type   : 1 = ENUM
+		db	LOW(tNo), HIGH(tNo)			; value  : pointer to base of text "no"
+		db	.2-1, default				; value  : number of ENUMS, default
+		dw	.0, register, eeprom		; pointer: (no unit), variable, EEPROM
 		ENDM
 
-OPTION_STRING	MACRO lbl, length, defText, eeprom, register
+OPTION_STRING	MACRO lbl, stringlength, defText, eeprom, serial, register
 		global	lbl
-lbl:	db		.2, LOW(defText)	; type2 = STRING
-		db		HIGH(defText), 0
-		db		length, eeprom
-		dw		.0					; no unit
-		dw		register
+lbl:	db	.2, serial					; type   : 2 = STRING
+		db	LOW(defText), HIGH(defText)	; value  : pointer to string
+		db	stringlength, .0			; value  : length, (no default)
+		dw	.0, register, eeprom		; pointer: (no unit), variable, EEPROM
 		ENDM
 
+OPTION_END	MACRO
+		db	0xFF, 0xFF					; type   : 255 = end of table
+		ENDM
 
 ;=============================================================================
+
 	extern	tPercent, tMeters, tMinutes, tGasDisabled, tbar, tNo, tTrModeOff, tTrPresNone, tDefName, tblank, tLogTunitC, tTissuePresSat
-	extern	char_I_dive_interval, char_I_bottom_time, char_I_bottom_depth
-	extern	char_I_deco_model
+	extern	char_I_bottom_time, char_I_bottom_depth
+	extern	char_I_model
 	extern	char_I_extra_time
 	extern	char_I_SAC_work, char_I_SAC_deco, tLitersMinute
 	extern	char_I_PSCR_drop, char_I_PSCR_lungratio
@@ -116,250 +110,249 @@
 	extern	char_I_CC_max_frac_O2
 	extern	char_I_altitude_wait
 	extern	char_I_ppO2_max_work, char_I_ppO2_min, char_I_ppO2_max_deco, char_I_ppO2_min_loop
-	extern	char_I_ascent_speed, char_I_descent_speed, tMeterMinute
+	extern	char_I_descent_speed, tMeterMinute
 	extern	char_I_gas_change_time
 	extern	char_I_max_pres_diff
 	extern	char_I_gas_density_att, char_I_gas_density_warn
-	extern	char_I_dil_ppO2_check
-
- IFDEF _gas_contingency
-	extern	char_I_gas_contingency
- ENDIF
-
+	extern	char_I_dil_check
 
-;	Option Table - Format:
-;	----------------------
-;	OPTION_UINT8	Label,				min,			max,		  default, unit text,	EEPROM location, RAM location
-;	OPTION_ENUM8	Label,				number of enums				  default, unit text,	EEPROM location, RAM location	; number of enums = 2, 3, ..., default starts with 0
-;	OPTION_BOOL		Label,											  default,				EEPROM location, RAM location
+#DEFINE nounit		0x0000	; no unit text associated
+#DEFINE volatile	0xFFFF	; not stored in EEPROM
+#DEFINE nocomm		0x00	; not accessible via RS232
 
-#DEFINE notext		.0		; no text-string associated
-#DEFINE volatile	-1		; do not store to EEPROM
-
+;=============================================================================
 
 	global	option_table_begin
 option_table_begin:
-;=============================================================================
-; Manage Deco Planer & Dive Parameters
-	OPTION_ENUM8	oDiveMode,			.5,								.0,		tDvOC,			.8,		opt_dive_mode					; 0=OC, 1=CC, 2=Gauge, 3=Apnea, 4=PSCR
-	OPTION_ENUM8	oDecoMode,			.2,								.1,		tZHL16,			.9,		char_I_deco_model				; 0 = ZH-L16, 1 = ZH-L16-GF
-	;																							.10										; in use, see below
-	OPTION_UINT8d	oLastDeco,			.3,				.6,				.3,		tMeters,		.11,	opt_last_stop					; depth of the last deco stop
-	OPTION_UINT8	oGF_low,			.10,			.100,			.30,	tPercent,		.12,	opt_GF_low						; normal GF low
-	OPTION_UINT8	oGF_high,			.45,			.110,			.85,	tPercent,		.13,	opt_GF_high						; normal GF high
-	OPTION_UINT8p5	osatmultgf,			.100,			.140,			.100,	tPercent,		.14,	opt_sat_multiplier_gf			; saturation factor   for GF mode
-	OPTION_UINT8p5	odesatmultgf,		.60,			.100,			.100,	tPercent,		.15,	opt_desat_multiplier_gf			; desaturation factor for GF mode
-	;																							.16										; in use, see below
-	OPTION_UINT8	oaGF_low,			.10,			.100,			.30,	tPercent,		.17,	opt_aGF_low						; alternative GF low
-	OPTION_UINT8	oaGF_high,			.45,			.110,			.85,	tPercent,		.18,	opt_aGF_high					; alternative GF high
-	OPTION_BOOL		oEnable_aGF,		.0,														.19,	opt_enable_aGF					; =1: aGF can be selected underwater
-	OPTION_UINT8	oCompassGain,		.0,				.7,				.6,		tMinutes,		.20,	opt_compass_gain				; 0-7 (230LSB/Gauss to 1370LSB/Gauss)
-	OPTION_ENUM8	oSamplingRate,		.2,								.0,		tSetSeconds,	.21,	opt_sampling_rate				; =1: 10s, =0: 2s
+
+;	Option Table - Format:
+;	----------------------
+;	OPTION_UINT8    Label,              min,                  max,            default,      unit text,      EEPROM,  serial,  RAM location
+;	OPTION_ENUM8    Label,        number of ENUMS,                            default,      unit text,      EEPROM,  serial,  RAM location 					; number of enums = 2, 3, ..., default starts with 0
+;	OPTION_BOOL     Label,                                                    default,                      EEPROM,  serial,  RAM location
 
-;=============================================================================
-; Managing Settings
-	OPTION_UINT8	oExtraTime,			.0,				.9,				.0,		tMinutes,		.22,	char_I_extra_time				; extra bottom time for future TTS calculation
-	OPTION_ENUM8	oBrightness,		.3,								.0,		tEco,			.23,	opt_brightness					; =0: Eco, =1:Medium, =2:Full
-	OPTION_UINT8	oDiveSalinity,		.0,				.4,				.0,		tPercent,		.24,	opt_salinity					; 0-4%
-	OPTION_ENUM8	oCCRMode,			.3,								.0,		tCCRModeFixedSP,.25,	opt_ccr_mode					; =0: Fixed SP, =1: Sensor, =2: Auto SP
-	OPTION_ENUM8	oLanguage,			.2,								.0,		tLang1,			.26,	opt_language					; language selection
-	OPTION_ENUM8	oDateFormat,		.3,								.1,		tDateformat,	.27,	opt_dateformat					; =0:MMDDYY, =1:DDMMYY, =2:YYMMDD
-	OPTION_ENUM8	oUnits,				.2,								.0,		tMetric,		.28,	opt_units						; =0:Meter, =1:Feet
+	; Manage Deco Planer & Dive Parameters
+	OPTION_ENUM8    oDiveMode,           .5,                                       .0,      tDvOC,           0x01A,    0x20,  opt_dive_mode					; 0=OC, 1=CC, 2=Gauge, 3=Apnea, 4=PSCR
+	OPTION_ENUM8    oDecoMode,           .2,                                       .1,      tZHL16,          0x01B,    0x21,  char_I_model					; 0 = ZH-L16, 1 = ZH-L16-GF
+	;                                                                                                        0x01C											; in use, see below
+	OPTION_UINT8d   oLastDeco,           .3,                   .6,                 .3,      tMeters,         0x01D,    0x2C,  opt_last_stop					; depth of the last deco stop
+	OPTION_UINT8    oGF_low,            .10,                 .100,                .30,      tPercent,        0x01E,    0x25,  opt_GF_low					; normal GF low
+	OPTION_UINT8    oGF_high,           .45,                 .110,                .85,      tPercent,        0x01F,    0x26,  opt_GF_high					; normal GF high
+	OPTION_UINT8p5  osatmultgf,        .100,                 .140,               .100,      tPercent,        0x020,    0x5E,  opt_sat_multiplier_gf			; saturation factor   for GF mode
+	OPTION_UINT8p5  odesatmultgf,       .60,                 .100,               .100,      tPercent,        0x021,    0x5F,  opt_desat_multiplier_gf		; desaturation factor for GF mode
+	;                                                                                                        0x022											; in use, see below
+	OPTION_UINT8    oaGF_low,           .10,                 .100,                .30,      tPercent,        0x023,    0x27,  opt_aGF_low					; alternative GF low
+	OPTION_UINT8    oaGF_high,          .45,                 .110,                .85,      tPercent,        0x024,    0x28,  opt_aGF_high					; alternative GF high
+	OPTION_BOOL     oEnable_aGF,         .0,                                                                 0x025,    0x29,  opt_enable_aGF				; =1: aGF can be selected underwater
+	OPTION_UINT8    oCompassGain,        .0,                   .7,                 .6,      tMinutes,        0x026,    0x34,  opt_compass_gain				; 0-7 (230 LSB/Gauss to 1370LSB/Gauss)
+	OPTION_ENUM8    oSamplingRate,       .2,                                       .0,      tSetSeconds,     0x027,    0x2F,  opt_sampling_rate				; =1: 10s, =0: 2s
 
-;=============================================================================
-; Compass calibration data
-	OPTION_UINT8	oCalx0,				.0,				.255,			.0,		notext,			.29,	compass_CX_f+0					; compass calibration data x, low  byte
-	OPTION_UINT8	oCalx1,				.0,				.255,			.0,		notext,			.30,	compass_CX_f+1					;                          x, high byte
-	OPTION_UINT8	oCaly0,				.0,				.255,			.0,		notext,			.31,	compass_CY_f+0					;                          y, low  byte
-	OPTION_UINT8	oCaly1,				.0,				.255,			.0,		notext,			.32,	compass_CY_f+1					;                          y, high byte
-	OPTION_UINT8	oCalz0,				.0,				.255,			.0,		notext,			.33,	compass_CZ_f+0					;                          z, low  byte
-	OPTION_UINT8	oCalz1,				.0,				.255,			.0,		notext,			.34,	compass_CZ_f+1					;                          z, high byte
+	; Managing Settings
+	OPTION_UINT8    oExtraTime,          .0,                   .9,                 .0,      tMinutes,        0x028,    0x24,  char_I_extra_time				; extra bottom time for future TTS calculation
+	OPTION_ENUM8    oBrightness,         .3,                                       .0,      tEco,            0x029,    0x2D,  opt_brightness				; =0: Eco, =1:Medium, =2:Full
+	OPTION_UINT8    oDiveSalinity,   salinity_min,      salinity_max,              .0,      tPercent,        0x02A,    0x30,  opt_salinity					; 0-4%
+	OPTION_ENUM8    oCCRMode,            .3,                                       .0,      tCCRModeFixedSP, 0x02B,    0x1F,  opt_ccr_mode					; =0: Fixed SP, =1: Sensor, =2: Auto SP
+	OPTION_ENUM8    oLanguage,           .2,                                       .0,      tLang1,          0x02C,    0x32,  opt_language					; language selection
+	OPTION_ENUM8    oDateFormat,         .3,                                       .1,      tDateformat,     0x02D,    0x33,  opt_dateformat				; =0:MMDDYY, =1:DDMMYY, =2:YYMMDD
+	OPTION_ENUM8    oUnits,              .2,                                       .0,      tMetric,         0x02E,    0x2E,  opt_units						; =0:Meter, =1:Feet
+
+	; Compass calibration data
+	OPTION_UINT8    oCalx0,              .0,                 .255,                 .0,      nounit,          0x02F,  nocomm,  compass_CX_f+0				; compass calibration data x, low  byte
+	OPTION_UINT8    oCalx1,              .0,                 .255,                 .0,      nounit,          0x030,  nocomm,  compass_CX_f+1				;                          x, high byte
+	OPTION_UINT8    oCaly0,              .0,                 .255,                 .0,      nounit,          0x031,  nocomm,  compass_CY_f+0				;                          y, low  byte
+	OPTION_UINT8    oCaly1,              .0,                 .255,                 .0,      nounit,          0x032,  nocomm,  compass_CY_f+1				;                          y, high byte
+	OPTION_UINT8    oCalz0,              .0,                 .255,                 .0,      nounit,          0x033,  nocomm,  compass_CZ_f+0				;                          z, low  byte
+	OPTION_UINT8    oCalz1,              .0,                 .255,                 .0,      nounit,          0x034,  nocomm,  compass_CZ_f+1				;                          z, high byte
 
-;=============================================================================
-; Gas list
-	OPTION_ENUM8	oGas1,				.3,								.1,		tGasDisabled,	.35,	opt_gas_type+0					; gas type: 0=Disabled, 1=First, 2=Travel, 3=Deco
-	OPTION_ENUM8	oGas2,				.3,								.0,		tGasDisabled,	.36,	opt_gas_type+1
-	OPTION_ENUM8	oGas3,				.3,								.0,		tGasDisabled,	.37,	opt_gas_type+2
-	OPTION_ENUM8	oGas4,				.3,								.0,		tGasDisabled,	.38,	opt_gas_type+3
-	OPTION_ENUM8	oGas5,				.3,								.0,		tGasDisabled,	.39,	opt_gas_type+4
-	OPTION_UINT8	oGas1O2,			gaslist_min_o2,	.100,			.21,	tPercent,		.40,	opt_gas_O2_ratio+0				; O2 % of gas 1
-	OPTION_UINT8	oGas1He,			.0,				gaslist_max_He,	.0,		tPercent,		.41,	opt_gas_He_ratio+0				; He % of gas 1 
-	OPTION_UINT8	oGas2O2,			gaslist_min_o2,	.100,			.21,	tPercent,		.42,	opt_gas_O2_ratio+1
-	OPTION_UINT8	oGas2He,			.0,				gaslist_max_He,	.0,		tPercent,		.43,	opt_gas_He_ratio+1
-	OPTION_UINT8	oGas3O2,			gaslist_min_o2,		.100,		.21,	tPercent,		.44,	opt_gas_O2_ratio+2
-	OPTION_UINT8	oGas3He,			.0,				gaslist_max_He,	.0,		tPercent,		.45,	opt_gas_He_ratio+2
-	OPTION_UINT8	oGas4O2,			gaslist_min_o2,	.100,			.21,	tPercent,		.46,	opt_gas_O2_ratio+3
-	OPTION_UINT8	oGas4He,			.0,				gaslist_max_He,	.0,		tPercent,		.47,	opt_gas_He_ratio+3
-	OPTION_UINT8	oGas5O2,			gaslist_min_o2,	.100,			.21,	tPercent,		.48,	opt_gas_O2_ratio+4				; O2 % of gas 5
-	OPTION_UINT8	oGas5He,			.0,				gaslist_max_He,	.0,		tPercent,		.49,	opt_gas_He_ratio+4				; He % of gas 5
-	OPTION_UINT8d	oGas1Depth,			.0,	gaslist_max_change_depth,	.56,	tMeters,		.50,	opt_gas_change+0				; change depth of gas 1
-	OPTION_UINT8d	oGas2Depth,			.0,	gaslist_max_change_depth,	.56,	tMeters,		.51,	opt_gas_change+1
-	OPTION_UINT8d	oGas3Depth,			.0,	gaslist_max_change_depth,	.56,	tMeters,		.52,	opt_gas_change+2
-	OPTION_UINT8d	oGas4Depth,			.0,	gaslist_max_change_depth,	.56,	tMeters,		.53,	opt_gas_change+3
-	OPTION_UINT8d	oGas5Depth,			.0,	gaslist_max_change_depth,	.56,	tMeters,		.54,	opt_gas_change+4				; change depth of gas 5
-	OPTION_UINT8	oDil1O2,			gaslist_min_o2,	.100,			.21,	tPercent,		.55,	opt_dil_O2_ratio+0				; O2 % of diluent 1
-	OPTION_UINT8	oDil1He,			.0,				gaslist_max_He,	.0,		tPercent,		.56,	opt_dil_He_ratio+0				; He % of diluent 1
-	OPTION_UINT8	oDil2O2,			gaslist_min_o2,	.100,			.21,	tPercent,		.57,	opt_dil_O2_ratio+1
-	OPTION_UINT8	oDil2He,			.0,				gaslist_max_He,	.0,		tPercent,		.58,	opt_dil_He_ratio+1
-	OPTION_UINT8	oDil3O2,			gaslist_min_o2,	.100,			.21,	tPercent,		.59,	opt_dil_O2_ratio+2
-	OPTION_UINT8	oDil3He,			.0,				gaslist_max_He,	.0,		tPercent,		.60,	opt_dil_He_ratio+2
-	OPTION_UINT8	oDil4O2,			gaslist_min_o2,	.100,			.21,	tPercent,		.61,	opt_dil_O2_ratio+3
-	OPTION_UINT8	oDil4He,			.0,				gaslist_max_He,	.0,		tPercent,		.62,	opt_dil_He_ratio+3
-	OPTION_UINT8	oDil5O2,			gaslist_min_o2,	.100,			.21,	tPercent,		.63,	opt_dil_O2_ratio+4				; O2 % of diluent 5
-	OPTION_UINT8	oDil5He,			.0,				gaslist_max_He,	.0,		tPercent,		.64,	opt_dil_He_ratio+4				; He % of diluent 5
-	OPTION_UINT8	oSetPoint1,			gaslist_sp_min,	gaslist_sp_max,	.70,	tbar,			.65,	opt_setpoint_cbar+0				; ppO2 of setpoint 1
-	OPTION_UINT8	oSetPoint2,			gaslist_sp_min,	gaslist_sp_max,	.90,	tbar,			.66,	opt_setpoint_cbar+1				; ppO2 of setpoint 2
-	OPTION_UINT8	oSetPoint3,			gaslist_sp_min,	gaslist_sp_max,	.100,	tbar,			.67,	opt_setpoint_cbar+2				; ...
-	OPTION_UINT8	oSetPoint4,			gaslist_sp_min,	gaslist_sp_max,	.120,	tbar,			.68,	opt_setpoint_cbar+3				; ...
-	OPTION_UINT8	oSetPoint5,			gaslist_sp_min,	gaslist_sp_max,	.140,	tbar,			.69,	opt_setpoint_cbar+4				; ppO2 of setpoint 5
-	OPTION_UINT8d	oSP1Depth,			.0,				.100,			.0,		tMeters,		.70,	opt_setpoint_change+0			; change depth of setpoint 1 (forced to 0 in code)
-	OPTION_UINT8d	oSP2Depth,			.0,				.100,			.0,		tMeters,		.71,	opt_setpoint_change+1			; change depth of setpoint 2
-	OPTION_UINT8d	oSP3Depth,			.0,				.100,			.0,		tMeters,		.72,	opt_setpoint_change+2			; ...
-	OPTION_UINT8d	oSP4Depth,			.0,				.100,			.0,		tMeters,		.73,	opt_setpoint_change+3			; ...
-	OPTION_UINT8d	oSP5Depth,			.0,				.100,			.0,		tMeters,		.74,	opt_setpoint_change+4			; change depth of setpoint 5
-	OPTION_ENUM8	oDil1,				.2,								.1,		tDilDisabled,	.75,	opt_dil_type+0					; diluent type: 0=Disabled, 1=First, 2=Normal
-	OPTION_ENUM8	oDil2,				.2,								.0,		tDilDisabled,	.76,	opt_dil_type+1
-	OPTION_ENUM8	oDil3,				.2,								.0,		tDilDisabled,	.77,	opt_dil_type+2
-	OPTION_ENUM8	oDil4,				.2,								.0,		tDilDisabled,	.78,	opt_dil_type+3
-	OPTION_ENUM8	oDil5,				.2,								.0,		tDilDisabled,	.79,	opt_dil_type+4
-	OPTION_UINT8d	oDil1Depth,			.0,	gaslist_max_change_depth,	.56,	tMeters,		.80,	opt_dil_change+0				; change depth of diluent 1
-	OPTION_UINT8d	oDil2Depth,			.0,	gaslist_max_change_depth,	.56,	tMeters,		.81,	opt_dil_change+1
-	OPTION_UINT8d	oDil3Depth,			.0,	gaslist_max_change_depth,	.56,	tMeters,		.82,	opt_dil_change+2
-	OPTION_UINT8d	oDil4Depth,			.0,	gaslist_max_change_depth,	.56,	tMeters,		.83,	opt_dil_change+3
-	OPTION_UINT8d	oDil5Depth,			.0,	gaslist_max_change_depth,	.56,	tMeters,		.84,	opt_dil_change+4				; change depth of diluent 5
+	; Gas list
+	OPTION_ENUM8    oGas1,           num_gas_types,                                .1,      tGasDisabled,    0x035,  nocomm,  opt_gas_type+0				; gas type: 0=Disabled, 1=First, 2=Travel, 3=Deco
+	OPTION_ENUM8    oGas2,           num_gas_types,                                .0,      tGasDisabled,    0x036,  nocomm,  opt_gas_type+1
+	OPTION_ENUM8    oGas3,           num_gas_types,                                .0,      tGasDisabled,    0x037,  nocomm,  opt_gas_type+2
+	OPTION_ENUM8    oGas4,           num_gas_types,                                .0,      tGasDisabled,    0x038,  nocomm,  opt_gas_type+3
+	OPTION_ENUM8    oGas5,           num_gas_types,                                .0,      tGasDisabled,    0x039,  nocomm,  opt_gas_type+4
+	OPTION_UINT8    oGas1O2,         gaslist_min_o2,    gaslist_max_o2,           .21,      tPercent,        0x03A,  nocomm,  opt_gas_O2_ratio+0			; O2 % of gas 1
+	OPTION_UINT8    oGas1He,             .0,            gaslist_max_He,            .0,      tPercent,        0x03B,  nocomm,  opt_gas_He_ratio+0			; He % of gas 1 
+	OPTION_UINT8    oGas2O2,         gaslist_min_o2,    gaslist_max_o2,           .21,      tPercent,        0x03C,  nocomm,  opt_gas_O2_ratio+1
+	OPTION_UINT8    oGas2He,             .0,            gaslist_max_He,            .0,      tPercent,        0x03D,  nocomm,  opt_gas_He_ratio+1
+	OPTION_UINT8    oGas3O2,         gaslist_min_o2,    gaslist_max_o2,           .21,      tPercent,        0x03E,  nocomm,  opt_gas_O2_ratio+2
+	OPTION_UINT8    oGas3He,             .0,            gaslist_max_He,            .0,      tPercent,        0x03F,  nocomm,  opt_gas_He_ratio+2
+	OPTION_UINT8    oGas4O2,         gaslist_min_o2,    gaslist_max_o2,           .21,      tPercent,        0x040,  nocomm,  opt_gas_O2_ratio+3
+	OPTION_UINT8    oGas4He,             .0,            gaslist_max_He,            .0,      tPercent,        0x041,  nocomm,  opt_gas_He_ratio+3
+	OPTION_UINT8    oGas5O2,         gaslist_min_o2,    gaslist_max_o2,           .21,      tPercent,        0x042,  nocomm,  opt_gas_O2_ratio+4			; O2 % of gas 5
+	OPTION_UINT8    oGas5He,             .0,            gaslist_max_He,            .0,      tPercent,        0x043,  nocomm,  opt_gas_He_ratio+4			; He % of gas 5
+	OPTION_UINT8d   oGas1Depth,          .0,            gaslist_max_change_depth, .56,      tMeters,         0x044,  nocomm,  opt_gas_change+0				; change depth of gas 1
+	OPTION_UINT8d   oGas2Depth,          .0,            gaslist_max_change_depth, .56,      tMeters,         0x045,  nocomm,  opt_gas_change+1
+	OPTION_UINT8d   oGas3Depth,          .0,            gaslist_max_change_depth, .56,      tMeters,         0x046,  nocomm,  opt_gas_change+2
+	OPTION_UINT8d   oGas4Depth,          .0,            gaslist_max_change_depth, .56,      tMeters,         0x047,  nocomm,  opt_gas_change+3
+	OPTION_UINT8d   oGas5Depth,          .0,            gaslist_max_change_depth, .56,      tMeters,         0x048,  nocomm,  opt_gas_change+4				; change depth of gas 5
+	OPTION_UINT8    oDil1O2,         gaslist_min_o2,    gaslist_max_o2,           .21,      tPercent,        0x049,  nocomm,  opt_dil_O2_ratio+0			; O2 % of diluent 1
+	OPTION_UINT8    oDil1He,             .0,            gaslist_max_He,            .0,      tPercent,        0x04A,  nocomm,  opt_dil_He_ratio+0			; He % of diluent 1
+	OPTION_UINT8    oDil2O2,         gaslist_min_o2,         .100,                .21,      tPercent,        0x04B,  nocomm,  opt_dil_O2_ratio+1
+	OPTION_UINT8    oDil2He,             .0,            gaslist_max_He,            .0,      tPercent,        0x04C,  nocomm,  opt_dil_He_ratio+1
+	OPTION_UINT8    oDil3O2,         gaslist_min_o2,         .100,                .21,      tPercent,        0x04D,  nocomm,  opt_dil_O2_ratio+2
+	OPTION_UINT8    oDil3He,             .0,            gaslist_max_He,            .0,      tPercent,        0x04E,  nocomm,  opt_dil_He_ratio+2
+	OPTION_UINT8    oDil4O2,         gaslist_min_o2,         .100,                .21,      tPercent,        0x04F,  nocomm,  opt_dil_O2_ratio+3
+	OPTION_UINT8    oDil4He,             .0,            gaslist_max_He,            .0,      tPercent,        0x050,  nocomm,  opt_dil_He_ratio+3
+	OPTION_UINT8    oDil5O2,         gaslist_min_o2,         .100,                .21,      tPercent,        0x051,  nocomm,  opt_dil_O2_ratio+4			; O2 % of diluent 5
+	OPTION_UINT8    oDil5He,             .0,            gaslist_max_He,            .0,      tPercent,        0x052,  nocomm,  opt_dil_He_ratio+4			; He % of diluent 5
+	OPTION_UINT8    oSetPoint1,      gaslist_sp_min,    gaslist_sp_max,           .70,      tbar,            0x053,  nocomm,  opt_setpoint_cbar+0			; ppO2 of setpoint 1
+	OPTION_UINT8    oSetPoint2,      gaslist_sp_min,    gaslist_sp_max,           .90,      tbar,            0x054,  nocomm,  opt_setpoint_cbar+1			; ppO2 of setpoint 2
+	OPTION_UINT8    oSetPoint3,      gaslist_sp_min,    gaslist_sp_max,          .100,      tbar,            0x055,  nocomm,  opt_setpoint_cbar+2			; ...
+	OPTION_UINT8    oSetPoint4,      gaslist_sp_min,    gaslist_sp_max,          .120,      tbar,            0x056,  nocomm,  opt_setpoint_cbar+3			; ...
+	OPTION_UINT8    oSetPoint5,      gaslist_sp_min,    gaslist_sp_max,          .140,      tbar,            0x057,  nocomm,  opt_setpoint_cbar+4			; ppO2 of setpoint 5
+	OPTION_UINT8d   oSP1Depth,           .0,            sp_max_change_depth,       .0,      tMeters,         0x058,  nocomm,  opt_setpoint_change+0			; change depth of setpoint 1 (forced to 0 in code)
+	OPTION_UINT8d   oSP2Depth,           .0,            sp_max_change_depth,       .0,      tMeters,         0x059,  nocomm,  opt_setpoint_change+1			; change depth of setpoint 2
+	OPTION_UINT8d   oSP3Depth,           .0,            sp_max_change_depth,       .0,      tMeters,         0x05A,  nocomm,  opt_setpoint_change+2			; ...
+	OPTION_UINT8d   oSP4Depth,           .0,            sp_max_change_depth,       .0,      tMeters,         0x05B,  nocomm,  opt_setpoint_change+3			; ...
+	OPTION_UINT8d   oSP5Depth,           .0,            sp_max_change_depth,       .0,      tMeters,         0x05C,  nocomm,  opt_setpoint_change+4			; change depth of setpoint 5
+	OPTION_ENUM8    oDil1,           num_dil_types,                                .1,      tDilDisabled,    0x05D,  nocomm,  opt_dil_type+0				; diluent type: 0=Disabled, 1=First, 2=Normal
+	OPTION_ENUM8    oDil2,           num_dil_types,                                .0,      tDilDisabled,    0x05E,  nocomm,  opt_dil_type+1
+	OPTION_ENUM8    oDil3,           num_dil_types,                                .0,      tDilDisabled,    0x05F,  nocomm,  opt_dil_type+2
+	OPTION_ENUM8    oDil4,           num_dil_types,                                .0,      tDilDisabled,    0x060,  nocomm,  opt_dil_type+3
+	OPTION_ENUM8    oDil5,           num_dil_types,                                .0,      tDilDisabled,    0x061,  nocomm,  opt_dil_type+4
+	OPTION_UINT8d   oDil1Depth,          .0,            gaslist_max_change_depth, .56,      tMeters,         0x062,  nocomm,  opt_dil_change+0				; change depth of diluent 1
+	OPTION_UINT8d   oDil2Depth,          .0,            gaslist_max_change_depth, .56,      tMeters,         0x063,  nocomm,  opt_dil_change+1
+	OPTION_UINT8d   oDil3Depth,          .0,            gaslist_max_change_depth, .56,      tMeters,         0x064,  nocomm,  opt_dil_change+2
+	OPTION_UINT8d   oDil4Depth,          .0,            gaslist_max_change_depth, .56,      tMeters,         0x065,  nocomm,  opt_dil_change+3
+	OPTION_UINT8d   oDil5Depth,          .0,            gaslist_max_change_depth, .56,      tMeters,         0x066,  nocomm,  opt_dil_change+4				; change depth of diluent 5
 
-;=============================================================================
-; opt_name from 85 to 145
-	OPTION_STRING	oName,				opt_name_length,						tDefName,		.85,	opt_name
+	; opt_name from 85 to 145
+	OPTION_STRING    oName,          opt_name_length,                                       tDefName,        0x067,  nocomm,  opt_name						; custom text on surface screen
 
-;=============================================================================
-; Misc
-	OPTION_ENUM8	oColorSetDive,		.4,								.0,		tColorSetName0,	.146,	opt_dive_color_scheme			; color scheme dive mode
-	OPTION_UINT8	oPressureAdjust,	.0,				.255,			.0,		notext,			.147,	opt_pressure_adjust				; pressure sensor correction, SIGNED int (clipped to -20/+20 mbar in code)
-	OPTION_BOOL		oSafetyStop,										.0,						.148,	opt_enable_safetystop			; =1: show safety stops
-	OPTION_UINT8	oCalGasO2,			.21,			.100,			.21,	tPercent,		.149,	opt_calibration_O2_ratio		; calibration gas %O2 (do not move in EEPROM, must stay at .149!)
-	OPTION_BOOL		oFlipScreen,										.0,						.151,	opt_flip_screen					; =1: flip the screen
-	OPTION_UINT8p10	ocR_button_left,	.20,			.80,			.40,	tPercent,		.152,	opt_cR_button_left				; left  button sensitivity
-	OPTION_UINT8p10	ocR_button_right,	.20,			.80,			.40,	tPercent,		.153,	opt_cR_button_right				; right button sensitivity
-	OPTION_UINT8	obottom_usage,		.5,				.50,			.20,	tLitersMinute,	.154,	char_I_SAC_work					; surface air consumption rate during working    phase, l/min
-	OPTION_UINT8	odeco_usage,		.5,				.50,			.20,	tLitersMinute,	.155,	char_I_SAC_deco					; surface air consumption rate during deco stops phase, l/min
-	OPTION_BOOL		oMODwarning,										.1,						.156,	opt_modwarning					; =1: blink on depth related attentions and warnings
-	OPTION_BOOL		oVSItextv2,											.0,						.157,	opt_vsitextv2					; =1: use the dynamic (depends on depth) ascend rate limits
-	OPTION_BOOL		oVSIgraph,											.1,						.158,	opt_vsigraph					; =1: draw the graphical VSI bar
-	OPTION_BOOL		oShowppO2,											.0,						.159,	opt_showppo2					; =1:always show the ppO2 value in the warning position
-	OPTION_UINT8	oTemperatureAdjust,	.0,				.255,			.0,		notext,			.160,	opt_temperature_adjust			; temperature sensor correction, SIGNED int (clipped to -2.0/+2.0 °C in code)
-	OPTION_UINT8	oSafetyStopLength,	.60,			.240,			.180,	notext,			.161,	opt_safety_stop_length			; [s], duration of the safety stop
-	OPTION_UINT8	oSafetyStopStart,	.21,			.61,			.51,	notext,			.162,	opt_safety_stop_start			; [cbar], depth at which safety stop appears,           default 510mbar, min 210mbar, max 610mbar
-	OPTION_UINT8	oSafetyStopEnd,		.19,			.39,			.29,	notext,			.163,	opt_safety_stop_end				; [cbar], depth at which safety stop disappears,        default 290mbar, min 190mbar, max 390mbar
-	OPTION_UINT8	oSafetyStopReset,	.81,			.151,			.101,	notext,			.164,	opt_safety_stop_reset			; [cbar], depth at which safety stop timer is reloaded, default 1010mbar, min 810mbar, max 1510mbar
-	OPTION_UINT8	oDiveTimeout,		.1,				.20,			.5,		tMinutes,		.168,	opt_diveTimeout					; [minutes] timeout for switch from dive mode to surface mode
-	OPTION_UINT8	oPSCR_drop,			.0,				.15,			.4,		tPercent,		.169,	char_I_PSCR_drop				; pSCR drop [%]
-	OPTION_UINT8	oPSCR_lungratio,	.5,				.20,			.10,	tPercent,		.170,	char_I_PSCR_lungratio			; pSCR lung ratio [1/x]
-;																								.171									; in use, see below
-;																								.172									; in use, see below
-	OPTION_UINT8	oTankSize1,			min_tank_size,	max_tank_size,	.11,	tLiter,			.173,	char_I_gas_avail_size+0			; size of OC gas tank 1, in liters
-	OPTION_UINT8	oTankSize2,			min_tank_size,	max_tank_size,	.11,	tLiter,			.174,	char_I_gas_avail_size+1			; size of OC gas tank 2, in liters
-	OPTION_UINT8	oTankSize3,			min_tank_size,	max_tank_size,	.11,	tLiter,			.175,	char_I_gas_avail_size+2			; size of OC gas tank 3, in liters
-	OPTION_UINT8	oTankSize4,			min_tank_size,	max_tank_size,	.11,	tLiter,			.176,	char_I_gas_avail_size+3			; size of OC gas tank 4, in liters
-	OPTION_UINT8	oTankSize5,			min_tank_size,	max_tank_size,	.11,	tLiter,			.177,	char_I_gas_avail_size+4			; size of OC gas tank 5, in liters
-	OPTION_UINT8	oTankFillPres1,		min_fill_press,	max_fill_press,	.20,	tbar10,			.178,	char_I_gas_avail_pres+0			; available press of OC gas tank 1, in multiples of 10 bars
-	OPTION_UINT8	oTankFillPres2,		min_fill_press,	max_fill_press,	.20,	tbar10,			.179,	char_I_gas_avail_pres+1			; available press of OC gas tank 2, in multiples of 10 bars
-	OPTION_UINT8	oTankFillPres3,		min_fill_press,	max_fill_press,	.20,	tbar10,			.180,	char_I_gas_avail_pres+2			; available press of OC gas tank 3, in multiples of 10 bars
-	OPTION_UINT8	oTankFillPres4,		min_fill_press,	max_fill_press,	.20,	tbar10,			.181,	char_I_gas_avail_pres+3			; available press of OC gas tank 4, in multiples of 10 bars
-	OPTION_UINT8	oTankFillPres5,		min_fill_press,	max_fill_press,	.20,	tbar10,			.182,	char_I_gas_avail_pres+4			; available press of OC gas tank 5, in multiples of 10 bars
-	OPTION_UINT8	oCCmaxFracO2,		.80,			.100,			.90,	tPercent,		.183,	char_I_CC_max_frac_O2			; max. O2 % in Loop
-	OPTION_UINT8	oSimSetpoint,		.1,				.5,				.1,		tblank,			.184,	opt_sim_setpoint_number			; setpoint to use for deco calculation
-	OPTION_ENUM8	oCalcAscGas,		calc_gas_options,				.0,		tNo,			.185,	opt_calc_asc_gasvolume			; calculate OC gas volume needs for ascent: no, yes, cave
-	OPTION_ENUM8	oAltMode,			.4,								.0,		tAltModeFly,	.186,	char_I_altitude_wait			; no-fly time calculation for: 0=no-fly, 1=1000m, 2=2000m, 3=3000m
-	OPTION_BOOL		oEnable_IBCD,										.1,						.187,	opt_enable_IBCD					; =1: IBCD warning activated
-	OPTION_UINT8	oAscentSpeed,		.5,				.10,			.10,	tMeterMinute,	.188,	char_I_ascent_speed				; [meter/minute] ascent speed
-	OPTION_UINT8	oGasChangeTime,		.0,				.3,				.0,		tMinutes,		.189,	char_I_gas_change_time			; (extra) time at a stop to change the gas
-	OPTION_UINT8p5	osatmult,			.100,			.140,			.110,	tPercent,		.190,	opt_sat_multiplier_non_gf		; saturation   factor for NON-GF Mode
-	OPTION_UINT8p5	odesatmult,			.60,			.100,			.90,	tPercent,		.191,	opt_desat_multiplier_non_gf		; desaturation factor for NON-GF Mode
-	OPTION_UINT8	oTransID1_0,		.0,				.255,			.0,		notext,			.192,	opt_transmitter_id_1+0			; ID of transmitter for gas 1 (LOW)
-	OPTION_UINT8	oTransID1_1,		.0,				.255,			.0,		notext,			.193,	opt_transmitter_id_1+1			; ID of transmitter for gas 1 (HIGH)
-	OPTION_UINT8	oTransID2_0,		.0,				.255,			.0,		notext,			.194,	opt_transmitter_id_2+0			; ID of transmitter for gas 2 (LOW)
-	OPTION_UINT8	oTransID2_1,		.0,				.255,			.0,		notext,			.195,	opt_transmitter_id_2+1			; ID of transmitter for gas 2 (HIGH)
-	OPTION_UINT8	oTransID3_0,		.0,				.255,			.0,		notext,			.196,	opt_transmitter_id_3+0			; ID of transmitter for gas 3 (LOW)
-	OPTION_UINT8	oTransID3_1,		.0,				.255,			.0,		notext,			.197,	opt_transmitter_id_3+1			; ID of transmitter for gas 3 (HIGH)
-	OPTION_UINT8	oTransID4_0,		.0,				.255,			.0,		notext,			.198,	opt_transmitter_id_4+0			; ID of transmitter for gas 4 (LOW)
-	OPTION_UINT8	oTransID4_1,		.0,				.255,			.0,		notext,			.199,	opt_transmitter_id_4+1			; ID of transmitter for gas 4 (HIGH)
-	OPTION_UINT8	oTransID5_0,		.0,				.255,			.0,		notext,			.200,	opt_transmitter_id_5+0			; ID of transmitter for gas 5 (LOW)
-	OPTION_UINT8	oTransID5_1,		.0,				.255,			.0,		notext,			.201,	opt_transmitter_id_5+1			; ID of transmitter for gas 5 (HIGH)
-	OPTION_UINT8	oTransID6_0,		.0,				.255,			.0,		notext,			.202,	opt_transmitter_id_6+0			; ID of transmitter for dil 1 (LOW)
-	OPTION_UINT8	oTransID6_1,		.0,				.255,			.0,		notext,			.203,	opt_transmitter_id_6+1			; ID of transmitter for dil 1 (HIGH)
-	OPTION_UINT8	oTransID7_0,		.0,				.255,			.0,		notext,			.204,	opt_transmitter_id_7+0			; ID of transmitter for dil 2 (LOW)
-	OPTION_UINT8	oTransID7_1,		.0,				.255,			.0,		notext,			.205,	opt_transmitter_id_7+1			; ID of transmitter for dil 2 (HIGH)
-	OPTION_UINT8	oTransID8_0,		.0,				.255,			.0,		notext,			.206,	opt_transmitter_id_8+0			; ID of transmitter for dil 3 (LOW)
-	OPTION_UINT8	oTransID8_1,		.0,				.255,			.0,		notext,			.207,	opt_transmitter_id_8+1			; ID of transmitter for dil 3 (HIGH)
-	OPTION_UINT8	oTransID9_0,		.0,				.255,			.0,		notext,			.208,	opt_transmitter_id_9+0			; ID of transmitter for dil 4 (LOW)
-	OPTION_UINT8	oTransID9_1,		.0,				.255,			.0,		notext,			.209,	opt_transmitter_id_9+1			; ID of transmitter for dil 4 (HIGH)
-	OPTION_UINT8	oTransID10_0,		.0,				.255,			.0,		notext,			.210,	opt_transmitter_id_10+0			; ID of transmitter for dil 5 (LOW)
-	OPTION_UINT8	oTransID10_1,		.0,				.255,			.0,		notext,			.211,	opt_transmitter_id_10+1			; ID of transmitter for dil 5 (HIGH)
-	OPTION_UINT8	oTankSize6,			min_tank_size,	max_tank_size,	.11,	tLiter,			.212,	char_I_gas_avail_size+5			; size of DIL gas tank 1, in liters
-	OPTION_UINT8	oTankSize7,			min_tank_size,	max_tank_size,	.11,	tLiter,			.213,	char_I_gas_avail_size+6			; size of DIL gas tank 2, in liters
-	OPTION_UINT8	oTankSize8,			min_tank_size,	max_tank_size,	.11,	tLiter,			.214,	char_I_gas_avail_size+7			; size of DIL gas tank 3, in liters
-	OPTION_UINT8	oTankSize9,			min_tank_size,	max_tank_size,	.11,	tLiter,			.215,	char_I_gas_avail_size+8			; size of DIL gas tank 4, in liters
-	OPTION_UINT8	oTankSize10,		min_tank_size,	max_tank_size,	.11,	tLiter,			.216,	char_I_gas_avail_size+9			; size of DIL gas tank 5, in liters
-	OPTION_UINT8	oTankFillPres6,		min_fill_press,	max_fill_press,	.20,	tbar10,			.217,	char_I_gas_avail_pres+5			; available press of DIL gas tank 1, in multiples of 10 bars
-	OPTION_UINT8	oTankFillPres7,		min_fill_press,	max_fill_press,	.20,	tbar10,			.218,	char_I_gas_avail_pres+6			; available press of DIL gas tank 2, in multiples of 10 bars
-	OPTION_UINT8	oTankFillPres8,		min_fill_press,	max_fill_press,	.20,	tbar10,			.219,	char_I_gas_avail_pres+7			; available press of DIL gas tank 3, in multiples of 10 bars
-	OPTION_UINT8	oTankFillPres9,		min_fill_press,	max_fill_press,	.20,	tbar10,			.220,	char_I_gas_avail_pres+8			; available press of DIL gas tank 4, in multiples of 10 bars
-	OPTION_UINT8	oTankFillPres10,	min_fill_press,	max_fill_press,	.20,	tbar10,			.221,	char_I_gas_avail_pres+9			; available press of DIL gas tank 5, in multiples of 10 bars
-	OPTION_ENUM8	oTrMode,			.4,								.1,		tTrModeOff,		.222,	opt_TR_mode						; TR functions - mode
-	OPTION_ENUM8	oTr1stPres,			tr_pres_options,				.1,		tTrPresNone,	.223,	opt_TR_1st_pres					; TR functions - 1st pressure assignment
-	OPTION_ENUM8	oTr2ndPres,			tr_pres_options,				.0,		tTrPresNone,	.224,	opt_TR_2nd_pres					; TR functions - 2nd pressure assignment
-	OPTION_ENUM8	oTrBailPres,		tr_pres_options,				.1,		tTrPresNone,	.225,	opt_TR_Bail_pres				; TR functions - bailout pressure assignment
-	OPTION_UINT8p5	oTrMaxDeltaPres,	max_pres_diff_min,max_pres_diff_max,.5,	tbar,			.226,	char_I_max_pres_diff			; TR functions - maximum delta pressure in independent double mode
-	;																							.227									; spare / unused
-	;																							.228									; spare / unused
-	OPTION_ENUM8	o2ndDepthDisp,		.2,								.0,		tMaxDepth,		.229,	opt_2ndDepthDisp				; =1: show average depth instead of max depth
-	OPTION_UINT8d	oMaxDepth,			.5,	ostc_depth_max,	ostc_depth_max,		tMeters,		.230,	opt_max_depth					; depth at which a warning will be given
-	OPTION_UINT8	oDescentSpeed,		.5,				.30,			.10,	tMeterMinute,	.231,	char_I_descent_speed			; descent speed for deco calculator          [future option, not used yet]
-	OPTION_BOOL		oStoreApnoeDive,									.0,						.232,	opt_store_apnoe_dive			; =1: store dives in apnoe mode into logbook
-	OPTION_ENUM8	oTissueGraphics,	tissue_graphics_options,		.0,		tTissuePresSat,	.233,	opt_tissue_graphics 			; =0: show N2 and He pressures, =1: show pressures and saturations
-	OPTION_ENUM8	oLayout,			.2,								.0,		tLayoutNormal,	.234,	opt_layout						; initial layout of dive mode screen =0: normal, =1: big
-	OPTION_BOOL		oExtendedStops,										.1,						.235,	opt_extended_stops				; =1: place gas switches also below 1st stop depth
-	OPTION_UINT8	oGasDensityAttention,.40,			.80,			.60,	notext,			.236,	char_I_gas_density_att			; threshold for gas density attention [0.1 grams/l]
-	OPTION_UINT8	oGasDensityWarning,	.40,			.80,			.65,	notext,			.237,	char_I_gas_density_warn			; threshold for gas density warning   [0.1 grams/l]
-	OPTION_BOOL		oDilppO2Check,										.1,						.238,	char_I_dil_ppO2_check			; =1: check ppO2 of the pure diluent against current setpoint
+	; Misc
+	OPTION_ENUM8    oColorSetDive,       .4,                                       .0,      tColorSetName0,  0x0A4,    0x31,  opt_dive_color_scheme			; color scheme dive mode
+	OPTION_UINT8    oPressureAdjust,     .0,                 .255,                 .0,      nounit,          0x0A5,    0x35,  opt_pressure_adjust			; pressure sensor correction, SIGNED int (clipped to -20/+20 mbar in code)
+	OPTION_BOOL     oSafetyStop,                                                   .0,                       0x0A6,    0x36,  opt_safetystop				; =1: show safety stops
+	OPTION_UINT8    oCalGasO2,          .21,                 .100,                .21,      tPercent,        0x0A7,    0x37,  opt_calibration_O2_ratio		; calibration gas %O2 (do not move in EEPROM, must stay at .149!)
+	;                                                                                                        0x0A8											; not used any more (ex opt_sensor_fallback)
+	OPTION_BOOL     oFlipScreen,                                                   .0,                       0x0A9,    0x39,  opt_flip_screen				; =1: flip the screen
+	OPTION_UINT8p10 ocR_button_left,    .20,                  .80,                .40,      tPercent,        0x0AA,    0x3A,  opt_cR_button_left			; left  button sensitivity
+	OPTION_UINT8p10 ocR_button_right,   .20,                  .80,                .40,      tPercent,        0x0AB,    0x3B,  opt_cR_button_right			; right button sensitivity
+	OPTION_UINT8    oWork_SAC,           .5,                  .50,                .20,      tLitersMinute,   0x0AC,    0x3C,  char_I_SAC_work				; surface air consumption rate during working    phase, l/min
+	OPTION_UINT8    oDeco_SAC,           .5,                  .50,                .20,      tLitersMinute,   0x0AD,    0x3D,  char_I_SAC_deco				; surface air consumption rate during deco stops phase, l/min
+	OPTION_BOOL     oDepthWarn,                                                    .1,                       0x0AE,    0x3E,  opt_depth_warn				; =1: blink on depth related attentions and warnings
+	OPTION_BOOL     oVSItext,                                                      .0,                       0x0AF,    0x3F,  opt_vsitext					; =1: use the dynamic (depends on depth) ascend rate limits
+	OPTION_BOOL     oVSIgraph,                                                     .1,                       0x0B0,    0x40,  opt_vsigraph					; =1: draw the graphical VSI bar
+	OPTION_BOOL     oShowppO2,                                                     .0,                       0x0B1,    0x41,  opt_showppo2					; =1: always show the ppO2 value in the warning position
+	OPTION_UINT8    oTempAdjust,         .0,                 .255,                 .0,      nounit,          0x0B2,    0x42,  opt_temperature_adjust		; temperature sensor correction, SIGNED int (clipped to -2.0/+2.0 °C in code)
+	OPTION_UINT8    oSafetyStopLength,  .60,                 .240,               .180,      nounit,          0x0B3,    0x43,  opt_safety_stop_length		; [s], duration of the safety stop
+	OPTION_UINT8    oSafetyStopStart,   .21,                  .61,                .51,      nounit,          0x0B4,    0x44,  opt_safety_stop_start			; [dm], depth at which safety stop appears,    default   51 dm, min 210 dm, max  610 dm
+	OPTION_UINT8    oSafetyStopEnd,     .19,                  .39,                .29,      nounit,          0x0B5,    0x45,  opt_safety_stop_end			; [dm], depth at which safety stop disappears, default  290 dm, min 190 dm, max  390 dm
+	OPTION_UINT8    oSafetyStopReset,   .81,                 .151,               .101,      nounit,          0x0B6,    0x46,  opt_safety_stop_reset			; [dm], depth at which safety stop re-arms,    default 1010 dm, min 810 dm, max 1510 dm
+	;                                                                                                    0x0B7 - 0x0B9										; unused
+	OPTION_UINT8    oDiveTimeout,        .1,                  .20,                 .5,      tMinutes,        0x0BA,    0x48,  opt_diveTimeout				; [minutes] timeout for switch from dive mode to surface mode
+	OPTION_UINT8    oPSCR_drop,          .0,                  .15,                 .4,      tPercent,        0x0BB,    0x4A,  char_I_PSCR_drop				; pSCR drop [%]
+	OPTION_UINT8    oPSCR_lungratio,     .5,                  .20,                .10,      tPercent,        0x0BC,    0x4B,  char_I_PSCR_lungratio			; pSCR lung ratio [1/x]
+	;                                                                                                        0x0BD											; in use, see below
+	;                                                                                                        0x0BE											; in use, see below
+	OPTION_UINT8    oTankSize1,      min_tank_size,     max_tank_size,            .11,      tLiter,          0x0BF,    0x4E,  char_I_gas_avail_size+0		; size of OC gas tank 1, in liters
+	OPTION_UINT8    oTankSize2,      min_tank_size,     max_tank_size,            .11,      tLiter,          0x0C0,    0x4F,  char_I_gas_avail_size+1		; size of OC gas tank 2, in liters
+	OPTION_UINT8    oTankSize3,      min_tank_size,     max_tank_size,            .11,      tLiter,          0x0C1,    0x50,  char_I_gas_avail_size+2		; size of OC gas tank 3, in liters
+	OPTION_UINT8    oTankSize4,      min_tank_size,     max_tank_size,            .11,      tLiter,          0x0C2,    0x51,  char_I_gas_avail_size+3		; size of OC gas tank 4, in liters
+	OPTION_UINT8    oTankSize5,      min_tank_size,     max_tank_size,            .11,      tLiter,          0x0C3,    0x52,  char_I_gas_avail_size+4		; size of OC gas tank 5, in liters
+	OPTION_UINT8    oTankFillPres1,  min_fill_press,    max_fill_press,           .20,      tbar10,          0x0C4,    0x53,  char_I_gas_avail_pres+0		; available press of OC gas tank 1, in multiples of 10 bars
+	OPTION_UINT8    oTankFillPres2,  min_fill_press,    max_fill_press,           .20,      tbar10,          0x0C5,    0x54,  char_I_gas_avail_pres+1		; available press of OC gas tank 2, in multiples of 10 bars
+	OPTION_UINT8    oTankFillPres3,  min_fill_press,    max_fill_press,           .20,      tbar10,          0x0C6,    0x55,  char_I_gas_avail_pres+2		; available press of OC gas tank 3, in multiples of 10 bars
+	OPTION_UINT8    oTankFillPres4,  min_fill_press,    max_fill_press,           .20,      tbar10,          0x0C7,    0x56,  char_I_gas_avail_pres+3		; available press of OC gas tank 4, in multiples of 10 bars
+	OPTION_UINT8    oTankFillPres5,  min_fill_press,    max_fill_press,           .20,      tbar10,          0x0C8,    0x57,  char_I_gas_avail_pres+4		; available press of OC gas tank 5, in multiples of 10 bars
+	OPTION_UINT8    oCCmaxFracO2,       .80,                .100,                 .90,      tPercent,        0x0C9,    0x58,  char_I_CC_max_frac_O2			; max. O2 % in Loop
+	OPTION_UINT8    oSimSetpoint,        .1,                  .5,                  .1,      tblank,          0x0CA,    0x59,  opt_sim_setpoint_number		; setpoint to use for deco calculation
+	OPTION_BOOL     oCalcAscGas,                                                   .0,                       0x0CB,    0x5A,  opt_calc_gasvolume			; calculate OC gas volume needs for ascent
+	OPTION_ENUM8    oAltMode,            .4,                                       .0,      tAltModeFly,     0x0CC,    0x5C,  char_I_altitude_wait			; no-fly time calculation for: 0=no-fly, 1=1000m, 2=2000m, 3=3000m
+	OPTION_BOOL     oEnable_IBCD,                                                  .1,                       0x0CD,    0x5D,  opt_enable_IBCD				; =1: IBCD warning activated
+	;                                                                                                        0x0CE											; not used any more (ex ascent speed)
+	OPTION_UINT8    oGasChangeTime,      .0,                   .3,                 .0,      tMinutes,        0x0CF,    0x5B,  char_I_gas_change_time		; (extra) time at a stop to change the gas
+	OPTION_UINT8p5  osatmult,          .100,                 .140,               .110,      tPercent,        0x0D0,    0x2A,  opt_sat_multiplier_non_gf		; saturation   factor for NON-GF Mode
+	OPTION_UINT8p5  odesatmult,         .60,                 .100,                .90,      tPercent,        0x0D1,    0x2B,  opt_desat_multiplier_non_gf	; desaturation factor for NON-GF Mode
+	OPTION_UINT8    oTransID1_0,         .0,                 .255,                 .0,      nounit,          0x0D2,    0x60,  opt_transmitter_id_1+0		; ID of transmitter for gas 1 (LOW)
+	OPTION_UINT8    oTransID1_1,         .0,                 .255,                 .0,      nounit,          0x0D3,    0x61,  opt_transmitter_id_1+1		; ID of transmitter for gas 1 (HIGH)
+	OPTION_UINT8    oTransID2_0,         .0,                 .255,                 .0,      nounit,          0x0D4,    0x62,  opt_transmitter_id_2+0		; ID of transmitter for gas 2 (LOW)
+	OPTION_UINT8    oTransID2_1,         .0,                 .255,                 .0,      nounit,          0x0D5,    0x63,  opt_transmitter_id_2+1		; ID of transmitter for gas 2 (HIGH)
+	OPTION_UINT8    oTransID3_0,         .0,                 .255,                 .0,      nounit,          0x0D6,    0x64,  opt_transmitter_id_3+0		; ID of transmitter for gas 3 (LOW)
+	OPTION_UINT8    oTransID3_1,         .0,                 .255,                 .0,      nounit,          0x0D7,    0x65,  opt_transmitter_id_3+1		; ID of transmitter for gas 3 (HIGH)
+	OPTION_UINT8    oTransID4_0,         .0,                 .255,                 .0,      nounit,          0x0D8,    0x66,  opt_transmitter_id_4+0		; ID of transmitter for gas 4 (LOW)
+	OPTION_UINT8    oTransID4_1,         .0,                 .255,                 .0,      nounit,          0x0D9,    0x67,  opt_transmitter_id_4+1		; ID of transmitter for gas 4 (HIGH)
+	OPTION_UINT8    oTransID5_0,         .0,                 .255,                 .0,      nounit,          0x0DA,    0x68,  opt_transmitter_id_5+0		; ID of transmitter for gas 5 (LOW)
+	OPTION_UINT8    oTransID5_1,         .0,                 .255,                 .0,      nounit,          0x0DB,    0x69,  opt_transmitter_id_5+1		; ID of transmitter for gas 5 (HIGH)
+	OPTION_UINT8    oTransID6_0,         .0,                 .255,                 .0,      nounit,          0x0DC,    0x6A,  opt_transmitter_id_6+0		; ID of transmitter for dil 1 (LOW)
+	OPTION_UINT8    oTransID6_1,         .0,                 .255,                 .0,      nounit,          0x0DD,    0x6B,  opt_transmitter_id_6+1		; ID of transmitter for dil 1 (HIGH)
+	OPTION_UINT8    oTransID7_0,         .0,                 .255,                 .0,      nounit,          0x0DE,    0x6C,  opt_transmitter_id_7+0		; ID of transmitter for dil 2 (LOW)
+	OPTION_UINT8    oTransID7_1,         .0,                 .255,                 .0,      nounit,          0x0DF,    0x6D,  opt_transmitter_id_7+1		; ID of transmitter for dil 2 (HIGH)
+	OPTION_UINT8    oTransID8_0,         .0,                 .255,                 .0,      nounit,          0x0E0,    0x6E,  opt_transmitter_id_8+0		; ID of transmitter for dil 3 (LOW)
+	OPTION_UINT8    oTransID8_1,         .0,                 .255,                 .0,      nounit,          0x0E1,    0x6F,  opt_transmitter_id_8+1		; ID of transmitter for dil 3 (HIGH)
+	OPTION_UINT8    oTransID9_0,         .0,                 .255,                 .0,      nounit,          0x0E2,    0x70,  opt_transmitter_id_9+0		; ID of transmitter for dil 4 (LOW)
+	OPTION_UINT8    oTransID9_1,         .0,                 .255,                 .0,      nounit,          0x0E3,    0x71,  opt_transmitter_id_9+1		; ID of transmitter for dil 4 (HIGH)
+	OPTION_UINT8    oTransID10_0,        .0,                 .255,                 .0,      nounit,          0x0E4,    0x72,  opt_transmitter_id_10+0		; ID of transmitter for dil 5 (LOW)
+	OPTION_UINT8    oTransID10_1,        .0,                 .255,                 .0,      nounit,          0x0E5,    0x73,  opt_transmitter_id_10+1		; ID of transmitter for dil 5 (HIGH)
+	OPTION_UINT8    oTankSize6,      min_tank_size,     max_tank_size,            .11,      tLiter,          0x0E6,    0x74,  char_I_gas_avail_size+5		; size of DIL gas tank 1, in liters
+	OPTION_UINT8    oTankSize7,      min_tank_size,     max_tank_size,            .11,      tLiter,          0x0E7,    0x75,  char_I_gas_avail_size+6		; size of DIL gas tank 2, in liters
+	OPTION_UINT8    oTankSize8,      min_tank_size,     max_tank_size,            .11,      tLiter,          0x0E8,    0x76,  char_I_gas_avail_size+7		; size of DIL gas tank 3, in liters
+	OPTION_UINT8    oTankSize9,      min_tank_size,     max_tank_size,            .11,      tLiter,          0x0E9,    0x77,  char_I_gas_avail_size+8		; size of DIL gas tank 4, in liters
+	OPTION_UINT8    oTankSize10,     min_tank_size,     max_tank_size,            .11,      tLiter,          0x0EA,    0x78,  char_I_gas_avail_size+9		; size of DIL gas tank 5, in liters
+	OPTION_UINT8    oTankFillPres6,  min_fill_press,    max_fill_press,           .20,      tbar10,          0x0EB,    0x79,  char_I_gas_avail_pres+5		; available press of DIL gas tank 1, in multiples of 10 bars
+	OPTION_UINT8    oTankFillPres7,  min_fill_press,    max_fill_press,           .20,      tbar10,          0x0EC,    0x7A,  char_I_gas_avail_pres+6		; available press of DIL gas tank 2, in multiples of 10 bars
+	OPTION_UINT8    oTankFillPres8,  min_fill_press,    max_fill_press,           .20,      tbar10,          0x0ED,    0x7B,  char_I_gas_avail_pres+7		; available press of DIL gas tank 3, in multiples of 10 bars
+	OPTION_UINT8    oTankFillPres9,  min_fill_press,    max_fill_press,           .20,      tbar10,          0x0EE,    0x7C,  char_I_gas_avail_pres+8		; available press of DIL gas tank 4, in multiples of 10 bars
+	OPTION_UINT8    oTankFillPres10, min_fill_press,    max_fill_press,           .20,      tbar10,          0x0EF,    0x7D,  char_I_gas_avail_pres+9		; available press of DIL gas tank 5, in multiples of 10 bars
+	OPTION_ENUM8    oTrMode,             .4,                                       .1,      tTrModeOff,      0x0F0,    0x7E,  opt_TR_mode					; TR functions - mode
+	OPTION_ENUM8    oTr1stPres,      tr_pres_options,                              .1,      tTrPresNone,     0x0F1,    0x7F,  opt_TR_1st_pres				; TR functions - 1st pressure assignment
+	OPTION_ENUM8    oTr2ndPres,      tr_pres_options,                              .0,      tTrPresNone,     0x0F2,    0x80,  opt_TR_2nd_pres				; TR functions - 2nd pressure assignment
+	OPTION_ENUM8    oTrBailPres,     tr_pres_options,                              .1,      tTrPresNone,     0x0F3,    0x81,  opt_TR_Bail_pres				; TR functions - bailout pressure assignment
+	OPTION_UINT8p5  oTrMaxDeltaPres, max_pres_diff_min, max_pres_diff_max,         .5,      tbar,            0x0F4,    0x82,  char_I_max_pres_diff			; TR functions - maximum delta pressure in independent double mode
+	;                                                                                                        0x0F5											; not used
+	;                                                                                                        0x0F6											; not used
+	OPTION_ENUM8    o2ndDepthDisp,       .2,                                       .0,      tMax,            0x0F7,    0x85,  opt_2ndDepthDisp				; =1: show average depth instead of max depth
+	OPTION_UINT8p3d oMaxDepth,          .30,            ostc_depth_max,    ostc_depth_max,  tMeters,         0x0F8,    0x86,  opt_max_depth					; depth at which a warning will be given
+	OPTION_UINT8    oDescentSpeed,       .5,                  .30,                .10,      tMeterMinute,    0x0F9,    0x87,  char_I_descent_speed			; descent speed for deco calculator          [future option, not used yet]
+	OPTION_BOOL     oStoreApnoe,                                                   .0,                       0x0FA,    0x88,  opt_store_apnoe				; =1: store dives in apnoe mode into logbook
+	OPTION_ENUM8    oTissueGraphics, tissue_graphics_options,                      .0,      tTissuePresSat,  0x0FB,    0x88,  opt_tissue_graphics			; =0: show pressures and saturations, =1: show N2 and He pressures
+	OPTION_ENUM8    oLayout,             .2,                                       .0,      tLayoutNormal,   0x0FC,    0x8A,  opt_layout					; initial layout of dive mode screen =0: normal, =1: big
+	OPTION_BOOL     oExtendedStops,                                                .1,                       0x0FD,    0x8B,  opt_ext_stops					; =1: place gas switches also below 1st stop depth
+	OPTION_UINT8    oGasDensityAtt,     .40,                  .80,                .60,      nounit,          0x0FE,    0x8C,  char_I_gas_density_att		; threshold for gas density attention [0.1 grams/l]
+	OPTION_UINT8    oGasDensityWarn,    .40,                  .80,                .65,      nounit,          0x0FF,    0x8D,  char_I_gas_density_warn		; threshold for gas density warning   [0.1 grams/l]
+	OPTION_BOOL     oDilppO2Check,                                                .1,                        0x100,    0x8E,  char_I_dil_check				; =1: check ppO2 of the pure diluent against current setpoint
+	OPTION_UINT8    oFirmwareMajor,  fw_version_major,  fw_version_major, fw_version_major, nounit,          0x101,  nocomm,  opt_fw_version_major			; firmware version, major | use as read-only,
+	OPTION_UINT8    oFirmwareMinor,  fw_version_minor,  fw_version_minor, fw_version_minor, nounit,          0x102,  nocomm,  opt_fw_version_minor			; firmware version, minor | do not change eeprom index number!
+	OPTION_UINT8    oFirmwarebeta,   fw_version_beta ,  fw_version_beta,  fw_version_beta,  nounit,          0x103,  nocomm,  opt_fw_version_beta			; firmware version, beta  |
+	OPTION_ENUM8    oS8Mode,             .2,                                       .0,      tCCRS8Mode,      0x104,    0x8F,  opt_s8_mode					; =0: analog, =1: digital RS232
+	OPTION_ENUM8    oCaveMode,           .2,                                       .0,      tOff,            0x105,    0x90,  opt_cave_mode					; =1: cave mode switched on
+	OPTION_BOOL     oGasContingencyDive,                                           .0,                       0x106,    0x91,  opt_gas_contingency_dive		; =1: dive mode: switch to alternative gas if best gas is depleted
 
-	;	+---------------------------+
-	;	| /|\                       |
-	;	|  |  add new options here! |
-	;	+---------------------------+
+	;	+---------------------------------------------------------------------------------------------------------------------------------------------+
+	;   |  .                                                                                                                                          |
+	;	| /|\                                                                                                                                         |
+	;	|  |  add new options here!                                                                                                                   |
+	;	|  |  option items                max:   192,  existing:   181, spare:   11                                                                   |
+	;	|  |  EEPROM address  min: 0x012, max: 0x1FF, last used: 0x105, spare: 0x0B7-0x0B9, 0x0F5-0x0F6, disused: 0x0A8, 0x0CE                        |
+	;	|  |  serial address  min:  0xFE, max:  0xFE, last used:  0x90, spare: 0x38 (ex fallback), 0x47 (ex conservatism), 0x83 (spare), 0x84 (spare) |
+	;	+---------------------------------------------------------------------------------------------------------------------------------------------+
 
-; ppO2 warnings, sorted by ppO2 levels
-	OPTION_UINT8p10	oPPO2Min,		ppo2_warning_low_lowest,	ppo2_warning_low_highest,	ppo2_warning_low_default,	notext,	.16,	char_I_ppO2_min			; ppO2 min on OC   and for pure diluent in CCR
-	OPTION_UINT8p10	oPPO2MinCC,		ppo2_warning_loop_lowest,	ppo2_warning_loop_highest,	ppo2_warning_loop_default,	notext,	.172,	char_I_ppO2_min_loop	; ppO2 min on Loop and for pure diluent in pSCR
-	OPTION_UINT8p10	oPPO2Max,		ppo2_warning_high_lowest,	ppo2_warning_high_highest,	ppo2_warning_high_default,	notext,	.10,	char_I_ppO2_max_work	; ppO2 max while in working phase
-	OPTION_UINT8p10	oPPO2MaxDeco,	ppo2_warning_deco_lowest,	ppo2_warning_deco_highest,	ppo2_warning_deco_default,	notext,	.171,	char_I_ppO2_max_deco	; ppO2 max while in deco stops phase
+	; ppO2 warnings, sorted by ppO2 levels
+	OPTION_UINT8p10 oPPO2Min,     ppo2_warning_low_lowest,  ppo2_warning_low_highest,  ppo2_warning_low_default,  nounit, 0x022, 0x23, char_I_ppO2_min		; ppO2 min on OC   and for pure diluent in CCR
+	OPTION_UINT8p10 oPPO2MinCC,   ppo2_warning_loop_lowest, ppo2_warning_loop_highest, ppo2_warning_loop_default, nounit, 0x0BE, 0x4D, char_I_ppO2_min_loop	; ppO2 min on Loop and for pure diluent in pSCR
+	OPTION_UINT8p10 oPPO2Max,     ppo2_warning_high_lowest, ppo2_warning_high_highest, ppo2_warning_high_default, nounit, 0x01C, 0x22, char_I_ppO2_max_work	; ppO2 max while in working phase
+	OPTION_UINT8p10 oPPO2MaxDeco, ppo2_warning_deco_lowest, ppo2_warning_deco_highest, ppo2_warning_deco_default, nounit, 0x0BD, 0x4C, char_I_ppO2_max_deco	; ppO2 max while in deco stops phase
 
 
-;=============================================================================
-; volatile options
-
-	OPTION_UINT8p10	odiveInterval,		.0,				.240,			.0,		tMinutes,	volatile,	opt_surface_interval			; additional surface interval for deco calculator
-	OPTION_UINT8p2	obottomTime,		.2,				.60,			.10,	tMinutes,	volatile,	char_I_bottom_time				; bottom time  for deco calculator
-	OPTION_UINT8p3d	obottomDepth,		.12,			.120,			.21,	tMeters,	volatile,	char_I_bottom_depth				; bottom depth for deco calculator and simulator
-	OPTION_BOOL		oSimAGF,											.0,					volatile,	opt_sim_use_aGF					; use GF (no) or aGF (yes) in deco calculator
-	OPTION_ENUM8	oLogOffsetStep,		.4,								.0,		tLogOffStep1, volatile,	opt_logoffset_step				; step size when adjusting the log offset
+	; volatile options
+	OPTION_UINT8p10 odiveInterval,       .0,                 .240,                 .0,      tMinutes,    volatile,   nocomm,  opt_surface_interval			; additional surface interval for deco calculator
+	OPTION_UINT8p2  obottomTime,         .2,                  .60,                .10,      tMinutes,    volatile,   nocomm,  char_I_bottom_time			; bottom time  for deco calculator
+	OPTION_UINT8p3d obottomDepth,       .12,                 .120,                .21,      tMeters,     volatile,   nocomm,  char_I_bottom_depth			; bottom depth for deco calculator and simulator
+	OPTION_BOOL     oSimAGF,                                                       .0,                   volatile,   nocomm,  opt_sim_use_aGF				; =1: use GF (no) or aGF (yes) in deco calculator
+	OPTION_ENUM8    oLogOffsetStep,      .4,                                       .0,      tLogOffStep1,volatile,   nocomm,  opt_logoffset_step			; step size when adjusting the log offset
+	OPTION_UINT8    oClearSeconds,       .0,                   .0,                 .0,      nounit,      volatile,   nocomm,  rtc_latched_secs				; used for setting time & date via menu
+	OPTION_UINT8    oSetMinutes,         .0,                  .59,                 .0,      nounit,      volatile,   nocomm,  rtc_latched_mins				; ...
+	OPTION_UINT8    oSetHours,           .0,                  .23,                 .0,      nounit,      volatile,   nocomm,  rtc_latched_hour				; ...
+	OPTION_UINT8    oSetDay,             .1,                  .31,                 .0,      nounit,      volatile,   nocomm,  rtc_latched_day				; ...
+	OPTION_UINT8    oSetMonth,           .1,                  .12,                 .0,      nounit,      volatile,   nocomm,  rtc_latched_month				; ...
+	OPTION_UINT8    oSetYear,           .18,                  .24,                 .0,      nounit,      volatile,   nocomm,  rtc_latched_year				; ...
 
  IFDEF _gas_contingency
-	OPTION_BOOL		oGasContingency,									.0,					volatile,	char_I_gas_contingency			; =1: switch to alternative gas if best gas is depleted
+	OPTION_BOOL     oGasContingencySim,                                            .0,                   volatile,   nocomm,  opt_gas_contingency_sim		; =1: deco calculator: switch to alternative gas if best gas is depleted
  ENDIF
 
-
-;=============================================================================
-; Set Time/Set Date (RAM only)
-	OPTION_UINT8	oClearSeconds,		.0,				.0,				.0,		notext,		volatile,	rtc_latched_secs
-	OPTION_UINT8	oSetMinutes,		.0,				.59,			.0,		notext,		volatile,	rtc_latched_mins
-	OPTION_UINT8	oSetHours,			.0,				.23,			.0,		notext,		volatile,	rtc_latched_hour
-	OPTION_UINT8	oSetDay,			.1,				.31,			.0,		notext,		volatile,	rtc_latched_day
-	OPTION_UINT8	oSetMonth,			.1,				.12,			.0,		notext,		volatile,	rtc_latched_month
-	OPTION_UINT8	oSetYear,			.18,			.24,			.0,		notext,		volatile,	rtc_latched_year
-
 	global	option_table_end
 option_table_end:
+	OPTION_END		; end of option table - important: DO NOT OMIT THIS MACRO!
 
-	END
\ No newline at end of file
+	END