diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index dc254171..408d9eb9 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 5540e29d..a2438e63 100644 Binary files a/.Floppies/A2OSX.TEST.po and b/.Floppies/A2OSX.TEST.po differ diff --git a/ProDOS.FX/ProDOS.S.SEL2.txt b/ProDOS.FX/ProDOS.S.SEL2.txt index d60e3a3f..f63e0379 100644 --- a/ProDOS.FX/ProDOS.S.SEL2.txt +++ b/ProDOS.FX/ProDOS.S.SEL2.txt @@ -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) diff --git a/ProDOS.FX/ProDOS.S.XDOS.A.txt b/ProDOS.FX/ProDOS.S.XDOS.A.txt index 45807593..8714463e 100644 --- a/ProDOS.FX/ProDOS.S.XDOS.A.txt +++ b/ProDOS.FX/ProDOS.S.XDOS.A.txt @@ -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 diff --git a/ProDOS.FX/ProDOS.S.XDOS.B.txt b/ProDOS.FX/ProDOS.S.XDOS.B.txt index 5289a652..6912e422 100644 --- a/ProDOS.FX/ProDOS.S.XDOS.B.txt +++ b/ProDOS.FX/ProDOS.S.XDOS.B.txt @@ -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