• Please review our updated Terms and Rules here

Looking for volunteers to help test a new benchmark

No difference. Tried it with "turbo" off and the score was 17. Did the sx20 have a co-pro? It seemed to make a difference in an earlier 286 test results. Also the type of video card affects the score from what I can see. The card in the 386 is not VESA capable.

The video card speed does affect the score, but it shouldn't be so drastic that it makes a 386/33 system perform worse than a 386/20 system. Maybe your board has no secondary cache? I'm not sure. Because your result is so much of an outlier, I'm going to discard it for the time being, and revisit it once I have the full tool done in a few weeks.

Also, the coprocessor has no bearing on the score whatsoever; I wrote the metrics in assembler and did not use any copro instructions. (This was intentional, as one of the core focuses was being able to compare any system with any other, and not all systems have mathcos.)
 
Can't stop thinking about this. Here's a 20MHz 386DX, which has faster memory access but should otherwise be slower than yours. I'll reproduce yours and highlight the better portions of the two:

386dx-20:
MemoryTest=353
OpcodeTest=176
VidramTest=422
MemEATest=155
3DGameTest=136
Score=46
CPU=AMD Am386DX
CPUspeed=20 MHz

386sx-33:
MemoryTest=297
OpcodeTest=230
VidramTest=810
MemEATest=237
3DGameTest=150
Score=29
CPU=AMD Am386SX
CPUspeed=33 MHz

None of this makes sense. A 286-12 system gets a score only 5 ticks below yours, so assuming my code isn't broken, maybe we've identified some problem with your system?

Maybe booting off the hard drive pressing F5 during boot to guarantee a clean boot would help?
 
I'll have a play around in the bios and see if I can get a better result.

Turns out the cache was disabled as you alluded to:

Code:
[UIDA68E6B4D]
MemoryTest=227
OpcodeTest=164
VidramTest=734
MemEATest=182
3DGameTest=124
Score=40
CPU=AMD Am386SX
CPUspeed=33 MHz
BIOSinfo=R(C)1985-1991,American Megatrends Inc.,All Rights Reserved.,1346 Oakbrook Dr.,#120,GA-30093,USA.(404)-263-8181. (12/12/91, rev. 0)
MachineModel=01FC
BIOSdate=19911212
BIOSCRC16=0A68
VideoSystem=VGA
VideoAdapter=VGA, 256kb Video Memory (BIOS)
Machine=AT clone

I'll try a bit more tweaking and see what happens. It'll be interesting to see what affects other changes will make.
Got it up one more tick:

Code:
UIDD5CEED6FF]
MemoryTest=210
OpcodeTest=132
VidramTest=736
MemEATest=144
3DGameTest=94
Score=41
CPU=AMD Am386SX
CPUspeed=33 MHz
BIOSinfo=R(C)1985-1991,American Megatrends Inc.,All Rights Reserved.,1346 Oakbrook Dr.,#120,GA-30093,USA.(404)-263-8181. (12/12/91, rev. 0)
MachineModel=01FC
BIOSdate=19911212
BIOSCRC16=D5CE
VideoSystem=VGA
VideoAdapter=VGA, 256kb Video Memory (BIOS)
Machine=AT clone

Seems the video card is the only real hold up.
 
Last edited:
I'm curious if anyone out there has a stock IBM AT (6MHz) they can get numbers for. The AT uses 1-wait-state RAM while the XT-286 has 0 wait states and I'm curious to know what the speed differential is. In fact, it's one of the reasons I created the benchmark :)

Hello
Some data from today.
BULLET 286 motherboard with only 8 bit isa slots:

[UID89C9A21]
MemoryTest=517
OpcodeTest=212
VidramTest=1133
MemEATest=243
3DGameTest=211
Score=22
CPU=Intel 80286
CPUspeed=13 MHz
BIOSinfo=unknown
MachineModel=0000
BIOSdate=19870916
BIOSCRC16=89C9
VideoSystem=VGA
VideoAdapter=VGA, ATI 28800-5VGAWonderBios : 0.1, 256kb Video Memory (BIOS)
Machine=PC/XT

IBM model 8530-h31 (perhaps other made this tests before me ? :confused: ):

[UID7D42356]
MemoryTest=736
OpcodeTest=313
VidramTest=1291
MemEATest=408
3DGameTest=307
Score=17
CPU=Intel 80286
CPUspeed=10 MHz
BIOSinfo= COPR. IBM 1981, 1989 (06/28/89, rev. 2)
MachineModel=09FC
BIOSdate=19890628
BIOSCRC16=7D42
VideoSystem=VGA
VideoAdapter=VGA, unknown Chipset, 256kb Video Memory (BIOS)
Machine=PS/2 Model 25 or 30

