diff src/external_flash.asm @ 582:b455b31ce022

work on 2.97 stable
author heinrichsweikamp
date Mon, 26 Feb 2018 16:40:28 +0100
parents 9c54849b8d3b
children ca4556fb60b9
line wrap: on
line diff
--- a/src/external_flash.asm	Sun Feb 25 18:25:38 2018 +0100
+++ b/src/external_flash.asm	Mon Feb 26 16:40:28 2018 +0100
@@ -1,6 +1,6 @@
 ;=============================================================================
 ;
-;   File external_flash.asm
+;   File external_flash.asm											## V2.98
 ;
 ;   External flash
 ;
@@ -12,333 +12,335 @@
 	#include "hwos.inc"
 	#include "wait.inc"
 
-basic    CODE
+basic	CODE
 ;=============================================================================
 
-	global		incf_ext_flash_address_p1
+	global	incf_ext_flash_address_p1
 incf_ext_flash_address_p1:					; Increase by one
 	movlw		.1
 
 	global	incf_ext_flash_address0
 incf_ext_flash_address0:
-    addwf		ext_flash_address+0,F      ; increase address
-    movlw		d'0'
-    addwfc		ext_flash_address+1,F
-    addwfc		ext_flash_address+2,F
+	addwf	ext_flash_address+0,F			; increase address
+	movlw	d'0'
+	addwfc	ext_flash_address+1,F
+	addwfc	ext_flash_address+2,F
 
-	movlw		0x40
-	cpfseq		ext_flash_address+2			; at address 40FFFF?
+	movlw	0x40
+	cpfseq	ext_flash_address+2				; at address 40FFFF?
 	return									; No, return
-;	clrf		ext_flash_address+0
-;	clrf		ext_flash_address+1
-	clrf		ext_flash_address+2			; Yes, rollover to 0x000000
+;	clrf	ext_flash_address+0
+;	clrf	ext_flash_address+1
+	clrf	ext_flash_address+2				; Yes, rollover to 0x000000
 	return
 
-	global		incf_ext_flash_address0_p1_0x20
+
+	global	incf_ext_flash_address0_p1_0x20
 incf_ext_flash_address0_p1_0x20:			; Increase by one
-	movlw		.1
+	movlw	.1
 
-	global		incf_ext_flash_address0_0x20
-incf_ext_flash_address0_0x20:		 	; with roll-over at 0x200000 to 0x000000
-    addwf		ext_flash_address+0,F      ; increase address
-    movlw		d'0'
-    addwfc		ext_flash_address+1,F
-    addwfc		ext_flash_address+2,F
+	global	incf_ext_flash_address0_0x20
+incf_ext_flash_address0_0x20:				; with roll-over at 0x200000 to 0x000000
+	addwf	ext_flash_address+0,F			; increase address
+	movlw	d'0'
+	addwfc	ext_flash_address+1,F
+	addwfc	ext_flash_address+2,F
+	movlw	0x20
+	cpfseq	ext_flash_address+2				; at address 0x200000?
+	return									; No, return
+;	clrf	ext_flash_address+0
+;	clrf	ext_flash_address+1
+	clrf	ext_flash_address+2				; Yes, rollover to 0x000000
+	return
 
-	movlw		0x20
-	cpfseq		ext_flash_address+2			; at address 0x200000?
-	return									; No, return
-;	clrf		ext_flash_address+0
-;	clrf		ext_flash_address+1
-	clrf		ext_flash_address+2			; Yes, rollover to 0x000000
-	return
 
 	global	decf_ext_flash_address0
 decf_ext_flash_address0:
-    subwf		ext_flash_address+0,F      ; decrease address: do a 16-8bits substract.
-    movlw		d'0'
-    subwfb		ext_flash_address+1,F
-    movlw		d'0'
-    subwfb		ext_flash_address+2,F
-
-	btfss		ext_flash_address+2,7		; Rollover to 0xFFFFFF?
+	subwf	ext_flash_address+0,F			; decrease address: do a 16-8bits subtract
+	movlw	d'0'
+	subwfb	ext_flash_address+1,F
+	movlw	d'0'
+	subwfb	ext_flash_address+2,F
+	btfss	ext_flash_address+2,7			; Rollover to 0xFFFFFF?
 	return									; No, return
