It is currently Fri Nov 24, 2017 8:07 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 41 posts ]  Go to page 1, 2, 3  Next
Author Message
PostPosted: Tue Nov 10, 2015 8:29 pm 
Offline
User avatar

Joined: Sat May 31, 2014 4:12 pm
Posts: 139
I'm currently in the early stages of programming an NFL football game. I plan to make a better version of Tecmo Super Bowl that modernizes the game and includes better graphics, gameplay, and options. As it stands, I am using MMC3 mapper 004. I am looking for the best mapper for this project, preferably one that incorporates CHR RAM which I have never used before. I see that TQROM mapper 119 has both CHR ROM and CHR RAM but only 128 PRG and 64 CHR. This will not be enough. I will need something close to 128 KiB for field graphics alone. I want CHR RAM so I can animate players more smoothly and create pixel-by-pixel tile effects on objects like the flags that hang on the goal posts.

What mapper would you suggest? Should I consider MMC5 or MMC6?


Attachments:
NFL-1.png
NFL-1.png [ 2.01 KiB | Viewed 1913 times ]
Top
 Profile  
 
PostPosted: Tue Nov 10, 2015 8:54 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19254
Location: NE Indiana, USA (NTSC)
You could use TGROM (Mega Man 4, Mega Man 6, Ninja Crusaders), or a TLROM board modded to behave like TGROM. Or you could use TGROM modded to take a 62256 (32 KiB SRAM), which allows both tile animation and arbitrary updating.

But what in your project needs MMC3? Could it get away with something simpler like BNROM (Deadly Towers, Haunted Halloween '85) or MMC1 SGROM/SNROM (too many to list)?


Top
 Profile  
 
PostPosted: Tue Nov 10, 2015 9:02 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6454
Location: UK (temporarily)
There are a bunch of pirate knockoffs of MMC3 with CHR-RAM and CHR-ROM, supporting 2KiB to 4 KiB CHR RAM and 128 to 254 KiB CHR ROM. (Mappers 74, 191, 192, 194, 195)

For manufacturability, I think the best option is to just use a large CHR-RAM (128KiB ones are easily purchased currently) and upload all the graphic data from PRG-ROM instead.

Note that if emulator compatibility is an objective, that will preclude anything not explicitly in this list.


Top
 Profile  
 
PostPosted: Tue Nov 10, 2015 9:08 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10118
Location: Rio de Janeiro - Brazil
If you're not going to use scanline IRQs, even the MMC3 is probably overkill. Which of the MMC3's features are you planning on using, and for what purposes?

raydempsey wrote:
I will need something close to 128 KiB for field graphics alone.

Why do you need over 8,000 tiles to draw football fields? I also don't see why you'd need CHR-ROM + CHR-RAM. Isn't it just a football field (which I can't imagine using more than 256 tiles) with a few animated tiles, plus the animated players as sprites?


Top
 Profile  
 
PostPosted: Tue Nov 10, 2015 9:18 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19254
Location: NE Indiana, USA (NTSC)
Perhaps the team logos in the end zones take a lot of tiles.


Top
 Profile  
 
PostPosted: Tue Nov 10, 2015 11:08 pm 
Offline
User avatar

Joined: Sat May 31, 2014 4:12 pm
Posts: 139
tokumaru wrote:
If you're not going to use scanline IRQs, even the MMC3 is probably overkill. Which of the MMC3's features are you planning on using, and for what purposes?

raydempsey wrote:
I will need something close to 128 KiB for field graphics alone.

Why do you need over 8,000 tiles to draw football fields? I also don't see why you'd need CHR-ROM + CHR-RAM. Isn't it just a football field (which I can't imagine using more than 256 tiles) with a few animated tiles, plus the animated players as sprites?


Too address both questions: Part of my revision of Tecmo Super Bowl involves creating every team's two endzones, a mid-field logo, logos on the field, NFL Play 60 and so forth. The two endzones and the midfield graphics combine to 4K per team. So for all 32 teams that is 128K of data best suited for CHR ROM. I want each tile to be drawn separately for each football player with help from CHR RAM to allow more animations to run at the same time. These fields will look great. Lastly, I want to add a few finishing touches that only can be done with CHR RAM.


Top
 Profile  
 
PostPosted: Tue Nov 10, 2015 11:12 pm 
Offline
User avatar

Joined: Sat May 31, 2014 4:12 pm
Posts: 139
tepples wrote:
Perhaps the team logos in the end zones take a lot of tiles.


They do. They're worth it. Makes the game more NFL. I'm hoping there is a solution out there where I can have a bunch of CHR ROM and a large PRG ROM but still have the ability to create new tiles down to the pixel with help from CHR RAM.


Top
 Profile  
 
PostPosted: Wed Nov 11, 2015 4:34 am 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10118
Location: Rio de Janeiro - Brazil
raydempsey wrote:
So for all 32 teams that is 128K of data best suited for CHR ROM.

