260517 簡単にできる溶接方法 [r/UnfilteredChina]

Welding work in CHina

これはいち技術者として看過できない。このSubは購読していないけど、時々サジェストに表示される。その中でもこれほどひどいものを見たのは初めてだ!

しかし、コメントにもあったけど、コスプレ道具の製作に使うツールとしては正しく有用だな。

最近のマウスを Windows 98 SE で使えるか?

PCを構成するデバイスの中でもマウスはハードディスクと並んで機械的損耗が激しいので、どうしても数年おきの買い替えを余儀なくすることになる。最近発売されたマウスが Windows 98 SE でどのように使えるか確かめてみた。Logicoolのマウスしか調べていないのは単純にそれしか持っていないからです。

USBマウスの認識

いずれも ASUS P2B(Intel 440BX チップセット)のオンボード USB 1.1 ポートで確認。

G502 X LIGHTSPEED (LIGHTSPEED ワイヤレス)

USBポートにレシーバーを接続して汎用ドライバーにて自動で認識。再ペアリングはWindows 10以降のPCで Logicool G HUB を使って行う(マウスとレシーバーの組み合わせを変えない限りはPCが変わっても再ペアリングする必要はない)。

MX Anywhere 2S (Unifying レシーバー)

UnifyingはLIGHTSPEEDより一つ前の世代のLogicool共通ワイヤレス規格(2022年にサポート終了)。USBポートにレシーバーを接続して汎用ドライバーにて自動で認識。再ペアリングはWindows XP以降のPCで Unifying ソフトウェアを使って行う。

G502 HERO (有線)

USBケーブルを接続して汎用ドライバーにて自動で認識。

5ボタンマウスのサイドボタンを使うには

以上3モデルのいずれもWindows標準では左クリック、右クリック、マウスホイール、DPI切り替えを使用可能。

Microsoft IntelliPoint 4.12 をインストールするとエクスプローラーなどでサイドボタンを戻る・進むコマンドとして使えるようになる。このソフトウェアにはWindows 98標準マウスドライバーで4ボタン以上のマウス (IntelliMouse Explorerなど)を使えるようにする応急修正 Q254660 が含まれている。

Microsoft ハードウェア - マウス - ダウンロード - Microsoft IntelliPoint Software Version 4.1
https://web.archive.org/web/20101212212432/http://www.microsoft.com/japan/hardware/mouse/download_win98.mspx

Image: IntelliPoint 4.12

しかし、IntelliPoint ソフトウェアでは5ボタンをサポートするMicrosoft製マウスとして認識されずに上のような画面になり、ボタンの割り当てを戻る・進む以外に変更できない。そこで、フリーウェアの『どこでもホイール』を使うと、アプリごとにサイドボタンの役割を設定できる(IntelliPointは必要)。

どこでもホイール v3.7
http://www2k.biglobe.ne.jp/~araken/qdoko.htm

Image: どこでもホイール

Image: どこでもホイール

やはり最近のレーザーマウスの操作性は当時のボールマウスや赤外線マウスより段違いに優れている。Windows 98に公式で対応しているレーザーマウスとなると G5G7 などのゲーミングマウス最初期モデルになるが、苦労してそれらの新古品を入手したとしても、快適なエクスペリエンスを手に入れられるとは限らない。それにマウスは消耗品だ。私もXP現役当時に G5 を使っていたが、5年を経たず壊れてしまった。技術的に発展途上でいつまで持つか分からない物にすがりつくより、最新のもので対処できる方法を探した方が賢いと思う。

混迷するSB16/SB32/AWE32/AWE64のWin9x用ドライバー

最近、夜勤が連続していて、GW明けから日中はずっとPCをいじくっている。データを貯める一方で全然整理できていなかったので、昔ダウンロードしたファイルなどを確認している。今、XP以前のドライバーやソフトウェア、特に英語版や国際版はサルページされているファイルが多いが、日本語版のファイルは入手しにくくなっているので、消さずに残しておいてよかったと思う。


