A2osX/SBIN/TCPIP.S.txt

222 lines
4.6 KiB
Plaintext
Raw Normal View History

2015-03-14 21:48:35 +00:00
PR#3
PREFIX /A2OSX.BUILD
2015-03-14 21:48:35 +00:00
NEW
INC 1
AUTO 6
.LIST OFF
.OP 65C02
.OR $2000
.TF /A2OSX.BUILD/SBIN/TCPIP
2015-03-14 21:48:35 +00:00
*--------------------------------------
.INB /A2OSX.BUILD/INC/MACROS.I
.INB /A2OSX.BUILD/INC/A2OSX.I
.INB /A2OSX.BUILD/INC/LIBTCPIP.I
2015-03-14 21:48:35 +00:00
*--------------------------------------
2016-03-16 07:19:54 +00:00
ZPIPCfgPtr .EQ ZPBIN
ZPIPDevPtr .EQ ZPBIN+2
2015-03-14 21:48:35 +00:00
*--------------------------------------
2015-06-03 18:30:57 +00:00
* File Header (16 Bytes)
2015-03-14 21:48:35 +00:00
*--------------------------------------
CS.START cld
jmp (.1,x)
2015-06-03 18:30:57 +00:00
.DA #$61 6502,Level 1 (65c02)
.DA #1 BIN Layout Version 1
.DA 0
.DA CS.END-CS.START Code Length To Relocate
.DA 0
.DA 0
.DA 0
*--------------------------------------
* Relocation Table
*--------------------------------------
2015-03-14 21:48:35 +00:00
.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
2015-03-14 21:48:35 +00:00
L.IPCFG .DA IPCFG
.DA 0
*--------------------------------------
2015-06-03 18:30:57 +00:00
CS.INIT >LDYA L.LIBTCPIP
>SYSCALL LoadLibYA
2015-03-14 21:48:35 +00:00
bcs .99
sta hLIBTCPIP
jsr CS.INIT.DEV
2015-03-14 21:48:35 +00:00
bcs .99
2017-01-26 21:57:35 +00:00
jsr CFG.Read continue even if error opening CFG file
2015-03-14 21:48:35 +00:00
lda IPCFG+S.IPCFG.HOSTNAME
bne .4
2015-03-14 21:48:35 +00:00
ldy DefaultHostName
2015-03-14 21:48:35 +00:00
.2 lda DefaultHostName,y
sta IPCFG+S.IPCFG.HOSTNAME,y
dey
bpl .2
2015-03-14 21:48:35 +00:00
.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
2015-03-14 21:48:35 +00:00
2015-06-03 18:30:57 +00:00
lda (pPs)
2015-03-14 21:48:35 +00:00
ora #S.PS.F.EVENT Now accept events
2015-06-03 18:30:57 +00:00
sta (pPs)
2015-03-14 21:48:35 +00:00
clc
.99 rts
*--------------------------------------
CS.INIT.DEV >LDYA L.DEVNAME
>SYSCALL GetDevByNameYA
bcc .1
inc DEVNAME+4
lda DEVNAME+4
cmp #'8'
bne CS.INIT.DEV
>LDYA L.MSG.DEV.KO
>SYSCALL PrintF.YA
2017-01-26 21:57:35 +00:00
lda #$28 MLI.ERR.NODEV
sec
rts
2017-01-26 21:57:35 +00:00
.1 >STYA ZPIPDevPtr
>STYA NetDevJmp+1
2017-01-26 21:57:35 +00:00
stx hNetDev
stx IPCFG+S.IPCFG.HDEV
>PUSHW L.DEVNAME
>LDYA L.MSG.DEV.OK
>SYSCALL PrintF.YA
2015-03-14 21:48:35 +00:00
2015-06-03 18:30:57 +00:00
ldx #DEVMGR.OPEN
2017-01-26 21:57:35 +00:00
jsr NetDevJmp
bcs .9
2017-01-26 21:57:35 +00:00
ldx #DEVMGR.STATUS
jsr NetDevJmp
bcs .9
>STYA ZPIPDevPtr
2015-06-03 18:30:57 +00:00
2017-01-26 21:57:35 +00:00
ldy #S.DEVSTAT+2 MAC
2015-03-14 21:48:35 +00:00
ldx #S.IPCFG.MAC
.2 lda (ZPIPDevPtr),y
2015-03-14 21:48:35 +00:00
sta IPCFG,x
iny
2015-06-03 18:30:57 +00:00
inx
cpx #S.IPCFG.MAC+6
bne .2
2015-03-14 21:48:35 +00:00
clc
rts
.9 sec
rts
2015-03-14 21:48:35 +00:00
*--------------------------------------
2017-01-29 21:47:19 +00:00
CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.POLL
clc
2015-03-14 21:48:35 +00:00
rts
2017-01-26 21:57:35 +00:00
*--------------------------------------
CS.DOEVENT lda (pEvent)
bpl .9
2015-03-14 21:48:35 +00:00
>LIBCALL hLIBTCPIP,LIBTCPIP.PULSEA
.9 sec never discard TIME event
2015-03-14 21:48:35 +00:00
rts
*--------------------------------------
CS.QUIT lda IPCFG+S.IPCFG.HDEV
beq .1
ldx #DEVMGR.CLOSE
2017-01-26 21:57:35 +00:00
jsr NetDevJmp
2015-06-03 18:30:57 +00:00
.1 lda hLIBTCPIP
>SYSCALL UnloadLibA
2015-03-14 21:48:35 +00:00
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
*--------------------------------------
2017-01-26 21:57:35 +00:00
NetDevJmp jmp *
2016-09-22 06:19:49 +00:00
*--------------------------------------
.INB /A2OSX.SRC/SBIN/TCPIP.S.CFG
*--------------------------------------
2015-03-14 21:48:35 +00:00
CS.END
*--------------------------------------
LIBTCPIP >PSTR "libtcpip.o"
DEVNAME >PSTR "ETH1"
MSG.DEV.KO >CSTR "TCPIP:No Device Found, exiting.\r\n"
MSG.DEV.OK >CSTR "TCPIP:Bound To Device : %S\r\n"
MSG.CFG >CSTR "TCPIP:Reading %S..."
MSG.CFG.KO >CSTR "Failed!!! [%h]\r\n"
MSG.CFG.OK >CSTR "OK.\r\n"
*--------------------------------------
HOSTNAME >PSTR "${A2OSX}ETC/HOSTNAME"
TCPIP.CONF >PSTR "${A2OSX}ETC/TCPIP.CONF"
HOSTS >PSTR "${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
2015-03-14 21:48:35 +00:00
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
2015-03-14 21:48:35 +00:00
*--------------------------------------
MAN
SAVE /A2OSX.SRC/SBIN/TCPIP.S
2015-03-14 21:48:35 +00:00
ASM