naom: VMU support (vonot, sf3zu). Fix otrigger inputs.
This commit is contained in:
parent
c5b56b874c
commit
09c439bbe8
|
@ -135,7 +135,13 @@ void mcfg_CreateNAOMIJamma()
|
||||||
mcfg_DestroyDevices();
|
mcfg_DestroyDevices();
|
||||||
mcfg_Create(MDT_NaomiJamma, 0, 5);
|
mcfg_Create(MDT_NaomiJamma, 0, 5);
|
||||||
if (settings.input.JammaSetup == JVS::Keyboard)
|
if (settings.input.JammaSetup == JVS::Keyboard)
|
||||||
mcfg_Create(MDT_Keyboard, 2, 5);
|
mcfg_Create(MDT_Keyboard, 1, 5);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Connect VMU B1
|
||||||
|
mcfg_Create(MDT_SegaController, 1, 5);
|
||||||
|
mcfg_Create(MDT_SegaVMU, 1, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void mcfg_CreateAtomisWaveControllers()
|
void mcfg_CreateAtomisWaveControllers()
|
||||||
|
@ -166,7 +172,7 @@ void mcfg_CreateAtomisWaveControllers()
|
||||||
mcfg_Create(MDT_LightGun, 2, 5, 0);
|
mcfg_Create(MDT_LightGun, 2, 5, 0);
|
||||||
mcfg_Create(MDT_LightGun, 3, 5, 1);
|
mcfg_Create(MDT_LightGun, 3, 5, 1);
|
||||||
}
|
}
|
||||||
else if (settings.input.JammaSetup == JVS::SegaMarineFishing)
|
else if (settings.input.JammaSetup == JVS::SegaMarineFishing || settings.input.JammaSetup == JVS::RotaryEncoders)
|
||||||
{
|
{
|
||||||
// Sega Bass Fishing Challenge needs a mouse (track-ball) on port 2
|
// Sega Bass Fishing Challenge needs a mouse (track-ball) on port 2
|
||||||
mcfg_Create(MDT_Mouse, 2, 5, 0);
|
mcfg_Create(MDT_Mouse, 2, 5, 0);
|
||||||
|
|
|
@ -1518,6 +1518,16 @@ protected:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class jvs_837_13551_noanalog : public jvs_837_13551
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
jvs_837_13551_noanalog(u8 node_id, maple_naomi_jamma *parent, int first_player = 0)
|
||||||
|
: jvs_837_13551(node_id, parent, first_player)
|
||||||
|
{
|
||||||
|
analog_count = 0;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// Same in 4-player mode
|
// Same in 4-player mode
|
||||||
class jvs_837_13551_4P : public jvs_837_13551
|
class jvs_837_13551_4P : public jvs_837_13551
|
||||||
{
|
{
|
||||||
|
@ -1828,6 +1838,10 @@ struct maple_naomi_jamma : maple_sega_controller
|
||||||
io_boards.emplace_back(new jvs_837_13938(1, this));
|
io_boards.emplace_back(new jvs_837_13938(1, this));
|
||||||
io_boards.emplace_back(new jvs_837_13551(2, this));
|
io_boards.emplace_back(new jvs_837_13551(2, this));
|
||||||
break;
|
break;
|
||||||
|
case JVS::OutTrigger:
|
||||||
|
io_boards.emplace_back(new jvs_837_13938(1, this));
|
||||||
|
io_boards.emplace_back(new jvs_837_13551_noanalog(2, this));
|
||||||
|
break;
|
||||||
case JVS::SegaMarineFishing:
|
case JVS::SegaMarineFishing:
|
||||||
io_boards.emplace_back(new jvs_837_13844(1, this));
|
io_boards.emplace_back(new jvs_837_13844(1, this));
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -367,12 +367,10 @@ void LoadSpecialSettings()
|
||||||
if (!strcmp("DYNAMIC GOLF", naomi_game_id)
|
if (!strcmp("DYNAMIC GOLF", naomi_game_id)
|
||||||
|| !strcmp("SHOOTOUT POOL", naomi_game_id)
|
|| !strcmp("SHOOTOUT POOL", naomi_game_id)
|
||||||
|| !strcmp("SHOOTOUT POOL MEDAL", naomi_game_id)
|
|| !strcmp("SHOOTOUT POOL MEDAL", naomi_game_id)
|
||||||
|| !strcmp("OUTTRIGGER JAPAN", naomi_game_id)
|
|
||||||
|| !strcmp("CRACKIN'DJ ver JAPAN", naomi_game_id)
|
|| !strcmp("CRACKIN'DJ ver JAPAN", naomi_game_id)
|
||||||
|| !strcmp("CRACKIN'DJ PART2 ver JAPAN", naomi_game_id)
|
|| !strcmp("CRACKIN'DJ PART2 ver JAPAN", naomi_game_id)
|
||||||
|| !strcmp("KICK '4' CASH", naomi_game_id)
|
|| !strcmp("KICK '4' CASH", naomi_game_id)
|
||||||
|| !strcmp("DRIVE", naomi_game_id) // Waiwai drive
|
|| !strcmp("DRIVE", naomi_game_id)) // Waiwai drive
|
||||||
|| !strcmp("BASS FISHING SIMULATOR VER.A", naomi_game_id))
|
|
||||||
{
|
{
|
||||||
INFO_LOG(BOOT, "Enabling JVS rotary encoders for game %s", naomi_game_id);
|
INFO_LOG(BOOT, "Enabling JVS rotary encoders for game %s", naomi_game_id);
|
||||||
settings.input.JammaSetup = JVS::RotaryEncoders;
|
settings.input.JammaSetup = JVS::RotaryEncoders;
|
||||||
|
@ -429,6 +427,12 @@ void LoadSpecialSettings()
|
||||||
INFO_LOG(BOOT, "Enabling keyboard for game %s", naomi_game_id);
|
INFO_LOG(BOOT, "Enabling keyboard for game %s", naomi_game_id);
|
||||||
settings.input.JammaSetup = JVS::Keyboard;
|
settings.input.JammaSetup = JVS::Keyboard;
|
||||||
}
|
}
|
||||||
|
else if (!strcmp("OUTTRIGGER JAPAN", naomi_game_id))
|
||||||
|
{
|
||||||
|
INFO_LOG(BOOT, "Enabling JVS rotary encoders for game %s", naomi_game_id);
|
||||||
|
settings.input.JammaSetup = JVS::OutTrigger;
|
||||||
|
}
|
||||||
|
|
||||||
if (!strcmp("COSMIC SMASH IN JAPAN", naomi_game_id))
|
if (!strcmp("COSMIC SMASH IN JAPAN", naomi_game_id))
|
||||||
{
|
{
|
||||||
INFO_LOG(BOOT, "Enabling translucent depth multipass for game %s", naomi_game_id);
|
INFO_LOG(BOOT, "Enabling translucent depth multipass for game %s", naomi_game_id);
|
||||||
|
|
|
@ -390,7 +390,8 @@ enum class JVS {
|
||||||
TouchDeUno,
|
TouchDeUno,
|
||||||
WorldKicks,
|
WorldKicks,
|
||||||
WorldKicksPCB,
|
WorldKicksPCB,
|
||||||
Keyboard
|
Keyboard,
|
||||||
|
OutTrigger
|
||||||
};
|
};
|
||||||
|
|
||||||
struct settings_t
|
struct settings_t
|
||||||
|
|
Loading…
Reference in New Issue