trunk/src/emu/bus/msx_cart/bm_012.c
| r31026 | r31027 | |
| 6 | 6 | - hook up all the other signals for the CTC, SIO |
| 7 | 7 | - which type of SIO hookup is used? tmpz84c015af supports SIO/0, SIO/1, and SIO/2 |
| 8 | 8 | - since the SIO signals are not hooked up, the midi in/thru/out ports are also not |
| 9 | | implemented yet |
| 9 | implemented yet. Channel A seems to be used for sending midi data. |
| 10 | 10 | - proper irq handling taking the irq priority into account is not implemented |
| 11 | 11 | - the hookup between 2 PIOs is educated guess work; it could be incorrect |
| 12 | 12 | |
| r31026 | r31027 | |
| 28 | 28 | , m_tmpz84c015af_sio(*this, "tmpz84_sio") |
| 29 | 29 | , m_irq_priority(0) |
| 30 | 30 | , m_bm012_pio(*this, "bm012_pio") |
| 31 | , m_mdthru(*this, "mdthru") |
| 31 | 32 | { |
| 32 | 33 | } |
| 33 | 34 | |
| r31026 | r31027 | |
| 93 | 94 | |
| 94 | 95 | MCFG_Z80SIO0_ADD("tmpz84_sio", XTAL_12MHz/2, 0, 0, 0, 0) |
| 95 | 96 | MCFG_Z80DART_OUT_INT_CB(INPUTLINE("tmpz84_cpu", INPUT_LINE_IRQ0)) |
| 97 | MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE("mdout", midi_port_device, write_txd)) |
| 96 | 98 | |
| 97 | 99 | // Sony CXK5864BSP-10L (8KB ram) |
| 98 | 100 | // Sharp LH0081A Z80A-PIO-0 - For communicating between the MSX and the TMP |
| r31026 | r31027 | |
| 103 | 105 | MCFG_Z80PIO_IN_PB_CB(DEVREAD8("tmpz84_pio", z80pio_device, pb_r)) |
| 104 | 106 | MCFG_Z80PIO_OUT_BRDY_CB(DEVWRITELINE("tmpz84_pio", z80pio_device, strobe_b)) |
| 105 | 107 | |
| 108 | // MIDI ports |
| 109 | MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") |
| 110 | MCFG_MIDI_RX_HANDLER(WRITELINE(msx_cart_bm_012, midi_in)) |
| 111 | |
| 112 | MCFG_MIDI_PORT_ADD("mdthru", midiout_slot, "midiout") |
| 113 | |
| 114 | MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") |
| 106 | 115 | MACHINE_CONFIG_END |
| 107 | 116 | |
| 108 | 117 | |
| r31026 | r31027 | |
| 145 | 154 | } |
| 146 | 155 | |
| 147 | 156 | |
| 157 | WRITE_LINE_MEMBER(msx_cart_bm_012::midi_in) |
| 158 | { |
| 159 | m_mdthru->write_txd(state); |
| 160 | m_tmpz84c015af_sio->rxb_w(state); |
| 161 | } |
| 162 | |
| 163 | |
trunk/src/emu/bus/msx_cart/bm_012.h
| r31026 | r31027 | |
| 5 | 5 | #include "machine/z80pio.h" |
| 6 | 6 | #include "machine/z80ctc.h" |
| 7 | 7 | #include "machine/z80dart.h" |
| 8 | #include "bus/midi/midi.h" |
| 8 | 9 | |
| 9 | 10 | |
| 10 | 11 | extern const device_type MSX_CART_BM_012; |
| r31026 | r31027 | |
| 23 | 24 | virtual void device_reset(); |
| 24 | 25 | |
| 25 | 26 | DECLARE_WRITE8_MEMBER(tmpz84c015af_f4_w); |
| 27 | DECLARE_WRITE_LINE_MEMBER(midi_in); |
| 26 | 28 | |
| 27 | 29 | private: |
| 28 | 30 | // TMPZ84C015AF related |
| r31026 | r31027 | |
| 32 | 34 | UINT8 m_irq_priority; |
| 33 | 35 | |
| 34 | 36 | required_device<z80pio_device> m_bm012_pio; |
| 37 | required_device<midi_port_device> m_mdthru; |
| 35 | 38 | }; |
| 36 | 39 | |
| 37 | 40 | |