//static INPUT_PORTS_START( elevator ) void construct_ioport_elevator(device_t owner, ioport_list portlist, ref string errorbuf) { INPUT_PORTS_START(owner, portlist, ref errorbuf); taitosj_state taitosj_state = (taitosj_state)owner; COMMON_IN0(); COMMON_IN1(); COMMON_IN2(); COMMON_IN3(IP_ACTIVE_HIGH); PORT_START("IN4"); PORT_BIT(0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN); PORT_BIT(0xf0, IP_ACTIVE_HIGH, IPT_CUSTOM); PORT_CUSTOM_MEMBER(DEVICE_SELF, taitosj_state.input_port_4_f0_r); // from sound CPU PORT_START("DSW1"); PORT_DIPNAME(0x03, 0x03, DEF_STR(Bonus_Life)); PORT_DIPLOCATION("SWA:1,2"); PORT_DIPSETTING(0x03, "10000"); PORT_DIPSETTING(0x02, "15000"); PORT_DIPSETTING(0x01, "20000"); PORT_DIPSETTING(0x00, "25000"); PORT_DIPNAME(0x04, 0x04, DEF_STR(Free_Play)); PORT_DIPLOCATION("SWA:3"); PORT_DIPSETTING(0x04, DEF_STR(Off)); PORT_DIPSETTING(0x00, DEF_STR(On)); PORT_DIPNAME(0x18, 0x18, DEF_STR(Lives)); PORT_DIPLOCATION("SWA:4,5"); PORT_DIPSETTING(0x18, "3"); PORT_DIPSETTING(0x10, "4"); PORT_DIPSETTING(0x08, "5"); PORT_DIPSETTING(0x00, "6"); PORT_DIPNAME(0x20, 0x20, DEF_STR(Unknown)); PORT_DIPLOCATION("SWA:6"); PORT_DIPSETTING(0x20, DEF_STR(Off)); PORT_DIPSETTING(0x00, DEF_STR(On)); PORT_DIPNAME(0x40, 0x40, DEF_STR(Flip_Screen)); PORT_DIPLOCATION("SWA:7"); PORT_DIPSETTING(0x40, DEF_STR(Off)); PORT_DIPSETTING(0x00, DEF_STR(On)); PORT_DIPNAME(0x80, 0x00, DEF_STR(Cabinet)); PORT_DIPLOCATION("SWA:8"); PORT_DIPSETTING(0x00, DEF_STR(Upright)); PORT_DIPSETTING(0x80, DEF_STR(Cocktail)); PORT_START("DSW2"); // Coinage DSW2_PORT(); PORT_START("DSW3"); PORT_DIPNAME(0x03, 0x03, DEF_STR(Difficulty)); PORT_DIPLOCATION("SWC:1,2"); PORT_DIPSETTING(0x03, DEF_STR(Easiest)); PORT_DIPSETTING(0x02, DEF_STR(Easy)); PORT_DIPSETTING(0x01, DEF_STR(Normal)); PORT_DIPSETTING(0x00, DEF_STR(Hard)); PORT_DIPNAME(0x04, 0x04, DEF_STR(Unknown)); PORT_DIPLOCATION("SWC:3"); PORT_DIPSETTING(0x04, DEF_STR(Off)); PORT_DIPSETTING(0x00, DEF_STR(On)); PORT_DIPNAME(0x08, 0x08, DEF_STR(Unknown)); PORT_DIPLOCATION("SWC:4"); PORT_DIPSETTING(0x08, DEF_STR(Off)); PORT_DIPSETTING(0x00, DEF_STR(On)); PORT_DIPNAME(0x10, 0x10, "Coinage Display"); PORT_DIPLOCATION("SWC:5"); PORT_DIPSETTING(0x10, "Coins/Credits"); PORT_DIPSETTING(0x00, "Insert Coin"); PORT_DIPNAME(0x20, 0x20, "Year Display"); PORT_DIPLOCATION("SWC:6"); PORT_DIPSETTING(0x00, DEF_STR(No)); PORT_DIPSETTING(0x20, DEF_STR(Yes)); PORT_DIPNAME(0x40, 0x40, "Hit Detection"); PORT_DIPLOCATION("SWC:7"); PORT_DIPSETTING(0x40, "Normal Game"); PORT_DIPSETTING(0x00, "No Hit"); PORT_DIPNAME(0x80, 0x80, "Coin Slots"); PORT_DIPLOCATION("SWC:8"); PORT_DIPSETTING(0x80, "A and B"); PORT_DIPSETTING(0x00, "A only"); INPUT_PORTS_END(); }
//static INPUT_PORTS_START( junglek ) void construct_ioport_junglek(device_t owner, ioport_list portlist, ref string errorbuf) { INPUT_PORTS_START(owner, portlist, ref errorbuf); taitosj_state taitosj_state = (taitosj_state)owner; PORT_START("IN0"); PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT); PORT_8WAY(); PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT); PORT_8WAY(); PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN); PORT_8WAY(); PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP); PORT_8WAY(); PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON1); PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_UNKNOWN); PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_UNKNOWN); PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNKNOWN); PORT_START("IN1"); PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT); PORT_8WAY(); PORT_COCKTAIL(); PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT); PORT_8WAY(); PORT_COCKTAIL(); PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN); PORT_8WAY(); PORT_COCKTAIL(); PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP); PORT_8WAY(); PORT_COCKTAIL(); PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON1); PORT_COCKTAIL(); PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_UNKNOWN); PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_UNKNOWN); PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNKNOWN); COMMON_IN2(); COMMON_IN3(IP_ACTIVE_HIGH); PORT_START("IN4"); PORT_BIT(0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN); PORT_BIT(0xf0, IP_ACTIVE_HIGH, IPT_CUSTOM); PORT_CUSTOM_MEMBER(DEVICE_SELF, taitosj_state.input_port_4_f0_r); // from sound CPU PORT_START("DSW1"); PORT_DIPNAME(0x03, 0x03, "Finish Bonus"); PORT_DIPLOCATION("SWA:1,2"); PORT_DIPSETTING(0x03, DEF_STR(None)); PORT_DIPSETTING(0x02, "Timer x1"); PORT_DIPSETTING(0x01, "Timer x2"); PORT_DIPSETTING(0x00, "Timer x3"); PORT_DIPNAME(0x04, 0x04, DEF_STR(Unused)); PORT_DIPLOCATION("SWA:3"); PORT_DIPSETTING(0x04, DEF_STR(Off)); PORT_DIPSETTING(0x00, DEF_STR(On)); PORT_DIPNAME(0x18, 0x18, DEF_STR(Lives)); PORT_DIPLOCATION("SWA:4,5"); PORT_DIPSETTING(0x18, "3"); PORT_DIPSETTING(0x10, "4"); PORT_DIPSETTING(0x08, "5"); PORT_DIPSETTING(0x00, "6"); PORT_SERVICE(0x20, IP_ACTIVE_LOW); PORT_DIPLOCATION("SWA:6"); PORT_DIPNAME(0x40, 0x00, DEF_STR(Flip_Screen)); PORT_DIPLOCATION("SWA:7"); PORT_DIPSETTING(0x00, DEF_STR(Off)); PORT_DIPSETTING(0x40, DEF_STR(On)); PORT_DIPNAME(0x80, 0x00, DEF_STR(Cabinet)); PORT_DIPLOCATION("SWA:8"); PORT_DIPSETTING(0x00, DEF_STR(Upright)); PORT_DIPSETTING(0x80, DEF_STR(Cocktail)); PORT_START("DSW2"); // Coinage DSW2_PORT(); PORT_START("DSW3"); PORT_DIPNAME(0x03, 0x03, DEF_STR(Bonus_Life)); PORT_DIPLOCATION("SWC:1,2"); PORT_DIPSETTING(0x02, "10000"); PORT_DIPSETTING(0x01, "20000"); PORT_DIPSETTING(0x00, "30000"); PORT_DIPSETTING(0x03, DEF_STR(None)); PORT_DIPNAME(0x04, 0x04, DEF_STR(Unused)); PORT_DIPLOCATION("SWC:3"); PORT_DIPSETTING(0x04, DEF_STR(Off)); PORT_DIPSETTING(0x00, DEF_STR(On)); PORT_DIPNAME(0x08, 0x08, DEF_STR(Unused)); PORT_DIPLOCATION("SWC:4"); PORT_DIPSETTING(0x08, DEF_STR(Off)); PORT_DIPSETTING(0x00, DEF_STR(On)); PORT_DIPNAME(0x10, 0x10, DEF_STR(Unused)); PORT_DIPLOCATION("SWC:5"); PORT_DIPSETTING(0x10, DEF_STR(Off)); PORT_DIPSETTING(0x00, DEF_STR(On)); PORT_DIPNAME(0x20, 0x20, "Year Display"); PORT_DIPLOCATION("SWC:6"); PORT_DIPSETTING(0x00, DEF_STR(No)); PORT_DIPSETTING(0x20, DEF_STR(Yes)); PORT_DIPNAME(0x40, 0x40, "Infinite Lives"); PORT_DIPLOCATION("SWC:7"); // Displays 'free game' on screen. Timer disabled with infinite lives PORT_DIPSETTING(0x40, DEF_STR(No)); PORT_DIPSETTING(0x00, DEF_STR(Yes)); PORT_DIPNAME(0x80, 0x80, "Coin Slots"); PORT_DIPLOCATION("SWC:8"); PORT_DIPSETTING(0x80, "A and B"); PORT_DIPSETTING(0x00, "A only"); INPUT_PORTS_END(); }