• Please review our updated Terms and Rules here

Looking for volunteers to help test a new benchmark

Here are the results comparing both Tandy 1000 RLX "A" and "B" systems, which feature different video chipsets. I was unable to get a capture from a CPU-accelerated TL/2. The utility hangs after displaying "CPU..."

Tandy 1000 RLX(A)
Code:
;Data collected by: TOPBENCH | Benchmark and detection stub | Version 0.93
;This file contains fingerprinting information about your computer.  Please
;email this file to trixter@oldskool.org with a subject line of "Benchmark" to
;help test these routines and seed the TOPBENCH database.

[UID651D35B]
MemoryTest=610
OpcodeTest=238
VidramTest=1269
MemEATest=289
3DGameTest=250
Score=19
Machine=Tandy 1000
CPU=Intel 80286
CPUspeed=9.54 MHz
BIOSinfo=Copyright (C) 1984,1985,1986,1987,1988 (12/03/90, rev. 16)
BIOSdate=19901203
BIOSCRC16=651D
VideoSystem=VGA
VideoAdapter=VGA, 256kb Video Memory (BIOS)

Tandy 1000 RLX(B)
Code:
;Data collected by: TOPBENCH | Benchmark and detection stub | Version 0.93
;This file contains fingerprinting information about your computer.  Please
;email this file to trixter@oldskool.org with a subject line of "Benchmark" to
;help test these routines and seed the TOPBENCH database.

[UID4AE8BC98D]
MemoryTest=609
OpcodeTest=238
VidramTest=993
MemEATest=290
3DGameTest=252
Score=21
Machine=Tandy 1000
CPU=Intel 80286
CPUspeed=9.54 MHz
BIOSinfo=Copyright (C) 1984,1985,1986,1987,1988 (05/17/91, rev. 16)
BIOSdate=19910517
BIOSCRC16=4AE8
VideoSystem=VGA
VideoAdapter=VGA, unknown Chipset, 256kb Video Memory (BIOS)

Also, the CPUspeed shows 9.54 MHz, but it should be 10 MHz, based on the specs (and matching the speed identified by SysInfo).
 
Last edited:
Does the 32Kb of video RAM show up if you set bit 0 of port 23C6h manually (or failing that, trace the BIOS and see what port bits it is tickling)? I suppose it's a bit dangerous to set that bit if you don't know what hardware is there (though possibly less so than setting the mode via the BIOS).

Because it is dangerous, I'm not doing it. I released a new version at http://dosbenchmark.wordpress.com/downloads/ that has "detection" for those cards and it seems about as safe as I can make it, and these checks only happen AFTER basic CGA has been identified:
  • AT&T/Olivetti: Look at model word from int 15h/c0. If 0000, then do second check by calling a ROM BIOS routine that only exists on those computers for non-zero output. If both succeed, I assume there is a 400-line adapter present and I probe ports looking for whether or it it is connected to a color or mono monitor.
  • Compaq Portable III: I check model word as written above. If it matches Compaq Portable III, I then read from a magic port to determine if we have a 400-line plasma. If successful, I assume another 400-line adapter is present.
  • Toshiba 3100: Not currently handled. Rare machine.
This sort of thing is why the hardware detection code in Windows used to do things like write a bit to the hard disk that means "I'm about to run a dangerous test - if this bit is set at bootup it means we never regained control after the test, so don't run that test again on this machine" so there are known to be cases where it's unsolvable.

Not a bad idea, actually. However, the detection code is gravy to assist the user; the final benchmark utility will make it optional. Only the timings and benchmark score are mandatory (for obvious reasons) and they should work fine on every machine, even goofy clones like the Tandy 2000.
 
I should pull out my Applied Engineering PC Transporter (NEC V30 based turbo XT on a card for Apple II systems) and see what it comes up with. Maybe this week when I have time.
 
Here are the results comparing both Tandy 1000 RLX "A" and "B" systems, which feature different video chipsets. I was unable to get a capture from a CPU-accelerated TL/2. The utility hangs after displaying "CPU..."

Also, the CPUspeed shows 9.54 MHz, but it should be 10 MHz, based on the specs (and matching the speed identified by SysInfo).

Crap! The 10MHz = 9.54MHz thing was my fault, I was adjusting for 8086. Please download the latest stub (uploaded 10 mins ago) and give it another try, it will be fine now, and I'll record the new results as gospel in the database when you post them.

As for hanging at CPU, that's troubling; I fixed some stack overflows and added a pause around that section for floppy disks, so maybe the new version will run on those ok. And DOS 2.x should be fine too, at least 2.11 is ok on my 5160.
 
