mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-06 14:30:08 +00:00
Kernel 0.9.1 : KERNEL, Preemtive mode, KERNEL & LIB Cleaning
This commit is contained in:
parent
4e7d011929
commit
df9f1d6ac0
@ -46,7 +46,7 @@ And return, if found, the full path to it.
|
|||||||
+ X = DEVID
|
+ X = DEVID
|
||||||
+ Y,A = DEVSLOT
|
+ Y,A = DEVSLOT
|
||||||
|
|
||||||
# K.GetDevStatus.A
|
# GetDevStatus.A
|
||||||
|
|
||||||
## IN:
|
## IN:
|
||||||
+ A = DevID
|
+ A = DevID
|
||||||
@ -54,7 +54,7 @@ And return, if found, the full path to it.
|
|||||||
## OUT:
|
## OUT:
|
||||||
+ Y,A = S.DSTAT
|
+ Y,A = S.DSTAT
|
||||||
|
|
||||||
# K.IOCTL
|
# IOCTL
|
||||||
|
|
||||||
## IN:
|
## IN:
|
||||||
+ PUSHB = DevID
|
+ PUSHB = DevID
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
## Out :
|
## Out :
|
||||||
+ A = hMem To S.MD5
|
+ A = hMem To S.MD5
|
||||||
|
|
||||||
# MD5Update (Append "$80" & Padding & original size)
|
# MD5Update
|
||||||
|
|
||||||
## In:
|
## In:
|
||||||
* PUSHW DATA LEN
|
* PUSHW DATA LEN
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -500,7 +500,7 @@ CS.END
|
|||||||
OptionList >PSTR "ALRalr"
|
OptionList >PSTR "ALRalr"
|
||||||
OptionVars .DA #bAllmostAll,#bLong,#bRecurse,#bAllmostAll,#bLong,#bRecurse
|
OptionVars .DA #bAllmostAll,#bLong,#bRecurse,#bAllmostAll,#bLong,#bRecurse
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MSG.DEVEXT .AZ "%15s S%d,D%d Blocks Used:%5D Total:%5D\r\n"
|
MSG.DEVEXT .AZ "/%15s S%dD%d Blocks Used:%5D Total:%5D\r\n"
|
||||||
MSG.DIR .AZ "\e[32m%s/\e[0m"
|
MSG.DIR .AZ "\e[32m%s/\e[0m"
|
||||||
MSG.ENTER .AZ "Directory:%s\r\n"
|
MSG.ENTER .AZ "Directory:%s\r\n"
|
||||||
MSG.DIREXT .AZ "\e[32m%16s\e[0m <dir> %s %s %s\r\n"
|
MSG.DIREXT .AZ "\e[32m%16s\e[0m <dir> %s %s %s\r\n"
|
||||||
|
131
BIN/MD5.S.txt
131
BIN/MD5.S.txt
@ -8,10 +8,13 @@ AUTO 4,1
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.INB /A2OSX.BUILD/INC/MACROS.I
|
.INB /A2OSX.BUILD/INC/MACROS.I
|
||||||
.INB /A2OSX.BUILD/INC/A2OSX.I
|
.INB /A2OSX.BUILD/INC/A2OSX.I
|
||||||
|
.INB /A2OSX.BUILD/INC/MLI.ERR.I
|
||||||
.INB /A2OSX.BUILD/INC/LIBCRYPT.I
|
.INB /A2OSX.BUILD/INC/LIBCRYPT.I
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
FILEBUF.SIZE .EQ 4096
|
||||||
|
*--------------------------------------
|
||||||
ZPPtr1 .EQ ZPBIN
|
ZPPtr1 .EQ ZPBIN
|
||||||
ZPPtr2 .EQ ZPBIN+2
|
ZPDataBufPtr .EQ ZPBIN+2
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* File Header (16 Bytes)
|
* File Header (16 Bytes)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -46,7 +49,7 @@ CS.INIT ldy #S.PS.ARGC
|
|||||||
.1 >INC.G ArgIndex
|
.1 >INC.G ArgIndex
|
||||||
|
|
||||||
>SYSCALL GetArg.A
|
>SYSCALL GetArg.A
|
||||||
bcs .7
|
bcs .8
|
||||||
|
|
||||||
>STYA ZPPtr1
|
>STYA ZPPtr1
|
||||||
|
|
||||||
@ -76,13 +79,17 @@ CS.INIT ldy #S.PS.ARGC
|
|||||||
sta (pData),y
|
sta (pData),y
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.4 >LDA.G hFullPath
|
.4 >LDA.G Arg
|
||||||
bne .99
|
bne .99
|
||||||
|
|
||||||
.7 >LDA.G bText
|
>LDA.G ArgIndex
|
||||||
|
>STA.G Arg
|
||||||
|
bra .1
|
||||||
|
|
||||||
.8 >LDYA L.LIBCRYPT
|
.8 >LDYA L.LIBCRYPT
|
||||||
>SYSCALL LoadLib.YA
|
>SYSCALL LoadLib.YA
|
||||||
|
bcs .9
|
||||||
|
|
||||||
sta hLIBCRYPT
|
sta hLIBCRYPT
|
||||||
|
|
||||||
* lda (pPs)
|
* lda (pPs)
|
||||||
@ -90,34 +97,117 @@ CS.INIT ldy #S.PS.ARGC
|
|||||||
* sta (pPs)
|
* sta (pPs)
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN
|
CS.RUN >LDA.G bText
|
||||||
|
beq CS.RUN.FILE
|
||||||
|
*--------------------------------------
|
||||||
|
CS.RUN.TEXT >LDA.G Arg
|
||||||
|
>SYSCALL GetArg.A
|
||||||
|
>PUSHYA
|
||||||
|
>PUSHEA.G MD5Buf
|
||||||
|
|
||||||
|
>LIBCALL hLIBCRYPT,LIBCRYPT.MD5
|
||||||
|
bcs .9
|
||||||
>LDYA L.MSG.OK
|
|
||||||
|
>LEA.G MD5Buf
|
||||||
>SYSCALL PrintF.YA
|
>SYSCALL PrintF.YA
|
||||||
|
|
||||||
|
lda #13
|
||||||
|
>SYSCALL PutChar.A
|
||||||
|
lda #10
|
||||||
|
>SYSCALL PutChar.A
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
sec
|
sec
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.RUN.FILE >LDA.G Arg
|
||||||
|
>SYSCALL GetArg.A
|
||||||
|
>SYSCALL RealPath.YA
|
||||||
|
bcc .10
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.9 pha
|
.10 txa
|
||||||
>PUSHA
|
>STA.G hFullPath
|
||||||
>LDYA L.MSG.ERR
|
|
||||||
|
>LDYAI FILEBUF.SIZE
|
||||||
|
>SYSCALL GetMem.YA
|
||||||
|
bcs .9
|
||||||
|
>STYA ZPDataBufPtr
|
||||||
|
txa
|
||||||
|
>STA.G hDataBuf
|
||||||
|
|
||||||
|
>PUSHWI 0 Aux type
|
||||||
|
>PUSHBI 0
|
||||||
|
>PUSHBI SYS.FOpen.R
|
||||||
|
|
||||||
|
>LDA.G hFullPath
|
||||||
|
>SYSCALL GetMemPtr.A
|
||||||
|
|
||||||
|
>PUSHYA
|
||||||
|
|
||||||
|
>SYSCALL FOpen
|
||||||
|
bcs .9
|
||||||
|
>STA.G hFile
|
||||||
|
|
||||||
|
>LIBCALL hLIBCRYPT,LIBCRYPT.MD5Init
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
>STA.G hMD5Ctx
|
||||||
|
|
||||||
|
.1 >PUSHW ZPDataBufPtr Dst Ptr
|
||||||
|
>PUSHWI FILEBUF.SIZE Bytes To Read
|
||||||
|
>PUSHB.G hFile
|
||||||
|
>SYSCALL FRead
|
||||||
|
|
||||||
|
bcc .2
|
||||||
|
eor #MLI.E.EOF
|
||||||
|
beq .8
|
||||||
|
.9 rts
|
||||||
|
|
||||||
|
.2 >PUSHYA MD5 DataLen
|
||||||
|
>PUSHW ZPDataBufPtr
|
||||||
|
>PUSHB.G hMD5Ctx
|
||||||
|
>LIBCALL hLIBCRYPT,LIBCRYPT.MD5Update
|
||||||
|
bra .1
|
||||||
|
|
||||||
|
.8 >PUSHEA.G MD5Buf
|
||||||
|
>PUSHB.G hMD5Ctx
|
||||||
|
>LIBCALL hLIBCRYPT,LIBCRYPT.MD5Finalize
|
||||||
|
|
||||||
|
>LEA.G MD5Buf
|
||||||
>SYSCALL PrintF.YA
|
>SYSCALL PrintF.YA
|
||||||
pla
|
|
||||||
|
lda #13
|
||||||
|
>SYSCALL PutChar.A
|
||||||
|
lda #10
|
||||||
|
>SYSCALL PutChar.A
|
||||||
|
|
||||||
|
lda #0
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.DOEVENT sec
|
CS.DOEVENT sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.QUIT >LDA.G hDataBuf
|
CS.QUIT >LDA.G hFullPath
|
||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
>SYSCALL FreeMem.A
|
>SYSCALL FreeMem.A
|
||||||
|
|
||||||
|
|
||||||
|
.1 >LDA.G hDataBuf
|
||||||
|
beq .2
|
||||||
|
>SYSCALL FreeMem.A
|
||||||
|
|
||||||
|
.2 >LDA.G hFile
|
||||||
|
beq .3
|
||||||
|
|
||||||
|
>SYSCALL FClose.A
|
||||||
|
.3
|
||||||
|
|
||||||
.1 lda hLIBCRYPT
|
.7 lda hLIBCRYPT
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
>SYSCALL UnloadLib.A
|
>SYSCALL UnloadLib.A
|
||||||
@ -149,7 +239,7 @@ CS.END
|
|||||||
OptionList >PSTR "Dd"
|
OptionList >PSTR "Dd"
|
||||||
OptionVars .DA #bText,#bText
|
OptionVars .DA #bText,#bText
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MSG.USAGE .AZ "Usage : MD5 [ -d input_text | infile… ] \r\n"
|
MSG.USAGE .AZ "Usage : MD5 [ -d input text | input file ]\r\n"
|
||||||
MSG.OK .AZ "[OK]\r\n"
|
MSG.OK .AZ "[OK]\r\n"
|
||||||
MSG.ERR .AZ "[%h]\r\n"
|
MSG.ERR .AZ "[%h]\r\n"
|
||||||
MSG.INIT .AZ "Computing %s ..."
|
MSG.INIT .AZ "Computing %s ..."
|
||||||
@ -161,10 +251,13 @@ hLIBCRYPT .BS 1
|
|||||||
.OR 0
|
.OR 0
|
||||||
DS.START
|
DS.START
|
||||||
ArgIndex .BS 1
|
ArgIndex .BS 1
|
||||||
|
Arg .BS 1
|
||||||
bText .BS 1
|
bText .BS 1
|
||||||
hFullPath .BS 1
|
hFullPath .BS 1
|
||||||
|
hFile .BS 1
|
||||||
hDataBuf .BS 1
|
hDataBuf .BS 1
|
||||||
hMD5CtxBuf .BS 1
|
hMD5Ctx .BS 1
|
||||||
|
MD5Buf .BS 33
|
||||||
DS.END .ED
|
DS.END .ED
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
|
@ -132,7 +132,7 @@ MD5 >PULLW ZPHashPtr
|
|||||||
pha save MD5 Context hMem
|
pha save MD5 Context hMem
|
||||||
|
|
||||||
jsr MD5Update.I
|
jsr MD5Update.I
|
||||||
jsr MD5Finalize
|
jsr MD5Finalize.I
|
||||||
|
|
||||||
pla
|
pla
|
||||||
>SYSCALL FreeMem.A Free MD5 Context
|
>SYSCALL FreeMem.A Free MD5 Context
|
||||||
@ -170,7 +170,7 @@ MD5Init >LDYAI S.MD5.SIZE
|
|||||||
clc
|
clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # MD5Update (Append "$80" & Padding & original size)
|
* # MD5Update
|
||||||
* ## In:
|
* ## In:
|
||||||
* PUSHW DATA LEN
|
* PUSHW DATA LEN
|
||||||
* PUSHW DATA PTR
|
* PUSHW DATA PTR
|
||||||
@ -186,8 +186,10 @@ MD5Update >PULLA get MD5 Context
|
|||||||
MD5Update.I ldy #S.MD5.FINALIZED
|
MD5Update.I ldy #S.MD5.FINALIZED
|
||||||
lda (ZPCtxPtr),y
|
lda (ZPCtxPtr),y
|
||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.1 lda ZPDataLen+1 More than 256 Bytes remaining to hash ?
|
.1 lda ZPDataLen+1 More than 256 Bytes remaining to hash ?
|
||||||
bne .3 yes
|
bne .3 yes
|
||||||
lda ZPDataLen
|
lda ZPDataLen
|
||||||
@ -197,47 +199,61 @@ MD5Update.I ldy #S.MD5.FINALIZED
|
|||||||
|
|
||||||
.2 cmp #64 More than 64 Bytes remaining to hash ?
|
.2 cmp #64 More than 64 Bytes remaining to hash ?
|
||||||
bcc .50 yes
|
bcc .50 yes
|
||||||
|
|
||||||
.3 lda #64
|
.3 lda #64
|
||||||
.50 sta ZPChunkLen Save Chunk Len
|
.50 sta ZPChunkLen Save Chunk Len
|
||||||
jsr MD5UpdateBitCount
|
jsr MD5UpdateBitCount
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
|
|
||||||
.51 lda (ZPDataPtr),y Load Buffer with data
|
.51 lda (ZPDataPtr),y Load Buffer with data
|
||||||
sta MD5.BUFFER64,y
|
sta MD5.BUFFER64,y
|
||||||
iny
|
iny
|
||||||
cpy ZPChunkLen
|
cpy ZPChunkLen
|
||||||
bne .51
|
bne .51
|
||||||
|
|
||||||
cpy #64 Full 64 Bytes DATA ?
|
cpy #64 Full 64 Bytes DATA ?
|
||||||
beq .58
|
beq .58
|
||||||
|
|
||||||
|
* Append "$80" & Padding & original size
|
||||||
|
|
||||||
lda #$80 no, Append $80
|
lda #$80 no, Append $80
|
||||||
sta MD5.BUFFER64,y
|
sta MD5.BUFFER64,y
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
|
|
||||||
.52 iny Pad with 0 to 64
|
.52 iny Pad with 0 to 64
|
||||||
cpy #64
|
cpy #64
|
||||||
beq .53
|
beq .53
|
||||||
sta MD5.BUFFER64,y
|
sta MD5.BUFFER64,y
|
||||||
bra .52
|
bra .52
|
||||||
|
|
||||||
.53 ldy #S.MD5.EXTRABIT Mark MD5 Context as Appended
|
.53 ldy #S.MD5.EXTRABIT Mark MD5 Context as Appended
|
||||||
lda #$80
|
lda #$80
|
||||||
sta (ZPCtxPtr),y
|
sta (ZPCtxPtr),y
|
||||||
lda ZPChunkLen
|
lda ZPChunkLen
|
||||||
cmp #56 Enough room for BITCOUNT ?
|
cmp #56 Enough room for BITCOUNT ?
|
||||||
bcs .58 no
|
bcs .58 no
|
||||||
|
|
||||||
jsr MD5AppendBitCount
|
jsr MD5AppendBitCount
|
||||||
|
|
||||||
.58 jsr MD5Transform
|
.58 jsr MD5Transform
|
||||||
jsr MD5UpdateABCD0
|
jsr MD5UpdateABCD0
|
||||||
|
|
||||||
.8 lda ZPDataLen Substract Bytes processed from LEN
|
.8 lda ZPDataLen Substract Bytes processed from LEN
|
||||||
sec
|
sec
|
||||||
sbc ZPChunkLen get back chunk Len
|
sbc ZPChunkLen get back chunk Len
|
||||||
sta ZPDataLen
|
sta ZPDataLen
|
||||||
bcs .81
|
bcs .81
|
||||||
dec ZPDataLen+1
|
dec ZPDataLen+1
|
||||||
|
|
||||||
.81 lda ZPDataPtr Add Bytes processed to DATA
|
.81 lda ZPDataPtr Add Bytes processed to DATA
|
||||||
clc
|
clc
|
||||||
adc ZPChunkLen
|
adc ZPChunkLen
|
||||||
sta ZPDataPtr
|
sta ZPDataPtr
|
||||||
bcc .82
|
bcc .1
|
||||||
inc ZPDataPtr+1
|
inc ZPDataPtr+1
|
||||||
.82 bra .1
|
bra .1
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # MD5Finalize
|
* # MD5Finalize
|
||||||
* ## In :
|
* ## In :
|
||||||
@ -246,11 +262,18 @@ MD5Update.I ldy #S.MD5.FINALIZED
|
|||||||
* ## Out:
|
* ## Out:
|
||||||
*\--------------------------------------
|
*\--------------------------------------
|
||||||
MD5Finalize >PULLA
|
MD5Finalize >PULLA
|
||||||
|
pha
|
||||||
|
|
||||||
>SYSCALL GetMemPtr.A
|
>SYSCALL GetMemPtr.A
|
||||||
>STYA ZPCtxPtr get MD5 Context
|
>STYA ZPCtxPtr get MD5 Context
|
||||||
|
|
||||||
>PULLW ZPHashPtr
|
>PULLW ZPHashPtr
|
||||||
|
|
||||||
|
jsr MD5Finalize.I
|
||||||
|
pla
|
||||||
|
>SYSCALL FreeMem.A
|
||||||
|
rts
|
||||||
|
|
||||||
MD5Finalize.I ldy #S.MD5.FINALIZED
|
MD5Finalize.I ldy #S.MD5.FINALIZED
|
||||||
|
|
||||||
lda (ZPCtxPtr),y
|
lda (ZPCtxPtr),y
|
||||||
|
@ -234,6 +234,7 @@ note : '$VAR' does NOT expand Variable
|
|||||||
| CHGRP | In Progress | -C : Continue On Error | 0.9 |
|
| CHGRP | In Progress | -C : Continue On Error | 0.9 |
|
||||||
| | | -R : Recurse subdirectories | |
|
| | | -R : Recurse subdirectories | |
|
||||||
| FORMAT | In Progress | -L : Low-Level Format | 0.9.1 |
|
| FORMAT | In Progress | -L : Low-Level Format | 0.9.1 |
|
||||||
|
| MD5 | In Progress | -D : String Input | 0.9.1 |
|
||||||
| EDIT | Working | still missing : find/replace | 0.9.1 |
|
| EDIT | Working | still missing : find/replace | 0.9.1 |
|
||||||
| NSCUTIL | Working | Tool for setting time in NSC/DL1216E | 0.9 |
|
| NSCUTIL | Working | Tool for setting time in NSC/DL1216E | 0.9 |
|
||||||
| ---- | ------ | ------- | ----- |
|
| ---- | ------ | ------- | ----- |
|
||||||
|
@ -70,7 +70,7 @@ K.GetDevByName.YA
|
|||||||
K.GetDevDNF lda #MLI.E.NODEV CS from cpx/beq
|
K.GetDevDNF lda #MLI.E.NODEV CS from cpx/beq
|
||||||
rts
|
rts
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # K.GetDevStatus.A
|
* # GetDevStatus.A
|
||||||
* ## IN:
|
* ## IN:
|
||||||
* A = DevID
|
* A = DevID
|
||||||
* ## OUT:
|
* ## OUT:
|
||||||
@ -87,7 +87,7 @@ K.GetDevStatus.A
|
|||||||
|
|
||||||
jmp (pDev)
|
jmp (pDev)
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # K.IOCTL
|
* # IOCTL
|
||||||
* ## IN:
|
* ## IN:
|
||||||
* PUSHB = DevID
|
* PUSHB = DevID
|
||||||
* PUSHB = Operation
|
* PUSHB = Operation
|
||||||
|
@ -180,8 +180,6 @@ PS.CmdLine2Args >STYA ZPPtr1
|
|||||||
|
|
||||||
.1 lda (ZPPtr1),y compute strlen in Y,X
|
.1 lda (ZPPtr1),y compute strlen in Y,X
|
||||||
beq .2
|
beq .2
|
||||||
cmp #'"' skip " in computation....
|
|
||||||
beq .1
|
|
||||||
iny
|
iny
|
||||||
bne .1 max 255
|
bne .1 max 255
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user