PPU: Mode 6 support (incomplete)

This commit is contained in:
Sour 2019-02-24 10:30:19 -05:00
parent 3aa008b831
commit e80d6fcd7f
2 changed files with 15 additions and 2 deletions

View file

@ -313,6 +313,18 @@ void Ppu::RenderMode5()
RenderBgColor<forMainScreen>(); RenderBgColor<forMainScreen>();
} }
template<bool forMainScreen>
void Ppu::RenderMode6()
{
RenderSprites<3, forMainScreen>();
RenderTilemap<0, 4, true, forMainScreen>();
RenderSprites<2, forMainScreen>();
RenderSprites<1, forMainScreen>();
RenderTilemap<0, 4, false, forMainScreen>();
RenderSprites<0, forMainScreen>();
RenderBgColor<forMainScreen>();
}
template<bool forMainScreen> template<bool forMainScreen>
void Ppu::RenderMode7() void Ppu::RenderMode7()
{ {
@ -375,8 +387,8 @@ void Ppu::RenderScanline()
break; break;
case 6: case 6:
RenderTilemap<0, 8, false, true>(); RenderMode6<true>();
RenderBgColor<true>(); RenderMode6<false>();
break; break;
case 7: case 7:

View file

@ -145,6 +145,7 @@ private:
template<bool forMainScreen> void RenderMode3(); template<bool forMainScreen> void RenderMode3();
template<bool forMainScreen> void RenderMode4(); template<bool forMainScreen> void RenderMode4();
template<bool forMainScreen> void RenderMode5(); template<bool forMainScreen> void RenderMode5();
template<bool forMainScreen> void RenderMode6();
template<bool forMainScreen> void RenderMode7(); template<bool forMainScreen> void RenderMode7();
void RenderScanline(); void RenderScanline();