「例のケーブル」を使ってG5 Laser Mouseのケーブルを交換

長年愛用しているLogicoolの「G5 Laser Mouse」だけど、どうも時折マウスが一時的に切断されるという症状が頻繁に発生し、ケーブル部分が断線していそうなので交換してみることにしました。
普通のUSBケーブルではんだ付けすれば代用できるんだけど、このG5 Laser Mouseは布巻のケーブルを使っているので見た目が同じになるように何か同じように布巻のUSBケーブルが無いか調べてみたら、丁度ゲーミングマウスのケーブル交換用パーツ「例のケーブル」なる明らかな便乗ネーミングの商品が売っているのを発見。価格も700円台とそれなりに安く、ツクモで売っているようなので5月10日に東京インディーフェスタで秋葉原に行くついでにその日購入だけはしておきましたが、今日になってようやく交換作業を行ってみました。


G5 Laser Mouse自体の分解は簡単で、裏側にある型番や隠しネジと、上下のソール部分をはがすと出てくるネジ4本を外せばケースが外れるようになっています。


構造上、ホイール部分に凄まじいゴミが貯まる構造になっていて何年も使っていると、この世の物とは思えない何かよく分からない塊がホイール部分に固まって動きにくくなってくるのでここも掃除。
元々「例のケーブル」は、「DRTCM37」「DRTCM38」「Mizar」「Alcor」用の交換ケーブルということで取り付けられるか不安だったけど、まあ案の定マウスへの付け根出っ張りが邪魔だったり、むき出しのケーブルが長すぎたり、コネクタの配線が違ったりとG5Laser Mouse向けには全く適していませんでした。

仕方ないのでニッパーで付け根にあたるゴム樹脂(?)と思われる物体をニッパーで出来る限り排除し、元のケーブルのコネクタ部分を切って「例のケーブル」の各配線にはんだ付けしてみることに。

ハンダづけが下手だったのと、収縮チューブの大きさが合ってなくてかなり歪な大きさになり一部導線がむき出しにはなっているが、うまい具合にショートせずになんとかマウス内部の空き空間に収まってくれた。
ついでにソールもかなり剥げてきていたので、こちらは別にAmazonで注文したG5 Laser Mouse用のソールに張替

パワーサポート エアーパッドソール for Logicool G5/G7 PAS-75

パワーサポート エアーパッドソール for Logicool G5/G7 PAS-75

とりあえずこれで2〜3時間ほど使ってみたけど、今のところは切断症状も発生せず修理完了。

ドスパラ Critea CX (クリテア CX) メモリ8GB増設

今年11月に発売されたドスパラのノートパソコン「Critea CX (クリテア CX)
CPUが非力とはいえWindows 8.1 with Bingなら35,980円(税抜き)で買え、前に使っていたノートパソコンにお茶をこぼしてしまい新しいワープロ目的のノートパソコンが欲しいというお客さん用がいたのでこれを購入することにした。
標準では2GBのメモリを搭載しており、お客さんの用途では別に2GBでも十分ではあったものの、どうせだったら最大搭載量まで搭載してみようと思い、ついでに4GB×2枚のDDR3L SO-DIMMメモリも一緒に購入。メモリ代も込みで4万5千円と多少高くなるが、これでもCeleron 2950M・2GB搭載モデルと5千円以上の価格差があるのでよしとした。Windows 7搭載モデルだと8GB搭載のデュアルチャネルにカスタマイズ可能なようだけど、自分で個別に買って取り付けた方が千円安いしOS代だけで1万円以上の差がある。
後々、考えたらカスタマイズで4GB×1枚なら+2千円で選択できたから、それと別途4GB一枚購入って方が2千円安かったな。まあ、同じメーカーのメモリで揃えたほうが安心感があるのでいいか。

購入したメモリは同じくドスパラで一番安かったA-DATA製「DDR3L-1600 4GB×2」をチョイス。注意点としてCritea CXに搭載できるメモリはDDR3Lで通常のDDR3とは違う低電圧版(1.35V)ということ。通常の1.5V品を取り付けても動作しない可能性がある。

