From 3c12891610e4f469cf456a19eae0924ceec8b7c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Fri, 11 Sep 2015 20:48:12 +0200 Subject: [PATCH] --- A2OSX.BOOT.DSK | Bin 143360 -> 143360 bytes A2OSX.SRC.po | Bin 819200 -> 819200 bytes BIN/ARP.S.txt | 3 + BIN/MOUNT.S.txt | 428 ++++++++++++++++++++++++++++++++++++++++ DRV/UTHERNET2.DRV.S.txt | 128 ++++-------- INC/LIBTCPIP.I.txt | 11 ++ LIB/LIBTCPIP.S.ARP.txt | 4 + LIB/LIBTCPIP.S.txt | 2 +- 8 files changed, 487 insertions(+), 89 deletions(-) diff --git a/A2OSX.BOOT.DSK b/A2OSX.BOOT.DSK index f01b39b3d2e6813a0e3300a246d567dec584a529..878b22f779d316f290fc6fbf00766ed8a913a137 100644 GIT binary patch delta 2423 zcmaJ?4@?{975~1wGqu6R#&PNKXYuFn%pHHaq*+2_CfJ&-sX(f_G%8KCcHNOQ5^Q8s zvnuVhPPhdmhU&;RsxFgob~-5tQ(ua)L_2jRNK+9c5RP_g(@0TiCo!aM#QT#b;g7v{ zHmr^m&63~yzW06az2AG^d+!3v*1)oL{8t=T?`d)my~+t3@3EB+o#$Q#2~$3_%QE?3 zy~kNDpuZwwE|Q;EzF&kL$#T1+72A{IGfv!4=Q;3DJrWKbJ%S2;MQ0I6gGv#}dn0X5)xfi(+ysp?dytk&?cgAN*fYF`nqUj$O0wZ zzO{AbCmgO}SV`&Q@EzQz{MLfc!1ldc7QCBj%8J8C8pe`Zno!4P6Y4B~Dk}!F;@~MH z1(6hD*RV8AjW6}A$e+SeTUMA?{zUs@V5YF1~bIpg2!sb0zH0O9YX@F<9i zj9a{%>5~lhe6Qq}JNYjA*xYNzpUG`9-hN$uD2BtTW>KqB774&ycHY)l)su243pVWQ zc?3;6H-gS-(m}^rV)J!s3?TH&vB!cNqK3d#y5YKt5+gVICBwE2Ai$eW=3Yy)V}To5 zcj~MZeN(z@+}67F4Kdm)tpbo$Q^{PLm~VmH`5;I}^O787?a2A{r$KFxDo zab|Yj=^LAH_s3VH>2&0KH@@sL4Gb#p*|G=GGPO{1$ zi}4?NSSjsHu@LX<>TV#@Hj@WoROwq{ zbW74RVl*Q`&f?Lm@}eCdI=WMR!;GZj1lq2>3A9~&RwzD$U1OvRi0@+hQHWW=A2P-# z7x0IyVf?QoN1+@~F;JUwH=kTO_W(QT#MVbzF5%K#2i22e?-{S|z2u$se(XI)pQoRD zi|AeoeNsWRE;YEh6KUt#XJnA?a*izrjBByKgNMbTqnqD$EYjIT zfc&0}mws!JMi+<9Zr1cvz3_|nS2|Cge(K~aq^)i5vBrImK1v=x-F4>V={@M$>&v8; zJN!)RzWl`e7x}q2o89zcn$6niRd^?Iz7RzLpn|1t&^Y+Z11*$)MB_b6_dECtjemR} zd4Vo3U%XHJb;#gi$S>ESG!qM`Y`8L?mplzF(6{F4j633PJ!jI+8Fy@Ge5<@^o`x%D z^#!0YccfB9U>Y>SfmwrDd4s%9(~f(##+T-+LFD|%lbGp|^_wKVM$Ey|AIJ@oH*$?T zPjhSmm|CJ)Qj0VkFel=@z`<>N{(iAK!6(G?aGsS1GBNaBV{5=zg%#tMfnvW59eX4Y zMd%x(iNdXk^j>!bDU|hjYFNR4+In??UY(~gEW%45D-$WiE79>w>;A zr51%<`roEz!>)V_^U#kMc9|`E!4*+L2e6O1BPf#xFlFuv%JlK%A44D>V%@McCC0x0|UQh(41z!205qoM? zOV|ZHu9hTR#`n}>plzxJ=vONAdBPQO511_W4t(x2SP}hrH@^)dce%v8oVJ)#;->Ob zKYqM(T`&%+OrkR9(;P|a!->#bnc-D^z>!g*)+a&$Hl#kV(LxAtT1q~QCVcu*Cx#_kcC?!q!aODmbfL|GQ$vOm<8!M19 M7%P`Xp2OGv3m7SnRsaA1 delta 2116 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 delta 9046 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 L.LIBSTR >SYSCALL SYS.GetMemPtrA >PUSHYA >LIBCALL hLIBSTR,LIBSTR.SSCANF + bcs .9 stz bCTRLC @@ -133,6 +134,8 @@ CS.RUN lda #ARP.TIMEOUT >PUSHW L.DST.MAC >PUSHW L.DST.IP >LIBCALL hLIBTCPIP,LIBTCPIP.ARP.QUERY + bra * + bcc .2 success, print & exit lda TimeOut diff --git a/BIN/MOUNT.S.txt b/BIN/MOUNT.S.txt index e69de29b..f5d1657f 100644 --- a/BIN/MOUNT.S.txt +++ b/BIN/MOUNT.S.txt @@ -0,0 +1,428 @@ +PR#3 +PREFIX /A2OSX.SRC +NEW +INC 1 +AUTO 6 + .LIST OFF + .OP 65C02 + .OR $2000 + .TF /A2OSX.BOOT/BIN/MOUNT +*-------------------------------------- + .INB INC/MACROS.I + .INB INC/A2OSX.I + .INB INC/A2OSX.API.I + .INB INC/KERNEL.I + .INB INC/LIBSTR.I + .INB INC/LIBTCPIP.I +*-------------------------------------- +ZPFrameBase1 .EQ ZPBIN +ZPFrameLen1 .EQ ZPBIN+2 +ZPFramePtr1 .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 DS.END-DS.START Data Segment to Allocate + .DA 0 + .DA 0 +*-------------------------------------- +.1 .DA CS.INIT + .DA CS.RUN + .DA CS.DOEVENT + .DA CS.QUIT +L.LIBSTR .DA LIBSTR +L.LIBTCPIP .DA LIBTCPIP +L.SSCANF.IP .DA SSCANF.IP +L.MSG0 .DA MSG0 +L.MSG1 .DA MSG1 +L.MSG2 .DA MSG2 +L.MSG3 .DA MSG3 + .DA 0 +*-------------------------------------- +CS.INIT ldy #S.PS.hARGS + lda (pPs),y + bne .1 + lda #SYSMGR.ERRSYN + sec + rts + +.1 >LDYA L.LIBSTR + >LOADLIBYA + sta hLIBSTR + + >LDYA L.LIBTCPIP + >LOADLIBYA + sta hLIBTCPIP + + >LIBCALL hLIBTCPIP,LIBTCPIP.GET.IPCFG is TCPIP loaded ? + bcs .9 + >STYA ZPQuickPtr1 + + lda (ZPQuickPtr1) Configured ? + bpl .9 + + ldy #S.IPCFG.HDEV + lda (ZPQuickPtr1),y + sta hDev + + lda A2OSX.RANDOM16 + ldy #Identifier + sta (pData),y + lda A2OSX.RANDOM16+1 + iny + sta (pData),y + + lda #0 + ldy #Sequence + sta (pData),y + iny + sta (pData),y + + lda (pPs) + ora #S.PS.F.EVENT Now accept events + sta (pPs) + clc + +.9 rts +*-------------------------------------- +CS.RUN >PUSHW pData DST.IP + >PUSHW L.SSCANF.IP + ldy #S.PS.hARGS + lda (pPs),y + >SYSCALL SYS.GetMemPtrA + >PUSHYA + >LIBCALL hLIBSTR,LIBSTR.SSCANF + bcc CS.RUN.IPOK + + lda #PING.TIMEOUT + ldy #TimeOut + sta (pData),y + +CS.RUN.DNSQUERY >PUSHW pData DST.IP + ldy #S.PS.hARGS + lda (pPs),y + >PUSHA + >LIBCALL hLIBTCPIP,LIBTCPIP.DNS.QUERY + bcc CS.RUN.IPOK + + jsr A2osX.SLEEP + ldy #TimeOut + lda (pData),y + bne CS.RUN.DNSQUERY + + ldy #S.PS.hARGS + lda (pPs),y + >SYSCALL SYS.GetMemPtrA + >PUSHYA + >PUSHW L.MSG0 + >LIBCALL hLIBSTR,LIBSTR.PRINTF + + sec +CS.RUN.RTS rts + +CS.RUN.IPOK ldy #S.PS.hARGS + lda (pPs),y + >SYSCALL SYS.GetMemPtrA + >PUSHYA + ldy #3 + >PUSHB (pData),y DST.IP+3 + dey + >PUSHB (pData),y DST.IP+2 + dey + >PUSHB (pData),y DST.IP+1 + >PUSHB (pData) DST.IP + >PUSHW L.MSG1 + >LIBCALL hLIBSTR,LIBSTR.PRINTF + +CS.RUN.ECHO >LIBCALL hLIBTCPIP,LIBTCPIP.NEW.ICMP.FRAME + bcs CS.RUN.RTS + >STYA ZPFrameBase1 + txa + ldy #hFrame + sta (pData),y + + ldx #3 + ldy #0 +.10 lda (pData),y + pha + iny + dex + bpl .10 + + ldx #3 + ldy #S.IP.DST+3 +.1 pla + sta (ZPFrameBase1),y + dey + dex + bpl .1 + + ldy #S.ICMP.TYPE + lda #S.ICMP.TYPE.ECHOREQ + sta (ZPFrameBase1),y + + ldy #Identifier + lda (pData),y + tax + iny + lda (pData),y + + ldy #S.ICMP.IDENTIFIER+1 + sta (ZPFrameBase1),y + dey + txa + sta (ZPFrameBase1),y + + ldy #Sequence+1 + lda (pData),y + tax + dey + lda (pData),y + inc + sta (pData),y + bne .2 + pha + inx + txa + sta (pData),y + pla + +.2 ldy #S.ICMP.SEQUENCE + sta (ZPFrameBase1),y + iny + txa + sta (ZPFrameBase1),y + + lda #PING.TIMEOUT + ldy #TimeOut + sta (pData),y + +.3 >PUSHWI S.ICMP+32 + ldy #hFrame + lda (pData),y + >SYSCALL SYS.GetMemPtrA + >PUSHYA + >LIBCALL hLIBTCPIP,LIBTCPIP.SEND.ICMP.FRAME + bcc .4 + jsr A2osX.SLEEP + ldy #TimeOut + lda (pData),y + bne .3 + +.4 ldy #hFrame + lda (pData),y + >SYSCALL SYS.FreeMemA + + ldy #bReply + lda #0 + sta (pData),y + lda #PING.TIMEOUT + ldy #TimeOut + sta (pData),y + +CS.RUN.WAIT jsr A2osX.SLEEP + ldy #bReply + lda (pData),y + bne .1 + + ldy #bCTRLC + lda (pData),y + bne CS.RUN.ERROR + ldy #TimeOut + lda (pData),y + bne CS.RUN.WAIT + + ldy #3 + >PUSHB (pData),y DST.IP+3 + dey + >PUSHB (pData),y DST.IP+2 + dey + >PUSHB (pData),y DST.IP+1 + >PUSHB (pData) DST.IP + >PUSHW L.MSG2 + >LIBCALL hLIBSTR,LIBSTR.PRINTF + +.1 ldy #bCTRLC + lda (pData),y + bne CS.RUN.ERROR + ldy #TimeOut + lda (pData),y + beq .2 + + jsr A2osX.SLEEP + bra .1 + +.2 jmp CS.RUN.ECHO + +CS.RUN.ERROR sec + rts +*-------------------------------------- +CS.DOEVENT lda (pEvent) + and #S.EVT.F.TIMER is it a TIMER event? + beq .1 no.... + + ldy #TimeOut + lda (pData),y + beq .10 + + dec + sta (pData),y +.10 sec do not discard TIMER event + rts + +.1 lda (pEvent) + and #S.EVT.F.KEY is it a KEY event? + beq .2 + + ldy #S.EVT.hDEV is Event from active IN device? + lda (pEvent),y + ldy #S.PS.hINDEV + cmp (pPs),y + bne .9 + + ldy #S.EVT.DATAHI is it an O or SAPPLE key ? + lda (pEvent),y + bne .9 + + ldy #S.EVT.DATALO + lda (pEvent),y + cmp #$03 Ctrl-C + bne .8 + + lda #$FF + ldy #bCTRLC + sta (pData),y + bra .8 + +.2 lda (pEvent) + and #S.EVT.F.NET + beq .9 + + ldy #S.EVT.hDEV + lda (pEvent),y + cmp hDev + bne .9 + + ldy #S.EVT.DATALO Get Frame hMem + lda (pEvent),y + >SYSCALL SYS.GetMemPtrA + >STYA ZPFrameBase1 + + ldy #S.IP.PROTOCOL + lda (ZPFrameBase1),y + cmp #S.IP.PROTOCOL.ICMP + + bne .9 + + ldy #S.ICMP.TYPE + lda (ZPFrameBase1),y + cmp #S.ICMP.TYPE.ECHOREP + bne .9 + + ldy #S.ICMP.IDENTIFIER + lda (ZPFrameBase1),y + tax + iny + lda (ZPFrameBase1),y + ldy #Identifier+1 + cmp (pData),y + bne .9 + dey + txa + cmp (pData),y + bne .9 + + jsr CS.EVENT.REPLY +.8 clc + rts + +.9 sec + rts +*-------------------------------------- +CS.EVENT.REPLY lda #PING.TIMEOUT + sec + sbc TimeOut + + stz TimeOut.ms + stz TimeOut.ms+1 + + tay + beq .3 + +.1 lda TimeOut.ms + clc + adc #K.TIMER16RESOLUTION*20 + sta TimeOut.ms + bcc .2 + inc TimeOut +.2 dey + bne .1 + +.3 >PUSHW TimeOut.ms + ldy #S.IP.TTL + >PUSHB (ZPFrameBase1),y + + ldy #S.ICMP.SEQUENCE+1 + >PUSHB (ZPFrameBase1),y + dey + >PUSHB (ZPFrameBase1),y + + ldy #S.IP.SRC+3 + >PUSHB (ZPFrameBase1),y + dey + >PUSHB (ZPFrameBase1),y + dey + >PUSHB (ZPFrameBase1),y + dey + >PUSHB (ZPFrameBase1),y + + >PUSHW L.MSG3 + >LIBCALL hLIBSTR,LIBSTR.PRINTF + + ldy #bReply + lda (pData),y + inc + sta (pData),y + rts +*-------------------------------------- +CS.QUIT lda hLIBTCPIP + >SYSCALL SYS.UnloadLibA + lda hLIBSTR + >SYSCALL SYS.UnloadLibA + clc + rts +*-------------------------------------- +CS.END +LIBSTR >PSTRING "libstr.o" +LIBTCPIP >PSTRING "libtcpip.o" +SSCANF.IP >PSTRING "%d.%d.%d.%d" +MSG0 >CSTRING "%S: Unknown host\n" +MSG1 >CSTRING "PING %d.%d.%d.%d (%S)\n" +MSG2 >CSTRING "%d.%d.%d.%d: TimeOut/Host unreachable\n" +MSG3 >CSTRING "32 bytes from %d.%d.%d.%d, icmp_seq=%D, ttl=%d, time=%D ms\n" +hLIBSTR .BS 1 +hLIBTCPIP .BS 1 +hDev .BS 1 +TimeOut.ms .BS 2 +*-------------------------------------- + .DUMMY + .OR 0 +DS.START +DST.IP .BS 4 +hFrame .BS 1 +TimeOut .BS 1 +Identifier .BS 2 +Sequence .BS 2 +bCTRLC .BS 1 +bReply .BS 1 +DS.END + .ED +*-------------------------------------- +MAN +SAVE BIN/MOUNT.S +ASM diff --git a/DRV/UTHERNET2.DRV.S.txt b/DRV/UTHERNET2.DRV.S.txt index edab3662..d2cc2e25 100644 --- a/DRV/UTHERNET2.DRV.S.txt +++ b/DRV/UTHERNET2.DRV.S.txt @@ -17,95 +17,47 @@ ZPTmpPTR .EQ ZPDRV *-------------------------------------- DEVID .EQ $630E *-------------------------------------- -* CS8900A IO Registers +* WIZnet W5100 IO Registers *-------------------------------------- -RTDATA .EQ $C080 Receive/Transmit Data (DWORD) -TxCMD .EQ $C084 Transmit Command -TxLength .EQ $C086 Transmission Length -IntStatusQueue .EQ $C088 Interrupt Status Queue -PacketPagePTR .EQ $C08A PacketPage Pointer -PacketPageDATA .EQ $C08C PacketPage Data (DWORD) -*-------------------------------------- -TxCMD.LID .EQ %00000000.00001001 -TxCMD.TxStart5 .EQ %00000000.00000000 00 = start after 5 Bytes -TxCMD.TxStart381 .EQ %00000000.01000000 01 = start after 381 Bytes -TxCMD.TxStart1021 .EQ %00000000.10000000 10 = start after 1021 Bytes -TxCMD.TxStartFULL .EQ %00000000.11000000 11 = start after ENTIRE Frame -TxCMD.Force .EQ %00000001.00000000 -TxCMD.OneColl .EQ %00000010.00000000 -TxCMD.InhibitCRC .EQ %00010000.00000000 -TxCMD.TxPadDis .EQ %00100000.00000000 -*-------------------------------------- -* PacketPage Offsets & Masks -*-------------------------------------- -PP.ID .EQ $0000 Product ID code (RO) -PP.RFBCNT .EQ $0050 Received Frame Byte Counter (RO) -PP.RxCFG .EQ $0102 Receiver Configuration (RW) -PP.RxCFG.LID .EQ %00000000.00000011 -PP.RxCTL .EQ $0104 Receiver Control (RW) -PP.RxCTL.LID .EQ %00000000.00000101 -PP.RxCTL.IAHashA .EQ %00000000.01000000 -PP.RxCTL.PromisA .EQ %00000000.10000000 -PP.RxCTL.RxOKA .EQ %00000001.00000000 -PP.RxCTL.MulticastA .EQ %00000010.00000000 -PP.RxCTL.IA .EQ %00000100.00000000 -PP.RxCTL.BroadcastA .EQ %00001000.00000000 -PP.RxCTL.CRCerrorA .EQ %00010000.00000000 -PP.RxCTL.RuntA .EQ %00100000.00000000 -PP.RxCTL.ExtradataA .EQ %01000000.00000000 -PP.TxCFG .EQ $0106 Transmit Configuration (RW) -PP.TxCMD .EQ $0108 Receiver Control (RW) -PP.BufCFG .EQ $010A -PP.LineCTL .EQ $0112 Line Control (RW) -PP.LineCTL.LID .EQ %00000000.00010011 -PP.LineCTL.SerRxOn .EQ %00000000.01000000 -PP.LineCTL.SerTxOn .EQ %00000000.10000000 -PP.LineCTL.AUIonly .EQ %00000001.00000000 -PP.LineCTL.Auto .EQ %00000010.00000000 -PP.SelfCTL .EQ $0114 Self Control (RW) -PP.SelfCTL.LID .EQ %00000000.00010101 -PP.SelfCTL.RESET .EQ %00000000.01000000 -PP.SelfCTL.SWSuspnd .EQ %00000000.10000000 -PP.SelfCTL.HWSleepE .EQ %00000001.00000000 -PP.SelfCTL.HWStndby .EQ %00000010.00000000 -PP.BufCTL .EQ $0116 -PP.TestCTL .EQ $0118 -PP.TestCTL.LID .EQ %00000000.00011001 -PP.TestCTL.DisLT .EQ %00000000.10000000 -PP.TestCTL.FDX .EQ %01000000.00000000 -PP.ISQ .EQ $0120 -PP.RxEvent .EQ $0124 Receiver Event (RO) -PP.RxEvent.LID .EQ %00000000.00000100 -PP.RxEvent.RxOK .EQ %00000001.00000000 -PP.RxEvent.IA .EQ %00000100.00000000 -PP.RxEvent.Brdcast .EQ %00001000.00000000 -PP.RxEvent.CRCerror .EQ %00010000.00000000 -PP.RxEvent.Runt .EQ %00100000.00000000 -PP.RxEvent.Xtradata .EQ %01000000.00000000 -PP.TxEvent .EQ $0128 Transmitter Event (RO) -PP.TxEvent.LID .EQ %00000000.00001000 -PP.BufEvent .EQ $012C -PP.RxMISS .EQ $0130 -PP.TxCOL .EQ $0132 -PP.LineST .EQ $0134 Line Status (RO) -PP.LineST.LID .EQ %00000000.00010100 -PP.LineST.LinkOK .EQ %00000000.10000000 -PP.LineST.AUI .EQ %00000001.00000000 -PP.LineST.10BT .EQ %00000010.00000000 -PP.LineST.PolOK .EQ %00010000.00000000 -PP.LineST.CRS .EQ %01000000.00000000 -PP.SelfST .EQ $0136 Self Status (RO) -PP.SelfST.INITD .EQ %00000000.10000000 -PP.BusST .EQ $0138 Bus Status (RO) -PP.BusST.LID .EQ %00000000.00011000 -PP.BusST.TxBidErr .EQ %00000000.10000000 -PP.BusST.Rdy4TxNOW .EQ %00000001.00000000 -PP.TDR .EQ $013C -PP.MAC .EQ $0158 MAC Address (RW) -PP.RxStatus .EQ $0400 -PP.RxLength .EQ $0402 -PP.RxFrame .EQ $0404 -PP.TxFrame .EQ $0A00 +W5100.MR .EQ $C084 Mode Register +W5100.MR.RST .EQ %10000000 +W5100.MR.PB .EQ %00010000 +W5100.MR.PPPOE .EQ %00001000 +W5100.MR.AI .EQ %00000010 +W5100.MR.IND .EQ %00000001 +W5100.AR .EQ $C085 Memory Pointer +W5100.AR.GAR .EQ $0001 +W5100.AR.SUBR .EQ $0005 +W5100.AR.SHAR .EQ $0009 +W5100.AR.IR .EQ $0015 +W5100.AR.IMR .EQ $0016 +W5100.AR.RTR .EQ $0017 +W5100.AR.RCR .EQ $0019 +W5100.AR.RMSR .EQ $001A +W5100.AR.TMSR .EQ $001B +W5100.AR.PATR .EQ $001C +W5100.AR.PTIMER .EQ $0028 +W5100.AR.PMAGIC .EQ $0029 +W5100.AR.UIPR .EQ $002A +W5100.AR.UPORT .EQ $002E +W5100.AR.S0.MR .EQ $0400 +W5100.AR.S0.CR .EQ $0401 +W5100.AR.S0.IR .EQ $0402 +W5100.AR.S0.SR .EQ $0403 +W5100.AR.S0.PORT .EQ $0404 +W5100.AR.S0.DHAR .EQ $0406 +W5100.AR.S0.DIPR .EQ $040C +W5100.AR.S0.DPORT .EQ $0410 +W5100.AR.S0.MSSR .EQ $0412 +W5100.AR.S0.PROTO .EQ $0414 +W5100.AR.S0.TOS .EQ $0415 +W5100.AR.S0.TTL .EQ $0416 +W5100.AR.S0.TX.FSR .EQ $0420 +W5100.AR.S0.TX.RD .EQ $0422 +W5100.AR.S0.TX.WR .EQ $0424 +W5100.AR.S0.RX.RSR .EQ $0426 +W5100.AR.S0.RX.RD .EQ $0428 +W5100.DR .EQ $C087 *-------------------------------------- ERRTNOFRAME .EQ 0 ERRNOBUFFER .EQ 1 diff --git a/INC/LIBTCPIP.I.txt b/INC/LIBTCPIP.I.txt index 13c858c9..a16787d1 100644 --- a/INC/LIBTCPIP.I.txt +++ b/INC/LIBTCPIP.I.txt @@ -42,6 +42,7 @@ TCP.PORT.TELNETS .EQ 23 UDP.PORT.DNS .EQ 53 UDP.PORT.DHCPC .EQ 68 UDP.PORT.DHCPS .EQ 67 +UDP.PORT.PMAP .EQ 111 *-------------------------------------- S.IPCFG.STATUS .EQ 0 S.IPCFG.STATUS.OFF .EQ %00000000 TCPIP Unconfigured @@ -209,6 +210,16 @@ S.DNS.QTYPE.SRV .EQ 33 S.DNS.QTYPE.ANY .EQ 255 S.DNS.QCLASS.IN .EQ 1 *-------------------------------------- +S.RPC.XID .EQ S.UDP+0 +S.RPC.C.RPCVERS .EQ S.UDP+4 +S.RPC.C.PROG .EQ S.UDP+8 +S.RPC.C.VERS .EQ S.UDP+12 +S.RPC.C.PROC .EQ S.UDP+16 +S.RPC.C.CRED .EQ S.UDP+20 +S.RPC.C.VERF .EQ S.UDP+24 +* +S.RPC .EQ 28 +*-------------------------------------- S.TCP.SRCPORT .EQ S.IP+0 S.TCP.DSTPORT .EQ S.IP+2 S.TCP.SEQ.NUMBER .EQ S.IP+4 diff --git a/LIB/LIBTCPIP.S.ARP.txt b/LIB/LIBTCPIP.S.ARP.txt index b24289d3..96db196a 100644 --- a/LIB/LIBTCPIP.S.ARP.txt +++ b/LIB/LIBTCPIP.S.ARP.txt @@ -144,6 +144,7 @@ ARP.QUERY.I ldx #0 jsr NEW.ARP.FRAME nothing in ARP cache, send ARP request bcs .9 + phx ldy #S.ARP.OPERATION+1 lda #S.ARP.OPERATION.REQ @@ -185,7 +186,10 @@ ARP.QUERY.I ldx #0 cpy #S.ETH.DSTMAC+6 bne .75 + >DEBUG + jsr SEND.ARP.FRAME.I + bcs .76 jsr ARP.ADD.PENDING ZPARPIP still pointing IP diff --git a/LIB/LIBTCPIP.S.txt b/LIB/LIBTCPIP.S.txt index c78743ea..4f41f3d6 100644 --- a/LIB/LIBTCPIP.S.txt +++ b/LIB/LIBTCPIP.S.txt @@ -77,7 +77,7 @@ L.DNS.CACHE .DA DNS.CACHE .DA 0 *-------------------------------------- LIB.LOAD lda bFirstLoad - bne .8 + bne * jsr ARP.CLEAR jsr DNS.CLEAR inc bFirstLoad