Will you be switching large portions of CHR during gameplay, though? If not, it makes much more sense to upload the field graphics to CHR-RAM when each game starts than to use something as unconventional as CHR-ROM + CHR-RAM. And you can also animate small background elements the same way you animate the players.


Top
 Profile  
 
PostPosted: Wed Nov 11, 2015 7:18 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19254
Location: NE Indiana, USA (NTSC)
raydempsey wrote:
They do. They're worth it. Makes the game more NFL.

EA WILL SUE

tokumaru wrote:
it makes much more sense to upload the field graphics to CHR-RAM when each game starts

If only the left end zone or the right end zone can be seen at once, it makes sense to bankswitch out the tiles for the one that isn't showing if at all possible.


Top
 Profile  
 
PostPosted: Wed Nov 11, 2015 7:27 am 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10118
Location: Rio de Janeiro - Brazil
tepples wrote:
If only the left end zone or the right end zone can be seen at once, it makes sense to bankswitch out the tiles for the one that isn't showing if at all possible.

Yes, that would work better with CHR-ROM (or more than 8KB of CHR-RAM) if the field really needed that much detail, but according to him, "the two endzones and the midfield graphics combine to 4K per team", so I'm guessing the field doesn't need any bankswitching during gameplay, in which case a simpler mapper might be the way to go.


Top
 Profile  
 
PostPosted: Wed Nov 11, 2015 10:41 am 
Offline
User avatar

Joined: Sat May 31, 2014 4:12 pm
Posts: 139
tokumaru wrote:
tepples wrote:
If only the left end zone or the right end zone can be seen at once, it makes sense to bankswitch out the tiles for the one that isn't showing if at all possible.

Yes, that would work better with CHR-ROM (or more than 8KB of CHR-RAM) if the field really needed that much detail, but according to him, "the two endzones and the midfield graphics combine to 4K per team", so I'm guessing the field doesn't need any bankswitching during gameplay, in which case a simpler mapper might be the way to go.


I have 1K dedicated to field graphics common to all fields.
I have 1K for text and a field goal post of one side of the field
I have 2K for a single endzone.

CHR ROM is good for the bank switching midfield. I think I could live without CHR RAM if I had enough CHR ROM. I am looking more closely at mapper 005 MMC5.
http://wiki.nesdev.com/w/index.php/MMC5
One thing I think I'm understanding is that you can access 16384 tiles at once (256x64) with MMC5. I'm only familiar with MMC3 so this is unfamiliar to me as to how that works. I like that is says that the max capacity is 1024 PRG ROM and 1024 CHR ROM but I still need to figure out to how to get it going.

The vertical split screen could come in handy too.


Attachments:
tiles.jpg
tiles.jpg [ 970.72 KiB | Viewed 1805 times ]
Top
 Profile  
 
PostPosted: Wed Nov 11, 2015 10:56 am 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10118
Location: Rio de Janeiro - Brazil
raydempsey wrote:
I am looking more closely at mapper 005 MMC5.

One of the problems with the MMC5 (the NES super mapper, yay!) is that it's not currently available for making new carts. AFAIK, the only way is still to use donor cartridges. The other problem is the lack of full support for it in Flash carts.

Quote:
One thing I think I'm understanding is that you can access 16384 tiles at once (256x64) with MMC5. I'm only familiar with MMC3 so this is unfamiliar to me as to how that works.

It has an extra 1KB of internal RAM, which may be used to extend the information contained in the name tables, where each entry is 8 bits and can only address 256 tiles. The extra bits allow you to address 16384 tiles, and select one of the 4 palettes for each tile, as opposed to each 16x16-pixel area like it is with the attribute tables.

Quote:
I like that is says that the max capacity is 1024 PRG ROM and 1024 CHR ROM but I still need to figure out to how to get it going.

I think that the 1MB of CHR RAM is divided into 4 banks of 256KB, but I didn't look it up.

Quote:
The vertical split screen could come in handy too.

I don't think any games ever used this...


Top
 Profile  
 
