refine it some more
This commit is contained in:
parent
86b9c23136
commit
d5fd040e30
18
src/GPU.cpp
18
src/GPU.cpp
|
@ -1096,6 +1096,24 @@ void FinishFrame(u32 lines)
|
|||
}
|
||||
}
|
||||
|
||||
void BlankFrame()
|
||||
{
|
||||
int backbuf = FrontBuffer ? 0 : 1;
|
||||
int fbsize;
|
||||
if (GPU3D::CurrentRenderer->Accelerated)
|
||||
fbsize = (256*3 + 1) * 192;
|
||||
else
|
||||
fbsize = 256 * 192;
|
||||
|
||||
memset(Framebuffer[backbuf][0], 0, fbsize*4);
|
||||
memset(Framebuffer[backbuf][1], 0, fbsize*4);
|
||||
|
||||
FrontBuffer = backbuf;
|
||||
AssignFramebuffers();
|
||||
|
||||
TotalScanlines = 263;
|
||||
}
|
||||
|
||||
void StartScanline(u32 line)
|
||||
{
|
||||
if (line == 0)
|
||||
|
|
|
@ -607,6 +607,7 @@ void SetPowerCnt(u32 val);
|
|||
|
||||
void StartFrame();
|
||||
void FinishFrame(u32 lines);
|
||||
void BlankFrame();
|
||||
void StartScanline(u32 line);
|
||||
void StartHBlank(u32 line);
|
||||
|
||||
|
|
|
@ -1128,6 +1128,8 @@ u32 RunFrame()
|
|||
{
|
||||
FrameStartTimestamp = SysTimestamp;
|
||||
|
||||
GPU::TotalScanlines = 0;
|
||||
|
||||
LagFrameFlag = true;
|
||||
bool runFrame = Running && !(CPUStop & CPUStop_Sleep);
|
||||
while (Running)
|
||||
|
@ -1158,7 +1160,7 @@ u32 RunFrame()
|
|||
}
|
||||
|
||||
if (SysTimestamp >= frametarget)
|
||||
GPU::TotalScanlines = 263;
|
||||
GPU::BlankFrame();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1237,9 +1239,6 @@ u32 RunFrame()
|
|||
|
||||
if (CPUStop & CPUStop_Sleep)
|
||||
{
|
||||
// checkme: when is sleep mode effective?
|
||||
//CancelEvent(Event_LCD);
|
||||
//GPU::TotalScanlines = 263;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -1259,7 +1258,6 @@ u32 RunFrame()
|
|||
break;
|
||||
}
|
||||
|
||||
printf("FRAME %08X %d %016llX\n", CPUStop, GPU::TotalScanlines, SysTimestamp-FrameStartTimestamp);
|
||||
// In the context of TASes, frame count is traditionally the primary measure of emulated time,
|
||||
// so it needs to be tracked even if NDS is powered off.
|
||||
NumFrames++;
|
||||
|
|
Loading…
Reference in New Issue