Kernel version 0.9 : FORMAT Cmd OK (without LL)

This commit is contained in:
Rémy GIBERT 2017-03-31 17:24:42 +02:00
parent 3d676326c6
commit 14275e29d2
9 changed files with 91 additions and 85 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -184,10 +184,10 @@ CS.RUN.BuildCat ldy #hDev
>STYA ZPPtr1 >STYA ZPPtr1
ldy #S.DEVSTAT.SIZE ldy #S.DEVSTAT.SIZE
lda (ZPPtr1),y lda (ZPPtr1),y
sta BlockSize sta SizeInBlocks
iny iny
lda (ZPPtr1),y lda (ZPPtr1),y
sta BlockSize+1 sta SizeInBlocks+1
ldy #hDev ldy #hDev
lda (pData),y lda (pData),y
@ -203,14 +203,14 @@ CS.RUN.BuildCat ldy #hDev
sta ZPPtr2+1 sta ZPPtr2+1
>PUSHW pData >PUSHW pData
>PUSHW BlockSize >PUSHW SizeInBlocks
>PUSHW ZPPtr2 >PUSHW ZPPtr2
>LDYA L.MSG.INIT >LDYA L.MSG.INIT
>SYSCALL CPrintFYA >SYSCALL CPrintFYA
bcs .9 bcs .9
>PUSHW BlockSize >PUSHW SizeInBlocks
>LIBCALL hLIBBLKDEV,LIBBLKDEV.GetProDOSCatSize >LIBCALL hLIBBLKDEV,LIBBLKDEV.GetProDOSCatSize
.99 bcs .9 .99 bcs .9
@ -225,10 +225,9 @@ CS.RUN.BuildCat ldy #hDev
ldy #hBuf ldy #hBuf
sta (pData),y sta (pData),y
>PUSHW BlockSize >PUSHW SizeInBlocks
>PUSHW pData >PUSHW pData
>PUSHW BlkParams.Ptr >PUSHW BlkParams.Ptr
>LIBCALL hLIBBLKDEV,LIBBLKDEV.BuildProDOSCat >LIBCALL hLIBBLKDEV,LIBBLKDEV.BuildProDOSCat
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
@ -244,7 +243,6 @@ CS.RUN.WriteCat stz BlkParams.Num
.1 >LDYA L.BlkParams.Ptr .1 >LDYA L.BlkParams.Ptr
ldx #DEVMGR.WRITEBLOCK ldx #DEVMGR.WRITEBLOCK
>DEBUG
jsr pDevJmp jsr pDevJmp
bcs .9 bcs .9
inc BlkParams.Ptr+1 inc BlkParams.Ptr+1
@ -304,8 +302,7 @@ DefaultVolName >PSTR "BLANKXXXXXXXX"
ArgCount .BS 1 ArgCount .BS 1
ArgIndex .BS 1 ArgIndex .BS 1
hLIBBLKDEV .BS 1 hLIBBLKDEV .BS 1
BlockSize .BS 2 SizeInBlocks .BS 2
hBuf .BS 1
BlkCnt .BS 1 BlkCnt .BS 1
BlkParams.Ptr .BS 2 BlkParams.Ptr .BS 2
BlkParams.Num .BS 2 BlkParams.Num .BS 2
@ -315,6 +312,7 @@ BlkParams.Num .BS 2
DS.START DS.START
VolName .BS 16 VolName .BS 16
hDev .BS 5 hDev .BS 5
hBuf .BS 1
bLL .BS 1 bLL .BS 1
DS.END DS.END
.ED .ED

View File

@ -169,9 +169,9 @@ CS.RUN >SYSCALL GetC
bcs .92 bcs .92
jsr BasePath.. jsr BasePath..
jsr GetNextEntry
.8 clc .8 jsr GetNextEntry
clc
rts rts
.92 lda #0 .92 lda #0

View File