Sound Blaster AWE 64は私が初めて使ったPCに載っていたサウンドカードであり、今でもWin98機で別のAWE64カードを使っているが、昔から思っていたことの疑問の一つで、Win9x用ドライバーのどれが最新版なのかイマイチ分からないと思っていた。バージョンの前後関係を調べてみたところ、思った以上に複雑だった。以下はSB16SND.DRVのバージョン番号。NEC PC-9800シリーズについては考慮していない。

  • 4.00.493 (1995/10/03) - Windows 95 に付属。
  • 4.00.502 (1995/10/03) - Windows 95 CD-ROM版の追加ドライバー (\DRIVERS\OTHER\CREATIVE\SB16-AWE) として収録。
  • 4.31.00.0068 (1996/08/28) - DirectX 3.0A に付属。
  • 4.36.13 (1997/03/14) - カード付属の AWE64 Audio Software CD GA64-CDSTD-1-JV (Revision 2) に収録。
  • 4.37.00.0155 (1997/07/15) - DirectX 5.0 に付属。
    • 4.37.00.0155 (1999/01/10) - DirectX 6.1(Windows 95用日本語ドライバ)に付属。バイナリは DirectX 5.0 と同一。
    • 4.37.00.1998 (1998/06/12) - Windows 98 に付属。翻訳を改善。MS UI ゴシック フォントに対応。
    • 4.37.00.1998 (1999/05/05) - Windows 98 Second Edition に付属。バイナリは Windows 98 と同一。
    • 4.37.00.3000 (2000/06/08) - Windows Me に付属。翻訳を改善。VXDファイルを削除。
  • 4.38.14 (1998/06/05) - Creative のサイトにあるアップデート sbw95up.exe CAS-95DRV-1-JV ( Revision 14 )

最新(最終)のドライバーはCreative のサイトにあるファイル。Windows 98以降付属のものより日付は古いが、バージョンは新しい。変更点として以下のように記載されている。

DirectX に対するパフォーマンスの改良。
Full Duplex パフォーマンスの改良。
Windows 98 への対応。
SB16.VXD v4.38.12 → v4.38.14
SB16SND.DRV v4.38.12 → v4.38.14
SBAWE.VXD v4.38.0 → v4.38.2

このセットにはユーティリティーは付属しないため、これだけでは内蔵シンセの音色やエフェクトの変更などはできない。順番としては、先にサウンドカード付属のCDからドライバーソフトウェアをインストールした上で、アップデートを適用することになる(Windows 98以降ではOS添付ドライバーより日付が古いため手動インストールする必要がある)。

Windows 更新プログラムの中身を展開する [PowerShell]

ForEach-Objectコマンドレットによってフォルダー内の全てのファイルに対してコマンドを実行している。

展開コマンド

Windows 98, Meの更新プログラム用。cab形式を展開できるアーカイブソフトを使う方法もある。

