nesdev.com
http://forums.nesdev.com/

VRC2/4 test program WIP
http://forums.nesdev.com/viewtopic.php?f=3&t=16009
Page 2 of 2

Author:  Sour [ Sat Sep 02, 2017 12:37 pm ]
Post subject:  Re: VRC2/4 test program WIP

Maybe I'm just confused but, mapper 22 is supposed to be VRC2a and according to the wiki, "VRC2 supports only vertical or horizontal mirroring. Bit 1 is ignored.". This is what I have implemented, but the mapper 22 test complains about 1-screen mirroring not being available? And your FCEUX screenshot says mapper 22 = VRC4?

Author:  NewRisingSun [ Sat Sep 02, 2017 12:41 pm ]
Post subject:  Re: VRC2/4 test program WIP

Attached is my modification of Nintendulator's Mapper DLL source file that passes all of AWJ's submapper identification tests. The only complaint the ROM still has is that the pseudo-scanline IRQ is "late". Edit: Error fixed, thanks to AWJ.
Sour wrote:
This is what I have implemented, but the mapper 22 test complains about 1-screen mirroring not being available?
I noticed when I tested with my test ROMs that Mesen seems to emulate the IRQ even with VRC2 submappers. So if you emulate the IRQ, the test ROM may think it's dealing with a VRC4 and hence complain about the missing one-screen mirroring.

Attachments:
vrc2and4.cpp [7.14 KiB]
Downloaded 17 times

Author:  Sour [ Sat Sep 02, 2017 12:56 pm ]
Post subject:  Re: VRC2/4 test program WIP

NewRisingSun wrote:
I noticed when I tested with my test ROMs that Mesen seems to emulate the IRQ even with VRC2 submappers. So if you emulate the IRQ, the test ROM may think it's dealing with a VRC4 and hence complain about the missing one-screen mirroring.
And you would be absolutely correct! Thanks, between disabling IRQs for VRC2 & disabling 1-screen mirroring for VRC2c, all the tests pass now.

Author:  AWJ [ Sat Sep 02, 2017 7:04 pm ]
Post subject:  Re: VRC2/4 test program WIP

NewRisingSun wrote:
Attached is my modification of Nintendulator's Mapper DLL source file that passes all of AWJ's submapper identification tests. The only complaint the ROM still has is that the pseudo-scanline IRQ is "late".


It looks like you were working from an outdated version of Quietust's sources. Recently (meaning a couple months ago when I was last working on this) I pointed out an off-by-one error to quietust which he fixed, but the error is back in your version.

Code:
((IRQenabled & 2) && ((IRQenabled & 4) || ((IRQcycles -= 3) < 0)))


< 0 should be <= 0.

Sour wrote:
And your FCEUX screenshot says mapper 22 = VRC4?


The screenshots at the top of the thread were taken before I had finished writing the IRQ tests. Under FCEUX, the complete test program displays "???" (unknown/inconsistent) for mapper 22 since it (correctly) doesn't implement IRQs but it does implement one-screen mirroring and alternate PRG bank layout for that mapper.

Author:  NewRisingSun [ Sun Sep 03, 2017 1:34 am ]
Post subject:  Re: VRC2/4 test program WIP

AWJ wrote:
It looks like you were working from an outdated version of Quietust's sources.
Ah. Thanks for pointing this out. Now vrc2and4.cpp passes all tests.

I have updated my local copy of all mapper sources and replaced the vrc2and4.cpp in the post above.

Page 2 of 2 All times are UTC - 7 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/