removed some of machine().first_screen() users (nw)

This commit is contained in:
Miodrag Milanovic 2014-03-14 15:27:44 +00:00
parent b5a348c7c1
commit 4dfd3473ba
19 changed files with 64 additions and 60 deletions

View File

@ -53,7 +53,8 @@ public:
m_io_lpenconf(*this, "LPENCONF"), m_io_lpenconf(*this, "LPENCONF"),
m_io_lpenx(*this, "LPENX"), m_io_lpenx(*this, "LPENX"),
m_io_lpeny(*this, "LPENY"), m_io_lpeny(*this, "LPENY"),
m_io_coin(*this, "COIN") { } m_io_coin(*this, "COIN"),
m_screen(*this, "screen") { }
required_shared_ptr<UINT8> m_gce_vectorram; required_shared_ptr<UINT8> m_gce_vectorram;
int m_64k_cart; int m_64k_cart;
@ -135,6 +136,7 @@ protected:
required_ioport m_io_lpenx; required_ioport m_io_lpenx;
required_ioport m_io_lpeny; required_ioport m_io_lpeny;
optional_ioport m_io_coin; optional_ioport m_io_coin;
required_device<screen_device> m_screen;
void vectrex_configuration(); void vectrex_configuration();
void vectrex_multiplexer(int mux); void vectrex_multiplexer(int mux);

View File

