{$nodebug} procedure force(kbnum:integer; s:packed array [slow..shigh:integer] of char); { force string s (max 132 characters) to keyboard kbnum. A carriage return } { will be appended if the string does not end with one - OMSI/EFM - 1/84 } 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 > 132 then slen := 132; for i := 1 to slen do xrloc^[i] := s[i]; if s[slen] <> chr(13) then begin if slen < 132 then slen := slen + 1; xrloc^[slen] := chr(13) end; xrlen := 5; xrbc := slen; xrci := chr(0); xrhand := chr(2); xrblk := kbnum; emt(255); emt(12) end; {$debug}