PR#3 PREFIX /A2OSX.SRC NEW INC 1 AUTO 6 .LIST OFF *-------------------------------------- CFG.Read >PUSHW L.HOSTNAME >LDYA L.MSG.CFG >SYSCALL SYS.PSTROutYA jsr CFG.Read.HOSTNAME bcc .1 >PUSHA >LDYA L.MSG.CFG.KO >SYSCALL SYS.PSTROutYA bra .2 .1 >LDYA L.MSG.CFG.OK >SYSCALL SYS.PSTROutYA .2 >PUSHW L.TCPIP.CONF >LDYA L.MSG.CFG >SYSCALL SYS.PSTROutYA jsr CFG.Read.TCPIP.CONF bcc .3 >PUSHA >LDYA L.MSG.CFG.KO >SYSCALL SYS.PSTROutYA bra .4 .3 >LDYA L.MSG.CFG.OK >SYSCALL SYS.PSTROutYA .4 rts *-------------------------------------- CFG.Read.HOSTNAME clc rts *-------------------------------------- CFG.Read.TCPIP.CONF >LDYA L.TCPIP.CONF >SYSCALL SYS.LoadFileYA bcs .99 stx CFG.hCfgFile >STYA CFG.FileLen txa >SYSCALL SYS.GetMemPtrA >STYA ZPIPCfgPtr .1 jsr CFG.GetLine bcs .89 jsr CFG.GetKeyword bcs .1 lda CFG.Keyword bne .3 ldy TmpBuffer256 lda TmpBuffer256+1,y cmp #35 DOMAIN too long!!! bcs .1 sta IPCFG+S.IPCFG.DOMAIN ldx #0 .2 lda TmpBuffer256+2,y sta IPCFG+S.IPCFG.DOMAIN,x beq .1 inx iny bne .2 bra .1 .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 .89 lda CFG.hCfgFile >SYSCALL SYS.FreeMemA clc rts .99 sec rts *-------------------------------------- CFG.GetLine stz TmpBuffer256 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 TmpBuffer256,x cmp #'=' bne .3 txa dec tay .3 cpx #64 line too long ? bne .1 sec rts .8 tya = found ? beq .9 sta TmpBuffer256 txa sec sbc TmpBuffer256 sta TmpBuffer256+1,y stz TmpBuffer256+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 TmpBuffer256,y bne .3 cpy TmpBuffer256 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 TmpBuffer256 .1 ldy #0 .11 lda TmpBuffer256+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 TmpBuffer256+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 SBIN/TCPIP.S.CFG LOAD SBIN/TCPIP.S ASM