-	clrf		ext_flash_address+2			; Set to 0x00FFFFF
-	setf		ext_flash_address+1
-	setf		ext_flash_address+0
+	clrf	ext_flash_address+2				; Set to 0x00FFFFF
+	setf	ext_flash_address+1
+	setf	ext_flash_address+0
 	return
 
-	global	ext_flash_byte_read_plus	; Return data read in WREG and SSP2BUF and 
-ext_flash_byte_read_plus:				; increase address after read
+
+	global	ext_flash_byte_read_plus		; Return data read in WREG and SSP2BUF and 
+ext_flash_byte_read_plus:					; increase address after read
 	rcall	ext_flash_byte_read
-	movwf	temp1						; store received data
-	bra		incf_ext_flash_address_p1	; +1 and return
+	movwf	ext_flash_rw					; store received data
+	bra		incf_ext_flash_address_p1		; +1 and return
 
-	global	ext_flash_byte_read_plus_0x20; Return data read in WREG and SSP2BUF and 
-ext_flash_byte_read_plus_0x20:			; increase address after read with banking at 0x200000
+
+	global	ext_flash_byte_read_plus_0x20	; Return data read in WREG and SSP2BUF and 
+ext_flash_byte_read_plus_0x20:				; increase address after read with banking at 0x200000
 	rcall	ext_flash_byte_read
-	movwf	temp1						; store received data
-	bra		incf_ext_flash_address0_p1_0x20 ;+1 and return
+	movwf	ext_flash_rw					; store received data
+	bra		incf_ext_flash_address0_p1_0x20	;+1 and return
 
 
-	global	ext_flash_byte_read		; Return data read in WREG
+	global	ext_flash_byte_read				; Return data read in WREG
 ext_flash_byte_read:
-	movlw		0x03				; Read command
-	rcall		write_spi
-    rcall       ext_flash_write_address ; Write 24bit address ext_flash_address:3 via SPI
-	rcall		write_spi			; Dummy write to read data into WREG
-	bsf			flash_ncs			; CS=1
-	movwf		temp1
-	return							; Return data read in WREG and temp1
+	movlw	0x03							; Read command
+	rcall	write_spi
+	rcall	ext_flash_write_address			; Write 24bit address ext_flash_address:3 via SPI
+	rcall	write_spi						; Dummy write to read data into WREG
+	bsf		flash_ncs						; CS=1
+	movwf	ext_flash_rw
+	return									; Return data read in WREG and ext_flash_rw
+
 
-ext_flash_write_address: ; Write 24bit address ext_flash_address:3 via SPI
-	movf		ext_flash_address+2,W	; 24Bit Address
-	rcall		write_spi
-	movf		ext_flash_address+1,W
-	rcall		write_spi
-	movf		ext_flash_address+0,W
-	bra 		write_spi               ; And return....
+ext_flash_write_address:					; Write 24bit address ext_flash_address:3 via SPI
+	movf	ext_flash_address+2,W			; 24Bit Address
+	rcall	write_spi
+	movf	ext_flash_address+1,W
+	rcall	write_spi
+	movf	ext_flash_address+0,W
+	bra 	write_spi						; And return....
+
 
 	global	ext_flash_read_block_start		; Return data read in WREG
 ext_flash_read_block_start:
-	movlw		0x03				; Read command
-	rcall		write_spi
-    rcall       ext_flash_write_address ; Write 24bit address ext_flash_address:3 via SPI
-	rcall		write_spi			; Dummy write to read data into WREG
-	return							; Return data read in WREG
+	movlw	0x03							; Read command
+	rcall	write_spi
+	rcall	ext_flash_write_address			; Write 24bit address ext_flash_address:3 via SPI
+	rcall	write_spi						; Dummy write to read data into WREG
+	return									; Return data read in WREG
 
