diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index d66a3c8d..00f9598b 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/ProDOS.FX/ProDOS.S.XDOS.B.txt b/ProDOS.FX/ProDOS.S.XDOS.B.txt index b648bb1f..78b56d00 100644 --- a/ProDOS.FX/ProDOS.S.XDOS.B.txt +++ b/ProDOS.FX/ProDOS.S.XDOS.B.txt @@ -614,15 +614,15 @@ L3ACE .DO LOWERCASE=1 bne L3ACE pla get length again - sta VCBs,x and save. + sta VCBs,x and save. lda devnum last device used. - sta VCBs+VCB.DEV,x save device # and + sta VCBs+VCB.DEV,x save device # and - lda bloknml save address of root directory. - sta VCBs+VCB.ROOT,x - lda bloknml+1 - sta VCBs+VCB.ROOT+1,x +* lda bloknml save address of root directory. +* sta VCBs+VCB.ROOT,x +* lda bloknml+1 +* sta VCBs+VCB.ROOT+1,x * ldy #0 diff --git a/ProDOS.FX/ProDOS.S.XDOS.C.txt b/ProDOS.FX/ProDOS.S.XDOS.C.txt index 3257fd30..e984fb9d 100644 --- a/ProDOS.FX/ProDOS.S.XDOS.C.txt +++ b/ProDOS.FX/ProDOS.S.XDOS.C.txt @@ -205,7 +205,7 @@ gtbmap sta bmadev read bitmap specified by dev and vcb. lda VCBs+VCB.BMAPIDX,y sta bmacmap associate offset with bitmap ctrl block. clc add this # to the base address of - adc VCBs+VCB.BMAP,y 1st bitmap and save in bmadadr which + adc VCBs+VCB.BMAP,y 1st bitmap and save in bmadadr which sta bmadadr is address of bitmap to be used. lda VCBs+VCB.BMAP+1,y @@ -803,7 +803,7 @@ L4147 pha save error code. ldy fcbptr since error was before file was L4156 lda #$00 successfully opened, then it is - sta FCBs,y necessary to release fcb also. + sta FCBs,y necessary to release fcb also. pla error code. sec rts @@ -812,16 +812,16 @@ L415E jsr rfcbdat read in 1st block of directory file. bcs L4147 return error after freeing buffer & fcb. L4163 ldx vcbptr index to vcb. - inc VCBs+VCB.OFCNT,x add 1 to # of files currently open + inc VCBs+VCB.OFCNT,x add 1 to # of files currently open * sec and indicate that this volume has at -* ror VCBs+VCB.OF,x least 1 file active. +* ror VCBs+VCB.OF,x least 1 file active. ldy fcbptr index to fcb. - lda FCBs,y return ref # to user. + lda FCBs,y return ref # to user. ldy #$05 sta (A3L),y - clc open is successful +* clc open is successful rts *-------------------------------------- tstopen lda #$00 diff --git a/ProDOS.FX/ProDOS.S.XDOS.E.txt b/ProDOS.FX/ProDOS.S.XDOS.E.txt index 5675d613..f3104004 100644 --- a/ProDOS.FX/ProDOS.S.XDOS.E.txt +++ b/ProDOS.FX/ProDOS.S.XDOS.E.txt @@ -332,7 +332,7 @@ L485F jsr tkfrecnt force free block count before releasing ora dseed+1 bne L48A2 branch if no adjustment necessary. - lda dsap get correct block ositions for sap + lda dsap get correct block positions for sap sec and tree levels. sbc #$01 sta dsap deallocate for last (phantom) block @@ -476,7 +476,7 @@ XDOS.GetFileInfoEx dex bpl .3 -* clc + clc .9 rts *-------------------------------------- XDOS.GetFileInfo @@ -497,12 +497,12 @@ XDOS.GetFileInfo jsr tkfrecnt get a fresh count of free blocks on ldx vcbptr this volume. - lda VCBs+VCB.FBLK+1,x return total blocks and total in use. + lda VCBs+VCB.FBLK+1,x return total blocks and total in use. sta reqh 1st transfer 'free' blocks to zpage - lda VCBs+VCB.FBLK,x for later subtraction to determine + lda VCBs+VCB.FBLK,x for later subtraction to determine sta reql the 'used' count. - lda VCBs+VCB.TBLK+1,x transfer to 'd.' table as aux id + lda VCBs+VCB.TBLK+1,x transfer to 'd.' table as aux id sta d_auxid+1 (total block count is considered aux id pha for the volume) lda VCBs+VCB.TBLK,x @@ -536,7 +536,7 @@ L49A4 rts *-------------------------------------- XDOS.SetFileInfoEx jsr findfile - bcs .9 + bcs L49A4 ldx #S.FIEX.BLKPTR+2-1 ldy #S.FIEX.BLKPTR+2-1+3 @@ -557,8 +557,6 @@ XDOS.SetFileInfoEx bpl .3 jmp drevise1 - -.9 rts *-------------------------------------- XDOS.SetACL clc rts diff --git a/ProDOS.FX/ProDOS.S.XRW.txt b/ProDOS.FX/ProDOS.S.XRW.txt index 7031bcda..1da24d55 100644 --- a/ProDOS.FX/ProDOS.S.XRW.txt +++ b/ProDOS.FX/ProDOS.S.XRW.txt @@ -1,6 +1,8 @@ NEW AUTO 3,1 *-------------------------------------- +XRW.DEBUG .EQ 0 +*-------------------------------------- XRW.START cld $D8 to flag language card bank 1 (main) lda unitnum get unit number. @@ -189,9 +191,9 @@ regrwts ldy #1 dec XRW.RecalibrateCnt sec bmi .9 - + .DO XRW.DEBUG=1 jsr XRW.DEBUG - + .FIN ldy XRW.UnitIndex lda #41 @@ -729,16 +731,16 @@ XRW.Seek ldx XRW.UnitIndex jsr XRW.Trk2Qtrk sta XRW.TargetQTrack - + .DO XRW.DEBUG=1 jsr XRW.DEBUG3 - + .FIN lda XRW.D2Trk-1,x jsr XRW.Trk2Qtrk sta XRW.CurrentQTrack - + .DO XRW.DEBUG=1 jsr XRW.DEBUG2 - + .FIN pla sta XRW.D2Trk-1,x will be current track at the end @@ -896,6 +898,7 @@ XRW.ReadAddr ldy #$FC rderr sec rts *-------------------------------------- + .DO XRW.DEBUG=1 XRW.DEBUG phx ldx #26 @@ -945,6 +948,7 @@ XRW.DEBUG.PRINT .8 sta $700,x inx rts + .FIN *-------------------------------------- .LIST ON XRW.FREE .EQ $D540-* diff --git a/ProDOS.FX/ProDOS.S.txt b/ProDOS.FX/ProDOS.S.txt index 92b18d6a..ed61a89e 100644 --- a/ProDOS.FX/ProDOS.S.txt +++ b/ProDOS.FX/ProDOS.S.txt @@ -147,22 +147,21 @@ FCB.F.STMOD .EQ 8 FCB.NLBYTE .EQ 10 FCB.BUFID .EQ 11 FCB.IBLK .EQ 14 -FCB.EOF .EQ 21 +FCB.EOF .EQ 21 3 bytes FCB.FLEVEL .EQ 27 FCB.NLMASK .EQ 31 FCB .EQ 32 *-------------------------------------- VCBs .EQ $D900 VCB.DEV .EQ 16 -*VCB.OF .EQ 17 -VCB.TBLK .EQ 18 -VCB.FBLK .EQ 20 -VCB.ROOT .EQ 22 -VCB.BMAP .EQ 26 -VCB.BMAPIDX .EQ 28 -VCB.OFCNT .EQ 30 +VCB.OFCNT .EQ 17 +VCB.BMAP .EQ 18 +VCB.TBLK .EQ 20 +VCB.FBLK .EQ 22 +VCB.ROOT .EQ 24 +VCB.BMAPIDX .EQ 26 * -VCB .EQ 32 +VCB .EQ 27 *-------------------------------------- bmbuf .EQ $DA00 512 byte bitmap buffer gbuf .EQ $DC00 general purpose 512 byte block buffer diff --git a/SYS/KERNEL.S.PWDX.txt b/SYS/KERNEL.S.PWDX.txt index c2df909a..ff2bc9dc 100644 --- a/SYS/KERNEL.S.PWDX.txt +++ b/SYS/KERNEL.S.PWDX.txt @@ -236,10 +236,41 @@ PWD.GetGR.99 lda #E.IUSR sec PWD.GetGR.RTS rts *-------------------------------------- -PWDX.GetGRName - lda #E.IPWDDB - sec - rts +PWDX.GetGRName lda PWD.hGrpDB + beq PWD.GetGR.9 + + jsr K.GetmemPtr + >STYA ZPPtr3 + + ldy #0 + jsr SHARED.TXTPTR.GetY + beq PWD.GetGR.99 + +.1 lda (ZPPtr3) + beq PWD.GetGR.99 + + ldy #$ff +.2 iny + jsr SHARED.TXTPTR.GetY + beq .4 + + cmp (ZPPtr3),y + beq .2 + +.3 jsr PWD.NextLine + bra .1 + +.4 lda (ZPPtr3),y + cmp #':' + bne .3 + + ldx FORPNT+1 + beq .8 + + jmp PWD.Record2GR + +.8 iny + jmp PWD.GetByte get GID *-------------------------------------- PWDX.PutGR lda PWD.hGrpDB beq PWD.GetGR.9