* delay 3D rendering a bit (fixes Monster Trucks flickering)

* remove logging for ITCM/DTCM
This commit is contained in:
StapleButter 2017-05-27 23:47:20 +02:00
parent 6f4d835c7f
commit 529039f766
3 changed files with 13 additions and 9 deletions

View File

@ -64,13 +64,13 @@ void UpdateDTCMSetting()
{
DTCMBase = DTCMSetting & 0xFFFFF000;
DTCMSize = 0x200 << ((DTCMSetting >> 1) & 0x1F);
printf("DTCM [%08X] enabled at %08X, size %X\n", DTCMSetting, DTCMBase, DTCMSize);
//printf("DTCM [%08X] enabled at %08X, size %X\n", DTCMSetting, DTCMBase, DTCMSize);
}
else
{
DTCMBase = 0xFFFFFFFF;
DTCMSize = 0;
printf("DTCM disabled\n");
//printf("DTCM disabled\n");
}
}
@ -79,12 +79,12 @@ void UpdateITCMSetting()
if (Control & (1<<18))
{
ITCMSize = 0x200 << ((ITCMSetting >> 1) & 0x1F);
printf("ITCM [%08X] enabled at %08X, size %X\n", ITCMSetting, 0, ITCMSize);
//printf("ITCM [%08X] enabled at %08X, size %X\n", ITCMSetting, 0, ITCMSize);
}
else
{
ITCMSize = 0;
printf("ITCM disabled\n");
//printf("ITCM disabled\n");
}
}

View File

@ -617,7 +617,14 @@ void StartHBlank(u32 line)
DispStat[0] |= (1<<1);
DispStat[1] |= (1<<1);
if (VCount < 192) NDS::CheckDMAs(0, 0x02);
if (VCount < 192)
{
NDS::CheckDMAs(0, 0x02);
}
else if (VCount == 215)
{
GPU3D::VCount215();
}
if (DispStat[0] & (1<<4)) NDS::SetIRQ(0, NDS::IRQ_HBlank);
if (DispStat[1] & (1<<4)) NDS::SetIRQ(1, NDS::IRQ_HBlank);
@ -725,10 +732,6 @@ void StartScanline(u32 line)
{
GPU3D::VCount144();
}
else if (VCount == 215)
{
GPU3D::VCount215();
}
}
NDS::ScheduleEvent(NDS::Event_LCD, true, HBLANK_CYCLES, StartHBlank, line);

View File

@ -382,6 +382,7 @@ void GPU2D::DrawScanline(u32 line)
// request each 3D scanline in advance
// this is required for the threaded mode of the software renderer
// (alternately we could call GetLine() once and store the result somewhere)
if (Num == 0)
GPU3D::RequestLine(line);