Ok, I see what is wrong, the max res for a coco3 is 640x225 which is not 4:3. I do not know for sure how to implement it. It might be something like that in vsdl.c: (could be better made, just what I have in mind right now)
#ifdef PANDORA
adv_conf* cfg_context = CONTEXT.cfg;
mame_game* game_context = CONTEXT.game;
const game_driver* g_driver = (const game_driver*)game_context;
machine_config machine;
expand_machine_driver(g_driver->drv, &machine);
if ((conf_bool_get_default(cfg_context, "display_asp")) == 1) {
float aspect = (float)(machine.aspect_x)/(float)(machine.aspect_y);
if (aspect <= 1.667f) {
float omap_x = (aspect*480.000f);
char temp_string[10];
char temp_string2[10];
strcpy(temp_string2,"x480");
sprintf ( temp_string, "%d%s", (int) omap_x, temp_string2 );
strcpy(temp_string2,temp_string);
printf(temp_string2);
setenv("SDL_OMAP_LAYER_SIZE", temp_string2, 1);
}
else {
float omap_y = (800.000f/aspect);
char temp_string[10];
char temp_string2[10];
strcpy(temp_string2,"800x");
sprintf ( temp_string, "%s%d", temp_string2, (int) omap_y );
strcpy(temp_string2,temp_string);
printf(temp_string2);
setenv("SDL_OMAP_LAYER_SIZE", temp_string2, 1);
}
}
else {
setenv("SDL_OMAP_LAYER_SIZE", "fullscreen", 1);
}
#endif
my big problem is that game_driver and machine_config are in srcmess/driver.h and I have not found a way to include those without having hell break loose on me yet
The trick is that mess or mame will fill those with right values if the driver specify a custom aspect ratio or put a 4:3 for drivers wishing to use defaults
other things that might be interesting is machine_config.screen_width, machine_config.screen_height and machine_config.default_visible_area