VOGONS


Reply 20 of 91, by Chkcpu

User metadata
Rank Member
Rank
Member
Sphere478 wrote on 2022-12-05, 22:41:

Hey Jan, how hard would it be to make it colorful like memtest86+

Hi Shere478, actually I have no idea. I never did that kind of programming.

Unlike full screen DOS programs that control every element on the screen directly, CHKCPU is a pure text-based tool that sends it output to DOS which in turn puts it on the screen. The big advantage of that is that you can pipe the output to another recipient like a file.

I know of several network administrators that used CHKCPU get info from every PC in the network by calling CHKCPU from the network log-on script via a remote execution tool. A use I never envisioned when developing CHKCPU, but made possible by its text-based nature. 😀

Maybe your colorful idea is something for the future, but for now I want to work on the present bug-list first. 😉

Cheers, Jan

CPU Identification utility
The Unofficial K6-2+ / K6-III+ page

Reply 21 of 91, by Chkcpu

User metadata
Rank Member
Rank
Member
konc wrote on 2022-12-06, 09:38:
Chkcpu wrote on 2022-12-05, 22:00:
Thanks PC@LIVE, yes any CHKCPU report is welcome. :) […]
Show full quote

Thanks PC@LIVE, yes any CHKCPU report is welcome. 😀

About the really Vintage PCs, does any of you have a 8086/8088 system available to test CHKCPU on?
With the unusual high speed reading on konc's V20 CPU, I'm curios what the original 8086/8088 would show. 😉

Thanks, Jan

If none has one handy I'll put back the original 8088 that got replaced by the V20 and give it a run

@konc, That would be great, thanks!

To explain why I ask y’all for these testruns, here is my story on measuring the CPU speed.

I developed CHKCPU as a small and handy tool to display specific data from the CPU in a PC. Often the two most interesting items are the CPU model and the CPU speed.
Apart from detecting the correct CPU model, I always tried to get the speed reading as accurately as possible when adding support for new CPUs to the program.

Nowadays, on Pentium and later, we have an internal Time Stamp Counter (TSC) that runs at the CPU clockspeed. You only have to setup a reliable timebase and read the TSC at the beginning and end of that time interval to get an accurate value of the CPU speed.
But the 486 and earlier don’t have a TSC and have to rely on instruction timing to measure the speed. Because of microcode differences, instruction timing differs between CPU vendors but also between parts of the same vendor. This makes CPU speed measurement via instruction timing quite unreliable.

Usually a lot of slow divide instructions in a loop are used and the program times the duration with the motherboard general purpose timer 2. Like timer 0 and timer 1, these interval timers are always clocked at a fixed 1.1932MHz rate.
The amount of time a divide instruction takes is not only dependent on the internal CPU speed, but also on the CPU family, make, and model. A divide on a 8088 takes about 150 CPU clock cycles, while a Pentium only need 25 clocks. So the software has to know all these details per CPU model, to make a correct speed determination in each case.

When starting work on CHKCPU back in 1996/1997 I found a solution in code samples from the book “The Undocumented PC” by Frank van Gilluwe, where correction tables for each CPU vendor and each CPU type per vendor are used to correct the instruction timing. This code also increases the number of timing loops for faster CPU models, to keep the measurement accurate.
I have since expanded these tables with new CPU types and vendors, and added code to use the TSC instead of instruction timing when possible.
Because modern CPUs all have a TSC, I did not expand the instruction timing tables beyond the Intel Nehalem/AMD Phenom.

This solution works quite well under DOS and Win9x. From Win NT4 onwards, a lot of direct hardware access is virtualized and the speed measurement is often too low and sometimes completely off, even when using the TSC.
This stimulated me to start writing a Win32 console mode version Chkcpu32 v2.xx back in 2004. And of course, the Cpuspeed routine for that had to be rewritten from scratch!
But this is a subject for another topic. 😉

Jan.

CPU Identification utility
The Unofficial K6-2+ / K6-III+ page

Reply 22 of 91, by Sphere478

User metadata
Rank l33t++
Rank
l33t++

I think chkcpu is missing some of the k6 models 400 3+ I think is one.

It comes up 450/500/550 or something like that.

Unless it is sensing voltage and deciding it can’t be a 400? Were those all 1.6v?

