Kernel 0.93+

This commit is contained in:
Rémy GIBERT 2019-07-24 07:53:09 +02:00
parent beb45c5886
commit d704c9b5cc
12 changed files with 57 additions and 52 deletions

Binary file not shown.

View File

@ -1,6 +1,5 @@
NEW
PREFIX
AUTO 4,1
AUTO 3,1
.LIST OFF
.OP 65C02
.OR $2000

View File

@ -1,6 +1,5 @@
NEW
PREFIX
AUTO 4,1
AUTO 3,1
.LIST OFF
.OP 65C02
.OR $2000

View File

@ -1,6 +1,5 @@
NEW
PREFIX
AUTO 4,1
AUTO 3,1
.LIST OFF
.OP 65C02
.OR $2000

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -724,7 +724,7 @@ DevMgrInit.AddBDev
>SYSCALL2 printf
>PUSHWI FD.BDEV.NAME
>LDYAI FD.BDEV
>LDYAI FD.BDEV
>SYSCALL2 MKDev
DevMgrInit.AddBDev.RTS

View File

@ -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