changeset 147:a1960295433b

Make loogbook search twice faster. + Cleanup inc/dec eeprom_address macros. + Cleanup loop menu_logbook2. + Make 2 bytes steps
author JeanDo
date Sun, 09 Jan 2011 16:04:02 +0100
parents c09b0be2e1e6
children
files code_part1/OSTC_code_asm_part1/divemode.asm code_part1/OSTC_code_asm_part1/i2c_eeprom.asm code_part1/OSTC_code_asm_part1/menu_logbook.asm
diffstat 3 files changed, 86 insertions(+), 375 deletions(-) [+]
line wrap: on
line diff
--- a/code_part1/OSTC_code_asm_part1/divemode.asm	Sun Jan 09 14:39:09 2011 +0100
+++ b/code_part1/OSTC_code_asm_part1/divemode.asm	Sun Jan 09 16:04:02 2011 +0100
@@ -156,8 +156,8 @@
 	btfsc	menubit							; Sleep only with inactive menu...
 	bra		diveloop_loop4
 
-	btfsc	simulatormode_active			; Do not sleep in Simualtor mode
-	bra		diveloop_loop4
+;	btfsc	simulatormode_active			; Do not sleep in Simualtor mode
+;	bra		diveloop_loop4
 
 	sleep
 	nop
@@ -486,8 +486,8 @@
 	bcf		store_sample				; update only any CF20 seconds
 	bsf		update_divetime				; update divemins every CF20 seconds
 
-	btfsc	simulatormode_active		; Are we in simulator mode?
-	return								; Yes, discard everything
+;	btfsc	simulatormode_active		; Are we in simulator mode?
+;	return								; Yes, discard everything
 
 	btfsc	header_stored				; Header already stored?
 	bra		store_dive_data2			; Yes, store only profile data
@@ -1023,8 +1023,8 @@
 	btfss	realdive					; dive longer then one minute
 	goto	end_dive_common				; No, discard everything
 
-	btfsc	simulatormode_active		; Are we in simulator mode?
-	goto	end_dive_common				; Yes, discard everything
+;	btfsc	simulatormode_active		; Are we in simulator mode?
+;	goto	end_dive_common				; Yes, discard everything
 
 	; Dive finished (and longer then one minute or Apnoe timeout occured)
 
@@ -1295,8 +1295,8 @@
 	btfsc	FLAG_apnoe_mode				; In Apnoe mode?
 	bra		timeout_divemode2			; Yes, use CF30 [min] for timeout
 
-	btfsc	simulatormode_active		; In Simulator mode?
-	bra		timeout_divemode3			; Yes, use fixed 5 seconds timeout			
+;	btfsc	simulatormode_active		; In Simulator mode?
+;	bra		timeout_divemode3			; Yes, use fixed 5 seconds timeout			
 	
 	bcf		divemode
 	incf	timeout_counter,F
@@ -1358,8 +1358,8 @@
 	cpfseq	last_pressure+1
 	bsf		pres_changed			; Yes
 
-	btfsc	simulatormode_active	; always update depth when in simulator mode
-	bsf		pres_changed				
+;	btfsc	simulatormode_active	; always update depth when in simulator mode
+;	bsf		pres_changed				
 
 	btfsc	pres_changed	
 	call	PLED_depth					; Displays new depth
@@ -1656,7 +1656,7 @@
 	bcf		premenu
 	bcf		realdive
 	bsf		update_divetime				; set flag
-	btfss	simulatormode_active		; do not disable in simulator mode!					
+;	btfss	simulatormode_active		; do not disable in simulator mode!					
 	call	disable_rs232				; Disable RS232
 
 	read_int_eeprom 	d'33'			; Read byte (stored in EEDATA)
