diff options
author | cam900 <dbtlrchl@naver.com> | 2019-04-06 05:45:17 +0900 |
---|---|---|
committer | R. Belmont <rb6502@users.noreply.github.com> | 2019-04-05 16:45:16 -0400 |
commit | 8e062e927f535d4d817f48bb26ac52e5f494ba6a (patch) | |
tree | 1f884ca6c45ed86f9e857cea5ec51784794c83b1 /src/mame/drivers/dccons.cpp | |
parent | 28a0152d7f8c3cf5b7516bf96f3d664137ab2098 (diff) |
aica.cpp, aicadsp.cpp : Updates (#4858)
* aica.cpp, aicadsp.cpp : Updates
device_rom_interface for PCM and DSP memory, Fix code styles, Fix some namings, Reduce unnecessary lines, Reduce unused values, Use shorter/correct type values, Simplify handlers
* aica.cpp : Add save state
* aica.cpp : Updates
device_memory_interface'd memory handlers, Reduce memset, Fix spacing
Diffstat (limited to 'src/mame/drivers/dccons.cpp')
-rw-r--r-- | src/mame/drivers/dccons.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/mame/drivers/dccons.cpp b/src/mame/drivers/dccons.cpp index e80204ec145..c14a3a59041 100644 --- a/src/mame/drivers/dccons.cpp +++ b/src/mame/drivers/dccons.cpp @@ -392,7 +392,7 @@ void dc_cons_state::dc_map(address_map &map) map(0x00600000, 0x006007ff).rw(FUNC(dc_cons_state::dc_modem_r), FUNC(dc_cons_state::dc_modem_w)); map(0x00700000, 0x00707fff).rw(FUNC(dc_cons_state::dc_aica_reg_r), FUNC(dc_cons_state::dc_aica_reg_w)); map(0x00710000, 0x0071000f).mirror(0x02000000).rw("aicartc", FUNC(aicartc_device::read), FUNC(aicartc_device::write)).umask64(0x0000ffff0000ffff); - map(0x00800000, 0x009fffff).rw(FUNC(dc_cons_state::sh4_soundram_r), FUNC(dc_cons_state::sh4_soundram_w)); + map(0x00800000, 0x009fffff).rw(FUNC(dc_cons_state::soundram_r), FUNC(dc_cons_state::soundram_w)); // AM_RANGE(0x01000000, 0x01ffffff) G2 Ext Device #1 // AM_RANGE(0x02700000, 0x02707fff) AICA reg mirror // AM_RANGE(0x02800000, 0x02ffffff) AICA wave mem mirror @@ -433,10 +433,16 @@ void dc_cons_state::dc_port(address_map &map) void dc_cons_state::dc_audio_map(address_map &map) { map.unmap_value_high(); - map(0x00000000, 0x001fffff).ram().share("dc_sound_ram"); /* shared with SH-4 */ + map(0x00000000, 0x001fffff).rw(FUNC(dc_cons_state::soundram_r), FUNC(dc_cons_state::soundram_w)); /* shared with SH-4 */ map(0x00800000, 0x00807fff).rw(FUNC(dc_cons_state::dc_arm_aica_r), FUNC(dc_cons_state::dc_arm_aica_w)); } +void dc_cons_state::aica_map(address_map &map) +{ + map.unmap_value_high(); + map(0x000000, 0x1fffff).ram().share("dc_sound_ram"); +} + static INPUT_PORTS_START( dc ) PORT_START("P1:0") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) PORT_NAME("P1 RIGHT") @@ -672,6 +678,7 @@ void dc_cons_state::dc(machine_config &config) AICA(config, m_aica, (XTAL(33'868'800)*2)/3); // 67.7376MHz(2*33.8688MHz), div 3 for audio block m_aica->irq().set(FUNC(dc_state::aica_irq)); m_aica->main_irq().set(FUNC(dc_state::sh4_aica_irq)); + m_aica->set_addrmap(0, &dc_cons_state::aica_map); m_aica->add_route(0, "lspeaker", 1.0); m_aica->add_route(1, "rspeaker", 1.0); |