Kernel 0.92

This commit is contained in:
Rémy GIBERT 2019-01-14 16:37:56 +00:00
parent c6f0b1fa51
commit fa3964ddff
9 changed files with 119 additions and 172 deletions

Binary file not shown.

View File

@ -1,39 +0,0 @@
NEW
PREFIX
AUTO 4,1
.LIST OFF
*--------------------------------------
* PULLW = PTR to S.IPCFG
*--------------------------------------
DEV.Bind >PUSHBI 0
>LDYA L.DEVNAME
>SYSCALL open
bcc .1
inc DEVNAME+8
lda DEVNAME+8
cmp #'8'
bne DEV.Bind
>LDYA L.MSG.DEV.KO
>SYSCALL puts
lda #MLI.E.NODEV
sec
rts
.1 ldy #S.IPCFG.DevID
sta (pIPCFG),y
>PUSHW L.DEVNAME
>PUSHBI 2
>LDYA L.MSG.DEV.OK
>SYSCALL printf
clc
rts
*--------------------------------------
MAN
SAVE USR/SRC/SBIN/IPCONFIG.S.DEV
LOAD USR/SRC/SBIN/IPCONFIG.S
ASM

View File

@ -6,10 +6,6 @@ AUTO 4,1
DHCP.INIT lda (pIPCFG) DHCP.INIT lda (pIPCFG)
and #S.IPCFG.STATUS.OK and #S.IPCFG.STATUS.OK
bne .99 Already Configured, exit bne .99 Already Configured, exit
ldy #S.IPCFG.DevID
lda (pIPCFG),y
beq .98
ldy #S.IPCFG-1 ldy #S.IPCFG-1
@ -39,8 +35,6 @@ DHCP.INIT lda (pIPCFG)
clc clc
.9 rts .9 rts
.98 >LDYA L.MSG.DHCP.ND
bra .90
.99 >LDYA L.MSG.DHCP.NA .99 >LDYA L.MSG.DHCP.NA
.90 >SYSCALL puts .90 >SYSCALL puts

View File

@ -17,23 +17,12 @@ CFG.EtcFiles >LDYAI 256
lda IPCFG+S.IPCFG.HOSTNAME lda IPCFG+S.IPCFG.HOSTNAME
bne .4 bne .4
ldy #$ff >PUSHW A2osX.TIMER16
>PUSHBI 2
>PUSHW L.CFG.DefaultHost
>LDYA L.IPCFG.HOSTNAME
>SYSCALL sprintf
.2 iny
lda CFG.DefaultHost,y
sta IPCFG+S.IPCFG.HOSTNAME,y
bne .2
.3 lda A2osX.TIMER16
jsr CFG.A2CharAX
sta IPCFG+S.IPCFG.HOSTNAME+6
stx IPCFG+S.IPCFG.HOSTNAME+7
lda A2osX.TIMER16+1
jsr CFG.A2CharAX
sta IPCFG+S.IPCFG.HOSTNAME+8
stx IPCFG+S.IPCFG.HOSTNAME+9
.4 >LDYA L.TCPIP.CONF .4 >LDYA L.TCPIP.CONF
jsr CFG.Read.PrintF jsr CFG.Read.PrintF
jsr CFG.Read.TCPIP.CONF jsr CFG.Read.TCPIP.CONF
@ -48,8 +37,6 @@ CFG.EtcFiles >LDYAI 256
jsr CFG.Read.PrintF jsr CFG.Read.PrintF
jsr CFG.Read.HOSTS jsr CFG.Read.HOSTS
>LIBCALL hLIBTCPIP,LIBTCPIP.SETCFG
lda CFG.hBuf1 lda CFG.hBuf1
>SYSCALL freemem >SYSCALL freemem
@ -381,36 +368,7 @@ CFG.Read.GetS >PUSHWI 255
>PUSHW ZPTmpPtr1 >PUSHW ZPTmpPtr1
lda CFG.hCfgFile lda CFG.hCfgFile
>SYSCALL fgets >SYSCALL fgets
* bcs .9
* >LDYA ZPTmpPtr1
* >SYSCALL puts
.9 rts
*--------------------------------------
CFG.A2CharAX pha
lsr
lsr
lsr
lsr
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
*--------------------------------------
* grab a copy on the fly for lib function
* OUT :
* Y,A = PTR to S.IPCFG
*--------------------------------------
GET.IPCFG >LDYA L.IPCFG
clc
rts rts
*-------------------------------------- *--------------------------------------
MAN MAN

