diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 0da2d4d6..1e0a0b29 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BIN/ASM.S.SYM.txt b/BIN/ASM.S.SYM.txt index c70e676c..337be91c 100644 --- a/BIN/ASM.S.SYM.txt +++ b/BIN/ASM.S.SYM.txt @@ -299,7 +299,7 @@ SYM.StoreGlobal >LDA.G ASM.PASS .2 >PUSHW ZPGlobalBuf >PUSHW.G SYM.GlobalID >LDA.G SYM.hGlobalList - >DEBUG +* >DEBUG >SYSCALL SListAddData bcs .9 diff --git a/SYS/KERNEL.S.IRQ.txt b/SYS/KERNEL.S.IRQ.txt index 167a92a0..0d5aa855 100644 --- a/SYS/KERNEL.S.IRQ.txt +++ b/SYS/KERNEL.S.IRQ.txt @@ -93,6 +93,9 @@ K.IrqHAuxLC.3 pla Must keep Carry sta $fe bvc K.IrqHAuxLC.4 if V, skip task switching + + bit IRQ.InLib + bmi K.IrqHAuxLC.4 we are in LIB, no switching tsx txa @@ -176,7 +179,6 @@ 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 e03527b4..ee5b7f08 100644 --- a/SYS/KERNEL.S.SLIST.txt +++ b/SYS/KERNEL.S.SLIST.txt @@ -400,12 +400,7 @@ SLIST.SkipKey ldy SLIST.BytePtr sec adc SLIST.BytePtr sta SLIST.BytePtr - bcc .8 - - inc SLIST.BlockPtr - lda SLIST.BlockPtr - jsr K.GetMemPtr - >STYA ZPSListDBlkPtr + bcs SLIST.ToNextBlock .8 rts *-------------------------------------- @@ -419,15 +414,12 @@ SLIST.GetDataLen SLIST.GetNextByte ldy SLIST.BytePtr lda (ZPSListDBlkPtr),y -SLIST.ToNextByte +SLIST.ToNextByte inc SLIST.BytePtr bne .8 pha - inc SLIST.BlockPtr - lda SLIST.BlockPtr - jsr K.GetMemPtr - >STYA ZPSListDBlkPtr + jsr SLIST.ToNextBlock pla .8 rts @@ -461,24 +453,22 @@ SLIST.AddBlockByte .9 plx ply sec +SLIST.AddBlockByte.RTS rts *-------------------------------------- SLIST.SetBlockByte ldy SLIST.BytePtr sta (ZPSListDBlkPtr),y inc SLIST.BytePtr - bne .8 - - inc SLIST.BlockPtr - - ldy SLIST.BlockPtr + bne SLIST.AddBlockByte.RTS +*-------------------------------------- +SLIST.ToNextBlock + inc SLIST.BlockPtr + ldy SLIST.BlockPtr lda (ZPSListIBlkPtr),y - jsr K.GetMemPtr >STYA ZPSListDBlkPtr -* stz SLIST.BlockPtr - -.8 rts + rts *-------------------------------------- SLIST.KeyLen .BS 1 SLIST.DataLen .BS 2