Previous 199869 Revisions Next

r34835 Wednesday 4th February, 2015 at 17:16:48 UTC by Osso
dcon.c: added save state support (nw)
[src/mame/drivers]dcon.c
[src/mame/includes]dcon.h
[src/mame/video]dcon.c

trunk/src/mame/drivers/dcon.c
r243346r243347
2626   AM_RANGE(0x00000, 0x7ffff) AM_ROM
2727   AM_RANGE(0x80000, 0x8bfff) AM_RAM
2828
29   AM_RANGE(0x8c000, 0x8c7ff) AM_RAM_WRITE(dcon_background_w) AM_SHARE("back_data")
30   AM_RANGE(0x8c800, 0x8cfff) AM_RAM_WRITE(dcon_foreground_w) AM_SHARE("fore_data")
31   AM_RANGE(0x8d000, 0x8d7ff) AM_RAM_WRITE(dcon_midground_w) AM_SHARE("mid_data")
32   AM_RANGE(0x8d800, 0x8e7ff) AM_RAM_WRITE(dcon_text_w) AM_SHARE("textram")
29   AM_RANGE(0x8c000, 0x8c7ff) AM_RAM_WRITE(background_w) AM_SHARE("back_data")
30   AM_RANGE(0x8c800, 0x8cfff) AM_RAM_WRITE(foreground_w) AM_SHARE("fore_data")
31   AM_RANGE(0x8d000, 0x8d7ff) AM_RAM_WRITE(midground_w) AM_SHARE("mid_data")
32   AM_RANGE(0x8d800, 0x8e7ff) AM_RAM_WRITE(text_w) AM_SHARE("textram")
3333   AM_RANGE(0x8e800, 0x8f7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
3434   AM_RANGE(0x8f800, 0x8ffff) AM_RAM AM_SHARE("spriteram")
35   AM_RANGE(0x9d000, 0x9d7ff) AM_WRITE(dcon_gfxbank_w)
35   AM_RANGE(0x9d000, 0x9d7ff) AM_WRITE(gfxbank_w)
3636
3737   AM_RANGE(0xa0000, 0xa000d) AM_DEVREADWRITE("seibu_sound", seibu_sound_device, main_word_r, main_word_w)
3838   AM_RANGE(0xc0000, 0xc004f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
r243346r243347
403403}
404404
405405
406GAME( 1991, sdgndmps, 0, sdgndmps, sdgndmps, dcon_state, sdgndmps, ROT0, "Banpresto / Bandai", "SD Gundam Psycho Salamander no Kyoui", GAME_NO_COCKTAIL )
407GAME( 1992, dcon,     0, dcon,     dcon, driver_device,     0,        ROT0, "Success",            "D-Con", GAME_NO_COCKTAIL )
406GAME( 1991, sdgndmps, 0, sdgndmps, sdgndmps, dcon_state, sdgndmps, ROT0, "Banpresto / Bandai", "SD Gundam Psycho Salamander no Kyoui", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
407GAME( 1992, dcon,     0, dcon,     dcon, driver_device,     0,        ROT0, "Success",            "D-Con", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
trunk/src/mame/includes/dcon.h
r243346r243347
33public:
44   dcon_state(const machine_config &mconfig, device_type type, const char *tag)
55      : driver_device(mconfig, type, tag),
6      m_maincpu(*this, "maincpu"),
7      m_gfxdecode(*this, "gfxdecode"),
8      m_palette(*this, "palette"),
69      m_back_data(*this, "back_data"),
710      m_fore_data(*this, "fore_data"),
811      m_mid_data(*this, "mid_data"),
912      m_textram(*this, "textram"),
10      m_spriteram(*this, "spriteram"),
11      m_maincpu(*this, "maincpu"),
12      m_gfxdecode(*this, "gfxdecode"),
13      m_palette(*this, "palette") { }
13      m_spriteram(*this, "spriteram") { }
1414
15   required_device<cpu_device> m_maincpu;
16   required_device<gfxdecode_device> m_gfxdecode;
17   required_device<palette_device> m_palette;
18
1519   required_shared_ptr<UINT16> m_back_data;
1620   required_shared_ptr<UINT16> m_fore_data;
1721   required_shared_ptr<UINT16> m_mid_data;
1822   required_shared_ptr<UINT16> m_textram;
1923   required_shared_ptr<UINT16> m_spriteram;
24
2025   tilemap_t *m_background_layer;
2126   tilemap_t *m_foreground_layer;
2227   tilemap_t *m_midground_layer;
2328   tilemap_t *m_text_layer;
24   UINT16 m_enable;
29
2530   int m_gfx_bank_select;
2631   int m_last_gfx_bank;
2732   UINT16 m_scroll_ram[6];
33   UINT16 m_layer_en;
34
2835   DECLARE_WRITE16_MEMBER(layer_en_w);
2936   DECLARE_WRITE16_MEMBER(layer_scroll_w);
30   UINT16 m_layer_en;
37   DECLARE_WRITE16_MEMBER(gfxbank_w);
38   DECLARE_WRITE16_MEMBER(background_w);
39   DECLARE_WRITE16_MEMBER(foreground_w);
40   DECLARE_WRITE16_MEMBER(midground_w);
41   DECLARE_WRITE16_MEMBER(text_w);
3142
32   DECLARE_WRITE16_MEMBER(dcon_gfxbank_w);
33   DECLARE_WRITE16_MEMBER(dcon_background_w);
34   DECLARE_WRITE16_MEMBER(dcon_foreground_w);
35   DECLARE_WRITE16_MEMBER(dcon_midground_w);
36   DECLARE_WRITE16_MEMBER(dcon_text_w);
37   DECLARE_DRIVER_INIT(sdgndmps);
3843   TILE_GET_INFO_MEMBER(get_back_tile_info);
3944   TILE_GET_INFO_MEMBER(get_fore_tile_info);
4045   TILE_GET_INFO_MEMBER(get_mid_tile_info);
4146   TILE_GET_INFO_MEMBER(get_text_tile_info);
47   
48   DECLARE_DRIVER_INIT(sdgndmps);
4249   virtual void video_start();
50   
4351   UINT32 screen_update_dcon(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
4452   UINT32 screen_update_sdgndmps(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
4553   void draw_sprites( screen_device &screen, bitmap_ind16 &bitmap,const rectangle &cliprect);
46   required_device<cpu_device> m_maincpu;
47   required_device<gfxdecode_device> m_gfxdecode;
48   required_device<palette_device> m_palette;
4954};
trunk/src/mame/video/dcon.c
r243346r243347
1010
1111/******************************************************************************/
1212
13WRITE16_MEMBER(dcon_state::dcon_gfxbank_w)
13WRITE16_MEMBER(dcon_state::gfxbank_w)
1414{
1515   if (data&1)
1616      m_gfx_bank_select=0x1000;
r243346r243347
1818      m_gfx_bank_select=0;
1919}
2020
21WRITE16_MEMBER(dcon_state::dcon_background_w)
21WRITE16_MEMBER(dcon_state::background_w)
2222{
2323   COMBINE_DATA(&m_back_data[offset]);
2424   m_background_layer->mark_tile_dirty(offset);
2525}
2626
27WRITE16_MEMBER(dcon_state::dcon_foreground_w)
27WRITE16_MEMBER(dcon_state::foreground_w)
2828{
2929   COMBINE_DATA(&m_fore_data[offset]);
3030   m_foreground_layer->mark_tile_dirty(offset);
3131}
3232
33WRITE16_MEMBER(dcon_state::dcon_midground_w)
33WRITE16_MEMBER(dcon_state::midground_w)
3434{
3535   COMBINE_DATA(&m_mid_data[offset]);
3636   m_midground_layer->mark_tile_dirty(offset);
3737}
3838
39WRITE16_MEMBER(dcon_state::dcon_text_w)
39WRITE16_MEMBER(dcon_state::text_w)
4040{
4141   COMBINE_DATA(&m_textram[offset]);
4242   m_text_layer->mark_tile_dirty(offset);
r243346r243347
106106   m_text_layer->set_transparent_pen(15);
107107
108108   m_gfx_bank_select = 0;
109   
110   save_item(NAME(m_gfx_bank_select));
111   save_item(NAME(m_last_gfx_bank));
112   save_item(NAME(m_scroll_ram));
113   save_item(NAME(m_layer_en));
109114}
110115
111116void dcon_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap,const rectangle &cliprect)


Previous 199869 Revisions Next


© 1997-2024 The MAME Team