diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index ba9fb88c..e3d7ad23 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BIN/MEM.S.txt b/BIN/MEM.S.txt index 0019c869..18034fd8 100644 --- a/BIN/MEM.S.txt +++ b/BIN/MEM.S.txt @@ -1,6 +1,5 @@ NEW -PREFIX -AUTO 4,1 + AUTO 3,1 .LIST OFF .OP 65C02 .OR $2000 diff --git a/BIN/MEMDUMP.S.txt b/BIN/MEMDUMP.S.txt index 0030f7f3..8ce254b4 100644 --- a/BIN/MEMDUMP.S.txt +++ b/BIN/MEMDUMP.S.txt @@ -1,6 +1,5 @@ NEW - PREFIX -AUTO 4,1 + AUTO 3,1 .LIST OFF .OP 65C02 .OR $2000 diff --git a/BIN/MORE.S.txt b/BIN/MORE.S.txt index cd62e6cb..0656f96b 100644 --- a/BIN/MORE.S.txt +++ b/BIN/MORE.S.txt @@ -1,6 +1,5 @@ NEW -PREFIX -AUTO 4,1 + AUTO 3,1 .LIST OFF .OP 65C02 .OR $2000 diff --git a/BIN/PS.S.txt b/BIN/PS.S.txt index af839322..221d663a 100644 --- a/BIN/PS.S.txt +++ b/BIN/PS.S.txt @@ -43,6 +43,10 @@ L.MSG0 .DA MSG0 L.MSG1 .DA MSG1 L.MSG2 .DA MSG2 L.MSG3 .DA MSG3 +L.STATUS .DA MSG.INIT + .DA MSG.RUN + .DA MSG.EVENT + .DA MSG.QUIT .DA 0 *-------------------------------------- CS.INIT clc @@ -121,6 +125,14 @@ CS.RUN.DUMP >SYSCALL GetMemPtr >PUSHEA.G PS.FLAGS + ldy #S.PS.S + lda (ZPPSPtr),y + tax + lda L.STATUS+1,x + >PUSHA + lda L.STATUS,x + >PUSHA + ldx Index lda PS.Table.Stats,x @@ -141,7 +153,7 @@ CS.RUN.DUMP >SYSCALL GetMemPtr lda PS.Table.hPS,x >PUSHA - >PUSHBI 8 + >PUSHBI 10 >LDYA L.MSG1 >SYSCALL printf bcs .9 @@ -212,11 +224,15 @@ CS.QUIT clc rts *-------------------------------------- CS.END -MSG0 .AZ "\e[?7lhPS pPID PID cPID CPU\% Flags UID Command Line\r\n" -MSG1 .AZ "%3d %3d %3d %3d %3d\% %s %3d" +MSG0 .AZ "\e[?7lhPS pPID PID cPID CPU\% Status Flags UID Command Line\r\n" +MSG1 .AZ "%3d %3d %3d %3d %3d\% %6s %s %3d" MSG2 .AZ " %s" MSG3 .AZ "\r\n" -MSG.FLAGS .AS "IRQDHSEN" +MSG.FLAGS .AS "HS???XEN" +MSG.INIT .AZ "Init" +MSG.RUN .AZ "Run" +MSG.EVENT .AZ "Event" +MSG.QUIT .AZ "Quit" *-------------------------------------- .DUMMY .OR 0 diff --git a/BIN/SH.S.CORE.txt b/BIN/SH.S.CORE.txt index 40309575..aea3ddc3 100644 --- a/BIN/SH.S.CORE.txt +++ b/BIN/SH.S.CORE.txt @@ -186,6 +186,10 @@ CORE.Run.7 jsr CORE.GetCharNB jsr IO.Pipe.Out bcs CORE.Run.RTS + >LDA.G CORE.PSFlags + ora #S.PS.F.CLOSEONX + sta (pData),y + jsr CORE.IO.AMP run in background bra CORE.ExecCmd.1 Do not skip | @@ -563,7 +567,7 @@ CORE.IO.Open pha Open Mode jsr CORE.ArgV.Add Get Filename - >PUSHWZ Aux type + >PUSHWZ Aux type >PUSHBI S.FI.T.TXT ftype pla >PUSHA flags diff --git a/BIN/SH.S.IO.txt b/BIN/SH.S.IO.txt index 7be0e26d..86bb45a1 100644 --- a/BIN/SH.S.IO.txt +++ b/BIN/SH.S.IO.txt @@ -8,7 +8,7 @@ IO.Reset jsr IO.Reset.In IO.Reset.9 rts *-------------------------------------- IO.Load pha - >PUSHWZ Aux type + >PUSHWZ Aux type >PUSHBI S.FI.T.TXT >PUSHBI O.RDONLY @@ -22,7 +22,7 @@ IO.Pipe.In >LDA.G IO.hOut >STZ.G IO.hOut - >PUSHWZ auxtype + >PUSHWZ auxtype >PUSHBI 0 type >PUSHBI O.RDONLY >LEA.G IO.FIFO @@ -58,12 +58,12 @@ IO.Reset.In >LDA.G IO.hIn .8 clc IO.Reset.In.RTS rts *-------------------------------------- -IO.Pipe.Out >PUSHWZ mode +IO.Pipe.Out >PUSHWZ mode >LEA.G IO.FIFO >SYSCALL MKFIFO bcs IO.Reset.In.RTS - >PUSHWZ auxtype + >PUSHWZ auxtype >PUSHBI 0 type >PUSHBI O.WRONLY >LEA.G IO.FIFO diff --git a/SBIN/GETTY.S.txt b/SBIN/GETTY.S.txt index 5745eaef..1caa0dbb 100644 --- a/SBIN/GETTY.S.txt +++ b/SBIN/GETTY.S.txt @@ -107,7 +107,7 @@ CS.RUN ldy #S.PS.ARGC lda (pPs),y sta hErr - >PUSHWZ auxtype + >PUSHWZ auxtype >PUSHBI 0 type >PUSHBI O.RDWR lda ArgDev diff --git a/SYS/KERNEL.S.CORE.txt b/SYS/KERNEL.S.CORE.txt index 3aba127f..cbe8a440 100644 --- a/SYS/KERNEL.S.CORE.txt +++ b/SYS/KERNEL.S.CORE.txt @@ -53,11 +53,12 @@ CORE.Run stz CORE.PSIndex bra .7 .5 cmp #PS.QUIT - beq .7 + bne .7 + >PUSHBI 2 ldy #S.PS.PID lda (pPs),y - jsr CORE.PSFree + >SYSCALL2 Kill bra .8 .7 jsr CORE.PSLeave Save ZP & Ptrs diff --git a/SYS/KERNEL.S.DEV.txt b/SYS/KERNEL.S.DEV.txt index 85d56095..b883a823 100644 --- a/SYS/KERNEL.S.DEV.txt +++ b/SYS/KERNEL.S.DEV.txt @@ -132,8 +132,7 @@ K.MKDev jsr MEM.SPtr1PPtr2 ptr1=fd, ptr2=name >LDYAI K.IOBuf >STYA K.S.IOCTL+S.IOCTL.BUFPTR - lda #S.IOCTL.STATCODE.STATUS - + lda #S.IOCTL.STATCODE.STATUS jsr K.GetDevStatus.I bcs .99 diff --git a/SYS/KERNEL.S.INIT.txt b/SYS/KERNEL.S.INIT.txt index ee840bd0..6934ade5 100644 --- a/SYS/KERNEL.S.INIT.txt +++ b/SYS/KERNEL.S.INIT.txt @@ -724,7 +724,7 @@ DevMgrInit.AddBDev >SYSCALL2 printf >PUSHWI FD.BDEV.NAME - >LDYAI FD.BDEV + >LDYAI FD.BDEV >SYSCALL2 MKDev DevMgrInit.AddBDev.RTS diff --git a/SYS/KERNEL.S.PS.txt b/SYS/KERNEL.S.PS.txt index e2138634..5b53e7d4 100644 --- a/SYS/KERNEL.S.PS.txt +++ b/SYS/KERNEL.S.PS.txt @@ -73,9 +73,9 @@ PS.Exec jsr PS.CreateChild A=PID,Child S.PS at PS.NewPSPtr,PS.Load.hMem bcc .8 or K.IOBuf= 0, K.Buf256=/.../BINFILE .90 pha save error code - -.91 lda .8+1 - jsr CORE.PSFree + >PUSHBI 2 + lda .8+1 + >SYSCALL2 Kill pla get back error code sec rts @@ -220,8 +220,9 @@ PS.CreateChild ldx #0 rts .9 pha + >PUSHBI 2 lda CORE.LastPSID - jsr CORE.PSFree + >SYSCALL2 Kill pla sec rts @@ -577,12 +578,14 @@ PS.AddYAp12ArgSize K.Kill cmp #0 beq .99 CS + sta K.Kill.PID + jsr CORE.GetPSByID bcs .99 >STYA ZPPtr1 >PULLA - cmp #2 + cmp #2+1 bcs .9 asl tax @@ -590,6 +593,7 @@ K.Kill cmp #0 .1 .DA K.Kill.0 .DA K.Kill.1 + .DA K.Kill.2 .9 lda #E.SYN * sec @@ -601,20 +605,10 @@ K.Kill.1 ldy #S.PS.S lda #PS.QUIT sta (ZPPtr1),y -K.Kill.0 - clc +K.Kill.0 clc rts -*-------------------------------------- -* CORE.PSFree -* In : A = PID to free -*-------------------------------------- -CORE.PSFree sta .10+1 Save PS ID - - jsr CORE.GetPSByID S.PS in ZPPtr1 - bcs .9 - >STYA ZPPtr1 - ldy #S.PS.hSID +K.Kill.2 ldy #S.PS.hSID lda (ZPPtr1),y tax lda S.Table.hSession-1,x @@ -638,24 +632,16 @@ CORE.PSFree sta .10+1 Save PS ID ldy #S.PS.hCWD jsr .8 + lda (ZPPtr1) + bit #S.PS.F.CLOSEONX + beq .1 + ldy #S.PS.hStdOut lda (ZPPtr1),y - tax - lda OF.Table.hPath-1,x - beq .10 hDEV - - lda OF.Table.hFD-1,x hNod - jsr K.GetMemPtr get FD - >STYA pFD - lda (pFD) - cmp #S.FD.T.PIPE - bne .10 - - txa ldx #SYS.fclose jsr K.SYSCALL2.BANK -.10 lda #$ff Self Modified +.1 lda K.Kill.PID ldx #0 @@ -673,7 +659,9 @@ CORE.PSFree sta .10+1 Save PS ID .8 lda (ZPPtr1),y bne .4 -.9 rts +.9 rts +*-------------------------------------- +K.Kill.PID .BS 1 *-------------------------------------- MAN SAVE USR/SRC/SYS/KERNEL.S.PS