X-Git-Url: http://git.smho.de/gw/?p=owSlave2.git;a=blobdiff_plain;f=programmer%2Fprogrammer%2Fprogrammer.asm;fp=programmer%2Fprogrammer%2Fprogrammer.asm;h=cccdd18f3506e5546e510ee51e32278278324879;hp=d047da0f281add0e4da4cda106cc4520846487f7;hb=a6a04f58e4afd20f206fdf4a8a7b3ce4062f1b67;hpb=cd92472e6fd63693741f8e168123a4182802651b diff --git a/programmer/programmer/programmer.asm b/programmer/programmer/programmer.asm index d047da0..cccdd18 100644 --- a/programmer/programmer/programmer.asm +++ b/programmer/programmer/programmer.asm @@ -1,489 +1,489 @@ -.def srbyte = r12 ;byty for search rom algorithm -.def writelow = r13; marker for send low -.def zero =r14; always zero -.def smode=r15; if 1 then send -.def temp = r16 ; -.def temp2 = r17; -.def mode = r18 ; -.def bitp = r19 ; bit counter ... shift... -.def rwbyte = r21; -.def param = r22; -.def bytep = r23 ;byte counter -#define spmcrval param - - -.equ OWM_READ_ROM_COMMAND=0 ; 0 wegen schnellen test ist dieser wert 0! Daturch wird die Sprungdabelle nicht verwendet -.equ OWM_SLEEP=1 ; Warten auf Reset -.equ OWM_MATCH_ROM=2 -.equ OWM_SEARCH_ROM_S=3 ;send bit -.equ OWM_SEARCH_ROM_R=4 ;resive master -.equ OWM_READ_COMMAND=5 -.equ OWM_WRITE_SCRATCHPAD=6 -.equ OWM_READ_SCRATCHPAD=7 -.equ OWM_PROGRAMM_PAGE=8 -.equ OWM_RECALL_FLASH=9 - - -.equ OW_DDR = DDRB -.equ OW_PIN = PORTB2 -.equ OW_PORT = PORTB -.equ OW_PINN = PINB - -;.equ SRAM_START = 0x60 - -.macro set_clock - ldi temp,0x80; - out CLKPR,temp - ldi temp,@0 - out CLKPR,temp -.endmacro - -.macro owwl - sbic OW_PINN,OW_PIN - rjmp pc-1 -.endmacro - -.macro owwh - sbis OW_PINN,OW_PIN - rjmp pc-1 -.endmacro - - - - - ;--------------------------------------------------- -; START of PROG -;--------------------------------------------------- - - -.CSEG -.ORG 0x000 -jreset: - rjmp start ; Reset-Vector - reti ; - reti ; - reti ; - reti ; - reti ; - reti ; - reti ; - reti ; - reti ; - reti ; - reti ; - reti ; - reti ; - reti ; - reti ; - reti ; - reti ; - reti ; - reti ; - reti ; - - -.ORG 0x0EC0 - -start: - cli - ldi temp,0 - mov zero,temp - set_clock 0x00 ;8mhz - ldi mode,OWM_SLEEP - ldi temp,(1<