validity.cpp: Limit characters allowed in I/O port tags, and check ROMs and I/O ports for devices individually.

This commit is contained in:
Vas Crabb 2020-08-27 22:02:57 +10:00
parent a25d5b8482
commit 32cdd2b5b9
19 changed files with 239 additions and 236 deletions

View File

@ -370,12 +370,12 @@ INPUT_PORTS_START( luxor_55_10828 )
PORT_DIPSETTING( 0x00, "44 (ABC 832/834/850)" )
PORT_DIPSETTING( 0x01, "45 (ABC 830)" )
PORT_START("S2,S3")
PORT_START("S2_S3")
PORT_DIPNAME( 0x01, 0x01, "Shift Clock" )
PORT_DIPSETTING( 0x00, "2 MHz" )
PORT_DIPSETTING( 0x01, "4 MHz" )
PORT_START("S4,S5")
PORT_START("S4_S5")
PORT_DIPNAME( 0x01, 0x01, "Write Precompensation" )
PORT_DIPSETTING( 0x00, "Always On" )
PORT_DIPSETTING( 0x01, "Programmable" )

View File

@ -32,7 +32,7 @@
There's a 15-word "cache" that the DSP can execute from without the
cost of instruction fetches. There's an instruction to cache the
next N instructions and repeat them M times, and in instruction to
next N instructions and repeat them M times, and an instruction to
execute the currently cached instructions M times. Interrupts are
not serviced while executing from cache, and not all instructions
can be cached.
@ -854,7 +854,7 @@ template <bool Debugger, bool Caching> inline void dsp16_device_base::execute_so
m_phase = phase::OP2;
break;
case 0x0e: // do K { instr1...instrIN } # redo K
case 0x0e: // do K { instr1...instrNI } # redo K
{
u16 const ni(op_ni(op));
if (ni)
@ -1601,7 +1601,7 @@ inline bool dsp16_device_base::op_interruptible(u16 op)
return true;
case 0x00: // goto JA
case 0x01:
case 0x0e: // do K { instre1...instrNI } # redo K
case 0x0e: // do K { instr1...instrNI } # redo K
case 0x10: // call JA
case 0x11:
case 0x18: // goto B

View File

@ -82,7 +82,7 @@ void validity_checker::validate_tag(const char *tag)
// scan for invalid characters
static char const *const validchars = "abcdefghijklmnopqrstuvwxyz0123456789_.:^$";
for (const char *p = tag; *p != 0; p++)
for (char const *p = tag; *p; ++p)
{
// only lower-case permitted
if (*p != tolower(u8(*p)))
@ -95,7 +95,7 @@ void validity_checker::validate_tag(const char *tag)
osd_printf_error("Tag '%s' contains spaces\n", tag);
break;
}
if (strchr(validchars, *p) == nullptr)
if (!strchr(validchars, *p))
{
osd_printf_error("Tag '%s' contains invalid character '%c'\n", tag, *p);
break;
@ -134,7 +134,6 @@ validity_checker::validity_checker(emu_options &options)
, m_warnings(0)
, m_print_verbose(options.verbose())
, m_current_driver(nullptr)
, m_current_config(nullptr)
, m_current_device(nullptr)
, m_current_ioport(nullptr)
, m_validate_all(false)
@ -293,7 +292,6 @@ void validity_checker::validate_one(const game_driver &driver)
// set the current driver
m_current_driver = &driver;
m_current_config = nullptr;
m_current_device = nullptr;
m_current_ioport = nullptr;
m_region_map.clear();
@ -309,12 +307,10 @@ void validity_checker::validate_one(const game_driver &driver)
try
{
machine_config config(driver, m_blank_options);
m_current_config = &config;
validate_driver();
validate_roms(m_current_config->root_device());
validate_inputs();
validate_devices();
m_current_config = nullptr;
validate_driver(config.root_device());
validate_roms(config.root_device());
validate_inputs(config.root_device());
validate_devices(config);
}
catch (emu_fatalerror &err)
{
@ -338,7 +334,6 @@ void validity_checker::validate_one(const game_driver &driver)
// reset the driver/device
m_current_driver = nullptr;
m_current_config = nullptr;
m_current_device = nullptr;
m_current_ioport = nullptr;
}
@ -1454,7 +1449,7 @@ void validity_checker::validate_rgb()
// information
//-------------------------------------------------
void validity_checker::validate_driver()
void validity_checker::validate_driver(device_t &root)
{
// check for duplicate names
if (!m_names_map.insert(std::make_pair(m_current_driver->name, m_current_driver)).second)
@ -1537,7 +1532,7 @@ void validity_checker::validate_driver()
device_t::feature_type const imperfect(m_current_driver->type.imperfect_features());
if (!(m_current_driver->flags & (machine_flags::IS_BIOS_ROOT | machine_flags::NO_SOUND_HW)) && !(unemulated & device_t::feature::SOUND))
{
sound_interface_iterator iter(m_current_config->root_device());
sound_interface_iterator iter(root);
if (!iter.first())
osd_printf_error("Driver is missing MACHINE_NO_SOUND or MACHINE_NO_SOUND_HW flag\n");
}
@ -1865,12 +1860,12 @@ void validity_checker::validate_condition(ioport_condition &condition, device_t
// validate_inputs - validate input configuration
//-------------------------------------------------
void validity_checker::validate_inputs()
void validity_checker::validate_inputs(device_t &root)
{
std::unordered_set<std::string> port_map;
// iterate over devices
for (device_t &device : device_iterator(m_current_config->root_device()))
for (device_t &device : device_iterator(root))
{
// see if this device has ports; if not continue
if (device.input_ports() == nullptr)
@ -1898,6 +1893,22 @@ void validity_checker::validate_inputs()
{
m_current_ioport = port.second->tag();
// scan for invalid characters
static char const *const validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.:^$";
for (char const *p = m_current_ioport; *p; ++p)
{
if (*p == ' ')
{
osd_printf_error("Tag '%s' contains spaces\n", m_current_ioport);
break;
}
if (!strchr(validchars, *p))
{
osd_printf_error("Tag '%s' contains invalid character '%c'\n", m_current_ioport, *p);
break;
}
}
// iterate through the fields on this port
for (ioport_field &field : port.second->fields())
{
@ -1992,11 +2003,11 @@ void validity_checker::validate_inputs()
// checks
//-------------------------------------------------
void validity_checker::validate_devices()
void validity_checker::validate_devices(machine_config &config)
{
std::unordered_set<std::string> device_map;
for (device_t &device : device_iterator(m_current_config->root_device()))
for (device_t &device : device_iterator(config.root_device()))
{
// track the current device
m_current_device = &device;
@ -2030,8 +2041,8 @@ void validity_checker::validate_devices()
device_t *card;
{
machine_config::token const tok(m_current_config->begin_configuration(slot->device()));
card = m_current_config->device_add(option.second->name(), option.second->devtype(), option.second->clock());
machine_config::token const tok(config.begin_configuration(slot->device()));
card = config.device_add(option.second->name(), option.second->devtype(), option.second->clock());
const char *const def_bios = option.second->default_bios();
if (def_bios)
@ -2049,8 +2060,8 @@ void validity_checker::validate_devices()
device_slot_interface::slot_option const *suboption = subslot.option(subslot.default_option());
if (suboption)
{
machine_config::token const tok(m_current_config->begin_configuration(subslot.device()));
device_t *const sub_card = m_current_config->device_add(suboption->name(), suboption->devtype(), suboption->clock());
machine_config::token const tok(config.begin_configuration(subslot.device()));
device_t *const sub_card = config.device_add(suboption->name(), suboption->devtype(), suboption->clock());
const char *const sub_bios = suboption->default_bios();
if (sub_bios)
sub_card->set_default_bios_tag(sub_bios);
@ -2073,8 +2084,8 @@ void validity_checker::validate_devices()
m_current_device = nullptr;
}
machine_config::token const tok(m_current_config->begin_configuration(slot->device()));
m_current_config->device_remove(option.second->name());
machine_config::token const tok(config.begin_configuration(slot->device()));
config.device_remove(option.second->name());
}
}
}
@ -2100,7 +2111,7 @@ void validity_checker::validate_device_types()
machine_config::token const tok(config.begin_configuration(config.root_device()));
for (device_type type : registered_device_types)
{
device_t *const dev = config.device_add("_tmp", type, 0);
device_t *const dev = config.device_add(type.shortname(), type, 0);
char const *name((dev->shortname() && *dev->shortname()) ? dev->shortname() : type.type().name());
std::string const description((dev->source() && *dev->source()) ? util::string_format("%s(%s)", core_filename_extract_base(dev->source()).c_str(), name) : name);
@ -2188,7 +2199,12 @@ void validity_checker::validate_device_types()
if (unemulated & imperfect)
osd_printf_error("Device cannot have features that are both unemulated and imperfect (0x%08lX)\n", static_cast<unsigned long>(unemulated & imperfect));
config.device_remove("_tmp");
// give devices some of the same scrutiny that drivers get, necessary for cards not default for any slots
validate_roms(*dev);
validate_inputs(*dev);
// remove the device in preparation for re-using the machine configuration
config.device_remove(type.shortname());
}
// if we had warnings or errors, output

View File

@ -72,13 +72,13 @@ private:
void validate_core();
void validate_inlines();
void validate_rgb();
void validate_driver();
void validate_driver(device_t &root);
void validate_roms(device_t &root);
void validate_analog_input_field(ioport_field &field);
void validate_dip_settings(ioport_field &field);
void validate_condition(ioport_condition &condition, device_t &device, std::unordered_set<std::string> &port_map);
void validate_inputs();
void validate_devices();
void validate_inputs(device_t &root);
void validate_devices(machine_config &config);
void validate_device_types();
// output helpers
@ -114,7 +114,6 @@ private:
// current state
const game_driver * m_current_driver;
machine_config * m_current_config;
const device_t * m_current_device;
const char * m_current_ioport;
int_map m_region_map;

View File

@ -208,7 +208,7 @@ void brkthru_state::brkthru_map(address_map &map)
map(0x1800, 0x1800).portr("P1");
map(0x1801, 0x1801).portr("P2");
map(0x1802, 0x1802).portr("DSW1");
map(0x1803, 0x1803).portr("DSW2/COIN");
map(0x1803, 0x1803).portr("DSW2_COIN");
map(0x1800, 0x1801).w(FUNC(brkthru_state::brkthru_1800_w)); /* bg scroll and color, ROM bank selection, flip screen */
map(0x1802, 0x1802).w(m_soundlatch, FUNC(generic_latch_8_device::write));
map(0x1803, 0x1803).w(FUNC(brkthru_state::brkthru_1803_w)); /* NMI enable, + ? */
@ -227,7 +227,7 @@ void brkthru_state::darwin_map(address_map &map)
map(0x0800, 0x0800).portr("P1");
map(0x0801, 0x0801).portr("P2");
map(0x0802, 0x0802).portr("DSW1");
map(0x0803, 0x0803).portr("DSW2/COIN");
map(0x0803, 0x0803).portr("DSW2_COIN");
map(0x0800, 0x0801).w(FUNC(brkthru_state::brkthru_1800_w)); /* bg scroll and color, ROM bank selection, flip screen */
map(0x0802, 0x0802).w(m_soundlatch, FUNC(generic_latch_8_device::write));
map(0x0803, 0x0803).w(FUNC(brkthru_state::darwin_0803_w)); /* NMI enable, + ? */
@ -297,7 +297,7 @@ static INPUT_PORTS_START( brkthru )
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) )
PORT_START("DSW2/COIN")
PORT_START("DSW2_COIN")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x02, "2" )
PORT_DIPSETTING( 0x03, "3" )
@ -324,7 +324,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( brkthruj )
PORT_INCLUDE( brkthru )
PORT_MODIFY("DSW2/COIN")
PORT_MODIFY("DSW2_COIN")
PORT_SERVICE_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW2:5" )
INPUT_PORTS_END
@ -341,7 +341,7 @@ static INPUT_PORTS_START( darwin )
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW1:8" ) /* Manual says must be OFF */
PORT_MODIFY("DSW2/COIN") /* modified by Shingo Suzuki 1999/11/02 */
PORT_MODIFY("DSW2_COIN") /* modified by Shingo Suzuki 1999/11/02 */
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, "3" )
PORT_DIPSETTING( 0x00, "5" )

View File

@ -13,11 +13,13 @@
#include "screen.h"
#include <algorithm>
uint8_t busicom_state::get_bit_selected(uint32_t val,int num)
uint8_t busicom_state::get_bit_selected(uint32_t val, int num)
{
for(int i=0;i<num;i++)
if (BIT(val,i)==0)
for (int i = 0; i < num; i++)
if (!BIT(val, i))
return i;
return 0;
@ -31,9 +33,9 @@ uint8_t busicom_state::keyboard_r()
uint8_t busicom_state::printer_r()
{
uint8_t retVal = 0;
if (m_drum_index==0)
if (m_drum_index == 0)
retVal |= 1;
retVal |= ioport("PAPERADV")->read() & 1 ? 8 : 0;
retVal |= (ioport("PAPERADV")->read() & 1) ? 8 : 0;
return retVal;
}
@ -41,66 +43,59 @@ uint8_t busicom_state::printer_r()
void busicom_state::shifter_w(uint8_t data)
{
// FIXME: detect edges, maybe make 4003 shifter a device
if (BIT(data,0))
if (BIT(data, 0))
{
m_keyboard_shifter <<= 1;
m_keyboard_shifter |= BIT(data,1);
m_keyboard_shifter |= BIT(data, 1);
}
if (BIT(data,2))
if (BIT(data, 2))
{
m_printer_shifter <<= 1;
m_printer_shifter |= BIT(data,1);
m_printer_shifter |= BIT(data, 1);
}
}
void busicom_state::printer_w(uint8_t data)
{
u8 i,j;
if (BIT(data,0))
if (BIT(data, 0))
{
logerror("color : %02x %02x %d\n",BIT(data,0),data,m_drum_index);
logerror("color : %02x %02x %d\n", BIT(data, 0), data, m_drum_index);
m_printer_line_color[10] = 1;
}
if (BIT(data,1))
if (BIT(data, 1))
{
for(i=3;i<18;i++)
if(BIT(m_printer_shifter,i))
m_printer_line[10][i-3] = m_drum_index + 1;
for (u8 i = 3; i < 18; i++)
if (BIT(m_printer_shifter, i))
m_printer_line[10][i - 3] = m_drum_index + 1;
if(BIT(m_printer_shifter,0))
if (BIT(m_printer_shifter, 0))
m_printer_line[10][15] = m_drum_index + 13 + 1;
if(BIT(m_printer_shifter,1))
if (BIT(m_printer_shifter, 1))
m_printer_line[10][16] = m_drum_index + 26 + 1;
}
if (BIT(data,3))
if (BIT(data, 3))
{
for(j=0;j<10;j++)
{
for(i=0;i<17;i++)
{
m_printer_line[j][i] = m_printer_line[j+1][i];
m_printer_line_color[j] = m_printer_line_color[j+1];
}
}
for(i=0;i<17;i++)
m_printer_line[10][i] = 0;
for (u8 j = 0; j < (ARRAY_LENGTH(m_printer_line) - 1); j++)
std::copy(std::begin(m_printer_line[j + 1]), std::end(m_printer_line[j + 1]), std::begin(m_printer_line[j]));
std::copy_n(&m_printer_line_color[1], ARRAY_LENGTH(m_printer_line_color) - 1, &m_printer_line_color[0]);
std::fill(std::begin(m_printer_line[10]), std::end(m_printer_line[10]), 0);
m_printer_line_color[10] = 0;
}
}
void busicom_state::status_w(uint8_t data)
{
#if 0
uint8_t mem_lamp = BIT(data,0);
uint8_t over_lamp = BIT(data,1);
uint8_t minus_lamp = BIT(data,2);
uint8_t mem_lamp = BIT(data, 0);
uint8_t over_lamp = BIT(data, 1);
uint8_t minus_lamp = BIT(data, 2);
#endif
//logerror("status %c %c %c\n",mem_lamp ? 'M':'x',over_lamp ? 'O':'x',minus_lamp ? '-':'x');
//logerror("status %c %c %c\n", mem_lamp ? 'M':'x', over_lamp ? 'O':'x', minus_lamp ? '-':'x');
}
void busicom_state::printer_ctrl_w(uint8_t data)
@ -224,20 +219,13 @@ void busicom_state::machine_start()
void busicom_state::machine_reset()
{
int i,j;
m_drum_index =0;
m_drum_index = 0;
m_keyboard_shifter = 0;
m_printer_shifter = 0;
for(i=0;i<17;i++)
{
for(j=0;j<11;j++)
{
m_printer_line[j][i] = 0;
m_printer_line_color[j] = 0;
}
}
for (int i = 0; i < ARRAY_LENGTH(m_printer_line); i++)
std::fill(std::begin(m_printer_line[i]), std::end(m_printer_line[i]), 0);
std::fill(std::begin(m_printer_line_color), std::end(m_printer_line_color), 0);
}
void busicom_state::busicom(machine_config &config)

View File

@ -48,7 +48,7 @@ public:
m_bank2(*this, "bank2"),
m_io_ports(*this, {"LINE7", "LINE6", "LINE5", "LINE4", "LINE3", "LINE2", "LINE1", "LINE0", "LINE8"}),
m_io_line9(*this, "LINE9"),
m_io_network_id(*this, "NETWORK ID")
m_io_network_id(*this, "NETWORK_ID")
{
}
@ -499,7 +499,7 @@ static INPUT_PORTS_START( elwro800 )
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("P1 Joystick Up") PORT_CODE(JOYCODE_Y_UP_SWITCH)
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("P1 Joystick Fire") PORT_CODE(JOYCODE_BUTTON1)
PORT_START("NETWORK ID")
PORT_START("NETWORK_ID")
PORT_DIPNAME( 0x3f, 0x01, "Computer network ID" )
PORT_DIPSETTING( 0x01, "1" )
PORT_DIPSETTING( 0x10, "16" )

View File

@ -172,8 +172,8 @@ uint8_t borntofi_state::inputs_r(offs_t offset)
// Trackball
x = ioport(offset ? "P2 Trackball X" : "P1 Trackball X")->read();
y = ioport(offset ? "P2 Trackball Y" : "P1 Trackball Y")->read();
x = ioport(offset ? "P2-TRK.X" : "P1-TRK.X")->read();
y = ioport(offset ? "P2-TRK.Y" : "P1-TRK.Y")->read();
f = m_screen->frame_number();
m_input_ret[offset] = (m_input_ret[offset] & 0x14) | (ioport(offset ? "P2_TRACK" : "P1_TRACK")->read() & 0xc3);
@ -227,10 +227,10 @@ void borntofi_state::main_map(address_map &map)
map(0x54000, 0x567ff).ram().share("spriteram");
map(0x57000, 0x57000).portr("P1 Lightgun Y");
map(0x57001, 0x57001).portr("P1 Lightgun X");
map(0x57002, 0x57002).portr("P2 Lightgun Y");
map(0x57003, 0x57003).portr("P2 Lightgun X");
map(0x57000, 0x57000).portr("P1-GUN.Y");
map(0x57001, 0x57001).portr("P1-GUN.X");
map(0x57002, 0x57002).portr("P2-GUN.Y");
map(0x57003, 0x57003).portr("P2-GUN.X");
map(0x60000, 0x6ffff).ram().share("spriteram2");
@ -655,28 +655,28 @@ static INPUT_PORTS_START( borntofi )
PORT_DIPUNUSED_DIPLOC( 0x40, 0x0040, "DSW2:7" )
PORT_DIPUNUSED_DIPLOC( 0x80, 0x0080, "DSW2:8" )
PORT_START("P1 Lightgun Y") /* 57000 */
PORT_START("P1-GUN.Y") /* 57000 */
PORT_BIT( 0xff, 0xb0, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, (352.0 - 12) / 352, 12.0 / 352, 0) PORT_MINMAX(0x80,0xfc) PORT_SENSITIVITY(100) PORT_KEYDELTA(5) PORT_PLAYER(1)
PORT_START("P1 Lightgun X") /* 57001 */
PORT_START("P1-GUN.X") /* 57001 */
PORT_BIT( 0xff, 0x60, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_MINMAX(0x07,0xb7) PORT_SENSITIVITY(100) PORT_KEYDELTA(5) PORT_PLAYER(1)
PORT_START("P2 Lightgun Y") /* 57002 */
PORT_START("P2-GUN.Y") /* 57002 */
PORT_BIT( 0xff, 0xb0, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, (352.0 - 12) / 352, 12.0 / 352, 0) PORT_MINMAX(0x80,0xfc) PORT_SENSITIVITY(100) PORT_KEYDELTA(5) PORT_PLAYER(2)
PORT_START("P2 Lightgun X") /* 57003 */
PORT_START("P2-GUN.X") /* 57003 */
PORT_BIT( 0xff, 0x70, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_MINMAX(0x07,0xb7) PORT_SENSITIVITY(100) PORT_KEYDELTA(5) PORT_PLAYER(2)
PORT_START("P1 Trackball Y") /* 53000 */
PORT_START("P1-TRK.Y") /* 53000 */
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(10) PORT_KEYDELTA(5) PORT_PLAYER(1) PORT_RESET
PORT_START("P1 Trackball X") /* 53000 */
PORT_START("P1-TRK.X") /* 53000 */
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(10) PORT_KEYDELTA(5) PORT_PLAYER(1) PORT_RESET
PORT_START("P2 Trackball Y") /* 53001 */
PORT_START("P2-TRK.Y") /* 53001 */
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(10) PORT_KEYDELTA(5) PORT_PLAYER(2)
PORT_START("P2 Trackball X") /* 53001 */
PORT_START("P2-TRK.X") /* 53001 */
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(10) PORT_KEYDELTA(5) PORT_PLAYER(2)
INPUT_PORTS_END

View File

@ -253,7 +253,7 @@ uint16_t jpmimpct_state::duart_1_r(offs_t offset)
}
case 0xd:
{
val = ioport("TEST/DEMO")->read();
val = ioport("TEST_DEMO")->read();
break;
}
case 0xe:
@ -703,7 +703,7 @@ static INPUT_PORTS_START( common )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_TOGGLE PORT_NAME( "Cash Door" )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) PORT_TOGGLE PORT_NAME( "Refill Key" )
PORT_START("TEST/DEMO")
PORT_START("TEST_DEMO")
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE4 ) PORT_NAME( "Test/Demo" )
INPUT_PORTS_END
@ -1287,7 +1287,7 @@ INPUT_PORTS_START( tbirds )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_TOGGLE PORT_NAME( "Cash Door" )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) PORT_TOGGLE PORT_NAME( "Refill Key" )
PORT_START("TEST/DEMO")
PORT_START("TEST_DEMO")
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE4 ) PORT_NAME( "Test/Demo" )
PORT_START("COINS")

View File

@ -513,8 +513,8 @@ CUSTOM_INPUT_MEMBER(ms32_state::mahjong_ctrl_r)
u32 ms32_state::ms32_read_inputs3()
{
int a,b,c,d;
a = ioport("AN2?")->read(); // unused?
b = ioport("AN2?")->read(); // unused?
a = ioport("AN2")->read(); // unused?
b = ioport("AN2")->read(); // unused?
c = ioport("AN1")->read();
d = (ioport("AN0")->read() - 0xb0) & 0xff;
return a << 24 | b << 16 | c << 8 | d << 0;
@ -1524,7 +1524,7 @@ static INPUT_PORTS_START( f1superb )
PORT_START("AN1") // Steering
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_PLAYER(1)
PORT_START("AN2?") // Shift + Brake
PORT_START("AN2") // Shift + Brake (AN2?)
PORT_DIPNAME( 0x80, 0x80, "Shift Brake" ) // ???
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )

View File

@ -1727,7 +1727,7 @@ void ngarcade_base_state::neogeo_main_map(address_map &map)
// some games have protection devices in the 0x200000 region, it appears to map to cart space, not surprising, the ROM is read here too
map(0x300001, 0x300001).mirror(0x01fffe).w("watchdog", FUNC(watchdog_timer_device::reset_w));
map(0x300080, 0x300081).mirror(0x01ff7e).portr("TEST");
map(0x320000, 0x320001).mirror(0x01fffe).portr("AUDIO/COIN");
map(0x320000, 0x320001).mirror(0x01fffe).portr("AUDIO_COIN");
map(0x380000, 0x380001).mirror(0x01fffe).portr("SYSTEM");
map(0x800000, 0x800fff).r(FUNC(ngarcade_base_state::unmapped_r)); // memory card mapped here if present
map(0xc00000, 0xc1ffff).mirror(0x0e0000).rom().region("mainbios", 0);
@ -1841,7 +1841,7 @@ INPUT_PORTS_START( neogeo )
PORT_BIT( 0x7000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(neogeo_base_state, get_memcard_status)
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_CUSTOM ) // Hardware type (AES=0, MVS=1). Some games check this and show a piracy warning screen if the hardware and BIOS don't match
PORT_START("AUDIO/COIN")
PORT_START("AUDIO_COIN")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) // coin 1 (combined) or P1 coin 1 (separate) for BIOS that supports it
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) // coin 2 (combined) or P2 coin 1 (separate) for BIOS that supports it
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
@ -1866,7 +1866,7 @@ static INPUT_PORTS_START( neogeo_mvs )
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Next Game") PORT_CODE(KEYCODE_3)
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Previous Game") PORT_CODE(KEYCODE_4)
PORT_MODIFY("AUDIO/COIN")
PORT_MODIFY("AUDIO_COIN")
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_COIN3 ) // P1 coin 2 (separate) for BIOS that supports it
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_COIN4 ) // P2 coin 2 (separate) for BIOS that supports it
@ -1877,7 +1877,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( neogeo_mvs6 )
PORT_INCLUDE( neogeo_mvs )
PORT_MODIFY("AUDIO/COIN")
PORT_MODIFY("AUDIO_COIN")
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_CUSTOM ) // sense: 6-slot
INPUT_PORTS_END
@ -3017,7 +3017,7 @@ static INPUT_PORTS_START( vliner )
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* this bit is used.. */
PORT_MODIFY("AUDIO/COIN")
PORT_MODIFY("AUDIO_COIN")
PORT_BIT( 0x003f, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("IN5")

View File

@ -458,14 +458,14 @@ public:
m_inp2(*this, "W14"),
m_inp3(*this, "W15"),
m_inp4(*this, "W18"),
m_inp5(*this, "DEC HARD DISK"), // DO NOT CHANGE ORDER
m_inp6(*this, "CORVUS HARD DISKS"), // DO NOT CHANGE ORDER
m_inp7(*this, "GRAPHICS OPTION"), // DO NOT CHANGE ORDER
m_inp9(*this, "MONO MONITOR TYPE"),
m_inp5(*this, "DEC_HARD_DISK"), // DO NOT CHANGE ORDER
m_inp6(*this, "CORVUS_HARD_DISKS"), // DO NOT CHANGE ORDER
m_inp7(*this, "GRAPHICS_OPTION"), // DO NOT CHANGE ORDER
m_inp9(*this, "MONO_MONITOR_TYPE"),
m_inp10(*this, "J17"),
m_inp11(*this, "CLIKCLOK"),
m_inp12(*this, "WATCHDOG"),
m_inp13(*this, "MONITOR CONFIGURATION"),
m_inp13(*this, "MONITOR_CONFIGURATION"),
m_crtc(*this, "vt100_video"),
@ -1093,7 +1093,7 @@ void rainbow_base_state::rainbowz80_io(address_map &map)
/* DIP switches */
static INPUT_PORTS_START(rainbow100b_in)
PORT_START("MONO MONITOR TYPE")
PORT_START("MONO_MONITOR_TYPE")
PORT_DIPNAME(0x03, 0x03, "MONO MONITOR TYPE")
PORT_DIPSETTING(0x01, "WHITE (VR201-A)")
PORT_DIPSETTING(0x02, "GREEN (VR201-B)")
@ -1102,12 +1102,12 @@ static INPUT_PORTS_START(rainbow100b_in)
// FLOPPY, BUNDLE, GRAPHICS affect 'system_parameter_r':
// EXT.COMM.card -or- RD51 HD. controller (marketed later).
PORT_START("DEC HARD DISK") // BUNDLE_OPTION
PORT_START("DEC_HARD_DISK") // BUNDLE_OPTION
PORT_DIPNAME(0x01, 0x00, "DEC HARD DISK (#1)") PORT_TOGGLE
PORT_DIPSETTING(0x00, DEF_STR(Off))
PORT_DIPSETTING(0x01, DEF_STR(On))
PORT_START("CORVUS HARD DISKS")
PORT_START("CORVUS_HARD_DISKS")
PORT_DIPNAME(0x01, 0x00, "CORVUS HARD DISKS (#2 to #5)") PORT_TOGGLE
PORT_DIPSETTING(0x00, DEF_STR(Off))
PORT_DIPSETTING(0x01, DEF_STR(On))
@ -1117,7 +1117,7 @@ static INPUT_PORTS_START(rainbow100b_in)
PORT_DIPSETTING(0x00, DEF_STR(Off))
PORT_DIPSETTING(0x01, DEF_STR(On))
PORT_START("GRAPHICS OPTION") // GDC
PORT_START("GRAPHICS_OPTION") // GDC
PORT_DIPNAME(0x01, 0x00, "GRAPHICS OPTION") PORT_TOGGLE
PORT_DIPSETTING(0x00, DEF_STR(Off))
PORT_DIPSETTING(0x01, DEF_STR(On))
@ -1154,7 +1154,7 @@ static INPUT_PORTS_START(rainbow100b_in)
PORT_DIPSETTING(0x00, DEF_STR(Off))
PORT_DIPSETTING(0x01, DEF_STR(On))
PORT_START("MONITOR CONFIGURATION") // GDC
PORT_START("MONITOR_CONFIGURATION") // GDC
PORT_DIPNAME(0x0F, 0x04, "MONITOR CONFIGURATION")
PORT_DIPSETTING(0x04, "AUTODETECT")
PORT_DIPSETTING(0x01, "MONO ONLY / 4 to 16 monochrome shades (single VR-201)")

View File

@ -1098,8 +1098,8 @@ void subsino2_state::new2001_base_map(address_map &map)
map(0xa00020, 0xa00025).w(FUNC(subsino2_state::ss9601_scroll_w));
map(0xc00000, 0xc00001).portr("DSW");
map(0xc00002, 0xc00003).portr("IN C");
map(0xc00004, 0xc00005).portr("IN AB");
map(0xc00002, 0xc00003).portr("IN-C");
map(0xc00004, 0xc00005).portr("IN-AB");
map(0xc00006, 0xc00007).r(FUNC(subsino2_state::bishjan_serial_r));
}
@ -1298,10 +1298,10 @@ void subsino2_state::mtrain_map(address_map &map)
map(0x0912f, 0x0912f).w(FUNC(subsino2_state::ss9601_byte_lo_w));
map(0x09140, 0x09142).w(FUNC(subsino2_state::mtrain_outputs_w)).share("outputs");
map(0x09143, 0x09143).portr("IN D"); // (not shown in system test) 0x40 serial out, 0x80 serial in
map(0x09144, 0x09144).portr("IN A"); // A
map(0x09145, 0x09145).portr("IN B"); // B
map(0x09146, 0x09146).portr("IN C"); // C
map(0x09143, 0x09143).portr("IN-D"); // (not shown in system test) 0x40 serial out, 0x80 serial in
map(0x09144, 0x09144).portr("IN-A"); // A
map(0x09145, 0x09145).portr("IN-B"); // B
map(0x09146, 0x09146).portr("IN-C"); // C
map(0x09147, 0x09147).r(FUNC(subsino2_state::dsw_r));
map(0x09148, 0x09148).w(FUNC(subsino2_state::dsw_mask_w));
@ -1397,10 +1397,10 @@ void subsino2_state::saklove_io(address_map &map)
map(0x0220, 0x0225).w(FUNC(subsino2_state::ss9601_scroll_w));
map(0x0300, 0x0303).w(FUNC(subsino2_state::saklove_outputs_w)).share("outputs");
map(0x0303, 0x0303).portr("IN D"); // 0x40 serial out, 0x80 serial in
map(0x0304, 0x0304).portr("IN A");
map(0x0305, 0x0305).portr("IN B");
map(0x0306, 0x0306).portr("IN C");
map(0x0303, 0x0303).portr("IN-D"); // 0x40 serial out, 0x80 serial in
map(0x0304, 0x0304).portr("IN-A");
map(0x0305, 0x0305).portr("IN-B");
map(0x0306, 0x0306).portr("IN-C");
map(0x0307, 0x0307).r(FUNC(subsino2_state::dsw_r));
map(0x0308, 0x0308).w(FUNC(subsino2_state::dsw_mask_w));
@ -1504,10 +1504,10 @@ void subsino2_state::xplan_common_io(address_map &map)
map(0x0300, 0x0300).r(FUNC(subsino2_state::vblank_bit6_r)).w(FUNC(subsino2_state::oki_bank_bit4_w));
map(0x0301, 0x0301).w(FUNC(subsino2_state::dsw_mask_w));
map(0x0302, 0x0302).r(FUNC(subsino2_state::dsw_r));
map(0x0303, 0x0303).portr("IN C");
map(0x0304, 0x0304).portr("IN B");
map(0x0305, 0x0305).portr("IN A");
map(0x0306, 0x0306).portr("IN D"); // 0x40 serial out, 0x80 serial in
map(0x0303, 0x0303).portr("IN-C");
map(0x0304, 0x0304).portr("IN-B");
map(0x0305, 0x0305).portr("IN-A");
map(0x0306, 0x0306).portr("IN-D"); // 0x40 serial out, 0x80 serial in
}
void subsino2_state::xplan_io(address_map &map)
@ -1718,7 +1718,7 @@ static INPUT_PORTS_START( new2001 )
// high byte related to sound communication
// JAMMA inputs:
PORT_START("IN C") // c00002
PORT_START("IN-C") // c00002
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -1729,7 +1729,7 @@ static INPUT_PORTS_START( new2001 )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
// high byte not read
PORT_START("IN AB") // c00004
PORT_START("IN-AB") // c00004
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_IMPULSE(1) // service mode (press twice for inputs)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 / Black")
@ -1766,7 +1766,7 @@ static INPUT_PORTS_START( humlan )
// high byte related to sound communication
// JAMMA inputs:
PORT_START("IN C") // c00002
PORT_START("IN-C") // c00002
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_IMPULSE(1) // service mode (press twice for inputs)
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN ) // ?
@ -1777,7 +1777,7 @@ static INPUT_PORTS_START( humlan )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
// high byte not read
PORT_START("IN AB") // c00004
PORT_START("IN-AB") // c00004
// 1st-type panel
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -1823,7 +1823,7 @@ static INPUT_PORTS_START( expcard )
PORT_START("DSW4")
// not populated
PORT_START("IN A")
PORT_START("IN-A")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -1833,7 +1833,7 @@ static INPUT_PORTS_START( expcard )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Small") // hold 4 / small / decrease sample in test mode
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1 / Bet") // hold 1 / bet
PORT_START("IN B")
PORT_START("IN-B")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Take" ) // hold 2 / take
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 / Double Up" ) // hold 3 / double up
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -1843,7 +1843,7 @@ static INPUT_PORTS_START( expcard )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) // coin in
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("IN C")
PORT_START("IN-C")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // stats (keep pressed during boot for service mode)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) // cancel?
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -1853,7 +1853,7 @@ static INPUT_PORTS_START( expcard )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_IMPULSE(1) // service mode
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("IN D")
PORT_START("IN-D")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -1970,7 +1970,7 @@ static INPUT_PORTS_START( mtrain )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START("IN A")
PORT_START("IN-A")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -1980,7 +1980,7 @@ static INPUT_PORTS_START( mtrain )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("IN B")
PORT_START("IN-B")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_IMPULSE(5) // key in
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) // coin in
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -1990,7 +1990,7 @@ static INPUT_PORTS_START( mtrain )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // payout (hopper error)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) // key out
PORT_START("IN C")
PORT_START("IN-C")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_NAME("Stop 3 / Small")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -2000,7 +2000,7 @@ static INPUT_PORTS_START( mtrain )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_NAME("Stop 1 / Take")
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("IN D") // not shown in test mode
PORT_START("IN-D") // not shown in test mode
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -2120,7 +2120,7 @@ static INPUT_PORTS_START( strain ) // inputs need verifying
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START("IN A")
PORT_START("IN-A")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -2130,7 +2130,7 @@ static INPUT_PORTS_START( strain ) // inputs need verifying
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("IN B")
PORT_START("IN-B")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_IMPULSE(5) // key in
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) // coin in
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -2140,7 +2140,7 @@ static INPUT_PORTS_START( strain ) // inputs need verifying
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // payout (hopper error)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) // key out
PORT_START("IN C")
PORT_START("IN-C")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_NAME("Stop 3")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -2150,7 +2150,7 @@ static INPUT_PORTS_START( strain ) // inputs need verifying
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_NAME("Stop 1 / Take")
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("IN D") // not shown in test mode
PORT_START("IN-D") // not shown in test mode
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -2270,7 +2270,7 @@ static INPUT_PORTS_START( tbonusal ) // inputs need verifying
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START("IN A")
PORT_START("IN-A")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -2280,7 +2280,7 @@ static INPUT_PORTS_START( tbonusal ) // inputs need verifying
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("IN B")
PORT_START("IN-B")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_IMPULSE(5) // key in
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) // coin in
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -2290,7 +2290,7 @@ static INPUT_PORTS_START( tbonusal ) // inputs need verifying
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // payout (hopper error)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) // key out
PORT_START("IN C")
PORT_START("IN-C")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_NAME("Stop 3")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -2300,7 +2300,7 @@ static INPUT_PORTS_START( tbonusal ) // inputs need verifying
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_NAME("Stop 1 / Take")
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("IN D") // not shown in test mode
PORT_START("IN-D") // not shown in test mode
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -2401,7 +2401,7 @@ static INPUT_PORTS_START( saklove )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
PORT_START("IN A")
PORT_START("IN-A")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Bet 1")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Bet 2")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Bet 3")
@ -2411,7 +2411,7 @@ static INPUT_PORTS_START( saklove )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Big or Small 1")
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Bet Amount") // 1-5-10
PORT_START("IN B")
PORT_START("IN-B")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START2 ) // selects music in system test / exit
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) // top 10? / double up?
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // used?
@ -2421,7 +2421,7 @@ static INPUT_PORTS_START( saklove )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // used?
PORT_START("IN C")
PORT_START("IN-C")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Statistics")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // used?
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -2431,7 +2431,7 @@ static INPUT_PORTS_START( saklove )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_IMPULSE(2) // service mode
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // used?
PORT_START("IN D") // bits 3 and 4 shown in test mode
PORT_START("IN-D") // bits 3 and 4 shown in test mode
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -2551,7 +2551,7 @@ static INPUT_PORTS_START( treacity )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START("IN A")
PORT_START("IN-A")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Bet 1")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Bet 2")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Bet 3")
@ -2561,7 +2561,7 @@ static INPUT_PORTS_START( treacity )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Big or Small 1")
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Bet Amount") // 1-5-10
PORT_START("IN B")
PORT_START("IN-B")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START2 ) // selects music in system test / exit
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) // top 10? / double up?
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // used?
@ -2571,7 +2571,7 @@ static INPUT_PORTS_START( treacity )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // used?
PORT_START("IN C")
PORT_START("IN-C")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Statistics")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // used?
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -2581,7 +2581,7 @@ static INPUT_PORTS_START( treacity )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_IMPULSE(2) // service mode
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // used?
PORT_START("IN D") // bits 3 and 4 shown in test mode
PORT_START("IN-D") // bits 3 and 4 shown in test mode
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -2619,7 +2619,7 @@ static INPUT_PORTS_START( xplan )
// not populated
// JAMMA inputs:
PORT_START("IN A")
PORT_START("IN-A")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("A / Play Gambling 1") // A \__ play gambling game
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("C / Play Gambling 2") // C /
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("B / Play Shoot'Em Up") // B ___ play shoot'em up game
@ -2629,7 +2629,7 @@ static INPUT_PORTS_START( xplan )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 / Small") // hold 3 / small / decrease sample in test mode
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Bet") // hold 5 / bet
PORT_START("IN B")
PORT_START("IN-B")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Re-Double" ) // hold 4 / re-double?
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Double Up / Right") // hold 2 / double up? / right
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Raise") PORT_CODE(KEYCODE_N) // raise
@ -2639,7 +2639,7 @@ static INPUT_PORTS_START( xplan )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) // coin in
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("IN C")
PORT_START("IN-C")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // stats (keep pressed during boot for service mode)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -2649,7 +2649,7 @@ static INPUT_PORTS_START( xplan )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_IMPULSE(1) // service mode
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // pay-out
PORT_START("IN D") // bits 3 and 4 shown in test mode
PORT_START("IN-D") // bits 3 and 4 shown in test mode
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -2685,7 +2685,7 @@ static INPUT_PORTS_START( xtrain )
// not populated
// JAMMA inputs:
PORT_START("IN A")
PORT_START("IN-A")
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Re-Double") PORT_CODE(KEYCODE_N)
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_GAMBLE_HALF) PORT_NAME("Half Double")
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_UNKNOWN)
@ -2695,7 +2695,7 @@ static INPUT_PORTS_START( xtrain )
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_POKER_HOLD3) PORT_NAME("Hold 3 / Small")
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BET) PORT_NAME("Bet")
PORT_START("IN B")
PORT_START("IN-B")
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1) PORT_NAME("Hold 1 / Take" )
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP) PORT_NAME("Double Up / Help")
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_UNKNOWN)
@ -2705,7 +2705,7 @@ static INPUT_PORTS_START( xtrain )
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_COIN1) PORT_NAME("Coin In")
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNKNOWN)
PORT_START("IN C")
PORT_START("IN-C")
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK) // keep pressed during boot for service mode
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT)
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_UNKNOWN)
@ -2715,7 +2715,7 @@ static INPUT_PORTS_START( xtrain )
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_SERVICE)
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT)
PORT_START("IN D")
PORT_START("IN-D")
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_UNKNOWN)
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_UNKNOWN)
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_UNKNOWN)
@ -2729,7 +2729,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( ptrain )
PORT_INCLUDE(xtrain)
PORT_MODIFY("IN B")
PORT_MODIFY("IN-B")
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_CUSTOM) PORT_READ_LINE_DEVICE_MEMBER("ticket", ticket_dispenser_device, line_r)
INPUT_PORTS_END
@ -2840,7 +2840,7 @@ static INPUT_PORTS_START( wtrnymph )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START("IN A")
PORT_START("IN-A")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -2850,7 +2850,7 @@ static INPUT_PORTS_START( wtrnymph )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("IN B")
PORT_START("IN-B")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_IMPULSE(5) // key in
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) // coin in
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -2860,7 +2860,7 @@ static INPUT_PORTS_START( wtrnymph )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // payout (hopper error)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) // key out
PORT_START("IN C")
PORT_START("IN-C")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_NAME("Stop 3 / Right")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -2870,7 +2870,7 @@ static INPUT_PORTS_START( wtrnymph )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_NAME("Stop 1 / Take / Rotate")
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Play Tetris") PORT_CODE(KEYCODE_T) // T |__ play Tetris game
PORT_START("IN D") // not shown in test mode
PORT_START("IN-D") // not shown in test mode
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )

