From 4e0b6882b3cb17f9994cfb1223f68aa4f50a4a01 Mon Sep 17 00:00:00 2001 From: hap Date: Mon, 14 Dec 2015 16:58:44 +0100 Subject: [PATCH] renamed TYomy pinball to Power House Pinball (USA set + is less generic) --- src/mame/drivers/hh_tms1k.cpp | 86 +++++++++++++++++++---------------- src/mame/mess.lst | 2 +- 2 files changed, 48 insertions(+), 40 deletions(-) diff --git a/src/mame/drivers/hh_tms1k.cpp b/src/mame/drivers/hh_tms1k.cpp index 99a16d121f2..30c151a91c4 100644 --- a/src/mame/drivers/hh_tms1k.cpp +++ b/src/mame/drivers/hh_tms1k.cpp @@ -18,7 +18,7 @@ @MP0923 TMS1000 1979, Entex Baseball 2 @MP1030 TMS1100 1980, APF Mathemagician @MP1133 TMS1470 1979, Kosmos Astro - @MP1180 TMS1100 1980, Tomy Pinball + @MP1180 TMS1100 1980, Tomy Power House Pinball @MP1204 TMS1100 1980, Entex Baseball 3 (6007) @MP1211 TMS1100 1980, Entex Space Invader @MP1218 TMS1100 1980, Entex Basketball 2 (6010) @@ -2573,43 +2573,43 @@ READ8_MEMBER(astro_state::read_k) static INPUT_PORTS_START( astro ) PORT_START("IN.0") // R0 - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_0_PAD) PORT_NAME("0") - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("5") - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SLASH_PAD) PORT_NAME(UTF8_DIVIDE"/Sun") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_0_PAD) PORT_NAME("0") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("5") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_SLASH_PAD) PORT_NAME(UTF8_DIVIDE"/Sun") PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_START("IN.1") // R1 - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("1") - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("6") - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_ASTERISK) PORT_NAME(UTF8_MULTIPLY"/Mercury") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("1") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("6") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_ASTERISK) PORT_NAME(UTF8_MULTIPLY"/Mercury") PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_START("IN.2") // R2 - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("2") - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD) PORT_NAME("7") - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS_PAD) PORT_NAME("-/Venus") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("2") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD) PORT_NAME("7") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_MINUS_PAD) PORT_NAME("-/Venus") PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_START("IN.3") // R3 - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("3") - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("8") - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PLUS_PAD) PORT_NAME("+/Mars") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("3") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("8") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_PLUS_PAD) PORT_NAME("+/Mars") PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_START("IN.4") // R4 - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("4") - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_9_PAD) PORT_NAME("9") - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_NAME("=/Astro") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("4") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_9_PAD) PORT_NAME("9") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_NAME("=/Astro") PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_START("IN.5") // R5 - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Z) PORT_NAME("B1") - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_X) PORT_NAME("B2") - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_STOP) PORT_CODE(KEYCODE_DEL_PAD) PORT_NAME(".") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_Z) PORT_NAME("B1") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_X) PORT_NAME("B2") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_STOP) PORT_CODE(KEYCODE_DEL_PAD) PORT_NAME(".") PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_START("IN.6") // R6 - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_DEL) PORT_NAME("C") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_DEL) PORT_NAME("C") PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_START("IN.7") // R7 @@ -2667,11 +2667,13 @@ WRITE16_MEMBER(mdndclab_state::write_r) m_speaker->level_w(data >> 10 & 1); // R0-R9: input mux part + m_inp_mux = (m_inp_mux & 0xff) | (data << 8 & 0x3ff00); } WRITE16_MEMBER(mdndclab_state::write_o) { // O0-O7: input mux part + m_inp_mux = (m_inp_mux & ~0xff) | data; } READ8_MEMBER(mdndclab_state::read_k) @@ -2684,6 +2686,12 @@ READ8_MEMBER(mdndclab_state::read_k) // config +/* physical button layout and labels is like this: + + + +*/ + static INPUT_PORTS_START( mdndclab ) INPUT_PORTS_END @@ -4243,14 +4251,14 @@ MACHINE_CONFIG_END /*************************************************************************** - Tomy Pinball + Tomy Power House Pinball * PCB label TOMY P-B * TMS1100 MP1180 TOMY PINB (die labeled MP1180) * 3 7seg LEDs, and other LEDs behind bezel, 1bit sound known releases: - - Japan: Pinball - USA: Power House Pinball + - Japan: Pinball - Europe: Flipper lamp translation table: led zz from game PCB = MAME lampyx: @@ -4270,10 +4278,10 @@ MACHINE_CONFIG_END ***************************************************************************/ -class tpinball_state : public hh_tms1k_state +class phpball_state : public hh_tms1k_state { public: - tpinball_state(const machine_config &mconfig, device_type type, const char *tag) + phpball_state(const machine_config &mconfig, device_type type, const char *tag) : hh_tms1k_state(mconfig, type, tag) { } @@ -4287,7 +4295,7 @@ public: // handlers -void tpinball_state::prepare_display() +void phpball_state::prepare_display() { // R0-R2 are 7segs for (int y = 0; y < 3; y++) @@ -4296,7 +4304,7 @@ void tpinball_state::prepare_display() display_matrix(7, 9, m_o, m_r); } -WRITE16_MEMBER(tpinball_state::write_r) +WRITE16_MEMBER(phpball_state::write_r) { // R10: speaker out m_speaker->level_w(data >> 10 & 1); @@ -4309,7 +4317,7 @@ WRITE16_MEMBER(tpinball_state::write_r) prepare_display(); } -WRITE16_MEMBER(tpinball_state::write_o) +WRITE16_MEMBER(phpball_state::write_o) { // O0-O6: led state // O7: N/C @@ -4317,7 +4325,7 @@ WRITE16_MEMBER(tpinball_state::write_o) prepare_display(); } -READ8_MEMBER(tpinball_state::read_k) +READ8_MEMBER(phpball_state::read_k) { // K: multiplexed inputs (note: the Vss row is always on) return m_inp_matrix[1]->read() | read_inputs(1); @@ -4326,18 +4334,18 @@ READ8_MEMBER(tpinball_state::read_k) // config -static INPUT_PORTS_START( tpinball ) +static INPUT_PORTS_START( phpball ) PORT_START("IN.0") // R9 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Plunger") PORT_BIT( 0x0d, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_START("IN.1") // Vss! PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Right Flipper") PORT_CHANGED_MEMBER(DEVICE_SELF, tpinball_state, flipper_button, (void *)1) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Left Flipper") PORT_CHANGED_MEMBER(DEVICE_SELF, tpinball_state, flipper_button, (void *)0) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Right Flipper") PORT_CHANGED_MEMBER(DEVICE_SELF, phpball_state, flipper_button, (void *)1) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Left Flipper") PORT_CHANGED_MEMBER(DEVICE_SELF, phpball_state, flipper_button, (void *)0) INPUT_PORTS_END -INPUT_CHANGED_MEMBER(tpinball_state::flipper_button) +INPUT_CHANGED_MEMBER(phpball_state::flipper_button) { // rectangular LEDs under LEDs D,F and E,G are directly connected // to the left and right flipper buttons - output them to lamp90 and 91 @@ -4345,13 +4353,13 @@ INPUT_CHANGED_MEMBER(tpinball_state::flipper_button) } -static MACHINE_CONFIG_START( tpinball, tpinball_state ) +static MACHINE_CONFIG_START( phpball, phpball_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", TMS1100, 375000) // RC osc. R=47K, C=47pf -> ~375kHz - MCFG_TMS1XXX_READ_K_CB(READ8(tpinball_state, read_k)) - MCFG_TMS1XXX_WRITE_R_CB(WRITE16(tpinball_state, write_r)) - MCFG_TMS1XXX_WRITE_O_CB(WRITE16(tpinball_state, write_o)) + MCFG_TMS1XXX_READ_K_CB(READ8(phpball_state, read_k)) + MCFG_TMS1XXX_WRITE_R_CB(WRITE16(phpball_state, write_r)) + MCFG_TMS1XXX_WRITE_O_CB(WRITE16(phpball_state, write_o)) MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) MCFG_DEFAULT_LAYOUT(layout_hh_tms1k_test) @@ -4742,14 +4750,14 @@ ROM_START( tbreakup ) ROM_END -ROM_START( tpinball ) +ROM_START( phpball ) ROM_REGION( 0x0800, "maincpu", 0 ) ROM_LOAD( "mp1180", 0x0000, 0x0800, CRC(2163b92d) SHA1(bc53d1911e88b4e89d951c6f769703105c13389c) ) ROM_REGION( 867, "maincpu:mpla", 0 ) ROM_LOAD( "tms1100_common2_micro.pla", 0, 867, CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990) ) ROM_REGION( 365, "maincpu:opla", 0 ) - ROM_LOAD( "tms1100_tpinball_output.pla", 0, 365, CRC(87e67aaf) SHA1(ebc7bae1352f39173f1bf0dc10cdc6f635dedab4) ) + ROM_LOAD( "tms1100_phpball_output.pla", 0, 365, CRC(87e67aaf) SHA1(ebc7bae1352f39173f1bf0dc10cdc6f635dedab4) ) ROM_END @@ -4798,7 +4806,7 @@ CONS( 1982, mmerlin, 0, 0, mmerlin, mmerlin, driver_device, 0, "Par CONS( 1981, tandy12, 0, 0, tandy12, tandy12, driver_device, 0, "Tandy Radio Shack", "Tandy-12: Computerized Arcade", MACHINE_SUPPORTS_SAVE ) // some of the minigames: *** CONS( 1979, tbreakup, 0, 0, tbreakup, tbreakup, driver_device, 0, "Tomy", "Break Up (Tomy)", MACHINE_SUPPORTS_SAVE ) -CONS( 1980, tpinball, 0, 0, tpinball, tpinball, driver_device, 0, "Tomy", "Pinball (Tomy)", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) +CONS( 1980, phpball, 0, 0, phpball, phpball, driver_device, 0, "Tomy", "Power House Pinball", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) // ***: As far as MAME is concerned, the game is emulated fine. But for it to be playable, it requires interaction // with other, unemulatable, things eg. game board/pieces, playing cards, pen & paper, etc. diff --git a/src/mame/mess.lst b/src/mame/mess.lst index 314d5b7da84..6db340f345b 100644 --- a/src/mame/mess.lst +++ b/src/mame/mess.lst @@ -2262,7 +2262,7 @@ splitsec // Parker Bros mmerlin // Parker Bros tandy12 // Tandy Radio Shack tbreakup // Tomy -tpinball // Tomy +phpball // Tomy // hh_tms1k derivatives elecbowl // Marx