diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index c994a37d..374152e6 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BIN/SHUTDOWN.S.txt b/BIN/SHUTDOWN.S.txt index c15912b6..c3768041 100644 --- a/BIN/SHUTDOWN.S.txt +++ b/BIN/SHUTDOWN.S.txt @@ -48,7 +48,7 @@ CS.RUN jsr CS.RUN.PS jsr CS.RUN.DEV - >PUSHBI 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