-	global	ext_flash_read_block		; Return data read in WREG
+
+	global	ext_flash_read_block			; Return data read in WREG
 ext_flash_read_block:
-	rcall		incf_ext_flash_address_p1	; Increase address +1
-	bra			write_spi1			; Dummy write to read data into WREG and return
+	rcall	incf_ext_flash_address_p1		; Increase address +1
+	bra		write_spi1						; Dummy write to read data into WREG and return
+
 
-	global	ext_flash_read_block_stop	; Return data read in WREG
+	global	ext_flash_read_block_stop		; Return data read in WREG
 ext_flash_read_block_stop:
-	bsf			flash_ncs			; CS=1
-	return							; NO data in WREG
+	bsf		flash_ncs						; CS=1
+	return									; NO data in WREG
+
 
 	global	write_byte_ext_flash_plus_header
-write_byte_ext_flash_plus_header:		; Write from WREG and increase address after write
-	movwf		temp1					; store data
+write_byte_ext_flash_plus_header:			; Write from WREG and increase address after write
+	movwf	ext_flash_rw					; store data
 	; test if write is done at first byte of 4kB block
 	; if yes -> delete 4kB block first
-	tstfsz		ext_flash_address+0			; at 0x00?
-	bra			write_byte_ext_flash_plus_h1	; No, normal Write
+	tstfsz	ext_flash_address+0				; at 0x00?
+	bra		write_byte_ext_flash_plus_h1	; No, normal Write
+	movf	ext_flash_address+1,W
+	andlw	0x0F							; Mask lower nibble
+	tstfsz	WREG							; at 0x.0?
+	bra		write_byte_ext_flash_plus_h1	; No, normal Write
+	; At beginning of 4kB block -> erase first!
+	rcall	ext_flash_erase4kB				; Erases 4kB sector @ext_flash_address:3
+write_byte_ext_flash_plus_h1:
+	movf	ext_flash_rw,W
+	rcall	ext_flash_byte_write			; Write the byte
+	bra		incf_ext_flash_address_p1		; +1 and return
 
-	movf		ext_flash_address+1,W
-	andlw		0x0F						; Mask lower nibble
-	tstfsz		WREG						; at 0x.0?
-	bra			write_byte_ext_flash_plus_h1; No, normal Write
-	
-	; At beginning of 4kB block -> rease first!
-	rcall		ext_flash_erase4kB		; Erases 4kB sector @ext_flash_address:3
-write_byte_ext_flash_plus_h1:
-	movf		temp1,W
-	rcall		ext_flash_byte_write	; Write the byte
-	bra			incf_ext_flash_address_p1	; +1 and return
 
-    global  write_byte_ext_flash_plus_nocnt ; No increase of ext_flash_dive_counter:3
+	global	write_byte_ext_flash_plus_nocnt	; No increase of ext_flash_dive_counter:3
 write_byte_ext_flash_plus_nocnt:
-    movwf		temp1                       ; store data
-    bra         write_byte_ext_flash_plus2
+	movwf	ext_flash_rw					; store data
+	bra		write_byte_ext_flash_plus2
+
 
-    global  write_byte_ext_flash_plus_nodel ; Does NOT delete 4kB Page when required
-write_byte_ext_flash_plus_nodel:            ; Write from WREG and increase address after write with banking at 0x200000
-    movwf		temp1                       ; store data
-    bra         write_byte_ext_flash_plus1  ; Ignore possible begin of 4kB page, there have been written 0xFF already
+	global	write_byte_ext_flash_plus_nodel	; Does NOT delete 4kB Page when required
+write_byte_ext_flash_plus_nodel:			; Write from WREG and increase address after write with banking at 0x200000
+	movwf	ext_flash_rw					; store data
+	bra		write_byte_ext_flash_plus1		; Ignore possible begin of 4kB page, there have been written 0xFF already
 
