![]() |
Re: core2duotemp.c to core2duotemp.pas
ExpressOrgChart by Developer Express Inc
What's this??? I accept source code only! |
Re: core2duotemp.c to core2duotemp.pas
this is perfectly ok just test it and report what does it report when reading msrs.Becouse i get 0
|
Re: core2duotemp.c to core2duotemp.pas
Can someone test?
|
Re: core2duotemp.c to core2duotemp.pas
Razor: I'm personally going to ask our Admin, Daniel, to temporarily ban your account for at least 48 hours if you are pushing only a single more time! Treat this as a very, very last warning.
You have been told multiple times that pushing is not allowed. So do not push again. |
Re: core2duotemp.c to core2duotemp.pas
Reply to my PM!And take action!
|
Re: core2duotemp.c to core2duotemp.pas
EDIT: Ich habe doch glatt eine Seite übersehen und auf 'n uralten Post geantwortet, sry :wall:
|
Re: core2duotemp.c to core2duotemp.pas
Yea and? :)
|
Re: core2duotemp.c to core2duotemp.pas
Well any new news on this?Seems nobody cares about this topic or is it just me
|
Re: core2duotemp.c to core2duotemp.pas
Zitat:
![]() |
Re: core2duotemp.c to core2duotemp.pas
Ahh hathor tooo late!You are late...
I've made it 2 months ago.. aswell my driver and the K8(Athlon 64,Athlon X2) and K10(Phenom X4 and X3 and Opteron) readings all internal sensor.Shows same as coretemp..I did it my own no forum asking nothing..so yes :lol:
Delphi-Quellcode:
function intelcore(cpuaffinity:dword):string;
var msrvalue:tmsr; eax,x,edx:dword; s:string; o:integer; begin RDMSRex($19C,msrvalue,cpuaffinity); If msrvalue.LowPart and $8000 > 0 then begin x := eax; x:=x shr 16 and $0000ff ; s:=Format('%8.8x', [x]); o:=TJunction-HexToInt(S); result:=inttostr(o)+' °C'; end; end; //Rdmsr($EE,msrvalue); //IF msrvalue.HiPart and $40000000 = 0 then TJunction := 100 Else TJunction := 85; |
Re: core2duotemp.c to core2duotemp.pas
Zitat:
...and what about TJunction := 105, if NOT TJunction := 100 and NOT TJunction := 85 ??? :gruebel: |
Re: core2duotemp.c to core2duotemp.pas
Zitat:
Use this.
Delphi-Quellcode:
var
tjunction:integer;<<must be global var Rdmsr($EE,msrvalue); IF msrvalue.HiPart and $40000000 = 0 then TJunction := 100 Else TJunction := 85; |
Re: core2duotemp.c to core2duotemp.pas
Zitat:
|
Re: core2duotemp.c to core2duotemp.pas
Zitat:
|
Re: core2duotemp.c to core2duotemp.pas
Zitat:
But the correct detection of TjMax is a huge discussion within the web, and we have here 2 ways of doing this. The first one is the creation of a CPUID table, where you can set the TjMax value for various processor types and steppings. The other way is the usage of MSR EEh, where you have to different between 85, 100 and 105 °C. Some programs use 95 °C as well. Please see the following links to read the discussions and extend your knowledge: ![]() ![]() ![]() |
Re: core2duotemp.c to core2duotemp.pas
How to detect all of these Deltas can some one please tell me? :o
My read temperature is the same as core temp's so there isnt no bad code in my code. Yes Muetze you gave me tips but you didnt code it;). |
Re: core2duotemp.c to core2duotemp.pas
Why don't you simply upload your application for all of us ?
Its hard to give a solid feedback if you haven't any practical application, just source parts. |
Re: core2duotemp.c to core2duotemp.pas
Yes however how can i SetThreadAffinityMask with JVCL thread timer?
Devidespe can you help me with this?Does this mean i have to use 4 threads? After this i upload the app I tryed this SetThreadAffinityMask(jvthreadtimer1.Thread.Handle ,$0001); SetThreadAffinityMask(jvthreadtimer1.Thread.Handle ,$0001); |
Re: core2duotemp.c to core2duotemp.pas
Zitat:
Zitat:
![]() But anyway, this is not the way to solve the actual problem discussed here. |
Re: core2duotemp.c to core2duotemp.pas
1 shl ProcNumber(CPUIndex) } like this?
Zitat:
It doesnt change even if i put in $0001,$0002,$0004,$0008 it just wont change. |
Re: core2duotemp.c to core2duotemp.pas
Actually like this:
Delphi-Quellcode:
This function must run within a FOR-TO-DO loop to set the processors. The number of processors (which is part of the FOR-TO-DO loop) can be detected by using the GetSystemInfo function (
FUNCTION SetProcessorNr(Nr : Byte) : Boolean; {0 until 31}
VAR Process : THandle; BEGIN Process:=GetCurrentProcess; Result:=SetProcessAffinityMask(Process, (1 SHL Nr)); END; ![]() ![]() Hope that helps. |
Re: core2duotemp.c to core2duotemp.pas
Well this wont work
Delphi-Quellcode:
procedure TMainFrm.JvThreadTimer1Timer(Sender: TObject);
var msr:tmsr; omcdrv:tmsrio; x:dword; s:string; o:integer; begin SetThreadAffinityMask(jvthreadtimer1.Thread.Handle,$0008);//for the 4th core omcdrv.ReadMSR($19C,msr); x := msr.LowPart; x:=x shr 16 and $0000ff ; s:=Format('%8.8x', [x]); o:=100-HexToInt(S); rzlabel8.caption:=inttostr(o)+' °C'; end; |
Re: core2duotemp.c to core2duotemp.pas
Ok ok i wrote a function however it dosent do its job very well...
Delphi-Quellcode:
Function IntelCore(ThreadAffinity:Cardinal;Mask:dword):string;
var msr:tmsr; omcdrv:tmsrio; x:dword; s:string; o:integer; begin SetThreadAffinityMask(ThreadAffinity,mask); omcdrv.ReadMSR($19C,msr); x := msr.LowPart; x:=x shr 16 and $0000ff ; s:=Format('%8.8x', [x]); o:=100-HexToInt(S); result:=inttostr(o)+' °C'; end; Am i confused couse i cant figure the mask for the thread....please! :wall: |
Re: core2duotemp.c to core2duotemp.pas
Zitat:
Zitat:
Learn the things you do and stop copying! |
Re: core2duotemp.c to core2duotemp.pas
Zitat:
I hope he can solve this problem... At least there is a C and C++ sample, which demonstrates how to use this affinity setting. |
Re: core2duotemp.c to core2duotemp.pas
Liste der Anhänge anzeigen (Anzahl: 1)
Guys i already did that with the RdMsrEx it works fine it was ment for other driver but ok.
Now another problemo Cpu detection and cpuid...i guess thats hard as hell. :gruebel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz