mirror of
https://github.com/holub/mame
synced 2025-04-20 23:42:22 +03:00
devcb: add remove function to unset a devcb
This commit is contained in:
parent
64efa5635d
commit
a389a3393e
@ -756,6 +756,12 @@ private:
|
||||
auto set_constant(Result val) { return set([val] () { return val; }); }
|
||||
auto append_constant(Result val) { return append([val] () { return val; }); }
|
||||
|
||||
void remove()
|
||||
{
|
||||
set_used();
|
||||
m_target.m_creators.clear();
|
||||
}
|
||||
|
||||
private:
|
||||
void set_used() { assert(!m_used); m_used = true; }
|
||||
|
||||
@ -2152,6 +2158,12 @@ private:
|
||||
m_target.m_creators.emplace_back(std::make_unique<nop_creator>());
|
||||
}
|
||||
|
||||
void remove()
|
||||
{
|
||||
set_used();
|
||||
m_target.m_creators.clear();
|
||||
}
|
||||
|
||||
private:
|
||||
void set_used() { assert(!m_used); m_used = true; }
|
||||
|
||||
|
@ -322,7 +322,7 @@ void _1943_state::_1943b(machine_config &config)
|
||||
_1943(config);
|
||||
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &_1943_state::c1943b_map);
|
||||
m_screen->screen_vblank().set_nop();
|
||||
m_screen->screen_vblank().remove();
|
||||
|
||||
config.device_remove("mcu");
|
||||
}
|
||||
|
@ -478,5 +478,5 @@ void qb3_state::sound_reset()
|
||||
void qb3_state::qb3_sound(machine_config &config)
|
||||
{
|
||||
demon_sound(config);
|
||||
m_outlatch->q_out_cb<4>().set_nop(); // not mapped through LS259
|
||||
m_outlatch->q_out_cb<4>().remove(); // not mapped through LS259
|
||||
}
|
||||
|
@ -503,7 +503,7 @@ void atm_state::atm(machine_config &config)
|
||||
m_maincpu->set_addrmap(AS_IO, &atm_state::atm_io);
|
||||
m_maincpu->set_addrmap(AS_OPCODES, &atm_state::atm_switch);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(atm_state::atm_interrupt));
|
||||
m_maincpu->nomreq_cb().set_nop();
|
||||
m_maincpu->nomreq_cb().remove();
|
||||
|
||||
m_screen->set_raw(X1_128_SINCLAIR / 5, 448, 312, {get_screen_area().left() - 40, get_screen_area().right() + 40, get_screen_area().top() - 40, get_screen_area().bottom() + 40});
|
||||
subdevice<gfxdecode_device>("gfxdecode")->set_info(gfx_atm);
|
||||
|
@ -196,7 +196,7 @@ void pentagon_state::pentagon(machine_config &config)
|
||||
m_maincpu->set_addrmap(AS_IO, &pentagon_state::pentagon_io);
|
||||
m_maincpu->set_addrmap(AS_OPCODES, &pentagon_state::pentagon_switch);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(pentagon_state::pentagon_interrupt));
|
||||
m_maincpu->nomreq_cb().set_nop();
|
||||
m_maincpu->nomreq_cb().remove();
|
||||
|
||||
m_screen->set_raw(14_MHz_XTAL / 2, 448, 320, {get_screen_area().left() - 48, get_screen_area().right() + 48, get_screen_area().top() - 48, get_screen_area().bottom() + 48});
|
||||
subdevice<gfxdecode_device>("gfxdecode")->set_info(gfx_pentagon);
|
||||
|
@ -505,7 +505,7 @@ void scorpion_state::scorpion(machine_config &config)
|
||||
m_maincpu->set_m1_map(&scorpion_state::scorpion_switch);
|
||||
m_maincpu->set_io_map(&scorpion_state::scorpion_io);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(scorpion_state::scorpion_interrupt));
|
||||
m_maincpu->nomreq_cb().set_nop();
|
||||
m_maincpu->nomreq_cb().remove();
|
||||
|
||||
subdevice<gfxdecode_device>("gfxdecode")->set_info(gfx_scorpion);
|
||||
|
||||
|
@ -409,7 +409,7 @@ void specpls3_state::spectrum_plus2(machine_config &config)
|
||||
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &specpls3_state::plus3_mem);
|
||||
m_maincpu->set_addrmap(AS_IO, &specpls3_state::plus3_io);
|
||||
m_maincpu->nomreq_cb().set_nop();
|
||||
m_maincpu->nomreq_cb().remove();
|
||||
|
||||
subdevice<gfxdecode_device>("gfxdecode")->set_info(specpls3);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user