今更判明した、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*/))
    {
        /* Not support for Windows XP and Windows 2003 */
        printf("SSE3 is available\n");
    }
    if (pIPFP(PF_XMMI64_INSTRUCTIONS_AVAILABLE))
    {
        printf("SSE2 is available\n");
    }
    if (pIPFP(PF_XMMI_INSTRUCTIONS_AVAILABLE))
    {
        printf("SSE is available\n");
    }

上の関数を実行してみたところ・・・

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) も追加してみたよ。

今更判明した、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*/))
    {
        /* Not support for Windows XP and Windows 2003 */
        printf("SSE3 is available\n");
    }
    if (pIPFP(PF_XMMI64_INSTRUCTIONS_AVAILABLE))
    {
        printf("SSE2 is available\n");
    }
    if (pIPFP(PF_XMMI_INSTRUCTIONS_AVAILABLE))
    {
        printf("SSE is available\n");
    }

上の関数を実行してみたところ・・・

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) も追加してみたよ。

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です