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
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

View File

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

View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -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