It is currently Tue Jul 23, 2019 7:09 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 20 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: Thu Feb 14, 2019 7:10 am 
Offline

Joined: Fri Mar 01, 2013 4:46 am
Posts: 322
https://wiki.nesdev.com/w/index.php/J.Y._Company_ASIC#Mirroring_Select_.28.24D001.29

The notes for mirroring say that $D001 is the register to perform the changes for mirroring. But I am unable to do so with doing this? I'm able to use the other functions of this mapper, like setting the prg-rom size, being able to swap banks, I just cant get the mirroring to work. Am I missing a bit somewhere that needs to be set for $D001 to work?

Thanks!


Top
 Profile  
 
PostPosted: Fri Feb 15, 2019 1:10 pm 
Offline

Joined: Fri Mar 01, 2013 4:46 am
Posts: 322
Has this stumped the community? :-o


Top
 Profile  
 
PostPosted: Fri Feb 15, 2019 1:26 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 21511
Location: NE Indiana, USA (NTSC)
Perhaps it has. This means we may need to step back, as one does in the case of an XY problem, and try to solve the larger problem.

Are you making an original game for the JY Company mapper?

_________________
Pin Eight | Twitter | GitHub | Patreon


Top
 Profile  
 
PostPosted: Fri Feb 15, 2019 1:39 pm 
Offline

Joined: Fri Mar 01, 2013 4:46 am
Posts: 322
Just messing around with it, but I can't figure out how it does the mirroring. Even when i set breakpoints to the mirroring register, it does snap when I load super Mario world. Never encountered this.

Edit: I ditched the .unf format and went to .nes and I set the mapper as 209, and now the mirroring is working for me at will.


Top
 Profile  
 
PostPosted: Fri Feb 15, 2019 3:02 pm 
Offline

Joined: Wed Feb 17, 2010 5:42 pm
Posts: 394
Excuse the somewhat off topic question, but what does the "Mask: $F803. This means that writes are ignored if address bit 11 is set." mean?


Top
 Profile  
 
PostPosted: Fri Feb 15, 2019 3:24 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 8491
Location: Seattle
It means that registers do not extend, as one might naively think, over the entire range from $8000-$8FFF, but instead just $8000-$87FF.

How can we rephrase that to make it clearer?

infidelity wrote:
Edit: I ditched the .unf format and went to .nes and I set the mapper as 209, and now the mirroring is working for me at will.
What MAPR was the original file?


Top
 Profile  
 
PostPosted: Fri Feb 15, 2019 3:58 pm 
Offline
User avatar

Joined: Sun Sep 19, 2004 9:28 pm
Posts: 4159
Location: A world gone mad
lidnariq wrote:
It means that registers do not extend, as one might naively think, over the entire range from $8000-$8FFF, but instead just $8000-$87FF.
How can we rephrase that to make it clearer?

Exactly how you just did! Putting that in parenthesis after the existing description I think is reasonable. I'll take care of doing that, since the particular line is repeated in several places throughout the page.

Edit: done. Let me know if that's more helpful. I wasn't sure how to fix up Miscellaneous Registers because the mask for $5000/5400/5C00 seems in conflict with the others.


Top
 Profile  
 
PostPosted: Sat Feb 16, 2019 8:28 am 
Offline

Joined: Fri Mar 01, 2013 4:46 am
Posts: 322
Ok, so im starting to wonder if FCEUX is missing features to some of these mapper variations from JY-120A?

I'm learning how to use extra 512kb of PRG-ROM. When i'm on mapper 209, these are the abilities im able to perform...

Header is NES 2.0

1: set PRG-ROM swapping to 16kb for $8000-$BFFF & $C000-$FFFF
2: ability to adjust mirroring via writes to $D001
3: ability to load anywhere within the additional 512kb PRG-ROM with writes to $D003

The only thing i'm unable to do, which is what i need, is the ability to write to $6000-$7FFF WRAM. Nothing gets stored to it. However, you are able to use it as PRG-ROM by inserting 2000 bytes of a bank into $6000-$7FFF. But i want to use it as RAM.