and bigger IBM model 8535-043:
[UID4F2432]
MemoryTest=442
OpcodeTest=160
VidramTest=290
MemEATest=210
3DGameTest=155
Score=40
CPU=AMD Am386SX
CPUspeed=20 MHz
BIOSinfo= COPR. IBM 1981, 1991 (09/25/91, rev. 10)
MachineModel=19F8
BIOSdate=19910925
BIOSCRC16=04F2
VideoSystem=VGA
VideoAdapter=VGA, unknown Chipset, 256kb Video Memory (BIOS)
Machine=PS/2 Model 90/95?

AND I do have a 6 Mhz motherboard , but it is defectiv, and do not even boot :(
/cimonvg
 
...

and bigger IBM model 8535-043:
...
CPU=AMD Am386SX
CPUspeed=20 MHz
...

What does the routine do to determine it is an AMD 386SX-20?...

At that level, AMD should report the same information as Intel CPUs...
 
hello
well when I open the cabinet. The CPU is surface mounted and printet on the chip:
INTEL
ng 80386sx-20
c step
c1281297
(c) '85'87
/cimonvg
 
@Caluser: Thanks for the re-test and additional results. Glad to know I wasn't going crazy! You've just sped up your 386 by about 30% for free :)

@IBM: The code is probably flawed; keep in mind that there's no way I could have tested on every CPU and most of the code and information I'm using has been gathered from the four corners of the 'net as well as old (very old!) BBS archives, usenet archives, and other stuff I was able to mine. The specific code involved in this detection is as follows:

Code:
; Checked by Vasiliy Sorokin; uses UMOV
; instruction present in Am386 chips but not found in other x86s.
        call    checkCyrix      ; don't check on Cyrix/UMC chips
        jnc     Nope
        pushfd                  ; neither check if CPUID is supported
        pushfd
        pop     eax
        mov     ebx,eax
        xor     eax,EF_ID       ; try flipping ID bit of EFLAGS
        push    eax
        popfd
        pushfd
        pop     eax
        popfd
        cmp     eax,ebx
        jnz     Nope            ; the bit was flipped - CPUID supported
        pusha
        push    ds es
        mov     ax,3506h
        int     21h
        push    es bx
        mov     ax,2506h
        ldx     @@Int06
        push    cs
        pop     ds
        int     21h
        mov     dl,[bx+si]
        db      0Fh
        adc     al,cl
        add     [bx+si],al
; we get here only if UMOV succeed
        mov     [bx+si],dl
        pop     dx ds
        mov     ax,2506h
        int     21h
        pop     es ds
        popa
        jmp     Yes
@@Int06:
        add     sp,4    ; clear the fault address from stack
        popf
        mov     [bx+si],dl
        pop     dx ds
        mov     ax,2506h
        int     21h
        pop     es ds
        popa
        jmp     Nope

@Cimonvg: Thanks for the results and for double-checking that your 386 part is IBM. Are you absolutely sure there wasn't "AMD" anywhere printed on the chip? If absolutely not, then I'll remove this code until I have such time to acquire an am386sx to test with.
 
@Caluser: Thanks for the re-test and additional results. Glad to know I wasn't going crazy! You've just sped up your 386 by about 30% for free :)
Found a trident vga card after another look in the garage and thought Wippee!! I could speed things up even more. But alas there's seems to be an issue with the vram on boot up with the screen getting corrupted.
 
...@IBM: The code is probably flawed; keep in mind that there's no way I could have tested on every CPU and most of the code and information I'm using has been gathered from the four corners of the 'net as well as old (very old!) BBS archives, usenet archives, and other stuff I was able to mine. The specific code involved in this detection is as follows:

Code:
; Checked by Vasiliy Sorokin; uses UMOV
; instruction present in Am386 chips but not found in other x86s.
        call    checkCyrix      ; don't check on Cyrix/UMC chips
        jnc     Nope
        pushfd                  ; neither check if CPUID is supported
        pushfd
        pop     eax
        mov     ebx,eax
        xor     eax,EF_ID       ; try flipping ID bit of EFLAGS
        push    eax
        popfd
        pushfd
        pop     eax
        popfd
        cmp     eax,ebx
        jnz     Nope            ; the bit was flipped - CPUID supported
        pusha
        push    ds es
        mov     ax,3506h
        int     21h
        push    es bx
        mov     ax,2506h
        ldx     @@Int06
        push    cs
        pop     ds
        int     21h
        mov     dl,[bx+si]
        db      0Fh
        adc     al,cl
        add     [bx+si],al
