mirror of
https://github.com/A2osX/A2osX.git
synced 2025-01-22 22:30:25 +00:00
Kernel 0.9.1 : TCPIP stack 0.9.1....(In Progress)
This commit is contained in:
parent
3dadb01f26
commit
4c5584db40
Binary file not shown.
Binary file not shown.
@ -62,7 +62,7 @@ Dev.Detect >STYA ARGS
|
||||
cmp #DEVID
|
||||
beq .3
|
||||
|
||||
.2 dec DEV.HEADER.NAME+4
|
||||
.2 dec DEV.HEADER.NAME+3
|
||||
txa
|
||||
sec
|
||||
sbc #$10
|
||||
@ -127,7 +127,7 @@ Dev.Detect >STYA ARGS
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
MSG.DETECT >CSTR "UtherNet/CS8900A Driver.\r\n"
|
||||
MSG.DETECT.OK >CSTR "UtherNet/CS8900A Installed As Device : %S\r\n"
|
||||
MSG.DETECT.OK >CSTR "UtherNet/CS8900A Installed As Device : %s\r\n"
|
||||
MSG.DETECT.KO >CSTR "Hardware Not Found.\r\n"
|
||||
ARGS .BS 2
|
||||
*--------------------------------------
|
||||
@ -137,7 +137,7 @@ DEV.HEADER cld
|
||||
jmp (DRV.CS.START,x)
|
||||
.DA #0
|
||||
.BS 6
|
||||
DEV.HEADER.NAME >PSTR "ETH7" NAME
|
||||
DEV.HEADER.NAME >CSTR "ETH7" NAME
|
||||
*--------------------------------------
|
||||
* Driver Code
|
||||
*--------------------------------------
|
||||
|
@ -37,7 +37,7 @@ SET.IPCFG >PULLW ZPTmpPtr1
|
||||
|
||||
lda IPCFG+S.IPCFG.HDEV
|
||||
|
||||
>SYSCALL GetDevByIDA
|
||||
>SYSCALL GetDevByID.A
|
||||
>STYA NetDevJmp+1
|
||||
|
||||
ldx #DEVMGR.STATUS
|
||||
|
@ -156,7 +156,7 @@ DNS.ADD.I sta DNS.TmpCache
|
||||
jsr DNS.FIND.FREE
|
||||
|
||||
>LDYA ZPPtrDNS
|
||||
>SYSCALL NewPStrYA
|
||||
>SYSCALL NewStr.YA
|
||||
bcs .9
|
||||
txa
|
||||
ldy #S.DNSCACHE.hNAME
|
||||
|
@ -309,13 +309,7 @@ SKT.AcceptA jsr SKT.GetA.I
|
||||
* ## Out :
|
||||
* A = hFile
|
||||
*\--------------------------------------
|
||||
SKT.MkNodA sta NODE.SSOCK+S.NODE.SSOCK.HSKT
|
||||
|
||||
>SYSCALL MkNod.A
|
||||
|
||||
|
||||
|
||||
K.MkNod.A sta .1+1
|
||||
SKT.MkNodA sta .1+1
|
||||
>LDYAI S.NODE.SSOCK
|
||||
>SYSCALL GetMem0.YA
|
||||
bcs .9
|
||||
|
@ -10,7 +10,8 @@ AUTO 6
|
||||
*--------------------------------------
|
||||
.INB /A2OSX.BUILD/INC/MACROS.I
|
||||
.INB /A2OSX.BUILD/INC/A2OSX.I
|
||||
.INB /A2OSX.BUILD/INC/MLI.ERR.I
|
||||
* .INB /A2OSX.BUILD/INC/MLI.ERR.I
|
||||
MLI.ERR.IO .EQ $27
|
||||
.INB /A2OSX.BUILD/INC/NET.I
|
||||
.INB /A2OSX.BUILD/INC/LIBTCPIP.I
|
||||
*--------------------------------------
|
||||
@ -295,8 +296,8 @@ NODE.SSOCK .BS 1 S.NODE.HANDLER
|
||||
.BS 1 S.NODE.SSOCK.HSKT
|
||||
.DA #0 S.NODE.SSOCK.OPEN
|
||||
.DA #0 S.NODE.SSOCK.CLOSE
|
||||
.DA LIBTCPIP.SKT.GetChar.A
|
||||
.DA LIBTCPIP.SKT.PutChar
|
||||
.DA #0
|
||||
.DA #0
|
||||
.DA #0 S.NODE.SSOCK.STATUS
|
||||
*--------------------------------------
|
||||
MAN
|
||||
|
@ -121,7 +121,7 @@ OApple+1,OApple+2,OApple+3 to switch between screens : Kernel Log, text, DHGR.
|
||||
| SHELL | Working | (See Internal Shell commands) | 0.9.1 |
|
||||
| KCONFIG | Working | Kernel Configuration Utility | 0.9.1 |
|
||||
| ---- | ------ | ------- | ----- |
|
||||
| TCPIP | Working | Socket API.ARP,IP,ICMP,UDP & TCP ok | 0.9 |
|
||||
| TCPIPD | Working | Socket API.ARP,IP,ICMP,UDP & TCP ok | 0.9 |
|
||||
| DHCPCLNT| Working | rewritten to use new Socket API | 0.9 |
|
||||
| TELNETD | In Progress | | 0.9 |
|
||||
| HTTPD | In Progress | | 0.9 |
|
||||
|
@ -26,9 +26,10 @@ CS.START cld
|
||||
.DA #$61 6502,Level 1 (65c02)
|
||||
.DA #1 BIN Layout Version 1
|
||||
.DA 0
|
||||
.DA CS.END-CS.START
|
||||
.DA DS.END-DS.START Data Segment to Allocate
|
||||
.DA 0
|
||||
.DA CS.END-CS.START CS
|
||||
.DA DS.END-DS.START DS
|
||||
.DA #16 SS
|
||||
.DA #6 ZP
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
* Relocation Table
|
||||
@ -51,7 +52,7 @@ L.DHCP.REQ .DA DHCP.REQ
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
CS.INIT >LDYA L.LIBTCPIP
|
||||
>SYSCALL LoadLibYA
|
||||
>SYSCALL LoadLib.YA
|
||||
sta hLIBTCPIP
|
||||
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.GET.IPCFG
|
||||
@ -245,7 +246,7 @@ CS.QUIT ldy #hSocket
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.CloseA
|
||||
|
||||
.1 lda hLIBTCPIP
|
||||
>SYSCALL UnloadLibA
|
||||
>SYSCALL UnloadLib.A
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
@ -439,7 +440,7 @@ Wait.TimeOut ldy #TimeOut
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
LIBTCPIP >PSTR "libtcpip.o"
|
||||
LIBTCPIP >CSTR "libtcpip.o"
|
||||
MSG.CFG1 >CSTR "DHCPCLNT:Searching for DHCP servers...\r\n"
|
||||
MSG.CFG2 >CSTR "DHCPCLNT:Reply from DHCP Server at %d.%d.%d.%d, requesting...\r\n"
|
||||
MSG.CFG.KO >CSTR "DHCPCLNT:Time Out [%h].\r\n"
|
||||
|
373
SBIN/TCPIPD.S.CFG.txt
Normal file
373
SBIN/TCPIPD.S.CFG.txt
Normal file
@ -0,0 +1,373 @@
|
||||
PR#3
|
||||
PREFIX /A2OSX.BUILD
|
||||
NEW
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
*--------------------------------------
|
||||
CFG.Read >PUSHW L.HOSTNAME
|
||||
>LDYA L.MSG.CFG
|
||||
>SYSCALL PrintF.YA
|
||||
|
||||
jsr CFG.Read.HOSTNAME
|
||||
bcc .1
|
||||
>PUSHA
|
||||
>LDYA L.MSG.CFG.KO
|
||||
bra .2
|
||||
.1 >LDYA L.MSG.CFG.OK
|
||||
.2 >SYSCALL PrintF.YA
|
||||
|
||||
>PUSHW L.TCPIP.CONF
|
||||
>LDYA L.MSG.CFG
|
||||
>SYSCALL PrintF.YA
|
||||
|
||||
jsr CFG.Read.TCPIP.CONF
|
||||
bcc .3
|
||||
>PUSHA
|
||||
>LDYA L.MSG.CFG.KO
|
||||
bra .4
|
||||
.3 >LDYA L.MSG.CFG.OK
|
||||
.4 >SYSCALL PrintF.YA
|
||||
|
||||
>PUSHW L.HOSTS
|
||||
>LDYA L.MSG.CFG
|
||||
>SYSCALL PrintF.YA
|
||||
|
||||
jsr CFG.Read.HOSTS
|
||||
bcc .5
|
||||
>PUSHA
|
||||
>LDYA L.MSG.CFG.KO
|
||||
bra .6
|
||||
.5 >SYSCALL PrintF.YA
|
||||
.6 >LDYA L.MSG.CFG.OK
|
||||
>SYSCALL PrintF.YA
|
||||
rts
|
||||
*--------------------------------------
|
||||
CFG.Read.HOSTNAME
|
||||
stz CFG.hCfgFile
|
||||
stz CFG.hCfgPath
|
||||
|
||||
>LDYA L.HOSTNAME
|
||||
>SYSCALL ExpandStr.YA
|
||||
bcs .99
|
||||
|
||||
stx CFG.hCfgPath
|
||||
pha
|
||||
|
||||
>PUSHWI 0 Aux type
|
||||
>PUSHBI 4 S.FILEINFO.TYPE.TXT
|
||||
>PUSHBI SYS.FOpen.R
|
||||
pla
|
||||
>PUSHYA
|
||||
>SYSCALL LoadFile
|
||||
bcs .9
|
||||
stx CFG.hCfgFile
|
||||
>STYA CFG.FileLen
|
||||
|
||||
txa
|
||||
>SYSCALL GetMemPtr.A
|
||||
>STYA ZPIPCfgPtr
|
||||
|
||||
* read 15 chars MAX, until CR or EOF
|
||||
|
||||
ldx #$15
|
||||
lda CFG.FileLen+1
|
||||
bne .1 File is more than 256....?
|
||||
|
||||
ldx CFG.FileLen
|
||||
beq .9 len is 0 !!!
|
||||
|
||||
.1 ldy #0
|
||||
|
||||
.2 lda (ZPIPCfgPtr),y
|
||||
cmp #13
|
||||
beq .8 A CR, end of name
|
||||
|
||||
iny
|
||||
sta IPCFG+S.IPCFG.HOSTNAME,y
|
||||
dex
|
||||
bne .2
|
||||
|
||||
.8 sty IPCFG+S.IPCFG.HOSTNAME
|
||||
|
||||
jsr CFG.Read.CleanUp
|
||||
clc
|
||||
rts
|
||||
|
||||
.9 jsr CFG.Read.CleanUp
|
||||
sec
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
CFG.Read.TCPIP.CONF
|
||||
stz CFG.hCfgFile
|
||||
stz CFG.hCfgPath
|
||||
|
||||
>LDYA L.TCPIP.CONF
|
||||
>SYSCALL ExpandStr.YA
|
||||
bcs .99
|
||||
|
||||
stx CFG.hCfgPath
|
||||
pha
|
||||
|
||||
>PUSHWI 0 Aux type
|
||||
>PUSHBI 4 S.FILEINFO.TYPE.TXT
|
||||
>PUSHBI SYS.FOpen.R
|
||||
pla
|
||||
>PUSHYA
|
||||
>SYSCALL LoadFile
|
||||
bcs .9
|
||||
stx CFG.hCfgFile
|
||||
>STYA CFG.FileLen
|
||||
txa
|
||||
>SYSCALL GetMemPtr.A
|
||||
>STYA ZPIPCfgPtr
|
||||
|
||||
.1 jsr CFG.GetLine
|
||||
bcs .8
|
||||
|
||||
jsr CFG.GetKeyword
|
||||
bcs .1
|
||||
|
||||
lda CFG.Keyword
|
||||
bne .3
|
||||
|
||||
ldy UsrBuf256
|
||||
|
||||
lda UsrBuf256+1,y
|
||||
cmp #35 DOMAIN too long!!!
|
||||
bcs .1
|
||||
|
||||
sta IPCFG+S.IPCFG.DOMAIN
|
||||
ldx #0
|
||||
|
||||
.2 lda UsrBuf256+2,y
|
||||
sta IPCFG+S.IPCFG.DOMAIN,x
|
||||
beq .1
|
||||
inx
|
||||
iny
|
||||
bne .2
|
||||
bra .1
|
||||
|
||||
.9 jsr CFG.Read.CleanUp
|
||||
sec
|
||||
.99 rts
|
||||
|
||||
.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
|
||||
|
||||
.8 jsr CFG.Read.CleanUp
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CFG.Read.HOSTS >PUSHWI 0 Aux type
|
||||
>PUSHBI 4 S.FILEINFO.TYPE.TXT
|
||||
>PUSHBI SYS.FOpen.R
|
||||
>PUSHW L.HOSTS
|
||||
>SYSCALL LoadFile
|
||||
bcs .99
|
||||
stx CFG.hCfgFile
|
||||
>STYA CFG.FileLen
|
||||
|
||||
txa
|
||||
>SYSCALL GetMemPtr.A
|
||||
>STYA ZPIPCfgPtr
|
||||
|
||||
.89 lda CFG.hCfgFile
|
||||
>SYSCALL FreeMem.A
|
||||
clc
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
CFG.Read.CleanUp
|
||||
pha
|
||||
lda CFG.hCfgPath
|
||||
beq .1
|
||||
>SYSCALL FreeMem.A
|
||||
|
||||
.1 lda CFG.hCfgFile
|
||||
beq .8
|
||||
>SYSCALL FreeMem.A
|
||||
|
||||
.8 pla
|
||||
rts
|
||||
*--------------------------------------
|
||||
CFG.GetLine stz UsrBuf256
|
||||
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 UsrBuf256,x
|
||||
cmp #'='
|
||||
bne .3
|
||||
txa
|
||||
dec
|
||||
tay
|
||||
.3 cpx #64 line too long ?
|
||||
bne .1
|
||||
sec
|
||||
rts
|
||||
|
||||
.8 tya = found ?
|
||||
beq .9
|
||||
|
||||
sta UsrBuf256
|
||||
txa
|
||||
sec
|
||||
sbc UsrBuf256
|
||||
sta UsrBuf256+1,y
|
||||
stz UsrBuf256+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 UsrBuf256,y
|
||||
bne .3
|
||||
cpy UsrBuf256
|
||||
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 UsrBuf256
|
||||
|
||||
.1 ldy #0
|
||||
.11 lda UsrBuf256+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 UsrBuf256+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 /A2OSX.SRC/SBIN/TCPIPD.S.CFG
|
||||
LOAD /A2OSX.SRC/SBIN/TCPIPD.S
|
||||
ASM
|
228
SBIN/TCPIPD.S.txt
Normal file
228
SBIN/TCPIPD.S.txt
Normal file
@ -0,0 +1,228 @@
|
||||
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
|
Loading…
x
Reference in New Issue
Block a user