View File

@ -55,9 +55,7 @@ CS.START cld
.DA CS.QUIT .DA CS.QUIT
L.LIBTCPIP .DA LIBTCPIP L.LIBTCPIP .DA LIBTCPIP
L.MSG.USAGE .DA MSG.USAGE L.MSG.USAGE .DA MSG.USAGE
L.MSG0 .DA MSG0 L.MSG.NODEV .DA MSG.NODEV
L.MSG0.NL .DA MSG0.NL
L.MSG0.L .DA MSG0.L
L.MSG1.DEV .DA MSG1.DEV L.MSG1.DEV .DA MSG1.DEV
L.MSG1.DEV.ARP .DA MSG1.DEV.ARP L.MSG1.DEV.ARP .DA MSG1.DEV.ARP
L.MSG1.DEV.IP .DA MSG1.DEV.IP L.MSG1.DEV.IP .DA MSG1.DEV.IP
@ -74,9 +72,6 @@ L.MSG2.IP .DA MSG2.IP
L.MSG2.GW .DA MSG2.GW L.MSG2.GW .DA MSG2.GW
L.MSG2.DNS .DA MSG2.DNS L.MSG2.DNS .DA MSG2.DNS
L.MSG2.HOSTNAME .DA MSG2.HOSTNAME L.MSG2.HOSTNAME .DA MSG2.HOSTNAME
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 .DA MSG.CFG
L.MSG.CFG.KO .DA MSG.CFG.KO L.MSG.CFG.KO .DA MSG.CFG.KO
L.MSG.CFG.OK .DA MSG.CFG.OK L.MSG.CFG.OK .DA MSG.CFG.OK
@ -90,13 +85,14 @@ L.DCB.NIC .DA DCB.NIC
L.CFG.IP .DA CFG.IP L.CFG.IP .DA CFG.IP
L.HST.SScanF .DA HST.SScanF L.HST.SScanF .DA HST.SScanF
L.CFG.HOSTS.SScanF .DA CFG.HOSTS.SScanF L.CFG.HOSTS.SScanF .DA CFG.HOSTS.SScanF
L.CFG.DefaultHost .DA CFG.DefaultHost
L.IPCFG.HOSTNAME .DA IPCFG+S.IPCFG.HOSTNAME
L.CFG.Keywords .DA CFG.Keywords L.CFG.Keywords .DA CFG.Keywords
J.CFG.Keywords .DA CFG.Read.address J.CFG.Keywords .DA CFG.Read.address
.DA CFG.Read.netmask .DA CFG.Read.netmask
.DA CFG.Read.gateway .DA CFG.Read.gateway
.DA CFG.Read.nameserver .DA CFG.Read.nameserver
.DA CFG.Read.dnsdomain .DA CFG.Read.dnsdomain
.DA 0
*-------------------------------------- *--------------------------------------
* DHCP * DHCP
*-------------------------------------- *--------------------------------------
@ -106,10 +102,10 @@ L.MSG.DHCP.CFG1 .DA MSG.DHCP.CFG1
L.MSG.DHCP.CFG2 .DA MSG.DHCP.CFG2 L.MSG.DHCP.CFG2 .DA MSG.DHCP.CFG2
L.MSG.DHCP.KO .DA MSG.DHCP.KO L.MSG.DHCP.KO .DA MSG.DHCP.KO
L.MSG.DHCP.OK .DA MSG.DHCP.OK L.MSG.DHCP.OK .DA MSG.DHCP.OK
L.MSG.DHCP.ND .DA MSG.DHCP.ND
L.MSG.DHCP.NA .DA MSG.DHCP.NA L.MSG.DHCP.NA .DA MSG.DHCP.NA
L.DHCP.DISC .DA DHCP.DISC L.DHCP.DISC .DA DHCP.DISC
L.DHCP.REQ .DA DHCP.REQ L.DHCP.REQ .DA DHCP.REQ
.DA 0
*-------------------------------------- *--------------------------------------
CS.INIT >LDYA L.LIBTCPIP CS.INIT >LDYA L.LIBTCPIP
>SYSCALL LoadLib >SYSCALL LoadLib
@ -118,10 +114,24 @@ CS.INIT >LDYA L.LIBTCPIP
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
CS.RUN CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG
.1 >INC.G ArgCount >STYA pIPCFG
ldy #S.IPCFG.DevID
lda (pIPCFG),y
bne .1
>LDYA L.MSG.NODEV
>SYSCALL puts
lda #MLI.E.NODEV
sec
rts
.1 sta IPCFG+S.IPCFG.DevID
>INC.G ArgIndex
>SYSCALL ArgV >SYSCALL ArgV
bcs .7 bcs .4
>STYA ZPPtr1 >STYA ZPPtr1
@ -151,24 +161,28 @@ CS.RUN
sta (pData),y sta (pData),y
bra .1 bra .1
.7 .4 lda (pIPCFG) S.IPCFG.STATUS
*-------------------------------------- bne CS.RUN.DUMP
CS.RUN.STATUS >PUSHBI 0
>LDYA L.MSG0
>SYSCALL printf
>LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG jsr CFG.EtcFiles
>STYA pIPCFG
ldy #S.IPCFG.DevID * jsr DHCP.INIT
* bcs .8
* jsr DHCP.RUN
* jsr DHCP.QUIT
.8 >PUSHW L.IPCFG
>LIBCALL hLIBTCPIP,LIBTCPIP.SETCFG
* lda #0
* sec
* rts
*--------------------------------------
CS.RUN.DUMP ldy #S.IPCFG.DevID
lda (pIPCFG),y lda (pIPCFG),y
bne .1
>LDYA L.MSG0.NL tax
>SYSCALL puts
jmp CS.RUN.DONE
.1 tax
lda Dev.Table,x lda Dev.Table,x
sta pFD sta pFD
lda Dev.Table+1,x lda Dev.Table+1,x
@ -190,10 +204,7 @@ CS.RUN.STATUS >PUSHBI 0
lda (pIPCFG),y lda (pIPCFG),y
>SYSCALL IOCTL >SYSCALL IOCTL
CS.RUN.DUMP >LDYA L.MSG0.L CS.RUN.DUMPNIC ldy #DCB.NIC+S.DCB.NIC.MAC+5
>SYSCALL puts
ldy #DCB.NIC+S.DCB.NIC.MAC+5
ldx #6 ldx #6
.1 lda (pData),y .1 lda (pData),y
@ -360,7 +371,7 @@ CS.RUN.DUMPIP >PUSHBI 0
>LDYA L.MSG2.HOSTNAME >LDYA L.MSG2.HOSTNAME
>SYSCALL printf >SYSCALL printf
CS.RUN.DONE lda #0 tell TSKMGR that all done ok, but lda #0 tell TSKMGR that all done ok, but
sec we do not want to stay in memory sec we do not want to stay in memory
rts rts
*-------------------------------------- *--------------------------------------
@ -392,26 +403,27 @@ Wait.TimeOut ldy #TimeOut
lda (pData),y lda (pData),y
rts rts
*-------------------------------------- *--------------------------------------
.INB USR/SRC/SBIN/IPCONFIG.S.DEV
.INB USR/SRC/SBIN/IPCONFIG.S.DHCP .INB USR/SRC/SBIN/IPCONFIG.S.DHCP
.INB USR/SRC/SBIN/IPCONFIG.S.ETC .INB USR/SRC/SBIN/IPCONFIG.S.ETC
*-------------------------------------- *--------------------------------------
CS.END CS.END
LIBTCPIP .AZ "libtcpip2" LIBTCPIP .AZ "libtcpip2"
hLIBTCPIP .BS 1
*-------------------------------------- *--------------------------------------
OptionList >PSTR "DESdes" OptionList >PSTR "DEde"
OptionVars .DA #bDHCP,#bETC,#bSet,#bDHCP,#bETC,#bSet OptionVars .DA #bDHCP,#bETC,#bDHCP,#bETC
*-------------------------------------- *--------------------------------------
MSG.USAGE .AS "Usage : IPCONFIG <switches>\r\n" MSG.USAGE .AS "Usage : IPCONFIG <switches>\r\n"
.AS " -D : Try to get IP address from DHCP\r\n" .AS " -D : Try to get IP address from DHCP\r\n"
.AS " -E : Read ETC files\r\n" .AS " -E : Read ETC files\r\n"
.AZ " -S : Set/Reset TCPIP configuration (-E, then -D if required)\r\n" .AZ " -S : Set/Reset TCPIP configuration (-E, then -D if required)\r\n"
*-------------------------------------- *--------------------------------------
MSG0 .AZ "TCP/IP Status : " MSG.NODEV .AZ "TCP/IP not bound to any device."
MSG0.L .AZ "Loaded"
MSG0.NL .AZ "Not Loaded"
*-------------------------------------- *--------------------------------------
MSG1.DEV .AS "Device Configuration :\r\n" IPCFG .BS S.IPCFG
IOCTL .BS S.IOCTL
*--------------------------------------
MSG1.DEV .AS "NIC Device Configuration :\r\n"
.AS " Device ID : $%h\r\n" .AS " Device ID : $%h\r\n"
.AS " Device Name : %s\r\n" .AS " Device Name : %s\r\n"
.AS " Device Type : %S\r\n" .AS " Device Type : %S\r\n"
@ -433,13 +445,9 @@ MSG2.IP .AZ " IP/Mask : %d.%d.%d.%d/%d.%d.%d.%d\r\n"
MSG2.GW .AZ " Gateway : %d.%d.%d.%d\r\n" MSG2.GW .AZ " Gateway : %d.%d.%d.%d\r\n"
MSG2.DNS .AZ " DNS : %d.%d.%d.%d,%d.%d.%d.%d\r\n" MSG2.DNS .AZ " DNS : %d.%d.%d.%d,%d.%d.%d.%d\r\n"
MSG2.HOSTNAME .AZ " Hostname : %s.%s\r\n" MSG2.HOSTNAME .AZ " Hostname : %s.%s\r\n"
hLIBTCPIP .BS 1
*-------------------------------------- *--------------------------------------
DEVNAME .AZ "/DEV/ETH1"
MSG.DEV.KO .AZ "No Device Found, exiting."
MSG.DEV.OK .AZ "Bound To Device : %s\r\n"
MSG.CFG .AZ "Reading %s..." MSG.CFG .AZ "Reading %s..."
MSG.CFG.KO .AZ "Failed!!! [%h]\r\n" MSG.CFG.KO .AZ "Not Found. [%h]\r\n"
MSG.CFG.OK .AZ "OK." MSG.CFG.OK .AZ "OK."
MSG.DNS.ADD .AZ " - Adding static host %d.%d.%d.%d %s..." MSG.DNS.ADD .AZ " - Adding static host %d.%d.%d.%d %s..."
*-------------------------------------- *--------------------------------------
@ -448,7 +456,7 @@ TCPIP.CONF .AZ "${ROOT}ETC/TCPIP.CONF"
HOSTS .AZ "${ROOT}ETC/HOSTS" HOSTS .AZ "${ROOT}ETC/HOSTS"
HST.SScanF .AZ "%d.%d.%d.%d" HST.SScanF .AZ "%d.%d.%d.%d"
*-------------------------------------- *--------------------------------------
CFG.DefaultHost .AZ "a2osx-XXXX" CFG.DefaultHost .AZ "a2osx-%H"
CFG.Keywords >PSTR "address" CFG.Keywords >PSTR "address"
>PSTR "netmask" >PSTR "netmask"
>PSTR "gateway" >PSTR "gateway"
@ -462,13 +470,11 @@ CFG.hCfgPath .BS 1
CFG.hCfgFile .BS 1 CFG.hCfgFile .BS 1
CFG.IP .BS 4 CFG.IP .BS 4
CFG.HOSTS.SScanF .AZ "%d.%d.%d.%d %s %s" CFG.HOSTS.SScanF .AZ "%d.%d.%d.%d %s %s"
IPCFG .BS S.IPCFG
*-------------------------------------- *--------------------------------------
MSG.DHCP.CFG1 .AZ "Searching for DHCP servers..." MSG.DHCP.CFG1 .AZ "Searching for DHCP servers..."
MSG.DHCP.CFG2 .AZ "Reply from DHCP Server at %d.%d.%d.%d, requesting...\r\n" MSG.DHCP.CFG2 .AZ "Reply from DHCP Server at %d.%d.%d.%d, requesting...\r\n"
MSG.DHCP.KO .AZ "Time Out [%h].\r\n" MSG.DHCP.KO .AZ "Time Out [%h].\r\n"
MSG.DHCP.OK .AZ "Success:[IP=%d.%d.%d.%d/%d.%d.%d.%d]\r\n" MSG.DHCP.OK .AZ "Success:[IP=%d.%d.%d.%d/%d.%d.%d.%d]\r\n"
MSG.DHCP.ND .AZ "No Device, exiting."
MSG.DHCP.NA .AZ "TCPIP Already configured, exiting." MSG.DHCP.NA .AZ "TCPIP Already configured, exiting."
*-------------------------------------- *--------------------------------------
SA.LOCAL .DA #AF.INET S.SOCKADDR.AF SA.LOCAL .DA #AF.INET S.SOCKADDR.AF
@ -522,11 +528,9 @@ DHCP.REQ.LEN .EQ *-DHCP.REQ
.DUMMY .DUMMY
.OR 0 .OR 0
DS.START DS.START
ArgCount .BS 1 ArgIndex .BS 1
bDHCP .BS 1 bDHCP .BS 1
bETC .BS 1 bETC .BS 1
bSet .BS 1
IOCTL .BS S.IOCTL
DIB .BS S.DIB DIB .BS S.DIB
DCB.NIC .BS S.DCB.NIC DCB.NIC .BS S.DCB.NIC
TimeOut .BS 1 TimeOut .BS 1