--- a/code_part1/OSTC_code_asm_part1/i2c_eeprom.asm	Sun Jan 09 14:39:09 2011 +0100
+++ b/code_part1/OSTC_code_asm_part1/i2c_eeprom.asm	Sun Jan 09 16:04:02 2011 +0100
@@ -19,53 +19,45 @@
 ; ToDo: use 2nd 32KB from external EEPROM for something
 
 incf_eeprom_address	macro	ext_ee_temp1	; Will increase eeprom_address:2 with the 8Bit value "ext_ee_temp1" and takes
-	movlw	ext_ee_temp1					; care of bank switching at 0x8000
-	call 	incf_eeprom_address0
+    	movlw	ext_ee_temp1                ; care of bank switching at 0x8000
+    	call 	incf_eeprom_address0
 	endm
 
 incf_eeprom_address0:
-	movwf		ext_ee_temp1
-incf_eeprom_address1:
-	movlw		d'1'				; increase address
-	addwf		eeprom_address+0,F
-	movlw		d'0'
-	addwfc		eeprom_address+1,F
-	btfss		eeprom_address+1,7		; at address 8000?
-	bra			incf_eeprom_address2	; No, continue
-	
-	; Yes, clear eeprom_address:2
-	clrf		eeprom_address+0		; Clear eeprom address
-	clrf		eeprom_address+1
-	
-incf_eeprom_address2:
-	decfsz		ext_ee_temp1,F			; All done?
-	bra			incf_eeprom_address1	; No, continue
-	return								; Done.
+    	addwf		eeprom_address+0,F      ; increase address
+    	movlw		d'0'
+    	addwfc		eeprom_address+1,F
 
-decf_eeprom_address	macro	ext_ee_temp1	; Will decrease eeprom_address:2 with the 8Bit value "ext_ee_temp1" and takes
-	movlw	ext_ee_temp1					; care of bank switching at 0x8000
-	call 	decf_eeprom_address0
-	endm
+    	btfss		eeprom_address+1,7		; at address 8000?
+    	return                              ; No, continue
+    
+    	; Yes, clear eeprom_address:2
+    	clrf		eeprom_address+0		; Clear eeprom address
+    	clrf		eeprom_address+1
+    	return								; Done.
+
+;=============================================================================
+; Will decrease eeprom_address:2 with the 8Bit value "ext_ee_temp1" and takes
+; care of bank switching at 0x8000
+
+decf_eeprom_address	macro	ext_ee_temp1
+        movlw	ext_ee_temp1
+        call 	decf_eeprom_address0
+    endm
 
 decf_eeprom_address0:
-	movwf		ext_ee_temp1
-decf_eeprom_address1:
-	movlw		d'1'					; decrease address
-	subwf		eeprom_address+0,F
-	movlw		d'0'
-	subwfb		eeprom_address+1,F		
+        subwf		eeprom_address+0,F      ; decrease address: do a 16-8bits substract.
+        movlw		d'0'
+        subwfb		eeprom_address+1,F
 
-	btfss		eeprom_address+1,7		; at address 8000?
-	bra			decf_eeprom_address2	; No, continue
-	
-	movlw		b'01111111'					; yes, reset highbyte
-	movwf		eeprom_address+1
-	
-decf_eeprom_address2:
-	decfsz		ext_ee_temp1,F			; All done?
-	bra			decf_eeprom_address1	; No, continue
-	return								; Done.
+        btfss		eeprom_address+1,7		; at address 8000?
+        return                              ; No, done.
 
+        movlw		b'01111111'             ; yes, reset highbyte
+        movwf		eeprom_address+1
+    	return								; Done.
+
+;=============================================================================
 
 write_external_eeprom:				; data in WREG
 								; increase address eeprom_address+0:eeprom_address+1 after write
--- a/code_part1/OSTC_code_asm_part1/menu_logbook.asm	Sun Jan 09 14:39:09 2011 +0100
+++ b/code_part1/OSTC_code_asm_part1/menu_logbook.asm	Sun Jan 09 16:04:02 2011 +0100
@@ -49,78 +49,68 @@
 	clrf		divemins+1
 	call 		I2CReset					; Reset I2C Bus
 	call		get_free_EEPROM_location	; search from "here" backwards through the external memory
