mirror of
https://github.com/A2osX/A2osX.git
synced 2024-08-28 14:29:20 +00:00
99 lines
1.8 KiB
Plaintext
99 lines
1.8 KiB
Plaintext
NEW
|
||
AUTO 3,1
|
||
.LIST OFF
|
||
*--------------------------------------
|
||
CFG.SET >PULLW ZPTmpPtr1 IPCFG
|
||
ldy #S.IPCFG-1
|
||
.1 lda (ZPTmpPtr1),y
|
||
sta IPCFG,y
|
||
dey
|
||
bpl .1
|
||
ldx #5
|
||
|
||
.2 lda IPCFG+S.NETCFG.MAC,x
|
||
sta ARP.REQ.SRCMAC,x
|
||
sta ARP.REQ.SHA,x
|
||
sta ARP.REP.SRCMAC,x
|
||
sta ARP.REP.SHA,x
|
||
dex
|
||
bpl .2
|
||
|
||
ldx #3
|
||
|
||
.3 lda IPCFG+S.IPCFG.IP,x
|
||
sta SA.LOCAL+S.SOCKADDR.ADDR,x
|
||
sta ARP.REQ.SPA,x
|
||
sta ARP.REP.SPA,x
|
||
dex
|
||
bpl .3
|
||
|
||
lda IPCFG+S.NETCFG.DevFlags
|
||
and #S.DCB.NIC.FLAGS.ARPOFFLOAD
|
||
beq .5
|
||
|
||
>LDYA L.DCB.NIC
|
||
>STYA IOCTL+S.IOCTL.BUFPTR
|
||
|
||
lda #S.IOCTL.STATCODE.GETDCB
|
||
sta IOCTL+S.IOCTL.STATCODE
|
||
|
||
>PUSHW L.IOCTL
|
||
>PUSHBI IOCTL.STATUS
|
||
lda IPCFG+S.NETCFG.DevID
|
||
>SYSCALL2 IOCTL
|
||
|
||
ldx #11 IP/MASK/GW
|
||
|
||
.4 lda IPCFG+S.IPCFG.IP,x
|
||
sta DCB.NIC+S.DCB.NIC.IP,x
|
||
dex
|
||
bpl .4
|
||
|
||
lda #S.IOCTL.CTRLCODE.SETDCB
|
||
sta IOCTL+S.IOCTL.CTRLCODE
|
||
|
||
>PUSHW L.IOCTL
|
||
>PUSHBI IOCTL.CONTROL
|
||
lda IPCFG+S.NETCFG.DevID
|
||
>SYSCALL2 IOCTL
|
||
bcs .9
|
||
|
||
.5 lda hDNSSocket
|
||
beq .6
|
||
|
||
jsr SKT.Shutdown
|
||
stz hDNSSocket
|
||
|
||
.6 lda IPCFG+S.IPCFG.DNS1
|
||
beq .8
|
||
|
||
>PUSHBI 0 no protocol
|
||
lda #S.SOCKET.T.DGRAM
|
||
jsr SKT.Socket
|
||
bcs .9
|
||
|
||
sta hDNSSocket
|
||
stz SA.LOCAL+S.SOCKADDR.PORT
|
||
stz SA.LOCAL+S.SOCKADDR.PORT+1
|
||
>PUSHW L.SA.LOCAL
|
||
lda hDNSSocket
|
||
jsr SKT.Bind
|
||
bcs .9
|
||
|
||
>LDYAI UDP.PORT.DNS
|
||
>STYA SA.REMOTE+S.SOCKADDR.PORT
|
||
>PUSHW L.SA.REMOTE
|
||
lda hDNSSocket
|
||
jmp SKT.Connect
|
||
.8 clc
|
||
.9 rts
|
||
*--------------------------------------
|
||
CFG.GET >LDYA L.IPCFG
|
||
clc
|
||
rts
|
||
*--------------------------------------
|
||
MAN
|
||
SAVE USR/SRC/LIB/LIBTCPIP.S.CFG
|
||
LOAD USR/SRC/LIB/LIBTCPIP.S
|
||
ASM
|