VOGONS


Set cycles to specific xt/at/386/486/586 speed.

Topic actions

Reply 60 of 74, by ih8registrations

User metadata
Rank Oldbie
Rank
Oldbie

The set5.diff is a patch that has to be applied to the source and then the source compiled for it to function. You lose the on the fly MHz adjusting, but you can make static setting batch files. Look at the xt/at/386/486/586 .bat files, and multiply cpucycles by dosboxcycles.

@echo off
set cpu=386
set cpucycles=16
set dosboxcycles=188
set info1=16/20MHz PS/2 Model 80 (first 386 PS/2, introduced VGA, 4/2/87)
rem set info2=25/33/40MHz higher 386 production speed grades
setcpu %1

If you wanted to set as a 386@16 Mhz, the dosbox cycles value would be 16 * 188. In the static batch file you would have "cycles fixed 3008."

Reply 61 of 74, by Flying Nosehair

User metadata
Rank Newbie
Rank
Newbie

Oh, OK. Thanks for explaining.

Reply 62 of 74, by robertmo

User metadata
Rank l33t++
Rank
l33t++

could this thread be moved to dosbox patches or developement? As it quickly disappears in general.

Reply 63 of 74, by ih8registrations

User metadata
Rank Oldbie
Rank
Oldbie

Updated patch to current CVS. Also requires the updated batch files, as dosbox batch handling has changed(if var1 == var2 now needs to be if "var1" == "var2".)

Fixed a bug that broke empty checks(stripping = at the start of the if cmd the culprit.) I'm surprised this wasn't caught earlier since empty checks are quite ubiquitous in batch files, and of course used by setcpu.

Included a dupe of 586.bat named p.bat to follow the short hand convention of calling pentiums p75, p90, etc. except include a space to run(p 90.) That and I'm sure I'm not the only lazy typer:)

Reply 64 of 74, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

as dosbox batch handling has changed(if var1 == var2 now needs to be if "var1" == "var2".)

Is this something that's still different compared to msdos?

Reply 65 of 74, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Why are most of the changes simply you adding tabs or spaces to the lines ?

Water flows down the stream
How to ask questions the smart way!

Reply 66 of 74, by ih8registrations

User metadata
Rank Oldbie
Rank
Oldbie

Diff false positives. I'd imagine those would be from me trying things out then changing back(like adding then removing LOG_MSGs from debugging) except perhaps the line ends being different, or windows vs unix line termination.

@wd, the change in behavior isn't from this or its prior patches, just affected by it, requiring me to update setcpu.bat, but the change matches the behavior of XP. which I had mentioned earlier in this thread long ago. Qbix had said the target was/is dos 5.0 compatibility, which I haven't tested for this behavior, or maybe I have, but I forget.

This patch has gotten shorter since some of its changes have been added to the db source, albeit coded differently. Now it mainly consists of the math handling, and then the small number of necessary tweaks.

Reply 67 of 74, by robertmo

User metadata
Rank l33t++
Rank
l33t++

I think there was no 486 83MHz and Pentium 83MHz and Pentium 300MHz

Reply 68 of 74, by ih8registrations

User metadata
Rank Oldbie
Rank
Oldbie

You mean other than the non intel, overdrive, and mobile versions. You may be right about 83 Mhz 486, I'm not finding what led me to including that. Actually more could be added, 486 40, 80, & 90, pentium 63, 125 & 180 mhz overdrive. Something I think would be good to check; speedys in the big top thread had included some mp3s comparing sound output. While he labeled one correct the other not, by my ear it doesn't jive, so it would be nice to hear a recording on actual hardware to possibly tune the speed ratios, which were arrived at by averaging some benchmarks and comparing results from online. As I had mentioned before, they're never going to be completely accurate from the way dosbox works but a closer ball park will do.

Reply 69 of 74, by Svenne

User metadata
Rank Member
Rank
Member

How do I install the patch?
EDIT: Nevermind, figured it out.
Anyways, I don't think this works as it should; Pentium@300 is slow as hell. Booting Windows 3.1 takes 20 seconds.

Reply 70 of 74, by ih8registrations

User metadata
Rank Oldbie
Rank
Oldbie

It works. I don't know what's going on with your setup, but one issue is this: A core 2 duo e8300(2.833 GHz) set to dynamic core, max cycles, only runs windows 3.11 equivalent to a pentium ~@ 100 MHz(boots in less than a second.) Unless you're running a highly overclocked system, setting dosbox to a pentium 300 won't get you pentium 300 performance when running windows.

edit: what qbix said:)

P.S. The batch files calculate and set any MHz value, including decimal, not just the speeds listed in the output, like 'xt 999999.999' or '486 1000' etc. Whether your system can run dosbox at a set speed is something else.

Last edited by ih8registrations on 2009-08-17, 19:33. Edited 9 times in total.

Reply 71 of 74, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

uhm it can't increase the speed of dosbox to speeds your pc can handle.
if the speed is too high for your pc. DOSBox will be very slow as result

Water flows down the stream
How to ask questions the smart way!

Reply 72 of 74, by Svenne

User metadata
Rank Member
Rank
Member

That explains it; I've got a Pentium 4 Prescott 3.2 GHz 800 MHz FSB.
EDIT: When I set it to Pentium 300 MHz, my CPU idles at 1-5%.

Reply 73 of 74, by robertmo

User metadata
Rank l33t++
Rank
l33t++
ih8registrations wrote:

You mean other than the non intel, overdrive, and mobile versions. You may be right about 83 Mhz 486, I'm not finding what led me to including that. Actually more could be added, 486 40, 80, & 90, pentium 63, 125 & 180 mhz overdrive.

I think you shouldn't add (should remove) any non intel, mobile, overdrive, value, SX options cause i think all games were written for original intel. There is no need to emulate cpus made for people with less money that are intended to perform poorly. We can always over/underclock them manually if we feel the need to.

Reply 74 of 74, by ih8registrations

User metadata
Rank Oldbie
Rank
Oldbie

These batch files aren't as complicated as you're thinking. There's only one value for each CPU generation, and what's shown in the box is just info. Estimated dosbox cycles equating to 1 xt/at/386/etc MHz is multiplied by the default, or whatever value you pass on the command line, which can be any number.

Leaving out overdrive speeds isn't a hard sell. Only possibly unique SX speed is 486 16 Mhz, which I would include from being the slowest 486 speed, only possibly unique mobile speed is 586 300, which I would include from being the fastest pentium speed. If you were to only list Intel, it would stop at 100, Intel themselves released 40 & 90 DX2s, leaving you with a list with some oddball speeds while leaving out more common 120 & 133 speeds from AMD and Cyrix, mentioned in some game system requirements.

The 486 and 586 info isn't as informative as it could be, listing speed grades by year is helpful.