Contents of the AD_VIDEO.DOC file
AnDan Software Video BIOS Version 1.05
Copyright (c) Andan Software 1989
This SYS-program replace some of the BIOS Video routines so video access
from other program goes faster.
Some programs writes directly to the video memory, these types of
programs are not affected at all by AD_VIDEO. But, programs which writes to
the display through BIOS will go faster when using this program.
Shareware: AD_VIDEO may be copied if no fee is charged and if no
changes are done. The source codes supplied with AD_VIDEO may only
be copied for educate purposes. AD_VIDEO may not be shipped with other
products, without permission from AnDan Software.
Please help us distribute AD_VIDEO by copying it in it's unmodified
form. Please make a contribution to us for using this program. We
recommend a contribution of $10 for students, $20 for private use and
$40 for companies. Send an international check or money order to:
Seffle Instrument AB
P.O. Box 25
S-661 00 SFFLE
Telephone +46 533 17250
Mark the payment with "AnDan Software Video BIOS Version 1.05".
You may use Visa or MasterCard if you write a letter with your
payment, card number, expiration date, and your signature.
For Swedish users: Telefon: 0533-17250
If you have questions, remarks or find any bugs in AD_VIDEO,
please send electronic mail, or call and write a message in
the "AnDan Software" message area, to Anders Danielsson to one
of the following BBSes:
Opus Falken BBS FidoNet: 2:501/331 +46-346-84764
No Name BBS FidoNet: 2:501/413 +46-19-120103
You should have received the following files:
AD_VIDEO.DOC This file
AD_VIDEO.ASM The source code to the program
ASM.BAT A batch file for assembling AD_VIDEO.ASM
AD_VIDEO.1 Device driver type 1
AD_VIDEO.8 Device driver type 8
PAGE.ASM The source code to PAGE.COM
PAGE.COM Selects active video page, or resets the adapter
ROW25.ASM The source code to ROW25.COM
ROW25.COM Resets the video adapter
ROW43.ASM The source code to ROW43.COM
ROW43.COM Sets 43 or 50 lines on EGA or VGA
TESTADV.EXE Test Video BIOS access time
As you can see in the source code and in the ASM.BAT eight different type
of the AD_VIDEO.SYS program can be done. These are called AD_VIDEO.1 to
AD_VIDEO.8. The following table describes the differences:
Driver: Wait after I/O: 16 bit I/O: Handle EGA/VGA 43/50 lines:
AD_VIDEO.1 no no no
AD_VIDEO.2 yes no no
AD_VIDEO.3 no yes no
AD_VIDEO.4 yes yes no
AD_VIDEO.5 no no yes
AD_VIDEO.6 yes no yes
AD_VIDEO.7 no yes yes
AD_VIDEO.8 yes yes yes
All AD_VIDEO.? always use 16 bit memory accesses. AD_VIDEO.3 and
AD_VIDEO.7 are the fastes drivers. If you have problem with no waits
after I/O operation or with 16 bits I/O operation, try an other AD_VIDEO
On my 10 MHz AT clone with Paradise EGA BIOS vers 2.0, I got the
following results with the TESTADV.EXE program, with no memory resident
programs that filters or traps the Video BIOS than AD_VIDEO. The commands
"testadv 1 200" and "testadv 2 100" were used:
Driver: Testadv 1 200: Testadv 2 100: Mean value:
No driver 142.7 sec (100%) 71.3 sec (100%) 100%
MOUSE.SYS 154.6 sec (108%) 74.2 sec (104%) 106%
AD_VIDEO.1 30.8 sec (21.6%) 47.8 sec (67.0%) 44.30%
AD_VIDEO.2 32.1 sec (22.5%) 48.4 sec (67.9%) 45.20%
AD_VIDEO.3 30.3 sec (21.2%) 47.7 sec (66.9%) 44.05%
AD_VIDEO.4 30.6 sec (21.4%) 47.8 sec (67.0%) 44.20%
AD_VIDEO.5 31.1 sec (21.8%) 47.5 sec (66.6%) 44.20%
AD_VIDEO.6 32.0 sec (22.4%) 48.1 sec (67.5%) 44.95%
AD_VIDEO.7 31.0 sec (21.7%) 47.3 sec (66.3%) 44.00%
AD_VIDEO.8 31.2 sec (21.9%) 47.5 sec (66.6%) 44.25%
"testadv 1 200" writes 200 pages of text using Video BIOS functions 2 and
9 (set cursor position and write character at cursor position).
"testadv 2 100" writes 100 pages of text using Video BIOS functions 14
(write teletype to active page), with a scroll for each line written.
The values are a little strange, it may have to do with the 80286's
pipline or prefetch features. AD_VIDEO.5 to AD_VIDEO.8 uses the MUL
instruction, so they may be slower on 8088 and 8086 computers compared to
AD_VIDEO.1 to AD_VIDEO.4. As you can see, any program that filters the
Video BIOS like my MOUSE.SYS do, will slow down the Video accesses.
When you have decided which type to use, copy it to your boot diskette or
boot disk and name it AD_VIDEO.SYS. For example, if you have a hard disk
at drive C:, do one of the following:
copy ad_video.1 c:\ad_video.sys (for type 1)
. . .
. . .
copy ad_video.8 c:\ad_video.sys (for type 8)
Then edit your CONFIG.SYS file so it contains the line:
You may add some options at the line if you need to. The following
options are valid:
/w Waits before each video memory access, used to prevent "snow"
This option is valid only for AD_VIDEO.1 to AD_VIDEO.4
/bNNNN Loop value NNNN to be used with the Bell or Beep, default 800
/d Use DOS to set new value to interrupt table
/w is used if you have a CGA video and you see "snow" on the screen.
/bNNNN is used to set the length of the beep when ASCII 7 is displayed. /d
is used if it doesn't seems to work otherwise.
For optimum speed the line "device=ad_video.sys" should be placed after
any other device driver that traps or filters the Video BIOS calls. But
for functionality it should be placed before any other device driver that
filters any of the following Video BIOS functions:
2 Set cursor position
3 Read cursor position
6 Scroll active page up
7 Scroll active page down
8 Read attribute/character at cursor
9 Write attribute/character at cursor
10 Write character at cursor
14 Write teletype to active page
For example, my MOUSE.SYS filters the Video BIOS funtions 0, 4 and 17,
but no more, so I place my AD_VIDEO.SYS after MOUSE.SYS to improve speed.
But I have a KEYBSV.SYS that filters function 9, 10 and 14, so I must
place my AD_VIDEO.SYS before the KEYBSV.SYS, otherwise it will not work.