Now, i read that mapper 35 is a "duplicate...." of mapper 209, with the ability to use 8kb of WRAM. So Im like "awesome!"

I change the header using Nestopia to mapper 35, i reload the test rom and i write LDA #$88 STA $6000, and when I view $6000, the value 88 is stored there.

So again i'm like "awesome!" now comes the part of what i was NOT able to do, that I was originally able to do with mapper 209

1: unable to set PRG-ROM swap type, it's always set to 8kb chunks even if I set $D000 to either 8kb/16kb/32kb, it's always 8kb.
2: unable to swap out $E000-$FFFF (it's always set to hard wired) & again, originally I want it as 16kb $C000-$FFFF but cant.
3: unable to use $D003 to access the additional 512k PRG-ROM. It looks like because of the PRG-ROM only using 8kb chunks, it's unavailable?

I havent even begun to mess with the CHR, because I want to make sure everything else is working properly as i advance in learning the mapper usage. But if the nesdev wiki says 35 is a duplicate of 209, then i feel the FCEUX build i have (2.2.3) has mapper 35 functioning incorrectly.

Could someone point me in the right direction to speak to a dev that works on FCEUX? Or am I incorrect in all of this? Cause when I went back to mapper 209, everything was working fine with it's registers.


Top
 Profile  
 
PostPosted: Sat Feb 16, 2019 10:49 am 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 8491
Location: Seattle
FCEUX's implementation of mapper 35 is very incomplete. Look at the old version of the page before NewRisingSun verified what the hardware was.

(edit) For that matter, all of FCEUX's implementations of the J.Y. Company mappers are incomplete, because no-one before him tried to look for hardware to verify patterns across different mapper numbers.


Last edited by lidnariq on Sat Feb 16, 2019 11:23 am, edited 1 time in total.

Top
 Profile  
 
PostPosted: Sat Feb 16, 2019 11:17 am 
Offline

Joined: Fri Mar 01, 2013 4:46 am
Posts: 322
Ooook, just looked at that older doc. That explains everything regarding 35.

Guess I'll stick with 209, just wish wram was a function.

Edit: just saw your edit, would I have luck getting in touch with one of the fceux devs on having 35 worked on?


Top
 Profile  
 
PostPosted: Mon Feb 18, 2019 6:23 am 
Offline

Joined: Fri Mar 01, 2013 4:46 am
Posts: 322
Is there anyone that knows c+, that could edit the "90.cpp" mapper file for FCEUX, to allow wram usage? I'm using 209 and have figured out how to utilize all the registers I wish to use, only problem is with the projects I have in mind, I cant write anything to $6000-$7FFF. Is there anyone that would be able to do this? I'm not looking to make repo carts or anything like that, thanks!


Top
 Profile  
 
PostPosted: Tue Feb 19, 2019 9:32 am 
Offline

Joined: Fri Mar 01, 2013 4:46 am
Posts: 322
Or am I incorrect that any nes game, regardless of mapper, can access nes's $6000-$7FFF?

I'm using NES 2.0 header.


Top
 Profile  
 
PostPosted: Tue Feb 19, 2019 10:20 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 21511
Location: NE Indiana, USA (NTSC)
For NES 2.0, you have to specify RAM size at $6000-$7FFF in byte 10. If you put $00 there, you get open bus. Some mappers don't allow RAM at $6000-$7FFF at all because they have registers there.

_________________
Pin Eight | Twitter | GitHub | Patreon


Top
 Profile  
 
PostPosted: Tue Feb 19, 2019 10:59 am 
Offline

Joined: Fri Mar 01, 2013 4:46 am
Posts: 322
Ok I'll take a look at my header tonight.

One more question. I checked the wiki on the NES 2.0 header, and noticed a term called PRG-NVRAM. I've seen this as well in the ines editor within Nestopia, but idk what the NV stands for?


Top
 Profile  
 
PostPosted: Tue Feb 19, 2019 11:00 am 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 8491
Location: Seattle
Non-volatile. Because the field both marks EEPROMs and battery-backed RAM.


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

All times are UTC - 7 hours


Who is online

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