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

Here you can discuss the development of patches.

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

Postby ih8registrations » 2009-5-17 @ 08:53

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.

Code: Select all
@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."
ih8registrations
Oldbie
 
Posts: 931
Joined: 2003-7-25 @ 17:20

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

Postby Flying Nosehair » 2009-5-18 @ 01:04

Oh, OK. Thanks for explaining.
Flying Nosehair
Newbie
 
Posts: 14
Joined: 2009-5-02 @ 03:14

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

Postby robertmo » 2009-8-14 @ 13:36

could this thread be moved to dosbox patches or developement? As it quickly disappears in general.
User avatar
robertmo
l33t
 
Posts: 4235
Joined: 2003-6-18 @ 10:35

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

Postby ih8registrations » 2009-8-16 @ 10:06

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:)
You do not have the required permissions to view the files attached to this post.
ih8registrations
Oldbie
 
Posts: 931
Joined: 2003-7-25 @ 17:20

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

Postby wd » 2009-8-16 @ 10:59

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?
wd
DOSBox Author
 
Posts: 10818
Joined: 2003-12-03 @ 21:23

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

Postby Qbix » 2009-8-16 @ 11:00

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!
User avatar
Qbix
DOSBox Author
 
Posts: 10523
Joined: 2002-11-27 @ 14:50
Location: Fryslan

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

Postby ih8registrations » 2009-8-16 @ 11:31

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.
ih8registrations
Oldbie
 
Posts: 931
Joined: 2003-7-25 @ 17:20

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

Postby robertmo » 2009-8-16 @ 17:23

I think there was no 486 83MHz and Pentium 83MHz and Pentium 300MHz
User avatar
robertmo
l33t
 
Posts: 4235
Joined: 2003-6-18 @ 10:35

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

Postby ih8registrations » 2009-8-16 @ 19:59

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.
ih8registrations
Oldbie
 
Posts: 931
Joined: 2003-7-25 @ 17:20

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

Postby Svenne » 2009-8-17 @ 18:38

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.
Svenne
Member
 
Posts: 194
Joined: 2009-8-05 @ 00:40

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

Postby ih8registrations » 2009-8-17 @ 19:03

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-8-17 @ 19:33, edited 9 times in total.
ih8registrations
Oldbie
 
Posts: 931
Joined: 2003-7-25 @ 17:20

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

Postby Qbix » 2009-8-17 @ 19:18

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!
User avatar
Qbix
DOSBox Author
 
Posts: 10523
Joined: 2002-11-27 @ 14:50
Location: Fryslan

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

Postby Svenne » 2009-8-17 @ 21:49

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%.
Svenne
Member
 
Posts: 194
Joined: 2009-8-05 @ 00:40

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

Postby robertmo » 2009-8-18 @ 05:44

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.
User avatar
robertmo
l33t
 
Posts: 4235
Joined: 2003-6-18 @ 10:35

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

Postby ih8registrations » 2009-8-18 @ 07:58

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.
You do not have the required permissions to view the files attached to this post.
ih8registrations
Oldbie
 
Posts: 931
Joined: 2003-7-25 @ 17:20

Previous

Return to DOSBox Patches

Who is online

Users browsing this forum: No registered users and 2 guests