Sphere's PCB projects.
-
Sphere’s socket 5/7 cpu collection.
-
SUCCESSFUL K6-2+ to K6-3+ Full Cache Enable Mod
-
Tyan S1564S to S1564D single to dual processor conversion (also s1563 and s1562)

Reply 23 of 91, by Chkcpu

User metadata
Rank Member
Rank
Member
Sphere478 wrote on 2022-12-06, 13:40:

I think chkcpu is missing some of the k6 models 400 3+ I think is one.

It comes up 450/500/550 or something like that.

Unless it is sensing voltage and deciding it can’t be a 400? Were those all 1.6v?

Good catch! You are correct, CHKCPU is missing some K6-2+ and K6-III+ ratings.
The K6-2+/570 has already been added to this Retro update, but I've now added the K6-III/333, K6-2+/350, K6-2+/400, and K6-III+/400 as well.
You should see these ratings in the next beta.

I remember I didn't add these ratings at the time because they were embedded versions that wouldn't appear in desktops or laptops.
But of course they did! 😉

Jan

CPU Identification utility
The Unofficial K6-2+ / K6-III+ page

Reply 25 of 91, by PC@LIVE

User metadata
Rank Oldbie
Rank
Oldbie
Chkcpu wrote on 2022-12-06, 12:05:
I just checked the download link in the first message, but it works fine here. If you still can't download it, send me a PM or a […]
Show full quote
PC@LIVE wrote on 2022-12-05, 22:19:

I tried to download your updated program a little while ago, from the link in the first message, but the card disappears and I can't save it, it could be a problem with my internet PC, but if you have time you can check if it works, thanks.

I just checked the download link in the first message, but it works fine here.
If you still can't download it, send me a PM or an e-mail and I will send you the file in return.

Jan

thanks jan, i tried again and it worked, i don't know why it wasn't working yesterday.
In the next few days I'll start work on a couple of socket 7, if I can get them to work, I'll try it, but in any case I can try it on other PCs that I've previously set up, if you want (and you have time) here you'll find many PCs that I have settled, in case if you want me to try it on someone, just tell me what it is.
Re: Test and troubleshoot PC@LIVE motherboards

AMD 286-16 287-10 4MB HD 45MB VGA 256KB
AMD 386DX-40 Intel 387 8MB HD 81MB VGA 256KB
Cyrix 486DLC-40 IIT387-40 8MB VGA 512KB
AMD 5X86-133 16MB VGA VLB CL5428 2MB and many others
AMD K62+ 550 SOYO 5EMA+ and many others
AST Pentium Pro 200 MHz L2 256KB

Reply 26 of 91, by Sphere478

User metadata
Rank l33t++
Rank
l33t++
Chkcpu wrote on 2022-12-06, 16:11:
Good catch! You are correct, CHKCPU is missing some K6-2+ and K6-III+ ratings. The K6-2+/570 has already been added to this Retr […]
Show full quote
Sphere478 wrote on 2022-12-06, 13:40:

I think chkcpu is missing some of the k6 models 400 3+ I think is one.

It comes up 450/500/550 or something like that.

Unless it is sensing voltage and deciding it can’t be a 400? Were those all 1.6v?

Good catch! You are correct, CHKCPU is missing some K6-2+ and K6-III+ ratings.
The K6-2+/570 has already been added to this Retro update, but I've now added the K6-III/333, K6-2+/350, K6-2+/400, and K6-III+/400 as well.
You should see these ratings in the next beta.

I remember I didn't add these ratings at the time because they were embedded versions that wouldn't appear in desktops or laptops.
But of course they did! 😉

Jan

Btw, I think I have a full list of 2+ cpus in my 2+ to 3+ modding thread. 1st post. (In sig)

Sphere's PCB projects.
-
Sphere’s socket 5/7 cpu collection.
-
SUCCESSFUL K6-2+ to K6-3+ Full Cache Enable Mod
-
Tyan S1564S to S1564D single to dual processor conversion (also s1563 and s1562)

Reply 27 of 91, by Chkcpu

User metadata
Rank Member
Rank
Member
PC@LIVE wrote on 2022-12-06, 19:55:

thanks jan, i tried again and it worked, i don't know why it wasn't working yesterday.
In the next few days I'll start work on a couple of socket 7, if I can get them to work, I'll try it, but in any case I can try it on other PCs that I've previously set up, if you want (and you have time) here you'll find many PCs that I have settled, in case if you want me to try it on someone, just tell me what it is.
Re: Test and troubleshoot PC@LIVE motherboards

