diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 64e812ce..d6d903e4 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BIN/ATTR.S.txt b/BIN/ATTR.S.txt index 03f997b6..8b30dc7a 100644 --- a/BIN/ATTR.S.txt +++ b/BIN/ATTR.S.txt @@ -25,6 +25,7 @@ ZPFullPath .BS 2 ZPMode .BS 2 ArgIndex .BS 1 StrMode .BS 1 +bRead .BS 1 ZS.END .ED *-------------------------------------- * File Header (16 Bytes) @@ -106,8 +107,6 @@ CS.RUN inc ArgIndex .8 lda StrMode beq .9 - jsr CS.RUN.Str2Mode - bcs .9 >LDA.G hSrcBasePath beq .9 @@ -210,9 +209,7 @@ CS.RUN.DIR lda (ZPFileName) >SYSCALL PrintF bcs .9 - >PUSHW ZPFullPath - >PUSHW ZPMode - >SYSCALL chmod + jsr CS.RUN.CheckErr bcs .9 @@ -226,56 +223,23 @@ CS.RUN.DIR lda (ZPFileName) .8 clc .9 rts *-------------------------------------- -CS.RUN.FILE clc -.9 rts -*-------------------------------------- -CS.RUN.Str2Mode >SYSCALL ArgV - >STYA ZPPtr1 - - ldy #$ff - -.1 iny - lda (ZPPtr1),y - bne .1 - - cpy #4 must be "765" max +CS.RUN.FILE jsr CS.RUN.GetFilePath + >PUSHW L.MSG.FILE + >PUSHW ZPFullPath + >PUSHBI 2 + >SYSCALL PrintF bcs .9 + + - stz ZPMode - stz ZPMode+1 - - ldy #0 - -.2 lda (ZPPtr1),y - beq .8 - cmp #'0' - bcc .9 - - cmp #'7'+1 + jsr CS.RUN.CheckErr bcs .9 - - asl ZPMode - rol ZPMode+1 - asl ZPMode - rol ZPMode+1 - asl ZPMode - rol ZPMode+1 - and #7 + + + + clc - adc ZPMode - sta ZPMode - bcc .3 - - inc ZPMode+1 - -.3 iny - bra .2 - -.8 clc - rts - -.9 sec - rts +.9 rts *-------------------------------------- CS.RUN.CheckErr bcs .1 >LDYA L.MSG.OK @@ -350,7 +314,7 @@ MSG.USAGE .AS "Usage : ATTR File(s) (*,? wildcards allowed)\r\n" * W: Write enable bit * R: Read enable bit * -* Bit 2 = Invisible Bit +* Bit 2 = Invisible Bit (TECH NOTE #23) *-------------------------------------- MSG.OK .AZ "[OK]" MSG.ERR .AZ "[%h]\r\n" diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index 606a6e1a..5e0f1814 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -655,6 +655,7 @@ S.STAT.P.DEVSTATUS .EQ 57 BYTE S.STAT.P.DEVCNFLCT .EQ 58 BYTE S.STAT.P.DEVBLOCKS .EQ 59 WORD S.STAT.FSID .EQ 61 BYTE +S.STAT.P.ACCESS .EQ 62 BYTE * S.STAT .EQ 64 *-------------------------------------- diff --git a/SYS/KERNEL.S.FS.txt b/SYS/KERNEL.S.FS.txt index 21adf739..40d85aa3 100644 --- a/SYS/KERNEL.S.FS.txt +++ b/SYS/KERNEL.S.FS.txt @@ -173,7 +173,7 @@ FS.Stat bit CORE.FSID sta K.S.STAT+S.STAT.MODE+1 .1 lda K.MLI.PARAMS+S.FI.A - jsr FS.Access2Mode + sta K.S.STAT+S.STAT.P.ACCESS ldx #FS.GFI.Cnt @@ -217,10 +217,9 @@ FS.DirEnt2Stat jsr FS.ClrStat dex bne .2 -* ldy #S.FIEX.ACCESS -* lda (ZPPtr3),y - -* jsr FS.Access2Mode + ldy #S.FIEX.ACCESS + lda (ZPPtr3),y + sta K.S.STAT+S.STAT.P.ACCESS ldy #S.FIEX.ACL lda (ZPPtr3),y @@ -261,22 +260,6 @@ FS.ClrStat ldx #S.STAT-1 rts *-------------------------------------- -FS.Access2Mode and #S.FI.A.FULL - cmp #S.FI.A.FULL - beq .7 - - lda #S.STAT.MODE.XU - - .HS 2C BIT ABS -.7 lda #S.STAT.MODE.FU - -.8 sta K.S.STAT+S.STAT.MODE - - lda /S.STAT.MODE.RU - tsb K.S.STAT+S.STAT.MODE+1 preserve DIR - - rts -*-------------------------------------- SHARED.PTime2StatAX clc adc ZPPtr3