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 LoadLibYA sta hLIBTCPIP >LDYA L.MSG0 >SYSCALL PrintFYA >LIBCALL hLIBTCPIP,LIBTCPIP.GET.IPCFG >STYA ZPIPCfgPtr ldy #S.IPCFG.HDEV lda (ZPIPCfgPtr),y bne CS.INIT.DUMPDEV >LDYA L.MSG0.NL >SYSCALL PrintFYA jmp CS.INIT.DONE CS.INIT.DUMPDEV sta DevID >SYSCALL GetDevByIDA >STYA ZPDevPtr lda DevID >SYSCALL GetDevInfoA >STYA ZPDevInfoPtr >LDYA L.MSG0.L >SYSCALL 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 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 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 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 PrintFYA bra CS.INIT.DUMPIP CS.INIT.LINK >PUSHW L.MSG1.LINK.OK >LDYA L.MSG1.LINK >SYSCALL PrintFYA >LDYA L.MSG1.LINKSPEED >SYSCALL PrintFYA ldy #S.DEVINFO.NET.STATUS lda (ZPDevInfoPtr),y and #$0F tax .4 phx lda #'0' >SYSCALL 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 PrintFYA CS.INIT.DUMPIP >LDYA L.MSG2 >SYSCALL PrintFYA lda (ZPIPCfgPtr) and #S.IPCFG.STATUS.OK beq .11 >LDYA L.MSG2.C bra .10 .11 >LDYA L.MSG2.U .10 >SYSCALL PrintFYA ldy #S.IPCFG.DHCPSRVR+3 ldx #4 .2 >PUSHB (ZPIPCfgPtr),y dey dex bne .2 >LDYA L.MSG2.DHCPSRVR >SYSCALL PrintFYA ldy #S.IPCFG.IP+7 IP/MASK ldx #8 .3 >PUSHB (ZPIPCfgPtr),y dey dex bne .3 >LDYA L.MSG2.IP >SYSCALL PrintFYA ldy #S.IPCFG.GW+3 ldx #4 .4 >PUSHB (ZPIPCfgPtr),y dey dex bne .4 >LDYA L.MSG2.GW >SYSCALL PrintFYA ldy #S.IPCFG.DNS1+7 ldx #8 .5 >PUSHB (ZPIPCfgPtr),y dey dex bne .5 >LDYA L.MSG2.DNS >SYSCALL 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 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 FreeMemA clc rts *-------------------------------------- CS.END LIBTCPIP >PSTR "libtcpip.o" *-------------------------------------- MSG0 >CSTR "TCP/IP Status : " MSG0.L >CSTR "Loaded\n" MSG0.NL >CSTR "Not Loaded\n" *-------------------------------------- MSG1.DEV >CSTR "\nDevice Configuration :\n DevID : $%h\n Device Name : %s\n HW Address : %02h:%02h:%02h:%02h:%02h:%02h\n" MSG1.DEV.ARP >CSTR " ARP Offload : %d\n" MSG1.DEV.IP >CSTR " IP Offload : %d\n" MSG1.LINK >CSTR " Link Status : %s\n" MSG1.LINK.OK >CSTR "OK" MSG1.LINK.KO >CSTR "Media Disconnected" MSG1.LINKSPEED >CSTR " Link Speed : 1" MSG1.DPLX.FD >CSTR " Mbit/s,Full Duplex\n" MSG1.DPLX.HD >CSTR " Mbit/s,Half Duplex\n" *-------------------------------------- MSG2 >CSTR "\nIP Configuration : " MSG2.C >CSTR "Configured\n" MSG2.U >CSTR "Not Configured\n" MSG2.DHCPSRVR >CSTR " DHCP Server : %d.%d.%d.%d\n" MSG2.IP >CSTR " IP/Mask : %d.%d.%d.%d/%d.%d.%d.%d\n" MSG2.GW >CSTR " Gateway : %d.%d.%d.%d\n" MSG2.DNS >CSTR " DNS : %d.%d.%d.%d,%d.%d.%d.%d\n" MSG2.HOSTNAME >CSTR " Hostname : %s.%s\n" hLIBTCPIP .BS 1 DevID .BS 1 MAN SAVE BIN/IPCONFIG.S ASM