mirror of https://github.com/A2osX/A2osX.git
Kernel 0.94++
This commit is contained in:
parent
9582ca9af0
commit
dc36e6373d
Binary file not shown.
|
@ -245,24 +245,23 @@ CMD.SET.GET >PUSHW ZPVarNamePtr
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
rts
|
CMD.SET.RTS rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CMD.SET.EXEC jsr CORE.ArgV.NextChar skip "`"
|
CMD.SET.EXEC jsr CORE.ArgV.NextChar skip "`"
|
||||||
|
|
||||||
jsr IO.Pipe.Out
|
jsr IO.Pipe.Out
|
||||||
bcs .9
|
bcs CMD.SET.RTS
|
||||||
|
|
||||||
jsr IO.Exec
|
jsr IO.Exec
|
||||||
bcs .9
|
bcs CMD.SET.RTS
|
||||||
|
|
||||||
jsr IO.Pipe.In
|
jsr IO.Pipe.In
|
||||||
bcs .9
|
bcs CMD.SET.RTS
|
||||||
|
|
||||||
* clc Silent Mode
|
* clc Silent Mode
|
||||||
jsr CL.ReadReset
|
jsr CL.ReadReset
|
||||||
|
|
||||||
jmp CMD.READ.VAR
|
jmp CMD.READ.VAR
|
||||||
.9 rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CMD.DATE >PUSHEA.G TimeBuf
|
CMD.DATE >PUSHEA.G TimeBuf
|
||||||
>SYSCALL Time
|
>SYSCALL Time
|
||||||
|
|
|
@ -29,15 +29,13 @@ HIS.Add >LDA.G HIS.hBuf
|
||||||
|
|
||||||
.1 inc
|
.1 inc
|
||||||
>STA.G HIS.LRU
|
>STA.G HIS.LRU
|
||||||
tax
|
|
||||||
>DEBUG
|
|
||||||
bra .7
|
bra .7
|
||||||
|
|
||||||
.2 inc
|
.2 inc
|
||||||
>STA.G HIS.Count
|
>STA.G HIS.Count
|
||||||
tax
|
|
||||||
|
|
||||||
.7 >PUSHB.G HIS.hBuf
|
.7 tax
|
||||||
|
>PUSHB.G HIS.hBuf
|
||||||
>PUSHBI 0
|
>PUSHBI 0
|
||||||
txa
|
txa
|
||||||
>PUSHA
|
>PUSHA
|
||||||
|
@ -80,6 +78,9 @@ HIS.Select >LDA.G HIS.Count
|
||||||
|
|
||||||
>STZ.G HIS.Index
|
>STZ.G HIS.Index
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
sta (ZPCLBuf)
|
||||||
|
|
||||||
>SYSCALL GetChar
|
>SYSCALL GetChar
|
||||||
bcs HIS.Select.RTS
|
bcs HIS.Select.RTS
|
||||||
|
|
||||||
|
|
|
@ -546,6 +546,7 @@ CORE.IRQ.Switch inc IRQ.Tick
|
||||||
lda (pPS),y
|
lda (pPS),y
|
||||||
eor #S.PS.S.RUN
|
eor #S.PS.S.RUN
|
||||||
bne .9
|
bne .9
|
||||||
|
|
||||||
lda IRQ.InLib
|
lda IRQ.InLib
|
||||||
bmi .9 we are in LIB, no switching
|
bmi .9 we are in LIB, no switching
|
||||||
|
|
||||||
|
@ -553,20 +554,28 @@ CORE.IRQ.Switch inc IRQ.Tick
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CORE.IRQ.DEV ldx #0
|
CORE.IRQ.DEV ldx #0
|
||||||
|
|
||||||
.1 lda IRQ.Vectors+1,x
|
.1 lda IRQ.Vectors+1,x
|
||||||
beq .9
|
beq .9
|
||||||
|
|
||||||
sta .10+2
|
sta .10+2
|
||||||
lda IRQ.Vectors,x
|
lda IRQ.Vectors,x
|
||||||
sta .10+1
|
sta .10+1
|
||||||
|
|
||||||
phx
|
phx
|
||||||
|
|
||||||
.10 jsr $ffff SELF MODIFIED
|
.10 jsr $ffff SELF MODIFIED
|
||||||
|
|
||||||
plx
|
plx
|
||||||
bcc .8 CC, IRQ cleared by device
|
bcc .8 CC, IRQ cleared by device
|
||||||
|
|
||||||
.2 inx
|
.2 inx
|
||||||
inx
|
inx
|
||||||
.3 cpx #K.IRQDEV.MAX*2
|
.3 cpx #K.IRQDEV.MAX*2
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
.9 sec
|
.9 sec
|
||||||
|
|
||||||
.8 clv clear V (no task switching)
|
.8 clv clear V (no task switching)
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
|
|
@ -1018,6 +1018,7 @@ IrqMgrInit.Mouse
|
||||||
|
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.4 lda ZPPtr1+1
|
.4 lda ZPPtr1+1
|
||||||
|
|
||||||
sta .11+2
|
sta .11+2
|
||||||
|
|
|
@ -4,6 +4,7 @@ NEW
|
||||||
.DUMMY ZPTMP,6
|
.DUMMY ZPTMP,6
|
||||||
.OR ZPTMP 29 bytes
|
.OR ZPTMP 29 bytes
|
||||||
ZPCtxPtr .BS 2
|
ZPCtxPtr .BS 2
|
||||||
|
ZPDataLen .BS 2
|
||||||
ZPChunkLen .BS 2
|
ZPChunkLen .BS 2
|
||||||
.ED
|
.ED
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -82,23 +83,21 @@ MD5X.MD5 ldy #$ff
|
||||||
jsr SHARED.TXTPTRgY
|
jsr SHARED.TXTPTRgY
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
sty FORPNT
|
sty ZPDataLen
|
||||||
stz FORPNT+1
|
stz ZPDataLen+1
|
||||||
|
|
||||||
jsr MD5X.Init
|
jsr MD5X.Init
|
||||||
bcs .9
|
bcs MD5X.RTS
|
||||||
|
|
||||||
pha save MD5 Context hMem
|
pha save MD5 Context hMem
|
||||||
|
|
||||||
jsr MD5X.Update.I
|
jsr MD5X.Update.I
|
||||||
|
|
||||||
jmp MD5X.Finalize.I
|
jmp MD5X.Finalize.I
|
||||||
|
|
||||||
.9 rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MD5X.Init >LDYAI S.MD5
|
MD5X.Init >LDYAI S.MD5
|
||||||
jsr K.GetMem
|
jsr K.GetMem
|
||||||
bcs .9
|
bcs MD5X.RTS
|
||||||
|
|
||||||
>STYA ZPCtxPtr
|
>STYA ZPCtxPtr
|
||||||
|
|
||||||
|
@ -120,28 +119,28 @@ MD5X.Init >LDYAI S.MD5
|
||||||
txa
|
txa
|
||||||
|
|
||||||
clc
|
clc
|
||||||
.9 rts
|
|
||||||
|
MD5X.RTS rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MD5X.Update jsr K.GetMemPtr get MD5 Context
|
MD5X.Update jsr K.GetMemPtr get MD5 Context
|
||||||
>STYA ZPCtxPtr
|
>STYA ZPCtxPtr
|
||||||
|
|
||||||
|
>LDYA FORPNT
|
||||||
|
>STYA ZPDataLen
|
||||||
|
|
||||||
MD5X.Update.I ldy #S.MD5.FINALIZED
|
MD5X.Update.I ldy #S.MD5.FINALIZED
|
||||||
lda (ZPCtxPtr),y
|
lda (ZPCtxPtr),y
|
||||||
beq .1
|
|
||||||
|
|
||||||
sec
|
sec
|
||||||
rts
|
bne MD5X.RTS
|
||||||
|
|
||||||
.1 lda FORPNT+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 FORPNT
|
lda ZPDataLen
|
||||||
bne .2 Len = O ?
|
clc
|
||||||
|
beq MD5X.RTS Len = O, all data processed
|
||||||
|
|
||||||
clc All data processed
|
cmp #64 More than 64 Bytes remaining to hash ?
|
||||||
rts
|
|
||||||
|
|
||||||
.2 cmp #64 More than 64 Bytes remaining to hash ?
|
|
||||||
bcc .50 yes
|
bcc .50 yes
|
||||||
|
|
||||||
.3 lda #64
|
.3 lda #64
|
||||||
|
@ -181,13 +180,13 @@ MD5X.Update.I ldy #S.MD5.FINALIZED
|
||||||
.58 jsr MD5Transform
|
.58 jsr MD5Transform
|
||||||
jsr MD5UpdateABCD0
|
jsr MD5UpdateABCD0
|
||||||
|
|
||||||
.8 lda FORPNT 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 FORPNT
|
sta ZPDataLen
|
||||||
bcs .81
|
bcs .81
|
||||||
|
|
||||||
dec FORPNT+1
|
dec ZPDataLen+1
|
||||||
|
|
||||||
.81 lda TXTPTR Add Bytes processed to DATA
|
.81 lda TXTPTR Add Bytes processed to DATA
|
||||||
clc
|
clc
|
||||||
|
|
|
@ -360,7 +360,10 @@ K.FreeMem tay
|
||||||
lda (ZPMemMgrSPtr) In use ?
|
lda (ZPMemMgrSPtr) In use ?
|
||||||
bpl K.FreeMem.ERR
|
bpl K.FreeMem.ERR
|
||||||
|
|
||||||
jsr MEM.DecRefCnt only one left ?
|
ldy #S.MEM.REFCNT
|
||||||
|
lda (ZPMemMgrSPtr),y
|
||||||
|
dec only one left ?
|
||||||
|
sta (ZPMemMgrSPtr),y
|
||||||
bne .8 no, must be a code segment loaded several times
|
bne .8 no, must be a code segment loaded several times
|
||||||
|
|
||||||
lda (ZPMemMgrSPtr)
|
lda (ZPMemMgrSPtr)
|
||||||
|
@ -458,12 +461,6 @@ Mem.IncRefCnt ldy #S.MEM.REFCNT
|
||||||
inc
|
inc
|
||||||
sta (ZPMemMgrSPtr),y
|
sta (ZPMemMgrSPtr),y
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
|
||||||
Mem.DecRefCnt ldy #S.MEM.REFCNT
|
|
||||||
lda (ZPMemMgrSPtr),y
|
|
||||||
dec
|
|
||||||
sta (ZPMemMgrSPtr),y
|
|
||||||
rts
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # NewStkObj
|
* # NewStkObj
|
||||||
* Y,A = Size Requested
|
* Y,A = Size Requested
|
||||||
|
@ -659,11 +656,13 @@ MEM.GetKrnlBuf pha
|
||||||
pla
|
pla
|
||||||
adc DevMgr.Free+1
|
adc DevMgr.Free+1
|
||||||
bcs .99 we crossed $FFFF, out of mem
|
bcs .99 we crossed $FFFF, out of mem
|
||||||
|
|
||||||
cpx #DevMgr.HiMem
|
cpx #DevMgr.HiMem
|
||||||
pha
|
pha
|
||||||
sbc /DevMgr.HiMem
|
sbc /DevMgr.HiMem
|
||||||
pla
|
pla
|
||||||
bcs .99 No More Room...
|
bcs .99 No More Room...
|
||||||
|
|
||||||
ldy DevMgr.Free
|
ldy DevMgr.Free
|
||||||
stx DevMgr.Free
|
stx DevMgr.Free
|
||||||
ldx DevMgr.Free+1
|
ldx DevMgr.Free+1
|
||||||
|
|
|
@ -22,7 +22,7 @@ STRVX.StrVNew jsr K.GetMem
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
STRVX.StrVSet jsr STRVX.GetID
|
STRVX.StrVSet jsr STRVX.GetID
|
||||||
bcs .7
|
bcs .7
|
||||||
|
|
||||||
ldy #$ff
|
ldy #$ff
|
||||||
|
|
||||||
.1 iny
|
.1 iny
|
||||||
|
@ -31,70 +31,68 @@ STRVX.StrVSet jsr STRVX.GetID
|
||||||
|
|
||||||
tya
|
tya
|
||||||
|
|
||||||
* clc
|
* clc
|
||||||
adc #4 LEN+IDlo+IDhi+\0
|
adc #4 LEN+IDlo+IDhi+\0
|
||||||
bcs .99
|
bcs .9
|
||||||
|
|
||||||
cmp (ZPPtr1)
|
cmp (ZPPtr1)
|
||||||
bne .4
|
bne .4
|
||||||
|
|
||||||
lda ZPPtr1 Same Length, replace
|
lda ZPPtr1 Same Length, replace
|
||||||
clc
|
clc
|
||||||
adc #3
|
adc #3
|
||||||
sta ZPPtr1
|
sta ZPPtr1
|
||||||
bcc .2
|
bcc .2
|
||||||
|
|
||||||
inc ZPPtr1+1
|
inc ZPPtr1+1
|
||||||
|
|
||||||
.2 ldy #$ff
|
.2 ldy #$ff
|
||||||
|
|
||||||
.3 iny
|
.3 iny
|
||||||
jsr SHARED.FORPNTgY
|
jsr SHARED.FORPNTgY
|
||||||
sta (ZPPtr1),y
|
sta (ZPPtr1),y
|
||||||
bne .3
|
bne .3
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.4 >LDYA ZPPtr1
|
.4 >LDYA ZPPtr1
|
||||||
>STYA ZPPtr2
|
>STYA ZPPtr2
|
||||||
|
|
||||||
jsr STRVX.Next
|
jsr STRVX.Next
|
||||||
|
|
||||||
.40 lda (ZPPtr1)
|
.40 lda (ZPPtr1)
|
||||||
beq .7
|
beq .6
|
||||||
|
|
||||||
ldy #2 LEN+IDlo+IDhi
|
tax
|
||||||
|
|
||||||
|
ldy #0
|
||||||
|
|
||||||
.5 lda (ZPPtr1),y
|
.5 lda (ZPPtr1),y
|
||||||
sta (ZPPtr2),y
|
sta (ZPPtr2),y
|
||||||
dey
|
iny
|
||||||
bpl .5
|
dex
|
||||||
|
bne .5
|
||||||
ldy #2
|
|
||||||
|
jsr SHARED.AddY2P1
|
||||||
.6 iny
|
jsr SHARED.AddY2P2
|
||||||
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
sta (ZPPtr2),y
|
|
||||||
bne .6
|
|
||||||
|
|
||||||
jsr SHARED.AddYp12P1
|
|
||||||
jsr SHARED.AddYp12P2
|
|
||||||
bra .40
|
bra .40
|
||||||
|
|
||||||
|
.6 >LDYA ZPPtr2
|
||||||
|
>STYA ZPPtr1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.7 ldy #$ff
|
.7 ldy #$ff
|
||||||
|
|
||||||
.8 iny
|
.8 iny
|
||||||
jsr SHARED.FORPNTgY
|
jsr SHARED.FORPNTgY
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
tya
|
tya
|
||||||
|
|
||||||
clc
|
clc
|
||||||
adc #4
|
adc #4
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
sta (ZPPtr1)
|
sta (ZPPtr1)
|
||||||
ldy #1
|
ldy #1
|
||||||
lda TXTPTR
|
lda TXTPTR
|
||||||
|
@ -102,25 +100,25 @@ STRVX.StrVSet jsr STRVX.GetID
|
||||||
iny
|
iny
|
||||||
lda TXTPTR+1
|
lda TXTPTR+1
|
||||||
sta (ZPPtr1),y
|
sta (ZPPtr1),y
|
||||||
|
|
||||||
lda ZPPtr1
|
lda ZPPtr1
|
||||||
clc
|
clc
|
||||||
adc #3
|
adc #3
|
||||||
sta ZPPtr1
|
sta ZPPtr1
|
||||||
bcc .10
|
bcc .10
|
||||||
|
|
||||||
inc ZPPtr1+1
|
inc ZPPtr1+1
|
||||||
|
|
||||||
.10 ldy #$ff
|
.10 ldy #$ff
|
||||||
|
|
||||||
.11 iny
|
.11 iny
|
||||||
jsr SHARED.FORPNTgY
|
jsr SHARED.FORPNTgY
|
||||||
sta (ZPPtr1),y
|
sta (ZPPtr1),y
|
||||||
bne .11
|
bne .11
|
||||||
|
|
||||||
iny
|
iny
|
||||||
sta (ZPPtr1),y StrV Ending \0
|
sta (ZPPtr1),y StrV Ending \0
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
@ -130,51 +128,51 @@ STRVX.StrVSet jsr STRVX.GetID
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
STRVX.StrVGet jsr STRVX.GetID
|
STRVX.StrVGet jsr STRVX.GetID
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
lda ZPPtr1
|
lda ZPPtr1
|
||||||
* clc
|
* clc
|
||||||
adc #3
|
adc #3
|
||||||
sta ZPPtr1
|
sta ZPPtr1
|
||||||
bcc .1
|
bcc .1
|
||||||
|
|
||||||
inc ZPPtr1+1
|
inc ZPPtr1+1
|
||||||
|
|
||||||
.1 ldy #$ff
|
.1 ldy #$ff
|
||||||
|
|
||||||
.5 iny
|
.5 iny
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
jsr SHARED.FORPNTpY
|
jsr SHARED.FORPNTpY
|
||||||
bne .5
|
bne .5
|
||||||
|
|
||||||
>LDYA FORPNT
|
>LDYA FORPNT
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.8 >LDYA ZPPtr1
|
.8 >LDYA ZPPtr1
|
||||||
clc
|
clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
STRVX.GetID jsr K.GetMemPtr
|
STRVX.GetID jsr K.GetMemPtr
|
||||||
>STYA ZPPtr1 strV
|
>STYA ZPPtr1 strV
|
||||||
|
|
||||||
.1 lda (ZPPtr1)
|
.1 lda (ZPPtr1)
|
||||||
beq .9
|
beq .9
|
||||||
|
|
||||||
ldy #1
|
ldy #1
|
||||||
|
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
cmp TXTPTR
|
cmp TXTPTR
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
cmp TXTPTR+1
|
cmp TXTPTR+1
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
.2 jsr STRVX.Next
|
.2 jsr STRVX.Next
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.9 lda #E.NOKEY
|
.9 lda #E.NOKEY
|
||||||
|
@ -186,7 +184,7 @@ STRVX.Next lda (ZPPtr1)
|
||||||
adc ZPPtr1
|
adc ZPPtr1
|
||||||
sta ZPPtr1
|
sta ZPPtr1
|
||||||
bcc .8
|
bcc .8
|
||||||
|
|
||||||
inc ZPPtr1+1
|
inc ZPPtr1+1
|
||||||
|
|
||||||
.8 rts
|
.8 rts
|
||||||
|
|
Loading…
Reference in New Issue