; we get here only if UMOV succeed
        mov     [bx+si],dl
        pop     dx ds
        mov     ax,2506h
        int     21h
        pop     es ds
        popa
        jmp     Yes
@@Int06:
        add     sp,4    ; clear the fault address from stack
        popf
        mov     [bx+si],dl
        pop     dx ds
        mov     ax,2506h
        int     21h
        pop     es ds
        popa
        jmp     Nope

I've heard of the UMOV opcode being removed by Intel, but I think it wasn't until the 486 level. Yeah, it was a bit of insider knowledge too, as I don't as readily remember an AMD CPU in the many PS/2 units that had a 386SX (25SX, 35SX, 40SX, L40SX, N51SX, 55SX, 56SX, 57SX, CL57SX, and 65SX; the "4" as a middle character in the submodel also denotes a 386SX-20 on the later PS/2 line). It may have been IBM wanting to keep Intel happy for the IBM CPU derivatives of the 386SX.

As an aside, it seems Grzegorz Mazur's pages on differentiating x86 CPUs is now down, when I looked for it earlier today...
 
@Cimonvg: Thanks for the results and for double-checking that your 386 part is IBM. Are you absolutely sure there wasn't "AMD" anywhere printed on the chip? If absolutely not, then I'll remove this code until I have such time to acquire an am386sx to test with.
The Intel 386SX-16 in my NEC PowerMate was also misidentified as an AMD chip -- I reported that a while ago in the thread.
 
The Intel 386SX-16 in my NEC PowerMate was also misidentified as an AMD chip -- I reported that a while ago in the thread.

It appears for the wrong presumption that Intel took UMOV out the 386 level all Intel and AMD 386DX and 386SX are being identified as from AMD...
 
I find it odd that an 6MHz 80286 PC/XT-286, even without wait states, has a higher overall score (18) than a 10MHz 80286 PS/2 Model 30 at one wait state (17). However, the slower machine has a far faster VGA. But is then seems that the PS/2 Model 35 has a much speedier VGA, as it posts scores competitive with significantly faster machines. Is the VGA in the PS/2 Model 35 truly an IBM part?

Perhaps the benchmark scores are being too skewed by the video hardware. We know replacing a slow video card with a faster one, even though they may share the same basic capabilities, can sometimes have a dramatic effect on performance. But unless that same card is used in the two systems, having the faster card in the slower system may give the impression that the system is faster than it generally is.
 
It appears for the wrong presumption that Intel took UMOV out the 386 level all Intel and AMD 386DX and 386SX are being identified as from AMD...

I'm beginning to think that; I'll remove the AMD check from the 386 detection section in the next release. I'll also ask some x86 asm veterans about UMOV and see what they say.

Great Hierophant said:
But unless that same card is used in the two systems, having the faster card in the slower system may give the impression that the system is faster than it generally is.

But that's intentional. If a faster videocard improves gaming performance, I wanted the score to reflect that (likewise, I wanted really slow cards, like IBM's official 8-bit VGA ISA part, to hurt the score). The videocard timing is only 1 of 5 tests, so it can't dictate the score, but it does affect it, as I designed it to.
 
As an aside, it seems Grzegorz Mazur's pages on differentiating x86 CPUs is now down, when I looked for it earlier today...

Aha, found it at http://web.archive.org/web/20081005053712/http://grafi.ii.pw.edu.pl/gbm/x86/x86id.html . I will study these and see if I can figure out a better way to detect AMD.

Edit: Apparantly, I can use UMOV to detect 386DXLV & SXLV parts only, whatever those are. So the premise behind the code is flawed, and I will remove it.

On the upside, I learned my idea for detecting CMOS 808x parts was wrong! The rep es: bug only affects MOVS -- I was using LODS in a misguided attempt to be non-destructive. I can't wait to set up my 80x86 machine tonight and try again! Yes, I am way too excited about this stuff compared to most normal humans!
 
Last edited:
Aha, found it at http://web.archive.org/web/20081005053712/http://grafi.ii.pw.edu.pl/gbm/x86/x86id.html . I will study these and see if I can figure out a better way to detect AMD.

Edit: Apparantly, I can use UMOV to detect 386DXLV & SXLV parts only, whatever those are. So the premise behind the code is flawed, and I will remove it.