View File

@ -10,6 +10,12 @@ LIBETALK.GETCFG .EQ 6
LIBETALK.INCOMING .EQ 8 LIBETALK.INCOMING .EQ 8
LIBETALK.PULSE .EQ 10 LIBETALK.PULSE .EQ 10
*-------------------------------------- *--------------------------------------
S.ETKCFG.STATUS .EQ 0
S.ETKCFG.DevID .EQ 1
S.ETKCFG.MAC .EQ 2
*
S.ETKCFG .EQ 8
*--------------------------------------
MAN MAN
SAVE INC/LIBETALK.I SAVE INC/LIBETALK.I
LOAD USR/SRC/LIB/LIBETALK.S LOAD USR/SRC/LIB/LIBETALK.S

View File

@ -10,6 +10,7 @@ AUTO 4,1
.INB INC/A2OSX.I .INB INC/A2OSX.I
.INB INC/NIC.I .INB INC/NIC.I
.INB INC/ETH.I .INB INC/ETH.I
.INB INC/LIBETALK.I
*-------------------------------------- *--------------------------------------
ZPFrameInPtr .EQ ZPLIB ZPFrameInPtr .EQ ZPLIB
ZPFrameInLen .EQ ZPLIB+2 ZPFrameInLen .EQ ZPLIB+2
@ -24,6 +25,7 @@ ZPDataOutPtr .EQ ZPLIB+12
ZPDataOutLen .EQ ZPLIB+14 ZPDataOutLen .EQ ZPLIB+14
ZPIOCTL .EQ ZPLIB+16 ZPIOCTL .EQ ZPLIB+16
ZPTmpPtr1 .EQ ZPLIB+18
*-------------------------------------- *--------------------------------------
* File Header (16 Bytes) * File Header (16 Bytes)
*-------------------------------------- *--------------------------------------
@ -42,21 +44,36 @@ CS.START cld
.1 .DA LIB.LOAD .1 .DA LIB.LOAD
.DA LIB.UNLOAD .DA LIB.UNLOAD
.DA SETCFG .DA CFG.SET
.DA GETCFG .DA CFG.GET
.DA INCOMING .DA INCOMING
.DA PULSE .DA PULSE
*-------------------------------------- *--------------------------------------
L.ETKCFG .DA ETKCFG
.DA 0 .DA 0
*-------------------------------------- *--------------------------------------
LIB.LOAD LIB.LOAD
*-------------------------------------- *--------------------------------------
LIB.UNLOAD LIB.UNLOAD
clc
rts
*-------------------------------------- *--------------------------------------
SETCFG CFG.SET >PULLW ZPTmpPtr1 IPCFG
ldy #0
.1 lda (ZPTmpPtr1),y
sta ETKCFG,y
iny
cpy #S.ETKCFG
bne .1
clc
rts
*-------------------------------------- *--------------------------------------
GETCFG CFG.GET >LDYA L.ETKCFG
clc clc
rts rts
*-------------------------------------- *--------------------------------------
@ -64,29 +81,27 @@ INCOMING sta hFrameIn
>PULLW ZPIOCTL >PULLW ZPIOCTL
ldy #S.IOCTL.BUFPTR+3 ldy #S.IOCTL.BUFPTR+3
ldx #3
.1 lda (ZPIOCTL),y .1 lda (ZPIOCTL),y Get Frame Ptr & Len
sta ZPFrameInPtr,x sta ZPFrameInPtr-S.IOCTL.BUFPTR,y
dey dey
dex
bpl .1 bpl .1
sec sec
rts rts
*-------------------------------------- *--------------------------------------
* Expire = every sec *--------------------------------------
* Retry = every 100 msec * A = S.EVT.F
*-------------------------------------- *--------------------------------------
PULSE and #S.EVT.F.T1SEC PULSE and #S.EVT.F.T1SEC
beq .1 beq .9
.1 clc .9 rts
rts
*-------------------------------------- *--------------------------------------
CS.END CS.END
*-------------------------------------- *--------------------------------------
hFrameIn .BS 1 hFrameIn .BS 1
ETKCFG .BS S.ETKCFG
*-------------------------------------- *--------------------------------------
MAN MAN
SAVE USR/SRC/LIB/LIBETALK.S SAVE USR/SRC/LIB/LIBETALK.S

