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

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

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

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

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

【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の壁が・・・
ついでに、パテントも・・・。
・ツリー全体表示

【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環境でも動く”程度
の扱いで宜しいかと・・・

-----

最後に、もうネタが有りませんので 本件に対する返答は 不要にて結構です。
・ツリー全体表示

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

引用なし
パスワード
   ▼T4さん:
勘違いです。気にしないでくださいorz
・ツリー全体表示

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

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

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

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

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

【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;
}

以下同一内容なので、略
・ツリー全体表示

【1299】Re:気が早いですがCranfordとIrwindale
←back ↑menu ↑top forward→
 hiyohiyo  - 04/11/21(日) 8:26 -

引用なし
パスワード
   ▼Cappuccinoさん:
>本当はメッセで捕まえようと思ったのですが、オフラインだったので(こんな時間なんだから当たり前だ)BBSにカキコ。
今日は休日出勤ですYO!!

>ソース見た感じ、CranfordとIrwindaleに対応できなそうだったので書き換えてみました。こんな感じですかね?w
どうもです。次回組み込んでおきます。

BrandID ってホント適当につけてるよなぁ・・・。インテル様ご乱心なのかなぁ〜。
・ツリー全体表示

【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 と倍率のマッピングが変わっていたりします。
・ツリー全体表示

【1297】気が早いですがCranfordとIrwindale
←back ↑menu ↑top forward→
 Cappuccino E-MAILWEB  - 04/11/21(日) 3:04 -

引用なし
パスワード
   本当はメッセで捕まえようと思ったのですが、オフラインだったので(こんな時間なんだから当たり前だ)BBSにカキコ。
ソース見た感じ、CranfordとIrwindaleに対応できなそうだったので書き換えてみました。こんな感じですかね?w

if( BrandID == 0xC ){
    if( CacheL3 == 0) {
        n = "Xeon MP (Cranford)";
    } else {
        n = "Xeon MP (Potomac)";
    }
    p = "Socket 604";
}else if( ! strstr(NameString,"Pentium") &&
    (PlatformID <= 0 || BrandID == 0xB || strstr(NameString,"Xeon")) ){// || BrandID <= 0 ||
    if( CacheL2 == 2048) {
        n = "Xeon (Irwindale)";
    } else {
        n = "Xeon (Nocona)";
    }
    p = "Socket 604";
}
・ツリー全体表示

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

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

意図がわかりませんが・・・
・ツリー全体表示

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

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

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

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

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

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

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

【1293】Re:Dual Mobile Athlon MP
←back ↑menu ↑top forward→
 期待せずに待ってる人  - 04/11/17(水) 14:56 -

引用なし
パスワード
   >>相変わらずブルーバック連発です。
>基本的なことですが、K7/K8 Multiplier で変更する分には問題ないんですよね??

デバック有難う御座いました。
K7/K8 Multiplierでの変更は過去に数回失敗したことがありますが、
ハード的なメンテナンス後は、問題ありません。

1000msのWaitのおかげで動作時間が伸びたような気はします。
負荷テストはDecodeが必要な動画ファイルを再生しつつ
NICにデータを断続的に流してみました。
以前はクロックが変わる時に再生中の動画が引っかかる感じもありましたが
今回はそのような事もなくハングアップするまでの間は快適に使用できました。

新しい電源を発注したので(460w→550w)届いてから
再度チャレンジしたいと思います。
・ツリー全体表示

【1292】Re:Dual Mobile Athlon MP
←back ↑menu ↑top forward→
 hiyohiyo  - 04/11/17(水) 7:53 -

引用なし
パスワード
   ▼hiyohiyoさん:
>>あと気になる点が1つ
>>任意のウェイトを変更した時、iniファイルは設定値が反映されているのですが
>>Multiplier Managementの設定を開くと1000msと表示されます。
>えと、思いっきりバグです。
表示だけでなく、実際プログラム内部でも反映されておりませんでした…ごめんなさい。今回この不具合を修正しました。ご確認願います。

とはいえ、1秒間のウェイトはあったはずなので、もうちょっと長いウェイトが必要なのかもしれません。現時点では最大10秒まで増やせます。
・ツリー全体表示

【1291】Re:Dual Mobile Athlon MP
←back ↑menu ↑top forward→
 hiyohiyo  - 04/11/17(水) 0:07 -

引用なし
パスワード
   ▼期待せずに待ってる人さん:
>早速使わせていただきました。
>相変わらずブルーバック連発です。
基本的なことですが、K7/K8 Multiplier で変更する分には問題ないんですよね??

>あと気になる点が1つ
>任意のウェイトを変更した時、iniファイルは設定値が反映されているのですが
>Multiplier Managementの設定を開くと1000msと表示されます。
えと、思いっきりバグです。

起きたら直します。
今日はもう寝かしてください・・・(>_<)
・ツリー全体表示

【1290】Re:Dual Mobile Athlon MP
←back ↑menu ↑top forward→
 期待せずに待ってる人  - 04/11/16(火) 12:29 -

引用なし
パスワード
   早速使わせていただきました。
相変わらずブルーバック連発です。
マシン構成に対して電源容量が足りないかもしれないので、
電源強化後、再度挑戦したいと思います。

あと気になる点が1つ
任意のウェイトを変更した時、iniファイルは設定値が反映されているのですが
Multiplier Managementの設定を開くと1000msと表示されます。
・ツリー全体表示

【1289】Re:Dual Mobile Athlon MP
←back ↑menu ↑top forward→
 hiyohiyo  - 04/11/13(土) 16:00 -

引用なし
パスワード
   ▼期待せずに待ってる人さん:
>もう待たない方がいいですか?
こんなん(4.0.3.222)でいかがでしょうか?

CPU1 と CPU2 の倍率変更の間に任意のウェイトが入れられるので動くようになるかと。
このウェイトはソフト的な要因ではなくマザーボードの性能?に依存します。リセットがかからない値よりもちょっとゆとりを持って設定しておくと良いかと思います。また、Multiplier Management のクロック遷移周期はシングルプロセッサよりも長めに取った方が良いかと思います。

では、人柱レポートお待ちしております
・ツリー全体表示

【1288】Re:4.0.2.221 おかしくない?
←back ↑menu ↑top forward→
 ひよひよ  - 04/11/13(土) 14:07 -

引用なし
パスワード
   ▼Samurai01さん:
>221A DL しました。動作もOKです。
>ありがとうございました。m(._.)m
いえいえ、こちらこそ報告ありがとうございました。
・ツリー全体表示

【1287】Re:4.0.2.221 おかしくない?
←back ↑menu ↑top forward→
 Samurai01  - 04/11/13(土) 14:07 -

引用なし
パスワード
   221A DL しました。動作もOKです。
ありがとうございました。m(._.)m
・ツリー全体表示

【1286】Re:Dual Mobile Athlon MP
←back ↑menu ↑top forward→
 期待せずに待ってる人  - 04/11/13(土) 12:40 -

引用なし
パスワード
   もう待たない方がいいですか?
・ツリー全体表示

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