小ネタ 2006-005

Nintendo DS Liteの解析

 ニンテンドーDS Liteのモックとか実機を解析したり実験してみた記録。

(注意: このページは事実を元にしたフィクションです。ネタです。造りねたっぽいです。)


DS Liteモックアップの解析

 DS Liteの発売まであと1週間(2006.2.25現在)となったが、予約できそうにない。任天堂からは出荷が減るとか延期とかの情報が出てきている。
 (旧DSは先行発売された北米版の初回ロットの初期不良で痛い目にあった。この恨みはまだ忘れていない。DS Liteも初回ロットは問題があるかもしれないが、一応特攻したいと思っている。)
 どうもDS Liteの入手はダメっぽいので、とりあえずモックアップを入手して、遊んでみることにする。

 モックアップの分解レポートは、インプレスが既にやっちゃっているので、ネタがカブらないようなことをやってみたい。

 
 まず、モックアップで気になるのは、GBAポートのフタが取れないことである。モックを分解してフタを取り外した。両面テープでガッチリと貼り付けてあった。
 どうしてフタの部品が貼り付けてあったのかというと、このモックにはGBAスロットのソケット部品が実装されていないからである。
 フタ部分の左側が少し長くなっている。DS-Lite専用カートリッジを旧DSに挿入するのを防止するためと思われる。でも簡単に折れそうだ。

 なんとかフタを取り外せたが、ソケット部品がないため、GBAカートリッジの取り付け具合のチェックができない。

 
 DSから取り外したGBAソケット部品を取り付けてみた。(DSにSuperCardを内蔵する改造をしたときに外したもの)

 基板上の部品を固定する部分のフットプリントが合わないが、強引に取り付けた。どうも部品が大きすぎるせいか、筐体がキレイに閉まらなくて、ちょっと膨らんでしまった。

 原因としては、
・DS Liteの筐体の素材が柔らかくて、たわみやすい。
・中身の部品を全部実装して組み立てると、特にGBAソケットのあたりの筐体に無理がかかるのかもしれない。ただし、DS LiteのGBAソケット部品が旧DSの部品と同じ寸法とは限らないが。
・ネジが1本足らないのではないだろうか? 筐体がたわんで浮きそうな部分をネジで締め付ければよいのだが、それが少ないため浮いてしまったと思われる。

 あと、電源スイッチの内部の突起部分が折れやすい。何度か組み立てしているときに折ってしまった。



DS-Liteのモック改に色々と挿してみた (2006.2.25)

 
 まずは普通のサイズのGBAカートリッジとして、MetroidPinballに付属のRumblePakを取り付けてみた。

 
 まわるメイドインワリオ(WarioWare Twisted)と、その小型版

 
 アドムービーとSuperCard-CF



DS-LiteのGBAスロットを延長して、裏側に折り返してみた (2006.2.25)

 GBAカートリッジを挿したときに出っ張るのが気になったので、試しに裏側に折り返すための延長コネクタを作ってみた。

 
 試作品を自作してみた。この写真では見えないが、配線を左右入れ替えるために大変だった。
 DS Liteの実機がまだ発売されていないので動作確認ができていない。

 
 取り付けてみたところ。

 
 SuperCard-CFの取り付け


(後日加筆 2006.3.8)
 DS Liteを入手できたので、動作確認してみた。GBAゲームは動いたが、マジコンが動かなかった。電力配線の太さが十分でないのかもしれない。


