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];  |