@ -128,6 +128,7 @@ BuildProDOSCat >PULLW ZPPtr1 DstBuf
>PULLW VolDirHdr.TB >PULLW VolDirHdr.TB
ldx #3 ldx #3
.10 lda DATELO,x .10 lda DATELO,x
sta VolDirHdr.CT,x sta VolDirHdr.CT,x
dex dex
@ -138,23 +139,21 @@ BuildProDOSCat >PULLW ZPPtr1 DstBuf
>STYA ZPPtr3 >STYA ZPPtr3
ldy #0 ldy #0
ldx #2 2 pages
.1 lda (ZPPtr3),y .1 lda (ZPPtr3),y
sta (ZPPtr1),y sta (ZPPtr1),y
iny iny
bne .1 bne .1
inc ZPPtr3 inc ZPPtr3+1
inc ZPPtr1 inc ZPPtr1+1
.2 lda (ZPPtr3),y dex
sta (ZPPtr1),y bne .1
iny
bne .2
inc ZPPtr1 Blk 1 inc ZPPtr1+1 Skip Blk 2 (SOS boot code)
inc ZPPtr1 inc ZPPtr1+1
inc ZPPtr1 Blk 2
* Directory Blocks * Directory Blocks
@ -167,45 +166,45 @@ BuildProDOSCat >PULLW ZPPtr1 DstBuf
.3 lda (ZPPtr2),y .3 lda (ZPPtr2),y
sta VolDirHdr.Name,y sta VolDirHdr.Name,y
dey dey
bpl .3 bne .3
ldy #VolDirHdr.size ldy #VolDirHdr.size-1
.4 lda VolDirHdr,y .4 lda VolDirHdr,y
sta (ZPPtr1),y sta (ZPPtr1),y
dey dey
bpl .4 bpl .4
inc ZPPtr1 inc ZPPtr1+1
inc ZPPtr1 Blk 3 inc ZPPtr1+1 Blk 3
ldy #2
lda #2 lda #2
sta (ZPPtr1) sta (ZPPtr1)
lda #4 lda #4
ldy #2
sta (ZPPtr1),y sta (ZPPtr1),y
inc ZPPtr1 inc ZPPtr1+1
inc ZPPtr1 Blk 4 inc ZPPtr1+1 Blk 4
lda #3 lda #3
sta (ZPPtr1) sta (ZPPtr1)
lda #5 lda #5
ldy #2
sta (ZPPtr1),y sta (ZPPtr1),y
inc ZPPtr1 inc ZPPtr1+1
inc ZPPtr1 Blk 5 inc ZPPtr1+1 Blk 5
lda #4 lda #4
sta (ZPPtr1) sta (ZPPtr1)
inc ZPPtr1 inc ZPPtr1+1
inc ZPPtr1 Blk 6 inc ZPPtr1+1 Blk 6
* BitMap Blocks : 0=Used 1=free * BitMap Blocks : 0=Used 1=free
>LDAX VolDirHdr.TB+1 >LDAX VolDirHdr.TB
jsr GetProDOSCatSizeAX X=blk used for boot/dir/bitmap jsr GetProDOSCatSizeAX X=blk used for boot/dir/bitmap
lda VolDirHdr.TB lda VolDirHdr.TB
@ -214,23 +213,22 @@ BuildProDOSCat >PULLW ZPPtr1 DstBuf
lda VolDirHdr.TB+1 lda VolDirHdr.TB+1
eor #$ff eor #$ff
sta Count+1 sta Count+1
txa
clc
adc VolDirHdr.TB
sta VolDirHdr.TB
bcc .51
inc Count+1
.51 ldy #0 ldy #0
.5 lda #%10000000 .50 lda #%10000000
.6 dex
.5 dex
bmi .8 bmi .8
asl inc Count
bne .6 bne .6
iny inc Count+1
.6 lsr
bne .5 bne .5
iny
bne .50
.7 lda #%10000000 .7 lda #%10000000
@ -243,7 +241,7 @@ BuildProDOSCat >PULLW ZPPtr1 DstBuf
eor (ZPPtr1),y eor (ZPPtr1),y
sta (ZPPtr1),y sta (ZPPtr1),y
pla pla
asl lsr
bne .8 bne .8
iny iny
bne .7 bne .7
@ -352,7 +350,8 @@ LIB.UNLOAD clc
DrvTrkSelect jsr DrvSelect DrvTrkSelect jsr DrvSelect
clc
rts
*-------------------------------------- *--------------------------------------
* A=DSSS0000 * A=DSSS0000
*-------------------------------------- *--------------------------------------
@ -494,46 +493,46 @@ TrkWriter.Start lda D2ReadMode,x
TrkWriter.Size .EQ *-TrkWriter.Start TrkWriter.Size .EQ *-TrkWriter.Start
.EP .EP
*-------------------------------------- *--------------------------------------
ProDOS.Boot .HS 01 38 b0 03 4c 32 a1 86 43 c9 03 08 8a 29 70 4a 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 .HS f0.f5.bd.8c.c0.10.fb.00.00.00.00.00.00.00.00.00
*-------------------------------------- *--------------------------------------
VolDirHdr .DA 0 pointer to previous block VolDirHdr .DA 0 pointer to previous block
.DA 3 pointer to next block .DA 3 pointer to next block
VolDirHdr.Name .BS 16 VolDirHdr.Name .BS 16
.HS 0000000000000000 .HS 00.00.00.00.00.00.00.00
VolDirHdr.CT .BS 4 Creation time VolDirHdr.CT .BS 4 Creation time
.HS 0100C3270D version/min version/access/EL/EPB .HS 01.00.C3.27.0D version/min version/access/EL/EPB
.DA 0 File Count .DA 0 File Count=0 (only VDH)
.DA 6 bitmap pointer (Block 2..5 are Volume directory) .DA 6 bitmap pointer (Block 2..5 are Volume directory)
VolDirHdr.TB .BS 2 Total Blocks VolDirHdr.TB .BS 2 Total Blocks
VolDirHdr.size .EQ *-VolDirHdr VolDirHdr.size .EQ *-VolDirHdr

