trunk/src/emu/bus/msx_slot/music.c
| r31029 | r31030 | |
| 9 | 9 | : msx_slot_rom_device(mconfig, MSX_SLOT_MUSIC, "MSX Internal MSX-MUSIC", tag, owner, clock, "msx_slot_music", __FILE__) |
| 10 | 10 | , m_ym2413(NULL) |
| 11 | 11 | , m_ym2413_tag(NULL) |
| 12 | | , m_opll_active(false) |
| 13 | | , m_unlock(0) |
| 14 | 12 | { |
| 15 | 13 | } |
| 16 | 14 | |
| r31029 | r31030 | |
| 37 | 35 | } |
| 38 | 36 | |
| 39 | 37 | |
| 40 | | void msx_slot_music_device::device_reset() |
| 41 | | { |
| 42 | | m_opll_active = false; |
| 43 | | } |
| 44 | | |
| 45 | | |
| 46 | 38 | READ8_MEMBER(msx_slot_music_device::read) |
| 47 | 39 | { |
| 48 | 40 | return msx_slot_rom_device::read(space, offset); |
| 49 | 41 | } |
| 50 | 42 | |
| 51 | 43 | |
| 52 | | WRITE8_MEMBER(msx_slot_music_device::write) |
| 53 | | { |
| 54 | | if (m_unlock == 0xbe && data == 0x41) |
| 55 | | { |
| 56 | | m_opll_active = true; |
| 57 | | } |
| 58 | | m_unlock = data; |
| 59 | | } |
| 60 | | |
| 61 | | |
| 62 | 44 | WRITE8_MEMBER(msx_slot_music_device::write_ym2413) |
| 63 | 45 | { |
| 64 | | if (m_opll_active) |
| 65 | | { |
| 66 | | m_ym2413->write(space, offset & 1, data); |
| 67 | | } |
| 46 | m_ym2413->write(space, offset & 1, data); |
| 68 | 47 | } |
| 69 | 48 | |