diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index c14e27ae..30df98ee 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/DRV/X.U2.DRV.S.txt b/DRV/X.U2.DRV.S.txt index 9c512fd3..a618db30 100644 --- a/DRV/X.U2.DRV.S.txt +++ b/DRV/X.U2.DRV.S.txt @@ -210,9 +210,7 @@ DRV.CS.START cld .DA WRITE .DA 0 end or relocation *-------------------------------------- -STATUS >STYA ZPIOCTL - - jsr GET.BUFPTR +STATUS jsr GET.IOCTLBUFPTR ldy #S.IOCTL.STATCODE lda (ZPIOCTL),y @@ -252,9 +250,7 @@ STATUS.9 lda #MLI.E.BADCTL rts *-------------------------------------- .DO U2AI=1 -CONTROL >STYA ZPIOCTL - - jsr GET.BUFPTR +CONTROL jsr GET.IOCTLBUFPTR ldy #S.IOCTL.CTRLCODE lda (ZPIOCTL),y @@ -372,12 +368,6 @@ CLOSE ldx DEVSLOTx0 clc rts *-------------------------------------- -READWRITE.9 lda #E.NODATA - - plp - sec - rts -*-------------------------------------- READ php sei @@ -388,7 +378,8 @@ READ php >AR.SELECT S0.RX.RSR lda W5100.DR,x get the received size HI ora W5100.DR,x LO - beq READWRITE.9 + bne .1 + jmp READWRITE.NODATA .1 >AR.SELECT S0.RX.RD lda W5100.DR,x get the received ptr HI @@ -436,13 +427,11 @@ READ php lda RXTX.Size clc - adc #6 IPRAW: Add 6 bytes to Total Size + adc #6 IPRAW: Add 6 bytes to Total Size sta RXTX.Size - - lda RXTX.Size+1 - adc #0 - sta RXTX.Size+1 - + bcc .11 + inc RXTX.Size+1 +.11 .ELSE lda W5100.DR,x get RX.Size HI (Frame size + 2) sta RXTX.Size+1 @@ -463,12 +452,12 @@ READ php sta (ZPIOCTL),y sta BUF.Size+1 eor #$ff - sta Counter+1 + sta Counter+1 .FIN >LDYA BUF.Size >SYSCALL2 getmem - bcs .9 + bcs READWRITE.9 >STYA ZPBufPtr phx @@ -484,11 +473,11 @@ READ php ldx #3 ldy #S.IP.SRC+3 -.11 lda RX.IP,x +.12 lda RX.IP,x sta (ZPBufPtr),y dey dex - bpl .11 + bpl .12 ldy #S.IP .ELSE @@ -532,15 +521,20 @@ READ php plp clc - rts - -.9 plp + rts +*-------------------------------------- +READWRITE.NODATA + lda #E.NODATA + +READWRITE.9 plp sec rts *-------------------------------------- WRITE php sei - >STYA ZPIOCTL + + jsr GET.IOCTLBUFPTR + ldy #S.IOCTL.BYTECNT lda (ZPIOCTL),y .DO U2AI=1 @@ -567,11 +561,7 @@ WRITE php ldy W5100.DR,x LO cpy RXTX.Size sbc RXTX.Size+1 - bcs .10 - - jmp READWRITE.9 - -.10 jsr GET.BUFPTR + bcc READWRITE.NODATA .DO U2AI=1 >AR.SELECT S0.DIPR @@ -611,6 +601,7 @@ WRITE php tya sta W5100.AR+1,x Write LO sta Offset + .DO U2AI=1 ldy #S.IP .ELSE @@ -650,7 +641,8 @@ WRITE php clc rts *-------------------------------------- -GET.BUFPTR ldy #S.IOCTL.BUFPTR +GET.IOCTLBUFPTR >STYA ZPIOCTL + ldy #S.IOCTL.BUFPTR lda (ZPIOCTL),y sta ZPBufPtr iny diff --git a/INC/LIBTCPIP.I.txt b/INC/LIBTCPIP.I.txt index e6c56b52..37f53465 100644 --- a/INC/LIBTCPIP.I.txt +++ b/INC/LIBTCPIP.I.txt @@ -10,8 +10,8 @@ K.FRMQUEUE.SIZE .EQ 16 K.FRMSEND.RETRY .EQ 10 K.ETH.FRAME.LEN .EQ 1514 K.ARP.TTL .EQ 600 -K.ARP.PENDING.TTL .EQ 10 -K.DNS.PENDING.TTL .EQ 10 +K.ARP.PENDING.TTL .EQ 20 +K.DNS.PENDING.TTL .EQ 20 K.IP.TTL .EQ 64 K.DNS.MAXLEN .EQ 64 K.DYNPORT.START .EQ 49152