View File

@ -189,12 +189,14 @@ LIB.UNLOAD.8 clc
rts rts
*-------------------------------------- *--------------------------------------
INCOMING sta hFrameIn INCOMING sta hFrameIn
ldx #3
>PULLW ZPTmpPtr1
ldy #S.IOCTL.BUFPTR+3
.10 lda IOCTL+S.IOCTL.BUFPTR,x Get Frame Ptr & Len .1 lda (ZPTmpPtr1),y Get Frame Ptr & Len
sta ZPFrameInPtr,x sta ZPFrameInPtr-S.IOCTL.BUFPTR,y
dex dey
bpl .10 bpl .1
ldy #S.ETH.EII.TYPE ldy #S.ETH.EII.TYPE
lda (ZPFrameInPtr),y lda (ZPFrameInPtr),y
@ -203,24 +205,23 @@ INCOMING sta hFrameIn
lda (ZPFrameInPtr),y lda (ZPFrameInPtr),y
cmp #S.ETH.EII.TYPE.ARP cmp #S.ETH.EII.TYPE.ARP
bne .1 bne .2
cpx /S.ETH.EII.TYPE.ARP cpx /S.ETH.EII.TYPE.ARP
bne .1 bne .2
jmp ARP.IN jmp ARP.IN
.1 cmp #S.ETH.EII.TYPE.IP .2 cmp #S.ETH.EII.TYPE.IP
bne .9 bne .9
cpx /S.ETH.EII.TYPE.IP cpx /S.ETH.EII.TYPE.IP
bne .9 bne .9
jmp IP.IN jmp IP.IN
.9 lda hFrameIn .9 sec
>SYSCALL FreeMem rts
.99 rts
*-------------------------------------- *--------------------------------------
* A = S.EVT.F
* Expire = every sec * Expire = every sec
* Retry = every 100 msec * Retry = every 100 msec
*-------------------------------------- *--------------------------------------

