It is currently Wed Nov 22, 2017 8:01 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 722 posts ]  Go to page Previous  1 ... 23, 24, 25, 26, 27, 28, 29 ... 49  Next
Author Message
 Post subject: Version 0.85
PostPosted: Fri May 16, 2014 3:44 am 
Offline

Joined: Sat May 08, 2010 9:31 am
Posts: 225
Changelog:
0.85
I continued to work hard on the synchronization between CPU/PPU and CPU/APU to make it more accurate. Now "Micro Machines (Camerica) [!]. nes" works without any graphical glitches also "Huge Insect (Sachen) [!].nes" finally works perfectly (viewtopic.php?f=3&t=465). Considering that the changes affecting the core of the emulator, I have tested many roms (tests and games) and it seems that everything is running smoothly, but if someone were to find some roms that gives problems with this release, please contact me. Thanks to x0000 for the help on the front of the CPU/APU.
Fixed some bugs in the handling of compressed files with the game genie active (thx Chad).


Top
 Profile  
 
 Post subject: Re: Version 0.85
PostPosted: Fri May 16, 2014 10:54 am 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6448
Location: UK (temporarily)
FHorse wrote:
We've since discovered that not only are sprites 0 and 1 temporarily replaced with the pair that OAMADDR&0xF8 points to, but it's permanent: the pair that OAMADDR&0xF8 points to is copied to the first 8 bytes of OAM when rendering starts.

The difference should only show up with a game that doesn't use DMA every frame.


Top
 Profile  
 
PostPosted: Fri May 16, 2014 6:50 pm 
Offline

Joined: Fri May 16, 2014 6:04 pm
Posts: 1
just signed up to let you know how great this emulator is, keep up the good work the cpu usage is down abit from the previous version 84. which is good, the scanlines in your filters are perfect. ive used many emulators in the past where the scanlines looked more like window blinds.. this is easily the best nes emulator out there. the controls are spot on, not abit of lag at all. congrats! :beer:


Top
 Profile  
 
 Post subject: Re: Version 0.85
PostPosted: Sat May 17, 2014 6:01 am 
Offline

Joined: Sat May 08, 2010 9:31 am
Posts: 225
lidnariq wrote:
We've since discovered that not only are sprites 0 and 1 temporarily replaced with the pair that OAMADDR&0xF8 points to, but it's permanent: the pair that OAMADDR&0xF8 points to is copied to the first 8 bytes of OAM when rendering starts.

The difference should only show up with a game that doesn't use DMA every frame.
Where can I find more info? And with what roms I can really see the difference? It would be very convenient to know in order to verify the new implementation.
Emuholic wrote:
just signed up to let you know how great this emulator is, keep up the good work the cpu usage is down abit from the previous version 84. which is good, the scanlines in your filters are perfect. ive used many emulators in the past where the scanlines looked more like window blinds.. this is easily the best nes emulator out there. the controls are spot on, not abit of lag at all. congrats! :beer:
Many thanks :beer:


Top
 Profile  
 
 Post subject: Re: Version 0.85
PostPosted: Sat May 17, 2014 12:19 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6448
Location: UK (temporarily)
FHorse wrote:
Where can I find more info? And with what roms I can really see the difference? It would be very convenient to know in order to verify the new implementation.
I tested it using a simple program, but I only described it. I've attached it here.
Attachment:
oamtest3.zip [5.77 KiB]
Downloaded 196 times
I only had a mapper 218 devcart, but it'll work fine as almost anything (certainly 0, 7, &c) as long as it provides CHR RAM (startup banks don't matter) and the last 2KiB of the iNES image are mapped from $F800-$FFFF.

Any time you press a button, it uploads 0-14 bytes during vblank. U/D/L/R change those bytes. The leftmost one is the number of bytes. When uploading 8 to 14 bytes, Nestopia incorrectly shows sprites 0 and 1 reappearing after the frame that the button is pressed, but on hardware they remain concealed (because they're duplicates of sprites 2 and 3).

The 2C07 does a bunch of things differently, so this doesn't pertain to it. (writes to $2003 don't corrupt OAM; sprite evaluation can never be fully disabled, and runs from scanlines 21-311. I don't know if the behavior I'm describing here, where leaving OAMADDR nonzero when sprite evaluation starts causes data to be copied over sprite 0 and 1 data.)

If you want reference photographs, I can probably get around to that sometime in the next few days.


Top
 Profile  
 
PostPosted: Sun May 18, 2014 6:50 am 
Offline
User avatar

