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 SˇFFLE SWEDEN 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 Postgiro: 509517-9 Bankgiro: 720-6733 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 driver. 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: device=ad_video.sys 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.