program arrow ;
  var
    i : integer ;
    t : text ;
    font : array [' '..'_'] of array [0..17] of hex data const
       { } ((18 of $0),
       {!}  (14 of $c0, $0, $0, $c0, $c0),
       {"}  (8 of $330, 10 of $0),
       {#}  ($0, $0, 4 of $330, $3fff, $3fff, $330, $330,
             $3fff, $3fff, 4 of $330, $0, $0),
      {$ }  ($c0, $c0, $fff, $1fff, $38c0, $30c0, $30c0,
             $38c0, $1ffc, $ffe, $c7, $c3, $c3, $c7,
             $3ffe, $3ffc, $c0, $c0),
       {%}  ($0, $0, $c0c, $1e0c, $3f0c, $3f1c, $1e38,
             $c70, $e0, $1c0, $380, $700, $e30, $1c78,
             $38fc, $30fc, $3078, $3030),
       {&}  ($0, $0, $f00, $1f80, $39c0, $30c0, $30c0,
             $39c0, $1f80, $1f00, $3b00, $3380, $31cc,
             $30fc, $3078, $3878, $1ffc, $fcc),
       {'}  ($18, $3C, $3c, $18, $30, $30, 12 of $0),
       {(}  ($30, $70, $e0, $1c0, $380, 8 of $300,
             $380, $1c0, $e0, $70, $30),
       {)}  ($c00, $e00, $700, $380, $1c0, 8 of $c0,
             $1c0, $380, $700, $e00, $c00),
       {*}  ($0, $0, $c0, $c0, $30c3, $38c7, $1cce, $edc,
             $7f8, $7f8, $edc, $1cce, $38c7, $38c3,
             $c0, $c0, $0, $0),
       {+}  ($0, $0, 6 of $c0, $3fff, $3fff, 6 of $c0, 2 of $0),
       {,}  (12 of $0, $180, $3C0, $3C0, $180, $300, $300),
       {-}  (8 of $0, $3ffc, $3ffc, 8 of $0),
       {.}  (14 of $0, $180, $3C0, $3C0, $180),
       {/}  ($0, $0, $3, $7, $e, $1c, $38, $70, $e0,
             $1c0, $380, $700, $e00, $1c00, $3800, $3000, $0, $0),
       {0}  ($ff0, $1ff8, $381c, $301c, $303c, $307c,
             $30ec, $31cc, $338c, $370c, $3e0c, $3c0c,
             $380c, $300c, $300c, $381c, $1ff8, $ff0),
       {1}  ($c0, $1c0, $3c0, $3c0, 12 of $c0, $3f0, $3f0),
       {2}  ($ff0, $1ff8, $381c, $300c, 3 of $c, $1c,
             $f8, $1f0, $380, $700, $e00, $1c00, $3800,
             $3000, $3ffc, $3ffc),
       {3}  ($3ffc, $3ffc, $c, $1c, $38, $70, $e0, $1c0,
             $3f0, $3f8, $1c, 3 of $c, $300c, $381c,
             $1ff8, $ff0),
       {4}  ($c, $1c, $3c, $7c, $ec, $1cc, $38c, $70c,
             $e0c, $1c0c, $380c, $300c, $3fff, $3fff, 4 of $c),
       {5}  ($3ffc, $3ffc, 4 of $3000, $3ff0, $3ff8, $1c,
             5 of $c, $300c, $381c, $1ff8, $ff0),
       {6}  ($3fc, $7fc, $e00, $1c00, $3800, 3 of $3000,
             $3ff0, $3ff8, $301c, 4 of $300c, $301c, $1ff8, $ff0),
       {7}  ($3ffc, $3ffc, $c, $1c, $38, $70, $e0, $1c0, 
             $380, $700, $e00, 7 of $c00),
       {8}  ($ff0, $1ff8, $381c, 4 of $300c, $381c, $1ff8,
             $1ff8, $381c, 4 of $300c, $381c, $1ff8, $ff0),
       {9}  ($ff0, $1ff8, $381c, 4 of $300c, $380c, $1ffc, $ffc,
             3 of $c, $1c, $38, $70, $3fe0, $3fc0),
       {:}  (4 of $0, $180, $3C0, $3C0, $180, 4 of $0, 
             $180, $3C0, $3C0, $180, 2 of $0),
       {;}  (4 of $0, $180, $3C0, $3C0, $180, 4 of $0, 
             $180, $3C0, $3C0, $180, $300, $300), 
       {<}  ($30, $70, $e0, $1c0, $380, $700, $e00, $1c00, $3800,
             $3800, $1c00, $e00, $700, $380, $1c0, $e0, $70, $30),
       {=}  (6 of $0, $ffc, $ffc, $0, $0, $ffc, $ffc, 6 of $0),
       {>}  ($c00, $e00, $700, $380, $1c0, $e0, $70, $38, $1c,
             $1c, $38, $70, $e0, $1c0, $380, $700, $e00, $c00),
       {?}  ($ff0, $1ff8, $381c, $300c, $c, $1c, $38, $70, $e0,
             $1c0, $380, $300, $0, $0, 4 of $300),
       {@}  ($0, $0, $ff0, $1ff8, $381c, $301c, $303c,
             $307c, $30ec, $31cc, $338c, $330c, $33fc, $33fc,
             $3000, $3800, $1ff0, $ff0),
       {A}  ($3c0, $7e0, $e70, $1c38, $381c, 5 of $300c,
             $3ffc, $3ffc, 6 of $300c), 
       {B}  ($3ff0, $3ff8, $301c, 4 of $300c, $301c, $3ff8, $3ff8,
             $301c, 4 of $300c, $301c, $3ff8, $3ff0),
       {C}  ($ff0, $1ff8, $381c, $300c, 10 of $3000,
             $300c, $381c, $1ff8, $ff0),
       {D}  ($3fc0, $3fe0, $c70, $c38, $c1c, 8 of $c0c,
             $c1c, $c38, $c70, $3fe0, $3fc0),
       {E}  ($3ffc, $3ffc, 6 of $3000, $3ff0, $3ff0,
             6 of $3000, $3ffc, $3ffc),
       {F}  ($3ffc, $3ffc, 6 of $3000, $3ff0, $3ff0,
             8 of $3000),
       {G}  ($ff0, $1ff8, $381c, $300c, 6 of $3000,
             $30fc, $30fc, 3 of $300c, $380c, $1ffc, $ffc),
       {H}  (8 of $300c, $3ffc, $3ffc, 8 of $300c),
       {I}  ($3f0, $3f0, 14 of $c0, $3f0, $3f0),
       {J}  ($fc, $fc, 12 of $30, $3030, $3870, $1fe0, $fc0),
       {K}  ($300c, $301c, $3038, $3070, $30e0, $31c0, $3380, $3700,
             $3e00, $3e00, $3700, $3380, $31c0, $30e0, $3070, $3038,
             $301c, $300c),
       {L}  (16 of $3000, $3ffc, $3ffc),
       {M}  ($3003, $3807, $3c0f, $3e1f, $373b, $33f3,
             $31e3, $30c3, 10 of $3003),
       {N}  (3 of $300c, $380c, $3c0c, $3e0c, $370c, $338c,
             $31cc, $30ec, $307c, $303c, $301c, 5 of $300c),
       {O}  ($ff0, $1ff8, $381c, 12 of $300c, $381c,
             $1ff8, $ff0),
       {P}  ($3ff0, $3ff8, $301c, 4 of $300c, $301c, $3ff8,
             $3ff0, 8 of $3000),
       {Q}  ($ff0, $1ff8, $381c, 9 of $300c, $30cc,
             $30fc, $3078, $3878, $1ffc, $fcc),
       {R}  ($3ff0, $3ff8, $301c, 4 of $300c, $301c, $3ff8,
             $3ff0, $3700, $3380, $31c0, $30e0, $3070,
             $3038, $301c, $300c),
       {S}  ($ff0, $1ff8, $381c, $300c, 3 of $3000, $3800,
             $1ff0, $ff8, $1c, 3 of $c, $300c,
             $381c, $1ff8, $ff0),
       {T}  ($3fff, $3fff, 16 of $c0),
       {U}  (15 of $300c, $381c, $1ff8, $ff0),
       {V}  ($3003, $3807, $3807, $1806, $1c0e, $1c0e,
             $c0c, $e1c, $e1c, $618, $738, $738,
             $330, $330, $3f0, $1e0, $c0, $c0),
       {W}  (10 of $3003, 5 of $30c3, $39e7, $1ffe, $f3c),
       {X}  (3 of $3003, $3807, $1c0e, $e1c,
             $738, $3f0, $1e0, $1e0, $3f0, $738,
             $e1c, $1c0e, $3807, 3 of $3003),
       {Y}  (3 of $3003, $3807, $1c0e, $e1c, $738,
             $3f0, $1e0, 9 of $c0),
       {Z}  ($3ffc, $3ffc, $c, $1c, $38, $70,
             $e0, $1c0, $380, $700, $e00, $1c00,
             $3800, 3 of $3000, $3ffc, $3ffc),
       {[}  ($3fc0, $3fc0, 14 of $3000, $3fc0, $3fc0),
       {\}  ($0, $0, $3000, $3800, $1c00, $e00,
             $700, $380, $1c0, $e0, $70, $38,
             $1c, $e, $7, $3, $0, $0),
       {]}  ($3fc, $3fc, 14 of $c, $3fc, $3fc),
       {^}  ($0, $0, $c0, $1e0, $3f0, $7f8,
             $edc, $1cce, $38c7, $30c3,
             4 of $c0, 4 of $0),
       {_}  (16 of 0, 2 of $ffff)) ;
            
    procedure double (s : string) ;
      var
        i : integer register ;
        c : byte register ;
      begin
        write (t, #27'*r1A') ;
        s := upshift(s) ;
        for i := 0 to 17 do
          begin
            write (t, #27'*b', string(length(s) << 1), 'W') ; 
              for c := #1 to s[0] do
                write (t, byte(font[s[c],i] >> $8), byte(font[s[c],i])) ;
          end ;
        writeln (t, #27'*rB')
      end ;
            
    begin
      open (t, '/p', output) ;
      write (t, #27'*t150R') ;
      writeln (t) ;
      writeln (t) ;
      double ('                                  OPSYS ______  SERIAL ___________') ;
      for i := 1 to 15 do
        writeln (t) ;
      double ('                      OMEGASOFT 6809 CROSS PASCAL') ;
      writeln (t) ;
      double ('                           LANGUAGE HANDBOOK') ;
      writeln (t) ;
      writeln (t) ;
      double ('                          ORDER NUMBER MPXK9') ;
      writeln (t) ;
      double ('                   RELEASED FOR SOFTWARE VERSION 1.0') ;
      for i := 1 to 10 do
        writeln (t) ;
      double ('                    CERTIFIED SOFTWARE CORPORATION') ;
      writeln (t) ;
      double ('                  616 CAMINO CABALLO, NIPOMO CA 93444') ;
      writeln (t) ;
      double ('                   TEL: (805)929-1395  TELEX: 467013') ;
      page (t) ;
      close (t)
    end .