View File

@ -18,7 +18,7 @@ AUTO 4,1
.DUMMY .DUMMY
.OR ZPBIN .OR ZPBIN
ZS.START ZS.START
* MyPtr .BS 2 pIPCFG .BS 2
ZS.END ZS.END
.ED .ED
*-------------------------------------- *--------------------------------------
@ -70,7 +70,7 @@ CS.RUN >PUSHBI 0
sec sec
rts rts
.1 sta hFD .1 sta DevID
>PUSHW L.DEVNAME >PUSHW L.DEVNAME
>PUSHBI 2 >PUSHBI 2
@ -81,6 +81,13 @@ CS.RUN >PUSHBI 0
>SYSCALL LoadLib >SYSCALL LoadLib
bcs .2 bcs .2
sta hLIBTCPIP sta hLIBTCPIP
>LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG
>STYA pIPCFG
ldy #S.IPCFG.DevID
lda DevID
sta (pIPCFG),y
.2 >LDYA L.LIBETALK .2 >LDYA L.LIBETALK
>SYSCALL LoadLib >SYSCALL LoadLib
@ -92,7 +99,7 @@ CS.RUN.LOOP >SLEEP
>PUSHW L.IOCTL >PUSHW L.IOCTL
>PUSHBI IOCTL.READ >PUSHBI IOCTL.READ
lda hFD lda DevID
>SYSCALL IOCTL >SYSCALL IOCTL
bcs CS.RUN.LOOP No Frame bcs CS.RUN.LOOP No Frame
@ -129,6 +136,7 @@ CS.DOEVENT lda (pEvent)
.1 ldx hLIBETALK .1 ldx hLIBETALK
beq .9 beq .9
lda (pEvent) lda (pEvent)
>LIBCALL hLIBETALK,LIBETALK.PULSE >LIBCALL hLIBETALK,LIBETALK.PULSE
@ -147,7 +155,7 @@ CS.QUIT lda hLIBTCPIP
.2 >PUSHWI 0 .2 >PUSHWI 0
>PUSHBI IOCTL.CLOSE >PUSHBI IOCTL.CLOSE
lda hFD lda DevID
>SYSCALL IOCTL >SYSCALL IOCTL
clc clc
@ -156,11 +164,11 @@ CS.QUIT lda hLIBTCPIP
CS.END CS.END
*-------------------------------------- *--------------------------------------
DEVNAME .AZ "/DEV/ETH1" DEVNAME .AZ "/DEV/ETH1"
MSG.DEV.KO .AZ "No Device Found, exiting." MSG.DEV.KO .AZ "NETWORKD:No Device Found, exiting."
MSG.DEV.OK .AZ "Bound To Device : %s\r\n" MSG.DEV.OK .AZ "NETWORKD:Bound To Device : %s\r\n"
LIBTCPIP .AZ "libtcpip2" LIBTCPIP .AZ "libtcpip2"
LIBETALK .AZ "libetalk" LIBETALK .AZ "libetalk"
hFD .BS 1 DevID .BS 1
hLIBTCPIP .BS 1 hLIBTCPIP .BS 1
hLIBETALK .BS 1 hLIBETALK .BS 1
IOCTL .BS S.IOCTL IOCTL .BS S.IOCTL