Config Bytes Part II
[owSlave2.git] / programmer / programmer / programmer.asm
index 718eeea..4bd530a 100644 (file)
@@ -219,12 +219,12 @@ pro_stable:
 
 pro_read_rom_command:
                ldi mode,OWM_SLEEP
-               cpi rwbyte,0xCC
-               brne pro_rcc_1
-               ldi mode,OWM_READ_COMMAND
-               rjmp pro_out_bitp1
+               //cpi rwbyte,0xCC
+               //brne pro_rcc_1
+               //ldi mode,OWM_READ_COMMAND
+               //rjmp pro_out_bitp1
 pro_rcc_1:
-               cpi rwbyte,0xF0
+               cpi rwbyte,0xF0 ;Searchrom
                brne pro_rcc_2
                ldi XL,low(sowid)  ;init sram pointer
                ldi XH,high(sowid)
@@ -232,7 +232,7 @@ pro_rcc_1:
                ldi bytep,0
                rjmp pro_serchrom_next_bit
 pro_rcc_2:
-               cpi rwbyte,0x55
+               cpi rwbyte,0x55 ;Matchrom
                brne pro_rcc_3
 //             rcall pro_owidinit
                ldi XL,low(sowid)  ;init sram pointer
@@ -259,7 +259,7 @@ pro_match_rom_found:
 
 pro_read_command:
                ldi mode,OWM_SLEEP
-               cpi rwbyte,0x0F
+               cpi rwbyte,0x0F ;; Write to Scratchpad
                brne pro_rc_1
                ldi mode,OWM_WRITE_SCRATCHPAD
                ldi XL,low(scratchpad)  ;init sram pointer
@@ -268,7 +268,7 @@ pro_read_command:
 pro_rc_1:
                cpi rwbyte,0xAA
                brne pro_rc_2
-               ldi mode,OWM_READ_SCRATCHPAD
+               ldi mode,OWM_READ_SCRATCHPAD  ;;Read from Scratchpad
                ldi XL,low(scratchpad)  ;init sram pointer
                ldi XH,high(scratchpad)
                inc smode
@@ -278,26 +278,28 @@ pro_rc_1:
 pro_rc_2:
                cpi rwbyte,0xB8
                brne pro_rc_3
-               ldi mode,OWM_RECALL_FLASH
+               ldi mode,OWM_RECALL_FLASH  ;; copy Flash page in Scratchpad
                ldi XL,low(scratchpad)  ;init sram pointer
                ldi XH,high(scratchpad)
                rjmp pro_out_bytep0
 pro_rc_3:
-               cpi rwbyte,0x55
+               cpi rwbyte,0x55 ; copy Scratchpad to Flash
                brne pro_rc_4
                ldi mode,OWM_SLEEP
                rjmp pro_programm_page
                
 pro_rc_4:
-               cpi rwbyte,0x89
+               cpi rwbyte,0x89 ; Reset Device /Boot (new) Firmware
                brne pro_rc_5
                rjmp jreset             
 pro_rc_5:
-               cpi rwbyte,0x8B
+               cpi rwbyte,0x8B ; Clear the OWID saved in EEPROM / one ID1
                brne pro_rc_6   
+               ldi temp,7
+pro_rc_5a:
                ldi XL,low(E2END)
                ldi XH,high(E2END)
-               subi XL,7
+               sub XL,temp
                out EEARH,XH
                out EEARL,XL
                ldi temp, (0<<EEPM1)|(0<<EEPM0)
@@ -310,8 +312,13 @@ pro_rc_5:
 
 
 pro_rc_6:
-               ret
+               cpi rwbyte,0x8C ; Clear the OWID saved in EEPROM / one ID2
+               brne pro_rc_7
+               ldi temp,7+8
+               rjmp pro_rc_5a
 
+pro_rc_7:
+               ret
 
 pro_write_scratchpad:
                st X+,rwbyte