mirror of
https://github.com/holub/mame
synced 2025-07-05 18:08:04 +03:00
Merge branch 'master' of https://github.com/mamedev/mame.git
This commit is contained in:
commit
6688996c44
@ -23,7 +23,7 @@
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
WRITE16_MEMBER(darkseal_state::darkseal_control_w)
|
||||
WRITE16_MEMBER(darkseal_state::control_w)
|
||||
{
|
||||
switch (offset<<1) {
|
||||
case 6: /* DMA flag */
|
||||
@ -38,7 +38,7 @@ WRITE16_MEMBER(darkseal_state::darkseal_control_w)
|
||||
}
|
||||
}
|
||||
|
||||
READ16_MEMBER(darkseal_state::darkseal_control_r)
|
||||
READ16_MEMBER(darkseal_state::control_r)
|
||||
{
|
||||
switch (offset<<1)
|
||||
{
|
||||
@ -61,9 +61,9 @@ static ADDRESS_MAP_START( darkseal_map, AS_PROGRAM, 16, darkseal_state )
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
||||
AM_RANGE(0x100000, 0x103fff) AM_RAM AM_SHARE("ram")
|
||||
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x140000, 0x140fff) AM_RAM_WRITE(darkseal_palette_24bit_rg_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x141000, 0x141fff) AM_RAM_WRITE(darkseal_palette_24bit_b_w) AM_SHARE("paletteram2")
|
||||
AM_RANGE(0x180000, 0x18000f) AM_READWRITE(darkseal_control_r, darkseal_control_w)
|
||||
AM_RANGE(0x140000, 0x140fff) AM_RAM_WRITE(palette_24bit_rg_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x141000, 0x141fff) AM_RAM_WRITE(palette_24bit_b_w) AM_SHARE("paletteram2")
|
||||
AM_RANGE(0x180000, 0x18000f) AM_READWRITE(control_r, control_w)
|
||||
|
||||
AM_RANGE(0x200000, 0x201fff) AM_DEVREADWRITE("tilegen2", deco16ic_device, pf1_data_r, pf1_data_w)
|
||||
AM_RANGE(0x202000, 0x203fff) AM_DEVREADWRITE("tilegen2", deco16ic_device, pf2_data_r, pf2_data_w)
|
||||
@ -236,7 +236,7 @@ static MACHINE_CONFIG_START( darkseal, darkseal_state )
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529))
|
||||
MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(darkseal_state, screen_update_darkseal)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(darkseal_state, screen_update)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", darkseal)
|
||||
@ -467,8 +467,8 @@ DRIVER_INIT_MEMBER(darkseal_state,darkseal)
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
GAME( 1990, darkseal, 0, darkseal, darkseal, darkseal_state, darkseal, ROT0, "Data East Corporation", "Dark Seal (World revision 3)", 0 )
|
||||
GAME( 1990, darkseal1, darkseal, darkseal, darkseal, darkseal_state, darkseal, ROT0, "Data East Corporation", "Dark Seal (World revision 1)", 0 )
|
||||
GAME( 1990, darksealj, darkseal, darkseal, darkseal, darkseal_state, darkseal, ROT0, "Data East Corporation", "Dark Seal (Japan revision 4)", 0 )
|
||||
GAME( 1990, gatedoom, darkseal, darkseal, darkseal, darkseal_state, darkseal, ROT0, "Data East Corporation", "Gate of Doom (US revision 4)", 0 )
|
||||
GAME( 1990, gatedoom1, darkseal, darkseal, darkseal, darkseal_state, darkseal, ROT0, "Data East Corporation", "Gate of Doom (US revision 1)", 0 )
|
||||
GAME( 1990, darkseal, 0, darkseal, darkseal, darkseal_state, darkseal, ROT0, "Data East Corporation", "Dark Seal (World revision 3)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1990, darkseal1, darkseal, darkseal, darkseal, darkseal_state, darkseal, ROT0, "Data East Corporation", "Dark Seal (World revision 1)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1990, darksealj, darkseal, darkseal, darkseal, darkseal_state, darkseal, ROT0, "Data East Corporation", "Dark Seal (Japan revision 4)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1990, gatedoom, darkseal, darkseal, darkseal, darkseal_state, darkseal, ROT0, "Data East Corporation", "Gate of Doom (US revision 4)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1990, gatedoom1, darkseal, darkseal, darkseal, darkseal_state, darkseal, ROT0, "Data East Corporation", "Gate of Doom (US revision 1)", GAME_SUPPORTS_SAVE )
|
||||
|
@ -7,42 +7,43 @@ class darkseal_state : public driver_device
|
||||
public:
|
||||
darkseal_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_deco_tilegen1(*this, "tilegen1"),
|
||||
m_deco_tilegen2(*this, "tilegen2"),
|
||||
m_spriteram(*this, "spriteram") ,
|
||||
m_ram(*this, "ram"),
|
||||
m_pf1_rowscroll(*this, "pf1_rowscroll"),
|
||||
m_pf3_rowscroll(*this, "pf3_rowscroll"),
|
||||
m_sprgen(*this, "spritegen"),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_audiocpu(*this, "audiocpu"),
|
||||
m_palette(*this, "palette"),
|
||||
m_deco_tilegen1(*this, "tilegen1"),
|
||||
m_deco_tilegen2(*this, "tilegen2"),
|
||||
m_sprgen(*this, "spritegen"),
|
||||
m_spriteram(*this, "spriteram"),
|
||||
m_ram(*this, "ram"),
|
||||
m_pf1_rowscroll(*this, "pf1_rowscroll"),
|
||||
m_pf3_rowscroll(*this, "pf3_rowscroll"),
|
||||
m_generic_paletteram_16(*this, "paletteram"),
|
||||
m_generic_paletteram2_16(*this, "paletteram2") { }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<cpu_device> m_audiocpu;
|
||||
required_device<palette_device> m_palette;
|
||||
required_device<deco16ic_device> m_deco_tilegen1;
|
||||
required_device<deco16ic_device> m_deco_tilegen2;
|
||||
required_device<decospr_device> m_sprgen;
|
||||
required_device<buffered_spriteram16_device> m_spriteram;
|
||||
|
||||
required_shared_ptr<UINT16> m_ram;
|
||||
required_shared_ptr<UINT16> m_pf1_rowscroll;
|
||||
//UINT16 *m_pf2_rowscroll;
|
||||
required_shared_ptr<UINT16> m_pf3_rowscroll;
|
||||
//UINT16 *m_pf4_rowscroll;
|
||||
optional_device<decospr_device> m_sprgen;
|
||||
|
||||
|
||||
int m_flipscreen;
|
||||
DECLARE_WRITE16_MEMBER(darkseal_control_w);
|
||||
DECLARE_READ16_MEMBER(darkseal_control_r);
|
||||
DECLARE_WRITE16_MEMBER(darkseal_palette_24bit_rg_w);
|
||||
DECLARE_WRITE16_MEMBER(darkseal_palette_24bit_b_w);
|
||||
DECLARE_DRIVER_INIT(darkseal);
|
||||
virtual void video_start();
|
||||
UINT32 screen_update_darkseal(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void update_24bitcol(int offset);
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<cpu_device> m_audiocpu;
|
||||
required_device<palette_device> m_palette;
|
||||
required_shared_ptr<UINT16> m_generic_paletteram_16;
|
||||
required_shared_ptr<UINT16> m_generic_paletteram2_16;
|
||||
|
||||
DECLARE_WRITE16_MEMBER(control_w);
|
||||
DECLARE_READ16_MEMBER(control_r);
|
||||
DECLARE_WRITE16_MEMBER(palette_24bit_rg_w);
|
||||
DECLARE_WRITE16_MEMBER(palette_24bit_b_w);
|
||||
|
||||
DECLARE_DRIVER_INIT(darkseal);
|
||||
virtual void video_start();
|
||||
|
||||
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void update_24bitcol(int offset);
|
||||
};
|
||||
|
@ -36,13 +36,13 @@ void darkseal_state::update_24bitcol(int offset)
|
||||
m_palette->set_pen_color(offset,rgb_t(r,g,b));
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(darkseal_state::darkseal_palette_24bit_rg_w)
|
||||
WRITE16_MEMBER(darkseal_state::palette_24bit_rg_w)
|
||||
{
|
||||
COMBINE_DATA(&m_generic_paletteram_16[offset]);
|
||||
update_24bitcol(offset);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(darkseal_state::darkseal_palette_24bit_b_w)
|
||||
WRITE16_MEMBER(darkseal_state::palette_24bit_b_w)
|
||||
{
|
||||
COMBINE_DATA(&m_generic_paletteram2_16[offset]);
|
||||
update_24bitcol(offset);
|
||||
@ -56,9 +56,11 @@ void darkseal_state::video_start()
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
UINT32 darkseal_state::screen_update_darkseal(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
UINT32 darkseal_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
machine().tilemap().set_flip_all(m_flipscreen ? (TILEMAP_FLIPY | TILEMAP_FLIPX) : 0);
|
||||
address_space &space = machine().driver_data()->generic_space();
|
||||
UINT16 flip = m_deco_tilegen2->pf_control_r(space, 0, 0xffff);
|
||||
flip_screen_set(!BIT(flip, 7));
|
||||
|
||||
bitmap.fill(m_palette->black_pen(), cliprect);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user