diff options
Diffstat (limited to 'src/devices/bus/a2bus/a2mockingboard.cpp')
-rw-r--r-- | src/devices/bus/a2bus/a2mockingboard.cpp | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/src/devices/bus/a2bus/a2mockingboard.cpp b/src/devices/bus/a2bus/a2mockingboard.cpp index 167c7dc2f6f..c7f5fda534d 100644 --- a/src/devices/bus/a2bus/a2mockingboard.cpp +++ b/src/devices/bus/a2bus/a2mockingboard.cpp @@ -53,7 +53,7 @@ void a2bus_ayboard_device::add_common_devices(machine_config &config) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); AY8913(config, m_ay1, 1022727); - m_ay1->add_route(ALL_OUTPUTS, "lspeaker", 1.0); + m_ay1->add_route(ALL_OUTPUTS, "lspeaker", 0.5); } void a2bus_ayboard_device::device_add_mconfig(machine_config &config) @@ -61,7 +61,7 @@ void a2bus_ayboard_device::device_add_mconfig(machine_config &config) add_common_devices(config); AY8913(config, m_ay2, 1022727); - m_ay2->add_route(ALL_OUTPUTS, "rspeaker", 1.0); + m_ay2->add_route(ALL_OUTPUTS, "rspeaker", 0.5); } void a2bus_mockingboard_device::device_add_mconfig(machine_config &config) @@ -72,7 +72,7 @@ void a2bus_mockingboard_device::device_add_mconfig(machine_config &config) m_via1->cb2_handler().set(FUNC(a2bus_mockingboard_device::write_via1_cb2)); AY8913(config, m_ay2, 1022727); - m_ay2->add_route(ALL_OUTPUTS, "rspeaker", 1.0); + m_ay2->add_route(ALL_OUTPUTS, "rspeaker", 0.5); VOTRAX_SC01(config, m_sc01, 1022727); m_sc01->ar_callback().set(m_via1, FUNC(via6522_device::write_cb1)); @@ -92,9 +92,9 @@ void a2bus_phasor_device::device_add_mconfig(machine_config &config) AY8913(config, m_ay2, 1022727); AY8913(config, m_ay3, 1022727); AY8913(config, m_ay4, 1022727); - m_ay2->add_route(ALL_OUTPUTS, "lspeaker2", 1.0); - m_ay3->add_route(ALL_OUTPUTS, "rspeaker", 1.0); - m_ay4->add_route(ALL_OUTPUTS, "rspeaker2", 1.0); + m_ay2->add_route(ALL_OUTPUTS, "lspeaker2", 0.5); + m_ay3->add_route(ALL_OUTPUTS, "rspeaker", 0.5); + m_ay4->add_route(ALL_OUTPUTS, "rspeaker2", 0.5); } void a2bus_echoplus_device::device_add_mconfig(machine_config &config) @@ -102,7 +102,7 @@ void a2bus_echoplus_device::device_add_mconfig(machine_config &config) add_common_devices(config); AY8913(config, m_ay2, 1022727); - m_ay2->add_route(ALL_OUTPUTS, "rspeaker", 1.0); + m_ay2->add_route(ALL_OUTPUTS, "rspeaker", 0.5); SPEAKER(config, "echosp").front_center(); TMS5220(config, m_tms, 640000); @@ -414,16 +414,35 @@ void a2bus_phasor_device::via2_out_b(uint8_t data) } } +void a2bus_phasor_device::set_clocks() +{ + if (m_native) + { + m_ay1->set_clock(1022727*2); + m_ay2->set_clock(1022727*2); + m_ay3->set_clock(1022727*2); + m_ay4->set_clock(1022727*2); + } + else + { + m_ay1->set_clock(1022727); + m_ay2->set_clock(1022727); + m_ay3->set_clock(1022727); + m_ay4->set_clock(1022727); + } +} uint8_t a2bus_phasor_device::read_c0nx(uint8_t offset) { m_native = BIT(offset, 0); + set_clocks(); return 0xff; } void a2bus_phasor_device::write_c0nx(uint8_t offset, uint8_t data) { m_native = BIT(offset, 0); + set_clocks(); } uint8_t a2bus_echoplus_device::read_c0nx(uint8_t offset) |