aboutsummaryrefslogtreecommitdiff
path: root/src/GPU2D.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/GPU2D.cpp')
-rw-r--r--src/GPU2D.cpp40
1 files changed, 20 insertions, 20 deletions
diff --git a/src/GPU2D.cpp b/src/GPU2D.cpp
index 40f1c6e..e1419bf 100644
--- a/src/GPU2D.cpp
+++ b/src/GPU2D.cpp
@@ -368,6 +368,25 @@ void GPU2D::DrawScanline(u32 line)
u32 dispmode = DispCnt >> 16;
dispmode &= (Num ? 0x1 : 0x3);
+ // always render regular graphics
+ DrawScanline_Mode1(line, dst);
+
+ // capture
+ if ((Num == 0) && (CaptureCnt & (1<<31)))
+ {
+ u32 capwidth, capheight;
+ switch ((CaptureCnt >> 20) & 0x3)
+ {
+ case 0: capwidth = 128; capheight = 128; break;
+ case 1: capwidth = 256; capheight = 64; break;
+ case 2: capwidth = 256; capheight = 128; break;
+ case 3: capwidth = 256; capheight = 192; break;
+ }
+
+ if (line < capheight)
+ DoCapture(line, capwidth, dst);
+ }
+
switch (dispmode)
{
case 0: // screen off
@@ -377,10 +396,7 @@ void GPU2D::DrawScanline(u32 line)
}
break;
- case 1: // regular display
- {
- DrawScanline_Mode1(line, dst);
- }
+ case 1: // regular display, already taken care of
break;
case 2: // VRAM display
@@ -426,22 +442,6 @@ void GPU2D::DrawScanline(u32 line)
break;
}
- // capture
- if ((!Num) && (CaptureCnt & (1<<31)))
- {
- u32 capwidth, capheight;
- switch ((CaptureCnt >> 20) & 0x3)
- {
- case 0: capwidth = 128; capheight = 128; break;
- case 1: capwidth = 256; capheight = 64; break;
- case 2: capwidth = 256; capheight = 128; break;
- case 3: capwidth = 256; capheight = 192; break;
- }
-
- if (line < capheight)
- DoCapture(line, capwidth, dst);
- }
-
// master brightness
if (dispmode != 0)
{