2010/8/22:本掲示板は閲覧専用です。データが一部破損しておりますがご了承ください。
  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃ホーム  
160 / 376 ツリー ←次へ | 前へ→

【1294】倍率変更のCOMBOX並び T4 04/11/20(土) 21:42
【1295】Re:倍率変更のCOMBOX並び Cappuccino 04/11/21(日) 0:37
【1296】Re:倍率変更のCOMBOX並び T4 04/11/21(日) 1:30
【1302】Re:倍率変更のCOMBOX並び Cappuccino 04/11/22(月) 2:41
【1298】Re:倍率変更のCOMBOX並び hiyohiyo 04/11/21(日) 8:24
【1300】Re:倍率変更のCOMBOX並び T4 04/11/21(日) 13:40
【1301】神降臨 hiyohiyo 04/11/22(月) 0:48
【1303】Re:神降臨 T4(To) 04/11/22(月) 3:46
【1304】Re:神降臨 hiyohiyo 04/11/22(月) 8:07
【1305】32bit.dll + 64bit.sys で幸せ hiyohiyo 04/11/25(木) 0:46
【1307】Re:32bit.dll + 64bit.sys で幸せ T4 04/11/26(金) 9:28
【1308】Re:32bit.dll + 64bit.sys で幸せ hiyohiyo 04/11/26(金) 19:12
【1331】Re:32bit.dll + 64bit.sys で幸せ T4 04/12/5(日) 12:52
【1332】Re:32bit.dll + 64bit.sys で幸せ ひよひよ Lv26 04/12/5(日) 13:12
【1333】Re:32bit.dll + 64bit.sys で幸せ Cappuccino 04/12/5(日) 16:36
【1334】Re:32bit.dll + 64bit.sys で幸せ ひよひよ Lv26 04/12/6(月) 0:55
【1335】Re:32bit.dll + 64bit.sys で幸せ T4 04/12/6(月) 3:07
【1336】Re:32bit.dll + 64bit.sys で幸せ ひよひよ Lv26 04/12/6(月) 8:24

【1294】倍率変更のCOMBOX並び
←back ↑menu ↑top forward→
 T4  - 04/11/20(土) 21:42 -

引用なし
パスワード
   便利に使わせていただいておりますが、
表題の 倍率変更CONBOXの数値が不規則に並んでいるため、少々不便を感じております。

K8の場合は倍率順番通りに並んでいるので設定が楽ですが、
K7の場合不規則に並んでいるので、設定の際、一呼吸間を取るなど注意深く扱わないと、
クラッシュにつながります。(設定値の 近場に高倍率がある場合とか)

過去ログには、”これは仕様という事として下さい”と有りますが
使う方からすると、やはり使い難いと思います。

COMBOXの並びを変えるという事は面倒な作業でしょうが、
使用の際の利便性を考えると十分価値の有る作業と思います。
宜しく、ご検討ください。

【1295】Re:倍率変更のCOMBOX並び
←back ↑menu ↑top forward→
 Cappuccino E-MAILWEB  - 04/11/21(日) 0:37 -

引用なし
パスワード
   ▼ひよひよさん
