* 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; DTCMBase = DTCMSetting & 0xFFFFF000;
DTCMSize = 0x200 << ((DTCMSetting >> 1) & 0x1F); 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 else
{ {
DTCMBase = 0xFFFFFFFF; DTCMBase = 0xFFFFFFFF;
DTCMSize = 0; DTCMSize = 0;
printf("DTCM disabled\n"); //printf("DTCM disabled\n");
} }
} }
@ -79,12 +79,12 @@ void UpdateITCMSetting()
if (Control & (1<<18)) if (Control & (1<<18))
{ {
ITCMSize = 0x200 << ((ITCMSetting >> 1) & 0x1F); 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 else
{ {
ITCMSize = 0; 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[0] |= (1<<1);
DispStat[1] |= (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[0] & (1<<4)) NDS::SetIRQ(0, NDS::IRQ_HBlank);
if (DispStat[1] & (1<<4)) NDS::SetIRQ(1, NDS::IRQ_HBlank); if (DispStat[1] & (1<<4)) NDS::SetIRQ(1, NDS::IRQ_HBlank);
@ -725,10 +732,6 @@ void StartScanline(u32 line)
{ {
GPU3D::VCount144(); GPU3D::VCount144();
} }
else if (VCount == 215)
{
GPU3D::VCount215();
}
} }
NDS::ScheduleEvent(NDS::Event_LCD, true, HBLANK_CYCLES, StartHBlank, line); 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 // request each 3D scanline in advance
// this is required for the threaded mode of the software renderer // 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) if (Num == 0)
GPU3D::RequestLine(line); GPU3D::RequestLine(line);