(Mednafen PSX) Tales of Phantasia needs multitap disabled otherwise

input will not work
This commit is contained in:
twinaphex 2013-05-19 16:23:53 +02:00
parent 86ec354e4f
commit f901bc2bba
3 changed files with 18 additions and 6 deletions

View File

@ -973,6 +973,15 @@ static const char *CalcDiscSCEx_BySYSTEMCNF(CDIF *c, unsigned *rr)
}
}
}
fprintf(stderr, "Boot ID: %s\n", bootpos);
if (strchr(bootpos, 'SLPS_017'))
{
fprintf(stderr, "Disabling multitap(s) ...\n");
setting_psx_multitap_port_1 = 0;
setting_psx_multitap_port_2 = 0;
}
//puts((char*)fb);
//puts("ASOFKOASDFKO");
@ -1098,6 +1107,9 @@ static bool InitCommon(std::vector<CDIF *> *CDInterfaces, const bool EmulateMemc
bool emulate_memcard[8];
bool emulate_multitap[2];
cdifs = CDInterfaces;
region = CalcDiscSCEx();
for(unsigned i = 0; i < 8; i++)
{
char buf[64];
@ -1112,10 +1124,6 @@ static bool InitCommon(std::vector<CDIF *> *CDInterfaces, const bool EmulateMemc
emulate_multitap[i] = MDFN_GetSettingB(buf);
}
cdifs = CDInterfaces;
region = CalcDiscSCEx();
if(!MDFN_GetSettingB("psx.region_autodetect"))
region = MDFN_GetSettingI("psx.region_default");

View File

@ -22,6 +22,8 @@
#include "settings.h"
uint32_t setting_pce_fast_nospritelimit = 0;
uint32_t setting_psx_multitap_port_1 = 1;
uint32_t setting_psx_multitap_port_2 = 1;
bool MDFN_SaveSettings(const char *path)
{
@ -166,9 +168,9 @@ bool MDFN_GetSettingB(const char *name)
if (!strcmp("psx.input.port8.memcard", name))
return 1;
if (!strcmp("psx.input.port1.multitap", name)) /* make configurable */
return 1;
return setting_psx_multitap_port_1;
if (!strcmp("psx.input.port2.multitap", name)) /* make configurable */
return 1;
return setting_psx_multitap_port_2;
if (!strcmp("psx.region_autodetect", name)) /* make configurable */
return 1;
if (!strcmp("psx.input.analog_mode_ct", name)) /* make configurable */

View File

@ -4,6 +4,8 @@
#include <string>
extern uint32_t setting_pce_fast_nospritelimit;
extern uint32_t setting_psx_multitap_port_1;
extern uint32_t setting_psx_multitap_port_2;
bool MDFN_LoadSettings(const char *path, const char *section = NULL, bool override = false);
bool MDFN_MergeSettings(const void*);