diff --git a/.Docs/KERNEL.md b/.Docs/KERNEL.md index f2f3e05a..19654d26 100644 --- a/.Docs/KERNEL.md +++ b/.Docs/KERNEL.md @@ -50,14 +50,6 @@ none ## RETURN VALUE Y,A = Ptr to installed driver -# GetDevByID -A = DevID - -## RETURN VALUE -CC = OK, CS = ERROR -Y,A = FD -X = hFD - # GetDevByName Y,A = Ptr to device name (C-String) @@ -552,13 +544,6 @@ Load a file in AUX memory (Stock Objects) Y,A = File Length X = hMem of Loaded Object in AUX mem -# GetPSStat -**In:** - Y,A = Ptr to K.PS.MAX*2+1 bytes buffer - -## RETURN VALUE - Buffer filled with PS stats - # ExecL ## C @@ -598,13 +583,6 @@ A = Child PSID ## RETURN VALUE A = Child PSID -# GetPSStatus -**In:** - A = PID - -## RETURN VALUE - A = Status Byte - # Stat Return information about a file diff --git a/.Floppies/A2OSX.B800.po b/.Floppies/A2OSX.B800.po index 813afca4..4d779d9d 100644 Binary files a/.Floppies/A2OSX.B800.po and b/.Floppies/A2OSX.B800.po differ diff --git a/.Floppies/A2OSX.BOOT.po b/.Floppies/A2OSX.BOOT.po index 90f611e7..36ad13a0 100644 Binary files a/.Floppies/A2OSX.BOOT.po and b/.Floppies/A2OSX.BOOT.po differ diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index b3381df9..449b3780 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BIN/FORMAT.S.txt b/BIN/FORMAT.S.txt index 422f82fe..ae45e360 100644 --- a/BIN/FORMAT.S.txt +++ b/BIN/FORMAT.S.txt @@ -8,11 +8,16 @@ AUTO 4,1 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I + .INB INC/KERNEL.I .INB INC/LIBBLKDEV.I *-------------------------------------- -ZPPtr1 .EQ ZPBIN -ZPPtr2 .EQ ZPBIN+2 -ZPPtrFD .EQ ZPBIN+4 + .DUMMY + .OR ZPBIN +ZS.START +ZPPtr1 .BS 2 +ZPPtr2 .BS 2 +ZS.END + .ED *-------------------------------------- * File Header (16 Bytes) *-------------------------------------- @@ -20,11 +25,12 @@ CS.START cld jmp (.1,x) .DA #$61 6502,Level 1 (65c02) .DA #1 BIN Layout Version 1 - .DA 0 - .DA CS.END-CS.START CS - .DA DS.END-DS.START DS - .DA #32 SS - .DA #6 ZP + .DA #0 S.PS.F.EVENT + .DA #0 + .DA CS.END-CS.START Code Size (without Constants) + .DA DS.END-DS.START Data SegmentSize + .DA #32 Stack Size + .DA #ZS.END-ZS.START Zero Page Size .DA 0 *-------------------------------------- * Relocation Table @@ -82,17 +88,17 @@ CS.INIT ldy #S.PS.ARGC sta (pData),y bra .1 -.4 >LDA.G hDevFD +.4 >LDA.G hDevID bne .5 Already have a dev...go get VolName >LDYA ZPPtr1 >SYSCALL GetDevByName bcs .99 - >STYA ZPPtrFD - txa - >SYSCALL GetDevByID txa + >STA.G hDevID + lda Dev.Table.hFD,x >STA.G hDevFD + bra .1 .5 ldy #$ff @@ -205,20 +211,19 @@ CS.RUN.InitCat >LDA.G CatSize *-------------------------------------- CS.RUN.BuildCat >PUSHEA.G DIB >LDA.G hDevFD + >SYSCALL GetDevStatus bcs .99 - - lda ZPPtrFD -* clc - adc #S.FD.DEV.NAME - sta ZPPtr2 - lda ZPPtrFD+1 - adc /S.FD.DEV.NAME - sta ZPPtr2+1 - + >PUSHEA.G VolName >PUSHW.G DIB+S.DIB.SIZE - >PUSHW ZPPtr2 + + >LDA.G hDevID + tax + lda Dev.Table.hPath,x + >SYSCALL GetMemPtr + >PUSHYA + >PUSHBI 6 >LDYA L.MSG.INIT >SYSCALL printf @@ -259,6 +264,7 @@ CS.RUN.BuildCat >PUSHEA.G DIB CS.RUN.WriteCat >PUSHEA.G IOCTL >PUSHBI IOCTL.WRITEBLOCK >LDA.G hDevFD + >SYSCALL IOCTL bcs .9 @@ -333,7 +339,8 @@ DS.START ArgIndex .BS 1 bLL .BS 1 VolName .BS 16 -hDevFD .BS 5 +hDevID .BS 1 +hDevFD .BS 1 CatSize .BS 1 CatOptions .BS 1 BlkCnt .BS 1 diff --git a/BIN/IPCONFIG.S.txt b/BIN/IPCONFIG.S.txt index 24de9f4c..141be64e 100644 --- a/BIN/IPCONFIG.S.txt +++ b/BIN/IPCONFIG.S.txt @@ -4,7 +4,7 @@ AUTO 4,1 .LIST OFF .OP 65C02 .OR $2000 - .TF SBIN/IPCONFIG2 + .TF BIN/DEV/IPCONFIG2 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I diff --git a/BIN/MEMDUMP.S.txt b/BIN/MEMDUMP.S.txt index 6fddae42..41c40b9f 100644 --- a/BIN/MEMDUMP.S.txt +++ b/BIN/MEMDUMP.S.txt @@ -8,11 +8,18 @@ AUTO 4,1 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I + .INB INC/KERNEL.I *-------------------------------------- PAGELEN .EQ 22 *-------------------------------------- -ZPPTR1 .EQ ZPBIN -ZPPTR2 .EQ ZPBIN+2 + .DUMMY + .OR ZPBIN +ZS.START +ZPPTR1 .BS 2 +ZPPTR2 .BS 2 +ZPPSPtr .BS 2 +ZS.END + .ED *-------------------------------------- * File Header (16 Bytes) *-------------------------------------- @@ -20,11 +27,12 @@ CS.START cld jmp (.1,x) .DA #$61 6502,Level 1 (65c02) .DA #1 BIN Layout Version 1 - .DA 0 - .DA CS.END-CS.START CS - .DA DS.END-DS.START DS - .DA #64 SS - .DA #4 ZP + .DA #0 S.PS.F.EVENT + .DA #0 + .DA CS.END-CS.START Code Size (without Constants) + .DA DS.END-DS.START Data SegmentSize + .DA #32 Stack Size + .DA #ZS.END-ZS.START Zero Page Size .DA 0 *-------------------------------------- * Relocation Table @@ -182,7 +190,7 @@ CS.RUN.PRINTMEM ldy #S.MEM.LEN+1 ldy #S.MEM.OWNERPID lda (ZPPTR1),y - >SYSCALL GetPSStatus + jsr CS.RUN.CHECKPS bcc .12 >PUSHBI 0 @@ -260,6 +268,18 @@ CS.RUN.PRINTMEM.EXIT rts *-------------------------------------- +CS.RUN.CHECKPS ldx #0 + +.1 cmp PS.Table.PID,x + beq .8 + inx + cpx K.PS.MAX + bne .1 + rts CS + +.8 clc + rts +*-------------------------------------- CS.DOEVENT sec rts *-------------------------------------- diff --git a/BIN/PS.S.txt b/BIN/PS.S.txt index ed78f8e5..5d859bec 100644 --- a/BIN/PS.S.txt +++ b/BIN/PS.S.txt @@ -10,7 +10,13 @@ AUTO 4,1 .INB INC/A2OSX.I .INB INC/KERNEL.I *-------------------------------------- -ZPPtr .EQ ZPBIN + .DUMMY + .OR ZPBIN +ZS.START +ZPPSPtr .BS 2 +ZPArgV .BS 2 +ZS.END + .ED *-------------------------------------- * File Header (16 Bytes) *-------------------------------------- @@ -18,11 +24,12 @@ CS.START cld jmp (.1,x) .DA #$61 6502,Level 1 (65c02) .DA #1 BIN Layout Version 1 - .DA 0 - .DA CS.END-CS.START CS - .DA DS.END-DS.START DS - .DA #64 SS - .DA #2 ZP + .DA #0 S.PS.F.EVENT + .DA #0 + .DA CS.END-CS.START Code Size (without Constants) + .DA DS.END-DS.START Data SegmentSize + .DA #16 Stack Size + .DA #ZS.END-ZS.START Zero Page Size .DA 0 *-------------------------------------- * Relocation Table @@ -32,74 +39,73 @@ CS.START cld .DA CS.DOEVENT .DA CS.QUIT L.MSG0 .DA MSG0 -L.MSGK .DA MSGK L.MSG1 .DA MSG1 +L.MSG2 .DA MSG2 +L.MSG3 .DA MSG3 .DA 0 *-------------------------------------- CS.INIT clc rts *-------------------------------------- -CS.RUN >LDYA pData - >SYSCALL GetPSStat - - >LDYA L.MSG0 +CS.RUN >LDYA L.MSG0 >SYSCALL puts - - >PUSHB.G PS.KCPU - >PUSHBI 1 - >LDYA L.MSGK - >SYSCALL printf - lda #1 - >STA.G PS.Index + >LDA.G PS.Index -.1 >INC.G PS.Index - tay - lda (pData),y PID +.1 tax + lda PS.Table.PID,x + beq .7 + lda PS.Table.hPS,x >SYSCALL GetMemPtr - >STYA ZPPtr + >STYA ZPPSPtr ldy #S.PS.hARGV - lda (ZPPtr),y + lda (ZPPSPtr),y >SYSCALL GetMemPtr - >PUSHYA + >STYA ZPArgV ldy #S.PS.PPID - lda (ZPPtr),y + lda (ZPPSPtr),y >PUSHA Parent PID ldy #S.PS.UID - lda (ZPPtr),y + lda (ZPPSPtr),y >PUSHA jsr CS.RUN.DecodeFlags >PUSHEA.G PS.FLAGS - >INC.G PS.Index - tay - lda (pData),y + >LDA.G PS.Index + tax + lda PS.Table.Stats,x >PUSHA CPU% ldy #S.PS.PID - lda (ZPPtr),y + lda (ZPPSPtr),y >PUSHA >PUSHBI 8 >LDYA L.MSG1 >SYSCALL printf + bcs .9 -.7 >DEC.G PS.COUNT + jsr CS.RUN.PrintArgs + bcs .9 + + >SLEEP + +.7 >INC.G PS.Index + cmp #K.PS.MAX bne .1 -.8 -* lda #0 tell Kernel that all done ok, but +.8 lda #0 tell Kernel that all done ok, but sec we do not want to stay in memory - rts +.9 rts *-------------------------------------- CS.RUN.DecodeFlags - lda (ZPPtr) Get flags + lda (ZPPSPtr) Get flags ldy #PS.FLAGS+7 ldx #7 @@ -117,6 +123,35 @@ CS.RUN.DecodeFlags bpl .2 rts *-------------------------------------- +CS.RUN.PrintArgs +.1 lda (ZPArgV) + beq .8 + + >PUSHW ZPArgV + >PUSHBI 2 + >LDYA L.MSG2 + >SYSCALL printf + bcs .9 + +.2 inc ZPArgV + bne .3 + + inc ZPArgV+1 + +.3 lda (ZPArgV) + bne .2 + + inc ZPArgV + bne .1 + inc ZPArgV+1 + bra .1 + +.8 >PUSHBI 0 + >LDYA L.MSG3 + >SYSCALL printf + +.9 rts +*-------------------------------------- CS.DOEVENT sec rts *-------------------------------------- @@ -125,16 +160,14 @@ CS.QUIT clc *-------------------------------------- CS.END MSG0 .AZ "ID CPU% Flags UID PID Command Line" -MSGK .AZ "000 %03d\% -------- 000 --- *KERNEL*\r\n" -MSG1 .AZ "%03d %03d\% %s %03d %03d %s\r\n" +MSG1 .AZ "\e[7l%03d %03d\% %s %03d %03d" +MSG2 .AZ " %s" +MSG3 .AZ "\r\n" MSG.FLAGS .AS "IRQDHSed" *-------------------------------------- .DUMMY .OR 0 DS.START -PS.COUNT .BS 1 -PS.KCPU .BS 1 -PS.DATA .BS K.PS.MAX*2 PS.Index .BS 1 PS.FLAGS .BS 9 DS.END diff --git a/DRV/DHGR.DRV.S.txt b/DRV/DHGR.DRV.S.txt index 1a2d8dd6..09fd2782 100644 --- a/DRV/DHGR.DRV.S.txt +++ b/DRV/DHGR.DRV.S.txt @@ -4,7 +4,7 @@ AUTO 4,1 .LIST OFF .OP 65C02 .OR $2000 - .TF DRV/DHGR.DRV + .TF DRV/GUI/DHGR.DRV *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I diff --git a/DRV/MOUSE.DRV.S.txt b/DRV/MOUSE.DRV.S.txt index 835181ad..7d7b3550 100644 --- a/DRV/MOUSE.DRV.S.txt +++ b/DRV/MOUSE.DRV.S.txt @@ -4,7 +4,7 @@ AUTO 4,1 .LIST OFF .OP 65C02 .OR $2000 - .TF DRV/MOUSE.DRV + .TF DRV/GUI/MOUSE.DRV *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I diff --git a/ETC/INIT b/ETC/INIT index 410a15b5..f6b18911 100644 --- a/ETC/INIT +++ b/ETC/INIT @@ -4,8 +4,10 @@ AUTO 4,1 #!/BIN/SHELL ECHO *** A2osX INIT Script *** SET PS1 = '$PWD' -SET PATH = ${PATH}BIN/DEV/ -# Main Screen +SET PATH = ${PATH}:${ROOT}BIN/DEV/ +SET DRV = ${DRV}:${ROOT}DRV/GUI/ +SET LIB = ${LIB}:${ROOT}LIB/GUI/ +# Main Screens GETTY /DEV/TTY1 ${ROOT}SBIN/LOGIN & GETTY /DEV/TTY2 ${ROOT}SBIN/LOGIN & GETTY /DEV/TTY3 ${ROOT}SBIN/LOGIN & diff --git a/ETC/INIT.BOOT b/ETC/INIT.BOOT index 3411b4f5..551ccdc4 100644 --- a/ETC/INIT.BOOT +++ b/ETC/INIT.BOOT @@ -4,9 +4,11 @@ AUTO 4,1 #!/BIN/SHELL ECHO *** A2osX INIT Script *** SET PS1 = '$PWD' -# Main Screen -INSDRV CONSOLE.DRV -STARTPROC GETTY /DEV/CON ${ROOT}SBIN/LOGIN +# Main Screens +GETTY /DEV/TTY1 ${ROOT}SBIN/LOGIN & +GETTY /DEV/TTY2 ${ROOT}SBIN/LOGIN & +GETTY /DEV/TTY3 ${ROOT}SBIN/LOGIN & +GETTY /DEV/TTY4 ${ROOT}SBIN/LOGIN & # Serial Login #INSDRV SSC.DRV 9600,N,8,1,X #INSDRV SSC.I.DRV 9600,N,8,1,X diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index e4b495a0..d2818d1c 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -170,7 +170,7 @@ SYS.Rename .EQ $42 * .EQ $44 * .EQ $46 -SYS.GetDevByID .EQ $48 +* .EQ $48 SYS.GetDevByName .EQ $4A SYS.GetDevStatus .EQ $4C SYS.MKDev .EQ $4E @@ -229,8 +229,8 @@ SYS.Kill .EQ $A6 * .EQ $A8 SYS.GetMemStat .EQ $AA -SYS.GetPSStatus .EQ $AC -SYS.GetPSStat .EQ $AE +* .EQ $AC +* .EQ $AE SYS.Args2ArgV .EQ $B0 SYS.ArgV .EQ $B2 diff --git a/SBIN/GETTY.S.txt b/SBIN/GETTY.S.txt index b65ee454..e0660d5d 100644 --- a/SBIN/GETTY.S.txt +++ b/SBIN/GETTY.S.txt @@ -12,7 +12,12 @@ AUTO 4,1 *-------------------------------------- TIMEOUT.MAX .EQ 100 10 sec. *-------------------------------------- -ZPPtr1 .EQ ZPBIN + .DUMMY + .OR ZPBIN +ZS.START +ZPPtr1 .BS 2 +ZS.END + .ED *-------------------------------------- * File Header (16 Bytes) *-------------------------------------- @@ -22,10 +27,10 @@ CS.START cld .DA #1 BIN Layout Version 1 .DA #S.PS.F.EVENT S.PS.F .DA #0 - .DA CS.END-CS.START CS - .DA DS.END-DS.START DS - .DA #64 SS - .DA #2 ZP + .DA CS.END-CS.START Code Size (without Constants) + .DA DS.END-DS.START Data SegmentSize + .DA #32 Stack Size + .DA #ZS.END-ZS.START Zero Page Size .DA 0 *-------------------------------------- * Relocation Table diff --git a/SBIN/LOGIN.S.txt b/SBIN/LOGIN.S.txt index 5fa807e9..c98e5a6f 100644 --- a/SBIN/LOGIN.S.txt +++ b/SBIN/LOGIN.S.txt @@ -9,7 +9,12 @@ AUTO 4,1 .INB INC/MACROS.I .INB INC/A2OSX.I *-------------------------------------- -ZPPTR1 .EQ ZPBIN + .DUMMY + .OR ZPBIN +ZS.START +ZPPTR1 .BS 2 +ZS.END + .ED *-------------------------------------- INPUT.BufPtr.SIZE .EQ 16 *-------------------------------------- @@ -21,10 +26,10 @@ CS.START cld .DA #1 BIN Layout Version 1 .DA #S.PS.F.EVENT S.PS.F .DA #0 - .DA CS.END-CS.START CS - .DA DS.END-DS.START DS - .DA #64 SS - .DA #2 ZP SS + .DA CS.END-CS.START Code Size (without Constants) + .DA DS.END-DS.START Data SegmentSize + .DA #16 Stack Size + .DA #ZS.END-ZS.START Zero Page Size .DA 0 *-------------------------------------- * Relocation Table diff --git a/SYS/KERNEL.S.CORE.txt b/SYS/KERNEL.S.CORE.txt index 61ec3e5e..2b387f91 100644 --- a/SYS/KERNEL.S.CORE.txt +++ b/SYS/KERNEL.S.CORE.txt @@ -387,14 +387,12 @@ CORE.ScrSel and #$0F cmp A2osX.ASCREEN Same as active screen...nothing to do beq .8 - - jsr K.GetDevByID - bcs .8 - phx + + tax >PUSHWI 0 Param >PUSHBI IOCTL.CONTROL request - pla ID + lda Dev.Table.hFD,x jsr K.IOCTL diff --git a/SYS/KERNEL.S.DEV.txt b/SYS/KERNEL.S.DEV.txt index 0f2891eb..337273e5 100644 --- a/SYS/KERNEL.S.DEV.txt +++ b/SYS/KERNEL.S.DEV.txt @@ -2,24 +2,6 @@ NEW PREFIX AUTO 4,1 */-------------------------------------- -* # GetDevByID -* A = DevID -* ## RETURN VALUE -* CC = OK, CS = ERROR -* Y,A = FD -* X = hFD -*\-------------------------------------- -K.GetDevByID cmp DevMgr.DevCnt - bcs K.GetDev.NODEV - tax - - lda Dev.Table.hFD,x - beq K.GetDev.NODEV - pha - jsr K.GetMemPtr - plx - rts -*/-------------------------------------- * # GetDevByName * Y,A = Ptr to device name (C-String) * ## RETURN VALUE @@ -159,7 +141,7 @@ K.MKDev jsr MEM.SPtr1PPtr2 ptr1=fd, ptr2=name txa inc DevMgr.DevCnt - clc +* clc rts *-------------------------------------- MAN diff --git a/SYS/KERNEL.S.DRV.txt b/SYS/KERNEL.S.DRV.txt index af423323..12d1267e 100644 --- a/SYS/KERNEL.S.DRV.txt +++ b/SYS/KERNEL.S.DRV.txt @@ -203,7 +203,6 @@ DRV.NULL cld .DA DRV.NULL.CLOSE .DA DRV.NULL.READ .DA DRV.NULL.WRITE - .DA A2osX.BADCALL IRQ *-------------------------------------- DRV.NULL.STATUS >LDYAI DRV.NULL.DIB jmp DRV.STATUS.YA diff --git a/SYS/KERNEL.S.INIT.txt b/SYS/KERNEL.S.INIT.txt index c353bc98..5695a202 100644 --- a/SYS/KERNEL.S.INIT.txt +++ b/SYS/KERNEL.S.INIT.txt @@ -109,6 +109,12 @@ Kernel.Init3 sta SETALTZP jsr MemMgrInit + >LDYAI CORE.S.PS0 Select Process 0 (Kernel) + >STYA pPs + + >LDYAI K.STACKTOP + >STYA pStack + >PUSHWI FD.NULL.NAME >LDYAI FD.NULL >SYSCALL MKDev @@ -355,13 +361,7 @@ SysScrInit.TTYPtrs rts *-------------------------------------- -PS0.Init >LDYAI CORE.S.PS0 Select Process 0 (Kernel) - >STYA pPs - - >LDYAI K.STACKTOP - >STYA pStack - - >PUSHWI 0 Aux type +PS0.Init >PUSHWI 0 Aux type >PUSHBI S.FI.T.TXT >PUSHBI O.RDWR diff --git a/SYS/KERNEL.S.JMP.txt b/SYS/KERNEL.S.JMP.txt index d257dacd..6c89c992 100644 --- a/SYS/KERNEL.S.JMP.txt +++ b/SYS/KERNEL.S.JMP.txt @@ -46,7 +46,7 @@ K.SYSCALL.JMP .DA 0 $00 .DA K.Rename .DA 0 .DA 0 - .DA K.GetDevByID + .DA 0 .DA K.GetDevByName .DA K.GetDevStatus .DA K.MKDev @@ -104,8 +104,8 @@ K.SYSCALL.JMP .DA 0 $00 .DA K.Kill .DA 0 .DA K.GetMemStat - .DA K.GetPSStatus - .DA K.GetPSStat + .DA 0 + .DA 0 .DA K.Args2ArgV $B0 .DA K.ArgV diff --git a/SYS/KERNEL.S.MEM.txt b/SYS/KERNEL.S.MEM.txt index 3005a71e..4f12f0e5 100644 --- a/SYS/KERNEL.S.MEM.txt +++ b/SYS/KERNEL.S.MEM.txt @@ -748,43 +748,6 @@ MEM.PutCharPtr2 sta (ZPPtr2) bne .8 inc ZPPtr2+1 .8 rts -*/-------------------------------------- -* # GetPSStat -* **In:** -* Y,A = Ptr to K.PS.MAX*2+1 bytes buffer -* ## RETURN VALUE -* Buffer filled with PS stats -*\-------------------------------------- -K.GetPSStat >STYA ZPPtr1 - - ldx #0 - - ldy #1 - lda CORE.InKernelStats - sta (ZPPtr1),y - - iny - -.1 lda PS.Table.PID,x - beq .2 - - lda PS.Table.hPS,x - sta (ZPPtr1),y - iny - - lda PS.Table.Stats,x - sta (ZPPtr1),y - iny - -.2 inx - cpx #K.PS.MAX - bne .1 - -.9 tya - lsr - dec - sta (ZPPtr1) - rts *-------------------------------------- * 6502/65C02/65816 OPCODES * Bit 3 : 1 = absolute addressing diff --git a/SYS/KERNEL.S.PS.txt b/SYS/KERNEL.S.PS.txt index 7fcd3ba6..6b0d20ac 100644 --- a/SYS/KERNEL.S.PS.txt +++ b/SYS/KERNEL.S.PS.txt @@ -565,10 +565,6 @@ K.Kill cmp #0 rts .99 >RET 1 -*-------------------------------------- -K.Kill.0 clc - rts - *-------------------------------------- K.Kill.1 lda (ZPPtr1) @@ -576,21 +572,9 @@ K.Kill.1 lda (ZPPtr1) ora #S.PS.F.QUIT sta (ZPPtr1) +K.Kill.0 clc rts - -*/-------------------------------------- -* # GetPSStatus -* **In:** -* A = PID -* ## RETURN VALUE -* A = Status Byte -*\-------------------------------------- -K.GetPSStatus jsr CORE.GetPSByID - bcs .9 - >STYA ZPPtr1 - lda (ZPPtr1) -.9 rts *-------------------------------------- MAN SAVE USR/SRC/SYS/KERNEL.S.PS diff --git a/SYS/KERNEL.S.STDIO.txt b/SYS/KERNEL.S.STDIO.txt index 01788854..1385ad75 100644 --- a/SYS/KERNEL.S.STDIO.txt +++ b/SYS/KERNEL.S.STDIO.txt @@ -544,7 +544,7 @@ PrintF.F clc rts .9 sec - rts +PrintF.H.9 rts *-------------------------------------- PrintF.HH jsr PrintF.GetByte bcs PrintF.H.9 @@ -559,7 +559,6 @@ PrintF.H.1 pha jsr PrintF.NN.1 pla bra PrintF.N.1 -PrintF.H.9 rts *-------------------------------------- PrintF.N jsr PrintF.GetByte bcs PrintF.H.9 diff --git a/SYS/KERNEL.S.TERM.txt b/SYS/KERNEL.S.TERM.txt index b712bef8..46587030 100644 --- a/SYS/KERNEL.S.TERM.txt +++ b/SYS/KERNEL.S.TERM.txt @@ -709,36 +709,34 @@ DRV.TERM.IAC ldy #S.DCB.TTY.INBUFFER bne Csi.Home.8 wait for ending SE....keep bIACMode .1 cmp #IAC - beq .9 + beq COUT.IAC.SB.9 sec sbc #SB - bcc .9 + bcc COUT.IAC.SB.9 asl tax ldy #S.DCB.TTY.INBUFFER+2 lda (ZPDCBPtr),y Get SUBCMD in A cpx #10 - bcc .8 - -.9 bra RESET.MODE + bcs COUT.IAC.SB.9 -.8 jmp (.80,x) + jmp (.8,x) -.80 .DA COUT.IAC.SB +.8 .DA COUT.IAC.SB .DA COUT.IAC.WILL .DA COUT.IAC.WONT .DA COUT.IAC.DO .DA COUT.IAC.DONT *-------------------------------------- COUT.IAC.SB cmp #TELOPT.TTYPE - bne .9 + bne COUT.IAC.SB.9 ldy #S.DCB.TTY.INBUFFER+2 lda (ZPDCBPtr),y cmp #SB.SEND - bne .9 + bne COUT.IAC.SB.9 ldx #0 @@ -748,7 +746,7 @@ COUT.IAC.SB cmp #TELOPT.TTYPE cpx #SB.IS.TTYPE.LEN bne .1 -.9 bra RESET.MODE +COUT.IAC.SB.9 bra COUT.IAC.EXIT *-------------------------------------- COUT.IAC.WILL ldx #WILLDO.CNT-1 @@ -764,7 +762,7 @@ COUT.IAC.WILL ldx #WILLDO.CNT-1 dex bpl .2 - bra .9 + bra COUT.IAC.EXIT .7 ldx #DO .HS 2C BIT ABS @@ -772,11 +770,6 @@ COUT.IAC.WILL ldx #WILLDO.CNT-1 .8 ldx #DONT bra COUT.IAC.SendAX - -.9 bra RESET.MODE -*-------------------------------------- -COUT.IAC.WONT - bra RESET.MODE *-------------------------------------- COUT.IAC.DO ldx #DOWILL.CNT-1 @@ -792,7 +785,7 @@ COUT.IAC.DO ldx #DOWILL.CNT-1 dex bpl .2 - bra COUT.IAC.SendAX.9 + bra COUT.IAC.EXIT .7 ldx #WILL .HS 2C BIT ABS @@ -809,11 +802,10 @@ COUT.IAC.SendAX pla jsr Char.Out.Put -COUT.IAC.SendAX.9 - bra RESET.MODE -*-------------------------------------- +COUT.IAC.WONT COUT.IAC.DONT - bra RESET.MODE + +COUT.IAC.EXIT *-------------------------------------- RESET.MODE lda #0