mirror of
https://github.com/oliverschmidt/contiki.git
synced 2024-12-22 10:30:13 +00:00
Saved six more bytes ;-)
This commit is contained in:
parent
ae1a875881
commit
1bf5b4380d
@ -73,8 +73,6 @@ fixup: .byte fixup02-fixup01, fixup03-fixup02, fixup04-fixup03
|
|||||||
.byte fixup14-fixup13, fixup15-fixup14, fixup16-fixup15
|
.byte fixup14-fixup13, fixup15-fixup14, fixup16-fixup15
|
||||||
.byte fixup17-fixup16, fixup18-fixup17, fixup19-fixup18
|
.byte fixup17-fixup16, fixup18-fixup17, fixup19-fixup18
|
||||||
.byte fixup20-fixup19, fixup21-fixup20, fixup22-fixup21
|
.byte fixup20-fixup19, fixup21-fixup20, fixup22-fixup21
|
||||||
.byte fixup23-fixup22, fixup24-fixup23, fixup25-fixup24
|
|
||||||
.byte fixup26-fixup25
|
|
||||||
|
|
||||||
fixups = * - fixup
|
fixups = * - fixup
|
||||||
|
|
||||||
@ -112,7 +110,7 @@ init:
|
|||||||
lda reg+1
|
lda reg+1
|
||||||
sta (ptr),y
|
sta (ptr),y
|
||||||
dey
|
dey
|
||||||
|
|
||||||
; Advance to next fixup location
|
; Advance to next fixup location
|
||||||
inx
|
inx
|
||||||
cpx #fixups
|
cpx #fixups
|
||||||
@ -136,11 +134,10 @@ fixup02:sta isq+1
|
|||||||
; Accept valid unicast + broadcast frames
|
; Accept valid unicast + broadcast frames
|
||||||
; PACKETPP = $0104, PPDATA = $0D05
|
; PACKETPP = $0104, PPDATA = $0D05
|
||||||
lda #$04
|
lda #$04
|
||||||
jsr packetpp_01
|
jsr packetpp_a1
|
||||||
lda #$05
|
lda #$05
|
||||||
ldx #$0D
|
ldx #$0D
|
||||||
fixup03:sta ppdata
|
jsr ppdata_ax
|
||||||
fixup04:stx ppdata+1
|
|
||||||
|
|
||||||
; Set MAC address
|
; Set MAC address
|
||||||
; PACKETPP = $0158, PPDATA = MAC[0], MAC[1]
|
; PACKETPP = $0158, PPDATA = MAC[0], MAC[1]
|
||||||
@ -148,11 +145,10 @@ fixup04:stx ppdata+1
|
|||||||
; PACKETPP = $015C, PPDATA = MAC[4], MAC[5]
|
; PACKETPP = $015C, PPDATA = MAC[4], MAC[5]
|
||||||
ldy #$58
|
ldy #$58
|
||||||
: tya
|
: tya
|
||||||
jsr packetpp_01
|
jsr packetpp_a1
|
||||||
lda mac-$58,y
|
lda mac-$58,y
|
||||||
ldx mac-$58+1,y
|
ldx mac-$58+1,y
|
||||||
fixup05:sta ppdata
|
jsr ppdata_ax
|
||||||
fixup06:stx ppdata+1
|
|
||||||
iny
|
iny
|
||||||
iny
|
iny
|
||||||
cpy #$58+6
|
cpy #$58+6
|
||||||
@ -161,11 +157,10 @@ fixup06:stx ppdata+1
|
|||||||
; Turn on transmission and reception of frames
|
; Turn on transmission and reception of frames
|
||||||
; PACKETPP = $0112, PPDATA = $00D3
|
; PACKETPP = $0112, PPDATA = $00D3
|
||||||
lda #$12
|
lda #$12
|
||||||
jsr packetpp_01
|
jsr packetpp_a1
|
||||||
lda #$D3
|
lda #$D3
|
||||||
ldx #$00
|
ldx #$00
|
||||||
fixup07:sta ppdata
|
jsr ppdata_ax
|
||||||
fixup08:stx ppdata+1
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
@ -175,11 +170,11 @@ poll:
|
|||||||
; are any valid unicast frames avaliable
|
; are any valid unicast frames avaliable
|
||||||
; PACKETPP = $0124, PPDATA & $0D00 ?
|
; PACKETPP = $0124, PPDATA & $0D00 ?
|
||||||
lda #$24
|
lda #$24
|
||||||
jsr packetpp_01
|
jsr packetpp_a1
|
||||||
fixup09:lda ppdata+1
|
fixup03:lda ppdata+1
|
||||||
and #$0D
|
and #$0D
|
||||||
bne :+
|
bne :+
|
||||||
|
|
||||||
; No frame ready
|
; No frame ready
|
||||||
tax
|
tax
|
||||||
rts
|
rts
|
||||||
@ -190,13 +185,13 @@ fixup09:lda ppdata+1
|
|||||||
; Read receiver event and discard it
|
; Read receiver event and discard it
|
||||||
; RXTXREG
|
; RXTXREG
|
||||||
:
|
:
|
||||||
fixup10:ldx rxtxreg+1
|
fixup04:ldx rxtxreg+1
|
||||||
fixup11:lda rxtxreg
|
fixup05:lda rxtxreg
|
||||||
|
|
||||||
; Read frame length
|
; Read frame length
|
||||||
; cnt = len = RXTXREG
|
; cnt = len = RXTXREG
|
||||||
fixup12:ldx rxtxreg+1
|
fixup06:ldx rxtxreg+1
|
||||||
fixup13:lda rxtxreg
|
fixup07:lda rxtxreg
|
||||||
sta len
|
sta len
|
||||||
stx len+1
|
stx len+1
|
||||||
sta cnt
|
sta cnt
|
||||||
@ -223,10 +218,10 @@ fixup13:lda rxtxreg
|
|||||||
; Read bytes into buffer
|
; Read bytes into buffer
|
||||||
: jsr adjustptr
|
: jsr adjustptr
|
||||||
:
|
:
|
||||||
fixup14:lda rxtxreg
|
fixup08:lda rxtxreg
|
||||||
sta (ptr),y
|
sta (ptr),y
|
||||||
iny
|
iny
|
||||||
fixup15:lda rxtxreg+1
|
fixup09:lda rxtxreg+1
|
||||||
sta (ptr),y
|
sta (ptr),y
|
||||||
iny
|
iny
|
||||||
bne :-
|
bne :-
|
||||||
@ -249,12 +244,12 @@ send:
|
|||||||
; Transmit command
|
; Transmit command
|
||||||
lda #$C9
|
lda #$C9
|
||||||
ldx #$00
|
ldx #$00
|
||||||
fixup16:sta txcmd
|
fixup10:sta txcmd
|
||||||
fixup17:stx txcmd+1
|
fixup11:stx txcmd+1
|
||||||
lda cnt
|
lda cnt
|
||||||
ldx cnt+1
|
ldx cnt+1
|
||||||
fixup18:sta txlen
|
fixup12:sta txlen
|
||||||
fixup19:stx txlen+1
|
fixup13:stx txlen+1
|
||||||
|
|
||||||
; Adjust odd frame length
|
; Adjust odd frame length
|
||||||
jsr adjustcnt
|
jsr adjustcnt
|
||||||
@ -265,8 +260,8 @@ fixup19:stx txlen+1
|
|||||||
; Check for avaliable buffer space
|
; Check for avaliable buffer space
|
||||||
; PACKETPP = $0138, PPDATA & $0100 ?
|
; PACKETPP = $0138, PPDATA & $0100 ?
|
||||||
: lda #$38
|
: lda #$38
|
||||||
jsr packetpp_01
|
jsr packetpp_a1
|
||||||
fixup20:lda ppdata+1
|
fixup14:lda ppdata+1
|
||||||
and #$01
|
and #$01
|
||||||
bne :+
|
bne :+
|
||||||
|
|
||||||
@ -284,10 +279,10 @@ fixup20:lda ppdata+1
|
|||||||
; Write bytes from buffer
|
; Write bytes from buffer
|
||||||
: jsr adjustptr
|
: jsr adjustptr
|
||||||
: lda (ptr),y
|
: lda (ptr),y
|
||||||
fixup21:sta rxtxreg
|
fixup15:sta rxtxreg
|
||||||
iny
|
iny
|
||||||
lda (ptr),y
|
lda (ptr),y
|
||||||
fixup22:sta rxtxreg+1
|
fixup16:sta rxtxreg+1
|
||||||
iny
|
iny
|
||||||
bne :-
|
bne :-
|
||||||
inc ptr+1
|
inc ptr+1
|
||||||
@ -302,10 +297,17 @@ exit:
|
|||||||
|
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
|
|
||||||
packetpp_01:
|
packetpp_a1:
|
||||||
ldx #$01
|
ldx #$01
|
||||||
fixup23:sta packetpp
|
fixup17:sta packetpp
|
||||||
fixup24:stx packetpp+1
|
fixup18:stx packetpp+1
|
||||||
|
rts
|
||||||
|
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
|
||||||
|
ppdata_ax:
|
||||||
|
fixup19:sta ppdata
|
||||||
|
fixup20:stx ppdata+1
|
||||||
rts
|
rts
|
||||||
|
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
@ -313,10 +315,10 @@ fixup24:stx packetpp+1
|
|||||||
skipframe:
|
skipframe:
|
||||||
; PACKETPP = $0102, PPDATA = PPDATA | $0040
|
; PACKETPP = $0102, PPDATA = PPDATA | $0040
|
||||||
lda #$02
|
lda #$02
|
||||||
jsr packetpp_01
|
jsr packetpp_a1
|
||||||
fixup25:lda ppdata
|
fixup21:lda ppdata
|
||||||
ora #$40
|
ora #$40
|
||||||
fixup26:sta ppdata
|
fixup22:sta ppdata
|
||||||
rts
|
rts
|
||||||
|
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user