VCは全然詳しくないのでなんともいえませんが、ボックスの高さを動的に変える方法で実装するのはどうでしょう?(できるかどうかは知らずに言ってます。お許しくださいw

【1296】Re:倍率変更のCOMBOX並び
←back ↑menu ↑top forward→
 T4  - 04/11/21(日) 1:30 -

引用なし
パスワード
   >ボックスの高さを動的に変える方法で実装するのはどうでしょう?

意図がわかりませんが・・・

【1298】Re:倍率変更のCOMBOX並び
←back ↑menu ↑top forward→
 hiyohiyo  - 04/11/21(日) 8:24 -

引用なし
パスワード
   ▼T4さん:
>K8の場合は倍率順番通りに並んでいるので設定が楽ですが、
>K7の場合不規則に並んでいるので、設定の際、一呼吸間を取るなど注意深く扱わないと、
>クラッシュにつながります。(設定値の 近場に高倍率がある場合とか)
Show Confirmed Dialog オプションを有効にすると倍率/電圧を変更するために確認のダイアログが出るようになるのでそちらを利用することで設定ミスを回避できます。

ご存知かとは思いますが、K7の倍率は不規則に並んでいるのではなく、倍率テーブルをそのままの順番で表示しております。

この部分を変更してしまうと、コマンドラインオプションの FID, VID 部分も相当見直さなければならないためご了承ください。

ちなみに、C3 は複数の FID が同じ倍率に割り振られていたり、リビジョンによって FID と倍率のマッピングが変わっていたりします。

【1300】Re:倍率変更のCOMBOX並び
←back ↑menu ↑top forward→
 T4  - 04/11/21(日) 13:40 -

引用なし
パスワード
   >ご存知かとは思いますが、K7の倍率は不規則に並んでいるのではなく、倍率テーブルをそのままの順番で表示しております。
>
>この部分を変更してしまうと、コマンドラインオプションの FID, VID 部分も相当見直さなければならないためご了承ください。
>
>ちなみに、C3 は複数の FID が同じ倍率に割り振られていたり、リビジョンによって FID と倍率のマッピングが変わっていたりします。

返答ありがとうございます。上記ご指摘の内容すべて承知しております。
倍率変更の順不同は実際非常に不便なので、自分で直して使ってましたが
バージョン変更の度に作りなすのも手間なので、
手直した古いバージョンを 暫く使っておりました。
本家の作者の方に対応頂ければと思い お願いして見た次第です。

また暫くは、自前で手直した古いバージョンで行かせてもらいます。

---
話は変わりますが、ドライバロード部分で以下の様なコーディングすると、
同一実行ファイル(32Bit版)のみで32/64Bitの両環境での動作ができます。

(SysInfoX64.sys/SysInfoX.sysを環境に応じて切り替えるだけです。
 厳密には SysInfoX64.sysコーディングの際 ポインタサイズに十分注意する
 必要があると思いますが、試した限りは大丈夫のようです。)

----
横文字数の制限で、改行表示されているかも知れません。

"Pcidll.c"

#include <stdio.h>
#include <windows.h>
#include <winioctl.h>
#include <stddef.h>
#include <assert.h>

#include "Pcidebug.h"
#include "driverload.h"

int GetFileInternalName(const char *file,char *name);

#include "resource.h"

int initialize(HMODULE ghInst);
int initialize_vxd(HMODULE ghInst);
void close(void);

extern void init_isr(void);

char DRIVERID[MAX_PATH];        //    "CrystalSysInfo"
char DRIVERFILENAME[MAX_PATH];    //    "SysInfo.sys" or SysInfoX64.sys
char DRIVERNAME[MAX_PATH];        //    "CrystalSysInfo"
#define DRIVERFILENAME95    "SysInfo.vxd"

HANDLE handle = NULL;
int drivertype = 0;

// DLLの状態を保存する変数
static DLLSTATUS status = DLLSTATUS_OTHERERROR;
//char DRIVERID[MAX_PATH];

//
// OSの種類を調べる。
//
// 戻り値    0: 取得できなかった
//            1: windows 3.1
//            2: windows 95
//            3: windows NT
//            4: windows NT x64
//            -1:その他

typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE hProcess,PBOOL Wow64Process);

BOOL IsWow64(VOID)
{
  BOOL bIsWow64 = FALSE;
    LPFN_ISWOW64PROCESS fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress(GetModuleHandle("kernel32"),"IsWow64Process");

  if (NULL != fnIsWow64Process)
  {
    if (!fnIsWow64Process(GetCurrentProcess(),&bIsWow64))
    {
      // handle error
            bIsWow64 = FALSE;
    }
  }
  return bIsWow64;
}

//--------------------------

