From 4ad03e1391ddd8dfd6bf09eb0d3de1e3632ba559 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Mon, 23 Apr 2018 08:03:23 +0200 Subject: [PATCH] Kernel 0.9.1 : KERNEL, bugfix in task swithcer --- .Floppies/A2OSX.BOOT.po | Bin 143360 -> 143360 bytes .Floppies/A2OSX.BUILD.po | Bin 819200 -> 819200 bytes .Floppies/A2OSX.SRC.po | Bin 819200 -> 819200 bytes INC/A2osX.I.txt | 2 +- INC/KERNEL.I.txt | 5 +++-- SYS/KERNEL.S.CORE.txt | 17 +++++------------ SYS/KERNEL.S.INIT.txt | 4 ++-- SYS/KERNEL.S.IRQ.txt | 15 ++++++++------- 8 files changed, 19 insertions(+), 24 deletions(-) diff --git a/.Floppies/A2OSX.BOOT.po b/.Floppies/A2OSX.BOOT.po index 0948f9828b44d17218f9deadf3fb20a17bf5ba0e..6f97e149ee597ce430d66ab050ff414c5e04803f 100644 GIT binary patch delta 6134 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 Socur>q@f4m!cND9Kl3jDwZcUJ delta 5539 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 diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index 59faa0dd..1d7c5e96 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -385,7 +385,7 @@ S.PS.RC .EQ 13 S.PS.ARGC .EQ 14 S.PS.hARGS .EQ 15 -S.PS.STATS .EQ 16 +* .EQ 16 S.PS.A .EQ 17 S.PS.X .EQ 18 diff --git a/INC/KERNEL.I.txt b/INC/KERNEL.I.txt index ba9151f3..136f9016 100644 --- a/INC/KERNEL.I.txt +++ b/INC/KERNEL.I.txt @@ -7,7 +7,7 @@ AUTO 4,1 *-------------------------------------- K.ENV.SIZE .EQ 256 K.FLT.MAX .EQ 4 -K.EVT.MAX .EQ 8 +K.EVT.MAX .EQ 4 K.DEV.MAX .EQ 32 K.PS.MAX .EQ 32 *-------------------------------------- @@ -113,8 +113,9 @@ K.Buf256 .EQ $0C00 Main *-------------------------------------- PS.Table.PID .EQ $0D00 K.PS.MAX PS.Table.hMem .EQ $0D20 K.PS.MAX +PS.Table.Stat .EQ $0D40 K.PS.MAX *-------------------------------------- -Evt.Table .EQ $0D40 K.EVT.MAX*S.EVT.SIZE=8*8=64b +Evt.Table .EQ $0D60 K.EVT.MAX*S.EVT.SIZE=4*8=32b *-------------------------------------- Flt.Table .EQ $0D80 K.FLT.MAX*S.FLT.SIZE=4*32=128b *-------------------------------------- diff --git a/SYS/KERNEL.S.CORE.txt b/SYS/KERNEL.S.CORE.txt index 50e92386..a08cc662 100644 --- a/SYS/KERNEL.S.CORE.txt +++ b/SYS/KERNEL.S.CORE.txt @@ -4,9 +4,9 @@ AUTO 4,1 *-------------------------------------- CORE.Run lda CORE.PSCount sta CORE.Counter - bne .1 SHOULD NEVER HAPPEN!!! +* bne .1 SHOULD NEVER HAPPEN!!! - jmp CORE.Events +* jmp CORE.Events .1 ldx CORE.Counter lda PS.Table.PID-1,x @@ -40,9 +40,7 @@ CORE.Run lda CORE.PSCount sta (pPS) jsr CORE.Resume Restore PC....and JMP to - dec IRQ.InKernel - bcc .7 - bcs .5 + bra .41 .3 bit #S.PS.F.INIT beq .4 @@ -56,7 +54,7 @@ CORE.Run lda CORE.PSCount jsr CORE.pCodeJmp Call INIT/RUN function dec IRQ.InKernel - bcc .7 INIT/RUN/RESUME said CS=QUIT? +.41 bcc .7 INIT/RUN/RESUME said CS=QUIT? .5 tax save RC ldy #S.PS.PPID Notify Parent Process for exit code... @@ -458,12 +456,7 @@ CORE.PSLeave ldy #S.PS.ZP+ZPBIN.SIZE-1 rts *-------------------------------------- -CORE.Switch php - sec - .HS 2C BIT ABS -*-------------------------------------- CORE.Sleep php - clc sei cld @@ -593,7 +586,7 @@ CORE.Tick10t .BS 1 CORE.Counter .BS 1 CORE.PSCount .DA #0 CORE.LastPSID .DA #0 -CORE.S.PS0 .BS S.PS.STATS+1 +CORE.S.PS0 .BS S.PS.hStdErr+1 *-------------------------------------- MAN SAVE /A2OSX.SRC/SYS/KERNEL.S.CORE diff --git a/SYS/KERNEL.S.INIT.txt b/SYS/KERNEL.S.INIT.txt index c44c279b..ebdc5583 100644 --- a/SYS/KERNEL.S.INIT.txt +++ b/SYS/KERNEL.S.INIT.txt @@ -538,10 +538,10 @@ PS0Init ldx #S.DEV*2 NUL,SYS ldy #S.PS.hStdIn sta (pPs),y sta CORE.S.PS0+S.PS.hStdIn - ldy #S.PS.hStdOut + iny #S.PS.hStdOut sta (pPs),y sta CORE.S.PS0+S.PS.hStdOut - ldy #S.PS.hStdErr + iny #S.PS.hStdErr sta (pPs),y sta CORE.S.PS0+S.PS.hStdErr diff --git a/SYS/KERNEL.S.IRQ.txt b/SYS/KERNEL.S.IRQ.txt index 8ae58dc1..e8841940 100644 --- a/SYS/KERNEL.S.IRQ.txt +++ b/SYS/KERNEL.S.IRQ.txt @@ -21,7 +21,8 @@ K.IrqHAuxLC cld pla pha and #$10 BRK? - bne K.IrqHAuxLC.6 + bne * +* bne K.IrqHAuxLC.6 stx K.IrqHAuxLC.5+1 sty K.IrqHAuxLC.4+1 @@ -83,9 +84,9 @@ K.IrqHAuxLC.3 pla lda $103,x get IRQ pushed P sta $101,x down 2 bytes - lda #CORE.Switch make a RTI like "jsr CORE.Sleep" + lda #CORE.Sleep make a RTI like "jsr CORE.Sleep" sta $102,x - lda /CORE.Switch with RTS=PC IRQ-1 + lda /CORE.Sleep with RTS=PC IRQ-1 sta $103,x K.IrqHAuxLC.4 ldy #$ff Self Modified @@ -140,10 +141,10 @@ K.IrqH.Switch inc IRQ.Tick eor SYS.BASL0+37 sta SYS.BASL0+37 - ldy #S.PS.STATS - lda (pPs),y - inc - sta (pPs),y +* ldy #S.PS.STATS +* lda (pPs),y +* inc +* sta (pPs),y bvc * .8 clc exit with V flag set