DS Liteの無線モジュールとファームウェア(2006.3.1)

 DSの分解写真が発売前に出ている。それを見ると旧DSでは基板に固定されていた無線モジュールが、DS Liteでは取り外し式に変更されている。取り付けは、基板スタック型のコネクタで接続するようになっている。


 DS LiteではPassMe2が動作し、FlashMeできるという噂が聞こえてきている。(FlashMeすると輝度調節できなくなるらしい) 旧DSとファームウェアは大きくは変わっていないのだろう。きっと、DS Liteでファームウェアを大きく変更して不具合が出るのをメーカーが嫌ったのだと思われる。

 FlashMeを失敗した場合の復旧方法の1つに、DSを分解して無線モジュールの中のファームウェアを格納したフラッシュメモリICの内容を直接書き換えるという方法がある。使われているフラッシュメモリはDSのゲームカートリッジのセーブ用フラッシュメモリと同じものである。汎用品なので書き換え方法も公開されている。DarkFader氏はppflashというソフトでPCのパラレルポートと接続して書き換える方法を公開している。

 DS Liteだと無線モジュールが取り外し式なので、より容易に分解しての書き換えが可能だと思われる。

 そのために必要なコネクタのピンアサインを調べたので、ここにメモを記録しておく。

 

 ちなみに旧DSでは無線モジュールは32ピンだったのが、DS Liteでは30ピンに減っている。 まだ調べ中だが、GNDへの接続が減ったみたいだ。 旧DSでは厳重に無線モジュールのシールドをしていたが、DS-Liteではあまり厳重でないように見える。ノイズ成分の電波を出す回路部分をモジュールの表側に集めて実装して、モジュールの表側のみをシールドする設計なのだろうか。

(後日加筆 2006.3.2)
 pin 27 - WP (SL1)


DS Liteのモックと無線モジュールとの接続コネクタについて(2006.3.2)

 今日(2006.3.2)はDS Liteの発売日だが、平日なので会社を休んだり徹夜で並んだりできなかった。普通に店に行ってみたが、全く手に入らない。仕方がないのでDS Liteのモックアップを解析して遊ぶことにする。

 DS Liteのモックアップを分解すると、中から生基板が出てくる。写真の下側がその基板である。左上は旧DS用の無線モジュールである。
 
 基板の左上のPIOと書かれた部分が無線モジュールのコネクタである。
 このコネクタは0.5mmピッチの30ピンコネクタで、ピン配置は上に書いたとおり。


DS Liteを分解して直接ファームウェアを書き換えるには (2006.3.2)

 DS Liteの無線モジュールにファームウェア用のフラッシュメモリICが搭載されている。このモジュールが取り外し式なので、ppflashのようにハンダ付けをしなくても、コネクタの抜き差しだけで直接ファームウェアの書き換えが可能だと思われる。
 
 前に作ったファームウェア書き換え器をアレンジして、DS Lite用のものを作ってみた。DS Liteが無いので動作確認はできていない。

(訂正 2006.3.2)
 ライトプロテクト用WP信号のSL1(Separate Land? or Split Land?)を導通させるのを忘れてた。ちなみにSL1はpin27なので、これをpin16と導通させればよい。

 ちなみにSL1は、WB2というテストランドにもつながっている。WB2を先に確認してたのでSL1を見落としてしまった。


 ファームウェアを簡単に復旧できることが確認できたらHomebrew FirmwareをDS Liteに入れるのを試してみたい。


DS Liteのファームウェアを書き換えてみた (2006.3.7)

 やっとDS Liteを入手できた。高くついた。さっそくFlashMeとかファームウェア書き換えをしてみることにする。

 自作PassMeは無印のものしか作ってなかったので、PassMe2が手元にない。そのためFlashMeだとかの自作ソフトが動かせない。(小型PassMe2は作製中)

 仕方がないので、DS Liteを分解して、先週作ったファームウェア書き換え器を使おうとしたのだが、基板スタック用のコネクタが合わなかった。

 結局、強引にファームウェア用ICにハンダ付けの配線して書き換えることにする。そのために、モジュールの表側の金属ケースを少し取り除いた。

 無線モジュールを取り出しやすいように、DS Liteの筐体に穴を空けた。といっても穴を空けたのはモックアップで、モックと筐体の裏側部分を交換した。

 
 

 入れてみたのは、