int oscheck()
{
    OSVERSIONINFO os;

    os.dwOSVersionInfoSize = sizeof(os);
    if(GetVersionEx(&os) == 0){
        assert(0);
        return 0;
    }
    switch(os.dwPlatformId){
    case VER_PLATFORM_WIN32s:
        return 1;
    case VER_PLATFORM_WIN32_WINDOWS:
        return 2;
    case VER_PLATFORM_WIN32_NT:
        return IsWow64() ? 4 : 3; //    Windowx XP 64Bit Edition or Windows NT
    default:
        return -1;
    }
}

///////////////////////////////////////////////////////////
//
// DLLがLOADされたときにデバイスドライバーを登録、開始する
// DLLがUNLOADされたときにデバイスドライバーを停止取り外す
//
///////////////////////////////////////////////////////////

BOOL APIENTRY DllMain(HMODULE hModule,
           DWORD ul_reason_for_call,
           LPVOID lpReserved)
{
    char str[MAX_PATH];
    char name[64];
    int ostype, res;

    drivertype = 0;
    ostype = oscheck();
    if(!(ostype >= 2 && ostype <= 4)) return TRUE;

    GetModuleFileName(NULL,str,MAX_PATH);
    GetFileInternalName(str,name);

    switch(ostype)
    {
    case 4:// NT x64
    case 3:// NT
        strcpy(DRIVERID,"CrystalSysInfo");
        strcpy(DRIVERFILENAME, (ostype==4) ? "SysInfoX64.sys" : "SysInfo.sys");
        strcpy(DRIVERNAME,"\\\\.\\CrystalSysInfo");
        drivertype |= SYS_DRIVER_USE;
        status = DLLSTATUS_NOERROR;
        break;

    case 2:// 95 98の場合
        drivertype |= VXD_DRIVER_USE;
        drivertype |= PCIBIOS_READY;
        drivertype |= LIB_IO_FUNC_USE;
        status = DLLSTATUS_NOERROR;
        break;

    default:// NT 95/98以外の場合
        status = DLLSTATUS_NOTSUPPORTEDPLATFORM;
        break;
    }

    if(status == DLLSTATUS_NOTSUPPORTEDPLATFORM) return TRUE;

  switch( ul_reason_for_call ) {
  case DLL_PROCESS_ATTACH:
        init_isr();
        if(drivertype & SYS_DRIVER_USE) {
            res = initialize(hModule);
        } else if(drivertype & VXD_DRIVER_USE) {
            res = initialize_vxd(hModule);
        } else {
            res = 3;
        }
        switch ( res ){
            case 0:
                status = DLLSTATUS_NOERROR;
                break;
            case 2:
                handle = NULL;
                status = DLLSTATUS_DRIVERNOTLOADED;
                break;
            default:
                handle = NULL;
                status = DLLSTATUS_OTHERERROR;
                break;
        }
        break;
    case DLL_THREAD_ATTACH:
        break;
  case DLL_THREAD_DETACH:
        break;
  case DLL_PROCESS_DETACH:
        close();
        status = DLLSTATUS_OTHERERROR;
        break;
  }
  return TRUE;
}

以下同一内容なので、略

【1301】神降臨
←back ↑menu ↑top forward→
 hiyohiyo  - 04/11/22(月) 0:48 -

引用なし
パスワード
   T4様本当にありがとうございました。
32bit.exe から普通に 64bit.sys を読み込めたんですね。一応試したはずなのですが・・・なんにしてもうれしい限りです!!

さて、ComboBox の件ですが、色々考えた結果 K7 の時は倍率とともに FID を表示して、選択した倍率の FID を SysInfo に渡すような設計にすれば、過去との互換性も取れる上に少しは便利になるかなと考えました。実装自体は簡単なのですが、今週中リリースということでご了承ください。

やっぱり、オープンソースはいいですね。ドライバの多重ロードの件といい、自分の力では解決できなかった問題がこうやって解決していくとは・・・。生きてて良かった♪

