NEW PREFIX /A2OSX.BUILD AUTO 4,1 .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 .INB /A2OSX.BUILD/INC/MLI.ERR.I *-------------------------------------- ZPIPCfgPtr .EQ ZPBIN ZPDevStatusPtr .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 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 lda #MLI.E.NODEV sec rts .1 txa >STA.G hDev sta IPCFG+S.IPCFG.HDEV >PUSHW L.DEVNAME >LDYA L.MSG.DEV.OK >SYSCALL printf >PUSHB.G hDev >PUSHBI DEVMGR.OPEN >PUSHWI 0 >SYSCALL IOCTL bcs .9 >LDA.G hDev >SYSCALL GetDevStatus bcs .9 >STYA ZPDevStatusPtr ldy #S.DIB+2 MAC ldx #S.IPCFG.MAC .2 lda (ZPDevStatusPtr),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.G hDev beq .1 >PUSHA >PUSHBI DEVMGR.CLOSE >PUSHWI 0 >SYSCALL IOCTL .1 lda hLIBTCPIP >SYSCALL UnloadLib clc rts *-------------------------------------- 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 *-------------------------------------- .INB /A2OSX.SRC/SBIN/TCPIPD.S.CFG *-------------------------------------- CS.END *-------------------------------------- LIBTCPIP .AZ "libtcpip.o" DEVNAME .AZ "ETH1" MSG.DEV.KO .AZ "TCPIPD:No Device Found, exiting.\r\n" MSG.DEV.OK .AZ "TCPIPD:Bound To Device : %s\r\n" MSG.CFG .AZ "TCPIPD:Reading %s..." MSG.CFG.KO .AZ "Failed!!! [%h]\r\n" MSG.CFG.OK .AZ "OK.\r\n" *-------------------------------------- HOSTNAME .AZ "${A2OSX}ETC/HOSTNAME" TCPIP.CONF .AZ "${A2OSX}ETC/TCPIP.CONF" HOSTS .AZ "${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 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 hDev .BS 1 DS.END .ED *-------------------------------------- MAN SAVE /A2OSX.SRC/SBIN/TCPIPD.S ASM