Nestopia 1.39
Moderator: General Mods
So wouldn't that in theory be just like calculating pi to a deeper decimal ammount? Thus giving your equations more accuracy, but not making them wrong.Nach wrote:The C4 has 24 bit precision on it's numbers. Our PCs offer 32 bits of precision. Just doing it natively is simple and gives a straighter line because of the greater precision.blackmyst wrote:If it's such a negligible detail, why even do it in the first place? Unlike most of Zsnes' features, this actually changes the SNES' video output, and it's not optional, I agree that it does go against Zsnes' principles somewhat.
Not that I care much, just wondering why.
I could try to after doing the math make it lose the extra 8 bits of precision, but I didn't really find it worth the effort.
However the math itself used is the same, it's just the output on the screen is more correct (to the math, not to the C4's implementation).
If that is the case, there is absolutely nothing wrong with that, and I don't think it goes against zsnes. It would be a waste of time to figure out an algorithm to calculate in 24bit.
-
- I know where you live.
- Posts: 148
- Joined: Thu Aug 19, 2004 4:51 am
If you want 100% true emulation/accuracy, then yes, it would go against ZSNES's charter to not calculate it in 24 bits. Strictly speaking, this is a rounding error in the C4 code.quanium wrote: So wouldn't that in theory be just like calculating pi to a deeper decimal ammount? Thus giving your equations more accuracy, but not making them wrong.
If that is the case, there is absolutely nothing wrong with that, and I don't think it goes against zsnes. It would be a waste of time to figure out an algorithm to calculate in 24bit.
In practice, though, this is one of those things that's way down the list as far as what needs to be done to make ZSNES more accurate.
FireKnight:I'm pretty sure a 1KG 24k gold brick costs less than that.
phonymike: well the same amount of raw metals used in a car costs a fraction of the price of a new car idiot. I'm gonna take away your posting privileges and replace them with my balls on your chin.
I smell spray paint.
phonymike: well the same amount of raw metals used in a car costs a fraction of the price of a new car idiot. I'm gonna take away your posting privileges and replace them with my balls on your chin.
I smell spray paint.
I suppose it's something that can be figured out eventually. Either way it shouldn't be high on the priority list.ThunderClaw wrote:If you want 100% true emulation/accuracy, then yes, it would go against ZSNES's charter to not calculate it in 24 bits. Strictly speaking, this is a rounding error in the C4 code.quanium wrote: So wouldn't that in theory be just like calculating pi to a deeper decimal ammount? Thus giving your equations more accuracy, but not making them wrong.
If that is the case, there is absolutely nothing wrong with that, and I don't think it goes against zsnes. It would be a waste of time to figure out an algorithm to calculate in 24bit.
In practice, though, this is one of those things that's way down the list as far as what needs to be done to make ZSNES more accurate.
-
- "Your thread will be crushed."
- Posts: 1236
- Joined: Wed Jul 28, 2004 1:49 am
- Location: Not in Winnipeg
- Contact:
-
- Lurker
- Posts: 165
- Joined: Wed Jul 28, 2004 3:15 am
- Location: The Land of Insanity
- Contact:
-
- ZSNES Shake Shake Prinny
- Posts: 5632
- Joined: Wed Jul 28, 2004 4:15 pm
- Location: PAL50, dood !
MMX2/RMX2Jipcy wrote:Is there a game or games that demonstrate the effect of this greater precision?
Overdrive Ostrich's stage. The bridge. Lower it completely. Compare with real hardware.
皆黙って俺について来い!!
Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54
Code: Select all
<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)
-
- Trooper
- Posts: 535
- Joined: Wed Jul 28, 2004 3:26 am
I found the original thread in the old snes9x board here, but the pics are broken.grinvader wrote:MMX2/RMX2Jipcy wrote:Is there a game or games that demonstrate the effect of this greater precision?
Overdrive Ostrich's stage. The bridge. Lower it completely. Compare with real hardware.
[code]<Guo_Si> Hey, you know what sucks?
<TheXPhial> vaccuums
<Guo_Si> Hey, you know what sucks in a metaphorical sense?
<TheXPhial> black holes
<Guo_Si> Hey, you know what just isn't cool?
<TheXPhial> lava?[/code]
<TheXPhial> vaccuums
<Guo_Si> Hey, you know what sucks in a metaphorical sense?
<TheXPhial> black holes
<Guo_Si> Hey, you know what just isn't cool?
<TheXPhial> lava?[/code]
-
- ZSNES Developer
- Posts: 3904
- Joined: Tue Jul 27, 2004 10:54 pm
- Location: Solar powered park bench
- Contact:
And I've seem to have deleted the images too.
Shame zsnes (btw i'm too stupid to learn the name of the emulator).org went down.
Shame zsnes (btw i'm too stupid to learn the name of the emulator).org went down.
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
_____________
Insane Coding
-
- "Your thread will be crushed."
- Posts: 1236
- Joined: Wed Jul 28, 2004 1:49 am
- Location: Not in Winnipeg
- Contact:
-
- ZSNES Developer
- Posts: 3904
- Joined: Tue Jul 27, 2004 10:54 pm
- Location: Solar powered park bench
- Contact:
Nah it's quite alright. If I really wanted the images, I could just take them myself again, and reverse the various steps in the emulation to get the old output.GOATSnEs wrote:If you are looking for the old website, just ask Kaizersoze on #zsnes efnet.
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
_____________
Insane Coding
-
- Rookie
- Posts: 37
- Joined: Mon Nov 15, 2004 5:05 am
Which is kind of funny, because that newer Direct3D really only affords triple buffering in a window, and the real fullscreen mode doesn't really work with menubars.
I'm still using DirectDraw in my own code, and an evil timer/GetScanline workaround so I can do full vsync even when shitty drivers are present. ( F U ATI for 100% CPU when doing vsync'd DirectDraw or OpenGL, but not for Direct3D. )
Besides, when I do it the timer way, I can design it so the leading edge of my blank/copy interval is the first scanline after the bottom of my display frame, rather than the actual vblank, so I can get a bit more time to do the actual copy. Basically, a 1ms MM timer watching the DirectDraw interface's scanline, and also keeping a note of the display mode height and/or highest reported scanline number. Then it uses offset/modulo so that 0 is the first scanline after my display buffer.
I'm sure there's a more optimal way to calculate when the current scanline has begun a new cycle starting at some arbitrary line in the screen, but for now, that stuff, and pulsing the wait event whenever the current offset/wrapped scanline is less than the last. ( which would indicate a new sync period. )
Note this does not apply to my build of VBA, although I should consider applying that to its DirectDraw code. The only reason I even bothered with the Direct3D code and added vsync support was so I could get vsync in a window without eating up my CPU.
With my DirectDraw code, I can get a 60fps emulator loop, which happens to be throttled by its sound output, to display synced frames on a 85Hz desktop, with only the effect of minor jitter from blitting too soon/late for exact 60fps interval. The objective is to eliminate tearing, I suppose if I made it configurable, it would be up to the user to decide whether they prefer tearing to uneven frame rate.
Hmm, and I wonder if it's possible to design a Direct3D renderer that has a flip interval equal to the refresh rate, using a clever mix of one or more frame textures and some evil blending/accumulation/wtf to perform frame rate conversion through at least simple frame blending...
I'm still using DirectDraw in my own code, and an evil timer/GetScanline workaround so I can do full vsync even when shitty drivers are present. ( F U ATI for 100% CPU when doing vsync'd DirectDraw or OpenGL, but not for Direct3D. )
Besides, when I do it the timer way, I can design it so the leading edge of my blank/copy interval is the first scanline after the bottom of my display frame, rather than the actual vblank, so I can get a bit more time to do the actual copy. Basically, a 1ms MM timer watching the DirectDraw interface's scanline, and also keeping a note of the display mode height and/or highest reported scanline number. Then it uses offset/modulo so that 0 is the first scanline after my display buffer.
I'm sure there's a more optimal way to calculate when the current scanline has begun a new cycle starting at some arbitrary line in the screen, but for now, that stuff, and pulsing the wait event whenever the current offset/wrapped scanline is less than the last. ( which would indicate a new sync period. )
Note this does not apply to my build of VBA, although I should consider applying that to its DirectDraw code. The only reason I even bothered with the Direct3D code and added vsync support was so I could get vsync in a window without eating up my CPU.
With my DirectDraw code, I can get a 60fps emulator loop, which happens to be throttled by its sound output, to display synced frames on a 85Hz desktop, with only the effect of minor jitter from blitting too soon/late for exact 60fps interval. The objective is to eliminate tearing, I suppose if I made it configurable, it would be up to the user to decide whether they prefer tearing to uneven frame rate.
Hmm, and I wonder if it's possible to design a Direct3D renderer that has a flip interval equal to the refresh rate, using a clever mix of one or more frame textures and some evil blending/accumulation/wtf to perform frame rate conversion through at least simple frame blending...
-
- Rookie
- Posts: 37
- Joined: Mon Nov 15, 2004 5:05 am
Btw, 1.21 has been released.
----------------------------------------------------------------
1.21
----------------------------------------------------------------
- Adjusted PPU cold reset timing, fixes Time Lord.
- Removed $4017.7 check for DMC IRQ, fixes Silent Service and Time Lord.
- Added an option for preserving the window size and position after exit.
- Added A12 hook for $2007(R/W).
- Added a newer version of ZLib.
- Fixed a window focus bug.
- Fixed a window size on startup bug.
- Fixed two minor APU save/load state bugs.
- Fixed a minor PPU sprite overflow bug.
- Corrected a VS palette entry, VS.Goonies looks better now.
- Options in the machine section in the menu are now saved on exit.
- Improved compatibility with DirectInput devices.
----------------------------------------------------------------
1.21
----------------------------------------------------------------
- Adjusted PPU cold reset timing, fixes Time Lord.
- Removed $4017.7 check for DMC IRQ, fixes Silent Service and Time Lord.
- Added an option for preserving the window size and position after exit.
- Added A12 hook for $2007(R/W).
- Added a newer version of ZLib.
- Fixed a window focus bug.
- Fixed a window size on startup bug.
- Fixed two minor APU save/load state bugs.
- Fixed a minor PPU sprite overflow bug.
- Corrected a VS palette entry, VS.Goonies looks better now.
- Options in the machine section in the menu are now saved on exit.
- Improved compatibility with DirectInput devices.
[i]I will cross the chasm[/i]
-
- Veteran
- Posts: 844
- Joined: Thu Jul 29, 2004 3:56 am
Yeah! You beat me to it! I am using it rigth now.
Last edited by Neo Kaiser on Sun Oct 23, 2005 7:27 am, edited 1 time in total.
Yes I know that my grammar sucks!
-
- Veteran
- Posts: 844
- Joined: Thu Jul 29, 2004 3:56 am
It just gets better. 

