void msx_cart_msx_audio_hxmu900_device::device_add_mconfig(machine_config &config) { // This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'. SPEAKER(config, "mono").front_center(); Y8950(config, m_y8950, XTAL(3'579'545)); // Not verified m_y8950->add_route(ALL_OUTPUTS, "mono", 0.40); m_y8950->keyboard_write().set("kbdc", FUNC(msx_audio_kbdc_port_device::write)); m_y8950->keyboard_read().set("kbdc", FUNC(msx_audio_kbdc_port_device::read)); MSX_AUDIO_KBDC_PORT(config, "kbdc", msx_audio_keyboards, nullptr); }
void msx_cart_msx_audio_nms1205_device::device_add_mconfig(machine_config &config) { // This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'. // At the same time the sound is also output on two output on the nms1205 cartridge itself SPEAKER(config, "mono").front_center(); Y8950(config, m_y8950, XTAL(3'579'545)); m_y8950->add_route(ALL_OUTPUTS, "mono", 0.40); m_y8950->keyboard_write().set("kbdc", FUNC(msx_audio_kbdc_port_device::write)); m_y8950->keyboard_read().set("kbdc", FUNC(msx_audio_kbdc_port_device::read)); m_y8950->irq().set(FUNC(msx_cart_msx_audio_nms1205_device::irq_write)); MSX_AUDIO_KBDC_PORT(config, "kbdc", msx_audio_keyboards, nullptr); // There is a 2 MHz crystal on the PCB, the 6850 TX and RX clocks are derived from it ACIA6850(config, m_acia6850, 0); m_acia6850->txd_handler().set("mdout", FUNC(midi_port_device::write_txd)); MIDI_PORT(config, "mdin", midiin_slot, "midiin").rxd_handler().set(FUNC(msx_cart_msx_audio_nms1205_device::midi_in)); MIDI_PORT(config, m_mdthru, midiout_slot, "midiout"); MIDI_PORT(config, m_mdout, midiout_slot, "midiout"); }
void msx_cart_sfg_device::device_add_mconfig(machine_config &config) { // YM2151 (OPM) // YM3012 (DAC) // YM2148 (MKS) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); YM2151(config, m_ym2151, XTAL(3'579'545)); // The SFG01 uses a YM2151, the SFG05 uses a YM2164, input clock comes from the main cpu frequency m_ym2151->irq_handler().set(FUNC(msx_cart_sfg_device::ym2151_irq_w)); m_ym2151->add_route(0, "lspeaker", 0.80); m_ym2151->add_route(1, "rspeaker", 0.80); YM2148(config, m_ym2148, XTAL(4'000'000)); m_ym2148->txd_handler().set("mdout", FUNC(midi_port_device::write_txd)); m_ym2148->port_write_handler().set("kbdc", FUNC(msx_audio_kbdc_port_device::write)); m_ym2148->port_read_handler().set("kbdc", FUNC(msx_audio_kbdc_port_device::read)); m_ym2148->irq_handler().set(FUNC(msx_cart_sfg_device::ym2148_irq_w)); MSX_AUDIO_KBDC_PORT(config, m_kbdc, msx_audio_keyboards, nullptr); MIDI_PORT(config, "mdout", midiout_slot, "midiout"); MIDI_PORT(config, "mdin", midiin_slot, "midiin").rxd_handler().set("ym2148", FUNC(ym2148_device::write_rxd)); }