mirror of
https://github.com/holub/mame
synced 2025-10-08 09:30:17 +03:00
gba_lcd, spectrum, etc.: Convenient first_screen removal (nw)
This commit is contained in:
parent
17fff85189
commit
121e61ff94
@ -1560,7 +1560,7 @@ READ32_MEMBER(gba_lcd_device::video_r)
|
|||||||
switch (offset)
|
switch (offset)
|
||||||
{
|
{
|
||||||
case 0x0004/4:
|
case 0x0004/4:
|
||||||
retval = DISPSTAT | (machine().first_screen()->vpos() << 16);
|
retval = DISPSTAT | (screen().vpos() << 16);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (ACCESSING_BITS_0_15)
|
if (ACCESSING_BITS_0_15)
|
||||||
@ -1652,7 +1652,7 @@ WRITE32_MEMBER(gba_lcd_device::gba_oam_w)
|
|||||||
|
|
||||||
TIMER_CALLBACK_MEMBER(gba_lcd_device::perform_hbl)
|
TIMER_CALLBACK_MEMBER(gba_lcd_device::perform_hbl)
|
||||||
{
|
{
|
||||||
int scanline = machine().first_screen()->vpos();
|
int scanline = screen().vpos();
|
||||||
|
|
||||||
// reload LCD controller internal registers from I/O ones at vblank
|
// reload LCD controller internal registers from I/O ones at vblank
|
||||||
if (scanline == 0)
|
if (scanline == 0)
|
||||||
@ -1688,7 +1688,7 @@ TIMER_CALLBACK_MEMBER(gba_lcd_device::perform_scan)
|
|||||||
clear(dispstat::hblank);
|
clear(dispstat::hblank);
|
||||||
clear(dispstat::vcount);
|
clear(dispstat::vcount);
|
||||||
|
|
||||||
int scanline = machine().first_screen()->vpos();
|
int scanline = screen().vpos();
|
||||||
|
|
||||||
// VBLANK is set for scanlines 160 through 226 (but not 227, which is the last line)
|
// VBLANK is set for scanlines 160 through 226 (but not 227, which is the last line)
|
||||||
if (scanline >= 160 && scanline < 227)
|
if (scanline >= 160 && scanline < 227)
|
||||||
@ -1725,8 +1725,8 @@ TIMER_CALLBACK_MEMBER(gba_lcd_device::perform_scan)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_hbl_timer->adjust(machine().first_screen()->time_until_pos(scanline, 240));
|
m_hbl_timer->adjust(screen().time_until_pos(scanline, 240));
|
||||||
m_scan_timer->adjust(machine().first_screen()->time_until_pos((scanline + 1) % 228, 0));
|
m_scan_timer->adjust(screen().time_until_pos((scanline + 1) % 228, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
PALETTE_INIT_MEMBER(gba_lcd_device, gba)
|
PALETTE_INIT_MEMBER(gba_lcd_device, gba)
|
||||||
@ -1768,7 +1768,7 @@ void gba_lcd_device::device_start()
|
|||||||
/* create a timer to fire scanline functions */
|
/* create a timer to fire scanline functions */
|
||||||
m_scan_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(gba_lcd_device::perform_scan),this));
|
m_scan_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(gba_lcd_device::perform_scan),this));
|
||||||
m_hbl_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(gba_lcd_device::perform_hbl),this));
|
m_hbl_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(gba_lcd_device::perform_hbl),this));
|
||||||
m_scan_timer->adjust(machine().first_screen()->time_until_pos(0, 0));
|
m_scan_timer->adjust(screen().time_until_pos(0, 0));
|
||||||
|
|
||||||
save_item(NAME(m_regs));
|
save_item(NAME(m_regs));
|
||||||
|
|
||||||
@ -1800,7 +1800,7 @@ void gba_lcd_device::device_reset()
|
|||||||
m_bg3x = { 0, false };
|
m_bg3x = { 0, false };
|
||||||
m_bg3y = { 0, false };
|
m_bg3y = { 0, false };
|
||||||
|
|
||||||
m_scan_timer->adjust(machine().first_screen()->time_until_pos(0, 0));
|
m_scan_timer->adjust(screen().time_until_pos(0, 0));
|
||||||
m_hbl_timer->adjust(attotime::never);
|
m_hbl_timer->adjust(attotime::never);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -242,10 +242,10 @@ VIDEO_START_MEMBER(pentagon_state,pentagon)
|
|||||||
|
|
||||||
m_previous_border_x = 0;
|
m_previous_border_x = 0;
|
||||||
m_previous_border_y = 0;
|
m_previous_border_y = 0;
|
||||||
machine().first_screen()->register_screen_bitmap(m_border_bitmap);
|
m_screen->register_screen_bitmap(m_border_bitmap);
|
||||||
m_previous_screen_x = 0;
|
m_previous_screen_x = 0;
|
||||||
m_previous_screen_y = 0;
|
m_previous_screen_y = 0;
|
||||||
machine().first_screen()->register_screen_bitmap(m_screen_bitmap);
|
m_screen->register_screen_bitmap(m_screen_bitmap);
|
||||||
|
|
||||||
m_screen_location = m_ram->pointer() + (5 << 14);
|
m_screen_location = m_ram->pointer() + (5 << 14);
|
||||||
}
|
}
|
||||||
|
@ -228,7 +228,7 @@ void spectrum_state::spectrum_128_update_memory()
|
|||||||
|
|
||||||
READ8_MEMBER( spectrum_state::spectrum_128_ula_r )
|
READ8_MEMBER( spectrum_state::spectrum_128_ula_r )
|
||||||
{
|
{
|
||||||
int vpos = machine().first_screen()->vpos();
|
int vpos = m_screen->vpos();
|
||||||
|
|
||||||
return vpos<193 ? m_screen_location[0x1800|(vpos&0xf8)<<2]:0xff;
|
return vpos<193 ? m_screen_location[0x1800|(vpos&0xf8)<<2]:0xff;
|
||||||
}
|
}
|
||||||
|
@ -424,7 +424,7 @@ READ8_MEMBER(spectrum_state::spectrum_port_fe_r)
|
|||||||
|
|
||||||
READ8_MEMBER(spectrum_state::spectrum_port_ula_r)
|
READ8_MEMBER(spectrum_state::spectrum_port_ula_r)
|
||||||
{
|
{
|
||||||
int vpos = machine().first_screen()->vpos();
|
int vpos = m_screen->vpos();
|
||||||
|
|
||||||
return vpos<193 ? m_video_ram[(vpos&0xf8)<<2]:0xff;
|
return vpos<193 ? m_video_ram[(vpos&0xf8)<<2]:0xff;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user