mirror of https://github.com/A2osX/A2osX.git
Kernel 0.9.1 : Code reorganization & move to CSTR : FORMAT & Block devices
This commit is contained in:
parent
886ca8ec0a
commit
c29cc70671
Binary file not shown.
Binary file not shown.
133
BIN/FORMAT.S.txt
133
BIN/FORMAT.S.txt
|
@ -35,7 +35,6 @@ CS.START cld
|
|||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.LIBBLKDEV .DA LIBBLKDEV
|
||||
L.BlkParams.Ptr .DA BlkParams.Ptr
|
||||
L.MSG.USAGE .DA MSG.USAGE
|
||||
L.MSG.INIT .DA MSG.INIT
|
||||
L.MSG.OK .DA MSG.OK
|
||||
|
@ -45,7 +44,7 @@ L.MSG.ERR .DA MSG.ERR
|
|||
CS.INIT ldy #S.PS.ARGC
|
||||
lda (pPs),y
|
||||
beq .99
|
||||
|
||||
|
||||
.1 >INC.G ArgIndex
|
||||
|
||||
>SYSCALL GetArg.A
|
||||
|
@ -78,16 +77,14 @@ CS.INIT ldy #S.PS.ARGC
|
|||
sta (pData),y
|
||||
bra .1
|
||||
|
||||
.4 ldy #hDev
|
||||
lda (pData),y
|
||||
.4 >LDA.G hDev
|
||||
bne .5 Already have a dev name...go get VolName
|
||||
|
||||
>LDYA ZPPtr1
|
||||
>SYSCALL GetDevByName.YA
|
||||
bcs .99
|
||||
txa
|
||||
ldy #hDev
|
||||
sta (pData),y
|
||||
>STA.G hDev
|
||||
bra .1
|
||||
|
||||
.5 ldy #$ff
|
||||
|
@ -99,46 +96,63 @@ CS.INIT ldy #S.PS.ARGC
|
|||
|
||||
lda (ZPPtr1),y
|
||||
sta (pData),y
|
||||
bne .6 success, scan for any other args
|
||||
bra .1
|
||||
bne .6
|
||||
bra .1 success, scan for any other args
|
||||
|
||||
.7 lda (pData)
|
||||
.7 >LDA.G VolName
|
||||
bne .8 Volume name ok
|
||||
|
||||
ldx #$ff
|
||||
ldy #VolName-1
|
||||
|
||||
.71 inx
|
||||
iny
|
||||
lda BLANK,x
|
||||
sta (pData),y
|
||||
bne .71
|
||||
|
||||
lda A2osX.TIMER16
|
||||
jsr A2CharAX
|
||||
sta DefaultVolName+6
|
||||
stx DefaultVolName+7
|
||||
sta (pData),y
|
||||
iny
|
||||
txa
|
||||
sta (pData),y
|
||||
iny
|
||||
|
||||
lda A2osX.TIMER16+1
|
||||
jsr A2CharAX
|
||||
sta DefaultVolName+8
|
||||
stx DefaultVolName+9
|
||||
sta (pData),y
|
||||
iny
|
||||
txa
|
||||
sta (pData),y
|
||||
iny
|
||||
|
||||
lda A2osX.RANDOM16
|
||||
jsr A2CharAX
|
||||
sta DefaultVolName+10
|
||||
stx DefaultVolName+11
|
||||
sta (pData),y
|
||||
iny
|
||||
txa
|
||||
sta (pData),y
|
||||
iny
|
||||
|
||||
lda A2osX.RANDOM16+1
|
||||
jsr A2CharAX
|
||||
sta DefaultVolName+12
|
||||
stx DefaultVolName+13
|
||||
|
||||
ldy DefaultVolName
|
||||
|
||||
.71 lda DefaultVolName,y
|
||||
sta (pData),y
|
||||
dey
|
||||
bpl .71
|
||||
iny
|
||||
txa
|
||||
sta (pData),y
|
||||
iny
|
||||
|
||||
lda #0
|
||||
sta (pData),y
|
||||
|
||||
.8 >LDYA L.LIBBLKDEV
|
||||
>SYSCALL LoadLib.YA
|
||||
sta hLIBBLKDEV
|
||||
|
||||
lda (pPs)
|
||||
ora #S.PS.F.EVENT Now accept events
|
||||
sta (pPs)
|
||||
* lda (pPs)
|
||||
* ora #S.PS.F.EVENT Now accept events
|
||||
* sta (pPs)
|
||||
|
||||
clc
|
||||
rts
|
||||
|
@ -163,20 +177,19 @@ CS.RUN jsr CS.RUN.BuildCat
|
|||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.BuildCat ldy #hDev
|
||||
lda (pData),y
|
||||
CS.RUN.BuildCat >LDA.G hDev
|
||||
>SYSCALL GetDevStatus.A
|
||||
|
||||
bcs .99
|
||||
>STYA ZPPtr1
|
||||
ldy #S.DEVSTAT.SIZE
|
||||
lda (ZPPtr1),y
|
||||
sta SizeInBlocks
|
||||
iny
|
||||
>STA.G SizeInBlocks
|
||||
ldy #S.DEVSTAT.SIZE+1
|
||||
lda (ZPPtr1),y
|
||||
sta SizeInBlocks+1
|
||||
>STA.G SizeInBlocks+1
|
||||
|
||||
ldy #hDev
|
||||
>LDA.G hDev
|
||||
lda (pData),y
|
||||
>SYSCALL GetDevByID.A
|
||||
bcs .99
|
||||
|
@ -189,59 +202,59 @@ CS.RUN.BuildCat ldy #hDev
|
|||
adc /S.DEV.NAME
|
||||
sta ZPPtr2+1
|
||||
|
||||
>PUSHW pData
|
||||
>PUSHW SizeInBlocks
|
||||
>PUSHEA.G VolName
|
||||
>PUSHW.G SizeInBlocks
|
||||
>PUSHW ZPPtr2
|
||||
|
||||
>LDYA L.MSG.INIT
|
||||
>SYSCALL PrintF.YA
|
||||
bcs .9
|
||||
.99 bcs .9
|
||||
|
||||
>PUSHW SizeInBlocks
|
||||
>PUSHW.G SizeInBlocks
|
||||
>LIBCALL hLIBBLKDEV,LIBBLKDEV.GetProDOSCatSize
|
||||
|
||||
.99 bcs .9
|
||||
stx BlkCnt
|
||||
bcs .9
|
||||
phy
|
||||
pha
|
||||
>STA.G BlkCnt
|
||||
pla
|
||||
ply
|
||||
|
||||
>SYSCALL GetMem0.YA BufferSize
|
||||
bcs .9
|
||||
>STYA BlkParams.Ptr
|
||||
txa
|
||||
ldy #hBuf
|
||||
sta (pData),y
|
||||
>STA.G hBuf
|
||||
|
||||
>PUSHW SizeInBlocks
|
||||
>PUSHW pData
|
||||
>PUSHW.G SizeInBlocks
|
||||
>PUSHEA.G VolName
|
||||
>PUSHW BlkParams.Ptr
|
||||
>LIBCALL hLIBBLKDEV,LIBBLKDEV.BuildProDOSCat
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.WriteCat stz BlkParams.Num
|
||||
stz BlkParams.Num+1
|
||||
|
||||
ldy #hDev
|
||||
lda (pData),y
|
||||
CS.RUN.WriteCat >LDA.G hDev
|
||||
>SYSCALL GetDevByID.A
|
||||
bcs .9
|
||||
>STYA pDev
|
||||
|
||||
.1 >LDYA L.BlkParams.Ptr
|
||||
.1 >LEA.G BlkParams.Ptr
|
||||
ldx #DEVMGR.WRITEBLOCK
|
||||
|
||||
jsr pDevJmp
|
||||
bcs .9
|
||||
inc BlkParams.Ptr+1
|
||||
inc BlkParams.Ptr+1
|
||||
inc BlkParams.Num
|
||||
dec BlkCnt
|
||||
>LDA.G BlkParams.Ptr+1
|
||||
* clc
|
||||
adc #2
|
||||
sta (pData),y
|
||||
|
||||
>DEC.G BlkCnt
|
||||
bne .1
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.DOEVENT sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.QUIT ldy #hBuf
|
||||
lda (pData),y
|
||||
CS.QUIT >LDA.G hBuf
|
||||
beq .1
|
||||
>SYSCALL FreeMem.A
|
||||
|
||||
|
@ -283,21 +296,21 @@ MSG.ERR >CSTR "[%h]\r\n"
|
|||
MSG.INIT >CSTR "Formatting %s (%D Blks),Volname:%s..."
|
||||
*--------------------------------------
|
||||
LIBBLKDEV >CSTR "libblkdev.o"
|
||||
DefaultVolName >CSTR "BLANKXXXXXXXX"
|
||||
BLANK >CSTR "BLANK"
|
||||
hLIBBLKDEV .BS 1
|
||||
SizeInBlocks .BS 2
|
||||
BlkCnt .BS 1
|
||||
BlkParams.Ptr .BS 2
|
||||
BlkParams.Num .BS 2
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
DS.START
|
||||
ArgIndex .BS 1
|
||||
bLL .BS 1
|
||||
VolName .BS 16
|
||||
hDev .BS 5
|
||||
SizeInBlocks .BS 2
|
||||
BlkCnt .BS 1
|
||||
BlkParams.Ptr .BS 2
|
||||
BlkParams.Num .BS 2
|
||||
hBuf .BS 1
|
||||
bLL .BS 1
|
||||
DS.END
|
||||
.ED
|
||||
*--------------------------------------
|
||||
|
|
|
@ -126,6 +126,13 @@ AUTO 6
|
|||
>LEA.G ]1
|
||||
>PUSHYA
|
||||
.EM
|
||||
*--------------------------------------
|
||||
.MA PUSHW.G
|
||||
>LDA.G ]1+1
|
||||
>PUSHA
|
||||
>LDA.G ]1
|
||||
>PUSHA
|
||||
.EM
|
||||
*--------------------------------------
|
||||
.MA LDA.G
|
||||
ldy #]1
|
||||
|
|
|
@ -161,17 +161,16 @@ BuildProDOSCat >PULLW ZPPtr1 DstBuf
|
|||
|
||||
* Directory Blocks
|
||||
|
||||
lda (ZPPtr2) VolName Len
|
||||
.3 lda (ZPPtr2),y
|
||||
iny
|
||||
sta VolDirHdr.Name,y
|
||||
bne .3
|
||||
|
||||
tya
|
||||
and #$0f make sure 15 bytes max
|
||||
tay
|
||||
ora #$F0 Volume Directory Header
|
||||
sta VolDirHdr.Name
|
||||
|
||||
.3 lda (ZPPtr2),y
|
||||
sta VolDirHdr.Name,y
|
||||
dey
|
||||
bne .3
|
||||
|
||||
ldy #VolDirHdr.size-1
|
||||
|
||||
.4 lda VolDirHdr,y
|
||||
|
@ -326,11 +325,11 @@ D2TrkWNIB >PULLB DrvSlt
|
|||
|
||||
ldy #TrkWriter.Size
|
||||
|
||||
.7 lda TrkWriter,y
|
||||
sta UsrBuf256,y
|
||||
dey
|
||||
bne .7
|
||||
jmp UsrBuf256
|
||||
*.7 lda TrkWriter,y
|
||||
* sta UsrBuf256,y
|
||||
* dey
|
||||
* bne .7
|
||||
* jmp UsrBuf256
|
||||
|
||||
|
||||
clc
|
||||
|
|
Loading…
Reference in New Issue