emailler/libnet/libnet.s
Oliver Schmidt e54bb71bcc General source code cleanup.
- Tab chars were partially used with the unusual width of two blanks. I removed them altogether.
- Line endings were inconsistent even iniside individual files. I normalized them.
- I introduced a consistent coding style regarding comment indenting and blank line usage.
- I removed trailing spaces.
- I removed newlines following unnamed labels.
- ...
2013-12-27 14:57:56 +01:00

96 lines
1.9 KiB
ArmAsm

.export _libnet_init
.export _libnet_get_config
.export _libnet_MAC
.import cfg_init
.import cfg_ip
.import copymem
.import ip65_init
.import dhcp_init
.import ip65_error
.import cfg_mac_default
.import cfg_mac
.import cfg_size
_libnet_MAC = cfg_mac_default
; load A/X macro
.macro ldax arg
.if (.match (.left (1, arg), #)) ; immediate mode
lda #<(.right (.tcount (arg)-1, arg))
ldx #>(.right (.tcount (arg)-1, arg))
.else ; assume absolute or zero page
lda arg
ldx 1+(arg)
.endif
.endmacro
; store A/X macro
.macro stax arg
sta arg
stx 1+(arg)
.endmacro
NO_ERROR = $00
.importzp copy_src
.importzp copy_dest
.code
_libnet_init:
sta copy_src
stx copy_src+1
beq @dhcp_request
ldax #cfg_ip
stax copy_dest
ldax #$10 ; 4 items of config data
jsr copymem
jsr ip65_init
@check_error:
bcc @ok
lda ip65_error
rts
@ok:
lda #NO_ERROR
rts
@dhcp_request:
jsr ip65_init
jsr dhcp_init
jmp @check_error
_libnet_get_config:
stax copy_dest
ldax #cfg_ip
stax copy_src
ldax #$10 ; 4 items of config data
jmp copymem
.bss
tmp_ax: .res 2
; -- LICENSE FOR libnet.s --
; The contents of this file are subject to the Mozilla Public License
; Version 1.1 (the "License"); you may not use this file except in
; compliance with the License. You may obtain a copy of the License at
; http://www.mozilla.org/MPL/
;
; Software distributed under the License is distributed on an "AS IS"
; basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
; License for the specific language governing rights and limitations
; under the License.
;
; The Original Code is libnet.
;
; The Initial Developer of the Original Code is Jonno Downes,
; jonno@jamtronix.com.
; Portions created by the Initial Developer are Copyright (C) 2012
; Jonno DOwnes. All Rights Reserved.
; -- LICENSE END --