VOGONS

Common searches


First post, by Barry_Purplelips

User metadata
Rank Member
Rank
Member

Firstable, wow, including a debug build was a great idea, it's been enormously interesting. Thanks a lot 😀

Now here's the suggestion. Given that the debug build can actually output the data pertaining the screen modes being used, why not give it a lil bit more precision?

Specifically I'm interested in refresh rates. Currently you get a rounded down value (e.g. 70.09Hz for 320x200) but this number does nothing other than satisfy curiosity.

For it to actually be useful, it would have to display the whole number with as many decimals as technically possible. Why? so we can come up with custom screen modes with custom timings that replicate said exact values in order to be able to vsync properly and have real smoothscrolling, which's currently nearly impossible to achieve.

With powerstrip, I've been able to nail several modes with as many as 15 decimals of precision, and that's exactly what I'm asking here, make the whole number available (e.g. 70.000000000000000Hz)

Being able to alter the clock of the emulated video card to work at a manually specified refresh rate would be even better, but I guess that's easier said than done.

Cheers.

Reply 2 of 11, by Barry_Purplelips

User metadata
Rank Member
Rank
Member

Hmmm, that's a tricky question depending on how you approach it.

My GF6-powered system is flexible enough to allow for virtually any timing, I even managed a perfect 54.815170000000000Hz for Mortal Kombat (MAME) . As for DosBox specifically, I'm afraid I have no idea, I know little about it's internal workings.

Well, possible to show the whole refresh rate or not? I'm dying to now, this could change a lot for me 😀

Reply 3 of 11, by Barry_Purplelips

User metadata
Rank Member
Rank
Member

Well, I've been contemplating the possibility of learning how to build DosBox (which appears to be very a straightforward procedure) just so I can mess around with the source and hopefully figure out a way to change the refresh rate of Mode 13h to an exact 70Hz.

Any idea if this would be too complicated? any hints on where to start?

Thanks in advance 😎

Reply 4 of 11, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The float values that are used to time the event in DOSBox this are not *that* exact. You would be entering phantom numbers. And your graphics card rounds to the next PLL step too. And there are things that desync DOSBox's timing from real time so you will experience tearing now and then anyway.

1+1=10

Reply 5 of 11, by Barry_Purplelips

User metadata
Rank Member
Rank
Member

Any chance to at least round it down to something like 70.000? 95% of the games I run work in mode 13h so having a perfect 320x200@70.000Hz would pretty much solve all of my problems.

Reply 7 of 11, by Barry_Purplelips

User metadata
Rank Member
Rank
Member

Actually it varies from card to card. GTF-compliance wasn't always enforced so I've seen all sorts of numbers in mode 13h, like 70.4 and 69.5. The possibility that one of these cards managed a "perfect" 70Hz isn't all that crazy. Either way, this wouldn't have negative side effects and should allow users like me to easily overcome the stuttering problem since a perfect 70 is alot easier to get right with apps like PowerStrip.

Reply 8 of 11, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

MB6 320x200 256c:
video clock: 25.18MHz mode M_VGA
320x200, 70.08630289532294500000Hz, 8bpp, screen 1.333

video clock: 25.18MHz mode M_EGA
320x200, 70.08628062360801900000Hz, 8bpp, screen 1.333

video clock: 25.18MHz mode M_EGA
640x350, 70.08630289532294500000Hz, 8bpp, screen 1.450

video clock: 29.40MHz mode M_LIN8
640x480, 70.00714285714285300000Hz, 8bpp, screen 1.333

video clock: 25.18MHz mode M_EGA
640x480, 59.94047619047619000000Hz, 8bpp, screen 1.333

Maybe it makes you happy...

1+1=10

Reply 10 of 11, by VileR

User metadata
Rank l33t
Rank
l33t

@Barry: I'd like to know more about this, specifically how you use Powerstrip w/ these custom refresh rates in conjunction with DOSBox / MAME / etc.

Of course, my monitors are LCD so I assume that this won't be of much help with my current setup.

[ WEB ] - [ BLOG ] - [ TUBE ] - [ CODE ]

Reply 11 of 11, by Barry_Purplelips

User metadata
Rank Member
Rank
Member

Sure.

One potentially troublesome aspect of the process is working with underscan resolutions (ask me if you need the tips) which so far are yet to be officially supported by PowerStrip , though it's perfectly possibly to work around that. However, you may be better off using a higher resolution your LCD will likely be able to handle more appropriately.

The best way to do this is to switch to the desired screen mode (resolution + closest refresh rate) using your video drivers before attempting anything with PowerStrip, which's also a necessary step for using your custom mode with DosBox/MAME (try -noswitchres) as they normally go fullscreen with whatever refresh rate they feel like it, and having the custom mode already set before they start ensures they will be used. Needless to say, when using DosBox with underscan resolutions, only go fullscreen AFTER the game's already running, otherwise the custom timing will be overritten by that of DosBox's CMD screen. You will also need to set the output to "ddraw" and fulldouble to "yes", otherwise any work on the custum timings will be in vain.

Basically all you got to do is install PowerStrip, click the icon on the taskbar, goto "Display Profiles" - "Configure...", click on the lock button to enable custom timings, then "Advanced timing options..." right bellow it, check "Ultra-fine granularity" and "Real-time adjustment" (in case it isn't already checked) copy your custom timing (like that 70.08630289532294500000 provided by hal) paste it into the "Refresh rate" field, click on some other field to "apply" changes, right-click the "copy" button at the very bottom of the menu to create a desktop shortcut and finally accept chances by clicking "OK".

Normally you need to alter different values (like Back Porch) and retry your custom refresh rate till it "sticks" with an acceptable degree of accuracy, which you can double-check by hovering the pointer over "Vertical geometry" on the same screen.

Here's the reason I wanted the perfect 70Hz:
98253291.png

And here's what I managed with MB6's:
clipboard1m.png

In short:

1. Change your desktop mode to whatever you want DosBox to use.
2. Double-click the shortcut you created with PowerStrip.
3. Run DosBox.
4. Run your game.
5. Go fullscreen.