aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArisotura <thetotalworm@gmail.com>2019-07-24 00:27:08 +0200
committerArisotura <thetotalworm@gmail.com>2019-07-24 00:27:08 +0200
commitc1fa5d8283cde76110690d15b2d127ead65d2265 (patch)
tree08696e010adecb918d2e5e7adedc7be1170a9dd6
parent22f3cae0677d07033289689d536f4f515ea3274d (diff)
GPU2D: forced-blank only disables BG/OBJ compositing (VRAM/FIFO display, capture, master brightness still run)
fixes #491
-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];