@ -233,8 +233,7 @@ TIMER_CALLBACK_MEMBER(vectrex_state::update_signal)
void vectrex_state::video_start() void vectrex_state::video_start()
{ {
screen_device *screen = machine().first_screen(); const rectangle &visarea = m_screen->visible_area();
const rectangle &visarea = screen->visible_area();
m_x_center=(visarea.width() / 2) << 16; m_x_center=(visarea.width() / 2) << 16;
m_y_center=(visarea.height() / 2) << 16; m_y_center=(visarea.height() / 2) << 16;
@ -416,8 +415,7 @@ WRITE8_MEMBER(vectrex_state::raaspec_led_w)
VIDEO_START_MEMBER(vectrex_state,raaspec) VIDEO_START_MEMBER(vectrex_state,raaspec)
{ {
screen_device *screen = machine().first_screen(); const rectangle &visarea = m_screen->visible_area();
const rectangle &visarea = screen->visible_area();
m_x_center=(visarea.width() / 2) << 16; m_x_center=(visarea.width() / 2) << 16;
m_y_center=(visarea.height() / 2) << 16; m_y_center=(visarea.height() / 2) << 16;

View File

@ -56,7 +56,8 @@ public:
m_joy2(*this, CONTROL2_TAG) , m_joy2(*this, CONTROL2_TAG) ,
m_maincpu(*this, "maincpu"), m_maincpu(*this, "maincpu"),
m_cassette(*this, "cassette"), m_cassette(*this, "cassette"),
m_modeFE_trigger_on_next_access(false) { } m_modeFE_trigger_on_next_access(false),
m_screen(*this, "screen") { }
dpc_t m_dpc; dpc_t m_dpc;
memory_region* m_extra_RAM; memory_region* m_extra_RAM;
@ -169,6 +170,7 @@ protected:
required_device<m6502_device> m_maincpu; required_device<m6502_device> m_maincpu;
required_device<cassette_image_device> m_cassette; required_device<cassette_image_device> m_cassette;
bool m_modeFE_trigger_on_next_access; bool m_modeFE_trigger_on_next_access;
required_device<screen_device> m_screen;
}; };
@ -1453,8 +1455,7 @@ WRITE16_MEMBER(a2600_state::a2600_tia_vsync_callback_pal)
MACHINE_START_MEMBER(a2600_state,a2600) MACHINE_START_MEMBER(a2600_state,a2600)
{ {
screen_device *screen = machine().first_screen(); m_current_screen_height = m_screen->height();
m_current_screen_height = screen->height();
m_extra_RAM = machine().memory().region_alloc("user2", 0x8600, 1, ENDIANNESS_LITTLE); m_extra_RAM = machine().memory().region_alloc("user2", 0x8600, 1, ENDIANNESS_LITTLE);
memset( m_riot_ram, 0x00, 0x80 ); memset( m_riot_ram, 0x00, 0x80 );
m_current_reset_bank_counter = 0xFF; m_current_reset_bank_counter = 0xFF;

View File

@ -19,7 +19,8 @@ public:
: driver_device(mconfig, type, tag) , : driver_device(mconfig, type, tag) ,
m_maincpu(*this, "maincpu"), m_maincpu(*this, "maincpu"),
m_gfxdecode(*this, "gfxdecode"), m_gfxdecode(*this, "gfxdecode"),
m_palette(*this, "palette") { } m_palette(*this, "palette"),
m_screen(*this, "screen") { }
UINT32 m_panel_data_reg; /* value of a data register on the control panel which can UINT32 m_panel_data_reg; /* value of a data register on the control panel which can
be edited - the existence of this register is a personnal be edited - the existence of this register is a personnal
@ -49,6 +50,7 @@ public:
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode; required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette; required_device<palette_device> m_palette;
required_device<screen_device> m_screen;
}; };
void apexc_state::machine_start() void apexc_state::machine_start()
@ -569,9 +571,8 @@ PALETTE_INIT_MEMBER(apexc_state, apexc)
void apexc_state::video_start() void apexc_state::video_start()
{ {
screen_device *screen = machine().first_screen(); int width = m_screen->width();
int width = screen->width(); int height = m_screen->height();
int height = screen->height();
m_bitmap = auto_bitmap_ind16_alloc(machine(), width, height); m_bitmap = auto_bitmap_ind16_alloc(machine(), width, height);
m_bitmap->fill(0, /*machine().visible_area*/teletyper_window); m_bitmap->fill(0, /*machine().visible_area*/teletyper_window);

View File

@ -16,10 +16,13 @@ public:
ssem_state(const machine_config &mconfig, device_type type, const char *tag) ssem_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag), : driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"), m_maincpu(*this, "maincpu"),
m_store(*this, "store"){ } m_store(*this, "store"),
m_screen(*this, "screen") { }
required_device<ssem_device> m_maincpu; required_device<ssem_device> m_maincpu;
required_shared_ptr<UINT8> m_store; required_shared_ptr<UINT8> m_store;
required_device<screen_device> m_screen;
UINT8 m_store_line; UINT8 m_store_line;
virtual void machine_reset(); virtual void machine_reset();
UINT32 screen_update_ssem(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); UINT32 screen_update_ssem(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
@ -403,8 +406,7 @@ void ssem_state::glyph_print(bitmap_rgb32 &bitmap, INT32 x, INT32 y, const char
va_list arg_list; va_list arg_list;
char buf[32768]; char buf[32768];
INT32 index = 0; INT32 index = 0;
screen_device *screen = machine().first_screen(); const rectangle &visarea = m_screen->visible_area();
const rectangle &visarea = screen->visible_area();
va_start( arg_list, msg ); va_start( arg_list, msg );
vsprintf( buf, msg, arg_list ); vsprintf( buf, msg, arg_list );

View File

@ -36,7 +36,8 @@ public:
m_maincpu(*this, "maincpu"), m_maincpu(*this, "maincpu"),
m_cassette(*this, "cassette"), m_cassette(*this, "cassette"),
m_ram(*this, RAM_TAG), m_ram(*this, RAM_TAG),
m_gfxdecode(*this, "gfxdecode") { } m_gfxdecode(*this, "gfxdecode"),
m_screen(*this, "screen") { }
int m_vh_clrscrn_pressed; int m_vh_clrscrn_pressed;
int m_kbd_data; int m_kbd_data;
@ -84,6 +85,7 @@ public:
DECLARE_SNAPSHOT_LOAD_MEMBER( apple1 ); DECLARE_SNAPSHOT_LOAD_MEMBER( apple1 );
required_device<ram_device> m_ram; required_device<ram_device> m_ram;
required_device<gfxdecode_device> m_gfxdecode; required_device<gfxdecode_device> m_gfxdecode;
required_device<screen_device> m_screen;
}; };

View File

@ -41,7 +41,8 @@ public:
m_joysticks(*this, "joysticks") , m_joysticks(*this, "joysticks") ,
m_maincpu(*this, "maincpu"), m_maincpu(*this, "maincpu"),
m_gfxdecode(*this, "gfxdecode"), m_gfxdecode(*this, "gfxdecode"),
m_palette(*this, "palette") { } m_palette(*this, "palette"),
m_screen(*this, "screen") { }
DECLARE_READ8_MEMBER(arcadia_vsync_r); DECLARE_READ8_MEMBER(arcadia_vsync_r);
DECLARE_READ8_MEMBER(arcadia_video_r); DECLARE_READ8_MEMBER(arcadia_video_r);
@ -117,5 +118,6 @@ protected:
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode; required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette; required_device<palette_device> m_palette;
required_device<screen_device> m_screen;
}; };
#endif /* ARCADIA_H_ */ #endif /* ARCADIA_H_ */

