228
228
start_countdown_timer(machine);
231
WRITE8_HANDLER( dday_bgvideoram_w )
233
dday_state *state = space->machine().driver_data<dday_state>();
235
state->m_bgvideoram[offset] = data;
236
state->m_bg_tilemap->mark_tile_dirty(offset);
239
WRITE8_HANDLER( dday_fgvideoram_w )
241
dday_state *state = space->machine().driver_data<dday_state>();
243
state->m_fgvideoram[offset] = data;
244
state->m_fg_tilemap->mark_tile_dirty(offset);
245
state->m_fg_tilemap->mark_tile_dirty(offset ^ 0x1f); /* for flipx case */
248
WRITE8_HANDLER( dday_textvideoram_w )
250
dday_state *state = space->machine().driver_data<dday_state>();
252
state->m_textvideoram[offset] = data;
253
state->m_text_tilemap->mark_tile_dirty(offset);
256
WRITE8_HANDLER( dday_colorram_w )
258
dday_state *state = space->machine().driver_data<dday_state>();
231
WRITE8_MEMBER(dday_state::dday_bgvideoram_w)
234
m_bgvideoram[offset] = data;
235
m_bg_tilemap->mark_tile_dirty(offset);
238
WRITE8_MEMBER(dday_state::dday_fgvideoram_w)
241
m_fgvideoram[offset] = data;
242
m_fg_tilemap->mark_tile_dirty(offset);
243
m_fg_tilemap->mark_tile_dirty(offset ^ 0x1f); /* for flipx case */
246
WRITE8_MEMBER(dday_state::dday_textvideoram_w)
249
m_textvideoram[offset] = data;
250
m_text_tilemap->mark_tile_dirty(offset);
253
WRITE8_MEMBER(dday_state::dday_colorram_w)
261
257
offset &= 0x03e0;
263
state->m_colorram[offset & 0x3e0] = data;
259
m_colorram[offset & 0x3e0] = data;
265
261
for (i = 0; i < 0x20; i++)
266
state->m_fg_tilemap->mark_tile_dirty(offset + i);
269
READ8_HANDLER( dday_colorram_r )
271
dday_state *state = space->machine().driver_data<dday_state>();
272
return state->m_colorram[offset & 0x03e0];
276
WRITE8_HANDLER( dday_sl_control_w )
278
dday_state *state = space->machine().driver_data<dday_state>();
280
if (state->m_sl_image != data)
262
m_fg_tilemap->mark_tile_dirty(offset + i);
265
READ8_MEMBER(dday_state::dday_colorram_r)
267
return m_colorram[offset & 0x03e0];
271
WRITE8_MEMBER(dday_state::dday_sl_control_w)
274
if (m_sl_image != data)
282
state->m_sl_image = data;
283
state->m_sl_tilemap->mark_all_dirty();
277
m_sl_tilemap->mark_all_dirty();
288
WRITE8_HANDLER( dday_control_w )
282
WRITE8_MEMBER(dday_state::dday_control_w)
290
dday_state *state = space->machine().driver_data<dday_state>();
292
285
//if (data & 0xac) logerror("Control = %02X\n", data & 0xac);
294
287
/* bit 0 is coin counter 1 */
295
coin_counter_w(space->machine(), 0, data & 0x01);
288
coin_counter_w(machine(), 0, data & 0x01);
297
290
/* bit 1 is coin counter 2 */
298
coin_counter_w(space->machine(), 1, data & 0x02);
291
coin_counter_w(machine(), 1, data & 0x02);
300
293
/* bit 4 is sound enable */
301
if (!(data & 0x10) && (state->m_control & 0x10))
302
state->m_ay1->reset();
294
if (!(data & 0x10) && (m_control & 0x10))
304
space->machine().sound().system_enable(data & 0x10);
297
machine().sound().system_enable(data & 0x10);
306
299
/* bit 6 is search light enable */
307
state->m_sl_enable = data & 0x40;
300
m_sl_enable = data & 0x40;
309
state->m_control = data;
312
305
/***************************************************************************