RockNES - NES emulator for Windows [5.54] 09/23/2017

Discuss emulation of the Nintendo Entertainment System and Famicom.

Moderator: Moderators

User avatar
zeroone
Posts: 939
Joined: Mon Dec 29, 2014 1:46 pm
Location: New York, NY
Contact:

Re: RockNES - A NES emulator for Windows [5.41] 2017

Post by zeroone »

Image
User avatar
Zepper
Formerly Fx3
Posts: 3262
Joined: Fri Nov 12, 2004 4:59 pm
Location: Brazil
Contact:

Re: RockNES - A NES emulator for Windows [5.41] 2017

Post by Zepper »

I'm aware of It.
User avatar
Zepper
Formerly Fx3
Posts: 3262
Joined: Fri Nov 12, 2004 4:59 pm
Location: Brazil
Contact:

Re: RockNES - NES emulator for Windows [5.50] 07/07/2017

Post by Zepper »

New version. Check the first post to download it.
I've figured out how RAMBO-1 IRQ timing works. The wiki (discussion page) has been updated.
NewRisingSun
Posts: 1510
Joined: Thu May 19, 2005 11:30 am

Re: RockNES - NES emulator for Windows [5.50] 07/07/2017

Post by NewRisingSun »

Rolling Thunder (U.S. version) glitches badly in the latest RockNES, and also uses RAMBO-1.
User avatar
Zepper
Formerly Fx3
Posts: 3262
Joined: Fri Nov 12, 2004 4:59 pm
Location: Brazil
Contact:

Re: RockNES - NES emulator for Windows [5.50] 07/07/2017

Post by Zepper »

Untested game, as far as I know... Shinobi, Klax, Skull&Crossbones and Hard Drivin'.
I'll check it out. That's why I didn't make these changes official in the wiki.

Thank you.

(EDIT: strange, a copy floating the net brings mapper 4 in the header, which is incorrect according to the database).

EDIT2: Found the problem, it's a bug setting a 2K CHR page (should be value >> 1).
User avatar
Zepper
Formerly Fx3
Posts: 3262
Joined: Fri Nov 12, 2004 4:59 pm
Location: Brazil
Contact:

Re: RockNES - NES emulator for Windows [5.52] 07/14/2017

Post by Zepper »

New version released.
NewRisingSun
Posts: 1510
Joined: Thu May 19, 2005 11:30 am

Re: RockNES - NES emulator for Windows [5.52] 07/14/2017

Post by NewRisingSun »

Rolling Thunder (U.S.) now works, but the status bar text is partially cut off. Here's a capture from real hardware showing how it's supposed to look --- some glitches at the right-hand side of the screen are there, but no cut-off status line letters. And this video shows that it's ok for the status bare to shake once when pressing START at the title screen.
User avatar
Zepper
Formerly Fx3
Posts: 3262
Joined: Fri Nov 12, 2004 4:59 pm
Location: Brazil
Contact:

Re: RockNES - NES emulator for Windows [5.52] 07/14/2017

Post by Zepper »

NewRisingSun wrote:Rolling Thunder (U.S.) now works, but the status bar text is partially cut off. Here's a capture from real hardware showing how it's supposed to look --- some glitches at the right-hand side of the screen are there, but no cut-off status line letters. And this video shows that it's ok for the status bare to shake once when pressing START at the title screen.
Yes, I know. You should consider a major step of getting RAMBO-1 IRQ timing working for all those games. There's a problem of a scanline which I couldn't figure out yet (probably IRQ_latch+1), and the lack of interest in more people helping me. ^_^;;
On other side, my gfx engine might glitch a few games (see Mega Man 3' scanline on ShadowMan), which needs a rewrite to match what's described in the wiki.
NewRisingSun
Posts: 1510
Joined: Thu May 19, 2005 11:30 am

Re: RockNES - NES emulator for Windows [5.52] 07/14/2017

Post by NewRisingSun »

Attached find a Nintendulator source file that runs both Skull & Crossbones, Hard Drivin', Rolling Thunder (U.S. version) and Xybots like in the various videos I posted. Basically, I am making two assumptions that are not described in the wiki:
  1. It's not IRQcounter=IRQlatch +1, but IRQcounter=IRQlatch |1.
  2. The |1 part is only done if the write sequence is C000 C001 E001 (as in Skull & Crossbones). If the write sequence is C001 C000 E001 (as in Hard Drivin'), then the IRQcounter is loaded with the unmodified IRQlatch.
These two assumptions should be testable with real hardware.
Attachments
mapper064.cpp
(4.64 KiB) Downloaded 225 times
User avatar
Zepper
Formerly Fx3
Posts: 3262
Joined: Fri Nov 12, 2004 4:59 pm
Location: Brazil
Contact:

Re: RockNES - NES emulator for Windows [5.52] 07/14/2017

Post by Zepper »

Did you read the discussion page?
NewRisingSun
Posts: 1510
Joined: Thu May 19, 2005 11:30 am

Re: RockNES - NES emulator for Windows [5.52] 07/14/2017

Post by NewRisingSun »

Yes, and your proposal does not run all games glitch-free (->Rolling Thunder's status bar) while mine does. The "AND $FE" seems to break Rolling Thunder's Status bar.
User avatar
Zepper
Formerly Fx3
Posts: 3262
Joined: Fri Nov 12, 2004 4:59 pm
Location: Brazil
Contact:

Re: RockNES - NES emulator for Windows [5.52] 07/14/2017

Post by Zepper »

NewRisingSun wrote:Yes, and your proposal does not run all games glitch-free (->Rolling Thunder's status bar) while mine does. The "AND $FE" seems to break Rolling Thunder's Status bar.
Did you test Skull&Crossbones? Did you see the scorebar without any glitched scanline?
NewRisingSun
Posts: 1510
Joined: Thu May 19, 2005 11:30 am

Re: RockNES - NES emulator for Windows [5.52] 07/14/2017

Post by NewRisingSun »

Well, the first line of the scorebar is still shifted to the left, but that occurs on a real cartridge as well. I assume you're talking about that red/white garbage scanline, which is gone. Here's how it looks right now:
ImageImageImageImage
ImageImageImage
Image
Sour
Posts: 890
Joined: Sun Feb 07, 2016 6:16 pm

Re: RockNES - NES emulator for Windows [5.52] 07/14/2017

Post by Sour »

Thanks a lot to the both of you for your work on this.
I modified Mesen based on the implementation NewRisingSun posted, and it works much better than the hacks that I was using before.

Hard Drivin' is still giving me very minor glitches during gameplay though (e.g I sometimes get a full blue garbage scanline just above the status bar, mostly when crashing into things). Hard Drivin' seems to need tighter timings than all the other games. I noticed you had it trigger the IRQ on cycle 256, but shouldn't that normally be done on clock ~261 (e.g at the time of the first sprite fetch?) - assuming the wiki is correct and the Rambo-1 uses A12 to detect horizontal blank.
I tried keeping the trigger on cycle 260 (like it already was in my code), and reducing the irq delay to 3 or 2 (instead of 4), but that didn't help.
Triggering the IRQ at cycle 256/257 ends up giving me the best results.
User avatar
Zepper
Formerly Fx3
Posts: 3262
Joined: Fri Nov 12, 2004 4:59 pm
Location: Brazil
Contact:

Re: RockNES - NES emulator for Windows [5.52] 07/14/2017

Post by Zepper »

Try Klax and look at the bottom.
Post Reply