Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Peter Norton Programmer's Guide - Norton Guide http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]

  The amount of RAM physically installed in the various video subsystems is
  frequently more than enough to contain more than one screen's worth of
  video data. In video modes where this is true, all IBM video subsystems
  support multiple display pages. When you use display pages, the video
  buffer is mapped into two or more areas, and the video hardware is set up
  to selectively display any one of these areas in the map.

  Because only one page is displayed at any given time, you can write
  information into nondisplayed pages as well as directly to the displayed
  page. Using this technique you can build a screen on an invisible page
  while another page is being displayed and then switch to the new page when
  the appropriate time comes. Switching screen images this way makes screen
  updates seem instantaneous.

  The display pages are numbered 0 through 7, with page 0 starting at the
  beginning of the video buffer. Of course, the amount of available RAM may
  be insufficient to support eight full display pages; the actual number of
  pages you can use (see Figure 4-11) depends on how much video RAM is
  available and on how much memory is required for one screenful of data.
  Each page begins on an even kilobyte memory boundary. The display page
  offset addresses are shown in Figure 4-12.

  To select a display page, use ROM BIOS interrupt 10H, service 05H. To
  determine which page is actively displayed, use interrupt 10H, service
  0FH. (See Chapter 9 for information about these ROM BIOS services.)

  In any of these modes, if the pages are not actively used (actually
  displayed on the screen), then the unused part of the display memory can
  conceivably be used for data besides text or pixels, although this usage
  is neither normal nor advisable. Making any other use of this potentially
  free memory is asking for trouble in the future.

                                       Number of
  Video Mode  Subsystem                Pages       Notes
  --------------------------------------------------------------------------
  00H, 01H    CGA, EGA, MCGA, VGA      8
  02H, 03H    CGA                      4
              EGA, MCGA, VGA           8
  04H, 05H    CGA, MCGA                1
              EGA, VGA                 2           Not fully supported by
                                                   ROM BIOS
  06H         CGA, EGA, MCGA, VGA      1
  07H         MDA                      1
              EGA, VGA                 8
  0DH         EGA, VGA                 8
  0EH         EGA, VGA                 4
  0FH         EGA, VGA                 2
  10H         EGA, VGA                 2
  11H         MCGA, VGA                1
  12H         VGA                      1
  13H         MCGA, VGA                1
  --------------------------------------------------------------------------

  Figure 4-11.  Display pages available in IBM video subsystems.

  Page   40 x 25, 16-color      80 x 25, 16-color     80 x 25 Mono
  --------------------------------------------------------------------------
  0      B800:0000H             B800:0000H            B000:0000H
  1      B800:0800H             B800:1000H            B000:1000H
EGA and VGA only

  2      B800:1000H             B800:2000H            B000:2000H
EGA and VGA only

  3      B800:1800H             B800:3000H            B000:3000H
EGA and VGA only

  4      B800:2000H             B800:4000H
EGA and VGA only
           B000:4000H
EGA and VGA only

  5      B800:2800H             B800:5000H
EGA and VGA only
           B000:5000H
EGA and VGA only

  6      B800:3000H             B800:6000H
EGA and VGA only
           B000:6000H
EGA and VGA only

  7      B800:3800H             B800:7000H
EGA and VGA only
           B000:7000H
EGA and VGA only

  --------------------------------------------------------------------------

  Figure 4-12.  Start addresses for text-mode display pages in IBM video
  subsystems.

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