-	clrf		temp1						; max. 32KB
-	clrf		temp2
 
 	movlw		d'5'
 	movwf		menupos					; Here: stores current position on display (5-x)
-	
+
+;-----------------------------------------------------------------------------	
+; search external EEPROM backwards from eeprom_address
+; for 0xFA, 0xFA (store 1st. 0xFA position for next search)
+; read header data and display it
+; wait for user to confirm/exit
+; recopy data to search from here
+
 menu_logbook1b:
-									; search external EEPROM backwards from eeprom_address
-									; for 0xFA, 0xFA (store 1st. 0xFA position for next search)
-									; read header data and display it
-									; wait for user to confirm/exit
-									; recopy data to search from here
 	WIN_INVERT	.1
 	DISPLAYTEXT	.12						;" Wait.."
 	WIN_INVERT	.0
-	bcf		first_FA					; clear flags
-	bcf		second_FA
 
+    ;---- fast loop: check every other byte ----------------------------------
 menu_logbook2:
-	movlw		d'1'						; increase 16Bit value
-	addwf		divemins+0,F
-	movlw		d'0'
-	addwfc		divemins+1,F
+    infsnz      divemins+0,F            ; increase 16Bit value
+	incf        divemins+1,F
+    infsnz      divemins+0,F            ; increase 16Bit value, twice
+	incf        divemins+1,F
 
-	btfsc		divemins+1,7				; At 0x8000?
-	bra			menu_logbook_reset			; yes, restart (if not empty)
+	btfsc		divemins+1,7            ; At 0x8000?
+	bra			menu_logbook_reset      ; yes, restart (if not empty)
 
-	decf_eeprom_address	d'1'			; Macro, that subtracts 8Bit from eeprom_address:2 with banking at 0x8000
-	
+	decf_eeprom_address	d'2'			; +2 to eeprom address.
+
 	call		I2CREAD					; reads one byte (Slow! Better use Blockread!)
 
-	btfsc		first_FA					; 
-	bra			test_2nd_FA
-
-	bsf			first_FA					; Found 1st. 0xFA?
-	movlw		0xFA
+	movlw		0xFA                    ; That was a FA ?
 	cpfseq		SSPBUF
-	bcf			first_FA					; No, clear flag
-	bra			menu_logbook3				; and continue search
+    bra         menu_logbook2           ; No: continue the fast loop...
+    
+    ;---- Slow check : was it before or after that one ? ---------------------
 
-test_2nd_FA:
-	btfsc		second_FA
-	bra			test_FA_DONE
-
-	bsf			second_FA					; found 2nd 0xFA?
-	movlw		0xFA
-	cpfseq		SSPBUF
-	rcall		no_second_FA				; No, clear both flags!
-	bra			menu_logbook3				; and continue search
+ 	incf_eeprom_address	d'1'			; Been one step too far ?
+	call		I2CREAD					; reads one byte (Slow! Better use Blockread!)
+	movlw		0xFA                    ; That was a FA ?
+	xorwf		SSPBUF,W
+	bz          menu_loop_tooFar        ; Got it !
+	
+	decf_eeprom_address	d'2'			; Instead, not far enough ?
+	call		I2CREAD					; reads one byte (Slow! Better use Blockread!)
+    infsnz      divemins+0,F            ; Keep in sync (-1+2 == +1)
+	incf        divemins+1,F
+	movlw		0xFA                    ; It was the second FA ?
+	xorwf		SSPBUF,W
+	bz          test_FA_DONE
+    bra         menu_logbook2           ; No: continue the fast loop...
+   
+menu_loop_tooFar;
+    movlw       -.1                     ; Correct counter too,
+    addwf       divemins+0              ; by doing a 16bit decrement.
+    movlw       0
+    addwfc      divemins+1
 
 test_FA_DONE:							; Found 0xFA 0xFA!
 	movff		eeprom_address+0,eeprom_header_address+0	; store current address into temp register
 	movff		eeprom_address+1,eeprom_header_address+1	; we must continue search here later
