aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/GPU2D.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/GPU2D.cpp b/src/GPU2D.cpp
index 8998453..9d7ab8f 100644
--- a/src/GPU2D.cpp
+++ b/src/GPU2D.cpp
@@ -709,10 +709,6 @@ void GPU2D::DrawScanline(u32 line)
// oddly that's not the case for GPU A
if (Num && !Enabled) forceblank = true;
- // forced blank
- // (checkme: are there still things that can run under this mode? likely not)
- if (DispCnt & (1<<7)) forceblank = true;
-
if (forceblank)
{
for (int i = 0; i < 256; i++)
@@ -1350,6 +1346,15 @@ void GPU2D::DrawScanlineBGMode6(u32 line)
void GPU2D::DrawScanline_BGOBJ(u32 line)
{
+ // forced blank disables BG/OBJ compositing
+ if (DispCnt & (1<<7))
+ {
+ for (int i = 0; i < 256; i++)
+ BGOBJLine[i] = 0xFF3F3F3F;
+
+ return;
+ }
+
u64 backdrop;
if (Num) backdrop = *(u16*)&GPU::Palette[0x400];
else backdrop = *(u16*)&GPU::Palette[0];