Kernel 0.93++

This commit is contained in:
Rémy GIBERT 2020-02-03 23:06:28 +01:00
parent af1f73f0d0
commit 5fa8b09663
7 changed files with 65 additions and 83 deletions

Binary file not shown.

View File

@ -475,6 +475,22 @@ K.SYSCALL2.BANK bpl K.SYSCALL.JMP 0, E000, no BNK change
K.SYSCALL.JMP jmp (K.SYSCALL,x) K.SYSCALL.JMP jmp (K.SYSCALL,x)
*-------------------------------------- *--------------------------------------
K.SYSCALL.JMPX sta SETREADAUX
sta SETWRITEAUX
jsr .1
sta CLRREADAUX
sta CLRWRITEAUX
rts
.1 jmp (.2-SYS.StrFTime,x)
.2 .DA TIMEX.StrFTime
.DA TIMEX.PTime2Time
.DA TIMEX.CTime2Time
.DA MD5X.MD5
.DA MD5X.Init
.DA MD5X.Update
.DA MD5X.Finalize
*--------------------------------------
MAN MAN
SAVE USR/SRC/SYS/KERNEL.S.JMP SAVE USR/SRC/SYS/KERNEL.S.JMP
LOAD USR/SRC/SYS/KERNEL.S LOAD USR/SRC/SYS/KERNEL.S

View File

@ -13,30 +13,7 @@ NEW
* CC * CC
*\-------------------------------------- *\--------------------------------------
K.MD5 >PULLW FORPNT K.MD5 >PULLW FORPNT
>PULLYA >PULLW TXTPTR
>STYA TXTPTR
>SYSCALL2 strlen
>STYA ZPDataLen
sta SETREADAUX
sta SETWRITEAUX
.1 jsr MD5X.Init
bcs .9
pha save MD5 Context hMem
jsr MD5X.Update
jsr MD5X.Finalize
pla
>SYSCALL2 FreeMem Free MD5 Context
clc
.9 sta CLRREADAUX
sta CLRWRITEAUX
rts
*/-------------------------------------- */--------------------------------------
* ## MD5Init * ## MD5Init
* Initialize a MD5 computation * Initialize a MD5 computation
@ -47,14 +24,7 @@ K.MD5 >PULLW FORPNT
* ## RETURN VALUE * ## RETURN VALUE
* A = hMem To S.MD5 * A = hMem To S.MD5
*\-------------------------------------- *\--------------------------------------
K.MD5Init sta SETREADAUX K.MD5Init jmp K.SYSCALL.JMPX
sta SETWRITEAUX
jsr MD5X.Init
sta CLRREADAUX
sta CLRWRITEAUX
rts
*/-------------------------------------- */--------------------------------------
* ## MD5Update * ## MD5Update
* Add Data to MD5 computation * Add Data to MD5 computation
@ -71,17 +41,7 @@ K.MD5Update >PULLW ZPDataLen get LEN
>PULLW TXTPTR get DATA >PULLW TXTPTR get DATA
>PULLA >PULLA
sta SETREADAUX jmp K.SYSCALL.JMPX
sta SETWRITEAUX
>SYSCALL2 GetMemPtr get MD5 Context
>STYA ZPCtxPtr
jsr MD5X.Update
sta CLRREADAUX
sta CLRWRITEAUX
rts
*/-------------------------------------- */--------------------------------------
* ## MD5Finalize * ## MD5Finalize
* # C * # C
@ -94,21 +54,8 @@ K.MD5Update >PULLW ZPDataLen get LEN
*\-------------------------------------- *\--------------------------------------
K.MD5Finalize >PULLW FORPNT K.MD5Finalize >PULLW FORPNT
>PULLA >PULLA
sta .8+1
sta SETREADAUX jmp K.SYSCALL.JMPX
sta SETWRITEAUX
>SYSCALL2 GetMemPtr
>STYA ZPCtxPtr get MD5 Context
jsr MD5X.Finalize
.8 lda #$ff SELF MODIFIED
>SYSCALL2 FreeMem
sta CLRREADAUX
sta CLRWRITEAUX
rts
*-------------------------------------- *--------------------------------------
MAN MAN
SAVE USR/SRC/SYS/KERNEL.S.MD5 SAVE USR/SRC/SYS/KERNEL.S.MD5