View File

@ -563,16 +563,16 @@ static INPUT_PORTS_START( skns ) /* 3 buttons, 2 players */
PORT_BIT( 0x000000ff, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(skns_state, paddle_r<3>) // Paddle D
PORT_BIT( 0xffffff00, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("Paddle A")
PORT_START("Paddle.A")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("Paddle B")
PORT_START("Paddle.B")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("Paddle C")
PORT_START("Paddle.C")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("Paddle D")
PORT_START("Paddle.D")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
@ -623,20 +623,20 @@ static INPUT_PORTS_START( puzzloop ) /* 2 buttons, 2 players, paddle */
PORT_BIT( 0x00400000, IP_ACTIVE_LOW, IPT_UNUSED ) /* No Button 3 */
PORT_BIT( 0x40000000, IP_ACTIVE_LOW, IPT_UNUSED ) /* No Button 3 */
PORT_MODIFY("Paddle A") /* Paddle A */
PORT_MODIFY("Paddle.A") /* Paddle A */
PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(15) PORT_REVERSE PORT_PLAYER(1)
PORT_MODIFY("Paddle B") /* Paddle B */
PORT_MODIFY("Paddle.B") /* Paddle B */
PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(15) PORT_REVERSE PORT_PLAYER(2)
INPUT_PORTS_END
static INPUT_PORTS_START( vblokbrk ) /* 3 buttons, 2 players, paddle */
PORT_INCLUDE( skns )
PORT_MODIFY("Paddle A") /* Paddle A */
PORT_MODIFY("Paddle.A") /* Paddle A */
PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(15) PORT_REVERSE PORT_PLAYER(1)
PORT_MODIFY("Paddle B") /* Paddle B */
PORT_MODIFY("Paddle.B") /* Paddle B */
PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(15) PORT_REVERSE PORT_PLAYER(2)
INPUT_PORTS_END

View File

@ -311,7 +311,7 @@ public:
m_knob_p2(*this, TEMPEST_KNOB_P2_TAG),
m_buttons_p1(*this, TEMPEST_BUTTONS_P1_TAG),
m_buttons_p2(*this, TEMPEST_BUTTONS_P2_TAG),
m_in1(*this, "IN1/DSW0"),
m_in1(*this, "IN1_DSW0"),
m_in2(*this, "IN2"),
m_leds(*this, "led%u", 0U)
{ }
@ -529,7 +529,7 @@ static INPUT_PORTS_START( tempest )
/* bit 7 is tied to a 3kHz (?) clock */
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(tempest_state, clock_r)
PORT_START("IN1/DSW0")
PORT_START("IN1_DSW0")
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(tempest_state, tempest_knob_r)
/* The next one is reponsible for cocktail mode.
* According to the documentation, this is not a switch, although

View File

@ -430,7 +430,7 @@ uint16_t tmnt_state::thndrx2_eeprom_r()
/* bit 1 is EEPROM ready */
/* bit 3 is VBLANK (???) */
/* bit 7 is service button */
res = ioport("P2/EEPROM")->read();
res = ioport("P2_EEPROM")->read();
m_toggle ^= 0x0800;
return (res ^ m_toggle);
}
@ -546,10 +546,10 @@ void tmnt_state::punkshot_main_map(address_map &map)
map(0x000000, 0x03ffff).rom();
map(0x080000, 0x083fff).ram(); /* main RAM */
map(0x090000, 0x090fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
map(0x0a0000, 0x0a0001).portr("DSW1/DSW2");
map(0x0a0002, 0x0a0003).portr("COINS/DSW3");
map(0x0a0004, 0x0a0005).portr("P3/P4");
map(0x0a0006, 0x0a0007).portr("P1/P2");
map(0x0a0000, 0x0a0001).portr("DSW1_DSW2");
map(0x0a0002, 0x0a0003).portr("COINS_DSW3");
map(0x0a0004, 0x0a0005).portr("P3_P4");
map(0x0a0006, 0x0a0007).portr("P1_P2");
map(0x0a0020, 0x0a0021).w(FUNC(tmnt_state::punkshot_0a0020_w));
map(0x0a0040, 0x0a0043).rw(m_k053260, FUNC(k053260_device::main_read), FUNC(k053260_device::main_write)).umask16(0x00ff);
map(0x0a0060, 0x0a007f).w(m_k053251, FUNC(k053251_device::write)).umask16(0x00ff);
@ -642,10 +642,10 @@ void glfgreat_state::glfgreat_main_map(address_map &map)
map(0x114000, 0x11401f).rw(m_k053245, FUNC(k05324x_device::k053244_r), FUNC(k05324x_device::k053244_w)).umask16(0x00ff); /* duplicate! */
map(0x118000, 0x11801f).w(m_k053936, FUNC(k053936_device::ctrl_w));
map(0x11c000, 0x11c01f).w(m_k053251, FUNC(k053251_device::write)).umask16(0xff00);
map(0x120000, 0x120001).portr("P1/P2");
map(0x120002, 0x120003).portr("P3/P4");
map(0x120004, 0x120005).portr("COINS/DSW3");
map(0x120006, 0x120007).portr("DSW1/DSW2");
map(0x120000, 0x120001).portr("P1_P2");
map(0x120002, 0x120003).portr("P3_P4");
map(0x120004, 0x120005).portr("COINS_DSW3");
map(0x120006, 0x120007).portr("DSW1_DSW2");
map(0x121000, 0x121001).r(FUNC(glfgreat_state::glfgreat_ball_r)); /* returns the color of the center pixel of the roz layer */
map(0x122000, 0x122001).w(FUNC(glfgreat_state::glfgreat_122000_w));
map(0x123000, 0x123000).rw("adc", FUNC(adc0804_device::read), FUNC(adc0804_device::write));
@ -666,8 +666,8 @@ void prmrsocr_state::prmrsocr_main_map(address_map &map)
map(0x114000, 0x11401f).rw(m_k053245, FUNC(k05324x_device::k053244_r), FUNC(k05324x_device::k053244_w)).umask16(0x00ff); /* duplicate! */
map(0x118000, 0x11801f).w(m_k053936, FUNC(k053936_device::ctrl_w));
map(0x11c000, 0x11c01f).w(m_k053251, FUNC(k053251_device::write)).umask16(0xff00);
map(0x120000, 0x120001).portr("P1/COINS");
map(0x120002, 0x120003).portr("P2/EEPROM");
map(0x120000, 0x120001).portr("P1_COINS");
map(0x120002, 0x120003).portr("P2_EEPROM");
map(0x121000, 0x12101f).m("k054321", FUNC(k054321_device::main_map)).umask16(0x00ff);
map(0x122000, 0x122001).w(FUNC(prmrsocr_state::prmrsocr_eeprom_w)); /* EEPROM + video control */
map(0x123000, 0x123001).w(FUNC(prmrsocr_state::prmrsocr_sound_irq_w));
@ -999,7 +999,7 @@ void tmnt_state::thndrx2_main_map(address_map &map)
map(0x400000, 0x400003).rw(m_k053260, FUNC(k053260_device::main_read), FUNC(k053260_device::main_write)).umask16(0x00ff);
map(0x500000, 0x50003f).rw(m_k054000, FUNC(k054000_device::read), FUNC(k054000_device::write)).umask16(0x00ff);
map(0x500100, 0x500101).w(FUNC(tmnt_state::thndrx2_eeprom_w));
map(0x500200, 0x500201).portr("P1/COINS");
map(0x500200, 0x500201).portr("P1_COINS");
map(0x500202, 0x500203).r(FUNC(tmnt_state::thndrx2_eeprom_r));
map(0x500300, 0x500301).nopw(); /* watchdog reset? irq enable? */
map(0x600000, 0x607fff).rw(FUNC(tmnt_state::k052109_word_noA12_r), FUNC(tmnt_state::k052109_word_noA12_w));
@ -1328,7 +1328,7 @@ static INPUT_PORTS_START( tmnt2p )
INPUT_PORTS_END
static INPUT_PORTS_START( punkshtj ) // Japan 2 Players
PORT_START("DSW1/DSW2")
PORT_START("DSW1_DSW2")
KONAMI_COINAGE_LOC(DEF_STR( Free_Play ), "No Coin B", SW1)
PORT_DIPUNUSED_DIPLOC( 0x0100, IP_ACTIVE_LOW, "SW2:1" ) // manual says "not used", but doesn't "should be kept OFF"
PORT_DIPUNUSED_DIPLOC( 0x0200, IP_ACTIVE_LOW, "SW2:2" ) // manual says "not used", but doesn't "should be kept OFF"
@ -1347,7 +1347,7 @@ static INPUT_PORTS_START( punkshtj ) // Japan 2 Players
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_START("COINS/DSW3")
PORT_START("COINS_DSW3")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -1369,18 +1369,18 @@ static INPUT_PORTS_START( punkshtj ) // Japan 2 Players
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_START("P1/P2")
PORT_START("P1_P2")
KONAMI16_LSB( 1, IPT_UNKNOWN, IPT_UNKNOWN )
KONAMI16_MSB( 2, IPT_UNKNOWN, IPT_UNKNOWN )
PORT_START("P3/P4")
PORT_START("P3_P4")
PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
static INPUT_PORTS_START( punkshtj4 ) // FICTITIOUS Japan 4 Players
PORT_INCLUDE( punkshtj )
PORT_MODIFY("COINS/DSW3")
PORT_MODIFY("COINS_DSW3")
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN3 )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_COIN4 )
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_SERVICE2 )
@ -1389,13 +1389,13 @@ static INPUT_PORTS_START( punkshtj4 ) // FICTITIOUS Japan 4 Players
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_MODIFY("P3/P4")
PORT_MODIFY("P3_P4")
KONAMI16_LSB( 3, IPT_UNKNOWN, IPT_UNKNOWN )
KONAMI16_MSB( 4, IPT_UNKNOWN, IPT_UNKNOWN )
INPUT_PORTS_END
static INPUT_PORTS_START( punksht_us_coinage )
PORT_MODIFY("DSW1/DSW2")
PORT_MODIFY("DSW1_DSW2")
PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2,3,4")
PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x0002, DEF_STR( 4C_1C ) )
@ -1429,7 +1429,7 @@ static INPUT_PORTS_START( punkshot ) // US 4 Players set1
PORT_INCLUDE( punkshtj4 )
PORT_INCLUDE( punksht_us_coinage )
PORT_MODIFY("DSW1/DSW2")
PORT_MODIFY("DSW1_DSW2")
PORT_DIPNAME( 0x0300, 0x0300, "Energy" ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0300, "30" )
PORT_DIPSETTING( 0x0200, "40" )
@ -1451,7 +1451,7 @@ static INPUT_PORTS_START( punksht2 ) // US 2 Players set2
PORT_INCLUDE( punkshtj )
PORT_INCLUDE( punksht_us_coinage )
PORT_MODIFY("DSW1/DSW2")
PORT_MODIFY("DSW1_DSW2")
PORT_DIPNAME( 0x0300, 0x0300, "Energy" ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0300, "40" )
PORT_DIPSETTING( 0x0200, "50" )
@ -1566,7 +1566,7 @@ static INPUT_PORTS_START( blswhstl )
INPUT_PORTS_END
static INPUT_PORTS_START( glfgreat )
PORT_START("DSW1/DSW2")
PORT_START("DSW1_DSW2")
KONAMI_COINAGE_LOC(DEF_STR( Free_Play ), "No Coin B", SW1)
/* "No Coin B" = coins produce sound, but no effect on coin counter */
PORT_DIPNAME( 0x0300, 0x0100, "Players/Controllers" ) PORT_DIPLOCATION("SW2:1,2")
@ -1591,7 +1591,7 @@ static INPUT_PORTS_START( glfgreat )
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_START("COINS/DSW3")
PORT_START("COINS_DSW3")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN3 )
@ -1613,12 +1613,12 @@ static INPUT_PORTS_START( glfgreat )
PORT_SERVICE_DIPLOC( 0x4000, IP_ACTIVE_LOW, "SW3:3" )
PORT_DIPUNUSED_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SW3:4" ) // manual says "not used"
PORT_START("P1/P2")
PORT_START("P1_P2")
KONAMI16_LSB_40( 1, IPT_BUTTON3 )
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("adc", adc0804_device, intr_r) // shown in service mode DIP SW1:9, SW2:9 and SW3:5
KONAMI16_MSB( 2, IPT_BUTTON3, IPT_UNUSED ) PORT_PLAYER(2)
PORT_START("P3/P4")
PORT_START("P3_P4")
KONAMI16_LSB( 3, IPT_BUTTON3, IPT_UNUSED ) PORT_PLAYER(3)
KONAMI16_MSB( 4, IPT_BUTTON3, IPT_UNUSED ) PORT_PLAYER(4)
@ -1639,7 +1639,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( glfgreatu )
PORT_INCLUDE( glfgreat )
PORT_MODIFY("DSW1/DSW2")
PORT_MODIFY("DSW1_DSW2")
PORT_DIPNAME( 0x1800, 0x1000, "Initial/Maximum Credit" ) PORT_DIPLOCATION("SW2:4,5")
PORT_DIPSETTING( 0x1800, "2/2" )
PORT_DIPSETTING( 0x1000, "2/3" )
@ -1650,7 +1650,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( glfgreatj )
PORT_INCLUDE( glfgreatu )
PORT_MODIFY("DSW1/DSW2")
PORT_MODIFY("DSW1_DSW2")
PORT_DIPNAME( 0x0300, 0x0100, "Players/Controllers" ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0300, "2/1" ) // Upright
PORT_DIPSETTING( 0x0200, "2/2" ) // Upright
@ -1660,7 +1660,7 @@ static INPUT_PORTS_START( glfgreatj )
// I/O test in service mode actually returns same mapping as World/US revs
// for accuracy we actually map these like the Jp flyer claims
// (where stance button is on top of the ball shaped controller)
PORT_MODIFY("P1/P2")
PORT_MODIFY("P1_P2")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("P1 Stance Select Button")
@ -1676,7 +1676,7 @@ static INPUT_PORTS_START( glfgreatj )
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_NAME("P2 Right Direction Button")
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2) PORT_NAME("P2 Club Select Button")
PORT_MODIFY("P3/P4")
PORT_MODIFY("P3_P4")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3) PORT_NAME("P3 Stance Select Button")
@ -1838,7 +1838,7 @@ static INPUT_PORTS_START( qgakumon )
INPUT_PORTS_END
static INPUT_PORTS_START( thndrx2 )
PORT_START("P1/COINS")
PORT_START("P1_COINS")
KONAMI16_LSB( 1, IPT_UNKNOWN, IPT_START1 )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_COIN2 )
@ -1849,7 +1849,7 @@ static INPUT_PORTS_START( thndrx2 )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("P2/EEPROM")
PORT_START("P2_EEPROM")
KONAMI16_LSB( 2, IPT_UNKNOWN, IPT_START2 )
PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_serial_er5911_device, do_read)
PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_serial_er5911_device, ready_read)
@ -1867,7 +1867,7 @@ static INPUT_PORTS_START( thndrx2 )
INPUT_PORTS_END
static INPUT_PORTS_START( prmrsocr )
PORT_START("P1/COINS")
PORT_START("P1_COINS")
KONAMI16_LSB( 1, IPT_UNKNOWN, IPT_START1 )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_SERVICE_NO_TOGGLE( 0x0200, IP_ACTIVE_LOW )
@ -1880,7 +1880,7 @@ static INPUT_PORTS_START( prmrsocr )
PORT_DIPUNUSED_DIPLOC( 0x4000, IP_ACTIVE_LOW, "SW:3" ) // manual says "not used"
PORT_DIPUNUSED_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SW:4" ) // manual says "not used"
PORT_START("P2/EEPROM")
PORT_START("P2_EEPROM")
KONAMI16_LSB( 2, IPT_UNKNOWN, IPT_START2 )
PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_serial_er5911_device, do_read)
PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_serial_er5911_device, ready_read)

