Regen 0.93 Beta 4 + new Debuggers
Moderator: AamirM
-
- Very interested
- Posts: 273
- Joined: Fri Feb 29, 2008 8:12 pm
- Location: United States
Well, DX9 actually, since it'll still maintain XP compatibility AND it works fine on Vista in windowed mode since DX7 doesn't too well in windowed mode. VSync doesn't matter in this case either. With VSync on, it's actually way worse. With it off, it still stutters.
I really see no benefit from using DX10 yet though, at least until Windows 7 is released.
I really see no benefit from using DX10 yet though, at least until Windows 7 is released.
Last edited by King Of Chaos on Tue Oct 28, 2008 5:38 pm, edited 1 time in total.
-
- Very interested
- Posts: 273
- Joined: Fri Feb 29, 2008 8:12 pm
- Location: United States
-
- Interested
- Posts: 15
- Joined: Thu Sep 25, 2008 9:11 pm
Sorry for not paying closer attention to this thread, as I have been busy with homework.
When overclocking is disabled, does Regen make any attempt to take those fractional cycles into account, possibly by "dithering" the number of cycles/scanline in some regular pattern? (This is just a question, not a feature request.)
Also, a couple more bugs which have been present for several versions and are somewhat similar to things I've heard from other users; these have occurred on two different computers of mine:
1. On the second and subsequent games loaded in a Regen session, there is no sound until I click on one of the menu headings (such as "File" or "Help") and then either use a menu item or click away from the menu to remove the menu.
2. If the first game loaded in a Regen session is NTSC, then any later PAL games in the same session will try to refresh the screen at the NTSC frame rate, but since the emulation algorithms are thinking in terms of PAL, this results in crackly audio. A similar situation happens if the first game is PAL and a later game is NTSC.
Do you want reports of unlicensed games whose protection chips are not yet emulated? (I can't offer any help in emulating such chips.)
Anyway, I would like to clarify that my previous request stands regarding putting a checkmark into the menu next to the overclocking setting and providing some way to disable overclocking once it has been enabled (telling users to set the value back to 488 isn't really a clean solution).Eke wrote:actually, this would be right if framerate was exactly 60hz for NTSC and 50Hz for PAL but it is not
What gives you the exact framerate is the number of lines per frame and the number of pixels per line, so, theorically, in line-based emulators, the number of CPU cycles per line should be related to the number of pixels per line, which means:
342 * 10 / 7 = 488.57 CPU clks
342 * 10 / 15 = 228 Z80 clks exacty
...
When overclocking is disabled, does Regen make any attempt to take those fractional cycles into account, possibly by "dithering" the number of cycles/scanline in some regular pattern? (This is just a question, not a feature request.)
Also, a couple more bugs which have been present for several versions and are somewhat similar to things I've heard from other users; these have occurred on two different computers of mine:
1. On the second and subsequent games loaded in a Regen session, there is no sound until I click on one of the menu headings (such as "File" or "Help") and then either use a menu item or click away from the menu to remove the menu.
2. If the first game loaded in a Regen session is NTSC, then any later PAL games in the same session will try to refresh the screen at the NTSC frame rate, but since the emulation algorithms are thinking in terms of PAL, this results in crackly audio. A similar situation happens if the first game is PAL and a later game is NTSC.
Do you want reports of unlicensed games whose protection chips are not yet emulated? (I can't offer any help in emulating such chips.)
Hi,
EDIT:
@King of Chaos:
Just so you know, I have started working on D3D9 support but it'll delay the release quite a bit. But I guess it'll be worth it.
stay safe,
AamirM
Yeah, its still on my list of "things to do" .Anyway, I would like to clarify that my previous request stands regarding putting a checkmark into the menu next to the overclocking setting and providing some way to disable overclocking once it has been enabled (telling users to set the value back to 488 isn't really a clean solution).
Regen 0.85 did actually took fractional part into account. For example, using my previous calculation (which Eke has told to be incorrect) of 487.9, Regen 0.85 would shorten the last line of every frame by 26 cycles (which apparently seemed to have fixed Zero the Kamikaze Squirrel) and would again shorten every 60th frame by 12 cycles. In latest Regen 0.93, the same behaviour is implemented but differently such that you can't say it takes fractional part into account.When overclocking is disabled, does Regen make any attempt to take those fractional cycles into account, possibly by "dithering" the number of cycles/scanline in some regular pattern? (This is just a question, not a feature request.)
Strange, I tested this on 0.85 and 0.93 and it doesn't happen here. Are you using Vista? Is anybody else having the same problem (and confirm it)?Also, a couple more bugs which have been present for several versions and are somewhat similar to things I've heard from other users; these have occurred on two different computers of mine:
1. On the second and subsequent games loaded in a Regen session, there is no sound until I click on one of the menu headings (such as "File" or "Help") and then either use a menu item or click away from the menu to remove the menu.
2. If the first game loaded in a Regen session is NTSC, then any later PAL games in the same session will try to refresh the screen at the NTSC frame rate, but since the emulation algorithms are thinking in terms of PAL, this results in crackly audio. A similar situation happens if the first game is PAL and a later game is NTSC.
Sure.Do you want reports of unlicensed games whose protection chips are not yet emulated? (I can't offer any help in emulating such chips.)
EDIT:
@King of Chaos:
Just so you know, I have started working on D3D9 support but it'll delay the release quite a bit. But I guess it'll be worth it.
stay safe,
AamirM
-
- Very interested
- Posts: 273
- Joined: Fri Feb 29, 2008 8:12 pm
- Location: United States
-
- Interested
- Posts: 15
- Joined: Thu Sep 25, 2008 9:11 pm
Sorry I didn't just state my system specs up front - one of my two computers (which both experience the same symptoms IIRC) does use Vista.AamirM wrote:Strange, I tested this on 0.85 and 0.93 and it doesn't happen here. Are you using Vista? Is anybody else having the same problem (and confirm it)?Also, a couple more bugs which have been present for several versions and are somewhat similar to things I've heard from other users; these have occurred on two different computers of mine:
1. On the second and subsequent games loaded in a Regen session, there is no sound until I click on one of the menu headings (such as "File" or "Help") and then either use a menu item or click away from the menu to remove the menu.
2. If the first game loaded in a Regen session is NTSC, then any later PAL games in the same session will try to refresh the screen at the NTSC frame rate, but since the emulation algorithms are thinking in terms of PAL, this results in crackly audio. A similar situation happens if the first game is PAL and a later game is NTSC.
1. Dell Inspiron 9300, 1.6 GHz Pentium M, 1GB DDR2 SDRAM, Nvidia GeForce Go 6800 (driver version 84.74 from www.laptopvideo2go.com ), Windows XP Home SP3, using built-in integrated sound chipset
2. Dell Inspiron 1720, 2.5 GHz Core 2 Duo, 4GB of RAM, Nvidia GeForce 8600M GT (driver is whatever Windows Update gave me - need to check on version number), Windows Vista Home Premium SP1, Creative Sound Blaster X-Fi Xtreme Audio Notebook sound card
Give me some time to check whether any of my system tweaks/security software/etc. are at fault here.
I'm a little busy right now - give me a day or so to get back to you on this. I will mention that the games I have in mind are probably supported by Kega Fusion. (See the "Pirate ROM Hunt" series of videos by YouTube user CrashManEXE. I'm pretty sure he's been using Kega as his Genesis emulator.)AamirM wrote:Sure.Do you want reports of unlicensed games whose protection chips are not yet emulated? (I can't offer any help in emulating such chips.)
Hi,
Lion King 2
Mahjong Lover
Elf Wor
Super Bubble Bobble
Earth Defend
Whac a critter
Funny World and Ballon Boy
Squirrel King
Bugs life (don't fix checksum for this game)
Rockman X3
Soul Blade
Pocket Monsters
12-in-1
4-in-1
Smart Mouse
Lion King 3
Super King Kong 99
But you must enable autofix checksum for these to work in Regen (except the one listed).
About the problems, there doesn't seem to be anything wrong with your hardware. Delete regen.ini file and restart with a new config. Also make sure you are using at least Regen 0.85.
stay safe,
AamirM
Well there were quite many videos that came up so I only quickly looked at the Rockman X3 one. Yes, he is using Kega but I think he must've patched the ROM in some way to run it because otherwise it doesn't run on it. Regen does support this game correctly if you enable autofix checksum. For the sake of completeness here are the unlicensed game currently supported by Regen which require special handling:I'm a little busy right now - give me a day or so to get back to you on this. I will mention that the games I have in mind are probably supported by Kega Fusion. (See the "Pirate ROM Hunt" series of videos by YouTube user CrashManEXE. I'm pretty sure he's been using Kega as his Genesis emulator.)
Lion King 2
Mahjong Lover
Elf Wor
Super Bubble Bobble
Earth Defend
Whac a critter
Funny World and Ballon Boy
Squirrel King
Bugs life (don't fix checksum for this game)
Rockman X3
Soul Blade
Pocket Monsters
12-in-1
4-in-1
Smart Mouse
Lion King 3
Super King Kong 99
But you must enable autofix checksum for these to work in Regen (except the one listed).
About the problems, there doesn't seem to be anything wrong with your hardware. Delete regen.ini file and restart with a new config. Also make sure you are using at least Regen 0.85.
stay safe,
AamirM
Nope.AamirM wrote:@King of Chaos:
Just so you know, I have started working on D3D9 support but it'll delay the release quite a bit. But I guess it'll be worth it.
The Vista desktop is running under D3D. Any app running under D3D is essentially 'emulated' by the desktop. To your code everything looks the same, it looks like you're doing vsyncs, running at 60fps, everything else. But Vista updates the screen when it feels like it, not when you want it to.
So, no. Not going to help at all.
Hi,
stay safe,
AamirM
Thanks for the info. So is there any way around it?Snake wrote: Nope.
The Vista desktop is running under D3D. Any app running under D3D is essentially 'emulated' by the desktop. To your code everything looks the same, it looks like you're doing vsyncs, running at 60fps, everything else. But Vista updates the screen when it feels like it, not when you want it to.
So, no. Not going to help at all.
stay safe,
AamirM
-
- Very interested
- Posts: 273
- Joined: Fri Feb 29, 2008 8:12 pm
- Location: United States
Seems to me it could be a graphics drivers issue. I've updated the Nvidia drivers on this computer and the frame rates are better, near normal (nearly consistant 60.0 frame rate). The odd thing is, my other computer has Windows Vista and a ATI card and it has no problems with frame rates at all, it runs perfectly.
Yeah, the driver could well have an effect, it's probably the driver that decides when to do the real update.
There is probably a vista specific function you can call to request that it does an update, which might fix it. Note I say 'request that it does', not 'force it to do', because that's highly likely the case with this type of stuff. The OS/Driver will, without a doubt, be free to completely ignore you and do it when it feels like it anyway, but a half decent driver should cooperate at least most of the time.
No idea if such a thing exists or what it is yet, but I imagine Microsoft would have thought of this.
There is probably a vista specific function you can call to request that it does an update, which might fix it. Note I say 'request that it does', not 'force it to do', because that's highly likely the case with this type of stuff. The OS/Driver will, without a doubt, be free to completely ignore you and do it when it feels like it anyway, but a half decent driver should cooperate at least most of the time.
No idea if such a thing exists or what it is yet, but I imagine Microsoft would have thought of this.
Actually the move to DX9 (latest sdk update) can improve some of the stuttering.
I guess it depends on what calls are used.
The jump to the latest SDK solved microstutters in Media Player Classic for me.
Don't expect much though, the image rendering will be faster but the main bottleneck is not the image but the emulation. At least with dx9 you will be sure its not dx7 causing the problems and you can use the new calls to prevent tearing and do other cool stuff
I guess it depends on what calls are used.
The jump to the latest SDK solved microstutters in Media Player Classic for me.
Don't expect much though, the image rendering will be faster but the main bottleneck is not the image but the emulation. At least with dx9 you will be sure its not dx7 causing the problems and you can use the new calls to prevent tearing and do other cool stuff
-
- Very interested
- Posts: 273
- Joined: Fri Feb 29, 2008 8:12 pm
- Location: United States
I think Gerrie's got it right. The stuttering issue on Windows Vista is to do with the Desktop Window Manager of Windows Aero. When you have the Aero theme turned off on Windows Vista, everything's fine once again.
Snake explained it to me like this, Windows Vista (when Aero is on) updates the screen when it feels like it, not when you wanted to (like he said above). While I was researching the DWM and looking into the DWM APIs, it certainly does seem *possible* to request it to update the screen, thus possibly making this issue go away, but there's no way to be sure until it's tried out. I'm not fully sure what the requirements are to use the DWM API (like with DX7, or forced to use DX9) but the DWM Wikipedia article states the Desktop Window Manager requires video cards that support DirectX 9 and Shader Model 2.0.
Ironically though, I believe this issue to be fixed on ATI cards/drivers (or some kind of workaround is added to the ATI drivers). My other computer has an ATI card, with Aero enabled and I don't get any stutters or anything when using it (with consistent frame rates of 60.0 and 59.9). My integrated Nvidia graphics on this computer had the issue badly until I updated the drivers for it, then it started to improve some.
If anyone makes any tests or anything and needs somebody to test them, I will since the issue is present with me.
In the meantime, here's some links about DWM:
http://en.wikipedia.org/wiki/Desktop_Window_Manager
http://weblogs.asp.net/kennykerr/archiv ... nager.aspx
http://blogs.msdn.com/greg_schechter/ar ... 53605.aspx
http://msdn.microsoft.com/en-us/library/aa969540.aspx
http://www.stoyanoff.info/blog/projects ... -overview/
Snake explained it to me like this, Windows Vista (when Aero is on) updates the screen when it feels like it, not when you wanted to (like he said above). While I was researching the DWM and looking into the DWM APIs, it certainly does seem *possible* to request it to update the screen, thus possibly making this issue go away, but there's no way to be sure until it's tried out. I'm not fully sure what the requirements are to use the DWM API (like with DX7, or forced to use DX9) but the DWM Wikipedia article states the Desktop Window Manager requires video cards that support DirectX 9 and Shader Model 2.0.
Ironically though, I believe this issue to be fixed on ATI cards/drivers (or some kind of workaround is added to the ATI drivers). My other computer has an ATI card, with Aero enabled and I don't get any stutters or anything when using it (with consistent frame rates of 60.0 and 59.9). My integrated Nvidia graphics on this computer had the issue badly until I updated the drivers for it, then it started to improve some.
If anyone makes any tests or anything and needs somebody to test them, I will since the issue is present with me.
In the meantime, here's some links about DWM:
http://en.wikipedia.org/wiki/Desktop_Window_Manager
http://weblogs.asp.net/kennykerr/archiv ... nager.aspx
http://blogs.msdn.com/greg_schechter/ar ... 53605.aspx
http://msdn.microsoft.com/en-us/library/aa969540.aspx
http://www.stoyanoff.info/blog/projects ... -overview/