取り付け方法はCritea CXのバッテリーを外し(購入時なら最初から外れてる)、ひっくり返して三か所のネジ(写真の赤い丸で囲った部分)を外してパネルを取り外す。パネルはツメでも固定されており、写真の上側から外していくのだが結構固いので折れたりしないように細いマイナスドライバーを入れながら少しずつ外していくと安全かも。

パネルを取り外すとマザーボードが見えるので、標準の2GBメモリが刺さっている個所と中央の空いてるスロットにそれぞれ差し込んであとは再びパネルを取り付けて完成。

マザーにGPUとVRAMを実装すると思われるランドがあるんですけど、実際に搭載できるんでしょうか?


後は動作確認。BIOSでもWindowsのシステム上からも8GBが認識された。
メモリの容量自体も増えたし、標準だと1枚しか搭載していないのでシングルチャネル動作かと思われるが、2枚取り付ければデュアルチャネル動作になるので若干グラフィック性能が上がるかと思う。

LaVie LL750/DにWindows 8.1をインストール


お客さんに売った2005年9月発売のNEC製ノートパソコン「LaVie LL750/D」のWindows XPがサポート切れになるとのことでWindows 8.1をインストールしてみました。同じようにサポート切れということで古いマシンにWindows 8.1を入れたいという人には参考になるかもしれないが、今の時代買い換えた方が安上がりになってしまうかも。
Windows 8.1SSE2命令とNXBit対応のCPUが必須となっているものの、LL750/Dに搭載されているCeleron M 360JはNXBitに対応していないのでそのままインストールできないが、既にPentium M 740に交換済みだったので問題なくクリア。ただ、メモリは搭載していたのが1GB(VRAMで128MB使用)と心細いので最大の2.25GBまで増設してみた。
基本的にWindows 8 アップグレード アシスタントでも特にインストールに不具合が生じそうなハードウェアは見つからず、普通にWindows 8.1 32bit版のディスクを入れてそのままインストールをしていけばすんなり進んでくれるんだけど、何点か引っかかった箇所があった。


まずサウンドドライバ。SoundMaxを使用しているようだが、インストール当初はサウンドドライバが入らず、そのままWindowsアップデートで検索してもドライバ類は出てこなかったが「その他の Microsoft 製品の更新プログラムを入手」でWindows自体以外のアップデートも対象に加えれば自動的に認識し、問題なくドライバのインストールが行えた。


次にビデオドライバ。入れなくてもWindows 8.1をデスクトップ画面で使うには特に不満はないが、メトロ画面だともっさり感が半端ない常態となってしまっている。デスクトップ画面しか使わないのでメトロ画面が遅くてもいいけど、何か負荷のかかるグラフィックが表示された際にもっさりする可能性があるのでなんとかしてインストールしてみる。このマシンに載っているRADEON Xpress 200Mは基本的にWindows 7用のドライバまでしか提供されていないが、infファイル書き換えでWindows 7用のドライバを入れられるようなので実践。AMDのドライバダウンロードサイトよりCatalyst™ Display Driver 10.2をダウンロードして実行しインストーラをいったん終了してC:\ATI\Support\10-02_legacy_vista32-64_dd_ccc\Packages\Drivers\Display\LH_INF\CL_95951.infを編集。このマシンに搭載されているXpress 200Mは型番RC410ではなくRC400の方で修正するのは
ATI RADEON XPRESS 200 Series” = ati2mtag_RC400, PCI\VEN_1002&DEV_5A41
となっている箇所を
ATI RADEON XPRESS 200 Series” = ati2mtag_RC400, PCI\VEN_1002&DEV_5A42
と最後の1の部分を2に変更すればいい。
これでデバイスマネージャーからドライバのインストールを行い、編集したCL_95951.infを指定して署名の警告を無視して入れれば問題なく認識される。