Applied Engineering PC Transporter results if anyone is interested (the card actually has a V30 on it, not V20). Already e-mailed these in.

Code:
;Data collected by: TOPBENCH | Benchmark and detection stub | Version 0.94
;This file contains fingerprinting information about your computer.  Please
;email this file to trixter@oldskool.org with a subject line of "Benchmark" to
;help test these routines and seed the TOPBENCH database.

[UID3C7EB12]
MemoryTest=1831
OpcodeTest=1149
VidramTest=1075
MemEATest=1357
3DGameTest=1108
Score=12
CPU=NEC V20
CPUspeed=7.16 MHz
BIOSinfo=COPYRIGHT LITTLE BLUE LTD., 1986-88   COPYRIGHT APPLIED ENGINEERING, 1987   Version 1.3 (07/03/87, rev. 0)
MachineModel=0000
BIOSdate=19870703
BIOSCRC16=3C7E
VideoSystem=CGA
VideoAdapter=CGA
Machine=PC/XT
 
Applied Engineering PC Transporter results if anyone is interested (the card actually has a V30 on it, not V20). Already e-mailed these in.

Much obliged. I'm tickled that my BIOSinfo routine is nailing it; I find these copyright strings fascinating. Now that you ran the latest version, I have enough info to detect that machine reliably.

The rest of it is a bit odd though. The NEC V20/V30 thing bothers me, since I thought I had that down. Chuck tested his 6300 with a V30 here http://www.vintage-computer.com/vcf...help-test-a-new-benchmark&p=200322#post200322 and it detected it properly. The detection between V20/V30 is really simple, it just tries some self-modifying code to determine the size of the prefetch queue. If it's 4 bytes, it's an 8088 or NEC V20; if 6 bytes, it's an 8086 or V30. It's pretty foolproof, and your setup is the first it has seemingly failed on.

Also strange is that your metric timings (those numbers in the first five lines are the number of microseconds it took to run each suite) don't match up to the Score -- both yours and Chuck's have identical scores but your timings are significantly slower than his. According to the microsecond timings, you should have a score of 7 or 8, not 12. Does your hardware operate at variable speeds?

Some systems slow down for floppy access -- is it possible to run the stub off of a hard drive? I do have a "wait for floppy access to stop" check in the code, and I also wait an additional second after that to be safe, but who knows...
 
I'll copy it to the emulated hard disk and run it from there. I/O timing is likely going to be kinda odd since the "hard disk" is an image file on the Apple II side.

I ran the program off of an Apple 3.5" drive connected off the card vs. Applied Engineering's preferred solution of using their "TransDrive" (PC drives an an external case which I don't own). I noticed during floppy disk I/O that my Transwarp GS card was throttling down to 1Mhz to accommodate bus I/O timing, that might be the cause of weirdness in the results.

As for the BIOS string, I have version 1.3 of the PC Transporter software. I just found a rev. 2.0 disk that might have an updated BIOS (which is loaded from disk).
 
I noticed during floppy disk I/O that my Transwarp GS card was throttling down to 1Mhz to accommodate bus I/O timing, that might be the cause of weirdness in the results.

That's it. Since I'm already monitoring whether the floppy is active, and then waiting an additional second, it must hold onto 1MHz much longer than normal. If the hard disk test is better, great; if not, I can distribute a non-overlaid version that also pauses before starting execution. Either way, I'll wait for new results.
 
That's it. Since I'm already monitoring whether the floppy is active, and then waiting an additional second, it must hold onto 1MHz much longer than normal. If the hard disk test is better, great; if not, I can distribute a non-overlaid version that also pauses before starting execution. Either way, I'll wait for new results.