http://sf.net/projects/nestopia----------------------------------------------------------------
1.22
----------------------------------------------------------------
Windows Port:
- Added support for RAR and 7-Zip files.
- Enabled use of XP visual styles.
- Cleaned up the GUI a bit and fixed proper tab ordering.
- Added cheat search support.
- Added some joystick options. People having joystick problems in earlier versions can now disable the buggy axes.
- Improved auto frame skipping performance.
- Fixed an FDS BIOS path saving bug.
- Fixed an auto IPS patching bug.
- Fixed a Wave file recording bug.
- Fixed an Alt+Tab from fullscreen bug.
- Fixed a cheats delete/clear bug.
Emulation Core:
- Added real-time rewinding support (up to 1 minute). To use it, assign it to any key and enable it in the Timing dialog.
- Added support for cheats in the whole address range.
- Added support for "Pro Action Rocky" cheat codes.
- Added DPCM channel sample interpolation and DC offset removal.
- Improved PPU vblank timing and flag behaviour, info from Blargg.
- Fixed mapper 6 and moved "Mi Hu Chen (hFFE)" to it, info from CaH4e3.
- Moved "Shin Samurai Spirits 2", "Power Rangers III" and "Power Rangers IV" to mapper 209.
- Moved "Mortal Kombat 3 - Special 56 People" to mapper 90.
- Hacked mapper 90, more games are playable now,
- Added mapper 148 and moved "Sugoro Quest - Dice no Senshitachi (asia)" to it.
- Added mapper 183, info from CaH4e3.
- Added mapper 186, info from CaH4e3.
- Fixed mapper 187, "King Of Fighters 96" is now playable.
- Added mapper 216, info from CaH4e3.
- Added DreamTech UNIF board, info from CaH4e3.
- Added H2288 UNIF board, info from Kevtris and CaH4e3.
- Added proper handling of FDS disk insert/eject during movie playing/recording.
-
- Dark Wind
- Posts: 1271
- Joined: Thu Jul 29, 2004 8:58 pm
- Location: Texas
- Contact:
-
- Veteran
- Posts: 844
- Joined: Thu Jul 29, 2004 3:56 am
-
- ZSNES Developer
- Posts: 3904
- Joined: Tue Jul 27, 2004 10:54 pm
- Location: Solar powered park bench
- Contact:
Hey, I already added JMA support to 4 different emulators, don't I deserve a break?Neo Kaiser wrote:Seconded.Noxious Ninja wrote:Someone get this man some JMA code, stat!- Added support for RAR and 7-Zip files.
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
_____________
Insane Coding
I don't have those problems. Try deleting the nestopia.cfg file if you installed this version over an older version.crocomire wrote:Is impossible to play games that use Zapper Gun! The shots rarely knock down the targets...
Only I have this problem?![]()
Other bug: The "recent files" and "recent directories" lists are cleared after close the emulator...