今更判明した、Windows 2000 拡張カーネルのバグ
Windows 2000 Kernel32 改造計画【BM】
音楽制作ソフトウェア ABILITY(アビリティ)|株式会社インターネット
Singer Song Writer の後継ソフトABILITYはVista 以降専用?
Windows 2000 拡張カーネル で ABILITYを起動しようとしたところ
『SSE2対応のCPUが必要です』と怒られてしまった・・・あれ?
HINSTANCE hDll=LoadLibrary("kernel32.dll"); tIPFP pIPFP = (tIPFP)GetProcAddress(hDll,"IsProcessorFeaturePresent"); if (pIPFP(13/*PF_SSE3_INSTRUCTIONS_AVAILABLE*/)) |
上の関数を実行してみたところ・・・
SSE is available |
あれ???
拡張カーネルの IsProcessorFeaturePresent がバグっていることが判明
・PF_XMMI64_INSTRUCTIONS_AVAILABLE(SSE2)の検出ができない。
・PF_SSE3_INSTRUCTIONS_AVAILABLE(SSE3)の検出ができない。
・PF_COMPARE_EXCHANGE128 の検出が正常にできず異常値がかえる。
・PF_XSAVE_ENABLEDの検出ができない。
何ということでしょう・ω・;
というわけで、 v2.4d4で修正したよ
後ついでなので、comctl32.dll に LoadIconWithScaleDown function (Windows) も追加してみたよ。
Comments