PostPosted: Wed Nov 11, 2015 11:01 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19254
Location: NE Indiana, USA (NTSC)
How wide in pixels is the space between the end zone and the center logo, how fast in pixels per second (pixels per 60 frames) can a player run, how big are the players in tiles, how many are there if not 22, and how fast in frames per second do you plan on updating the players' cels? I need this information to assess your video memory bandwidth requirement in order to determine whether it'd be practical to load the left end zone, center logo, or right end zone in the background as a player approaches it. My last couple major NES projects (RHDE: Furniture Fight and Haunted: Halloween '85) had plenty of dynamic CHR RAM updates, and I wonder if that strategy would be good enough for your project.

You have 8 pixels per horizontal yard, just as in my Mode 7 field mock-up, which means the distance from goal to the 50 yard line is 400 pixels. From this you must subtract 256 pixels (the width of the screen) and half the width of the center logo, and then divide by the player's maximum running speed to see how many frames you have to get the tiles replaced. You can comfortably replace 8 tiles per vblank, or a full 128 tiles in a quarter second provided nothing else is uploading tile animations. Can I assume the screen won't scroll faster than 10 yards per second, or 8 pixels per 6 frames?

If that's not fast enough, there's always the option of replacing the 6264 SRAM in a TGROM or compatible board with a 62256 SRAM, which gives you 32K of bankable CHR RAM. Emulators that support NES 2.0 should handle it without problem.


Top
 Profile  
 
PostPosted: Wed Nov 11, 2015 12:12 pm 
Offline
User avatar

Joined: Sat May 31, 2014 4:12 pm
Posts: 139
tokumaru wrote:
raydempsey wrote:
I am looking more closely at mapper 005 MMC5.

One of the problems with the MMC5 (the NES super mapper, yay!) is that it's not currently available for making new carts. AFAIK, the only way is still to use donor cartridges. The other problem is the lack of full support for it in Flash carts.

I'm not worried about putting it on a cart later because I can't profit off of my game because of the NFL trademarks.

Quote:
One thing I think I'm understanding is that you can access 16384 tiles at once (256x64) with MMC5. I'm only familiar with MMC3 so this is unfamiliar to me as to how that works.

It has an extra 1KB of internal RAM, which may be used to extend the information contained in the name tables, where each entry is 8 bits and can only address 256 tiles. The extra bits allow you to address 16384 tiles, and select one of the 4 palettes for each tile, as opposed to each 16x16-pixel area like it is with the attribute tables.

Quote:
I like that is says that the max capacity is 1024 PRG ROM and 1024 CHR ROM but I still need to figure out to how to get it going.

I think that the 1MB of CHR RAM is divided into 4 banks of 256KB, but I didn't look it up.

I have hoping to have available 1024 1K CHR ROM banks for bank switching. The instructions says that for CHR MODE 3, I will need to write to $5130 for the upper bank bits and between $5120-$5127 for the lower bank bits. So to switch $0000-$03FF bank 12C, would I have to write #$01 to $5130 first then #$2C to $5120?

Quote:
The vertical split screen could come in handy too.

I don't think any games ever used this...


Top
 Profile  
 
PostPosted: Wed Nov 11, 2015 12:28 pm 
Offline
User avatar

Joined: Sat May 31, 2014 4:12 pm
Posts: 139
tepples wrote:
How wide in pixels is the space between the end zone and the center logo, how fast in pixels per second (pixels per 60 frames) can a player run, how big are the players in tiles, how many are there if not 22, and how fast in frames per second do you plan on updating the players' cels? I need this information to assess your video memory bandwidth requirement in order to determine whether it'd be practical to load the left end zone, center logo, or right end zone in the background as a player approaches it. My last couple major NES projects (RHDE: Furniture Fight and Haunted: Halloween '85) had plenty of dynamic CHR RAM updates, and I wonder if that strategy would be good enough for your project.

You have 8 pixels per horizontal yard, just as in my Mode 7 field mock-up, which means the distance from goal to the 50 yard line is 400 pixels. From this you must subtract 256 pixels (the width of the screen) and half the width of the center logo, and then divide by the player's maximum running speed to see how many frames you have to get the tiles replaced. You can comfortably replace 8 tiles per vblank, or a full 128 tiles in a quarter second provided nothing else is uploading tile animations. Can I assume the screen won't scroll faster than 10 yards per second, or 8 pixels per 6 frames?

If that's not fast enough, there's always the option of replacing the 6264 SRAM in a TGROM or compatible board with a 62256 SRAM, which gives you 32K of bankable CHR RAM. Emulators that support NES 2.0 should handle it without problem.


I think it is safe to say my screen will never need to scroll more than 8 pixels per 6 frames. I haven't thought of all the possibilities yet of how I want to update the PPU. There is at least one full screen of space after the endzone fully comes off screen to when the midfield logo appears so CHR ROM is great for this because of the bank switching but not totally necessary. The more I think of it, the better it sounds to have 16384 tiles at my disposal at all times (MMC5). If I have 1024K CHR ROM, which 16384 tiles do I have access to? Is that dictated by my write to $5130? Is that what they mean when it is written regarding $5130:
"When the MMC5 is using 2KB/1KB CHR banks, only 512KB/256KB of CHR ROM can be selected using the previous registers. To access all 1024KB in those modes, first write the upper bit(s) to register $5130 and then write the lower bits to $5120-$512B. When the Extended RAM mode is set to 1, this selects which 256KB of CHR ROM is to be used for all background tiles on the screen."


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

All times are UTC - 7 hours


Who is online

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