-	global	write_byte_ext_flash_plus	; Write from WREG and increase address after write with banking at 0x200000
+	global	write_byte_ext_flash_plus		; Write from WREG and increase address after write with banking at 0x200000
 write_byte_ext_flash_plus:
-	movwf		temp1					; store data
-    
-    ; First, increase dive length counter
-    incf        ext_flash_dive_counter+0,F
-    movlw       .0
-    addwfc      ext_flash_dive_counter+1,F
-    addwfc      ext_flash_dive_counter+2,F  ; 24bit++
+	movwf	ext_flash_rw					; store data
+	; First, increase dive length counter
+	incf	ext_flash_dive_counter+0,F
+	movlw	.0
+	addwfc	ext_flash_dive_counter+1,F
+	addwfc	ext_flash_dive_counter+2,F		; 24bit++
 
 write_byte_ext_flash_plus2:
 	; Now test if write is done at first byte of 4kB block
 	; if yes -> delete 4kB block first
-	tstfsz		ext_flash_address+0			; at 0x00?
-	bra			write_byte_ext_flash_plus1	; No, normal Write
+	tstfsz	ext_flash_address+0				; at 0x00?
+	bra		write_byte_ext_flash_plus1		; No, normal Write
+	movf	ext_flash_address+1,W
+	andlw	0x0F							; Mask lower nibble
+	tstfsz	WREG							; at 0x.0?
+	bra		write_byte_ext_flash_plus1		; No, normal Write
+	; At beginning of 4kB block -> erase first!
+	rcall	ext_flash_erase4kB				; Erases 4kB sector @ext_flash_address:3
+write_byte_ext_flash_plus1:
+	movf	ext_flash_rw,W
+	rcall	ext_flash_byte_write			; Write the byte
+	bra		incf_ext_flash_address0_p1_0x20	; +1 and roll over at 0x200000 to 0x000000	and return
 
-	movf		ext_flash_address+1,W
-	andlw		0x0F						; Mask lower nibble
-	tstfsz		WREG						; at 0x.0?
-	bra			write_byte_ext_flash_plus1	; No, normal Write
-	
-	; At beginning of 4kB block -> erase first!
-	rcall		ext_flash_erase4kB		; Erases 4kB sector @ext_flash_address:3
-write_byte_ext_flash_plus1:
-	movf		temp1,W
-	rcall		ext_flash_byte_write	; Write the byte
-	bra			incf_ext_flash_address0_p1_0x20		 ; +1 and roll over at 0x200000 to 0x000000	and return
 
-	global	ext_flash_byte_write	; Write from WREG
+	global	ext_flash_byte_write			; Write from WREG
 ext_flash_byte_write:
-	movwf		temp1				; store data byte
-	bsf			flash_ncs			; CS=1
-	movlw		0x06				; WREN command
-	rcall		write_spi
-	bsf			flash_ncs			; CS=1
-	movlw		0x02				; Write (PP, Page-Program) command
-	rcall		write_spi
-	rcall       ext_flash_write_address ; Write 24bit address ext_flash_address:3 via SPI
-	movf		temp1,W				; load data byte
-	rcall		write_spi			; write one byte of data!
-	bra	ext_flash_wait_write	    ; And return...
+	movwf	ext_flash_rw					; store data byte
+	bsf		flash_ncs						; CS=1
+	movlw	0x06							; WREN command
+	rcall	write_spi
+	bsf		flash_ncs						; CS=1
+	movlw	0x02							; Write (PP, Page-Program) command
+	rcall	write_spi
+	rcall	ext_flash_write_address			; Write 24bit address ext_flash_address:3 via SPI
+	movf	ext_flash_rw,W					; load data byte
+	rcall	write_spi						; write one byte of data!
+	bra		ext_flash_wait_write			; And return...
 
