mirror of
https://github.com/A2osX/A2osX.git
synced 2024-08-10 00:29:09 +00:00
Kernel 0.93+
This commit is contained in:
parent
d2f384b08e
commit
61f93343af
Binary file not shown.
Binary file not shown.
@ -296,15 +296,9 @@ StrMode .BS 1
|
|||||||
|
|
||||||
bPause .BS 1
|
bPause .BS 1
|
||||||
|
|
||||||
hFullPath .BS 1
|
|
||||||
hSrcFullPath .BS 1
|
hSrcFullPath .BS 1
|
||||||
STAT .BS S.STAT
|
|
||||||
Index .BS 1
|
.INB USR/SRC/BIN/X.FILEENUM.G
|
||||||
hDIRs .BS X.MAX.RECURSE
|
|
||||||
hDIRENTs .BS X.MAX.RECURSE
|
|
||||||
oDIRENTs .BS X.MAX.RECURSE*2
|
|
||||||
hSrcBasePath .BS 1
|
|
||||||
hFilter .BS 1
|
|
||||||
|
|
||||||
DS.END
|
DS.END
|
||||||
.ED
|
.ED
|
||||||
|
224
BIN/FORMAT.S.txt
224
BIN/FORMAT.S.txt
@ -19,6 +19,17 @@ ZPPtr1 .BS 2
|
|||||||
ZPPtr2 .BS 2
|
ZPPtr2 .BS 2
|
||||||
ZPPtrFD .BS 2
|
ZPPtrFD .BS 2
|
||||||
ZPPtrDevName .BS 2
|
ZPPtrDevName .BS 2
|
||||||
|
|
||||||
|
ArgIndex .BS 1
|
||||||
|
|
||||||
|
hDevID .BS 1
|
||||||
|
bLL .BS 1
|
||||||
|
bCustomBlkSize .BS 1
|
||||||
|
MediaBlkSize .BS 2
|
||||||
|
CatSize .BS 1
|
||||||
|
CatBlkCnt .BS 1
|
||||||
|
CatOptions .BS 1
|
||||||
|
|
||||||
ZS.END
|
ZS.END
|
||||||
.ED
|
.ED
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -51,77 +62,93 @@ L.MSG.INIT .DA MSG.INIT
|
|||||||
L.FMT.BLANK .DA FMT.BLANK
|
L.FMT.BLANK .DA FMT.BLANK
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.INIT ldy #S.PS.ARGC
|
CS.INIT >LDYA L.LIBBLKDEV
|
||||||
lda (pPs),y
|
>SYSCALL LoadLib
|
||||||
beq .90
|
bcs .9
|
||||||
|
sta hLIBBLKDEV
|
||||||
|
|
||||||
.1 >INC.G ArgIndex
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.RUN ldy #S.PS.ARGC
|
||||||
|
lda (pPs),y
|
||||||
|
beq .99
|
||||||
|
|
||||||
|
.1 inc ArgIndex
|
||||||
|
lda ArgIndex
|
||||||
>SYSCALL ArgV
|
>SYSCALL ArgV
|
||||||
bcc .11
|
bcc .11
|
||||||
|
|
||||||
jmp .8
|
jmp .8
|
||||||
|
|
||||||
.11 >STYA ZPPtr1
|
.11 >STYA ZPPtr1
|
||||||
lda (ZPPtr1)
|
lda (ZPPtr1)
|
||||||
cmp #'-'
|
cmp #'-'
|
||||||
bne .4
|
bne .4
|
||||||
|
|
||||||
ldy #1
|
ldy #1
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
beq .90
|
beq .99
|
||||||
|
|
||||||
cmp #'0'
|
cmp #'0'
|
||||||
bcc .20
|
bcc .2
|
||||||
cmp #'9'+1
|
cmp #'9'+1
|
||||||
bcs .20
|
bcs .2
|
||||||
and #$0F
|
and #$0F
|
||||||
>STA.G CatSize
|
sta CatSize
|
||||||
bra .1
|
.10 bra .1
|
||||||
.20 ldx OptionList
|
|
||||||
.2 cmp OptionList,x
|
|
||||||
beq .3
|
|
||||||
dex
|
|
||||||
bne .2
|
|
||||||
.90 bra .99
|
|
||||||
.3 ldy OptionVars-1,x
|
|
||||||
lda #$80
|
|
||||||
sta (pData),y
|
|
||||||
bra .1
|
|
||||||
.4 >LDA.G hDevID
|
|
||||||
bne .5 Already have a dev...go get VolName
|
|
||||||
|
|
||||||
>LDYA ZPPtr1
|
.2 jsr CS.RUN.CheckOpt
|
||||||
>SYSCALL GetDevByName
|
|
||||||
bcs .99
|
bcs .99
|
||||||
>STYA ZPPtrFD
|
|
||||||
txa
|
cpy #bCustomBlkSize
|
||||||
>STA.G hDevID
|
bne .1
|
||||||
>LDYA ZPPtr1
|
|
||||||
>STYA ZPPtrDevName
|
inc ArgIndex
|
||||||
|
lda ArgIndex
|
||||||
|
>SYSCALL ArgV
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
>SYSCALL atoi
|
||||||
|
>STYA MediaBlkSize
|
||||||
bra .1
|
bra .1
|
||||||
.5 ldy #$ff
|
|
||||||
.6 iny
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
beq .61
|
|
||||||
cpy #15
|
|
||||||
beq .99 VolName too long
|
|
||||||
|
|
||||||
.61 >PUSHW ZPPtr1
|
|
||||||
>LEA.G VolName
|
|
||||||
>SYSCALL StrCpy
|
|
||||||
jmp .1 success, scan for any other args
|
|
||||||
|
|
||||||
.8 >LDYA L.LIBBLKDEV
|
|
||||||
>SYSCALL LoadLib
|
|
||||||
bcs .9
|
|
||||||
sta hLIBBLKDEV
|
|
||||||
clc
|
|
||||||
.9 rts
|
|
||||||
.99 >PUSHBI 0
|
.99 >PUSHBI 0
|
||||||
>LDYA L.MSG.USAGE
|
>LDYA L.MSG.USAGE
|
||||||
>SYSCALL printf
|
>SYSCALL printf
|
||||||
lda #E.SYN
|
lda #E.SYN
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
.4 lda hDevID
|
||||||
|
bne .5 Already have a dev...go get VolName
|
||||||
|
|
||||||
|
>LDYA ZPPtr1
|
||||||
|
>SYSCALL GetDevByName
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
>STYA ZPPtrFD
|
||||||
|
stx hDevID
|
||||||
|
>LDYA ZPPtr1
|
||||||
|
>STYA ZPPtrDevName
|
||||||
|
bra .10
|
||||||
|
|
||||||
|
.5 ldy #$ff
|
||||||
|
|
||||||
|
.6 iny
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
sta (pData),y VolName
|
||||||
|
beq .10
|
||||||
|
|
||||||
|
cpy #16
|
||||||
|
bcc .6
|
||||||
|
bra .99 VolName too long
|
||||||
|
|
||||||
|
.8 lda hDevID
|
||||||
|
beq .99
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN jsr CS.RUN.InitCat
|
CS.RUN.Format jsr CS.RUN.GetBlockSize
|
||||||
|
bcs .9
|
||||||
|
jsr CS.RUN.InitCat
|
||||||
bcs .9
|
bcs .9
|
||||||
jsr CS.RUN.BuildCat
|
jsr CS.RUN.BuildCat
|
||||||
bcs .9
|
bcs .9
|
||||||
@ -133,6 +160,7 @@ CS.RUN jsr CS.RUN.InitCat
|
|||||||
lda #0
|
lda #0
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.9 pha
|
.9 pha
|
||||||
>PUSHA
|
>PUSHA
|
||||||
>PUSHBI 1
|
>PUSHBI 1
|
||||||
@ -142,10 +170,39 @@ CS.RUN jsr CS.RUN.InitCat
|
|||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.InitCat >LDA.G CatSize
|
CS.RUN.GetBlockSize
|
||||||
|
lda bCustomBlkSize
|
||||||
|
bmi .8
|
||||||
|
|
||||||
|
>PUSHEA.G DIB
|
||||||
|
lda hDevID
|
||||||
|
|
||||||
|
>SYSCALL GetDevStatus
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
>LDA.G DIB+S.DIB.SIZE
|
||||||
|
tax
|
||||||
|
iny
|
||||||
|
ora (pData),y
|
||||||
|
beq .9
|
||||||
|
|
||||||
|
lda (pData),y
|
||||||
|
sta MediaBlkSize+1
|
||||||
|
stx MediaBlkSize
|
||||||
|
.8 clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
.9 >LDYA L.MSG.NOSIZE
|
||||||
|
>SYSCALL puts
|
||||||
|
lda #MLI.E.IO
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.RUN.InitCat lda CatSize
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
lda #4
|
lda #4
|
||||||
sta (pData),y
|
sta CatSize
|
||||||
|
|
||||||
.1 >LDA.G VolName
|
.1 >LDA.G VolName
|
||||||
bne .8 Volume name ok
|
bne .8 Volume name ok
|
||||||
@ -157,44 +214,26 @@ CS.RUN.InitCat >LDA.G CatSize
|
|||||||
>LEA.G VolName
|
>LEA.G VolName
|
||||||
>SYSCALL sprintf
|
>SYSCALL sprintf
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.BuildCat >PUSHEA.G DIB
|
CS.RUN.BuildCat >PUSHEA.G VolName
|
||||||
>LDA.G hDevID
|
>PUSHW MediaBlkSize
|
||||||
|
|
||||||
>SYSCALL GetDevStatus
|
|
||||||
bcs .99
|
|
||||||
>LDA.G DIB+S.DIB.SIZE
|
|
||||||
iny
|
|
||||||
ora (pData),y
|
|
||||||
bne .1
|
|
||||||
>PUSHBI 0
|
|
||||||
>LDYA L.MSG.NOSIZE
|
|
||||||
>SYSCALL printf
|
|
||||||
lda #MLI.E.IO
|
|
||||||
sec
|
|
||||||
rts
|
|
||||||
.1 >PUSHEA.G VolName
|
|
||||||
>PUSHW.G DIB+S.DIB.SIZE
|
|
||||||
>PUSHW ZPPtrDevName
|
>PUSHW ZPPtrDevName
|
||||||
|
|
||||||
>PUSHBI 6
|
>PUSHBI 6
|
||||||
>LDYA L.MSG.INIT
|
>LDYA L.MSG.INIT
|
||||||
>SYSCALL printf
|
>SYSCALL printf
|
||||||
.99 bcs .9
|
bcs .9
|
||||||
|
|
||||||
jsr .7
|
jsr .7
|
||||||
|
|
||||||
>LIBCALL hLIBBLKDEV,LIBBLKDEV.GetProDOSCatSize
|
>LIBCALL hLIBBLKDEV,LIBBLKDEV.GetProDOSCatSize
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
phy
|
stx CatBlkCnt
|
||||||
pha
|
|
||||||
txa
|
|
||||||
>STA.G BlkCnt
|
|
||||||
pla
|
|
||||||
ply
|
|
||||||
>SYSCALL GetMem0 BufferSize
|
>SYSCALL GetMem0 BufferSize
|
||||||
bcs .9
|
bcs .9
|
||||||
phx
|
phx
|
||||||
@ -207,14 +246,14 @@ CS.RUN.BuildCat >PUSHEA.G DIB
|
|||||||
>LIBCALL hLIBBLKDEV,LIBBLKDEV.BuildProDOSCat
|
>LIBCALL hLIBBLKDEV,LIBBLKDEV.BuildProDOSCat
|
||||||
.9 rts
|
.9 rts
|
||||||
|
|
||||||
.7 >PUSHW.G DIB+S.DIB.SIZE
|
.7 >PUSHW MediaBlkSize
|
||||||
>PUSHB.G CatSize
|
>PUSHB CatSize
|
||||||
>PUSHB.G CatOptions
|
>PUSHB CatOptions
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.WriteCat >PUSHEA.G IOCTL
|
CS.RUN.WriteCat >PUSHEA.G IOCTL
|
||||||
>PUSHBI IOCTL.WRITEBLOCK
|
>PUSHBI IOCTL.WRITEBLOCK
|
||||||
>LDA.G hDevID
|
lda hDevID
|
||||||
|
|
||||||
>SYSCALL IOCTL
|
>SYSCALL IOCTL
|
||||||
bcs .9
|
bcs .9
|
||||||
@ -226,7 +265,7 @@ CS.RUN.WriteCat >PUSHEA.G IOCTL
|
|||||||
sta (pData),y
|
sta (pData),y
|
||||||
>INC.G IOCTL+S.IOCTL.BLKNUM
|
>INC.G IOCTL+S.IOCTL.BLKNUM
|
||||||
>SLEEP
|
>SLEEP
|
||||||
>DEC.G BlkCnt
|
dec CatBlkCnt
|
||||||
bne CS.RUN.WriteCat
|
bne CS.RUN.WriteCat
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -242,6 +281,25 @@ CS.QUIT >LDA.G hBuf
|
|||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
CS.RUN.CheckOpt ldy #1
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
|
||||||
|
ldx #OptionVars-OptionList-1
|
||||||
|
|
||||||
|
.2 cmp OptionList,x
|
||||||
|
beq .3
|
||||||
|
dex
|
||||||
|
bpl .2
|
||||||
|
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
|
||||||
|
.3 ldy OptionVars,x
|
||||||
|
ldx #$ff
|
||||||
|
stx 0,y
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
CS.END
|
CS.END
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
LIBBLKDEV .AZ "libblkdev"
|
LIBBLKDEV .AZ "libblkdev"
|
||||||
@ -249,6 +307,7 @@ hLIBBLKDEV .BS 1
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MSG.USAGE .AS "Usage : FORMAT <BLOCKDEV> [VOLUME.NAME]\r\n"
|
MSG.USAGE .AS "Usage : FORMAT <BLOCKDEV> [VOLUME.NAME]\r\n"
|
||||||
.AS " -L : Low-Level Format\r\n"
|
.AS " -L : Low-Level Format\r\n"
|
||||||
|
.AS " -B xxxx : override Device block size\r\n"
|
||||||
.AZ " -1-9 : Catalog Size (Blocks)\r\n"
|
.AZ " -1-9 : Catalog Size (Blocks)\r\n"
|
||||||
MSG.OK .AZ "[OK]"
|
MSG.OK .AZ "[OK]"
|
||||||
MSG.ERR .AZ "[%h]\r\n"
|
MSG.ERR .AZ "[%h]\r\n"
|
||||||
@ -256,19 +315,14 @@ MSG.NOSIZE .AZ "Unable to get media size."
|
|||||||
MSG.INIT .AZ "Formatting %s (%D Blks),Volname:%s..."
|
MSG.INIT .AZ "Formatting %s (%D Blks),Volname:%s..."
|
||||||
FMT.BLANK .AZ "BLANK%H%H"
|
FMT.BLANK .AZ "BLANK%H%H"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
OptionList >PSTR "Ll"
|
OptionList .AS "LlBb"
|
||||||
OptionVars .DA #bLL,#bLL
|
OptionVars .DA #bLL,#bLL,#bCustomBlkSize,#bCustomBlkSize
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DUMMY
|
.DUMMY
|
||||||
.OR 0
|
.OR 0
|
||||||
DS.START
|
DS.START
|
||||||
ArgIndex .BS 1
|
|
||||||
bLL .BS 1
|
|
||||||
VolName .BS 16
|
VolName .BS 16
|
||||||
hDevID .BS 1
|
|
||||||
CatSize .BS 1
|
|
||||||
CatOptions .BS 1
|
|
||||||
BlkCnt .BS 1
|
|
||||||
IOCTL .BS S.IOCTL
|
IOCTL .BS S.IOCTL
|
||||||
hBuf .BS 1
|
hBuf .BS 1
|
||||||
DIB .BS S.DIB
|
DIB .BS S.DIB
|
||||||
|
@ -560,23 +560,18 @@ DevMgrInit >LDYAI MSG.DEV
|
|||||||
bpl .5
|
bpl .5
|
||||||
ldy #7
|
ldy #7
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
beq .51 $Cn07=00 : SmartPort
|
bne .6 $Cn07=00 : SmartPort
|
||||||
ldx #AWSmartPort.SIG-AWSmartPort.OFS-1
|
|
||||||
.50 ldy AWSmartPort.OFS,x Check if there is AWsmartport firmware
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
cmp AWSmartPort.SIG,x
|
|
||||||
bne .6 not on AW
|
|
||||||
dex
|
|
||||||
bpl .50
|
|
||||||
|
|
||||||
.51 lda ZPPtr1+1 get $Cn
|
lda ZPPtr1+1 get $Cn
|
||||||
and #$f get $0n
|
and #$f get $0n
|
||||||
cmp FD.BDEV+S.FD.DEV.BUSID same as SSS ?
|
cmp FD.BDEV+S.FD.DEV.BUSID same as SSS ?
|
||||||
beq .52
|
beq .52
|
||||||
|
|
||||||
inc FD.BDEV+S.FD.DEV.DEVID Remapped SP devices....
|
inc FD.BDEV+S.FD.DEV.DEVID Remapped SP devices....
|
||||||
inc FD.BDEV+S.FD.DEV.DEVID Add 2 to DEVID (2 & 3)
|
inc FD.BDEV+S.FD.DEV.DEVID Add 2 to DEVID (2 & 3)
|
||||||
jsr DevMgrInit.SP
|
jsr DevMgrInit.SP
|
||||||
bra .8 Phantom slot...
|
bra .8 Phantom slot...
|
||||||
|
|
||||||
.52 jsr DevMgrInit.SP
|
.52 jsr DevMgrInit.SP
|
||||||
lda #A2osX.S.SP
|
lda #A2osX.S.SP
|
||||||
bra .7
|
bra .7
|
||||||
@ -1071,8 +1066,6 @@ FD.BDEV.NAME .AZ "S1D1"
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SmartPort.OFS .HS 010305
|
SmartPort.OFS .HS 010305
|
||||||
SmartPort.SIG .HS 200003
|
SmartPort.SIG .HS 200003
|
||||||
AWSmartPort.OFS .HS 12131415161718191A1B
|
|
||||||
AWSmartPort.SIG .HS A9008DF2C0A9708DF3C0
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE USR/SRC/SYS/KERNEL.S.INIT
|
SAVE USR/SRC/SYS/KERNEL.S.INIT
|
||||||
|
Loading…
Reference in New Issue
Block a user