/*****************************************************************************
*                                                                            *
*                         CrystalCPUID 4.x.y.z                               *
*                   Copyright (C) 2002-2007 hiyohiyo                         *
*                                                                            *
*                                            mail: hiyohiyo@crystalmark.info *
*                                            web :   http://crystalmark.info *
*****************************************************************************/

------------------------------------------------------------------------------
 ͂߂
------------------------------------------------------------------------------
  CrystalCPUID  CPU ̏ڍׂȏ̎擾VXe擾t[\tg
BV CPU wƂ̃`FbNX̃I[o[NbNL^Ɏg
ƍKłB擾邾łȂꕔ̊ł̓I[o[NbN
Éɖ𗧂@\ڂĂ܂B댯𔺂@\̂ł̃t@Cɏ
Ă邱Ƃɂ͈ʂڂʂĂĂB

------------------------------------------------------------------------------
 CXg[
------------------------------------------------------------------------------
ECӂ̃fBNgɃ_E[ht@C𓀂ĂB

------------------------------------------------------------------------------
 ACXg[
------------------------------------------------------------------------------
ECXg[fBNg폜ĂB
WXgɂ͈؏ł܂B
ݒ CrystalCPUID.ini ɕۑĂ܂B

------------------------------------------------------------------------------
 
------------------------------------------------------------------------------
 - QPC = QueryPerformanceCounter
 - MMT = Multimedia Timer
 - WT  = Windows Timer
 - x64 = AMD64  EM64T(IA-32e) ̑
 - EIST= Enhanced Intel SpeedStep Technology
 - ODCM= On Demand Clock Modulation

------------------------------------------------------------------------------
 
------------------------------------------------------------------------------
Ή OS FWindows Vista/2003/XP/2000/NT4/Me/98/95
Ή@FPC/AT ݊@  PC-98 V[Y
Ή CPUFIntel 386 ȍ~  x64 ΉvZbT
tHgFMS UI Gothic (9pt)
          Tahoma (9pt)
          MS Sans Serif (8pt)

NbNg𑪒肷ɂ RDTSC ߂T|[gĂKv܂B
-> Pentium ȍ~œڂĂ܂B

MS UI Gothic  NT4SP4/98 ȍ~ŃT|[gĂ܂B95 [U[
http://www.microsoft.com/japan/win95/library/default.asp
uMS UI Gothic pb`v_E[hĂB

NT4/98/95  BIOS \邽߂ɂ
WMI 1.5 (Windows Management Instrumentation) KvłB
http://www.microsoft.com/downloads/release.asp?ReleaseID=23142

Windows 95/98/Me ł萳m CPU gp擾
Windows 95 Kernel Toys Set
http://www.microsoft.com/windows95/downloads/contents/WUToys/W95KernelToy/
_E[hA̒Ɋ܂܂Ă WinTop.vxd  CrystalCPUID 
tH_ɓĂB

------------------------------------------------------------------------------
 Rec ʏ
------------------------------------------------------------------------------
t@C            |bit| 
----------------------+---+---------------------------------------------------
ReadMeCpuidJ.txt      | - | ReadMe ({)
ReadMeCpuid.txt       | - | ReadMe (p)
CrystalCPUID.txt      | - | CrystalCPUID.exe Ɋւ
HistoryCpuidJ.txt     | - | CrystalCPUID.exe ̍XVi{j
HistoryCpuid.txt      | - | CrystalCPUID.exe ̍XVipj
SysInfo.txt           | - | SysInfo.dll Ɋւ
HisrotySysInfoJ.txt   | - | SysInfo.dll ̍XVi{j
HisrotySysInfo.txt    | - | SysInfo.dll ̍XVipj
CrystalCPUID.exe      | 32| st@C (x86p)
SysInfo.dll           | 32| CPU ̏񋟂 DLL t@C (x86p)
SysInfo.sys           | 32| foCXhCo (NT5.xȍ~p)
SysInfoX64.sys        | 64| foCXhCo (NT5.xȍ~p)
SysInfoNT4.sys        | 32| foCXhCo (NT4p)
SysInfo.vxd           | 32| foCXhCo (9xp)
                     
------------------------------------------------------------------------------
 Rec Pure x64 Edition
------------------------------------------------------------------------------
t@C            |bit| 
----------------------+---+---------------------------------------------------
ReadMeCpuidJ.txt      | - | ReadMe ({)
ReadMeCpuid.txt       | - | ReadMe (p)
CrystalCPUID.txt      | - | CrystalCPUIDx64.exe Ɋւ
HistoryCpuidJ.txt     | - | CrystalCPUIDx64.exe ̍XVi{j
HistoryCpuid.txt      | - | CrystalCPUIDx64.exe ̍XVipj
SysInfo.txt           | - | SysInfoX64.dll Ɋւ
HisrotySysInfoJ.txt   | - | SysInfoX64.dll ̍XVi{j
HisrotySysInfo.txt    | - | SysInfoX64.dll ̍XVipj
CrystalCPUIDx64.exe   | 64| st@C (x64p)
SysInfoX64.dll        | 64| CPU ̏񋟂 DLL t@C (x64p)
SysInfoX64.sys        | 64| foCXhCo(x64p)

------------------------------------------------------------------------------
 gpCu
------------------------------------------------------------------------------
 Microsoft Foundation Classes C++ library (MFC)
 Copyright (C) 1992-1998 Microsoft Corporation

 PCI Debug Library for Win32
 kashiwano masahiro (http://www.otto.to/~kasiwano/)
 Customized by hiyohiyo

 libpng version 1.2.7
 Copyright (c) 1998-2004 Glenn Randers-Pehrson

 Zlib 1.2.1
 Copyright (C) 1995-2003 Jean-loup Gailly and Mark Adler

 Dib Section & libpng wrapper
 Copyright (c) 2000 Chihiro.SAKAMOTO (HyperWorks)

 MatrixStatic
 Copyright (C) 2002 by Nic Wilson  http://www.nicsoft.com.au
 Written by Nic Wilson nicw@bigpond.net.au
 All rights reserved

------------------------------------------------------------------------------
 ȋ@\
------------------------------------------------------------------------------
ENbNg̑
E{ System Clock ̕\
EI[o[NbN̕\ (ꕔ CPU ̂)
ELbV̕\
ET|[gg@\̕\
EFeature Flags ̕\
ECPUID ߂̌ʕ\
EvZX[̕\
E}`vZbTΉ
E擾f[^eLXgŕۑ/Rs[/vr[
Esʂ̃Lv`摜̕ۑ( BMP, PNG )
EIntel EIST/ODCM ΉvZbT̔{/dύX ( ȐӔCŎŝ )
EAMD K6/K7/K8 ̔{/dύX ( ȐӔCŎŝ )
EVIA CyrixIII/C3 ̔{ύX ( ȐӔCŎŝ )
E{ύXpV[gJbg̍쐬
EC_CAÕtHgύX
EwiύX ( BMP, JPEG, GIF, PNG )
EA^CNbN\
EAMD64 Ή
EEM64T(Intel 64) Ή
EׂɉNbNύX@\ ( ȐӔCŎŝ )
@

------------------------------------------------------------------------------
 ^XNgCACR
------------------------------------------------------------------------------
ENbN = C_CAO̕\/\
EENbN = |bvAbvj[̒ʂ

------------------------------------------------------------------------------
 JX^}CY@\ɂ (t@C > JX^}CY)
------------------------------------------------------------------------------
݃T|[gĂJX^}CY@\
Ewi摜̕ύXєwi摜̃O[XP[(t@C{͕̂ύX܂)
EtHgF̕ύX
ELCD F̕ύX (ON/OFF/Grid)
EReal Time Clock ̃NbN@AAőOʕ\
C_CAÕtHgύX
 E tHgύX̓C_CAOč\z܂B
 { tHg̎ށATCYRɐݒł܂!!
 | Bold & Italic ɂΉĂ܂A`悪邱Ƃ܂B

------------------------------------------------------------------------------
 [dv] FSB ύXꍇ̃NbNg̑ɂ
------------------------------------------------------------------------------
@NbNg͊{I QPC pđ肵Ă܂A̋@\ FSB ύX
ꍇύXǑʂԂƂ肪܂(Windows ̎dlł)B
@FSB ύXꍇ́wKxMMT gđsKv܂B

QPC + MMT (QPC  MMT ̗ő) ł

@Clock (MMT gp)  * 0.995 < Clock (QPC gp) < Clock (MMT gp) * 1.005

̏𖞂Ƃ QPC gpđ肵 Clock ԂȀ𖞂Ȃ
ꍇ MMT gpđ肵 Clock Ԃ܂B

------------------------------------------------------------------------------
 NbNg̑ɂ
------------------------------------------------------------------------------
ENbNg̑莞
@F5 QPC + MMT (default)     =  500ms + (500ms) MMT ̏ꍇ덷 }0.2% x
@F6 Windows Timer           = 1000ms + (500ms) 덷͔ɑ傫ł
@F7 Multimedia Timer        = 1000ms + (500ms) 덷 }0.1% x
@F8 QueryPerformanceCounter =  100ms + (500ms) 덷͂ق 0 
@F9 QPC (No Load)           =  100ms             NbN CPU p
@σNbN CPU ̂
@QPC gꍇ͂قƂǌ덷܂B

------------------------------------------------------------------------------
 A^CNbN (Real Time Clock) @\ɂ
------------------------------------------------------------------------------
t@C > JX^}CY > Real Time Clock ̐ݒ

ENo Load ( QPC + MMT ) = ᕉׁBQPC  MMT 𕹗p
ENo Load ( MMT )       = ᕉׁBFSB ύX͂!!
ENo Load ( QPC )       = ᕉׁB
EWith Load ( QPC )     = חLB(ꕔ̃m[gp\Rp)

@NbNmɑłȂꍇ̓JX^}CYɂ With Load (QPC) I
ĂB኱ׂ͑܂ANbNmɑł悤ɂȂ܂B
@A^CNbN_CAÕNCAg̈(NbN\Ă镔
)NbNƃC_CAO̕\/\؂ւ邱Ƃo܂B

------------------------------------------------------------------------------
 IWiNbNI[o[NbNɊւ鐧
------------------------------------------------------------------------------
 ʓI
ENbNg̑肪łȂ CPU (386/486) \tgEFA{擾
@łȂ CPU (Pentium) ł̓IWiNbNI[o[NbN͕\
@܂B
Eꕔ CPU Ĕ{ύXꍇɂ͑ΉĂ܂B{Iɖ{@\
@VXeNbN̕ύXɂ̂ݑΉĂ܂B

 Intel 
EPentium II ̏o[WуGWjAOTvŔ{ύX
@ꍇ͐mȃI[o[NbN擾邱Ƃł܂B
EPentium PRO ł̓VXeNbN 50/60/66 ʂłȂ
@IWiNbNуI[o[NbN͕\܂B

 AMD 
EAthlon (Thunderbird) ȂǃIWiVXeNbN (100/133) 
@vZbTł͐mȏ񂪓ȂƂ܂B

 VIA 
EVIA CyrixIII/C3 Multiplier Ŕ{ύXꍇAI[o[NbN
@\邱ƂɂȂ̂ŁAuIWiNbNƔ{\ȂvIvV
@LɂĂ܂B\Kvꍇ͔{ύX蓮ŕ\ĂB

 ܂Ƃ
Esmȏ񂪕\ꍇ邩Ǝv܂Ȁꍇ͌ł͑Ή
@Ȃ̂قƂǂƎv܂BLv`摜𗘗pۂ́A
@uIWiNbNƔ{\Ȃv@\LɂĂB

------------------------------------------------------------------------------
 Multiplier Management ɂ for Power Users.
------------------------------------------------------------------------------
@̋@\ Intel  EIST/ODCMAAMD  PowerNow!/Cool'n'Quiet  VIA  
LongHaul gāACPU ̓{d CPU ׂɉĕύX܂B[J[
̃hCopłȂ̂߂ɗpӂ܂B
@/HIDE  /CQ IvVtăX^[gAbvɓĂ΁AC_CAO
\邱ƂȂ^XNgCɊi[ꂽԂŋN̂ŁA풓ꍇ
̃IvV!!

Ke{/dɓ삷邱Ƃ炩ߊmFĂĂB

------------------------------------------------------------------------------
 Intel Enhanced SpeedStep Control ɂ for Power Users.
------------------------------------------------------------------------------
 ̋@\ EIST  ODCM ɑΉĂABIOS {ύXɑΉĂKv
邽ߕKSĂ̊œ삷킯ł͂܂B
@܂A̋@\͓dIvV̐ݒ BIOS ̐ݒɂĂ͍ċNt[Y
\܂B
@SẴAvP[VIAuȐӔCvŎsĂB

삷\ CPU ꗗ
EIntel Core (Yonah)
EPentium M (Banias/Dothan)
EPentium 4 6xx (Prescott-2M)
EXeon (Nocona)

------------------------------------------------------------------------------
 AMD K6/K7/K8 Multiplier ɂ for Power Users.
------------------------------------------------------------------------------
@̋@\ PowerNow!  Cool'n'Quiet ɑΉĂABIOS {ύX
ΉĂKv邽ߕKSĂ̊œ삷킯ł͂܂B
BIOS ̃Abvf[gɂĔ{ύXɑΉłꍇ悤Ȃ̂ŁAe
Ă݂ĂB
@܂A̋@\͓dIvV̐ݒ BIOS ̐ݒɂĂ͍ċNt[Y
\܂B
@SẴAvP[VIAuȐӔCvŎsĂB

삷\ CPU ꗗ
K6: K6-2+, K6-III+
K7: Mobile Athlon XP-M, Mobile Athlon 4, Athlon XP (LV), Mobile Duron (Morgan)
K8: Athlon 64 FX, Athlon 64, Mobile(DTR) Athlon 64, (Opteron)

@K6 ł 2.0 - 6.0 {܂őIł܂AK7/K8 ƈقȂd Startup ̔{
擾邱Ƃł܂B

@K7 ł 3.0 - 24.0 {, K8 ł  4.0 - 25.0 {Xg{bNXIł
AvZbT`Ăő{𒴂邱Ƃ͂ł܂B܂AK7 ɂ
Ă͔{̕\\[gĂ܂񂪁A FID ̕тƍ킹Ă
邽߂łBdlƂƂłB

@K7 ł́A݂̔{ƍő{ɂĕύX邱Ƃ\ȏꍇ
AʓI CPUID n\tgł݂͌̔{擾邱Ƃł܂B
CrystalCPUID ł͍ő{擾邱Ƃł邽߁A̐ۂmF邱
ł邩Ǝv܂B܂A(BIOS)Ɉˑ邩Ƃ͎v܂A
Athlon XP -> Mobile Athlon XP-M { ő{ x24.0 ̉{ƂŁAx3.0
 x24.0 ܂ŎRɕύXłƂ񍐂܂B(Thanks HIROSHI )

@K8 ł͔{ύXASystem Clock  200MHz ɋύX邱Ƃ܂B
 CrystalCPUID ̎dlł͂ȂACPU ̎dlłB(炭 BIOS I
200MHz ɂĂ񂾂Ǝv܂)܂ASystem Clock  200MHz ȏɐݒ肵
ԂŁA{ύXsƃ}U[ɂĂ͍ċN邱ƂƂ̕񍐂
܂BAd؂܂ŕύX{͈ێ}U[Ƃ
̂ŁAēx BIOS  System Clock ύXł\͂܂...

@{IɁA{lȏɐݒ肷邱Ƃ͂ł܂BA
Athlon 64 FX-51 ͏{ 11.0 ɑ΂čőݒ\{ 25.0 ƂȂĂ
߃I[o[NbN\łB΂炵!!

...
EAthlon 64 3200+ (200x10.0) => 4.0x - 10.0x
EAthlon 64 FX-51 (200x11.0) => 4.0x - 25.0x(!!)
EMobile Athlon XP-M 1500+ (133x10.0) => 3.0x - 10.0x

------------------------------------------------------------------------------
    | Current FID | Startup FID | Max FID | Currnet VID | Start VID | Max VID 
----+-------------+-------------+---------+-------------+-----------+---------
 K6 |      OK     |      NG     |    OK   |      NG     |     NG    |    NG   
 K7 |      OK     |      OK     |    OK   |      OK     |     OK    |    OK   
 K8 |      OK     |      OK     |    OK   |      OK     |     OK    |    OK   
------------------------------------------------------------------------------

for K8
Core Voltage = Base Voltage (0.800V - 1.550V)
             + RVO1 (0.000V - 0.175V)
             + RVO2 (0.000V - 0.075V)
            => 0.800V - 1.800V

for K8 Low Voltage (*)
 Core Voltage = Base Voltage (0.700V - 1.450V)
              + RVO1 (0.000V - 0.175V)
              + RVO2 (0.000V - 0.075V)
             => 0.700V - 1.800V

 - RVO = Ramp Voltage Offset
 - RVO1/2 remains as it is. (Q^͂ĂȂ̂ł̂܂܂̂͂)

  K8 ł͓dύX邱Ƃ\łA}U[{[hɂĂ͓dQ^@\
LɂȂĂ邽 0.000 - 0.250V xقȂꍇ܂BΓIȊ֌W
ێĂƎv̂ŁAe]œd⊮ĂB

(*) K8 Low Voltage Table gp邽߂ɂ́A/K8LV IvV邩A
CrystalCPUID.ini  K8LowVoltage=1 ƂĂB

  Desktop Ń}U[ Mobile Athlon XP-M (Ŋ܂) 𓋍ڂꍇ
/K7D IvVt邩 CrystalCPUID.ini  K7DesktopVoltage=1 ƂĂB

------------------------------------------------------------------------------
 VIA CyrixIII/C3 Multiplier ɂ for Power Users.
------------------------------------------------------------------------------
@BIOS ZbgAbvj[Ŕ{ύXɑΉĂȂ}U[{[hł{ύX
ł\܂B
( ASUS CUSL2 [1006A] + Ezra 133x6.5  Samuel 2 133x5.5 ŊmFς)
@w肵{ƈقȂ{ɕύX\܂B\ʍ{ɂȂ
\邽߂ӂB炩 FSB66MHz ŕύX̔{mFĂ
̂悢ł傤B

 - Samuel / Samuel 2 Stepping 0
   3.0x - 8.0x
 - Samuel 2 Stepping 1 or later / Ezra
   3.0x - 12.0x
 - Ezra-T
   3.0x - 16.0x
 - Nehemiah
   4.0x - 16.0x

------------------------------------------------------------------------------
 R}hCIvV
------------------------------------------------------------------------------


/Q    = N PNG `ŉ摜ۑ܂B(temp.png)
/S    = N TEXT `ŕۑ܂B(temp.txt)
/Pxx  = 擾 CPU I܂B(xx  CPU ԍ 1-32)
/R    = N Real Time Clock _CAO\܂B
/E    = /Q, /S, /F, /V, /P セ̂܂܏I܂B

/CQ   = Multiplier Management (JR[h:Crystal'n'Quiet) Lɂ܂B
/HIDE = C_CAO\ɋN܂B
/RESI = (풓) ^XNgCACR̂ݏIł悤ɂȂ܂B

/K7D  = K7 fXNgbvde[u𗘗p(ftHg̓oCde[u)
/K8LV = K8 de[u𗘗p

/VT310DP = VIA VT-310DP pIvVłB
           pCvCݒύXA{̉Z\߂Ƃ\łB

K7/K8/CyrixIII/C3 p
/Fxx  = {ύX (xx  FID, 0-15/31)
K7/K8 p
/Vxx  = dύX (xx  VID, 0-15)

 .
EK7  11.0x ɕύXƏI
  C:\CrystalMark.exe /F0 /P1 /E

EK8  5.5x ɕύXƋN
  C:\CrystalMark.exe /F3 /P1

EK7  10.0x & 1.100V ɕύXƏI
  C:\CrystalCPUID.exe /F14 V23 /P1 /E

EvZbT 2 ̏ Text/Image ŕۑƋN
   C:\CrystalCPUID.exe /S /Q /P2

 ini t@C(ݒt@C)̑I
 /INI=(FileName)
 . 
   /INI=hiyohiyo.ini
   /INI=C:\test\hiyohiyo.ini

ftHgt@C CrystalCPUID.ini łB

------------------------------------------------------------------------------
 {ύX̏ڍ׏ for K7/K8
------------------------------------------------------------------------------

K6 ̔{e[u (K6-2+/III+)
   4.5,  5.0,  4.0,  5.5,  2.0,  3.0,  6.0,  3.5

K7 ̔{e[u

  11.0, 11.5, 12.0, 12.5,  5.0,  5.5,  6.0,  6.5,
   7.0,  7.5,  8.0,  8.5,  9.0,  9.5, 10.0, 10.5,
   3.0, 19.0,  4.0, 20.0, 13.0, 13.5, 14.0, 21.0,
  15.0, 22.0, 16.0, 16.5, 17.0, 18.0, 23.0, 24.0,

 .
 - FID =  0 => 11.0x
 - FID = 23 => 21.0x

K8 ̔{

 Multiplier = FID / 2.0 + 4.0

 .
 - FID =  7 =>  7.5x (  7 / 2.0 + 4.0 )
 - FID = 20 => 14.0x ( 20 / 2.0 + 4.0 )

------------------------------------------------------------------------------
 dύX̏ڍ׏ for K7/K8
------------------------------------------------------------------------------

Mobile K7 ̓de[u (ftHg)

  2.000, 1.950, 1.900, 1.850, 1.800, 1.750, 1.700, 1.650,
  1.600, 1.550, 1.500, 1.450, 1.400, 1.350, 1.300,     0,
  1.275, 1.250, 1.225, 1.200, 1.175, 1.150, 1.125, 1.100,
  1.075, 1.050, 1.025, 1.000, 0.975, 0.950, 0.925,     0,

Desktop K7 ̓de[u (/K7D IvV CrystalCPUID.ini ҏW)

  1.850, 1.825, 1.800, 1.775, 1.750, 1.725, 1.700, 1.675,
  1.650, 1.625, 1.600, 1.575, 1.550, 1.525, 1.500, 1.475,
  1.450, 1.425, 1.400, 1.375, 1.350, 1.325, 1.300, 1.275,
  1.250, 1.225, 1.200, 1.175, 1.150, 1.125, 1.100,     0,

K8 ̓d

  Base Voltage = 1.550 - VID * 0.025

K8 [LV] ̓d

  Base Voltage = 1.450 - VID * 0.025

------------------------------------------------------------------------------
 o[W
------------------------------------------------------------------------------
Eڍׂ CrystalCPUID.txt / SysInfo.txt QƂĂB

  CrystalCPUID ̃o[WK

    (Major).(Minor).(Revision).(SysInfo ̃o[W)

  ƂȂĂ܂B

