diff --git a/src/mame/drivers/hh_cop400.cpp b/src/mame/drivers/hh_cop400.cpp index d98ac882fbc..f44587a415f 100644 --- a/src/mame/drivers/hh_cop400.cpp +++ b/src/mame/drivers/hh_cop400.cpp @@ -1542,6 +1542,7 @@ public: { } void write_d(u8 data); + void write_g(u8 data); u8 read_l(); u8 read_in(); DECLARE_WRITE_LINE_MEMBER(write_so); @@ -1556,6 +1557,13 @@ void bship82_state::write_d(u8 data) m_inp_mux = data; } +void bship82_state::write_g(u8 data) +{ + // G0-G2: speaker out via 3.9K, 2.2K, 1.0K resistor + // G3: enable speaker + m_speaker->level_w((data & 8) ? (data & 7) : 0); +} + u8 bship82_state::read_l() { // L: multiplexed inputs @@ -1637,31 +1645,13 @@ static INPUT_PORTS_START( bship82 ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_TOGGLE PORT_CODE(KEYCODE_F1) PORT_NAME("Load/Go") // switch INPUT_PORTS_END -/* - -http://www.seanriddle.com/bship82.txt - -21 G0 3.9K resistor to speaker transistor base -22 G1 2.2K resistor to speaker transistor base -23 G2 1.0K resistor to speaker transistor base -24 G3 speaker transistor base tied high 4.7K - -speaker connection -2N3904 transistor: -emitter to 10ohm resistor to ground -collector to 68ohm resistor to speaker (other speaker terminal to VCC) -base pulled high with 4.7K resistor, connects directly to G3, 1K resistor to G2, -2.2K resistor to G1, 3.9K resistor to G0 - -*/ - void bship82_state::bship82(machine_config &config) { /* basic machine hardware */ COP420(config, m_maincpu, 750000); // approximation - RC osc. R=14K, C=100pF m_maincpu->set_config(COP400_CKI_DIVISOR_4, COP400_CKO_OSCILLATOR_OUTPUT, false); // guessed m_maincpu->write_d().set(FUNC(bship82_state::write_d)); - m_maincpu->write_g().set("dac", FUNC(dac_byte_interface::data_w)); + m_maincpu->write_g().set(FUNC(bship82_state::write_g)); m_maincpu->read_l().set(FUNC(bship82_state::read_l)); m_maincpu->read_in().set(FUNC(bship82_state::read_in)); m_maincpu->write_so().set(FUNC(bship82_state::write_so)); @@ -1673,7 +1663,10 @@ void bship82_state::bship82(machine_config &config) /* sound hardware */ SPEAKER(config, "mono").front_center(); - DAC_4BIT_BINARY_WEIGHTED_SIGN_MAGNITUDE(config, "dac").add_route(ALL_OUTPUTS, "mono", 0.125); // see above + SPEAKER_SOUND(config, m_speaker); + static const double speaker_levels[8] = { 0.0, 1.0/7.0, 2.0/7.0, 3.0/7.0, 4.0/7.0, 5.0/7.0, 6.0/7.0, 1.0 }; + m_speaker->set_levels(8, speaker_levels); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); } // roms @@ -1956,4 +1949,4 @@ CONS( 1979, qkracer, 0, 0, qkracer, qkracer, qkracer_state, e CONS( 1987, vidchal, 0, 0, vidchal, vidchal, vidchal_state, empty_init, "Select Merchandise", "Video Challenger", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) // ***: 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. +// with other, unemulatable, things eg. game board/pieces, book, playing cards, pen & paper, etc. diff --git a/src/mame/drivers/hh_cops1.cpp b/src/mame/drivers/hh_cops1.cpp index 1d11b928655..4c1165e89c1 100644 --- a/src/mame/drivers/hh_cops1.cpp +++ b/src/mame/drivers/hh_cops1.cpp @@ -133,6 +133,10 @@ namespace { Judging from videos online, there are two versions of Basketball. One where the display shows "12" at power-on(as on MAME), and one that shows "15". + There's also an other version of Hockey, presumably for the foreign market. + It plays more like Basketball/Soccer: no penalty boxes and you can't go + behind the goal. + ***************************************************************************/ class mbaskb_state : public hh_cops1_state @@ -640,4 +644,7 @@ CONS( 1978, msoccer, 0, 0, msoccer, mbaskb, mbaskb_state, empty_ CONS( 1978, mhockey, 0, 0, mhockey, mbaskb, mbaskb_state, empty_init, "Mattel", "Hockey (Mattel)", MACHINE_SUPPORTS_SAVE ) CONS( 1977, qkracerm, qkracer, 0, qkracerm, qkracerm, qkracerm_state, empty_init, "National Semiconductor", "QuizKid Racer (MM5799 version)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW | MACHINE_NODEVICE_LAN ) -CONS( 1978, qkspeller, 0, 0, qkspeller, qkspeller, qkspeller_state, empty_init, "National Semiconductor", "QuizKid Speller", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW ) +CONS( 1978, qkspeller, 0, 0, qkspeller, qkspeller, qkspeller_state, empty_init, "National Semiconductor", "QuizKid Speller", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW ) // *** + +// ***: 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, book, playing cards, pen & paper, etc. diff --git a/src/mame/drivers/hh_pps41.cpp b/src/mame/drivers/hh_pps41.cpp index 4258cdca12a..7b2a1c6f2e1 100644 --- a/src/mame/drivers/hh_pps41.cpp +++ b/src/mame/drivers/hh_pps41.cpp @@ -1593,4 +1593,7 @@ CONS( 1979, horocomp, 0, 0, horocomp, horocomp, horocomp_state, empty_in CONS( 1980, mwcfootb, 0, 0, mwcfootb, mwcfootb, mwcfootb_state, empty_init, "Mattel", "World Championship Football", MACHINE_SUPPORTS_SAVE ) CONS( 1978, scrabsen, 0, 0, scrabsen, scrabsen, scrabsen_state, empty_init, "Selchow & Righter", "Scrabble Sensor - Electronic Word Game", MACHINE_SUPPORTS_SAVE ) -CONS( 1980, rdqa, 0, 0, rdqa, rdqa, rdqa_state, empty_init, "Selchow & Righter", "Reader's Digest Q&A - Computer Question & Answer Game", MACHINE_SUPPORTS_SAVE ) +CONS( 1980, rdqa, 0, 0, rdqa, rdqa, rdqa_state, empty_init, "Selchow & Righter", "Reader's Digest Q&A - Computer Question & Answer Game", MACHINE_SUPPORTS_SAVE ) // *** + +// ***: 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, book, playing cards, pen & paper, etc. diff --git a/src/mame/drivers/hh_tms1k.cpp b/src/mame/drivers/hh_tms1k.cpp index 8096ce34dd5..9ab445958b8 100644 --- a/src/mame/drivers/hh_tms1k.cpp +++ b/src/mame/drivers/hh_tms1k.cpp @@ -12821,4 +12821,4 @@ CONS( 1980, ssports4, 0, 0, ssports4, ssports4, ssports4_state, emp CONS( 1983, xl25, 0, 0, xl25, xl25, xl25_state, empty_init, "Vulcan Electronics", "XL 25", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_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. +// with other, unemulatable, things eg. game board/pieces, book, playing cards, pen & paper, etc. diff --git a/src/mame/drivers/hh_ucom4.cpp b/src/mame/drivers/hh_ucom4.cpp index 7d78ddc5e96..61be1bd8ace 100644 --- a/src/mame/drivers/hh_ucom4.cpp +++ b/src/mame/drivers/hh_ucom4.cpp @@ -3024,4 +3024,4 @@ CONS( 1982, tcaveman, 0, 0, tcaveman, tcaveman, tcaveman_state, empty_ini CONS( 1984, alnchase, 0, 0, alnchase, alnchase, alnchase_state, empty_init, "Tomy", "Alien Chase", MACHINE_SUPPORTS_SAVE ) // ***: 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. +// with other, unemulatable, things eg. game board/pieces, book, playing cards, pen & paper, etc.