View File

@ -49,7 +49,8 @@ public:
m_ram(*this, RAM_TAG), m_ram(*this, RAM_TAG),
m_ay8910(*this, "ay8910"), m_ay8910(*this, "ay8910"),
m_gfxdecode(*this, "gfxdecode"), m_gfxdecode(*this, "gfxdecode"),
m_palette(*this, "palette") m_palette(*this, "palette"),
m_screen(*this, "screen")
{ {
} }
@ -94,6 +95,7 @@ public:
required_device<ay8910_device> m_ay8910; required_device<ay8910_device> m_ay8910;
required_device<gfxdecode_device> m_gfxdecode; required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette; required_device<palette_device> m_palette;
required_device<screen_device> m_screen;
void cgenie_offset_xy(); void cgenie_offset_xy();
int cgenie_get_register(int indx); int cgenie_get_register(int indx);

View File

@ -75,7 +75,8 @@ public:
m_io_x11(*this, "X11"), m_io_x11(*this, "X11"),
m_io_x12(*this, "X12"), m_io_x12(*this, "X12"),
m_io_x13(*this, "X13"), m_io_x13(*this, "X13"),
m_io_x14(*this, "X14") { } m_io_x14(*this, "X14"),
m_screen(*this, "screen") { }
DECLARE_WRITE8_MEMBER( mbee_04_w ); DECLARE_WRITE8_MEMBER( mbee_04_w );
DECLARE_WRITE8_MEMBER( mbee_06_w ); DECLARE_WRITE8_MEMBER( mbee_06_w );
@ -218,6 +219,7 @@ private:
optional_ioport m_io_x12; optional_ioport m_io_x12;
optional_ioport m_io_x13; optional_ioport m_io_x13;
optional_ioport m_io_x14; optional_ioport m_io_x14;
required_device<screen_device> m_screen;
void machine_reset_common_disk(); void machine_reset_common_disk();
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr); virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);

View File

@ -105,7 +105,8 @@ public:
m_ram(*this, RAM_TAG), m_ram(*this, RAM_TAG),
m_mc6846(*this, "mc6846"), m_mc6846(*this, "mc6846"),
m_mc6843(*this, "mc6843"), m_mc6843(*this, "mc6843"),
m_acia6850(*this, "acia6850") m_acia6850(*this, "acia6850"),
m_screen(*this, "screen")
{ {
} }
@ -321,6 +322,7 @@ protected:
optional_device<mc6846_device> m_mc6846; optional_device<mc6846_device> m_mc6846;
optional_device<mc6843_device> m_mc6843; optional_device<mc6843_device> m_mc6843;
optional_device<acia6850_device> m_acia6850; optional_device<acia6850_device> m_acia6850;
required_device<screen_device> m_screen;
/* bank logging and optimisations */ /* bank logging and optimisations */
int m_old_cart_bank; int m_old_cart_bank;

