puNES Emulator

Discuss emulation of the Nintendo Entertainment System and Famicom.

Moderator: Moderators

User avatar
Dwedit
Posts: 4924
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Re: puNES Emulator (ex Fnes)

Post by Dwedit »

On my computer, RetroArch sounds absolutely terrible, it's like someone turned up the vibrato on every sound it makes.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!
FHorse
Posts: 232
Joined: Sat May 08, 2010 9:31 am

Re: puNES Emulator (ex Fnes)

Post by FHorse »

wahnschaffe wrote:I've heard of users reporting "audio problems at 30ms or less latency". Have you heard of dynamic rate control? I believe that could fix it. It's a new kind of syncing audio and visuals.
I have contacted you via private message.
gumgum
Posts: 3
Joined: Wed Oct 16, 2013 8:02 am

Re: puNES Emulator (ex Fnes)

Post by gumgum »

Hi FHorse,

it appears that puNES is one of the if not the most accurate NES emulator to date, so congratulations for that! As a simple end-user, I am immensely appreciative of the time everybody here spends on all this.

I have just two quick questions:
Do you think you'd wish to implement a latency reduction technique like the one blargg has suggested here? Beware also does this in BGB. Furthermore, would you consider adding an option to ignore the NES eight-sprite-per-line limit? For a lot of games, it is usually an improvement, as far as I can see.

Thank you for the new version and I hope the DirectX rewrite is still going well.
WedNESday
Posts: 1284
Joined: Thu Sep 15, 2005 9:23 am
Location: Berlin, Germany
Contact:

Re: puNES Emulator (ex Fnes)

Post by WedNESday »

gumgum wrote:it appears that puNES is one of the if not the most accurate NES emulator to date, so congratulations for that!
They only ever test their emulator like that when they know the results. You'll notice that even the NES itself 'fails' some of the tests.

Edit: Ignorance.
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: puNES Emulator (ex Fnes)

Post by tepples »

gumgum wrote:Furthermore, would you consider adding an option to ignore the NES eight-sprite-per-line limit?
Completely ignoring the limit shouldn't be possible in an accurate emulator because fetching sprite patterns has side effects on the mapper. But I've described an optimization to sprite processing that could be implemented in hardware without too much fundamental change, allowing 15 sprites instead of eight.

WedNESday: I looked at the tasvideos test result page. All tests listed there that fail on the NES fall into a few categories, and I have reason to believe that splitting NES into "NES + PowerPak" and "NES + donor cart" would solve most of them.
  1. Tests that test the power-up state that the PowerPak's menu has already overwritten (such as anything with "power_up" or "reset" in the name). These pass only on donor carts.
  2. Mapper behavior tests that may hit limits of the PowerPak and the iNES 1.x format (such as mmc3_test). I'm currently working on a test called "Holy Diver Batman" that works on l_oliveira's MMC3 donor cart but raises a warning on PowerPak and non-NES 2.0 emulators that use a workaround to support both MMC3 and MMC6 in one mapper without using submappers.
  3. Tests that test the less stable unofficial opcodes (such as blargg_nes_cpu_test5/cpu). Some unofficial opcodes are known to rely on the values placed on the open bus, and as discussion about Mindscape's controller reading routine made clear, the PowerPak's bus characteristics aren't an exact match for those of a mask ROM.
  4. A few that test very obscure OAM behaviors that depend on alignment or still aren't characterized to the point that they're exploitable.
EDIT: Holy Diver Batman is released
User avatar
ulfalizer
Posts: 349
Joined: Fri Mar 08, 2013 9:55 pm
Location: Linköping, Sweden

Re: puNES Emulator (ex Fnes)

Post by ulfalizer »

For an emulator that that does sprite evaluation and draws pixel-for-pixel, doing an additional pass over the OAM after each scanline has been drawn to the buffer and filling in sprite pixels would probably be a reasonable compromise to disable the sprite limit. Wouldn't catch stuff like switching banks or disabling sprites mid-scanline, but that could probably be accommodated too.
WedNESday
Posts: 1284
Joined: Thu Sep 15, 2005 9:23 am
Location: Berlin, Germany
Contact:

Re: puNES Emulator (ex Fnes)

Post by WedNESday »

Just using puNES for the first time. Looks like it'll be my NES emulator of choice until WedNESday is finished. 8-)

Which is better, OpenGL or GLSL?

What does swap duty cycles do?
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: puNES Emulator (ex Fnes)

Post by lidnariq »

WedNESday wrote:What does swap duty cycles do?
Enables the famiclone swapped duty cycle misfeature on the pulse wave audio channels. A few HKOs were designed with them in mind.
eleriaqueen
Posts: 2
Joined: Thu Oct 10, 2013 9:30 am

Re: puNES Emulator (ex Fnes)

Post by eleriaqueen »

Hi, just wanted to tell the author of PuNes that I love the emulator, been running the x64 version with phosphor filter (I like that effect a lot :) on 4x scaling and haven't encountered any issue ^_^
WedNESday
Posts: 1284
Joined: Thu Sep 15, 2005 9:23 am
Location: Berlin, Germany
Contact:

Re: puNES Emulator (ex Fnes)

Post by WedNESday »

1. Screensaver/Power safe mode kicked in while I was playing! :twisted:
2. 100% CPU usage @ fullscreen OpenGL.
wahnschaffe
Posts: 4
Joined: Sat Oct 12, 2013 10:40 pm

Re: puNES Emulator (ex Fnes)

Post by wahnschaffe »

