diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 338e80c6..427cc4b4 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BIN/PING.S.txt b/BIN/PING.S.txt index 3f21e8fd..1779e70a 100644 --- a/BIN/PING.S.txt +++ b/BIN/PING.S.txt @@ -267,10 +267,12 @@ CS.RUN.WAIT.REPLY .7 lda PingCount beq .8 dec PingCount - beq .9 A=0 + dec A=0 + beq .80 .8 jmp CS.RUN.SEND.ECHO -.9 sec + +.80 sec CS.RUN.ERR rts *-------------------------------------- CS.DOEVENT lda (pEvent) diff --git a/INC/MLI.I.txt b/INC/MLI.I.txt index 39135507..726f6641 100644 --- a/INC/MLI.I.txt +++ b/INC/MLI.I.txt @@ -65,7 +65,20 @@ S.FI.CTIME .EQ $10 * S.FI .EQ $12 *-------------------------------------- -S.FIEX .EQ $27 +S.FIEX.TYPE .EQ 0 +S.FIEX.KEYPTR .EQ 1 +S.FIEX.BUSED .EQ 3 +S.FIEX.EOF .EQ 5 +S.FIEX.CTIME .EQ 8 +S.FIEX.VERSION .EQ 12 +S.FIEX.MVERSION .EQ 13 +S.FIEX.ACCESS .EQ 14 +S.FIEX.AUXTYPE .EQ 15 +S.FIEX.MTIME .EQ 17 +S.FIEX.BLKPTR .EQ 21 +S.FIEX.ACL .EQ 24 +* +S.FIEX .EQ 32 *-------------------------------------- MLI .EQ $BF00 *JSPARE .EQ $BF03 diff --git a/ProDOS.FX/ProDOS.S.XDOS.B.txt b/ProDOS.FX/ProDOS.S.XDOS.B.txt index 72330dfc..0632ac8e 100644 --- a/ProDOS.FX/ProDOS.S.XDOS.B.txt +++ b/ProDOS.FX/ProDOS.S.XDOS.B.txt @@ -112,7 +112,7 @@ errpath1 beq .1 if non-zero then 'path not found' .1 lda #MLI.E.FNOTFND file not found sec - rts +lookfil0.RTS rts *-------------------------------------- namfound jsr nxtpname adj index to next name in path. beq filfound branch if that was the last name. @@ -133,7 +133,7 @@ namfound jsr nxtpname adj index to next name in path. sta d_head+1 jsr rdgbuf read subdirectory into gbuf. - bcs L389C if error. + bcs lookfil0.RTS if error. lda gbuf+37 get the # of files contained in this sta entcntl directory. @@ -166,26 +166,35 @@ L386C asl movhead jsr movhed0 move directory info. jmp lookfil0 do next local pathname. -movhed0 ldx #$0A move this directory info - -L387F lda gbuf+28,x +movhed0 .DO ACL=1 + ldx #18 + .ELSE + ldx #10 move this directory info + .FIN + +.1 .DO ACL=1 + lda gbuf+$14,x + sta h_acl,x + .ELSE + lda gbuf+1C,x sta h_credt,x + .FIN dex - bpl L387F + bpl .1 lda gbuf+4 if this is root, then nothing to do and #$F0 eor #$F0 test header type. - beq L389C branch if root + beq .8 branch if root ldx #$03 otherwise, save owner info about -L3893 lda gbuf+39,x this header. +.2 lda gbuf+$27,x this header. sta own_blk,x dex - bpl L3893 + bpl .2 -L389C rts +.8 rts *-------------------------------------- filfound lda h_maxent figure out which entry # this is sec @@ -287,11 +296,15 @@ L38F8 dec cntent checked all entries in this block? preproot jsr findvol search vcb's and dev's for spec'd volume bcs novolume + .DO ACL=1 + ldx #$4A + .ELSE ldx #$42 zero out directory temps - -L3914 stz own_blk,x and owner info + .FIN + +.1 stz own_blk,x and owner info dex - bpl L3914 + bpl .1 lda devnum setup device # for this directory sta d_dev @@ -301,7 +314,7 @@ L3914 stz own_blk,x and owner info ldx vcbptr inx -L3929 lda vcbbuf+18,x misc info includes +.2 lda vcbbuf+18,x misc info includes sta h_tblk,y total # of blocks, lda vcbbuf+26,x the address of the 1st bitmap, sta h_bmap,y @@ -311,7 +324,7 @@ L3929 lda vcbbuf+18,x misc info includes sta entcntl,y files in this directory. dex dey - bpl L3929 + bpl .2 nxtpname jsr nxtpnam1 get new namptr in y and namlen in acc. sty namptr save new pathname pointer. diff --git a/ProDOS.FX/ProDOS.S.XDOS.F.txt b/ProDOS.FX/ProDOS.S.XDOS.F.txt index a62554d7..6259707b 100644 --- a/ProDOS.FX/ProDOS.S.XDOS.F.txt +++ b/ProDOS.FX/ProDOS.S.XDOS.F.txt @@ -813,7 +813,9 @@ XDOS.DATA .DUMMY own_blk .HS 0000 own_ent .HS 00 own_len .HS 00 - + .DO ACL=1 +h_acl .BS 8 + .FIN h_credt .HS 0000 directory creation date .HS 0000 directory creation time .HS 00 version under which this dir created @@ -822,6 +824,7 @@ h_attr .HS 00 attributes (protect bit, etc.) h_entln .HS 00 length of each entry in this directory h_maxent .HS 00 maximum number of entries per block h_fcnt .HS 0000 current # of files in this directory + h_bmap .HS 0000 address of first allocation bitmap h_tblk .HS 0000 total number of blocks on this unit diff --git a/ProDOS.FX/ProDOS.S.txt b/ProDOS.FX/ProDOS.S.txt index 1a3881b5..83655e00 100644 --- a/ProDOS.FX/ProDOS.S.txt +++ b/ProDOS.FX/ProDOS.S.txt @@ -8,6 +8,7 @@ NEW READCAT .EQ 0 Boot Block read Catalog at $C00 ENHFILENAME .EQ 1 LOWERCASE .EQ 1 +ACL .EQ 1 FASTSEEK .EQ 0 FASTWRITE .EQ 0 *-------------------------------------- diff --git a/SYS/KERNEL.S.INIT.txt b/SYS/KERNEL.S.INIT.txt index d728f47c..248b349c 100644 --- a/SYS/KERNEL.S.INIT.txt +++ b/SYS/KERNEL.S.INIT.txt @@ -1174,7 +1174,7 @@ MLIGETFILEINFOEX00 .DA #2 >PSTR "A2osX.KCONFIG" .DA FIEX -FIEX .BS S.FIEX +FIEX .BS S.FIEX *-------------------------------------- MLIOPEN00 .DA #3 .DA .1 diff --git a/SYS/KERNEL.S.TERMLC.txt b/SYS/KERNEL.S.TERMLC.txt index a3845072..d7aaff8e 100644 --- a/SYS/KERNEL.S.TERMLC.txt +++ b/SYS/KERNEL.S.TERMLC.txt @@ -160,16 +160,17 @@ SetCharAtYX cmp #$40 ldy #S.DCB.TTY.bNORMAL ora (ZPDCBPtr),y sta ZPTmpChar + ldy #S.DCB.TTY.bG0G1 Select Active Font - - clc lda (ZPDCBPtr),y + clc bpl .2 sec .2 lda #$80 bcc .21 lsr + .21 and (ZPDCBPtr),y beq .3 not Graphic mode