mirror of
https://github.com/holub/mame
synced 2025-10-06 09:00:04 +03:00
TILE/TILEMAP modernization part 1 (no whatsnew)
This commit is contained in:
parent
17e7fa2f1e
commit
d19e0caf9d
@ -74,6 +74,7 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(k3_scrollx_w);
|
||||
DECLARE_WRITE16_MEMBER(k3_scrolly_w);
|
||||
DECLARE_WRITE16_MEMBER(k3_soundbanks_w);
|
||||
TILE_GET_INFO_MEMBER(get_k3_bg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -83,17 +84,16 @@ WRITE16_MEMBER(k3_state::k3_bgram_w)
|
||||
m_bg_tilemap->mark_tile_dirty(offset);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_k3_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(k3_state::get_k3_bg_tile_info)
|
||||
{
|
||||
k3_state *state = machine.driver_data<k3_state>();
|
||||
int tileno = state->m_bgram[tile_index];
|
||||
SET_TILE_INFO(1, tileno, 0, 0);
|
||||
int tileno = m_bgram[tile_index];
|
||||
SET_TILE_INFO_MEMBER(1, tileno, 0, 0);
|
||||
}
|
||||
|
||||
static VIDEO_START(k3)
|
||||
{
|
||||
k3_state *state = machine.driver_data<k3_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_k3_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 64);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(k3_state::get_k3_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 64);
|
||||
}
|
||||
|
||||
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
|
||||
|
@ -483,6 +483,7 @@ public:
|
||||
DECLARE_READ8_MEMBER(pia1_b_r);
|
||||
DECLARE_WRITE8_MEMBER(fclown_ay8910_w);
|
||||
DECLARE_DRIVER_INIT(fclown);
|
||||
TILE_GET_INFO_MEMBER(get_fclown_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -507,9 +508,8 @@ WRITE8_MEMBER(_5clown_state::fclown_colorram_w)
|
||||
}
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_fclown_tile_info )
|
||||
TILE_GET_INFO_MEMBER(_5clown_state::get_fclown_tile_info)
|
||||
{
|
||||
_5clown_state *state = machine.driver_data<_5clown_state>();
|
||||
|
||||
/* - bits -
|
||||
7654 3210
|
||||
@ -520,19 +520,19 @@ static TILE_GET_INFO( get_fclown_tile_info )
|
||||
x--- ---- Extra color for 7's.
|
||||
*/
|
||||
|
||||
int attr = state->m_colorram[tile_index];
|
||||
int code = ((attr & 0x01) << 8) | ((attr & 0x40) << 2) | state->m_videoram[tile_index]; /* bit 8 for extended char set */
|
||||
int attr = m_colorram[tile_index];
|
||||
int code = ((attr & 0x01) << 8) | ((attr & 0x40) << 2) | m_videoram[tile_index]; /* bit 8 for extended char set */
|
||||
int bank = (attr & 0x02) >> 1; /* bit 1 switch the gfx banks */
|
||||
int color = (attr & 0x3c) >> 2 | ((attr & 0x80) >> 3); /* bits 2-3-4-5-7 for color */
|
||||
|
||||
SET_TILE_INFO(bank, code, color, 0);
|
||||
SET_TILE_INFO_MEMBER(bank, code, color, 0);
|
||||
}
|
||||
|
||||
|
||||
static VIDEO_START(fclown)
|
||||
{
|
||||
_5clown_state *state = machine.driver_data<_5clown_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_fclown_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(_5clown_state::get_fclown_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
}
|
||||
|
||||
|
||||
|
@ -88,32 +88,33 @@ public:
|
||||
DECLARE_READ16_MEMBER(ac_devices_r);
|
||||
DECLARE_WRITE16_MEMBER(ac_devices_w);
|
||||
DECLARE_WRITE16_MEMBER(ac_unk2_w);
|
||||
TILEMAP_MAPPER_MEMBER(bg_scan);
|
||||
TILE_GET_INFO_MEMBER(ac_get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(ac_get_tx_tile_info);
|
||||
};
|
||||
|
||||
|
||||
|
||||
static TILEMAP_MAPPER( bg_scan )
|
||||
TILEMAP_MAPPER_MEMBER(acommand_state::bg_scan)
|
||||
{
|
||||
/* logical (col,row) -> memory offset */
|
||||
return (row & 0x0f) + ((col & 0xff) << 4) + ((row & 0x70) << 8);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( ac_get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(acommand_state::ac_get_bg_tile_info)
|
||||
{
|
||||
acommand_state *state = machine.driver_data<acommand_state>();
|
||||
int code = state->m_ac_bgvram[tile_index];
|
||||
SET_TILE_INFO(
|
||||
int code = m_ac_bgvram[tile_index];
|
||||
SET_TILE_INFO_MEMBER(
|
||||
1,
|
||||
code & 0xfff,
|
||||
(code & 0xf000) >> 12,
|
||||
0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( ac_get_tx_tile_info )
|
||||
TILE_GET_INFO_MEMBER(acommand_state::ac_get_tx_tile_info)
|
||||
{
|
||||
acommand_state *state = machine.driver_data<acommand_state>();
|
||||
int code = state->m_ac_txvram[tile_index];
|
||||
SET_TILE_INFO(
|
||||
int code = m_ac_txvram[tile_index];
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
code & 0xfff,
|
||||
(code & 0xf000) >> 12,
|
||||
@ -182,8 +183,8 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r
|
||||
static VIDEO_START( acommand )
|
||||
{
|
||||
acommand_state *state = machine.driver_data<acommand_state>();
|
||||
state->m_tx_tilemap = tilemap_create(machine, ac_get_tx_tile_info,TILEMAP_SCAN_COLS,8,8,512,32);
|
||||
state->m_bg_tilemap = tilemap_create(machine, ac_get_bg_tile_info,bg_scan,16,16,256,16);
|
||||
state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(acommand_state::ac_get_tx_tile_info),state),TILEMAP_SCAN_COLS,8,8,512,32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(acommand_state::ac_get_bg_tile_info),state),tilemap_mapper_delegate(FUNC(acommand_state::bg_scan),state),16,16,256,16);
|
||||
|
||||
state->m_ac_vregs = auto_alloc_array(machine, UINT16, 0x80/2);
|
||||
|
||||
|
@ -72,15 +72,15 @@ public:
|
||||
DECLARE_READ8_MEMBER(mux_r);
|
||||
DECLARE_WRITE8_MEMBER(mux_w);
|
||||
DECLARE_WRITE8_MEMBER(yumefuda_output_w);
|
||||
TILE_GET_INFO_MEMBER(y_get_bg_tile_info);
|
||||
};
|
||||
|
||||
static TILE_GET_INFO( y_get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(albazg_state::y_get_bg_tile_info)
|
||||
{
|
||||
albazg_state *state = machine.driver_data<albazg_state>();
|
||||
int code = state->m_videoram[tile_index];
|
||||
int color = state->m_colorram[tile_index];
|
||||
int code = m_videoram[tile_index];
|
||||
int color = m_colorram[tile_index];
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
code + ((color & 0xf8) << 3),
|
||||
color & 0x7,
|
||||
@ -91,7 +91,7 @@ static TILE_GET_INFO( y_get_bg_tile_info )
|
||||
static VIDEO_START( yumefuda )
|
||||
{
|
||||
albazg_state *state = machine.driver_data<albazg_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, y_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(albazg_state::y_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
}
|
||||
|
||||
static SCREEN_UPDATE_IND16( yumefuda )
|
||||
|
@ -441,6 +441,7 @@ public:
|
||||
UINT8 m_crtc_vreg[0x100],m_crtc_index;
|
||||
|
||||
DECLARE_WRITE8_MEMBER(debug_w);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
};
|
||||
|
||||
#define mc6845_h_char_total (state->m_crtc_vreg[0])
|
||||
@ -480,26 +481,25 @@ WRITE8_MEMBER( avt_state::avt_colorram_w )
|
||||
}
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(avt_state::get_bg_tile_info)
|
||||
{
|
||||
avt_state *state = machine.driver_data<avt_state>();
|
||||
/* - bits -
|
||||
7654 3210
|
||||
xxxx ---- color code.
|
||||
---- xxxx seems unused.
|
||||
*/
|
||||
int attr = state->m_colorram[tile_index];
|
||||
int code = state->m_videoram[tile_index] | ((attr & 1) << 8);
|
||||
int attr = m_colorram[tile_index];
|
||||
int code = m_videoram[tile_index] | ((attr & 1) << 8);
|
||||
int color = (attr & 0xf0)>>4;
|
||||
|
||||
SET_TILE_INFO( 0, code, color, 0);
|
||||
SET_TILE_INFO_MEMBER( 0, code, color, 0);
|
||||
}
|
||||
|
||||
|
||||
static VIDEO_START( avt )
|
||||
{
|
||||
avt_state *state = machine.driver_data<avt_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 28, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(avt_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 28, 32);
|
||||
}
|
||||
|
||||
|
||||
|
@ -46,49 +46,50 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(bestleag_bgram_w);
|
||||
DECLARE_WRITE16_MEMBER(bestleag_fgram_w);
|
||||
DECLARE_WRITE16_MEMBER(oki_bank_w);
|
||||
TILE_GET_INFO_MEMBER(get_tx_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
TILEMAP_MAPPER_MEMBER(bsb_bg_scan);
|
||||
};
|
||||
|
||||
|
||||
/* Video Handling */
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_tx_tile_info )
|
||||
TILE_GET_INFO_MEMBER(bestleag_state::get_tx_tile_info)
|
||||
{
|
||||
bestleag_state *state = machine.driver_data<bestleag_state>();
|
||||
int code = state->m_txram[tile_index];
|
||||
int code = m_txram[tile_index];
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
(code & 0x0fff)|0x8000,
|
||||
(code & 0xf000) >> 12,
|
||||
0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(bestleag_state::get_bg_tile_info)
|
||||
{
|
||||
bestleag_state *state = machine.driver_data<bestleag_state>();
|
||||
int code = state->m_bgram[tile_index];
|
||||
int code = m_bgram[tile_index];
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
1,
|
||||
(code & 0x0fff),
|
||||
(code & 0xf000) >> 12,
|
||||
0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_fg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(bestleag_state::get_fg_tile_info)
|
||||
{
|
||||
bestleag_state *state = machine.driver_data<bestleag_state>();
|
||||
int code = state->m_fgram[tile_index];
|
||||
int code = m_fgram[tile_index];
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
1,
|
||||
(code & 0x0fff)|0x1000,
|
||||
((code & 0xf000) >> 12)|0x10,
|
||||
0);
|
||||
}
|
||||
|
||||
static TILEMAP_MAPPER( bsb_bg_scan )
|
||||
TILEMAP_MAPPER_MEMBER(bestleag_state::bsb_bg_scan)
|
||||
{
|
||||
int offset;
|
||||
|
||||
@ -102,9 +103,9 @@ static TILEMAP_MAPPER( bsb_bg_scan )
|
||||
static VIDEO_START(bestleag)
|
||||
{
|
||||
bestleag_state *state = machine.driver_data<bestleag_state>();
|
||||
state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info,TILEMAP_SCAN_COLS,8,8,256, 32);
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,bsb_bg_scan,16,16,128, 64);
|
||||
state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,bsb_bg_scan,16,16,128, 64);
|
||||
state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bestleag_state::get_tx_tile_info),state),TILEMAP_SCAN_COLS,8,8,256, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bestleag_state::get_bg_tile_info),state),tilemap_mapper_delegate(FUNC(bestleag_state::bsb_bg_scan),state),16,16,128, 64);
|
||||
state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bestleag_state::get_fg_tile_info),state),tilemap_mapper_delegate(FUNC(bestleag_state::bsb_bg_scan),state),16,16,128, 64);
|
||||
|
||||
state->m_tx_tilemap->set_transparent_pen(15);
|
||||
state->m_fg_tilemap->set_transparent_pen(15);
|
||||
|
@ -122,26 +122,33 @@ public:
|
||||
UINT16* m_spriteram[8];
|
||||
tilemap_t *m_bg_tilemap[8];
|
||||
|
||||
TILE_GET_INFO_MEMBER(get_bg0_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_bg1_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_bg2_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_bg3_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_bg4_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_bg5_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_bg6_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_bg7_tile_info);
|
||||
};
|
||||
|
||||
#define GET_INFO( ram ) \
|
||||
blackt96_state *state = machine.driver_data<blackt96_state>(); \
|
||||
int tileno = (ram[tile_index*2+1] & 0x1fff); \
|
||||
int rgn = (ram[tile_index*2+1] & 0x2000) >> 13; \
|
||||
int flipyx = (ram[tile_index*2+1] & 0xc000)>>14; \
|
||||
int col = (ram[tile_index*2] & 0x00ff); \
|
||||
if (rgn==1) col >>=4; \
|
||||
SET_TILE_INFO(1-rgn, tileno, col, TILE_FLIPYX(flipyx)); \
|
||||
SET_TILE_INFO_MEMBER(1-rgn, tileno, col, TILE_FLIPYX(flipyx)); \
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_bg0_tile_info ) { GET_INFO(state->m_spriteram0); }
|
||||
static TILE_GET_INFO( get_bg1_tile_info ) { GET_INFO(state->m_spriteram1); }
|
||||
static TILE_GET_INFO( get_bg2_tile_info ) { GET_INFO(state->m_spriteram2); }
|
||||
static TILE_GET_INFO( get_bg3_tile_info ) { GET_INFO(state->m_spriteram3); }
|
||||
static TILE_GET_INFO( get_bg4_tile_info ) { GET_INFO(state->m_spriteram4); }
|
||||
static TILE_GET_INFO( get_bg5_tile_info ) { GET_INFO(state->m_spriteram5); }
|
||||
static TILE_GET_INFO( get_bg6_tile_info ) { GET_INFO(state->m_spriteram6); }
|
||||
static TILE_GET_INFO( get_bg7_tile_info ) { GET_INFO(state->m_spriteram7); }
|
||||
TILE_GET_INFO_MEMBER(blackt96_state::get_bg0_tile_info){ GET_INFO(m_spriteram0); }
|
||||
TILE_GET_INFO_MEMBER(blackt96_state::get_bg1_tile_info){ GET_INFO(m_spriteram1); }
|
||||
TILE_GET_INFO_MEMBER(blackt96_state::get_bg2_tile_info){ GET_INFO(m_spriteram2); }
|
||||
TILE_GET_INFO_MEMBER(blackt96_state::get_bg3_tile_info){ GET_INFO(m_spriteram3); }
|
||||
TILE_GET_INFO_MEMBER(blackt96_state::get_bg4_tile_info){ GET_INFO(m_spriteram4); }
|
||||
TILE_GET_INFO_MEMBER(blackt96_state::get_bg5_tile_info){ GET_INFO(m_spriteram5); }
|
||||
TILE_GET_INFO_MEMBER(blackt96_state::get_bg6_tile_info){ GET_INFO(m_spriteram6); }
|
||||
TILE_GET_INFO_MEMBER(blackt96_state::get_bg7_tile_info){ GET_INFO(m_spriteram7); }
|
||||
|
||||
WRITE16_MEMBER(blackt96_state::bg_videoram0_w) { COMBINE_DATA(&m_spriteram0[offset]); m_bg_tilemap[0]->mark_tile_dirty(offset/2); }
|
||||
WRITE16_MEMBER(blackt96_state::bg_videoram1_w) { COMBINE_DATA(&m_spriteram1[offset]); m_bg_tilemap[1]->mark_tile_dirty(offset/2); }
|
||||
@ -156,14 +163,14 @@ static VIDEO_START( blackt96 )
|
||||
{
|
||||
blackt96_state *state = machine.driver_data<blackt96_state>();
|
||||
|
||||
state->m_bg_tilemap[0] = tilemap_create(machine, get_bg0_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
|
||||
state->m_bg_tilemap[1] = tilemap_create(machine, get_bg1_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
|
||||
state->m_bg_tilemap[2] = tilemap_create(machine, get_bg2_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
|
||||
state->m_bg_tilemap[3] = tilemap_create(machine, get_bg3_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
|
||||
state->m_bg_tilemap[4] = tilemap_create(machine, get_bg4_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
|
||||
state->m_bg_tilemap[5] = tilemap_create(machine, get_bg5_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
|
||||
state->m_bg_tilemap[6] = tilemap_create(machine, get_bg6_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
|
||||
state->m_bg_tilemap[7] = tilemap_create(machine, get_bg7_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
|
||||
state->m_bg_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg0_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
|
||||
state->m_bg_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg1_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
|
||||
state->m_bg_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg2_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
|
||||
state->m_bg_tilemap[3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg3_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
|
||||
state->m_bg_tilemap[4] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg4_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
|
||||
state->m_bg_tilemap[5] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg5_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
|
||||
state->m_bg_tilemap[6] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg6_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
|
||||
state->m_bg_tilemap[7] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg7_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
|
||||
|
||||
state->m_spriteram[0] = state->m_spriteram0;
|
||||
state->m_spriteram[1] = state->m_spriteram1;
|
||||
|
@ -310,6 +310,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(mux_w);
|
||||
DECLARE_WRITE8_MEMBER(lamps_a_w);
|
||||
DECLARE_WRITE8_MEMBER(sound_w);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -332,9 +333,8 @@ WRITE8_MEMBER(blitz_state::megadpkr_colorram_w)
|
||||
}
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(blitz_state::get_bg_tile_info)
|
||||
{
|
||||
blitz_state *state = machine.driver_data<blitz_state>();
|
||||
/* - bits -
|
||||
7654 3210
|
||||
--xx xx-- tiles color.
|
||||
@ -343,19 +343,19 @@ static TILE_GET_INFO( get_bg_tile_info )
|
||||
xx-- ---- unused.
|
||||
*/
|
||||
|
||||
int attr = state->m_colorram[tile_index];
|
||||
int code = ((attr & 1) << 8) | state->m_videoram[tile_index];
|
||||
int attr = m_colorram[tile_index];
|
||||
int code = ((attr & 1) << 8) | m_videoram[tile_index];
|
||||
int bank = (attr & 0x02) >> 1; /* bit 1 switch the gfx banks */
|
||||
int color = (attr & 0x3c) >> 2; /* bits 2-3-4-5 for color */
|
||||
|
||||
SET_TILE_INFO(bank, code, color, 0);
|
||||
SET_TILE_INFO_MEMBER(bank, code, color, 0);
|
||||
}
|
||||
|
||||
|
||||
static VIDEO_START( megadpkr )
|
||||
{
|
||||
blitz_state *state = machine.driver_data<blitz_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blitz_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
}
|
||||
|
||||
static SCREEN_UPDATE_IND16( megadpkr )
|
||||
|
@ -147,30 +147,34 @@ public:
|
||||
DECLARE_READ32_MEMBER(bnstars3_r);
|
||||
DECLARE_WRITE32_MEMBER(bnstars1_mahjong_select_w);
|
||||
DECLARE_DRIVER_INIT(bnstars);
|
||||
TILE_GET_INFO_MEMBER(get_ms32_tx0_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_ms32_tx1_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_ms32_bg0_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_ms32_bg1_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_ms32_roz0_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_ms32_roz1_tile_info);
|
||||
};
|
||||
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_ms32_tx0_tile_info )
|
||||
TILE_GET_INFO_MEMBER(bnstars_state::get_ms32_tx0_tile_info)
|
||||
{
|
||||
bnstars_state *state = machine.driver_data<bnstars_state>();
|
||||
int tileno, colour;
|
||||
|
||||
tileno = state->m_ms32_tx0_ram[tile_index *2+0] & 0x0000ffff;
|
||||
colour = state->m_ms32_tx0_ram[tile_index *2+1] & 0x0000000f;
|
||||
tileno = m_ms32_tx0_ram[tile_index *2+0] & 0x0000ffff;
|
||||
colour = m_ms32_tx0_ram[tile_index *2+1] & 0x0000000f;
|
||||
|
||||
SET_TILE_INFO(3,tileno,colour,0);
|
||||
SET_TILE_INFO_MEMBER(3,tileno,colour,0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_ms32_tx1_tile_info )
|
||||
TILE_GET_INFO_MEMBER(bnstars_state::get_ms32_tx1_tile_info)
|
||||
{
|
||||
bnstars_state *state = machine.driver_data<bnstars_state>();
|
||||
int tileno, colour;
|
||||
|
||||
tileno = state->m_ms32_tx1_ram[tile_index *2+0] & 0x0000ffff;
|
||||
colour = state->m_ms32_tx1_ram[tile_index *2+1] & 0x0000000f;
|
||||
tileno = m_ms32_tx1_ram[tile_index *2+0] & 0x0000ffff;
|
||||
colour = m_ms32_tx1_ram[tile_index *2+1] & 0x0000000f;
|
||||
|
||||
SET_TILE_INFO(7,tileno,colour,0);
|
||||
SET_TILE_INFO_MEMBER(7,tileno,colour,0);
|
||||
}
|
||||
|
||||
WRITE32_MEMBER(bnstars_state::ms32_tx0_ram_w)
|
||||
@ -187,26 +191,24 @@ WRITE32_MEMBER(bnstars_state::ms32_tx1_ram_w)
|
||||
|
||||
/* BG Layers */
|
||||
|
||||
static TILE_GET_INFO( get_ms32_bg0_tile_info )
|
||||
TILE_GET_INFO_MEMBER(bnstars_state::get_ms32_bg0_tile_info)
|
||||
{
|
||||
bnstars_state *state = machine.driver_data<bnstars_state>();
|
||||
int tileno,colour;
|
||||
|
||||
tileno = state->m_ms32_bg0_ram[tile_index *2+0] & 0x0000ffff;
|
||||
colour = state->m_ms32_bg0_ram[tile_index *2+1] & 0x0000000f;
|
||||
tileno = m_ms32_bg0_ram[tile_index *2+0] & 0x0000ffff;
|
||||
colour = m_ms32_bg0_ram[tile_index *2+1] & 0x0000000f;
|
||||
|
||||
SET_TILE_INFO(2,tileno,colour,0);
|
||||
SET_TILE_INFO_MEMBER(2,tileno,colour,0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_ms32_bg1_tile_info )
|
||||
TILE_GET_INFO_MEMBER(bnstars_state::get_ms32_bg1_tile_info)
|
||||
{
|
||||
bnstars_state *state = machine.driver_data<bnstars_state>();
|
||||
int tileno,colour;
|
||||
|
||||
tileno = state->m_ms32_bg1_ram[tile_index *2+0] & 0x0000ffff;
|
||||
colour = state->m_ms32_bg1_ram[tile_index *2+1] & 0x0000000f;
|
||||
tileno = m_ms32_bg1_ram[tile_index *2+0] & 0x0000ffff;
|
||||
colour = m_ms32_bg1_ram[tile_index *2+1] & 0x0000000f;
|
||||
|
||||
SET_TILE_INFO(6,tileno,colour,0);
|
||||
SET_TILE_INFO_MEMBER(6,tileno,colour,0);
|
||||
}
|
||||
|
||||
WRITE32_MEMBER(bnstars_state::ms32_bg0_ram_w)
|
||||
@ -309,26 +311,24 @@ static void draw_roz(running_machine &machine, bitmap_ind16 &bitmap, const recta
|
||||
}
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_ms32_roz0_tile_info )
|
||||
TILE_GET_INFO_MEMBER(bnstars_state::get_ms32_roz0_tile_info)
|
||||
{
|
||||
bnstars_state *state = machine.driver_data<bnstars_state>();
|
||||
int tileno,colour;
|
||||
|
||||
tileno = state->m_ms32_roz0_ram[tile_index *2+0] & 0x0000ffff;
|
||||
colour = state->m_ms32_roz0_ram[tile_index *2+1] & 0x0000000f;
|
||||
tileno = m_ms32_roz0_ram[tile_index *2+0] & 0x0000ffff;
|
||||
colour = m_ms32_roz0_ram[tile_index *2+1] & 0x0000000f;
|
||||
|
||||
SET_TILE_INFO(1,tileno,colour,0);
|
||||
SET_TILE_INFO_MEMBER(1,tileno,colour,0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_ms32_roz1_tile_info )
|
||||
TILE_GET_INFO_MEMBER(bnstars_state::get_ms32_roz1_tile_info)
|
||||
{
|
||||
bnstars_state *state = machine.driver_data<bnstars_state>();
|
||||
int tileno,colour;
|
||||
|
||||
tileno = state->m_ms32_roz1_ram[tile_index *2+0] & 0x0000ffff;
|
||||
colour = state->m_ms32_roz1_ram[tile_index *2+1] & 0x0000000f;
|
||||
tileno = m_ms32_roz1_ram[tile_index *2+0] & 0x0000ffff;
|
||||
colour = m_ms32_roz1_ram[tile_index *2+1] & 0x0000000f;
|
||||
|
||||
SET_TILE_INFO(5,tileno,colour,0);
|
||||
SET_TILE_INFO_MEMBER(5,tileno,colour,0);
|
||||
}
|
||||
|
||||
WRITE32_MEMBER(bnstars_state::ms32_roz0_ram_w)
|
||||
@ -507,18 +507,18 @@ WRITE32_MEMBER(bnstars_state::ms32_spramx_w)
|
||||
static VIDEO_START(bnstars)
|
||||
{
|
||||
bnstars_state *state = machine.driver_data<bnstars_state>();
|
||||
state->m_ms32_tx_tilemap[0] = tilemap_create(machine, get_ms32_tx0_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,64);
|
||||
state->m_ms32_tx_tilemap[1] = tilemap_create(machine, get_ms32_tx1_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,64);
|
||||
state->m_ms32_tx_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bnstars_state::get_ms32_tx0_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,64);
|
||||
state->m_ms32_tx_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bnstars_state::get_ms32_tx1_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,64);
|
||||
state->m_ms32_tx_tilemap[0]->set_transparent_pen(0);
|
||||
state->m_ms32_tx_tilemap[1]->set_transparent_pen(0);
|
||||
|
||||
state->m_ms32_bg_tilemap[0] = tilemap_create(machine, get_ms32_bg0_tile_info,TILEMAP_SCAN_ROWS,16,16,64,64);
|
||||
state->m_ms32_bg_tilemap[1] = tilemap_create(machine, get_ms32_bg1_tile_info,TILEMAP_SCAN_ROWS,16,16,64,64);
|
||||
state->m_ms32_bg_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bnstars_state::get_ms32_bg0_tile_info),state),TILEMAP_SCAN_ROWS,16,16,64,64);
|
||||
state->m_ms32_bg_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bnstars_state::get_ms32_bg1_tile_info),state),TILEMAP_SCAN_ROWS,16,16,64,64);
|
||||
state->m_ms32_bg_tilemap[0]->set_transparent_pen(0);
|
||||
state->m_ms32_bg_tilemap[1]->set_transparent_pen(0);
|
||||
|
||||
state->m_ms32_roz_tilemap[0] = tilemap_create(machine, get_ms32_roz0_tile_info,TILEMAP_SCAN_ROWS,16,16,128,128);
|
||||
state->m_ms32_roz_tilemap[1] = tilemap_create(machine, get_ms32_roz1_tile_info,TILEMAP_SCAN_ROWS,16,16,128,128);
|
||||
state->m_ms32_roz_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bnstars_state::get_ms32_roz0_tile_info),state),TILEMAP_SCAN_ROWS,16,16,128,128);
|
||||
state->m_ms32_roz_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bnstars_state::get_ms32_roz1_tile_info),state),TILEMAP_SCAN_ROWS,16,16,128,128);
|
||||
state->m_ms32_roz_tilemap[0]->set_transparent_pen(0);
|
||||
state->m_ms32_roz_tilemap[1]->set_transparent_pen(0);
|
||||
|
||||
|
@ -51,6 +51,8 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(cabaret_nmi_and_coins_w);
|
||||
void show_out();
|
||||
DECLARE_DRIVER_INIT(cabaret);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -74,19 +76,17 @@ WRITE8_MEMBER(cabaret_state::bg_tile_w)
|
||||
m_bg_tilemap->mark_tile_dirty(offset);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(cabaret_state::get_bg_tile_info)
|
||||
{
|
||||
cabaret_state *state = machine.driver_data<cabaret_state>();
|
||||
int code = state->m_bg_tile_ram[tile_index];
|
||||
SET_TILE_INFO(1, code & 0xff, 0, 0);
|
||||
int code = m_bg_tile_ram[tile_index];
|
||||
SET_TILE_INFO_MEMBER(1, code & 0xff, 0, 0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_fg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(cabaret_state::get_fg_tile_info)
|
||||
{
|
||||
cabaret_state *state = machine.driver_data<cabaret_state>();
|
||||
int code = state->m_fg_tile_ram[tile_index] | (state->m_fg_color_ram[tile_index] << 8);
|
||||
int code = m_fg_tile_ram[tile_index] | (m_fg_color_ram[tile_index] << 8);
|
||||
int tile = code & 0x1fff;
|
||||
SET_TILE_INFO(0, code, tile != 0x1fff ? ((code >> 12) & 0xe) + 1 : 0, 0);
|
||||
SET_TILE_INFO_MEMBER(0, code, tile != 0x1fff ? ((code >> 12) & 0xe) + 1 : 0, 0);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(cabaret_state::fg_tile_w)
|
||||
@ -104,8 +104,8 @@ WRITE8_MEMBER(cabaret_state::fg_color_w)
|
||||
static VIDEO_START(cabaret)
|
||||
{
|
||||
cabaret_state *state = machine.driver_data<cabaret_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
|
||||
state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cabaret_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
|
||||
state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cabaret_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
|
||||
state->m_fg_tilemap->set_transparent_pen(0);
|
||||
state->m_bg_tilemap->set_scroll_cols(64);
|
||||
}
|
||||
|
@ -107,6 +107,8 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(bogus_w);
|
||||
DECLARE_DRIVER_INIT(calorie);
|
||||
DECLARE_DRIVER_INIT(calorieb);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -116,25 +118,23 @@ public:
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(calorie_state::get_bg_tile_info)
|
||||
{
|
||||
calorie_state *state = machine.driver_data<calorie_state>();
|
||||
UINT8 *src = state->memregion("user1")->base();
|
||||
int bg_base = (state->m_bg_bank & 0x0f) * 0x200;
|
||||
UINT8 *src = memregion("user1")->base();
|
||||
int bg_base = (m_bg_bank & 0x0f) * 0x200;
|
||||
int code = src[bg_base + tile_index] | (((src[bg_base + tile_index + 0x100]) & 0x10) << 4);
|
||||
int color = src[bg_base + tile_index + 0x100] & 0x0f;
|
||||
int flag = src[bg_base + tile_index + 0x100] & 0x40 ? TILE_FLIPX : 0;
|
||||
|
||||
SET_TILE_INFO(1, code, color, flag);
|
||||
SET_TILE_INFO_MEMBER(1, code, color, flag);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_fg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(calorie_state::get_fg_tile_info)
|
||||
{
|
||||
calorie_state *state = machine.driver_data<calorie_state>();
|
||||
int code = ((state->m_fg_ram[tile_index + 0x400] & 0x30) << 4) | state->m_fg_ram[tile_index];
|
||||
int color = state->m_fg_ram[tile_index + 0x400] & 0x0f;
|
||||
int code = ((m_fg_ram[tile_index + 0x400] & 0x30) << 4) | m_fg_ram[tile_index];
|
||||
int color = m_fg_ram[tile_index + 0x400] & 0x0f;
|
||||
|
||||
SET_TILE_INFO(0, code, color, TILE_FLIPYX((state->m_fg_ram[tile_index + 0x400] & 0xc0) >> 6));
|
||||
SET_TILE_INFO_MEMBER(0, code, color, TILE_FLIPYX((m_fg_ram[tile_index + 0x400] & 0xc0) >> 6));
|
||||
}
|
||||
|
||||
|
||||
@ -142,8 +142,8 @@ static VIDEO_START( calorie )
|
||||
{
|
||||
calorie_state *state = machine.driver_data<calorie_state>();
|
||||
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
|
||||
state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(calorie_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
|
||||
state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(calorie_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
|
||||
state->m_fg_tilemap->set_transparent_pen(0);
|
||||
}
|
||||
|
@ -65,17 +65,17 @@ public:
|
||||
DECLARE_READ8_MEMBER(vvillage_rng_r);
|
||||
DECLARE_WRITE8_MEMBER(vvillage_output_w);
|
||||
DECLARE_WRITE8_MEMBER(vvillage_lamps_w);
|
||||
TILE_GET_INFO_MEMBER(get_sc0_tile_info);
|
||||
};
|
||||
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_sc0_tile_info )
|
||||
TILE_GET_INFO_MEMBER(caswin_state::get_sc0_tile_info)
|
||||
{
|
||||
caswin_state *state = machine.driver_data<caswin_state>();
|
||||
int tile = (state->m_sc0_vram[tile_index] | ((state->m_sc0_attr[tile_index] & 0x70)<<4)) & 0x7ff;
|
||||
int colour = state->m_sc0_attr[tile_index] & 0xf;
|
||||
int tile = (m_sc0_vram[tile_index] | ((m_sc0_attr[tile_index] & 0x70)<<4)) & 0x7ff;
|
||||
int colour = m_sc0_attr[tile_index] & 0xf;
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
tile,
|
||||
colour,
|
||||
@ -85,7 +85,7 @@ static TILE_GET_INFO( get_sc0_tile_info )
|
||||
static VIDEO_START(vvillage)
|
||||
{
|
||||
caswin_state *state = machine.driver_data<caswin_state>();
|
||||
state->m_sc0_tilemap = tilemap_create(machine, get_sc0_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
|
||||
state->m_sc0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(caswin_state::get_sc0_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
|
||||
}
|
||||
|
||||
static SCREEN_UPDATE_IND16(vvillage)
|
||||
|
@ -66,6 +66,9 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(cb2001_vidctrl_w);
|
||||
DECLARE_WRITE16_MEMBER(cb2001_vidctrl2_w);
|
||||
DECLARE_WRITE16_MEMBER(cb2001_bg_w);
|
||||
TILE_GET_INFO_MEMBER(get_cb2001_reel1_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_cb2001_reel2_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_cb2001_reel3_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -456,10 +459,9 @@ WRITE16_MEMBER(cb2001_state::cb2001_vidctrl2_w)
|
||||
}
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_cb2001_reel1_tile_info )
|
||||
TILE_GET_INFO_MEMBER(cb2001_state::get_cb2001_reel1_tile_info)
|
||||
{
|
||||
cb2001_state *state = machine.driver_data<cb2001_state>();
|
||||
int code = state->m_vram_bg[(0x0000/2) + tile_index/2];
|
||||
int code = m_vram_bg[(0x0000/2) + tile_index/2];
|
||||
|
||||
if (tile_index&1)
|
||||
code >>=8;
|
||||
@ -468,17 +470,16 @@ static TILE_GET_INFO( get_cb2001_reel1_tile_info )
|
||||
|
||||
int colour = 0;//= (cb2001_out_c&0x7) + 8;
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
1,
|
||||
code+0x800,
|
||||
colour,
|
||||
0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_cb2001_reel2_tile_info )
|
||||
TILE_GET_INFO_MEMBER(cb2001_state::get_cb2001_reel2_tile_info)
|
||||
{
|
||||
cb2001_state *state = machine.driver_data<cb2001_state>();
|
||||
int code = state->m_vram_bg[(0x0200/2) + tile_index/2];
|
||||
int code = m_vram_bg[(0x0200/2) + tile_index/2];
|
||||
|
||||
if (tile_index&1)
|
||||
code >>=8;
|
||||
@ -487,7 +488,7 @@ static TILE_GET_INFO( get_cb2001_reel2_tile_info )
|
||||
|
||||
int colour = 0;//(cb2001_out_c&0x7) + 8;
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
1,
|
||||
code+0x800,
|
||||
colour,
|
||||
@ -495,10 +496,9 @@ static TILE_GET_INFO( get_cb2001_reel2_tile_info )
|
||||
}
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_cb2001_reel3_tile_info )
|
||||
TILE_GET_INFO_MEMBER(cb2001_state::get_cb2001_reel3_tile_info)
|
||||
{
|
||||
cb2001_state *state = machine.driver_data<cb2001_state>();
|
||||
int code = state->m_vram_bg[(0x0400/2) + tile_index/2];
|
||||
int code = m_vram_bg[(0x0400/2) + tile_index/2];
|
||||
int colour = 0;//(cb2001_out_c&0x7) + 8;
|
||||
|
||||
if (tile_index&1)
|
||||
@ -506,7 +506,7 @@ static TILE_GET_INFO( get_cb2001_reel3_tile_info )
|
||||
|
||||
code &=0xff;
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
1,
|
||||
code+0x800,
|
||||
colour,
|
||||
@ -517,9 +517,9 @@ static TILE_GET_INFO( get_cb2001_reel3_tile_info )
|
||||
static VIDEO_START(cb2001)
|
||||
{
|
||||
cb2001_state *state = machine.driver_data<cb2001_state>();
|
||||
state->m_reel1_tilemap = tilemap_create(machine,get_cb2001_reel1_tile_info,TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
|
||||
state->m_reel2_tilemap = tilemap_create(machine,get_cb2001_reel2_tile_info,TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
|
||||
state->m_reel3_tilemap = tilemap_create(machine,get_cb2001_reel3_tile_info,TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
|
||||
state->m_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cb2001_state::get_cb2001_reel1_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
|
||||
state->m_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cb2001_state::get_cb2001_reel2_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
|
||||
state->m_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cb2001_state::get_cb2001_reel3_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
|
||||
|
||||
state->m_reel1_tilemap->set_scroll_cols(64);
|
||||
state->m_reel2_tilemap->set_scroll_cols(64);
|
||||
|
@ -27,15 +27,15 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(cball_vram_w);
|
||||
DECLARE_READ8_MEMBER(cball_wram_r);
|
||||
DECLARE_WRITE8_MEMBER(cball_wram_w);
|
||||
TILE_GET_INFO_MEMBER(get_tile_info);
|
||||
};
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_tile_info )
|
||||
TILE_GET_INFO_MEMBER(cball_state::get_tile_info)
|
||||
{
|
||||
cball_state *state = machine.driver_data<cball_state>();
|
||||
UINT8 code = state->m_video_ram[tile_index];
|
||||
UINT8 code = m_video_ram[tile_index];
|
||||
|
||||
SET_TILE_INFO(0, code, code >> 7, 0);
|
||||
SET_TILE_INFO_MEMBER(0, code, code >> 7, 0);
|
||||
}
|
||||
|
||||
|
||||
@ -49,7 +49,7 @@ WRITE8_MEMBER(cball_state::cball_vram_w)
|
||||
static VIDEO_START( cball )
|
||||
{
|
||||
cball_state *state = machine.driver_data<cball_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cball_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
}
|
||||
|
||||
|
||||
|
@ -86,6 +86,8 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(chanbara_ay_out_0_w);
|
||||
DECLARE_WRITE8_MEMBER(chanbara_ay_out_1_w);
|
||||
DECLARE_DRIVER_INIT(chanbara);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_bg2_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -133,29 +135,27 @@ WRITE8_MEMBER(chanbara_state::chanbara_colorram2_w)
|
||||
}
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(chanbara_state::get_bg_tile_info)
|
||||
{
|
||||
chanbara_state *state = machine.driver_data<chanbara_state>();
|
||||
int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 1) << 8);
|
||||
int color = (state->m_colorram[tile_index] >> 1) & 0x1f;
|
||||
int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 1) << 8);
|
||||
int color = (m_colorram[tile_index] >> 1) & 0x1f;
|
||||
|
||||
SET_TILE_INFO(0, code, color, 0);
|
||||
SET_TILE_INFO_MEMBER(0, code, color, 0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_bg2_tile_info )
|
||||
TILE_GET_INFO_MEMBER(chanbara_state::get_bg2_tile_info)
|
||||
{
|
||||
chanbara_state *state = machine.driver_data<chanbara_state>();
|
||||
int code = state->m_videoram2[tile_index];
|
||||
int color = (state->m_colorram2[tile_index] >> 1) & 0x1f;
|
||||
int code = m_videoram2[tile_index];
|
||||
int color = (m_colorram2[tile_index] >> 1) & 0x1f;
|
||||
|
||||
SET_TILE_INFO(2, code, color, 0);
|
||||
SET_TILE_INFO_MEMBER(2, code, color, 0);
|
||||
}
|
||||
|
||||
static VIDEO_START(chanbara )
|
||||
{
|
||||
chanbara_state *state = machine.driver_data<chanbara_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,8, 8, 32, 32);
|
||||
state->m_bg2_tilemap = tilemap_create(machine, get_bg2_tile_info, TILEMAP_SCAN_ROWS,16, 16, 16, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(chanbara_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,8, 8, 32, 32);
|
||||
state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(chanbara_state::get_bg2_tile_info),state), TILEMAP_SCAN_ROWS,16, 16, 16, 32);
|
||||
state->m_bg_tilemap->set_transparent_pen(0);
|
||||
}
|
||||
|
||||
|
@ -57,27 +57,27 @@ public:
|
||||
required_shared_ptr<UINT8> m_bgram;
|
||||
|
||||
UINT8 mux_data;
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_fg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(chance32_state::get_fg_tile_info)
|
||||
{
|
||||
chance32_state *state = machine.driver_data<chance32_state>();
|
||||
int code = (state->m_fgram[tile_index * 2 + 1] << 8) | state->m_fgram[tile_index * 2];
|
||||
int code = (m_fgram[tile_index * 2 + 1] << 8) | m_fgram[tile_index * 2];
|
||||
int flip = (~code >> 12)&1;
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
1,
|
||||
code & 0x0fff,
|
||||
code >> 13,
|
||||
TILE_FLIPYX(flip<<1)|flip);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(chance32_state::get_bg_tile_info)
|
||||
{
|
||||
chance32_state *state = machine.driver_data<chance32_state>();
|
||||
int code = (state->m_bgram[tile_index * 2 +1] << 8) | state->m_bgram[tile_index * 2];
|
||||
int code = (m_bgram[tile_index * 2 +1] << 8) | m_bgram[tile_index * 2];
|
||||
int flip = (~code >> 12)&1;
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
code & 0x0fff,
|
||||
code >> 13,
|
||||
@ -89,10 +89,10 @@ VIDEO_START( chance32 )
|
||||
{
|
||||
chance32_state *state = machine.driver_data<chance32_state>();
|
||||
|
||||
state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 8, 35, 29);
|
||||
state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(chance32_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 8, 35, 29);
|
||||
state->m_fg_tilemap->set_transparent_pen(0);
|
||||
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 8, 35, 29);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(chance32_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 8, 35, 29);
|
||||
|
||||
state->m_fg_tilemap->set_flip(TILE_FLIPX|TILE_FLIPY);
|
||||
state->m_bg_tilemap->set_flip(TILE_FLIPX|TILE_FLIPY);
|
||||
|
@ -81,6 +81,8 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(nmimask_w);
|
||||
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
|
||||
DECLARE_DRIVER_INIT(zerotrgt);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -112,30 +114,28 @@ static PALETTE_INIT( zerotrgt )
|
||||
}
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(cntsteer_state::get_bg_tile_info)
|
||||
{
|
||||
cntsteer_state *state = machine.driver_data<cntsteer_state>();
|
||||
int code = state->m_videoram2[tile_index];
|
||||
int code = m_videoram2[tile_index];
|
||||
|
||||
SET_TILE_INFO(2, code + state->m_bg_bank, state->m_bg_color_bank, 0);
|
||||
SET_TILE_INFO_MEMBER(2, code + m_bg_bank, m_bg_color_bank, 0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_fg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(cntsteer_state::get_fg_tile_info)
|
||||
{
|
||||
cntsteer_state *state = machine.driver_data<cntsteer_state>();
|
||||
int code = state->m_videoram[tile_index];
|
||||
int attr = state->m_colorram[tile_index];
|
||||
int code = m_videoram[tile_index];
|
||||
int attr = m_colorram[tile_index];
|
||||
|
||||
code |= (attr & 0x01) << 8;
|
||||
|
||||
SET_TILE_INFO(0, code, 0x30 + ((attr & 0x78) >> 3), 0);
|
||||
SET_TILE_INFO_MEMBER(0, code, 0x30 + ((attr & 0x78) >> 3), 0);
|
||||
}
|
||||
|
||||
static VIDEO_START( cntsteer )
|
||||
{
|
||||
cntsteer_state *state = machine.driver_data<cntsteer_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 64, 64);
|
||||
state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS_FLIP_X, 8, 8, 32, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cntsteer_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 64, 64);
|
||||
state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cntsteer_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS_FLIP_X, 8, 8, 32, 32);
|
||||
|
||||
state->m_fg_tilemap->set_transparent_pen(0);
|
||||
|
||||
@ -145,8 +145,8 @@ static VIDEO_START( cntsteer )
|
||||
static VIDEO_START( zerotrgt )
|
||||
{
|
||||
cntsteer_state *state = machine.driver_data<cntsteer_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
|
||||
state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS_FLIP_X, 8, 8, 32, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cntsteer_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
|
||||
state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cntsteer_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS_FLIP_X, 8, 8, 32, 32);
|
||||
|
||||
state->m_fg_tilemap->set_transparent_pen(0);
|
||||
|
||||
|
@ -53,6 +53,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(question_w);
|
||||
DECLARE_READ8_MEMBER(ff_r);
|
||||
DECLARE_DRIVER_INIT(coinmstr);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -899,25 +900,24 @@ static GFXDECODE_START( coinmstr )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(coinmstr_state::get_bg_tile_info)
|
||||
{
|
||||
coinmstr_state *state = machine.driver_data<coinmstr_state>();
|
||||
UINT8 *videoram = state->m_videoram;
|
||||
UINT8 *videoram = m_videoram;
|
||||
int tile = videoram[tile_index + 0x0240];
|
||||
int color = tile_index;
|
||||
|
||||
tile |= (state->m_attr_ram1[tile_index + 0x0240] & 0x80) << 1;
|
||||
tile |= (state->m_attr_ram2[tile_index + 0x0240] & 0x80) << 2;
|
||||
tile |= (m_attr_ram1[tile_index + 0x0240] & 0x80) << 1;
|
||||
tile |= (m_attr_ram2[tile_index + 0x0240] & 0x80) << 2;
|
||||
|
||||
tile |= (state->m_attr_ram3[tile_index + 0x0240] & 0x03) << (6+4);
|
||||
tile |= (m_attr_ram3[tile_index + 0x0240] & 0x03) << (6+4);
|
||||
|
||||
SET_TILE_INFO(0, tile, color, 0);
|
||||
SET_TILE_INFO_MEMBER(0, tile, color, 0);
|
||||
}
|
||||
|
||||
static VIDEO_START( coinmstr )
|
||||
{
|
||||
coinmstr_state *state = machine.driver_data<coinmstr_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 46, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(coinmstr_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 46, 32);
|
||||
}
|
||||
|
||||
static SCREEN_UPDATE_IND16( coinmstr )
|
||||
|
@ -115,19 +115,19 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(seibu_sound_comms_w);
|
||||
DECLARE_DRIVER_INIT(cshootere);
|
||||
DECLARE_DRIVER_INIT(cshooter);
|
||||
TILE_GET_INFO_MEMBER(get_cstx_tile_info);
|
||||
};
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_cstx_tile_info )
|
||||
TILE_GET_INFO_MEMBER(cshooter_state::get_cstx_tile_info)
|
||||
{
|
||||
cshooter_state *state = machine.driver_data<cshooter_state>();
|
||||
int code = (state->m_txram[tile_index*2]);
|
||||
int attr = (state->m_txram[tile_index*2+1]);
|
||||
int code = (m_txram[tile_index*2]);
|
||||
int attr = (m_txram[tile_index*2+1]);
|
||||
int rg;
|
||||
rg=0;
|
||||
if (attr & 0x20) rg = 1;
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
|
||||
rg,
|
||||
(code & 0x1ff),
|
||||
@ -144,7 +144,7 @@ WRITE8_MEMBER(cshooter_state::cshooter_txram_w)
|
||||
static VIDEO_START(cshooter)
|
||||
{
|
||||
cshooter_state *state = machine.driver_data<cshooter_state>();
|
||||
state->m_txtilemap = tilemap_create(machine, get_cstx_tile_info,TILEMAP_SCAN_ROWS, 8,8,32, 32);
|
||||
state->m_txtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cshooter_state::get_cstx_tile_info),state),TILEMAP_SCAN_ROWS, 8,8,32, 32);
|
||||
state->m_txtilemap->set_transparent_pen(3);
|
||||
}
|
||||
|
||||
|
@ -50,39 +50,39 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(bg0_videoram_w);
|
||||
DECLARE_WRITE8_MEMBER(misc_w);
|
||||
DECLARE_WRITE8_MEMBER(bg_bank_w);
|
||||
TILE_GET_INFO_MEMBER(get_bg1_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_bg2_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_bg0_tile_info);
|
||||
};
|
||||
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_bg1_tile_info )
|
||||
TILE_GET_INFO_MEMBER(cultures_state::get_bg1_tile_info)
|
||||
{
|
||||
cultures_state *state = machine.driver_data<cultures_state>();
|
||||
UINT8 *region = state->memregion("gfx3")->base() + 0x200000 + 0x80000 * state->m_bg1_bank;
|
||||
UINT8 *region = memregion("gfx3")->base() + 0x200000 + 0x80000 * m_bg1_bank;
|
||||
int code = region[tile_index * 2] + (region[tile_index * 2 + 1] << 8);
|
||||
SET_TILE_INFO(2, code, code >> 12, 0);
|
||||
SET_TILE_INFO_MEMBER(2, code, code >> 12, 0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_bg2_tile_info )
|
||||
TILE_GET_INFO_MEMBER(cultures_state::get_bg2_tile_info)
|
||||
{
|
||||
cultures_state *state = machine.driver_data<cultures_state>();
|
||||
UINT8 *region = state->memregion("gfx2")->base() + 0x200000 + 0x80000 * state->m_bg2_bank;
|
||||
UINT8 *region = memregion("gfx2")->base() + 0x200000 + 0x80000 * m_bg2_bank;
|
||||
int code = region[tile_index * 2] + (region[tile_index * 2 + 1] << 8);
|
||||
SET_TILE_INFO(1, code, code >> 12, 0);
|
||||
SET_TILE_INFO_MEMBER(1, code, code >> 12, 0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_bg0_tile_info )
|
||||
TILE_GET_INFO_MEMBER(cultures_state::get_bg0_tile_info)
|
||||
{
|
||||
cultures_state *state = machine.driver_data<cultures_state>();
|
||||
int code = state->m_bg0_videoram[tile_index * 2] + (state->m_bg0_videoram[tile_index * 2 + 1] << 8);
|
||||
SET_TILE_INFO(0, code, code >> 12, 0);
|
||||
int code = m_bg0_videoram[tile_index * 2] + (m_bg0_videoram[tile_index * 2 + 1] << 8);
|
||||
SET_TILE_INFO_MEMBER(0, code, code >> 12, 0);
|
||||
}
|
||||
|
||||
static VIDEO_START( cultures )
|
||||
{
|
||||
cultures_state *state = machine.driver_data<cultures_state>();
|
||||
state->m_bg0_tilemap = tilemap_create(machine, get_bg0_tile_info,TILEMAP_SCAN_ROWS, 8, 8, 64, 128);
|
||||
state->m_bg1_tilemap = tilemap_create(machine, get_bg1_tile_info,TILEMAP_SCAN_ROWS, 8, 8, 512, 512);
|
||||
state->m_bg2_tilemap = tilemap_create(machine, get_bg2_tile_info,TILEMAP_SCAN_ROWS, 8, 8, 512, 512);
|
||||
state->m_bg0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cultures_state::get_bg0_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8, 64, 128);
|
||||
state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cultures_state::get_bg1_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8, 512, 512);
|
||||
state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cultures_state::get_bg2_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8, 512, 512);
|
||||
|
||||
state->m_bg1_tilemap->set_transparent_pen(0);
|
||||
state->m_bg0_tilemap->set_transparent_pen(0);
|
||||
|
@ -215,6 +215,9 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(cybertnk_irq_ack_w);
|
||||
DECLARE_WRITE8_MEMBER(cybertnk_cnt_w);
|
||||
DECLARE_DRIVER_INIT(cybertnk);
|
||||
TILE_GET_INFO_MEMBER(get_tilemap0_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_tilemap1_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_tilemap2_tile_info);
|
||||
};
|
||||
|
||||
/* tile format
|
||||
@ -228,42 +231,39 @@ public:
|
||||
|
||||
*/
|
||||
|
||||
static TILE_GET_INFO( get_tilemap0_tile_info )
|
||||
TILE_GET_INFO_MEMBER(cybertnk_state::get_tilemap0_tile_info)
|
||||
{
|
||||
cybertnk_state *state = machine.driver_data<cybertnk_state>();
|
||||
int code = state->m_tilemap0_vram[tile_index];
|
||||
int code = m_tilemap0_vram[tile_index];
|
||||
int pal = (code & 0xe000) >> 13;
|
||||
pal |=(code & 0x1c00) >> 7;
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
code & 0x1fff,
|
||||
pal,
|
||||
0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_tilemap1_tile_info )
|
||||
TILE_GET_INFO_MEMBER(cybertnk_state::get_tilemap1_tile_info)
|
||||
{
|
||||
cybertnk_state *state = machine.driver_data<cybertnk_state>();
|
||||
int code = state->m_tilemap1_vram[tile_index];
|
||||
int code = m_tilemap1_vram[tile_index];
|
||||
int pal = (code & 0xe000) >> 13;
|
||||
pal |=(code & 0x1c00) >> 7;
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
1,
|
||||
code & 0x1fff,
|
||||
pal,
|
||||
0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_tilemap2_tile_info )
|
||||
TILE_GET_INFO_MEMBER(cybertnk_state::get_tilemap2_tile_info)
|
||||
{
|
||||
cybertnk_state *state = machine.driver_data<cybertnk_state>();
|
||||
int code = state->m_tilemap2_vram[tile_index];
|
||||
int code = m_tilemap2_vram[tile_index];
|
||||
int pal = (code & 0xe000) >> 13;
|
||||
pal |=(code & 0x1c00) >> 7;
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
2,
|
||||
code & 0x1fff,
|
||||
pal,
|
||||
@ -273,13 +273,13 @@ static TILE_GET_INFO( get_tilemap2_tile_info )
|
||||
static VIDEO_START( cybertnk )
|
||||
{
|
||||
cybertnk_state *state = machine.driver_data<cybertnk_state>();
|
||||
state->m_tilemap0_tilemap = tilemap_create(machine, get_tilemap0_tile_info,TILEMAP_SCAN_ROWS,8,8,128,32);
|
||||
state->m_tilemap0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cybertnk_state::get_tilemap0_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,32);
|
||||
state->m_tilemap0_tilemap->set_transparent_pen(0);
|
||||
|
||||
state->m_tilemap1_tilemap = tilemap_create(machine, get_tilemap1_tile_info,TILEMAP_SCAN_ROWS,8,8,128,32);
|
||||
state->m_tilemap1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cybertnk_state::get_tilemap1_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,32);
|
||||
state->m_tilemap1_tilemap->set_transparent_pen(0);
|
||||
|
||||
state->m_tilemap2_tilemap = tilemap_create(machine, get_tilemap2_tile_info,TILEMAP_SCAN_ROWS,8,8,128,32);
|
||||
state->m_tilemap2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cybertnk_state::get_tilemap2_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,32);
|
||||
state->m_tilemap2_tilemap->set_transparent_pen(0);
|
||||
}
|
||||
|
||||
|
@ -42,17 +42,17 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(sc0_cram);
|
||||
DECLARE_WRITE8_MEMBER(d9final_bank_w);
|
||||
DECLARE_READ8_MEMBER(prot_latch_r);
|
||||
TILE_GET_INFO_MEMBER(get_sc0_tile_info);
|
||||
};
|
||||
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_sc0_tile_info )
|
||||
TILE_GET_INFO_MEMBER(d9final_state::get_sc0_tile_info)
|
||||
{
|
||||
d9final_state *state = machine.driver_data<d9final_state>();
|
||||
int tile = ((state->m_hi_vram[tile_index] & 0x3f)<<8) | state->m_lo_vram[tile_index];
|
||||
int color = state->m_cram[tile_index] & 0x3f;
|
||||
int tile = ((m_hi_vram[tile_index] & 0x3f)<<8) | m_lo_vram[tile_index];
|
||||
int color = m_cram[tile_index] & 0x3f;
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
tile,
|
||||
color,
|
||||
@ -62,7 +62,7 @@ static TILE_GET_INFO( get_sc0_tile_info )
|
||||
static VIDEO_START(d9final)
|
||||
{
|
||||
d9final_state *state = machine.driver_data<d9final_state>();
|
||||
state->m_sc0_tilemap = tilemap_create(machine, get_sc0_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
|
||||
state->m_sc0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(d9final_state::get_sc0_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
|
||||
}
|
||||
|
||||
static SCREEN_UPDATE_IND16(d9final)
|
||||
|
@ -83,25 +83,25 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(snd_irq_w);
|
||||
DECLARE_WRITE8_MEMBER(music_irq_w);
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(snd_ack_r);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
};
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(dacholer_state::get_bg_tile_info)
|
||||
{
|
||||
dacholer_state *state = machine.driver_data<dacholer_state>();
|
||||
SET_TILE_INFO(1, state->m_bgvideoram[tile_index] + state->m_bg_bank * 0x100, 0, 0);
|
||||
SET_TILE_INFO_MEMBER(1, m_bgvideoram[tile_index] + m_bg_bank * 0x100, 0, 0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_fg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(dacholer_state::get_fg_tile_info)
|
||||
{
|
||||
dacholer_state *state = machine.driver_data<dacholer_state>();
|
||||
SET_TILE_INFO(0, state->m_fgvideoram[tile_index], 0, 0);
|
||||
SET_TILE_INFO_MEMBER(0, m_fgvideoram[tile_index], 0, 0);
|
||||
}
|
||||
|
||||
static VIDEO_START( dacholer )
|
||||
{
|
||||
dacholer_state *state = machine.driver_data<dacholer_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dacholer_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dacholer_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
|
||||
state->m_fg_tilemap->set_transparent_pen(0);
|
||||
}
|
||||
|
@ -100,6 +100,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(i8257_LMSR_w);
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(prot_r);
|
||||
DECLARE_DRIVER_INIT(ddayjlc);
|
||||
TILE_GET_INFO_MEMBER(get_tile_info_bg);
|
||||
};
|
||||
|
||||
|
||||
@ -369,20 +370,19 @@ static GFXDECODE_START( ddayjlc )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, charlayout, 0x100, 16 )
|
||||
GFXDECODE_END
|
||||
|
||||
static TILE_GET_INFO( get_tile_info_bg )
|
||||
TILE_GET_INFO_MEMBER(ddayjlc_state::get_tile_info_bg)
|
||||
{
|
||||
ddayjlc_state *state = machine.driver_data<ddayjlc_state>();
|
||||
int code = state->m_bgram[tile_index] + ((state->m_bgram[tile_index + 0x400] & 0x08) << 5);
|
||||
int color = (state->m_bgram[tile_index + 0x400] & 0x7);
|
||||
color |= (state->m_bgram[tile_index + 0x400] & 0x40) >> 3;
|
||||
int code = m_bgram[tile_index] + ((m_bgram[tile_index + 0x400] & 0x08) << 5);
|
||||
int color = (m_bgram[tile_index + 0x400] & 0x7);
|
||||
color |= (m_bgram[tile_index + 0x400] & 0x40) >> 3;
|
||||
|
||||
SET_TILE_INFO(2, code, color, 0);
|
||||
SET_TILE_INFO_MEMBER(2, code, color, 0);
|
||||
}
|
||||
|
||||
static VIDEO_START( ddayjlc )
|
||||
{
|
||||
ddayjlc_state *state = machine.driver_data<ddayjlc_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_tile_info_bg, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ddayjlc_state::get_tile_info_bg),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
}
|
||||
|
||||
static SCREEN_UPDATE_IND16( ddayjlc )
|
||||
|
@ -152,6 +152,7 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(ddealer_mcu_shared_w);
|
||||
DECLARE_READ16_MEMBER(ddealer_mcu_r);
|
||||
DECLARE_DRIVER_INIT(ddealer);
|
||||
TILE_GET_INFO_MEMBER(get_back_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -161,11 +162,10 @@ WRITE16_MEMBER(ddealer_state::ddealer_flipscreen_w)
|
||||
m_flipscreen = data & 0x01;
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_back_tile_info )
|
||||
TILE_GET_INFO_MEMBER(ddealer_state::get_back_tile_info)
|
||||
{
|
||||
ddealer_state *state = machine.driver_data<ddealer_state>();
|
||||
int code = state->m_back_vram[tile_index];
|
||||
SET_TILE_INFO(
|
||||
int code = m_back_vram[tile_index];
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
code & 0xfff,
|
||||
code >> 12,
|
||||
@ -176,7 +176,7 @@ static VIDEO_START( ddealer )
|
||||
{
|
||||
ddealer_state *state = machine.driver_data<ddealer_state>();
|
||||
state->m_flipscreen = 0;
|
||||
state->m_back_tilemap = tilemap_create(machine, get_back_tile_info, TILEMAP_SCAN_COLS, 8, 8, 64, 32);
|
||||
state->m_back_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ddealer_state::get_back_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 64, 32);
|
||||
}
|
||||
|
||||
static void ddealer_draw_video_layer( running_machine &machine, UINT16* vreg_base, UINT16* top, UINT16* bottom, bitmap_ind16 &bitmap, const rectangle &cliprect, int flipy)
|
||||
|
@ -77,6 +77,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(dderby_sound_w);
|
||||
DECLARE_READ8_MEMBER(input_r);
|
||||
DECLARE_WRITE8_MEMBER(output_w);
|
||||
TILE_GET_INFO_MEMBER(get_dmndrby_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -317,17 +318,16 @@ static GFXDECODE_START( dmndrby )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, tiles16x16_layout, 16*16, 32 )
|
||||
GFXDECODE_END
|
||||
|
||||
static TILE_GET_INFO( get_dmndrby_tile_info )
|
||||
TILE_GET_INFO_MEMBER(dmndrby_state::get_dmndrby_tile_info)
|
||||
{
|
||||
dmndrby_state *state = machine.driver_data<dmndrby_state>();
|
||||
int code = state->m_racetrack_tilemap_rom[tile_index];
|
||||
int attr = state->m_racetrack_tilemap_rom[tile_index+0x2000];
|
||||
int code = m_racetrack_tilemap_rom[tile_index];
|
||||
int attr = m_racetrack_tilemap_rom[tile_index+0x2000];
|
||||
|
||||
int col = attr&0x1f;
|
||||
int flipx = (attr&0x40)>>6;
|
||||
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
2,
|
||||
code,
|
||||
col,
|
||||
@ -339,7 +339,7 @@ static VIDEO_START(dderby)
|
||||
{
|
||||
dmndrby_state *state = machine.driver_data<dmndrby_state>();
|
||||
state->m_racetrack_tilemap_rom = state->memregion("user1")->base();
|
||||
state->m_racetrack_tilemap = tilemap_create(machine,get_dmndrby_tile_info,TILEMAP_SCAN_ROWS,16,16, 16, 512);
|
||||
state->m_racetrack_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dmndrby_state::get_dmndrby_tile_info),state),TILEMAP_SCAN_ROWS,16,16, 16, 512);
|
||||
state->m_racetrack_tilemap->mark_all_dirty();
|
||||
|
||||
}
|
||||
|
@ -158,6 +158,8 @@ public:
|
||||
DECLARE_WRITE32_MEMBER(dreamwld_6295_0_bank_w);
|
||||
DECLARE_WRITE32_MEMBER(dreamwld_6295_1_bank_w);
|
||||
DECLARE_WRITE32_MEMBER(dreamwld_palette_w);
|
||||
TILE_GET_INFO_MEMBER(get_dreamwld_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_dreamwld_bg2_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -234,14 +236,13 @@ WRITE32_MEMBER(dreamwld_state::dreamwld_bg_videoram_w)
|
||||
m_bg_tilemap->mark_tile_dirty(offset * 2 + 1);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_dreamwld_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(dreamwld_state::get_dreamwld_bg_tile_info)
|
||||
{
|
||||
dreamwld_state *state = machine.driver_data<dreamwld_state>();
|
||||
int tileno, colour;
|
||||
tileno = (tile_index & 1) ? (state->m_bg_videoram[tile_index >> 1] & 0xffff) : ((state->m_bg_videoram[tile_index >> 1] >> 16) & 0xffff);
|
||||
tileno = (tile_index & 1) ? (m_bg_videoram[tile_index >> 1] & 0xffff) : ((m_bg_videoram[tile_index >> 1] >> 16) & 0xffff);
|
||||
colour = tileno >> 13;
|
||||
tileno &= 0x1fff;
|
||||
SET_TILE_INFO(1, tileno + state->m_tilebank[0] * 0x2000, 0x80 + colour, 0);
|
||||
SET_TILE_INFO_MEMBER(1, tileno + m_tilebank[0] * 0x2000, 0x80 + colour, 0);
|
||||
}
|
||||
|
||||
|
||||
@ -252,22 +253,21 @@ WRITE32_MEMBER(dreamwld_state::dreamwld_bg2_videoram_w)
|
||||
m_bg2_tilemap->mark_tile_dirty(offset * 2 + 1);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_dreamwld_bg2_tile_info )
|
||||
TILE_GET_INFO_MEMBER(dreamwld_state::get_dreamwld_bg2_tile_info)
|
||||
{
|
||||
dreamwld_state *state = machine.driver_data<dreamwld_state>();
|
||||
UINT16 tileno, colour;
|
||||
tileno = (tile_index & 1) ? (state->m_bg2_videoram[tile_index >> 1] & 0xffff) : ((state->m_bg2_videoram[tile_index >> 1] >> 16) & 0xffff);
|
||||
tileno = (tile_index & 1) ? (m_bg2_videoram[tile_index >> 1] & 0xffff) : ((m_bg2_videoram[tile_index >> 1] >> 16) & 0xffff);
|
||||
colour = tileno >> 13;
|
||||
tileno &= 0x1fff;
|
||||
SET_TILE_INFO(1, tileno + state->m_tilebank[1] * 0x2000, 0xc0 + colour, 0);
|
||||
SET_TILE_INFO_MEMBER(1, tileno + m_tilebank[1] * 0x2000, 0xc0 + colour, 0);
|
||||
}
|
||||
|
||||
static VIDEO_START( dreamwld )
|
||||
{
|
||||
dreamwld_state *state = machine.driver_data<dreamwld_state>();
|
||||
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_dreamwld_bg_tile_info,TILEMAP_SCAN_ROWS, 16, 16, 64,32);
|
||||
state->m_bg2_tilemap = tilemap_create(machine, get_dreamwld_bg2_tile_info,TILEMAP_SCAN_ROWS, 16, 16, 64,32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dreamwld_state::get_dreamwld_bg_tile_info),state),TILEMAP_SCAN_ROWS, 16, 16, 64,32);
|
||||
state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dreamwld_state::get_dreamwld_bg2_tile_info),state),TILEMAP_SCAN_ROWS, 16, 16, 64,32);
|
||||
state->m_bg2_tilemap->set_transparent_pen(0);
|
||||
|
||||
state->m_bg_tilemap->set_scroll_rows(256); // line scrolling
|
||||
|
@ -35,25 +35,25 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(drtomy_vram_fg_w);
|
||||
DECLARE_WRITE16_MEMBER(drtomy_vram_bg_w);
|
||||
DECLARE_WRITE16_MEMBER(drtomy_okibank_w);
|
||||
TILE_GET_INFO_MEMBER(get_tile_info_fg);
|
||||
TILE_GET_INFO_MEMBER(get_tile_info_bg);
|
||||
};
|
||||
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_tile_info_fg )
|
||||
TILE_GET_INFO_MEMBER(drtomy_state::get_tile_info_fg)
|
||||
{
|
||||
drtomy_state *state = machine.driver_data<drtomy_state>();
|
||||
int code = state->m_videoram_fg[tile_index] & 0xfff;
|
||||
int color = (state->m_videoram_fg[tile_index] & 0xf000) >> 12;
|
||||
SET_TILE_INFO(2, code, color, 0);
|
||||
int code = m_videoram_fg[tile_index] & 0xfff;
|
||||
int color = (m_videoram_fg[tile_index] & 0xf000) >> 12;
|
||||
SET_TILE_INFO_MEMBER(2, code, color, 0);
|
||||
}
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_tile_info_bg )
|
||||
TILE_GET_INFO_MEMBER(drtomy_state::get_tile_info_bg)
|
||||
{
|
||||
drtomy_state *state = machine.driver_data<drtomy_state>();
|
||||
int code = state->m_videoram_bg[tile_index] & 0xfff;
|
||||
int color = (state->m_videoram_bg[tile_index] & 0xf000) >> 12;
|
||||
SET_TILE_INFO(1, code, color, 0);
|
||||
int code = m_videoram_bg[tile_index] & 0xfff;
|
||||
int color = (m_videoram_bg[tile_index] & 0xf000) >> 12;
|
||||
SET_TILE_INFO_MEMBER(1, code, color, 0);
|
||||
}
|
||||
|
||||
|
||||
@ -123,8 +123,8 @@ static VIDEO_START( drtomy )
|
||||
{
|
||||
drtomy_state *state = machine.driver_data<drtomy_state>();
|
||||
|
||||
state->m_tilemap_bg = tilemap_create(machine, get_tile_info_bg, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
|
||||
state->m_tilemap_fg = tilemap_create(machine, get_tile_info_fg, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
|
||||
state->m_tilemap_bg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(drtomy_state::get_tile_info_bg),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
|
||||
state->m_tilemap_fg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(drtomy_state::get_tile_info_fg),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
|
||||
|
||||
state->m_tilemap_fg->set_transparent_pen(0);
|
||||
}
|
||||
|
@ -66,6 +66,7 @@ public:
|
||||
DECLARE_READ8_MEMBER(bus_r);
|
||||
DECLARE_READ8_MEMBER(drw80pkr_io_r);
|
||||
DECLARE_DRIVER_INIT(drw80pkr);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -323,19 +324,18 @@ READ8_MEMBER(drw80pkr_state::drw80pkr_io_r)
|
||||
* Video/Character functions *
|
||||
****************************/
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(drw80pkr_state::get_bg_tile_info)
|
||||
{
|
||||
drw80pkr_state *state = machine.driver_data<drw80pkr_state>();
|
||||
int color = state->m_color_ram[tile_index];
|
||||
int code = state->m_video_ram[tile_index];
|
||||
int color = m_color_ram[tile_index];
|
||||
int code = m_video_ram[tile_index];
|
||||
|
||||
SET_TILE_INFO(0, code, color, 0);
|
||||
SET_TILE_INFO_MEMBER(0, code, color, 0);
|
||||
}
|
||||
|
||||
static VIDEO_START( drw80pkr )
|
||||
{
|
||||
drw80pkr_state *state = machine.driver_data<drw80pkr_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 24, 27);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(drw80pkr_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 24, 27);
|
||||
}
|
||||
|
||||
static SCREEN_UPDATE_IND16( drw80pkr )
|
||||
|
@ -117,6 +117,8 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(dunhuang_rombank_w);
|
||||
DECLARE_WRITE8_MEMBER(dunhuang_82_w);
|
||||
DECLARE_READ8_MEMBER(dunhuang_dsw_r);
|
||||
TILE_GET_INFO_MEMBER(get_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_tile_info2);
|
||||
};
|
||||
|
||||
|
||||
@ -125,26 +127,24 @@ public:
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_tile_info )
|
||||
TILE_GET_INFO_MEMBER(dunhuang_state::get_tile_info)
|
||||
{
|
||||
dunhuang_state *state = machine.driver_data<dunhuang_state>();
|
||||
UINT16 code = state->m_videoram[tile_index];
|
||||
UINT8 color = state->m_colorram[tile_index] & 0x0f;
|
||||
SET_TILE_INFO(0, code, color, 0);
|
||||
UINT16 code = m_videoram[tile_index];
|
||||
UINT8 color = m_colorram[tile_index] & 0x0f;
|
||||
SET_TILE_INFO_MEMBER(0, code, color, 0);
|
||||
}
|
||||
static TILE_GET_INFO( get_tile_info2 )
|
||||
TILE_GET_INFO_MEMBER(dunhuang_state::get_tile_info2)
|
||||
{
|
||||
dunhuang_state *state = machine.driver_data<dunhuang_state>();
|
||||
UINT16 code = state->m_videoram2[tile_index];
|
||||
UINT8 color = state->m_colorram2[tile_index] & 0x0f;
|
||||
SET_TILE_INFO(1, code, color, 0);
|
||||
UINT16 code = m_videoram2[tile_index];
|
||||
UINT8 color = m_colorram2[tile_index] & 0x0f;
|
||||
SET_TILE_INFO_MEMBER(1, code, color, 0);
|
||||
}
|
||||
|
||||
static VIDEO_START(dunhuang)
|
||||
{
|
||||
dunhuang_state *state = machine.driver_data<dunhuang_state>();
|
||||
state->m_tmap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8,8, 0x40,0x20);
|
||||
state->m_tmap2 = tilemap_create(machine, get_tile_info2, TILEMAP_SCAN_ROWS, 8,32, 0x40,0x8);
|
||||
state->m_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dunhuang_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 0x40,0x20);
|
||||
state->m_tmap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dunhuang_state::get_tile_info2),state), TILEMAP_SCAN_ROWS, 8,32, 0x40,0x8);
|
||||
|
||||
state->m_tmap->set_transparent_pen(0);
|
||||
state->m_tmap2->set_transparent_pen(0);
|
||||
|
@ -60,6 +60,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(sound_data_w);
|
||||
DECLARE_WRITE8_MEMBER(sound_control_w);
|
||||
DECLARE_DRIVER_INIT(dynadice);
|
||||
TILE_GET_INFO_MEMBER(get_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -192,11 +193,10 @@ static GFXDECODE_START( dynadice )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, charlayout2, 0, 1 ) /* 3bpp */
|
||||
GFXDECODE_END
|
||||
|
||||
static TILE_GET_INFO( get_tile_info )
|
||||
TILE_GET_INFO_MEMBER(dynadice_state::get_tile_info)
|
||||
{
|
||||
dynadice_state *state = machine.driver_data<dynadice_state>();
|
||||
int code = state->m_videoram[tile_index];
|
||||
SET_TILE_INFO(1, code, 0, 0);
|
||||
int code = m_videoram[tile_index];
|
||||
SET_TILE_INFO_MEMBER(1, code, 0, 0);
|
||||
}
|
||||
|
||||
static VIDEO_START( dynadice )
|
||||
@ -204,8 +204,8 @@ static VIDEO_START( dynadice )
|
||||
dynadice_state *state = machine.driver_data<dynadice_state>();
|
||||
|
||||
/* pacman - style videoram layout */
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_top_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_COLS, 8, 8, 2, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dynadice_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_top_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dynadice_state::get_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 2, 32);
|
||||
state->m_bg_tilemap->set_scrollx(0, -16);
|
||||
}
|
||||
|
||||
|
@ -75,6 +75,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(egghunt_soundlatch_w);
|
||||
DECLARE_READ8_MEMBER(egghunt_okibanking_r);
|
||||
DECLARE_WRITE8_MEMBER(egghunt_okibanking_w);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -117,23 +118,22 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap,const r
|
||||
}
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(egghunt_state::get_bg_tile_info)
|
||||
{
|
||||
egghunt_state *state = machine.driver_data<egghunt_state>();
|
||||
int code = ((state->m_bgram[tile_index * 2 + 1] << 8) | state->m_bgram[tile_index * 2]) & 0x3fff;
|
||||
int colour = state->m_atram[tile_index] & 0x3f;
|
||||
int code = ((m_bgram[tile_index * 2 + 1] << 8) | m_bgram[tile_index * 2]) & 0x3fff;
|
||||
int colour = m_atram[tile_index] & 0x3f;
|
||||
|
||||
if(code & 0x2000)
|
||||
{
|
||||
if((state->m_gfx_banking & 3) == 2)
|
||||
if((m_gfx_banking & 3) == 2)
|
||||
code += 0x2000;
|
||||
else if((state->m_gfx_banking & 3) == 3)
|
||||
else if((m_gfx_banking & 3) == 3)
|
||||
code += 0x4000;
|
||||
// else if((state->m_gfx_banking & 3) == 1)
|
||||
// else if((m_gfx_banking & 3) == 1)
|
||||
// code += 0;
|
||||
}
|
||||
|
||||
SET_TILE_INFO(0, code, colour, 0);
|
||||
SET_TILE_INFO_MEMBER(0, code, colour, 0);
|
||||
}
|
||||
|
||||
READ8_MEMBER(egghunt_state::egghunt_bgram_r)
|
||||
@ -172,7 +172,7 @@ static VIDEO_START(egghunt)
|
||||
{
|
||||
egghunt_state *state = machine.driver_data<egghunt_state>();
|
||||
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(egghunt_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
|
||||
|
||||
state->save_item(NAME(state->m_bgram));
|
||||
state->save_item(NAME(state->m_spram));
|
||||
|
@ -56,6 +56,8 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(b000_w);
|
||||
DECLARE_READ8_MEMBER(b000_r);
|
||||
DECLARE_WRITE8_MEMBER(b800_w);
|
||||
TILE_GET_INFO_MEMBER(get_tile_info_bg);
|
||||
TILE_GET_INFO_MEMBER(get_tile_info_fg);
|
||||
};
|
||||
|
||||
|
||||
@ -201,16 +203,14 @@ INLINE void get_tile_info(running_machine &machine, tile_data &tileinfo, int til
|
||||
SET_TILE_INFO(gfx_code,code,color,0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_tile_info_bg )
|
||||
TILE_GET_INFO_MEMBER(ettrivia_state::get_tile_info_bg)
|
||||
{
|
||||
ettrivia_state *state = machine.driver_data<ettrivia_state>();
|
||||
get_tile_info(machine, tileinfo, tile_index, state->m_bg_videoram, 0);
|
||||
get_tile_info(machine(), tileinfo, tile_index, m_bg_videoram, 0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_tile_info_fg )
|
||||
TILE_GET_INFO_MEMBER(ettrivia_state::get_tile_info_fg)
|
||||
{
|
||||
ettrivia_state *state = machine.driver_data<ettrivia_state>();
|
||||
get_tile_info(machine, tileinfo, tile_index, state->m_fg_videoram, 1);
|
||||
get_tile_info(machine(), tileinfo, tile_index, m_fg_videoram, 1);
|
||||
}
|
||||
|
||||
static PALETTE_INIT( ettrivia )
|
||||
@ -253,8 +253,8 @@ static PALETTE_INIT( ettrivia )
|
||||
static VIDEO_START( ettrivia )
|
||||
{
|
||||
ettrivia_state *state = machine.driver_data<ettrivia_state>();
|
||||
state->m_bg_tilemap = tilemap_create( machine, get_tile_info_bg,TILEMAP_SCAN_ROWS,8,8,64,32 );
|
||||
state->m_fg_tilemap = tilemap_create( machine, get_tile_info_fg,TILEMAP_SCAN_ROWS,8,8,64,32 );
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ettrivia_state::get_tile_info_bg),state),TILEMAP_SCAN_ROWS,8,8,64,32 );
|
||||
state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ettrivia_state::get_tile_info_fg),state),TILEMAP_SCAN_ROWS,8,8,64,32 );
|
||||
|
||||
state->m_fg_tilemap->set_transparent_pen(0);
|
||||
}
|
||||
|
@ -95,6 +95,7 @@ public:
|
||||
DECLARE_READ8_MEMBER(riot_porta_r);
|
||||
DECLARE_WRITE8_MEMBER(riot_porta_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(riot_irq);
|
||||
TILE_GET_INFO_MEMBER(bgtile_get_info);
|
||||
};
|
||||
|
||||
|
||||
@ -190,10 +191,9 @@ WRITE8_MEMBER(firefox_state::firefox_disc_data_w)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static TILE_GET_INFO( bgtile_get_info )
|
||||
TILE_GET_INFO_MEMBER(firefox_state::bgtile_get_info)
|
||||
{
|
||||
firefox_state *state = machine.driver_data<firefox_state>();
|
||||
SET_TILE_INFO(0, state->m_tileram[tile_index], 0, 0);
|
||||
SET_TILE_INFO_MEMBER(0, m_tileram[tile_index], 0, 0);
|
||||
}
|
||||
|
||||
|
||||
@ -207,7 +207,7 @@ WRITE8_MEMBER(firefox_state::tileram_w)
|
||||
static VIDEO_START( firefox )
|
||||
{
|
||||
firefox_state *state = machine.driver_data<firefox_state>();
|
||||
state->m_bgtiles = tilemap_create(machine, bgtile_get_info, TILEMAP_SCAN_ROWS, 8,8, 64,64);
|
||||
state->m_bgtiles = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(firefox_state::bgtile_get_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,64);
|
||||
state->m_bgtiles->set_transparent_pen(0);
|
||||
state->m_bgtiles->set_scrolldy(machine.primary_screen->visible_area().min_y, 0);
|
||||
}
|
||||
|
@ -54,6 +54,8 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(flyball_pitcher_vert_w);
|
||||
DECLARE_WRITE8_MEMBER(flyball_pitcher_horz_w);
|
||||
DECLARE_WRITE8_MEMBER(flyball_misc_w);
|
||||
TILEMAP_MAPPER_MEMBER(flyball_get_memory_offset);
|
||||
TILE_GET_INFO_MEMBER(flyball_get_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -63,7 +65,7 @@ public:
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static TILEMAP_MAPPER( flyball_get_memory_offset )
|
||||
TILEMAP_MAPPER_MEMBER(flyball_state::flyball_get_memory_offset)
|
||||
{
|
||||
if (col == 0)
|
||||
col = num_cols;
|
||||
@ -72,10 +74,9 @@ static TILEMAP_MAPPER( flyball_get_memory_offset )
|
||||
}
|
||||
|
||||
|
||||
static TILE_GET_INFO( flyball_get_tile_info )
|
||||
TILE_GET_INFO_MEMBER(flyball_state::flyball_get_tile_info)
|
||||
{
|
||||
flyball_state *state = machine.driver_data<flyball_state>();
|
||||
UINT8 data = state->m_playfield_ram[tile_index];
|
||||
UINT8 data = m_playfield_ram[tile_index];
|
||||
int flags = ((data & 0x40) ? TILE_FLIPX : 0) | ((data & 0x80) ? TILE_FLIPY : 0);
|
||||
int code = data & 63;
|
||||
|
||||
@ -84,14 +85,14 @@ static TILE_GET_INFO( flyball_get_tile_info )
|
||||
code += 64;
|
||||
}
|
||||
|
||||
SET_TILE_INFO(0, code, 0, flags);
|
||||
SET_TILE_INFO_MEMBER(0, code, 0, flags);
|
||||
}
|
||||
|
||||
|
||||
static VIDEO_START( flyball )
|
||||
{
|
||||
flyball_state *state = machine.driver_data<flyball_state>();
|
||||
state->m_tmap = tilemap_create(machine, flyball_get_tile_info, flyball_get_memory_offset, 8, 16, 32, 16);
|
||||
state->m_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(flyball_state::flyball_get_tile_info),state), tilemap_mapper_delegate(FUNC(flyball_state::flyball_get_memory_offset),state), 8, 16, 32, 16);
|
||||
}
|
||||
|
||||
|
||||
|
@ -86,6 +86,11 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(galaxi_500004_w);
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(ticket_r);
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(hopper_r);
|
||||
TILE_GET_INFO_MEMBER(get_bg1_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_bg2_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_bg3_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_bg4_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -93,39 +98,34 @@ public:
|
||||
Video Hardware
|
||||
***************************************************************************/
|
||||
|
||||
static TILE_GET_INFO( get_bg1_tile_info )
|
||||
TILE_GET_INFO_MEMBER(galaxi_state::get_bg1_tile_info)
|
||||
{
|
||||
galaxi_state *state = machine.driver_data<galaxi_state>();
|
||||
UINT16 code = state->m_bg1_ram[tile_index];
|
||||
SET_TILE_INFO(0, code, 0x10 + (code >> 12), 0);
|
||||
UINT16 code = m_bg1_ram[tile_index];
|
||||
SET_TILE_INFO_MEMBER(0, code, 0x10 + (code >> 12), 0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_bg2_tile_info )
|
||||
TILE_GET_INFO_MEMBER(galaxi_state::get_bg2_tile_info)
|
||||
{
|
||||
galaxi_state *state = machine.driver_data<galaxi_state>();
|
||||
UINT16 code = state->m_bg2_ram[tile_index];
|
||||
SET_TILE_INFO(0, code, 0x10 + (code >> 12), 0);
|
||||
UINT16 code = m_bg2_ram[tile_index];
|
||||
SET_TILE_INFO_MEMBER(0, code, 0x10 + (code >> 12), 0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_bg3_tile_info )
|
||||
TILE_GET_INFO_MEMBER(galaxi_state::get_bg3_tile_info)
|
||||
{
|
||||
galaxi_state *state = machine.driver_data<galaxi_state>();
|
||||
UINT16 code = state->m_bg3_ram[tile_index];
|
||||
SET_TILE_INFO(0, code, (code >> 12), 0);
|
||||
UINT16 code = m_bg3_ram[tile_index];
|
||||
SET_TILE_INFO_MEMBER(0, code, (code >> 12), 0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_bg4_tile_info )
|
||||
TILE_GET_INFO_MEMBER(galaxi_state::get_bg4_tile_info)
|
||||
{
|
||||
galaxi_state *state = machine.driver_data<galaxi_state>();
|
||||
UINT16 code = state->m_bg4_ram[tile_index];
|
||||
SET_TILE_INFO(0, code, (code >> 12), 0);
|
||||
UINT16 code = m_bg4_ram[tile_index];
|
||||
SET_TILE_INFO_MEMBER(0, code, (code >> 12), 0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_fg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(galaxi_state::get_fg_tile_info)
|
||||
{
|
||||
galaxi_state *state = machine.driver_data<galaxi_state>();
|
||||
UINT16 code = state->m_fg_ram[tile_index];
|
||||
SET_TILE_INFO(1, code, 0x20 + (code >> 12), 0);
|
||||
UINT16 code = m_fg_ram[tile_index];
|
||||
SET_TILE_INFO_MEMBER(1, code, 0x20 + (code >> 12), 0);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(galaxi_state::galaxi_bg1_w)
|
||||
@ -162,12 +162,12 @@ static VIDEO_START(galaxi)
|
||||
{
|
||||
galaxi_state *state = machine.driver_data<galaxi_state>();
|
||||
|
||||
state->m_bg1_tmap = tilemap_create(machine, get_bg1_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x10);
|
||||
state->m_bg2_tmap = tilemap_create(machine, get_bg2_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x10);
|
||||
state->m_bg3_tmap = tilemap_create(machine, get_bg3_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x10);
|
||||
state->m_bg4_tmap = tilemap_create(machine, get_bg4_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x10);
|
||||
state->m_bg1_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxi_state::get_bg1_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x10);
|
||||
state->m_bg2_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxi_state::get_bg2_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x10);
|
||||
state->m_bg3_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxi_state::get_bg3_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x10);
|
||||
state->m_bg4_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxi_state::get_bg4_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x10);
|
||||
|
||||
state->m_fg_tmap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 0x40, 0x20);
|
||||
state->m_fg_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxi_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 0x40, 0x20);
|
||||
|
||||
state->m_bg1_tmap->set_transparent_pen(0);
|
||||
state->m_bg2_tmap->set_transparent_pen(0);
|
||||
|
@ -997,6 +997,8 @@ public:
|
||||
DECLARE_DRIVER_INIT(vkdlswwc);
|
||||
DECLARE_DRIVER_INIT(vkdlswwr);
|
||||
DECLARE_DRIVER_INIT(vkdlswwv);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(wcrdxtnd_get_bg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -1017,9 +1019,8 @@ WRITE8_MEMBER(goldnpkr_state::goldnpkr_colorram_w)
|
||||
m_bg_tilemap->mark_tile_dirty(offset);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(goldnpkr_state::get_bg_tile_info)
|
||||
{
|
||||
goldnpkr_state *state = machine.driver_data<goldnpkr_state>();
|
||||
/* - bits -
|
||||
7654 3210
|
||||
--xx xx-- tiles color.
|
||||
@ -1028,17 +1029,16 @@ static TILE_GET_INFO( get_bg_tile_info )
|
||||
xx-- ---- unused.
|
||||
*/
|
||||
|
||||
int attr = state->m_colorram[tile_index];
|
||||
int code = ((attr & 1) << 8) | state->m_videoram[tile_index];
|
||||
int attr = m_colorram[tile_index];
|
||||
int code = ((attr & 1) << 8) | m_videoram[tile_index];
|
||||
int bank = (attr & 0x02) >> 1; /* bit 1 switch the gfx banks */
|
||||
int color = (attr & 0x3c) >> 2; /* bits 2-3-4-5 for color */
|
||||
|
||||
SET_TILE_INFO(bank, code, color, 0);
|
||||
SET_TILE_INFO_MEMBER(bank, code, color, 0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( wcrdxtnd_get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(goldnpkr_state::wcrdxtnd_get_bg_tile_info)
|
||||
{
|
||||
goldnpkr_state *state = machine.driver_data<goldnpkr_state>();
|
||||
/* 16 graphics banks system for VK extended (up & down) PCB's
|
||||
|
||||
- bits -
|
||||
@ -1047,24 +1047,24 @@ static TILE_GET_INFO( wcrdxtnd_get_bg_tile_info )
|
||||
xx-- --xx tiles bank.
|
||||
*/
|
||||
|
||||
int attr = state->m_colorram[tile_index];
|
||||
int code = ((attr & 1) << 8) | state->m_videoram[tile_index];
|
||||
int attr = m_colorram[tile_index];
|
||||
int code = ((attr & 1) << 8) | m_videoram[tile_index];
|
||||
int bank = (attr & 0x03) + ((attr & 0xc0) >> 4); /* bits 0, 1, 6 & 7 switch the gfx banks */
|
||||
int color = (attr & 0x3c) >> 2; /* bits 2-3-4-5 for color */
|
||||
|
||||
SET_TILE_INFO(bank, code, color, 0);
|
||||
SET_TILE_INFO_MEMBER(bank, code, color, 0);
|
||||
}
|
||||
|
||||
static VIDEO_START( goldnpkr )
|
||||
{
|
||||
goldnpkr_state *state = machine.driver_data<goldnpkr_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldnpkr_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
}
|
||||
|
||||
static VIDEO_START( wcrdxtnd )
|
||||
{
|
||||
goldnpkr_state *state = machine.driver_data<goldnpkr_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, wcrdxtnd_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldnpkr_state::wcrdxtnd_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
}
|
||||
|
||||
static SCREEN_UPDATE_IND16( goldnpkr )
|
||||
|
@ -54,6 +54,8 @@ public:
|
||||
tilemap_t *m_fg_tilemap;
|
||||
DECLARE_WRITE16_MEMBER(fg_tilemapram_w);
|
||||
DECLARE_WRITE16_MEMBER(bg_tilemapram_w);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -63,12 +65,11 @@ WRITE16_MEMBER(good_state::fg_tilemapram_w)
|
||||
m_fg_tilemap->mark_tile_dirty(offset / 2);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_fg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(good_state::get_fg_tile_info)
|
||||
{
|
||||
good_state *state = machine.driver_data<good_state>();
|
||||
int tileno = state->m_fg_tilemapram[tile_index * 2];
|
||||
int attr = state->m_fg_tilemapram[tile_index * 2 + 1] & 0xf;
|
||||
SET_TILE_INFO(0, tileno, attr, 0);
|
||||
int tileno = m_fg_tilemapram[tile_index * 2];
|
||||
int attr = m_fg_tilemapram[tile_index * 2 + 1] & 0xf;
|
||||
SET_TILE_INFO_MEMBER(0, tileno, attr, 0);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(good_state::bg_tilemapram_w)
|
||||
@ -77,12 +78,11 @@ WRITE16_MEMBER(good_state::bg_tilemapram_w)
|
||||
m_bg_tilemap->mark_tile_dirty(offset / 2);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(good_state::get_bg_tile_info)
|
||||
{
|
||||
good_state *state = machine.driver_data<good_state>();
|
||||
int tileno = state->m_bg_tilemapram[tile_index * 2];
|
||||
int attr = state->m_bg_tilemapram[tile_index * 2 + 1] & 0xf;
|
||||
SET_TILE_INFO(1, tileno, attr, 0);
|
||||
int tileno = m_bg_tilemapram[tile_index * 2];
|
||||
int attr = m_bg_tilemapram[tile_index * 2 + 1] & 0xf;
|
||||
SET_TILE_INFO_MEMBER(1, tileno, attr, 0);
|
||||
}
|
||||
|
||||
|
||||
@ -90,8 +90,8 @@ static TILE_GET_INFO( get_bg_tile_info )
|
||||
static VIDEO_START( good )
|
||||
{
|
||||
good_state *state = machine.driver_data<good_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
|
||||
state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(good_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
|
||||
state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(good_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
|
||||
state->m_fg_tilemap->set_transparent_pen(0xf);
|
||||
}
|
||||
|
||||
|
@ -177,6 +177,9 @@ public:
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(gstream_mirror_service_r);
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(gstream_mirror_r);
|
||||
DECLARE_DRIVER_INIT(gstream);
|
||||
TILE_GET_INFO_MEMBER(get_gs1_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_gs2_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_gs3_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -441,38 +444,35 @@ GFXDECODE_END
|
||||
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_gs1_tile_info )
|
||||
TILE_GET_INFO_MEMBER(gstream_state::get_gs1_tile_info)
|
||||
{
|
||||
gstream_state *state = machine.driver_data<gstream_state>();
|
||||
int tileno = (state->m_vram[tile_index + 0x000 / 4] & 0x0fff0000) >> 16;
|
||||
int palette = (state->m_vram[tile_index + 0x000 / 4] & 0xc0000000) >> 30;
|
||||
SET_TILE_INFO(0, tileno, palette + 0x10, 0);
|
||||
int tileno = (m_vram[tile_index + 0x000 / 4] & 0x0fff0000) >> 16;
|
||||
int palette = (m_vram[tile_index + 0x000 / 4] & 0xc0000000) >> 30;
|
||||
SET_TILE_INFO_MEMBER(0, tileno, palette + 0x10, 0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_gs2_tile_info )
|
||||
TILE_GET_INFO_MEMBER(gstream_state::get_gs2_tile_info)
|
||||
{
|
||||
gstream_state *state = machine.driver_data<gstream_state>();
|
||||
int tileno = (state->m_vram[tile_index + 0x400 / 4] & 0x0fff0000) >> 16;
|
||||
int palette = (state->m_vram[tile_index + 0x400 / 4] & 0xc0000000) >> 30;
|
||||
SET_TILE_INFO(0, tileno + 0x1000, palette + 0x14, 0);
|
||||
int tileno = (m_vram[tile_index + 0x400 / 4] & 0x0fff0000) >> 16;
|
||||
int palette = (m_vram[tile_index + 0x400 / 4] & 0xc0000000) >> 30;
|
||||
SET_TILE_INFO_MEMBER(0, tileno + 0x1000, palette + 0x14, 0);
|
||||
}
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_gs3_tile_info )
|
||||
TILE_GET_INFO_MEMBER(gstream_state::get_gs3_tile_info)
|
||||
{
|
||||
gstream_state *state = machine.driver_data<gstream_state>();
|
||||
int tileno = (state->m_vram[tile_index + 0x800 / 4] & 0x0fff0000) >> 16;
|
||||
int palette = (state->m_vram[tile_index + 0x800 / 4] & 0xc0000000) >> 30;
|
||||
SET_TILE_INFO(0, tileno + 0x2000, palette + 0x18, 0);
|
||||
int tileno = (m_vram[tile_index + 0x800 / 4] & 0x0fff0000) >> 16;
|
||||
int palette = (m_vram[tile_index + 0x800 / 4] & 0xc0000000) >> 30;
|
||||
SET_TILE_INFO_MEMBER(0, tileno + 0x2000, palette + 0x18, 0);
|
||||
}
|
||||
|
||||
|
||||
static VIDEO_START(gstream)
|
||||
{
|
||||
gstream_state *state = machine.driver_data<gstream_state>();
|
||||
state->m_tilemap1 = tilemap_create(machine, get_gs1_tile_info, TILEMAP_SCAN_ROWS, 32, 32, 16, 16);
|
||||
state->m_tilemap2 = tilemap_create(machine, get_gs2_tile_info, TILEMAP_SCAN_ROWS, 32, 32, 16, 16);
|
||||
state->m_tilemap3 = tilemap_create(machine, get_gs3_tile_info, TILEMAP_SCAN_ROWS, 32, 32, 16, 16);
|
||||
state->m_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gstream_state::get_gs1_tile_info),state), TILEMAP_SCAN_ROWS, 32, 32, 16, 16);
|
||||
state->m_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gstream_state::get_gs2_tile_info),state), TILEMAP_SCAN_ROWS, 32, 32, 16, 16);
|
||||
state->m_tilemap3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gstream_state::get_gs3_tile_info),state), TILEMAP_SCAN_ROWS, 32, 32, 16, 16);
|
||||
|
||||
state->m_tilemap1->set_transparent_pen(0);
|
||||
state->m_tilemap2->set_transparent_pen(0);
|
||||
|
@ -122,6 +122,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(mermaid_p2_w);
|
||||
DECLARE_READ8_MEMBER(mermaid_p3_r);
|
||||
DECLARE_WRITE8_MEMBER(mermaid_p3_w);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -160,21 +161,20 @@ static MACHINE_RESET( hvyunit )
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(hvyunit_state::get_bg_tile_info)
|
||||
{
|
||||
hvyunit_state *state = machine.driver_data<hvyunit_state>();
|
||||
|
||||
int attr = state->m_colorram[tile_index];
|
||||
int code = state->m_videoram[tile_index] + ((attr & 0x0f) << 8);
|
||||
int attr = m_colorram[tile_index];
|
||||
int code = m_videoram[tile_index] + ((attr & 0x0f) << 8);
|
||||
int color = (attr >> 4);
|
||||
|
||||
SET_TILE_INFO(1, code, color, 0);
|
||||
SET_TILE_INFO_MEMBER(1, code, color, 0);
|
||||
}
|
||||
|
||||
static VIDEO_START( hvyunit )
|
||||
{
|
||||
hvyunit_state *state = machine.driver_data<hvyunit_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hvyunit_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
|
||||
}
|
||||
|
||||
static SCREEN_UPDATE_IND16( hvyunit )
|
||||
|
@ -77,6 +77,15 @@ public:
|
||||
void show_out();
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(hopper_r);
|
||||
DECLARE_DRIVER_INIT(jingbell);
|
||||
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);
|
||||
TILE_GET_INFO_MEMBER(get_gp98_reel2_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_jingbell_reel3_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_gp98_reel3_tile_info);
|
||||
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);
|
||||
};
|
||||
|
||||
|
||||
@ -92,12 +101,11 @@ WRITE8_MEMBER(igs009_state::gp98_reel1_ram_w)
|
||||
m_gp98_reel1_tilemap->mark_tile_dirty(offset);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_jingbell_reel1_tile_info )
|
||||
TILE_GET_INFO_MEMBER(igs009_state::get_jingbell_reel1_tile_info)
|
||||
{
|
||||
igs009_state *state = machine.driver_data<igs009_state>();
|
||||
int code = state->m_gp98_reel1_ram[tile_index];
|
||||
int code = m_gp98_reel1_ram[tile_index];
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
(code)+(((tile_index+1)&0x3)*0x100),
|
||||
(code & 0x80) ? 0xc : 0,
|
||||
@ -105,12 +113,11 @@ static TILE_GET_INFO( get_jingbell_reel1_tile_info )
|
||||
}
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_gp98_reel1_tile_info )
|
||||
TILE_GET_INFO_MEMBER(igs009_state::get_gp98_reel1_tile_info)
|
||||
{
|
||||
igs009_state *state = machine.driver_data<igs009_state>();
|
||||
int code = state->m_gp98_reel1_ram[tile_index];
|
||||
int code = m_gp98_reel1_ram[tile_index];
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
(code*4)+(tile_index&0x3),
|
||||
0,
|
||||
@ -124,24 +131,22 @@ WRITE8_MEMBER(igs009_state::gp98_reel2_ram_w)
|
||||
m_gp98_reel2_tilemap->mark_tile_dirty(offset);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_jingbell_reel2_tile_info )
|
||||
TILE_GET_INFO_MEMBER(igs009_state::get_jingbell_reel2_tile_info)
|
||||
{
|
||||
igs009_state *state = machine.driver_data<igs009_state>();
|
||||
int code = state->m_gp98_reel2_ram[tile_index];
|
||||
int code = m_gp98_reel2_ram[tile_index];
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
(code)+(((tile_index+1)&0x3)*0x100),
|
||||
(code & 0x80) ? 0xc : 0,
|
||||
0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_gp98_reel2_tile_info )
|
||||
TILE_GET_INFO_MEMBER(igs009_state::get_gp98_reel2_tile_info)
|
||||
{
|
||||
igs009_state *state = machine.driver_data<igs009_state>();
|
||||
int code = state->m_gp98_reel2_ram[tile_index];
|
||||
int code = m_gp98_reel2_ram[tile_index];
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
(code*4)+(tile_index&0x3),
|
||||
0,
|
||||
@ -156,24 +161,22 @@ WRITE8_MEMBER(igs009_state::gp98_reel3_ram_w)
|
||||
m_gp98_reel3_tilemap->mark_tile_dirty(offset);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_jingbell_reel3_tile_info )
|
||||
TILE_GET_INFO_MEMBER(igs009_state::get_jingbell_reel3_tile_info)
|
||||
{
|
||||
igs009_state *state = machine.driver_data<igs009_state>();
|
||||
int code = state->m_gp98_reel3_ram[tile_index];
|
||||
int code = m_gp98_reel3_ram[tile_index];
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
(code)+(((tile_index+1)&0x3)*0x100),
|
||||
(code & 0x80) ? 0xc : 0,
|
||||
0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_gp98_reel3_tile_info )
|
||||
TILE_GET_INFO_MEMBER(igs009_state::get_gp98_reel3_tile_info)
|
||||
{
|
||||
igs009_state *state = machine.driver_data<igs009_state>();
|
||||
int code = state->m_gp98_reel3_ram[tile_index];
|
||||
int code = m_gp98_reel3_ram[tile_index];
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
(code*4)+(tile_index&0x3),
|
||||
0,
|
||||
@ -188,24 +191,22 @@ WRITE8_MEMBER(igs009_state::gp98_reel4_ram_w)
|
||||
m_gp98_reel4_tilemap->mark_tile_dirty(offset);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_jingbell_reel4_tile_info )
|
||||
TILE_GET_INFO_MEMBER(igs009_state::get_jingbell_reel4_tile_info)
|
||||
{
|
||||
igs009_state *state = machine.driver_data<igs009_state>();
|
||||
int code = state->m_gp98_reel4_ram[tile_index];
|
||||
int code = m_gp98_reel4_ram[tile_index];
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
(code)+(((tile_index+1)&0x3)*0x100),
|
||||
(code & 0x80) ? 0xc : 0,
|
||||
0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_gp98_reel4_tile_info )
|
||||
TILE_GET_INFO_MEMBER(igs009_state::get_gp98_reel4_tile_info)
|
||||
{
|
||||
igs009_state *state = machine.driver_data<igs009_state>();
|
||||
int code = state->m_gp98_reel4_ram[tile_index];
|
||||
int code = m_gp98_reel4_ram[tile_index];
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
(code*4)+(tile_index&0x3),
|
||||
0,
|
||||
@ -225,11 +226,10 @@ WRITE8_MEMBER(igs009_state::bg_scroll_w)
|
||||
}
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_fg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(igs009_state::get_fg_tile_info)
|
||||
{
|
||||
igs009_state *state = machine.driver_data<igs009_state>();
|
||||
int code = state->m_fg_tile_ram[tile_index] | (state->m_fg_color_ram[tile_index] << 8);
|
||||
SET_TILE_INFO(1, code, (4*(code >> 14)+3), 0);
|
||||
int code = m_fg_tile_ram[tile_index] | (m_fg_color_ram[tile_index] << 8);
|
||||
SET_TILE_INFO_MEMBER(1, code, (4*(code >> 14)+3), 0);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(igs009_state::fg_tile_w)
|
||||
@ -247,13 +247,13 @@ WRITE8_MEMBER(igs009_state::fg_color_w)
|
||||
static VIDEO_START(jingbell)
|
||||
{
|
||||
igs009_state *state = machine.driver_data<igs009_state>();
|
||||
state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 0x80,0x20);
|
||||
state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 0x80,0x20);
|
||||
state->m_fg_tilemap->set_transparent_pen(0);
|
||||
|
||||
state->m_gp98_reel1_tilemap = tilemap_create(machine,get_jingbell_reel1_tile_info,TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
state->m_gp98_reel2_tilemap = tilemap_create(machine,get_jingbell_reel2_tile_info,TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
state->m_gp98_reel3_tilemap = tilemap_create(machine,get_jingbell_reel3_tile_info,TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
state->m_gp98_reel4_tilemap = tilemap_create(machine,get_jingbell_reel4_tile_info,TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
state->m_gp98_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_jingbell_reel1_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
state->m_gp98_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_jingbell_reel2_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
state->m_gp98_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_jingbell_reel3_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
state->m_gp98_reel4_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_jingbell_reel4_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
|
||||
state->m_gp98_reel1_tilemap->set_scroll_cols(128);
|
||||
state->m_gp98_reel2_tilemap->set_scroll_cols(128);
|
||||
@ -265,13 +265,13 @@ static VIDEO_START(jingbell)
|
||||
static VIDEO_START(gp98)
|
||||
{
|
||||
igs009_state *state = machine.driver_data<igs009_state>();
|
||||
state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 0x80,0x20);
|
||||
state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 0x80,0x20);
|
||||
state->m_fg_tilemap->set_transparent_pen(0);
|
||||
|
||||
state->m_gp98_reel1_tilemap = tilemap_create(machine,get_gp98_reel1_tile_info,TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
state->m_gp98_reel2_tilemap = tilemap_create(machine,get_gp98_reel2_tile_info,TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
state->m_gp98_reel3_tilemap = tilemap_create(machine,get_gp98_reel3_tile_info,TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
state->m_gp98_reel4_tilemap = tilemap_create(machine,get_gp98_reel4_tile_info,TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
state->m_gp98_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_gp98_reel1_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
state->m_gp98_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_gp98_reel2_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
state->m_gp98_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_gp98_reel3_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
state->m_gp98_reel4_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_gp98_reel4_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 128, 8);
|
||||
|
||||
state->m_gp98_reel1_tilemap->set_scroll_cols(128);
|
||||
state->m_gp98_reel2_tilemap->set_scroll_cols(128);
|
||||
|
@ -148,6 +148,8 @@ public:
|
||||
DECLARE_DRIVER_INIT(tarzana);
|
||||
DECLARE_DRIVER_INIT(lhzb2a);
|
||||
DECLARE_DRIVER_INIT(mgdha);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -178,19 +180,17 @@ static VIDEO_RESET( igs017 )
|
||||
|
||||
#define COLOR(_X) (((_X)>>2)&7)
|
||||
|
||||
static TILE_GET_INFO( get_fg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(igs017_state::get_fg_tile_info)
|
||||
{
|
||||
igs017_state *state = machine.driver_data<igs017_state>();
|
||||
int code = state->m_fg_videoram[tile_index*4+0] + (state->m_fg_videoram[tile_index*4+1] << 8);
|
||||
int attr = state->m_fg_videoram[tile_index*4+2] + (state->m_fg_videoram[tile_index*4+3] << 8);
|
||||
SET_TILE_INFO(0, code, COLOR(attr), TILE_FLIPXY( attr >> 5 ));
|
||||
int code = m_fg_videoram[tile_index*4+0] + (m_fg_videoram[tile_index*4+1] << 8);
|
||||
int attr = m_fg_videoram[tile_index*4+2] + (m_fg_videoram[tile_index*4+3] << 8);
|
||||
SET_TILE_INFO_MEMBER(0, code, COLOR(attr), TILE_FLIPXY( attr >> 5 ));
|
||||
}
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(igs017_state::get_bg_tile_info)
|
||||
{
|
||||
igs017_state *state = machine.driver_data<igs017_state>();
|
||||
int code = state->m_bg_videoram[tile_index*4+0] + (state->m_bg_videoram[tile_index*4+1] << 8);
|
||||
int attr = state->m_bg_videoram[tile_index*4+2] + (state->m_bg_videoram[tile_index*4+3] << 8);
|
||||
SET_TILE_INFO(0, code, COLOR(attr)+8, TILE_FLIPXY( attr >> 5 ));
|
||||
int code = m_bg_videoram[tile_index*4+0] + (m_bg_videoram[tile_index*4+1] << 8);
|
||||
int attr = m_bg_videoram[tile_index*4+2] + (m_bg_videoram[tile_index*4+3] << 8);
|
||||
SET_TILE_INFO_MEMBER(0, code, COLOR(attr)+8, TILE_FLIPXY( attr >> 5 ));
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(igs017_state::fg_w)
|
||||
@ -264,8 +264,8 @@ static void expand_sprites(running_machine &machine)
|
||||
static VIDEO_START( igs017 )
|
||||
{
|
||||
igs017_state *state = machine.driver_data<igs017_state>();
|
||||
state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
|
||||
state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs017_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs017_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
|
||||
|
||||
state->m_fg_tilemap->set_transparent_pen(0xf);
|
||||
state->m_bg_tilemap->set_transparent_pen(0xf);
|
||||
|
@ -55,6 +55,8 @@ public:
|
||||
DECLARE_DRIVER_INIT(hauntedh);
|
||||
DECLARE_DRIVER_INIT(bigd2);
|
||||
DECLARE_DRIVER_INIT(klxyj);
|
||||
TILE_GET_INFO_MEMBER(get_tx_tilemap_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tilemap_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -125,15 +127,14 @@ WRITE32_MEMBER(igs_m027_state::igs_tx_videoram_w)
|
||||
//logerror( "TX VIDEO RAM OFFSET %x ,data %x!\n",offset ,m_igs_tx_videoram[offset]);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_tx_tilemap_tile_info )
|
||||
TILE_GET_INFO_MEMBER(igs_m027_state::get_tx_tilemap_tile_info)
|
||||
{
|
||||
igs_m027_state *state = machine.driver_data<igs_m027_state>();
|
||||
//ppppppppNNNNNNNN
|
||||
int tileno,colour;
|
||||
tileno = state->m_igs_tx_videoram[tile_index] & 0xffff;
|
||||
colour = (state->m_igs_tx_videoram[tile_index]>>0x10) & 0xffff;
|
||||
tileno = m_igs_tx_videoram[tile_index] & 0xffff;
|
||||
colour = (m_igs_tx_videoram[tile_index]>>0x10) & 0xffff;
|
||||
|
||||
SET_TILE_INFO(0,tileno,colour,0);
|
||||
SET_TILE_INFO_MEMBER(0,tileno,colour,0);
|
||||
}
|
||||
|
||||
/* BG Layer */
|
||||
@ -145,15 +146,14 @@ WRITE32_MEMBER(igs_m027_state::igs_bg_videoram_w)
|
||||
logerror("BG VIDEO RAM OFFSET %x ,data %x!\n",offset ,m_igs_bg_videoram[offset]);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_bg_tilemap_tile_info )
|
||||
TILE_GET_INFO_MEMBER(igs_m027_state::get_bg_tilemap_tile_info)
|
||||
{
|
||||
igs_m027_state *state = machine.driver_data<igs_m027_state>();
|
||||
//ppppppppNNNNNNNN
|
||||
int tileno,colour;
|
||||
tileno = state->m_igs_bg_videoram[tile_index] & 0xffff;
|
||||
colour = (state->m_igs_bg_videoram[tile_index]>>0x10) & 0xffff;
|
||||
tileno = m_igs_bg_videoram[tile_index] & 0xffff;
|
||||
colour = (m_igs_bg_videoram[tile_index]>>0x10) & 0xffff;
|
||||
|
||||
SET_TILE_INFO(0,tileno,colour,0);
|
||||
SET_TILE_INFO_MEMBER(0,tileno,colour,0);
|
||||
}
|
||||
|
||||
|
||||
@ -173,10 +173,10 @@ WRITE32_MEMBER(igs_m027_state::igs_palette32_w)
|
||||
static VIDEO_START(igs_majhong)
|
||||
{
|
||||
igs_m027_state *state = machine.driver_data<igs_m027_state>();
|
||||
state->m_igs_tx_tilemap= tilemap_create(machine, get_tx_tilemap_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
|
||||
state->m_igs_tx_tilemap= &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs_m027_state::get_tx_tilemap_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
|
||||
state->m_igs_tx_tilemap->set_transparent_pen(15);
|
||||
state->m_igs_bg_tilemap= tilemap_create(machine, get_bg_tilemap_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
|
||||
//state->m_igs_bg_tilemap= tilemap_create(machine, get_bg_tilemap_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
|
||||
state->m_igs_bg_tilemap= &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs_m027_state::get_bg_tilemap_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
|
||||
//state->m_igs_bg_tilemap= &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs_m027_state::get_bg_tilemap_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
|
||||
//state->m_igs_bg_tilemap->set_transparent_pen(15);
|
||||
logerror("Video START OK!\n");
|
||||
}
|
||||
|
@ -114,6 +114,8 @@ public:
|
||||
DECLARE_DRIVER_INIT(cpoker);
|
||||
DECLARE_DRIVER_INIT(igs_ncs2);
|
||||
DECLARE_DRIVER_INIT(cpokerpk);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -154,19 +156,17 @@ WRITE8_MEMBER(igspoker_state::igs_irqack_w)
|
||||
}
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(igspoker_state::get_bg_tile_info)
|
||||
{
|
||||
igspoker_state *state = machine.driver_data<igspoker_state>();
|
||||
int code = state->m_bg_tile_ram[tile_index];
|
||||
SET_TILE_INFO(1 + (tile_index & 3), code, 0, 0);
|
||||
int code = m_bg_tile_ram[tile_index];
|
||||
SET_TILE_INFO_MEMBER(1 + (tile_index & 3), code, 0, 0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_fg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(igspoker_state::get_fg_tile_info)
|
||||
{
|
||||
igspoker_state *state = machine.driver_data<igspoker_state>();
|
||||
int code = state->m_fg_tile_ram[tile_index] | (state->m_fg_color_ram[tile_index] << 8);
|
||||
int code = m_fg_tile_ram[tile_index] | (m_fg_color_ram[tile_index] << 8);
|
||||
int tile = code & 0x1fff;
|
||||
SET_TILE_INFO(0, code, tile != 0x1fff ? ((code >> 12) & 0xe) + 1 : 0, 0);
|
||||
SET_TILE_INFO_MEMBER(0, code, tile != 0x1fff ? ((code >> 12) & 0xe) + 1 : 0, 0);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(igspoker_state::bg_tile_w)
|
||||
@ -190,8 +190,8 @@ WRITE8_MEMBER(igspoker_state::fg_color_w)
|
||||
static VIDEO_START(igs_video)
|
||||
{
|
||||
igspoker_state *state = machine.driver_data<igspoker_state>();
|
||||
state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
|
||||
state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igspoker_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igspoker_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
|
||||
|
||||
state->m_fg_tilemap->set_transparent_pen(0);
|
||||
}
|
||||
@ -212,7 +212,7 @@ static SCREEN_UPDATE_IND16(igs_video)
|
||||
static VIDEO_START(cpokerpk)
|
||||
{
|
||||
igspoker_state *state = machine.driver_data<igspoker_state>();
|
||||
state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
|
||||
state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igspoker_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
|
||||
}
|
||||
|
||||
static SCREEN_UPDATE_IND16(cpokerpk)
|
||||
|
@ -104,17 +104,20 @@ public:
|
||||
void show_out();
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(hopper_r);
|
||||
DECLARE_DRIVER_INIT(jackie);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_jackie_reel1_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_jackie_reel2_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_jackie_reel3_tile_info);
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_fg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(jackie_state::get_fg_tile_info)
|
||||
{
|
||||
jackie_state *state = machine.driver_data<jackie_state>();
|
||||
int code = state->m_fg_tile_ram[tile_index] | (state->m_fg_color_ram[tile_index] << 8);
|
||||
int code = m_fg_tile_ram[tile_index] | (m_fg_color_ram[tile_index] << 8);
|
||||
int tile = code & 0x1fff;
|
||||
SET_TILE_INFO(0, code, tile != 0x1fff ? ((code >> 12) & 0xe) + 1 : 0, 0);
|
||||
SET_TILE_INFO_MEMBER(0, code, tile != 0x1fff ? ((code >> 12) & 0xe) + 1 : 0, 0);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(jackie_state::fg_tile_w)
|
||||
@ -144,11 +147,10 @@ WRITE8_MEMBER(jackie_state::jackie_reel1_ram_w)
|
||||
m_reel1_tilemap->mark_tile_dirty(offset);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_jackie_reel1_tile_info )
|
||||
TILE_GET_INFO_MEMBER(jackie_state::get_jackie_reel1_tile_info)
|
||||
{
|
||||
jackie_state *state = machine.driver_data<jackie_state>();
|
||||
int code = state->m_reel1_ram[tile_index];
|
||||
SET_TILE_INFO(1, code, 0, 0);
|
||||
int code = m_reel1_ram[tile_index];
|
||||
SET_TILE_INFO_MEMBER(1, code, 0, 0);
|
||||
}
|
||||
|
||||
|
||||
@ -159,11 +161,10 @@ WRITE8_MEMBER(jackie_state::jackie_reel2_ram_w)
|
||||
m_reel2_tilemap->mark_tile_dirty(offset);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_jackie_reel2_tile_info )
|
||||
TILE_GET_INFO_MEMBER(jackie_state::get_jackie_reel2_tile_info)
|
||||
{
|
||||
jackie_state *state = machine.driver_data<jackie_state>();
|
||||
int code = state->m_reel2_ram[tile_index];
|
||||
SET_TILE_INFO(1, code, 0, 0);
|
||||
int code = m_reel2_ram[tile_index];
|
||||
SET_TILE_INFO_MEMBER(1, code, 0, 0);
|
||||
}
|
||||
|
||||
|
||||
@ -173,25 +174,24 @@ WRITE8_MEMBER(jackie_state::jackie_reel3_ram_w)
|
||||
m_reel3_tilemap->mark_tile_dirty(offset);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_jackie_reel3_tile_info )
|
||||
TILE_GET_INFO_MEMBER(jackie_state::get_jackie_reel3_tile_info)
|
||||
{
|
||||
jackie_state *state = machine.driver_data<jackie_state>();
|
||||
int code = state->m_reel3_ram[tile_index];
|
||||
SET_TILE_INFO(1, code, 0, 0);
|
||||
int code = m_reel3_ram[tile_index];
|
||||
SET_TILE_INFO_MEMBER(1, code, 0, 0);
|
||||
}
|
||||
|
||||
static VIDEO_START(jackie)
|
||||
{
|
||||
jackie_state *state = machine.driver_data<jackie_state>();
|
||||
state->m_reel1_tilemap = tilemap_create(machine,get_jackie_reel1_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
|
||||
state->m_reel2_tilemap = tilemap_create(machine,get_jackie_reel2_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
|
||||
state->m_reel3_tilemap = tilemap_create(machine,get_jackie_reel3_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
|
||||
state->m_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jackie_state::get_jackie_reel1_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
|
||||
state->m_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jackie_state::get_jackie_reel2_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
|
||||
state->m_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jackie_state::get_jackie_reel3_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
|
||||
|
||||
state->m_reel1_tilemap->set_scroll_cols(64);
|
||||
state->m_reel2_tilemap->set_scroll_cols(64);
|
||||
state->m_reel3_tilemap->set_scroll_cols(64);
|
||||
|
||||
state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
|
||||
state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jackie_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
|
||||
state->m_fg_tilemap->set_transparent_pen(0);
|
||||
}
|
||||
|
||||
|
@ -191,6 +191,16 @@ public:
|
||||
DECLARE_DRIVER_INIT(kakumei2);
|
||||
DECLARE_DRIVER_INIT(daireika);
|
||||
DECLARE_DRIVER_INIT(mjzoomin);
|
||||
TILEMAP_MAPPER_MEMBER(range0_16x16);
|
||||
TILEMAP_MAPPER_MEMBER(range1_16x16);
|
||||
TILEMAP_MAPPER_MEMBER(range2_16x16);
|
||||
TILEMAP_MAPPER_MEMBER(range3_16x16);
|
||||
TILEMAP_MAPPER_MEMBER(range2_8x8);
|
||||
TILEMAP_MAPPER_MEMBER(range3_8x8);
|
||||
TILE_GET_INFO_MEMBER(get_sc0_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_sc1_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_sc2_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_sc3_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -201,28 +211,28 @@ Video Hardware start
|
||||
******************************************************************************************/
|
||||
|
||||
/*4096x512 tilemap*/
|
||||
static TILEMAP_MAPPER( range0_16x16 )
|
||||
TILEMAP_MAPPER_MEMBER(jalmah_state::range0_16x16)
|
||||
{
|
||||
/* logical (col,row) -> memory offset */
|
||||
return (row & 0x0f) + ((col & 0xff) << 4) + ((row & 0x70) << 8);
|
||||
}
|
||||
|
||||
/*2048x1024 tilemap*/
|
||||
static TILEMAP_MAPPER( range1_16x16 )
|
||||
TILEMAP_MAPPER_MEMBER(jalmah_state::range1_16x16)
|
||||
{
|
||||
/* logical (col,row) -> memory offset */
|
||||
return (row & 0x0f) + ((col & 0x7f) << 4) + ((row & 0xf0) << 7);
|
||||
}
|
||||
|
||||
/*1024x2048 tilemap*/
|
||||
static TILEMAP_MAPPER( range2_16x16 )
|
||||
TILEMAP_MAPPER_MEMBER(jalmah_state::range2_16x16)
|
||||
{
|
||||
/* logical (col,row) -> memory offset */
|
||||
return (row & 0x0f) + ((col & 0x3f) << 4) + ((row & 0x1f0) << 6);
|
||||
}
|
||||
|
||||
/*512x4096 tilemap*/
|
||||
static TILEMAP_MAPPER( range3_16x16 )
|
||||
TILEMAP_MAPPER_MEMBER(jalmah_state::range3_16x16)
|
||||
{
|
||||
/* logical (col,row) -> memory offset */
|
||||
return (row & 0x0f) + ((col & 0x1f) << 4) + ((row & 0x3f0) << 5);
|
||||
@ -230,56 +240,52 @@ static TILEMAP_MAPPER( range3_16x16 )
|
||||
|
||||
|
||||
/*1024x512 tilemap*/
|
||||
static TILEMAP_MAPPER( range2_8x8 )
|
||||
TILEMAP_MAPPER_MEMBER(jalmah_state::range2_8x8)
|
||||
{
|
||||
/* logical (col,row) -> memory offset */
|
||||
return (row & 0x1f) + ((col & 0x7f) * 0x20) + ((row & 0x20) * 0x80);
|
||||
}
|
||||
|
||||
/*512x1024 tilemap*/
|
||||
static TILEMAP_MAPPER( range3_8x8 )
|
||||
TILEMAP_MAPPER_MEMBER(jalmah_state::range3_8x8)
|
||||
{
|
||||
return (row & 0x1f) + ((col & 0x3f) * 0x20) + ((row & 0x60) * 0x40);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_sc0_tile_info )
|
||||
TILE_GET_INFO_MEMBER(jalmah_state::get_sc0_tile_info)
|
||||
{
|
||||
jalmah_state *state = machine.driver_data<jalmah_state>();
|
||||
int code = state->m_sc0_vram[tile_index];
|
||||
SET_TILE_INFO(
|
||||
int code = m_sc0_vram[tile_index];
|
||||
SET_TILE_INFO_MEMBER(
|
||||
3,
|
||||
(code & 0xfff) + ((state->m_sc0bank & 3) << 12),
|
||||
(code & 0xfff) + ((m_sc0bank & 3) << 12),
|
||||
code >> 12,
|
||||
0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_sc1_tile_info )
|
||||
TILE_GET_INFO_MEMBER(jalmah_state::get_sc1_tile_info)
|
||||
{
|
||||
jalmah_state *state = machine.driver_data<jalmah_state>();
|
||||
int code = state->m_sc1_vram[tile_index];
|
||||
SET_TILE_INFO(
|
||||
int code = m_sc1_vram[tile_index];
|
||||
SET_TILE_INFO_MEMBER(
|
||||
2,
|
||||
code & 0xfff,
|
||||
code >> 12,
|
||||
0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_sc2_tile_info )
|
||||
TILE_GET_INFO_MEMBER(jalmah_state::get_sc2_tile_info)
|
||||
{
|
||||
jalmah_state *state = machine.driver_data<jalmah_state>();
|
||||
int code = state->m_sc2_vram[tile_index];
|
||||
SET_TILE_INFO(
|
||||
int code = m_sc2_vram[tile_index];
|
||||
SET_TILE_INFO_MEMBER(
|
||||
1,
|
||||
code & 0xfff,
|
||||
code >> 12,
|
||||
0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_sc3_tile_info )
|
||||
TILE_GET_INFO_MEMBER(jalmah_state::get_sc3_tile_info)
|
||||
{
|
||||
jalmah_state *state = machine.driver_data<jalmah_state>();
|
||||
int code = state->m_sc3_vram[tile_index];
|
||||
SET_TILE_INFO(
|
||||
int code = m_sc3_vram[tile_index];
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
code & 0xfff,
|
||||
code >> 12,
|
||||
@ -289,25 +295,25 @@ static TILE_GET_INFO( get_sc3_tile_info )
|
||||
static VIDEO_START( jalmah )
|
||||
{
|
||||
jalmah_state *state = machine.driver_data<jalmah_state>();
|
||||
state->m_sc0_tilemap_0 = tilemap_create(machine, get_sc0_tile_info,range0_16x16,16,16,256,32);
|
||||
state->m_sc0_tilemap_1 = tilemap_create(machine, get_sc0_tile_info,range1_16x16,16,16,128,64);
|
||||
state->m_sc0_tilemap_2 = tilemap_create(machine, get_sc0_tile_info,range2_16x16,16,16,64,128);
|
||||
state->m_sc0_tilemap_3 = tilemap_create(machine, get_sc0_tile_info,range3_16x16,16,16,32,256);
|
||||
state->m_sc0_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc0_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range0_16x16),state),16,16,256,32);
|
||||
state->m_sc0_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc0_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range1_16x16),state),16,16,128,64);
|
||||
state->m_sc0_tilemap_2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc0_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range2_16x16),state),16,16,64,128);
|
||||
state->m_sc0_tilemap_3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc0_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range3_16x16),state),16,16,32,256);
|
||||
|
||||
state->m_sc1_tilemap_0 = tilemap_create(machine, get_sc1_tile_info,range0_16x16,16,16,256,32);
|
||||
state->m_sc1_tilemap_1 = tilemap_create(machine, get_sc1_tile_info,range1_16x16,16,16,128,64);
|
||||
state->m_sc1_tilemap_2 = tilemap_create(machine, get_sc1_tile_info,range2_16x16,16,16,64,128);
|
||||
state->m_sc1_tilemap_3 = tilemap_create(machine, get_sc1_tile_info,range3_16x16,16,16,32,256);
|
||||
state->m_sc1_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc1_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range0_16x16),state),16,16,256,32);
|
||||
state->m_sc1_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc1_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range1_16x16),state),16,16,128,64);
|
||||
state->m_sc1_tilemap_2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc1_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range2_16x16),state),16,16,64,128);
|
||||
state->m_sc1_tilemap_3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc1_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range3_16x16),state),16,16,32,256);
|
||||
|
||||
state->m_sc2_tilemap_0 = tilemap_create(machine, get_sc2_tile_info,range0_16x16,16,16,256,32);
|
||||
state->m_sc2_tilemap_1 = tilemap_create(machine, get_sc2_tile_info,range1_16x16,16,16,128,64);
|
||||
state->m_sc2_tilemap_2 = tilemap_create(machine, get_sc2_tile_info,range2_16x16,16,16,64,128);
|
||||
state->m_sc2_tilemap_3 = tilemap_create(machine, get_sc2_tile_info,range3_16x16,16,16,32,256);
|
||||
state->m_sc2_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc2_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range0_16x16),state),16,16,256,32);
|
||||
state->m_sc2_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc2_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range1_16x16),state),16,16,128,64);
|
||||
state->m_sc2_tilemap_2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc2_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range2_16x16),state),16,16,64,128);
|
||||
state->m_sc2_tilemap_3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc2_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range3_16x16),state),16,16,32,256);
|
||||
|
||||
state->m_sc3_tilemap_0 = tilemap_create(machine, get_sc3_tile_info,TILEMAP_SCAN_COLS,8,8,256,32);
|
||||
//state->m_sc3_tilemap_1 = tilemap_create(machine, get_sc3_tile_info,TILEMAP_SCAN_COLS,8,8,256,32);
|
||||
state->m_sc3_tilemap_2 = tilemap_create(machine, get_sc3_tile_info,range2_8x8,8,8,128,64);
|
||||
state->m_sc3_tilemap_3 = tilemap_create(machine, get_sc3_tile_info,range3_8x8,8,8,64,128);
|
||||
state->m_sc3_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc3_tile_info),state),TILEMAP_SCAN_COLS,8,8,256,32);
|
||||
//state->m_sc3_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc3_tile_info),state),TILEMAP_SCAN_COLS,8,8,256,32);
|
||||
state->m_sc3_tilemap_2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc3_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range2_8x8),state),8,8,128,64);
|
||||
state->m_sc3_tilemap_3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc3_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range3_8x8),state),8,8,64,128);
|
||||
|
||||
state->m_jm_scrollram = auto_alloc_array(machine, UINT16, 0x80/2);
|
||||
state->m_jm_vregs = auto_alloc_array(machine, UINT16, 0x40/2);
|
||||
@ -336,8 +342,8 @@ static VIDEO_START( jalmah )
|
||||
static VIDEO_START( urashima )
|
||||
{
|
||||
jalmah_state *state = machine.driver_data<jalmah_state>();
|
||||
state->m_sc0_tilemap_0 = tilemap_create(machine, get_sc0_tile_info,range0_16x16,16,16,256,32);
|
||||
state->m_sc3_tilemap_0 = tilemap_create(machine, get_sc3_tile_info,range2_8x8,8,8,128,64);
|
||||
state->m_sc0_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc0_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range0_16x16),state),16,16,256,32);
|
||||
state->m_sc3_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc3_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range2_8x8),state),8,8,128,64);
|
||||
|
||||
state->m_jm_scrollram = auto_alloc_array(machine, UINT16, 0x80/2);
|
||||
state->m_jm_vregs = auto_alloc_array(machine, UINT16, 0x40/2);
|
||||
|
@ -138,6 +138,8 @@ public:
|
||||
DECLARE_WRITE32_MEMBER(darkhors_unk1_w);
|
||||
DECLARE_WRITE32_MEMBER(darkhors_eeprom_w);
|
||||
DECLARE_DRIVER_INIT(darkhors);
|
||||
TILE_GET_INFO_MEMBER(get_tile_info_0);
|
||||
TILE_GET_INFO_MEMBER(get_tile_info_1);
|
||||
};
|
||||
|
||||
|
||||
@ -155,20 +157,18 @@ static VIDEO_START( darkhors );
|
||||
static SCREEN_UPDATE_IND16( darkhors );
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_tile_info_0 )
|
||||
TILE_GET_INFO_MEMBER(darkhors_state::get_tile_info_0)
|
||||
{
|
||||
darkhors_state *state = machine.driver_data<darkhors_state>();
|
||||
UINT16 tile = state->m_tmapram[tile_index] >> 16;
|
||||
UINT16 color = state->m_tmapram[tile_index] & 0xffff;
|
||||
SET_TILE_INFO(0, tile/2, (color & 0x200) ? (color & 0x1ff) : ((color & 0x0ff) * 4) , 0);
|
||||
UINT16 tile = m_tmapram[tile_index] >> 16;
|
||||
UINT16 color = m_tmapram[tile_index] & 0xffff;
|
||||
SET_TILE_INFO_MEMBER(0, tile/2, (color & 0x200) ? (color & 0x1ff) : ((color & 0x0ff) * 4) , 0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_tile_info_1 )
|
||||
TILE_GET_INFO_MEMBER(darkhors_state::get_tile_info_1)
|
||||
{
|
||||
darkhors_state *state = machine.driver_data<darkhors_state>();
|
||||
UINT16 tile = state->m_tmapram2[tile_index] >> 16;
|
||||
UINT16 color = state->m_tmapram2[tile_index] & 0xffff;
|
||||
SET_TILE_INFO(0, tile/2, (color & 0x200) ? (color & 0x1ff) : ((color & 0x0ff) * 4) , 0);
|
||||
UINT16 tile = m_tmapram2[tile_index] >> 16;
|
||||
UINT16 color = m_tmapram2[tile_index] & 0xffff;
|
||||
SET_TILE_INFO_MEMBER(0, tile/2, (color & 0x200) ? (color & 0x1ff) : ((color & 0x0ff) * 4) , 0);
|
||||
}
|
||||
|
||||
WRITE32_MEMBER(darkhors_state::darkhors_tmapram_w)
|
||||
@ -220,12 +220,8 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r
|
||||
static VIDEO_START( darkhors )
|
||||
{
|
||||
darkhors_state *state = machine.driver_data<darkhors_state>();
|
||||
state->m_tmap = tilemap_create( machine, get_tile_info_0, TILEMAP_SCAN_ROWS,
|
||||
16,16, 0x40,0x40 );
|
||||
|
||||
state->m_tmap2 = tilemap_create( machine, get_tile_info_1, TILEMAP_SCAN_ROWS,
|
||||
16,16, 0x40,0x40 );
|
||||
|
||||
state->m_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(darkhors_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS,16,16, 0x40,0x40);
|
||||
state->m_tmap2= &machine.tilemap().create(tilemap_get_info_delegate(FUNC(darkhors_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS,16,16, 0x40,0x40);
|
||||
state->m_tmap->set_transparent_pen(0);
|
||||
state->m_tmap2->set_transparent_pen(0);
|
||||
|
||||
|
@ -114,6 +114,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(testa_w);
|
||||
DECLARE_WRITE8_MEMBER(testb_w);
|
||||
DECLARE_DRIVER_INIT(jokrwild);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -136,26 +137,25 @@ WRITE8_MEMBER(jokrwild_state::jokrwild_colorram_w)
|
||||
}
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(jokrwild_state::get_bg_tile_info)
|
||||
{
|
||||
jokrwild_state *state = machine.driver_data<jokrwild_state>();
|
||||
/* - bits -
|
||||
7654 3210
|
||||
xx-- ---- bank select.
|
||||
---- xxxx color code.
|
||||
*/
|
||||
int attr = state->m_colorram[tile_index];
|
||||
int code = state->m_videoram[tile_index] | ((attr & 0xc0) << 2);
|
||||
int attr = m_colorram[tile_index];
|
||||
int code = m_videoram[tile_index] | ((attr & 0xc0) << 2);
|
||||
int color = (attr & 0x0f);
|
||||
|
||||
SET_TILE_INFO( 0, code , color , 0);
|
||||
SET_TILE_INFO_MEMBER( 0, code , color , 0);
|
||||
}
|
||||
|
||||
|
||||
static VIDEO_START( jokrwild )
|
||||
{
|
||||
jokrwild_state *state = machine.driver_data<jokrwild_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 24, 26);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jokrwild_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 24, 26);
|
||||
}
|
||||
|
||||
|
||||
|
@ -134,6 +134,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(jollyjgr_attrram_w);
|
||||
DECLARE_WRITE8_MEMBER(jollyjgr_misc_w);
|
||||
DECLARE_WRITE8_MEMBER(jollyjgr_coin_lookout_w);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -435,18 +436,17 @@ static PALETTE_INIT( jollyjgr )
|
||||
}
|
||||
|
||||
/* Tilemap is the same as in Galaxian */
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(jollyjgr_state::get_bg_tile_info)
|
||||
{
|
||||
jollyjgr_state *state = machine.driver_data<jollyjgr_state>();
|
||||
int color = state->m_colorram[((tile_index & 0x1f) << 1) | 1] & 7;
|
||||
int region = (state->m_tilemap_bank & 0x20) ? 2 : 0;
|
||||
SET_TILE_INFO(region, state->m_videoram[tile_index], color, 0);
|
||||
int color = m_colorram[((tile_index & 0x1f) << 1) | 1] & 7;
|
||||
int region = (m_tilemap_bank & 0x20) ? 2 : 0;
|
||||
SET_TILE_INFO_MEMBER(region, m_videoram[tile_index], color, 0);
|
||||
}
|
||||
|
||||
static VIDEO_START( jollyjgr )
|
||||
{
|
||||
jollyjgr_state *state = machine.driver_data<jollyjgr_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jollyjgr_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
|
||||
state->m_bg_tilemap->set_transparent_pen(0);
|
||||
state->m_bg_tilemap->set_scroll_cols(32);
|
||||
|
@ -101,6 +101,7 @@ public:
|
||||
tilemap_t *m_bg_tilemap;
|
||||
DECLARE_WRITE8_MEMBER(jubileep_videoram_w);
|
||||
DECLARE_READ8_MEMBER(unk_r);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -116,12 +117,11 @@ WRITE8_MEMBER(jubilee_state::jubileep_videoram_w)
|
||||
}
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(jubilee_state::get_bg_tile_info)
|
||||
{
|
||||
jubilee_state *state = machine.driver_data<jubilee_state>();
|
||||
int code = state->m_videoram[tile_index];
|
||||
int code = m_videoram[tile_index];
|
||||
|
||||
SET_TILE_INFO( 0, code, 0, 0);
|
||||
SET_TILE_INFO_MEMBER( 0, code, 0, 0);
|
||||
}
|
||||
|
||||
|
||||
@ -129,7 +129,7 @@ static TILE_GET_INFO( get_bg_tile_info )
|
||||
static VIDEO_START( jubileep )
|
||||
{
|
||||
jubilee_state *state = machine.driver_data<jubilee_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jubilee_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
}
|
||||
|
||||
|
||||
|
@ -105,6 +105,8 @@ public:
|
||||
DECLARE_READ8_MEMBER(key_matrix_r);
|
||||
DECLARE_READ8_MEMBER(sound_cmd_r);
|
||||
DECLARE_WRITE8_MEMBER(outportb_w);
|
||||
TILE_GET_INFO_MEMBER(get_sc0_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_sc1_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -129,47 +131,45 @@ xxxx ---- basic color?
|
||||
---- ---x tile bank
|
||||
*/
|
||||
|
||||
static TILE_GET_INFO( get_sc0_tile_info )
|
||||
TILE_GET_INFO_MEMBER(kingdrby_state::get_sc0_tile_info)
|
||||
{
|
||||
kingdrby_state *state = machine.driver_data<kingdrby_state>();
|
||||
int tile = state->m_vram[tile_index] | state->m_attr[tile_index]<<8;
|
||||
int color = (state->m_attr[tile_index] & 0x06)>>1;
|
||||
int tile = m_vram[tile_index] | m_attr[tile_index]<<8;
|
||||
int color = (m_attr[tile_index] & 0x06)>>1;
|
||||
|
||||
tile&=0x1ff;
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
1,
|
||||
tile,
|
||||
color|0x40,
|
||||
0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_sc1_tile_info )
|
||||
TILE_GET_INFO_MEMBER(kingdrby_state::get_sc1_tile_info)
|
||||
{
|
||||
kingdrby_state *state = machine.driver_data<kingdrby_state>();
|
||||
int tile = state->m_vram[tile_index] | state->m_attr[tile_index]<<8;
|
||||
int color = (state->m_attr[tile_index] & 0x06)>>1;
|
||||
int tile = m_vram[tile_index] | m_attr[tile_index]<<8;
|
||||
int color = (m_attr[tile_index] & 0x06)>>1;
|
||||
|
||||
tile&=0x1ff;
|
||||
//original 0xc
|
||||
//0x13
|
||||
//
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
1,
|
||||
tile,
|
||||
color|0x40,
|
||||
0);
|
||||
|
||||
tileinfo.category = (state->m_attr[tile_index] & 0x08)>>3;
|
||||
tileinfo.category = (m_attr[tile_index] & 0x08)>>3;
|
||||
}
|
||||
|
||||
static VIDEO_START(kingdrby)
|
||||
{
|
||||
kingdrby_state *state = machine.driver_data<kingdrby_state>();
|
||||
state->m_sc0_tilemap = tilemap_create(machine, get_sc0_tile_info,TILEMAP_SCAN_ROWS,8,8,32,24);
|
||||
state->m_sc1_tilemap = tilemap_create(machine, get_sc1_tile_info,TILEMAP_SCAN_ROWS,8,8,32,24);
|
||||
state->m_sc0w_tilemap = tilemap_create(machine, get_sc0_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
|
||||
state->m_sc0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kingdrby_state::get_sc0_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,24);
|
||||
state->m_sc1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kingdrby_state::get_sc1_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,24);
|
||||
state->m_sc0w_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kingdrby_state::get_sc0_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
|
||||
|
||||
state->m_sc1_tilemap->set_transparent_pen(0);
|
||||
}
|
||||
|
@ -62,25 +62,25 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(bmc_1_videoram_w);
|
||||
DECLARE_WRITE16_MEMBER(bmc_2_videoram_w);
|
||||
DECLARE_DRIVER_INIT(koftball);
|
||||
TILE_GET_INFO_MEMBER(get_t1_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_t2_tile_info);
|
||||
};
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_t1_tile_info )
|
||||
TILE_GET_INFO_MEMBER(koftball_state::get_t1_tile_info)
|
||||
{
|
||||
koftball_state *state = machine.driver_data<koftball_state>();
|
||||
int data = state->m_bmc_1_videoram[tile_index];
|
||||
SET_TILE_INFO(
|
||||
int data = m_bmc_1_videoram[tile_index];
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
data,
|
||||
0,
|
||||
0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_t2_tile_info )
|
||||
TILE_GET_INFO_MEMBER(koftball_state::get_t2_tile_info)
|
||||
{
|
||||
koftball_state *state = machine.driver_data<koftball_state>();
|
||||
int data = state->m_bmc_2_videoram[tile_index];
|
||||
SET_TILE_INFO(
|
||||
int data = m_bmc_2_videoram[tile_index];
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
data,
|
||||
0,
|
||||
@ -90,8 +90,8 @@ static TILE_GET_INFO( get_t2_tile_info )
|
||||
static VIDEO_START( koftball )
|
||||
{
|
||||
koftball_state *state = machine.driver_data<koftball_state>();
|
||||
state->m_tilemap_1 = tilemap_create(machine, get_t1_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
|
||||
state->m_tilemap_2 = tilemap_create(machine, get_t2_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
|
||||
state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(koftball_state::get_t1_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
|
||||
state->m_tilemap_2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(koftball_state::get_t2_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
|
||||
|
||||
state->m_tilemap_1->set_transparent_pen(0);
|
||||
}
|
||||
|
@ -68,6 +68,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(io_w);
|
||||
DECLARE_READ8_MEMBER(input_r);
|
||||
DECLARE_WRITE8_MEMBER(unknown_w);
|
||||
TILE_GET_INFO_MEMBER(get_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -77,14 +78,13 @@ public:
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static TILE_GET_INFO( get_tile_info )
|
||||
TILE_GET_INFO_MEMBER(koikoi_state::get_tile_info)
|
||||
{
|
||||
koikoi_state *state = machine.driver_data<koikoi_state>();
|
||||
int code = state->m_videoram[tile_index] | ((state->m_videoram[tile_index + 0x400] & 0x40) << 2);
|
||||
int color = (state->m_videoram[tile_index + 0x400] & 0x1f);
|
||||
int flip = (state->m_videoram[tile_index + 0x400] & 0x80) ? (TILEMAP_FLIPX | TILEMAP_FLIPY) : 0;
|
||||
int code = m_videoram[tile_index] | ((m_videoram[tile_index + 0x400] & 0x40) << 2);
|
||||
int color = (m_videoram[tile_index + 0x400] & 0x1f);
|
||||
int flip = (m_videoram[tile_index + 0x400] & 0x80) ? (TILEMAP_FLIPX | TILEMAP_FLIPY) : 0;
|
||||
|
||||
SET_TILE_INFO( 0, code, color, flip);
|
||||
SET_TILE_INFO_MEMBER( 0, code, color, flip);
|
||||
}
|
||||
|
||||
static PALETTE_INIT( koikoi )
|
||||
@ -136,7 +136,7 @@ static PALETTE_INIT( koikoi )
|
||||
static VIDEO_START(koikoi)
|
||||
{
|
||||
koikoi_state *state = machine.driver_data<koikoi_state>();
|
||||
state->m_tmap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(koikoi_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
}
|
||||
|
||||
static SCREEN_UPDATE_IND16(koikoi)
|
||||
|
@ -83,6 +83,9 @@ public:
|
||||
DECLARE_DRIVER_INIT(dynabomb);
|
||||
DECLARE_DRIVER_INIT(legendoh);
|
||||
DECLARE_DRIVER_INIT(spotty);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_md_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -295,28 +298,25 @@ ADDRESS_MAP_END
|
||||
VIDEO HARDWARE EMULATION
|
||||
*****************************************************************************************************/
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(limenko_state::get_bg_tile_info)
|
||||
{
|
||||
limenko_state *state = machine.driver_data<limenko_state>();
|
||||
int tile = state->m_bg_videoram[tile_index] & 0x7ffff;
|
||||
int color = (state->m_bg_videoram[tile_index]>>28) & 0xf;
|
||||
SET_TILE_INFO(0,tile,color,0);
|
||||
int tile = m_bg_videoram[tile_index] & 0x7ffff;
|
||||
int color = (m_bg_videoram[tile_index]>>28) & 0xf;
|
||||
SET_TILE_INFO_MEMBER(0,tile,color,0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_md_tile_info )
|
||||
TILE_GET_INFO_MEMBER(limenko_state::get_md_tile_info)
|
||||
{
|
||||
limenko_state *state = machine.driver_data<limenko_state>();
|
||||
int tile = state->m_md_videoram[tile_index] & 0x7ffff;
|
||||
int color = (state->m_md_videoram[tile_index]>>28) & 0xf;
|
||||
SET_TILE_INFO(0,tile,color,0);
|
||||
int tile = m_md_videoram[tile_index] & 0x7ffff;
|
||||
int color = (m_md_videoram[tile_index]>>28) & 0xf;
|
||||
SET_TILE_INFO_MEMBER(0,tile,color,0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_fg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(limenko_state::get_fg_tile_info)
|
||||
{
|
||||
limenko_state *state = machine.driver_data<limenko_state>();
|
||||
int tile = state->m_fg_videoram[tile_index] & 0x7ffff;
|
||||
int color = (state->m_fg_videoram[tile_index]>>28) & 0xf;
|
||||
SET_TILE_INFO(0,tile,color,0);
|
||||
int tile = m_fg_videoram[tile_index] & 0x7ffff;
|
||||
int color = (m_fg_videoram[tile_index]>>28) & 0xf;
|
||||
SET_TILE_INFO_MEMBER(0,tile,color,0);
|
||||
}
|
||||
|
||||
static void draw_single_sprite(bitmap_ind16 &dest_bmp,const rectangle &clip,gfx_element *gfx,
|
||||
@ -503,9 +503,9 @@ static void copy_sprites(running_machine &machine, bitmap_ind16 &bitmap, bitmap_
|
||||
static VIDEO_START( limenko )
|
||||
{
|
||||
limenko_state *state = machine.driver_data<limenko_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,128,64);
|
||||
state->m_md_tilemap = tilemap_create(machine, get_md_tile_info,TILEMAP_SCAN_ROWS,8,8,128,64);
|
||||
state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,128,64);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(limenko_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,64);
|
||||
state->m_md_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(limenko_state::get_md_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,64);
|
||||
state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(limenko_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,64);
|
||||
|
||||
state->m_md_tilemap->set_transparent_pen(0);
|
||||
state->m_fg_tilemap->set_transparent_pen(0);
|
||||
|
@ -138,6 +138,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(ay_enable_w);
|
||||
DECLARE_WRITE8_MEMBER(speech_enable_w);
|
||||
DECLARE_DRIVER_INIT(looping);
|
||||
TILE_GET_INFO_MEMBER(get_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -195,12 +196,11 @@ static PALETTE_INIT( looping )
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static TILE_GET_INFO( get_tile_info )
|
||||
TILE_GET_INFO_MEMBER(looping_state::get_tile_info)
|
||||
{
|
||||
looping_state *state = machine.driver_data<looping_state>();
|
||||
int tile_number = state->m_videoram[tile_index];
|
||||
int color = state->m_colorram[(tile_index & 0x1f) * 2 + 1] & 0x07;
|
||||
SET_TILE_INFO(0, tile_number, color, 0);
|
||||
int tile_number = m_videoram[tile_index];
|
||||
int color = m_colorram[(tile_index & 0x1f) * 2 + 1] & 0x07;
|
||||
SET_TILE_INFO_MEMBER(0, tile_number, color, 0);
|
||||
}
|
||||
|
||||
|
||||
@ -208,7 +208,7 @@ static VIDEO_START( looping )
|
||||
{
|
||||
looping_state *state = machine.driver_data<looping_state>();
|
||||
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8,8, 32,32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(looping_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,32);
|
||||
|
||||
state->m_bg_tilemap->set_scroll_cols(0x20);
|
||||
}
|
||||
|
@ -32,28 +32,28 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(ltcasino_tile_num_w);
|
||||
DECLARE_WRITE8_MEMBER(ltcasino_tile_atr_w);
|
||||
DECLARE_DRIVER_INIT(mv4in1);
|
||||
TILE_GET_INFO_MEMBER(get_ltcasino_tile_info);
|
||||
};
|
||||
|
||||
|
||||
/* Video */
|
||||
|
||||
static TILE_GET_INFO( get_ltcasino_tile_info )
|
||||
TILE_GET_INFO_MEMBER(ltcasino_state::get_ltcasino_tile_info)
|
||||
{
|
||||
ltcasino_state *state = machine.driver_data<ltcasino_state>();
|
||||
int tileno, colour;
|
||||
|
||||
tileno = state->m_tile_num_ram[tile_index];
|
||||
colour = state->m_tile_atr_ram[tile_index];
|
||||
tileno = m_tile_num_ram[tile_index];
|
||||
colour = m_tile_atr_ram[tile_index];
|
||||
|
||||
tileno += (colour & 0x80) << 1;
|
||||
|
||||
SET_TILE_INFO(0,tileno,0,0);
|
||||
SET_TILE_INFO_MEMBER(0,tileno,0,0);
|
||||
}
|
||||
|
||||
static VIDEO_START(ltcasino)
|
||||
{
|
||||
ltcasino_state *state = machine.driver_data<ltcasino_state>();
|
||||
state->m_tilemap = tilemap_create(machine, get_ltcasino_tile_info,TILEMAP_SCAN_ROWS,8, 8,64,32);
|
||||
state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ltcasino_state::get_ltcasino_tile_info),state),TILEMAP_SCAN_ROWS,8, 8,64,32);
|
||||
}
|
||||
|
||||
|
||||
|
@ -145,6 +145,10 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(counters_w);
|
||||
DECLARE_READ8_MEMBER(test_r);
|
||||
DECLARE_DRIVER_INIT(luckgrln);
|
||||
TILE_GET_INFO_MEMBER(get_luckgrln_reel1_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_luckgrln_reel2_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_luckgrln_reel3_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_luckgrln_reel4_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -162,17 +166,16 @@ WRITE8_MEMBER(luckgrln_state::luckgrln_reel1_attr_w)
|
||||
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_luckgrln_reel1_tile_info )
|
||||
TILE_GET_INFO_MEMBER(luckgrln_state::get_luckgrln_reel1_tile_info)
|
||||
{
|
||||
luckgrln_state *state = machine.driver_data<luckgrln_state>();
|
||||
int code = state->m_reel1_ram[tile_index];
|
||||
int attr = state->m_reel1_attr[tile_index];
|
||||
int code = m_reel1_ram[tile_index];
|
||||
int attr = m_reel1_attr[tile_index];
|
||||
int col = (attr & 0x1f);
|
||||
|
||||
code |= (attr & 0xe0)<<3;
|
||||
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
1,
|
||||
code,
|
||||
col,
|
||||
@ -193,17 +196,16 @@ WRITE8_MEMBER(luckgrln_state::luckgrln_reel2_attr_w)
|
||||
}
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_luckgrln_reel2_tile_info )
|
||||
TILE_GET_INFO_MEMBER(luckgrln_state::get_luckgrln_reel2_tile_info)
|
||||
{
|
||||
luckgrln_state *state = machine.driver_data<luckgrln_state>();
|
||||
int code = state->m_reel2_ram[tile_index];
|
||||
int attr = state->m_reel2_attr[tile_index];
|
||||
int code = m_reel2_ram[tile_index];
|
||||
int attr = m_reel2_attr[tile_index];
|
||||
int col = (attr & 0x1f);
|
||||
|
||||
code |= (attr & 0xe0)<<3;
|
||||
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
1,
|
||||
code,
|
||||
col,
|
||||
@ -223,16 +225,15 @@ WRITE8_MEMBER(luckgrln_state::luckgrln_reel3_attr_w)
|
||||
}
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_luckgrln_reel3_tile_info )
|
||||
TILE_GET_INFO_MEMBER(luckgrln_state::get_luckgrln_reel3_tile_info)
|
||||
{
|
||||
luckgrln_state *state = machine.driver_data<luckgrln_state>();
|
||||
int code = state->m_reel3_ram[tile_index];
|
||||
int attr = state->m_reel3_attr[tile_index];
|
||||
int code = m_reel3_ram[tile_index];
|
||||
int attr = m_reel3_attr[tile_index];
|
||||
int col = (attr & 0x1f);
|
||||
|
||||
code |= (attr & 0xe0)<<3;
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
1,
|
||||
code,
|
||||
col,
|
||||
@ -252,16 +253,15 @@ WRITE8_MEMBER(luckgrln_state::luckgrln_reel4_attr_w)
|
||||
}
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_luckgrln_reel4_tile_info )
|
||||
TILE_GET_INFO_MEMBER(luckgrln_state::get_luckgrln_reel4_tile_info)
|
||||
{
|
||||
luckgrln_state *state = machine.driver_data<luckgrln_state>();
|
||||
int code = state->m_reel4_ram[tile_index];
|
||||
int attr = state->m_reel4_attr[tile_index];
|
||||
int code = m_reel4_ram[tile_index];
|
||||
int attr = m_reel4_attr[tile_index];
|
||||
int col = (attr & 0x1f);
|
||||
|
||||
code |= (attr & 0xe0)<<3;
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
1,
|
||||
code,
|
||||
col,
|
||||
@ -271,10 +271,10 @@ static TILE_GET_INFO( get_luckgrln_reel4_tile_info )
|
||||
static VIDEO_START(luckgrln)
|
||||
{
|
||||
luckgrln_state *state = machine.driver_data<luckgrln_state>();
|
||||
state->m_reel1_tilemap = tilemap_create(machine,get_luckgrln_reel1_tile_info,TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
|
||||
state->m_reel2_tilemap = tilemap_create(machine,get_luckgrln_reel2_tile_info,TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
|
||||
state->m_reel3_tilemap = tilemap_create(machine,get_luckgrln_reel3_tile_info,TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
|
||||
state->m_reel4_tilemap = tilemap_create(machine,get_luckgrln_reel4_tile_info,TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
|
||||
state->m_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(luckgrln_state::get_luckgrln_reel1_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
|
||||
state->m_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(luckgrln_state::get_luckgrln_reel2_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
|
||||
state->m_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(luckgrln_state::get_luckgrln_reel3_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
|
||||
state->m_reel4_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(luckgrln_state::get_luckgrln_reel4_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
|
||||
|
||||
state->m_reel1_tilemap->set_scroll_cols(64);
|
||||
state->m_reel2_tilemap->set_scroll_cols(64);
|
||||
|
@ -80,6 +80,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(hopper_w);
|
||||
DECLARE_INPUT_CHANGED_MEMBER(left_coin_inserted);
|
||||
DECLARE_INPUT_CHANGED_MEMBER(right_coin_inserted);
|
||||
TILE_GET_INFO_MEMBER(m14_get_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -107,16 +108,15 @@ static PALETTE_INIT( m14 )
|
||||
}
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( m14_get_tile_info )
|
||||
TILE_GET_INFO_MEMBER(m14_state::m14_get_tile_info)
|
||||
{
|
||||
m14_state *state = machine.driver_data<m14_state>();
|
||||
|
||||
int code = state->m_video_ram[tile_index];
|
||||
int color = state->m_color_ram[tile_index] & 0x0f;
|
||||
int code = m_video_ram[tile_index];
|
||||
int color = m_color_ram[tile_index] & 0x0f;
|
||||
|
||||
/* colorram & 0xf0 used but unknown purpose*/
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
code,
|
||||
color,
|
||||
@ -127,7 +127,7 @@ static VIDEO_START( m14 )
|
||||
{
|
||||
m14_state *state = machine.driver_data<m14_state>();
|
||||
|
||||
state->m_m14_tilemap = tilemap_create(machine, m14_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_m14_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m14_state::m14_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
}
|
||||
|
||||
static SCREEN_UPDATE_IND16( m14 )
|
||||
|
@ -177,6 +177,8 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(nmi_mask_w);
|
||||
DECLARE_DRIVER_INIT(wilytowr);
|
||||
DECLARE_DRIVER_INIT(fghtbskt);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -284,32 +286,30 @@ WRITE8_MEMBER(m63_state::fghtbskt_flipscreen_w)
|
||||
}
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(m63_state::get_bg_tile_info)
|
||||
{
|
||||
m63_state *state = machine.driver_data<m63_state>();
|
||||
|
||||
int attr = state->m_colorram[tile_index];
|
||||
int code = state->m_videoram[tile_index] | ((attr & 0x30) << 4);
|
||||
int color = (attr & 0x0f) + (state->m_pal_bank << 4);
|
||||
int attr = m_colorram[tile_index];
|
||||
int code = m_videoram[tile_index] | ((attr & 0x30) << 4);
|
||||
int color = (attr & 0x0f) + (m_pal_bank << 4);
|
||||
|
||||
SET_TILE_INFO(1, code, color, 0);
|
||||
SET_TILE_INFO_MEMBER(1, code, color, 0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_fg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(m63_state::get_fg_tile_info)
|
||||
{
|
||||
m63_state *state = machine.driver_data<m63_state>();
|
||||
|
||||
int code = state->m_videoram2[tile_index];
|
||||
int code = m_videoram2[tile_index];
|
||||
|
||||
SET_TILE_INFO(0, code, 0, state->m_fg_flag);
|
||||
SET_TILE_INFO_MEMBER(0, code, 0, m_fg_flag);
|
||||
}
|
||||
|
||||
static VIDEO_START( m63 )
|
||||
{
|
||||
m63_state *state = machine.driver_data<m63_state>();
|
||||
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m63_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m63_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
|
||||
state->m_bg_tilemap->set_scroll_cols(32);
|
||||
state->m_fg_tilemap->set_transparent_pen(0);
|
||||
|
@ -117,6 +117,9 @@ public:
|
||||
DECLARE_DRIVER_INIT(magic102);
|
||||
DECLARE_DRIVER_INIT(magic10);
|
||||
DECLARE_DRIVER_INIT(hotslot);
|
||||
TILE_GET_INFO_MEMBER(get_layer0_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_layer1_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_layer2_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -149,38 +152,35 @@ WRITE16_MEMBER(magic10_state::paletteram_w)
|
||||
}
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_layer0_tile_info )
|
||||
TILE_GET_INFO_MEMBER(magic10_state::get_layer0_tile_info)
|
||||
{
|
||||
magic10_state *state = machine.driver_data<magic10_state>();
|
||||
SET_TILE_INFO
|
||||
SET_TILE_INFO_MEMBER
|
||||
(
|
||||
1,
|
||||
state->m_layer0_videoram[tile_index * 2],
|
||||
state->m_layer0_videoram[tile_index * 2 + 1] & 0x0f,
|
||||
TILE_FLIPYX((state->m_layer0_videoram[tile_index * 2 + 1] & 0xc0) >> 6)
|
||||
m_layer0_videoram[tile_index * 2],
|
||||
m_layer0_videoram[tile_index * 2 + 1] & 0x0f,
|
||||
TILE_FLIPYX((m_layer0_videoram[tile_index * 2 + 1] & 0xc0) >> 6)
|
||||
);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_layer1_tile_info )
|
||||
TILE_GET_INFO_MEMBER(magic10_state::get_layer1_tile_info)
|
||||
{
|
||||
magic10_state *state = machine.driver_data<magic10_state>();
|
||||
SET_TILE_INFO
|
||||
SET_TILE_INFO_MEMBER
|
||||
(
|
||||
1,
|
||||
state->m_layer1_videoram[tile_index * 2],
|
||||
state->m_layer1_videoram[tile_index * 2 + 1] & 0x0f,
|
||||
TILE_FLIPYX((state->m_layer1_videoram[tile_index * 2 + 1] & 0xc0) >> 6)
|
||||
m_layer1_videoram[tile_index * 2],
|
||||
m_layer1_videoram[tile_index * 2 + 1] & 0x0f,
|
||||
TILE_FLIPYX((m_layer1_videoram[tile_index * 2 + 1] & 0xc0) >> 6)
|
||||
);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_layer2_tile_info )
|
||||
TILE_GET_INFO_MEMBER(magic10_state::get_layer2_tile_info)
|
||||
{
|
||||
magic10_state *state = machine.driver_data<magic10_state>();
|
||||
SET_TILE_INFO
|
||||
SET_TILE_INFO_MEMBER
|
||||
(
|
||||
0,
|
||||
state->m_layer2_videoram[tile_index * 2],
|
||||
state->m_layer2_videoram[tile_index * 2 + 1] & 0x0f,
|
||||
m_layer2_videoram[tile_index * 2],
|
||||
m_layer2_videoram[tile_index * 2 + 1] & 0x0f,
|
||||
0
|
||||
);
|
||||
}
|
||||
@ -189,9 +189,9 @@ static TILE_GET_INFO( get_layer2_tile_info )
|
||||
static VIDEO_START( magic10 )
|
||||
{
|
||||
magic10_state *state = machine.driver_data<magic10_state>();
|
||||
state->m_layer0_tilemap = tilemap_create(machine, get_layer0_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
|
||||
state->m_layer1_tilemap = tilemap_create(machine, get_layer1_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
|
||||
state->m_layer2_tilemap = tilemap_create(machine, get_layer2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
|
||||
state->m_layer0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(magic10_state::get_layer0_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
|
||||
state->m_layer1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(magic10_state::get_layer1_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
|
||||
state->m_layer2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(magic10_state::get_layer2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
|
||||
|
||||
state->m_layer1_tilemap->set_transparent_pen(0);
|
||||
state->m_layer2_tilemap->set_transparent_pen(0);
|
||||
|
@ -433,6 +433,8 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(magicfly_colorram_w);
|
||||
DECLARE_READ8_MEMBER(mux_port_r);
|
||||
DECLARE_WRITE8_MEMBER(mux_port_w);
|
||||
TILE_GET_INFO_MEMBER(get_magicfly_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_7mezzo_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -453,9 +455,8 @@ WRITE8_MEMBER(magicfly_state::magicfly_colorram_w)
|
||||
m_bg_tilemap->mark_tile_dirty(offset);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_magicfly_tile_info )
|
||||
TILE_GET_INFO_MEMBER(magicfly_state::get_magicfly_tile_info)
|
||||
{
|
||||
magicfly_state *state = machine.driver_data<magicfly_state>();
|
||||
/* - bits -
|
||||
7654 3210
|
||||
---- -xxx Tiles color.
|
||||
@ -465,29 +466,28 @@ static TILE_GET_INFO( get_magicfly_tile_info )
|
||||
x--- ---- Mirrored from bit 3. The code check this one to boot the game.
|
||||
|
||||
*/
|
||||
int attr = state->m_colorram[tile_index];
|
||||
int code = state->m_videoram[tile_index];
|
||||
int attr = m_colorram[tile_index];
|
||||
int code = m_videoram[tile_index];
|
||||
int bank = (attr & 0x10) >> 4; /* bit 4 switch the gfx banks */
|
||||
int color = attr & 0x07; /* bits 0-2 for color */
|
||||
|
||||
/* Seems that bit 7 is mirrored from bit 3 to have a normal boot */
|
||||
/* Boot only check the first color RAM offset */
|
||||
|
||||
state->m_colorram[0] = state->m_colorram[0] | ((state->m_colorram[0] & 0x08) << 4); /* only for 1st offset */
|
||||
//state->m_colorram[tile_index] = attr | ((attr & 0x08) << 4); /* for the whole color RAM */
|
||||
m_colorram[0] = m_colorram[0] | ((m_colorram[0] & 0x08) << 4); /* only for 1st offset */
|
||||
//m_colorram[tile_index] = attr | ((attr & 0x08) << 4); /* for the whole color RAM */
|
||||
|
||||
SET_TILE_INFO(bank, code, color, 0);
|
||||
SET_TILE_INFO_MEMBER(bank, code, color, 0);
|
||||
}
|
||||
|
||||
static VIDEO_START(magicfly)
|
||||
{
|
||||
magicfly_state *state = machine.driver_data<magicfly_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_magicfly_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 29);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(magicfly_state::get_magicfly_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 29);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_7mezzo_tile_info )
|
||||
TILE_GET_INFO_MEMBER(magicfly_state::get_7mezzo_tile_info)
|
||||
{
|
||||
magicfly_state *state = machine.driver_data<magicfly_state>();
|
||||
/* - bits -
|
||||
7654 3210
|
||||
---- -xxx Tiles color.
|
||||
@ -497,24 +497,24 @@ static TILE_GET_INFO( get_7mezzo_tile_info )
|
||||
x--- ---- Mirrored from bit 2. The code check this one to boot the game.
|
||||
|
||||
*/
|
||||
int attr = state->m_colorram[tile_index];
|
||||
int code = state->m_videoram[tile_index];
|
||||
int attr = m_colorram[tile_index];
|
||||
int code = m_videoram[tile_index];
|
||||
int bank = (attr & 0x10) >> 4; /* bit 4 switch the gfx banks */
|
||||
int color = attr & 0x07; /* bits 0-2 for color */
|
||||
|
||||
/* Seems that bit 7 is mirrored from bit 2 to have a normal boot */
|
||||
/* Boot only check the first color RAM offset */
|
||||
|
||||
state->m_colorram[0] = state->m_colorram[0] | ((state->m_colorram[0] & 0x04) << 5); /* only for 1st offset */
|
||||
//state->m_colorram[tile_index] = attr | ((attr & 0x04) << 5); /* for the whole color RAM */
|
||||
m_colorram[0] = m_colorram[0] | ((m_colorram[0] & 0x04) << 5); /* only for 1st offset */
|
||||
//m_colorram[tile_index] = attr | ((attr & 0x04) << 5); /* for the whole color RAM */
|
||||
|
||||
SET_TILE_INFO(bank, code, color, 0);
|
||||
SET_TILE_INFO_MEMBER(bank, code, color, 0);
|
||||
}
|
||||
|
||||
static VIDEO_START( 7mezzo )
|
||||
{
|
||||
magicfly_state *state = machine.driver_data<magicfly_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_7mezzo_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 29);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(magicfly_state::get_7mezzo_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 29);
|
||||
}
|
||||
|
||||
static SCREEN_UPDATE_IND16( magicfly )
|
||||
|
@ -488,6 +488,8 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(lamps_b_w);
|
||||
DECLARE_WRITE8_MEMBER(pulses_w);
|
||||
DECLARE_DRIVER_INIT(majorpkr);
|
||||
TILE_GET_INFO_MEMBER(bg_get_tile_info);
|
||||
TILE_GET_INFO_MEMBER(fg_get_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -495,26 +497,24 @@ public:
|
||||
* Video Hardware *
|
||||
*************************/
|
||||
|
||||
static TILE_GET_INFO( bg_get_tile_info )
|
||||
TILE_GET_INFO_MEMBER(majorpkr_state::bg_get_tile_info)
|
||||
{
|
||||
majorpkr_state *state = machine.driver_data<majorpkr_state>();
|
||||
|
||||
int code = state->m_videoram[0x800 + 2 * tile_index] + (state->m_videoram[0x800 + 2 * tile_index + 1] << 8);
|
||||
int code = m_videoram[0x800 + 2 * tile_index] + (m_videoram[0x800 + 2 * tile_index + 1] << 8);
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
(code & 0x1fff),
|
||||
code >> 13,
|
||||
0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( fg_get_tile_info )
|
||||
TILE_GET_INFO_MEMBER(majorpkr_state::fg_get_tile_info)
|
||||
{
|
||||
majorpkr_state *state = machine.driver_data<majorpkr_state>();
|
||||
|
||||
int code = state->m_videoram[2 * tile_index] + (state->m_videoram[2 * tile_index + 1] << 8);
|
||||
int code = m_videoram[2 * tile_index] + (m_videoram[2 * tile_index + 1] << 8);
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
1,
|
||||
(code & 0x07ff),
|
||||
code >> 13,
|
||||
@ -526,8 +526,8 @@ static VIDEO_START(majorpkr)
|
||||
{
|
||||
majorpkr_state *state = machine.driver_data<majorpkr_state>();
|
||||
|
||||
state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info, TILEMAP_SCAN_ROWS, 16, 8, 36, 28);
|
||||
state->m_fg_tilemap = tilemap_create(machine, fg_get_tile_info, TILEMAP_SCAN_ROWS, 16, 8, 36, 28);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(majorpkr_state::bg_get_tile_info),state), TILEMAP_SCAN_ROWS, 16, 8, 36, 28);
|
||||
state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(majorpkr_state::fg_get_tile_info),state), TILEMAP_SCAN_ROWS, 16, 8, 36, 28);
|
||||
state->m_fg_tilemap->set_transparent_pen(0);
|
||||
|
||||
state->m_generic_paletteram_8.allocate(4 * 0x800);
|
||||
|
@ -147,6 +147,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(marinedt_sound_w);
|
||||
DECLARE_WRITE8_MEMBER(marinedt_pd_w);
|
||||
DECLARE_WRITE8_MEMBER(marinedt_pf_w);
|
||||
TILE_GET_INFO_MEMBER(get_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -477,20 +478,19 @@ bit0 = 0;
|
||||
}
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_tile_info )
|
||||
TILE_GET_INFO_MEMBER(marinedt_state::get_tile_info)
|
||||
{
|
||||
marinedt_state *state = machine.driver_data<marinedt_state>();
|
||||
int code = state->m_tx_tileram[tile_index];
|
||||
int code = m_tx_tileram[tile_index];
|
||||
int color = 0;
|
||||
int flags = TILE_FLIPX;
|
||||
|
||||
SET_TILE_INFO(0, code, color, flags);
|
||||
SET_TILE_INFO_MEMBER(0, code, color, flags);
|
||||
}
|
||||
|
||||
static VIDEO_START( marinedt )
|
||||
{
|
||||
marinedt_state *state = machine.driver_data<marinedt_state>();
|
||||
state->m_tx_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(marinedt_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
|
||||
state->m_tx_tilemap->set_transparent_pen(0);
|
||||
state->m_tx_tilemap->set_scrolldx(0, 4*8);
|
||||
|
@ -41,6 +41,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(input_sel_w);
|
||||
DECLARE_READ8_MEMBER(key_matrix_1p_r);
|
||||
DECLARE_READ8_MEMBER(key_matrix_2p_r);
|
||||
TILE_GET_INFO_MEMBER(get_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -50,19 +51,18 @@ public:
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static TILE_GET_INFO( get_tile_info )
|
||||
TILE_GET_INFO_MEMBER(mayumi_state::get_tile_info)
|
||||
{
|
||||
mayumi_state *state = machine.driver_data<mayumi_state>();
|
||||
int code = state->m_videoram[tile_index] + (state->m_videoram[tile_index + 0x800] & 0x1f) * 0x100;
|
||||
int col = (state->m_videoram[tile_index + 0x1000] >> 3) & 0x1f;
|
||||
int code = m_videoram[tile_index] + (m_videoram[tile_index + 0x800] & 0x1f) * 0x100;
|
||||
int col = (m_videoram[tile_index + 0x1000] >> 3) & 0x1f;
|
||||
|
||||
SET_TILE_INFO(0, code, col, 0);
|
||||
SET_TILE_INFO_MEMBER(0, code, col, 0);
|
||||
}
|
||||
|
||||
static VIDEO_START( mayumi )
|
||||
{
|
||||
mayumi_state *state = machine.driver_data<mayumi_state>();
|
||||
state->m_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
|
||||
state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mayumi_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(mayumi_state::mayumi_videoram_w)
|
||||
|
@ -33,15 +33,15 @@ public:
|
||||
DECLARE_READ8_MEMBER(mgolf_dial_r);
|
||||
DECLARE_READ8_MEMBER(mgolf_misc_r);
|
||||
DECLARE_WRITE8_MEMBER(mgolf_wram_w);
|
||||
TILE_GET_INFO_MEMBER(get_tile_info);
|
||||
};
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_tile_info )
|
||||
TILE_GET_INFO_MEMBER(mgolf_state::get_tile_info)
|
||||
{
|
||||
mgolf_state *state = machine.driver_data<mgolf_state>();
|
||||
UINT8 code = state->m_video_ram[tile_index];
|
||||
UINT8 code = m_video_ram[tile_index];
|
||||
|
||||
SET_TILE_INFO(0, code, code >> 7, 0);
|
||||
SET_TILE_INFO_MEMBER(0, code, code >> 7, 0);
|
||||
}
|
||||
|
||||
|
||||
@ -55,7 +55,7 @@ WRITE8_MEMBER(mgolf_state::mgolf_vram_w)
|
||||
static VIDEO_START( mgolf )
|
||||
{
|
||||
mgolf_state *state = machine.driver_data<mgolf_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mgolf_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
}
|
||||
|
||||
|
||||
|
@ -76,6 +76,7 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(hammer_led_w);
|
||||
DECLARE_WRITE16_MEMBER(midas_eeprom_w);
|
||||
DECLARE_DRIVER_INIT(livequiz);
|
||||
TILE_GET_INFO_MEMBER(get_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -83,11 +84,10 @@ static VIDEO_START( midas );
|
||||
static SCREEN_UPDATE_IND16( midas );
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_tile_info )
|
||||
TILE_GET_INFO_MEMBER(midas_state::get_tile_info)
|
||||
{
|
||||
midas_state *state = machine.driver_data<midas_state>();
|
||||
UINT16 code = state->m_gfxram[ tile_index + 0x7000 ];
|
||||
SET_TILE_INFO(1, code & 0xfff, (code >> 12) & 0xf, TILE_FLIPXY( 0 ));
|
||||
UINT16 code = m_gfxram[ tile_index + 0x7000 ];
|
||||
SET_TILE_INFO_MEMBER(1, code & 0xfff, (code >> 12) & 0xf, TILE_FLIPXY( 0 ));
|
||||
}
|
||||
|
||||
static VIDEO_START( midas )
|
||||
@ -95,8 +95,7 @@ static VIDEO_START( midas )
|
||||
midas_state *state = machine.driver_data<midas_state>();
|
||||
state->m_gfxram = auto_alloc_array(machine, UINT16, 0x20000/2);
|
||||
|
||||
state->m_tmap = tilemap_create( machine, get_tile_info, TILEMAP_SCAN_COLS,
|
||||
8,8, 0x80,0x20 );
|
||||
state->m_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(midas_state::get_tile_info),state), TILEMAP_SCAN_COLS,8,8,0x80,0x20);
|
||||
|
||||
state->m_tmap->set_transparent_pen(0);
|
||||
}
|
||||
|
@ -117,59 +117,59 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(sc2_vram_w);
|
||||
DECLARE_WRITE16_MEMBER(sc3_vram_w);
|
||||
DECLARE_WRITE16_MEMBER(output_w);
|
||||
TILE_GET_INFO_MEMBER(get_sc0_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_sc1_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_sc2_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_sc3_tile_info);
|
||||
};
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_sc0_tile_info )
|
||||
TILE_GET_INFO_MEMBER(mil4000_state::get_sc0_tile_info)
|
||||
{
|
||||
mil4000_state *state = machine.driver_data<mil4000_state>();
|
||||
UINT32 data = (state->m_sc0_vram[tile_index*2]<<16) | state->m_sc0_vram[tile_index*2+1];
|
||||
UINT32 data = (m_sc0_vram[tile_index*2]<<16) | m_sc0_vram[tile_index*2+1];
|
||||
int tile = data >> 14;
|
||||
int color = (state->m_sc0_vram[tile_index*2+1] & 0x1f)+0;
|
||||
int color = (m_sc0_vram[tile_index*2+1] & 0x1f)+0;
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
tile,
|
||||
color,
|
||||
0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_sc1_tile_info )
|
||||
TILE_GET_INFO_MEMBER(mil4000_state::get_sc1_tile_info)
|
||||
{
|
||||
mil4000_state *state = machine.driver_data<mil4000_state>();
|
||||
UINT32 data = (state->m_sc1_vram[tile_index*2]<<16) | state->m_sc1_vram[tile_index*2+1];
|
||||
UINT32 data = (m_sc1_vram[tile_index*2]<<16) | m_sc1_vram[tile_index*2+1];
|
||||
int tile = data >> 14;
|
||||
int color = (state->m_sc1_vram[tile_index*2+1] & 0x1f)+0x10;
|
||||
int color = (m_sc1_vram[tile_index*2+1] & 0x1f)+0x10;
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
tile,
|
||||
color,
|
||||
0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_sc2_tile_info )
|
||||
TILE_GET_INFO_MEMBER(mil4000_state::get_sc2_tile_info)
|
||||
{
|
||||
mil4000_state *state = machine.driver_data<mil4000_state>();
|
||||
UINT32 data = (state->m_sc2_vram[tile_index*2]<<16) | state->m_sc2_vram[tile_index*2+1];
|
||||
UINT32 data = (m_sc2_vram[tile_index*2]<<16) | m_sc2_vram[tile_index*2+1];
|
||||
int tile = data >> 14;
|
||||
int color = (state->m_sc2_vram[tile_index*2+1] & 0x1f)+0x20;
|
||||
int color = (m_sc2_vram[tile_index*2+1] & 0x1f)+0x20;
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
tile,
|
||||
color,
|
||||
0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_sc3_tile_info )
|
||||
TILE_GET_INFO_MEMBER(mil4000_state::get_sc3_tile_info)
|
||||
{
|
||||
mil4000_state *state = machine.driver_data<mil4000_state>();
|
||||
UINT32 data = (state->m_sc3_vram[tile_index*2]<<16) | state->m_sc3_vram[tile_index*2+1];
|
||||
UINT32 data = (m_sc3_vram[tile_index*2]<<16) | m_sc3_vram[tile_index*2+1];
|
||||
int tile = data >> 14;
|
||||
int color = (state->m_sc3_vram[tile_index*2+1] & 0x1f)+0x30;
|
||||
int color = (m_sc3_vram[tile_index*2+1] & 0x1f)+0x30;
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
tile,
|
||||
color,
|
||||
@ -179,10 +179,10 @@ static TILE_GET_INFO( get_sc3_tile_info )
|
||||
static VIDEO_START(mil4000)
|
||||
{
|
||||
mil4000_state *state = machine.driver_data<mil4000_state>();
|
||||
state->m_sc0_tilemap = tilemap_create(machine, get_sc0_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
|
||||
state->m_sc1_tilemap = tilemap_create(machine, get_sc1_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
|
||||
state->m_sc2_tilemap = tilemap_create(machine, get_sc2_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
|
||||
state->m_sc3_tilemap = tilemap_create(machine, get_sc3_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
|
||||
state->m_sc0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mil4000_state::get_sc0_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
|
||||
state->m_sc1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mil4000_state::get_sc1_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
|
||||
state->m_sc2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mil4000_state::get_sc2_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
|
||||
state->m_sc3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mil4000_state::get_sc3_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
|
||||
|
||||
state->m_sc1_tilemap->set_transparent_pen(0);
|
||||
state->m_sc2_tilemap->set_transparent_pen(0);
|
||||
|
@ -165,6 +165,7 @@ public:
|
||||
tilemap_t *m_bg_tilemap;
|
||||
DECLARE_WRITE8_MEMBER(miniboy7_videoram_w);
|
||||
DECLARE_WRITE8_MEMBER(miniboy7_colorram_w);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -184,30 +185,29 @@ WRITE8_MEMBER(miniboy7_state::miniboy7_colorram_w)
|
||||
m_bg_tilemap->mark_tile_dirty(offset);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(miniboy7_state::get_bg_tile_info)
|
||||
{
|
||||
miniboy7_state *state = machine.driver_data<miniboy7_state>();
|
||||
/* - bits -
|
||||
7654 3210
|
||||
--xx xx-- tiles color?.
|
||||
---- --x- tiles bank.
|
||||
xx-- ---x seems unused. */
|
||||
|
||||
int attr = state->m_colorram[tile_index];
|
||||
int code = state->m_videoram[tile_index];
|
||||
int attr = m_colorram[tile_index];
|
||||
int code = m_videoram[tile_index];
|
||||
int bank = (attr & 0x02) >> 1; /* bit 1 switch the gfx banks */
|
||||
int color = (attr & 0x3c); /* bits 2-3-4-5 for color? */
|
||||
|
||||
if (bank == 1) /* temporary hack to point to the 3rd gfx bank */
|
||||
bank = 2;
|
||||
|
||||
SET_TILE_INFO(bank, code, color, 0);
|
||||
SET_TILE_INFO_MEMBER(bank, code, color, 0);
|
||||
}
|
||||
|
||||
static VIDEO_START( miniboy7 )
|
||||
{
|
||||
miniboy7_state *state = machine.driver_data<miniboy7_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 37, 37);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(miniboy7_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 37, 37);
|
||||
}
|
||||
|
||||
static SCREEN_UPDATE_IND16( miniboy7 )
|
||||
|
@ -27,6 +27,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(mogura_tileram_w);
|
||||
DECLARE_WRITE8_MEMBER(mogura_dac_w);
|
||||
DECLARE_WRITE8_MEMBER(mogura_gfxram_w);
|
||||
TILE_GET_INFO_MEMBER(get_mogura_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -63,13 +64,12 @@ static PALETTE_INIT( mogura )
|
||||
}
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_mogura_tile_info )
|
||||
TILE_GET_INFO_MEMBER(mogura_state::get_mogura_tile_info)
|
||||
{
|
||||
mogura_state *state = machine.driver_data<mogura_state>();
|
||||
int code = state->m_tileram[tile_index];
|
||||
int attr = state->m_tileram[tile_index + 0x800];
|
||||
int code = m_tileram[tile_index];
|
||||
int attr = m_tileram[tile_index + 0x800];
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
code,
|
||||
(attr >> 1) & 7,
|
||||
@ -81,7 +81,7 @@ static VIDEO_START( mogura )
|
||||
{
|
||||
mogura_state *state = machine.driver_data<mogura_state>();
|
||||
machine.gfx[0]->set_source(state->m_gfxram);
|
||||
state->m_tilemap = tilemap_create(machine, get_mogura_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
|
||||
state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mogura_state::get_mogura_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
|
||||
}
|
||||
|
||||
static SCREEN_UPDATE_IND16( mogura )
|
||||
|
@ -69,6 +69,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(mole_tilebank_w);
|
||||
DECLARE_WRITE8_MEMBER(mole_flipscreen_w);
|
||||
DECLARE_READ8_MEMBER(mole_protection_r);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -86,19 +87,18 @@ static PALETTE_INIT( mole )
|
||||
palette_set_color_rgb(machine, i, pal1bit(i >> 0), pal1bit(i >> 2), pal1bit(i >> 1));
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(mole_state::get_bg_tile_info)
|
||||
{
|
||||
mole_state *state = machine.driver_data<mole_state>();
|
||||
UINT16 code = state->m_tileram[tile_index];
|
||||
UINT16 code = m_tileram[tile_index];
|
||||
|
||||
SET_TILE_INFO((code & 0x200) ? 1 : 0, code & 0x1ff, 0, 0);
|
||||
SET_TILE_INFO_MEMBER((code & 0x200) ? 1 : 0, code & 0x1ff, 0, 0);
|
||||
}
|
||||
|
||||
static VIDEO_START( mole )
|
||||
{
|
||||
mole_state *state = machine.driver_data<mole_state>();
|
||||
memset(state->m_tileram, 0, sizeof(state->m_tileram));
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 40, 25);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mole_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 40, 25);
|
||||
|
||||
state->save_item(NAME(state->m_tileram));
|
||||
}
|
||||
|
@ -233,29 +233,29 @@ public:
|
||||
DECLARE_DRIVER_INIT(gnomeent);
|
||||
DECLARE_DRIVER_INIT(lhauntent);
|
||||
DECLARE_DRIVER_INIT(fcockt2ent);
|
||||
TILE_GET_INFO_MEMBER(get_multfish_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_multfish_reel_tile_info);
|
||||
};
|
||||
|
||||
static TILE_GET_INFO( get_multfish_tile_info )
|
||||
TILE_GET_INFO_MEMBER(multfish_state::get_multfish_tile_info)
|
||||
{
|
||||
multfish_state *state = machine.driver_data<multfish_state>();
|
||||
int code = state->m_vid[tile_index*2+0x0000] | (state->m_vid[tile_index*2+0x0001] << 8);
|
||||
int attr = state->m_vid[tile_index*2+0x1000] | (state->m_vid[tile_index*2+0x1001] << 8);
|
||||
int code = m_vid[tile_index*2+0x0000] | (m_vid[tile_index*2+0x0001] << 8);
|
||||
int attr = m_vid[tile_index*2+0x1000] | (m_vid[tile_index*2+0x1001] << 8);
|
||||
|
||||
tileinfo.category = (attr&0x100)>>8;
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
code&0x1fff,
|
||||
attr&0x7,
|
||||
0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_multfish_reel_tile_info )
|
||||
TILE_GET_INFO_MEMBER(multfish_state::get_multfish_reel_tile_info)
|
||||
{
|
||||
multfish_state *state = machine.driver_data<multfish_state>();
|
||||
int code = state->m_vid[tile_index*2+0x2000] | (state->m_vid[tile_index*2+0x2001] << 8);
|
||||
int code = m_vid[tile_index*2+0x2000] | (m_vid[tile_index*2+0x2001] << 8);
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
(code&0x1fff)+0x2000,
|
||||
(code>>14)+0x8,
|
||||
@ -269,10 +269,10 @@ static VIDEO_START(multfish)
|
||||
memset(state->m_vid,0x00,sizeof(state->m_vid));
|
||||
state->save_item(NAME(state->m_vid));
|
||||
|
||||
state->m_tilemap = tilemap_create(machine,get_multfish_tile_info,TILEMAP_SCAN_ROWS,16,16, 64, 32);
|
||||
state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(multfish_state::get_multfish_tile_info),state),TILEMAP_SCAN_ROWS,16,16, 64, 32);
|
||||
state->m_tilemap->set_transparent_pen(255);
|
||||
|
||||
state->m_reel_tilemap = tilemap_create(machine,get_multfish_reel_tile_info,TILEMAP_SCAN_ROWS,16,16, 64, 64);
|
||||
state->m_reel_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(multfish_state::get_multfish_reel_tile_info),state),TILEMAP_SCAN_ROWS,16,16, 64, 64);
|
||||
state->m_reel_tilemap->set_transparent_pen(255);
|
||||
state->m_reel_tilemap->set_scroll_cols(64);
|
||||
}
|
||||
|
@ -92,6 +92,10 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(sprites_commands_w);
|
||||
DECLARE_WRITE16_MEMBER(mwarr_brightness_w);
|
||||
DECLARE_WRITE16_MEMBER(oki1_bank_w);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_mlow_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_mhigh_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_tx_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -351,50 +355,46 @@ GFXDECODE_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(mwarr_state::get_bg_tile_info)
|
||||
{
|
||||
mwarr_state *state = machine.driver_data<mwarr_state>();
|
||||
int tileno = state->m_bg_videoram[tile_index] & 0x1fff;
|
||||
int colour = (state->m_bg_videoram[tile_index] & 0xe000) >> 13;
|
||||
int tileno = m_bg_videoram[tile_index] & 0x1fff;
|
||||
int colour = (m_bg_videoram[tile_index] & 0xe000) >> 13;
|
||||
|
||||
SET_TILE_INFO(4, tileno, colour, 0);
|
||||
SET_TILE_INFO_MEMBER(4, tileno, colour, 0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_mlow_tile_info )
|
||||
TILE_GET_INFO_MEMBER(mwarr_state::get_mlow_tile_info)
|
||||
{
|
||||
mwarr_state *state = machine.driver_data<mwarr_state>();
|
||||
int tileno = state->m_mlow_videoram[tile_index] & 0x1fff;
|
||||
int colour = (state->m_mlow_videoram[tile_index] & 0xe000) >> 13;
|
||||
int tileno = m_mlow_videoram[tile_index] & 0x1fff;
|
||||
int colour = (m_mlow_videoram[tile_index] & 0xe000) >> 13;
|
||||
|
||||
SET_TILE_INFO(3, tileno, colour, 0);
|
||||
SET_TILE_INFO_MEMBER(3, tileno, colour, 0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_mhigh_tile_info )
|
||||
TILE_GET_INFO_MEMBER(mwarr_state::get_mhigh_tile_info)
|
||||
{
|
||||
mwarr_state *state = machine.driver_data<mwarr_state>();
|
||||
int tileno = state->m_mhigh_videoram[tile_index] & 0x1fff;
|
||||
int colour = (state->m_mhigh_videoram[tile_index] & 0xe000) >> 13;
|
||||
int tileno = m_mhigh_videoram[tile_index] & 0x1fff;
|
||||
int colour = (m_mhigh_videoram[tile_index] & 0xe000) >> 13;
|
||||
|
||||
SET_TILE_INFO(2, tileno, colour, 0);
|
||||
SET_TILE_INFO_MEMBER(2, tileno, colour, 0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_tx_tile_info )
|
||||
TILE_GET_INFO_MEMBER(mwarr_state::get_tx_tile_info)
|
||||
{
|
||||
mwarr_state *state = machine.driver_data<mwarr_state>();
|
||||
int tileno = state->m_tx_videoram[tile_index] & 0x1fff;
|
||||
int colour = (state->m_tx_videoram[tile_index] & 0xe000) >> 13;
|
||||
int tileno = m_tx_videoram[tile_index] & 0x1fff;
|
||||
int colour = (m_tx_videoram[tile_index] & 0xe000) >> 13;
|
||||
|
||||
SET_TILE_INFO(1, tileno, colour, 0);
|
||||
SET_TILE_INFO_MEMBER(1, tileno, colour, 0);
|
||||
}
|
||||
|
||||
static VIDEO_START( mwarr )
|
||||
{
|
||||
mwarr_state *state = machine.driver_data<mwarr_state>();
|
||||
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 64, 16);
|
||||
state->m_mlow_tilemap = tilemap_create(machine, get_mlow_tile_info, TILEMAP_SCAN_COLS, 16, 16, 64, 16);
|
||||
state->m_mhigh_tilemap = tilemap_create(machine, get_mhigh_tile_info, TILEMAP_SCAN_COLS, 16, 16, 64, 16);
|
||||
state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mwarr_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 64, 16);
|
||||
state->m_mlow_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mwarr_state::get_mlow_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 64, 16);
|
||||
state->m_mhigh_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mwarr_state::get_mhigh_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 64, 16);
|
||||
state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mwarr_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
|
||||
|
||||
state->m_mlow_tilemap->set_transparent_pen(0);
|
||||
state->m_mhigh_tilemap->set_transparent_pen(0);
|
||||
|
@ -1430,6 +1430,7 @@ public:
|
||||
DECLARE_READ8_MEMBER(s23_gun_r);
|
||||
DECLARE_READ8_MEMBER(iob_r);
|
||||
DECLARE_DRIVER_INIT(ss23);
|
||||
TILE_GET_INFO_MEMBER(TextTilemapGetInfo);
|
||||
};
|
||||
|
||||
|
||||
@ -1440,17 +1441,16 @@ static UINT16 nthword( const UINT32 *pSource, int offs )
|
||||
return (pSource[0]<<((offs&1)*16))>>16;
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( TextTilemapGetInfo )
|
||||
TILE_GET_INFO_MEMBER(namcos23_state::TextTilemapGetInfo)
|
||||
{
|
||||
namcos23_state *state = machine.driver_data<namcos23_state>();
|
||||
UINT16 data = nthword( state->m_textram,tile_index );
|
||||
UINT16 data = nthword( m_textram,tile_index );
|
||||
/**
|
||||
* x---.----.----.---- blend
|
||||
* xxxx.----.----.---- palette select
|
||||
* ----.xx--.----.---- flip
|
||||
* ----.--xx.xxxx.xxxx code
|
||||
*/
|
||||
SET_TILE_INFO( 0, data&0x03ff, data>>12, TILE_FLIPYX((data&0x0c00)>>10) );
|
||||
SET_TILE_INFO_MEMBER( 0, data&0x03ff, data>>12, TILE_FLIPYX((data&0x0c00)>>10) );
|
||||
} /* TextTilemapGetInfo */
|
||||
|
||||
WRITE32_MEMBER(namcos23_state::namcos23_textram_w)
|
||||
@ -2399,7 +2399,7 @@ static VIDEO_START( ss23 )
|
||||
{
|
||||
namcos23_state *state = machine.driver_data<namcos23_state>();
|
||||
machine.gfx[0]->set_source(reinterpret_cast<UINT8 *>(state->m_charram.target()));
|
||||
state->m_bgtilemap = tilemap_create(machine, TextTilemapGetInfo, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
|
||||
state->m_bgtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcos23_state::TextTilemapGetInfo),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
|
||||
state->m_bgtilemap->set_transparent_pen(0xf);
|
||||
|
||||
// Gorgon's tilemap offset is 0, S23/SS23's is 860
|
||||
|
@ -270,6 +270,8 @@ public:
|
||||
DECLARE_DRIVER_INIT(prot_val_10);
|
||||
DECLARE_DRIVER_INIT(prot_val_20);
|
||||
DECLARE_DRIVER_INIT(prot_val_40);
|
||||
TILE_GET_INFO_MEMBER(fg_get_tile_info);
|
||||
TILE_GET_INFO_MEMBER(bg_get_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -836,22 +838,15 @@ static INPUT_PORTS_START( wondstck )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
INLINE void get_tile_info( running_machine &machine, tile_data &tileinfo, int tile_index, UINT16 *vram, int color )
|
||||
{
|
||||
nmg5_state *state = machine.driver_data<nmg5_state>();
|
||||
SET_TILE_INFO(0, vram[tile_index] | (state->m_gfx_bank << 16), color, 0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( fg_get_tile_info ) { nmg5_state *state = machine.driver_data<nmg5_state>(); get_tile_info(machine, tileinfo, tile_index, state->m_fg_videoram, 0); }
|
||||
static TILE_GET_INFO( bg_get_tile_info ) { nmg5_state *state = machine.driver_data<nmg5_state>(); get_tile_info(machine, tileinfo, tile_index, state->m_bg_videoram, 1); }
|
||||
TILE_GET_INFO_MEMBER(nmg5_state::fg_get_tile_info){ SET_TILE_INFO_MEMBER(0, m_fg_videoram[tile_index] | (m_gfx_bank << 16), 0, 0);}
|
||||
TILE_GET_INFO_MEMBER(nmg5_state::bg_get_tile_info){ SET_TILE_INFO_MEMBER(0, m_bg_videoram[tile_index] | (m_gfx_bank << 16), 1, 0);}
|
||||
|
||||
static VIDEO_START( nmg5 )
|
||||
{
|
||||
nmg5_state *state = machine.driver_data<nmg5_state>();
|
||||
|
||||
state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
|
||||
state->m_fg_tilemap = tilemap_create(machine, fg_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmg5_state::bg_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
|
||||
state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmg5_state::fg_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
|
||||
state->m_fg_tilemap->set_transparent_pen(0);
|
||||
}
|
||||
|
||||
|
@ -79,6 +79,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(nsmpoker_colorram_w);
|
||||
DECLARE_WRITE8_MEMBER(debug_w);
|
||||
DECLARE_READ8_MEMBER(debug_r);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -101,28 +102,27 @@ WRITE8_MEMBER(nsmpoker_state::nsmpoker_colorram_w)
|
||||
}
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(nsmpoker_state::get_bg_tile_info)
|
||||
{
|
||||
nsmpoker_state *state = machine.driver_data<nsmpoker_state>();
|
||||
/* - bits -
|
||||
7654 3210
|
||||
---- ---- bank select.
|
||||
---- ---- color code.
|
||||
---- ---- seems unused.
|
||||
*/
|
||||
// int attr = state->m_colorram[tile_index];
|
||||
int code = state->m_videoram[tile_index];
|
||||
// int attr = m_colorram[tile_index];
|
||||
int code = m_videoram[tile_index];
|
||||
// int bank = (attr & 0x08) >> 3;
|
||||
// int color = (attr & 0x03);
|
||||
|
||||
SET_TILE_INFO( 0 /* bank */, code, 0 /* color */, 0);
|
||||
SET_TILE_INFO_MEMBER( 0 /* bank */, code, 0 /* color */, 0);
|
||||
}
|
||||
|
||||
|
||||
static VIDEO_START( nsmpoker )
|
||||
{
|
||||
nsmpoker_state *state = machine.driver_data<nsmpoker_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nsmpoker_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
}
|
||||
|
||||
|
||||
|
@ -81,6 +81,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(olibochu_colorram_w);
|
||||
DECLARE_WRITE8_MEMBER(olibochu_flipscreen_w);
|
||||
DECLARE_WRITE8_MEMBER(sound_command_w);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -146,21 +147,20 @@ WRITE8_MEMBER(olibochu_state::olibochu_flipscreen_w)
|
||||
/* other bits are used, but unknown */
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(olibochu_state::get_bg_tile_info)
|
||||
{
|
||||
olibochu_state *state = machine.driver_data<olibochu_state>();
|
||||
int attr = state->m_colorram[tile_index];
|
||||
int code = state->m_videoram[tile_index] + ((attr & 0x20) << 3);
|
||||
int attr = m_colorram[tile_index];
|
||||
int code = m_videoram[tile_index] + ((attr & 0x20) << 3);
|
||||
int color = (attr & 0x1f) + 0x20;
|
||||
int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
|
||||
|
||||
SET_TILE_INFO(0, code, color, flags);
|
||||
SET_TILE_INFO_MEMBER(0, code, color, flags);
|
||||
}
|
||||
|
||||
static VIDEO_START( olibochu )
|
||||
{
|
||||
olibochu_state *state = machine.driver_data<olibochu_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(olibochu_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
}
|
||||
|
||||
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
|
||||
|
@ -72,6 +72,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(onetwo_soundlatch_w);
|
||||
DECLARE_WRITE8_MEMBER(palette1_w);
|
||||
DECLARE_WRITE8_MEMBER(palette2_w);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -82,21 +83,20 @@ public:
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static TILE_GET_INFO( get_fg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(onetwo_state::get_fg_tile_info)
|
||||
{
|
||||
onetwo_state *state = machine.driver_data<onetwo_state>();
|
||||
int code = (state->m_fgram[tile_index * 2 + 1] << 8) | state->m_fgram[tile_index * 2];
|
||||
int color = (state->m_fgram[tile_index * 2 + 1] & 0x80) >> 7;
|
||||
int code = (m_fgram[tile_index * 2 + 1] << 8) | m_fgram[tile_index * 2];
|
||||
int color = (m_fgram[tile_index * 2 + 1] & 0x80) >> 7;
|
||||
|
||||
code &= 0x7fff;
|
||||
|
||||
SET_TILE_INFO(0, code, color, 0);
|
||||
SET_TILE_INFO_MEMBER(0, code, color, 0);
|
||||
}
|
||||
|
||||
static VIDEO_START( onetwo )
|
||||
{
|
||||
onetwo_state *state = machine.driver_data<onetwo_state>();
|
||||
state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
|
||||
state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(onetwo_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
|
||||
}
|
||||
|
||||
static SCREEN_UPDATE_IND16( onetwo )
|
||||
|
@ -93,6 +93,9 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(t5182shared_w);
|
||||
|
||||
DECLARE_DRIVER_INIT(panicr);
|
||||
TILE_GET_INFO_MEMBER(get_bgtile_info);
|
||||
TILE_GET_INFO_MEMBER(get_infotile_info);
|
||||
TILE_GET_INFO_MEMBER(get_txttile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -164,44 +167,43 @@ static PALETTE_INIT( panicr )
|
||||
}
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_bgtile_info )
|
||||
TILE_GET_INFO_MEMBER(panicr_state::get_bgtile_info)
|
||||
{
|
||||
int code,attr;
|
||||
|
||||
code=machine.root_device().memregion("user1")->base()[tile_index];
|
||||
attr=machine.root_device().memregion("user2")->base()[tile_index];
|
||||
code=machine().root_device().memregion("user1")->base()[tile_index];
|
||||
attr=machine().root_device().memregion("user2")->base()[tile_index];
|
||||
code+=((attr&7)<<8);
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
1,
|
||||
code,
|
||||
(attr & 0xf0) >> 4,
|
||||
0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_infotile_info )
|
||||
TILE_GET_INFO_MEMBER(panicr_state::get_infotile_info)
|
||||
{
|
||||
int code,attr;
|
||||
|
||||
code=machine.root_device().memregion("user1")->base()[tile_index];
|
||||
attr=machine.root_device().memregion("user2")->base()[tile_index];
|
||||
code=machine().root_device().memregion("user1")->base()[tile_index];
|
||||
attr=machine().root_device().memregion("user2")->base()[tile_index];
|
||||
code+=((attr&7)<<8);
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
2,
|
||||
code,
|
||||
(attr & 0xf0) >> 4,
|
||||
0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_txttile_info )
|
||||
TILE_GET_INFO_MEMBER(panicr_state::get_txttile_info)
|
||||
{
|
||||
panicr_state *state = machine.driver_data<panicr_state>();
|
||||
int code=state->m_textram[tile_index*4];
|
||||
int attr=state->m_textram[tile_index*4+2];
|
||||
int code=m_textram[tile_index*4];
|
||||
int attr=m_textram[tile_index*4+2];
|
||||
int color = attr & 0x07;
|
||||
|
||||
tileinfo.group = color;
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
code + ((attr & 8) << 5),
|
||||
color,
|
||||
@ -213,10 +215,10 @@ static VIDEO_START( panicr )
|
||||
{
|
||||
panicr_state *state = machine.driver_data<panicr_state>();
|
||||
|
||||
state->m_bgtilemap = tilemap_create( machine, get_bgtile_info,TILEMAP_SCAN_ROWS,16,16,1024,16 );
|
||||
state->m_infotilemap = tilemap_create( machine, get_infotile_info,TILEMAP_SCAN_ROWS,16,16,1024,16 ); // 3 more bitplanes, contains collision and priority data
|
||||
state->m_bgtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(panicr_state::get_bgtile_info),state),TILEMAP_SCAN_ROWS,16,16,1024,16 );
|
||||
state->m_infotilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(panicr_state::get_infotile_info),state),TILEMAP_SCAN_ROWS,16,16,1024,16 ); // 3 more bitplanes, contains collision and priority data
|
||||
|
||||
state->m_txttilemap = tilemap_create( machine, get_txttile_info,TILEMAP_SCAN_ROWS,8,8,32,32 );
|
||||
state->m_txttilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(panicr_state::get_txttile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32 );
|
||||
colortable_configure_tilemap_groups(machine.colortable, state->m_txttilemap, machine.gfx[0], 0);
|
||||
}
|
||||
|
||||
|
@ -262,6 +262,7 @@ public:
|
||||
DECLARE_DRIVER_INIT(peplus);
|
||||
DECLARE_DRIVER_INIT(peplussb);
|
||||
DECLARE_DRIVER_INIT(peplussbw);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
};
|
||||
|
||||
static const UINT8 id_022[8] = { 0x00, 0x01, 0x04, 0x09, 0x13, 0x16, 0x18, 0x00 };
|
||||
@ -935,31 +936,30 @@ READ8_MEMBER(peplus_state::peplus_input_bank_a_r)
|
||||
* Video/Character functions *
|
||||
****************************/
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(peplus_state::get_bg_tile_info)
|
||||
{
|
||||
peplus_state *state = machine.driver_data<peplus_state>();
|
||||
UINT8 *videoram = state->m_videoram;
|
||||
int pr = state->m_palette_ram[tile_index];
|
||||
int pr2 = state->m_palette_ram2[tile_index];
|
||||
UINT8 *videoram = m_videoram;
|
||||
int pr = m_palette_ram[tile_index];
|
||||
int pr2 = m_palette_ram2[tile_index];
|
||||
int vr = videoram[tile_index];
|
||||
|
||||
int code = ((pr & 0x0f)*256) | vr;
|
||||
int color = (pr>>4) & 0x0f;
|
||||
|
||||
// Access 2nd Half of CGs and CAP
|
||||
if (state->m_jumper_e16_e17 && (pr2 & 0x10) == 0x10)
|
||||
if (m_jumper_e16_e17 && (pr2 & 0x10) == 0x10)
|
||||
{
|
||||
code += 0x1000;
|
||||
color += 0x10;
|
||||
}
|
||||
|
||||
SET_TILE_INFO(0, code, color, 0);
|
||||
SET_TILE_INFO_MEMBER(0, code, color, 0);
|
||||
}
|
||||
|
||||
static VIDEO_START( peplus )
|
||||
{
|
||||
peplus_state *state = machine.driver_data<peplus_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 40, 25);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(peplus_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 40, 25);
|
||||
state->m_palette_ram = auto_alloc_array(machine, UINT8, 0x3000);
|
||||
memset(state->m_palette_ram, 0, 0x3000);
|
||||
state->m_palette_ram2 = auto_alloc_array(machine, UINT8, 0x3000);
|
||||
|
@ -97,26 +97,26 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(vidctrl_w);
|
||||
DECLARE_READ8_MEMBER(protection_r);
|
||||
DECLARE_WRITE8_MEMBER(protection_w);
|
||||
TILE_GET_INFO_MEMBER(get_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_tile_info2);
|
||||
};
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_tile_info )
|
||||
TILE_GET_INFO_MEMBER(pipeline_state::get_tile_info)
|
||||
{
|
||||
pipeline_state *state = machine.driver_data<pipeline_state>();
|
||||
int code = state->m_vram2[tile_index]+state->m_vram2[tile_index+0x800]*256;
|
||||
SET_TILE_INFO(
|
||||
int code = m_vram2[tile_index]+m_vram2[tile_index+0x800]*256;
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
code,
|
||||
0,
|
||||
0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_tile_info2 )
|
||||
TILE_GET_INFO_MEMBER(pipeline_state::get_tile_info2)
|
||||
{
|
||||
pipeline_state *state = machine.driver_data<pipeline_state>();
|
||||
int code =state->m_vram1[tile_index]+((state->m_vram1[tile_index+0x800]>>4))*256;
|
||||
int color=((state->m_vram1[tile_index+0x800])&0xf);
|
||||
SET_TILE_INFO
|
||||
int code =m_vram1[tile_index]+((m_vram1[tile_index+0x800]>>4))*256;
|
||||
int color=((m_vram1[tile_index+0x800])&0xf);
|
||||
SET_TILE_INFO_MEMBER
|
||||
(
|
||||
1,
|
||||
code,
|
||||
@ -129,8 +129,8 @@ static VIDEO_START ( pipeline )
|
||||
{
|
||||
pipeline_state *state = machine.driver_data<pipeline_state>();
|
||||
state->m_palram=auto_alloc_array(machine, UINT8, 0x1000);
|
||||
state->m_tilemap1 = tilemap_create( machine, get_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32 );
|
||||
state->m_tilemap2 = tilemap_create( machine, get_tile_info2,TILEMAP_SCAN_ROWS,8,8,64,32 );
|
||||
state->m_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pipeline_state::get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32 );
|
||||
state->m_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pipeline_state::get_tile_info2),state),TILEMAP_SCAN_ROWS,8,8,64,32 );
|
||||
state->m_tilemap2->set_transparent_pen(0);
|
||||
}
|
||||
|
||||
|
@ -38,6 +38,9 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(pkscramble_mdtilemap_w);
|
||||
DECLARE_WRITE16_MEMBER(pkscramble_bgtilemap_w);
|
||||
DECLARE_WRITE16_MEMBER(pkscramble_output_w);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_md_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -184,31 +187,28 @@ static INPUT_PORTS_START( pkscramble )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(pkscram_state::get_bg_tile_info)
|
||||
{
|
||||
pkscram_state *state = machine.driver_data<pkscram_state>();
|
||||
int tile = state->m_pkscramble_bgtilemap_ram[tile_index*2];
|
||||
int color = state->m_pkscramble_bgtilemap_ram[tile_index*2 + 1] & 0x7f;
|
||||
int tile = m_pkscramble_bgtilemap_ram[tile_index*2];
|
||||
int color = m_pkscramble_bgtilemap_ram[tile_index*2 + 1] & 0x7f;
|
||||
|
||||
SET_TILE_INFO(0,tile,color,0);
|
||||
SET_TILE_INFO_MEMBER(0,tile,color,0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_md_tile_info )
|
||||
TILE_GET_INFO_MEMBER(pkscram_state::get_md_tile_info)
|
||||
{
|
||||
pkscram_state *state = machine.driver_data<pkscram_state>();
|
||||
int tile = state->m_pkscramble_mdtilemap_ram[tile_index*2];
|
||||
int color = state->m_pkscramble_mdtilemap_ram[tile_index*2 + 1] & 0x7f;
|
||||
int tile = m_pkscramble_mdtilemap_ram[tile_index*2];
|
||||
int color = m_pkscramble_mdtilemap_ram[tile_index*2 + 1] & 0x7f;
|
||||
|
||||
SET_TILE_INFO(0,tile,color,0);
|
||||
SET_TILE_INFO_MEMBER(0,tile,color,0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_fg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(pkscram_state::get_fg_tile_info)
|
||||
{
|
||||
pkscram_state *state = machine.driver_data<pkscram_state>();
|
||||
int tile = state->m_pkscramble_fgtilemap_ram[tile_index*2];
|
||||
int color = state->m_pkscramble_fgtilemap_ram[tile_index*2 + 1] & 0x7f;
|
||||
int tile = m_pkscramble_fgtilemap_ram[tile_index*2];
|
||||
int color = m_pkscramble_fgtilemap_ram[tile_index*2 + 1] & 0x7f;
|
||||
|
||||
SET_TILE_INFO(0,tile,color,0);
|
||||
SET_TILE_INFO_MEMBER(0,tile,color,0);
|
||||
}
|
||||
|
||||
static TIMER_DEVICE_CALLBACK( scanline_callback )
|
||||
@ -233,9 +233,9 @@ static TIMER_DEVICE_CALLBACK( scanline_callback )
|
||||
static VIDEO_START( pkscramble )
|
||||
{
|
||||
pkscram_state *state = machine.driver_data<pkscram_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8,32,32);
|
||||
state->m_md_tilemap = tilemap_create(machine, get_md_tile_info, TILEMAP_SCAN_ROWS, 8, 8,32,32);
|
||||
state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8,32,32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pkscram_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8,32,32);
|
||||
state->m_md_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pkscram_state::get_md_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8,32,32);
|
||||
state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pkscram_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8,32,32);
|
||||
|
||||
state->m_md_tilemap->set_transparent_pen(15);
|
||||
state->m_fg_tilemap->set_transparent_pen(15);
|
||||
|
@ -152,6 +152,8 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(ppmast93_bgram_w);
|
||||
DECLARE_WRITE8_MEMBER(ppmast93_port4_w);
|
||||
DECLARE_WRITE8_MEMBER(ppmast_sound_w);
|
||||
TILE_GET_INFO_MEMBER(get_ppmast93_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_ppmast93_fg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -322,22 +324,20 @@ static GFXDECODE_START( ppmast93 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tiles8x8_layout, 0, 16 )
|
||||
GFXDECODE_END
|
||||
|
||||
static TILE_GET_INFO( get_ppmast93_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(ppmast93_state::get_ppmast93_bg_tile_info)
|
||||
{
|
||||
ppmast93_state *state = machine.driver_data<ppmast93_state>();
|
||||
int code = (state->m_bgram[tile_index*2+1] << 8) | state->m_bgram[tile_index*2];
|
||||
SET_TILE_INFO(
|
||||
int code = (m_bgram[tile_index*2+1] << 8) | m_bgram[tile_index*2];
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
code & 0x0fff,
|
||||
(code & 0xf000) >> 12,
|
||||
0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_ppmast93_fg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(ppmast93_state::get_ppmast93_fg_tile_info)
|
||||
{
|
||||
ppmast93_state *state = machine.driver_data<ppmast93_state>();
|
||||
int code = (state->m_fgram[tile_index*2+1] << 8) | state->m_fgram[tile_index*2];
|
||||
SET_TILE_INFO(
|
||||
int code = (m_fgram[tile_index*2+1] << 8) | m_fgram[tile_index*2];
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
(code & 0x0fff)+0x1000,
|
||||
(code & 0xf000) >> 12,
|
||||
@ -347,8 +347,8 @@ static TILE_GET_INFO( get_ppmast93_fg_tile_info )
|
||||
static VIDEO_START( ppmast93 )
|
||||
{
|
||||
ppmast93_state *state = machine.driver_data<ppmast93_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_ppmast93_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,32, 32);
|
||||
state->m_fg_tilemap = tilemap_create(machine, get_ppmast93_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,32, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ppmast93_state::get_ppmast93_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32, 32);
|
||||
state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ppmast93_state::get_ppmast93_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32, 32);
|
||||
|
||||
state->m_fg_tilemap->set_transparent_pen(0);
|
||||
}
|
||||
|
@ -113,6 +113,8 @@ public:
|
||||
DECLARE_READ8_MEMBER(pturn_protection_r);
|
||||
DECLARE_READ8_MEMBER(pturn_protection2_r);
|
||||
DECLARE_DRIVER_INIT(pturn);
|
||||
TILE_GET_INFO_MEMBER(get_pturn_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_pturn_bg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -126,39 +128,37 @@ static const UINT8 tile_lookup[0x10]=
|
||||
0xa0, 0xb0, 0xe0, 0xf0
|
||||
};
|
||||
|
||||
static TILE_GET_INFO( get_pturn_tile_info )
|
||||
TILE_GET_INFO_MEMBER(pturn_state::get_pturn_tile_info)
|
||||
{
|
||||
pturn_state *state = machine.driver_data<pturn_state>();
|
||||
UINT8 *videoram = state->m_videoram;
|
||||
UINT8 *videoram = m_videoram;
|
||||
int tileno;
|
||||
tileno = videoram[tile_index];
|
||||
|
||||
tileno=tile_lookup[tileno>>4]|(tileno&0xf)|(state->m_fgbank<<8);
|
||||
tileno=tile_lookup[tileno>>4]|(tileno&0xf)|(m_fgbank<<8);
|
||||
|
||||
SET_TILE_INFO(0,tileno,state->m_fgpalette,0);
|
||||
SET_TILE_INFO_MEMBER(0,tileno,m_fgpalette,0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_pturn_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(pturn_state::get_pturn_bg_tile_info)
|
||||
{
|
||||
pturn_state *state = machine.driver_data<pturn_state>();
|
||||
int tileno,palno;
|
||||
tileno = state->memregion("user1")->base()[tile_index];
|
||||
palno=state->m_bgpalette;
|
||||
tileno = memregion("user1")->base()[tile_index];
|
||||
palno=m_bgpalette;
|
||||
if(palno==1)
|
||||
{
|
||||
palno=25;
|
||||
}
|
||||
SET_TILE_INFO(1,tileno+state->m_bgbank*256,palno,0);
|
||||
SET_TILE_INFO_MEMBER(1,tileno+m_bgbank*256,palno,0);
|
||||
}
|
||||
|
||||
static VIDEO_START(pturn)
|
||||
{
|
||||
pturn_state *state = machine.driver_data<pturn_state>();
|
||||
state->m_fgmap = tilemap_create(machine, get_pturn_tile_info,TILEMAP_SCAN_ROWS,8, 8,32,32);
|
||||
state->m_fgmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pturn_state::get_pturn_tile_info),state),TILEMAP_SCAN_ROWS,8, 8,32,32);
|
||||
state->m_fgmap->set_transparent_pen(0);
|
||||
state->m_bgmap = tilemap_create(machine, get_pturn_bg_tile_info,TILEMAP_SCAN_ROWS,8, 8,32,32*8);
|
||||
state->m_bgmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pturn_state::get_pturn_bg_tile_info),state),TILEMAP_SCAN_ROWS,8, 8,32,32*8);
|
||||
state->m_bgmap->set_transparent_pen(0);
|
||||
}
|
||||
|
||||
|
@ -53,26 +53,26 @@ public:
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(ticket_status_r);
|
||||
DECLARE_WRITE16_MEMBER(eeprom_w);
|
||||
DECLARE_WRITE16_MEMBER(oki_bank_w);
|
||||
TILE_GET_INFO_MEMBER(get_mid_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_txt_tile_info);
|
||||
};
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_mid_tile_info )
|
||||
TILE_GET_INFO_MEMBER(pzletime_state::get_mid_tile_info)
|
||||
{
|
||||
pzletime_state *state = machine.driver_data<pzletime_state>();
|
||||
int tileno = state->m_mid_videoram[tile_index] & 0x0fff;
|
||||
int colour = state->m_mid_videoram[tile_index] & 0xf000;
|
||||
int tileno = m_mid_videoram[tile_index] & 0x0fff;
|
||||
int colour = m_mid_videoram[tile_index] & 0xf000;
|
||||
colour = colour >> 12;
|
||||
SET_TILE_INFO(2, tileno, colour, 0);
|
||||
SET_TILE_INFO_MEMBER(2, tileno, colour, 0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_txt_tile_info )
|
||||
TILE_GET_INFO_MEMBER(pzletime_state::get_txt_tile_info)
|
||||
{
|
||||
pzletime_state *state = machine.driver_data<pzletime_state>();
|
||||
int tileno = state->m_txt_videoram[tile_index] & 0x0fff;
|
||||
int colour = state->m_txt_videoram[tile_index] & 0xf000;
|
||||
int tileno = m_txt_videoram[tile_index] & 0x0fff;
|
||||
int colour = m_txt_videoram[tile_index] & 0xf000;
|
||||
colour = colour >> 12;
|
||||
|
||||
SET_TILE_INFO(0, tileno, colour, 0);
|
||||
SET_TILE_INFO_MEMBER(0, tileno, colour, 0);
|
||||
|
||||
tileinfo.category = BIT(colour, 3);
|
||||
}
|
||||
@ -81,8 +81,8 @@ static VIDEO_START( pzletime )
|
||||
{
|
||||
pzletime_state *state = machine.driver_data<pzletime_state>();
|
||||
|
||||
state->m_mid_tilemap = tilemap_create(machine, get_mid_tile_info, TILEMAP_SCAN_COLS, 16, 16, 64, 16);
|
||||
state->m_txt_tilemap = tilemap_create(machine, get_txt_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
|
||||
state->m_mid_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pzletime_state::get_mid_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 64, 16);
|
||||
state->m_txt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pzletime_state::get_txt_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
|
||||
|
||||
state->m_mid_tilemap->set_transparent_pen(0);
|
||||
state->m_txt_tilemap->set_transparent_pen(0);
|
||||
|
@ -108,6 +108,8 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(quizpun2_rombank_w);
|
||||
DECLARE_WRITE8_MEMBER(quizpun2_irq_ack);
|
||||
DECLARE_WRITE8_MEMBER(quizpun2_soundlatch_w);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -117,19 +119,17 @@ public:
|
||||
Video Hardware
|
||||
***************************************************************************/
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(quizpun2_state::get_bg_tile_info)
|
||||
{
|
||||
quizpun2_state *state = machine.driver_data<quizpun2_state>();
|
||||
UINT16 code = state->m_bg_ram[ tile_index * 2 ] + state->m_bg_ram[ tile_index * 2 + 1 ] * 256;
|
||||
SET_TILE_INFO(0, code, 0, 0);
|
||||
UINT16 code = m_bg_ram[ tile_index * 2 ] + m_bg_ram[ tile_index * 2 + 1 ] * 256;
|
||||
SET_TILE_INFO_MEMBER(0, code, 0, 0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_fg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(quizpun2_state::get_fg_tile_info)
|
||||
{
|
||||
quizpun2_state *state = machine.driver_data<quizpun2_state>();
|
||||
UINT16 code = state->m_fg_ram[ tile_index * 4 ] + state->m_fg_ram[ tile_index * 4 + 1 ] * 256;
|
||||
UINT8 color = state->m_fg_ram[ tile_index * 4 + 2 ];
|
||||
SET_TILE_INFO(1, code, color & 0x0f, 0);
|
||||
UINT16 code = m_fg_ram[ tile_index * 4 ] + m_fg_ram[ tile_index * 4 + 1 ] * 256;
|
||||
UINT8 color = m_fg_ram[ tile_index * 4 + 2 ];
|
||||
SET_TILE_INFO_MEMBER(1, code, color & 0x0f, 0);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(quizpun2_state::bg_ram_w)
|
||||
@ -147,8 +147,8 @@ WRITE8_MEMBER(quizpun2_state::fg_ram_w)
|
||||
static VIDEO_START(quizpun2)
|
||||
{
|
||||
quizpun2_state *state = machine.driver_data<quizpun2_state>();
|
||||
state->m_bg_tmap = tilemap_create( machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8,16, 0x20,0x20 );
|
||||
state->m_fg_tmap = tilemap_create( machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8,16, 0x20,0x20 );
|
||||
state->m_bg_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(quizpun2_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,8,16,0x20,0x20);
|
||||
state->m_fg_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(quizpun2_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,8,16,0x20,0x20);
|
||||
|
||||
state->m_bg_tmap->set_transparent_pen(0);
|
||||
state->m_fg_tmap->set_transparent_pen(0);
|
||||
|
@ -59,6 +59,7 @@ public:
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(quizshow_tape_headpos_r);
|
||||
DECLARE_INPUT_CHANGED_MEMBER(quizshow_category_select);
|
||||
DECLARE_DRIVER_INIT(quizshow);
|
||||
TILE_GET_INFO_MEMBER(get_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -87,21 +88,20 @@ PALETTE_INIT( quizshow )
|
||||
colortable_entry_set_value(machine.colortable, i, lut_pal[i]);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_tile_info )
|
||||
TILE_GET_INFO_MEMBER(quizshow_state::get_tile_info)
|
||||
{
|
||||
quizshow_state *state = machine.driver_data<quizshow_state>();
|
||||
UINT8 code = state->m_main_ram[tile_index];
|
||||
UINT8 code = m_main_ram[tile_index];
|
||||
|
||||
// d6: blink, d7: invert
|
||||
UINT8 color = (code & (state->m_blink_state | 0x80)) >> 6;
|
||||
UINT8 color = (code & (m_blink_state | 0x80)) >> 6;
|
||||
|
||||
SET_TILE_INFO(0, code & 0x3f, color, 0);
|
||||
SET_TILE_INFO_MEMBER(0, code & 0x3f, color, 0);
|
||||
}
|
||||
|
||||
VIDEO_START( quizshow )
|
||||
{
|
||||
quizshow_state *state = machine.driver_data<quizshow_state>();
|
||||
state->m_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 16, 32, 16);
|
||||
state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(quizshow_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 16, 32, 16);
|
||||
}
|
||||
|
||||
SCREEN_UPDATE_IND16( quizshow )
|
||||
|
@ -51,6 +51,10 @@ public:
|
||||
DECLARE_DRIVER_INIT(rdx_v33);
|
||||
DECLARE_DRIVER_INIT(nzerotea);
|
||||
DECLARE_DRIVER_INIT(zerotm2k);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_md_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_tx_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -58,44 +62,44 @@ static UINT16 *seibu_crtc_regs;
|
||||
static UINT16 *bg_vram,*md_vram,*fg_vram,*tx_vram;
|
||||
static tilemap_t *bg_tilemap,*md_tilemap,*fg_tilemap,*tx_tilemap;
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(r2dx_v33_state::get_bg_tile_info)
|
||||
{
|
||||
int tile = bg_vram[tile_index];
|
||||
int color = (tile>>12)&0xf;
|
||||
|
||||
tile &= 0xfff;
|
||||
|
||||
SET_TILE_INFO(1,tile + 0x0000,color,0);
|
||||
SET_TILE_INFO_MEMBER(1,tile + 0x0000,color,0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_md_tile_info )
|
||||
TILE_GET_INFO_MEMBER(r2dx_v33_state::get_md_tile_info)
|
||||
{
|
||||
int tile = md_vram[tile_index];
|
||||
int color = (tile>>12)&0xf;
|
||||
|
||||
tile &= 0xfff;
|
||||
|
||||
SET_TILE_INFO(2,tile + 0x2000,color,0);
|
||||
SET_TILE_INFO_MEMBER(2,tile + 0x2000,color,0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_fg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(r2dx_v33_state::get_fg_tile_info)
|
||||
{
|
||||
int tile = fg_vram[tile_index];
|
||||
int color = (tile>>12)&0xf;
|
||||
|
||||
tile &= 0xfff;
|
||||
|
||||
SET_TILE_INFO(3,tile + 0x1000,color,0);
|
||||
SET_TILE_INFO_MEMBER(3,tile + 0x1000,color,0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_tx_tile_info )
|
||||
TILE_GET_INFO_MEMBER(r2dx_v33_state::get_tx_tile_info)
|
||||
{
|
||||
int tile = tx_vram[tile_index];
|
||||
int color = (tile>>12)&0xf;
|
||||
|
||||
tile &= 0xfff;
|
||||
|
||||
SET_TILE_INFO(4,tile,color,0);
|
||||
SET_TILE_INFO_MEMBER(4,tile,color,0);
|
||||
}
|
||||
|
||||
/* copied from Legionnaire */
|
||||
@ -187,10 +191,11 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,const re
|
||||
|
||||
static VIDEO_START( rdx_v33 )
|
||||
{
|
||||
bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,16,16,32,32);
|
||||
md_tilemap = tilemap_create(machine, get_md_tile_info, TILEMAP_SCAN_ROWS,16,16,32,32);
|
||||
fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,16,16,32,32);
|
||||
tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS,8, 8, 64,32);
|
||||
r2dx_v33_state *state = machine.driver_data<r2dx_v33_state>();
|
||||
bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(r2dx_v33_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,16,16,32,32);
|
||||
md_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(r2dx_v33_state::get_md_tile_info),state), TILEMAP_SCAN_ROWS,16,16,32,32);
|
||||
fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(r2dx_v33_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,16,16,32,32);
|
||||
tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(r2dx_v33_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS,8, 8, 64,32);
|
||||
|
||||
bg_tilemap->set_transparent_pen(15);
|
||||
md_tilemap->set_transparent_pen(15);
|
||||
|
@ -132,6 +132,10 @@ public:
|
||||
DECLARE_WRITE32_MEMBER(rabbit_blitter_w);
|
||||
DECLARE_WRITE32_MEMBER(rabbit_eeprom_write);
|
||||
DECLARE_DRIVER_INIT(rabbit);
|
||||
TILE_GET_INFO_MEMBER(get_rabbit_tilemap0_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_rabbit_tilemap1_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_rabbit_tilemap2_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_rabbit_tilemap3_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -197,24 +201,24 @@ INLINE void get_rabbit_tilemap_info(running_machine &machine, tile_data &tileinf
|
||||
}
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_rabbit_tilemap0_tile_info )
|
||||
TILE_GET_INFO_MEMBER(rabbit_state::get_rabbit_tilemap0_tile_info)
|
||||
{
|
||||
get_rabbit_tilemap_info(machine,tileinfo,tile_index,0,1);
|
||||
get_rabbit_tilemap_info(machine(),tileinfo,tile_index,0,1);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_rabbit_tilemap1_tile_info )
|
||||
TILE_GET_INFO_MEMBER(rabbit_state::get_rabbit_tilemap1_tile_info)
|
||||
{
|
||||
get_rabbit_tilemap_info(machine,tileinfo,tile_index,1,1);
|
||||
get_rabbit_tilemap_info(machine(),tileinfo,tile_index,1,1);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_rabbit_tilemap2_tile_info )
|
||||
TILE_GET_INFO_MEMBER(rabbit_state::get_rabbit_tilemap2_tile_info)
|
||||
{
|
||||
get_rabbit_tilemap_info(machine,tileinfo,tile_index,2,1);
|
||||
get_rabbit_tilemap_info(machine(),tileinfo,tile_index,2,1);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_rabbit_tilemap3_tile_info )
|
||||
TILE_GET_INFO_MEMBER(rabbit_state::get_rabbit_tilemap3_tile_info)
|
||||
{
|
||||
get_rabbit_tilemap_info(machine,tileinfo,tile_index,3,0);
|
||||
get_rabbit_tilemap_info(machine(),tileinfo,tile_index,3,0);
|
||||
}
|
||||
|
||||
WRITE32_MEMBER(rabbit_state::rabbit_tilemap0_w)
|
||||
@ -392,10 +396,10 @@ static VIDEO_START(rabbit)
|
||||
state->m_tilemap_ram[2] = auto_alloc_array_clear(machine, UINT32, 0x20000/4);
|
||||
state->m_tilemap_ram[3] = auto_alloc_array_clear(machine, UINT32, 0x20000/4);
|
||||
|
||||
state->m_tilemap[0] = tilemap_create(machine, get_rabbit_tilemap0_tile_info,TILEMAP_SCAN_ROWS,16, 16, 128,32);
|
||||
state->m_tilemap[1] = tilemap_create(machine, get_rabbit_tilemap1_tile_info,TILEMAP_SCAN_ROWS,16, 16, 128,32);
|
||||
state->m_tilemap[2] = tilemap_create(machine, get_rabbit_tilemap2_tile_info,TILEMAP_SCAN_ROWS,16, 16, 128,32);
|
||||
state->m_tilemap[3] = tilemap_create(machine, get_rabbit_tilemap3_tile_info,TILEMAP_SCAN_ROWS, 8, 8, 128,32);
|
||||
state->m_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rabbit_state::get_rabbit_tilemap0_tile_info),state),TILEMAP_SCAN_ROWS,16, 16, 128,32);
|
||||
state->m_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rabbit_state::get_rabbit_tilemap1_tile_info),state),TILEMAP_SCAN_ROWS,16, 16, 128,32);
|
||||
state->m_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rabbit_state::get_rabbit_tilemap2_tile_info),state),TILEMAP_SCAN_ROWS,16, 16, 128,32);
|
||||
state->m_tilemap[3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rabbit_state::get_rabbit_tilemap3_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8, 128,32);
|
||||
|
||||
/* the tilemaps mix 4bpp and 8bbp tiles, we split these into 2 groups, and set a different transpen for each group */
|
||||
state->m_tilemap[0]->map_pen_to_layer(0, 15, TILEMAP_PIXEL_TRANSPARENT);
|
||||
|
@ -56,6 +56,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(themj_rombank_w);
|
||||
DECLARE_WRITE8_MEMBER(adpcm_w);
|
||||
DECLARE_DRIVER_INIT(rmhaihai);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -72,20 +73,19 @@ WRITE8_MEMBER(rmhaihai_state::rmhaihai_colorram_w)
|
||||
m_bg_tilemap->mark_tile_dirty(offset);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(rmhaihai_state::get_bg_tile_info)
|
||||
{
|
||||
rmhaihai_state *state = machine.driver_data<rmhaihai_state>();
|
||||
int attr = state->m_colorram[tile_index];
|
||||
int code = state->m_videoram[tile_index] + (state->m_gfxbank << 12) + ((attr & 0x07) << 8) + ((attr & 0x80) << 4);
|
||||
int color = (state->m_gfxbank << 5) + (attr >> 3);
|
||||
int attr = m_colorram[tile_index];
|
||||
int code = m_videoram[tile_index] + (m_gfxbank << 12) + ((attr & 0x07) << 8) + ((attr & 0x80) << 4);
|
||||
int color = (m_gfxbank << 5) + (attr >> 3);
|
||||
|
||||
SET_TILE_INFO(0, code, color, 0);
|
||||
SET_TILE_INFO_MEMBER(0, code, color, 0);
|
||||
}
|
||||
|
||||
static VIDEO_START( rmhaihai )
|
||||
{
|
||||
rmhaihai_state *state = machine.driver_data<rmhaihai_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rmhaihai_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
|
||||
8, 8, 64, 32);
|
||||
}
|
||||
|
||||
|
@ -73,6 +73,8 @@ public:
|
||||
DECLARE_READ8_MEMBER(ram_r);
|
||||
DECLARE_WRITE8_MEMBER(ram_bank_w);
|
||||
DECLARE_WRITE8_MEMBER(safarir_audio_w);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -146,12 +148,11 @@ static PALETTE_INIT( safarir )
|
||||
}
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(safarir_state::get_bg_tile_info)
|
||||
{
|
||||
int color;
|
||||
address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
|
||||
safarir_state *state = machine.driver_data<safarir_state>();
|
||||
UINT8 code = state->ram_r(*space,tile_index | 0x400);
|
||||
address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
|
||||
UINT8 code = ram_r(*space,tile_index | 0x400);
|
||||
|
||||
if (code & 0x80)
|
||||
color = 6; /* yellow */
|
||||
@ -165,16 +166,15 @@ static TILE_GET_INFO( get_bg_tile_info )
|
||||
color |= (tile_index & 0xc0) ? 1 : 0;
|
||||
}
|
||||
|
||||
SET_TILE_INFO(0, code & 0x7f, color, 0);
|
||||
SET_TILE_INFO_MEMBER(0, code & 0x7f, color, 0);
|
||||
}
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_fg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(safarir_state::get_fg_tile_info)
|
||||
{
|
||||
int color, flags;
|
||||
address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
|
||||
safarir_state *state = machine.driver_data<safarir_state>();
|
||||
UINT8 code = state->ram_r(*space,tile_index);
|
||||
address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
|
||||
UINT8 code = ram_r(*space,tile_index);
|
||||
|
||||
if (code & 0x80)
|
||||
color = 7; /* white */
|
||||
@ -183,7 +183,7 @@ static TILE_GET_INFO( get_fg_tile_info )
|
||||
|
||||
flags = ((tile_index & 0x1f) >= 0x03) ? 0 : TILE_FORCE_LAYER0;
|
||||
|
||||
SET_TILE_INFO(1, code & 0x7f, color, flags);
|
||||
SET_TILE_INFO_MEMBER(1, code & 0x7f, color, flags);
|
||||
}
|
||||
|
||||
|
||||
@ -191,8 +191,8 @@ static VIDEO_START( safarir )
|
||||
{
|
||||
safarir_state *state = machine.driver_data<safarir_state>();
|
||||
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(safarir_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(safarir_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
|
||||
state->m_fg_tilemap->set_transparent_pen(0);
|
||||
}
|
||||
|
@ -70,15 +70,15 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(system_w);
|
||||
DECLARE_WRITE8_MEMBER(graph_control_w);
|
||||
DECLARE_READ8_MEMBER(controls_r);
|
||||
TILE_GET_INFO_MEMBER(get_sb_tile_info);
|
||||
};
|
||||
|
||||
static TILE_GET_INFO( get_sb_tile_info )
|
||||
TILE_GET_INFO_MEMBER(sbowling_state::get_sb_tile_info)
|
||||
{
|
||||
sbowling_state *state = machine.driver_data<sbowling_state>();
|
||||
UINT8 *rom = state->memregion("user1")->base();
|
||||
int tileno = rom[tile_index + state->m_bgmap * 1024];
|
||||
UINT8 *rom = memregion("user1")->base();
|
||||
int tileno = rom[tile_index + m_bgmap * 1024];
|
||||
|
||||
SET_TILE_INFO(0, tileno, 0, 0);
|
||||
SET_TILE_INFO_MEMBER(0, tileno, 0, 0);
|
||||
}
|
||||
|
||||
static void plot_pixel_sbw(bitmap_ind16 *tmpbitmap, int x, int y, int col, int flip)
|
||||
@ -129,7 +129,7 @@ static VIDEO_START(sbowling)
|
||||
sbowling_state *state = machine.driver_data<sbowling_state>();
|
||||
|
||||
state->m_tmpbitmap = auto_bitmap_ind16_alloc(machine,32*8,32*8);
|
||||
state->m_sb_tilemap = tilemap_create(machine, get_sb_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_sb_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sbowling_state::get_sb_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(sbowling_state::pix_shift_w)
|
||||
|
@ -62,6 +62,7 @@ public:
|
||||
DECLARE_READ8_MEMBER(sync_r);
|
||||
DECLARE_READ8_MEMBER(sync2_r);
|
||||
DECLARE_WRITE8_MEMBER(sbrkout_videoram_w);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -296,19 +297,18 @@ READ8_MEMBER(sbrkout_state::sync2_r)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(sbrkout_state::get_bg_tile_info)
|
||||
{
|
||||
sbrkout_state *state = machine.driver_data<sbrkout_state>();
|
||||
UINT8 *videoram = state->m_videoram;
|
||||
UINT8 *videoram = m_videoram;
|
||||
int code = (videoram[tile_index] & 0x80) ? videoram[tile_index] : 0;
|
||||
SET_TILE_INFO(0, code, 0, 0);
|
||||
SET_TILE_INFO_MEMBER(0, code, 0, 0);
|
||||
}
|
||||
|
||||
|
||||
static VIDEO_START( sbrkout )
|
||||
{
|
||||
sbrkout_state *state = machine.driver_data<sbrkout_state>();
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sbrkout_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
}
|
||||
|
||||
|
||||
|
@ -446,6 +446,11 @@ public:
|
||||
UINT8 xor5, UINT8 b50, UINT8 b51, UINT8 b52, UINT8 b53, UINT8 b54, UINT8 b55, UINT8 b56,UINT8 b57,
|
||||
UINT8 xor6, UINT8 b60, UINT8 b61, UINT8 b62, UINT8 b63, UINT8 b64, UINT8 b65, UINT8 b66,UINT8 b67,
|
||||
UINT8 xor7, UINT8 b70, UINT8 b71, UINT8 b72, UINT8 b73, UINT8 b74, UINT8 b75, UINT8 b76,UINT8 b77 );
|
||||
TILE_GET_INFO_MEMBER(get_sfbonus_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_sfbonus_reel_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_sfbonus_reel2_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_sfbonus_reel3_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_sfbonus_reel4_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -765,78 +770,73 @@ INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_sfbonus_tile_info )
|
||||
TILE_GET_INFO_MEMBER(sfbonus_state::get_sfbonus_tile_info)
|
||||
{
|
||||
sfbonus_state *state = machine.driver_data<sfbonus_state>();
|
||||
int code = state->m_tilemap_ram[(tile_index*2)+0] | (state->m_tilemap_ram[(tile_index*2)+1]<<8);
|
||||
int flipx = (state->m_tilemap_ram[(tile_index*2)+1] & 0x80)>>7;
|
||||
int flipy = (state->m_tilemap_ram[(tile_index*2)+1] & 0x40)>>5;
|
||||
int code = m_tilemap_ram[(tile_index*2)+0] | (m_tilemap_ram[(tile_index*2)+1]<<8);
|
||||
int flipx = (m_tilemap_ram[(tile_index*2)+1] & 0x80)>>7;
|
||||
int flipy = (m_tilemap_ram[(tile_index*2)+1] & 0x40)>>5;
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
code,
|
||||
0,
|
||||
TILE_FLIPYX(flipx | flipy));
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_sfbonus_reel_tile_info )
|
||||
TILE_GET_INFO_MEMBER(sfbonus_state::get_sfbonus_reel_tile_info)
|
||||
{
|
||||
sfbonus_state *state = machine.driver_data<sfbonus_state>();
|
||||
int code = state->m_reel_ram[(tile_index*2)+0] | (state->m_reel_ram[(tile_index*2)+1]<<8);
|
||||
int flipx = (state->m_reel_ram[(tile_index*2)+1] & 0x80)>>7;
|
||||
int flipy = 0;//(state->m_reel_ram[(tile_index*2)+1] & 0x40)>>5;
|
||||
int code = m_reel_ram[(tile_index*2)+0] | (m_reel_ram[(tile_index*2)+1]<<8);
|
||||
int flipx = (m_reel_ram[(tile_index*2)+1] & 0x80)>>7;
|
||||
int flipy = 0;//(m_reel_ram[(tile_index*2)+1] & 0x40)>>5;
|
||||
|
||||
int priority = (state->m_reel_ram[(tile_index*2)+1] & 0x40)>>6;
|
||||
int priority = (m_reel_ram[(tile_index*2)+1] & 0x40)>>6;
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
1,
|
||||
code,
|
||||
priority, // colour aboused as priority
|
||||
TILE_FLIPYX(flipx | flipy));
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_sfbonus_reel2_tile_info )
|
||||
TILE_GET_INFO_MEMBER(sfbonus_state::get_sfbonus_reel2_tile_info)
|
||||
{
|
||||
sfbonus_state *state = machine.driver_data<sfbonus_state>();
|
||||
int code = state->m_reel2_ram[(tile_index*2)+0] | (state->m_reel2_ram[(tile_index*2)+1]<<8);
|
||||
int flipx = (state->m_reel2_ram[(tile_index*2)+1] & 0x80)>>7;
|
||||
int flipy = 0;//(state->m_reel2_ram[(tile_index*2)+1] & 0x40)>>5;
|
||||
int code = m_reel2_ram[(tile_index*2)+0] | (m_reel2_ram[(tile_index*2)+1]<<8);
|
||||
int flipx = (m_reel2_ram[(tile_index*2)+1] & 0x80)>>7;
|
||||
int flipy = 0;//(m_reel2_ram[(tile_index*2)+1] & 0x40)>>5;
|
||||
|
||||
int priority = (state->m_reel2_ram[(tile_index*2)+1] & 0x40)>>6;
|
||||
int priority = (m_reel2_ram[(tile_index*2)+1] & 0x40)>>6;
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
1,
|
||||
code,
|
||||
priority, // colour abused as priority
|
||||
TILE_FLIPYX(flipx | flipy));
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_sfbonus_reel3_tile_info )
|
||||
TILE_GET_INFO_MEMBER(sfbonus_state::get_sfbonus_reel3_tile_info)
|
||||
{
|
||||
sfbonus_state *state = machine.driver_data<sfbonus_state>();
|
||||
int code = state->m_reel3_ram[(tile_index*2)+0] | (state->m_reel3_ram[(tile_index*2)+1]<<8);
|
||||
int flipx = (state->m_reel3_ram[(tile_index*2)+1] & 0x80)>>7;
|
||||
int flipy = 0;//(state->m_reel3_ram[(tile_index*2)+1] & 0x40)>>5;
|
||||
int code = m_reel3_ram[(tile_index*2)+0] | (m_reel3_ram[(tile_index*2)+1]<<8);
|
||||
int flipx = (m_reel3_ram[(tile_index*2)+1] & 0x80)>>7;
|
||||
int flipy = 0;//(m_reel3_ram[(tile_index*2)+1] & 0x40)>>5;
|
||||
|
||||
int priority = (state->m_reel3_ram[(tile_index*2)+1] & 0x40)>>6;
|
||||
int priority = (m_reel3_ram[(tile_index*2)+1] & 0x40)>>6;
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
1,
|
||||
code,
|
||||
priority, // colour abused as priority
|
||||
TILE_FLIPYX(flipx | flipy));
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_sfbonus_reel4_tile_info )
|
||||
TILE_GET_INFO_MEMBER(sfbonus_state::get_sfbonus_reel4_tile_info)
|
||||
{
|
||||
sfbonus_state *state = machine.driver_data<sfbonus_state>();
|
||||
int code = state->m_reel4_ram[(tile_index*2)+0] | (state->m_reel4_ram[(tile_index*2)+1]<<8);
|
||||
int flipx = (state->m_reel4_ram[(tile_index*2)+1] & 0x80)>>7;
|
||||
int flipy = 0;//(state->m_reel4_ram[(tile_index*2)+1] & 0x40)>>5;
|
||||
int code = m_reel4_ram[(tile_index*2)+0] | (m_reel4_ram[(tile_index*2)+1]<<8);
|
||||
int flipx = (m_reel4_ram[(tile_index*2)+1] & 0x80)>>7;
|
||||
int flipy = 0;//(m_reel4_ram[(tile_index*2)+1] & 0x40)>>5;
|
||||
|
||||
int priority = (state->m_reel4_ram[(tile_index*2)+1] & 0x40)>>6;
|
||||
int priority = (m_reel4_ram[(tile_index*2)+1] & 0x40)>>6;
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
1,
|
||||
code,
|
||||
priority, // colour abused as priority
|
||||
@ -900,11 +900,11 @@ static VIDEO_START(sfbonus)
|
||||
sfbonus_state *state = machine.driver_data<sfbonus_state>();
|
||||
state->m_temp_reel_bitmap = auto_bitmap_ind16_alloc(machine,1024,512);
|
||||
|
||||
state->m_tilemap = tilemap_create(machine,get_sfbonus_tile_info,TILEMAP_SCAN_ROWS,8,8, 128, 64);
|
||||
state->m_reel_tilemap = tilemap_create(machine,get_sfbonus_reel_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 16);
|
||||
state->m_reel2_tilemap = tilemap_create(machine,get_sfbonus_reel2_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 16);
|
||||
state->m_reel3_tilemap = tilemap_create(machine,get_sfbonus_reel3_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 16);
|
||||
state->m_reel4_tilemap = tilemap_create(machine,get_sfbonus_reel4_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 16);
|
||||
state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sfbonus_state::get_sfbonus_tile_info),state),TILEMAP_SCAN_ROWS,8,8, 128, 64);
|
||||
state->m_reel_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sfbonus_state::get_sfbonus_reel_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 16);
|
||||
state->m_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sfbonus_state::get_sfbonus_reel2_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 16);
|
||||
state->m_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sfbonus_state::get_sfbonus_reel3_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 16);
|
||||
state->m_reel4_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sfbonus_state::get_sfbonus_reel4_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 16);
|
||||
|
||||
state->m_tilemap->set_transparent_pen(0);
|
||||
state->m_reel_tilemap->set_transparent_pen(255);
|
||||
|
@ -105,32 +105,33 @@ public:
|
||||
|
||||
|
||||
DECLARE_DRIVER_INIT(silvmil);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
TILEMAP_MAPPER_MEMBER(deco16_scan_rows);
|
||||
};
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(silvmil_state::get_bg_tile_info)
|
||||
{
|
||||
silvmil_state *state = machine.driver_data<silvmil_state>();
|
||||
int data = state->m_bg_videoram[tile_index];
|
||||
int data = m_bg_videoram[tile_index];
|
||||
int tile = data & 0x3ff;
|
||||
int color = (data >> 12) & 0x0f;
|
||||
int bank = state->m_silvmil_tilebank[(data&0xc00)>>10]*0x400;
|
||||
int bank = m_silvmil_tilebank[(data&0xc00)>>10]*0x400;
|
||||
|
||||
SET_TILE_INFO(1, tile + bank, color + 0x20, 0);
|
||||
SET_TILE_INFO_MEMBER(1, tile + bank, color + 0x20, 0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_fg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(silvmil_state::get_fg_tile_info)
|
||||
{
|
||||
silvmil_state *state = machine.driver_data<silvmil_state>();
|
||||
int data = state->m_fg_videoram[tile_index];
|
||||
int data = m_fg_videoram[tile_index];
|
||||
int tile = data & 0x3ff;
|
||||
int color = (data >> 12) & 0x0f;
|
||||
int bank = state->m_silvmil_tilebank[(data&0xc00)>>10]*0x400;
|
||||
int bank = m_silvmil_tilebank[(data&0xc00)>>10]*0x400;
|
||||
|
||||
SET_TILE_INFO(1, tile + bank, color + 0x10, 0);
|
||||
SET_TILE_INFO_MEMBER(1, tile + bank, color + 0x10, 0);
|
||||
}
|
||||
|
||||
static TILEMAP_MAPPER( deco16_scan_rows )
|
||||
TILEMAP_MAPPER_MEMBER(silvmil_state::deco16_scan_rows)
|
||||
{
|
||||
/* logical (col,row) -> memory offset */
|
||||
return (col & 0x1f) + ((row & 0x1f) << 5) + ((col & 0x20) << 5) + ((row & 0x20) << 6);
|
||||
@ -139,8 +140,8 @@ static TILEMAP_MAPPER( deco16_scan_rows )
|
||||
VIDEO_START( silvmil )
|
||||
{
|
||||
silvmil_state *state = machine.driver_data<silvmil_state>();
|
||||
state->m_bg_layer = tilemap_create(machine, get_bg_tile_info, deco16_scan_rows, 16, 16, 64, 32);
|
||||
state->m_fg_layer = tilemap_create(machine, get_fg_tile_info, deco16_scan_rows, 16, 16, 64, 32);
|
||||
state->m_bg_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(silvmil_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(silvmil_state::deco16_scan_rows),state), 16, 16, 64, 32);
|
||||
state->m_fg_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(silvmil_state::get_fg_tile_info),state), tilemap_mapper_delegate(FUNC(silvmil_state::deco16_scan_rows),state), 16, 16, 64, 32);
|
||||
|
||||
state->m_fg_layer->set_transparent_pen(0);
|
||||
}
|
||||
|
@ -50,6 +50,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(skyarmy_videoram_w);
|
||||
DECLARE_WRITE8_MEMBER(skyarmy_colorram_w);
|
||||
DECLARE_WRITE8_MEMBER(nmi_enable_w);
|
||||
TILE_GET_INFO_MEMBER(get_skyarmy_tile_info);
|
||||
};
|
||||
|
||||
WRITE8_MEMBER(skyarmy_state::skyarmy_flip_screen_x_w)
|
||||
@ -62,13 +63,12 @@ WRITE8_MEMBER(skyarmy_state::skyarmy_flip_screen_y_w)
|
||||
flip_screen_y_set(data & 0x01);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_skyarmy_tile_info )
|
||||
TILE_GET_INFO_MEMBER(skyarmy_state::get_skyarmy_tile_info)
|
||||
{
|
||||
skyarmy_state *state = machine.driver_data<skyarmy_state>();
|
||||
int code = state->m_videoram[tile_index];
|
||||
int attr = BITSWAP8(state->m_colorram[tile_index], 7, 6, 5, 4, 3, 0, 1, 2) & 7;
|
||||
int code = m_videoram[tile_index];
|
||||
int attr = BITSWAP8(m_colorram[tile_index], 7, 6, 5, 4, 3, 0, 1, 2) & 7;
|
||||
|
||||
SET_TILE_INFO( 0, code, attr, 0);
|
||||
SET_TILE_INFO_MEMBER( 0, code, attr, 0);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(skyarmy_state::skyarmy_videoram_w)
|
||||
@ -118,7 +118,7 @@ static VIDEO_START( skyarmy )
|
||||
{
|
||||
skyarmy_state *state = machine.driver_data<skyarmy_state>();
|
||||
|
||||
state->m_tilemap = tilemap_create(machine, get_skyarmy_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skyarmy_state::get_skyarmy_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_tilemap->set_scroll_cols(32);
|
||||
}
|
||||
|
||||
|
@ -102,6 +102,11 @@ public:
|
||||
DECLARE_READ8_MEMBER(ret_00);
|
||||
DECLARE_WRITE8_MEMBER(skylncr_nmi_enable_w);
|
||||
DECLARE_DRIVER_INIT(skylncr);
|
||||
TILE_GET_INFO_MEMBER(get_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_reel_1_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_reel_2_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_reel_3_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_reel_4_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -122,39 +127,34 @@ WRITE8_MEMBER(skylncr_state::skylncr_colorram_w)
|
||||
}
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_tile_info )
|
||||
TILE_GET_INFO_MEMBER(skylncr_state::get_tile_info)
|
||||
{
|
||||
skylncr_state *state = machine.driver_data<skylncr_state>();
|
||||
UINT16 code = state->m_videoram[ tile_index ] + (state->m_colorram[ tile_index ] << 8);
|
||||
SET_TILE_INFO(0, code, 0, TILE_FLIPYX( 0 ));
|
||||
UINT16 code = m_videoram[ tile_index ] + (m_colorram[ tile_index ] << 8);
|
||||
SET_TILE_INFO_MEMBER(0, code, 0, TILE_FLIPYX( 0 ));
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_reel_1_tile_info )
|
||||
TILE_GET_INFO_MEMBER(skylncr_state::get_reel_1_tile_info)
|
||||
{
|
||||
skylncr_state *state = machine.driver_data<skylncr_state>();
|
||||
UINT16 code = state->m_reeltiles_1_ram[ tile_index ] + (state->m_reeltileshigh_1_ram[ tile_index ] << 8);
|
||||
SET_TILE_INFO(1, code, 0, TILE_FLIPYX( 0 ));
|
||||
UINT16 code = m_reeltiles_1_ram[ tile_index ] + (m_reeltileshigh_1_ram[ tile_index ] << 8);
|
||||
SET_TILE_INFO_MEMBER(1, code, 0, TILE_FLIPYX( 0 ));
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_reel_2_tile_info )
|
||||
TILE_GET_INFO_MEMBER(skylncr_state::get_reel_2_tile_info)
|
||||
{
|
||||
skylncr_state *state = machine.driver_data<skylncr_state>();
|
||||
UINT16 code = state->m_reeltiles_2_ram[ tile_index ] + (state->m_reeltileshigh_2_ram[ tile_index ] << 8);
|
||||
SET_TILE_INFO(1, code, 0, TILE_FLIPYX( 0 ));
|
||||
UINT16 code = m_reeltiles_2_ram[ tile_index ] + (m_reeltileshigh_2_ram[ tile_index ] << 8);
|
||||
SET_TILE_INFO_MEMBER(1, code, 0, TILE_FLIPYX( 0 ));
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_reel_3_tile_info )
|
||||
TILE_GET_INFO_MEMBER(skylncr_state::get_reel_3_tile_info)
|
||||
{
|
||||
skylncr_state *state = machine.driver_data<skylncr_state>();
|
||||
UINT16 code = state->m_reeltiles_3_ram[ tile_index ] + (state->m_reeltileshigh_3_ram[ tile_index ] << 8);
|
||||
SET_TILE_INFO(1, code, 0, TILE_FLIPYX( 0 ));
|
||||
UINT16 code = m_reeltiles_3_ram[ tile_index ] + (m_reeltileshigh_3_ram[ tile_index ] << 8);
|
||||
SET_TILE_INFO_MEMBER(1, code, 0, TILE_FLIPYX( 0 ));
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_reel_4_tile_info )
|
||||
TILE_GET_INFO_MEMBER(skylncr_state::get_reel_4_tile_info)
|
||||
{
|
||||
skylncr_state *state = machine.driver_data<skylncr_state>();
|
||||
UINT16 code = state->m_reeltiles_4_ram[ tile_index ] + (state->m_reeltileshigh_4_ram[ tile_index ] << 8);
|
||||
SET_TILE_INFO(1, code, 0, TILE_FLIPYX( 0 ));
|
||||
UINT16 code = m_reeltiles_4_ram[ tile_index ] + (m_reeltileshigh_4_ram[ tile_index ] << 8);
|
||||
SET_TILE_INFO_MEMBER(1, code, 0, TILE_FLIPYX( 0 ));
|
||||
}
|
||||
|
||||
|
||||
@ -162,12 +162,12 @@ static VIDEO_START( skylncr )
|
||||
{
|
||||
skylncr_state *state = machine.driver_data<skylncr_state>();
|
||||
|
||||
state->m_tmap = tilemap_create( machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 0x40, 0x20 );
|
||||
state->m_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skylncr_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 0x40, 0x20 );
|
||||
|
||||
state->m_reel_1_tilemap = tilemap_create(machine, get_reel_1_tile_info, TILEMAP_SCAN_ROWS, 8, 32, 64, 8 );
|
||||
state->m_reel_2_tilemap = tilemap_create(machine, get_reel_2_tile_info, TILEMAP_SCAN_ROWS, 8, 32, 64, 8 );
|
||||
state->m_reel_3_tilemap = tilemap_create(machine, get_reel_3_tile_info, TILEMAP_SCAN_ROWS, 8, 32, 64, 8 );
|
||||
state->m_reel_4_tilemap = tilemap_create(machine, get_reel_4_tile_info, TILEMAP_SCAN_ROWS, 8, 32, 64, 8 );
|
||||
state->m_reel_1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skylncr_state::get_reel_1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 32, 64, 8 );
|
||||
state->m_reel_2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skylncr_state::get_reel_2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 32, 64, 8 );
|
||||
state->m_reel_3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skylncr_state::get_reel_3_tile_info),state), TILEMAP_SCAN_ROWS, 8, 32, 64, 8 );
|
||||
state->m_reel_4_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skylncr_state::get_reel_4_tile_info),state), TILEMAP_SCAN_ROWS, 8, 32, 64, 8 );
|
||||
|
||||
state->m_reel_2_tilemap->set_scroll_cols(0x40);
|
||||
state->m_reel_3_tilemap->set_scroll_cols(0x40);
|
||||
|
@ -54,6 +54,8 @@ public:
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(hopper_r);
|
||||
DECLARE_DRIVER_INIT(spk116it);
|
||||
DECLARE_DRIVER_INIT(3super8);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
};
|
||||
|
||||
WRITE8_MEMBER(spoker_state::bg_tile_w)
|
||||
@ -63,18 +65,16 @@ WRITE8_MEMBER(spoker_state::bg_tile_w)
|
||||
m_bg_tilemap->mark_tile_dirty(offset);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(spoker_state::get_bg_tile_info)
|
||||
{
|
||||
spoker_state *state = machine.driver_data<spoker_state>();
|
||||
int code = state->m_bg_tile_ram[tile_index];
|
||||
SET_TILE_INFO(1 + (tile_index & 3), code & 0xff, 0, 0);
|
||||
int code = m_bg_tile_ram[tile_index];
|
||||
SET_TILE_INFO_MEMBER(1 + (tile_index & 3), code & 0xff, 0, 0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_fg_tile_info )
|
||||
TILE_GET_INFO_MEMBER(spoker_state::get_fg_tile_info)
|
||||
{
|
||||
spoker_state *state = machine.driver_data<spoker_state>();
|
||||
int code = state->m_fg_tile_ram[tile_index] | (state->m_fg_color_ram[tile_index] << 8);
|
||||
SET_TILE_INFO(0, code, (4*(code >> 14)+3), 0);
|
||||
int code = m_fg_tile_ram[tile_index] | (m_fg_color_ram[tile_index] << 8);
|
||||
SET_TILE_INFO_MEMBER(0, code, (4*(code >> 14)+3), 0);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(spoker_state::fg_tile_w)
|
||||
@ -95,8 +95,8 @@ static VIDEO_START(spoker)
|
||||
{
|
||||
spoker_state *state = machine.driver_data<spoker_state>();
|
||||
|
||||
state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 32, 128, 8);
|
||||
state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 128, 32);
|
||||
state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(spoker_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 32, 128, 8);
|
||||
state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(spoker_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 128, 32);
|
||||
state->m_fg_tilemap->set_transparent_pen(0);
|
||||
}
|
||||
|
||||
|
@ -115,15 +115,15 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(eeprom_clockline_w);
|
||||
DECLARE_WRITE8_MEMBER(eeprom_dataline_w);
|
||||
DECLARE_DRIVER_INIT(spool99);
|
||||
TILE_GET_INFO_MEMBER(get_spool99_tile_info);
|
||||
};
|
||||
|
||||
static TILE_GET_INFO( get_spool99_tile_info )
|
||||
TILE_GET_INFO_MEMBER(spool99_state::get_spool99_tile_info)
|
||||
{
|
||||
spool99_state *state = machine.driver_data<spool99_state>();
|
||||
int code = ((state->m_vram[tile_index*2+1]<<8) | (state->m_vram[tile_index*2+0]));
|
||||
int color = state->m_cram[tile_index*2+0];
|
||||
int code = ((m_vram[tile_index*2+1]<<8) | (m_vram[tile_index*2+0]));
|
||||
int color = m_cram[tile_index*2+0];
|
||||
|
||||
SET_TILE_INFO(
|
||||
SET_TILE_INFO_MEMBER(
|
||||
0,
|
||||
code & 0x3fff,
|
||||
color & 0x1f,
|
||||
@ -134,7 +134,7 @@ static VIDEO_START(spool99)
|
||||
{
|
||||
spool99_state *state = machine.driver_data<spool99_state>();
|
||||
|
||||
state->m_sc0_tilemap = tilemap_create(machine, get_spool99_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
|
||||
state->m_sc0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(spool99_state::get_spool99_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
|
||||
}
|
||||
|
||||
static SCREEN_UPDATE_IND16(spool99)
|
||||
|
@ -171,6 +171,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(supershot_vidram_w);
|
||||
DECLARE_WRITE8_MEMBER(supershot_output0_w);
|
||||
DECLARE_WRITE8_MEMBER(supershot_output1_w);
|
||||
TILE_GET_INFO_MEMBER(get_supershot_text_tile_info);
|
||||
};
|
||||
|
||||
/*************************************
|
||||
@ -179,18 +180,17 @@ public:
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static TILE_GET_INFO( get_supershot_text_tile_info )
|
||||
TILE_GET_INFO_MEMBER(supershot_state::get_supershot_text_tile_info)
|
||||
{
|
||||
supershot_state *state = machine.driver_data<supershot_state>();
|
||||
|
||||
UINT8 code = state->m_videoram[tile_index];
|
||||
SET_TILE_INFO(0, code, 0, 0);
|
||||
UINT8 code = m_videoram[tile_index];
|
||||
SET_TILE_INFO_MEMBER(0, code, 0, 0);
|
||||
}
|
||||
|
||||
static VIDEO_START( supershot )
|
||||
{
|
||||
supershot_state *state = machine.driver_data<supershot_state>();
|
||||
state->m_tilemap = tilemap_create(machine, get_supershot_text_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supershot_state::get_supershot_text_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
}
|
||||
|
||||
static SCREEN_UPDATE_IND16( supershot )
|
||||
|
@ -104,6 +104,8 @@ public:
|
||||
DECLARE_DRIVER_INIT(addr_lmhe);
|
||||
DECLARE_DRIVER_INIT(addr_xhl);
|
||||
DECLARE_DRIVER_INIT(laserdisc);
|
||||
TILE_GET_INFO_MEMBER(horizontal_tile_info);
|
||||
TILE_GET_INFO_MEMBER(vertical_tile_info);
|
||||
};
|
||||
|
||||
|
||||
@ -116,24 +118,22 @@ public:
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static TILE_GET_INFO( horizontal_tile_info )
|
||||
TILE_GET_INFO_MEMBER(statriv2_state::horizontal_tile_info)
|
||||
{
|
||||
statriv2_state *state = machine.driver_data<statriv2_state>();
|
||||
UINT8 *videoram = state->m_videoram;
|
||||
UINT8 *videoram = m_videoram;
|
||||
int code = videoram[0x400+tile_index];
|
||||
int attr = videoram[tile_index] & 0x3f;
|
||||
|
||||
SET_TILE_INFO(0, code, attr, 0);
|
||||
SET_TILE_INFO_MEMBER(0, code, attr, 0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( vertical_tile_info )
|
||||
TILE_GET_INFO_MEMBER(statriv2_state::vertical_tile_info)
|
||||
{
|
||||
statriv2_state *state = machine.driver_data<statriv2_state>();
|
||||
UINT8 *videoram = state->m_videoram;
|
||||
UINT8 *videoram = m_videoram;
|
||||
int code = videoram[0x400+tile_index];
|
||||
int attr = videoram[tile_index] & 0x3f;
|
||||
|
||||
SET_TILE_INFO(0, ((code & 0x7f) << 1) | ((code & 0x80) >> 7), attr, 0);
|
||||
SET_TILE_INFO_MEMBER(0, ((code & 0x7f) << 1) | ((code & 0x80) >> 7), attr, 0);
|
||||
}
|
||||
|
||||
|
||||
@ -158,13 +158,13 @@ static PALETTE_INIT( statriv2 )
|
||||
static VIDEO_START( horizontal )
|
||||
{
|
||||
statriv2_state *state = machine.driver_data<statriv2_state>();
|
||||
state->m_tilemap = tilemap_create(machine, horizontal_tile_info ,TILEMAP_SCAN_ROWS, 8,15, 64,16);
|
||||
state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(statriv2_state::horizontal_tile_info),state) ,TILEMAP_SCAN_ROWS, 8,15, 64,16);
|
||||
}
|
||||
|
||||
static VIDEO_START( vertical )
|
||||
{
|
||||
statriv2_state *state = machine.driver_data<statriv2_state>();
|
||||
state->m_tilemap = tilemap_create(machine, vertical_tile_info, TILEMAP_SCAN_ROWS, 8,8, 32,32);
|
||||
state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(statriv2_state::vertical_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,32);
|
||||
}
|
||||
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user