Int 10H [CGA] [PCjr] [EGA] [MCGA] [VGA] Function 05H Set display page

Selects the active display page for the video display.

Call with:

For CGA, EGA, MCGA, VGA

AH = 05H

AL = page

0—7 for modes 00H and 01H (CGA, EGA, MCGA, VGA)

0—3 for modes 02H and 03H (CGA)

0—7 for modes 02H and 03H (EGA, MCGA, VGA)

0—7 for mode 07H (EGA, VGA)

0—7 for mode 0DH (EGA, VGA)

0—3 for mode 0EH (EGA, VGA)

0—1 for mode 0FH (EGA, VGA)

0—1 for mode 10H (EGA, VGA)

For PCjr only

AH = 05H

AL = subfunction

80H = read CRT/CPU page registers

81H = set CPU page register

82H = set CRT page register

83H = set both CPU and CRT page registers

BH = CRT page (Subfunctions 82H and 83H)

BL = CPU page (Subfunctions 81H and 83H)

Returns:

If CGA, EGA, MCGA, or VGA adapter

Nothing

If PCjr and if function called with AL = 80H—83H

BH = CRT page register

BL = CPU page register

Notes:

Video mode and adapter combinations not listed above support one display page (for example, a Monochrome Adapter in mode 7).

Switching between pages does not affect their contents. In addition, text can be written to any video page with Int 10H Functions 02H, 09H, and 0AH, regardless of the page currently being displayed.

On the PCjr, the CPU page determines the part of the physical memory region 00000H—1FFFFH that will be hardware mapped onto 16 KB of memory beginning at segment B800H. The CRT page determines the starting address of the physical memory used by the video controller to refresh the display. Smooth animation effects can be achieved by manipulation of these registers. Programs that write directly to the B800H segment can reach only the first 16 KB of the video refresh buffer. Programs requiring direct access to the entire 32 KB buffer in modes 09H and 0AH can obtain the current CRT page from the ROM BIOS variable PAGDAT at 0040:008AH.