-	incf		divenumber,F				; new header found, increase divenumber
-	bra			menu_logbook4				; Done with searching, display the header!
-
-no_second_FA:							; discard both flags!
-	bcf			second_FA					
-	bcf			first_FA			
-	return
-
-
-menu_logbook3:
-	movlw		d'1'						; increase global counter
-	addwf		temp1,F
-	movlw		d'0'
-	addwfc		temp2,F
-
-	btfsc		temp2,7					; 32KB searched?
-	bra			menu_logbook3b				; Yes
-	bra			menu_logbook2				; No, not now
-
+	incf		divenumber,F            ; new header found, increase divenumber
+	bra			menu_logbook4           ; Done with searching, display the header!
 
 menu_logbook3b:
 	btfss		logbook_page_not_empty			; Was there at least one dive?
@@ -138,7 +128,7 @@
 
 menu_logbook4:
 	; Adjust eeprom_address to set pointer on first headerbyte
-	incf_eeprom_address	d'3'				; Macro, that adds 8Bit to eeprom_address:2 with banking at 0x8000
+	incf_eeprom_address	d'2'            ; Macro, that adds 8Bit to eeprom_address:2 with banking at 0x8000
 
 	btfss		logbook_profile_view			; Display profile (search routine is used in profileview, too)
 	bra			menu_logbook_display_loop		; No, display overwiev list
@@ -165,8 +155,6 @@
 	movff		eeprom_header_address+1,decodata+1		
 	movff		divemins+0,max_pressure+0			
 	movff		divemins+1,max_pressure+1			
-	movff		temp1,logbook_temp6
-	movff		temp2,samplesecs					
 
 	movlw		d'3'
 	addwf		decodata+0,F
@@ -631,58 +619,6 @@
 	return
 
 profile_view_get_depth_new1:
-;bra		profile_view_get_depth_new1_1		; Skip all data to ignore...
-
-;	decfsz		divisor_deco,F				; Check divisor
-;	bra			profile_view_get_depth_new1_1	; Divisor not zero...	
-;
-;;	tstfsz		timeout_counter2			; Any bytes to ignore
-;;	bra			profile_view_get_depth_new2	; Yes (1-127)
-;;	return									; No (0)
-;
-;	movff	logbook_temp2,divisor_deco		; Restore divisor value!
-;; check for event byte and the extra informations
-;	btfss		event_occured
-;	bra			profile_view_get_depth_new2		; No event!
-;	
-;	call		I2CREAD2					; read event byte
-;	decf		timeout_counter2,F			; Reduce number of bytes to ignore
-;
-;	movlw		d'0'						; Extra bytes to ignore because of event
-;	btfsc		SSPBUF,4
-;	addlw		d'2'						; two bytes for manual gas set
-;	btfsc		SSPBUF,5
-;	addlw		d'1'						; one byte for gas change
-;	movwf		logbook_temp5				; store extra bytes to ignore
-;
-;	tstfsz		logbook_temp5				; Anything to ignore?
-;	bra			profile_view_get_depth_new1_2	; Yes
-;	bra			profile_view_get_depth_new2	; No, continue with normal routine
-;
-;profile_view_get_depth_new1_2:
-;	call		I2CREAD2					; ignore byte
-;	decf		timeout_counter2,F			; Reduce number of bytes to ignore
-;	decfsz		logbook_temp5,F				; reduce extra bytes ignore counter
-;	bra			profile_view_get_depth_new1_2	; loop
-;
-;profile_view_get_depth_new2:
-;	movlw		d'4'							; Temp (2) and Deko (2) in the sample?
-;	cpfseq		timeout_counter2
-;	bra			profile_view_get_depth_new2_2	; No
-;	; Yes, skip Temp!
-;	call		I2CREAD2					; ignore byte
-;	decf		timeout_counter2,F			; Reduce number of bytes to ignore
-;	call		I2CREAD2					; ignore byte
-;	decf		timeout_counter2,F			; Reduce number of bytes to ignore
-;
-;profile_view_get_depth_new2_2:
-;	call		I2CREAD2					; ignore byte
-;
-;	decfsz		timeout_counter2,F			; reduce counter
-;	bra			profile_view_get_depth_new2_2; Loop
-;	return
-
-profile_view_get_depth_new1_1:
 	tstfsz		timeout_counter2			; Any bytes to ignore
 	bra			profile_view_get_depth_new3	; Yes (1-127)
 	return									; No (0)