最後にシャットダウン後に再び電源を入れた際、ディスクアクセスランプが点いたままWindows 8.1の起動画面で止まってしまう問題。電源オプションを開き、右側の「電源ボタンの動作の変更」をクリックし、「高速スタートアップを有効にする」のチェックを外せば問題なくシャットダウン後のフリーズ問題が直る。このチェックボックスが灰色で切り替えられない状態の場合は上の「現在利用可能ではない設定を変更をします」を押せば切り替えられるようになる。ついでに、この画面で電源ボタンの動作を「シャットダウン」に切り替えておいた。


後は、タスクバーを右クリックして起動時にメトロUIに切り替えないで直接デスクトップに移行するように設定を行い、画像ファイルを開いた際は全画面表示にならないように既定のプログラムから画像ファイルを開くプログラムを全てWindows フォトギャラリーに切り替えて作業終了。XPに慣れきってる老人のお客さんだけど、特に違和感なく操作ができる状態になった。


Windows 8.1は完成度自体は高いと思うし、ちょっと設定変更を行うだけで以前のOSとデスクトップ画面での使用を前提としても使い勝手が向上すると思うけど、OSインストール時の段階で1ボタンクリックでデスクトップに最適な設定に切り替わってくれると面倒が省けてよかったんだが。

コモドール64のスペックの解説

Giana Sistersの事書いたついでに、前々から書こう書こうと思っていたホームコンピュータ「Commodore 64」についてこの機会に知っている限りで書くことにした。
日本ではこのGreat Giana SistersのプラットフォームでもあったCommodore 64(以下C64)の詳細についてあまり知られておらず、日本語で詳しく解説しているサイトもほとんど見つけられなかったので、今回は当blogで大まかなスペックや機能などを解説する。ただし、自分も海外サイトを見ただけでまとめたので細かい所は間違えている可能性があり、その時はコメント欄なりでツッコミを。


C64は1982年にアメリカのコモドール社から発売されたホームコンピュータ。名前にある64とはメインRAMが当時としては大容量の64KB搭載されていたことに由来する。同じ64KB搭載したAppleIIIBM PCが$1,200〜$1,400で売られていた時代に、圧倒的なグラフィックとサウンド機能と64KBのメインRAMを搭載して半額以下の$600で発売されたために全世界で1,700万台という爆発的なヒットを飛ばした名機。
以下はそのスペック

  • CPU

AppleIIファミコン(カスタム品)でも使われた6502に8ビットのI/Oポート(メモリアドレス$01)を追加した6510という物を使用。動作周波数はNTSC地域で1.024MHz・PAL地域で0.985MHz。AppleIIと同じ1.024MHzではあるけど、ファミコンの1.79MHzには負ける。
6510で追加されたI/OポートだがC64では64KBあるメインRAMにすべてアクセスするためにROM・I/Oとバンク切り替えに使用したり、テープレコーダのデータ読込・モータ制御に使用している。
8ビットのうち6ビット分のみ使用していて、最初の#0-#2ビットの3ビット分にデータを書き込むとメモリアドレス$A000-$BFFF・$D000-$DFFF・$E000-$FFFFの3つの領域がRAM・ROM・I/Oのいずれかに切り替わる。
%x00書き込み時:全てのメモリアドレスをRAM領域にセット
%x01書き込み時:メモリアドレス$A000-$BFFF・$E000-$FFFFをRAM領域にセット
%x10書き込み時:メモリアドレス$A000-$BFFFがRAM、$E000-$FFFFをカーネルROM領域にセット。
%x11書き込み時:メモリアドレス$A000-$BFFFがBASIC ROM、$E000-$FFFFをカーネルROM領域にセット。
%0xx書き込み時:メモリアドレス$D000-$DFFFにキャラクターROMをセット。(%000書き込み時は無視される)
%1xx書き込み時:メモリアドレス$D000-$DFFFにI/Oをセット。(%000書き込み時は無視される)
※ビット書き込み時のxは任意のビット