View File

@ -75,6 +75,7 @@ public:
: driver_device(mconfig, type, tag), : driver_device(mconfig, type, tag),
m_cassette(*this, "cassette"), m_cassette(*this, "cassette"),
m_maincpu(*this, "maincpu"), m_maincpu(*this, "maincpu"),
m_screen(*this, "screen"),
m_keypad1_1(*this, "KEYPAD1_1"), m_keypad1_1(*this, "KEYPAD1_1"),
m_keypad1_2(*this, "KEYPAD1_2"), m_keypad1_2(*this, "KEYPAD1_2"),
m_keypad1_3(*this, "KEYPAD1_3"), m_keypad1_3(*this, "KEYPAD1_3"),
@ -119,6 +120,7 @@ public:
protected: protected:
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
required_device<screen_device> m_screen;
required_ioport m_keypad1_1; required_ioport m_keypad1_1;
required_ioport m_keypad1_2; required_ioport m_keypad1_2;
required_ioport m_keypad1_3; required_ioport m_keypad1_3;

View File

@ -321,7 +321,7 @@ attotime apple1_state::apple1_vh_dsp_time_to_ready ()
{ {
int cursor_x, cursor_y; int cursor_x, cursor_y;
int cursor_scanline; int cursor_scanline;
double scanline_period = machine().primary_screen->scan_period().as_double(); double scanline_period = m_screen->scan_period().as_double();
double cursor_hfrac; double cursor_hfrac;
/* The video hardware refreshes the screen by reading the /* The video hardware refreshes the screen by reading the
@ -340,20 +340,20 @@ attotime apple1_state::apple1_vh_dsp_time_to_ready ()
for the visible part of the scanline. */ for the visible part of the scanline. */
cursor_hfrac = (175 + cursor_x * apple1_charlayout.width) / 455; cursor_hfrac = (175 + cursor_x * apple1_charlayout.width) / 455;
if (machine().primary_screen->vpos() == cursor_scanline) { if (m_screen->vpos() == cursor_scanline) {
/* video_screen_get_hpos() doesn't account for the horizontal /* video_screen_get_hpos() doesn't account for the horizontal
blanking interval; it acts as if the scanline period is blanking interval; it acts as if the scanline period is
entirely composed of visible pixel times. However, we can entirely composed of visible pixel times. However, we can
still use it to find what fraction of the current scanline still use it to find what fraction of the current scanline
period has elapsed. */ period has elapsed. */
double current_hfrac = machine().primary_screen->hpos() / double current_hfrac = m_screen->hpos() /
machine().first_screen()->width(); m_screen->width();
if (current_hfrac < cursor_hfrac) if (current_hfrac < cursor_hfrac)
return attotime::from_double(scanline_period * (cursor_hfrac - current_hfrac)); return attotime::from_double(scanline_period * (cursor_hfrac - current_hfrac));
} }
return attotime::from_double( return attotime::from_double(
machine().primary_screen->time_until_pos(cursor_scanline, 0).as_double() + m_screen->time_until_pos(cursor_scanline, 0).as_double() +
scanline_period * cursor_hfrac); scanline_period * cursor_hfrac);
} }

View File

