diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 0f4328a6..ccb94c09 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/ProDOS.FX/ProDOS.S.XDOS.A.txt b/ProDOS.FX/ProDOS.S.XDOS.A.txt index 50eaf8c0..c9a0b0c4 100644 --- a/ProDOS.FX/ProDOS.S.XDOS.A.txt +++ b/ProDOS.FX/ProDOS.S.XDOS.A.txt @@ -733,7 +733,11 @@ H352A lda bloknml preserve disk address of current (last) sta gbuf+2 save block address in y,a to sty gbuf+3 current directory. + .DO LOWERCASE=1 + jsr XDOS.WriteGBufDir + .ELSE jsr XDOS.WriteGBuf update directory block with new link. + .FIN bcs H351D if error ldx #$01 @@ -772,7 +776,7 @@ clrdir sta gbuf+2,x lda #$04 ocalc clc - dex has entry address been calulated? + dex has entry address been calculated? beq H3584 if yes. adc own_len next entry address @@ -985,6 +989,7 @@ drevise1 lda bkbitflg (bit 5 = backup needed) lda d_dev get device # of directory sta devnum to be revised + lda d_entblk and address of directory block. ldx d_entblk+1 .DO LOWERCASE=1 @@ -1021,6 +1026,7 @@ H36E0 .DO LOWERCASE=1 lda d_head get address of header block and ldx d_head+1 + .DO LOWERCASE=1 jsr XDOS.ReadGBufAXDir .ELSE @@ -1057,6 +1063,7 @@ ripple lda gbuf+4 test for 'root' directory because lda gbuf+39 get addr of parent entry's dir block ldx gbuf+40 + .DO LOWERCASE=1 jsr XDOS.ReadGBufAXDir .ELSE diff --git a/ProDOS.FX/ProDOS.S.XDOS.C.txt b/ProDOS.FX/ProDOS.S.XDOS.C.txt index 6b2dcb2f..bd4abf22 100644 --- a/ProDOS.FX/ProDOS.S.XDOS.C.txt +++ b/ProDOS.FX/ProDOS.S.XDOS.C.txt @@ -152,14 +152,14 @@ nxtbmap ldx vcbptr inc to next bitmap, but 1st make sure there is another lsr lsr lsr - cmp VCBs+VCB.BMAPIDX,x are there more maps ? + cmp VCBs+VCB.BMAPIDX,x are there more maps ? beq L3D60 if no more to look at. - inc VCBs+VCB.BMAPIDX,x add 1 to current map + inc VCBs+VCB.BMAPIDX,x add 1 to current map jsr upbmap fndbmap ldy vcbptr - lda VCBs+VCB.DEV,y get device #. + lda VCBs+VCB.DEV,y get device #. cmp bmadev does this map match this device ? beq L3D4A yes. @@ -338,7 +338,7 @@ XDOS.UnpackGBuf jsr XDOS.Pack.Init rts *-------------------------------------- XDOS.PackGBuf jsr XDOS.Pack.Init - + .1 lda (zpt) and #$0F beq .6 @@ -350,10 +350,10 @@ XDOS.PackGBuf jsr XDOS.Pack.Init .2 lda (zpt),y - cmp #'A' + cmp #'a' bcc .5 - cmp #'Z'+1 + cmp #'z'+1 bcs .5 eor #$20 to uppercase @@ -363,11 +363,11 @@ XDOS.PackGBuf jsr XDOS.Pack.Init bcs .3 lda whichbit,y - tsb XDOS.PackGBuf.Bitmap + tsb XDOS.PackGBuf.Bitmap+1 bra .4 .3 lda whichbit-8,y - tsb XDOS.PackGBuf.Bitmap+1 + tsb XDOS.PackGBuf.Bitmap .4 lda #$80 tsb XDOS.PackGBuf.Bitmap+1 diff --git a/ProDOS.FX/ProDOS.S.XDOS.E.txt b/ProDOS.FX/ProDOS.S.XDOS.E.txt index f6dbf54e..62fb3c08 100644 --- a/ProDOS.FX/ProDOS.S.XDOS.E.txt +++ b/ProDOS.FX/ProDOS.S.XDOS.E.txt @@ -140,7 +140,7 @@ L4723 lda FCBs,y note: this code depends on the defined .DO LOWERCASE=1 jsr XDOS.ReadGBufAXDir .ELSE - jsr XDOS.ReadGBufAX into the general purpose buffer. + jsr XDOS.ReadGBufAX read DIR into the general purpose buffer. .FIN bcs L46E6 if error. @@ -153,9 +153,13 @@ L4723 lda FCBs,y note: this code depends on the defined cpx d_head+1 beq L4755 branch if header block = entry block -.1 jsr XDOS.ReadGBufAX get block with file entry in general - -L4755 jsr entcalc buffer. set up pointer to entry. +.1 .DO LOWERCASE=1 + jsr XDOS.ReadGBufAXDir + .ELSE + jsr XDOS.ReadGBufAX read DIR block with file entry in general buffer. + .FIN + +L4755 jsr entcalc set up pointer to entry. jsr moventry move entry to temp entry buffer in diff --git a/ProDOS.FX/ProDOS.S.txt b/ProDOS.FX/ProDOS.S.txt index cb8632a8..c4609f96 100644 --- a/ProDOS.FX/ProDOS.S.txt +++ b/ProDOS.FX/ProDOS.S.txt @@ -164,11 +164,12 @@ FCB .EQ 32 VCBs .EQ $D900 VCB.DEV .EQ 16 VCB.OFCNT .EQ 17 -VCB.BMAP .EQ 18 -VCB.TBLK .EQ 20 -VCB.FBLK .EQ 22 +VCB.BMAP .EQ 18 2 bytes +VCB.TBLK .EQ 20 2 bytes +VCB.FBLK .EQ 22 2 bytes VCB.BMAPIDX .EQ 24 * +*VCB .EQ 25 VCB .EQ 32 *-------------------------------------- bmbuf .EQ $DA00 512 byte bitmap buffer