From f9e0ce0fab9e1407976e540143110745224fb534 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Wed, 27 Mar 2019 17:01:01 +0000 Subject: [PATCH] Kernel 0.93 --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/ASM.S.SYM.txt | 12 +++++++- SYS/KERNEL.S.GP.txt | 20 +++++++------ SYS/KERNEL.S.INIT.txt | 1 + SYS/KERNEL.S.IRQ.txt | 1 + SYS/KERNEL.S.SLIST.txt | 63 +++++++++++++++++++++++---------------- 6 files changed, 61 insertions(+), 36 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 3d4af772ed8d2be395834a27653f5642fc36fa62..0da2d4d681165f61a36be8469748c3cac233c108 100644 GIT binary patch delta 31463 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

rBim2NBy4qz<<01_g!Tk3qUDwNb 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 + >PUSHW ZPLinePtr Pass #1; try to add global... >LDA.G SYM.hGlobalList >SYSCALL SListNewKey @@ -285,11 +285,21 @@ SYM.StoreGlobal >LDA.G ASM.PASS bne .1 inc + phy + pha + >PUSHYA + >PUSHBI 2 + >LDYA L.MSG.WORD + >SYSCALL printf + pla + ply + .1 >PUSHYA .2 >PUSHW ZPGlobalBuf >PUSHW.G SYM.GlobalID >LDA.G SYM.hGlobalList + >DEBUG >SYSCALL SListAddData bcs .9 diff --git a/SYS/KERNEL.S.GP.txt b/SYS/KERNEL.S.GP.txt index b78518fc..d764f800 100644 --- a/SYS/KERNEL.S.GP.txt +++ b/SYS/KERNEL.S.GP.txt @@ -169,7 +169,7 @@ GP.SysCall dec IRQ.InKernel .7 ldx #$FF Self Modified 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 tya Get LIB hMem in A @@ -178,19 +178,20 @@ GP.LibCall dec IRQ.InKernel pla .1 jsr $FFFF SELF MODIFIED -GP.LibCall.8 inc IRQ.InKernel +GP.LibCall.8 inc IRQ.InLib rts *-------------------------------------- GP.AtkCall dec IRQ.InKernel - >STYA .1 - jsr GO.ProDOS - jsr MLI - .DA #MLIATALK -.1 .DA * - jsr GO.A2osX +* >STYA .1 +* jsr GO.ProDOS +* jsr MLI +* .DA #MLIATALK +*.1 .DA * +* jsr GO.A2osX - bra GP.LibCall.8 + inc IRQ.InKernel + rts *-------------------------------------- GP.RomCallPushFAC jsr GP.ROMCALL @@ -364,6 +365,7 @@ IRQ.Mode .BS 1 IRQ.SkipA2osX .BS 1 IRQ.Tick .BS 1 IRQ.InKernel .BS 1 +IRQ.InLib .BS 1 IRQ.IntNum .BS 1 IRQ.VBL.n0 .BS 1 IRQ.VBL.0n .BS 1 diff --git a/SYS/KERNEL.S.INIT.txt b/SYS/KERNEL.S.INIT.txt index 9c5bcb5f..5029d657 100644 --- a/SYS/KERNEL.S.INIT.txt +++ b/SYS/KERNEL.S.INIT.txt @@ -100,6 +100,7 @@ Kernel.Init3 sta SETALTZP lda #$ff Make sure we are in Kernel Mode during setup sta IRQ.InKernel + stz IRQ.InLib sta CLRMIXED sta CLRHIRES diff --git a/SYS/KERNEL.S.IRQ.txt b/SYS/KERNEL.S.IRQ.txt index 9caa339f..167a92a0 100644 --- a/SYS/KERNEL.S.IRQ.txt +++ b/SYS/KERNEL.S.IRQ.txt @@ -176,6 +176,7 @@ K.IrqH.Switch inc IRQ.Tick bpl .1 .2 lda IRQ.InKernel keep V flag set + ora IRQ.InLib bpl .3 inc PS.Table.Hits diff --git a/SYS/KERNEL.S.SLIST.txt b/SYS/KERNEL.S.SLIST.txt index e2ab56a8..e03527b4 100644 --- a/SYS/KERNEL.S.SLIST.txt +++ b/SYS/KERNEL.S.SLIST.txt @@ -109,22 +109,35 @@ SLIST.AddData jsr SLIST.Select >LDYA SLIST.KeyID Save DataLen location >STYA ZPSListKeyID to update later - jsr SLIST.SkipData - - lda ZPSListDataLen + ldy SLIST.BytePtr + lda (ZPSListDBlkPtr),y pha clc - adc SLIST.DataLen - sta SLIST.DataLen + adc ZPSListDataLen + 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 + + jsr SLIST.SkipDataAX + + lda ZPSListDataLen eor #$ff sta ZPSListDataLen lda ZPSListDataLen+1 - pha - adc SLIST.DataLen+1 - sta SLIST.DataLen+1 - pla eor #$ff sta ZPSListDataLen+1 @@ -141,16 +154,7 @@ SLIST.AddData jsr SLIST.Select .8 lda #0 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 *-------------------------------------- SLIST.SetData jsr SLIST.Select @@ -233,7 +237,7 @@ SLIST.NewKey jsr SLIST.Search cpy SLIST.KeyLen bne .1 - lda #0 + lda #0 Data Len = 0 jsr SLIST.AddBlockByte bcs .9 @@ -241,6 +245,10 @@ SLIST.NewKey jsr SLIST.Search jsr SLIST.AddBlockByte bcs .9 + lda #0 Next Len = 0 + jsr SLIST.AddBlockByte + bcs .9 + >LDYA ZPSListKeyID ldx SLIST.KeyLen clc @@ -265,8 +273,11 @@ SLIST.New >LDYAI 160 40k Max before out of memory!!! stx .8+1 >LDYAI 256 - jsr K.GetMem0 + jsr K.GetMem bcs .9 + >STYA ZPSListDBlkPtr + lda #0 + sta (ZPSListDBlkPtr) txa sta (ZPSListIBlkPtr) @@ -309,14 +320,10 @@ SLIST.Select.I ldy ZPSListKeyID+1 SLIST.Search jsr K.GetMemPtr >STYA ZPSListIBlkPtr - stz SLIST.BlockPtr - lda (ZPSListIBlkPtr) jsr K.GetMemPtr >STYA ZPSListDBlkPtr - stz SLIST.BytePtr - ldy #$ff .1 iny @@ -325,6 +332,9 @@ SLIST.Search jsr K.GetMemPtr sty SLIST.KeyLen + stz SLIST.BytePtr + stz SLIST.BlockPtr + .2 >LDYA SLIST.KeyID >STYA ZPSListKeyID @@ -367,7 +377,7 @@ SLIST.Search jsr K.GetMemPtr SLIST.Next jsr SLIST.SkipKey SLIST.SkipData jsr SLIST.GetDataLen - + lda SLIST.DataLen ldx SLIST.DataLen+1 SLIST.SkipDataAX @@ -409,6 +419,7 @@ SLIST.GetDataLen SLIST.GetNextByte ldy SLIST.BytePtr lda (ZPSListDBlkPtr),y +SLIST.ToNextByte inc SLIST.BytePtr bne .8 @@ -430,7 +441,7 @@ SLIST.AddBlockByte phx >LDYAI 256 - jsr K.GetMem0 + jsr K.GetMem bcs .9 >STYA ZPSListDBlkPtr txa