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