本当にありがとうございました。当然ですが、Special Thanks のコーナーに追加させていただきます。あと、もしホームページとかお持ちでしたら教えていただきたいなと・・・。

【1302】Re:倍率変更のCOMBOX並び
←back ↑menu ↑top forward→
 Cappuccino E-MAILWEB  - 04/11/22(月) 2:41 -

引用なし
パスワード
   ▼T4さん:
勘違いです。気にしないでくださいorz

【1303】Re:神降臨
←back ↑menu ↑top forward→
 T4(To)  - 04/11/22(月) 3:46 -

引用なし
パスワード
   >32bit.exe から普通に 64bit.sys を読み込めたんですね。一応試したはずなのですが・・・なんにしてもうれしい限りです!!
>

上手く動きましたか?、
WoW64なるレイヤーがサイズのポインタサイズの調整(上位に0パディングorサプレス)をしてくれるようなので、
ドライバ側とApp側とでポインタの扱いで手抜きをして無ければ大丈夫のようです。

>さて、ComboBox の件ですが、色々考えた結果 K7 の時は倍率とともに FID を表示して、選択した倍率の FID を SysInfo に渡すような設計にすれば、過去との互換性も取れる上に少しは便利になるかなと考えました。実装自体は簡単なのですが、今週中リリースということでご了承ください。
>
ご配慮ありがとうございます。ちなみに私の場合は正/逆の変換テーブルで実装しました。

実際の所、このソフトの需要としては”K7/K8”の場合が高いと思いますので、
是非 宜しくお願いします。(P4とかは無理そうだし、もし出来てもNDAの壁が・・・)

>やっぱり、オープンソースはいいですね。ドライバの多重ロードの件といい、自分の力では解決できなかった問題がこうやって解決していくとは・・・。生きてて良かった♪
>
>本当にありがとうございました。当然ですが、Special Thanks のコーナーに追加させていただきます。あと、もしホームページとかお持ちでしたら教えていただきたいなと・・・。

ページも何もありません。(3ヶ月ぐらい前に、"To"名でお世話になりました。)
暫くぶりに見てみたら64Bit版が別個の物になっていたので、何かのためにでもなればと思って投稿してみました。
実際の所、XP(64Bit)はまだまだ使える状況に無いし、”64Bit環境でも動く”程度
の扱いで宜しいかと・・・

-----

最後に、もうネタが有りませんので 本件に対する返答は 不要にて結構です。

【1304】Re:神降臨
←back ↑menu ↑top forward→
 hiyohiyo  - 04/11/22(月) 8:07 -

引用なし
パスワード
   ▼T4(To)さん:
>>32bit.exe から普通に 64bit.sys を読み込めたんですね。一応試
>上手く動きましたか?、
あっさり動きました。

>ページも何もありません。(3ヶ月ぐらい前に、"To"名でお世話になりました。)
>暫くぶりに見てみたら64Bit版が別個の物になっていたので、何かのためにでもなればと思って投稿してみました。
CPU-Z が実現していたので、 32bit.exe から 64bit.sys を呼び出す方法はあるはず!!という確信はあったのですが方法がわからなかったので・・・。

>実際の所、XP(64Bit)はまだまだ使える状況に無いし、”64Bit環境でも動く”程度
>の扱いで宜しいかと・・・
同一人物でしたか(笑) 昨晩は、日本も広いなぁ〜、よくわかってらっしゃる方がゴロゴロいるんだなぁ〜とシミジミしておりました。

ドライバ関係の悩みは現時点では何もありませんが、また何かあったときは(もしわかれば)さりげなくフォローしていただければ幸いです。

>P4とかは無理そうだし、もし出来てもNDAの壁が・・・
ついでに、パテントも・・・。

【1305】32bit.dll + 64bit.sys で幸せ
←back ↑menu ↑top forward→
 hiyohiyo  - 04/11/25(木) 0:46 -

