[Back to SCREEN SWAG index]  [Back to Main SWAG index]  [Original]

{
Robert Rothenburg

> How do you use video pages, how do you change the current one(I guess
> it's an register?), and if somebody could, explain to me exactly what
> Video Pages are?

Interrupt $10, function 5...which in Turbo Pascal becomes (ta da!):
}

program PageExample;

uses
  DOS;

var
  reg : Registers;

procedure SetActivePage(Page : byte);
begin
  Reg.AH := 5;
  Reg.AL := Page;
  Intr($10, Reg);
end;

(* or, if you've got TP 7... *)

procedure SetActivePage(Page : byte); assembler;
asm
  MOV AH, 5
  MOV AL, Page
  INT $10
end;

{
According to my handy and well-worn "DOS Programmer's Reference", the
valid page numbers are as follows:

Page Numbers:        Video Mode(s):        Video Adapters:
-----------------------------------------------------------------
   0..7               00, 01                 CGA, EGA, MCGA, VGA
   0..3               02, 03                 CGA
   0..7               02, 03                 EGA, MCGA, VGA
   0..7               07, 0Dh                EGA, VGA
   0..3               0Eh                     "    "
   0..1               0Fh, 10h                "    "

Of course my edition was written in 1989 and only goes up to DOS 4 and
doesn't mention SVGA or XGA cards etc.

(I don't even bother with Boreland's BGI drivers.  It's much easier to
use my own BIOS interface units.)
}

[Back to SCREEN SWAG index]  [Back to Main SWAG index]  [Original]