mirror of
https://github.com/holub/mame
synced 2025-04-20 15:32:45 +03:00
hh_cop400: correct bship82 speaker output
This commit is contained in:
parent
707ce1121b
commit
8af62eef60
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user