![]() |
![]() |
#1 |
Registered User
Join Date: Jul 2008
Location: Netherlands
Posts: 485
|
chipset_refreshrate improvement
Thanks for the update.
A small bug report relating to both b5 and b6. I'm experiencing some timing problems with Eagle Player when playing modules from the RTG Workbench, displayed on my 60hz LED monitor. When the chipset_refreshrate is set to ~49,92, modules seem to play too slow. If I disable the custom chipset_refreshrate then the problem is not there. Background: I'm using EaglePlayer with the EmpyGUI24 on a RTG workbench with display on my 60hz LED screen. I'm noticing that when I set the chipset_refreshrate to ~49,92hz then the modules played by EaglePlayer are played more slowly. The display window in the bottom right corner shows "CPU: ~10%" and "60 [~49,9]". If I set Eagle Player's 'timing' (in preferences) to either 'CIA timing' (the default I've always been using) or 'Timer Device', then the music plays too slow; if I set timing to 'VBlank timing' than most modules sound OK, but also some play to quickly. If I disable the custom chipset_refreshrate alltogether than all modules sound fine with CIA timing (as they used to before b5). In the bottom right corner of the WinUAE window it then shows "CPU: ~10%" and "60 [~60]". |
![]() |
![]() |
#2 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,553
|
I don't think this is a bug. You have NTSC (60Hz) configuration but want to see it is a ~50Hz setup.
This can get confusing for everyone (including me!) because there are 2 "refresh" rates. You could say chipset refresh accelerates or slows down time between emulated and real world. Emulated hardware still runs at original real rate (so that running programs think they are running on normal hardware) but what you actually see is something else ![]() Note that chipset refresh is ignored if it is equal to PAL or NTSC rate to allow proper PAL/NTSC switching because it is what everyone expects. Chipset refresh would conflict with this if it is always enabled. Not sure if there are better solutions to this problem. (Remember that "normal" usage always takes priority so don't expect complex solutions) |
![]() |
![]() |
#3 | ||||
Registered User
Join Date: Jul 2008
Location: Netherlands
Posts: 485
|
Quote:
My analogy would more be one of a PAL Amiga with a GFX card attached, where the RTG screenmode runs in 60hz. A friend of mine has such a real hardware setup, where he has both a VGA monitor attached for his Workbench stuff, but when he for example loads up a WHDLoad game, the display switches to the built-in video-out and his attached Philips CRT/15Khz monitor (thus running games with 313/312 lines at ~49,92hz and ~50,08hz). I currently have WinUAE setup in the same way, with two monitors attached, one for the RTG side (60Hz LED) and one for native modes (the 15khz monitor through soft15khz). Quote:
![]() Quote:
![]() Quote:
![]() Last edited by Dr.Venom; 25 April 2011 at 18:56. |
||||
![]() |
![]() |
#4 | |
Registered User
Join Date: Jul 2008
Location: Netherlands
Posts: 485
|
Quote:
Coming back to the earlier "problem" of the eagleplayer playing modules to slow when having chipset_refresh set to something different than 50.00000 and playing them from RTG workbench. This issue is still there in Beta 7. I now better understand your answer with the proper 50/60hz switching behaviour. If this switching behaviour is enabled (chipset_refresh set to 50.0000) then modules play at the right speed (upon booting and going from native screenmode to opening the RTG workbench, it switches speed to 60hz) . But, if the switching behaviour is disabled by setting a custom chipset_refresh (at ~50hz), than the modules play about 20% to slowly. This is apparently because the normal switching behaviour can't/doesn't occur. I was thinking of the following possible solution to have the best of both worlds, i.e. being able to set custom chipset refresh AND have proper switching behaviour still enabled. In addition to the chipset refresh being ignored when equal to pal or ntsc rate, would it be a solution to have a custom chipset refresh automatically toggle between ignored and enabled when the emulation is internally doing the PAL/NTSC switch? As an illustration how this would work: 1. Default config of user = RTG workbench at 60hz (full-window on 60hz windows desktop) & native fullscreen mode set at ~50hz with chipset_refresh enabled (at e.g. 49,92hz or 50.0002hz) -> running native PAL applications gives user desired behaviour; 2. When emulated machine switches timing to 60hz (for example caused by booting up Workbench in this setup) -> custom chipset_refresh gets disabled for proper PAL/NTSC switching -> state is now 60hz; 3. When emulated machine switches timing back to 50hz (by starting a WHDLoad game from Workbench for example)-> custom chipset_refresh gets enabled again -> user desired PAL behaviour follows (chipset refresh at e.g. 49,92hz or 50.0002Hz); 4. Toggle between two and three. Would this be a workable (and implementable) solution? Last edited by Dr.Venom; 16 May 2011 at 23:29. Reason: Clarified and explained question more |
|
![]() |
![]() |
#5 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,553
|
Moved from beta thread because this isn't going to happen in 2.3.2.
First, any player that uses vblank timing works as designed, playback changes depending on chipset refreshrate (RTG refresh may not be same as chipset refresh on real Amigas either). This is not good enough reason for change ![]() Whole chipset_refresh needs better implementation. Main problem is that it forces all refresh rates to selected value. Remember that originally it was only meant to slow down or speed up games ![]() Perhaps some kind of multiplier or base unit (clock rate?) is better than direct vertical refresh rate value. Note that 2 values, one for PAL and one for NTSC is not enough. There are 6 "standard" rates, 312 line PAL, 313 line PAL, interlaced PAL and same for NTSC. (not counting programmed rates but fortunately those aren't used by games or demos that need smooth scrolling) |
![]() |
![]() |
#6 | ||
Registered User
Join Date: Jul 2008
Location: Netherlands
Posts: 485
|
Quote:
![]() Quote:
I see the chipset refresh serving the following two purposes. It creates the possibility to:
An improved implementation of the chipset refresh would preferably achieve both 1 and 2. Given these goals (you might differ on them?), would it be an idea to create an "Advanced Chipset Refresh Rates" configuration section, where users can configure screenmodes and custom chipset refresh rates for all 6 "standard" rates? Thus effectively configuring WinUAE's display output to behave like a real Agnus. Possibly the seventh "standard" would be the screenmode and refresh for everything else (as most users probably will not use more than one programmed mode). This additional configuration section would preferably be flexible enough to accommodate users that prefer a setup with one monitor (LCD/LED/VGA) attached and let's say two refresh rates (e.g. 50 and 60hz), to the more "advanced/purist" users who would like to go all the way through the means of adding seperate screen-/refresh modes through Powerstrip or Soft15khz for all of the Agnus standard rates. For the purpose of illustration, the extra configuration section/panel could be like the one below: Code:
Advanced Chipset Refresh Rate Panel----------------------------- LINE MODE | REAL AMIGA | UAE CHIPSET REFRESH | SCREENMODE | ---------------------------------------------------------------- P 625 50 user input user selection | A 312 50.08 user input user selection | L 313 49.92 user input user selection | ----------------------------------------------------------------- N 525 59.94 user input user selection | T 262 60.05 user input user selection | S 263 59.83 user input user selection | C | ---------------------------------------------------------------- RTG any any user input user selection | ---------------------------------------------------------------- SIMPLE: user has two default screenmodes, one for PAL and one for NTSC Code:
Advanced Chipset Refresh Rate Panel----------------------------- LINE MODE | REAL AMIGA | UAE CHIPSET REFRESH | SCREENMODE | ---------------------------------------------------------------- P 625 50 50.0021 1080p/50.0021 | A 312 50.08 50.0021 1080p/50.0021 | L 313 49.92 50.0021 1080p/50.0021 | ----------------------------------------------------------------- N 525 59.94 60.0014 1080p/60.0014 | T 262 60.05 60.0014 1080p/60.0014 | S 263 59.83 60.0014 1080p/60.0014 | C | ---------------------------------------------------------------- RTG 1080 "60" 60.0014 1080p/60.0014 | ---------------------------------------------------------------- Code:
Advanced Chipset Refresh Rate Panel----------------------------- LINE MODE | REAL AMIGA | UAE CHIPSET REFRESH | SCREENMODE | ---------------------------------------------------------------- P 625 50 50.0021 576i /50.0021 | A 312 50.08 50.0790 287p /50.0790 | L 313 49.92 49.9180 287p /49.9180 | ----------------------------------------------------------------- N 525 59.94 60.0010 480i /60.0010 | T 262 60.05 60.0520 240p /60.0520 | S 263 59.83 59.8510 240p /59.8510 | C | ---------------------------------------------------------------- RTG 1080 "60" 60.0014 1080p/60.0014 | ---------------------------------------------------------------- Pheeww.... it has indeed became somewhat more complex (or interesting) then we started out with ![]() EDIT: For people interested, this feature has been implemented by Toni through settings in the config file. More info can be found here: http://eab.abime.net/showthread.php?t=58900 Last edited by Dr.Venom; 24 June 2011 at 22:33. Reason: Feature has been implemented |
||
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
PUAE chipset_refreshrate option in uaerc | Gaula92 | support.OtherUAE | 2 | 29 September 2011 18:26 |
uaectrl improvement | hexaae | support.WinUAE | 2 | 30 May 2009 00:49 |
Quickstart configuration GUI improvement | ceztko | request.UAE Wishlist | 15 | 03 September 2008 21:29 |
Crash with 1.4.1 + improvement wish | Kador | support.WinUAE | 3 | 22 April 2007 12:45 |
New oportunity for improvement of guide! :) | Anubis | project.Green Amiga Alien GUIDES | 0 | 02 March 2007 18:57 |
|
|