From d0ee02a961fa9295d8f994606d5a9c46c9474e43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 22 Sep 2020 17:34:51 +0200 Subject: [PATCH] Kernel 0.94 --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/SHUTDOWN.S.txt | 11 +++++++---- SBIN/GETTY.S.txt | 5 +++++ SYS/KERNEL.S.CORE.txt | 12 ++++++++++++ 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index c994a37d9db7d87321e7ffe05c6c67a2e9af5955..374152e6d871426f632b1b43360a905c9118c374 100644 GIT binary patch delta 5158 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 delta 5095 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 FPUSHBI 2 + >PUSHBI 1 >PUSHBI 1 INITD >SYSCALL Kill @@ -73,6 +73,7 @@ CS.RUN.PS bmi .6 HOLD ldy #S.PS.S + lda (ZPPtr1),y cmp #S.PS.S.QUIT beq .6 @@ -99,7 +100,7 @@ CS.RUN.PS >PUSHBI 3 >SYSCALL PrintF - >PUSHBI 2 + >PUSHBI 1 ldy #S.PS.PID lda (ZPPtr1),y @@ -115,9 +116,11 @@ CS.RUN.PS bne .1 lda Count - bne .10 + beq .8 - rts + jmp .10 + +.8 rts *-------------------------------------- CS.RUN.DEV ldx #1 stx Index diff --git a/SBIN/GETTY.S.txt b/SBIN/GETTY.S.txt index 18bd9825..7c66d1e8 100644 --- a/SBIN/GETTY.S.txt +++ b/SBIN/GETTY.S.txt @@ -176,6 +176,11 @@ CS.RUN.LOOP1 >SLEEP CS.RUN.EXIT lda bExitOnClose bmi .8 + ldy #S.PS.S + lda (ZPPtr1),y + cmp #S.PS.S.QUIT + beq .8 + jmp CS.RUN.LOOP0 .8 lda #0 diff --git a/SYS/KERNEL.S.CORE.txt b/SYS/KERNEL.S.CORE.txt index f222b5e1..8212b6e6 100644 --- a/SYS/KERNEL.S.CORE.txt +++ b/SYS/KERNEL.S.CORE.txt @@ -4,8 +4,10 @@ NEW CORE.Run stz CORE.PSIndex bra .8 Skip PS0 + .1 lda PS.Table.hPS,x beq .8 + jsr K.GetMemPtr >STYA pPs lda (pPS) get S.PS.F @@ -13,10 +15,12 @@ CORE.Run stz CORE.PSIndex * beq .2 bpl .2 + ldy #S.PS.CPID lda (pPS),y jsr CORE.GetPS bcc .8 yes, still running.... + lda (pPS) get S.PS.F again eor #S.PS.F.HOLD unmark as HOLD sta (pPS) @@ -27,27 +31,35 @@ CORE.Run stz CORE.PSIndex bcc .4 INIT/RUN Exit ? jsr CORE.UpdateParentPS + ldy #S.PS.S lda #S.PS.S.QUIT sta (pPS),y bra .3 try executing QUIT now... + .4 lda (pPS) bit #S.PS.F.SLEEP bne .7 + ldy #S.PS.S lda (pPS),y bne .5 + lda #S.PS.S.RUN go from INIT to RUN sta (pPS),y bra .7 + .5 cmp #S.PS.S.QUIT bne .7 + >PUSHBI 2 ldy #S.PS.PID lda (pPS),y >SYSCALL2 Kill bra .8 + .7 jsr CORE.PSLeave Save ZP & Ptrs + .8 inc CORE.PSIndex ldx CORE.PSIndex cpx CORE.PSCount