@@ -702,8 +638,6 @@
 	movff		max_pressure+0,divemins+0
 	movff		max_pressure+1,divemins+1
 	movff		mintemp+0, divenumber
-	movff		logbook_temp6,temp1
-	movff		samplesecs,temp2
 	decf		divenumber,F
 	bcf			all_dives_shown
 
@@ -826,218 +760,3 @@
 	output_16								; Divetime minutes
 	STRCAT_PRINT "'"                    ; Display header-row in list
 	return
-
-
-;profileview_menu:
-;	movlw		d'1'
-;	movwf		menupos
-;profileview_menu1:	
-;	call		PLED_clear_divemode_menu
-;	call		PLED_profileview_menu		; Displays Menu
-;profileview_menu2:
-;	call		PLED_divemenu_cursor
-;	bcf			sleepmode					; clear some flags
-;	bcf			menubit2
-;	bcf			menubit3
-;	bcf			switch_right
-;	bcf			switch_left
-;	clrf		timeout_counter2
-;
-;profileview_menu_loop:
-;	call		check_switches_logbook
-;	
-;	btfsc		menubit3					; SET/MENU?
-;	bra			profileview_menu_move_cursor; Move Cursor
-;	btfsc		menubit2					; ENTER?
-;	bra			profileview_menu_do			; Do task
-;
-;	btfsc		onesecupdate
-;	call		timeout_surfmode			; timeout
-;	btfsc		onesecupdate
-;	call		set_dive_modes				; check, if divemode must be entered
-;	bcf			onesecupdate				; one second update
-;	btfsc		sleepmode					; Timeout?
-;	bra			exit_profileview			; back to list
-;	btfsc		divemode
-;	goto		restart						; Enter Divemode if required
-;
-;	bra			profileview_menu_loop		; wait for something to do
-;	
-;profileview_menu_do:
-;	dcfsnz		menupos,F
-;	bra			exit_profileview		; back to list, quit profileview menu
-;	dcfsnz		menupos,F
-;	bra			profileview_menu_delete	; Delete Dive from external EEPROM
-;;	dcfsnz		menupos,F
-;;	bra			profileview_menu_format	; Delete all Dives from external EEPROM
-;;
-;profileview_menu_move_cursor:
-;	incf		menupos,F
-;	movlw		d'3'						; number of menu options+1
-;	cpfseq		menupos						; =limit?
-;	bra			profileview_menu_move_cursor2	; No!
-;	movlw		d'1'							; Yes, reset to position 1!
-;	movwf		menupos
-;profileview_menu_move_cursor2:
-;	bra			profileview_menu2		; Return to Profile Menu, also updates cursor
-
-;profileview_menu_format:
-;	call		PLED_confirmbox				; Returns WREG=0 for Cancel (Or Timeout) and WREG=1 for OK!
-;
-;	movwf		menupos						; Used as temp
-;	tstfsz		menupos
-;	bra			profileview_menu_format_loop2		; Format now!
-;
-;	bra			exit_profileview		; back to list, quit profileview menu
-;
-;profileview_menu_format_loop2:			; Do now format!
-;	call		PLED_ClearScreen
-;	DISPLAYTEXT	.12						; "Wait.."
-;	call		reset_external_eeprom		; delete profile memory
-;	goto		menu						; Return to Menu
-
-;profileview_menu_delete:
-;	call		PLED_confirmbox				; Returns WREG=0 for Cancel (Or Timeout) and WREG=1 for OK!
-;	movwf		menupos						; Used as temp
-;	tstfsz		menupos
-;	bra			profileview_menu_delete_loop2		; Delete now!
-;
-;	bra			exit_profileview		; back to list, quit profileview menu
-;
-;profileview_menu_delete_loop2:	; Do now delete
-;	call		PLED_ClearScreen
-;	DISPLAYTEXT	.12				; "Wait.."
-;
-;; eeprom_address:2 is set to the second byte after the ending 0xFD 0xFD
-;; eeprom_address:2 - 1 -> set to the last byte after the 0xFD 0xFD of the current dive
-;
-;; Set pointer to Byte after the final "0xFD 0xFD"
-;	decf_eeprom_address	d'1'			; Macro, that subtracts 8Bit from eeprom_address:2 with banking at 0x8000
-;	movff		eeprom_address+0,divemins+0
-;	movff		eeprom_address+1,divemins+1			
-;
-;; eeprom_header_address:2 + 1 -> set to the first 0xFA of the 0xFA 0xFA start bytes of the header
-;	movlw		d'1'								; 
-;	addwf		eeprom_header_address+0,F
-;	movlw		d'0'
-;	addwfc		eeprom_header_address+1,F			; eeprom_header_address:2 + 1
-;	btfsc		eeprom_header_address+1,7			; at 7FFF?
-;	clrf		eeprom_header_address+0				; Yes, clear address (+0 first!)
-;	btfsc		eeprom_header_address+1,7			; at 7FFF?
-;	clrf		eeprom_header_address+1				; Yes, clear address
-;
-;	movff		divemins+0,eeprom_address+0
-;	movff		divemins+1,eeprom_address+1					; Read source
-;	call		I2CREAD										; reads one byte (Slow! Better use Blockread!)	
-;	movwf		profile_temp+0
-;	movlw		0xFE
-;	cpfseq		profile_temp+0
-;	bra			profileview_menu_delete_notlast				; we're not deleting the last dive....
-;
-;; Just move the 0xFE after the dive and delete the rest with 0xFF			
-;	movff		eeprom_header_address+0, eeprom_address+0
-;	movff		eeprom_header_address+1, eeprom_address+1	; Write target
-;	movlw		0xFE
-;	call		I2CWRITE									; Write the byte
-;
-;; Now, delete everything _between_ eeprom_header_address and divemins:2+2 with 0xFF
-;	movlw		d'1'								; 
-;	addwf		eeprom_header_address+0,F
-;	movlw		d'0'
-;	addwfc		eeprom_header_address+1,F			; eeprom_header_address:2 + 1
-;	btfsc		eeprom_header_address+1,7			; at 7FFF?
-;	clrf		eeprom_header_address+0				; Yes, clear address (+0 first!)
-;	btfsc		eeprom_header_address+1,7			; at 7FFF?
-;	clrf		eeprom_header_address+1				; Yes, clear address
-;
-;	movff		eeprom_header_address+0,eeprom_address+0
-;	movff		eeprom_header_address+1,eeprom_address+1
-;
-;	movlw		d'1'								; 
-;	addwf		divemins+0,F
-;	movlw		d'0'
-;	addwfc		divemins+1,F						; divemins:2 + 1
-;	btfss		divemins+1,7						; at 7FFF?
-;	bra			profileview_menu_delete_loop2a		; Skip
-;	clrf		divemins+0							; Yes, clear address
-;	clrf		divemins+1
-;
-;;	movff		eeprom_header_address+0,eeprom_address+0
-;;	movff		eeprom_header_address+1,eeprom_address+1
-;
-;
-;profileview_menu_delete_loop2a:	
-;	movlw		0xFF
-;	call		I2CWRITE							; Write the byte
-;
-;	incf_eeprom_address	d'1'				; Macro, that adds 8Bit to eeprom_address:2 with banking at 0x8000
-;
-;	movff		divemins+0,sub_a+0
-;	movff		divemins+1,sub_a+1
-;	movff		eeprom_address+0,sub_b+0
-;	movff		eeprom_address+1,sub_b+1
-;	call		sub16								; sub_c = sub_a - sub_b
-;	tstfsz		sub_c+0								; Done (Result=Zero?) ?
-;	bra			profileview_menu_delete_loop2a		; No, continue
-;	tstfsz		sub_c+1								; Done (Result=Zero?) ?
-;	bra			profileview_menu_delete_loop2a		; No, continue
-;	goto		menu_logbook						; Return to list when done deleting
-;
-;profileview_menu_delete_notlast:
-;; Move everything byte-wise from divemins:2 to eeprom_header_address:2 until 0xFD 0xFD 0xFE is found and were moved
-;	call		get_free_EEPROM_location			; Searches 0xFD, 0xFD, 0xFE and sets Pointer to 0xFE
-;
-;	incf_eeprom_address	d'2'				; Macro, that adds 8Bit to eeprom_address:2 with banking at 0x8000
-;	movff		eeprom_address+0,profile_temp+0		
-;	movff		eeprom_address+1,profile_temp+1	
-;; holds now address of 0xFE + 2 (Abort condition....)
-;	decf_eeprom_address	d'2'			; Macro, that subtracts 8Bit from eeprom_address:2 with banking at 0x8000
-;; holds now address of 0xFE again
-;	movff		eeprom_address+0,divemins+0
-;	movff		eeprom_address+1,divemins+1					; Copy to working read registers
-;
-;profileview_menu_delete_loop3:
-;	movff		divemins+0,eeprom_address+0
-;	movff		divemins+1,eeprom_address+1					; Read source
-;	call		I2CREAD										; reads one byte (Slow! Better use Blockread!)	
-;	movff		eeprom_header_address+0, eeprom_address+0
-;	movff		eeprom_header_address+1, eeprom_address+1	; Write target
-;	call		I2CWRITE									; Write the byte
-;
-;	movff		divemins+0,eeprom_address+0
-;	movff		divemins+1,eeprom_address+1					; Set to source again
-;	movlw		0xFF
-;	call		I2CWRITE									; Delete the source....
-;
-;	movlw		d'1'
-;	addwf		divemins+0,F							; Increase source (Divemins:2)
-;	movlw		d'0'
-;	addwfc		divemins+1,F
-;	btfsc		divemins+1,7						; at 0x8000?
-;	clrf		divemins+0							; Yes, clear address (+0 first!)
-;	btfsc		divemins+1,7						; at 0x8000?
-;	clrf		divemins+1							; Yes, clear address
-;
-;	movlw		d'1'								; Increase target (eeprom_header_address:2)
-;	addwf		eeprom_header_address+0,F
-;	movlw		d'0'
-;	addwfc		eeprom_header_address+1,F			; eeprom_header_address:2 + 1
-;	btfsc		eeprom_header_address+1,7			; at 7FFF?
-;	clrf		eeprom_header_address+0				; Yes, clear address (+0 first!)
-;	btfsc		eeprom_header_address+1,7			; at 7FFF?
-;	clrf		eeprom_header_address+1				; Yes, clear address
-;
-;	movff		divemins+0,sub_a+0
-;	movff		divemins+1,sub_a+1
-;	movff		profile_temp+0,sub_b+0
-;	movff		profile_temp+1,sub_b+1
-;	call		sub16								; sub_c = sub_a - sub_b
-;	tstfsz		sub_c+0								; Done (Result=Zero?) ?
-;	bra			profileview_menu_delete_loop3		; No, continue
-;	tstfsz		sub_c+1								; Done (Result=Zero?) ?
-;	bra			profileview_menu_delete_loop3		; No, continue
-;
-;	goto		menu_logbook								; Return to list when done deleting
-
-
-	
\ No newline at end of file