diff --git a/.Docs/KERNEL.md b/.Docs/KERNEL.md index c46dc339..87899cd7 100644 --- a/.Docs/KERNEL.md +++ b/.Docs/KERNEL.md @@ -430,8 +430,21 @@ Y,A = PTR to MemBlock CS : error A = EC +# Online +Get ProDOS Volume Info + +## C +`int online(short int volid, void *buf);` + +## ASM +`>PUSHB volid` +`>PUSHW buf` +`>SYSCALL Online` + +## RETURN VALUE + # ChTyp -Change The type of a ProDOS File +Change Type of a ProDOS File ## C `int chtyp(const char *filepath, short int filetype);` @@ -444,14 +457,14 @@ Change The type of a ProDOS File ## RETURN VALUE # ChAux -Change The type of a ProDOS File +Change AuxType of a ProDOS File ## C `int chaux(const char *filepath, int auxtype);` ## ASM `>PUSHW filepath` -`>PUSHB filetype` +`>PUSHW auxtype` `>SYSCALL ChAux` ## RETURN VALUE diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index cef21312..fdcee5d0 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 052633e2..704cf1e3 100644 Binary files a/.Floppies/A2OSX.TEST.po and b/.Floppies/A2OSX.TEST.po differ diff --git a/BASIC.FX/BASIC.S.A.txt b/BASIC.FX/BASIC.S.A.txt index e2438354..272c6f55 100644 --- a/BASIC.FX/BASIC.S.A.txt +++ b/BASIC.FX/BASIC.S.A.txt @@ -2,14 +2,16 @@ NEW AUTO 3,1 *-------------------------------------- BS.ResetCSWKSW pha - lda GP.VECTOUT - sta ZP.CSW - lda GP.VECTOUT+1 - sta ZP.CSW+1 - lda GP.VECTIN - sta ZP.KSW - lda GP.VECTIN+1 - sta ZP.KSW+1 + phx + + ldx #3 + +.1 lda GP.VECTOUT,x + sta ZP.CSW,x + dex + bpl .1 + + plx pla rts *-------------------------------------- @@ -82,26 +84,30 @@ L9A74 jsr BS.ResetCSWKSW L9A8B lda #$8D BS.SaveCSWKSW pha - lda ZP.KSW+1 - sta GP.VECTIN+1 - lda ZP.KSW - sta GP.VECTIN - lda ZP.CSW+1 - sta GP.VECTOUT+1 - lda ZP.CSW - sta GP.VECTOUT + phx + + ldx #3 + +.1 lda ZP.CSW,x + sta GP.VECTOUT,x + dex + bpl .1 + + plx pla BS.SetCSWKSW2VDOS pha - lda GP.VDOSO - sta ZP.CSW - lda GP.VDOSO+1 - sta ZP.CSW+1 - lda GP.VDOSI - sta ZP.KSW - lda GP.VDOSI+1 - sta ZP.KSW+1 + phx + + ldx #3 + +.1 lda GP.VDOSO,x + sta ZP.CSW,x + dex + bpl .1 + + plx pla rts *-------------------------------------- @@ -118,15 +124,19 @@ BS.IO.IN bit GP.EXECACTV beq .5 cmp #$FF - bne L9AEB + bne BS.SaveCSWKSW +* lda ZP.PROMPT +* >DEBUG + txa + beq BS.IO.IN.BS lda #$88 jsr MON.COUT + lda #$A0 jsr MON.COUT - lda #$88 - - bra L9AEB + + bra BS.IO.IN.BS .5 jsr BS.SaveAXY sta IO.LINEBUF,x @@ -138,13 +148,13 @@ BS.CheckDOSCMD jsr BS.DOSCMD bcs BS.ERROUT ldy GP.PREGY - lda #$88 ldx #$00 - beq L9AEB + +BS.IO.IN.BS lda #$88 + bra BS.SaveCSWKSW L9AE8 jsr BS.RestoreAXY - -L9AEB jmp BS.SaveCSWKSW + bra BS.SaveCSWKSW *-------------------------------------- BS.NODEVERR lda #$03 @@ -228,7 +238,7 @@ L9B86 bit GP.EXECACTV bmi BS.IO.IN.EXEC lda ZP.PROMPT - cmp #$DD + cmp #"]" beq L9B58 jsr BS.ResetCSWKSW @@ -240,7 +250,7 @@ L9B94 lda GP.PREGA bne L9BAC lda ZP.PROMPT - cmp #$BE + cmp #">" beq L9BAA txa @@ -251,7 +261,7 @@ L9BAC jmp BS.SaveCSWKSW *-------------------------------------- BS.IO.IN.EXEC sta (ZP.BASL),y lda ZP.PROMPT - cmp #$BE + cmp #">" beq L9BF2 lda IO.KBD @@ -301,7 +311,7 @@ L9C01 ldx #$00 ldy ZP.CH bne L9C0E - lda #$DD + lda #"]" sta ZP.PROMPT lda #$88 rts @@ -312,7 +322,7 @@ L9C0E lda (ZP.BASL),y L9C13 jmp BS.ERROUT *-------------------------------------- BS.IO.IN.FILE lda ZP.PROMPT - cmp #$DD + cmp #"]" bne L9C1F jmp L9B58 @@ -331,7 +341,7 @@ L9C31 lda ZP.PROMPT bit GP.DIRFLG bmi L9C95 - cmp #$BE + cmp #">" beq L9C42 jsr L9C67 @@ -387,7 +397,7 @@ L9C8E lda #$8D ldy GP.PREGY clc rts - +*-------------------------------------- L9C95 cmp #$BE beq L9C8E @@ -740,8 +750,8 @@ X9F00 bne BS.AS.KW0 SELF MODIFIED BS.AS.KW0 BS.AS.KW.IF BS.AS.KW.PRINT - sta ZP.PROMPT - sta GP.CHRLAST + stz ZP.PROMPT + stz GP.CHRLAST lda #BS.VSYSO sta GP.VSYSO lda /BS.VSYSO diff --git a/BASIC.FX/BASIC.S.D.txt b/BASIC.FX/BASIC.S.D.txt index d6b2aaf4..1bdf99af 100644 --- a/BASIC.FX/BASIC.S.D.txt +++ b/BASIC.FX/BASIC.S.D.txt @@ -243,6 +243,7 @@ BS.PRODOSTYPES.ASC .AS -"S16ADBASPAWPPASTXTBINDIRCMDINTIVRBASVARRELSYS" BS.MONTHS .AS -"JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC" BS.NODATE .AS -"" +*-------------------------------------- BS.MLIERTBL .DA #$28 .DA #$2B .DA #$40 @@ -262,6 +263,7 @@ BS.MLIERTBL .DA #$28 .DA #$50 .DA #$53 .DA #$56 +*-------------------------------------- BS.BIERRTBL .DA #$03 .DA #$04 .DA #$10 @@ -281,6 +283,7 @@ BS.BIERRTBL .DA #$03 .DA #$14 .DA #$0B .DA #$0C +*-------------------------------------- BS.ERRCODES .DA #$08 .DA #$54 .DA #$5B @@ -301,6 +304,7 @@ BS.ERRCODES .DA #$08 .DA #$D9 .DA #$E1 .DA #$EC +*-------------------------------------- BS.TBL6 .DA #$F3 .DA #$C1 .DA #$C3 @@ -333,6 +337,7 @@ BS.TBL6 .DA #$F3 .DA #$A9 .DA #$AE .DA #$BA +*-------------------------------------- BS.TBL7 .DA #$2A .DA #$05 .DA #$0A @@ -588,16 +593,17 @@ BS.TBL7 .DA #$2A .DA #$A0 .DA #$54 .DA #$9F - +*-------------------------------------- XBBB5 .BS 2 XBBB7 .BS 1 XBBB8 .BS 1 - +*-------------------------------------- BS.IsIntCmdMTR ldy #$02 LBBBB lda BS.CMDBUF,y cmp BS.MTR,y bne LBBCF + dey bpl LBBBB diff --git a/BIN/CHAUX.S.txt b/BIN/CHAUX.S.txt index 69deebae..639251b4 100644 --- a/BIN/CHAUX.S.txt +++ b/BIN/CHAUX.S.txt @@ -341,7 +341,7 @@ CS.END OptionList .AS "CRcr" OptionVars .DA #bContinue,#bRecurse,#bContinue,#bRecurse *-------------------------------------- -MSG.USAGE .AS "Usage : CHTYP auxtype [File *,? wildcards allowed]\r\n" +MSG.USAGE .AS "Usage : CHAUX auxtype [File *,? wildcards allowed]\r\n" .AS " auxtype : 12345 (Decimal word) ,xABCD (Hexadecimal word)\r\n" .AS " -C : Continue on error\r\n" .AZ " -R : Recurse subdirectories\r\n" diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index 6fbdb5ac..03021768 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -221,7 +221,7 @@ SYS.SScanF .EQ $4E * .EQ $52 * .EQ $54 * .EQ $56 - +* PRODOS SYS.Online .EQ $58 SYS.ChTyp .EQ $5A SYS.ChAux .EQ $5C diff --git a/LIB/LIBCIFS.S.IO.txt b/LIB/LIBCIFS.S.IO.txt index bd1c1cd0..c87b51b8 100644 --- a/LIB/LIBCIFS.S.IO.txt +++ b/LIB/LIBCIFS.S.IO.txt @@ -228,6 +228,7 @@ CIFS.ReadDir.Send .1 lda #'*' sta (ZPReqPtr),y iny + lda #0 sta (ZPReqPtr),y iny @@ -1053,11 +1054,14 @@ CIFS.Remove >STYA pPath resolved path jsr PutBytePtr2 jsr AppendPathPtr2 + jsr AddYReqLen tya inc +1 for BufferFormat inc +1 for \0 - jsr Add2ByteCount + + ldy ByteCountOfs + sta (ZPReqPtr),y jsr SetReqLen @@ -1136,7 +1140,9 @@ CIFS.Rename >STYA pPath resolved src path tya inc +1 for BufferFormat inc +1 for \0 - jsr Add2ByteCount + + ldy ByteCountOfs + sta (ZPReqPtr),y jsr SetReqLen diff --git a/LIB/LIBCIFS.S.txt b/LIB/LIBCIFS.S.txt index 02440602..ad5e290a 100644 --- a/LIB/LIBCIFS.S.txt +++ b/LIB/LIBCIFS.S.txt @@ -10,8 +10,9 @@ NEW .INB inc/kernel.i .INB inc/mli.e.i .INB inc/eth.i - .INB inc/libtcpip.i + .INB inc/net.tcpip.i .INB inc/net.smb.i + .INB inc/libtcpip.i *-------------------------------------- .DUMMY .OR ZPLIB @@ -290,10 +291,13 @@ CIFS.SessionSetup jsr ReqSetupPtr2 + ldy #0 + ldx #0 .3 lda SMB.SessionSetup.Guest,x jsr PutBytePtr2 + iny inx cpx #SMB.SessionSetup.Guest.Len bne .3 @@ -302,11 +306,14 @@ CIFS.SessionSetup .4 lda SMB.SessionSetup.T,x jsr PutBytePtr2 + iny inx cpx #SMB.SessionSetup.T.Len bne .4 - jsr Add2ByteCount + tya + ldy ByteCountOfs + sta (ZPReqPtr),y jsr SetReqLen @@ -403,15 +410,22 @@ CIFS.TreeConnect jsr AppendPathPtr2 jsr AddYReqLenPtr2 + + iny + \0 from password ldx #0 .4 lda SMB.TreeConnect.T,x jsr PutBytePtr2 + iny inx cpx #SMB.TreeConnect.T.Len bne .4 + tya + ldy ByteCountOfs + sta (ZPReqPtr),y + jsr SetReqLen ldy #4 hSocket diff --git a/LIB/LIBTCPIP.S.SKT.txt b/LIB/LIBTCPIP.S.SKT.txt index 77581d5b..50ee2f6c 100644 --- a/LIB/LIBTCPIP.S.SKT.txt +++ b/LIB/LIBTCPIP.S.SKT.txt @@ -854,7 +854,7 @@ SKT.Recv clc bcs .91 .90 lda #E.NODATA - plp +.91 plp sec rts @@ -910,7 +910,7 @@ SKT.Recv clc .9 rts .99 lda #ERR.SKT.BAD -.91 plp + plp sec rts */-------------------------------------- diff --git a/LIB/LIBTCPIP.S.TCP.txt b/LIB/LIBTCPIP.S.TCP.txt index d3bf47f6..614ff508 100644 --- a/LIB/LIBTCPIP.S.TCP.txt +++ b/LIB/LIBTCPIP.S.TCP.txt @@ -227,7 +227,7 @@ TCP.IN.JMP.ESTBLSH jsr TCP.AddAYToSktCacheAtX jsr SKT.StoreTCB update socket - bra .7 +* bra .7 .70 jsr TCP.SetSocketTCPO.ACK ...and ack data diff --git a/SYS/KERNEL.S.PRODOS.txt b/SYS/KERNEL.S.PRODOS.txt index fb27db00..a047a9b2 100644 --- a/SYS/KERNEL.S.PRODOS.txt +++ b/SYS/KERNEL.S.PRODOS.txt @@ -1,13 +1,23 @@ NEW AUTO 3,1 -*-------------------------------------- +*/-------------------------------------- +* # Online +* Get ProDOS Volume Info +* ## C +* `int online(short int volid, void *buf);` +* ## ASM +* `>PUSHB volid` +* `>PUSHW buf` +* `>SYSCALL Online` +* ## RETURN VALUE +*\-------------------------------------- K.Online >PULLW K.MLI.PARAMS+2 >PULLB K.MLI.PARAMS+1 >MLICALL MLIONLINE rts */-------------------------------------- * # ChTyp -* Change The type of a ProDOS File +* Change Type of a ProDOS File * ## C * `int chtyp(const char *filepath, short int filetype);` * ## ASM @@ -26,12 +36,12 @@ K.ChTyp jsr PFT.CheckPath1 bra PRODOS.SFIRET2 */-------------------------------------- * # ChAux -* Change The type of a ProDOS File +* Change AuxType of a ProDOS File * ## C * `int chaux(const char *filepath, int auxtype);` * ## ASM * `>PUSHW filepath` -* `>PUSHB filetype` +* `>PUSHW auxtype` * `>SYSCALL ChAux` * ## RETURN VALUE *\--------------------------------------