View File

@ -80,6 +80,26 @@ ZS.END .ED
bne :2 bne :2
.EM .EM
*-------------------------------------- *--------------------------------------
MD5X.MD5 ldy #$ff
.1 iny
jsr SHARED.TXTPTR.GetY
bne .1
sty ZPDataLen
stz ZPDataLen+1
jsr MD5X.Init
bcs .9
pha save MD5 Context hMem
jsr MD5X.Update.I
jmp MD5X.Finalize.I
.9 rts
*--------------------------------------
MD5X.Init >LDYAI S.MD5 MD5X.Init >LDYAI S.MD5
>SYSCALL2 getmem >SYSCALL2 getmem
bcs .9 bcs .9
@ -106,7 +126,10 @@ MD5X.Init >LDYAI S.MD5
clc clc
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
MD5X.Update ldy #S.MD5.FINALIZED MD5X.Update >SYSCALL2 GetMemPtr get MD5 Context
>STYA ZPCtxPtr
MD5X.Update.I ldy #S.MD5.FINALIZED
lda (ZPCtxPtr),y lda (ZPCtxPtr),y
beq .1 beq .1
@ -174,16 +197,20 @@ MD5X.Update ldy #S.MD5.FINALIZED
inc TXTPTR+1 inc TXTPTR+1
bra .1 bra .1
*-------------------------------------- *--------------------------------------
MD5X.Finalize ldy #S.MD5.FINALIZED MD5X.Finalize pha
>SYSCALL2 GetMemPtr
>STYA ZPCtxPtr get MD5 Context
MD5X.Finalize.I ldy #S.MD5.FINALIZED
lda (ZPCtxPtr),y lda (ZPCtxPtr),y
bne .11 bne .1
jsr MD5ExtraChunk jsr MD5ExtraChunk
.11 ldy #S.MD5.ABCD0 .1 ldy #S.MD5.ABCD0
.1 lda (ZPCtxPtr),y .2 lda (ZPCtxPtr),y
lsr lsr
lsr lsr
lsr lsr
@ -200,12 +227,13 @@ MD5X.Finalize ldy #S.MD5.FINALIZED
iny iny
cpy #S.MD5.ABCD0+16 cpy #S.MD5.ABCD0+16
bne .1 bne .2
lda #0 lda #0
jsr SHARED.FORPNT.PutNext jsr SHARED.FORPNT.PutNext
clc
.9 rts pla
jmp K.FreeMem
*-------------------------------------- *--------------------------------------
* PRIVATE * PRIVATE
*-------------------------------------- *--------------------------------------

View File

@ -17,7 +17,7 @@ K.Time >PULLW FORPNT
>STYA TXTPTR >STYA TXTPTR
ldx #SYS.PTime2Time ldx #SYS.PTime2Time
bra TIME.JMP jmp K.SYSCALL.JMPX
*/-------------------------------------- */--------------------------------------
* # StrFTime * # StrFTime
* ## C * ## C
@ -48,7 +48,7 @@ K.Time >PULLW FORPNT
K.StrFTime >PULLW ZPPtr3 S.TIME K.StrFTime >PULLW ZPPtr3 S.TIME
>PULLW TXTPTR format >PULLW TXTPTR format
>PULLW FORPNT str >PULLW FORPNT str
bra TIME.JMP jmp K.SYSCALL.JMPX
*/-------------------------------------- */--------------------------------------
* # PTime2Time * # PTime2Time
* Convert ProDOS Time To S.TIME * Convert ProDOS Time To S.TIME
@ -74,18 +74,7 @@ K.PTime2Time
*\-------------------------------------- *\--------------------------------------
K.CTime2Time >PULLW FORPNT S.TIME K.CTime2Time >PULLW FORPNT S.TIME
>PULLW TXTPTR ptime/ctime >PULLW TXTPTR ptime/ctime
jmp K.SYSCALL.JMPX
TIME.JMP sta SETREADAUX
sta SETWRITEAUX
jsr .1
sta CLRREADAUX
sta CLRWRITEAUX
rts
.1 jmp (.2-SYS.StrFTime,x)
.2 .DA K.StrFTime.I
.DA K.PTime2Time.I
.DA K.CTime2Time.I
*-------------------------------------- *--------------------------------------
MAN MAN
SAVE USR/SRC/SYS/KERNEL.S.TIME SAVE USR/SRC/SYS/KERNEL.S.TIME