View File

@ -113,13 +113,13 @@ void turrett_state::turrett_sound_map(address_map &map)
*************************************/
static INPUT_PORTS_START( turrett )
PORT_START("PORT 0X")
PORT_START("PORT.0X")
PORT_BIT( 0x3f, 0x00, IPT_AD_STICK_Y ) PORT_MINMAX(0x20,0x1f) PORT_SENSITIVITY(60) PORT_KEYDELTA(2)
PORT_START("PORT 4X")
PORT_START("PORT.4X")
PORT_BIT( 0x3f, 0x00, IPT_AD_STICK_X ) PORT_MINMAX(0x20,0x1f) PORT_SENSITIVITY(60) PORT_KEYDELTA(2)
PORT_START("PORT CX")
PORT_START("PORT.CX")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CHANGED_MEMBER(DEVICE_SELF, turrett_state, ipt_change, 0x00000100)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, turrett_state, ipt_change, 0x00000200)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BILL1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, turrett_state, ipt_change, 0x00000400)
@ -129,7 +129,7 @@ static INPUT_PORTS_START( turrett )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, turrett_state, ipt_change, 0x00004000)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CHANGED_MEMBER(DEVICE_SELF, turrett_state, ipt_change, 0x00008000)
PORT_START("PORT DX")
PORT_START("PORT.DX")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CHANGED_MEMBER(DEVICE_SELF, turrett_state, ipt_change, 0x00010000)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, turrett_state, ipt_change, 0x00020000)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CHANGED_MEMBER(DEVICE_SELF, turrett_state, ipt_change, 0x00040000)
@ -139,11 +139,11 @@ static INPUT_PORTS_START( turrett )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CHANGED_MEMBER(DEVICE_SELF, turrett_state, ipt_change, 0x00400000)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CHANGED_MEMBER(DEVICE_SELF, turrett_state, ipt_change, 0x00800000)
PORT_START("PORT EX")
PORT_START("PORT.EX")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Floor mat")
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Door Lock") PORT_TOGGLE
PORT_START("PORT FX")
PORT_START("PORT.FX")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("Seat Belt") PORT_TOGGLE
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_NAME("Home")
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_NAME("Emergency Stop") PORT_TOGGLE
@ -191,17 +191,17 @@ uint32_t turrett_state::update_inputs(void)
{
if (m_inputs_active & 0x00000001)
{
val = 0x00 | (ioport("PORT 0X")->read() & 0x3f);
val = 0x00 | (ioport("PORT.0X")->read() & 0x3f);
m_inputs_active &= ~1;
}
else if (m_inputs_active & 0x00000002)
{
val = 0x40 | (ioport("PORT 4X")->read() & 0x3f);
val = 0x40 | (ioport("PORT.4X")->read() & 0x3f);
m_inputs_active &= ~2;
}
else if (m_inputs_active & 0x0000ff00)
{
uint32_t data = ioport("PORT CX")->read();
uint32_t data = ioport("PORT.CX")->read();
uint32_t bits = m_inputs_active >> 8;
val = 0xc0;
@ -219,7 +219,7 @@ uint32_t turrett_state::update_inputs(void)
}
else if (m_inputs_active & 0x00ff0000)
{
uint32_t data = ioport("PORT DX")->read();
uint32_t data = ioport("PORT.DX")->read();
uint32_t bits = m_inputs_active >> 16;
val = 0xd0;
@ -237,12 +237,12 @@ uint32_t turrett_state::update_inputs(void)
}
else if (m_inputs_active & 0x01000000)
{
val = 0xe0 | ioport("PORT EX")->read();
val = 0xe0 | ioport("PORT.EX")->read();
m_inputs_active &= ~0x01000000;
}
else if (m_inputs_active & 0x02000000)
{
val = 0xf0 | ioport("PORT FX")->read();
val = 0xf0 | ioport("PORT.FX")->read();
m_inputs_active &= ~0x02000000;
}
}

