Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Ralf Brown's Interrupt List (Part 1,2) - int 10 - video - text-mode character generator functions (ps, ega, vga) http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
INT 10 - VIDEO - TEXT-MODE CHARACTER GENERATOR FUNCTIONS (PS, EGA, VGA)
        AH = 11h
        The following functions will cause a mode set, completely resetting
        the video environment, but without clearing the video buffer
        AL = 00h, 10h: load user-specified patterns
            ES:BP -> user table
            CX    = count of patterns to store
            DX    = character offset into map 2 block
            BL    = block to load in map 2
            BH    = number of bytes per character pattern
        AL = 01h, 11h: load ROM monochrome patterns (8 by 14)
            BL    = block to load
        AL = 02h, 12h: load ROM 8 by 8 double-dot patterns
            BL    = block to load
        AL = 03h: set block specifier
            BL    = block specifier
                   (EGA/MCGA) bits 0,1 = block selected by chars with attribute
                                         bit 3 = 0
                              bits 2,3 = block selected by chars with attribute
                                         bit 3 = 1
                   (VGA) bits 0,1,4 = block selected by attribute bit 3 = 0
                         bits 2,3,5 = block selected by attribute bit 3 = 1
        AL = 04h, 14h: load ROM 8x16 character set (VGA)
        The routines called with AL=1xh are designed to be called only
        immediately after a mode set and are similar to the routines called
        with AL=0xh, except that:
              Page 0 must be active.
              Bytes/character is recalculated.
              Max character rows is recalculated.
              CRT buffer length is recalculated.
              CRTC registers are reprogrammed as follows:
                     R09 = bytes/char-1 ; max scan line (mode 7 only)
                     R0A = bytes/char-2 ; cursor start
                     R0B = 0            ; cursor end
                     R12 = ((rows+1)*(bytes/char))-1 ; vertical display end
                     R14 = bytes/char   ; underline loc
                           (*** BUG: should be 1 less ***)

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson