mirror of
https://github.com/holub/mame
synced 2025-04-24 09:20:02 +03:00
gundealr.cpp : Cleanups (#3447)
* gundealr.cpp : Cleanups * gundealr.cpp : Fix build
This commit is contained in:
parent
cfcbccbbd0
commit
7cf95e857a
@ -77,41 +77,55 @@ Z80 CPU - 12MHz/2
|
||||
#include "speaker.h"
|
||||
|
||||
|
||||
WRITE8_MEMBER(gundealr_state::yamyam_bankswitch_w)
|
||||
WRITE8_MEMBER(gundealr_state::bankswitch_w)
|
||||
{
|
||||
membank("bank1")->set_entry(data & 0x07);
|
||||
m_mainbank->set_entry(data & 0x07);
|
||||
}
|
||||
|
||||
|
||||
template<int Xor>
|
||||
WRITE8_MEMBER(gundealr_state::fg_scroll_w)
|
||||
{
|
||||
m_scroll[offset] = data;
|
||||
m_fg_tilemap->set_scrollx(0, m_scroll[0^Xor] | ((m_scroll[1^Xor] & 0x03) << 8));
|
||||
m_fg_tilemap->set_scrolly(0, m_scroll[2^Xor] | ((m_scroll[3^Xor] & 0x03) << 8));
|
||||
}
|
||||
|
||||
template<int Bit>
|
||||
WRITE8_MEMBER(gundealr_state::flipscreen_w)
|
||||
{
|
||||
machine().tilemap().set_flip_all(BIT(data, Bit) ? (TILEMAP_FLIPY | TILEMAP_FLIPX) : 0);
|
||||
}
|
||||
|
||||
|
||||
void gundealr_state::base_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x7fff).rom();
|
||||
map(0x8000, 0xbfff).bankr("bank1");
|
||||
map(0x8000, 0xbfff).bankr("mainbank");
|
||||
map(0xc000, 0xc000).portr("DSW0");
|
||||
map(0xc001, 0xc001).portr("DSW1");
|
||||
map(0xc004, 0xc004).portr("IN0");
|
||||
map(0xc005, 0xc005).portr("IN1");
|
||||
map(0xc006, 0xc006).portr("IN2");
|
||||
map(0xc016, 0xc016).w(this, FUNC(gundealr_state::yamyam_bankswitch_w));
|
||||
map(0xc400, 0xc7ff).ram().w(this, FUNC(gundealr_state::gundealr_paletteram_w)).share("paletteram");
|
||||
map(0xc800, 0xcfff).ram().w(this, FUNC(gundealr_state::gundealr_bg_videoram_w)).share("bg_videoram");
|
||||
map(0xd000, 0xdfff).ram().w(this, FUNC(gundealr_state::gundealr_fg_videoram_w)).share("fg_videoram");
|
||||
map(0xc016, 0xc016).w(this, FUNC(gundealr_state::bankswitch_w));
|
||||
map(0xc400, 0xc7ff).ram().w(this, FUNC(gundealr_state::paletteram_w)).share("paletteram");
|
||||
map(0xc800, 0xcfff).ram().w(this, FUNC(gundealr_state::bg_videoram_w)).share("bg_videoram");
|
||||
map(0xd000, 0xdfff).ram().w(this, FUNC(gundealr_state::fg_videoram_w)).share("fg_videoram");
|
||||
map(0xe000, 0xffff).ram().share("rambase");
|
||||
}
|
||||
|
||||
void gundealr_state::gundealr_main_map(address_map &map)
|
||||
{
|
||||
base_map(map);
|
||||
map(0xc014, 0xc014).w(this, FUNC(gundealr_state::gundealr_flipscreen_w));
|
||||
map(0xc020, 0xc023).w(this, FUNC(gundealr_state::gundealr_fg_scroll_w));
|
||||
map(0xc014, 0xc014).w(this, FUNC(gundealr_state::flipscreen_w<0>));
|
||||
map(0xc020, 0xc023).w(this, FUNC(gundealr_state::fg_scroll_w<1>));
|
||||
}
|
||||
|
||||
void gundealr_state::yamyam_main_map(address_map &map)
|
||||
{
|
||||
base_map(map);
|
||||
map(0xc010, 0xc013).w(this, FUNC(gundealr_state::yamyam_fg_scroll_w));
|
||||
map(0xc014, 0xc014).w(this, FUNC(gundealr_state::yamyam_flipscreen_w));
|
||||
map(0xc010, 0xc013).w(this, FUNC(gundealr_state::fg_scroll_w<0>));
|
||||
map(0xc014, 0xc014).w(this, FUNC(gundealr_state::flipscreen_w<7>));
|
||||
map(0xc015, 0xc015).nopw(); // Bit 7 = MCU reset?
|
||||
}
|
||||
|
||||
@ -369,33 +383,31 @@ INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
static const gfx_layout layout8x8x4 =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4 },
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
|
||||
32*8
|
||||
{ STEP4(0,1) },
|
||||
{ STEP8(0,4) },
|
||||
{ STEP8(0,4*8) },
|
||||
8*8*4
|
||||
};
|
||||
|
||||
static const gfx_layout spritelayout =
|
||||
static const gfx_layout layout16x16x4 =
|
||||
{
|
||||
16,16,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4,
|
||||
16*32+0*4, 16*32+1*4, 16*32+2*4, 16*32+3*4, 16*32+4*4, 16*32+5*4, 16*32+6*4, 16*32+7*4 },
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32,
|
||||
8*32, 9*32, 10*32, 11*32, 12*32, 13*32, 14*32, 15*32 },
|
||||
128*8
|
||||
{ STEP4(0,1) },
|
||||
{ STEP8(0,4), STEP8(4*8*16,4) },
|
||||
{ STEP16(0,4*8) },
|
||||
16*16*4
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gundealr )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 16 ) /* colors 0-255 */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 256, 16 ) /* colors 256-511 */
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout8x8x4, 0, 16 ) /* colors 0-255 */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, layout16x16x4, 256, 16 ) /* colors 256-511 */
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
@ -403,9 +415,7 @@ GFXDECODE_END
|
||||
|
||||
void gundealr_state::machine_start()
|
||||
{
|
||||
uint8_t *ROM = memregion("maincpu")->base();
|
||||
|
||||
membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
|
||||
m_mainbank->configure_entries(0, 8, memregion("maincpu")->base(), 0x4000);
|
||||
|
||||
save_item(NAME(m_scroll));
|
||||
}
|
||||
@ -418,7 +428,7 @@ void gundealr_state::machine_reset()
|
||||
m_scroll[3] = 0;
|
||||
}
|
||||
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(gundealr_state::gundealr_scanline)
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(gundealr_state::scanline)
|
||||
{
|
||||
int scanline = param;
|
||||
|
||||
@ -434,8 +444,7 @@ MACHINE_CONFIG_START(gundealr_state::gundealr)
|
||||
MCFG_CPU_ADD("maincpu", Z80, XTAL(12'000'000)/2) /* 6 MHz verified for Yam! Yam!? */
|
||||
MCFG_CPU_PROGRAM_MAP(gundealr_main_map)
|
||||
MCFG_CPU_IO_MAP(main_portmap)
|
||||
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", gundealr_state, gundealr_scanline, "screen", 0, 1)
|
||||
|
||||
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", gundealr_state, scanline, "screen", 0, 1)
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
@ -443,13 +452,12 @@ MACHINE_CONFIG_START(gundealr_state::gundealr)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(gundealr_state, screen_update_gundealr)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(gundealr_state, screen_update)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", gundealr)
|
||||
MCFG_PALETTE_ADD("palette", 512)
|
||||
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
@ -516,9 +524,9 @@ TIMER_DEVICE_CALLBACK_MEMBER(gundealr_state::yamyam_mcu_sim)
|
||||
break;
|
||||
}
|
||||
|
||||
m_rambase[0x004] = ioport("IN2")->read();
|
||||
m_rambase[0x005] = ioport("IN1")->read();
|
||||
m_rambase[0x006] = ioport("IN0")->read();
|
||||
m_rambase[0x004] = m_port_in[2]->read();
|
||||
m_rambase[0x005] = m_port_in[1]->read();
|
||||
m_rambase[0x006] = m_port_in[0]->read();
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(gundealr_state::yamyam)
|
||||
@ -542,9 +550,9 @@ MACHINE_CONFIG_END
|
||||
***************************************************************************/
|
||||
|
||||
ROM_START( gundealr )
|
||||
ROM_REGION( 0x30000, "maincpu", 0 ) /* 64k for code + 128k for banks */
|
||||
ROM_REGION( 0x20000, "maincpu", 0 ) /* 64k for code + 128k for banks */
|
||||
ROM_LOAD( "1.3j", 0x00000, 0x10000, CRC(5797e830) SHA1(54bd9fbcafdf3fff55d73ecfe26d8e8df0dd55d9) ) /* 27c512; NOTE: the socket is labeled 1, but the rom has a '2' sticker on it! */
|
||||
ROM_RELOAD( 0x10000, 0x10000 ) /* banked at 0x8000-0xbfff */
|
||||
/* banked at 0x8000-0xbfff */
|
||||
|
||||
ROM_REGION( 0x10000, "gfx1", 0 )
|
||||
ROM_LOAD( "3.6p", 0x00000, 0x10000, CRC(01f99de2) SHA1(2d9e9c50b0669811beb6fa53c0ff1b240fa939c7) )
|
||||
@ -558,9 +566,9 @@ ROM_START( gundealr )
|
||||
ROM_END
|
||||
|
||||
ROM_START( gundealra )
|
||||
ROM_REGION( 0x30000, "maincpu", 0 ) /* 64k for code + 128k for banks */
|
||||
ROM_REGION( 0x20000, "maincpu", 0 ) /* 64k for code + 128k for banks */
|
||||
ROM_LOAD( "gundeala.1.3j", 0x00000, 0x10000, CRC(d87e24f1) SHA1(5ac3e20e5848b9cab2a23e083d2566bfd54502d4) )
|
||||
ROM_RELOAD( 0x10000, 0x10000 ) /* banked at 0x8000-0xbfff */
|
||||
/* banked at 0x8000-0xbfff */
|
||||
|
||||
ROM_REGION( 0x10000, "gfx1", 0 )
|
||||
ROM_LOAD( "gundeala.3.6p", 0x00000, 0x10000, CRC(836cf1a3) SHA1(ca57e7fc3e4497d249af963d1c8610e80ca65aa7) )
|
||||
@ -574,9 +582,9 @@ ROM_START( gundealra )
|
||||
ROM_END
|
||||
|
||||
ROM_START( gundealrt )
|
||||
ROM_REGION( 0x30000, "maincpu", 0 ) /* 64k for code + 128k for banks */
|
||||
ROM_REGION( 0x20000, "maincpu", 0 ) /* 64k for code + 128k for banks */
|
||||
ROM_LOAD( "1.3j", 0x00000, 0x10000, CRC(1d951292) SHA1(a8bd34dfaf31c7dc4f9e0ec1fd7d4e10c5b29a85) )
|
||||
ROM_RELOAD( 0x10000, 0x10000 ) /* banked at 0x8000-0xbfff */
|
||||
/* banked at 0x8000-0xbfff */
|
||||
|
||||
ROM_REGION( 0x10000, "gfx1", 0 )
|
||||
ROM_LOAD( "3.6p", 0x00000, 0x10000, CRC(01f99de2) SHA1(2d9e9c50b0669811beb6fa53c0ff1b240fa939c7) )
|
||||
@ -590,9 +598,9 @@ ROM_START( gundealrt )
|
||||
ROM_END
|
||||
|
||||
ROM_START( gundealrbl ) // gfx customs done out in TTL logic, different proms, patched code rom
|
||||
ROM_REGION( 0x30000, "maincpu", 0 ) /* 64k for code + 128k for banks */
|
||||
ROM_REGION( 0x20000, "maincpu", 0 ) /* 64k for code + 128k for banks */
|
||||
ROM_LOAD( "29.2.am27c512.f10", 0x00000, 0x10000, CRC(7981751e) SHA1(3138581bcff84a11670ba54cbca608d590055b4e) ) // almost == gundealr "1.3j", 5 bytes different: (what does this change?)
|
||||
ROM_RELOAD( 0x10000, 0x10000 ) /* banked at 0x8000-0xbfff */
|
||||
/* banked at 0x8000-0xbfff */
|
||||
// address gundealr gundealrbl
|
||||
// 009a 07 00
|
||||
// 6d4a 21 10
|
||||
@ -614,9 +622,9 @@ ROM_START( gundealrbl ) // gfx customs done out in TTL logic, different proms, p
|
||||
ROM_END
|
||||
|
||||
ROM_START( yamyam ) /* DY-90010001 PCB */
|
||||
ROM_REGION( 0x30000, "maincpu", 0 ) /* 64k for code + 128k for banks */
|
||||
ROM_REGION( 0x20000, "maincpu", 0 ) /* 64k for code + 128k for banks */
|
||||
ROM_LOAD( "3.10f", 0x00000, 0x20000, CRC(96ae9088) SHA1(a605882dcdcf1e8cf8b0112f614e696d59acfd97) )
|
||||
ROM_RELOAD( 0x10000, 0x20000 ) /* banked at 0x8000-0xbfff */
|
||||
/* banked at 0x8000-0xbfff */
|
||||
|
||||
ROM_REGION( 0x10000, "mcu", 0 ) // unknown 64 pin MCU at J9 with internal ROM code
|
||||
ROM_LOAD( "mcu", 0x0000, 0x10000, NO_DUMP)
|
||||
@ -632,9 +640,9 @@ ROM_START( yamyam ) /* DY-90010001 PCB */
|
||||
ROM_END
|
||||
|
||||
ROM_START( yamyamk ) /* DY-90010001 PCB */
|
||||
ROM_REGION( 0x30000, "maincpu", 0 ) /* 64k for code + 128k for banks */
|
||||
ROM_REGION( 0x20000, "maincpu", 0 ) /* 64k for code + 128k for banks */
|
||||
ROM_LOAD( "3.10f", 0x00000, 0x20000, CRC(96ae9088) SHA1(a605882dcdcf1e8cf8b0112f614e696d59acfd97) )
|
||||
ROM_RELOAD( 0x10000, 0x20000 ) /* banked at 0x8000-0xbfff */
|
||||
/* banked at 0x8000-0xbfff */
|
||||
|
||||
ROM_REGION( 0x10000, "mcu", 0 ) // unknown 64 pin MCU at J9 with internal ROM code
|
||||
ROM_LOAD( "mcu", 0x0000, 0x10000, NO_DUMP)
|
||||
@ -650,9 +658,9 @@ ROM_START( yamyamk ) /* DY-90010001 PCB */
|
||||
ROM_END
|
||||
|
||||
ROM_START( wiseguy ) /* DY-90010001 PCB */
|
||||
ROM_REGION( 0x30000, "maincpu", 0 ) /* 64k for code + 128k for banks */
|
||||
ROM_REGION( 0x20000, "maincpu", 0 ) /* 64k for code + 128k for banks */
|
||||
ROM_LOAD( "b3.f10", 0x00000, 0x20000, CRC(96ae9088) SHA1(a605882dcdcf1e8cf8b0112f614e696d59acfd97) )
|
||||
ROM_RELOAD( 0x10000, 0x20000 ) /* banked at 0x8000-0xbfff */
|
||||
/* banked at 0x8000-0xbfff */
|
||||
|
||||
ROM_REGION( 0x10000, "mcu", 0 ) // unknown 64 pin MCU at J9 with internal ROM code
|
||||
ROM_LOAD( "mcu", 0x0000, 0x10000, NO_DUMP)
|
||||
|
@ -12,14 +12,17 @@ class gundealr_state : public driver_device
|
||||
{
|
||||
public:
|
||||
gundealr_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_paletteram(*this, "paletteram"),
|
||||
m_bg_videoram(*this, "bg_videoram"),
|
||||
m_fg_videoram(*this, "fg_videoram"),
|
||||
m_rambase(*this, "rambase"),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_gfxdecode(*this, "gfxdecode"),
|
||||
m_palette(*this, "palette") { }
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_paletteram(*this, "paletteram")
|
||||
, m_bg_videoram(*this, "bg_videoram")
|
||||
, m_fg_videoram(*this, "fg_videoram")
|
||||
, m_rambase(*this, "rambase")
|
||||
, m_mainbank(*this, "mainbank")
|
||||
, m_port_in(*this, "IN%u", 0)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_gfxdecode(*this, "gfxdecode")
|
||||
, m_palette(*this, "palette")
|
||||
{ }
|
||||
|
||||
/* memory pointers */
|
||||
required_shared_ptr<uint8_t> m_paletteram;
|
||||
@ -27,6 +30,9 @@ public:
|
||||
required_shared_ptr<uint8_t> m_fg_videoram;
|
||||
required_shared_ptr<uint8_t> m_rambase;
|
||||
|
||||
required_memory_bank m_mainbank;
|
||||
optional_ioport_array<3> m_port_in;
|
||||
|
||||
/* video-related */
|
||||
tilemap_t *m_bg_tilemap;
|
||||
tilemap_t *m_fg_tilemap;
|
||||
@ -34,22 +40,20 @@ public:
|
||||
|
||||
/* misc */
|
||||
int m_input_ports_hack;
|
||||
DECLARE_WRITE8_MEMBER(yamyam_bankswitch_w);
|
||||
DECLARE_WRITE8_MEMBER(gundealr_bg_videoram_w);
|
||||
DECLARE_WRITE8_MEMBER(gundealr_fg_videoram_w);
|
||||
DECLARE_WRITE8_MEMBER(gundealr_paletteram_w);
|
||||
DECLARE_WRITE8_MEMBER(gundealr_fg_scroll_w);
|
||||
DECLARE_WRITE8_MEMBER(yamyam_fg_scroll_w);
|
||||
DECLARE_WRITE8_MEMBER(gundealr_flipscreen_w);
|
||||
DECLARE_WRITE8_MEMBER(yamyam_flipscreen_w);
|
||||
DECLARE_WRITE8_MEMBER(bankswitch_w);
|
||||
DECLARE_WRITE8_MEMBER(bg_videoram_w);
|
||||
DECLARE_WRITE8_MEMBER(fg_videoram_w);
|
||||
DECLARE_WRITE8_MEMBER(paletteram_w);
|
||||
template<int Xor> DECLARE_WRITE8_MEMBER(fg_scroll_w);
|
||||
template<int Bit> DECLARE_WRITE8_MEMBER(flipscreen_w);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILEMAP_MAPPER_MEMBER(gundealr_scan);
|
||||
TILEMAP_MAPPER_MEMBER(pagescan);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
uint32_t screen_update_gundealr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(gundealr_scanline);
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(scanline);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(yamyam_mcu_sim);
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
|
@ -27,7 +27,7 @@ TILE_GET_INFO_MEMBER(gundealr_state::get_bg_tile_info)
|
||||
0);
|
||||
}
|
||||
|
||||
TILEMAP_MAPPER_MEMBER(gundealr_state::gundealr_scan)
|
||||
TILEMAP_MAPPER_MEMBER(gundealr_state::pagescan)
|
||||
{
|
||||
/* logical (col,row) -> memory offset */
|
||||
return (row & 0x0f) + ((col & 0x3f) << 4) + ((row & 0x10) << 6);
|
||||
@ -53,7 +53,7 @@ TILE_GET_INFO_MEMBER(gundealr_state::get_fg_tile_info)
|
||||
void gundealr_state::video_start()
|
||||
{
|
||||
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(gundealr_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
|
||||
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(gundealr_state::get_fg_tile_info),this), tilemap_mapper_delegate(FUNC(gundealr_state::gundealr_scan),this), 16, 16, 64, 32);
|
||||
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(gundealr_state::get_fg_tile_info),this), tilemap_mapper_delegate(FUNC(gundealr_state::pagescan),this), 16, 16, 64, 32);
|
||||
|
||||
m_fg_tilemap->set_transparent_pen(15);
|
||||
}
|
||||
@ -66,19 +66,19 @@ void gundealr_state::video_start()
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
WRITE8_MEMBER(gundealr_state::gundealr_bg_videoram_w)
|
||||
WRITE8_MEMBER(gundealr_state::bg_videoram_w)
|
||||
{
|
||||
m_bg_videoram[offset] = data;
|
||||
m_bg_tilemap->mark_tile_dirty(offset / 2);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(gundealr_state::gundealr_fg_videoram_w)
|
||||
WRITE8_MEMBER(gundealr_state::fg_videoram_w)
|
||||
{
|
||||
m_fg_videoram[offset] = data;
|
||||
m_fg_tilemap->mark_tile_dirty(offset / 2);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(gundealr_state::gundealr_paletteram_w)
|
||||
WRITE8_MEMBER(gundealr_state::paletteram_w)
|
||||
{
|
||||
int r,g,b,val;
|
||||
|
||||
@ -95,31 +95,6 @@ WRITE8_MEMBER(gundealr_state::gundealr_paletteram_w)
|
||||
m_palette->set_pen_color(offset / 2, pal4bit(r), pal4bit(g), pal4bit(b));
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(gundealr_state::gundealr_fg_scroll_w)
|
||||
{
|
||||
m_scroll[offset] = data;
|
||||
m_fg_tilemap->set_scrollx(0, m_scroll[1] | ((m_scroll[0] & 0x03) << 8));
|
||||
m_fg_tilemap->set_scrolly(0, m_scroll[3] | ((m_scroll[2] & 0x03) << 8));
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(gundealr_state::yamyam_fg_scroll_w)
|
||||
{
|
||||
m_scroll[offset] = data;
|
||||
m_fg_tilemap->set_scrollx(0, m_scroll[0] | ((m_scroll[1] & 0x03) << 8));
|
||||
m_fg_tilemap->set_scrolly(0, m_scroll[2] | ((m_scroll[3] & 0x03) << 8));
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(gundealr_state::gundealr_flipscreen_w)
|
||||
{
|
||||
machine().tilemap().set_flip_all(BIT(data, 0) ? (TILEMAP_FLIPY | TILEMAP_FLIPX) : 0);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(gundealr_state::yamyam_flipscreen_w)
|
||||
{
|
||||
machine().tilemap().set_flip_all(BIT(data, 7) ? (TILEMAP_FLIPY | TILEMAP_FLIPX) : 0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
@ -127,7 +102,7 @@ WRITE8_MEMBER(gundealr_state::yamyam_flipscreen_w)
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
uint32_t gundealr_state::screen_update_gundealr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
uint32_t gundealr_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
|
||||
m_fg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
|
||||
|
Loading…
Reference in New Issue
Block a user