mirror of
https://github.com/A2osX/A2osX.git
synced 2024-09-14 03:55:03 +00:00
229 lines
4.8 KiB
Plaintext
229 lines
4.8 KiB
Plaintext
|
PR#3
|
|||
|
PREFIX /A2OSX.BUILD
|
|||
|
NEW
|
|||
|
INC 1
|
|||
|
AUTO 6
|
|||
|
.LIST OFF
|
|||
|
.OP 65C02
|
|||
|
.OR $2000
|
|||
|
.TF /A2OSX.BUILD/SBIN/TCPIPD
|
|||
|
*--------------------------------------
|
|||
|
.INB /A2OSX.BUILD/INC/MACROS.I
|
|||
|
.INB /A2OSX.BUILD/INC/A2OSX.I
|
|||
|
.INB /A2OSX.BUILD/INC/LIBTCPIP.I
|
|||
|
*--------------------------------------
|
|||
|
ZPIPCfgPtr .EQ ZPBIN
|
|||
|
ZPIPDevPtr .EQ ZPBIN+2
|
|||
|
*--------------------------------------
|
|||
|
* File Header (16 Bytes)
|
|||
|
*--------------------------------------
|
|||
|
CS.START cld
|
|||
|
jmp (.1,x)
|
|||
|
.DA #$61 6502,Level 1 (65c02)
|
|||
|
.DA #1 BIN Layout Version 1
|
|||
|
.DA 0
|
|||
|
.DA CS.END-CS.START CS
|
|||
|
.DA DS.END-DS.START DS
|
|||
|
.DA #16 SS
|
|||
|
.DA #4 ZP
|
|||
|
.DA 0
|
|||
|
*--------------------------------------
|
|||
|
* Relocation Table
|
|||
|
*--------------------------------------
|
|||
|
.1 .DA CS.INIT
|
|||
|
.DA CS.RUN
|
|||
|
.DA CS.DOEVENT
|
|||
|
.DA CS.QUIT
|
|||
|
L.LIBTCPIP .DA LIBTCPIP
|
|||
|
L.DEVNAME .DA DEVNAME
|
|||
|
L.MSG.DEV.KO .DA MSG.DEV.KO
|
|||
|
L.MSG.DEV.OK .DA MSG.DEV.OK
|
|||
|
L.MSG.CFG .DA MSG.CFG
|
|||
|
L.MSG.CFG.KO .DA MSG.CFG.KO
|
|||
|
L.MSG.CFG.OK .DA MSG.CFG.OK
|
|||
|
L.HOSTNAME .DA HOSTNAME
|
|||
|
L.TCPIP.CONF .DA TCPIP.CONF
|
|||
|
L.HOSTS .DA HOSTS
|
|||
|
L.IPCFG .DA IPCFG
|
|||
|
.DA 0
|
|||
|
*--------------------------------------
|
|||
|
CS.INIT >LDYA L.LIBTCPIP
|
|||
|
>SYSCALL LoadLib.YA
|
|||
|
bcs .99
|
|||
|
sta hLIBTCPIP
|
|||
|
|
|||
|
jsr CS.INIT.DEV
|
|||
|
bcs .99
|
|||
|
|
|||
|
jsr CFG.Read continue even if error opening CFG file
|
|||
|
|
|||
|
lda IPCFG+S.IPCFG.HOSTNAME
|
|||
|
bne .4
|
|||
|
|
|||
|
ldy DefaultHostName
|
|||
|
|
|||
|
.2 lda DefaultHostName,y
|
|||
|
sta IPCFG+S.IPCFG.HOSTNAME,y
|
|||
|
dey
|
|||
|
bpl .2
|
|||
|
|
|||
|
.3 lda A2osX.TIMER16
|
|||
|
jsr A2CharAX
|
|||
|
sta IPCFG+S.IPCFG.HOSTNAME+7
|
|||
|
stx IPCFG+S.IPCFG.HOSTNAME+8
|
|||
|
|
|||
|
lda A2osX.TIMER16+1
|
|||
|
jsr A2CharAX
|
|||
|
sta IPCFG+S.IPCFG.HOSTNAME+9
|
|||
|
stx IPCFG+S.IPCFG.HOSTNAME+10
|
|||
|
|
|||
|
.4 >PUSHW L.IPCFG
|
|||
|
>LIBCALL hLIBTCPIP,LIBTCPIP.SET.IPCFG
|
|||
|
|
|||
|
lda (pPs)
|
|||
|
ora #S.PS.F.EVENT Now accept events
|
|||
|
sta (pPs)
|
|||
|
|
|||
|
clc
|
|||
|
.99 rts
|
|||
|
*--------------------------------------
|
|||
|
CS.INIT.DEV >LDYA L.DEVNAME
|
|||
|
>SYSCALL GetDevByName.YA
|
|||
|
bcc .1
|
|||
|
inc DEVNAME+3
|
|||
|
lda DEVNAME+3
|
|||
|
cmp #'8'
|
|||
|
bne CS.INIT.DEV
|
|||
|
|
|||
|
>LDYA L.MSG.DEV.KO
|
|||
|
>SYSCALL PrintF.YA
|
|||
|
lda #$28 MLI.ERR.NODEV
|
|||
|
sec
|
|||
|
rts
|
|||
|
|
|||
|
.1 >STYA ZPIPDevPtr
|
|||
|
>STYA NetDevJmp+1
|
|||
|
stx hNetDev
|
|||
|
stx IPCFG+S.IPCFG.HDEV
|
|||
|
|
|||
|
>PUSHW L.DEVNAME
|
|||
|
>LDYA L.MSG.DEV.OK
|
|||
|
>SYSCALL PrintF.YA
|
|||
|
|
|||
|
ldx #DEVMGR.OPEN
|
|||
|
jsr NetDevJmp
|
|||
|
bcs .9
|
|||
|
|
|||
|
ldx #DEVMGR.STATUS
|
|||
|
jsr NetDevJmp
|
|||
|
bcs .9
|
|||
|
>STYA ZPIPDevPtr
|
|||
|
|
|||
|
ldy #S.DEVSTAT+2 MAC
|
|||
|
ldx #S.IPCFG.MAC
|
|||
|
|
|||
|
.2 lda (ZPIPDevPtr),y
|
|||
|
sta IPCFG,x
|
|||
|
iny
|
|||
|
inx
|
|||
|
cpx #S.IPCFG.MAC+6
|
|||
|
bne .2
|
|||
|
|
|||
|
clc
|
|||
|
rts
|
|||
|
|
|||
|
.9 sec
|
|||
|
rts
|
|||
|
*--------------------------------------
|
|||
|
CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.POLL
|
|||
|
clc
|
|||
|
rts
|
|||
|
*--------------------------------------
|
|||
|
CS.DOEVENT lda (pEvent)
|
|||
|
bpl .9
|
|||
|
|
|||
|
>LIBCALL hLIBTCPIP,LIBTCPIP.PULSEA
|
|||
|
|
|||
|
.9 sec never discard TIME event
|
|||
|
rts
|
|||
|
*--------------------------------------
|
|||
|
CS.QUIT lda IPCFG+S.IPCFG.HDEV
|
|||
|
beq .1
|
|||
|
ldx #DEVMGR.CLOSE
|
|||
|
jsr NetDevJmp
|
|||
|
|
|||
|
.1 lda hLIBTCPIP
|
|||
|
>SYSCALL UnloadLib.A
|
|||
|
clc
|
|||
|
rts
|
|||
|
*--------------------------------------
|
|||
|
A2CharAX pha
|
|||
|
lsr
|
|||
|
lsr
|
|||
|
lsr
|
|||
|
lsr
|
|||
|
and #$0F
|
|||
|
ora #$30
|
|||
|
cmp #'9'+1
|
|||
|
bcc .1
|
|||
|
adc #6
|
|||
|
.1 tax
|
|||
|
pla
|
|||
|
and #$0F
|
|||
|
ora #$30
|
|||
|
cmp #'9'+1
|
|||
|
bcc .8
|
|||
|
adc #6
|
|||
|
.8 rts
|
|||
|
*--------------------------------------
|
|||
|
NetDevJmp jmp *
|
|||
|
*--------------------------------------
|
|||
|
.INB /A2OSX.SRC/SBIN/TCPIPD.S.CFG
|
|||
|
*--------------------------------------
|
|||
|
CS.END
|
|||
|
*--------------------------------------
|
|||
|
LIBTCPIP >CSTR "libtcpip.o"
|
|||
|
DEVNAME >CSTR "ETH1"
|
|||
|
MSG.DEV.KO >CSTR "TCPIPD:No Device Found, exiting.\r\n"
|
|||
|
MSG.DEV.OK >CSTR "TCPIPD:Bound To Device : %s\r\n"
|
|||
|
MSG.CFG >CSTR "TCPIPD:Reading %S..."
|
|||
|
MSG.CFG.KO >CSTR "Failed!!! [%h]\r\n"
|
|||
|
MSG.CFG.OK >CSTR "OK.\r\n"
|
|||
|
*--------------------------------------
|
|||
|
HOSTNAME >CSTR "${A2OSX}ETC/HOSTNAME"
|
|||
|
TCPIP.CONF >CSTR "${A2OSX}ETC/TCPIP.CONF"
|
|||
|
HOSTS >CSTR "${A2OSX}ETC/HOSTS"
|
|||
|
DefaultHostName >PSTR "a2osx-XXXX"
|
|||
|
CFG.Keywords >PSTR "DOMAIN"
|
|||
|
>PSTR "IP"
|
|||
|
>PSTR "MASK"
|
|||
|
>PSTR "GW"
|
|||
|
>PSTR "DNS1"
|
|||
|
>PSTR "DNS2"
|
|||
|
CFG.Keyword.Map .DA #0 End Of Keyword table and NA Keyword
|
|||
|
.DA #S.IPCFG.IP
|
|||
|
.DA #S.IPCFG.MASK
|
|||
|
.DA #S.IPCFG.GW
|
|||
|
.DA #S.IPCFG.DNS1
|
|||
|
.DA #S.IPCFG.DNS2
|
|||
|
hLIBTCPIP .BS 1
|
|||
|
hNetDev .BS 1
|
|||
|
IPCFG .BS S.IPCFG
|
|||
|
CFG.hCfgFile .BS 1
|
|||
|
CFG.hCfgPath .BS 1
|
|||
|
CFG.FileLen .BS 2
|
|||
|
CFG.Keyword .BS 1
|
|||
|
CFG.StrBuf .BS 4
|
|||
|
CFG.HexByte .BS 1
|
|||
|
CFG.IP .BS 5
|
|||
|
UsrBuf256 .BS 256
|
|||
|
*--------------------------------------
|
|||
|
.DUMMY
|
|||
|
.OR 0
|
|||
|
DS.START
|
|||
|
DS.END .ED
|
|||
|
*--------------------------------------
|
|||
|
MAN
|
|||
|
SAVE /A2OSX.SRC/SBIN/TCPIPD.S
|
|||
|
ASM
|