It is currently Tue Apr 24, 2018 12:04 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 18 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: Sun Apr 08, 2018 7:32 am 
Offline
Formerly Fx3
User avatar

Joined: Fri Nov 12, 2004 4:59 pm
Posts: 3097
Location: Brazil
Technically, does MMC5 support CHR RAM instead of CHR ROM?


Top
 Profile  
 
PostPosted: Sun Apr 08, 2018 8:22 am 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 7020
Location: Seattle
As far as I can tell, no existing mapper prevents the use of CHR RAM.

And I can't think of a feature that would necessarily require the use of CHR ROM, although a specific implementation could prevent writes to the CHR RAM.


Top
 Profile  
 
PostPosted: Sun Apr 08, 2018 12:09 pm 
Offline
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7418
Location: Chexbres, VD, Switzerland
The main problem is that with the complicated CHR-bankswitching involving two virtual banks (for BG and for sprites), it will be hard to know where in the CHR-RAM you're writing to.


Top
 Profile  
 
PostPosted: Sun Apr 08, 2018 12:24 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 7020
Location: Seattle
It's really not that bad. (last time and characterization ROM)


Top
 Profile  
 
PostPosted: Sun Apr 08, 2018 5:00 pm 
Offline
Formerly Fx3
User avatar

Joined: Fri Nov 12, 2004 4:59 pm
Posts: 3097
Location: Brazil
1. As far as know, there are no official games within CHR RAM, but CHR ROM.
2. As developer, you wouldn't create a game without CHR ROM, since the board offers a complex bankswitching system to improve graphics.
3. As emulator author, I've created a check for CHR ROM to this mapper. Dirty headers might bring the wrong mapper number. In other words, if a game is marked mapper 5 and has no CHR ROM, the emulator halts the loading.


Top
 Profile  
 
PostPosted: Sun Apr 08, 2018 5:17 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 6220
Location: Canada
Well, using CHR-RAM in place of CHR-ROM in any mapper with CHR bankswitching more or less presupposes the emulator iNES 2 support, except for 1 or 2 special cases of mappers previously known to have 32k CHR-RAM. Otherwise there's no way to specify how much CHR-RAM you need.

I think you'll find a lot of older emulators will not do CHR-RAM for arbitrary mappers, even the "0 CHR-ROM = normally assume 8k CHR-RAM" iNES 1 level support is pretty spotty from what I've seen.

If the emulator supports iNES 2 it really probably should let you do it for all mappers.


Top
 Profile  
 
PostPosted: Sun Apr 08, 2018 5:19 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 7020
Location: Seattle
re: #2- nonsense. Lagrange Point uses bankswitching of CHR-RAM, and there's no reason to think that it wouldn't be more useful with even more CHR-RAM or more sophisticated bankswitching schemes.

Bankswitched large CHR-RAM gets you all of the advantages of both mentioned on the wiki, with the sole exception of "now you have to initialize it".


Top
 Profile  
 
PostPosted: Sun Apr 08, 2018 5:27 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 6220
Location: Canada
If your PRG-ROM size is constrained by register size or other practical limits (e.g. PowerPak's 512k) being able to put 256k or 512k of uncompressed CHR in a separate ROM is a pretty significant advantage by itself.

But yeah I don't see what would be confusing about where CHR-RAM goes in the MMC5 mapper. Where once was ROM is now RAM.

Even in the Napoleon Senki mapper, I would think that the original implied CHR-RAM would remain in place and an iNES 2 specified CHR-RAM would replace the previous CHR-ROM portion.
https://wiki.nesdev.com/w/index.php/INES_Mapper_077


Top
 Profile  
 
PostPosted: Sun Apr 08, 2018 6:27 pm 
Offline
Formerly Fx3
User avatar

Joined: Fri Nov 12, 2004 4:59 pm
Posts: 3097
Location: Brazil
lidnariq wrote:
re: #2- nonsense. Lagrange Point uses bankswitching of CHR-RAM, and there's no reason to think that it wouldn't be more useful with even more CHR-RAM or more sophisticated bankswitching schemes.

Hi? Lagrange Point is official and NOT a MMC5 game. Period.


Top
 Profile  
 
PostPosted: Sun Apr 08, 2018 7:22 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 7020
Location: Seattle
Quote:
2. As developer, you wouldn't create a game without CHR ROM, since the board offers a complex bankswitching system to improve graphics.
Lagrange Point is a counterexample. "Complex bankswitching system" does not preclude using bankswitching on CHR RAM.


Top
 Profile  
 
PostPosted: Sun Apr 08, 2018 11:26 pm 
Offline
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7418
Location: Chexbres, VD, Switzerland
By the way, does anyone know how does Lagrange Point exactly uses bankswitched CHR-RAM ? Since there's only 8k of it, I don't really see the point.

(Sorry for derailing off-topic).


Top
 Profile  
 
PostPosted: Mon Apr 09, 2018 12:16 am 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10427
Location: Rio de Janeiro - Brazil
I don't know about Lagrange Point specifically, but there are a few things you can do with bankswitched RAM even if there's only 8KB of it. Changing the order in which tiles are mapped in the PPU address space makes background animations possible without the need for name table changes, just like with CHR-ROM, but with the disadvantage of reducing the amount of unique tiles you can have on screen. You can double buffer background pattern animations that take longer than a vblank to update, and only switch the graphics when all tiles are ready. You can also make the same set of tiles available on both pattern tables, for objects that can be displayed both as background and as sprites (e.g. collectible items), which, if animated, will only need to be changed once.


Top
 Profile  
 
PostPosted: Mon Apr 09, 2018 12:22 am 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 6220
Location: Canada
Bregalad wrote:
By the way, does anyone know how does Lagrange Point exactly uses bankswitched CHR-RAM ? Since there's only 8k of it, I don't really see the point.

I think the game uses mostly 8x8 sprites, and primarily uses this to share tiles with the background.

Seems like a case of a feature they already had in the mapper (which was designed for 256k CHR-ROM) that they just decided to use because it was slightly convenient.


Top
 Profile  
 
PostPosted: Mon Apr 09, 2018 12:53 am 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10427
Location: Rio de Janeiro - Brazil
rainwarrior wrote:
I think the game uses mostly 8x8 sprites, and primarily uses this to share tiles with the background.

Even when you're using 8x16 sprites you may want to use this if you're also using MMC3's scanline counter, since it gets confused by sprites being fetched from the background side.


Top
 Profile  
 
PostPosted: Mon Apr 09, 2018 3:05 am 
Offline
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7418
Location: Chexbres, VD, Switzerland
rainwarrior wrote:
Seems like a case of a feature they already had in the mapper (which was designed for 256k CHR-ROM) that they just decided to use because it was slightly convenient.

In which part of the game does sprites use tiles from the background or vice-versa ?

Personally I think the graphics in LP are very standard/average for NES and I fail to see where they would have done clever tricks like that. The only impressive thing is the elevator's animation and the cutscenes there is before some boss fights.

Quote:
Even when you're using 8x16 sprites you may want to use this if you're also using MMC3's scanline counter, since it gets confused by sprites being fetched from the background side.

As far as I know, few games ever used MMC3+CHR-RAM, and of those who does, they do not bank-switch CHR-RAM after the initialization, but simply uses it as a good old 8k block.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 18 posts ]  Go to page 1, 2  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 8 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