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