80
81
/* the bottom half of the PROM seems to be not used */
83
WRITE8_HANDLER( bankp_scroll_w )
85
bankp_state *state = space->machine().driver_data<bankp_state>();
87
state->m_scroll_x = data;
90
WRITE8_HANDLER( bankp_videoram_w )
92
bankp_state *state = space->machine().driver_data<bankp_state>();
94
state->m_videoram[offset] = data;
95
state->m_fg_tilemap->mark_tile_dirty(offset);
98
WRITE8_HANDLER( bankp_colorram_w )
100
bankp_state *state = space->machine().driver_data<bankp_state>();
102
state->m_colorram[offset] = data;
103
state->m_fg_tilemap->mark_tile_dirty(offset);
106
WRITE8_HANDLER( bankp_videoram2_w )
108
bankp_state *state = space->machine().driver_data<bankp_state>();
110
state->m_videoram2[offset] = data;
111
state->m_bg_tilemap->mark_tile_dirty(offset);
114
WRITE8_HANDLER( bankp_colorram2_w )
116
bankp_state *state = space->machine().driver_data<bankp_state>();
118
state->m_colorram2[offset] = data;
119
state->m_bg_tilemap->mark_tile_dirty(offset);
122
WRITE8_HANDLER( bankp_out_w )
124
bankp_state *state = space->machine().driver_data<bankp_state>();
84
WRITE8_MEMBER(bankp_state::bankp_scroll_w)
90
WRITE8_MEMBER(bankp_state::bankp_videoram_w)
93
m_videoram[offset] = data;
94
m_fg_tilemap->mark_tile_dirty(offset);
97
WRITE8_MEMBER(bankp_state::bankp_colorram_w)
100
m_colorram[offset] = data;
101
m_fg_tilemap->mark_tile_dirty(offset);
104
WRITE8_MEMBER(bankp_state::bankp_videoram2_w)
107
m_videoram2[offset] = data;
108
m_bg_tilemap->mark_tile_dirty(offset);
111
WRITE8_MEMBER(bankp_state::bankp_colorram2_w)
114
m_colorram2[offset] = data;
115
m_bg_tilemap->mark_tile_dirty(offset);
118
WRITE8_MEMBER(bankp_state::bankp_out_w)
125
120
/* bits 0-1 are playfield priority */
126
121
/* TODO: understand how this works */
127
state->m_priority = data & 0x03;
122
m_priority = data & 0x03;
129
124
/* bits 2-3 unknown (2 is used) */
131
126
/* bit 4 controls NMI */
132
state->m_nmi_mask = (data & 0x10) >> 4;
127
m_nmi_mask = (data & 0x10) >> 4;
134
129
/* bit 5 controls screen flip */
135
flip_screen_set(space->machine(), data & 0x20);
130
flip_screen_set(data & 0x20);
137
132
/* bits 6-7 unknown */