mirror of
https://github.com/holub/mame
synced 2025-06-23 21:06:38 +03:00
devfind.h: allow ioport_finder to be dereferenced when NULL so read_safe() can be used (nw)
This commit is contained in:
parent
762420efad
commit
3879fb5b7e
@ -226,6 +226,9 @@ public:
|
|||||||
// make reference use transparent as well
|
// make reference use transparent as well
|
||||||
operator ioport_port &() { assert(object_finder_base<ioport_port>::m_target != NULL); return *object_finder_base<ioport_port>::m_target; }
|
operator ioport_port &() { assert(object_finder_base<ioport_port>::m_target != NULL); return *object_finder_base<ioport_port>::m_target; }
|
||||||
|
|
||||||
|
// allow dereference even when target is NULL so read_safe() can be used
|
||||||
|
ioport_port *operator->() const { return object_finder_base<ioport_port>::m_target; }
|
||||||
|
|
||||||
// finder
|
// finder
|
||||||
virtual bool findit(bool isvalidation = false)
|
virtual bool findit(bool isvalidation = false)
|
||||||
{
|
{
|
||||||
|
@ -3732,10 +3732,6 @@ void namcos22_state::machine_reset()
|
|||||||
|
|
||||||
void namcos22_state::machine_start()
|
void namcos22_state::machine_start()
|
||||||
{
|
{
|
||||||
static const char *const tags[] = { "ADC.0", "ADC.1", "ADC.2", "ADC.3", "ADC.4", "ADC.5", "ADC.6", "ADC.7" };
|
|
||||||
for (int i = 0; i < 8; i++)
|
|
||||||
m_adc_ports[i] = ioport(tags[i]);
|
|
||||||
|
|
||||||
m_slave_simulation_active = false;
|
m_slave_simulation_active = false;
|
||||||
m_portbits[0] = 0xffff;
|
m_portbits[0] = 0xffff;
|
||||||
m_portbits[1] = 0xffff;
|
m_portbits[1] = 0xffff;
|
||||||
|
@ -1376,7 +1376,8 @@ public:
|
|||||||
m_p2(*this, "P2"),
|
m_p2(*this, "P2"),
|
||||||
m_screen(*this, "screen"),
|
m_screen(*this, "screen"),
|
||||||
m_palette(*this, "palette"),
|
m_palette(*this, "palette"),
|
||||||
m_generic_paletteram_32(*this, "paletteram")
|
m_generic_paletteram_32(*this, "paletteram"),
|
||||||
|
m_adc_ports(*this, "ADC")
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
required_device<mips3_device> m_maincpu;
|
required_device<mips3_device> m_maincpu;
|
||||||
@ -1401,6 +1402,7 @@ public:
|
|||||||
required_device<screen_device> m_screen;
|
required_device<screen_device> m_screen;
|
||||||
required_device<palette_device> m_palette;
|
required_device<palette_device> m_palette;
|
||||||
required_shared_ptr<UINT32> m_generic_paletteram_32;
|
required_shared_ptr<UINT32> m_generic_paletteram_32;
|
||||||
|
optional_ioport_array<4> m_adc_ports;
|
||||||
|
|
||||||
c404_t m_c404;
|
c404_t m_c404;
|
||||||
c361_t m_c361;
|
c361_t m_c361;
|
||||||
@ -1410,7 +1412,6 @@ public:
|
|||||||
c422_t m_c422;
|
c422_t m_c422;
|
||||||
render_t m_render;
|
render_t m_render;
|
||||||
|
|
||||||
ioport_port *m_adc_ports[4];
|
|
||||||
tilemap_t *m_bgtilemap;
|
tilemap_t *m_bgtilemap;
|
||||||
UINT8 m_jvssense;
|
UINT8 m_jvssense;
|
||||||
INT32 m_has_jvsio;
|
INT32 m_has_jvsio;
|
||||||
@ -3219,10 +3220,6 @@ INPUT_PORTS_END
|
|||||||
|
|
||||||
void namcos23_state::machine_start()
|
void namcos23_state::machine_start()
|
||||||
{
|
{
|
||||||
static const char *const tags[] = { "ADC.0", "ADC.1", "ADC.2", "ADC.3" };
|
|
||||||
for (int i = 0; i < 4; i++)
|
|
||||||
m_adc_ports[i] = ioport(tags[i]);
|
|
||||||
|
|
||||||
m_c361.timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(namcos23_state::c361_timer_cb),this));
|
m_c361.timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(namcos23_state::c361_timer_cb),this));
|
||||||
m_c361.timer->adjust(attotime::never);
|
m_c361.timer->adjust(attotime::never);
|
||||||
|
|
||||||
|
@ -1113,10 +1113,6 @@ void taitojc_state::machine_reset()
|
|||||||
|
|
||||||
void taitojc_state::machine_start()
|
void taitojc_state::machine_start()
|
||||||
{
|
{
|
||||||
static const char *const tags[] = { "AN.0", "AN.1", "AN.2", "AN.3", "AN.4", "AN.5", "AN.6", "AN.7" };
|
|
||||||
for (int i = 0; i < 8; i++)
|
|
||||||
m_analog_ports[i] = ioport(tags[i]);
|
|
||||||
|
|
||||||
// register for savestates
|
// register for savestates
|
||||||
save_item(NAME(m_texture_x));
|
save_item(NAME(m_texture_x));
|
||||||
save_item(NAME(m_texture_y));
|
save_item(NAME(m_texture_y));
|
||||||
|
@ -199,7 +199,8 @@ public:
|
|||||||
m_pc_pedal_interrupt(*this, "pc_p_int"),
|
m_pc_pedal_interrupt(*this, "pc_p_int"),
|
||||||
m_gfxdecode(*this, "gfxdecode"),
|
m_gfxdecode(*this, "gfxdecode"),
|
||||||
m_screen(*this, "screen"),
|
m_screen(*this, "screen"),
|
||||||
m_palette(*this, "palette")
|
m_palette(*this, "palette"),
|
||||||
|
m_adc_ports(*this, "ADC")
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
required_device<cpu_device> m_maincpu;
|
required_device<cpu_device> m_maincpu;
|
||||||
@ -228,8 +229,9 @@ public:
|
|||||||
required_device<gfxdecode_device> m_gfxdecode;
|
required_device<gfxdecode_device> m_gfxdecode;
|
||||||
required_device<screen_device> m_screen;
|
required_device<screen_device> m_screen;
|
||||||
required_device<palette_device> m_palette;
|
required_device<palette_device> m_palette;
|
||||||
|
optional_ioport_array<8> m_adc_ports;
|
||||||
|
|
||||||
|
|
||||||
ioport_port *m_adc_ports[8];
|
|
||||||
UINT8 m_syscontrol[0x20];
|
UINT8 m_syscontrol[0x20];
|
||||||
bool m_dsp_irq_enabled;
|
bool m_dsp_irq_enabled;
|
||||||
emu_timer *m_ar_tb_interrupt[2];
|
emu_timer *m_ar_tb_interrupt[2];
|
||||||
|
@ -51,7 +51,8 @@ public:
|
|||||||
m_palette_ram(*this, "palette_ram"),
|
m_palette_ram(*this, "palette_ram"),
|
||||||
m_gfxdecode(*this, "gfxdecode"),
|
m_gfxdecode(*this, "gfxdecode"),
|
||||||
m_screen(*this, "screen"),
|
m_screen(*this, "screen"),
|
||||||
m_palette(*this, "palette")
|
m_palette(*this, "palette"),
|
||||||
|
m_analog_ports(*this, "AN")
|
||||||
{
|
{
|
||||||
m_mcu_output = 0;
|
m_mcu_output = 0;
|
||||||
m_speed_meter = 0;
|
m_speed_meter = 0;
|
||||||
@ -74,8 +75,8 @@ public:
|
|||||||
required_device<gfxdecode_device> m_gfxdecode;
|
required_device<gfxdecode_device> m_gfxdecode;
|
||||||
required_device<screen_device> m_screen;
|
required_device<screen_device> m_screen;
|
||||||
required_device<palette_device> m_palette;
|
required_device<palette_device> m_palette;
|
||||||
|
optional_ioport_array<8> m_analog_ports;
|
||||||
|
|
||||||
ioport_port *m_analog_ports[8];
|
|
||||||
taitojc_renderer *m_renderer;
|
taitojc_renderer *m_renderer;
|
||||||
|
|
||||||
int m_texture_x;
|
int m_texture_x;
|
||||||
|
Loading…
Reference in New Issue
Block a user