Files
Sepp J Morris 31738079c4 Upload
Digital Research
2020-11-06 18:50:37 +01:00

93 lines
2.5 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

$title('MP/M-86 2.0 Status Process - RSP')
$compact
status: /* use compact model for 32 bit pointers */
do;
$include(copyrt.lit)
/* VAX generation commands
asm86 rspasm.a86
plm86 stsrsp.plm optimize(3) debug 'p1' 'p2' 'p3'
link86 rspasm.obj, stsrsp.obj to stsrsp.lnk
loc86 stsrsp.lnk od(sm(dats,code,data,const)) -
ad(sm(dats(0),code(0))) ss(stack(0))
h86 stsrsp
then on a micro
vax stsrsp.h86 $fans
gencmd stsrsp
ren mpmstat.rsp=stsrsp.cmd
Notes:
The stack is declared in the assemble module, RSPASM.A86.
The const(ants) come last to force hex generation.
*/
$include (stscom.plm)
dcl rsplink word external;
dcl sts$qd qd$structure initial (
0,0,0,qf$keep + qf$rsp,'MPMSTAT ',131,1,0,0,0,0,.sts$qd$buf);
dcl sts$qd$buf (131) byte; /* not copied if within 64K of sysdat */
dcl sts$cmd structure( /* info from qd$buf copied here */
pd address, tail (129) byte);
dcl sts$qpb qpb$structure initial(0,0,0,1,.sts$cmd,'MPMSTAT ');
plm$start:
procedure public;
dcl vers word;
dcl vers$str$pointer pointer;
dcl vers$str$ptr structure (
offset word,
segment word) at (@vers$str$pointer);
call mon1(qmake,.sts$qd); /* make MPMSTAT queue */
call mon1(qopen,.sts$qpb); /* open it */
ccb$ptr.segment,flag$ptr.segment,md$ptr.segment,ms$ptr.segment,
sat$ptr.segment,qd$ptr.segment,pd$ptr.segment, sysdat$ptr.segment
= rsplink;
sysdat$ptr.offset = 0;
vers$str$ptr.offset = sd.version + 3; /* skip cr, lf's */
vers$str$ptr.segment = sd.supmod(1);
call mon1(setprior,200); /* back to the same as transients */
do while true;
call mon1(qread,.sts$qpb);
pd$ptr.offset = sts$cmd.pd;
call mon1(setdefcon,pd.cns); /* to who typed MPMSTAT */
call crlf;
call display$text(0,vers$str$pointer);
call print$buffer (.(
'****** Status Display - Values Shown In Hexadecimal *****',
cr,lf,lf,'$'));
call display$config;
call display$ready;
call display$DQ;
call display$NQ;
call display$delay;
call display$poll;
call display$flag$wait;
call display$flag$set;
call display$queues;
call display$ccb(.('Consoles:$'), 0, sd$byte(ncondev));
call display$ccb(.('Printers:$'), sd$byte(ncondev), sd$byte(nciodev));
call display$memory;
call mon1 (condetach,dummy);
end;
end plmstart;
end status;