@ -302,9 +302,8 @@ void arcadia_state::video_start()
} }
{ {
screen_device *screen = machine().first_screen(); int width = m_screen->width();
int width = screen->width(); int height = m_screen->height();
int height = screen->height();
m_bitmap = auto_bitmap_ind16_alloc(machine(), width, height); m_bitmap = auto_bitmap_ind16_alloc(machine(), width, height);
} }
} }
@ -614,8 +613,7 @@ void arcadia_state::arcadia_draw_sprites()
INTERRUPT_GEN_MEMBER(arcadia_state::arcadia_video_line) INTERRUPT_GEN_MEMBER(arcadia_state::arcadia_video_line)
{ {
screen_device *screen = machine().first_screen(); int width = m_screen->width();
int width = screen->width();
if (m_ad_delay<=0) if (m_ad_delay<=0)
m_ad_select=m_reg.d.pal[1]&0x40; m_ad_select=m_reg.d.pal[1]&0x40;

View File

@ -20,10 +20,8 @@
***************************************************************************/ ***************************************************************************/
void cgenie_state::video_start() void cgenie_state::video_start()
{ {
screen_device *screen = machine().first_screen(); m_screen->register_screen_bitmap(m_dlybitmap);
m_screen->register_screen_bitmap(m_bitmap);
screen->register_screen_bitmap(m_dlybitmap);
screen->register_screen_bitmap(m_bitmap);
} }
/*************************************************************************** /***************************************************************************

View File

@ -214,7 +214,7 @@ cgb_lcd_device::cgb_lcd_device(const machine_config &mconfig, const char *tag, d
void gb_lcd_device::common_start() void gb_lcd_device::common_start()
{ {
machine().primary_screen->register_screen_bitmap(m_bitmap); m_screen->register_screen_bitmap(m_bitmap);
m_oam = auto_alloc_array_clear(machine(), UINT8, 0x100); m_oam = auto_alloc_array_clear(machine(), UINT8, 0x100);
machine().save().register_postload(save_prepost_delegate(FUNC(gb_lcd_device::videoptr_restore), this)); machine().save().register_postload(save_prepost_delegate(FUNC(gb_lcd_device::videoptr_restore), this));
@ -762,8 +762,7 @@ void gb_lcd_device::update_scanline()
{ {
if (m_current_line < 144) if (m_current_line < 144)
{ {
screen_device *screen = machine().first_screen(); const rectangle &r = m_screen->visible_area();
const rectangle &r = screen->visible_area();
rectangle r1(r.min_x, r.max_x, m_current_line, m_current_line); rectangle r1(r.min_x, r.max_x, m_current_line, m_current_line);
bitmap.fill(0, r1); bitmap.fill(0, r1);
} }
@ -1411,8 +1410,7 @@ void cgb_lcd_device::update_scanline()
{ {
if (m_current_line < 144) if (m_current_line < 144)
{ {
screen_device *screen = machine().first_screen(); const rectangle &r1 = m_screen->visible_area();
const rectangle &r1 = screen->visible_area();
rectangle r(r1.min_x, r1.max_x, m_current_line, m_current_line); rectangle r(r1.min_x, r1.max_x, m_current_line, m_current_line);
bitmap.fill((!m_gbc_mode) ? 0 : 32767 , r); bitmap.fill((!m_gbc_mode) ? 0 : 32767 , r);
} }

View File

@ -291,11 +291,10 @@ void mbee_state::mbee_video_kbd_scan( int param )
READ8_MEMBER( mbee_state::m6545_status_r ) READ8_MEMBER( mbee_state::m6545_status_r )
{ {
screen_device *screen = machine().first_screen(); const rectangle &visarea = m_screen->visible_area();
const rectangle &visarea = screen->visible_area();
UINT8 data = m_sy6545_status; // bit 6 = lpen strobe, bit 7 = update strobe UINT8 data = m_sy6545_status; // bit 6 = lpen strobe, bit 7 = update strobe
int y = machine().primary_screen->vpos(); int y = m_screen->vpos();
if( y < visarea.min_y || y > visarea.max_y ) if( y < visarea.min_y || y > visarea.max_y )
data |= 0x20; /* vertical blanking */ data |= 0x20; /* vertical blanking */

View File

@ -29,8 +29,7 @@
int thomson_state::thom_update_screen_size() int thomson_state::thom_update_screen_size()
{ {
screen_device *screen = machine().first_screen(); const rectangle &visarea = m_screen->visible_area();
const rectangle &visarea = screen->visible_area();
UINT8 p = ioport("vconfig")->read(); UINT8 p = ioport("vconfig")->read();
int new_w, new_h, changed = 0; int new_w, new_h, changed = 0;
@ -53,7 +52,7 @@ int thomson_state::thom_update_screen_size()
if ( ( visarea.max_x != new_w ) || ( visarea.max_y != new_h ) ) if ( ( visarea.max_x != new_w ) || ( visarea.max_y != new_h ) )
{ {
changed = 1; changed = 1;
machine().primary_screen->set_visible_area(0, new_w, 0, new_h ); m_screen->set_visible_area(0, new_w, 0, new_h );
} }
return changed; return changed;

View File

@ -24,7 +24,6 @@
void vc4000_state::video_start() void vc4000_state::video_start()
{ {
screen_device *screen = machine().first_screen();
int i; int i;
for (i=0;i<0x20; i++) for (i=0;i<0x20; i++)
@ -57,7 +56,7 @@ void vc4000_state::video_start()
m_video.sprites[3].data = &m_video.reg.d.sprite4; m_video.sprites[3].data = &m_video.reg.d.sprite4;
m_video.sprites[3].mask = 1 << 3; m_video.sprites[3].mask = 1 << 3;
m_bitmap = auto_bitmap_ind16_alloc(machine(), screen->width(), screen->height()); m_bitmap = auto_bitmap_ind16_alloc(machine(), m_screen->width(), m_screen->height());
} }
inline UINT8 vc4000_state::vc4000_joystick_return_to_centre(UINT8 joy) inline UINT8 vc4000_state::vc4000_joystick_return_to_centre(UINT8 joy)
@ -517,9 +516,8 @@ void vc4000_state::vc4000_sprite_update(bitmap_ind16 &bitmap, UINT8 *collision,
inline void vc4000_state::vc4000_draw_grid(UINT8 *collision) inline void vc4000_state::vc4000_draw_grid(UINT8 *collision)
{ {
screen_device *screen = machine().first_screen(); int width = m_screen->width();
int width = screen->width(); int height = m_screen->height();
int height = screen->height();
int i, j, m, x, line=m_video.line-20; int i, j, m, x, line=m_video.line-20;
int w, k; int w, k;
@ -575,8 +573,8 @@ INTERRUPT_GEN_MEMBER(vc4000_state::vc4000_video_line)
{ {
int x,y,i; int x,y,i;
UINT8 collision[400]={0}; // better alloca or gcc feature of non constant long automatic arrays UINT8 collision[400]={0}; // better alloca or gcc feature of non constant long automatic arrays
const rectangle &visarea = machine().primary_screen->visible_area(); const rectangle &visarea = m_screen->visible_area();
assert(ARRAY_LENGTH(collision) >= machine().primary_screen->width()); assert(ARRAY_LENGTH(collision) >= m_screen->width());
m_video.line++; m_video.line++;
if (m_irq_pause) m_irq_pause++; if (m_irq_pause) m_irq_pause++;

View File

@ -48,10 +48,9 @@ void zx_state::device_timer(emu_timer &timer, device_timer_id id, int param, voi
*/ */
void zx_state::zx_ula_bkgnd(UINT8 color) void zx_state::zx_ula_bkgnd(UINT8 color)
{ {
screen_device *screen = machine().first_screen(); int width = m_screen->width();
int width = screen->width(); int height = m_screen->height();
int height = screen->height(); const rectangle &visarea = m_screen->visible_area();
const rectangle &visarea = screen->visible_area();
if (m_ula_frame_vsync == 0 && color != m_old_c) if (m_ula_frame_vsync == 0 && color != m_old_c)
{ {
@ -103,9 +102,8 @@ TIMER_CALLBACK_MEMBER(zx_state::zx_ula_nmi)
* An NMI is issued on the ZX81 every 64us for the blanked * An NMI is issued on the ZX81 every 64us for the blanked
* scanlines at the top and bottom of the display. * scanlines at the top and bottom of the display.
*/ */
screen_device *screen = machine().first_screen(); int height = m_screen->height();
int height = screen->height(); const rectangle& r1 = m_screen->visible_area();
const rectangle& r1 = screen->visible_area();
rectangle r; rectangle r;
bitmap_ind16 &bitmap = m_bitmap; bitmap_ind16 &bitmap = m_bitmap;