-	global	ext_flash_byte_write_comms  ; without wait, ~86us fixed delay due to 115200 Bauds
+
+	global	ext_flash_byte_write_comms		; without wait, ~86us fixed delay due to 115200 Bauds
 ext_flash_byte_write_comms:
-	movwf		temp1				; store data byte
-	bsf			flash_ncs			; CS=1
-	movlw		0x06				; WREN command
-	rcall		write_spi
-	bsf			flash_ncs			; CS=1
-	movlw		0x02				; Write (PP, Page-Program) command
-	rcall		write_spi
-	rcall       ext_flash_write_address ; Write 24bit address ext_flash_address:3 via SPI
-	movf		temp1,W				; load data byte
-	rcall		write_spi			; write one byte of data!
-	bsf			flash_ncs			; CS=1
+	movwf	ext_flash_rw					; store data byte
+	bsf		flash_ncs						; CS=1
+	movlw	0x06							; WREN command
+	rcall	write_spi
+	bsf		flash_ncs						; CS=1
+	movlw	0x02							; Write (PP, Page-Program) command
+	rcall	write_spi
+	rcall	ext_flash_write_address			; Write 24bit address ext_flash_address:3 via SPI
+	movf	ext_flash_rw,W					; load data byte
+	rcall	write_spi						; write one byte of data!
+	bsf		flash_ncs						; CS=1
 	return
-	
-	global	ext_flash_disable_protection		; Disable write protection
-ext_flash_disable_protection:
-    ; unlock old memory
-	bsf			flash_ncs			; CS=1
-	movlw		0x50				; EWSR command
-	rcall		write_spi
-	bsf			flash_ncs			; CS=1
+
 
-	movlw		0x01				; WRSR command
-	rcall		write_spi
-	movlw		b'00000000'			; New status
-	rcall		write_spi
-	bsf			flash_ncs			; CS=1
-
-    ; unlock new memory
-	movlw		0x06				; WREN command
-	rcall		write_spi
-	bsf			flash_ncs			; CS=1
-	movlw		0x98				; ULBPR command
-	rcall		write_spi
-	bsf			flash_ncs			; CS=1
-	
-	movlw		0x06				; WREN command
-	rcall		write_spi
-	bsf			flash_ncs			; CS=1
-	movlw		0x42				; WBPR command
-	rcall		write_spi
-	movlw       .18
-	movwf       temp2
+	global	ext_flash_disable_protection	; Disable write protection
+ext_flash_disable_protection:
+	; unlock old memory
+	bsf		flash_ncs						; CS=1
+	movlw	0x50							; EWSR command
+	rcall	write_spi
+	bsf		flash_ncs						; CS=1
+	movlw	0x01							; WRSR command
+	rcall	write_spi
+	movlw	b'00000000'						; New status
+	rcall	write_spi
+	bsf		flash_ncs						; CS=1
+	; unlock new memory
+	movlw	0x06							; WREN command
+	rcall	write_spi
+	bsf		flash_ncs						; CS=1
+	movlw	0x98							; ULBPR command
+	rcall	write_spi
+	bsf		flash_ncs						; CS=1
+	movlw	0x06							; WREN command
+	rcall	write_spi
+	bsf		flash_ncs						; CS=1
+	movlw	0x42							; WBPR command
+	rcall	write_spi
+	movlw	.18
+	movwf	lo
 ext_flash_disable_protection2:
-	movlw       0x00
-	rcall		write_spi
-        decfsz      temp2,F             ; 18 bytes with 0x00
-	bra         ext_flash_disable_protection2
-        bsf			flash_ncs			; CS=1
+	movlw	0x00
+	rcall	write_spi
+	decfsz	lo,F							; 18 bytes with 0x00
+	bra		ext_flash_disable_protection2
+	bsf		flash_ncs						; CS=1
 	return
 
 	global	ext_flash_enable_protection
 ext_flash_enable_protection:
