 

PROCEDURE RawCh (ch :BYTE);
VAR esc: CHAR;
   BEGIN
     esc := CHR (ORD ('P') - 64);
     IF ch <> ORD(esc) THEN
       CASE ch OF
         0..32:   Wrch (esc);
                  Wrch ('-');
                  RawCh (ch + 64)
         |                  
         33..126: Wrch (CHR (ch))
         |
         127:     Wrch (esc);
                  Wrch ('&');
                  Wrch ('7');
                  Wrch ('?')
         |
         128..254:Wrch (esc);
                  Wrch ('+');
                  RawCh (ch - 128)
         |
         255:     Wrch (esc);
                  Wrch ('&');
                  Wrch ('?');
                  Wrch ('?')
       END (* case *)
     ELSE (* ch = esc *)
       Wrch (esc);
       Wrch (CHR (ch))
     END (* If *)
   END RawCh;

