VOGONS

Common searches


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

Topic actions

  • This topic is locked. You cannot reply or edit posts.

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 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:)

Attachments

  • Filename
    set6.diff
    File size
    4.45 KiB
    Downloads
    112 downloads
    File license
    Fair use/fair dealing exception
  • Filename
    set.zip
    File size
    2.14 KiB
    Downloads
    141 downloads
    File license
    Fair use/fair dealing exception

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 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 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 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.

Attachments

  • Filename
    486586.zip
    File size
    461 Bytes
    Downloads
    126 downloads
    File license
    Fair use/fair dealing exception