I see an AMD 386DX-40 and a Cx486DLC-40 in your signature. I would love to see CHKCPU reports on those if possible.

Jan

CPU Identification utility
The Unofficial K6-2+ / K6-III+ page

Reply 28 of 91, by Chkcpu

User metadata
Rank Member
Rank
Member

I’m keeping the CHKCPU download link at the first message of this thread and I’ve just uploaded a new v1.26.18 beta there.
Please use this new version when testing CHKCPU and generating reports.

@konc: this version should now display the CPU speed more accurately, both on your 8088 and NEC V20.
@maxtherabbit, @mwdmeyer: I’ve adjusted the too optimistic speed reading on the 286 as well.

In addition, this CHKCPU version should be able to tell the difference between a 386SX and a 386DX by detecting if the CPU has a 16-bit or 32-bit external data path.
This new logic should also work on upgrade CPUs for the 386 platform and show if you are running a Cyrix/TI 486SLC or 486DLC, a TI 486SXLC or 486SXL, or an IBM 486SLC/SCL2 or 486DLC2/BL2/BL3 CPU. I welcome any report on these CPU models to confirm this new logic. 😉

@CuPid (author of CPU-Z): thanks for sharing notes with me on how to detect these Retro CPUs accurately. 😀

@konc: on the subject of distinguishing between a V20 and V30 (or between an 8088 and 8086), I’m unaware of a method to detect from software if these CPUs have a 8-bit or 16-bit external data path, so CHKCPU will just show them as “8086/8088” or “V20/V30”.

Hoping to see a lot of v1.26.18 reports. 😉
Jan

CPU Identification utility
The Unofficial K6-2+ / K6-III+ page

Reply 29 of 91, by konc

User metadata
Rank l33t
Rank
l33t
Chkcpu wrote on 2022-12-08, 10:10:

@konc: this version should now display the CPU speed more accurately, both on your 8088 and NEC V20.

The V20 looks good! (CPU is clocked at 9.53MHz as per the BIOS)

The attachment MYCPU.TXT is no longer available

Reply 31 of 91, by Chkcpu

User metadata
Rank Member
Rank
Member
konc wrote on 2022-12-08, 16:09:
Chkcpu wrote on 2022-12-08, 10:10:

@konc: this version should now display the CPU speed more accurately, both on your 8088 and NEC V20.

The V20 looks good! (CPU is clocked at 9.53MHz as per the BIOS)

Thanks, looks perfect! 😀

Jan

CPU Identification utility
The Unofficial K6-2+ / K6-III+ page

Reply 32 of 91, by mkarcher

User metadata
Rank l33t
Rank
l33t

I tested the current version of CHKCPU on a "VIA Samuel 2" system. The output looks fine.

Joke: But CACHECHK measures the clock more accurately! Your tools outputs 666MHz, whereas CACHECHK classifies the processor as 1002.3MHz 486 computer. As the processor is labelled "1 Giga Pro", the 1000MHz are definitely correct and your output just has to be wrong! (Yeah, of course I understand that 5.0*133MHz, as reported by CHKCPU is correct and the name 1 Giga Pro is a blunt marketing stunt by VIA. Nevertheless, I enjoyed the figure of CACHECHK matching the marketed speed, fully understanding that a benchmark relying on 486 instruction timings will report meaningless output on a C3 CPU)

Reply 33 of 91, by Chkcpu

User metadata
Rank Member
Rank
Member
Sphere478 wrote on 2022-12-08, 17:06:

Drop in on the sxl2 interposer thread and see if it is working with those. Feiopa can probably check 😀

Thanks. Feipoa already did help with testing earlier beta versions and send me TI486SXL2-66 reports via PM. 😀

Actually, he advised me to start this thread to attract more beta testers. So you advising me to contact him makes the circle round.
It’s great to be part of this community!! 😀

Jan

CPU Identification utility
The Unofficial K6-2+ / K6-III+ page

Reply 34 of 91, by Chkcpu

User metadata
Rank Member
Rank
Member
mkarcher wrote on 2022-12-08, 20:01:

I tested the current version of CHKCPU on a "VIA Samuel 2" system. The output looks fine.

