mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2024-11-14 21:37:42 -07:00
* delay 3D rendering a bit (fixes Monster Trucks flickering)
* remove logging for ITCM/DTCM
This commit is contained in:
parent
6f4d835c7f
commit
529039f766
@ -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");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
13
src/GPU.cpp
13
src/GPU.cpp
@ -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);
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user