-    ; lock old memory
-	bsf			flash_ncs			; CS=1
-	movlw		0x50				; EWSR command
-	rcall		write_spi
-	bsf			flash_ncs			; CS=1
-
-	movlw		0x01				; WRSR command
-	rcall		write_spi
-	movlw		b'00011100'			; New status (Write protect on)
-	rcall		write_spi
-	bsf			flash_ncs			; CS=1
-
-    ; lock new memory
-;    	movlw		0x06				; WREN command
-;	rcall		write_spi
-;	bsf			flash_ncs			; CS=1
-;	movlw		0x8D				; LBPR command
-;	rcall		write_spi
-;	bsf			flash_ncs			; CS=1
-	movlw		0x06				; WREN command
-	rcall		write_spi
-	bsf			flash_ncs			; CS=1
-	movlw		0x42				; WBPR command
-	rcall		write_spi
-    movlw       .18
-    movwf       temp2
+	; lock old memory
+	bsf		flash_ncs					; CS=1
+	movlw	0x50						; EWSR command
+	rcall	write_spi
+	bsf		flash_ncs					; CS=1
+	movlw	0x01						; WRSR command
+	rcall	write_spi
+	movlw	b'00011100'					; New status (Write protect on)
+	rcall	write_spi
+	bsf		flash_ncs					; CS=1
+	; lock new memory
+;	movlw	0x06						; WREN command
+;	rcall	write_spi
+;	bsf		flash_ncs					; CS=1
+;	movlw	0x8D						; LBPR command
+;	rcall	write_spi
+;	bsf		flash_ncs					; CS=1
+	movlw	0x06						; WREN command
+	rcall	write_spi
+	bsf		flash_ncs					; CS=1
+	movlw	0x42						; WBPR command
+	rcall	write_spi
+	movlw	.18
+	movwf	lo
 ext_flash_enable_protection2:
-    movlw       0xFF
-    rcall		write_spi
-    decfsz      temp2,F             ; 18 bytes with 0xFF
-    bra         ext_flash_enable_protection2
-    bsf			flash_ncs			; CS=1
+	movlw	0xFF
+	rcall	write_spi
+	decfsz	lo,F						; 18 bytes with 0xFF
+	bra		ext_flash_enable_protection2
+	bsf		flash_ncs					; CS=1
 	return
 
 
-	global	ext_flash_erase4kB		; Erases 4kB sector
+	global	ext_flash_erase4kB			; Erases 4kB sector
 ext_flash_erase4kB:
-	bsf			flash_ncs			; CS=1
-	movlw		0x06				; WREN command
-	rcall		write_spi
-	bsf			flash_ncs			; CS=1
-	movlw		0x20				; Sector erase command
-	rcall		write_spi
-    rcall       ext_flash_write_address ; Write 24bit address ext_flash_address:3 via SPI
-;	bra			ext_flash_wait_write	; Wait for write... and return
+	bsf		flash_ncs					; CS=1
+	movlw	0x06						; WREN command
+	rcall	write_spi
+	bsf		flash_ncs					; CS=1
+	movlw	0x20						; Sector erase command
+	rcall	write_spi
+	rcall	ext_flash_write_address		; Write 24bit address ext_flash_address:3 via SPI
+;	bra		ext_flash_wait_write		; Wait for write... and return
 ext_flash_wait_write:
-	bsf			flash_ncs			; CS=1
-;	WAITMS		d'1'				; TBE/TSE=25ms...
-	movlw		0x05				; RDSR command
-	rcall		write_spi			; Read status
-	rcall		write_spi			; Read status into WREG
-	bsf			flash_ncs			; CS=1
-	btfsc		SSP2BUF,0			; Write operation in process?
-	bra			ext_flash_wait_write	; Yes, wait more..
+	bsf		flash_ncs					; CS=1
+;	WAITMS	d'1'						; TBE/TSE=25ms...
+	movlw	0x05						; RDSR command
+	rcall	write_spi					; Read status
+	rcall	write_spi					; Read status into WREG
+	bsf		flash_ncs					; CS=1
+	btfsc	SSP2BUF,0					; Write operation in process?
+	bra		ext_flash_wait_write		; Yes, wait more..
 	return
 
