Talk:MMC5 pinout: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(Created page with "Will the colors still scroll in CL mode even if the pattern isn't? --~~~~")
 
(Answer)
Line 1: Line 1:
Will the colors still scroll in CL mode even if the pattern isn't? --[[User:Zzo38|Zzo38]] ([[User talk:Zzo38|talk]]) 12:52, 28 April 2013 (MDT)
Will the colors still scroll in CL mode even if the pattern isn't? --[[User:Zzo38|Zzo38]] ([[User talk:Zzo38|talk]]) 12:52, 28 April 2013 (MDT)
CL mode => PPU controls CHR A0, CHR A1, CHR A2.
SL mode => MMC5 controls those lines instead (passing the signal through when vertical split is not used, with a delay).
In both cases (scrolling or not), the vertical split section have the MMC5 trick the PPU by feeding name and attributes fetches with tiles from EXRAM instead of VRAM (while disabling the real VRAM). When scrolling is used as well, it just fetch from a different address for the coarse scrolling (adding a row to the fetched tile every 8 pixels), and shift the address of the CHR-ROM for fine scrolling.
So, in CL mode, the MMC5 decides which tile to display while the PPU choose which line of the tile is displaying, while in SL mode the MMC5 decides everything. If ones tries to use a different fine scroll for the main area and the vertical split (EXRAM) area, then the tile themselves will scroll smoothly, but their content won't, and will stick to the main background. This will lead to a quite interesting effect !
As for attributes, the MMC5 has to "guess" which attribute byte is fetched basing on the fine scrolling. If it scrolls fine in SL mode (let's assume it does) then it means the colour data is fetched form the correct place within EXRAM, so it will scroll the same way in CL mode, because the CHR-ROM is not involved in any way.
[[User:Bregalad|Bregalad]] ([[User talk:Bregalad|talk]]) 15:35, 8 February 2014 (MST)

Revision as of 22:35, 8 February 2014

Will the colors still scroll in CL mode even if the pattern isn't? --Zzo38 (talk) 12:52, 28 April 2013 (MDT)

CL mode => PPU controls CHR A0, CHR A1, CHR A2. SL mode => MMC5 controls those lines instead (passing the signal through when vertical split is not used, with a delay).

In both cases (scrolling or not), the vertical split section have the MMC5 trick the PPU by feeding name and attributes fetches with tiles from EXRAM instead of VRAM (while disabling the real VRAM). When scrolling is used as well, it just fetch from a different address for the coarse scrolling (adding a row to the fetched tile every 8 pixels), and shift the address of the CHR-ROM for fine scrolling.

So, in CL mode, the MMC5 decides which tile to display while the PPU choose which line of the tile is displaying, while in SL mode the MMC5 decides everything. If ones tries to use a different fine scroll for the main area and the vertical split (EXRAM) area, then the tile themselves will scroll smoothly, but their content won't, and will stick to the main background. This will lead to a quite interesting effect !

As for attributes, the MMC5 has to "guess" which attribute byte is fetched basing on the fine scrolling. If it scrolls fine in SL mode (let's assume it does) then it means the colour data is fetched form the correct place within EXRAM, so it will scroll the same way in CL mode, because the CHR-ROM is not involved in any way. Bregalad (talk) 15:35, 8 February 2014 (MST)