Hi!
I’m giving a look at graphic DDK, as I need to modify it so that it runs
correctly on a system that has absolutely no VESA compliant BIOS.
And I’m a bit lost!
I understood I must provide functions for mode determination and mode
switching but… which one?
It seems to me I must replace every functions that calls any vesa_* function
(those in vesa.h, that cannot be found in any C file in the DDK and that are
probably provided in a lib elsewhere and not supported on my hardware (chips
69000 without VESA bios). But what kind of info is relevant?
concerning supported modes (for example)
If I look at the doc it says : you must return the supported modes. OK I
know them (normal and vesa equivalent ones!).
If I look at the code :
if (vesa_InfoBlock(adp->vbios, &VIB) != NULL) {
/* Get the list of VESA modes */
if (vesa_ModeList(adp->vbios, &VIB, VModes) == NULL)
return -1;
etc…
Wow : all undocumented functions : what do they do?
Anyway the important line is :
list[j] = VModes _| 0x4000;
OK I understand I must fill in the list with supported modes but why ORing
with 0x4000?
\
By the way OFF topic question : what is the difference between
for (i = 0; i < DISP_MAX_MODES; i++) {
if (i < index)
continue;…
and
for (i = index; i < DISP_MAX_MODES; i++) {
…
The first code is in the driver and I could’nt see any difference.
-----------------------------
If I change this and answer something like list[1] = 0x50; (a supported
mode!)
And of course if I change every functions using the mode numbers (so that to
understand 0x50 as a mode)
Will it work?
Please help!!!
Didier HARRANG
BCI S.A.
3, rue du Velay, CE1740
Petite Montagne Sud
91017 EVRY Cedex, FRANCE
Tel : 33 (0)1 69 11 30 00
Fax : 33 (0)1 60 86 30 64
------------------------------------------------_