diff --git a/.Floppies/A2OSX.BOOTHD.woz b/.Floppies/A2OSX.BOOTHD.woz index 350db6f7..618666af 100644 Binary files a/.Floppies/A2OSX.BOOTHD.woz and b/.Floppies/A2OSX.BOOTHD.woz differ diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index c238f48f..7c59ead7 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/.Floppies/A2OSX.TEST.po b/.Floppies/A2OSX.TEST.po index 23736ff5..1b8c31e0 100644 Binary files a/.Floppies/A2OSX.TEST.po and b/.Floppies/A2OSX.TEST.po differ diff --git a/BIN/IRC.S.txt b/BIN/IRC.S.txt index 768bd153..e8d586ee 100644 --- a/BIN/IRC.S.txt +++ b/BIN/IRC.S.txt @@ -12,7 +12,7 @@ NEW .INB inc/libtcpip.i *-------------------------------------- TIMEOUT.MAX .EQ 250 25 sec. -MSGSIZE .EQ 2048 +MSGSIZE .EQ 4096 TEXTMAX .EQ 240 *-------------------------------------- * https://tools.ietf.org/html/rfc2812#section-3.3 @@ -317,7 +317,7 @@ CS.RUN.GetBuffers txa >STA.G hMsgBuf - >LDYAI MSGSIZE + >LDYAI 384 >SYSCALL GetMem bcs .9 @@ -383,10 +383,10 @@ CS.RUN.GetMsg bit bPendingMsg lda (ZPBufPtr),y cmp #C.CR - beq .6 + beq .3 cmp #C.LF - beq .3 + beq .6 sta (ZPMsgPtr) inc ZPMsgPtr @@ -400,7 +400,7 @@ CS.RUN.GetMsg bit bPendingMsg bra .1 -.6 inc BufPtr Skip CR +.6 inc BufPtr Skip LF dec BufLen stz bPendingMsg diff --git a/INC/IO.D2.I.txt b/INC/IO.D2.I.txt index a0a703bc..d67d3e53 100644 --- a/INC/IO.D2.I.txt +++ b/INC/IO.D2.I.txt @@ -4,7 +4,7 @@ NEW IO.D2.SeekTimeR .EQ 45 LIBBLKDEV Recalibration IO.D2.SeekTimeF .EQ 65 LIBBLKDEV Track Formatter IO.D2.SeekTimeB .EQ 65 LIBBLKDEV Boot Block -IO.D2.SeekTimeP .EQ 35 ProDOS.FX initial +IO.D2.SeekTimeP .EQ 15 ProDOS.FX initial IO.D2.SeekTimeI .EQ 10 ProDOS.FX increment -> until > 128 *-------------------------------------- IO.D2.Ph0Off .EQ $C080 diff --git a/LIB/LIBCIFS.S.txt b/LIB/LIBCIFS.S.txt index d6018550..fd79653f 100644 --- a/LIB/LIBCIFS.S.txt +++ b/LIB/LIBCIFS.S.txt @@ -518,6 +518,7 @@ CIFS2.FStat lda #MLI.E.BADCALL *-------------------------------------- CIFS.Stat >STYA pPath resolved path + jsr ClearSocket jsr MakeTrans2Reg ldx #0 @@ -549,9 +550,7 @@ CIFS.Stat >STYA pPath resolved path .9 >RET 4 *-------------------------------------- -CIFS2.Stat lda MountTable+3 hSocket - ldx #LIBTCPIP.Recv - jsr GO.LIBTCPIP +CIFS2.Stat jsr ReadSocket bcs .9 jsr GetRespData @@ -580,7 +579,7 @@ CIFS2.Stat lda MountTable+3 hSocket rts .9 cmp #E.NODATA - bne .99 + bne .9 dec CIFS.Retries beq .90 @@ -628,9 +627,7 @@ CIFS.MKDir >STYA pPath resolved path .9 >RET 4 *-------------------------------------- -CIFS2.MKDir lda MountTable+3 hSocket - ldx #LIBTCPIP.Recv - jsr GO.LIBTCPIP +CIFS2.MKDir jsr ReadSocket bcs .9 jsr GetRespData @@ -712,6 +709,8 @@ CIFS2.OpenDir lda #MLI.E.BADCALL *-------------------------------------- CIFS.ReadDir jsr GetPFD + jsr ClearSocket + ldy #S.FD.DIR.EPB lda (pFD),y beq .1 @@ -799,9 +798,7 @@ CIFS.ReadDir.Send *-------------------------------------- CIFS2.ReadDir jsr GetPFD - lda MountTable+3 hSocket - ldx #LIBTCPIP.Recv - jsr GO.LIBTCPIP + jsr ReadSocket bcs .90 jsr GetRespData @@ -1371,6 +1368,17 @@ StatBuf2Ptr2 ldy #S.STAT-1 rts *-------------------------------------- +ClearSocket jsr ReadSocket + bcs .8 + + >SYSCALL2 FreeMem + bra ClearSocket + +.8 clc + rts +*-------------------------------------- +ReadSocket lda MountTable+3 hSocket + ldx #LIBTCPIP.Recv GO.LIBTCPIP jmp (pLIBTCPIP) *-------------------------------------- CS.END diff --git a/LIB/LIBTCPIP.S.TCP.txt b/LIB/LIBTCPIP.S.TCP.txt index 71311d63..75ba7786 100644 --- a/LIB/LIBTCPIP.S.TCP.txt +++ b/LIB/LIBTCPIP.S.TCP.txt @@ -251,11 +251,12 @@ TCP.IN.JMP.ESTBLSH .80 clc .99 rts -.90 lda #S.TCP.OPTIONS.ACK Send 3 ACK for last SEQ number - jsr TCP.OUT.SendOptA +.90 +* lda #S.TCP.OPTIONS.ACK Send 3 ACK for last SEQ number +* jsr TCP.OUT.SendOptA - lda #S.TCP.OPTIONS.ACK - jsr TCP.OUT.SendOptA +* lda #S.TCP.OPTIONS.ACK +* jsr TCP.OUT.SendOptA lda #S.TCP.OPTIONS.ACK .91 jmp TCP.OUT.SendOptA diff --git a/ProDOS.FX/ProDOS.S.XRW.txt b/ProDOS.FX/ProDOS.S.XRW.txt index 44d93bf8..5e289f40 100644 --- a/ProDOS.FX/ProDOS.S.XRW.txt +++ b/ProDOS.FX/ProDOS.S.XRW.txt @@ -380,13 +380,14 @@ XRW.Seek ldx XRW.UnitIndex .3 and #6 ora A2L - bcs .30 +* bcs .30 - phx - tax - pla +* phx +* tax +* pla -.30 tay +*.30 + tay jsr XRW.SEEK2QT @@ -399,7 +400,9 @@ XRW.Seek ldx XRW.UnitIndex jsr XRW.Wait25600usec -XRW.SEEKOFF pha +XRW.SEEKOFF + pha + lda A2L ora #IO.D2.RData sta .1+1 @@ -599,6 +602,9 @@ XRW.SectorIO bit XRW.bWrite sec .9 rts + +* .BS $D300-* + *-------------------------------------- * write subroutine (16 sector format) * @@ -961,7 +967,8 @@ XRW.SEEK2QTXY pha ora A2L tay -XRW.SEEK2QT lda A2L +XRW.SEEK2QT + lda A2L ora #IO.D2.RData sta .1+1 sta .2+1 diff --git a/SYS/KERNEL.S.TERMX.txt b/SYS/KERNEL.S.TERMX.txt index 7dead6c5..8d090dd2 100644 --- a/SYS/KERNEL.S.TERMX.txt +++ b/SYS/KERNEL.S.TERMX.txt @@ -593,11 +593,15 @@ Csi.ResetMode clc rts *-------------------------------------- Csi.DispAttr ldx CsiParamCnt - bne .1 + bne .10 + jmp RESETATTR -.1 lda CsiParams-1,x +.10 ldx #0 + +.1 lda CsiParams,x bne .2 + jsr RESETATTR bra .7 @@ -606,7 +610,9 @@ Csi.DispAttr ldx CsiParamCnt .3 ldy #S.DCB.TTY.bNORMAL sta (ZPDCBPtr),y -.7 dex + +.7 inx + dec CsiParamCnt bne .1 .8 clc @@ -660,17 +666,22 @@ Csi.Scroll ldy CsiParamCnt rts *-------------------------------------- Csi.EraseScreen ldx CsiParamCnt + beq .8 - bne .1 - jmp TERMX.CLRSCR.DN .1 lda CsiParams + beq .8 + cmp #1 bne .2 - jmp TERMX.CLRSCR.UP + + jmp TERMX.CLRSCR.DN .2 cmp #2 bne .9 - jmp TERMX.CLRSCR + + jmp TERMX.CLRSCR.UP + +.8 jmp TERMX.CLRSCR .9 clc rts