-	global	ext_flash_erase_logbook	; erases logbook memory (000000h -> 2FFFFFh -> 3MByte -> 3145728 Bytes)
+
+	global	ext_flash_erase_logbook		; erases logbook memory (000000h -> 2FFFFFh -> 3MByte -> 3145728 Bytes)
 ext_flash_erase_logbook:
-	bsf			flash_ncs			; CS=1
-	clrf		ext_flash_address+0
-	clrf		ext_flash_address+1
-	clrf		ext_flash_address+2
+	bsf		flash_ncs					; CS=1
+	clrf	ext_flash_address+0
+	clrf	ext_flash_address+1
+	clrf	ext_flash_address+2
 
-	setf		temp1				; 256*12kB=3145728 Bytes
+	setf	ext_flash_rw				; 256*12kB=3145728 Bytes
 ext_flash_erase_logbook_loop:
-    rcall       ext_flash_erase4kB  ; 4kB
-    rcall       ext_flash_add_4kB   ; Increase ext_flash_address:3 by 4kB
-    rcall       ext_flash_erase4kB  ; 4kB
-    rcall       ext_flash_add_4kB   ; Increase ext_flash_address:3 by 4kB
-    rcall       ext_flash_erase4kB  ; 4kB
-    rcall       ext_flash_add_4kB   ; Increase ext_flash_address:3 by 4kB
-	decfsz		temp1,F
-	bra			ext_flash_erase_logbook_loop
+	rcall	ext_flash_erase4kB			; 4kB
+	rcall	ext_flash_add_4kB			; Increase ext_flash_address:3 by 4kB
+	rcall	ext_flash_erase4kB			; 4kB
+	rcall	ext_flash_add_4kB			; Increase ext_flash_address:3 by 4kB
+	rcall	ext_flash_erase4kB			; 4kB
+	rcall	ext_flash_add_4kB			; Increase ext_flash_address:3 by 4kB
+	decfsz	ext_flash_rw,F
+	bra		ext_flash_erase_logbook_loop
 	return
 
 ext_flash_add_4kB:
-    movlw       0x10
-    addwf       ext_flash_address+1,F
-    movlw		d'0'
-    addwfc		ext_flash_address+2,F
-    return
+	movlw	0x10
+	addwf	ext_flash_address+1,F
+	movlw	d'0'
+	addwfc	ext_flash_address+2,F
+	return
 
 
-write_spi:		; With data in WREG...
-	bcf			flash_ncs			; CS
+write_spi:								; With data in WREG...
+	bcf		flash_ncs					; CS
 	global	write_spi1
-write_spi1:		; With data in WREG...
-	bcf			SSP2STAT,WCOL		; Clear flag	
-	movwf		SSP2BUF				; Write to buffer
-	btfsc		SSP2STAT,WCOL		; Was buffer full?
-	bra			write_spi1			; Yes, try again
+write_spi1:								; With data in WREG...
+	bcf		SSP2STAT,WCOL				; Clear flag
+	movwf	SSP2BUF						; Write to buffer
+	btfsc	SSP2STAT,WCOL				; Was buffer full?
+	bra		write_spi1					; Yes, try again
+write_spi2:								; Wait for write command
+	btfss	SSP2STAT, BF				; Buffer full?
+	bra		write_spi2					; No, wait.
+	movf	SSP2BUF,W
+	return								; Returns RX data in WREG and SSP2BUF
 
-write_spi2:	; Wait for write command
-	btfss		SSP2STAT, BF		; Buffer full?
-	bra			write_spi2			; No, wait.
-	movf		SSP2BUF,W			
-	return	; Returns RX data in WREG and SSP2BUF
-
-	END
\ No newline at end of file
+	END