From 3ca18cfac653a7757d7a0d1d3896987b4ed083e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Sun, 8 Sep 2019 14:09:47 +0200 Subject: [PATCH] Kernel 0.93+ --- .Floppies/A2OSX.B800.po | Bin 819200 -> 819200 bytes .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/SH.S.CORE.txt | 9 ++-- BIN/SH.S.txt | 1 + LIB/LIBCRYPT.S.txt | 108 +++++++++++++++++++++++++++------------ SYS/KERNEL.S.ENV.txt | 6 +-- 6 files changed, 83 insertions(+), 41 deletions(-) diff --git a/.Floppies/A2OSX.B800.po b/.Floppies/A2OSX.B800.po index 387e4e7d1ea1582d2fd786620716f695fad45956..16ab08df4875b99c6b7572c8081f59d3ae556fac 100644 GIT binary patch delta 19330 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 delta 18048 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 ow&Db%7 diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index d689ca0122d257710b4c856fd24748efd95583a2..1efb305e1107e51159f5181ae8b8e5d8cfb848ad 100644 GIT binary patch delta 206962 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 z2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y z2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y z2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y z2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y z2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y z2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y z2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y z2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y z2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y z2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y z2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y z2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y z2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y z2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y z2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y z2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y z2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F0z`la5CJ0a|2u(ukG^jD EKYST=zyJUM delta 206483 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 z0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F z0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F z0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F z0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F z0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F z0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F z0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F z0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F z0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F z0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F z0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F z0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F z0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F z0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F z0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F z0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F z0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F z0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F z0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F z0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F z0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F z0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F a0z`la5CI}U1c(3;AOb{y2>gFf;Qs*E5bvG< diff --git a/BIN/SH.S.CORE.txt b/BIN/SH.S.CORE.txt index ab00e5e5..85587120 100644 --- a/BIN/SH.S.CORE.txt +++ b/BIN/SH.S.CORE.txt @@ -27,8 +27,9 @@ CORE.Load.YAX stx M32.ACC X = Code to Execute jsr CORE.ArgV.Dup Y,A = ArgV bcs .9 - sta M32.ACC+2 A = ARGC + stx M32.ACC+1 X = hARGV + sta M32.ACC+2 A = ARGC lda #8 jsr CORE.StkCheck @@ -406,12 +407,12 @@ CORE.ArgV.Dup >STYA ZPPtr1 phx ldx #$ff Arg count-1 (skip $0) -.5 inx - - jsr StrCpyPtr1Ptr2 +.5 jsr StrCpyPtr1Ptr2 tya beq .8 + inx + jsr AddAp1Ptr2 jsr AddYp1Ptr1 bra .5 diff --git a/BIN/SH.S.txt b/BIN/SH.S.txt index d67699b9..e5133fd7 100644 --- a/BIN/SH.S.txt +++ b/BIN/SH.S.txt @@ -219,6 +219,7 @@ CS.RUN jsr CL.Init jsr IO.Load bcs CS.INIT.RTS + phx ldy #S.PS.hARGV lda (pPS),y diff --git a/LIB/LIBCRYPT.S.txt b/LIB/LIBCRYPT.S.txt index cd73174a..ab4ff151 100644 --- a/LIB/LIBCRYPT.S.txt +++ b/LIB/LIBCRYPT.S.txt @@ -9,11 +9,25 @@ NEW .INB INC/A2OSX.I .INB INC/LIBCRYPT.I *-------------------------------------- -ZPCtxPtr .EQ ZPLIB -ZPDataPtr .EQ ZPLIB+2 -ZPDataLen .EQ ZPLIB+4 -ZPChunkLen .EQ ZPLIB+6 -ZPHashPtr .EQ ZPLIB+8 + .DUMMY + .OR ZPLIB +ZS.START +ZPCtxPtr .BS 2 +ZPDataPtr .BS 2 +ZPHashPtr .BS 2 + +ZPChunkLen .BS 2 + +MD5.ABCD +MD5.A .BS 4 Chunk Level,A,B,C,D +MD5.B .BS 4 +MD5.C .BS 4 +MD5.D .BS 4 + +MD5.F1 .BS 4 +MD5.F2 .BS 4 + +ZS.END .ED *-------------------------------------- * DWORD Macros : Do NOT disturb carry with cpx, cpy... *-------------------------------------- @@ -104,6 +118,10 @@ CS.START cld .DA MD5Init .DA MD5Update .DA MD5Finalize +J.MD5.XXXX .DA MD5.0015 + .DA MD5.1631 + .DA MD5.3247 + .DA MD5.4863 .DA 0 *-------------------------------------- LIB.LOAD @@ -334,12 +352,14 @@ MD5Finalize.I ldy #S.MD5.FINALIZED MD5AppendBitCount ldx #56 ldy #S.MD5.BITCOUNT Append 8 Bytes of BITCOUNT + .1 lda (ZPCtxPtr),y sta MD5.BUFFER64,x inx iny cpy #S.MD5.BITCOUNT+8 bne .1 + ldy #S.MD5.FINALIZED Mark MD5 Context as Finalized lda #$80 sta (ZPCtxPtr),y @@ -368,13 +388,16 @@ MD5UpdateBitCount adc (ZPCtxPtr),y sta (ZPCtxPtr),y bcc .8 + .1 iny lda (ZPCtxPtr),y inc sta (ZPCtxPtr),y bne .8 + cpy #7 bne .1 + .8 rts *-------------------------------------- * MD5ExtraChunk @@ -388,14 +411,17 @@ MD5ExtraChunk ldy #S.MD5.FINALIZED ldy #S.MD5.EXTRABIT Extra Bit already appended ? lda (ZPCtxPtr),y bne .1 + lda #$80 sta MD5.BUFFER64 Add extra bit to buffer sta (ZPCtxPtr),y Mark Extrabit added inx + .1 stz MD5.BUFFER64,x pad with "0"... inx cpx #56 bne .1 ...until room for bitcount + jsr MD5AppendBitCount jsr MD5Transform *-------------------------------------- @@ -404,7 +430,9 @@ MD5ExtraChunk ldy #S.MD5.FINALIZED * ZPCtxPtr = MD5 Context *-------------------------------------- MD5UpdateABCD0 ldy #0 + .1 clc ADC32 A+A0->A0, B, C, D.... + .2 lda MD5.ABCD,y adc (ZPCtxPtr),y sta (ZPCtxPtr),y @@ -412,8 +440,10 @@ MD5UpdateABCD0 ldy #0 tya and #3 bne .2 + cpy #16 bne .1 + rts *-------------------------------------- * MD5Transform @@ -424,52 +454,65 @@ MD5UpdateABCD0 ldy #0 * Updated MD5.ABCD *-------------------------------------- MD5Transform ldy #15 init ABCD Chunk with Context ABCD0 + .1 lda (ZPCtxPtr),y sta MD5.ABCD,y dey bpl .1 + stz MD5.i Start Proceed 0 to 63 bytes + + lda #0 lda MD5.i + +.2 lsr + lsr + lsr + and #6 + tax + + jsr MD5.XXXX + + inc MD5.i + lda MD5.i + cmp #64 + bne .2 + + rts *-------------------------------------- -MD5.0015 lda MD5.i - cmp #16 - bcs MD5.1631 - >AND32 MD5.B,MD5.C,MD5.F1 +MD5.XXXX jmp (J.MD5.XXXX,x) +*-------------------------------------- +MD5.0015 >AND32 MD5.B,MD5.C,MD5.F1 >NOT32 MD5.B,MD5.F2 >AND32 MD5.F2,MD5.D,MD5.F2 >ORA32 MD5.F1,MD5.F2,MD5.F - jmp MD5.NEXTi + bra MD5.XXXX.END *-------------------------------------- -MD5.1631 cmp #32 - bcs MD5.3247 - >AND32 MD5.D,MD5.B,MD5.F1 +MD5.1631 >AND32 MD5.D,MD5.B,MD5.F1 >NOT32 MD5.D,MD5.F2 >AND32 MD5.F2,MD5.C,MD5.F2 >ORA32 MD5.F1,MD5.F2,MD5.F - jmp MD5.NEXTi + bra MD5.XXXX.END *-------------------------------------- -MD5.3247 cmp #48 - bcs MD5.4863 - >EOR32 MD5.B,MD5.C,MD5.F +MD5.3247 >EOR32 MD5.B,MD5.C,MD5.F >EOR32 MD5.F,MD5.D,MD5.F - jmp MD5.NEXTi + bra MD5.XXXX.END *-------------------------------------- -MD5.4863 cmp #64 - bne .1 - rts -.1 >NOT32 MD5.D,MD5.F1 +MD5.4863 >NOT32 MD5.D,MD5.F1 >ORA32 MD5.F1,MD5.B,MD5.F2 >EOR32 MD5.F2,MD5.C,MD5.F *-------------------------------------- -MD5.NEXTi >MOV32 MD5.D,MD5.DTemp +MD5.XXXX.END >MOV32 MD5.D,MD5.DTemp >MOV32 MD5.C,MD5.D >MOV32 MD5.B,MD5.C >ADC32 MD5.A,MD5.F,MD5.F + lda MD5.i asl asl tay ldx #0 clc + .1 lda MD5.K,y ADC32 MD5.K[i],MD5.F,MD5.F adc MD5.F,x sta MD5.F,x @@ -478,6 +521,7 @@ MD5.NEXTi >MOV32 MD5.D,MD5.DTemp txa eor #4 DO NOT DISTURB carry with cpx !!! bne .1 + ldy MD5.i lda MD5.g,y asl @@ -485,6 +529,7 @@ MD5.NEXTi >MOV32 MD5.D,MD5.DTemp tay ldx #0 clc + .2 lda MD5.BUFFER64,y ADC32 M[g],MD5.F,MD5.F adc MD5.F,x sta MD5.F,x @@ -493,14 +538,14 @@ MD5.NEXTi >MOV32 MD5.D,MD5.DTemp txa eor #4 DO NOT DISTURB carry with cpx !!! bne .2 + ldy MD5.i - lda MD5.s,y get s[i] in x - tax + ldx MD5.s,y get s[i] in x + >ROL32x MD5.F >ADC32 MD5.B,MD5.F,MD5.B >MOV32 MD5.DTemp,MD5.A - inc MD5.i - jmp MD5.0015 + rts *-------------------------------------- CS.END MD5.ABCDINIT .HS 01234567.89ABCDEF.FEDCBA98.76543210 @@ -534,15 +579,10 @@ MD5.K .HS 78A46AD7.56B7C7E8.DB702024.EECEBDC1 *-------------------------------------- MD5.DIGITS .AS "0123456789ABCDEF" *-------------------------------------- -MD5.ABCD -MD5.A .BS 4 Chunk Level,A,B,C,D -MD5.B .BS 4 -MD5.C .BS 4 -MD5.D .BS 4 +ZPDataLen .BS 2 + MD5.DTemp .BS 4 MD5.F .BS 4 -MD5.F1 .BS 4 -MD5.F2 .BS 4 MD5.i .BS 1 MD5.BUFFER64 .BS 64 *-------------------------------------- diff --git a/SYS/KERNEL.S.ENV.txt b/SYS/KERNEL.S.ENV.txt index 37fd7eb7..041c292a 100644 --- a/SYS/KERNEL.S.ENV.txt +++ b/SYS/KERNEL.S.ENV.txt @@ -522,15 +522,15 @@ ENV.SysVarsArgs lda #1 bcs ENV.SysVarsNum.8 >STYA ZPPtr3 - + .1 lda (ZPPtr3) - beq ENV.SysVarsNum + beq ENV.SysVarsNum.8 .2 jsr ENV.AddP3ToBuf jsr ENV.NextEnvP3 lda (ZPPtr3) - beq ENV.SysVarsNum + beq ENV.SysVarsNum.8 lda #' ' jsr ENV.AddAToBuf