
Two new options: 1) lf is output as cr/lf
                 2) tabs are expanded at 8-column boundaries

The argument to lclini(int) is treated as two bytes.  The high byte, if
non-zero, sets or resets the two translation options.  If the low byte is
zero, the screen is set to the number of lines the BIOS thinks it is.  The
function now returns the number of lines set, so you can find out.

E.g.,     lclini(1<<8); /* no lf translation, tab expansion off */
          lclini(3<<8); /* lf output as cr/lf, tab expansion off */
          lclini(5<<8); /* no lf translation, tab expansion on */
          lclini(7<<8); /* lf output as cr/lf, tab expansion on */

          i=lclini(7<<8);   /* translation on */
          ...
          lclini(1<<8+i-2); /* set to 23, 41, or 48 lines, translation off */

The object assembles to work with any memory model.  Use masm /Dmm=x where x
if the character s, m, c, l, or h.  Regarding the next production, there's a
bit of a problem calling any C routines in the bbs from an interrupt routine,
which is I don't know how to set up the segment registers.  I think I'll have
to read and write the com port directly.  And now, a poem:

          Do you have MASM,
          Or do you not?
          You told me once,
          But I forgot.
