diff --git a/A2OSX.BUILD.po b/A2OSX.BUILD.po index 7b229fb5..c21fa511 100644 Binary files a/A2OSX.BUILD.po and b/A2OSX.BUILD.po differ diff --git a/A2OSX.DEV.po b/A2OSX.DEV.po index 4793f293..bbd218f6 100644 Binary files a/A2OSX.DEV.po and b/A2OSX.DEV.po differ diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po index 9aafe4a8..97d57b4c 100644 Binary files a/A2OSX.SRC.po and b/A2OSX.SRC.po differ diff --git a/BIN/FORMAT.S.txt b/BIN/FORMAT.S.txt index 468ab734..882e66cd 100644 --- a/BIN/FORMAT.S.txt +++ b/BIN/FORMAT.S.txt @@ -184,10 +184,10 @@ CS.RUN.BuildCat ldy #hDev >STYA ZPPtr1 ldy #S.DEVSTAT.SIZE lda (ZPPtr1),y - sta BlockSize + sta SizeInBlocks iny lda (ZPPtr1),y - sta BlockSize+1 + sta SizeInBlocks+1 ldy #hDev lda (pData),y @@ -203,14 +203,14 @@ CS.RUN.BuildCat ldy #hDev sta ZPPtr2+1 >PUSHW pData - >PUSHW BlockSize + >PUSHW SizeInBlocks >PUSHW ZPPtr2 >LDYA L.MSG.INIT >SYSCALL CPrintFYA bcs .9 - >PUSHW BlockSize + >PUSHW SizeInBlocks >LIBCALL hLIBBLKDEV,LIBBLKDEV.GetProDOSCatSize .99 bcs .9 @@ -225,10 +225,9 @@ CS.RUN.BuildCat ldy #hDev ldy #hBuf sta (pData),y - >PUSHW BlockSize + >PUSHW SizeInBlocks >PUSHW pData >PUSHW BlkParams.Ptr - >LIBCALL hLIBBLKDEV,LIBBLKDEV.BuildProDOSCat .9 rts *-------------------------------------- @@ -244,7 +243,6 @@ CS.RUN.WriteCat stz BlkParams.Num .1 >LDYA L.BlkParams.Ptr ldx #DEVMGR.WRITEBLOCK - >DEBUG jsr pDevJmp bcs .9 inc BlkParams.Ptr+1 @@ -304,8 +302,7 @@ DefaultVolName >PSTR "BLANKXXXXXXXX" ArgCount .BS 1 ArgIndex .BS 1 hLIBBLKDEV .BS 1 -BlockSize .BS 2 -hBuf .BS 1 +SizeInBlocks .BS 2 BlkCnt .BS 1 BlkParams.Ptr .BS 2 BlkParams.Num .BS 2 @@ -315,6 +312,7 @@ BlkParams.Num .BS 2 DS.START VolName .BS 16 hDev .BS 5 +hBuf .BS 1 bLL .BS 1 DS.END .ED diff --git a/BIN/LS.S.txt b/BIN/LS.S.txt index bf39f586..91398a9a 100644 --- a/BIN/LS.S.txt +++ b/BIN/LS.S.txt @@ -169,9 +169,9 @@ CS.RUN >SYSCALL GetC bcs .92 jsr BasePath.. - jsr GetNextEntry -.8 clc +.8 jsr GetNextEntry + clc rts .92 lda #0 diff --git a/LIB/LIBBLKDEV.S.txt b/LIB/LIBBLKDEV.S.txt index d7fbdc0a..068ff67c 100644 --- a/LIB/LIBBLKDEV.S.txt +++ b/LIB/LIBBLKDEV.S.txt @@ -128,6 +128,7 @@ BuildProDOSCat >PULLW ZPPtr1 DstBuf >PULLW VolDirHdr.TB ldx #3 + .10 lda DATELO,x sta VolDirHdr.CT,x dex @@ -138,23 +139,21 @@ BuildProDOSCat >PULLW ZPPtr1 DstBuf >STYA ZPPtr3 ldy #0 + ldx #2 2 pages + .1 lda (ZPPtr3),y sta (ZPPtr1),y iny bne .1 - inc ZPPtr3 - inc ZPPtr1 + inc ZPPtr3+1 + inc ZPPtr1+1 -.2 lda (ZPPtr3),y - sta (ZPPtr1),y - iny - bne .2 + dex + bne .1 - inc ZPPtr1 Blk 1 - inc ZPPtr1 - - inc ZPPtr1 Blk 2 + inc ZPPtr1+1 Skip Blk 2 (SOS boot code) + inc ZPPtr1+1 * Directory Blocks @@ -167,45 +166,45 @@ BuildProDOSCat >PULLW ZPPtr1 DstBuf .3 lda (ZPPtr2),y sta VolDirHdr.Name,y dey - bpl .3 + bne .3 - ldy #VolDirHdr.size + ldy #VolDirHdr.size-1 .4 lda VolDirHdr,y sta (ZPPtr1),y dey bpl .4 - inc ZPPtr1 - inc ZPPtr1 Blk 3 + inc ZPPtr1+1 + inc ZPPtr1+1 Blk 3 + + ldy #2 lda #2 sta (ZPPtr1) lda #4 - ldy #2 sta (ZPPtr1),y - inc ZPPtr1 - inc ZPPtr1 Blk 4 + inc ZPPtr1+1 + inc ZPPtr1+1 Blk 4 lda #3 sta (ZPPtr1) lda #5 - ldy #2 sta (ZPPtr1),y - inc ZPPtr1 - inc ZPPtr1 Blk 5 + inc ZPPtr1+1 + inc ZPPtr1+1 Blk 5 lda #4 sta (ZPPtr1) - inc ZPPtr1 - inc ZPPtr1 Blk 6 + inc ZPPtr1+1 + inc ZPPtr1+1 Blk 6 * BitMap Blocks : 0=Used 1=free - >LDAX VolDirHdr.TB+1 + >LDAX VolDirHdr.TB jsr GetProDOSCatSizeAX X=blk used for boot/dir/bitmap lda VolDirHdr.TB @@ -214,23 +213,22 @@ BuildProDOSCat >PULLW ZPPtr1 DstBuf lda VolDirHdr.TB+1 eor #$ff sta Count+1 - txa - clc - adc VolDirHdr.TB - sta VolDirHdr.TB - bcc .51 - inc Count+1 -.51 ldy #0 + ldy #0 -.5 lda #%10000000 -.6 dex +.50 lda #%10000000 + +.5 dex bmi .8 - asl + inc Count bne .6 - iny + inc Count+1 + +.6 lsr bne .5 + iny + bne .50 .7 lda #%10000000 @@ -243,7 +241,7 @@ BuildProDOSCat >PULLW ZPPtr1 DstBuf eor (ZPPtr1),y sta (ZPPtr1),y pla - asl + lsr bne .8 iny bne .7 @@ -352,7 +350,8 @@ LIB.UNLOAD clc DrvTrkSelect jsr DrvSelect - + clc + rts *-------------------------------------- * A=DSSS0000 *-------------------------------------- @@ -494,46 +493,46 @@ TrkWriter.Start lda D2ReadMode,x TrkWriter.Size .EQ *-TrkWriter.Start .EP *-------------------------------------- -ProDOS.Boot .HS 01 38 b0 03 4c 32 a1 86 43 c9 03 08 8a 29 70 4a - .HS 4a 4a 4a 09 c0 85 49 a0 ff 84 48 28 c8 b1 48 d0 - .HS 3a b0 0e a9 03 8d 00 08 e6 3d a5 49 48 a9 5b 48 - .HS 60 85 40 85 48 a0 63 b1 48 99 94 09 c8 c0 eb d0 - .HS f6 a2 06 bc 1d 09 bd 24 09 99 f2 09 bd 2b 09 9d - .HS 7f 0a ca 10 ee a9 09 85 49 a9 86 a0 00 c9 f9 b0 - .HS 2f 85 48 84 60 84 4a 84 4c 84 4e 84 47 c8 84 42 - .HS c8 84 46 a9 0c 85 61 85 4b 20 12 09 b0 68 e6 61 - .HS e6 61 e6 46 a5 46 c9 06 90 ef ad 00 0c 0d 01 0c - .HS d0 6d a9 04 d0 02 a5 4a 18 6d 23 0c a8 90 0d e6 - .HS 4b a5 4b 4a b0 06 c9 0a f0 55 a0 04 84 4a ad 02 - .HS 09 29 0f a8 b1 4a d9 02 09 d0 db 88 10 f6 29 f0 - .HS c9 20 d0 3b a0 10 b1 4a c9 ff d0 33 c8 b1 4a 85 - .HS 46 c8 b1 4a 85 47 a9 00 85 4a a0 1e 84 4b 84 61 - .HS c8 84 4d 20 12 09 b0 17 e6 61 e6 61 a4 4e e6 4e - .HS b1 4a 85 46 b1 4c 85 47 11 4a d0 e7 4c 00 20 4c - .HS 3f 09 26 50 52 4f 44 4f 53 20 20 20 20 20 20 20 - .HS 20 20 a5 60 85 44 a5 61 85 45 6c 48 00 08 1e 24 - .HS 3f 45 47 76 f4 d7 d1 b6 4b b4 ac a6 2b 18 60 4c - .HS bc 09 a9 9f 48 a9 ff 48 a9 01 a2 00 4c 79 f4 20 - .HS 58 fc a0 1c b9 50 09 99 ae 05 88 10 f7 4c 4d 09 - .HS aa aa aa a0 d5 ce c1 c2 cc c5 a0 d4 cf a0 cc cf - .HS c1 c4 a0 d0 d2 cf c4 cf d3 a0 aa aa aa a5 53 29 - .HS 03 2a 05 2b aa bd 80 c0 a9 2c a2 11 ca d0 fd e9 - .HS 01 d0 f7 a6 2b 60 a5 46 29 07 c9 04 29 03 08 0a - .HS 28 2a 85 3d a5 47 4a a5 46 6a 4a 4a 85 41 0a 85 - .HS 51 a5 45 85 27 a6 2b bd 89 c0 20 bc 09 e6 27 e6 - .HS 3d e6 3d b0 03 20 bc 09 bc 88 c0 60 a5 40 0a 85 - .HS 53 a9 00 85 54 a5 53 85 50 38 e5 51 f0 14 b0 04 - .HS e6 53 90 02 c6 53 38 20 6d 09 a5 50 18 20 6f 09 - .HS d0 e3 a0 7f 84 52 08 28 38 c6 52 f0 ce 18 08 88 - .HS f0 f5 bd 8c c0 10 fb 00 00 00 00 00 00 00 00 00 +ProDOS.Boot .HS 01.38.b0.03.4c.32.a1.86.43.c9.03.08.8a.29.70.4a + .HS 4a.4a.4a.09.c0.85.49.a0.ff.84.48.28.c8.b1.48.d0 + .HS 3a.b0.0e.a9.03.8d.00.08.e6.3d.a5.49.48.a9.5b.48 + .HS 60.85.40.85.48.a0.63.b1.48.99.94.09.c8.c0.eb.d0 + .HS f6.a2.06.bc.1d.09.bd.24.09.99.f2.09.bd.2b.09.9d + .HS 7f.0a.ca.10.ee.a9.09.85.49.a9.86.a0.00.c9.f9.b0 + .HS 2f.85.48.84.60.84.4a.84.4c.84.4e.84.47.c8.84.42 + .HS c8.84.46.a9.0c.85.61.85.4b.20.12.09.b0.68.e6.61 + .HS e6.61.e6.46.a5.46.c9.06.90.ef.ad.00.0c.0d.01.0c + .HS d0.6d.a9.04.d0.02.a5.4a.18.6d.23.0c.a8.90.0d.e6 + .HS 4b.a5.4b.4a.b0.06.c9.0a.f0.55.a0.04.84.4a.ad.02 + .HS 09.29.0f.a8.b1.4a.d9.02.09.d0.db.88.10.f6.29.f0 + .HS c9.20.d0.3b.a0.10.b1.4a.c9.ff.d0.33.c8.b1.4a.85 + .HS 46.c8.b1.4a.85.47.a9.00.85.4a.a0.1e.84.4b.84.61 + .HS c8.84.4d.20.12.09.b0.17.e6.61.e6.61.a4.4e.e6.4e + .HS b1.4a.85.46.b1.4c.85.47.11.4a.d0.e7.4c.00.20.4c + .HS 3f.09.26.50.52.4f.44.4f.53.20.20.20.20.20.20.20 + .HS 20.20.a5.60.85.44.a5.61.85.45.6c.48.00.08.1e.24 + .HS 3f.45.47.76.f4.d7.d1.b6.4b.b4.ac.a6.2b.18.60.4c + .HS bc.09.a9.9f.48.a9.ff.48.a9.01.a2.00.4c.79.f4.20 + .HS 58.fc.a0.1c.b9.50.09.99.ae.05.88.10.f7.4c.4d.09 + .HS aa.aa.aa.a0.d5.ce.c1.c2.cc.c5.a0.d4.cf.a0.cc.cf + .HS c1.c4.a0.d0.d2.cf.c4.cf.d3.a0.aa.aa.aa.a5.53.29 + .HS 03.2a.05.2b.aa.bd.80.c0.a9.2c.a2.11.ca.d0.fd.e9 + .HS 01.d0.f7.a6.2b.60.a5.46.29.07.c9.04.29.03.08.0a + .HS 28.2a.85.3d.a5.47.4a.a5.46.6a.4a.4a.85.41.0a.85 + .HS 51.a5.45.85.27.a6.2b.bd.89.c0.20.bc.09.e6.27.e6 + .HS 3d.e6.3d.b0.03.20.bc.09.bc.88.c0.60.a5.40.0a.85 + .HS 53.a9.00.85.54.a5.53.85.50.38.e5.51.f0.14.b0.04 + .HS e6.53.90.02.c6.53.38.20.6d.09.a5.50.18.20.6f.09 + .HS d0.e3.a0.7f.84.52.08.28.38.c6.52.f0.ce.18.08.88 + .HS f0.f5.bd.8c.c0.10.fb.00.00.00.00.00.00.00.00.00 *-------------------------------------- VolDirHdr .DA 0 pointer to previous block .DA 3 pointer to next block VolDirHdr.Name .BS 16 - .HS 0000000000000000 + .HS 00.00.00.00.00.00.00.00 VolDirHdr.CT .BS 4 Creation time - .HS 0100C3270D version/min version/access/EL/EPB - .DA 0 File Count + .HS 01.00.C3.27.0D version/min version/access/EL/EPB + .DA 0 File Count=0 (only VDH) .DA 6 bitmap pointer (Block 2..5 are Volume directory) VolDirHdr.TB .BS 2 Total Blocks VolDirHdr.size .EQ *-VolDirHdr diff --git a/SBIN/SHELL.S.CMD.txt b/SBIN/SHELL.S.CMD.txt index b454ef1a..d4ba932d 100644 --- a/SBIN/SHELL.S.CMD.txt +++ b/SBIN/SHELL.S.CMD.txt @@ -10,8 +10,14 @@ AUTO 6 Cmd.ExecYA stz Cmd.Exec.Mode Cmd.ExecYA.1 >SYSCALL ExpandPStrYA >STYA ZPPtr1 - phx + + lda #'(' + >SYSCALL PutCA + >LDYA ZPPtr1 + >SYSCALL PPRintFYA + lda #')' + >SYSCALL PutCA ldy #1 ldx #0 ARGS len diff --git a/SYS/KERNEL.S.ENV.txt b/SYS/KERNEL.S.ENV.txt index 247f4361..b7c73133 100644 --- a/SYS/KERNEL.S.ENV.txt +++ b/SYS/KERNEL.S.ENV.txt @@ -172,6 +172,7 @@ K.ExpandPStr.End .BS 1 K.ExpandPStr.bFound .BS 1 K.ExpandPStr.bNoExp .BS 1 K.ExpandPStr.hPStr .BS 1 +K.ExpandPStr.Name .BS 16 */-------------------------------------- * # PutEnvYA * ## In: diff --git a/SYS/KERNEL.S.GP.txt b/SYS/KERNEL.S.GP.txt index f2a68cca..4ec0549d 100644 --- a/SYS/KERNEL.S.GP.txt +++ b/SYS/KERNEL.S.GP.txt @@ -122,6 +122,7 @@ A2osX.DIIDrv.RW >STYA A2osX.Blk.GetParam.1+1 jsr A2osX.Blk.GetParam jsr $D000 + cli jsr GO.A2osX rts *-------------------------------------- @@ -232,9 +233,10 @@ A2osX.DRV.BadCall sec rts *-------------------------------------- -GO.ProDOS lda $D000 We re coming from AUXLC, saving bank... +GO.ProDOS pha + lda $D000 We re coming from AUXLC, saving bank... sta GO.A2osX.BNK+1 - + pla php clc .HS 2C bit abs