diff --git a/src/emu/inptport.c b/src/emu/inptport.c index cb7b1d67de0..5d55b8f5c31 100644 --- a/src/emu/inptport.c +++ b/src/emu/inptport.c @@ -108,6 +108,12 @@ #endif /* MESS */ +/* temporary: set this to 1 to enable the originally defined behavior that + a field specified via PORT_MODIFY which intersects a previously-defined + field completely wipes out the previous definition */ +#define INPUT_PORT_OVERRIDE_FULLY_NUKES_PREVIOUS 1 + + /*************************************************************************** CONSTANTS ***************************************************************************/ @@ -3066,7 +3072,7 @@ static void field_config_insert(input_field_config *field, input_port_value *dis config->mask &= ~field->mask; /* if the new entry fully overrides the previous one, we nuke */ - if (config->mask == 0) + if (INPUT_PORT_OVERRIDE_FULLY_NUKES_PREVIOUS || config->mask == 0) { field_config_free((input_field_config **)scanfieldptr); scanfieldnextptr = scanfieldptr;