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_Create(MDT_NaomiJamma, 0, 5);
|
||||
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()
|
||||
|
@ -166,7 +172,7 @@ void mcfg_CreateAtomisWaveControllers()
|
|||
mcfg_Create(MDT_LightGun, 2, 5, 0);
|
||||
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
|
||||
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
|
||||
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_13551(2, this));
|
||||
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:
|
||||
io_boards.emplace_back(new jvs_837_13844(1, this));
|
||||
break;
|
||||
|
|
|
@ -367,12 +367,10 @@ void LoadSpecialSettings()
|
|||
if (!strcmp("DYNAMIC GOLF", naomi_game_id)
|
||||
|| !strcmp("SHOOTOUT POOL", 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 PART2 ver JAPAN", naomi_game_id)
|
||||
|| !strcmp("KICK '4' CASH", naomi_game_id)
|
||||
|| !strcmp("DRIVE", naomi_game_id) // Waiwai drive
|
||||
|| !strcmp("BASS FISHING SIMULATOR VER.A", naomi_game_id))
|
||||
|| !strcmp("DRIVE", naomi_game_id)) // Waiwai drive
|
||||
{
|
||||
INFO_LOG(BOOT, "Enabling JVS rotary encoders for game %s", naomi_game_id);
|
||||
settings.input.JammaSetup = JVS::RotaryEncoders;
|
||||
|
@ -429,6 +427,12 @@ void LoadSpecialSettings()
|
|||
INFO_LOG(BOOT, "Enabling keyboard for game %s", naomi_game_id);
|
||||
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))
|
||||
{
|
||||
INFO_LOG(BOOT, "Enabling translucent depth multipass for game %s", naomi_game_id);
|
||||
|
|
|
@ -390,7 +390,8 @@ enum class JVS {
|
|||
TouchDeUno,
|
||||
WorldKicks,
|
||||
WorldKicksPCB,
|
||||
Keyboard
|
||||
Keyboard,
|
||||
OutTrigger
|
||||
};
|
||||
|
||||
struct settings_t
|
||||
|
|
Loading…
Reference in New Issue