return MODULE_ERR_NOTNEEDED;\r
}\r
\r
- Log_Debug("VESA", "info->VideoModes = %04x:%04x", info->VideoModes.seg, info->VideoModes.ofs);\r
+ //Log_Debug("VESA", "info->VideoModes = %04x:%04x", info->VideoModes.seg, info->VideoModes.ofs);\r
modes = (Uint16 *) VM8086_GetPointer(gpVesa_BiosState, info->VideoModes.seg, info->VideoModes.ofs);\r
\r
// Read Modes\r
for( giVesaModeCount = 0; modes[giVesaModeCount] != 0xFFFF; giVesaModeCount++ );\r
gVesa_Modes = (tVesa_Mode *)malloc( giVesaModeCount * sizeof(tVesa_Mode) );\r
\r
+ Log_Debug("VESA", "%i Modes", giVesaModeCount);\r
+ \r
// Insert Text Mode\r
gVesa_Modes[0].width = 80;\r
gVesa_Modes[0].height = 25;\r
break;\r
}\r
\r
- tmp = gVesa_Modes[i].width * gVesa_Modes[i].height * gVesa_Modes[i].bpp;\r
- tmp -= data->width * data->height * data->bpp;\r
+ tmp = gVesa_Modes[i].width * gVesa_Modes[i].height;\r
+ tmp -= data->width * data->height;\r
tmp = tmp < 0 ? -tmp : tmp;\r
- factor = tmp * 100 / (data->width * data->height * data->bpp);\r
+ factor = tmp * 100 / (data->width * data->height);\r
+ \r
+ if( (data->bpp == 32 || data->bpp == 24)\r
+ && (gVesa_Modes[i].bpp == 32 || gVesa_Modes[i].bpp == 24) )\r
+ {\r
+ \r
+ }\r
+ else {\r
+ factor *= 10;\r
+ }\r
\r
LOG("factor = %i", factor);\r
\r