puNES Emulator
Moderator: Moderators
Re: puNES Emulator (ex Fnes)
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!
Re: puNES Emulator (ex Fnes)
I have contacted you via private message.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.
Re: puNES Emulator (ex Fnes)
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.
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.
Re: puNES Emulator (ex Fnes)
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.gumgum wrote:it appears that puNES is one of the if not the most accurate NES emulator to date, so congratulations for that!
Edit: Ignorance.
Re: puNES Emulator (ex Fnes)
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.gumgum wrote:Furthermore, would you consider adding an option to ignore the NES eight-sprite-per-line limit?
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.
- 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.
- 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.
- 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.
- A few that test very obscure OAM behaviors that depend on alignment or still aren't characterized to the point that they're exploitable.
Re: puNES Emulator (ex Fnes)
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.
Re: puNES Emulator (ex Fnes)
Just using puNES for the first time. Looks like it'll be my NES emulator of choice until WedNESday is finished.
Which is better, OpenGL or GLSL?
What does swap duty cycles do?
Which is better, OpenGL or GLSL?
What does swap duty cycles do?
Re: puNES Emulator (ex Fnes)
Enables the famiclone swapped duty cycle misfeature on the pulse wave audio channels. A few HKOs were designed with them in mind.WedNESday wrote:What does swap duty cycles do?
-
- Posts: 2
- Joined: Thu Oct 10, 2013 9:30 am
Re: puNES Emulator (ex Fnes)
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 ^_^
Re: puNES Emulator (ex Fnes)
1. Screensaver/Power safe mode kicked in while I was playing!
2. 100% CPU usage @ fullscreen OpenGL.
2. 100% CPU usage @ fullscreen OpenGL.
-
- Posts: 4
- Joined: Sat Oct 12, 2013 10:40 pm
Re: puNES Emulator (ex Fnes)
Have not received anything.FHorse wrote:I have contacted you via private message.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.
Re: puNES Emulator (ex Fnes)
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.
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.
Re: puNES Emulator (ex Fnes)
Wall of text alarm.
Settings don't save unless you check the option for them.
Settings don't save unless you check the option for them.
Re: puNES Emulator (ex Fnes)
Private Messagewahnschaffe wrote:Have not received anything.FHorse wrote:I have contacted you via private message.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.
Private MessageOldGhost 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...
Version 0.70
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.
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.