View File

@ -10,8 +10,14 @@ AUTO 6
Cmd.ExecYA stz Cmd.Exec.Mode Cmd.ExecYA stz Cmd.Exec.Mode
Cmd.ExecYA.1 >SYSCALL ExpandPStrYA Cmd.ExecYA.1 >SYSCALL ExpandPStrYA
>STYA ZPPtr1 >STYA ZPPtr1
phx phx
lda #'('
>SYSCALL PutCA
>LDYA ZPPtr1
>SYSCALL PPRintFYA
lda #')'
>SYSCALL PutCA
ldy #1 ldy #1
ldx #0 ARGS len ldx #0 ARGS len

View File

@ -172,6 +172,7 @@ K.ExpandPStr.End .BS 1
K.ExpandPStr.bFound .BS 1 K.ExpandPStr.bFound .BS 1
K.ExpandPStr.bNoExp .BS 1 K.ExpandPStr.bNoExp .BS 1
K.ExpandPStr.hPStr .BS 1 K.ExpandPStr.hPStr .BS 1
K.ExpandPStr.Name .BS 16
*/-------------------------------------- */--------------------------------------
* # PutEnvYA * # PutEnvYA
* ## In: * ## In:

View File

@ -122,6 +122,7 @@ A2osX.DIIDrv.RW >STYA A2osX.Blk.GetParam.1+1
jsr A2osX.Blk.GetParam jsr A2osX.Blk.GetParam
jsr $D000 jsr $D000
cli
jsr GO.A2osX jsr GO.A2osX
rts rts
*-------------------------------------- *--------------------------------------
@ -232,9 +233,10 @@ A2osX.DRV.BadCall
sec sec
rts 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 sta GO.A2osX.BNK+1
pla
php php
clc clc
.HS 2C bit abs .HS 2C bit abs