home *** CD-ROM | disk | FTP | other *** search
/ PC-X 1997 March / pcx08_9703.iso / melyviz / pcx-user / t&t / v-1011.pas < prev   
Encoding:
Pascal/Delphi Source File  |  1996-12-14  |  2.0 KB  |  48 lines

  1. --------V-1011-------------------------------
  2. INT 10 - VIDEO - TEXT-MODE CHARACTER GENERATOR FUNCTIONS (PS, EGA, VGA)
  3.     AH = 11h
  4.     The following functions will cause a mode set, completely resetting
  5.     the video environment, but without clearing the video buffer
  6.     AL = 00h, 10h: load user-specified patterns
  7.         ES:BP -> user table
  8.         CX      = count of patterns to store
  9.         DX      = character offset into map 2 block
  10.         BL      = block to load in map 2
  11.         BH      = number of bytes per character pattern
  12.     AL = 01h, 11h: load ROM monochrome patterns (8 by 14)
  13.         BL      = block to load
  14.     AL = 02h, 12h: load ROM 8 by 8 double-dot patterns
  15.         BL      = block to load
  16.     AL = 03h: set block specifier (allows dual character sets on screen)
  17.         BL      = block specifier (see #0019)
  18.     AL = 04h, 14h: load ROM 8x16 character set (VGA)
  19.         BL    = block to load
  20. Notes:    The routines called with AL=1xh are designed to be called only
  21.       immediately after a mode set and are similar to the routines called
  22.       with AL=0xh, except that:
  23.           Page 0 must be active.
  24.           Bytes/character is recalculated.
  25.           Max character rows is recalculated.
  26.           CRT buffer length is recalculated.
  27.           CRTC registers are reprogrammed as follows:
  28.              R09 = bytes/char-1 ; max scan line (mode 7 only)
  29.              R0A = bytes/char-2 ; cursor start
  30.              R0B = 0        ; cursor end
  31.              R12 = ((rows+1)*(bytes/char))-1 ; vertical display end
  32.              R14 = bytes/char    ; underline loc
  33.                (*** BUG: should be 1 less ***)
  34.     the current block specifiers may be determined with INT 10/AH=1Bh,
  35.       looking at offsets 2Bh and 2Ch of the returned data (VGA only)
  36.       (see AH=1Bh,#0037)
  37. SeeAlso: AH=1Bh,AX=CD10h
  38.  
  39. Bitfields for block specifier:
  40. Bit(s)    Description    (Table 0019)
  41. ---EGA/MCGA---
  42.  0,1    block selected by characters with attribute bit 3 clear
  43.  2,3    block selected by characters with attribute bit 3 set
  44. ---VGA---
  45.  0,1,4    block selected by characters with attribute bit 3 clear
  46.  2,3,5    block selected by characters with attribute bit 3 set
  47.  
  48.  Source: Interrupt Helper 51 By Ralf Brown.