mirror of
https://github.com/holub/mame
synced 2025-04-19 23:12:11 +03:00
namcond1.c: enabled save state support (nw)
This commit is contained in:
parent
0f2cba17c0
commit
5c1e35833f
@ -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 )
|
||||
|
@ -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<UINT16> 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<cpu_device> m_maincpu;
|
||||
required_device<cpu_device> m_mcu;
|
||||
required_device<ygv608_device> m_ygv608;
|
||||
|
||||
required_shared_ptr<UINT16> 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);
|
||||
};
|
||||
|
@ -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 )
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user