Glossary of Terms

48-bit Addressing

The Intel 80386 and higher processors are actually native 48-bit [addressing]
processors. This means it uses a 16-bit selector and a 32-bit offset. Borland
Pascal 7.0 is a 16 bit protected mode compiler which can be turned into a
48-bit protected mode compiler.

Blits

Blits are transparent bitmaps (ie, a bitmap with a colour, usually 0, removed).
Extensive work (by Mark Iuzzolino) has gone into developing blindingly fast
blits. Currently the Blit Format Specification (BFS) is version 2.0, which
includes automatic blit clipping.

BGI

Borland Graphics Interface. Originally a way to write graphics programs
easily and quickly. Somewhat outdated today.

DPMI

DOS Protected Mode Interface is an industry standard that allows DOS programs
to access the advanced features of the 80286-, 80386-, and 80486-based PCs
in a well-behaved, hardware-independent fashion. For further reading, look
in the Borland Pascal Language Guide under DPMI server.

GPF

General Protection Fault. Also known as Runtime error 216. The DPMI server
generates a GPF when an error has occurred in your program. Most likely the
error occured by one of the following:

Michael Abrash

Michael Abrash is the author of several books, most notably Zen of Code
Optimization and Zen of Graphics Programming. He used to write
for Doctor Dobbs journal. He also used to work for Microsoft and recently
moved to ID Software (a move we all cheered). His optimization techniques
are amazing, and I highly recommend his books. The only person I know of
who can optimize better than he can is Terje Mathisen.

Mode 13h

320x200x8bpp. Probably the easiest graphics mode to code for, since all of the
screen memory is accessable within one segment. To initialize the mode,
one could do the following:

procedure InitMode13h; assembler;
asm
mov ax,13h
int 10h
end;

ModeX

320x240x8bpp un-chained. ModeX is a term that Michael Abrash invented. This
is an un-chained video mode, which means that you have to use a form of bank
switching to access all the screen memory. Some benefits of this mode
are hardware page flipping, multiple on-card virtual buffers (sometimes
referred to as double buffers), fast horizontal line fills (used for
*very* fast solid filled polygons), and hardware scrolling. Some drawbacks
of this mode are that it is difficult to code for and isn't any faster than
Mode 13h on a PC today. This mode isn't supported by our VESA library, since
it is outdated and doesn't offer anything we can't already do in a higher
resolution through software. There is an example of how to init ModeX
on the Introduction to Linking External ASM
Files Into Borland Pascal page.

ModeY

320x200x8bpp un-chained. Similar to ModeX in that it has multiple video
buffers, but has a vertical resolution of only 200 pixels. Doom 1 and 2 were
written using this mode.

NewOrder Demo Group

We are affiliated with the NewOrder Demo Group. Two of the members (TCA and
Surface) are part of the
MonsterSoft team. The name NewOrder comes from the English band, of which
we are all fans. There will be little or no information about the band on
this web-site, but we do recommend them as excellent music to program to.

Protected Mode

Protected Mode is a mode of operation on the Intel processor that was
implemented on the 286 and higher. It expands the amount of physically
addressable memory from 1MB to 16MB.

Real Mode

Real Mode is the other mode of operation. It is compatible with the original
8086 processor and allowed only up to 1 MB of readily addressible memory.

SVGA

Super Video Graphics Array. Anything 640x400x8bpp and above is considered SVGA,
since implementations differ from video card to video card.

Terje Mathisen

Terje is a brilliant coder who occasionally posts in alt.lang.x86 and
comp.lang.asm.x86 (and, strangely enough, rec.skiing.nordic). If you see a
post by him, save it (except for the skiing ones ;). They are always useful,
even if you can't use it now. I have at least 2 meg of posts by him that I
use as a reference guide to optimizations

VESA

VESA stands for Video and Electronic Standards Association. In this context
they dictated a [pseudo] standard interface so that programmers could write a
VESA library that would work on any SVGA.