PR#3 PREFIX /A2OSX.BUILD NEW INC 1 AUTO 6 .LIST OFF .OP 65C02 .OR $2000 .TF /A2OSX.BUILD/SBIN/TCPIP *-------------------------------------- .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 Code Length To Relocate .DA 0 .DA 0 .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 LoadLibYA 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 GetDevByNameYA bcc .1 inc DEVNAME+4 lda DEVNAME+4 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 UnloadLibA 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/TCPIP.S.CFG *-------------------------------------- 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 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 *-------------------------------------- MAN SAVE /A2OSX.SRC/SBIN/TCPIP.S ASM