From 5c1e35833f9e8e047d7788b194acb693793bc7e3 Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Sun, 26 Jul 2015 13:43:15 +0200 Subject: [PATCH] namcond1.c: enabled save state support (nw) --- src/mame/drivers/namcond1.c | 28 ++++++++-------------------- src/mame/includes/namcond1.h | 35 ++++++++++++++++++----------------- src/mame/machine/namcond1.c | 23 +++-------------------- 3 files changed, 29 insertions(+), 57 deletions(-) diff --git a/src/mame/drivers/namcond1.c b/src/mame/drivers/namcond1.c index bef6cecaaa7..b95eeca64e5 100644 --- a/src/mame/drivers/namcond1.c +++ b/src/mame/drivers/namcond1.c @@ -70,7 +70,6 @@ Notes: #include "emu.h" #include "cpu/m68000/m68000.h" -#include "video/ygv608.h" #include "cpu/h8/h83002.h" #include "includes/namcond1.h" #include "sound/c352.h" @@ -80,13 +79,13 @@ Notes: static ADDRESS_MAP_START( namcond1_map, AS_PROGRAM, 16, namcond1_state ) AM_RANGE(0x000000, 0x0fffff) AM_ROM - AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(namcond1_shared_ram_r,namcond1_shared_ram_w) AM_SHARE("shared_ram") + AM_RANGE(0x400000, 0x40ffff) AM_RAM AM_SHARE("shared_ram") AM_RANGE(0x800000, 0x80000f) AM_DEVREADWRITE("ygv608", ygv608_device, read, write) AM_RANGE(0xa00000, 0xa00fff) AM_DEVREADWRITE8("at28c16", at28c16_device, read, write, 0xff00) #ifdef MAME_DEBUG AM_RANGE(0xb00000, 0xb00001) AM_DEVREAD("ygv608", ygv608_device, debug_trigger_r) #endif - AM_RANGE(0xc3ff00, 0xc3ffff) AM_READWRITE(namcond1_cuskey_r,namcond1_cuskey_w) + AM_RANGE(0xc3ff00, 0xc3ffff) AM_READWRITE(cuskey_r,cuskey_w) ADDRESS_MAP_END /*************************************************************/ @@ -223,17 +222,6 @@ static GFXDECODE_START( namcond1 ) GFXDECODE_ENTRY( "gfx1", 0x00000000, pts_16x16_8bits_layout, 0, 256 ) GFXDECODE_END -WRITE16_MEMBER(namcond1_state::sharedram_sub_w) -{ - COMBINE_DATA(&m_shared_ram[offset]); -} - -READ16_MEMBER(namcond1_state::sharedram_sub_r) -{ - return m_shared_ram[offset]; -} - - READ16_MEMBER(namcond1_state::mcu_p7_read) { return 0xff; @@ -252,7 +240,7 @@ WRITE16_MEMBER(namcond1_state::mcu_pa_write) /* H8/3002 MCU stuff */ static ADDRESS_MAP_START( nd1h8rwmap, AS_PROGRAM, 16, namcond1_state ) AM_RANGE(0x000000, 0x07ffff) AM_ROM - AM_RANGE(0x200000, 0x20ffff) AM_READWRITE(sharedram_sub_r, sharedram_sub_w ) + AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("shared_ram") AM_RANGE(0xa00000, 0xa07fff) AM_DEVREADWRITE("c352", c352_device, read, write) AM_RANGE(0xc00000, 0xc00001) AM_READ_PORT("DSW") AM_RANGE(0xc00002, 0xc00003) AM_READ_PORT("P1_P2") @@ -409,8 +397,8 @@ ROM_START( ncv2j ) ROM_LOAD( "ncs1voic.7c", 0x000000, 0x200000, CRC(ed05fd88) SHA1(ad88632c89a9946708fc6b4c9247e1bae9b2944b) ) ROM_END -GAME( 1995, ncv1, 0, namcond1, namcond1, driver_device, 0, ROT90, "Namco", "Namco Classic Collection Vol.1", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS ) -GAME( 1995, ncv1j, ncv1, namcond1, namcond1, driver_device, 0, ROT90, "Namco", "Namco Classic Collection Vol.1 (Japan, v1.00)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS ) -GAME( 1995, ncv1j2, ncv1, namcond1, namcond1, driver_device, 0, ROT90, "Namco", "Namco Classic Collection Vol.1 (Japan, v1.03)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS ) -GAME( 1996, ncv2, 0, namcond1, namcond1, driver_device, 0, ROT90, "Namco", "Namco Classic Collection Vol.2", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION ) -GAME( 1996, ncv2j, ncv2, namcond1, namcond1, driver_device, 0, ROT90, "Namco", "Namco Classic Collection Vol.2 (Japan)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION ) +GAME( 1995, ncv1, 0, namcond1, namcond1, driver_device, 0, ROT90, "Namco", "Namco Classic Collection Vol.1", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) +GAME( 1995, ncv1j, ncv1, namcond1, namcond1, driver_device, 0, ROT90, "Namco", "Namco Classic Collection Vol.1 (Japan, v1.00)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) +GAME( 1995, ncv1j2, ncv1, namcond1, namcond1, driver_device, 0, ROT90, "Namco", "Namco Classic Collection Vol.1 (Japan, v1.03)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) +GAME( 1996, ncv2, 0, namcond1, namcond1, driver_device, 0, ROT90, "Namco", "Namco Classic Collection Vol.2", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE ) +GAME( 1996, ncv2j, ncv2, namcond1, namcond1, driver_device, 0, ROT90, "Namco", "Namco Classic Collection Vol.2 (Japan)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE ) diff --git a/src/mame/includes/namcond1.h b/src/mame/includes/namcond1.h index 3cc1d6c8288..d1681cbc7da 100644 --- a/src/mame/includes/namcond1.h +++ b/src/mame/includes/namcond1.h @@ -15,27 +15,28 @@ class namcond1_state : public driver_device public: namcond1_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_shared_ram(*this, "shared_ram"), m_maincpu(*this, "maincpu"), m_mcu(*this, "mcu"), - m_ygv608(*this, "ygv608") { } + m_ygv608(*this, "ygv608"), + m_shared_ram(*this, "shared_ram") { } - UINT8 m_h8_irq5_enabled; - required_shared_ptr m_shared_ram; - int m_p8; - DECLARE_WRITE16_MEMBER(sharedram_sub_w); - DECLARE_READ16_MEMBER(sharedram_sub_r); - DECLARE_READ16_MEMBER(mcu_p7_read); - DECLARE_READ16_MEMBER(mcu_pa_read); - DECLARE_WRITE16_MEMBER(mcu_pa_write); - DECLARE_READ16_MEMBER(namcond1_shared_ram_r); - DECLARE_READ16_MEMBER(namcond1_cuskey_r); - DECLARE_WRITE16_MEMBER(namcond1_shared_ram_w); - DECLARE_WRITE16_MEMBER(namcond1_cuskey_w); - virtual void machine_start(); - virtual void machine_reset(); - INTERRUPT_GEN_MEMBER(mcu_interrupt); required_device m_maincpu; required_device m_mcu; required_device m_ygv608; + + required_shared_ptr m_shared_ram; + + UINT8 m_h8_irq5_enabled; + int m_p8; + + DECLARE_READ16_MEMBER(mcu_p7_read); + DECLARE_READ16_MEMBER(mcu_pa_read); + DECLARE_WRITE16_MEMBER(mcu_pa_write); + DECLARE_READ16_MEMBER(cuskey_r); + DECLARE_WRITE16_MEMBER(cuskey_w); + + virtual void machine_start(); + virtual void machine_reset(); + + INTERRUPT_GEN_MEMBER(mcu_interrupt); }; diff --git a/src/mame/machine/namcond1.c b/src/mame/machine/namcond1.c index 2fdca7a7fd1..be45ced175d 100644 --- a/src/mame/machine/namcond1.c +++ b/src/mame/machine/namcond1.c @@ -13,7 +13,6 @@ #include "emu.h" #include "cpu/m6809/m6809.h" -#include "video/ygv608.h" #include "includes/namcond1.h" /* Perform basic machine initialisation */ @@ -22,6 +21,7 @@ void namcond1_state::machine_start() { save_item(NAME(m_h8_irq5_enabled)); + // save_item(NAME(m_p8)); //isn't read anywhere for the time being } void namcond1_state::machine_reset() @@ -51,15 +51,8 @@ void namcond1_state::machine_reset() m_mcu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE); } -// instance of the shared ram pointer - -READ16_MEMBER(namcond1_state::namcond1_shared_ram_r) -{ - return m_shared_ram[offset]; -} - // $c3ff00-$c3ffff -READ16_MEMBER(namcond1_state::namcond1_cuskey_r) +READ16_MEMBER(namcond1_state::cuskey_r) { switch( offset ) { @@ -77,17 +70,7 @@ READ16_MEMBER(namcond1_state::namcond1_cuskey_r) } } -WRITE16_MEMBER(namcond1_state::namcond1_shared_ram_w) -{ - switch( offset ) - { - default : - COMBINE_DATA( m_shared_ram + offset ); - break; - } -} - -WRITE16_MEMBER(namcond1_state::namcond1_cuskey_w) +WRITE16_MEMBER(namcond1_state::cuskey_w) { switch( offset ) {