diff --git a/src/mame/bmc/bmcpokr.cpp b/src/mame/bmc/bmcpokr.cpp index b091adf9f42..80f8ec61694 100644 --- a/src/mame/bmc/bmcpokr.cpp +++ b/src/mame/bmc/bmcpokr.cpp @@ -464,7 +464,7 @@ void bmcpokr_state::bmcpokr_mem(address_map &map) uint16_t bmcpokr_state::xyddzhh_dsw_r() { - return m_dsw[(~m_mux >> 4) & 3]->read() << 8; + return m_dsw[(~m_mux >> 4) & 0x03]->read() << 8; } void bmcpokr_state::xyddzhh_map(address_map &map) @@ -1147,36 +1147,36 @@ static INPUT_PORTS_START( xyddzhh ) // Maximum Bet is fixed to 40 according to test mode (no DIP determines it) PORT_START("DSW1") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("DIP1:1") - PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) - PORT_DIPSETTING( 0x01, DEF_STR( No ) ) - PORT_DIPNAME( 0x02, 0x02, "Key Out Table as" ) PORT_DIPLOCATION("DIP1:2") - PORT_DIPSETTING( 0x00, "Coin" ) - PORT_DIPSETTING( 0x02, "Key In" ) - PORT_DIPNAME( 0x04, 0x04, "Coin Out" ) PORT_DIPLOCATION("DIP1:3") - PORT_DIPSETTING( 0x04, DEF_STR( No ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x08, 0x08, "Alarm Sound Effect" ) PORT_DIPLOCATION("DIP1:4") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, "Automatic Pass" ) PORT_DIPLOCATION("DIP1:5") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x10, DEF_STR( On ) ) - PORT_DIPNAME( 0xe0, 0xe0, "Performance Breaking Table" ) PORT_DIPLOCATION("DIP1:6,7,8") - PORT_DIPSETTING( 0xc0, "5000" ) - PORT_DIPSETTING( 0xe0, "10000" ) - PORT_DIPSETTING( 0xa0, "15000" ) - PORT_DIPSETTING( 0x80, "20000" ) - PORT_DIPSETTING( 0x60, "25000" ) - PORT_DIPSETTING( 0x40, "30000" ) - PORT_DIPSETTING( 0x20, "40000" ) - PORT_DIPSETTING( 0x00, "50000" ) + PORT_DIPNAME( 0x01, 0x00, DEF_STR(Demo_Sounds) ) PORT_DIPLOCATION("DIP1:1") + PORT_DIPSETTING( 0x01, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) + PORT_DIPNAME( 0x02, 0x02, "Key-Out Rate" ) PORT_DIPLOCATION("DIP1:2") + PORT_DIPSETTING( 0x02, "Key-In Rate" ) + PORT_DIPSETTING( 0x00, DEF_STR(Coinage) ) + PORT_DIPNAME( 0x04, 0x04, "Return Coins" ) PORT_DIPLOCATION("DIP1:3") + PORT_DIPSETTING( 0x04, DEF_STR(No) ) + PORT_DIPSETTING( 0x00, DEF_STR(Yes) ) + PORT_DIPNAME( 0x08, 0x08, "Siren Sound" ) PORT_DIPLOCATION("DIP1:4") + PORT_DIPSETTING( 0x00, DEF_STR(Off) ) + PORT_DIPSETTING( 0x08, DEF_STR(On) ) + PORT_DIPNAME( 0x10, 0x10, "Auto Pass" ) PORT_DIPLOCATION("DIP1:5") + PORT_DIPSETTING( 0x00, DEF_STR(Off) ) + PORT_DIPSETTING( 0x10, DEF_STR(On) ) + PORT_DIPNAME( 0xe0, 0xe0, "Double-Up Game Jackpot" ) PORT_DIPLOCATION("DIP1:6,7,8") + PORT_DIPSETTING( 0xc0, "5,000" ) + PORT_DIPSETTING( 0xe0, "10,000" ) + PORT_DIPSETTING( 0xa0, "15,000" ) + PORT_DIPSETTING( 0x80, "20,000" ) + PORT_DIPSETTING( 0x60, "25,000" ) + PORT_DIPSETTING( 0x40, "30,000" ) + PORT_DIPSETTING( 0x20, "40,000" ) + PORT_DIPSETTING( 0x00, "50,000" ) PORT_START("DSW2") PORT_DIPNAME( 0x01, 0x00, "Controls" ) PORT_DIPLOCATION("DIP2:1") PORT_DIPSETTING( 0x01, "Mahjong" ) PORT_DIPSETTING( 0x00, "Entertainment" ) - PORT_DIPNAME( 0x06, 0x06, "Play Expiration" ) PORT_DIPLOCATION("DIP2:2,3") + PORT_DIPNAME( 0x06, 0x06, "Double-Up Game Threshold" ) PORT_DIPLOCATION("DIP2:2,3") PORT_DIPSETTING( 0x06, "3000" ) PORT_DIPSETTING( 0x04, "4000" ) PORT_DIPSETTING( 0x02, "5000" ) @@ -1184,30 +1184,30 @@ static INPUT_PORTS_START( xyddzhh ) PORT_DIPNAME( 0x08, 0x08, "Accumulated Bonus" ) PORT_DIPLOCATION("DIP2:4") PORT_DIPSETTING( 0x08, "300" ) PORT_DIPSETTING( 0x00, "400" ) - PORT_DIPNAME( 0x70, 0x70, "Double-Up Rate" ) PORT_DIPLOCATION("DIP2:5,6,7") - PORT_DIPSETTING( 0x60, "92" ) - PORT_DIPSETTING( 0x50, "93" ) - PORT_DIPSETTING( 0x40, "94" ) - PORT_DIPSETTING( 0x70, "95" ) - PORT_DIPSETTING( 0x30, "96" ) - PORT_DIPSETTING( 0x20, "97" ) - PORT_DIPSETTING( 0x10, "98" ) - PORT_DIPSETTING( 0x00, "99" ) - PORT_DIPNAME( 0x80, 0x80, "Double-Up" ) PORT_DIPLOCATION("DIP2:8") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x80, DEF_STR( On ) ) + PORT_DIPNAME( 0x70, 0x70, "Double-Up Game Payout Rate" ) PORT_DIPLOCATION("DIP2:5,6,7") + PORT_DIPSETTING( 0x60, "92%" ) + PORT_DIPSETTING( 0x50, "93%" ) + PORT_DIPSETTING( 0x40, "94%" ) + PORT_DIPSETTING( 0x70, "95%" ) + PORT_DIPSETTING( 0x30, "96%" ) + PORT_DIPSETTING( 0x20, "97%" ) + PORT_DIPSETTING( 0x10, "98%" ) + PORT_DIPSETTING( 0x00, "99%" ) + PORT_DIPNAME( 0x80, 0x80, "Double-Up Game" ) PORT_DIPLOCATION("DIP2:8") + PORT_DIPSETTING( 0x00, DEF_STR(Off) ) + PORT_DIPSETTING( 0x80, DEF_STR(On) ) PORT_START("DSW3") - PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage) ) PORT_DIPLOCATION("DIP3:1,2,3") - PORT_DIPSETTING( 0x06, "1" ) - PORT_DIPSETTING( 0x05, "2" ) - PORT_DIPSETTING( 0x04, "5" ) - PORT_DIPSETTING( 0x03, "10" ) - PORT_DIPSETTING( 0x02, "15" ) - PORT_DIPSETTING( 0x01, "50" ) - PORT_DIPSETTING( 0x07, "100" ) - PORT_DIPSETTING( 0x00, "200" ) - PORT_DIPNAME( 0x38, 0x38, "Key In" ) PORT_DIPLOCATION("DIP3:4,5,6") + PORT_DIPNAME( 0x07, 0x07, DEF_STR(Coinage) ) PORT_DIPLOCATION("DIP3:1,2,3") + PORT_DIPSETTING( 0x06, DEF_STR(1C_1C) ) + PORT_DIPSETTING( 0x05, DEF_STR(1C_2C) ) + PORT_DIPSETTING( 0x04, DEF_STR(1C_5C) ) + PORT_DIPSETTING( 0x03, "1 Coin/10 Credits" ) + PORT_DIPSETTING( 0x02, "1 Coin/20 Credits" ) + PORT_DIPSETTING( 0x01, "1 Coin/50 Credits" ) + PORT_DIPSETTING( 0x07, "1 Coin/100 Credits" ) + PORT_DIPSETTING( 0x00, "1 Coin/200 Credits" ) + PORT_DIPNAME( 0x38, 0x38, "Key-In Rate" ) PORT_DIPLOCATION("DIP3:4,5,6") PORT_DIPSETTING( 0x30, "40" ) PORT_DIPSETTING( 0x28, "50" ) PORT_DIPSETTING( 0x38, "100" ) @@ -1216,15 +1216,15 @@ static INPUT_PORTS_START( xyddzhh ) PORT_DIPSETTING( 0x10, "500" ) PORT_DIPSETTING( 0x08, "1000" ) PORT_DIPSETTING( 0x00, "2000" ) - PORT_DIPNAME( 0x40, 0x40, "Points Limit" ) PORT_DIPLOCATION("DIP3:7") - PORT_DIPSETTING( 0x00, "10000" ) - PORT_DIPSETTING( 0x40, "99000" ) + PORT_DIPNAME( 0x40, 0x40, "Credit Limit" ) PORT_DIPLOCATION("DIP3:7") + PORT_DIPSETTING( 0x00, "10,000" ) + PORT_DIPSETTING( 0x40, "99,000" ) PORT_DIPNAME( 0x80, 0x80, "Card Type" ) PORT_DIPLOCATION("DIP3:8") PORT_DIPSETTING( 0x80, DEF_STR ( Normal ) ) PORT_DIPSETTING( 0x00, "Graphics" ) PORT_START("DSW4") - PORT_DIPNAME( 0x07, 0x07, "Min Bet" ) PORT_DIPLOCATION("DIP4:1,2,3") + PORT_DIPNAME( 0x07, 0x07, "Minimum Bet" ) PORT_DIPLOCATION("DIP4:1,2,3") PORT_DIPSETTING( 0x06, "1" ) PORT_DIPSETTING( 0x05, "2" ) PORT_DIPSETTING( 0x04, "3" ) @@ -1233,21 +1233,21 @@ static INPUT_PORTS_START( xyddzhh ) PORT_DIPSETTING( 0x02, "15" ) PORT_DIPSETTING( 0x01, "20" ) PORT_DIPSETTING( 0x00, "40" ) - PORT_DIPNAME( 0x38, 0x38, "Game Odds" ) PORT_DIPLOCATION("DIP4:4,5,6") - PORT_DIPSETTING( 0x30, "90" ) - PORT_DIPSETTING( 0x28, "91" ) - PORT_DIPSETTING( 0x20, "92" ) - PORT_DIPSETTING( 0x18, "93" ) - PORT_DIPSETTING( 0x38, "94" ) - PORT_DIPSETTING( 0x10, "95" ) - PORT_DIPSETTING( 0x08, "96" ) - PORT_DIPSETTING( 0x00, "97" ) + PORT_DIPNAME( 0x38, 0x38, "Payout Rate" ) PORT_DIPLOCATION("DIP4:4,5,6") + PORT_DIPSETTING( 0x30, "90%" ) + PORT_DIPSETTING( 0x28, "91%" ) + PORT_DIPSETTING( 0x20, "92%" ) + PORT_DIPSETTING( 0x18, "93%" ) + PORT_DIPSETTING( 0x38, "94%" ) + PORT_DIPSETTING( 0x10, "95%" ) + PORT_DIPSETTING( 0x08, "96%" ) + PORT_DIPSETTING( 0x00, "97%" ) PORT_DIPNAME( 0x40, 0x40, "Market Setting" ) PORT_DIPLOCATION("DIP4:7") PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x40, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "System Breakdown" ) PORT_DIPLOCATION("DIP4:8") - PORT_DIPSETTING( 0x00, "50000" ) - PORT_DIPSETTING( 0x80, "100000" ) + PORT_DIPNAME( 0x80, 0x80, "Jackpot" ) PORT_DIPLOCATION("DIP4:8") + PORT_DIPSETTING( 0x00, "50,000" ) + PORT_DIPSETTING( 0x80, "100,000" ) INPUT_PORTS_END diff --git a/src/osd/modules/file/posixfile.cpp b/src/osd/modules/file/posixfile.cpp index c5ce8bf7b4e..b6f9f65921b 100644 --- a/src/osd/modules/file/posixfile.cpp +++ b/src/osd/modules/file/posixfile.cpp @@ -380,13 +380,13 @@ std::unique_ptr osd_stat(const std::string &path) // create an osd_directory_entry; be sure to make sure that the caller can // free all resources by just freeing the resulting osd_directory_entry - osd::directory::entry *result; - try { result = reinterpret_cast(::operator new(sizeof(*result) + path.length() + 1)); } - catch (...) { return nullptr; } + auto const result = reinterpret_cast(::operator new(sizeof(osd::directory::entry) + path.length() + 1), std::nothrow); + if (!result) return nullptr; new (result) osd::directory::entry; - std::strcpy(reinterpret_cast(result) + sizeof(*result), path.c_str()); - result->name = reinterpret_cast(result) + sizeof(*result); + auto const resultname = reinterpret_cast(result) + sizeof(*result); + std::strcpy(resultname, path.c_str()); + result->name = resultname; result->type = S_ISDIR(st.st_mode) ? osd::directory::entry::entry_type::DIR : osd::directory::entry::entry_type::FILE; result->size = std::uint64_t(std::make_unsigned_t(st.st_size)); result->last_modified = std::chrono::system_clock::from_time_t(st.st_mtime);