I/Oポート残りの各1ビットづつで、読み込んだテープのデータ信号、テープレコーダのボタンが押されているか読込、モータのオンオフを実装している。

  • RAM、ROM

先ほど書いた通り64KBのRAMを搭載しているが、CPUだけでなくグラフィックチップ側のVIC-IIからもVRAM代わりに読み込みが発生する。基本的には交互にアクセスするサイクルスチールのような形となるが、VIC-II側でキャラクターポイントアクセス時に40クロック、スプライトデータアクセス時にスプライト毎に2クロックの追加クロックが発生し、その間はCPU側が停止することとなる。
またメインRAMの他にカラーRAMというキャラクター(文字)の色を決めたりマルチカラービットマップモード時に使用するRAMがI/Oアドレス上に1KB(40×25×16色・4ビットで512バイトだが上位4ビットは無視される)配置されている
ROMはカーネル・BASIC・キャラクターと分かれており、カーネルに基本的なルーチン、BASICはプログラミング言語、キャラクターに文字のフォントが書き込まれている。キャラクターROMは使用しなくてもRAM上にキャラクターを置いておいてVIC-IIの読み込みアドレスを変更すれば任意のキャラクターに変更することが可能。

  • VIC-II(グラフィックチップ)

C64の象徴の一つと言うべきチップ。
VICはVideo Interface Chipの略称で、コモドール社の前世代機「VIC-20」に積まれていたチップの後継となっている(ただしほぼ別物)。
メインRAM64KBのうち16KBがVIC-II側で読み込めるメモリ空間で、スクリーン・キャラクター・ビットマップと用途に合わせておおまかに3つの領域に分けられバンク切り替えのような形でメモリアドレスが変更できる。
スクリーンでは配置するキャラクターの種類やビットマップモード時のドットの色、キャラクターではフォントのグラフィック(もちろんキャラクターROMを使用することが出来る)、ビットマップではドットの情報を格納する。
1982年に登場したグラフィックチップとしては非常に高性能で、320×200ドット16色、スムーズスクロールやマルチカラースプライト、更にはラスター書き込み位置やスプライト衝突を検出してCPU割り込みを発生させることが出来る。


まずは背景面の画面モード解説
・標準キャラクターモード
横40×縦25で縦横8ドットのキャラクターを表示(解像度320×200ドット)していくモード。
スクリーンRAM領域から配置するキャラクター情報(256種)を読み込み、カラーRAM読み込んだ文字の色を各キャラクター毎に16色中1色で色づけしていく。
背景の色はVIC-II側のレジスタに書き込んだ16色中1色ですべてのキャラクターで共通の色が使用される。


・マルチカラーキャラクターモード
横40×縦25で横4縦8ドットのキャラクターを表示(解像度160×200ドット)していくモード。
横方向の解像度が半分になるのと、追加される色は全てのキャラクターで共通ではあるものの、キャラクター毎に指定できる16色中1色の他にVIC-II側のレジスタに書き込んだ2色で指定色1色 + 共通色2色の計3色(+背景色1色)でキャラクターに色づけしていく。


・標準ビットマップモード
解像度320×200ドットの解像度に自由にドットを打ち込めるが、縦横8ドット毎に指定した16色中2色のみ使用可能というモード。
ビットマップRAM領域を読み込み、0ビットだったらスクリーンRAMの上位4ビット(16色)の色、1ビットだったらスクリーンRAMの下位4ビット(16色)の色で色付けしていく。


・マルチカラービットマップモード
解像度160×200ドットとやはり横解像度は低下するものの横4ドット縦8ドット毎に指定した16色中3色 + 共通色1色の計4色でドットを打ち込めるモード。
ビットマップRAM領域を2ビット毎に読み込み、00ビットならVIC-II側レジスタで指定した共通色、01ビットならスクリーンRAMの下位4ビットの色、10ビットならスクリーンRAMの上位4ビットの色、11ビットならカラーRAM上の色で色付けしていく。



