MMC5

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
MMC5
by on (#48102)
I'm having a bit of trouble interpreting the Wiki MMC5 description of ports $5120 - $512B. I'm using Castlevania III as my 'test'. I get good looking sprites but the background is sometimes good sometimes completely trash.

Code:
Registers $5120-$5127 apply to sprite graphics and $5128-$512B for background graphics, but ONLY when 8x16 sprites are enabled.

Otherwise, the last set of registers written to (either $5120-$5127 or $5128-$512B) will be used for all graphics.


Does this mean that if the PPU is in 8x16 sprite mode then writes to $5128 - $512B will apply to both sprite and background? It is confusing because...this is from $5128 description:

Code:
Mode 3 - Select a 1KB CHR ROM bank at PPU $0000-$03FF and $1000-$13FF


but this is from $512A description:

Code:
Mode 3 - Select a 1KB CHR ROM bank at PPU $0800-$0BFF or $1800-$1BFF


Why the switch from 'and' to 'or'?

Can someone help clear me up?
Re: MMC5
by on (#48103)
Obligatory plug/link: http://www.romhacking.net/docs/362/

NESICIDE wrote:
Does this mean that if the PPU is in 8x16 sprite mode then writes to $5128 - $512B will apply to both sprite and background?


No. When 8x16 sprites, $5120-5127 are sprites, and $5128-512B are BG.

Quote:
Why the switch from 'and' to 'or'?


*shrug* probably just inconsistent wording.