Sent revised results. Note that when I referred to bus I/O timing, I was referring to the Apple II side which is variable between 1Mhz and whatever speed the accelerator card is running at (or stock 2.8Mhz if you don't have one). I don't know why it would even be happening as the drive was directly connected to the PC Transporter. In theory, floppy disk I/O shouldn't be going to the Apple II side at all as the card has its own disk controller, RAM, and CPU. I guess the Apple II is quirky that any disk activity regardless of its destination triggers a CPU slowdown.
 
Last edited:
Sent revised results. Note that when I referred to bus I/O timing, I was referring to the Apple II side. I don't know why it would even be happening as the drive was directly connected to the PC Transporter. In theory, floppy disk I/O shouldn't be going to the Apple II side at all as the card has its own RAM. I guess the Apple II is quirky that any disk activity regardless of its destination triggers a CPU slowdown.

Received, thank you. Will reply privately.

As for disk activity slowing things down, that was a conscious decision for many manufacturers because otherwise some copy-protection schemes/code wouldn't work at the higher speeds. The Company Portable III I own does this -- I noticed that while the drive was spinning, it runs at 8MHz, and when it stops, it goes back up to 12MHz. I added the following code to wait for the floppy to stop spinning so that results would be consistent:

Code:
Procedure WaitFloppySpindown;
{Waits for all floppy drives to spin down, or 5 seconds, whichever comes
first.  This is desirable because many 486 and lower computers slow down to
8MHz while the floppy drive is operational (for compatibility with old copy
protection schemes, amongst other reasons).}

const
  maxWaitSecs=5; {wait up to five secs for the disk drive motors to shut off}
  threshold=trunc(maxWaitSecs*18.2);

var
  l:longint;
  TicksSinceMidnight:longint ABSOLUTE $0040:$006C;
  DriveMotorStatus:Byte ABSOLUTE $0040:$003F;

begin
  l:=TicksSinceMidnight;
  repeat
    asm
      hlt {do nothing; wait for something interesting}
    end;
  until (DriveMotorStatus and $0F=0) or (TicksSinceMidnight-l > threshold);
  {wait an additional second, as some machines need more safety margin}
  l:=TicksSinceMidnight;
  repeat
    asm
      hlt {do nothing; wait for something interesting}
    end;
  until (TicksSinceMidnight-l > 18);
end;
 
hello
with version 0.94 , I got the following result :
;Data collected by: TOPBENCH | Benchmark and detection stub | Version 0.94
;This file contains fingerprinting information about your computer. Please
;email this file to trixter@oldskool.org with a subject line of "Benchmark" to
;help test these routines and seed the TOPBENCH database.

[UIDF692664]
MemoryTest=579
OpcodeTest=191
VidramTest=1045
MemEATest=218
3DGameTest=186
Score=23
CPU=AMD Am386DX
CPUspeed=16 MHz
BIOSinfo=Copyright (c) 1984,1985,1986 Phoenix Technologies Ltd (09/24/87, rev. 0)
MachineModel=0000
BIOSdate=19870924
BIOSCRC16=F692
VideoSystem=VGA
VideoAdapter=VGA, ATI 28800-5VGAWonderBios : 0.1, 256kb Video Memory (BIOS)
Machine=PC/XT

XT motherboard with Inboard 386/pc (original 386 cpu 16 Mhz). CPU reads : I a80386-16 s40344 l8210358 '85 '86 zz
/cimonvg
 
Thanks! I like how the machine is still detected as a PC/XT but has an AMD 386DX in it :)

Your Score also answers an interesting question: It's roughly the same speed as an 80286-12 system. So I guess we now know what the true speedup was from an inboard 386.
 
hello trixter
got my "rev to 486" today. Have to read the manual - but another day, I will replace the original 386 with a "486" ;)
/cimonvg
 
Neat :) However, it still won't speed it up that much. Your memory bandwidth is what is really hurting the score. Installing the 486 may actually finally get you to 386 speeds ;-)
 
I have a quite interesting 286 accelerator (Orchid PCTurbo 286e) I plan to test with this when I get home for Christmas. Instead of plugging into the original CPU slot as a regular accelerator would, this is more like an AT-on-a-card that uses the host computer as some kind of southbridge. Unfortunately, this card isn't very well suited for direct-I/O access to other ISA cards.

I can also test many of the other systems I have.
 
Just for fun, here's the results from my Core 2 Duo (1.66 GHz, 2GB DDR2-5300):
Code:
[UIDA6FD1615E6]
MemoryTest=3
OpcodeTest=1
VidramTest=103
MemEATest=0
3DGameTest=0
Score=466
Machine=AT clone
CPU=Intel Pentium Pro (undistinguished)
CPUspeed=1663 MHz
BIOSinfo=IBM COMPATIBLE 486 BIOS COPYRIGHT Phoenix Technologies, Ltds, Ltd. Phoenix (10/30/06, rev. 0)
BIOSdate=20061030
BIOSCRC16=A6FD
VideoSystem=VGA
VideoAdapter=VGA, VESA, 256kb Video Memory (BIOS)
 
I don't have any code to detect stuff past a Pentium III so no surprise the CPU model is wrong. But look at that MHz! Nailed it!! And the Score is, of course, hilarious. Your Core2Duo's single core speed is roughly 100 times that of an 8088 -- for running 16-bit real-mode code, anyway.

I've begun work on the full TOPBENCH tool itself, but I'd still like any submissions if people are willing. But do grab the latest stub (v0.95) from http://dosbenchmark.wordpress.com/downloads/ because I made a few compatibility fixes.
 
