mirror of
https://github.com/A2osX/A2osX.git
synced 2024-12-27 02:32:51 +00:00
Kernel 0.92
This commit is contained in:
parent
c3e396238a
commit
be8d29bc45
@ -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
|
||||
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
*--------------------------------------
|
||||
|
113
BIN/PS.S.txt
113
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.G PS.Index
|
||||
|
||||
lda #1
|
||||
>STA.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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
6
ETC/INIT
6
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 &
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -388,13 +388,11 @@ 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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
bcs COUT.IAC.SB.9
|
||||
|
||||
.9 bra RESET.MODE
|
||||
jmp (.8,x)
|
||||
|
||||
.8 jmp (.80,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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user