mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-26 13:49:18 +00:00
271 lines
4.2 KiB
Plaintext
271 lines
4.2 KiB
Plaintext
PR#3
|
||
PREFIX /A2OSX.SRC
|
||
NEW
|
||
INC 1
|
||
AUTO 6
|
||
.LIST OFF
|
||
*--------------------------------------
|
||
CFG.Read >PUSHW L.HOSTNAME
|
||
>LDYA L.MSG.CFG
|
||
>SYSCALL SYS.PSTROutYA
|
||
|
||
jsr CFG.Read.HOSTNAME
|
||
bcc .1
|
||
>PUSHA
|
||
>LDYA L.MSG.CFG.KO
|
||
>SYSCALL SYS.PSTROutYA
|
||
bra .2
|
||
|
||
.1 >LDYA L.MSG.CFG.OK
|
||
>SYSCALL SYS.PSTROutYA
|
||
|
||
.2 >PUSHW L.TCPIP.CONF
|
||
>LDYA L.MSG.CFG
|
||
>SYSCALL SYS.PSTROutYA
|
||
|
||
jsr CFG.Read.TCPIP.CONF
|
||
bcc .3
|
||
>PUSHA
|
||
>LDYA L.MSG.CFG.KO
|
||
>SYSCALL SYS.PSTROutYA
|
||
bra .4
|
||
.3 >LDYA L.MSG.CFG.OK
|
||
>SYSCALL SYS.PSTROutYA
|
||
.4 rts
|
||
*--------------------------------------
|
||
CFG.Read.HOSTNAME
|
||
clc
|
||
rts
|
||
*--------------------------------------
|
||
CFG.Read.TCPIP.CONF
|
||
>LDYA L.TCPIP.CONF
|
||
>SYSCALL SYS.LoadFileYA
|
||
bcs .99
|
||
stx CFG.hCfgFile
|
||
>STYA CFG.FileLen
|
||
txa
|
||
>SYSCALL SYS.GetMemPtrA
|
||
>STYA ZPIPCfgPtr
|
||
|
||
.1 jsr CFG.GetLine
|
||
bcs .89
|
||
|
||
jsr CFG.GetKeyword
|
||
bcs .1
|
||
|
||
lda CFG.Keyword
|
||
bne .3
|
||
|
||
ldy TmpBuffer256
|
||
|
||
lda TmpBuffer256+1,y
|
||
cmp #35 DOMAIN too long!!!
|
||
bcs .1
|
||
|
||
sta IPCFG+S.IPCFG.DOMAIN
|
||
ldx #0
|
||
|
||
.2 lda TmpBuffer256+2,y
|
||
sta IPCFG+S.IPCFG.DOMAIN,x
|
||
beq .1
|
||
inx
|
||
iny
|
||
bne .2
|
||
bra .1
|
||
|
||
.3 jsr CFG.ScanIP
|
||
bcs .1
|
||
|
||
ldy CFG.Keyword
|
||
lda CFG.Keyword.Map,y
|
||
tax
|
||
ldy #0
|
||
|
||
.4 lda CFG.IP+1,y
|
||
sta IPCFG,x
|
||
inx
|
||
iny
|
||
cpy #4
|
||
bne .4
|
||
lda CFG.Keyword
|
||
cmp #1
|
||
bne .1
|
||
lda #S.IPCFG.STATUS.OK
|
||
sta IPCFG
|
||
bra .1
|
||
|
||
.89 lda CFG.hCfgFile
|
||
>SYSCALL SYS.FreeMemA
|
||
|
||
clc
|
||
rts
|
||
|
||
|
||
.99 sec
|
||
rts
|
||
*--------------------------------------
|
||
CFG.GetLine stz TmpBuffer256
|
||
ldx #0
|
||
ldy #0
|
||
|
||
.1 jsr CFG.GetChar
|
||
bne .2 end of file?
|
||
txa
|
||
bne .8
|
||
sec
|
||
rts
|
||
|
||
.2 cmp #$0D
|
||
beq .8 end of line
|
||
inx
|
||
sta TmpBuffer256,x
|
||
cmp #'='
|
||
bne .3
|
||
txa
|
||
dec
|
||
tay
|
||
.3 cpx #64 line too long ?
|
||
bne .1
|
||
sec
|
||
rts
|
||
|
||
.8 tya = found ?
|
||
beq .9
|
||
|
||
sta TmpBuffer256
|
||
txa
|
||
sec
|
||
sbc TmpBuffer256
|
||
sta TmpBuffer256+1,y
|
||
stz TmpBuffer256+1,x End with 0 for ScanIP
|
||
clc
|
||
rts
|
||
|
||
.9 sec
|
||
rts
|
||
*--------------------------------------
|
||
CFG.GetChar lda CFG.FileLen
|
||
bne .1
|
||
lda CFG.FileLen+1
|
||
beq .9
|
||
dec CFG.FileLen+1
|
||
.1 dec CFG.FileLen
|
||
lda (ZPIPCfgPtr)
|
||
inc ZPIPCfgPtr
|
||
bne .9
|
||
inc ZPIPCfgPtr+1 NZ
|
||
.9 rts
|
||
*--------------------------------------
|
||
CFG.GetKeyword stz CFG.Keyword
|
||
|
||
ldx #0
|
||
|
||
.1 phx
|
||
ldy #0
|
||
|
||
.2 lda CFG.Keywords,x
|
||
cmp TmpBuffer256,y
|
||
bne .3
|
||
cpy TmpBuffer256
|
||
beq .4
|
||
inx
|
||
iny
|
||
bne .2
|
||
plx
|
||
sec
|
||
rts
|
||
|
||
.3 inc CFG.Keyword
|
||
plx
|
||
txa
|
||
sec
|
||
adc CFG.Keywords,x
|
||
tax
|
||
lda CFG.Keywords,x
|
||
bne .1
|
||
sec
|
||
rts
|
||
|
||
.4 plx
|
||
clc
|
||
rts
|
||
*--------------------------------------
|
||
CFG.ScanIP stz CFG.IP
|
||
|
||
ldx TmpBuffer256
|
||
|
||
.1 ldy #0
|
||
.11 lda TmpBuffer256+2,x
|
||
beq .3
|
||
cmp #'0'
|
||
bcc .2
|
||
cmp #'9'+1
|
||
bcs .2
|
||
cpy #3
|
||
beq .9
|
||
iny
|
||
sta CFG.StrBuf,y
|
||
inx
|
||
bra .11
|
||
|
||
.2 cmp #'.'
|
||
bne .9
|
||
|
||
.3 sty CFG.StrBuf
|
||
lda CFG.IP
|
||
cmp #4
|
||
beq .9
|
||
jsr CFG.Dec2Hex
|
||
bcs .9
|
||
lda CFG.HexByte
|
||
inc CFG.IP
|
||
ldy CFG.IP
|
||
sta CFG.IP,y
|
||
inx
|
||
lda TmpBuffer256+1,x
|
||
bne .1
|
||
clc
|
||
rts
|
||
|
||
.9 sec
|
||
rts
|
||
*--------------------------------------
|
||
CFG.Dec2Hex sec
|
||
ldy CFG.StrBuf
|
||
beq .9
|
||
|
||
lda CFG.StrBuf+1
|
||
and #$0f
|
||
sta CFG.HexByte
|
||
|
||
ldy #1
|
||
|
||
.1 cpy CFG.StrBuf
|
||
beq .8
|
||
iny
|
||
lda CFG.HexByte
|
||
asl CFG.HexByte
|
||
bcs .9
|
||
asl CFG.HexByte
|
||
bcs .9
|
||
adc CFG.HexByte
|
||
bcs .9
|
||
asl
|
||
bcs .9
|
||
sta CFG.HexByte
|
||
lda CFG.StrBuf,y
|
||
and #$0f
|
||
adc CFG.HexByte
|
||
sta CFG.HexByte
|
||
bcc .1
|
||
.9 rts
|
||
|
||
.8 clc
|
||
rts
|
||
*--------------------------------------
|
||
|
||
MAN
|
||
SAVE SBIN/TCPIP.S.CFG
|
||
LOAD SBIN/TCPIP.S
|
||
ASM
|