On the upside, I learned my idea for detecting CMOS 808x parts was wrong! The rep es: bug only affects MOVS -- I was using LODS in a misguided attempt to be non-destructive. I can't wait to set up my 80x86 machine tonight and try again! Yes, I am way too excited about this stuff compared to most normal humans!

The parts you mention are later low-power AMD versions. I don't know if the split at the 486 level was starting to show up at the 386 level too at that point. For the basic 386 part between AMD and Intel in the earlier time, there shouldn't be any differences at the same reported stepping level (treat it like 8088/286 marked as Intel or AMD); Isn't that what we were told, that they were the same 386 masks?

Robert Collins is another source with some details on other Intel CPU quirks...

Yes, you are very ambitious: Years ago I wanted to have a CPU-level differentiation in code specifically for IBM models, which can still encompass quite a bit. I think at the point where you dip into the IBM SLC CPUs, and the Pentium with its competitors, it is good to start looking into the Model Specific Registers of the CPU.
 
Last edited:
...Is the VGA in the PS/2 Model 35 truly an IBM part?...

The Model 35SX (8535) and Model 40SX (8540) have a Texas Instruments SVGA chip with limited support. It is the same as on the Model 56SX/56SLC (8556), Model 57SX/57SLC (8557), and the microchannel IBM SVGA/A adapter. The 95xx-level of the Models 35, 40, 56, and 57 have XGA-2 on the system planar.
 
My 25MHz 486sx system:

Code:
Full speed (25MHz, "turbo" on):

[UID55F61510C0]
MemoryTest=197
OpcodeTest=59
VidramTest=332
MemEATest=56
3DGameTest=59
Score=76
BIOSinfo=R(C)1985-1991,American Megatrends Inc.,All Rights Reserved.,1346 Oakbrook Dr.,#120,GA-30093,USA.(404)-263-8181. (12/12/91, rev. 0)
MachineModel=01FC
BIOSdate=19911212
BIOSCRC16=55F6
VideoSystem=VGA
Machine=AT clone

Slowed down (25MHz "turbo" off):

[UID55F6151729]
MemoryTest=312
OpcodeTest=93
VidramTest=367
MemEATest=100
3DGameTest=93
Score=52
BIOSinfo=R(C)1985-1991,American Megatrends Inc.,All Rights Reserved.,1346 Oakbrook Dr.,#120,GA-30093,USA.(404)-263-8181. (12/12/91, rev. 0)
MachineModel=01FC
BIOSdate=19911212
BIOSCRC16=55F6
VideoSystem=VGA
Machine=AT clone
 
Hey, this answers another long-time question of mine: A 386DX-40 really is faster than a 486sx-25. Thanks!

I have no idea if my system's cache settings are optimal. Only one of the two banks are filled, which on some chipsets greatly reduces performance.
 
A bit more detail on both systems would be usefull. A true comparison would have both systems having the same video, cache, etc as there is such a variety out there. I'll see if I can get hold of a similar system in the next week or so and see how that compares.

Here's Chucks results again:

MemoryTest=183
OpcodeTest=86
VidramTest=317
MemEATest=95
3DGameTest=77
Score=77
CPU=AMD Am386DX
CPUspeed=40 MHz
BIOSinfo=R(C)1985-1991,American Megatrends Inc.,All Rights Reserved.,1346 Oakbrook Dr.,#120,GA-30093,USA.(404)-263-8181. (12/12/91, rev. 0)
MachineModel=01FC
BIOSdate=19911212
BIOSCRC16=50F6
VideoSystem=VGA
VideoAdapter=VGA, Trident TR9000i, VESA, 768kb Video Memory, 512kb Video Memo
Machine=AT clone

Not much in it at all. I see another 386DX40 got a score of 96. It would interesting to see what the differences are between that, hardware wise, compared to Chucks. Results of that machine below:


[UID1BE22760F]
MemoryTest=186
OpcodeTest=122
VidramTest=194
MemEATest=139
3DGameTest=113
Score=96
Machine=AT clone
CPU=AMD Am386DX
CPUspeed=40 MHz
BIOSinfo=R(C)1985-1991,American Megatrends Inc.,All Rights Reserved.,1346 Oakbrook Dr.,#120,GA-30093,USA.(404)-263-8181. (12/12/91, rev. 0)
BIOSdate=19911212
BIOSCRC16=1BE2
VideoSystem=VGA
VideoAdapter=VGA, Tseng ET 4000 with HiColor RAMDAC, DRAM, 1024kb Video Memory
Machine=AT clone
 
Last edited:
Back
Top