・旧DSのファームウェア
・旧DSでFlashMe済みファームウェア
・Homebrew firmware
を試してみた。どれもちゃんと動いた。

 ひととおり試した後、前もってバックアップを取っておいたDS Lite用のファームウェアに書き戻した。


 ちなみに、DS Lite用のファームウェアを旧DSに書き込んで、動くかどうかも試してみた。 残念ながらちゃんと動かなかった。起動時に例の警告画面が出た直後に電源が落ちてしまう。画面の輝度調整くらいしか差異がないと思うのだが、何で落ちるんだろう? パワーコントロールICのチェックで故意に落としているか、あるいは輝度調整方法と電源制御の方法が誤作動するような仕様になっているのだろうか?


DS LiteでPassMe2を使ってみる (2006.3.8)

 オプティマイズのPassMeキットを書き換えて、PassMe2にしてみた。 いままで、PassMeが使えないように対策される前のDSしか持っていなかったので、PassMe2を使うのは初めてだ。

 
 miniEZ-USBを使ってjtagの代わりをするソフトを使ってjedecファイルをCPLDに書き込んだ。踏み台にするDSソフトは教授を使うことにする。

 GBAマジコンは、Flash2Advanceを使った。passme2flashme.gbaをF2Aに書き込んで、GBAモードで起動し、教授を選択してSRAMへの書き込みを済ませる。

 そのあと、F2AにはPassMe無印のときと同様に自作ソフト等を書き込んで、PassMe2で起動できることが確認できた。

 SRAMを持たないXport2.0は起動できないみたいだ。SuperCard等もまだうまく起動できていない。


自作の小型PassMe2 (2006.3.9)

 自作の小型PassMeをベースにして小型なPassMe2を作ってみた。DS Liteで動作確認できた。
 
 miniEZ-USBを使ってCPLDを書き換えた。

 
 市販のDSカートリッジと同じ大きさなので、DS Liteに取り付けてもPassMeがまったくハミ出さないのが嬉しい。
純正カートリッジの外装に入れているのだから当たり前だが、外観上の違和感も全く無い。


DS Liteのファームウェア書き換え器を作り直した (2006.3.15)

 ファーム書き換え器を作るために、DS Liteと無線モジュールとの接続用のコネクタを探してみた。
 
 コネクタは多分、Molex製の"52991-0308 / 54167-0308"(DataSheet)と思われる。
 ちょっと多めの数量で入手してしまった。こんなにどうするんだ。

 
 早速、入手したコネクタを使って書き換え器を作り直した。

 
 回路図は、こんな感じ。
 コネクタ側の左上がpin1とすると、レセプタ側は右上がpin1になるので注意すること。

 これで、ハンダ付けなしでファームウェアの書き換えやバックアップができるようになった。


DS Liteのファームウェア取り替え用基板を作ってみた (2006.4.23)

 DS Liteの無線モジュールごと取り外して、代わりにファームウェアのFLASHのみを取り付けるための基板を作ってみた。
 試してみたところ、ちゃんと動いた。無線部分がなくてもとりあえず起動できるようだ。ソケット式なので色々と試して遊んでみた。
 
 
 写真の左側の銀色の箱はDS Liteの無線モジュールで、右側が作った基板


 あと、FlashMeがDS Liteに対応したので、Lite本体もFlashMe化してみた。

(後日加筆 2006.7.1)
 専用の基板DS-FW-PCBを作ってみた。
 


DS Lite用の振動カートリッジの外装を取り替えた (2006.6.19)

 DS Lite用の振動カートリッジが出たので、入手してみた。中身に使われている部品は従来のRUMBLE PAKと一緒のようだ。
 DS Liteに従来のものを挿すと本体からカートリッジがかなりハミ出すのだが、Lite専用のものはハミ出さない。
 色が黒なので、DS Liteの白い筐体になじまないのが唯一の難点か。

 DS Liteのモックアップの部品とカートリッジの外装を交換して、白い振動カートリッジを作ってみた。

 
 振動カートリッジを分解して調べてみた。

 
 モックから取った部品を使った白い振動カートリッジを挿してみた。 ちなみにDS Lite本体の外装も穴あけのために既にモックの外装と取り替えてある。