続いてはスプライト面の解説
横24ドット×縦21ドットの指定色1色の単色スプライトか、
横12ドット×縦21ドットの指定色1色 + 全てのスプライトで共通の2色のマルチカラースプライトを合計8個まで設定することが出来る。
8個って少なすぎるだろ、って思う人も多いと思うがC64にはラスター検出による割込み機能があるのでスプライトダブラー(スプライトを再定義して表示数を増やすテクニック)を使用することが出来る。


32個のスプライトを表示させているデモ


プレイヤーキャラの解像度を稼ぐために黒・白・黄・茶の単色スプライトを4枚重ね、その他のキャラクターは低解像度のマルチカラースプライトで表示しているC64ニュージーランドストーリー


また、このスプライトは縦横で別々に2倍表示に指定させることが可能だったり、他のスプライトや背景面と衝突を検出して割込みが発生する(と同時にスプライト8個、8ビット分あるレジスタの値が変わる)、デカキャラを表示させたり当たり判定の作成が楽になる機能を備えている。

  • SID音源(サウンド)

C64のもう一つの象徴。
短形波・三角波・のこぎり波・ノイズの計4波形を3音同時に出力できる。
ADSR(エンベロープ・ジェネレータ)も3音個別に指定させることが可能で、ハイパス・ローパス・バンドパス等のフィルタ通して鳴らすことが可能で、一般的なPSG音源やファミコンの音とは違う音色を奏でることが出来る。
日本語で詳しい解説はこちらのサイトが参考になると思う。


サンプリング音源まで使用して演奏されるC64版ターボアウトランBGM

  • デモ

デモといえばAMIGAで動くデモが有名だが、C64も1MHzと64KBという制約の中で信じられない動きを見せつけてくれるデモが数多く存在し、驚愕とさせられる。
拡大縮小表示や簡単な3D表示はもちろん、果ては動画再生(流石にデータの格納にはフラッシュメモリを使用しているようだが)まで実現させるのであるから海外のデモ製作者は恐ろしい。



  • 参考資料

C64 Wiki
Commodore 64 memory map
Commodore 64 display modes
The MOS 6567/6569 video controller (VIC-II) and its application in the Commodore 64


25c3: The Ultimate Commodore 64 Talk

Windows 8 Proへ39.99ドルでアップグレード、7/Vista/XP全エディション対象

INTERNET Watch
Windows Vistaで満足しているけど、ここまで安いなら買っておいて損はないな。糞OSだったとしても出費は痛くないし、またしばらくはVista環境のままにして、サービスパック配布や次期OSが来たら乗り換えればいいだけだし。
ただ、日本語版は何故か5,000円以上とかになってそうだけど。

不要になったフロッピードライブをどうする? 捨てる→もったいない - 楽器に使う→正解

フロッピーディスク自体も製造終了となり、BIOSアップデートですらWindows経由やUSBメモリブートでできるようになった今では、まったくと言っていいほど使用しなくなってきたフロッピーディスクドライブ。
何台も余らしているジサカーも多いんではないんでしょうか?そこで今回は素晴らしい再利用方法をご紹介。
フロッピーディスクドライブで音楽を演奏しようというもの。え?叩いてシンバルやドラム代わりにでも使うのかって?違う、違う、あの「ジージー」というやかましいシーク音を利用して音楽を鳴らすのである。もちろん、一台だけでなく何台も利用すれば多重演奏だってできる。
元々、80〜90年代のPC DEMOで流行ったテクニックだが、今聞いてもノスタルジックでありつつも斬新な感覚を感じる。


スーパーマリオブラザーズのテーマ


DOOM - E1M1


Duke Nukem 3D テーマ「Grabbag」

Hail to The Floppy, Baby!
Drive of Steel.


Portal エンディング曲「Still Alive」


Portal2 エンディング曲「Want You Gone」


トッカータとフーガ