Proposed  Method For Locating CRTC Tables
=========================================

To accommodate MS Plug 'n Play, VESA DDC, VESA DPMS, 
VESA VBE 2.0 and other emerging standards in the VIDEO BIOS, 
ATI Technologies proposes 1, to remove the unused and duplicated 
CRTC tables and  2, a standard way of obtaining the CRTC tables 
from the VIDEO BIOS.  

For example, some of the CRTC tables (entries 8 and 9) entries in the 
VIDEO BIOS  are not used and there are redundant entries as well 
(mode 0 = mode 1).  By removing unused and redundant entries, 
about 12 * 64 bytes in the VIDEO BIOS will be saved without any 
loss in functionality. It should be noted that if unused and redundant 
CRTC tables are removed, the ordering of the tables will no longer be 
the same as the original IBM VGA implementation.

As for applications or operating systems that rely on the ordering of 
the table, a slight modification in coding might be necessary.  ATI 
proposes, that for all relevant applications, the offset of the CRTC 
table be determined dynamically rather than by hard coding. We do 
not recommend hard coding the CRTC parameter in the program 
because the BIOS supporting non-standard frequency will not work.  
By examining the mode attributes (text/graphics, color/mono, char 
height, 8/9 dot ... etc.) in each of the CRTC parameter tables, we can 
determine the video mode type.

 A sample program has been written that searches through the CRTC 
tables and identifies each of the video modes. Included in the code is a 
routine that will return the location of the CRTC table based on a set 
of mode attributes. This program has correctly identified and retrieved 
all the standard VGA modes on all the VGA cards that we tested.  
Included in our testing were all major VGA boards currently on the 
market.

ATI is currently aware of only one class of software, the VGA 
console driver (text) supplied with UNIX operating systems based on 
AT&T's System V, that will be impacted by a reordering of the 
CRTC tables.   It relies on a fixed offset of a the CRTC table.  We 
have discussed this issue with the major UNIX players and were 
asked if VESA can adopt the proposed solution as a software 
standard and see if this is an acceptable approach for all.

As indicated above, ATI is proposing a standard way of obtaining 
CRTC table offset by examining the contents of the CRTC tables 
dynamically instead of hard coding the offset in the program. The 
UNIX vendors consulted would agree to implement the proposal if it 
is adopted as a VESA standard.  By agreeing on a standard 
methodology, video board manufacturers will have the ability to 
compress the VIDEO BIOS and software developers will have less 
support issues to contend with, thereby benefiting all concerned.

Comments can be faxed to ATI Technologies Inc. at 905-882-2620.
Attn: Video BIOS Development

The program CRTPTR.ZIP can be downloaded from:

ATI DOWNLOAD BBS        (905) 764-9404.
Compuserve              GO ATITECH ( Library 17)
Internet                atitech.ca