RetroPie-Setup/scriptmodules/emulators/advmame/01_rpi_framebuffer.diff
Jools Wills 7b79cdd16c advmame - split advmame into multiple packages
* rework patch code
 * use 0.94 instead of 0.94.0
 * make advmame always be the latest advmame version with advmame.rc as the config
 * remove any old emulator.cfg entries
 * update advmame to v3.3
2017-02-22 19:47:16 +00:00

91 lines
No EOL
3.5 KiB
Diff

--- a/advance/linux/vfb.c
+++ b/advance/linux/vfb.c
@@ -268,7 +268,7 @@
var->height = 0;
var->width = 0;
var->accel_flags = FB_ACCEL_NONE;
- var->pixclock = (unsigned)(1000000000000LL / pixelclock);
+ var->pixclock = pixelclock;
var->left_margin = ht - hre;
var->right_margin = hrs - hde;
var->upper_margin = vt - vre;
@@ -587,9 +587,8 @@
goto err_close;
}
- fb_state.flags = VIDEO_DRIVER_FLAGS_MODE_PALETTE8 | VIDEO_DRIVER_FLAGS_MODE_BGR15 | VIDEO_DRIVER_FLAGS_MODE_BGR16 | VIDEO_DRIVER_FLAGS_MODE_BGR24 | VIDEO_DRIVER_FLAGS_MODE_BGR32
- | VIDEO_DRIVER_FLAGS_PROGRAMMABLE_ALL
- | VIDEO_DRIVER_FLAGS_OUTPUT_FULLSCREEN;
+ fb_state.flags = VIDEO_DRIVER_FLAGS_MODE_PALETTE8 | VIDEO_DRIVER_FLAGS_MODE_BGR16 | VIDEO_DRIVER_FLAGS_MODE_BGR24 | VIDEO_DRIVER_FLAGS_MODE_BGR32
+ | VIDEO_DRIVER_FLAGS_OUTPUT_WINDOW;
if (fb_detect() != 0) {
goto err_close;
@@ -1120,14 +1119,10 @@
{
assert(fb_is_active());
- if (crtc_is_fake(crtc)) {
- error_nolog_set("Not programmable modes are not supported.\n");
+ if (!crtc_is_fake(crtc)) {
return -1;
}
- if (video_mode_generate_check("fb", fb_flags(), 8, 2048, crtc, flags)!=0)
- return -1;
-
mode->crtc = *crtc;
mode->index = flags & MODE_FLAGS_INDEX_MASK;
--- a/advance/osd/frame.c
+++ b/advance/osd/frame.c
@@ -1298,9 +1299,9 @@
best_vclock = context->state.game_fps;
video_init_crtc_make_fake(context, "generate", best_size_x, best_size_y);
+ video_init_crtc_make_fake(context, "generate-double-y", best_size_x, best_size_2y);
+ video_init_crtc_make_fake(context, "generate-double-x", best_size_2x, best_size_y);
video_init_crtc_make_fake(context, "generate-double", best_size_2x, best_size_2y);
- video_init_crtc_make_fake(context, "generate-triple", best_size_3x, best_size_3y);
- video_init_crtc_make_fake(context, "generate-quad", best_size_4x, best_size_4y);
} else {
unsigned long long factor_x;
unsigned long long factor_y;
--- a/advance/osd/frame.c
+++ b/advance/osd/frame.c
@@ -2425,6 +2425,7 @@ void advance_video_mode_preinit(struct advance_video_context* context, struct ma
}
log_std(("emu:video: suggested debugger size %dx%d\n", option->debug_width, option->debug_height));
+#if 0
/* set the vector game size */
if (mame_is_game_vector(option->game)) {
unsigned mode_size_x;
@@ -2484,6 +2485,7 @@ void advance_video_mode_preinit(struct advance_video_context* context, struct ma
option->vector_width = 0;
option->vector_height = 0;
}
+#endif
}
/**
--- a/advance/osd/glue.c
+++ b/advance/osd/glue.c
@@ -2866,6 +2866,9 @@ adv_error mame_init(struct advance_context* context)
conf_float_register_limit_default(context->cfg, "display_gamma", 0.5, 2.0, 1.0);
conf_float_register_limit_default(context->cfg, "display_brightness", 0.1, 10.0, 1.0);
+ conf_int_register_default(context->cfg, "display_width", 640);
+ conf_int_register_default(context->cfg, "display_height", 480);
+
conf_bool_register_default(context->cfg, "misc_cheat", 0);
conf_string_register_default(context->cfg, "misc_languagefile", "english.lng");
conf_string_register_default(context->cfg, "misc_cheatfile", "cheat.dat");
@@ -2915,6 +2918,8 @@ adv_error mame_config_load(adv_conf* cfg_context, struct mame_option* option)
option->gamma = conf_float_get_default(cfg_context, "display_gamma");
option->brightness = conf_float_get_default(cfg_context, "display_brightness");
+ option->vector_width = conf_int_get_default(cfg_context, "display_width");
+ option->vector_height = conf_int_get_default(cfg_context, "display_height");
option->cheat_flag = conf_bool_get_default(cfg_context, "misc_cheat");