Unable to change mirroring in JY-120A
Moderator: Moderators
-
- Posts: 490
- Joined: Fri Mar 01, 2013 4:46 am
Unable to change mirroring in JY-120A
https://wiki.nesdev.com/w/index.php/J.Y ... .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!
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!
-
- Posts: 490
- Joined: Fri Mar 01, 2013 4:46 am
Re: Unable to change mirroring in JY-120A
Has this stumped the community?
Re: Unable to change mirroring in JY-120A
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?
Are you making an original game for the JY Company mapper?
-
- Posts: 490
- Joined: Fri Mar 01, 2013 4:46 am
Re: Unable to change mirroring in JY-120A
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.
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.
Re: Unable to change mirroring in JY-120A
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?
Re: Unable to change mirroring in JY-120A
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?
How can we rephrase that to make it clearer?
What MAPR was the original file?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.
Re: Unable to change mirroring in JY-120A
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.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?
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.
-
- Posts: 490
- Joined: Fri Mar 01, 2013 4:46 am
Re: Unable to change mirroring in JY-120A
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.
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.
Re: Unable to change mirroring in JY-120A
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.
(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.
-
- Posts: 490
- Joined: Fri Mar 01, 2013 4:46 am
Re: Unable to change mirroring in JY-120A
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?
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?
-
- Posts: 490
- Joined: Fri Mar 01, 2013 4:46 am
Re: Unable to change mirroring in JY-120A
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!
-
- Posts: 490
- Joined: Fri Mar 01, 2013 4:46 am
Re: Unable to change mirroring in JY-120A
Or am I incorrect that any nes game, regardless of mapper, can access nes's $6000-$7FFF?
I'm using NES 2.0 header.
I'm using NES 2.0 header.
Re: Unable to change mirroring in JY-120A
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.
-
- Posts: 490
- Joined: Fri Mar 01, 2013 4:46 am
Re: Unable to change mirroring in JY-120A
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?
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?
Re: Unable to change mirroring in JY-120A
Non-volatile. Because the field both marks EEPROMs and battery-backed RAM.