It is currently Fri Dec 15, 2017 5:23 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 5 posts ] 
Author Message
 Post subject: MMC5 CHR banking
PostPosted: Wed Mar 29, 2017 5:07 am 
Offline

Joined: Mon Nov 10, 2008 3:09 pm
Posts: 431
According to the Wiki:

Quote:
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.


Has this been confirmed via testing on original hardware? It seems very unlikely to me. How is the MMC5 supposed to know whether sprites are 8x8 or 8x16?


Top
 Profile  
 
 Post subject: Re: MMC5 CHR banking
PostPosted: Wed Mar 29, 2017 9:20 am 
Offline
User avatar

Joined: Mon Jan 03, 2005 10:36 am
Posts: 2983
Location: Tampere, Finland
AWJ wrote:
How is the MMC5 supposed to know whether sprites are 8x8 or 8x16?

It can spy on writes to $2000.

_________________
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: kkfos.aspekt.fi


Top
 Profile  
 
 Post subject: Re: MMC5 CHR banking
PostPosted: Sat Apr 01, 2017 11:00 pm 
Offline
User avatar

Joined: Sat Jul 12, 2014 3:04 pm
Posts: 950
Can. But does it? It could also log sprite reads and…yeah, that would take a lot more silicon.


Top
 Profile  
 
 Post subject: Re: MMC5 CHR banking
PostPosted: Sat Apr 01, 2017 11:04 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6526
Location: Seattle
The big question I have from that is why would that be desirable ?

It feels like it "has" to be a side effect of how they implemented this extended sprite banking, but I don't have any ideas as to what original constraint would make this simpler than just always having sprites come from a disjoint banking space than the background, regardless of whether the sprites were 8x8 or 8x16.


Top
 Profile  
 
 Post subject: Re: MMC5 CHR banking
PostPosted: Sat Apr 01, 2017 11:20 pm 
Offline
User avatar

Joined: Sat Jul 12, 2014 3:04 pm
Posts: 950
Playing Devil's Advocate…
  • Having concurrent banking helps when you're doing raster effect banking that includes sprites.
  • Having 8x16 sprites means you're using significantly more data on sprites.
  • 8x8 banking already permits BG-disjoint banking of sprites, by PPUCTRL.d3-4 = {10,01} and having different banking registers for $0xxx and $1xxx.
  • Having a mode where it acts like a traditional mapper possibly reduces programmer learning time.
Yes, weak reasons.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 5 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: Bing [Bot] and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group