2015-03-14 21:47:37 +00:00
|
|
|
|
NEW
|
2017-12-22 21:24:30 +00:00
|
|
|
|
PREFIX /A2OSX.BUILD
|
|
|
|
|
AUTO 4,1
|
2015-03-14 21:47:37 +00:00
|
|
|
|
.LIST OFF
|
|
|
|
|
.OP 65C02
|
|
|
|
|
.OR $2000
|
2018-07-23 15:28:42 +00:00
|
|
|
|
.TF BIN/PS
|
2015-03-14 21:47:37 +00:00
|
|
|
|
*--------------------------------------
|
2018-07-23 15:28:42 +00:00
|
|
|
|
.INB INC/MACROS.I
|
|
|
|
|
.INB INC/A2OSX.I
|
|
|
|
|
.INB INC/KERNEL.I
|
2015-03-14 21:47:37 +00:00
|
|
|
|
*--------------------------------------
|
2017-10-06 15:25:14 +00:00
|
|
|
|
ZPPtr .EQ ZPBIN
|
2015-03-14 21:47:37 +00:00
|
|
|
|
*--------------------------------------
|
2015-06-03 18:30:57 +00:00
|
|
|
|
* File Header (16 Bytes)
|
2015-03-14 21:47:37 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
CS.START cld
|
|
|
|
|
jmp (.1,x)
|
2015-06-03 18:30:57 +00:00
|
|
|
|
.DA #$61 6502,Level 1 (65c02)
|
|
|
|
|
.DA #1 BIN Layout Version 1
|
|
|
|
|
.DA 0
|
2017-09-21 15:29:45 +00:00
|
|
|
|
.DA CS.END-CS.START CS
|
|
|
|
|
.DA DS.END-DS.START DS
|
2018-04-13 15:18:48 +00:00
|
|
|
|
.DA #64 SS
|
2017-09-21 15:29:45 +00:00
|
|
|
|
.DA #2 ZP
|
2015-06-03 18:30:57 +00:00
|
|
|
|
.DA 0
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
* Relocation Table
|
|
|
|
|
*--------------------------------------
|
2015-03-14 21:47:37 +00:00
|
|
|
|
.1 .DA CS.INIT
|
|
|
|
|
.DA CS.RUN
|
|
|
|
|
.DA CS.DOEVENT
|
|
|
|
|
.DA CS.QUIT
|
|
|
|
|
L.MSG0 .DA MSG0
|
2018-04-26 15:38:02 +00:00
|
|
|
|
L.MSGK .DA MSGK
|
2015-03-14 21:47:37 +00:00
|
|
|
|
L.MSG1 .DA MSG1
|
|
|
|
|
.DA 0
|
|
|
|
|
*--------------------------------------
|
2017-01-15 20:51:20 +00:00
|
|
|
|
CS.INIT clc
|
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
2017-09-21 06:35:44 +00:00
|
|
|
|
CS.RUN >LDYA pData
|
2018-07-18 15:30:42 +00:00
|
|
|
|
>SYSCALL GetPSStat
|
2015-03-14 21:47:37 +00:00
|
|
|
|
|
2016-10-17 06:21:04 +00:00
|
|
|
|
>LDYA L.MSG0
|
2018-08-23 15:16:20 +00:00
|
|
|
|
>SYSCALL puts
|
2015-03-14 21:47:37 +00:00
|
|
|
|
|
2018-04-26 15:38:02 +00:00
|
|
|
|
>PUSHB.G PS.KCPU
|
2018-08-23 15:16:20 +00:00
|
|
|
|
>PUSHBI 1
|
2018-04-26 15:38:02 +00:00
|
|
|
|
>LDYA L.MSGK
|
2018-06-21 15:12:10 +00:00
|
|
|
|
>SYSCALL printf
|
2018-04-26 15:38:02 +00:00
|
|
|
|
|
2018-04-27 12:13:54 +00:00
|
|
|
|
lda #1
|
|
|
|
|
>STA.G PS.Index
|
2017-09-21 06:35:44 +00:00
|
|
|
|
|
2018-04-26 15:38:02 +00:00
|
|
|
|
.1 >INC.G PS.Index
|
2017-09-21 15:29:45 +00:00
|
|
|
|
tay
|
2017-09-21 06:35:44 +00:00
|
|
|
|
lda (pData),y PID
|
|
|
|
|
|
2018-07-18 15:30:42 +00:00
|
|
|
|
>SYSCALL GetMemPtr
|
2017-10-06 15:25:14 +00:00
|
|
|
|
>STYA ZPPtr
|
2017-09-21 06:35:44 +00:00
|
|
|
|
|
2017-08-30 15:26:34 +00:00
|
|
|
|
ldy #S.PS.hARGS
|
2017-10-06 15:25:14 +00:00
|
|
|
|
lda (ZPPtr),y
|
2018-07-18 15:30:42 +00:00
|
|
|
|
>SYSCALL GetMemPtr
|
2015-03-14 21:47:37 +00:00
|
|
|
|
>PUSHYA
|
|
|
|
|
|
2016-10-29 19:58:21 +00:00
|
|
|
|
ldy #S.PS.PPID
|
2017-10-06 15:25:14 +00:00
|
|
|
|
lda (ZPPtr),y
|
2015-03-14 21:47:37 +00:00
|
|
|
|
>PUSHA Parent PID
|
|
|
|
|
|
2018-04-13 15:18:48 +00:00
|
|
|
|
ldy #S.PS.UID
|
|
|
|
|
lda (ZPPtr),y
|
|
|
|
|
>PUSHA
|
|
|
|
|
|
|
|
|
|
jsr CS.RUN.DecodeFlags
|
2017-10-06 15:25:14 +00:00
|
|
|
|
|
|
|
|
|
>PUSHEA.G PS.FLAGS
|
2015-03-14 21:47:37 +00:00
|
|
|
|
|
2018-04-26 15:38:02 +00:00
|
|
|
|
>INC.G PS.Index
|
|
|
|
|
tay
|
|
|
|
|
lda (pData),y
|
|
|
|
|
|
2018-04-12 15:45:31 +00:00
|
|
|
|
>PUSHA CPU%
|
|
|
|
|
|
2016-10-29 19:58:21 +00:00
|
|
|
|
ldy #S.PS.PID
|
2017-10-06 15:25:14 +00:00
|
|
|
|
lda (ZPPtr),y
|
2018-04-13 15:18:48 +00:00
|
|
|
|
>PUSHA
|
2018-08-23 15:16:20 +00:00
|
|
|
|
>PUSHBI 8
|
2016-10-17 06:21:04 +00:00
|
|
|
|
>LDYA L.MSG1
|
2018-06-21 15:12:10 +00:00
|
|
|
|
>SYSCALL printf
|
2015-06-03 18:30:57 +00:00
|
|
|
|
|
2017-10-06 15:25:14 +00:00
|
|
|
|
.7 >DEC.G PS.COUNT
|
2015-06-03 18:30:57 +00:00
|
|
|
|
bne .1
|
2015-03-14 21:47:37 +00:00
|
|
|
|
|
2017-10-06 15:25:14 +00:00
|
|
|
|
.8
|
|
|
|
|
* lda #0 tell Kernel that all done ok, but
|
2015-03-14 21:47:37 +00:00
|
|
|
|
sec we do not want to stay in memory
|
2018-04-13 15:18:48 +00:00
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
CS.RUN.DecodeFlags
|
|
|
|
|
lda (ZPPtr) Get flags
|
|
|
|
|
|
|
|
|
|
ldy #PS.FLAGS+7
|
|
|
|
|
ldx #7
|
|
|
|
|
|
|
|
|
|
.2 lsr
|
|
|
|
|
pha
|
|
|
|
|
lda #'-'
|
|
|
|
|
bcc .3
|
|
|
|
|
lda MSG.FLAGS,x
|
|
|
|
|
|
|
|
|
|
.3 sta (pData),y
|
|
|
|
|
pla
|
|
|
|
|
dey
|
|
|
|
|
dex
|
|
|
|
|
bpl .2
|
|
|
|
|
rts
|
2015-03-14 21:47:37 +00:00
|
|
|
|
*--------------------------------------
|
2017-01-15 20:51:20 +00:00
|
|
|
|
CS.DOEVENT sec
|
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
2016-10-17 06:21:04 +00:00
|
|
|
|
CS.QUIT clc
|
2015-03-14 21:47:37 +00:00
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
CS.END
|
2018-08-23 15:16:20 +00:00
|
|
|
|
MSG0 .AZ "ID CPU% Flags UID PID Command Line"
|
2018-04-27 12:13:54 +00:00
|
|
|
|
MSGK .AZ "000 %03d\% -------- 000 --- *KERNEL*\r\n"
|
2018-04-13 15:18:48 +00:00
|
|
|
|
MSG1 .AZ "%03d %03d\% %s %03d %03d %s\r\n"
|
2018-04-26 15:38:02 +00:00
|
|
|
|
MSG.FLAGS .AS "IRQDHSed"
|
2017-09-21 06:35:44 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
.DUMMY
|
|
|
|
|
.OR 0
|
|
|
|
|
DS.START
|
|
|
|
|
PS.COUNT .BS 1
|
2018-04-26 15:38:02 +00:00
|
|
|
|
PS.KCPU .BS 1
|
|
|
|
|
PS.DATA .BS K.PS.MAX*2
|
2017-09-21 15:29:45 +00:00
|
|
|
|
PS.Index .BS 1
|
2017-10-06 15:25:14 +00:00
|
|
|
|
PS.FLAGS .BS 9
|
2017-09-21 06:35:44 +00:00
|
|
|
|
DS.END
|
|
|
|
|
.ED
|
|
|
|
|
*--------------------------------------
|
2015-03-14 21:47:37 +00:00
|
|
|
|
MAN
|
2017-03-29 15:48:15 +00:00
|
|
|
|
SAVE /A2OSX.SRC/BIN/PS.S
|
2015-03-14 21:47:37 +00:00
|
|
|
|
ASM
|