VOGONS


Reply 40 of 251, by kalohimal

User metadata
Rank Member
Rank
Member
Revolter wrote on 2020-06-14, 14:01:

UPD.: Can confirm CPUSPD also works fine in WinME 😀

Just noticed this. That's great news! Thank you very much for helping!

Slow down your CPU with CPUSPD for DOS retro gaming.

Reply 41 of 251, by kalohimal

User metadata
Rank Member
Rank
Member

@johnnycontrario and anyone who has VIA C3 and is willing to help out with the testing:

I've added cpu detection and multiplier functionalities for VIA C3, with support for Samuel, Samuel 2, Erza, Erza-T, and Nehemiah. The code is completely untested though (as I do not have any C3 cpus), and I expect there will be tons of bugs... 😁

Please help me test the following:
1. Cpu detection - issue command: Cpuspd d i
2. Show current multiplier - issue command: Cpuspd d m
3. Set multiplier - issue command: Cpuspd d i m5.0 i (please substitute multiplier as you wish)
4. Cache and throttle - issue command: Cpuspd i cd t4 i (no reasons why they won't work but just in case)

Please note that for 3 & 4 the commands have 2 "i"s, first one to show the initial frequency and second one to show the frequency after multiplier change.

Please report back the results, best if you could attached a screenshot. Thank you very much for your help!

Filename
CPUSPD1.3-beta2.zip
File size
79.44 KiB
Downloads
74 downloads
File license
Fair use/fair dealing exception
Last edited by kalohimal on 2020-06-18, 17:05. Edited 5 times in total.

Slow down your CPU with CPUSPD for DOS retro gaming.

Reply 42 of 251, by johnnycontrario

User metadata
Rank Newbie
Rank
Newbie
kalohimal wrote on 2020-06-16, 15:08:
@johnnycontrario and anyone who has VIA C3 and is willing to help out with the testing: […]
Show full quote

@johnnycontrario and anyone who has VIA C3 and is willing to help out with the testing:

I've added cpu detection and multiplier functionalities for VIA C3, with support for Samuel, Samuel 2, Erza, Erza-T, and Nehemiah. The code is completely untested though (as I do not have any C3 cpus), and I expect there will be tons of bugs... 😁

Please help me test the following:
1. Cpu detection - issue command: Cpuspd d i
2. Show current multiplier - issue command: Cpuspd d m
3. Set multiplier - issue command: Cpuspd d i m5.0 i (please substitute multiplier as you wish)
4. Cache and throttle - issue command: Cpuspd i cd t4 i (no reasons why they won't work but just in case)

Please report back the results, best if you could attached a screenshot. Thank you very much for your help!
CPUSPD1.3-alpha1.zip

I have some time today for retro shenanigans. I should be able to post some results by tomorrow.

Reply 43 of 251, by kalohimal

User metadata
Rank Member
Rank
Member
johnnycontrario wrote on 2020-06-16, 15:27:

I have some time today for retro shenanigans. I should be able to post some results by tomorrow.

Thanks!

Slow down your CPU with CPUSPD for DOS retro gaming.

Reply 44 of 251, by johnnycontrario

User metadata
Rank Newbie
Rank
Newbie
kalohimal wrote on 2020-06-16, 15:08:
@johnnycontrario and anyone who has VIA C3 and is willing to help out with the testing: […]
Show full quote

@johnnycontrario and anyone who has VIA C3 and is willing to help out with the testing:

I've added cpu detection and multiplier functionalities for VIA C3, with support for Samuel, Samuel 2, Erza, Erza-T, and Nehemiah. The code is completely untested though (as I do not have any C3 cpus), and I expect there will be tons of bugs... 😁

Please help me test the following:
1. Cpu detection - issue command: Cpuspd d i
2. Show current multiplier - issue command: Cpuspd d m
3. Set multiplier - issue command: Cpuspd d i m5.0 i (please substitute multiplier as you wish)
4. Cache and throttle - issue command: Cpuspd i cd t4 i (no reasons why they won't work but just in case)

Please note that for 3 & 4 the commands have 2 "i"s, first one to show the initial frequency and second one to show the frequency after multiplier change.

Please report back the results, best if you could attached a screenshot. Thank you very much for your help!
CPUSPD1.3-alpha1.zip

OK, here are my results. I do not have a great way to capture screenshots, so after testing, I redid the tests redirecting cpuspd output to text files. I tested in Windows 98 by restarting in MS-DOS mode. The DOOM realticks are measured using Phil's Computer Lab Dosbench utility: "Doom max details"

  1. CPU Detection: cpuspd d i
    Appears to work:
    CPUSPEED version 1.3 alpha1. This program is freeware.
    Written by David Chee Y. Wong, Johor Bahru, Malaysia.
    DPMI version: 0.90 flags: 01
    VIA Ezra ID(6,7,A)
    CPU frequency is 797MHz (TSC)
    CPUID.1 ebx=00000000 ecx=00000000 ecx=00803035 flag=0007
  2. Show Current Multiplier: cpuspd d m
    Appears to work:
    CPUSPEED version 1.3 alpha1. This program is freeware.
    Written by David Chee Y. Wong, Johor Bahru, Malaysia.
    DPMI version: 0.90 flags: 01
    Current multiplier: 6.0
  3. Set Multiplier: cpuspd d i m5 i
    Works.
    CPUSPEED version 1.3 alpha1. This program is freeware.
    Written by David Chee Y. Wong, Johor Bahru, Malaysia.
    DPMI version: 0.90 flags: 01
    VIA Ezra ID(6,7,A)
    CPU frequency is 797MHz (TSC)
    CPUID.1 ebx=00000000 ecx=00000000 ecx=00803035 flag=0007
    Entering: do_longhaul
    Multiplier 0b, bcr2 = c4001002
    Writing msr bcr2 = c5881002
    Halting CPU...
    Done.
    Current multiplier: 5.0
    VIA Ezra ID(6,7,A)
    CPU frequency is 664MHz (TSC)
    CPUID.1 ebx=00000000 ecx=00000000 ecx=00803035 flag=0007

    These are the DOOM realtick results for the multipliers I tested.

    Command: result
    Full Speed: 719 realticks
    cpuspd d i m5.0 i: 770 realticks
    cpuspd d i m4.0 i: 852 realticks
    cpuspd d i m3.0 i: 1011 realticks
  4. Cache and Throttle
    Funny story... it turns out my system does not support ACPI. I checked for "RSD PTR" using DEBUG.EXE as you suggested before, and found nothing. I verified I was using debug properly by successfully finding other strings like "award." After looking in the BIOS, I don't believe it's a mistake. The power options are listed as APM.
    CPUSPEED version 1.3 alpha1. This program is freeware.
    Written by David Chee Y. Wong, Johor Bahru, Malaysia.
    VIA Ezra ID(6,7,A)
    CPU frequency is 797MHz (TSC)
    Cache is off
    No ACPI, please check BIOS settings.
    VIA Ezra ID(6,7,A)
    CPU frequency is 797MHz (TSC)
  5. Additional Test:
    I decided to do a quick comparison to setmul, I guess to validate that cache and multiplier were being disabled as expected:
    Command: result
    setmul 4 l1d l2d: 8601 realticks
    cpuspd i cd m4 i: 8634 realticks

Reply 45 of 251, by kalohimal

User metadata
Rank Member
Rank
Member

@johnnycontrario

Thanks for the excellent efforts! I'm really surprise to see that it works the first time, wow!

Regarding ACPI, do you have any options in the BIOS to enable it? I saw some date codes on Samuel 2 and Erza and they are at or after year 2002, so ACPI should already be available. Perhaps the board manufacturer had skimmed on the BIOS for cost reduction? This also got me thinking whether I should implement something like Throttle, using database to support older and/or non ACPI boards... It's a lot of work though, as PCI device detection will be needed.

Overall I'm real happy about the results, really appreciate your help. Now we need to find more folks to test out the Samuel 2 and Ezra-T portion...

Slow down your CPU with CPUSPD for DOS retro gaming.

Reply 46 of 251, by johnnycontrario

User metadata
Rank Newbie
Rank
Newbie
kalohimal wrote on 2020-06-18, 01:39:

Regarding ACPI, do you have any options in the BIOS to enable it? I saw some date codes on Samuel 2 and Erza and they are at or after year 2002, so ACPI should already be available. Perhaps the board manufacturer had skimmed on the BIOS for cost reduction?

I could not find any ACPI related options in the BIOS. My machine was made by a company that sells Point of Sale equipment, so I'm sure energy efficiency wasn't a priority. There are other things on this board that weren't implemented, like temperature sensors. I'll try again if I can get a custom BIOS working on it.

kalohimal wrote on 2020-06-18, 01:39:

This also got me thinking whether I should implement something like Throttle, using database to support older and/or non ACPI boards... It's a lot of work though, as PCI device detection will be needed.

This may be a long shot: Throttle's source is open, but I don't see a formal license anywhere. Rather than reinventing the wheel, maybe you can get Jeff's permission to use some of his work in your project.

Reply 47 of 251, by simworld

User metadata
Rank Newbie
Rank
Newbie

Good works... keep it up. I from Johor Malaysia too.

Your project spice me with idea building my a ultimate retro PC..

Hopefully these hardware works
Duo Core E2160
512mb DDR (lower it frrom 2G to 512mb for Win98)
GF8500??

Umm....hopefully it works.

Reply 48 of 251, by kalohimal

User metadata
Rank Member
Rank
Member
johnnycontrario wrote on 2020-06-18, 04:12:

This may be a long shot: Throttle's source is open, but I don't see a formal license anywhere. Rather than reinventing the wheel, maybe you can get Jeff's permission to use some of his work in your project.

If I were to do it, probably won't just copy his work, but will definitely use it as reference. It's about a week of coding & testing needed I guess, and looks like it will be fun. Practically though I don't think a lot of people will be needing it, especially judging from the lackluster response to this utility 🤣.

Oh one more thing, could you try it on Win98 DOS box please? Just like to see any issues in protected mode.

Last edited by kalohimal on 2020-06-18, 07:28. Edited 1 time in total.

Slow down your CPU with CPUSPD for DOS retro gaming.

Reply 49 of 251, by kalohimal

User metadata
Rank Member
Rank
Member
simworld wrote on 2020-06-18, 05:53:
Good works... keep it up. I from Johor Malaysia too. […]
Show full quote

Good works... keep it up. I from Johor Malaysia too.

Your project spice me with idea building my a ultimate retro PC..

Hopefully these hardware works
Duo Core E2160
512mb DDR (lower it frrom 2G to 512mb for Win98)
GF8500??

Umm....hopefully it works.

Glad to hear from a fellow Malaysian. Which motherboard are you planning to use? If you're planning to triple boot DOS/Win98/XP, boards with i815 and earlier chipset will be the best. Oh and I think GF8500 has no Win98 drivers too.

Slow down your CPU with CPUSPD for DOS retro gaming.

Reply 50 of 251, by johnnycontrario

User metadata
Rank Newbie
Rank
Newbie
kalohimal wrote on 2020-06-18, 06:01:
johnnycontrario wrote on 2020-06-18, 04:12:

This may be a long shot: Throttle's source is open, but I don't see a formal license anywhere. Rather than reinventing the wheel, maybe you can get Jeff's permission to use some of his work in your project.

If I were to do it, probably won't just copy his work, but will definitely use it as reference. It's about a week of coding & testing needed I guess, and looks like it will be fun. Practically though I don't think a lot of people will be needing it, especially judging from the lackluster response to this utility 🤣.

Oh one more thing, could you try it on Win98 DOS box please? Just like to see any issues in protected mode.

I did happen to play with it in a Win98 DOS box, and the cache disabling and multiplier setting worked properly. HWiNFO reports the new clock speed, and disabling cache noticeably affects performance. I disabled cache and set the multiplier to the lowest possible value: Windows 98 looked like it was running on a slow 486.

Perhaps an improvement to Throttle would be to put the database in a configuration file. This way the program does not have to be recompiled to add or remove support for a particular chipset. Adding switches to force a particular chipset is another idea.

Reply 51 of 251, by kalohimal

User metadata
Rank Member
Rank
Member

Ok noted with thanks. Currently I'm still ironing the C3 bugs, as in this thread. Your suggestion is noted, I'll consider implementing it when I could find more time.

Slow down your CPU with CPUSPD for DOS retro gaming.

Reply 52 of 251, by kalohimal

User metadata
Rank Member
Rank
Member

CPUSPD 1.3 beta2 with some bugs fixes for C3 is now ready. Also added max/min multiplier display. Please download it for testing from the above post.

Slow down your CPU with CPUSPD for DOS retro gaming.

Reply 53 of 251, by kalohimal

User metadata
Rank Member
Rank
Member

@johnnycontrario

Sorry to trouble you again. When you could find time, would you please help me try this in pure DOS and Win98 DOS box?
cpuspd i m4.0 i
cpuspd i

There seems to be a problem when "i" is issued right after multiplier is changed, in that it won't be able to obtain the cpu frequency correctly. I would like to find out whether this is limited to Nehemiah or Ezra also has this issue as well.

Thank you very much.

Slow down your CPU with CPUSPD for DOS retro gaming.

Reply 54 of 251, by johnnycontrario

User metadata
Rank Newbie
Rank
Newbie
kalohimal wrote on 2020-06-18, 17:10:
@johnnycontrario […]
Show full quote

@johnnycontrario

Sorry to trouble you again. When you could find time, would you please help me try this in pure DOS and Win98 DOS box?
cpuspd i m4.0 i
cpuspd i

There seems to be a problem when "i" is issued right after multiplier is changed, in that it won't be able to obtain the cpu frequency correctly. I would like to find out whether this is limited to Nehemiah or Ezra also has this issue as well.

Thank you very much.

Sure. I'll post results tonight.

Reply 56 of 251, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
kolderman wrote on 2020-06-18, 19:57:

Why is this being developed given setmul already exists and is good?

The reasons are listed in the
"Advantage of CPUSPD over older utilities like Throttle and Setmul, and software solution like slowdown:"
section in the 1st post:
CpuSpd - A Hardware Based CPU Speed Control Utility for DOS/Win9X Retro Gaming
(To name a few: SetMul has no throttling support and does not include support for e.g. P4 and Core2)

Last edited by Stiletto on 2020-06-19, 01:27. Edited 2 times in total.

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 57 of 251, by kalohimal

User metadata
Rank Member
Rank
Member
kolderman wrote on 2020-06-18, 19:57:

Why is this being developed given setmul already exists and is good?

Hi, it's because of several things. When I started the project it was aimed at P4 and Core 2 CPUs, with the ability to not only set cache and multiplier but aslo throttling, both in pure DOS and Win98 DOS box. And because I use Yamaha YMF744 whose dsdma needs EMS, it is desirable to have it working in protected mode as well. AMD CPUs were later added, along with other Intel CPUs. Recently there were request to include VIA C3, my initial reply was it's overlapping with Setmul, but later thought ok why not since it could be fun. So there you go... 😀

Edit: oh I forgot to mention it allows the user to set the CPU voltage too. I've been to some HTPC forums and this is important to them as they seek to run the CPU fanless in low power.

Last edited by kalohimal on 2020-06-18, 20:45. Edited 1 time in total.

Slow down your CPU with CPUSPD for DOS retro gaming.

Reply 58 of 251, by johnnycontrario

User metadata
Rank Newbie
Rank
Newbie
kalohimal wrote on 2020-06-18, 17:10:
@johnnycontrario […]
Show full quote

@johnnycontrario

Sorry to trouble you again. When you could find time, would you please help me try this in pure DOS and Win98 DOS box?
cpuspd i m4.0 i
cpuspd i

There seems to be a problem when "i" is issued right after multiplier is changed, in that it won't be able to obtain the cpu frequency correctly. I would like to find out whether this is limited to Nehemiah or Ezra also has this issue as well.

Thank you very much.

Under pure DOS, I got the following output:

COMMAND: cpuspd i m4.0 i 

CPUSPEED version 1.3 beta2. This program is freeware.
Written by David Chee Y. Wong, Johor Bahru, Malaysia.
VIA Ezra ID(6,7,A)
CPU frequency is 797MHz (TSC)
Current multiplier: 4.0 (min 3.0, max 12.0)
VIA Ezra ID(6,7,A)
CPU frequency is 531MHz (TSC)

COMMAND: cpuspd i

CPUSPEED version 1.3 beta2. This program is freeware.
Written by David Chee Y. Wong, Johor Bahru, Malaysia.
VIA Ezra ID(6,7,A)
CPU frequency is 531MHz (TSC)

Setmul reports 4.0x, 533MHz.

In Windows 98, CPUSPD reports 532MHz, and HWiNFO shows the same. However, CPUSPD intermittently reports 527MHz. I ran CPUSPD i in a new dosbox five more times after this screenshot and only got the 527MHz measurement one other time.

Attachments

  • results.png
    Filename
    results.png
    File size
    44.92 KiB
    Views
    1466 views
    File license
    Fair use/fair dealing exception

Reply 59 of 251, by kalohimal

User metadata
Rank Member
Rank
Member

Thanks! The slight inaccuracy is expected as the frequency is measured and not calculated. The routine is in fact a text book algorithm from Intel's developer manual. It seems that the frequency settling issue is either solved with the revised code, or it's not present on Ezra.... Now I wonder is which 🤣

I'll work on your request to throttle via south bridge database once the C3 issues are settled.

Slow down your CPU with CPUSPD for DOS retro gaming.