Joke: But CACHECHK measures the clock more accurately! Your tools outputs 666MHz, whereas CACHECHK classifies the processor as 1002.3MHz 486 computer. As the processor is labelled "1 Giga Pro", the 1000MHz are definitely correct and your output just has to be wrong! (Yeah, of course I understand that 5.0*133MHz, as reported by CHKCPU is correct and the name 1 Giga Pro is a blunt marketing stunt by VIA. Nevertheless, I enjoyed the figure of CACHECHK matching the marketed speed, fully understanding that a benchmark relying on 486 instruction timings will report meaningless output on a C3 CPU)

@mkarcher, thanks for reporting, and I loved the "1 Giga Pro" joke. 😀
But seriously, I never had the chance to test CHKCPU on the VIA Samuel 2, so could you run REPORT.BAT for me?
I would like to see a MYCPU.TXT Report on this CPU.

Jan

CPU Identification utility
The Unofficial K6-2+ / K6-III+ page

Reply 35 of 91, by PC@LIVE

User metadata
Rank Oldbie
Rank
Oldbie
Chkcpu wrote on 2022-12-06, 22:01:
PC@LIVE wrote on 2022-12-06, 19:55:

thanks jan, i tried again and it worked, i don't know why it wasn't working yesterday.
In the next few days I'll start work on a couple of socket 7, if I can get them to work, I'll try it, but in any case I can try it on other PCs that I've previously set up, if you want (and you have time) here you'll find many PCs that I have settled, in case if you want me to try it on someone, just tell me what it is.
Re: Test and troubleshoot PC@LIVE motherboards

I see an AMD 386DX-40 and a Cx486DLC-40 in your signature. I would love to see CHKCPU reports on those if possible.

Jan

Yes, ok, but I need some time to try it on those PCs. Today I started repairing a couple of socket 7's, one is bad, the other is but I need to fix a pin cache, I'm adding a screenshot to show your program running.

AMD 286-16 287-10 4MB HD 45MB VGA 256KB
AMD 386DX-40 Intel 387 8MB HD 81MB VGA 256KB
Cyrix 486DLC-40 IIT387-40 8MB VGA 512KB
AMD 5X86-133 16MB VGA VLB CL5428 2MB and many others
AMD K62+ 550 SOYO 5EMA+ and many others
AST Pentium Pro 200 MHz L2 256KB

Reply 36 of 91, by maxtherabbit

User metadata
Rank l33t
Rank
l33t

This time it got the 286 speed exactly right. I'll try at again on the 20MHz system later on but it nailed the 12MHz one.

Reply 37 of 91, by kixs

User metadata
Rank l33t
Rank
l33t

Tests with my "fastest" 286 @ 29MHz:

4UQY1Dpl.jpg

The same motherboard with Ti486slc-33 upgrade with Cyrix FPU @ 32MHz:

eKXoQa2l.jpg

Might do Cx486DRx2-66 later if time permits.

Otherwise I use a good benchmark/sysinfo tool "comptest". It also detects different FPUs.
http://ftp.lip6.fr/pub/pc/garbo/pc/sysinfo/ctest260.zip

Last edited by kixs on 2022-12-09, 09:25. Edited 1 time in total.

Requests here!

Reply 38 of 91, by mwdmeyer

User metadata
Rank Oldbie
Rank
Oldbie

Attached for my 386DX/40 w/FPU.

Speed is correct but it says I have a 287 when I have an IIT 3C87-40

Vogons Wiki - http://vogonswiki.com

Reply 39 of 91, by Chkcpu

User metadata
Rank Member
Rank
Member

Thank you all for these CHKCPU v1.26.18 reports here, via PM, or via e-mail. I study them all and most of them look perfect.

@kixs: thanks for the COMPTEST link. Great tool, with source code. 😀
This will be interesting study material, because I still have to learn more about FPU programming.

@mwdmeyer: yes, my FPU detection needs improvement.
Presently, CHKCPU detects the 287/387 FPU type by checking if +infinity is equal to -infinity. If they are equal, the FPU is a 287. If not, a 387 is found.
This code sequency was written with Intel FPUs in mind, and it is very possible that FPUs from other vendors behave differently in this respect. I will have to investigate.

Jan

CPU Identification utility
The Unofficial K6-2+ / K6-III+ page