Joined: Sun May 18, 2014 6:16 am
Posts: 1
Location: Unknown Kadath
Hi FHorse,
At first I want to say thank you, this emulator is simply the best!
And I have two suggestions that can make it even better.
1. In future versions please add xBRZ filter if possible.
It looks much better than hqx, just take a look - https://en.wikipedia.org/wiki/Pixel_art_scaling_algorithms#xbr_family
2. Also it would be really nice to have the ability to assign saving and loading state to the joystick buttons.
Thanks in advance.


Top
 Profile  
 
PostPosted: Tue May 20, 2014 1:08 am 
Offline
User avatar

Joined: Mon May 19, 2014 11:46 pm
Posts: 37
Hello, FHorse! I registered on this site to say that you've built quite an impressive emulator and I intend to use it as my primary one going forward. Your hard work is appreciated. I want to compliment you on your sound emulation particularly. Comparing back-to-back puNES's output with Nestopia shows yours to be both better-sounding and truer to a recording of my NES. I humbly have some feature requests/suggestions for you to consider as well.

First, I'm surprised no one has asked for custom palettes. A palette editor and being able to save/load ones like Nestopia and Nintendulator allow would be great. That would take away the one real advantage Nestopia has over puNES, at least for my purposes.
Second, would it be possible to generate audio at higher sampling rates, most importantly 48 kHz? I wouldn't object to higher numbers being included as well, but 48 kHz is more compatible for many PCs and would eliminate the resampling that must be done on computers which only support that rate (although I acknowledge this number is dwindling) and make resampling much easier and more precise for those whose sound cards are set to 96 or 192 kHz.
Third, it was brought up a few times before and maybe you've just decided it's against your goal of faithfulness (relatively) to the real hardware, but configurable stereo panning for the sound channels would be extremely nice and a much better stereo method than channel delay. Plus it seems it would make a number of people happy.
And I second Schattenjager's idea for xBRZ filtering.

Please keep up the excellent work!

EDIT: I just caught a bug! In Tetris 2 + Bombliss, when playing Tetris the screen will screw up for a split second when your piece falls into place. It's rather annoying and doesn't happen on Nestopia. I'm using puNES Portable 0.85.


Top
 Profile  
 
PostPosted: Tue May 20, 2014 6:02 am 
Offline

Joined: Sat May 08, 2010 9:31 am
Posts: 225
Schattenjager wrote:
1. In future versions please add xBRZ filter if possible.
It looks much better than hqx, just take a look - https://en.wikipedia.org/wiki/Pixel_art_scaling_algorithms#xbr_family
2. Also it would be really nice to have the ability to assign saving and loading state to the joystick buttons.
1. very nice filter, I think I'll implement it, thanks for the tip.
2. already on my list of things to do.
nothingtosay wrote:
First, I'm surprised no one has asked for custom palettes. A palette editor and being able to save/load ones like Nestopia and Nintendulator allow would be great.
Also in the same list
nothingtosay wrote:
Second, would it be possible to generate audio at higher sampling rates, most importantly 48 kHz? I wouldn't object to higher numbers being included as well, but 48 kHz is more compatible for many PCs and would eliminate the resampling that must be done on computers which only support that rate (although I acknowledge this number is dwindling) and make resampling much easier and more precise for those whose sound cards are set to 96 or 192 kHz.
Added to the list.
nothingtosay wrote:
Third, it was brought up a few times before and maybe you've just decided it's against your goal of faithfulness (relatively) to the real hardware, but configurable stereo panning for the sound channels would be extremely nice and a much better stereo method than channel delay. Plus it seems it would make a number of people happy.
I'll think about.
nothingtosay wrote:
EDIT: I just caught a bug! In Tetris 2 + Bombliss, when playing Tetris the screen will screw up for a split second when your piece falls into place. It's rather annoying and doesn't happen on Nestopia. I'm using puNES Portable 0.85.
You're right, thanks for the report, I will give a look now.
The list is quite long but with a little patience I will be able to implement everything I have in mind (if time and (hopefully) money will allow it).
Thank you all for the support!


Top
 Profile  
 
PostPosted: Tue May 20, 2014 11:45 am 
Offline

Joined: Mon Apr 01, 2013 11:17 pm
Posts: 437
nothingtosay wrote:
and make resampling much easier and more precise for those whose sound cards are set to 96 or 192 kHz.
Adding an option to synthesize audio at 48kHz, for the many users whose sound cards operate at that frequency, is a good idea.

However, it doesn't matter what frequency the audio is at if it needs to be resampled. Any good resampler (i.e. without audible artifacts) will end up doing the same work for any input sample rate, with the same precision. If anything, a lower input sample rate means less work because there is less input data.

