File tree Expand file tree Collapse file tree 2 files changed +8
-4
lines changed Expand file tree Collapse file tree 2 files changed +8
-4
lines changed Original file line number Diff line number Diff line change @@ -550,6 +550,7 @@ void amiga_state::render_scanline(bitmap_rgb32 &bitmap, int scanline)
550
550
for (int x = 0 ; x < (amiga_state::SCREEN_WIDTH / 2 ) + 10 ; x++)
551
551
{
552
552
int sprpix;
553
+ const bool out_of_beam = x >= amiga_state::SCREEN_WIDTH / 2 ;
553
554
554
555
/* time to execute the copper? */
555
556
if (x == next_copper_x)
@@ -600,9 +601,11 @@ void amiga_state::render_scanline(bitmap_rgb32 &bitmap, int scanline)
600
601
}
601
602
602
603
/* clear the target pixels to the background color as a starting point */
603
- if (dst != nullptr )
604
+ if (dst != nullptr && !out_of_beam)
605
+ {
604
606
dst[x*2 +0 ] =
605
607
dst[x*2 +1 ] = m_palette->pen (CUSTOM_REG (REG_COLOR00));
608
+ }
606
609
607
610
/* if we hit the first fetch pixel, reset the counters and latch the delays */
608
611
if (x == ddf_start_pixel)
@@ -742,7 +745,7 @@ void amiga_state::render_scanline(bitmap_rgb32 &bitmap, int scanline)
742
745
CUSTOM_REG (REG_CLXDAT) |= 0x001 ;
743
746
744
747
/* if we are within the display region, render */
745
- if (dst != nullptr && x >= m_diw.left () && x < m_diw.right ())
748
+ if (dst != nullptr && x >= m_diw.left () && x < m_diw.right () && !out_of_beam )
746
749
{
747
750
int pix, pri;
748
751
Original file line number Diff line number Diff line change @@ -549,6 +549,7 @@ void amiga_state::aga_render_scanline(bitmap_rgb32 &bitmap, int scanline)
549
549
for (int x = 0 ; x < (amiga_state::SCREEN_WIDTH / 2 ) + offset_hack[bitplane_fmode]; x++)
550
550
{
551
551
int sprpix;
552
+ const bool out_of_beam = x >= amiga_state::SCREEN_WIDTH / 2 ;
552
553
553
554
/* time to execute the copper? */
554
555
if (x == next_copper_x)
@@ -620,7 +621,7 @@ void amiga_state::aga_render_scanline(bitmap_rgb32 &bitmap, int scanline)
620
621
}
621
622
622
623
/* clear the target pixels to the background color as a starting point */
623
- if (dst != nullptr )
624
+ if (dst != nullptr && !out_of_beam )
624
625
dst[x*2 +0 ] =
625
626
dst[x*2 +1 ] = aga_palette[0 ];
626
627
@@ -783,7 +784,7 @@ void amiga_state::aga_render_scanline(bitmap_rgb32 &bitmap, int scanline)
783
784
// TODO: CLXCON2
784
785
785
786
/* if we are within the display region, render */
786
- if (dst != nullptr && x >= m_diw.left () && x < m_diw.right ())
787
+ if (dst != nullptr && x >= m_diw.left () && x < m_diw.right () && !out_of_beam )
787
788
{
788
789
int pix, pri;
789
790
You can’t perform that action at this time.
0 commit comments