PR#3 PREFIX /A2OSX.SRC NEW INC 1 AUTO 6 .LIST OFF .OP 65C02 .OR $2000 .TF /A2OSX.BOOT/BIN/IPCONFIG *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I .INB INC/LIBTCPIP.I *-------------------------------------- ZPIPCfgPtr .EQ ZPBIN ZPDevPtr .EQ ZPBIN+2 ZPDevInfoPtr .EQ ZPBIN+4 *-------------------------------------- * 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 Data Segment to Allocate .DA 0 .DA 0 *-------------------------------------- * Relocation Table *-------------------------------------- .1 .DA CS.INIT .DA CS.RUN .DA CS.DOEVENT .DA CS.QUIT L.LIBTCPIP .DA LIBTCPIP L.MSG0 .DA MSG0 L.MSG0.NL .DA MSG0.NL L.MSG0.L .DA MSG0.L L.MSG1.DEV .DA MSG1.DEV L.MSG1.DEV.ARP .DA MSG1.DEV.ARP L.MSG1.DEV.IP .DA MSG1.DEV.IP L.MSG1.LINK .DA MSG1.LINK L.MSG1.LINK.OK .DA MSG1.LINK.OK L.MSG1.LINK.KO .DA MSG1.LINK.KO L.MSG1.LINKSPEED .DA MSG1.LINKSPEED L.MSG1.DPLX.FD .DA MSG1.DPLX.FD L.MSG1.DPLX.HD .DA MSG1.DPLX.HD L.MSG2 .DA MSG2 L.MSG2.C .DA MSG2.C L.MSG2.U .DA MSG2.U L.MSG2.DHCPSRVR .DA MSG2.DHCPSRVR L.MSG2.IP .DA MSG2.IP L.MSG2.GW .DA MSG2.GW L.MSG2.DNS .DA MSG2.DNS L.MSG2.HOSTNAME .DA MSG2.HOSTNAME .DA 0 *-------------------------------------- CS.INIT >LDYA L.LIBTCPIP >SYSCALL SYS.LoadLibYA sta hLIBTCPIP >LDYA L.MSG0 >SYSCALL SYS.PrintFYA >LIBCALL hLIBTCPIP,LIBTCPIP.GET.IPCFG >STYA ZPIPCfgPtr ldy #S.IPCFG.HDEV lda (ZPIPCfgPtr),y bne CS.INIT.DUMPDEV >LDYA L.MSG0.NL >SYSCALL SYS.PrintFYA jmp CS.INIT.DONE CS.INIT.DUMPDEV sta DevID >SYSCALL SYS.GetDevByIDA >STYA ZPDevPtr lda DevID >SYSCALL SYS.GetDevInfoA >STYA ZPDevInfoPtr >LDYA L.MSG0.L >SYSCALL SYS.PrintFYA ldy #S.DEVINFO.NET.MAC+6 .1 dey >PUSHB (ZPDevInfoPtr),y cpy #S.DEVINFO.NET.MAC bne .1 lda ZPDevPtr clc adc #S.DEV.NAME tay lda ZPDevPtr+1 adc #0 >PUSHYA >PUSHB DevID >LDYA L.MSG1.DEV >SYSCALL SYS.PrintFYA ldy #S.DEVINFO.FLAGS lda (ZPDevInfoPtr),y and #S.DEVINFO.NET.FLAGS.ARPOFFLOAD beq .2 lda #1 .2 >PUSHA >LDYA L.MSG1.DEV.ARP >SYSCALL SYS.PrintFYA ldy #S.DEVINFO.FLAGS lda (ZPDevInfoPtr),y and #S.DEVINFO.NET.FLAGS.IPOFFLOAD beq .3 lda #1 .3 >PUSHA >LDYA L.MSG1.DEV.IP >SYSCALL SYS.PrintFYA ldy #S.DEVINFO.NET.STATUS lda (ZPDevInfoPtr),y and #S.DEVINFO.NET.STATUS.OK bne CS.INIT.LINK >PUSHW L.MSG1.LINK.KO >LDYA L.MSG1.LINK >SYSCALL SYS.PrintFYA bra CS.INIT.DUMPIP CS.INIT.LINK >PUSHW L.MSG1.LINK.OK >LDYA L.MSG1.LINK >SYSCALL SYS.PrintFYA >LDYA L.MSG1.LINKSPEED >SYSCALL SYS.PrintFYA ldy #S.DEVINFO.NET.STATUS lda (ZPDevInfoPtr),y and #$0F tax .4 phx lda #'0' >SYSCALL SYS.COutA plx dex bne .4 ldy #S.DEVINFO.NET.STATUS lda (ZPDevInfoPtr),y and #S.DEVINFO.NET.STATUS.FD bne .5 >LDYA L.MSG1.DPLX.HD bra .6 .5 >LDYA L.MSG1.DPLX.FD .6 >SYSCALL SYS.PrintFYA CS.INIT.DUMPIP >LDYA L.MSG2 >SYSCALL SYS.PrintFYA lda (ZPIPCfgPtr) and #S.IPCFG.STATUS.OK beq .11 >LDYA L.MSG2.C bra .10 .11 >LDYA L.MSG2.U .10 >SYSCALL SYS.PrintFYA ldy #S.IPCFG.DHCPSRVR+3 ldx #4 .2 >PUSHB (ZPIPCfgPtr),y dey dex bne .2 >LDYA L.MSG2.DHCPSRVR >SYSCALL SYS.PrintFYA ldy #S.IPCFG.IP+7 IP/MASK ldx #8 .3 >PUSHB (ZPIPCfgPtr),y dey dex bne .3 >LDYA L.MSG2.IP >SYSCALL SYS.PrintFYA ldy #S.IPCFG.GW+3 ldx #4 .4 >PUSHB (ZPIPCfgPtr),y dey dex bne .4 >LDYA L.MSG2.GW >SYSCALL SYS.PrintFYA ldy #S.IPCFG.DNS1+7 ldx #8 .5 >PUSHB (ZPIPCfgPtr),y dey dex bne .5 >LDYA L.MSG2.DNS >SYSCALL SYS.PrintFYA lda ZPIPCfgPtr clc adc #S.IPCFG.DOMAIN tay lda ZPIPCfgPtr+1 adc #0 >PUSHYA lda ZPIPCfgPtr clc adc #S.IPCFG.HOSTNAME tay lda ZPIPCfgPtr+1 adc #0 >PUSHYA >LDYA L.MSG2.HOSTNAME >SYSCALL SYS.PrintFYA CS.INIT.DONE lda #0 tell TSKMGR that all done ok, but sec we do not want to stay in memory rts *-------------------------------------- CS.RUN CS.DOEVENT clc rts *-------------------------------------- CS.QUIT lda hLIBTCPIP >SYSCALL SYS.FreeMemA clc rts *-------------------------------------- CS.END LIBTCPIP >PSTRING "libtcpip.o" *-------------------------------------- MSG0 >CSTRING "TCP/IP Status : " MSG0.L >CSTRING "Loaded\n" MSG0.NL >CSTRING "Not Loaded\n" *-------------------------------------- MSG1.DEV >CSTRING "\nDevice Configuration :\n DevID : $%h\n Device Name : %s\n HW Address : %02h:%02h:%02h:%02h:%02h:%02h\n" MSG1.DEV.ARP >CSTRING " ARP Offload : %d\n" MSG1.DEV.IP >CSTRING " IP Offload : %d\n" MSG1.LINK >CSTRING " Link Status : %s\n" MSG1.LINK.OK >CSTRING "OK" MSG1.LINK.KO >CSTRING "Media Disconnected" MSG1.LINKSPEED >CSTRING " Link Speed : 1" MSG1.DPLX.FD >CSTRING " Mbit/s,Full Duplex\n" MSG1.DPLX.HD >CSTRING " Mbit/s,Half Duplex\n" *-------------------------------------- MSG2 >CSTRING "\nIP Configuration : " MSG2.C >CSTRING "Configured\n" MSG2.U >CSTRING "Not Configured\n" MSG2.DHCPSRVR >CSTRING " DHCP Server : %d.%d.%d.%d\n" MSG2.IP >CSTRING " IP/Mask : %d.%d.%d.%d/%d.%d.%d.%d\n" MSG2.GW >CSTRING " Gateway : %d.%d.%d.%d\n" MSG2.DNS >CSTRING " DNS : %d.%d.%d.%d,%d.%d.%d.%d\n" MSG2.HOSTNAME >CSTRING " Hostname : %s.%s\n" hLIBTCPIP .BS 1 DevID .BS 1 MAN SAVE BIN/IPCONFIG.S ASM