2009/06/20 Cpuid

何もしないまま1ヶ月経ってた。多分このまま何もしなくなると思うので、OlsApi.hとOlsDef.hとOlsApiInit.hのDelphi2009用のユニットだけ、出してみる。OlsApi.pas OlsDef.pas OlsApiInit.pas

sample2.png(10551 byte)
program sample_CPU_information;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  OlsApi in 'OlsApi.pas',
  OlsDef in 'OlsDef.pas',
  OlsApiInit in 'OlsApiInit.pas',
  Windows;

var
  Index:    DWORD;
  Eax:      DWORD;
  Ebx:      DWORD;
  Ecx:      DWORD;
  Edx:      DWORD;
  MaxCpuid: DWORD;

begin
  try
    if InitOpenLibSys then
    begin
      //-----------------------------------------------------------------------
      // CPU Information
      //-----------------------------------------------------------------------
      if IsCpuid then
      begin
        CpuidPx(0, @MaxCpuid, @Ebx, @Ecx, @Edx, 1);
        Writeln('[CPUID]');
        Writeln('Index     EAX      EBX      ECX      EDX');
        for Index := 0 to MaxCpuid do
        begin
          if CpuidPx(Index, @Eax, @Ebx, @Ecx, @Edx, 1) then
            Writeln(Format('%.8x: %.8x %.8x %.8x %.8x', [Index, Eax, Ebx, Ecx, Edx]));
        end;
      end;

      DeinitOpenLibSys;
    end;
    Readln;
  except
    on E:Exception do
      Writeln(E.Classname, ': ', E.Message);
  end;
end.

2009/05/29 Update

Update 3、Update 4、Boost Updateがようやく出た。以前書いたTStringBuilderのReplaceやTStackのバグは直っていた。

2009/05/24 WinRing0 Sample

OlsSampleDlg.cppを元にVersion Checkのところだけ少し書いてみた。他の関数はまだ動作確認してない。

sample1.png(3643 byte)
program sample_version;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  OlsApi in 'OlsApi.pas',
  OlsDef in 'OlsDef.pas',
  OlsApiInit in 'OlsApiInit.pas',
  Windows;

var
  Major, Minor, Revision, Release: Byte;

begin
  try
    if InitOpenLibSys then
    begin
      //-----------------------------------------------------------------------
      // Version Check
      //-----------------------------------------------------------------------
      Writeln('[DLL Version]');
      GetDllVersion(@Major, @Minor, @Revision, @Release);
      Writeln(Format('%d.%d.%d.%d', [Major, Minor, Revision, Release]));

      Writeln('[Device Driver Version]');
      GetDriverVersion(@Major, @Minor, @Revision, @Release);
      Writeln(Format('%d.%d.%d.%d', [Major, Minor, Revision, Release]));

      Writeln('[Device Driver Type]');
      case GetDriverType of
        OLS_DRIVER_TYPE_WIN_9X:       Writeln('OLS_DRIVER_TYPE_WIN_9X');
        OLS_DRIVER_TYPE_WIN_NT:       Writeln('OLS_DRIVER_TYPE_WIN_NT');
        OLS_DRIVER_TYPE_WIN_NT4:      Writeln('OLS_DRIVER_TYPE_WIN_NT4');
        OLS_DRIVER_TYPE_WIN_NT_X64:   Writeln('OLS_DRIVER_TYPE_WIN_NT_X64');
        OLS_DRIVER_TYPE_WIN_NT_IA64:  Writeln('OLS_DRIVER_TYPE_WIN_NT_IA64');
      else
        Writeln('OLS_DRIVER_TYPE_UNKNOWN');
      end;

      Writeln('[DLL Status]');
      case GetDllStatus of
        OLS_DLL_NO_ERROR:             Writeln('OLS_DLL_NO_ERROR');
        OLS_DLL_UNSUPPORTED_PLATFORM: Writeln('OLS_DLL_UNSUPPORTED_PLATFORM');
        OLS_DLL_DRIVER_NOT_LOADED:    Writeln('OLS_DLL_DRIVER_NOT_LOADED');
        OLS_DLL_DRIVER_NOT_FOUND:     Writeln('OLS_DLL_DRIVER_NOT_FOUND');
        OLS_DLL_DRIVER_UNLOADED:      Writeln('OLS_DLL_DRIVER_UNLOADED');
        OLS_DLL_DRIVER_NOT_LOADED_ON_NETWORK:
                                      Writeln('OLS_DLL_DRIVER_NOT_LOADED_ON_NETWORK');
      else
        Writeln('OLS_DLL_UNKNOWN_ERROR');
      end;

      DeinitOpenLibSys;
    end;
    Readln;
  except
    on E:Exception do
      Writeln(E.Classname, ': ', E.Message);
  end;
end.

2009/05/23 WinRing0

PCを新しくしたらCPU温度がどの位なのか興味がでてきたので、SpeedFanやMooO SystemMonitorをインストールして測ってみた。さらに興味が出てきたので、自分でも作れないかなと探していたら、WinRing0というライブラリを見つけた。DLLとソースが配布されていたので、OlsApi.hとOlsDef.hとOlsApiInit.hのDelphi 2009用ユニットを書いてみた。1ks弱しか書いてないのに指が疲れた。そのうち公開用のページを作るかな。

2009/05/19 RamPhantom3 FREE

I-O DATAのRamPhantom3のFREE版をインストールした。256MBまでしかRAMDISKが作成できない機能限定版だけど、OS管理外メモリーを少しは有効活用できるかな。操作性は簡単。しばらく使ってみて、問題なければ製品版を買ってもいい気がしてきた。

2009/05/17 TMS Smooth Control Pack

いまさらだけど、TMS Smooth Control Packをインストールしてみた。手軽にクールなインターフェイスを組み込める。

2009/05/16 新PC

買ってきた。キーボードの感覚が少し狭くて、慣れるまで時間がかかりそうだ。OSはXPにしたので、ClearTypeを選択して文字をきれいにした。IPAフォントにした。

2009/05/09 マルチコアプロセッサ

2年ほど使ってきたノートPCをそろそろ新しいものにしようかと思い始めた。でもVistaは嫌いなので、いまさらだけどXPにしようかなと。今のPCはマルチコアプロセッサが当たり前だけど、XPだと性能出るのかわからないので、調べてみた。(1)(2)結論は、XPのHome EditionでもSP2以降ならクアッドコアの全てのコアが利用可能なようだ。

2009/04/28 PMP

ギリギリだけど合格した。

2009/04/25 WILLCOM

ゴールデンウィーク スペシャル企画キャンペーン」をやっていたので、アドエス用に1回線新規追加してしまった。980円だし。ついでにこれまでのW-SIMは機種変更でAX530Sにした。通話用のWX130SとW-SIMセットのNS001UとPCカードのAX530Sで計3回線。いつもネットのWILLCOM STOREで注文するのだが、ほとんどの場合翌日には受け取れる。イーモバイルのD03HW(@nifty Mobile BB)は当初に比べて格段に遅くなってきたので、解約した。たぶん基地局の増加以上に人が増えたのだろう。

link download onig