<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.dosbox.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Juanitogan</id>
	<title>DOSBoxWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.dosbox.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Juanitogan"/>
	<link rel="alternate" type="text/html" href="https://www.dosbox.com/wiki/Special:Contributions/Juanitogan"/>
	<updated>2026-05-16T09:05:52Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://www.dosbox.com/wiki/index.php?title=Performance&amp;diff=4445</id>
		<title>Performance</title>
		<link rel="alternate" type="text/html" href="https://www.dosbox.com/wiki/index.php?title=Performance&amp;diff=4445"/>
		<updated>2012-07-01T02:25:00Z</updated>

		<summary type="html">&lt;p&gt;Juanitogan: /* CPU Cycles (speed up/slow down) */ added link to 4.77 MHz&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* See also [[System Requirements]].&lt;br /&gt;
* See also [[DOSBox FAQ#Performance|Performance]]. (FAQ)&lt;br /&gt;
&lt;br /&gt;
DOSBox emulates the CPU, the sound and graphic cards, and other peripherals of a PC, all at the same time. The speed of an emulated DOS application depends on how many instructions can be emulated, which is adjustable (number of cycles).&lt;br /&gt;
&lt;br /&gt;
== How to speed up/slow down DOSBox ==&lt;br /&gt;
=== CPU Cycles (speed up/slow down) ===&lt;br /&gt;
By default (cycles=auto) DOSBox tries to detect whether a game needs to be run with as many instructions emulated per time interval as possible (cycles=max, sometimes this results in game working too fast or unstable), or whether to use fixed amount of cycles (cycles=3000, sometimes this results in game working too slow or too fast). But you can always manually force a different setting in the DOSBox's configuration file.&lt;br /&gt;
&lt;br /&gt;
You can force the slow or fast behavior by setting a fixed amount of cycles in the DOSBox's configuration file. If you for example set cycles=10000, then DOSBox window will display a line &amp;quot;Cpu Speed: fixed 10000 cycles&amp;quot; at the top. In this mode you can reduce the amount of cycles even more by hitting CTRL-F11 (you can go as low as you want) or raise it by hitting CTRL-F12 as much as you want, but you will be limited by the power of one core of your computer's CPU.&lt;br /&gt;
&lt;br /&gt;
You can see how much free time your real CPU's cores have by looking at the Task Manager in Windows 2000/XP/Vista/7 and the System Monitor in Windows 95/98/ME. Once 100% of the power of your computer's real CPU's one core is used, there is no further way to speed up DOSBox (it will actually start to slow down), unless you reduce the load generated by the non-CPU parts of DOSBox. DOSBox can use only one core of your CPU, so If you have for example a CPU with 4 cores, DOSBox will not be able to use the power of three other cores.&lt;br /&gt;
&lt;br /&gt;
You can also force the fast behavior by setting cycles=max in the DOSBox configuration file. The DOSBox window will display a line &amp;quot;Cpu Speed: max 100% cycles&amp;quot; at the top then. This time you won't have to care how much free time your real CPU's cores have, because DOSBox will always use 100% of your real CPU's one core. In this mode you can reduce the amount of your real CPU's core usage by CTRL-F11 or raise it with CTRL-F12.&lt;br /&gt;
&lt;br /&gt;
* See also [[4.77 MHz|Searching for 4.77 MHz]]&lt;br /&gt;
&lt;br /&gt;
=== CPU Core (speed up) ===&lt;br /&gt;
On x86 architectures you can try to force the usage of a dynamically recompiling core (set core=dynamic in the DOSBox configuration file). This usually gives better results if the auto detection (core=auto) fails.&lt;br /&gt;
&lt;br /&gt;
It is best accompanied by cycles=max. But you may also try using it with high amounts of cycles (for example 20000 or more). Note that there might be games that work worse/crash with the dynamic core (so save your game often), or do not work at all!&lt;br /&gt;
&lt;br /&gt;
=== Graphics emulation (speed up) ===&lt;br /&gt;
VGA emulation is a demanding part of DOSBox in terms of actual CPU usage. Increase the number of frames skipped (in increments of one) by pressing CTRL-F8. Your CPU usage should decrease when using a fixed cycle setting, and you will be able to increase cycles with CTRL-F12. You can repeat this until the game runs fast enough for you. Please note that this is a trade-off: you lose in fluidity of video what you gain in speed.&lt;br /&gt;
&lt;br /&gt;
=== Sound emulation (speed up) ===&lt;br /&gt;
You can also try to disable the sound through the setup utility of the game to reduce load on your CPU further. Setting nosound=true in DOSBox's configuration does NOT disable the emulation of sound devices, just the output of sound will be disabled.&lt;br /&gt;
&lt;br /&gt;
Also try to close every program but DOSBox to reserve as much resources as possible for DOSBox.&lt;br /&gt;
&lt;br /&gt;
=== Advanced cycles configuration ===&lt;br /&gt;
The cycles=auto and cycles=max settings can be parameterized to have different startup defaults. The syntax is&lt;br /&gt;
&lt;br /&gt;
  cycles=auto [&amp;quot;realmode default&amp;quot;] [&amp;quot;protected mode default&amp;quot;%]&lt;br /&gt;
              [limit &amp;quot;cycle limit&amp;quot;]&lt;br /&gt;
  cycles=max [&amp;quot;protected mode default&amp;quot;%] [limit &amp;quot;cycle limit&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
  cycles=auto 5000 80% limit 20000&lt;br /&gt;
&lt;br /&gt;
This will use cycles=5000 for real mode games, 80% CPU throttling for protected mode games along with a hard cycle limit of 20000&lt;/div&gt;</summary>
		<author><name>Juanitogan</name></author>
	</entry>
	<entry>
		<id>https://www.dosbox.com/wiki/index.php?title=4.77_MHz&amp;diff=4444</id>
		<title>4.77 MHz</title>
		<link rel="alternate" type="text/html" href="https://www.dosbox.com/wiki/index.php?title=4.77_MHz&amp;diff=4444"/>
		<updated>2012-07-01T02:12:03Z</updated>

		<summary type="html">&lt;p&gt;Juanitogan: Reposting an entry I made in the old wiki (on 14 Feb 2007) that did not make it to the new wiki.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The IBM PC XT ran at 4.77 MHz.  This describes how to run DOSBox at XT-like speeds for programs that do not perform their own timing.  Keep in mind that DOSBox cannot run at exactly 4.77 MHz.  At least, not exactly the way an IBM PC XT did.  You can, however, get pretty darn close by testing with some benchmark tools.&lt;br /&gt;
&lt;br /&gt;
As you will see in the testing below, various types of computer instructions run at widely various speeds on the different types of computer chips out there.  The most striking example is perhaps math instructions that involve real numbers such as: 1.1 x 2.2 = 2.42.  This is called floating-point math.  Floating-point instructions were extremely slow on the 8086 CPU unless you installed the optional 8087 co-processor.  It wasn't until the Pentium age that floating-point hardware was built into all PC CPU's.  Anyway, the point is that DOSBox has only one speed control, and it slows down all computer instructions by the same percentage (more or less).  It is therefore not possible to tell DOSBox to slow integer math by X%, floating-point math by Y%, and non-math by Z%, etc.  Near-perfect 4.77 MHz speed will not be possible until someone builds an XT emulator specifically for this purpose.  This is not likely to happen because close enough will always be, quite frankly, good enough.&lt;br /&gt;
&lt;br /&gt;
== Searching for 4.77 MHz (XT) ==&lt;br /&gt;
&lt;br /&gt;
Personally, I found the old DOS tool, MIPS, to be the most accurate and easiest-to-use tool thus far for use in the quest for 4.77 MHz.  Look for MIPS.ZIP at the following FTP site (or [ftp://ftp.simtel.net/pub/simtelnet/msdos/sysinfo/mips.zip click here] to get it now):&lt;br /&gt;
&lt;br /&gt;
:ftp://ftp.simtel.net/pub/simtelnet/msdos/sysinfo/&lt;br /&gt;
&lt;br /&gt;
'''The contents of MIPS.DOC:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    PROGRAM:    MIPS.COM    -   Version 1.10  1986&lt;br /&gt;
    PURPOSE:    CPU Benchmark and Performance Test&lt;br /&gt;
    USAGE:      MIPS [Enter]&lt;br /&gt;
    &lt;br /&gt;
    FUNCTIONS:  Measures Million(s) of Instructions Per Second&lt;br /&gt;
    &lt;br /&gt;
        (1)     General Instructions    -   random&lt;br /&gt;
        (2)     Integer Instructions    -   ADD SUB MUL DIV&lt;br /&gt;
        (3)     Memory to Memory        -   MOV RAM to RAM&lt;br /&gt;
        (4)     Register to Register    -   MOV REG to REG&lt;br /&gt;
        (5)     Register to Memory      -   MOV REG to RAM&lt;br /&gt;
    &lt;br /&gt;
        (6)     Performance Rating      -   average&lt;br /&gt;
    &lt;br /&gt;
    COPYRIGHT:  (C) 1986 Chips and Technologies, Inc.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Running MIPS produces a screen similar to this:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
        +---------------------------------------------------+&lt;br /&gt;
        |   MIPS v1.10 CPU Benchmark and Performance Test   |&lt;br /&gt;
    +-----------------------------------------------------------+&lt;br /&gt;
    |          |   Million Instructions Per Second   | 10:10:00 |&lt;br /&gt;
    +-----------------------------------------------------------+&lt;br /&gt;
    |      BENCHMARK:      |  IBM/XT   IBM/AT   COMPAQ  |       |&lt;br /&gt;
    |                      |  4.7Mhz    8Mhz      386   |  MIPS |&lt;br /&gt;
    |----------------------|----------------------------|-------|&lt;br /&gt;
    | General Instructions |   25.83     7.51     3.79  |  4.29 |&lt;br /&gt;
    | Integer Instructions |   16.92     2.64     1.16  |  2.85 |&lt;br /&gt;
    | Memory to Memory     |    7.79     2.40     1.34  |  1.85 |&lt;br /&gt;
    | Register to Register |   18.07     2.35     0.98  |  3.25 |&lt;br /&gt;
    | Register to Memory   |   20.72     6.22     3.43  |  6.39 |&lt;br /&gt;
    |                      |                            |       |&lt;br /&gt;
    | Performance Rating   |   18.24     4.40     2.16  |  3.72 |&lt;br /&gt;
    +-----------------------------------------------------------+&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''Note:''' If you run MIPS at too high a speed, the numbers will get large enough to screw up the formatting and make the results mostly unreadable.''&lt;br /&gt;
&lt;br /&gt;
=== Steps to Find 4.77 MHz ===&lt;br /&gt;
&lt;br /&gt;
#Download MIPS and place it in an easy-to-find folder.  (I created a DOSTOOLS folder inside my DOSBOX folder.)&lt;br /&gt;
#Make these changes to your [[dosbox.conf]] file:&lt;br /&gt;
#:[[dosbox.conf#.5Bsdl.5D|[sdl]]]&lt;br /&gt;
#:fullscreen=false&lt;br /&gt;
#:[[dosbox.conf#.5Bcpu.5D|[cpu]]]&lt;br /&gt;
#:cycles=300&lt;br /&gt;
#:cycleup=1&lt;br /&gt;
#:cycledown=1&lt;br /&gt;
#:[[dosbox.conf#.5Bautoexec.5D|[autoexec]]]&lt;br /&gt;
#:mount C &amp;quot;C:\Program Files\DOSBox\DOSTools\&amp;quot;&lt;br /&gt;
#:C:&lt;br /&gt;
#:cd \ &lt;br /&gt;
#[[Basic Setup and Installation of DosBox|Launch]] DOSBox.  Then run MIPS from the [[Command Line|command line]].&lt;br /&gt;
#Your goal is to get the Performance Rating in the IBM/XT column to equal 1.00.  To do this, press [[Special Keys|Ctrl-F11]] (slow down) or [[Special Keys|Ctrl-F12]] (speed up) several times while watching the CPU Cycles in DOXBox’s [[:file:Dosbox2.jpg|title bar]] change from 300 to your next test value.&lt;br /&gt;
#Run MIPS again.  Repeat steps 4 and 5 until you get a Performance Rating of 1.00 (or as close as you need).&lt;br /&gt;
#Make a note of your final CPU Cycles value and set &amp;quot;cycles=xxx&amp;quot; to this value in your dosbox.conf whenever you need 4.77-MHz-like speed.&lt;br /&gt;
&lt;br /&gt;
'''''Hint:''' I use Ronald Blankendaal’s great DBGL (DOSBox Game Launcher) [[DOSBoxFrontends|frontend]] to simplify many of the above tasks.  Just point it to your MIPS.COM file and be sure to UNcheck the &amp;quot;Exit afterwards&amp;quot; box in the General tab to stay at the command line.''&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
Some users may prefer a speed at which General Instructions equals 1.00 (instead of Performance Rating).  This depends entirely upon what kinds of instructions you feel affect the program’s speed the most.  2D games should not be using any floating-point math so no worries there.  But predicting whether a program is integer heavy, memory heavy, or whatever heavy, would be pure sorcery.  [Anyone care to modify a debugger to analyze this?  Didn’t think so.]  Really, just choose what feels best to you (actually, I can hardly tell the difference between cycles=245 and cycles=290).&lt;br /&gt;
&lt;br /&gt;
Some testing was done with other benchmark tools to ''somewhat'' validate the MIPS results:&lt;br /&gt;
*SLOWDOWN 2.00 tends to agree with the MIPS Performance Rating but varies a bit depending on what speed you are slowing down from.  (usage: slowdown /xt)  (Not dynamic mode compatible.)&lt;br /&gt;
*COMPTEST 2.60 tends to agree with the MIPS General Instructions rating and also offers some interesting floating-point benchmarks.  Speed is determined by executing a block of FSQRT instructions.  (Not dynamic mode compatible.)&lt;br /&gt;
*CPUTEST (1989) will lead you towards setting CPU Cycles to about twice as high as these others and I have chosen to disregard these results due to “feel” of the XT programs at this higher speed.&lt;br /&gt;
&lt;br /&gt;
My current DOSBox speed on a 1.3 GHz Athlon is cycles=245.  At such low DOSBox speeds I am finding about a 1% difference between [[dosbox.conf#.5Bcpu.5D|Normal CPU Mode]] and [[dosbox.conf#.5Bcpu.5D|Dynamic CPU Mode]].  Therefore, you shouldn’t need to worry about benchmarking that setting.  Interestingly, with dynamic mode versus normal mode, the Integer Instructions benchmark ~3% slower and Register to Register benchmarks ~10% faster (the other benchmarks are proportionately 1% faster).  [No doubt, however, that dynamic mode plays a larger role at higher speeds.]&lt;br /&gt;
&lt;br /&gt;
'''core=dynamic, cycles=243:'''&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
        +---------------------------------------------------+&lt;br /&gt;
        |   MIPS v1.10 CPU Benchmark and Performance Test   |&lt;br /&gt;
    +-----------------------------------------------------------+&lt;br /&gt;
    |          |   Million Instructions Per Second   | 10:10:00 |&lt;br /&gt;
    +-----------------------------------------------------------+&lt;br /&gt;
    |      BENCHMARK:      |  IBM/XT   IBM/AT   COMPAQ  |       |&lt;br /&gt;
    |                      |  4.7Mhz    8Mhz      386   |  MIPS |&lt;br /&gt;
    |----------------------|----------------------------|-------|&lt;br /&gt;
    | General Instructions |    0.85     0.25     0.12  |  0.14 |&lt;br /&gt;
    | Integer Instructions |    1.42     0.22     0.10  |  0.23 |&lt;br /&gt;
    | Memory to Memory     |    1.02     0.31     0.17  |  0.24 |&lt;br /&gt;
    | Register to Register |    1.48     0.19     0.08  |  0.26 |&lt;br /&gt;
    | Register to Memory   |    0.79     0.24     0.13  |  0.24 |&lt;br /&gt;
    |                      |                            |       |&lt;br /&gt;
    | Performance Rating   |    1.00     0.24     0.12  |  0.22 |&lt;br /&gt;
    +-----------------------------------------------------------+&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''core=normal, cycles=245:'''&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
        +---------------------------------------------------+&lt;br /&gt;
        |   MIPS v1.10 CPU Benchmark and Performance Test   |&lt;br /&gt;
    +-----------------------------------------------------------+&lt;br /&gt;
    |          |   Million Instructions Per Second   | 10:10:00 |&lt;br /&gt;
    +-----------------------------------------------------------+&lt;br /&gt;
    |      BENCHMARK:      |  IBM/XT   IBM/AT   COMPAQ  |       |&lt;br /&gt;
    |                      |  4.7Mhz    8Mhz      386   |  MIPS |&lt;br /&gt;
    |----------------------|----------------------------|-------|&lt;br /&gt;
    | General Instructions |    0.85     0.25     0.12  |  0.14 |&lt;br /&gt;
    | Integer Instructions |    1.48     0.23     0.10  |  0.24 |&lt;br /&gt;
    | Memory to Memory     |    1.02     0.31     0.18  |  0.24 |&lt;br /&gt;
    | Register to Register |    1.35     0.18     0.07  |  0.24 |&lt;br /&gt;
    | Register to Memory   |    0.79     0.24     0.13  |  0.24 |&lt;br /&gt;
    |                      |                            |       |&lt;br /&gt;
    | Performance Rating   |    1.00     0.24     0.12  |  0.22 |&lt;br /&gt;
    +-----------------------------------------------------------+&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Searching for 8 MHz (AT) ==&lt;br /&gt;
&lt;br /&gt;
Does anyone really need to tell you to follow the above instructions for 4.77 MHz and use the IBM/AT column in MIPS instead of the IBM/XT column.  Oh yeah, you might also want to start with cycles=500.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Tools You May Find Useful ==&lt;br /&gt;
&lt;br /&gt;
I tested several slowdown and benchmark tools and these are the ones that I have found so far to be useful/compatible in DOSBox:&lt;br /&gt;
&lt;br /&gt;
;MIPS 1.10: ftp://ftp.simtel.net/pub/simtelnet/msdos/sysinfo/mips.zip&lt;br /&gt;
;COMPTEST 2.60: ftp://ftp.simtel.net/pub/simtelnet/msdos/sysinfo/ctest260.zip&lt;br /&gt;
;CPUTEST: ftp://ftp.simtel.net/pub/simtelnet/msdos/sysinfo/cputest.zip&lt;br /&gt;
;SLOWDOWN 2.00: ftp://ftp.simtel.net/pub/simtelnet/msdos/sysutl/slodn200.zip&lt;br /&gt;
;PC Benchmark 6.0 – Not terribly useful—used for comparing benchmarks each other.: ftp://ftp.simtel.net/pub/simtelnet/msdos/sysinfo/pcben60a.zip&lt;br /&gt;
:ftp://ftp.simtel.net/pub/simtelnet/msdos/sysinfo/pcben60b.zip&lt;br /&gt;
:ftp://ftp.simtel.net/pub/simtelnet/msdos/sysinfo/pcben60c.zip&lt;/div&gt;</summary>
		<author><name>Juanitogan</name></author>
	</entry>
</feed>