mirror of
https://github.com/holub/mame
synced 2025-04-24 01:11:11 +03:00
Merge branch 'master' of https://github.com/mamedev/mame.git
This commit is contained in:
commit
b6fe4b5e10
@ -131,11 +131,11 @@ static ADDRESS_MAP_START( common_map, AS_PROGRAM, 16, bloodbro_state )
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
||||
AM_RANGE(0x080000, 0x08afff) AM_RAM
|
||||
AM_RANGE(0x08b000, 0x08bfff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x08c000, 0x08c3ff) AM_RAM_WRITE(bloodbro_bgvideoram_w) AM_SHARE("bgvideoram")
|
||||
AM_RANGE(0x08c000, 0x08c3ff) AM_RAM_WRITE(bgvideoram_w) AM_SHARE("bgvideoram")
|
||||
AM_RANGE(0x08c400, 0x08cfff) AM_RAM
|
||||
AM_RANGE(0x08d000, 0x08d3ff) AM_RAM_WRITE(bloodbro_fgvideoram_w) AM_SHARE("fgvideoram")
|
||||
AM_RANGE(0x08d000, 0x08d3ff) AM_RAM_WRITE(fgvideoram_w) AM_SHARE("fgvideoram")
|
||||
AM_RANGE(0x08d400, 0x08d7ff) AM_RAM
|
||||
AM_RANGE(0x08d800, 0x08dfff) AM_RAM_WRITE(bloodbro_txvideoram_w) AM_SHARE("txvideoram")
|
||||
AM_RANGE(0x08d800, 0x08dfff) AM_RAM_WRITE(txvideoram_w) AM_SHARE("txvideoram")
|
||||
AM_RANGE(0x08e000, 0x08e7ff) AM_RAM
|
||||
AM_RANGE(0x08e800, 0x08f7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
|
||||
AM_RANGE(0x08f800, 0x08ffff) AM_RAM
|
||||
@ -163,11 +163,11 @@ static ADDRESS_MAP_START( weststry_map, AS_PROGRAM, 16, bloodbro_state )
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
||||
AM_RANGE(0x080000, 0x08afff) AM_RAM
|
||||
AM_RANGE(0x08b000, 0x08bfff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x08c000, 0x08c3ff) AM_RAM_WRITE(bloodbro_bgvideoram_w) AM_SHARE("bgvideoram")
|
||||
AM_RANGE(0x08c000, 0x08c3ff) AM_RAM_WRITE(bgvideoram_w) AM_SHARE("bgvideoram")
|
||||
AM_RANGE(0x08c400, 0x08cfff) AM_RAM
|
||||
AM_RANGE(0x08d000, 0x08d3ff) AM_RAM_WRITE(bloodbro_fgvideoram_w) AM_SHARE("fgvideoram")
|
||||
AM_RANGE(0x08d000, 0x08d3ff) AM_RAM_WRITE(fgvideoram_w) AM_SHARE("fgvideoram")
|
||||
AM_RANGE(0x08d400, 0x08d7ff) AM_RAM
|
||||
AM_RANGE(0x08d800, 0x08dfff) AM_RAM_WRITE(bloodbro_txvideoram_w) AM_SHARE("txvideoram")
|
||||
AM_RANGE(0x08d800, 0x08dfff) AM_RAM_WRITE(txvideoram_w) AM_SHARE("txvideoram")
|
||||
AM_RANGE(0x08e000, 0x08ffff) AM_RAM
|
||||
AM_RANGE(0x0c1000, 0x0c1001) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0x0c1002, 0x0c1003) AM_READ_PORT("IN0")
|
||||
@ -663,8 +663,8 @@ ROM_END
|
||||
|
||||
/* Game Drivers */
|
||||
|
||||
GAME( 1990, bloodbro, 0, bloodbro, bloodbro, driver_device, 0, ROT0, "TAD Corporation", "Blood Bros. (set 1)", GAME_NO_COCKTAIL )
|
||||
GAME( 1990, bloodbroa,bloodbro, bloodbro, bloodbro, driver_device, 0, ROT0, "TAD Corporation", "Blood Bros. (set 2)", GAME_NO_COCKTAIL )
|
||||
GAME( 1990, bloodbrob,bloodbro, bloodbro, bloodbro, driver_device, 0, ROT0, "TAD Corporation", "Blood Bros. (set 3)", GAME_NO_COCKTAIL )
|
||||
GAME( 1990, weststry, bloodbro, weststry, weststry, driver_device, 0, ROT0, "bootleg (Datsu)", "West Story (bootleg of Blood Bros.)", GAME_NO_COCKTAIL | GAME_NO_SOUND )
|
||||
GAME( 1990, skysmash, 0, skysmash, skysmash, driver_device, 0, ROT270, "Nihon System", "Sky Smasher", 0 )
|
||||
GAME( 1990, bloodbro, 0, bloodbro, bloodbro, driver_device, 0, ROT0, "TAD Corporation", "Blood Bros. (set 1)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
|
||||
GAME( 1990, bloodbroa,bloodbro, bloodbro, bloodbro, driver_device, 0, ROT0, "TAD Corporation", "Blood Bros. (set 2)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
|
||||
GAME( 1990, bloodbrob,bloodbro, bloodbro, bloodbro, driver_device, 0, ROT0, "TAD Corporation", "Blood Bros. (set 3)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
|
||||
GAME( 1990, weststry, bloodbro, weststry, weststry, driver_device, 0, ROT0, "bootleg (Datsu)", "West Story (bootleg of Blood Bros.)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
|
||||
GAME( 1990, skysmash, 0, skysmash, skysmash, driver_device, 0, ROT270, "Nihon System", "Sky Smasher", 0 | GAME_SUPPORTS_SAVE )
|
||||
|
@ -26,13 +26,13 @@ static ADDRESS_MAP_START( dcon_map, AS_PROGRAM, 16, dcon_state )
|
||||
AM_RANGE(0x00000, 0x7ffff) AM_ROM
|
||||
AM_RANGE(0x80000, 0x8bfff) AM_RAM
|
||||
|
||||
AM_RANGE(0x8c000, 0x8c7ff) AM_RAM_WRITE(dcon_background_w) AM_SHARE("back_data")
|
||||
AM_RANGE(0x8c800, 0x8cfff) AM_RAM_WRITE(dcon_foreground_w) AM_SHARE("fore_data")
|
||||
AM_RANGE(0x8d000, 0x8d7ff) AM_RAM_WRITE(dcon_midground_w) AM_SHARE("mid_data")
|
||||
AM_RANGE(0x8d800, 0x8e7ff) AM_RAM_WRITE(dcon_text_w) AM_SHARE("textram")
|
||||
AM_RANGE(0x8c000, 0x8c7ff) AM_RAM_WRITE(background_w) AM_SHARE("back_data")
|
||||
AM_RANGE(0x8c800, 0x8cfff) AM_RAM_WRITE(foreground_w) AM_SHARE("fore_data")
|
||||
AM_RANGE(0x8d000, 0x8d7ff) AM_RAM_WRITE(midground_w) AM_SHARE("mid_data")
|
||||
AM_RANGE(0x8d800, 0x8e7ff) AM_RAM_WRITE(text_w) AM_SHARE("textram")
|
||||
AM_RANGE(0x8e800, 0x8f7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
|
||||
AM_RANGE(0x8f800, 0x8ffff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x9d000, 0x9d7ff) AM_WRITE(dcon_gfxbank_w)
|
||||
AM_RANGE(0x9d000, 0x9d7ff) AM_WRITE(gfxbank_w)
|
||||
|
||||
AM_RANGE(0xa0000, 0xa000d) AM_DEVREADWRITE("seibu_sound", seibu_sound_device, main_word_r, main_word_w)
|
||||
AM_RANGE(0xc0000, 0xc004f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
|
||||
@ -403,5 +403,5 @@ DRIVER_INIT_MEMBER(dcon_state,sdgndmps)
|
||||
}
|
||||
|
||||
|
||||
GAME( 1991, sdgndmps, 0, sdgndmps, sdgndmps, dcon_state, sdgndmps, ROT0, "Banpresto / Bandai", "SD Gundam Psycho Salamander no Kyoui", GAME_NO_COCKTAIL )
|
||||
GAME( 1992, dcon, 0, dcon, dcon, driver_device, 0, ROT0, "Success", "D-Con", GAME_NO_COCKTAIL )
|
||||
GAME( 1991, sdgndmps, 0, sdgndmps, sdgndmps, dcon_state, sdgndmps, ROT0, "Banpresto / Bandai", "SD Gundam Psycho Salamander no Kyoui", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
|
||||
GAME( 1992, dcon, 0, dcon, dcon, driver_device, 0, ROT0, "Success", "D-Con", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
|
||||
|
@ -3,14 +3,18 @@ class bloodbro_state : public driver_device
|
||||
public:
|
||||
bloodbro_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_gfxdecode(*this, "gfxdecode"),
|
||||
m_palette(*this, "palette"),
|
||||
m_spriteram(*this, "spriteram"),
|
||||
m_bgvideoram(*this, "bgvideoram"),
|
||||
m_fgvideoram(*this, "fgvideoram"),
|
||||
m_txvideoram(*this, "txvideoram"),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_gfxdecode(*this, "gfxdecode"),
|
||||
m_palette(*this, "palette") { }
|
||||
m_txvideoram(*this, "txvideoram") { }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
required_shared_ptr<UINT16> m_spriteram;
|
||||
required_shared_ptr<UINT16> m_bgvideoram;
|
||||
required_shared_ptr<UINT16> m_fgvideoram;
|
||||
@ -18,25 +22,26 @@ public:
|
||||
|
||||
UINT16 m_scrollram[6];
|
||||
UINT16 m_layer_en;
|
||||
|
||||
tilemap_t *m_bg_tilemap;
|
||||
tilemap_t *m_fg_tilemap;
|
||||
tilemap_t *m_tx_tilemap;
|
||||
|
||||
DECLARE_WRITE16_MEMBER(bloodbro_bgvideoram_w);
|
||||
DECLARE_WRITE16_MEMBER(bloodbro_fgvideoram_w);
|
||||
DECLARE_WRITE16_MEMBER(bloodbro_txvideoram_w);
|
||||
DECLARE_WRITE16_MEMBER(bgvideoram_w);
|
||||
DECLARE_WRITE16_MEMBER(fgvideoram_w);
|
||||
DECLARE_WRITE16_MEMBER(txvideoram_w);
|
||||
DECLARE_WRITE16_MEMBER(layer_en_w);
|
||||
DECLARE_WRITE16_MEMBER(layer_scroll_w);
|
||||
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_tx_tile_info);
|
||||
|
||||
virtual void video_start();
|
||||
|
||||
UINT32 screen_update_bloodbro(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
UINT32 screen_update_weststry(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
UINT32 screen_update_skysmash(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void bloodbro_draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void weststry_draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<palette_device> m_palette;
|
||||
};
|
||||
|
@ -3,47 +3,52 @@ class dcon_state : public driver_device
|
||||
public:
|
||||
dcon_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_gfxdecode(*this, "gfxdecode"),
|
||||
m_palette(*this, "palette"),
|
||||
m_back_data(*this, "back_data"),
|
||||
m_fore_data(*this, "fore_data"),
|
||||
m_mid_data(*this, "mid_data"),
|
||||
m_textram(*this, "textram"),
|
||||
m_spriteram(*this, "spriteram"),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_gfxdecode(*this, "gfxdecode"),
|
||||
m_palette(*this, "palette") { }
|
||||
m_spriteram(*this, "spriteram") { }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
required_shared_ptr<UINT16> m_back_data;
|
||||
required_shared_ptr<UINT16> m_fore_data;
|
||||
required_shared_ptr<UINT16> m_mid_data;
|
||||
required_shared_ptr<UINT16> m_textram;
|
||||
required_shared_ptr<UINT16> m_spriteram;
|
||||
|
||||
tilemap_t *m_background_layer;
|
||||
tilemap_t *m_foreground_layer;
|
||||
tilemap_t *m_midground_layer;
|
||||
tilemap_t *m_text_layer;
|
||||
UINT16 m_enable;
|
||||
|
||||
int m_gfx_bank_select;
|
||||
int m_last_gfx_bank;
|
||||
UINT16 m_scroll_ram[6];
|
||||
DECLARE_WRITE16_MEMBER(layer_en_w);
|
||||
DECLARE_WRITE16_MEMBER(layer_scroll_w);
|
||||
UINT16 m_layer_en;
|
||||
|
||||
DECLARE_WRITE16_MEMBER(dcon_gfxbank_w);
|
||||
DECLARE_WRITE16_MEMBER(dcon_background_w);
|
||||
DECLARE_WRITE16_MEMBER(dcon_foreground_w);
|
||||
DECLARE_WRITE16_MEMBER(dcon_midground_w);
|
||||
DECLARE_WRITE16_MEMBER(dcon_text_w);
|
||||
DECLARE_DRIVER_INIT(sdgndmps);
|
||||
DECLARE_WRITE16_MEMBER(layer_en_w);
|
||||
DECLARE_WRITE16_MEMBER(layer_scroll_w);
|
||||
DECLARE_WRITE16_MEMBER(gfxbank_w);
|
||||
DECLARE_WRITE16_MEMBER(background_w);
|
||||
DECLARE_WRITE16_MEMBER(foreground_w);
|
||||
DECLARE_WRITE16_MEMBER(midground_w);
|
||||
DECLARE_WRITE16_MEMBER(text_w);
|
||||
|
||||
TILE_GET_INFO_MEMBER(get_back_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_fore_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_mid_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_text_tile_info);
|
||||
|
||||
DECLARE_DRIVER_INIT(sdgndmps);
|
||||
virtual void video_start();
|
||||
|
||||
UINT32 screen_update_dcon(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
UINT32 screen_update_sdgndmps(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void draw_sprites( screen_device &screen, bitmap_ind16 &bitmap,const rectangle &cliprect);
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<palette_device> m_palette;
|
||||
};
|
||||
|
@ -61,6 +61,9 @@ void bloodbro_state::video_start()
|
||||
|
||||
m_fg_tilemap->set_transparent_pen(15);
|
||||
m_tx_tilemap->set_transparent_pen(15);
|
||||
|
||||
save_item(NAME(m_scrollram));
|
||||
save_item(NAME(m_layer_en));
|
||||
}
|
||||
|
||||
|
||||
@ -71,19 +74,19 @@ void bloodbro_state::video_start()
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
WRITE16_MEMBER(bloodbro_state::bloodbro_bgvideoram_w)
|
||||
WRITE16_MEMBER(bloodbro_state::bgvideoram_w)
|
||||
{
|
||||
COMBINE_DATA(&m_bgvideoram[offset]);
|
||||
m_bg_tilemap->mark_tile_dirty(offset);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(bloodbro_state::bloodbro_fgvideoram_w)
|
||||
WRITE16_MEMBER(bloodbro_state::fgvideoram_w)
|
||||
{
|
||||
COMBINE_DATA(&m_fgvideoram[offset]);
|
||||
m_fg_tilemap->mark_tile_dirty(offset);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(bloodbro_state::bloodbro_txvideoram_w)
|
||||
WRITE16_MEMBER(bloodbro_state::txvideoram_w)
|
||||
{
|
||||
COMBINE_DATA(&m_txvideoram[offset]);
|
||||
m_tx_tilemap->mark_tile_dirty(offset);
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
WRITE16_MEMBER(dcon_state::dcon_gfxbank_w)
|
||||
WRITE16_MEMBER(dcon_state::gfxbank_w)
|
||||
{
|
||||
if (data&1)
|
||||
m_gfx_bank_select=0x1000;
|
||||
@ -18,25 +18,25 @@ WRITE16_MEMBER(dcon_state::dcon_gfxbank_w)
|
||||
m_gfx_bank_select=0;
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(dcon_state::dcon_background_w)
|
||||
WRITE16_MEMBER(dcon_state::background_w)
|
||||
{
|
||||
COMBINE_DATA(&m_back_data[offset]);
|
||||
m_background_layer->mark_tile_dirty(offset);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(dcon_state::dcon_foreground_w)
|
||||
WRITE16_MEMBER(dcon_state::foreground_w)
|
||||
{
|
||||
COMBINE_DATA(&m_fore_data[offset]);
|
||||
m_foreground_layer->mark_tile_dirty(offset);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(dcon_state::dcon_midground_w)
|
||||
WRITE16_MEMBER(dcon_state::midground_w)
|
||||
{
|
||||
COMBINE_DATA(&m_mid_data[offset]);
|
||||
m_midground_layer->mark_tile_dirty(offset);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(dcon_state::dcon_text_w)
|
||||
WRITE16_MEMBER(dcon_state::text_w)
|
||||
{
|
||||
COMBINE_DATA(&m_textram[offset]);
|
||||
m_text_layer->mark_tile_dirty(offset);
|
||||
@ -106,6 +106,11 @@ void dcon_state::video_start()
|
||||
m_text_layer->set_transparent_pen(15);
|
||||
|
||||
m_gfx_bank_select = 0;
|
||||
|
||||
save_item(NAME(m_gfx_bank_select));
|
||||
save_item(NAME(m_last_gfx_bank));
|
||||
save_item(NAME(m_scroll_ram));
|
||||
save_item(NAME(m_layer_en));
|
||||
}
|
||||
|
||||
void dcon_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap,const rectangle &cliprect)
|
||||
|
Loading…
Reference in New Issue
Block a user