It is currently Wed Oct 17, 2018 7:25 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 20 posts ]  Go to page Previous  1, 2
Author Message
PostPosted: Sun Sep 30, 2018 10:31 am 
Online

Joined: Sun Apr 13, 2008 11:12 am
Posts: 7657
Location: Seattle
DRW wrote:
If you go to "Advanced Search" and include "ROM Size" to the columns in the list view, this will actually just be PRG ROM size and not combined ROM size.
"Combined ROM size" is a Cart/Profile attribute.

Individual ROM size is a ROM or Chip attribute.

Quote:
Furthermore, there doesn't seem to be a choosable column for CHR ROM size in the list view at all. You can only find it if you click the game itself.
Because carts can have more than just two ROMs, even if you restrict it to only licensed software, even first party releases.

In the list, if you added "ROM size" to the list, most entries have a [+] which you can click to display all properties when a cart has more than one of that type.


Top
 Profile  
 
PostPosted: Tue Oct 02, 2018 3:12 pm 
Offline
User avatar

Joined: Sat Sep 07, 2013 2:59 pm
Posts: 1708
O.k., I got my sample ROM to run as MMC3, with working bank switches.

Now the next question:

Since writes to $8000 and $8001 always appear in pairs ($8000 chooses which bank to change, $8001 takes the actual bank number), is the same true for $A000 and $A001?

Unlike with $8000/$8001, I don't see any related features here. $A000 is for mirroring, $A001 is for RAM protection.


Besides, is the whole RAM protection ever used in licensed games? If yes, when do games use which value?

And does it only refer to the battery RAM or to the regular RAM as well?
If it refers to the regular RAM, I don't know how I could ever disable writes at all. Because I pretty much always need the RAM to be accessible.

_________________
Available now: My game "City Trouble".
Website: https://megacatstudios.com/products/city-trouble
Trailer: https://youtu.be/IYXpP59qSxA
Gameplay: https://youtu.be/Eee0yurkIW4
German Retro Gamer article: http://i67.tinypic.com/345o108.jpg


Top
 Profile  
 
PostPosted: Tue Oct 02, 2018 4:02 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10897
Location: Rio de Janeiro - Brazil
DRW wrote:
is the same true for $A000 and $A001?

No. Bank selection needs a pair of writes because you need 2 parameters to complete a switch operation (the slot and the bank), but $A000 and $A001 can do their job with a single write each. The IRQ feature will usually require writes to different registers to work properly though, but IIRC you're not using that yet.

Quote:
Besides, is the whole RAM protection ever used in licensed games? If yes, when do games use which value?

Honestly, I don't know. 8KB is a whole lot of RAM to use just for saving, and if you're using it for other purposes you can't really keep it disabled, can you?

Quote:
And does it only refer to the battery RAM or to the regular RAM as well?

The mapper controls cartridge RAM only.


Top
 Profile  
 
PostPosted: Tue Oct 02, 2018 4:26 pm 
Offline
User avatar

Joined: Sat Sep 07, 2013 2:59 pm
Posts: 1708
Thanks for the information.

Yeah, I use the additional RAM for code, so that I don't need to bankswitch it.
Although now that the mapper can do bankswitching in 8 KB slices, I already have 24 KB of always available space instead of 16 KB because, after initialization, I simply keep the $A000 bank unchanged and only use bank $8000 for bank switching.

I don't know if I'll actually need the battery RAM for any variables that are not for save states.


By the way, do I need to write to every one of these registers in the beginning to put the mapper into a defined state? Or do some of them have guaranteed default values?

For example, do I have to write to $A001 once or is its initial status well defined?

_________________
Available now: My game "City Trouble".
Website: https://megacatstudios.com/products/city-trouble
Trailer: https://youtu.be/IYXpP59qSxA
Gameplay: https://youtu.be/Eee0yurkIW4
German Retro Gamer article: http://i67.tinypic.com/345o108.jpg


Top
 Profile  
 
PostPosted: Tue Oct 02, 2018 4:44 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10897
Location: Rio de Janeiro - Brazil
DRW wrote:
By the way, do I need to write to every one of these registers in the beginning to put the mapper into a defined state?

I'm fairly sure nothing is guaranteed on power up, but even if that wasn't the case, it's better to be safe than sorry, specially considering it takes so little effort to initialize everything.


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

All times are UTC - 7 hours


Who is online

Users browsing this forum: Google [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