I've begun work on the full TOPBENCH tool itself, but I'd still like any submissions if people are willing. But do grab the latest stub (v0.95) from http://dosbenchmark.wordpress.com/downloads/ because I made a few compatibility fixes.

here's a few more results for you....

Amstrad PC1512

Code:
;Data collected by: TOPBENCH | Benchmark and detection stub | Version 0.95
;This file contains fingerprinting information about your computer.  Please
;email this file to trixter@oldskool.org with a subject line of "Benchmark" to
;help test these routines and seed the TOPBENCH database.

[UIDF341B18]
MemoryTest=2024
OpcodeTest=787
VidramTest=2961
MemEATest=1034
3DGameTest=879
Score=6
CPU=Intel 8086
CPUspeed=8 MHz
BIOSinfo=(C) Copyright 1986 Amstrad Consumer Electronics plc((CC))  CCooppyyrriigghhtt  11998866  AAmmssttrraadd  CCoonnssuummeerr  EElleeccttrroonniiccss  ppllccg (q       , rev. 0)
MachineModel=0000
BIOSdate=20000000
BIOSCRC16=0F34
VideoSystem=CGA
VideoAdapter=CGA
Machine=PC

Amstrad PC2086
Code:
[UID4E43F18]
MemoryTest=2014
OpcodeTest=781
VidramTest=1711
MemEATest=1022
3DGameTest=874
Score=8
CPU=Intel 8086
CPUspeed=8 MHz
BIOSinfo=(C) Copyright 1988 AMSTRAD plc((CC))  CCooppyyrriigghhtt  11998888  AAMMSSTTRRAADD  ppllcc(2 (08/30/88, rev. 1)
MachineModel=00FA
BIOSdate=19880830
BIOSCRC16=4E43
VideoSystem=VGA
VideoAdapter=VGA, Paradise PVGA1A, 8-Bit-Video, 8-Bit-ROMfixed-sync, 256kb Vi
Machine=PS/2 Model 30

IBM XT/286, 80287XL, ET4000, Above board with 1.5meg, AWE64G(!)
Code:
[UID32D4CC774]
MemoryTest=1036
OpcodeTest=406
VidramTest=343
MemEATest=502
3DGameTest=425
Score=18
CPU=Intel 80286
CPUspeed=6 MHz
BIOSinfo=78X7462 COPR. IBM 1981, 1986    PARITY CHECK 1 (04/21/86, rev. 0)
MachineModel=02FC
BIOSdate=19860421
BIOSCRC16=32D4
VideoSystem=VGA
VideoAdapter=VGA, Tseng ET 4000 with HiColor RAMDAC, DRAM, 1024kb Video Memor
Machine=PC/XT-286


i also tested a few modernish machines and the results confirmed what i'd suspected, i.e. for real mode 16bit progs P4 are slower than P3 machines (guessed this before as i'd found lots of my 128/256b intros that ran full frame on p3 take well over a frame on p4 and above!).

only interesting result was that one p3 with a Matrox Millenium G200 was reported as having an OAK OTI037C video card..

440BX p3 500, video adapter Matrox Millenium G200
Code:
[UID636914E23]
MemoryTest=5
OpcodeTest=5
VidramTest=96
MemEATest=1
3DGameTest=1
Score=449
CPU=Intel Pentium III
CPUspeed=500 MHz
BIOSinfo=war,Copyright (C) 1984-99, Award Software, Inc. (06/28/00, rev. 0)
MachineModel=01FC
BIOSdate=20000628
BIOSCRC16=6369
VideoSystem=VGA
VideoAdapter=VGAOAK OTI037C, VESA, 256kb Video Memory (BIOS)
Machine=AT clone
 
Results from my NEC PowerMate SX/16:

Code:
;Data collected by: TOPBENCH | Benchmark and detection stub | Version 0.95
;This file contains fingerprinting information about your computer.  Please
;email this file to trixter@oldskool.org with a subject line of "Benchmark" to
;help test these routines and seed the TOPBENCH database.

[UIDC63F10E08A]
MemoryTest=425
OpcodeTest=172
VidramTest=320
MemEATest=216
3DGameTest=175
Score=32
CPU=AMD Am386SX
CPUspeed=16 MHz
BIOSinfo=Copyright (C) 1985-1990 Phoenix Technologies Ltd. (01/15/88, rev. 0)
MachineModel=01FC
BIOSdate=19880115
BIOSCRC16=C63F
VideoSystem=VGA
VideoAdapter=VGA, Paradise PVGA1A, 16-Bit-Video, 8-Bit-ROMMulti-Sync, 256kb V
Machine=AT clone
 
Back
Top