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)