{$nodebug} procedure send(kbnum:integer; s:packed array [slow..shigh:integer] of char); { send string s (max 131 characters) to keyboard kbnum. A carriage return } { will be appended if the string does not end with one. A line feed } { always will be appended. - 1/24/84 - OMSI/EFM } type string = packed array [1..132] of char; var i,slen : integer; xrlen origin 442B: integer; xrbc origin 444B : integer; xrloc origin 446B : ^string; xrci origin 450B : char; xrhand origin 451B : char; xrblk origin 452B: integer; begin new(xrloc); if slow = 0 then slen := ord(s[0]) else slen := shigh; if slen > 131 then slen := 131; for i := 1 to slen do xrloc^[i] := s[i]; if s[slen] <> chr(13) then begin if slen < 131 then slen := slen + 1; xrloc^[slen] := chr(13) end; slen := slen + 1; xrloc^[slen] := chr(10); xrlen := 6; xrbc := slen; xrci := chr(0); xrhand := chr(2); xrblk := kbnum; emt(255); emt(12); end; {$debug}