It is currently Fri Nov 24, 2017 2:34 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 14 posts ] 
Author Message
PostPosted: Sat Oct 14, 2017 4:01 pm 
Offline

Joined: Sun Mar 08, 2015 12:23 pm
Posts: 251
Location: Croatia
I'm looking for a mapper configuration that has a 32kB PRG-ROM and a 8kB CHR-RAM chip. I'd like to experiment with compressing graphics into the PRG-ROM or have an algorithm that renders them and then render those into the CHR-RAM during gameplay or during loading of the game. You might be asking why, but in my game idea, there's a part where the player can draw their character and when a player wins or loses, a sprite tile with two 4x6-font digits appears which tells the score and the same tile for lives.

Does such a mapper exist?

Also, if it's rare, what would you recommend that I should rather use which contains CHR-RAM?


Top
 Profile  
 
PostPosted: Sat Oct 14, 2017 4:08 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6450
Location: UK (temporarily)
BNROM with only 32 KiB of PRG is effectively what you describe. There is pedantically a latch, but it's not connected to anything.

Most emulators also do the right thing given an NROM image that's marked as having no CHR-ROM.


Top
 Profile  
 
PostPosted: Sat Oct 14, 2017 4:20 pm 
Offline

Joined: Sun Mar 08, 2015 12:23 pm
Posts: 251
Location: Croatia
How rare is it to find such a board?


Top
 Profile  
 
PostPosted: Sat Oct 14, 2017 4:25 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5838
Location: Canada
UNROM with a line or two at startup to set the low bank would also work.


Bootgod's database lets you search by mapper, if you want to speculate about rarity:
http://bootgod.dyndns.org:7777/search.php?ines=34

BUT you're not even trying to build BNROM here, you're building NROM + CHR-RAM. If you're looking for a donor just use a common NROM cart. BNROM is merely an iNES mapper that's compatible with what you want.

It's extremely easy to build on new boards though, a donor shouldn't really be necessary.


Top
 Profile  
 
PostPosted: Sat Oct 14, 2017 4:32 pm 
Offline
User avatar

Joined: Sat Jul 04, 2015 9:58 am
Posts: 568
Location: -29.794229 -55.795374
I think it's kind of rare.
Only 2 games on NesCartDB!
Would be possible to take an NROM and substitute it's CHR ROM to a CHR RAM?
I think this is possible if the cartridge has the /WE pin (Pin 56 if I'm not mistaken).


Top
 Profile  
 
PostPosted: Sat Oct 14, 2017 8:34 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19254
Location: NE Indiana, USA (NTSC)
It's only one game, as Deadly Towers is the international version of Mashou. To combine different regional variants of one game into one entry, add &group=groupid to the query string.

Any AMROM, ANROM, or AOROM game can be converted to a BNROM equivalent by cutting the trace from the 74'161 to A10 output and connecting A10 output to PA11 or PA10 depending on the desired mirroring.


Top
 Profile  
 
PostPosted: Sat Oct 14, 2017 8:39 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6450
Location: UK (temporarily)
Converting UNROM would also be pretty easy, involving rewiring only PRG A14. (Assuming you are using only a 28-pin 32 KiB 'PROM and thus that pin 1 is no function)

I would even go so far to say that it would be trivial to do so at the same time if you add a socket (since CPU A14 is easily accessible on the 74'32)


Top
 Profile  
 
PostPosted: Sun Oct 15, 2017 6:43 am 
Offline

Joined: Sun Mar 08, 2015 12:23 pm
Posts: 251
Location: Croatia
An idea came to my mind. What if the player wants to save their character sprite drawings? What if I want to save score and edited levels into the CHR-RAM? Could a battery be connected to the CHR-RAM so that the data is saved?


Top
 Profile  
 
PostPosted: Sun Oct 15, 2017 7:59 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19254
Location: NE Indiana, USA (NTSC)
RacerMate Challenge 2 has battery-backed CHR RAM.

A homebrew UNROM extension includes self-flashable PRG ROM. This lets you reserve, say, the first four 4 KiB sectors for storage of drawings. A sector must be erased (set to $FF) all at once, and each sector can be erased only a few thousand times, though each erased byte can be rewritten to a non-$FF value individually. So you'll usually want to append new versions of a file through something like a log-structured file system. Memblers told me that nowadays, self-flashability is expected to be cheaper than adding a battery backup circuit.


Top
 Profile  
 
PostPosted: Sun Oct 15, 2017 12:52 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5838
Location: Canada
You can specify battery backed CHR-RAM with an iNES 2 header, see: Byte 11 (Video RAM Size)
Unfortunately this is a relatively new extension to the format, and I would expect many emulators to fail to save CHR-RAM.

As tepples suggests, many boards using flash ROM are self flashable, but again emulator support for it is poor.

PowerPak and Everdrive won't save CHR-RAM or flash ROM, if you care about running on those, too. Really if you want widespread support for your .NES ROM, neither is much of an option.


Otherwise, yes, adding a battery to CHR-RAM is pretty simple and quite valid way to save things on hardware.


Top
 Profile  
 
PostPosted: Sun Oct 15, 2017 3:53 pm 
Offline

Joined: Sun Mar 08, 2015 12:23 pm
Posts: 251
Location: Croatia
rainwarrior wrote:
You can specify battery backed CHR-RAM with an iNES 2 header, see: Byte 11 (Video RAM Size)
Unfortunately this is a relatively new extension to the format, and I would expect many emulators to fail to save CHR-RAM.

As tepples suggests, many boards using flash ROM are self flashable, but again emulator support for it is poor.

PowerPak and Everdrive won't save CHR-RAM or flash ROM, if you care about running on those, too. Really if you want widespread support for your .NES ROM, neither is much of an option.


Otherwise, yes, adding a battery to CHR-RAM is pretty simple and quite valid way to save things on hardware.

What mapper should I use then to get started with NESASM3 and an emulator since I don't own an NES? Should I use MMC3 or MMC5? I just need 4kB of save memory, 4kB of CHR-RAM (not including the drawings in the save memory. If they're separate, then I need 8kB of CHR-RAM) and 32kB of PRG-ROM.

If it seems to be better to use CHR-RAM in combination with CHR-ROM, then 4kB of CHR-ROM would be enough alongside of 4kB of CHR-RAM for all the drawings. And in that case, I'd like to be able to switch banks so that I have half of each in the sprite part and in the background part. Also, in that case I'd like to have a separate save chip with 4kB of memory.


Top
 Profile  
 
PostPosted: Sun Oct 15, 2017 4:14 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6450
Location: UK (temporarily)
If you're using an emulator, just use mapper 0.

On the very unlikely chance that you find an emulator that won't automatically give you CHR-RAM if it's not given CHR-ROM, you could use BNROM = mapper 34.


Top
 Profile  
 
PostPosted: Sun Oct 15, 2017 5:21 pm 
Offline

Joined: Sun Mar 08, 2015 12:23 pm
Posts: 251
Location: Croatia
How will I be able to save/load the RAM?


Top
 Profile  
 
PostPosted: Sun Oct 15, 2017 5:27 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5838
Location: Canada
In an emulator, use battery backed PRG-RAM and copy your data there when you save. (Or pick an emulator that supports the battery backed CHR-RAM iNES 2 option.)

Some emulators (e.g. the popular older Nestopia build) don't support PRG-RAM on NROM etc. mappers that didn't ever come with it though.


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

All times are UTC - 7 hours


Who is online

Users browsing this forum: Pokun and 7 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