The 4-byte pointer at 0040:00a8 has been named SAVE_PTR by an imaginative
programmer. It points to a table of EGA/VGA data block pointers. You can
change this address to point to a different data area in which you define
your own fonts and other options.
To make a change, copy the current table and then modify the copy. You
can use TSR techniques to make your customized table resident in memory to
enable it with each mode change.
Offset Size Contents
▀▀▀▀▀▀ ▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
+0 4 pfrVidParms addr of a table of EgaVidParmsRec structures
+4 4 pfrDynParms addr of an EgaDynamicSaveRec or 0:0
+8 4 pfrTxtAuxFnt addr of an EgaTxtFontRec structure or 0:0
+0cH 4 pfrGfxAuxFnt addr of an EgaGfxFontRec structures or 0:0
+10H 4 pfrSavePtr2 (VGA only) addr of a VgaSavePtr2Rec or 0:0
+14H 8 res reserved (two far pointers)
28 size of an EgaSavePtrRec structure
pfrVidParms This MUST exist. It is initially set to point to a table in
ROM. The table should be 1472 bytes long, with 64 bytes for
each of 23 (17H) different video modes. In this parameter
table: Modes 0-10H are the modes listed in Video Modes for 64K
EGAs. Modes 11H-12H are for 350-line graphics with 128K+ RAM
on board. Modes 13H-17H are the 350-line versions of text
modes 0-3 when used with the Enhanced Color Display.
See EgaVidParmsRec for the layout.
pfrDynParms Initially 0000:0000 (not used). When present, this points to
an EgaDynamicSaveRec to hold the current settings for EGA and
VGA palettes. This is updated when the BIOS updates the
Attribute Controller registers (as in INT 10H 1000H).
pfrTxtAuxFnt Initially 0000:0000 (not used). When present, this points to
an EgaTxtFontRec structure that overrides all or part of the
font definition for specified text modes; the font will be
loaded to the character generator when selected text modes are
initialized. You can use this vector to setup unusual and
exotic fonts or to override just a few characters for national
On VGAs, an additional character set may be set up for
selected modes by setting up a VgaSavePtr2Rec.
pfrGfxAuxFnt Initially 0000:0000 (not used). When present, this points to
an EgaGfxFontRec structure. The font information will be used
to generate characters is specified graphics modes.
pfrSavePtr2 This field contains an address on VGAs only. It points to a
VgaSavePtr2Rec which sets special options foe VGA video
See Also: EGA Data Areas
EGA I/O Ports