PROGRAM endcall(output); (* called when the external system disconnects *) CONST maxstring = 20; (*$s-*) eos = (:0:); (*$s+*) TYPE string = PACKED ARRAY[1..maxstring] OF char; (* 1---------------1 *) PROCEDURE chain(ln : string); VAR junk, i : integer; BEGIN (* chain *) ln[maxstring] := eos; (* ensure terminated *) (*$x+,s-,d- illegal pointer, non-std Pascal, save options *) junk := syscall(26, pointerto(ln)); (* set DMA *) (*$x- restore options *) junk := syscall(47, 0); (* the chain *) END; (* chain *) (* 1---------------1 *) BEGIN (* endcall *) writeln('Call terminated'); chain('RUNPCD BYE '); writeln('BYERSX not mounted, cannot chain'); END. (* endcall *)