(9555)  Fri 17 Sep 93 11:17a
By: Ed Kowalski
To: David Ruppert
Re: Re: getting 80x50 text mo
St:                                                                       <7147
---------------------------------------------------------------------------
@EID:108c 00ca5220
@MSGID: 1:140/12.9 988b420a
 > Ok all you folks that are experts at text mode settings - how do I
 > set 80x50 text mode

By: Ratko Tomic
---------------------------------------------------------------------------
  Instead of giving you individual recepies for each case, here is a
  bit more general method you can use to set number of lines on VGA.
  The chart shows which vertical sizes (in text lines) are available
  when you select particular ROM font and number of scan lines (SCL):

    SCL \ FONT     8x8     8x14     8x16
    ------------------------------------
    200            25       14       12
    350            43       25       21
    400            50       28       25
    ------------------------------------
    480            60       34       30    (not via BIOS)
    ------------------------------------

   The procedure requires that you call BIOS to set number of scan
   lines, then call BIOS set video mode function followed by font
   selection:

   1.  Set # of scan lines:

         MOV   AX,1200h + SCL_nnn
         MOV   BL,30h
         INT   10h                  ;Select # of scan lines
         MOV   AX,3
         INT   10h                  ;Have BIOS program the value

    where SCL_nnn is:   SCL_200  =  0
                        SCL_350  =  1
                        SCL_400  =  2

   2. Select ROM font:

         MOV   AX,1110h + FONT_HxV
         MOV   BL,0
         INT   10h

   where FONT_HxV is:  FONT_8x8  =  2
                       FONT_8x14 =  1
                       FONT_8x16 =  4

 NOTE 1. Since 400 scan line mode is default in 25x80 text on VGA,
         you need not set it when starting from DOS (it is 350 on
         EGA). But you should restore 400 line mode before exiting
         from your program.

 NOTE 2. Programming the 480 scan line mode is not supported by VGA
         BIOS. It can be done by reprogamming vertical timing registers
         in the CRTC controller (and sync polarity in Misc. Output)
         to same values set by graphics mode 12h (640x480 mode).

 NOTE 3. By creating your own fonts 8xN you can produce (almost) any
         number of text lines SCL/N. Combined with CRTC timing
         registers you can pick many nice (Columns x Rows) numbers.

 * Richard Wilton - Programmer's Guide to PC & PS/2 Video Systems
     (Microsoft Press, 1987, ISBN 1-55615-103-9)

 * Richard Ferraro - Programmer's Guide to the VGA and EGA Cards
     (2nd Ed, Addison-Wesley, 1990, ISBN 0-201-57025-4)

 Origin: MSI S/W BBS-Fram. MA-(508) 875-8009-CodeRunneR-HandiWARE (322/327)

--- FD 1.99c
 * Origin: Cat's Quarter -- Saskatoon - SK -- (1:140/12.9)

@PATH: 140/12 202 201 18 1 12/12 13/13 260/1
