From cb1e35223fa73e982a4f451e60835e6ad83ed928 Mon Sep 17 00:00:00 2001 From: AJR Date: Tue, 5 Jun 2018 08:54:46 -0400 Subject: [PATCH] segas24.cpp: Eliminate machine().device (nw) --- src/mame/drivers/segas24.cpp | 23 ++++++++--------------- src/mame/includes/segas24.h | 18 ++++++++++++------ src/mame/video/segas24.cpp | 16 ++++++++-------- 3 files changed, 28 insertions(+), 29 deletions(-) diff --git a/src/mame/drivers/segas24.cpp b/src/mame/drivers/segas24.cpp index 1201a01792f..fe178da82cc 100644 --- a/src/mame/drivers/segas24.cpp +++ b/src/mame/drivers/segas24.cpp @@ -686,13 +686,13 @@ READ8_MEMBER( segas24_state::frc_mode_r ) WRITE8_MEMBER( segas24_state::frc_mode_w ) { /* reset frc if a write happens here */ - frc_cnt_timer->reset(); + m_frc_cnt_timer->reset(); frc_mode = data & 1; } READ8_MEMBER( segas24_state::frc_r ) { - int32_t result = (frc_cnt_timer->time_elapsed() * (frc_mode ? FRC_CLOCK_MODE1 : FRC_CLOCK_MODE0).dvalue()).as_double(); + int32_t result = (m_frc_cnt_timer->time_elapsed() * (frc_mode ? FRC_CLOCK_MODE1 : FRC_CLOCK_MODE0).dvalue()).as_double(); result %= ((frc_mode) ? 0x67 : 0x100); @@ -786,21 +786,21 @@ void segas24_state::irq_timer_start(int old_tmode) if(old_tmode) { irq_tval++; if(irq_tval == 0x1000) - irq_timer->adjust(attotime::zero); + m_irq_timer->adjust(attotime::zero); else - irq_timer->enable(false); + m_irq_timer->enable(false); } break; case 1: { int count = 0x1000 - irq_tval; - irq_timer->adjust(attotime::from_hz(HSYNC_CLOCK)*count); + m_irq_timer->adjust(attotime::from_hz(HSYNC_CLOCK)*count); break; } case 2: fatalerror("segas24_state::irq_timer_start - case 2\n"); case 3: { int count = 0x1000 - irq_tval; - irq_timer->adjust(attotime::from_hz(TIMER_CLOCK)*count); + m_irq_timer->adjust(attotime::from_hz(TIMER_CLOCK)*count); break; } } @@ -857,8 +857,6 @@ void segas24_state::irq_init() irq_timer_pend1 = 0; irq_vblank = 0; irq_sprite = 0; - irq_timer = machine().device("irq_timer"); - irq_timer_clear = machine().device("irq_timer_clear"); irq_tval = 0; irq_synctime = attotime::zero; irq_vsynctime = attotime::zero; @@ -940,7 +938,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(segas24_state::irq_vbl) else return; - irq_timer_clear->adjust(attotime::from_hz(HSYNC_CLOCK)); + m_irq_timer_clear->adjust(attotime::from_hz(HSYNC_CLOCK)); mask = 1 << irq; @@ -1192,10 +1190,6 @@ void segas24_state::machine_start() membank("bank1")->configure_entries(0, 16, usr1, 0x40000); membank("bank2")->configure_entries(0, 16, usr1, 0x40000); } - - vtile = machine().device("tile"); - vsprite = machine().device("sprite"); - vmixer = machine().device("mixer"); } void segas24_state::machine_reset() @@ -1208,8 +1202,7 @@ void segas24_state::machine_reset() irq_init(); mlatch = 0x00; frc_mode = 0; - frc_cnt_timer = machine().device("frc_timer"); - frc_cnt_timer->reset(); + m_frc_cnt_timer->reset(); } /************************************* diff --git a/src/mame/includes/segas24.h b/src/mame/includes/segas24.h index c2cabd00ba6..55c861f5dc8 100644 --- a/src/mame/includes/segas24.h +++ b/src/mame/includes/segas24.h @@ -22,6 +22,12 @@ public: , m_palette(*this, "palette") , m_generic_paletteram_16(*this, "paletteram") , m_romboard(*this, "romboard") + , m_irq_timer(*this, "irq_timer") + , m_irq_timer_clear(*this, "irq_timer_clear") + , m_frc_cnt_timer(*this, "frc_timer") + , m_vtile(*this, "tile") + , m_vsprite(*this, "sprite") + , m_vmixer(*this, "mixer") , m_gground_hack_timer(nullptr) , m_p1(*this, "P1") , m_p2(*this, "P2") @@ -72,19 +78,19 @@ public: int irq_vblank; int irq_sprite; attotime irq_synctime, irq_vsynctime; - timer_device *irq_timer; - timer_device *irq_timer_clear; + required_device m_irq_timer; + required_device m_irq_timer_clear; //timer_device *irq_frc; - timer_device *frc_cnt_timer; + required_device m_frc_cnt_timer; uint8_t frc_mode; bool m_cnt1; uint16_t *shared_ram; - segas24_tile_device *vtile; - segas24_sprite_device *vsprite; - segas24_mixer_device *vmixer; + required_device m_vtile; + required_device m_vsprite; + required_device m_vmixer; DECLARE_WRITE_LINE_MEMBER(irq_ym); DECLARE_READ16_MEMBER( sys16_paletteram_r ); diff --git a/src/mame/video/segas24.cpp b/src/mame/video/segas24.cpp index 74dac813a55..64f0d989e38 100644 --- a/src/mame/video/segas24.cpp +++ b/src/mame/video/segas24.cpp @@ -15,24 +15,24 @@ namespace { struct layer_sort { - layer_sort(segas24_mixer_device *_mixer) { mixer = _mixer; } + layer_sort(segas24_mixer_device &_mixer) : mixer(_mixer) { } bool operator()(int l1, int l2) { static const int default_pri[12] = { 0, 1, 2, 3, 4, 5, 6, 7, -4, -3, -2, -1 }; - int p1 = mixer->get_reg(l1) & 7; - int p2 = mixer->get_reg(l2) & 7; + int p1 = mixer.get_reg(l1) & 7; + int p2 = mixer.get_reg(l2) & 7; if(p1 != p2) return p1 - p2 < 0; return default_pri[l2] - default_pri[l1] < 0; } - segas24_mixer_device *mixer; + segas24_mixer_device &mixer; }; } uint32_t segas24_state::screen_update_system24(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - if(vmixer->get_reg(13) & 1) { + if(m_vmixer->get_reg(13) & 1) { bitmap.fill(m_palette->black_pen()); return 0; } @@ -45,18 +45,18 @@ uint32_t segas24_state::screen_update_system24(screen_device &screen, bitmap_ind for(int i=0; i<12; i++) order[i] = i; - std::sort(order.begin(), order.end(), layer_sort(vmixer)); + std::sort(order.begin(), order.end(), layer_sort(*m_vmixer)); int spri[4]; int level = 0; for(int i=0; i<12; i++) if(order[i] < 8) - vtile->draw(screen, bitmap, cliprect, order[i], level, 0); + m_vtile->draw(screen, bitmap, cliprect, order[i], level, 0); else { spri[order[i]-8] = level; level++; } - vsprite->draw(bitmap, cliprect, screen.priority(), spri); + m_vsprite->draw(bitmap, cliprect, screen.priority(), spri); return 0; }