void atarisys2_slapstic_w (int offset, int data) { slapstic_tweak (offset / 2); /* an extra tweak for the next opcode fetch */ videobank = slapstic_tweak (0x1234); videoram = alpharam + videobank * 0x2000; }
int atarisys2_slapstic_r (int offset) { slapstic_tweak (offset / 2); /* an extra tweak for the next opcode fetch */ videobank = slapstic_tweak (0x1234); videoram = alpharam + videobank * 0x2000; return READ_WORD (&atarisys2_slapstic_base[offset]); }
void starwars_state::esb_slapstic_tweak(address_space &space, offs_t offset) { int new_bank = slapstic_tweak(space, offset); /* update for the new bank */ if (new_bank != m_slapstic_current_bank) { m_slapstic_current_bank = new_bank; memcpy(m_slapstic_base, &m_slapstic_source[m_slapstic_current_bank * 0x2000], 0x2000); } }
static void esb_slapstic_tweak(address_space &space, offs_t offset) { starwars_state *state = space.machine().driver_data<starwars_state>(); int new_bank = slapstic_tweak(space, offset); /* update for the new bank */ if (new_bank != state->m_slapstic_current_bank) { state->m_slapstic_current_bank = new_bank; memcpy(state->m_slapstic_base, &state->m_slapstic_source[state->m_slapstic_current_bank * 0x2000], 0x2000); } }
static READ8_HANDLER( atetris_slapstic_r ) { int result = slapstic_base[0x2000 + offset]; int new_bank = slapstic_tweak(space, offset) & 1; /* update for the new bank */ if (new_bank != current_bank) { current_bank = new_bank; memcpy(slapstic_base, &slapstic_source[current_bank * 0x4000], 0x4000); } return result; }
static READ8_HANDLER( atetris_slapstic_r ) { atetris_state *state = space->machine().driver_data<atetris_state>(); int result = state->m_slapstic_base[0x2000 + offset]; int new_bank = slapstic_tweak(space, offset) & 1; /* update for the new bank */ if (new_bank != state->m_current_bank) { state->m_current_bank = new_bank; memcpy(state->m_slapstic_base, &state->m_slapstic_source[state->m_current_bank * 0x4000], 0x4000); } return result; }