Besides, you probably don't need sample rates above 48kHz.


Top
 Profile  
 
PostPosted: Tue May 20, 2014 12:17 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5825
Location: Canada
48kHz is a good option to have. My last computer would automatically nearest-neighbour resample 44.1kHz program output to 48kHz, with the annoying aliasing you'd expect. Where 48kHz was an option, I got cleaner sound.


Top
 Profile  
 
PostPosted: Tue May 20, 2014 12:53 pm 
Offline

Joined: Thu Jul 24, 2008 3:23 pm
Posts: 12
Location: Moscow, Russia
The title screen in Knight Rider (U) might be incorrect. The blinking white line below the car is missing in puNES 0.85. The line is present in Nintendulator, Nestopia and in these three hardware recordings:
http://www.youtube.com/watch?v=QbCnVsTezK8
http://www.youtube.com/watch?v=XqolnNn1Iy0
http://www.youtube.com/watch?v=E4vRl77lWVw


Top
 Profile  
 
PostPosted: Tue May 20, 2014 7:04 pm 
Offline
User avatar

Joined: Mon May 19, 2014 11:46 pm
Posts: 37
FHorse, thanks for your consideration. :beer: One more potential bug I noticed: is it supposed to continually grow in memory usage each time you open a ROM? With each new game opened it adds about 40,000 KB to my memory usage as displayed by Windows Task Manager and only closing the emulator resets it.

Joe wrote:
However, it doesn't matter what frequency the audio is at if it needs to be resampled. Any good resampler (i.e. without audible artifacts) will end up doing the same work for any input sample rate, with the same precision. If anything, a lower input sample rate means less work because there is less input data.
But the math for resampling 48 kHz to 192 kHz is so much simpler than getting 44.1 to there. So, while I obviously have no capability to do any tests with puNES, it may be more efficient to generate more data and resample by simply multiplying by 2 or 4 than it is to generate less data and have to multiply by 4.35374149... I don't think it is quite the same precision as it's going to have to round if the number continues on for infinity. That won't create an audible artifact at 16-bit resolution, but it's less precise and also a problem that can just be avoided if 48 kHz is implemented.

Joe wrote:
Right, I'm well aware of that, I've read Monty's article and watched his videos, frequently lurk HydrogenAudio, etc. Which is why I said 48 kHz is more important to add than any other. And if it were my program and it were easy to make it generate at 192 kHz too, I'd throw it in because why not? Some cards and even onboard audio are made for that and could perform best at that rate (though I doubt the difference would be audible on practically any), it gives some people a placebo that makes them happier with minimal effort, and whatever else. If it did take significant effort, then meh. I'd much rather work on configurable stereo. :D


Top
 Profile  
 
PostPosted: Tue May 20, 2014 7:52 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19240
Location: NE Indiana, USA (NTSC)
That and the audio latency might be less if you play back at a sample rate that the sound card natively supports. Audio latency is one of the big things keeping the emulation experience on PC or Android from feeling authentic.


Top
 Profile  
 
PostPosted: Thu May 22, 2014 10:17 pm 
Offline
User avatar

Joined: Mon May 19, 2014 11:46 pm
Posts: 37
I just realized the memory issue I mentioned appears to only be present in the SDL version of the emulator. D3D9 hardly varies at all after a game is open and does not grow in memory usage as more are opened, while SDL adds more than an entire D3D9 instance each time a new ROM is opened.


Top
 Profile  
 
PostPosted: Fri May 23, 2014 11:14 am 
Offline

Joined: Fri May 23, 2014 10:59 am
Posts: 2
Location: Costa Rica
nothingtosay wrote:
Hello, FHorse! I registered on this site to say that you've built quite an impressive emulator and I intend to use it as my primary one going forward. Your hard work is appreciated.


Just so happens I registered in these boards to echo nothingtosay's sentiment. Thank you FHorse for a wonderful emulator all around, and THE best NES emulator for the 'Buntus (Lubuntu in my particular case). You might like to know puNES is the only NES emu capable of actually displaying in 4:3 ratio and using a nearly identical palette to the one CRT TVs showed in my younger years.

Again, thank you :)

EDIT: oh, and the inclusion of a NTSC-filter with composite video is downright genius, it adds to the fidelity of the CRT TV look so much. I wish other emus for different consoles did it as well.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 722 posts ]  Go to page Previous  1 ... 23, 24, 25, 26, 27, 28, 29 ... 49  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 5 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group