mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-19 23:29:29 +00:00
Kernel 0.93
This commit is contained in:
parent
1c1c13a328
commit
f9e0ce0fab
Binary file not shown.
@ -148,7 +148,7 @@ SYM.NewOrGetGlobal
|
|||||||
|
|
||||||
SYM.NewGlobal jsr SYM.StoreGlobal
|
SYM.NewGlobal jsr SYM.StoreGlobal
|
||||||
bcs .99
|
bcs .99
|
||||||
>DEBUG
|
|
||||||
>PUSHW ZPLinePtr Pass #1; try to add global...
|
>PUSHW ZPLinePtr Pass #1; try to add global...
|
||||||
>LDA.G SYM.hGlobalList
|
>LDA.G SYM.hGlobalList
|
||||||
>SYSCALL SListNewKey
|
>SYSCALL SListNewKey
|
||||||
@ -285,11 +285,21 @@ SYM.StoreGlobal >LDA.G ASM.PASS
|
|||||||
bne .1
|
bne .1
|
||||||
inc
|
inc
|
||||||
|
|
||||||
|
phy
|
||||||
|
pha
|
||||||
|
>PUSHYA
|
||||||
|
>PUSHBI 2
|
||||||
|
>LDYA L.MSG.WORD
|
||||||
|
>SYSCALL printf
|
||||||
|
pla
|
||||||
|
ply
|
||||||
|
|
||||||
.1 >PUSHYA
|
.1 >PUSHYA
|
||||||
|
|
||||||
.2 >PUSHW ZPGlobalBuf
|
.2 >PUSHW ZPGlobalBuf
|
||||||
>PUSHW.G SYM.GlobalID
|
>PUSHW.G SYM.GlobalID
|
||||||
>LDA.G SYM.hGlobalList
|
>LDA.G SYM.hGlobalList
|
||||||
|
>DEBUG
|
||||||
>SYSCALL SListAddData
|
>SYSCALL SListAddData
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
|
@ -169,7 +169,7 @@ GP.SysCall dec IRQ.InKernel
|
|||||||
.7 ldx #$FF Self Modified
|
.7 ldx #$FF Self Modified
|
||||||
jmp (K.SYSCALL.JMP,x)
|
jmp (K.SYSCALL.JMP,x)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
GP.LibCall dec IRQ.InKernel
|
GP.LibCall dec IRQ.InLib
|
||||||
|
|
||||||
pha No need to save X, K.GetMemPtr will leave it unmodified
|
pha No need to save X, K.GetMemPtr will leave it unmodified
|
||||||
tya Get LIB hMem in A
|
tya Get LIB hMem in A
|
||||||
@ -178,19 +178,20 @@ GP.LibCall dec IRQ.InKernel
|
|||||||
pla
|
pla
|
||||||
.1 jsr $FFFF SELF MODIFIED
|
.1 jsr $FFFF SELF MODIFIED
|
||||||
|
|
||||||
GP.LibCall.8 inc IRQ.InKernel
|
GP.LibCall.8 inc IRQ.InLib
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
GP.AtkCall dec IRQ.InKernel
|
GP.AtkCall dec IRQ.InKernel
|
||||||
|
|
||||||
>STYA .1
|
* >STYA .1
|
||||||
jsr GO.ProDOS
|
* jsr GO.ProDOS
|
||||||
jsr MLI
|
* jsr MLI
|
||||||
.DA #MLIATALK
|
* .DA #MLIATALK
|
||||||
.1 .DA *
|
*.1 .DA *
|
||||||
jsr GO.A2osX
|
* jsr GO.A2osX
|
||||||
|
|
||||||
bra GP.LibCall.8
|
inc IRQ.InKernel
|
||||||
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
GP.RomCallPushFAC
|
GP.RomCallPushFAC
|
||||||
jsr GP.ROMCALL
|
jsr GP.ROMCALL
|
||||||
@ -364,6 +365,7 @@ IRQ.Mode .BS 1
|
|||||||
IRQ.SkipA2osX .BS 1
|
IRQ.SkipA2osX .BS 1
|
||||||
IRQ.Tick .BS 1
|
IRQ.Tick .BS 1
|
||||||
IRQ.InKernel .BS 1
|
IRQ.InKernel .BS 1
|
||||||
|
IRQ.InLib .BS 1
|
||||||
IRQ.IntNum .BS 1
|
IRQ.IntNum .BS 1
|
||||||
IRQ.VBL.n0 .BS 1
|
IRQ.VBL.n0 .BS 1
|
||||||
IRQ.VBL.0n .BS 1
|
IRQ.VBL.0n .BS 1
|
||||||
|
@ -100,6 +100,7 @@ Kernel.Init3 sta SETALTZP
|
|||||||
|
|
||||||
lda #$ff Make sure we are in Kernel Mode during setup
|
lda #$ff Make sure we are in Kernel Mode during setup
|
||||||
sta IRQ.InKernel
|
sta IRQ.InKernel
|
||||||
|
stz IRQ.InLib
|
||||||
|
|
||||||
sta CLRMIXED
|
sta CLRMIXED
|
||||||
sta CLRHIRES
|
sta CLRHIRES
|
||||||
|
@ -176,6 +176,7 @@ K.IrqH.Switch inc IRQ.Tick
|
|||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
.2 lda IRQ.InKernel keep V flag set
|
.2 lda IRQ.InKernel keep V flag set
|
||||||
|
ora IRQ.InLib
|
||||||
bpl .3
|
bpl .3
|
||||||
|
|
||||||
inc PS.Table.Hits
|
inc PS.Table.Hits
|
||||||
|
@ -109,22 +109,35 @@ SLIST.AddData jsr SLIST.Select
|
|||||||
>LDYA SLIST.KeyID Save DataLen location
|
>LDYA SLIST.KeyID Save DataLen location
|
||||||
>STYA ZPSListKeyID to update later
|
>STYA ZPSListKeyID to update later
|
||||||
|
|
||||||
jsr SLIST.SkipData
|
ldy SLIST.BytePtr
|
||||||
|
lda (ZPSListDBlkPtr),y
|
||||||
lda ZPSListDataLen
|
|
||||||
pha
|
pha
|
||||||
clc
|
clc
|
||||||
adc SLIST.DataLen
|
adc ZPSListDataLen
|
||||||
sta SLIST.DataLen
|
sta (ZPSListDBlkPtr),y
|
||||||
|
|
||||||
|
php
|
||||||
|
jsr SLIST.ToNextByte skip LEN lo
|
||||||
|
|
||||||
|
plp
|
||||||
|
ldy SLIST.BytePtr
|
||||||
|
lda (ZPSListDBlkPtr),y
|
||||||
|
pha
|
||||||
|
adc ZPSListDataLen+1
|
||||||
|
sta (ZPSListDBlkPtr),y
|
||||||
|
|
||||||
|
jsr SLIST.ToNextByte skip LEN hi
|
||||||
|
|
||||||
|
plx
|
||||||
pla
|
pla
|
||||||
|
|
||||||
|
jsr SLIST.SkipDataAX
|
||||||
|
|
||||||
|
lda ZPSListDataLen
|
||||||
eor #$ff
|
eor #$ff
|
||||||
sta ZPSListDataLen
|
sta ZPSListDataLen
|
||||||
|
|
||||||
lda ZPSListDataLen+1
|
lda ZPSListDataLen+1
|
||||||
pha
|
|
||||||
adc SLIST.DataLen+1
|
|
||||||
sta SLIST.DataLen+1
|
|
||||||
pla
|
|
||||||
eor #$ff
|
eor #$ff
|
||||||
sta ZPSListDataLen+1
|
sta ZPSListDataLen+1
|
||||||
|
|
||||||
@ -141,16 +154,7 @@ SLIST.AddData jsr SLIST.Select
|
|||||||
|
|
||||||
.8 lda #0
|
.8 lda #0
|
||||||
jsr SLIST.AddBlockByte Make sure 0 follow DATA
|
jsr SLIST.AddBlockByte Make sure 0 follow DATA
|
||||||
bcs .9
|
|
||||||
|
|
||||||
jsr SLIST.Select.I go back to DataLen Location
|
|
||||||
|
|
||||||
lda SLIST.DataLen
|
|
||||||
jsr SLIST.SetBlockByte
|
|
||||||
lda SLIST.DataLen+1
|
|
||||||
jsr SLIST.SetBlockByte
|
|
||||||
|
|
||||||
clc
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SLIST.SetData jsr SLIST.Select
|
SLIST.SetData jsr SLIST.Select
|
||||||
@ -233,7 +237,7 @@ SLIST.NewKey jsr SLIST.Search
|
|||||||
cpy SLIST.KeyLen
|
cpy SLIST.KeyLen
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
lda #0
|
lda #0 Data Len = 0
|
||||||
jsr SLIST.AddBlockByte
|
jsr SLIST.AddBlockByte
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
@ -241,6 +245,10 @@ SLIST.NewKey jsr SLIST.Search
|
|||||||
jsr SLIST.AddBlockByte
|
jsr SLIST.AddBlockByte
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
|
lda #0 Next Len = 0
|
||||||
|
jsr SLIST.AddBlockByte
|
||||||
|
bcs .9
|
||||||
|
|
||||||
>LDYA ZPSListKeyID
|
>LDYA ZPSListKeyID
|
||||||
ldx SLIST.KeyLen
|
ldx SLIST.KeyLen
|
||||||
clc
|
clc
|
||||||
@ -265,8 +273,11 @@ SLIST.New >LDYAI 160 40k Max before out of memory!!!
|
|||||||
stx .8+1
|
stx .8+1
|
||||||
|
|
||||||
>LDYAI 256
|
>LDYAI 256
|
||||||
jsr K.GetMem0
|
jsr K.GetMem
|
||||||
bcs .9
|
bcs .9
|
||||||
|
>STYA ZPSListDBlkPtr
|
||||||
|
lda #0
|
||||||
|
sta (ZPSListDBlkPtr)
|
||||||
txa
|
txa
|
||||||
sta (ZPSListIBlkPtr)
|
sta (ZPSListIBlkPtr)
|
||||||
|
|
||||||
@ -309,14 +320,10 @@ SLIST.Select.I ldy ZPSListKeyID+1
|
|||||||
SLIST.Search jsr K.GetMemPtr
|
SLIST.Search jsr K.GetMemPtr
|
||||||
>STYA ZPSListIBlkPtr
|
>STYA ZPSListIBlkPtr
|
||||||
|
|
||||||
stz SLIST.BlockPtr
|
|
||||||
|
|
||||||
lda (ZPSListIBlkPtr)
|
lda (ZPSListIBlkPtr)
|
||||||
jsr K.GetMemPtr
|
jsr K.GetMemPtr
|
||||||
>STYA ZPSListDBlkPtr
|
>STYA ZPSListDBlkPtr
|
||||||
|
|
||||||
stz SLIST.BytePtr
|
|
||||||
|
|
||||||
ldy #$ff
|
ldy #$ff
|
||||||
|
|
||||||
.1 iny
|
.1 iny
|
||||||
@ -325,6 +332,9 @@ SLIST.Search jsr K.GetMemPtr
|
|||||||
|
|
||||||
sty SLIST.KeyLen
|
sty SLIST.KeyLen
|
||||||
|
|
||||||
|
stz SLIST.BytePtr
|
||||||
|
stz SLIST.BlockPtr
|
||||||
|
|
||||||
.2 >LDYA SLIST.KeyID
|
.2 >LDYA SLIST.KeyID
|
||||||
>STYA ZPSListKeyID
|
>STYA ZPSListKeyID
|
||||||
|
|
||||||
@ -367,7 +377,7 @@ SLIST.Search jsr K.GetMemPtr
|
|||||||
SLIST.Next jsr SLIST.SkipKey
|
SLIST.Next jsr SLIST.SkipKey
|
||||||
|
|
||||||
SLIST.SkipData jsr SLIST.GetDataLen
|
SLIST.SkipData jsr SLIST.GetDataLen
|
||||||
|
|
||||||
lda SLIST.DataLen
|
lda SLIST.DataLen
|
||||||
ldx SLIST.DataLen+1
|
ldx SLIST.DataLen+1
|
||||||
SLIST.SkipDataAX
|
SLIST.SkipDataAX
|
||||||
@ -409,6 +419,7 @@ SLIST.GetDataLen
|
|||||||
SLIST.GetNextByte
|
SLIST.GetNextByte
|
||||||
ldy SLIST.BytePtr
|
ldy SLIST.BytePtr
|
||||||
lda (ZPSListDBlkPtr),y
|
lda (ZPSListDBlkPtr),y
|
||||||
|
SLIST.ToNextByte
|
||||||
inc SLIST.BytePtr
|
inc SLIST.BytePtr
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
@ -430,7 +441,7 @@ SLIST.AddBlockByte
|
|||||||
|
|
||||||
phx
|
phx
|
||||||
>LDYAI 256
|
>LDYAI 256
|
||||||
jsr K.GetMem0
|
jsr K.GetMem
|
||||||
bcs .9
|
bcs .9
|
||||||
>STYA ZPSListDBlkPtr
|
>STYA ZPSListDBlkPtr
|
||||||
txa
|
txa
|
||||||
|
Loading…
x
Reference in New Issue
Block a user