mirror of
https://github.com/holub/mame
synced 2025-04-20 23:42:22 +03:00
dynduke.c, igs009.c: added save state support (nw)
This commit is contained in:
parent
a394438a54
commit
6bc7a20a51
@ -82,19 +82,19 @@ static ADDRESS_MAP_START( master_map, AS_PROGRAM, 16, dynduke_state )
|
||||
AM_RANGE(0x0b000, 0x0b001) AM_READ_PORT("P1_P2")
|
||||
AM_RANGE(0x0b002, 0x0b003) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0x0b004, 0x0b005) AM_WRITENOP
|
||||
AM_RANGE(0x0b006, 0x0b007) AM_WRITE(dynduke_control_w)
|
||||
AM_RANGE(0x0c000, 0x0c7ff) AM_RAM_WRITE(dynduke_text_w) AM_SHARE("videoram")
|
||||
AM_RANGE(0x0b006, 0x0b007) AM_WRITE(control_w)
|
||||
AM_RANGE(0x0c000, 0x0c7ff) AM_RAM_WRITE(text_w) AM_SHARE("videoram")
|
||||
AM_RANGE(0x0d000, 0x0d00d) AM_DEVREADWRITE("seibu_sound", seibu_sound_device, main_word_r, main_word_w)
|
||||
AM_RANGE(0xa0000, 0xfffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( slave_map, AS_PROGRAM, 16, dynduke_state )
|
||||
AM_RANGE(0x00000, 0x05fff) AM_RAM
|
||||
AM_RANGE(0x06000, 0x067ff) AM_RAM_WRITE(dynduke_background_w) AM_SHARE("back_data")
|
||||
AM_RANGE(0x06800, 0x06fff) AM_RAM_WRITE(dynduke_foreground_w) AM_SHARE("fore_data")
|
||||
AM_RANGE(0x07000, 0x07fff) AM_RAM_WRITE(dynduke_paletteram_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x06000, 0x067ff) AM_RAM_WRITE(background_w) AM_SHARE("back_data")
|
||||
AM_RANGE(0x06800, 0x06fff) AM_RAM_WRITE(foreground_w) AM_SHARE("fore_data")
|
||||
AM_RANGE(0x07000, 0x07fff) AM_RAM_WRITE(paletteram_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x08000, 0x08fff) AM_RAM AM_SHARE("share1")
|
||||
AM_RANGE(0x0a000, 0x0a001) AM_WRITE(dynduke_gfxbank_w)
|
||||
AM_RANGE(0x0a000, 0x0a001) AM_WRITE(gfxbank_w)
|
||||
AM_RANGE(0x0c000, 0x0c001) AM_WRITENOP
|
||||
AM_RANGE(0xc0000, 0xfffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
@ -103,14 +103,14 @@ ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( masterj_map, AS_PROGRAM, 16, dynduke_state )
|
||||
AM_RANGE(0x00000, 0x06fff) AM_RAM
|
||||
AM_RANGE(0x07000, 0x07fff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x08000, 0x087ff) AM_RAM_WRITE(dynduke_text_w) AM_SHARE("videoram")
|
||||
AM_RANGE(0x08000, 0x087ff) AM_RAM_WRITE(text_w) AM_SHARE("videoram")
|
||||
AM_RANGE(0x09000, 0x0900d) AM_DEVREADWRITE("seibu_sound", seibu_sound_device, main_word_r, main_word_w)
|
||||
AM_RANGE(0x0c000, 0x0c0ff) AM_RAM AM_SHARE("scroll_ram")
|
||||
AM_RANGE(0x0e000, 0x0efff) AM_RAM AM_SHARE("share1")
|
||||
AM_RANGE(0x0f000, 0x0f001) AM_READ_PORT("P1_P2")
|
||||
AM_RANGE(0x0f002, 0x0f003) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0x0f004, 0x0f005) AM_WRITENOP
|
||||
AM_RANGE(0x0f006, 0x0f007) AM_WRITE(dynduke_control_w)
|
||||
AM_RANGE(0x0f006, 0x0f007) AM_WRITE(control_w)
|
||||
AM_RANGE(0xa0000, 0xfffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -265,7 +265,7 @@ GFXDECODE_END
|
||||
|
||||
/* Interrupt Generator */
|
||||
|
||||
INTERRUPT_GEN_MEMBER(dynduke_state::dynduke_interrupt)
|
||||
INTERRUPT_GEN_MEMBER(dynduke_state::interrupt)
|
||||
{
|
||||
device.execute().set_input_line_and_vector(0, HOLD_LINE, 0xc8/4); // VBL
|
||||
}
|
||||
@ -276,11 +276,11 @@ static MACHINE_CONFIG_START( dynduke, dynduke_state )
|
||||
// basic machine hardware
|
||||
MCFG_CPU_ADD("maincpu", V30, 16000000/2) // NEC V30-8 CPU
|
||||
MCFG_CPU_PROGRAM_MAP(master_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", dynduke_state, dynduke_interrupt)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", dynduke_state, interrupt)
|
||||
|
||||
MCFG_CPU_ADD("slave", V30, 16000000/2) // NEC V30-8 CPU
|
||||
MCFG_CPU_PROGRAM_MAP(slave_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", dynduke_state, dynduke_interrupt)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", dynduke_state, interrupt)
|
||||
|
||||
SEIBU_SOUND_SYSTEM_CPU(14318180/4)
|
||||
|
||||
@ -294,7 +294,7 @@ static MACHINE_CONFIG_START( dynduke, dynduke_state )
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
||||
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(dynduke_state, screen_update_dynduke)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(dynduke_state, screen_update)
|
||||
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
|
||||
@ -612,9 +612,9 @@ DRIVER_INIT_MEMBER(dynduke_state,dynduke)
|
||||
|
||||
/* Game Drivers */
|
||||
|
||||
GAME( 1989, dynduke, 0, dynduke, dynduke, dynduke_state, dynduke, ROT0, "Seibu Kaihatsu", "Dynamite Duke (Europe set 1)", 0 )
|
||||
GAME( 1989, dyndukea, dynduke, dynduke, dynduke, dynduke_state, dynduke, ROT0, "Seibu Kaihatsu", "Dynamite Duke (Europe set 2)", 0 )
|
||||
GAME( 1989, dyndukej, dynduke, dynduke, dynduke, dynduke_state, dynduke, ROT0, "Seibu Kaihatsu", "Dynamite Duke (Japan)", 0 )
|
||||
GAME( 1989, dyndukeu, dynduke, dynduke, dynduke, dynduke_state, dynduke, ROT0, "Seibu Kaihatsu (Fabtek license)", "Dynamite Duke (US)", 0 )
|
||||
GAME( 1989, dbldynj, dynduke, dbldyn, dynduke, dynduke_state, dynduke, ROT0, "Seibu Kaihatsu", "The Double Dynamites (Japan)", 0 )
|
||||
GAME( 1989, dbldynu, dynduke, dynduke, dynduke, dynduke_state, dynduke, ROT0, "Seibu Kaihatsu (Fabtek license)", "The Double Dynamites (US)", 0 )
|
||||
GAME( 1989, dynduke, 0, dynduke, dynduke, dynduke_state, dynduke, ROT0, "Seibu Kaihatsu", "Dynamite Duke (Europe set 1)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1989, dyndukea, dynduke, dynduke, dynduke, dynduke_state, dynduke, ROT0, "Seibu Kaihatsu", "Dynamite Duke (Europe set 2)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1989, dyndukej, dynduke, dynduke, dynduke, dynduke_state, dynduke, ROT0, "Seibu Kaihatsu", "Dynamite Duke (Japan)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1989, dyndukeu, dynduke, dynduke, dynduke, dynduke_state, dynduke, ROT0, "Seibu Kaihatsu (Fabtek license)", "Dynamite Duke (US)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1989, dbldynj, dynduke, dbldyn, dynduke, dynduke_state, dynduke, ROT0, "Seibu Kaihatsu", "The Double Dynamites (Japan)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1989, dbldynu, dynduke, dynduke, dynduke, dynduke_state, dynduke, ROT0, "Seibu Kaihatsu (Fabtek license)", "The Double Dynamites (US)", GAME_SUPPORTS_SAVE )
|
||||
|
@ -37,52 +37,61 @@ class igs009_state : public driver_device
|
||||
public:
|
||||
igs009_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_bg_scroll(*this, "bg_scroll"),
|
||||
m_gp98_reel1_ram(*this, "gp98_reel1_ram"),
|
||||
m_gp98_reel2_ram(*this, "gp98_reel2_ram"),
|
||||
m_gp98_reel3_ram(*this, "gp98_reel3_ram"),
|
||||
m_gp98_reel4_ram(*this, "gp98_reel4_ram"),
|
||||
m_bg_scroll2(*this, "bg_scroll2"),
|
||||
m_fg_tile_ram(*this, "fg_tile_ram"),
|
||||
m_fg_color_ram(*this, "fg_color_ram"),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_gfxdecode(*this, "gfxdecode"),
|
||||
m_screen(*this, "screen"),
|
||||
m_palette(*this, "palette") { }
|
||||
m_palette(*this, "palette"),
|
||||
m_bg_scroll(*this, "bg_scroll"),
|
||||
m_reel1_ram(*this, "reel1_ram"),
|
||||
m_reel2_ram(*this, "reel2_ram"),
|
||||
m_reel3_ram(*this, "reel3_ram"),
|
||||
m_reel4_ram(*this, "reel4_ram"),
|
||||
m_bg_scroll2(*this, "bg_scroll2"),
|
||||
m_fg_tile_ram(*this, "fg_tile_ram"),
|
||||
m_fg_color_ram(*this, "fg_color_ram") { }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<screen_device> m_screen;
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
required_shared_ptr<UINT8> m_bg_scroll;
|
||||
required_shared_ptr<UINT8> m_gp98_reel1_ram;
|
||||
required_shared_ptr<UINT8> m_gp98_reel2_ram;
|
||||
required_shared_ptr<UINT8> m_gp98_reel3_ram;
|
||||
required_shared_ptr<UINT8> m_gp98_reel4_ram;
|
||||
required_shared_ptr<UINT8> m_reel1_ram;
|
||||
required_shared_ptr<UINT8> m_reel2_ram;
|
||||
required_shared_ptr<UINT8> m_reel3_ram;
|
||||
required_shared_ptr<UINT8> m_reel4_ram;
|
||||
required_shared_ptr<UINT8> m_bg_scroll2;
|
||||
required_shared_ptr<UINT8> m_fg_tile_ram;
|
||||
required_shared_ptr<UINT8> m_fg_color_ram;
|
||||
tilemap_t *m_gp98_reel1_tilemap;
|
||||
tilemap_t *m_gp98_reel2_tilemap;
|
||||
tilemap_t *m_gp98_reel3_tilemap;
|
||||
tilemap_t *m_gp98_reel4_tilemap;
|
||||
|
||||
tilemap_t *m_reel1_tilemap;
|
||||
tilemap_t *m_reel2_tilemap;
|
||||
tilemap_t *m_reel3_tilemap;
|
||||
tilemap_t *m_reel4_tilemap;
|
||||
tilemap_t *m_fg_tilemap;
|
||||
int m_video_enable;
|
||||
int m_nmi_enable;
|
||||
int m_hopper;
|
||||
UINT8 m_out[3];
|
||||
UINT8 m_igs_magic[2];
|
||||
DECLARE_WRITE8_MEMBER(gp98_reel1_ram_w);
|
||||
DECLARE_WRITE8_MEMBER(gp98_reel2_ram_w);
|
||||
DECLARE_WRITE8_MEMBER(gp98_reel3_ram_w);
|
||||
DECLARE_WRITE8_MEMBER(gp98_reel4_ram_w);
|
||||
|
||||
DECLARE_WRITE8_MEMBER(reel1_ram_w);
|
||||
DECLARE_WRITE8_MEMBER(reel2_ram_w);
|
||||
DECLARE_WRITE8_MEMBER(reel3_ram_w);
|
||||
DECLARE_WRITE8_MEMBER(reel4_ram_w);
|
||||
DECLARE_WRITE8_MEMBER(bg_scroll_w);
|
||||
DECLARE_WRITE8_MEMBER(fg_tile_w);
|
||||
DECLARE_WRITE8_MEMBER(fg_color_w);
|
||||
DECLARE_WRITE8_MEMBER(jingbell_nmi_and_coins_w);
|
||||
DECLARE_WRITE8_MEMBER(jingbell_video_and_leds_w);
|
||||
DECLARE_WRITE8_MEMBER(jingbell_leds_w);
|
||||
DECLARE_WRITE8_MEMBER(jingbell_magic_w);
|
||||
DECLARE_READ8_MEMBER(jingbell_magic_r);
|
||||
DECLARE_WRITE8_MEMBER(nmi_and_coins_w);
|
||||
DECLARE_WRITE8_MEMBER(video_and_leds_w);
|
||||
DECLARE_WRITE8_MEMBER(leds_w);
|
||||
DECLARE_WRITE8_MEMBER(magic_w);
|
||||
DECLARE_READ8_MEMBER(magic_r);
|
||||
|
||||
void show_out();
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(hopper_r);
|
||||
DECLARE_DRIVER_INIT(jingbell);
|
||||
INTERRUPT_GEN_MEMBER(interrupt);
|
||||
|
||||
TILE_GET_INFO_MEMBER(get_jingbell_reel1_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_gp98_reel1_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_jingbell_reel2_tile_info);
|
||||
@ -92,15 +101,14 @@ public:
|
||||
TILE_GET_INFO_MEMBER(get_jingbell_reel4_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_gp98_reel4_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
|
||||
DECLARE_DRIVER_INIT(jingbell);
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
virtual void video_start();
|
||||
DECLARE_VIDEO_START(gp98);
|
||||
UINT32 screen_update_jingbell(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
INTERRUPT_GEN_MEMBER(jingbell_interrupt);
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<screen_device> m_screen;
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
};
|
||||
|
||||
|
||||
@ -110,15 +118,15 @@ public:
|
||||
|
||||
|
||||
|
||||
WRITE8_MEMBER(igs009_state::gp98_reel1_ram_w)
|
||||
WRITE8_MEMBER(igs009_state::reel1_ram_w)
|
||||
{
|
||||
m_gp98_reel1_ram[offset] = data;
|
||||
m_gp98_reel1_tilemap->mark_tile_dirty(offset);
|
||||
m_reel1_ram[offset] = data;
|
||||
m_reel1_tilemap->mark_tile_dirty(offset);
|
||||
}
|
||||
|
||||
TILE_GET_INFO_MEMBER(igs009_state::get_jingbell_reel1_tile_info)
|
||||
{
|
||||
int code = m_gp98_reel1_ram[tile_index];
|
||||
int code = m_reel1_ram[tile_index];
|
||||
|
||||
SET_TILE_INFO_MEMBER(0,
|
||||
(code)+(((tile_index+1)&0x3)*0x100),
|
||||
@ -129,7 +137,7 @@ TILE_GET_INFO_MEMBER(igs009_state::get_jingbell_reel1_tile_info)
|
||||
|
||||
TILE_GET_INFO_MEMBER(igs009_state::get_gp98_reel1_tile_info)
|
||||
{
|
||||
int code = m_gp98_reel1_ram[tile_index];
|
||||
int code = m_reel1_ram[tile_index];
|
||||
|
||||
SET_TILE_INFO_MEMBER(0,
|
||||
(code*4)+(tile_index&0x3),
|
||||
@ -138,15 +146,15 @@ TILE_GET_INFO_MEMBER(igs009_state::get_gp98_reel1_tile_info)
|
||||
}
|
||||
|
||||
|
||||
WRITE8_MEMBER(igs009_state::gp98_reel2_ram_w)
|
||||
WRITE8_MEMBER(igs009_state::reel2_ram_w)
|
||||
{
|
||||
m_gp98_reel2_ram[offset] = data;
|
||||
m_gp98_reel2_tilemap->mark_tile_dirty(offset);
|
||||
m_reel2_ram[offset] = data;
|
||||
m_reel2_tilemap->mark_tile_dirty(offset);
|
||||
}
|
||||
|
||||
TILE_GET_INFO_MEMBER(igs009_state::get_jingbell_reel2_tile_info)
|
||||
{
|
||||
int code = m_gp98_reel2_ram[tile_index];
|
||||
int code = m_reel2_ram[tile_index];
|
||||
|
||||
SET_TILE_INFO_MEMBER(0,
|
||||
(code)+(((tile_index+1)&0x3)*0x100),
|
||||
@ -156,7 +164,7 @@ TILE_GET_INFO_MEMBER(igs009_state::get_jingbell_reel2_tile_info)
|
||||
|
||||
TILE_GET_INFO_MEMBER(igs009_state::get_gp98_reel2_tile_info)
|
||||
{
|
||||
int code = m_gp98_reel2_ram[tile_index];
|
||||
int code = m_reel2_ram[tile_index];
|
||||
|
||||
SET_TILE_INFO_MEMBER(0,
|
||||
(code*4)+(tile_index&0x3),
|
||||
@ -166,15 +174,15 @@ TILE_GET_INFO_MEMBER(igs009_state::get_gp98_reel2_tile_info)
|
||||
|
||||
|
||||
|
||||
WRITE8_MEMBER(igs009_state::gp98_reel3_ram_w)
|
||||
WRITE8_MEMBER(igs009_state::reel3_ram_w)
|
||||
{
|
||||
m_gp98_reel3_ram[offset] = data;
|
||||
m_gp98_reel3_tilemap->mark_tile_dirty(offset);
|
||||
m_reel3_ram[offset] = data;
|
||||
m_reel3_tilemap->mark_tile_dirty(offset);
|
||||
}
|
||||
|
||||
TILE_GET_INFO_MEMBER(igs009_state::get_jingbell_reel3_tile_info)
|
||||
{
|
||||
int code = m_gp98_reel3_ram[tile_index];
|
||||
int code = m_reel3_ram[tile_index];
|
||||
|
||||
SET_TILE_INFO_MEMBER(0,
|
||||
(code)+(((tile_index+1)&0x3)*0x100),
|
||||
@ -184,7 +192,7 @@ TILE_GET_INFO_MEMBER(igs009_state::get_jingbell_reel3_tile_info)
|
||||
|
||||
TILE_GET_INFO_MEMBER(igs009_state::get_gp98_reel3_tile_info)
|
||||
{
|
||||
int code = m_gp98_reel3_ram[tile_index];
|
||||
int code = m_reel3_ram[tile_index];
|
||||
|
||||
SET_TILE_INFO_MEMBER(0,
|
||||
(code*4)+(tile_index&0x3),
|
||||
@ -194,15 +202,15 @@ TILE_GET_INFO_MEMBER(igs009_state::get_gp98_reel3_tile_info)
|
||||
|
||||
|
||||
|
||||
WRITE8_MEMBER(igs009_state::gp98_reel4_ram_w)
|
||||
WRITE8_MEMBER(igs009_state::reel4_ram_w)
|
||||
{
|
||||
m_gp98_reel4_ram[offset] = data;
|
||||
m_gp98_reel4_tilemap->mark_tile_dirty(offset);
|
||||
m_reel4_ram[offset] = data;
|
||||
m_reel4_tilemap->mark_tile_dirty(offset);
|
||||
}
|
||||
|
||||
TILE_GET_INFO_MEMBER(igs009_state::get_jingbell_reel4_tile_info)
|
||||
{
|
||||
int code = m_gp98_reel4_ram[tile_index];
|
||||
int code = m_reel4_ram[tile_index];
|
||||
|
||||
SET_TILE_INFO_MEMBER(0,
|
||||
(code)+(((tile_index+1)&0x3)*0x100),
|
||||
@ -212,7 +220,7 @@ TILE_GET_INFO_MEMBER(igs009_state::get_jingbell_reel4_tile_info)
|
||||
|
||||
TILE_GET_INFO_MEMBER(igs009_state::get_gp98_reel4_tile_info)
|
||||
{
|
||||
int code = m_gp98_reel4_ram[tile_index];
|
||||
int code = m_reel4_ram[tile_index];
|
||||
|
||||
SET_TILE_INFO_MEMBER(0,
|
||||
(code*4)+(tile_index&0x3),
|
||||
@ -256,15 +264,15 @@ void igs009_state::video_start()
|
||||
m_fg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(igs009_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 0x80,0x20);
|
||||
m_fg_tilemap->set_transparent_pen(0);
|
||||
|
||||
m_gp98_reel1_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(igs009_state::get_jingbell_reel1_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
m_gp98_reel2_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(igs009_state::get_jingbell_reel2_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
m_gp98_reel3_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(igs009_state::get_jingbell_reel3_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
m_gp98_reel4_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(igs009_state::get_jingbell_reel4_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
m_reel1_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(igs009_state::get_jingbell_reel1_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
m_reel2_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(igs009_state::get_jingbell_reel2_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
m_reel3_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(igs009_state::get_jingbell_reel3_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
m_reel4_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(igs009_state::get_jingbell_reel4_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
|
||||
m_gp98_reel1_tilemap->set_scroll_cols(128);
|
||||
m_gp98_reel2_tilemap->set_scroll_cols(128);
|
||||
m_gp98_reel3_tilemap->set_scroll_cols(128);
|
||||
m_gp98_reel4_tilemap->set_scroll_cols(128);
|
||||
m_reel1_tilemap->set_scroll_cols(128);
|
||||
m_reel2_tilemap->set_scroll_cols(128);
|
||||
m_reel3_tilemap->set_scroll_cols(128);
|
||||
m_reel4_tilemap->set_scroll_cols(128);
|
||||
}
|
||||
|
||||
|
||||
@ -273,19 +281,19 @@ VIDEO_START_MEMBER(igs009_state,gp98)
|
||||
m_fg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(igs009_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 0x80,0x20);
|
||||
m_fg_tilemap->set_transparent_pen(0);
|
||||
|
||||
m_gp98_reel1_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(igs009_state::get_gp98_reel1_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
m_gp98_reel2_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(igs009_state::get_gp98_reel2_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
m_gp98_reel3_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(igs009_state::get_gp98_reel3_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
m_gp98_reel4_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(igs009_state::get_gp98_reel4_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
m_reel1_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(igs009_state::get_gp98_reel1_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
m_reel2_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(igs009_state::get_gp98_reel2_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
m_reel3_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(igs009_state::get_gp98_reel3_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
m_reel4_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(igs009_state::get_gp98_reel4_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
|
||||
m_gp98_reel1_tilemap->set_scroll_cols(128);
|
||||
m_gp98_reel2_tilemap->set_scroll_cols(128);
|
||||
m_gp98_reel3_tilemap->set_scroll_cols(128);
|
||||
m_gp98_reel4_tilemap->set_scroll_cols(128);
|
||||
m_reel1_tilemap->set_scroll_cols(128);
|
||||
m_reel2_tilemap->set_scroll_cols(128);
|
||||
m_reel3_tilemap->set_scroll_cols(128);
|
||||
m_reel4_tilemap->set_scroll_cols(128);
|
||||
}
|
||||
|
||||
|
||||
UINT32 igs009_state::screen_update_jingbell(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
UINT32 igs009_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
int layers_ctrl = m_video_enable ? -1 : 0;
|
||||
|
||||
@ -309,10 +317,10 @@ UINT32 igs009_state::screen_update_jingbell(screen_device &screen, bitmap_ind16
|
||||
|
||||
for (i= 0;i < 0x80;i++)
|
||||
{
|
||||
m_gp98_reel1_tilemap->set_scrolly(i, m_bg_scroll[i]*2);
|
||||
m_gp98_reel2_tilemap->set_scrolly(i, m_bg_scroll[i+0x80]*2);
|
||||
m_gp98_reel3_tilemap->set_scrolly(i, m_bg_scroll[i+0x100]*2);
|
||||
m_gp98_reel4_tilemap->set_scrolly(i, m_bg_scroll[i+0x180]*2);
|
||||
m_reel1_tilemap->set_scrolly(i, m_bg_scroll[i]*2);
|
||||
m_reel2_tilemap->set_scrolly(i, m_bg_scroll[i+0x80]*2);
|
||||
m_reel3_tilemap->set_scrolly(i, m_bg_scroll[i+0x100]*2);
|
||||
m_reel4_tilemap->set_scrolly(i, m_bg_scroll[i+0x180]*2);
|
||||
}
|
||||
|
||||
|
||||
@ -330,19 +338,19 @@ UINT32 igs009_state::screen_update_jingbell(screen_device &screen, bitmap_ind16
|
||||
|
||||
if (rowenable==0)
|
||||
{ // 0 and 1 are the same? or is there a global switchoff?
|
||||
m_gp98_reel1_tilemap->draw(screen, bitmap, clip, 0,0);
|
||||
m_reel1_tilemap->draw(screen, bitmap, clip, 0,0);
|
||||
}
|
||||
else if (rowenable==1)
|
||||
{
|
||||
m_gp98_reel2_tilemap->draw(screen, bitmap, clip, 0,0);
|
||||
m_reel2_tilemap->draw(screen, bitmap, clip, 0,0);
|
||||
}
|
||||
else if (rowenable==2)
|
||||
{
|
||||
m_gp98_reel3_tilemap->draw(screen, bitmap, clip, 0,0);
|
||||
m_reel3_tilemap->draw(screen, bitmap, clip, 0,0);
|
||||
}
|
||||
else if (rowenable==3)
|
||||
{
|
||||
m_gp98_reel4_tilemap->draw(screen, bitmap, clip, 0,0);
|
||||
m_reel4_tilemap->draw(screen, bitmap, clip, 0,0);
|
||||
}
|
||||
|
||||
|
||||
@ -376,7 +384,7 @@ void igs009_state::show_out()
|
||||
#endif
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(igs009_state::jingbell_nmi_and_coins_w)
|
||||
WRITE8_MEMBER(igs009_state::nmi_and_coins_w)
|
||||
{
|
||||
if ((m_nmi_enable ^ data) & (~0xdd))
|
||||
{
|
||||
@ -397,7 +405,7 @@ WRITE8_MEMBER(igs009_state::jingbell_nmi_and_coins_w)
|
||||
show_out();
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(igs009_state::jingbell_video_and_leds_w)
|
||||
WRITE8_MEMBER(igs009_state::video_and_leds_w)
|
||||
{
|
||||
set_led_status(machine(), 4, data & 0x01); // start?
|
||||
set_led_status(machine(), 5, data & 0x04); // l_bet?
|
||||
@ -409,7 +417,7 @@ WRITE8_MEMBER(igs009_state::jingbell_video_and_leds_w)
|
||||
show_out();
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(igs009_state::jingbell_leds_w)
|
||||
WRITE8_MEMBER(igs009_state::leds_w)
|
||||
{
|
||||
set_led_status(machine(), 0, data & 0x01); // stop_1
|
||||
set_led_status(machine(), 1, data & 0x02); // stop_2
|
||||
@ -422,7 +430,7 @@ WRITE8_MEMBER(igs009_state::jingbell_leds_w)
|
||||
}
|
||||
|
||||
|
||||
WRITE8_MEMBER(igs009_state::jingbell_magic_w)
|
||||
WRITE8_MEMBER(igs009_state::magic_w)
|
||||
{
|
||||
m_igs_magic[offset] = data;
|
||||
|
||||
@ -440,7 +448,7 @@ WRITE8_MEMBER(igs009_state::jingbell_magic_w)
|
||||
}
|
||||
}
|
||||
|
||||
READ8_MEMBER(igs009_state::jingbell_magic_r)
|
||||
READ8_MEMBER(igs009_state::magic_r)
|
||||
{
|
||||
switch(m_igs_magic[0])
|
||||
{
|
||||
@ -476,29 +484,29 @@ static ADDRESS_MAP_START( jingbell_portmap, AS_IO, 8, igs009_state )
|
||||
AM_RANGE( 0x2000, 0x23ff ) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
|
||||
AM_RANGE( 0x2400, 0x27ff ) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
|
||||
|
||||
AM_RANGE( 0x3000, 0x33ff ) AM_RAM_WRITE(gp98_reel1_ram_w ) AM_SHARE("gp98_reel1_ram")
|
||||
AM_RANGE( 0x3400, 0x37ff ) AM_RAM_WRITE(gp98_reel2_ram_w ) AM_SHARE("gp98_reel2_ram")
|
||||
AM_RANGE( 0x3800, 0x3bff ) AM_RAM_WRITE(gp98_reel3_ram_w ) AM_SHARE("gp98_reel3_ram")
|
||||
AM_RANGE( 0x3c00, 0x3fff ) AM_RAM_WRITE(gp98_reel4_ram_w ) AM_SHARE("gp98_reel4_ram")
|
||||
AM_RANGE( 0x3000, 0x33ff ) AM_RAM_WRITE(reel1_ram_w ) AM_SHARE("reel1_ram")
|
||||
AM_RANGE( 0x3400, 0x37ff ) AM_RAM_WRITE(reel2_ram_w ) AM_SHARE("reel2_ram")
|
||||
AM_RANGE( 0x3800, 0x3bff ) AM_RAM_WRITE(reel3_ram_w ) AM_SHARE("reel3_ram")
|
||||
AM_RANGE( 0x3c00, 0x3fff ) AM_RAM_WRITE(reel4_ram_w ) AM_SHARE("reel4_ram")
|
||||
|
||||
AM_RANGE( 0x4000, 0x407f ) AM_RAM AM_SHARE("bg_scroll2")
|
||||
|
||||
AM_RANGE( 0x5000, 0x5fff ) AM_RAM_WRITE(fg_tile_w ) AM_SHARE("fg_tile_ram")
|
||||
|
||||
AM_RANGE( 0x6480, 0x6480 ) AM_WRITE(jingbell_nmi_and_coins_w )
|
||||
AM_RANGE( 0x6480, 0x6480 ) AM_WRITE(nmi_and_coins_w )
|
||||
|
||||
AM_RANGE( 0x6481, 0x6481 ) AM_READ_PORT( "SERVICE" )
|
||||
AM_RANGE( 0x6482, 0x6482 ) AM_READ_PORT( "COINS" )
|
||||
AM_RANGE( 0x6490, 0x6490 ) AM_READ_PORT( "BUTTONS1" )
|
||||
AM_RANGE( 0x6491, 0x6491 ) AM_WRITE(jingbell_video_and_leds_w )
|
||||
AM_RANGE( 0x6492, 0x6492 ) AM_WRITE(jingbell_leds_w )
|
||||
AM_RANGE( 0x6491, 0x6491 ) AM_WRITE(video_and_leds_w )
|
||||
AM_RANGE( 0x6492, 0x6492 ) AM_WRITE(leds_w )
|
||||
AM_RANGE( 0x64a0, 0x64a0 ) AM_READ_PORT( "BUTTONS2" )
|
||||
|
||||
AM_RANGE( 0x64b0, 0x64b1 ) AM_DEVWRITE("ymsnd", ym2413_device, write)
|
||||
|
||||
AM_RANGE( 0x64c0, 0x64c0 ) AM_DEVREADWRITE("oki", okim6295_device, read, write)
|
||||
|
||||
AM_RANGE( 0x64d0, 0x64d1 ) AM_READWRITE(jingbell_magic_r, jingbell_magic_w ) // DSW1-5
|
||||
AM_RANGE( 0x64d0, 0x64d1 ) AM_READWRITE(magic_r, magic_w ) // DSW1-5
|
||||
|
||||
AM_RANGE( 0x7000, 0x7fff ) AM_RAM_WRITE(fg_color_w ) AM_SHARE("fg_color_ram")
|
||||
|
||||
@ -744,6 +752,15 @@ GFXDECODE_END
|
||||
Machine Drivers
|
||||
***************************************************************************/
|
||||
|
||||
void igs009_state::machine_start()
|
||||
{
|
||||
save_item(NAME(m_video_enable));
|
||||
save_item(NAME(m_nmi_enable));
|
||||
save_item(NAME(m_hopper));
|
||||
save_item(NAME(m_out));
|
||||
save_item(NAME(m_igs_magic));
|
||||
}
|
||||
|
||||
void igs009_state::machine_reset()
|
||||
{
|
||||
m_nmi_enable = 0;
|
||||
@ -751,7 +768,7 @@ void igs009_state::machine_reset()
|
||||
m_video_enable = 1;
|
||||
}
|
||||
|
||||
INTERRUPT_GEN_MEMBER(igs009_state::jingbell_interrupt)
|
||||
INTERRUPT_GEN_MEMBER(igs009_state::interrupt)
|
||||
{
|
||||
if (m_nmi_enable & 0x80)
|
||||
device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
|
||||
@ -762,7 +779,7 @@ static MACHINE_CONFIG_START( jingbell, igs009_state )
|
||||
MCFG_CPU_ADD("maincpu", Z180, XTAL_12MHz / 2) /* HD64180RP8, 8 MHz? */
|
||||
MCFG_CPU_PROGRAM_MAP(jingbell_map)
|
||||
MCFG_CPU_IO_MAP(jingbell_portmap)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", igs009_state, jingbell_interrupt)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", igs009_state, interrupt)
|
||||
|
||||
|
||||
MCFG_NVRAM_ADD_0FILL("nvram")
|
||||
@ -773,7 +790,7 @@ static MACHINE_CONFIG_START( jingbell, igs009_state )
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MCFG_SCREEN_SIZE(512, 256)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-16-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(igs009_state, screen_update_jingbell)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(igs009_state, screen_update)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", jingbell)
|
||||
@ -948,5 +965,5 @@ ROM_START( gp98 )
|
||||
// no OKI on this
|
||||
ROM_END
|
||||
|
||||
GAME( 1995?, jingbell, 0, jingbell, jingbell, igs009_state, jingbell, ROT0, "IGS", "Jingle Bell (Italy, V133I)", 0 )
|
||||
GAME( 1998, gp98, 0, gp98, jingbell, driver_device, 0, ROT0, "Romtec Co. Ltd", "Grand Prix '98 (V100K)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995?, jingbell, 0, jingbell, jingbell, igs009_state, jingbell, ROT0, "IGS", "Jingle Bell (Italy, V133I)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1998, gp98, 0, gp98, jingbell, driver_device, 0, ROT0, "Romtec Co. Ltd", "Grand Prix '98 (V100K)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
|
||||
|
@ -8,27 +8,27 @@ class dynduke_state : public driver_device
|
||||
public:
|
||||
dynduke_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_spriteram(*this, "spriteram") ,
|
||||
m_scroll_ram(*this, "scroll_ram"),
|
||||
m_videoram(*this, "videoram"),
|
||||
m_back_data(*this, "back_data"),
|
||||
m_fore_data(*this, "fore_data"),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_seibu_sound(*this, "seibu_sound"),
|
||||
m_gfxdecode(*this, "gfxdecode"),
|
||||
m_palette(*this, "palette"),
|
||||
m_spriteram(*this, "spriteram") ,
|
||||
m_scroll_ram(*this, "scroll_ram"),
|
||||
m_videoram(*this, "videoram"),
|
||||
m_back_data(*this, "back_data"),
|
||||
m_fore_data(*this, "fore_data"),
|
||||
m_generic_paletteram_16(*this, "paletteram") { }
|
||||
|
||||
required_device<buffered_spriteram16_device> m_spriteram;
|
||||
required_shared_ptr<UINT16> m_scroll_ram;
|
||||
required_shared_ptr<UINT16> m_videoram;
|
||||
required_shared_ptr<UINT16> m_back_data;
|
||||
required_shared_ptr<UINT16> m_fore_data;
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<seibu_sound_device> m_seibu_sound;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<palette_device> m_palette;
|
||||
required_device<buffered_spriteram16_device> m_spriteram;
|
||||
|
||||
required_shared_ptr<UINT16> m_scroll_ram;
|
||||
required_shared_ptr<UINT16> m_videoram;
|
||||
required_shared_ptr<UINT16> m_back_data;
|
||||
required_shared_ptr<UINT16> m_fore_data;
|
||||
required_shared_ptr<UINT16> m_generic_paletteram_16;
|
||||
|
||||
tilemap_t *m_bg_layer;
|
||||
@ -43,19 +43,23 @@ public:
|
||||
int m_old_back;
|
||||
int m_old_fore;
|
||||
|
||||
DECLARE_WRITE16_MEMBER(dynduke_paletteram_w);
|
||||
DECLARE_WRITE16_MEMBER(dynduke_background_w);
|
||||
DECLARE_WRITE16_MEMBER(dynduke_foreground_w);
|
||||
DECLARE_WRITE16_MEMBER(dynduke_text_w);
|
||||
DECLARE_WRITE16_MEMBER(dynduke_gfxbank_w);
|
||||
DECLARE_WRITE16_MEMBER(dynduke_control_w);
|
||||
DECLARE_DRIVER_INIT(dynduke);
|
||||
DECLARE_WRITE16_MEMBER(paletteram_w);
|
||||
DECLARE_WRITE16_MEMBER(background_w);
|
||||
DECLARE_WRITE16_MEMBER(foreground_w);
|
||||
DECLARE_WRITE16_MEMBER(text_w);
|
||||
DECLARE_WRITE16_MEMBER(gfxbank_w);
|
||||
DECLARE_WRITE16_MEMBER(control_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_dynduke(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
INTERRUPT_GEN_MEMBER(dynduke_interrupt);
|
||||
DECLARE_DRIVER_INIT(dynduke);
|
||||
|
||||
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect,int pri);
|
||||
void draw_background(bitmap_ind16 &bitmap, const rectangle &cliprect, int pri );
|
||||
|
||||
INTERRUPT_GEN_MEMBER(interrupt);
|
||||
};
|
||||
|
@ -7,31 +7,28 @@
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
WRITE16_MEMBER(dynduke_state::dynduke_paletteram_w)
|
||||
WRITE16_MEMBER(dynduke_state::paletteram_w)
|
||||
{
|
||||
int color;
|
||||
|
||||
COMBINE_DATA(&m_generic_paletteram_16[offset]);
|
||||
color=m_generic_paletteram_16[offset];
|
||||
int color=m_generic_paletteram_16[offset];
|
||||
m_palette->set_pen_color(offset,pal4bit(color >> 0),pal4bit(color >> 4),pal4bit(color >> 8));
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(dynduke_state::dynduke_background_w)
|
||||
WRITE16_MEMBER(dynduke_state::background_w)
|
||||
{
|
||||
COMBINE_DATA(&m_back_data[offset]);
|
||||
m_bg_layer->mark_tile_dirty(offset);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(dynduke_state::dynduke_foreground_w)
|
||||
WRITE16_MEMBER(dynduke_state::foreground_w)
|
||||
{
|
||||
COMBINE_DATA(&m_fore_data[offset]);
|
||||
m_fg_layer->mark_tile_dirty(offset);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(dynduke_state::dynduke_text_w)
|
||||
WRITE16_MEMBER(dynduke_state::text_w)
|
||||
{
|
||||
UINT16 *videoram = m_videoram;
|
||||
COMBINE_DATA(&videoram[offset]);
|
||||
COMBINE_DATA(&m_videoram[offset]);
|
||||
m_tx_layer->mark_tile_dirty(offset);
|
||||
}
|
||||
|
||||
@ -63,8 +60,7 @@ TILE_GET_INFO_MEMBER(dynduke_state::get_fg_tile_info)
|
||||
|
||||
TILE_GET_INFO_MEMBER(dynduke_state::get_tx_tile_info)
|
||||
{
|
||||
UINT16 *videoram = m_videoram;
|
||||
int tile=videoram[tile_index];
|
||||
int tile=m_videoram[tile_index];
|
||||
int color=(tile >> 8) & 0x0f;
|
||||
|
||||
tile = (tile & 0xff) | ((tile & 0xc000) >> 6);
|
||||
@ -83,9 +79,18 @@ void dynduke_state::video_start()
|
||||
|
||||
m_fg_layer->set_transparent_pen(15);
|
||||
m_tx_layer->set_transparent_pen(15);
|
||||
|
||||
save_item(NAME(m_back_bankbase));
|
||||
save_item(NAME(m_fore_bankbase));
|
||||
save_item(NAME(m_back_enable));
|
||||
save_item(NAME(m_fore_enable));
|
||||
save_item(NAME(m_sprite_enable));
|
||||
save_item(NAME(m_txt_enable));
|
||||
save_item(NAME(m_old_back));
|
||||
save_item(NAME(m_old_fore));
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(dynduke_state::dynduke_gfxbank_w)
|
||||
WRITE16_MEMBER(dynduke_state::gfxbank_w)
|
||||
{
|
||||
if (ACCESSING_BITS_0_7)
|
||||
{
|
||||
@ -103,7 +108,7 @@ WRITE16_MEMBER(dynduke_state::dynduke_gfxbank_w)
|
||||
}
|
||||
|
||||
|
||||
WRITE16_MEMBER(dynduke_state::dynduke_control_w)
|
||||
WRITE16_MEMBER(dynduke_state::control_w)
|
||||
{
|
||||
if (ACCESSING_BITS_0_7)
|
||||
{
|
||||
@ -214,7 +219,7 @@ void dynduke_state::draw_background(bitmap_ind16 &bitmap, const rectangle &clipr
|
||||
}
|
||||
}
|
||||
|
||||
UINT32 dynduke_state::screen_update_dynduke(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
UINT32 dynduke_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
/* Setup the tilemaps */
|
||||
m_fg_layer->set_scrolly(0, ((m_scroll_ram[0x11]&0x30)<<4)+((m_scroll_ram[0x12]&0x7f)<<1)+((m_scroll_ram[0x12]&0x80)>>7) );
|
||||
|
Loading…
Reference in New Issue
Block a user