Get-ChildItem -File | ForEach-Object { Start-process $_.Name -ArgumentList ("/c /t:" + "D:\fix\" + $_.Name) }

Windows 2000, XPの更新プログラム用。中身は差分データに加工した上で圧縮されているため、通常のアーカイブソフトで展開すると完全なファイルにならない。管理者権限のPowerShellで実行しないと、各更新プログラムを実行するごとに管理者昇格画面が表示されてしまう。

Get-ChildItem -File | ForEach-Object { Start-process $_.Name -ArgumentList ("/quiet /extract:" + "D:\fix\" + $_.Name) }

ファイルのバージョン情報などをCSVに出力

Get-ChildItem *.* -Recurse | 
  Add-Member -MemberType ScriptProperty -Name ProductVersion -Value { 
  $this.VersionInfo.ProductVersion 
  } -PassThru |
  Add-Member -MemberType ScriptProperty -Name FileVersion -Value { 
  $this.VersionInfo.FileVersion
  } -PassThru |
  Add-Member -MemberType ScriptProperty -Name DirName -Value { 
  $this.DirectoryName
  } -PassThru |
  Select-Object -Property LastWriteTime, ProductVersion, FileVersion, Length, Name, DirName|
  export-csv -path result.csv

エントリ ポイント SetSeachPathMode が KERNEL32.dll から見つかりません

Image: エントリ ポイント SetSeachPathMode が KERNEL32.dll から見つかりません

Let’s Note CF-NX2にWindows XPをセットアップしていて、Windows 7 32ビット版ドライバーのほとんどはそのままインストールできたんだけど、インストールできなかった中で一つ、こんなメッセージが表示された。

SetSearchPathMode function (winbase.h) - Win32 apps | Microsoft Learnによれば、このファンクションは Windows 7またはWindows Server 2008 R2以降、あるいは、Windows XP SP2以降およびWindows Server 2003 SP1以降のKB959426によって再配布されていると書かれている。もっと深掘りすると、このファンクションはMicrosoft Security Bulletin MS09-015 の脆弱性修正パッチで追加されたAPIだと分かった。技術的な詳細はこちらを参照。

→ WindowsアプリケーションにおけるDLL読み込みに関する脆弱性について https://micco.blog/vul/2017/mhvi20170718.htm

この問題を解決するにはKB959426の更新プログラムをインストールするのが手っ取り早いのではあるが、このモジュールは後にKB968389とKB2922229で完全に置き換えられている。いずれもMicrosoft Update カタログもしくは下記直リンクからダウンロード可能。

Windows XP 用更新プログラム (KB968389)
http://download.windowsupdate.com/msdownload/update/software/crup/2009/08/windowsxp-kb968389-x86-jpn_399d80c82971924a9efc76b5ec95d78b9302e575.exe
Windows XP 用セキュリティ更新プログラム (KB2922229)
http://download.windowsupdate.com/c/msdownload/update/software/secu/2014/03/windowsxp-kb2922229-x86-jpn_a4b0d7f735a6ea578528114b89e060b991e9efb2.exe

こういうバージョン違いがあるので、過去の更新プログラムを集めてファイルバージョンをまとめてみた。

Windows XP SP3 更新プログラム ファイルバージョン一覧(ファイル別) - radioc.dat

Let's Note CF-NX2をWinXPゲーム機としてセットアップした

Image: Let's Note CF-NX2をWinXPゲーム機としてセットアップした

XPゲーミング機としてセットアップしてみたけど、期待していたより3D性能は伸びなかった。まあでも、Vistaや7を考えずにXPゲーム専用として見るなら、タワーPCを置き換えるには十分か。

同世代のAPU/GPUとベンチスコアを比較

CF-NX2L 自作PC APU 自作PC GPU
CPU Core i5-3320M 2.6GHz 2C4T A8-7600 3.1GHz 2C4T Core i5-3570K 3.8GHz 4C4T
GPU (Intel HD Graphics 4000) (Radeon R7 Graphics) Radeon HD7850
3DMark2001 SE 13226 20066 73743
3DMark05 5101 未確認 27020
N-Bench V3 4788 4220 8363
ぐるみん (DX9) 36513 83975 実行不可
ゆめりあ (1024x768) 11544 45600 164047
DQX Ver.1.10 (標準) 3008 未確認 15092

CF-NX2LはデスクトップAPU(AMD A8-7600)に3D性能で大きく差を付けられている。N-Benchのスコアが高いのはCPU性能で差を付けているためで、3DスコアではAPUに負けている。

XP時代のグラボとベンチスコアを比較

CF-NX2L GeForce 6800 GeForce 7600 GT
3DMark2001 SE 13226 27214 30324
3DMark03 8136 8764 17150
3DMark05 5101 3837 6256

3DMark03はCF-NX2Lでもヌルヌル (60 FPS以上) で動く。3DMark05は30FPSを切り、2004年のフラグシップであるGeForce 6800 Ultra(3DMark05スコア 5800くらい)には届かない程度。XP時代後期の3Dゲームを最高画質でプレイするにはちとキツい。ちなみに、Pentium 4世代(2005年)のオンボードグラフィックである Intel 945Gチップセットでは3DMark05のスコアは620程度であり、10倍近い差がある。Vistaからグラフィック性能が底上げされた影響は大きいか。

大差を付けていたら満を持して乗り換えるんだけども、微妙な感じだったから色んなベンチを走らせて比較することになった。結局、移行するメリットの方が大きいから移行するんだけど、データの移行が大変そうだ。ファイルのコピーが終わってもセーブデータとかレジストリーとか、完全に移行されているかどうかが不安で、データを消去する決心がつかなくて困る。

ゲーミングPCとして使う上での致命的欠点

このマシンの内蔵キーボードは文字キーと←/↑/→の組み合わせで入力すると、3キー同時押しで←/↑または→/↑での斜めが入らない。これはアクションやシューティングゲームにとって非常に都合が悪い。代わりにUSB外付けのキーボードかゲームパッドを使用することを推奨。

260510 WebでWindows XPのライセンス認証をする

Image: 260510 WebでWindows XPのライセンス認証をする

Windows XPの発売から25年が経過した今、正規にライセンス認証をアクティベートする方法はもう失われているんじゃないかと思ったが、まだ方法が残されていて驚いた。

本来、Windows XPのライセンス認証方法は次が存在した。

  1. ネット接続で自動認証。
  2. 電話でコード認証。
  3. 鍵生成ツールでコードを生成して認証(非正規の方法)。

通常は1の方法を利用し、ネットが使えない環境やPCパーツの入れ替えで再認証が必要になったときは2の方法を利用した。3の方法は比較的最近知られるようになった。電話認証に使われるコードが一定の法則で生成されることを逆手にとって第三者によって作られたツールを使うもの。かつてこの手のツールは専ら不正コピーユーザーによって使われ、出自が怪しいものが多かったが、今ではGitHubにソースコードとともに堂々と公開されている。

今の時代、XPのPCをネットに接続するのは非常にリスクが大きい。電話認証という代替手段があったが、2025年12月に電話認証は廃止され、マイクロソフトのWebサイト上で電話と同等の手順で認証する方式になった。Bot対策のためかMicrosoftアカウントでサインインする必要があるが、Office 365と違って認証はMicrosoftアカウントに紐付けされないことになっている。

The account used to sign in is not tied to your product license. It is used only to validate secure portal access.

まず、XP上で電話でライセンス認証する画面を開く。

Image: Windowsのライセンス認証

ネットに繋がっているPCやスマホから次の手順を行う。

  1. 次のページから「製品ライセンス認証ポータル」にアクセスする。
    製品ライセンス認証ポータルを使用して Microsoft 永久製品をアクティブ化する - Microsoft サポート
  2. Microsoftアカウントでサインインする。
  3. 「Microsoft製品のライセンス認証を行う」を選ぶ。
    Image: 製品ライセンス認証ポータル
  4. 「Windows」を選ぶ。
    Image: 製品ライセンス認証ポータル
  5. 「Windows XP」を選ぶ。
    Image: 製品ライセンス認証ポータル
  6. XP上の「電話でWindowsのライセンス認証の手続きを行う」画面に表示される「インストールID」を入力する。
    Image: 製品ライセンス認証ポータル
  7. インストールIDを送信すると確認IDが表示されるので、これをXP上のテキストボックスへ入力する。
    Image: 製品ライセンス認証ポータル
  8. これで完了。
    Image: 製品ライセンス認証ポータル

パーツを変更したときに再認証が必要になる条件は、パーツの種類によって重み付けの数字が決まっていて、この合計がしきい値を超えると再認証を要求される。ネットワークアダプターのMACアドレスとハードドライブ ボリュームシリアル番号の変更が一番重い。同じ種類のパーツを変更しても重複加算はされない。Microsoft側の認証情報は一定期間(180日?)後に削除される。

ファイル名とサイズ、SHA-1ハッシュの一覧を得る [PowerShell]

この先、使い回すかもしれないのでメモしておく。こういうシェルコマンドはAIに作らせると手っ取り早いから便利になったもんだ。

コマンド

Get-ChildItem * -File | Select-Object Name, @{Name="Size"; Expression={$_.Length}}, @{Name="SHA1"; Expression={(Get-FileHash $_.FullName -Algorithm SHA1).Hash}}

出力

Name               Size SHA1                                    
----               ---- ----                                    
clang64.exe       82060 AD8A55D4752F6A0163D5AAF280A3184E292C37D3
clangarm64.exe    82060 06C854905C1C638537022E226C285E06A76A724C
mingw32.exe       82060 70184EA0A86051A3936503106ED3E71A23B14ADB
mingw64.exe       82060 5608F8A75404534C1DB0618F4C257F0F10452B0F
msys2.exe         90252 6B980536F06565352C7A4A8B5993F7BF653B737B
ucrt64.exe        82060 A85B46EEA59C2119DBB4DD9FF01AF25B4548CFEF

備考

デジタル署名のタイムスタンプも取得できると良かったのだが、デジタル署名の処理はPowerShellの守備範囲から外れるため、ややこしそう(理論上、Winアプリができることは全てPowerShellにもできるため、不可能ではない)。

260505 XPのPCゲーム環境をラップトップへ移したい

いまタワーで組んでいるXPの環境をラップトップへ移そうかと考えている。Windows 10とデュアルブートを組んでいるので、かつてはセカンドPCとしても使うこともできたが、そのサポートが終了した今ではほとんどXP専用機として時々使う程度になっている。14年前に自分でパーツを集めて組んだPCだから愛着はあったんだけど、準レギュラーを引退している以上、これを置き換える案はないかと思っていた。

まず気になるのはグラフィック性能。3DMark 05のスコアがIntel HD Graphics 3000(第2世代Coreシリーズ内蔵GPU)で Geforce 6800 Ultra相当あるらしいので、ここが必要十分ラインか。2000年代中期のゲーミングラップトップPCはおろか、グラボを載せたタワーPCにも勝つんじゃないか?第1世代Coreシリーズはこの半分以下の性能になるので論外。2DゲームやRPG、SLGが中心なら有り得なくはないけど、現状とれる選択肢からこれを選ぶメリットがない。理想は第3世代Coreシリーズ。IntelがXPを公式にサポートしていた最後のチップセットになる。

画面出力にHDMIは欲しい。自分のゲームプレイを動画で残すんだったらもちろん、そうでなくてもHDMIで外部モニターに映像と音声を出せることのメリットは大きい。これがあれば、PC自体のモニターの画質や音質を気にする必要がない。

ストレージデバイスは手持ちのSSDに交換する前提だから2.5インチSATA接続なら何でもいい。アクセスしやすければ助かるけど。

メインメモリーはIntel HD Graphicsのビデオメモリーと共有で使うことを考えると2GBは欲しい。多い分には問題ないが、32ビットOSなので3GB以上を積んでいても恩恵を受けられない。

使用スタイルに合わせてモニターのサイズを選ぶ。

メーカーからXPに対応したドライバーが提供されているかどうか。家庭向けモデルしか出していないソニーは望み薄。ビジネス向けモデルを出しているメーカーが無難だろう。グラフィックやネットワークは汎用の物で揃えられるけど、タッチパッドやサウンドドライバーの合致する物を探すのは難しい。


んー、デザインだけで選ぶならVAIOがほしいけど、上の条件に当てはまる物を探すのは大変そうだな。あったとしてもメンテナンスは大変で、長持ちしなさそう。仕様が確実に分かっているLet’s Noteが無難かな。