View File

@ -36,7 +36,7 @@ public:
m_v3t_ram(*this, "v3t_ram"),
m_main_ram(*this, "main_ram"),
m_cache_ram(*this, "cache_ram"),
m_paddle(*this, "Paddle %c", 'A')
m_paddle(*this, "Paddle.%c", 'A')
{ }
void sknsk(machine_config &config);

View File

@ -514,7 +514,7 @@ void idegdrom_device::ide_cs1_w(offs_t offset, uint32_t data, uint32_t mem_mask)
// The board
static INPUT_PORTS_START(gdrom_board_ioports)
PORT_START("DEBUG ONLY")
PORT_START("DEBUG_ONLY")
PORT_CONFNAME(0x01, 0x00, "Full emulation")
PORT_CONFSETTING(0x01, "Enabled")
PORT_CONFSETTING(0x00, "Disabled")
@ -523,8 +523,8 @@ static INPUT_PORTS_START(gdrom_board_ioports)
PORT_CONFSETTING(0x00, "No")
INPUT_PORTS_END
naomi_gdrom_board::naomi_gdrom_board(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: naomi_board(mconfig, NAOMI_GDROM_BOARD, tag, owner, clock),
naomi_gdrom_board::naomi_gdrom_board(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
naomi_board(mconfig, NAOMI_GDROM_BOARD, tag, owner, clock),
work_mode(0),
m_maincpu(*this, "dimmcpu"),
m_securitycpu(*this, "pic"),
@ -533,7 +533,7 @@ naomi_gdrom_board::naomi_gdrom_board(const machine_config &mconfig, const char *
m_eeprom(*this, "eeprom"),
m_315_6154(*this, "pci:00.0"),
m_idegdrom(*this, "pci:01.0"),
m_debug_dipswitches(*this, "DEBUG ONLY"),
m_debug_dipswitches(*this, "DEBUG_ONLY"),
picdata(*this, finder_base::DUMMY_TAG),
dimm_command(0xffff),
dimm_offsetl(0xffff),