------------------------------------------------------------------------------
         Name : SysInfo.dll    + SysInfo.sys, SysInfoNT4.sys, SysInfo.vxd
                SysInfoX64.dll + SysInfoX64.sys
      Version : Release 298
    Developer : hiyohiyo (Crystal Dew World)
         Mail : hiyohiyo@crystalmark.info
          Web : Crystal Dew World (http://crystalmark.info/)
  Environment : Windows Vista/2003/XP/2000/NT4/Me/98/95 [x86/x64]
      Licence : Freeware (Use only for personal or nonprofit.)
       Update : 2006/4/16
------------------------------------------------------------------------------

[Special Thanks]
 To
 Fab51 [ ita ] (http://fab51.com/)
 CCPUID [ Cappuccino ] (http://www.cafe-au-lait.info/)
 CPU-Z [ Franck Delattre ] (http://www.cpuid.com/)
 SysID [ Morf ] (http://home20.inet.tele.dk/sysid/)
 WCPUID [ H.Oda! ] (http://www.h-oda.com/)
 CPUMSR [ Petr Koc ] (http://www.cpuheat.wz.cz/)

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

[ Reference ]
 sandpile.org (http://sandpile.org/)
 Linux PCI ID's Project (http://pciids.sf.net/)
 PCIDatabase.com (http://www.pcidatabase.com/)
 The BalusC Server (http://balusc.xs4all.nl/)

- in English [ Update Information ] -----------------------------------------

<R298 2006/4/16>
- Support Mobile Sempron LV (Roma)

<R297 2006/4/12>
- Fix Mobile Athlon XP-M (Dublin) support (thanks Devid)

<R296 2006/4/11>
- Fix Xeon (Sossaman)
- Support VIA C7
- Support Celeron M (Yonah)
- Support Intel Core (Conroe/Merom)
- Support Xeon (Woodcrest)
- Update Database

<R295 2006/3/31>
- Fix Intel Core support
- Fix CPUID function (ECX=0)
- Update Database

<R294 2006/3/28>
- Support Xeon (Sossaman)
- Update Database
- Change Compile Option /O1 -> /Od (x86 edition only)

<R293 2006/3/14>
- Fix Intel Core support
- Fix Clock measurement on EIST
- Fix Coppermine support

<R292 2006/3/9>
- Fix Intel Core support
- Fix Clock measurement on EIST
- Update Database

<R291 2006/2/21>
- fix OS mode detection

<R290 2006/2/16>
- Update Database

<R289 2006/2/3>
- Update Database

<R288 2006/1/15>
- Update Database

<R287 2006/1/4>
- Update Database

<R286 2006/1/3>
- Update Database

<R285 2005/12/8>
- Improve Athlon 64 support

<R284 2005/12/4>
- Bug Fix

<R283 2005/12/3>
- Fix Old Opteron support

<R282 2005/11/30>
- Support Athlon 64 FX-60

<R281 2005/11/27>
- Support Intel Core Solo/Duo (Yonah SC/DC)
- Update Database

<R280 2005/11/26>
- Support VT

<R279 2005/11/18>
- Support Opteron (Venus/Troy/Athens)

<R278 2005/11/13>
- Fix Crystal'n'Quiet
- Update Database

<R277 2005/10/23>
- Fix Athlon 64 X2 support (Manchester)
- Update Database

<R276 2005/10/16>
- Support Xeon (Paxville/Paxville DP)
- Support Physical Core for Pentium D/XE

<R275 2005/10/10>
- Update Database
- Fix Old CPUs Support
- Support Die Size & Number of Transister for K6/K7/P5/P6/P4/PM/VIA (Beta)

<R274 2005/10/5>
- Update Database
- Support Die Size & Number of Transister for K8 (Beta)

<R273 2005/9/25>
- Support K8 Model Number (Beta)

<R272 2005/9/24>
- Fix Athlon 64 X2 support (Toledo/Manchester)

<R271 2005/9/19>
- Support Dual C3
- Fix device driver
- Fix Processor Mask on SetThreadAffinityMask
- Update Database

<R270 2005/9/1>
- Add device driver for NT4 

<R269 2005/8/27>
- Fix Transmeta Feature Flags information
- Update Database

<R268 2005/8/17>
- Improve Athlon 64 X2 support 

<R267 2005/8/10>
- Improve Turion 64 (Lancaster) support

<R266 2005/8/6>
- Support Sempron E6 Core

<R265 2005/7/29>
- Fix Xeon support
- Update Database

<R264 2005/7/24>
- Update Database

<R263 2005/7/16>
- Fix Pentium XE/D (Smithfield) support
- Update Database

<R262 2005/7/12>
- Fix Pentium XE/D (Smithfield) support

<R261 2005/6/26>
- Fix Pentium XE/D (Smithfield) support
- Update Database

<R260 2005/6/23>
- Improve Dual Core support
- Fix Pentium XE (Dual Core + HTT) support

<R259 2005/6/22>
- Support Athlon 64 X2 (Manchester)

<R258 2005/6/19>
- Improve PCI Device search function (Bus 0-7 -> 0-255)
- Support Sempron (Victoria)
- Update Database

<R257 2005/6/10>
- Improve Intel CPU support

<R256 2005/5/30>
- Bug Fix

<R255 2005/5/29>
- Fix Pentium XE/D (Smithfield) support
- Update Database

<R254 2005/5/28>
- Support C7 (Esther)

<R253 2005/5/22>
- Support Turion 64 (Lancaster)
- Update Database

<R252 2005/5/6>
- Support Number of Physical Core
- Update Database

<R251 2005/5/2>
- Support Pentium XE
- Fix SpeedStep Control for Pentium 4 6xx

<R250 2005/4/26>
- Support Opteron Dual-Core / Athlon 64 X2
- Improve K6/K7/K8 Multiplier

<R249 2005/4/18>
- Update Database

<R248 2005/4/10>
- Fix Celeron D support

<R247 2005/4/1>
- Support Pentium M (Yonah)

<R246 2005/3/27>
- Update Database
- Fix nForce4 support

<R245 2005/3/26>
- Fix Pentium 4 6xx

<R244 2005/3/18>
- Support AMD Athlon 64 (Venice)

<R243 2005/3/13>
- Fix Pentium M(FSB533MHz)
- Update Database

<R242 2005/3/10>
- Support Athlon 64 FX (San Diego)
- Support Athlon 64 (San Diego)
- Support Athlon 64 (SledgeHammer) for Socket 939
- Fix Pentium II OverDrive for Socket 8

<R241 2005/3/7>
- Support Pentium 4 XE (Prescott-2M)
- Support Mobile Turion 64 (Lancaster)
- Fix ModelEx for AMD

<R240 2005/2/17>
- Fix Intel Pentium M (Banias/Dothan) Multiplier

<R239 2005/2/15>
- Fix Intel Pentium M (Banias/Dothan) Multiplier

<R238 2005/2/14>
- Fix Intel Pentium M (Dothan) Multiplier
- Fix Intel Celeron M Cache Information

<R237 2005/2/13>
- Add Intel Pentium M (Dothan) Multiplier

<R236 2005/2/8>
- Improve Support Pentium M (FSB 533MHz)

<R235 2005/2/3>
- Support Pentium M (FSB 533MHz)

<R234 2005/1/26>
- Fix FamilyEx & ModelEx information

<R233 2005/1/21>
- Support AMD Turion 64

<R232 2005/1/11>
- Improve Load Device Driver Method

<R231 2005/1/9>
- Improve Load Device Driver Method
- Improve Detect Host Bridge for nForce4

<R230 2005/1/8>
- Support New MSR Access Method!!(More Safety, NT only)
- Fix FamilyEx & ModelEx information

<R229 2004/12/24>
- Fix K6-2+/III+ Multiplier Management

<R228 2004/12/23>
- Support K6-2+/III+ Multiplier Management
- Update Database

<R227Alpha 2004/12/22>
- Support K6-2+/III+ Multiplier, but this feature doesn't work...

<R226 2004/12/8>
- Multiplier Management & K7/K8 Multiplier support Dual Opteron
(BIOS support required)

<R225 2004/12/6>
Special Thanks Cappuccino
- Support Xeon (Irwindale)
- Support Xeon MP (Cranford)
- Improve FSB=1066MHz
- Support FSB=667MHz
- Intel Family==0xF && Model==5 => Pentium 5 ???

<R224 2004/11/26>
- detect x64 or x86

<R223 2004/11/25>
- Support 32bit DLL + 64bit Driver

<R222 2004/11/13>
- Improve Multiplier Management Supprot

<R221 2004/11/13>
- Fix TM8300 Support
- Update Database

<R220 2004/11/6>
- export ReadMSR, WriteMSR function

<R219 2004/11/3>
- Fix FSB 1066MHz (Pentium 4 XE) support

<R218 2004/10/31>
- Support FSB 1066MHz (Pentium 4 XE)
- Improve SpeedStep support
- Update Database

<R217 2004/10/28>
- Support Pentium III (Tualatin) BrandID 3 [OEM]

<R216 2004/10/26>
- Support Pentium 4 Prescott E0 Stepping

<R215 2004/10/24>
- Support Athlon 64 (Winchester) 90nm

<R214 2004/10/22>
- Fix Celeron D support

<R213 2004/10/19>
- Bug Fix

<R212 2004/10/14>
- Improve changing multiplier on nForce2???
-> http://www20.tomshardware.com/cpu/20041001/athlon-underclocking-08.html

<R211 2004/10/12>
- Support Celeron D with NX

<R210 2004/10/3>
- Update Database

<R209 2004/10/1>
- Bug Fix

<R208 2004/9/30>
- Improve Sempron support

<R207 2004/9/26>
- Bug Fix
- Update database

<R206 2004/9/26>
- Support AMD's 90nm processor, may be...

<R205 2004/9/25>
- Bug Fix

<R204 2004/9/20>
- Support low voltage Xeon (Nocona)

<R203 2004/9/18>
- Improve Sempron support

<R202 2004/9/18>
- Fix TM8800 process rule
- Support Mobile Athlon XP-M Family 15 (NewCastle)
- Support Sempron 3000+ (Barton)
- Provisional Support C7 (Esther)

<R201 2004/9/12>
- Support TM8800
- Support PCI/DMI information on x64
- x86-64 -> x64

<R200 2004/9/5>
- Fix about loading NT driver

<R195-199 missing number>

<R194 2004/8/29>
- Update database

- in Japanese [ 更新履歴 / 開発日記 ] ---------------------------------------

<R298 2006/4/16>
・Mobile Sempron LV (Roma) をサポート

<R297 2006/4/12>
・Mobile Athlon XP-M (Dublin) の判定基準のバグを修正 (thanks Devid)

<R296 2006/4/11>
・Xeon (Sossaman) を誤判定する不具合を修正
・VIA C7 (Esther) をサポート
・Celeron M (Yonah) をサポート
・Intel Core (Conroe/Merom) をサポート
・Xeon (Woodcrest) をサポート
・データベース更新

<R295 2006/3/31>
・Intel Core のオリジナルクロック関連情報を正常に取得できない不具合を修正
・データベース更新
・CPUID に関する関数を修正 (ECX=0)

<R294 2006/3/28>
・Xeon (Sossaman) をサポート
・データベース更新
→ Intel の最新チップセットや ATI/NVIDIA の最新ビデオチップ等
・一部の環境で正常に動作しないとの報告があったためコンパイルオプションを変更
　/O1 -> /Od (x86版のみ) (thanks DULL 氏)

<R293 2006/3/14>
・EIST 環境でクロック周波数が正確に取得できない不具合を修正
・Coppermine で Socket 370 と Slot 1 を正常に判定できない不具合を修正

<R292 2006/3/9>
・Intel Core の動作モードを SDR としていた不具合を修正
・EIST 環境でクロック周波数が正確に取得できない不具合を修正
・データベース更新

<R291 2006/2/21>
・一部の環境(エミュレータ等)で OS タイプを x64 と誤判定する不具合を修正

<R290 2006/2/16>
・データベース更新

<R289 2006/2/3>
・データベース更新

<R288 2006/1/15>
・データベース更新

<R287 2006/1/4>
・データベース更新
・NVIDIA チップセットの判定部分を改良

<R286 2006/1/3>
・データベース更新

<R285 2005/12/8>
・Model 3Fh な Athlon 64 を NewCastle とする不具合を修正
⇒でも、コア名が不明なため空白表示

<R284 2005/12/4>
・R283 で発生した K8 の倍率変更時に高負荷状態に陥る不具合を修正

<R283 2005/12/3>
・初期の Opteron を誤判定する不具合を修正 (Brand ID周り)

<R282 2005/11/30>
・Athlon 64 FX-60 に対応

<R281 2005/11/27>
・Intel Core Solo/Duo (Yonah SC/DC) に対応
・データベース更新

<R280 2005/11/26>
・VT に対応

<R279 2005/11/18>
・Opteron (Venus/Troy/Athens) に対応

<R278 2005/11/13>
・Crystal'n'Quiet 使用時に負荷が100%になることがある不具合を修正
・データベース更新

<R277 2005/10/23>
・Athlon 64 X2 (Manchester) を誤判定する不具合を修正
・データベース更新

<R276 2005/10/16>
・Xeon (Paxville/Paxville DP) に対応
・Pentium D/XE の物理コア数取得に対応

<R275 2005/10/10>
・データベース更新
・Pentium、Pentium PRO など古い CPU のプロセスルール情報を修正
・ダイサイズとトランジスタ数に対応 K6/K7/P5/P6/P4/PM/VIA (Beta)

<R274 2005/10/5>
・データベース更新
・ダイサイズとトランジスタ数に対応 K8 のみ (Beta)

<R273 2005/9/25>
・K8 Model Number をサポート

<R272 2005/9/24>
・Athlon 64 X2 で Toledo/Manchester を誤判定する不具合を修正

<R271 2005/9/19>
・一部の CPU においてオリジナルクロックを誤認識する不具合を修正
・デバイスドライバを修正(IOアクセス周り)
・Dual C3 環境の倍率変更に対応 (動くかどうかわかんないけど)
・スレッド制御部分の不具合を修正(SetThreadAffinityMask)
・データベース更新

<R270 2005/9/1>
・NT4でドライバがロードできなくなっていたので、NT4専用ドライバを添付
→以前(R230)例外処理を追加したときから・・・ (thanks GabGab 氏)

<R269 2005/8/27>
・Transmeta の Feature Flag が正常に表示されない不具合を修正
・データベース更新

<R268 2005/8/17>
・Athlon 64 X2 で倍率/電圧変更命令を一度だけ行うように変更。

<R267 2005/8/10>
・Turion 64 (Lancaster) のサポート強化

<R266 2005/8/6>
・Sempron E6 Core をサポート

<R265 2005/7/29>
・Xeon を誤判定してしまう不具合を修正

<R264 2005/7/24>
・データベース更新

<R263 2005/7/16>
・Pentium XE/D (Smithfield) を誤認識する不具合を修正
・データベース更新

<R262 2005/7/12>
・Pentium XE/D (Smithfield) を誤認識する不具合を修正

<R261 2005/6/26>
・Pentium XE/D (Smithfield) で HTT の表示がおかしい不具合を修正
・データベース更新

<R260 2005/6/23>
・Dual Core への対応を強化
・Pentium XE (Dual Core + HTT) への対応改善

<R259 2005/6/22>
・Athlon 64 X2 (Manchester) のサポート

<R258 2005/6/19>
・PCI Device 探索機能の強化 (Bus 0-7 -> 0-255)
・Sempron (Victoria) サポート
・データベース更新

<R257 2005/6/10>
・Intel CPU のサポートを強化

<R256 2005/5/30>
・Dual Xeon (HT付) 環境を Pentium XE (Smithfield) と誤判定する不具合を修正

<R255 2005/5/29>
・Pentium XE/D (Smithfield) の情報が正常に表示されない不具合を修正
・データベース更新

<R254 2005/5/28>
・C7 (Esther) をサポート

<R253 2005/5/22>
・Turion 64 (Lancaster) をサポート
・データベース更新

<R252 2005/5/6>
・物理コア数に対応
・データベース更新

<R251 2005/5/2>
・Pentium XE をサポート
・Pentium 4 6xx 用 SpeedStep Control の電圧表示を修正

<R250 2005/4/26>
・Opteron Dual-Core/Athlon 64 X2 を暫定サポート
・K6/K7/K8 Multiplier の互換性強化

<R249 2005/4/18>
・データベース更新
・ドライバのロードに失敗した際のエラーメッセージを復活

<R248 2005/4/10>
・Celeron D を Xeon と誤判定することがある不具合を修正

<R247 2005/4/1>
・Pentium M (Yonah) を暫定サポート

<R246 2005/3/27>
・データベース更新
・nForce4 を識別できない不具合を修正

<R245 2005/3/26>
・Pentium 4 6xx を Pentium 4 XE と誤認識する不具合を修正

<R244 2005/3/18>
・AMD Athlon 64 (Venice) サポート

<R243 2005/3/13>
・Pentium M(FSB533MHz) で FSB が正常に取得できない不具合を修正
・データベース更新

<R242 2005/3/10>
・Athlon 64 FX (San Diego) サポート
・Athlon 64 (San Diego) サポート
・Athlon 64 (SledgeHammer) for Socket 939 サポート
・Pentium II OverDrive for Socket 8 に対応 (thanks 高山氏)

<R241 2005/3/7>
・Pentium 4 XE (Prescott-2M) サポート
・Mobile Turion 64 (Lancaster) サポート
・AMD 用拡張 Model 情報の表示条件を変更

<R240 2005/2/17>
・Pentium M (Banias/Dothan) 用の倍率＆電圧変更機能の修正

<R239 2005/2/15>
・Pentium M (Banias/Dothan) 用の倍率＆電圧変更機能の修正

<R238 2005/2/14>
・Pentium M (Dothan) 用の倍率＆電圧変更機能の修正

<R237 2005/2/13>
・Pentium M (Dothan) 用の倍率＆電圧変更機能のテスト開始
※一応 Banias でも実行できるようにしておきましたが、ちゃんと動くのは Dothan のみ
かと思われます。って Dothan もちゃんと動いてくれるかわかりませんが。

<R236 2005/2/8>
・Pentium M (FSB 533MHz) の暫定サポートを強化
→ 2.0, 2.4, 2.8GHz に関しては FSB を変更すると誤認識することがあります。

<R235 2005/2/3>
・Pentium M (FSB 533MHz) の暫定サポート一部オリジナル倍率が正常に表示できない
　可能性あります。
・C3/Cyrix III で倍率変更ができなくなっていた不具合を修正
→ SysInfo.sys 内部の HALT 命令がコメントアウトされていたため。

<R234 2005/1/26>
・FamilyEx と ModelEx が正常に表示されないことがある不具合を再度修正

<R233 2005/1/21>
・AMD Turion 64 を暫定サポート

<R232 2005/1/11>
・デバイスドライバの読み込み時にリトライ方法を変更
→これでちゃんと読み込めるはず

<R231 2005/1/9>
・デバイスドライバの読み込み時にリトライ機能を追加(8回まで)
・Host Bridge 判定方法を変更 (nForce4 対策) Bus:0, Dev:0, Func:0 を調査

<R230 2005/1/8>
・MSR アクセス時にブルースクリーンしないよう例外処理を追加 (thanks 毛流麦花 氏)
→ NT のみ... 9x では青画面になります(復帰できますが...)
・FamilyEx と ModelEx が正常に表示されないことがある不具合を修正

<R229 2004/12/24>
・K6-2+/III+ 用の倍率変更機能の不具合を修正

<R228 2004/12/23>
・K6-2+/III+ 用の倍率変更機能に正式対応
・データベース更新

<R227Alpha 2004/12/22>
・K6-2+/III+ 用の倍率変更に対応したつもり
→でも多分動かないと思います・・・。

<R226 2004/12/8>
・Multiplier Management & K7/K8 Multiplier を Dual Opteron に対応させたつもり
→ Opteron で倍率＆電圧を変更するためには BIOS のサポートが必要です

<R225 2004/12/6>
★Cappuccino 氏による非公式パッチをマージ
・Xeon (Irwindale) に対応 
・Xeon MP (Cranford) に対応
・IntelCPUのオリジナルFSB=1066MHzの判定基準を変更
・オリジナルFSB=667MHzのXeonに対応
・Intel Family==0xF && Model==5 をPentium 5 ??? として判定するように変更

<R224 2004/11/26>
・アーキテクチャの識別機能を調整 (x64 か x86)

<R223 2004/11/25>
・32bit DLL から 64bit ドライバを呼び出せるようにし、SysInfoX64.dll を廃止

<R222 2004/11/13>
・Dual 環境における Multiplier Management の互換性強化

<R221 2004/11/13>
・TM8300 を誤判定する不具合を修正
・データベース更新

<R220 2004/11/6>
・ReadMSR, WriteMSR 関数をエクスポート
→ CrystalCPUID 4.0.2 で搭載した MSR Editor 用

<R219 2004/11/3>
・FSB 1066MHz (Pentium 4 XE) でオリジナルクロックが正常に表示されない問題を修正
→ 暫定対応… Intel のドキュメントが更新されないと完全対応は難しいかも。

<R218 2004/10/31>
・FSB 1066MHz (Pentium 4 XE) のサポート
・SpeedStep 判別機能を修正 (thanks Cappuccino 氏)
・データベース更新

<R217 2004/10/28>
・OEM 専用の Pentium III (Tualatin) BrandID 3 に対応

<R216 2004/10/26>
・Pentium 4 Prescott E0 Stepping をサポート (Model 5)

<R215 2004/10/24>
・Athlon 64 (Winchester) のプロセスルールを 0.13μmと表示する不具合を修正

<R214 2004/10/22>
・Celeron D (Prescott-256K) を Pentium 4 (Prescott) と誤認識する不具合を修正

<R213 2004/10/19>
・一部の Athlon 64 において Athlon64Athlon64 と名前が表示される不具合を修正
→ 恥ずかしい(>_<)
特に・・・ http://pc.watch.impress.co.jp/docs/2004/1019/tawada32.htm

<R212 2004/10/14>
・nForce2 で倍率変更機能が一部のマザーで使えるようになったかも知れない。
→ http://www20.tomshardware.com/cpu/20041001/athlon-underclocking-08.html

<R211 2004/10/12>
・Celron D with NX に対応 (thaks 大箸氏)

<R210 2004/10/3>
・データベース更新
・Intel、AMD ともに ModelEx に拡張 Model 情報を表示するように変更した。

<R209 2004/10/1>
・Pentium 4 HT (Prescott) を Xeon (Nocona) と誤判定することがある不具合を修正

<R208 2004/9/30>
・Sempron の判別機能を調整

<R207 2004/9/26>
・R206 に Hammer 系の名前設定部分に問題があったので修正 (Thanks FoxFire 氏)
・データベース更新

<R206 2004/9/26>
・AMD の 90nm プロセッサに多分対応
・AMD の Extended Family/Model に関する対応強化
・AMD の BrandID に関する対応強化

<R205 2004/9/25>
・Model が C と E の Athlon 64 を Socket 939 と誤判定してしまうようになって
いたのを修正

<R204 2004/9/20>
・低電圧版 Xeon (Nocona) をサポート (thanks Raynyan 氏)

<R203 2004/9/18>
・Sempron の判定方法を修正

<R202 2004/9/18>
・TM8800 のプロセスルール情報が間違っていたので修正
・C7 (Esther) に暫定対応
・Mobile Athlon XP-M Family 15 (NewCastle) に対応
・Sempron 3000+ (Barton) に対応

<R201 2004/9/12>
・TM8800 の識別に対応
・64bit 環境でPCIデバイスやDMI情報を取得できるようにしました。
・x86-64 から x64 に表記を変更

<R200 2004/9/5>
・To 氏のおかげで複数プロセスからドライバを制限なく使えるようになりました。
→ ほんと長いこと悩んでいた問題がついに解消!!

<R195-199 欠番>
・長年の悩みが解消されたたためジャンプアップ

<R194 2004/8/29>
・データベース更新

<R193 2004/8/22>
・C3 の一部で L2Cache が表示されない不具合を修正
・K7 版 Sempron のオリジナルクロックが 133MHz となる不具合を修正
・データベース更新

<R192 2004/8/18>
・Socket 478 を LGA775 と一部誤認識するようになっていた不具合を修正

<R191 2004/8/11>
・データベース更新

<R190 2004/8/3>
・データベース更新
・E7210 と 875P の識別に対応

<R189 2004/7/29>
・改造によって生み出される？ Mobile Athlon XP-M (Thorton) に対応

<R188 2004/7/29>
・Socket 754/A 版の Sempron に多分対応
・LGA775 (Socket T) -> LGA755 に表記変更

<R187 2004/7/25>
・データベース更新
→ XGI Vorari をはじめ多数のデバイスに対応(久しぶり...)

<R186 2004/7/14>
・NX 対応強化

<R185 2004/7/8>
・Socket T (LGA775) → LGA775 (Socket T) に表記変更
・データベース更新

<R184 2004/7/1>
・Socket 775 → Socket T (LGA775) に表記変更
・データベース更新

<R183 2004/6/30>
・Xeon (Nocona) への対応強化
→ まさか SpeedStep が有効になるとは・・・。
・データベース更新

<R182 2004/6/22>
・Socket 775 を識別できない不具合を修正
・データベース更新
・最新デバイスに多数対応

<R181 2004/6/20>
・x64 対応

<R180 2004/6/13>
・データベース更新

<R179 2004/6/10>
・Sempron (Paris) に対応
・EM64T の検出に対応 (thanks Cappuccino 氏)
・AMD64 関連の対応強化 (thanks Cappuccino 氏)

<R178 2004/6/7>
・Pentium M (Dothan) の識別にまだ問題があったため修正 (thanks 大箸氏)

<R177 2004/6/7>
・Pentium M (Dothan) の Model は 0xC ではなく 0xD であるとのこと。急遽修正
　(thanks 大箸氏)

<R176 2004/6/4>
・新コア Prescott に一部対応
→ EM64T の検出は未対応(フラグの位置がまだわかりません)

<R175 2004/6/2>
・Socket 939 用の Athlon 64 FX のコードネームを誤判定する不具合を修正

<R174 2004/5/29>
・データベース更新

<R173 2004/5/16>
・Pentium M/Celeron M の対応ソケットを Socket 478 から Socket 479 に修正
・Celeron M (Dothan-1024K) に対応
・データベースを更新

<R172 --------->
・171 リリース時に誤って 172 としていたので「欠番」となりました。

<R171 2004/5/13>
・Pentium M 755 のオリジナルクロックが正しく取得できない不具合を修正

<R170Beta 2004/5/8>
・Dual K7 環境で二つ目のプロセッサの倍率を変更する前に 3000ms のウェイトを用意
→ Multiplier Management は使えません!! これから調整予定

<R169 2004/5/8>
・データベース更新

<R168Beta 2004/5/1>
・Pentium M (Dothan) のオリジナル倍率取得に多分対応
・C3 の倍率変更部分を修正

<R167Beta 2004/4/28>
・C3 の倍率変更部分を修正
→ 安定度が上がると良いのですが...

<R166 2004/4/22>
・データベース更新
・ソースコード内コメントの微調整(著作権表記等)

<R165 2004/3/31>
・データベース更新

<R164 2004/3/27>
・PCR がセットされていないときのみセットするように変更

<R163 2004/3/27>
・PCI Configuration Register を変更するタイミングを倍率変更の直前に変更
・倍率変更のたびにレジスタを設定するようにしました

<R162 2004/3/25>
・AMD 760 系で変更すべきレジスタがずれていた不具合を修正

<R161 2004/3/25>
・KT133 系で変更すべきレジスタがずれていた不具合を修正

<R160 2004/3/24>
・AMD-761 の Device ID を追加

<R159 2004/3/24>
・KT133 系の倍率変更に対応

<R158 2004/3/24>
・AMD 760 系の倍率変更に対応
・K7 デュアル環境では両方同時に倍率変更命令を送るように変更

<R157 2004/3/17>
・Tualatin の倍率テーブルを修正 (thanks ぶっちー 氏)
・CpuInfoX86-64.exe の高速化
・データベース更新

<R156 2004/3/16>
・Desktop 用電圧設定にした際、リフレッシュ後 Mobile 用電圧表示に戻る不具合を修正
・SpeedStep への対応強化(Tualatin のみ)
・Coppermine Slot 1 を識別できない不具合を修正

<R155 2004/3/15>
・AMD64/IA-32e 用のドライバの名前を間違っているという致命的な不具合を修正

<R154 2004/3/10>
・K7 デスクトップ版の電圧表示のサポート

<R153 2004/3/9>
・CG リビジョンと Newcastle(??) のドキュメントが出ていたので対応。

にしても CPUID FF0h とは思い切ったことをしてくれるのぉ〜 > Newcastle 
いよいよ Extended Family の出番か!?

<R152 2004/3/7>
・DTR Athlon 64 でオリジナルクロックが 4 倍となる問題を修正 (thanks 大箸 氏)

<R151 2004/3/2>
・Mobile 化改造を行った Athlon XP のオリジナルシステムクロックを誤判定する問題
　を一部解消(thanks ita 氏)

<R150 2004/2/29>
・Rise 系 CPU を誤判定してしまう不具合を修正 (thanks くにしこ 氏)
・データベース更新

<R149 2004/2/22>
・IA-32e に対応
・AMD64, IA-32e の総称として x86-64 を使用
・CpuInfoAMD64.exe/sys を CpuInfoX86-64.exe/sys に変更
・動作倍率の情報を更新できないことがある不具合を修正

<R148 2004/2/16>
・K7/K8 Multiplier における電圧変更時の不具合を修正 (thanks tsukasam 氏)

<R147Beta 2004/2/16>
・K7/K8 Multiplier において電圧を変更する際一段階ずつ変化させるようにした。

<R146 2004/2/16>
・ProcessorSerial 関連の不具合を修正
・Socket 情報の整理
・データベース更新
・新チップセット＆ビデオチップセットに多数対応(たまには対応作業しないと...)

<R145 2004/2/12>
・Pentium 4 (Prescott) を Pentium 4 HT (Prescott) と誤認識する不具合を修正

<R144 2004/2/11>
・Mobile Celeron (Northwood-256K) を誤判定する不具合を修正
・改造 Pentium 4 に対応
・データベース更新

<R143 2004/2/8>
・Athlon MP の識別力を強化
・Athlon MP (Barton) の Original System Clock を 133MHz に修正

<R142 2004/2/5>
・Socket / Slot 識別関連の不具合を修正

<R141 2004/2/4>
・次世代 Pentium / Xeon コードネームに対応 ( Nocona, Tejas ... )
・次世代 K8 コードネームに対応 ( San Diego, Athens, Troy, Venus ... )
・Prescott のキャッシュ情報に対応
・Socket / Slot 識別関連の不具合を修正

<R140 2004/2/3>
・Prescott の L1Data Cache サイズが表示されない問題を修正
・Socket A / Slot A の識別機能を強化 (今更ですが...)

<R139 2004/1/31>
・AMD64 環境におけるデフォルトクロック測定法を MMT に固定(今後変更可能性アリ)
・CpuidAMD64.exe -> CpuInfoAMD64.exe にファイル名を変更
・データベース更新

<R138 2004/1/29>
・AMD64 環境での動作を認識できるようにした。

<R137 2004/1/27>
<R136 2004/1/25>
<R135 2004/1/23>
・AMD64 への対応作業

<R134 2004/1/23>
・AMD64 対応のための改良
→ OS が x86 版か AMD64 版かを識別できないので、ドライバがロードできない場合は
   AMD64 版かもしれないということでとりあえず AMD64 バイナリを実行し、倍率等の
   情報を取得する
・デバイスドライバのロードに失敗した場合に表示していたエラーメッセージを廃止。
→ AMD64 版の識別に対応でき次第復活予定... なくても良いかも。

<R134 2004/1/23>
・AMD64 非対応安定板

<R133 2004/1/22>
・Prescott 対応最終準備
・データベース更新

<R132 2004/1/19>
・AMD64 への対応強化

<R131 2004/1/16>
・cpuidamd64.exe を呼び出し、倍率＆電圧の表示＆変更に(多分)対応
・(CPU/対応OS)アーキテクチャ情報の取得に対応

<R130 2004/1/15>
・CrystalCPUID 3.0.0 への対応
・AMD64 への対応準備
・ドライバ読み込みに失敗した際のエラーダイアログを廃止
→ 呼び出し元のアプリケーションが表示する
・データベースの更新

<R129 2004/1/11>
・Pentium III Xeon (Tanner) を Pentium III (Katmai) と誤認識する不具合を
  修正 (thanks Hon 氏)

<R128 2004/1/11>
・DMI 関連情報の取得をサポート
・データベース更新

<R127 2004/1/9>
・Microcode ID と Platform ID に対応していない Pentium PRO/Pentium II 環境で
  エラーとなる不具合を修正

<R126 2004/1/8>
・Transmeta Crusoe 5700/5900 に対応
・AMD Athlon 64 L2=512KB 版を全て Newcastle として識別していた問題を修正

<R125 2004/1/5>
・CpuInfo.dll と統合
  NT 用のデバイスドライバに CpuInfo.sys を追加(CrystalCPUID 専用)

<R124 2004/1/1>
・Microcode Revision の取得に対応
・Platform ID の取得に対応
・データベース更新

<R123 2003/12/23>
・マルチメディアタイマーの精度変更タイミングを修正

<R122 2003/12/20>
・データベース更新
・クロック周波数の測定機能を若干変更しました。

<R121 2003/12/9>
・Athlon 64 (Newcastle) に対応
・Pentium 4 SSE3 (Prescott) に暫定対応

<R120 2003/12/4>
・Celeron M (Banias-512K) に対応

<R119 2003/11/30>
・Mobile Athlon XP-M のオリジナル倍率の取得方法を修正 (thanks ita 氏)
・C3 関連の倍率テーブルを更新
・データベース更新

<R118 2003/11/11>
・Mobile Pentium 4 を Mobile Pentium 4 HT と誤判定することがある問題を修正
  (thanks 氏 AGU 氏)
・データベース更新

<R117 2003/11/9>
・Pentium 4 HT Extreme Edition (Gallatin) の HT を削除
-> さすがに冗長かなと...
・データベース更新

<R116 2003/10/27>
・Transmeta の新 CPU Efficeon のサポートを強化
・Mobile K7 の倍率テーブルを最新の情報に更新
・Nehemiah の倍率テーブルを最新版に更新
・データベース更新
・データベースのファイル形式変更(ファイルサイズ縮小のため)
・多くの最新デバイスに対応

<R115 2003/10/13>
・Pentium M で動作倍率が正しく取得できない問題を修正!! (thanks はせりん 氏)
-> ずいぶんと長いことこの問題に苦しめられましたが、今度こそ大丈夫かと...

<R114 2003/10/13>
・K7/K8 Multiplier を実装しました。(プロジェクト LoveHammer)
-> CPUID 0x80000007 に対して EDX が 0x00000007 以上の値を返す場合のみ利用可能
   とはいえ、現在この機能を利用できるのは CrystalCPUID だけなんですけどね...
・Athlon 64 FX を Athlon FX としていた不具合を修正 (thanks Cappuccino 氏)

<R113 2003/10/12>
・Banias の動作倍率が正常に取得できない問題を修正
・Banias のコードネームがいつの間にか変になっていたのを修正
　(thanks はせりん 氏)

<R111/112 2003/10/11>
・大丈夫だと思っていた Opteron / Athlon 64 判定部分に問題があったので修正
-> 今度の今度こそ大丈夫だと思います。ご迷惑おかけして申し訳ございません。

<R110 2003/10/10>
・Opteron / Athlon 64 において誤判定する問題を修正
-> 今度こそ大丈夫だと思う
・Optern / Athlon 64 の BrandID に対応
-> 8bit 版における上位 3 bit / 12 bit 版における上位 4 bit を表示します。
   ∴他のアプリと異なる結果となる場合があるかと思います。
・データベース更新

<R109 2003/10/10>
・Opteron / Athlon 64 において倍率を変更した場合に Mobile Athlon 64 と
　誤認識する問題を修正

<R108 2003/10/7>
・"-M" に対応
-> Mobile Pentium III-M / Mobile Pentium 4-M / Mobile Athlon XP-M
-> Mobile Pentium 4 と Mobile Pentium 4-M の識別が可能に!!
・Mobile Pentium 4 HT に対応
・Pentium 4 HT Extreme Edtion に対応
-> HT は必要ない気もするんですが...
・Pentium M (Banias) の動作倍率取得手法を改良
・Mobile Athlon XP-M の対応強化
・NSC Geode に対応
・SiS のよくわからない CPU にそれとなく対応
・UMC のよくわからない CPU にそれとなく対応
・386/486 の識別力強化
・データベース更新

<R107 2003/9/25>
・よねさん 氏の協力のおかげで Opteron / Athlon 64 の Multiplier をサポート完了
・Opteron / Athlon 64 の Original System Clock の不具合を修正
・Opteron の BranID に対応
-> UP/DP/MP の判別に対応
・Athlon 64 FX にもそれとなく対応
-> 多分大丈夫
・データベース更新

<R106 2003/9/20>
・Celeron (Northwood-128K) と Mobile Celeron (Northwood-256K) を
　誤判定するようになっていた問題を修正 (thanks 中川 氏)
・Celeron (Northwood-128K) のキャッシュサイズを随分長いこと 256K と
　していた不具合を修正(最悪です。ごめんなさい)
・データベース更新

<R105 2003/9/17>
・Xeon と Xeon MP の判別に不具合があったので修正 (thanks 啓 氏)

<R104 2003/9/17>
・データベースの更新
・Cappuccino 氏の cpuid.pas と教えてもらった情報を元に CPU サポートを強化

<R103 2003/9/13>
・データベースの更新
・CPUSupport.html の更新

<R102 2003/9/9>
・ドライバのロードに失敗したとき、誤った動作倍率を取得する問題を修正

<R101 2003/9/8>
・WRMSR 命令発行にそれとなく対応
・ファイル構成の変更
-> CpuInfo.dll への対応準備
・Duron (Applebred) に対応
・プロセスルールの表示機能を追加
・データベース更新

<R100 2003/9/1>
・CrystalMark09 に対応(ということにしておく)
-> 実際はなにも変わっていないのですが...
・データベース更新

記念すべき Release 100 だというのに特に新要素はなし(^^;

<R99 2003/8/27>
・SSE3 の検出に対応
・VisualC++ 7.1 にコンパイラを変更
-> 9x で正常に動作しない問題を修正しました。
・DirectX のバージョン情報取得方法の変更
-> 過去バージョンとの互換性が一部なくなりました。
・不必要となった項目を削除
・変数の初期化方法を変更
・Opteron の Socket 情報が間違っていたので修正 (thanks 前原 氏)

記念すべき Release 100 に向けて不必要な部分を除去し、構造をすっきりさせました。

<R98 2003/8/21>
・データベースの更新

<R97 2003/8/14>
・コンパイラを VC7 から VC6 に変更
-> 互換性向上？本質的にはソースに問題があるわけでしょうけど...

<R96 2003/8/12>
・Win9x でアクセス違反が出て起動しなくなっていた問題を修正
・ProSavage DDR 関連のデータベースを修正
・データベース更新

<R95 2003/8/6>
・Feature Flag (ECX) に対応
-> いつの間にか拡張されてました。
・AMD のキャッシュ詳細情報の取得機能を追加
・データベース更新

<R94 2003/7/28>
・Pentium M の動作倍率周りを修正
・データベース更新
・865G のグラフィックスを 855G と誤記していたのを修正

<R93 2003/7/21> - Test Release
・Pentium M の動作倍率を正規の方法で取得
-> 今までは NameString から取得しておりました(^^;
・Pentium M の最大動作倍率だけでなく現在の動作倍率が取得可能に(未保証)

Pentium M は特に資料が少なく途方に暮れていたのですが、ようやくそれっぽい資料を
見つけたので早速実装してみました。

<R92 2003/7/20>
・データベース更新
・Pentium M の動作モードが SDR になっていたので QDR に変更...
-> 随分前に変更したつもりだったのですが、修正ミスがあり機能していませんでした。
・Willamette のスペルを Willamete としていた個所を修正
・Intel 852GM/855GM が同じデバイスIDで区別できないので一緒にしときました。
-> リビジョンぐらいしっかりと変えてくれぇ〜

<R91 2003/7/14>
・データベース更新
・Thorton (Barton の L2 256KB 版) の正式名称が Athlon FX になるらしいので対応
・Athlon 64 にそれとなく対応

<R90 2003/7/3>
・データベース更新
・AMD Thorton に恐らく対応
-> いまさら新モデル(!?) Athlon 64 をさっさと出してください〜〜。 
・Opteron で動作しない(再起動する)問題を修正
-> というか動作倍率の取得をあきらめた。
・動作倍率が取得できない場合、表示がおかしくなることがあった問題を修正
-> VirtualPC 等エミュレータ上でしか起こらない問題ですがまぁ、一応。

<R89 2003/6/27>
・データベース更新
-> 最新デバイスにかなり対応(GeForce FX 5900 他)

<R88 2003/6/17>
・データベース更新

<R87 2003/6/10>
・クロック周波数可変プロセッサ対策 (thanks ぬじぬじ 氏)
-> 負荷をかけてからクロック周波数を測定するように変更しましたが...動作未確認
・865G/PE/P への対応完了
・データベース更新

<R86 2003/6/6>
・PCI BIOS によっては PCI Device 情報取得中にコケる問題を修正
・865PE/G/P & ICH5/R と 852GM/855GM への対応強化
・データベース更新

<R85 2003/5/31>
・データベース更新

<R84 2003/5/20>
・データベース更新
・Pentium 4 FSB 800MHz 版に今更ながら対応
-> 対応していた気でいましたが、少しもコードを書いていなかった(^^;

<R83 2003/5/15>
・データベース更新
・Transmeta Crusoe のクロックを double -> int に変更

<R82 2003/5/6>
・C3 Nehemiah のキャッシュサイズの取得がうまくいっていない問題を修正
・Opteron の System Bus & Data Rate を非表示に変更
・データベース更新

<R81 2003/4/25>
・Opteron の倍率取得に対応
・今度こそ Pentium !!! -> Pentium III に変更

<R80 2003/4/21>
・バグ修正
・データベース更新

<R79 2003/4/9>
・Transmeta Crusoe の取得情報を強化
・Batron の FSB に関するバグを修正
・データベース更新

<R78 2003/4/3>
・Celeron (Banias) -> Mobile Celeron (Banias)
・GeForce FX 関連対応強化
・Radeon -> RADEON (RADEON 関連も対応強化)
・データベース更新

<R77 2003/3/26>
・Pentium !!! -> Pentium III に変更 (CrystalMark06 は除く)

<R76 2003/3/24>
・データベース更新

<R75 2003/3/17>
・Banias 関連バグ修正

<R74 2003/3/13>
・Banias 対応強化
　-> Pentium M と Celeron の識別 および Cache 情報に対応
　-> 動作倍率に関しては現在情報収集中...(一応対応していますが)

<R73 2003/3/6>
・NT 系の環境では CrystalMark / CrystalCPUID を複数同時起動
　できなかった問題をようやく修正
・Banias に暫定対応 (L1 および Multiplier はデータシートが公開され次第対応)
・データベース更新

<R72 2003/2/27>
・データベース更新

<R71 2003/2/18>
・VIA CPU の表示不具合を修正
・データベース更新
・バグ修正

<R70 2003/2/14>
・Celeron (Willamette-128K/Northwood-128K) の 2nd Cache 情報を今更サポート
-> 英語のデータシートはずいぶん前に更新されていたのに気がつきませんでした。
-> 日本語のデータシートをダウンロードするのはもうやめようと思います(^^;
-> 更新遅すぎ(1年以上更新ないんですけど...)
・データベース更新

<R69 2003/2/10>
・APIC / CPU Type / Socket 情報等を新規サポート
・データベース更新

<R68 2003/2/5>
・SiS の最新チップセットに対応 SiS 655 他
・データベース更新

<R67 2003/2/4>
・Radeon 9100, nForce2 内蔵 VGA に対応
・データベース更新

<R66 2003/1/31>
・未知の PCI デバイス数をカウントする機能を強化
・Intel 7500/7501 に対応
・データベース更新
・SysInfo.sys をカレントディレクトリ以外からロードできないように修正
・SiS South Bridge 誤判定問題解消？
-> Device ID の一覧を見て確信しました!!識別できないということを。
-> North & South の組み合わせデータベースを内蔵することで解決!?
-> ただし、SiS 961/962/963 を直接識別できないため誤判定の可能性あり。

なぜちゃんと ID を割り当てないのだろうか...
Intel/NVIDIA はかなりまともに ID を割り当てているのですがねぇ...

<R65 2003/1/29>
・未知の PCI デバイス数をカウントする機能実装
・Intel 82801EB (ICH5) に対応
・Intel 865G (Springdale-G) に対応
・VIA C3 Nehemiah に暫定対応
-> 動作確認お願いいたします。(データシートがアップされ次第検証予定)

<R64 2003/1/28>
・データベース更新
・微調整

<R63 2003/1/22>
・データベース更新
・サイト移転に伴う情報更新

<R62 2003/1/14>
・デバイスドライバ内の関数に手を加えたため以前の SysInfo.sys と組み合わせて
　利用することはできません...必ず上書きコピーしてください。
-> 全て更新している方にはなんの影響もありませんが(^^;
・Mobile Pentium III と Pentium III の区別を区別できるようにした。
・データベース更新

　Pentium !!! -> Pentium III に変更したいなぁ〜と思うが互換性問題
のため踏み切れず...CrystalMark08 の正式版までにはここを変えたいなと。

<R61 2003/1/6>
・データベース検索部にバグ(!)があったのを修正
・データベース更新

<R60 2003/1/1>
・仮想 CPU 数が 1 つの場合は Hyper Threading 未対応ということにした
・データベース更新 ( VIA / SiS の最新チップセット 他 )
・ほのかなバグを修正

<R59 2002/12/24>
・DirectX のバージョンを判定する機能を強化 (DirectX9 以降に対応)

<R58 2002/12/10>
・Release57 でデータベースに欠陥があったためアクセス違反が出てしまった問題を修正
(タブ区切りのところを一箇所スペース区切り＋Cirrus Logic 情報追加部分に不具合)
・データベースに欠陥がある場合でもアクセス違反が出ないようにエラー処理を追加

<R57 2002/12/9>
・データベース更新 (最新デバイス多数,骨董デバイス少々,Kyro 1/2 の識別が可能に)
・誤判定していた CPU の判定条件を修正
・Intel 以外でも BrandID を評価していた問題を修正

<R56 2002/12/2>
・データベース更新
・Pentium 4 HT を誤判定していたのを修正
 ( 200x4 FSB の対応は来年の夏かな... )

　Opteron/Athlon 64 の対応はリリース直前になって情報が出てからになりそうです。

<R55 2002/11/25>
・データベース更新

<R54 2002/11/15>
・AMD Athlon XP FSB 333MHz 版への対応強化 (未確認)
・データベース更新

<R53 2002/11/7>
・Crusoe 関連の問題を修正
・データベース更新

<R52 2002/10/30>
・Crusoe でアクセス違反が出るという致命的な問題を修正...
-> 研究室のマシンで何気なく実行したことで発覚。

<R51 2002/10/22>
・thk 氏に VisualC++ から WMI へアクセスする方法を教えていただいたので
WMI_CS/WMI_VB を廃止し、直接 WMI へアクセスする方法を採用
-> ファイルサイズの減少＋エラー処理の強化等のメリット
・SysInfo.dll の初期化に失敗したとき２回エラーメッセージが出る問題を修正

<R50 2002/10/18>
・微調整

<R49 2002/10/9>
・データベース更新

<R48 2002/10/8>
・プライベートリリース

<R47 2002/10/6>
・PCI デバイス情報取得機能を強化
データベースは Linux PCI ID's Project (http://pciids.sf.net/) を利用させて
いただいております。(現在は CrystalMarkDX.lzh にのみ同梱)
・Release 45 から Pentium !!! を Mobile Pentium !!! と誤判定するようになって
いたのを修正

<R46 2002/10/4>
・データベース更新
・FSB 166 版 AthlonXP に(多分)対応
・PCI デバイス情報取得機能を強化

<R45 2002/9/30>
・データベース更新
・デュアルプロセッサ関連のバグを修正
・必要な機能のみを初期できるように機能強化

<R43 - R44 はプライベートリリース>

<R42 2002/9/27>
・データベース更新
・Compaq/DEC Alpha 関連の修正
・VirtualPC for Mac に少しだけ対応

<R41 2002/9/26>
・WMI(Windows Management Instrumentation) への対応を強化(VB6 対応)
※要 VB6 ランタイム or .NET Framework + WMI (XP/2000/Me は標準搭載)

<R40 2002/9/24>
・マルチプロセッサ環境において独立して CPU 情報を取得できるように機能強化
・クロック周波数測定関連の仕様を一部変更
・WMI(Windows Management Instrumentation) を利用した機能を一通り実装
※要 .NET Framework + WMI (XP/2000/Me は標準搭載)
・Alpha / PowerPC / MIPS 等を識別可能にした(未確認)
・メモリ関連の機能を実装
・デバイスドライバの初期化関連の問題を一部修正
・データベース読み込み時の不具合を修正
・データベース更新

<R37 - R39 はプライベートリリース>

<R36 2002/9/6>
・データベース更新

<R35 2002/9/4>
・データベース更新
・PCI Device の詳細情報を取得機能を搭載

<R34 2002/8/29>
・データベース更新
・South Bridge 判定コードを改良...!?

<R33 2002/8/22>
・Celeron (Northwood-128K) に関する修正
・Athlon の FSB 166x2 への対応準備...(正式対応は製品が出回ってからを予定)

<R32 2002/8/15>
・データベース更新
・キャッシュサイズに関するバグ修正

<R31 2002/7/30>
・デバイス識別機能を強化
・データベース更新
・Pentium Pro & Pentium Pro 用 OverDrive は 60/66MHz の区別が出来ないので
オリジナルクロック等の表示をしないことにした。

<R30 2002/7/18>
・HyperThreading 関連機能の強化
・データベース更新

<R29 2002/7/9>
・バグ修正(Mobile Athlon XP/4 & Mobile Duron)
・データベース更新

<R28 2002/7/1>
・未知のデバイスはベンダー名を表示
・バグ修正(Coppermine/Tualatin コア)
・データベース更新

<R27 2002/6/25>
・Mobile Celeron (Northwood-256K) に暫定対応
・PowerNow! な CPU の問題を一部修正
・データベース更新

<R26 2002/6/24>
・Mobile Athlon 4/XP / Mobile Duron (Morgan) 対応関連の調整
・SpeedStep & PowerNow! への暫定対応(動作報告求む)

<R25 2002/6/22>
・データベースの再構築＆強化
・Mobile Athlon 4/XP / Mobile Duron (Morgan) 対応関連の調整

<R24 2002/6/21>
・Mobile Athlon 4/XP に正式対応(昨日の今日ですが...)
→ただし、省エネモード？での動作は不明...次のバージョンで最終調整予定
・Mobile Athlon 4/XP / Mobile Duron (Morgan) の識別力強化

<R23 2002/6/20>
・エラーチェックが甘い箇所がありアクセス違反を起こすことがあったのを修正
・Mobile Athlon 4/XP で FSB/Multiplier を表示するのを取りやめ...
(全然合っていないので)...正確に取得する方法がわかり次第復活予定!!

<R22 2002/6/17>
・データベースの更新

<R21 2002/6/14>
・データベースの更新

<R20 2002/6/12>
・情報収集機能の修正
・データベースの更新

<R19 2002/6/11>
・情報収集機能の強化
・データベースの更新
・Hammer にほんのり対応... Family が 0xF になるようです (Pentium4 と同じ)


<R18 2002/6/10>
・正式版に向けた調整...

<R17 2002/6/7>
・(正式版に向けて)データ登録エンジンの更新
・Thoroughbred コアの倍率を取得できないことを確認...

<R16 2002/6/6>
・K6-IIIの OriginalFSB の表示をしないようにしました(判定不能なため)
・Code/Data と分離していない L1 Cache に対応(懐かしのCPUも正確に判定!!)

<R15 2002/6/6>
・PCI 情報は取得できているのに CPU 情報が取得できない場合があったのを修正
-多数の報告がありながら原因の特定に時間がかかってしまいました。もし、これで
問題が改善されないようだと・・・
・Pentium 等でも L1Cache の情報表示できるように機能強化

<R14 2002/6/5>
・Northwood がおもいっきりバグっていたのを修正
・IA-64 への対応を強化(未確認)
・CPU 対応表を製作

<R13 2002/6/3>
・Cache Speed 関連のバグを修正
・Mobile Athlon 4 関連の修正 FSB=100x2MHz

<R12 2002/6/3>
・登録を自前で行うように変更
・IDT WinChip 2/3 の動作倍率取得サポート
・Crusoe をとりあえずサポート(倍率および FSB の取得はできません)
・Cache Speed の取得をサポート (Intel 系が少々適当かも・・・)
・正式版リリースへ向けて様々な点を整備

<R11 2002/6/2>
・Ahtlon と Northwood の倍率取得関連がバグバグだったのを修正...

<R10 2002/6/2>
・PCI 系と RDMSR 系で二つあったデバイスドライバを一つに統合。トラブルが減るはず!
・かなりバグ修正
・かなりデータベースの更新

<R9 2002/5/28>
・Coppermine において ECX=2Ah REMSR bit 27 が有効か無効か試してみなければわから
ないという悲しい現実に直面したため、実際に両方を試し適切な方を表示するようにした。
・Pentium 等で的外れな表示を行っていたのを修正(Pentium では CPU の動作倍率や FSB
を取得することはできません!!P6以降の機能なのです)
・データベースの更新

<R8 2002/5/27>
・データベースの追加
・不具合の修正

<R7 2002/5/26>

・Celeron(Willamette) の L2 Cache が正しく取得できない問題に暫定対応
・Tualatin の倍率テーブルを修正
・K6-2/IIIの倍率関連の問題を修正
・データベースを更新(Intel/ATI/Trident 等)

<R6/6.1 2002/5/25>

登録していただいたデータを元にデータベースを更新
少々バグフィックス

<R5 2002/5/24>

Athlon (XP/MP含む) の倍率テーブルを一応実装
XP/MP 2100,2200 による動作確認求む!!
Thunderbird は FSB 200/266 の区別が出来ず!!
Duron は現状では完全動作(だと思う)

Northwood に関しては FSB 533 が正しく認識できるか動作確認求む!!
倍率に関しては P6/Pentium4 共に完全動作(だと思う)


<R4.x 2002/5/24>

Pentium4 関連の問題を修正しました。おそらくこれで Northwood の動作倍率も取得
出来るはずです。残るは Athlon/Duron 関係ですね♪

<0.0.5 2002/5/23>

Athlon Duron に少しも対応していなかったのを修正(^^;
SafeMode を廃止。ブルーバックしたらごめんなさい。

<0.0.4 2002/5/22> 

勇者様〜 by ククリ

ってわけでまたしても伝説の勇者様向けリリースです！！
前回は予告どおりすんごくバグバグでホントごめいわくおかけしました。
本気でブルーバックしてしまったそうですし(^^;
ようやくデバイスドライバが バグってハニー だった理由がわかったものの
Pentium !!! & Celeron (共に Coppermine)しかもっていないので
 Pentium4 (Willamette/Northwood) や Athlon / Duron 
などのテストを行えませんでした。そこで、人柱精神あふれる皆様に情報提供
していただこうというわけです!!

で、色々シミュレートした感じでは Win9x 系で実行するのがお奨めです。ハイ。
というのも、WinNT 系ではもしデバイスドライバ内で保護エラーが出た場合一撃
でブルーバックしてしまうのですが、Win9x では一般保護例外が出るだけ(!?)で
その後普通に Windows が使えるからです。まぁなんにせよ実行する前に全ての
アプリを終了しておいてください。また、とんでもない目にあっても当方責任を
とることはできませんのであしからず・・・。

できるだけ Win9x での実行よろしくお願いします。
できるだけデータ登録してくださいねぇ〜動作報告はメールでもいいです。

PCI 関連も非常に強化しました。こちらは特に問題は見当たっていないです。
多数のハードウェアデータベースのおかげでかなり実用的になってきましたが、
最新デバイスには対応してません。最新デバイスで登録の際はぜひ、本当の
デバイス名を書き込んでから登録してください。

■技術的なこと■

動作倍率を取得するために RDMSR という特権命令を使って各 CPU の固有レジスタ
を読み出すわけですが、実装されていない MSR (Model Specific Register) を
読み出そうとすると一般保護例外が発生します。NT のデバイスドライバ内で
一般保護例外が発生すると一撃でブルーバック。。。まぁ、調査してみると
アクセスバイオレーションでもブルーバックすることがわかりました。
考えてみれば当然ですね。カーネルモードだし。

ユーザーモードだと

__try{
	_asm{
		mov ecx,2Ah;
		rdmsr;
		mov ulEAX,eax;
	}
}
__except( EXCEPTION_EXECUTE_HANDLER ){
	_asm{
		mov ulEAX,0xFFFFFFFF;
	}
}

って感じのコードで例外が発生しても実行を続けることができるのですが、カーネル
モードだとこの手法が使えないんですよねぇ〜困ったことに。しかも、RDMSR は
カーネルモードでなければ使えないわけで・・・どうするよ〜〜

というわけで、カーネルモードで動作するデバイスドライバ内で例外をトラップ(?)する
方法を調査中です。これができないと本気でブルーバック連発ですよ。。。ちなみに、
今日は10回位青画面を拝みました。開発用と飛ばし用のマシンがあってよかったぁ〜

■現在とりあえず実装した

P6 (PentiumPro から Tualatin まで一応一通り) 
Pentium4 (Willamette)
Athlon (どこらへんまで対応しているかは不明)
Duron (どこらへんまで対応しているかは不明)

<0.0.2 2002/5/15> 
勇者様のみなさまこんにちは。
最低限情報収集が可能な程度のものをでっち上げたのでリリースします。

※NT 系では 管理者権限 を持ったユーザーでないと実行できません。

表示されている情報に間違いがあればそれぞれの項目の隣にあるエディットボックスや
コンボボックスに正しい情報を記入してから POST ボタンを押してください。
今回は ShellExecute でブラウザを起動しています。文字数の都合で NN を標準ブラウザ
にしている人は正常に登録できません。URL をコピーして IE 等で登録してください。

また、あまり(というか全然)エラー処理をしていないので、情報を取得できなかった場合
は -1 が表示される場合がありますが、気にせずそのまま登録してください。

んで、今回の新機能は CPU の動作倍率取得機能ですが、

・Northwood コアの Pentium4 では正常に取得できない(x16となる)

等既にわかっている問題があります。
この原因を深く調査すると Intel / AMD は動作倍率の取得方法を BIOS 開発者クラスの
技術者を対象にしてしか公開していないという現実に直面しました。で、BIOS 関連の情
報サクッと収集すればよいと思ったのですが、少なくとも AMD は有償でした。この点、
VIA(Cyrix/IDT) は BIOS 関連の資料も無償で好感が持てます。Intel の BIOS 関連資料
は現在調査中です。が、ディベロッパーマニュアルを見る限り 動作倍率の取得は非常に
アンオフィシャルな機能であることがわかります。(本当は意味があるのに[予約済み]と
表記)また、Willamete では動作倍率を取得できたのですが Northwood から場所が変更に
なったことから(現在調査中)　一般のプログラマに公開する姿勢はないようです。

・BIOS 等を解析するもしくは解析した人から情報提供を受ける
・Linux 等のソースコードを参照する

等の解決方法がありそうです... WCPUID は既に対応している模様ですし、海外のいくつ
かのCPUID 系ソフトも対応しているみたいなので対応方法はどこかにあるのでしょう。
ちなみに、裏技として NameString のクロック周波数表示から倍率を取得することが基本
的には可能ですが、2.4GHz の時に区別がつかないような気がするんですよねぇ〜ふぅ。

BIOS の解析か...。Linux のソースか...。CPU の動作倍率取得機能の実装がいかに難し
いかを思い知らされた今日この頃。。。企業秘密と守秘義務の壁がぁ〜