引用なし
パスワード
   ▼T4(To)さん:
>ご配慮ありがとうございます。ちなみに私の場合は正/逆の変換テーブルで実装しました。
結局私も正/逆の変換テーブルで実装してみました。って、当たり前ですが、やってみると簡単なんですよね・・・(^_^;

一応 Mobile K7 のマシンで動作確認はしてますが、もし不具合があればご連絡を・・・。ソースも最新版のを用意しておきました。

ふぅ〜、結局週末まで我慢できませんでした。やっぱり、プログラミングは楽しい♪

【1307】Re:32bit.dll + 64bit.sys で幸せ
←back ↑menu ↑top forward→
 T4  - 04/11/26(金) 9:28 -

引用なし
パスワード
   >一応 Mobile K7 のマシンで動作確認はしてますが、もし不具合があればご連絡を・・・。ソースも最新版のを用意しておきました。

サーバーダウン? リンク切れ? ダウン不能です。

【1308】Re:32bit.dll + 64bit.sys で幸せ
←back ↑menu ↑top forward→
 hiyohiyo  - 04/11/26(金) 19:12 -

引用なし
パスワード
   ▼T4さん:
>>一応 Mobile K7 のマシンで動作確認はしてますが、もし不具合があればご連絡を・・・。ソースも最新版のを用意しておきました。
>サーバーダウン? リンク切れ? ダウン不能です。
ダウンロード先のサーバーを切り替えることで対処いたしました。
ご報告ありがとうございます。

【1331】Re:32bit.dll + 64bit.sys で幸せ
←back ↑menu ↑top forward→
 T4  - 04/12/5(日) 12:52 -

引用なし
パスワード
   >>>一応 Mobile K7 のマシンで動作確認はしてますが、もし不具合があればご連絡を・・・。ソースも最新版のを用意しておきました。

要望通りの内容でのご対応、 ありがとうございました。
個人的には、もう目立つような要望点もありませんが、
使用させて頂いている物のマナーとして、感想でも報告させて抱きます。

1.Interval Time(Minimum)
 Multiplier Magement Setting>>Interval Time(Minimum) の項目を
 意図的に1000msまでと制限しているようですが、
 これ、個人的には不要では? と思います。
 ベンチマーク等を考えると長いほうは不要かもしれませんが、
 それ以外の通常用途では、ちょっとした負荷増大で、直ぐに倍率が変わるのも
 どうかと思います。(実際の所、低騒音化(低発熱)としての用途の方が多いのでは?)
 上限を緩くしても下の方が選択肢が減るわけでは有りませんので、敢えて上を制限する
 必要も無く、Maxmium/Middle 同様のレンジで十分と思いますが、如何でしょうか?

2.プロジェクト・オプション(VC6の場合)
 VC6の場合ですが、プロジェクト・オプション内の
  ○ リンク・オプション>>無視するライブラリ の部分が
    "libc.lib libcd.lib"
 となっていますが
    "libc.lib,libcd.lib"
 が正解では?
 私の所のVC6では、上の様な指定にするとオプションとしての要をなしません。

------
 P4頑張れ!!
 ”熱くて遅い”、今のままだと全く魅力ありません。
 EM64Tも倍率変更も、出し惜しみしてる場合じゃ無いと思うよ。実際

 AMDサボるな!!
 高いぞAthlon64、物も不足したままじゃないか。
 Intel=コケてる 今がチャンスに シェア取れなくてどうする。
 あんたに頑張って貰はらないと、またインテルが・・・
 (早くて涼しいAthlon64ナイスです。 P4? デリバリ以外に勝ち目無いな)

 ”Opteron”も超高いぞ、どの道同じチップ何だから、原価も殆ど一緒でしょ?
 せっかく良い物作ったんだから、せめて買う気になるような値段にしてよ。
 相手がコケてるからって、ボリすぎです。

【1332】Re:32bit.dll + 64bit.sys で幸せ
←back ↑menu ↑top forward→
 ひよひよ Lv26  - 04/12/5(日) 13:12 -

引用なし
パスワード
   ▼T4さん:
>1.Interval Time(Minimum)
> 上限を緩くしても下の方が選択肢が減るわけでは有りませんので、敢えて上を制限する
> 必要も無く、Maxmium/Middle 同様のレンジで十分と思いますが、如何でしょうか?
上限を緩くするのは簡単ですし、ユーザーの自由度の向上ということで、次回制限をはずしておきます。ユーザーの皆様には設定の意味を良く理解したうえでこの機能を使っていただきたいところです。

>2.プロジェクト・オプション(VC6の場合)
なんと!!どうりで、無視するライブラリに指定している(つもり)のに、エラーが消えないわけだ・・・。

Intel が EM64T を有効にしないのは許せませんねぇ〜。現時点では、制限が多すぎて、メイン環境を x64 に移行することはできませんが、さすがにそろそろ対応してくれても良かったと思うんですが。当分 AMD64 で x64 ライフを満喫することにします。って、T4 さんのおかげで「もうやることない」んですけど・・・。

【1333】Re:32bit.dll + 64bit.sys で幸せ
←back ↑menu ↑top forward→
 Cappuccino E-MAILWEB  - 04/12/5(日) 16:36 -

引用なし
パスワード
   ▼ひよひよ Lv26さん:
>Intel が EM64T を有効にしないのは許せませんねぇ〜。現時点では、制限が多すぎて、メイン環境を x64 に移行することはできませんが、さすがにそろそろ対応してくれても良かったと思うんですが。当分 AMD64 で x64 ライフを満喫することにします。って、T4 さんのおかげで「もうやることない」んですけど・・・。
エラッタが深刻だったらしい・・・。マイクロコード書き換えにちゃんと対応してるBIOSじゃないと青画面だとかなんとか・・・と聞いた(真偽不明)<EM64T。

【1334】Re:32bit.dll + 64bit.sys で幸せ
←back ↑menu ↑top forward→
 ひよひよ Lv26  - 04/12/6(月) 0:55 -

引用なし
パスワード
   ▼T4さん:
>1.Interval Time(Minimum)
> Multiplier Magement Setting>>Interval Time(Minimum) の項目を
> 意図的に1000msまでと制限しているようですが、
> これ、個人的には不要では? と思います。
CrystalCPUID 4.1.2.225 で対応しました。
最大周期は10000msです。

【1335】Re:32bit.dll + 64bit.sys で幸せ
←back ↑menu ↑top forward→
 T4  - 04/12/6(月) 3:07 -

引用なし
パスワード
   ▼ひよひよ Lv26さん:
>▼T4さん:
>>1.Interval Time(Minimum)
>> Multiplier Magement Setting>>Interval Time(Minimum) の項目を
>> 意図的に1000msまでと制限しているようですが、
>> これ、個人的には不要では? と思います。
>CrystalCPUID 4.1.2.225 で対応しました。
>最大周期は10000msです。

ありがとうございます、ご苦労様でした。

>2.プロジェクト・オプション(VC6の場合)
なんと!!どうりで、無視するライブラリに指定している(つもり)のに、エラーが消えないわけだ・・・。
デバッグ・ビルドの方もお忘れなく。(うちではNo-Warnningですが、同様に指定は変です。)

【1336】Re:32bit.dll + 64bit.sys で幸せ
←back ↑menu ↑top forward→
 ひよひよ Lv26  - 04/12/6(月) 8:24 -

引用なし
パスワード
   ▼T4さん:
>デバッグ・ビルドの方もお忘れなく。(うちではNo-Warnningですが、同様に指定は変です。)
うっ。直しておきます。

160 / 376 ツリー ←次へ | 前へ→
  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃ホーム  
ページ:  ┃  記事番号:   
51982
(SS)C-BOARD v3.8(とほほ改ver2.1) is Free