Ticket #315 (Fixed)Tue Sep 18 21:42:48 UTC 2012
ScreenModes mode selection logic needs improving
Reported by: | Jeffrey Lee (213) | Severity: | Normal |
Part: | RISC OS: Module | Release: | |
Milestone: | Status | Fixed |
Details by Jeffrey Lee (213):
Now that the VIDC & bandwidth limiting code has been stripped out of ScreenModes, the module is now less effective at selecting sensible modes on IOMD/VIDC hardware than it was before.
E.g. my RiscPC has several 1280×1024 modes in its MDF, each at different refresh rates. Some of these refresh rates require a pixel rate of over 110MHz, so aren’t actually suitable for use on a RiscPC. The WimpMode command in my PreDesk folder selects 1280×1024×256 but doesn’t specify a refresh rate. On RISC OS 3.7, and on versions of RISC OS 5 prior to the VIDCBandwidthLimit removal, this WimpMode command works fine and ScreenModes is able to skip the bad modes. But on the current version of RISC OS 5 ScreenModes doesn’t seem to make any attempt to skip/filter out the bad modes, leading to the mode change failing once it reaches VIDC20Driver. The only way to successfully change to a 1280×1024 mode is to manually specify the refresh rate in order to avoid the auto-selected rate from failing.
Changelog:
Modified by Jeffrey Lee (213) Wed, September 19 2012 - 16:50:47 GMT
- Part changed from Unspecified to RISC OS: Module
Modified by Sprow (202) Mon, January 07 2013 - 07:30:43 GMT
- Status changed from Open to Fixed
Fixed in 0.35.
Modified by Frank de Bruijn (160) Fri, January 11 2013 - 14:23:23 GMT
- Status changed from Fixed to Open
Please provide some means to override the fix, as I can no longer use a 1680×1080 mode on my RPCEmu installation.
Modified by Sprow (202) Mon, January 14 2013 - 20:46:34 GMT
- Status changed from Open to Fixed
This change is not related to your observation, based on the date of your forum post it’s merely coincidence that this change happened around the time you updated your emulator’s ROM.
The 3 steps in between were
- Removal of the VIDCBandWidthLimit command
- Delegation of the vetting of modes to the video driver
- The ScreenModes module actually remembering to ask the video driver its opinion
This ticket is to fix the last of those 3, which it does.