Kernel 0.93++

This commit is contained in:
Rémy GIBERT
2020-01-23 17:38:42 +01:00
parent 149a3bd080
commit b6f7d0ec1a

View File

@@ -4,11 +4,8 @@ NEW
.DUMMY .DUMMY
.OR ZPTMP 29 bytes .OR ZPTMP 29 bytes
ZS.START ZS.START
ZPDataPtr .BS 2
ZPDataLen .BS 2
ZPHashPtr .BS 2
ZPCtxPtr .BS 2 ZPCtxPtr .BS 2
ZPDataLen .BS 2
ZPChunkLen .BS 2 ZPChunkLen .BS 2
@@ -94,12 +91,13 @@ ZS.END .ED
* ## RETURN VALUE * ## RETURN VALUE
* CC * CC
*\-------------------------------------- *\--------------------------------------
K.MD5 >PULLW ZPHashPtr K.MD5 >PULLW FORPNT
>PULLW ZPDataPtr >PULLYA
>STYA TXTPTR
>LDYA ZPDataPtr
>SYSCALL2 strlen >SYSCALL2 strlen
>STYA ZPDataLen >STYA ZPDataLen
.1 jsr K.MD5Init .1 jsr K.MD5Init
bcs .9 bcs .9
pha save MD5 Context hMem pha save MD5 Context hMem
@@ -157,7 +155,7 @@ K.MD5Init >LDYAI S.MD5
* ## RETURN VALUE * ## RETURN VALUE
*\-------------------------------------- *\--------------------------------------
K.MD5Update >PULLW ZPDataLen get LEN K.MD5Update >PULLW ZPDataLen get LEN
>PULLW ZPDataPtr get DATA >PULLW TXTPTR get DATA
>PULLA >PULLA
>SYSCALL2 GetMemPtr get MD5 Context >SYSCALL2 GetMemPtr get MD5 Context
>STYA ZPCtxPtr >STYA ZPCtxPtr
@@ -178,12 +176,15 @@ MD5Update.I ldy #S.MD5.FINALIZED
.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 jsr SHARED.TXTPTR.GetY 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 * Append "$80" & Padding & original size
@@ -211,12 +212,13 @@ MD5Update.I ldy #S.MD5.FINALIZED
sta ZPDataLen sta ZPDataLen
bcs .81 bcs .81
dec ZPDataLen+1 dec ZPDataLen+1
.81 lda ZPDataPtr Add Bytes processed to DATA
.81 lda TXTPTR Add Bytes processed to DATA
clc clc
adc ZPChunkLen adc ZPChunkLen
sta ZPDataPtr sta TXTPTR
bcc .1 bcc .1
inc ZPDataPtr+1 inc TXTPTR+1
bra .1 bra .1
*/-------------------------------------- */--------------------------------------
* ## MD5Finalize * ## MD5Finalize
@@ -228,15 +230,15 @@ MD5Update.I ldy #S.MD5.FINALIZED
* `>SYSCALL MD5Finalize` * `>SYSCALL MD5Finalize`
* ## RETURN VALUE * ## RETURN VALUE
*\-------------------------------------- *\--------------------------------------
K.MD5Finalize pha K.MD5Finalize >PULLW FORPNT
>PULLW ZPHashPtr >PULLA
pla sta .8+1
pha
>SYSCALL2 GetMemPtr >SYSCALL2 GetMemPtr
>STYA ZPCtxPtr get MD5 Context >STYA ZPCtxPtr get MD5 Context
jsr MD5Finalize.I jsr MD5Finalize.I
pla .8 lda #$ff SELF MODIFIED
>SYSCALL2 FreeMem >SYSCALL2 FreeMem
rts rts
@@ -254,23 +256,20 @@ MD5Finalize.I ldy #S.MD5.FINALIZED
lsr lsr
tax tax
lda MD5.DIGITS,x lda MD5.DIGITS,x
sta (ZPHashPtr) jsr SHARED.FORPNT.PutNext
inc ZPHashPtr
bne .2 lda (ZPCtxPtr),y
inc ZPHashPtr+1
.2 lda (ZPCtxPtr),y
and #$0F and #$0F
tax tax
lda MD5.DIGITS,x lda MD5.DIGITS,x
sta (ZPHashPtr) jsr SHARED.FORPNT.PutNext
inc ZPHashPtr
bne .3 iny
inc ZPHashPtr+1
.3 iny
cpy #S.MD5.ABCD0+16 cpy #S.MD5.ABCD0+16
bne .1 bne .1
lda #0 lda #0
sta (ZPHashPtr) jsr SHARED.FORPNT.PutNext
clc clc
.9 rts .9 rts
*-------------------------------------- *--------------------------------------