Previous 199869 Revisions Next

r30641 Saturday 24th May, 2014 at 19:31:28 UTC by Wilbert Pol
(MESS) msx.c: Added MIDI ports to the NMS1205 music module; haven't been able to test them yet. (nw)
[src/emu/bus/msx_cart]msx_audio.c msx_audio.h

trunk/src/emu/bus/msx_cart/msx_audio.c
r30640r30641
3232
3333
3434TODO:
35- Implement MIDI in/out/through
35- Test MIDI in/out/through
3636- Sample RAM
3737- Implement NMS-1160 keyboard
3838- HX-MU901: ENTER/SELECT keys and multi sensors
r30640r30641
112112   , msx_cart_interface(mconfig, *this)
113113   , m_y8950(*this, "y8950")
114114   , m_acia6850(*this, "acia6850")
115   , m_mdout(*this, "mdout")
116   , m_mdthru(*this, "mdthru")
115117{
116118}
117119
r30640r30641
128130
129131   // There is a 2 MHz crystal on the PCB, the 6850 TX and RX clocks are derived from it
130132   MCFG_DEVICE_ADD("acia6850", ACIA6850, 0)
133   MCFG_ACIA6850_TXD_HANDLER(DEVWRITELINE("mdout", midi_port_device, write_txd))
134
135   MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin")
136   MCFG_MIDI_RX_HANDLER(WRITELINE(msx_cart_msx_audio_nms1205, midi_in))
137
138   MCFG_MIDI_PORT_ADD("mdthru", midiout_slot, "midiout")
139
140   MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout")
131141MACHINE_CONFIG_END
132142
133143
r30640r30641
148158}
149159
150160
161WRITE_LINE_MEMBER(msx_cart_msx_audio_nms1205::midi_in)
162{
163   // MIDI in signals is sent to both the 6850 and the MIDI thru output port
164   m_acia6850->write_rxd(state);
165   m_mdthru->write_txd(state);
166}
167
168
151169void msx_cart_msx_audio_nms1205::device_start()
152170{
153171   // Install IO read/write handlers
154172   address_space &space = machine().device<cpu_device>("maincpu")->space(AS_IO);
155173   space.install_write_handler(0xc0, 0xc1, write8_delegate(FUNC(y8950_device::write), m_y8950.target()));
156174   space.install_read_handler(0xc0, 0xc1, read8_delegate(FUNC(y8950_device::read), m_y8950.target()));
175   space.install_write_handler(0x00, 0x00, write8_delegate(FUNC(acia6850_device::control_w), m_acia6850.target()));
176   space.install_write_handler(0x01, 0x01, write8_delegate(FUNC(acia6850_device::data_w), m_acia6850.target()));
177   space.install_read_handler(0x04,0x04, read8_delegate(FUNC(acia6850_device::status_r), m_acia6850.target()));
178   space.install_read_handler(0x05,0x05, read8_delegate(FUNC(acia6850_device::data_r), m_acia6850.target()));
157179}
158180
159181
trunk/src/emu/bus/msx_cart/msx_audio.h
r30640r30641
44#include "bus/msx_cart/cartridge.h"
55#include "sound/8950intf.h"
66#include "machine/6850acia.h"
7#include "bus/midi/midi.h"
78
89
910extern const device_type MSX_CART_MSX_AUDIO_NMS1205;
r30640r30641
4546
4647   virtual DECLARE_READ8_MEMBER(read_cart);
4748
49   DECLARE_WRITE_LINE_MEMBER(midi_in);
50
4851private:
4952   required_device<y8950_device> m_y8950;
5053   required_device<acia6850_device> m_acia6850;
54   required_device<midi_port_device> m_mdout;
55   required_device<midi_port_device> m_mdthru;
5156};
5257
5358

Previous 199869 Revisions Next


© 1997-2024 The MAME Team