mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-24 17:04:19 +00:00
78 lines
1.9 KiB
Plaintext
78 lines
1.9 KiB
Plaintext
$ title ('Attach Console MP/M-86 2.0')
|
||
$ compact
|
||
|
||
attach:
|
||
do;
|
||
|
||
/* Attach the console assigned to this program by the CLI
|
||
to the process specified in the command line. Make sure
|
||
the specified process has the same console number in its PD. */
|
||
|
||
$include(copyrt.lit)
|
||
|
||
$include (vaxcmd.lit)
|
||
|
||
$include (comlit.lit)
|
||
$include (proces.lit)
|
||
|
||
dcl fcb (36) byte external; /* use upper case for PD name */
|
||
|
||
dcl cpm$terminate lit '0',
|
||
mpm$print$con$buf lit '9',
|
||
mpm$version lit '12',
|
||
mpm$terminate lit '143',
|
||
mpm$conassign lit '149',
|
||
mpm$get$con lit '153',
|
||
mpm$getpdadr lit '156';
|
||
|
||
mon1: procedure(f,a) external;
|
||
dcl f byte, a address;
|
||
end mon1;
|
||
|
||
mon2: procedure(f,a) byte external;
|
||
dcl f byte, a address;
|
||
end mon2;
|
||
|
||
mon3: procedure(f,a) address external;
|
||
dcl f byte, a address;
|
||
end mon3;
|
||
|
||
mon4: procedure(f,a) pointer external;
|
||
dcl f byte, a address;
|
||
end mon4;
|
||
|
||
dcl acb structure(
|
||
cns byte,
|
||
match byte,
|
||
pd address,
|
||
name (8) byte);
|
||
|
||
dcl pd$pointer pointer;
|
||
dcl pd based pd$pointer pd$structure;
|
||
dcl mpm$86 lit '1130H';
|
||
|
||
plmstart: procedure public;
|
||
dcl ret address;
|
||
|
||
if mon3(mpm$version,0) <> mpm$86 then
|
||
do;
|
||
call mon1(mpm$print$con$buf,.(cr,lf,'Requires MP/M-86 $'));
|
||
call mon1(cpm$terminate,0);
|
||
end;
|
||
|
||
acb.cns = mon2(mpm$get$con,0); /* get console number this program is */
|
||
acb.match = 0ffh; /* running at */
|
||
acb.pd = 0;
|
||
call move(8,.fcb(1),.acb.name);
|
||
|
||
if (ret := mon3(mpm$conassign, .acb)) = 20 then
|
||
call mon1(mpm$print$con$buf,.(cr,lf,'Can''t Find PD $'));
|
||
else if ret <> 0 then
|
||
call mon1(mpm$print$con$buf,.(cr,lf,'Attach Failed $'));
|
||
|
||
call mon1(mpm$terminate,0);
|
||
|
||
end plmstart;
|
||
|
||
end attach;
|
||
|