Dial the speed of DOSBox to more closely match a given target. Because TOPBENCH’s measurements can be run continuously, you can run it in DOSBox and then use Ctrl-F11/Ctrl-F12 to raise/lower the speed of DOSBox to more closely match a given target machine, and see the benchmark comparison change in real time.
Uses actual DOS 3-D game opcode distribution as part of its metric code. All benchmark scores are synthetic numbers, but with TOPBENCH, the benchmark score for your system is more relevant for DOS gaming than other benchmarks.
Identify the core hardware of your vintage PC without opening it. TOPBENCH uses a mixture of libraries and techniques to inventory your machine so that some meaningful descriptive information can be attached to a measurement database entry. This information includes CPU make/model, speed in MHz, BIOS maker/date/revision, and make/model of video card.
See how your clone PC measures up to other machines. This is the primary purpose of a benchmark, after all. Not all clones were created equal; see how yours stacks up against others.
Answer some interesting historical questions. Ever wondered if a 20MHz 80286 was faster than a 16MHz 80386? Just how much of a boost did NEC V20/V30 processors give over the original 8088/8086? Did zero-wait-state RAM make that much of a performance difference? Just how much slower than an original IBM PC was the IBM PCjr? Is it true that a Pentium Pro had slower DOS performance than a regular Pentium? TOPBENCH can answer these questions, because every item in TOPBENCH’s local database was sampled from real hardware.
All source, including the metric assembler source code, is freely available. If you’re having trouble getting certain opcode combinations working in your emulator, or the cycle speed of a metric doesn’t match the real hardware you’re emulating, you can review the source code for what’s being executed without having to resort to disassembly. The code is verbosely commented in the interest of full disclosure.
Each part of the metric code has its execution time recorded in the database. This lets you hone your emulator to more closely match the actual timings of your target processor/system.
Every opcode that is practical to exercise is exercised. Only instructions that would result in variable execution times (IN, OUT, HLT, etc.) or are unsafe to run on any machine (ie, LOCK, WAIT, ESC, etc.) are skipped.