12
12
/******************************************************************************/
14
WRITE16_HANDLER( dec0_update_sprites_w )
14
WRITE16_MEMBER(dec0_state::dec0_update_sprites_w)
16
dec0_state *state = space->machine().driver_data<dec0_state>();
17
memcpy(state->m_buffered_spriteram,state->m_spriteram,0x800);
16
memcpy(m_buffered_spriteram,m_spriteram,0x800);
20
19
/******************************************************************************/
22
21
static void update_24bitcol(running_machine &machine, int offset)
23
dec0_state *state = machine.driver_data<dec0_state>();
26
r = (machine.generic.paletteram.u16[offset] >> 0) & 0xff;
27
g = (machine.generic.paletteram.u16[offset] >> 8) & 0xff;
28
b = (machine.generic.paletteram2.u16[offset] >> 0) & 0xff;
26
r = (state->m_generic_paletteram_16[offset] >> 0) & 0xff;
27
g = (state->m_generic_paletteram_16[offset] >> 8) & 0xff;
28
b = (state->m_generic_paletteram2_16[offset] >> 0) & 0xff;
30
30
palette_set_color(machine,offset,MAKE_RGB(r,g,b));
33
WRITE16_HANDLER( dec0_paletteram_rg_w )
33
WRITE16_MEMBER(dec0_state::dec0_paletteram_rg_w)
35
COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
36
update_24bitcol(space->machine(), offset);
35
COMBINE_DATA(&m_generic_paletteram_16[offset]);
36
update_24bitcol(machine(), offset);
39
WRITE16_HANDLER( dec0_paletteram_b_w )
39
WRITE16_MEMBER(dec0_state::dec0_paletteram_b_w)
41
COMBINE_DATA(&space->machine().generic.paletteram2.u16[offset]);
42
update_24bitcol(space->machine(), offset);
41
COMBINE_DATA(&m_generic_paletteram2_16[offset]);
42
update_24bitcol(machine(), offset);
45
45
/******************************************************************************/
50
50
dec0_state *state = screen.machine().driver_data<dec0_state>();
52
flip_screen_set(screen.machine(), screen.machine().device<deco_bac06_device>("tilegen1")->get_flip_state());
52
state->flip_screen_set(screen.machine().device<deco_bac06_device>("tilegen1")->get_flip_state());
54
54
screen.machine().device<deco_bac06_device>("tilegen3")->deco_bac06_pf_draw(screen.machine(),bitmap,cliprect,TILEMAP_DRAW_OPAQUE, 0x00, 0x00, 0x00, 0x00);
55
55
screen.machine().device<deco_mxc06_device>("spritegen")->draw_sprites(screen.machine(), bitmap, cliprect, state->m_buffered_spriteram, 0x08, 0x08, 0x0f);
67
67
SCREEN_UPDATE_IND16( baddudes )
69
69
dec0_state *state = screen.machine().driver_data<dec0_state>();
70
flip_screen_set(screen.machine(), screen.machine().device<deco_bac06_device>("tilegen1")->get_flip_state());
70
state->flip_screen_set(screen.machine().device<deco_bac06_device>("tilegen1")->get_flip_state());
72
72
/* WARNING: inverted wrt Midnight Resistance */
73
73
if ((state->m_pri & 0x01) == 0)
154
154
dec0_state *state = screen.machine().driver_data<dec0_state>();
156
flip_screen_set(screen.machine(), screen.machine().device<deco_bac06_device>("tilegen1")->get_flip_state());
156
state->flip_screen_set(screen.machine().device<deco_bac06_device>("tilegen1")->get_flip_state());
158
158
/* This game doesn't have the extra playfield chip on the game board, but
159
159
the palette does show through. */
169
169
SCREEN_UPDATE_IND16( hippodrm )
171
171
dec0_state *state = screen.machine().driver_data<dec0_state>();
172
flip_screen_set(screen.machine(), screen.machine().device<deco_bac06_device>("tilegen1")->get_flip_state());
172
state->flip_screen_set(screen.machine().device<deco_bac06_device>("tilegen1")->get_flip_state());
174
174
if (state->m_pri & 0x01)
192
192
SCREEN_UPDATE_IND16( slyspy )
194
194
dec0_state *state = screen.machine().driver_data<dec0_state>();
195
flip_screen_set(screen.machine(), screen.machine().device<deco_bac06_device>("tilegen1")->get_flip_state());
195
state->flip_screen_set(screen.machine().device<deco_bac06_device>("tilegen1")->get_flip_state());
197
197
screen.machine().device<deco_bac06_device>("tilegen3")->deco_bac06_pf_draw(screen.machine(),bitmap,cliprect,TILEMAP_DRAW_OPAQUE, 0x00, 0x00, 0x00, 0x00);
198
198
screen.machine().device<deco_bac06_device>("tilegen2")->deco_bac06_pf_draw(screen.machine(),bitmap,cliprect,0, 0x00, 0x00, 0x00, 0x00);
252
WRITE16_HANDLER( dec0_priority_w )
252
WRITE16_MEMBER(dec0_state::dec0_priority_w)
254
dec0_state *state = space->machine().driver_data<dec0_state>();
255
COMBINE_DATA(&state->m_pri);
254
COMBINE_DATA(&m_pri);
258
257
VIDEO_START( dec0_nodma )