mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-24 14:31:05 +00:00
ProDOS.FX : bugfixes in dir entries "RESERVED" space (ACL)
This commit is contained in:
parent
6f0f9c0a3d
commit
5ff8654986
Binary file not shown.
Binary file not shown.
@ -1,6 +1,6 @@
|
||||
NEW
|
||||
AUTO 3,1
|
||||
*--------------------------------------
|
||||
*--------------------------------------
|
||||
SEL2.PBuf .EQ $0280 prefix buffer
|
||||
SEL2.VBuf .EQ $0F00 volume buffer
|
||||
SEL2.FBuf .EQ $1C00 open file buffer (selector)
|
||||
|
@ -992,14 +992,14 @@ XDOS.Create1 jsr XDOS.ZeroGBuf zero out XDOS.GBuf
|
||||
dey
|
||||
bne .5
|
||||
|
||||
ldy #$03 index to 'access' parameter
|
||||
ldy #$03 index to ACCESS parameter
|
||||
lda (ZP.A3L),y
|
||||
sta XDOS.DE.Access
|
||||
iny also move 'file identification'
|
||||
iny also move TYPE
|
||||
lda (ZP.A3L),y
|
||||
sta XDOS.DE.Type
|
||||
|
||||
.6 iny move auxillary identification bytes
|
||||
.6 iny move AUXTYPE
|
||||
lda (ZP.A3L),y
|
||||
sta XDOS.DE.AuxType-5,y
|
||||
cpy #$06
|
||||
@ -1016,23 +1016,23 @@ XDOS.Create1 jsr XDOS.ZeroGBuf zero out XDOS.GBuf
|
||||
lda #$01 usage is always 1 block
|
||||
sta XDOS.DE.BlkUsed
|
||||
|
||||
lda XDOS.DE.DirHBlk place back pointer to header block
|
||||
lda XDOS.DE.DirHBlk place back pointer to header block
|
||||
sta XDOS.DE.BlkPtr
|
||||
lda XDOS.DE.DirHBlk+1
|
||||
sta XDOS.DE.BlkPtr+1
|
||||
|
||||
lda XDOS.DE.Filename storage type.
|
||||
and #$E0 is it a directory?
|
||||
beq cralcblk branch if seed file.
|
||||
beq XDOS.CreateDBLK branch if seed file.
|
||||
*--------------------------------------
|
||||
* Create Dir First Block
|
||||
*--------------------------------------
|
||||
ldx #$1E move header to data block
|
||||
XDOS.Create2 ldx #$1E move header to data block
|
||||
|
||||
cmvheadr lda XDOS.DE.Filename,x
|
||||
.1 lda XDOS.DE.Filename,x
|
||||
sta XDOS.GBuf+4,x
|
||||
dex
|
||||
bpl cmvheadr
|
||||
bpl .1
|
||||
|
||||
eor #$30
|
||||
sta XDOS.GBuf+4 make it a directory header mark.
|
||||
@ -1041,34 +1041,41 @@ cmvheadr lda XDOS.DE.Filename,x
|
||||
|
||||
ldx #$07 overwrite password area and other
|
||||
|
||||
cmvpass lda pass,x header info.
|
||||
.2 lda pass,x header info.
|
||||
sta XDOS.GBuf+20,x
|
||||
|
||||
lda xdosver,x
|
||||
sta XDOS.GBuf+32,x
|
||||
dex
|
||||
bpl cmvpass
|
||||
bpl .2
|
||||
|
||||
.ELSE
|
||||
lda #$75
|
||||
sta XDOS.GBuf+20
|
||||
|
||||
ldx #XDOS.VolHdrDef.Cnt-1
|
||||
|
||||
.1 lda XDOS.VolHdrDef,x
|
||||
.2 lda XDOS.VolHdrDef,x
|
||||
sta XDOS.GBuf+34,x
|
||||
dex
|
||||
bpl .1
|
||||
bpl .2
|
||||
|
||||
lda #$75
|
||||
sta XDOS.GBuf+20
|
||||
|
||||
ldx #7
|
||||
|
||||
.3 stz XDOS.GBuf+20,x
|
||||
dex
|
||||
bne .3
|
||||
|
||||
.FIN
|
||||
|
||||
ldx #$02 and include info about parent directory
|
||||
stx XDOS.DE.EOF+1 set file size = 512
|
||||
|
||||
cmvparnt lda XDOS.DE.DirEBlk,x
|
||||
.4 lda XDOS.DE.DirEBlk,x
|
||||
sta XDOS.GBuf+39,x
|
||||
dex
|
||||
bpl cmvparnt
|
||||
bpl .4
|
||||
|
||||
lda XDOS.DH.EL lastly, the length of parent's
|
||||
sta XDOS.GBuf+42 directory entries.
|
||||
@ -1076,8 +1083,8 @@ cmvparnt lda XDOS.DE.DirEBlk,x
|
||||
.DO LOWERCASE=1
|
||||
jsr XDOS.PackGBuf
|
||||
.FIN
|
||||
|
||||
cralcblk jsr XDOS.GetFreeBlk get address of file's data block
|
||||
*--------------------------------------
|
||||
XDOS.CreateDBLK jsr XDOS.GetFreeBlk get address of file's data block
|
||||
bcs crerr3
|
||||
|
||||
sta XDOS.DE.KeyPtr
|
||||
@ -1088,11 +1095,11 @@ cralcblk jsr XDOS.GetFreeBlk get address of file's data block
|
||||
bcs crerr3
|
||||
|
||||
inc XDOS.DH.FileCnt add 1 to total # of files in this dir
|
||||
bne credone
|
||||
bne .1
|
||||
|
||||
inc XDOS.DH.FileCnt+1
|
||||
|
||||
credone jsr XDOS.DE.Update go revise directories with new file
|
||||
.1 jsr XDOS.DE.Update go revise directories with new file
|
||||
bcs crerr3
|
||||
|
||||
jmp XDOS.FlushBM lastly, update volume bitmap
|
||||
|
@ -375,7 +375,7 @@ XDOS.GetDH ldx #10 move this directory info
|
||||
.DO ACL=1
|
||||
ldx #7
|
||||
|
||||
lda XDOS.GBuf+$14
|
||||
lda XDOS.GBuf+20
|
||||
cmp #$57
|
||||
bne .20
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user