summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2015-03-05 18:26:32 +0100
committer Ivan Vangelista <mesgnet@yahoo.it>2015-03-05 18:26:32 +0100
commitdb8b7a2fd6be10d45ca84c34e7f923d51f447ca7 (patch)
tree140ed1599333c97288ffc5c871b2a9e7c0d5023e
parenta47ce0dc432fe24542ae8d5f10b59b13102ce44b (diff)
nova2001.c: enabled save state support (nw)
-rw-r--r--src/mame/drivers/nova2001.c14
-rw-r--r--src/mame/includes/nova2001.h37
2 files changed, 29 insertions, 22 deletions
diff --git a/src/mame/drivers/nova2001.c b/src/mame/drivers/nova2001.c
index 77140cfea1e..229291b514e 100644
--- a/src/mame/drivers/nova2001.c
+++ b/src/mame/drivers/nova2001.c
@@ -994,10 +994,10 @@ DRIVER_INIT_MEMBER(nova2001_state,raiders5)
*************************************/
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
-GAME( 1983, nova2001, 0, nova2001, nova2001, driver_device, 0, ROT0, "UPL", "Nova 2001 (Japan)", 0 )
-GAME( 1983, nova2001u, nova2001, nova2001, nova2001, driver_device, 0, ROT0, "UPL (Universal license)", "Nova 2001 (US)", 0 )
-GAME( 1984, ninjakun, 0, ninjakun, ninjakun, driver_device, 0, ROT0, "UPL (Taito license)", "Ninjakun Majou no Bouken", 0 )
-GAME( 1985, pkunwar, 0, pkunwar, pkunwar, nova2001_state, pkunwar, ROT0, "UPL", "Penguin-Kun Wars (US)", 0 )
-GAME( 1985, pkunwarj, pkunwar, pkunwar, pkunwar, nova2001_state, pkunwar, ROT0, "UPL", "Penguin-Kun Wars (Japan)", 0 )
-GAME( 1985, raiders5, 0, raiders5, raiders5, nova2001_state, raiders5, ROT0, "UPL", "Raiders5", 0 )
-GAME( 1985, raiders5t, raiders5, raiders5, raiders5, nova2001_state, raiders5, ROT0, "UPL (Taito license)", "Raiders5 (Japan)", 0 )
+GAME( 1983, nova2001, 0, nova2001, nova2001, driver_device, 0, ROT0, "UPL", "Nova 2001 (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1983, nova2001u, nova2001, nova2001, nova2001, driver_device, 0, ROT0, "UPL (Universal license)", "Nova 2001 (US)", GAME_SUPPORTS_SAVE )
+GAME( 1984, ninjakun, 0, ninjakun, ninjakun, driver_device, 0, ROT0, "UPL (Taito license)", "Ninjakun Majou no Bouken", GAME_SUPPORTS_SAVE )
+GAME( 1985, pkunwar, 0, pkunwar, pkunwar, nova2001_state, pkunwar, ROT0, "UPL", "Penguin-Kun Wars (US)", GAME_SUPPORTS_SAVE )
+GAME( 1985, pkunwarj, pkunwar, pkunwar, pkunwar, nova2001_state, pkunwar, ROT0, "UPL", "Penguin-Kun Wars (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1985, raiders5, 0, raiders5, raiders5, nova2001_state, raiders5, ROT0, "UPL", "Raiders5", GAME_SUPPORTS_SAVE )
+GAME( 1985, raiders5t, raiders5, raiders5, raiders5, nova2001_state, raiders5, ROT0, "UPL (Taito license)", "Raiders5 (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/includes/nova2001.h b/src/mame/includes/nova2001.h
index e0a7203e74e..bf6ebdb0b41 100644
--- a/src/mame/includes/nova2001.h
+++ b/src/mame/includes/nova2001.h
@@ -3,19 +3,25 @@ class nova2001_state : public driver_device
public:
nova2001_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
- m_fg_videoram(*this, "fg_videoram"),
- m_bg_videoram(*this, "bg_videoram"),
- m_spriteram(*this, "spriteram"),
m_maincpu(*this, "maincpu"),
m_gfxdecode(*this, "gfxdecode"),
- m_palette(*this, "palette") { }
+ m_palette(*this, "palette"),
+ m_fg_videoram(*this, "fg_videoram"),
+ m_bg_videoram(*this, "bg_videoram"),
+ m_spriteram(*this, "spriteram") { }
+
+ required_device<cpu_device> m_maincpu;
+ required_device<gfxdecode_device> m_gfxdecode;
+ required_device<palette_device> m_palette;
- UINT8 m_ninjakun_io_a002_ctrl;
optional_shared_ptr<UINT8> m_fg_videoram;
required_shared_ptr<UINT8> m_bg_videoram;
+ optional_shared_ptr<UINT8> m_spriteram;
+
+ UINT8 m_ninjakun_io_a002_ctrl;
tilemap_t *m_bg_tilemap;
tilemap_t *m_fg_tilemap;
- optional_shared_ptr<UINT8> m_spriteram;
+
DECLARE_WRITE8_MEMBER(ninjakun_cpu1_io_A002_w);
DECLARE_WRITE8_MEMBER(ninjakun_cpu2_io_A002_w);
DECLARE_WRITE8_MEMBER(ninjakun_paletteram_w);
@@ -27,9 +33,18 @@ public:
DECLARE_WRITE8_MEMBER(nova2001_scroll_y_w);
DECLARE_WRITE8_MEMBER(nova2001_flipscreen_w);
DECLARE_WRITE8_MEMBER(pkunwar_flipscreen_w);
+
DECLARE_CUSTOM_INPUT_MEMBER(ninjakun_io_A002_ctrl_r);
+
DECLARE_DRIVER_INIT(raiders5);
DECLARE_DRIVER_INIT(pkunwar);
+ DECLARE_VIDEO_START(nova2001);
+ DECLARE_PALETTE_INIT(nova2001);
+ DECLARE_MACHINE_START(ninjakun);
+ DECLARE_VIDEO_START(ninjakun);
+ DECLARE_VIDEO_START(pkunwar);
+ DECLARE_VIDEO_START(raiders5);
+
TILE_GET_INFO_MEMBER(nova2001_get_bg_tile_info);
TILE_GET_INFO_MEMBER(nova2001_get_fg_tile_info);
TILE_GET_INFO_MEMBER(ninjakun_get_bg_tile_info);
@@ -37,12 +52,7 @@ public:
TILE_GET_INFO_MEMBER(pkunwar_get_bg_tile_info);
TILE_GET_INFO_MEMBER(raiders5_get_bg_tile_info);
TILE_GET_INFO_MEMBER(raiders5_get_fg_tile_info);
- DECLARE_VIDEO_START(nova2001);
- DECLARE_PALETTE_INIT(nova2001);
- DECLARE_MACHINE_START(ninjakun);
- DECLARE_VIDEO_START(ninjakun);
- DECLARE_VIDEO_START(pkunwar);
- DECLARE_VIDEO_START(raiders5);
+
UINT32 screen_update_nova2001(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
UINT32 screen_update_ninjakun(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
UINT32 screen_update_pkunwar(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -50,7 +60,4 @@ public:
void nova2001_draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect );
void pkunwar_draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect );
void lineswap_gfx_roms(const char *region, const int bit);
- required_device<cpu_device> m_maincpu;
- required_device<gfxdecode_device> m_gfxdecode;
- required_device<palette_device> m_palette;
};