View File

@ -12,7 +12,7 @@ DAY0 .EQ 4 day 0 was a thursday
* FORPNT str * FORPNT str
* TXTPTR format * TXTPTR format
*-------------------------------------- *--------------------------------------
K.StrFTime.I TIMEX.StrFTime
.1 jsr SHARED.TXTPTR.GetNext .1 jsr SHARED.TXTPTR.GetNext
beq .8 beq .8
@ -167,7 +167,8 @@ TIMEX.MON >PSTR "???"
>PSTR "November" >PSTR "November"
>PSTR "December" >PSTR "December"
*-------------------------------------- *--------------------------------------
K.PTime2Time.I ldy #1 TIMEX.PTime2Time
ldy #1
jsr SHARED.TXTPTR.GetY Get Year jsr SHARED.TXTPTR.GetY Get Year
lsr C is high bit of month lsr C is high bit of month
ldy #S.Time.YEAR ldy #S.Time.YEAR
@ -298,7 +299,8 @@ K.ComputeWDAY.1 ldx #$ff SELF MODIFIED : month
*-------------------------------------- *--------------------------------------
TIMEX.MDAY .DA #3,#0,#3,#2,#3,#2,#3,#3,#2,#3,#2,#3 TIMEX.MDAY .DA #3,#0,#3,#2,#3,#2,#3,#3,#2,#3,#2,#3
*-------------------------------------- *--------------------------------------
K.CTime2Time.I ldy #3 TIMEX.CTime2Time
ldy #3
.1 lda (ZPPtr1),y .1 lda (ZPPtr1),y
sta ARG32,y ARG = ctime sta ARG32,y ARG = ctime

View File

@ -86,7 +86,6 @@ A2osX.D2.B .PH $D000
.INB USR/SRC/SYS/KERNEL.S.BIN .INB USR/SRC/SYS/KERNEL.S.BIN
.INB USR/SRC/SYS/KERNEL.S.PS .INB USR/SRC/SYS/KERNEL.S.PS
.INB USR/SRC/SYS/KERNEL.S.ARG .INB USR/SRC/SYS/KERNEL.S.ARG
.INB USR/SRC/SYS/KERNEL.S.ENV
.EP .EP
A2osX.D2.S .EQ *-A2osX.D2.B A2osX.D2.S .EQ *-A2osX.D2.B
@ -99,6 +98,7 @@ A2osX.E0.B .PH $E000
.INB USR/SRC/SYS/KERNEL.S.SHARED .INB USR/SRC/SYS/KERNEL.S.SHARED
.INB USR/SRC/SYS/KERNEL.S.MATH .INB USR/SRC/SYS/KERNEL.S.MATH
.INB USR/SRC/SYS/KERNEL.S.TERM .INB USR/SRC/SYS/KERNEL.S.TERM
.INB USR/SRC/SYS/KERNEL.S.ENV
.INB USR/SRC/SYS/KERNEL.S.TIME .INB USR/SRC/SYS/KERNEL.S.TIME
.INB USR/SRC/SYS/KERNEL.S.MD5 .INB USR/SRC/SYS/KERNEL.S.MD5
.INB USR/SRC/SYS/KERNEL.S.PWD .INB USR/SRC/SYS/KERNEL.S.PWD