diff options
author | Arisotura <thetotalworm@gmail.com> | 2019-07-24 00:27:08 +0200 |
---|---|---|
committer | Arisotura <thetotalworm@gmail.com> | 2019-07-24 00:27:08 +0200 |
commit | c1fa5d8283cde76110690d15b2d127ead65d2265 (patch) | |
tree | 08696e010adecb918d2e5e7adedc7be1170a9dd6 | |
parent | 22f3cae0677d07033289689d536f4f515ea3274d (diff) |
GPU2D: forced-blank only disables BG/OBJ compositing (VRAM/FIFO display, capture, master brightness still run)
fixes #491
-rw-r--r-- | src/GPU2D.cpp | 13 |
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]; |