FHorse wrote:
wahnschaffe wrote:I've heard of users reporting "audio problems at 30ms or less latency". Have you heard of dynamic rate control? I believe that could fix it. It's a new kind of syncing audio and visuals.
I have contacted you via private message.
Have not received anything.
OldGhost
Posts: 5
Joined: Tue Oct 29, 2013 12:19 am

Re: puNES Emulator (ex Fnes)

Post by OldGhost »

Hi, FHorse!
I have to say you made a great piece of software. After Nestopia stopped working for me (sound glitches all around) on both laptop an desktop I began to look for a decent replacement. I don't like FCEUX, so decided it should be something else and that's how I found your emulator.
I'd like to report several problems I encountered.
1. Controller mapping problem that was said to be fixed in 0.67. puNES works great on my desktop with Logitech F510 gamepad, but when I tried it on my laptop several days ago, I was struck with a tragedy - it doesn't let my laptop gamepad to be remapped. Or doesn't recognize it properly, I don't know. That gamepad is Sven Scout, a very simple gamepad without analogs, perfect to play 2D games.
I read some posts before 0.67 was released two people were having the same issue, mapping keys to a D-Pad. I can sometimes map the rest of the buttons, but not D-Pad. Menu is acting strange - when I click on a button I want to remap, it immediately returns back like something already pressed the button on my gamepad for me. So I have maybe 0.1 seconds to press it, if I'm first before the glitch ) if you know what I mean. But not for D-Pad, when I click button I want to remap, there is a message cycling inside the button I can't catch, something like "uffff" "in use" "another time" "no no no" ":(", as far as I remember. And it doesn't let me map anything. D-Pad isn't reacting. I guess what was fixed in 0.67 version didn't affect my gamepad, but it's obviously the same problem.
Considering this gamepad doesn't use Xinput and uses the standart windows gamepad driver (didn't find any driver on the net, Scout doesn't provide any), the problem might be there to start looking with, driver prob maybe. I tried both 64 and 32bit versions and manually setting buttons in input.cfg file, it didn't work. Actually I don't know the proper names for gamepad's d-pad button commands in puNES, I would try that too, I only tried JPOVF and so on. BTW, it seems the emulator wants gamepad to have analogs as it automatically puts JPOVF for UP sometimes, completely ignoring D-Pad. And there's something else to it, of course. I'm not a developer, so I don't even know what to suggest, especially taking in the consideration you unlikely have the same gamepad to check it ) But if you're going to try fixing it, I would be glad to assist in testing. Don't think something's wrong with gamepad, it works fine with other emulators and even many small indies not pushed by Microsoft (x360 XInput) like Maldita Castilla and Oniken where buttons cannot be mapped.
I hope it's clear, too much writing. If something's off, please, let me know, I'll try to explain better.
2. Not a big problem, but a bit annoying. Everytime emulator starts, it starts without Vsync on, though it's on in the options. So each time I run it, I have to go to options, turn it off and then on again. Would be nice to get it fixed.
3. If I turn mono sound, I get a rather big unpleasant delay in sound.
Thank you for a great program! For your time, effort and kindness (hey, it's free to begin with)! And again, If you need testing assistance, please do not hesitate to ask ;)

UPDATE: Oh, ok, about input stack rewrite I read on the previous page, sorry to bother. And good luck with rewrite!
I'm wondering about other two, they might have been answered too. I'll read more.
Last edited by OldGhost on Tue Oct 29, 2013 10:18 pm, edited 4 times in total.
WedNESday
Posts: 1284
Joined: Thu Sep 15, 2005 9:23 am
Location: Berlin, Germany
Contact:

Re: puNES Emulator (ex Fnes)

Post by WedNESday »

Wall of text alarm.

Settings don't save unless you check the option for them.
FHorse
Posts: 232
Joined: Sat May 08, 2010 9:31 am

Re: puNES Emulator (ex Fnes)

Post by FHorse »

wahnschaffe wrote:
FHorse wrote:
wahnschaffe wrote:I've heard of users reporting "audio problems at 30ms or less latency". Have you heard of dynamic rate control? I believe that could fix it. It's a new kind of syncing audio and visuals.
I have contacted you via private message.
Have not received anything.
Private Message
OldGhost wrote:Hi, FHorse!
I have to say you made a great piece of software. After Nestopia stopped working for me (sound glitches all around) on both laptop an desktop I began to look for a decent replacement. I don't like FCEUX, so decided it should be something else and that's how I found your emulator.
I'd like to report several problems I encountered.
1. Controller mapping problem that was said to be fixed in 0.67. puNES works great on my desktop with Logitech F510 gamepad, but when I tried it on my laptop several days ago, I was struck with a tragedy - it doesn't let my laptop gamepad to be remapped. Or doesn't recognize it properly, I don't know. That gamepad is Sven Scout, a very simple gamepad without analogs, perfect to play 2D games.
I read some posts before 0.67 was released two people were having the same issue, mapping keys to a D-Pad. I can sometimes...
Private Message
FHorse
Posts: 232
Joined: Sat May 08, 2010 9:31 am

Version 0.70

Post by FHorse »

Changelog:
0.70
Fixed some memory leaks (thanks to Valgrind).
A restriction in the code of mapper UnROM prevented the start of the "Battle Kids 2 - Mountain of Torment". Fixed.
*** Windows Version ***
In this version I've rewritten from scratch the Audio stack. I abandoned the use of SDL replaced with the XAudio2 (DirectX). With this I hope I have permanently removed the audio lag problem experienced by many.
Improved handling of reading from gamepads, now the sensitivity and accuracy are significantly better. Increased compatibility with many gamepad (thanks OldGhost).
Fixed a bug which allowed the start of the screensaver during the game session.
Post Reply