=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=-                                                                         -=
=-        Source Code for switching Video Modes without using BIOS         -=
=-                 November 20, 1997     Version 2.1                       -=
=-                                                                         -=
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=-        See the README.TXT file for the Disclaimer and other info        -=
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

** Note ** This code does not update BIOS when in real mode.  So if you need
that particular functionality, you will have to add this yourself.

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=-   Currently supported Video Modes:    -=
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=-  03H    -=- 320 x 200 x 256           -=
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=-  12H    -=- 640 x 480 x 16            -=
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=-  13H    -=- 320 x 200 x 256           -=
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=- Chain 4 -=- unchained 320 x 200 x 256 -=
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=- Mode X  -=- unchained 320 x 240 x 256 -=
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=- Mode A  -=- unchained 320 x 400 x 256 -=
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=- Mode B  -=- unchained 360 x 480 x 256 -=
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


To set a video mode:

; For mode 03h you must include mode03h.inc
MOV SI,OFFSET MODE03H
CALL SETMODE

; For mode 12h you must include mode12h.inc
MOV SI,OFFSET MODE12H
CALL SETMODE

; For mode 13h you must include mode13h.inc
MOV SI,OFFSET MODE13H
CALL SETMODE

; For Chain-4 Mode you must include modec4.inc
CALL SET_CHAIN4

; For Mode X you must include modec4.inc
CALL SET_MODEX

; For Mode A you must include mode13h.inc
CALL SET_MODEA

; For Mode B you must include mode13h.inc and modeb.inc
CALL SET_MODEB

and thats it the videomode gets set.

Once the video mode is set, you can program each video mode as normal.

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
I have also included UNCHAIN.ASM which includes some source for clearing the
screen and plotting a pixel in all of the unchained modes.

This includes Chain-4, Mode X, Mode A, and Mode B.

The nice feature about this is that all of the modes use exactly the same
memory structure so the same code can be used to program all.

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
