Config.CdrReschedule = 0;
Config.PsxAuto = 1;
+ pl_rearmed_cbs.gpu_neon.allow_interlace = 2; // auto
pl_rearmed_cbs.gpu_peops.iUseDither = 0;
pl_rearmed_cbs.gpu_peops.dwActFixes = 1<<7;
pl_rearmed_cbs.gpu_unai.abe_hack =
pl_rearmed_cbs.gpu_unai.no_light =
pl_rearmed_cbs.gpu_unai.no_blend = 0;
- pl_rearmed_cbs.gpu_neon.allow_interlace = 2; // auto
+ memset(&pl_rearmed_cbs.gpu_peopsgl, 0, sizeof(pl_rearmed_cbs.gpu_peopsgl));
+ pl_rearmed_cbs.gpu_peopsgl.iVRamSize = 64;
+ pl_rearmed_cbs.gpu_peopsgl.iTexGarbageCollection = 1;
iUseReverb = 2;
iUseInterpolation = 1;
case SACTION_VOLUME_DOWN:
plat_step_volume(emu_action == SACTION_VOLUME_UP);
return;
+ case SACTION_MINIMIZE:
+ plat_minimize();
+ return;
default:
return;
}
return 1;
// frontend stuff
+ // init input but leave probing to platform code,
+ // they add input drivers and may need to modify them after probe
in_init();
- in_evdev_init();
- //in_probe();
pl_init();
plat_init();
menu_init(); // loads config
return ret;
ret = SaveState(fname);
+#ifndef __ARM_ARCH_7A__ /* XXX */
+ sync();
+#endif
printf("* %s \"%s\" [%d]\n", ret == 0 ? "saved" : "failed to save", fname, slot);
return ret;
}
#if defined(__x86_64__) || defined(__i386__)
// convenience hack
- char name[MAXPATHLEN];
- snprintf(name, sizeof(name), "%s.x86", lib);
- lib = name;
+ if (strstr(lib, ".x86") == NULL) {
+ char name[MAXPATHLEN];
+ snprintf(name, sizeof(name), "%s.x86", lib);
+ lib = name;
+ }
#endif
ret = dlopen(lib, RTLD_NOW);