-->

2016年8月15日月曜日

WiiU GamePadのエミュレーション(①はじめに)

ここでは"全(技術)力スプラトゥーン"で使用しているGamePadのエミュレーションについての情報を何回かに分けて記載していきます。


WiiU本体とGamePadは、持っている人なら知っていると思いますが、無線で接続されています。そして、WiiU本体とGamePadの通信方法はすでに2013年に解析されています。

Secrets of the Wii U GamePad
http://www.eurogamer.net/articles/digitalfoundry-secrets-of-the-wii-u-gamepad

解析した人のことやどのように解析したのかは詳しくは知りません。ただ、Web上の情報を見るに、無線通信は既存規格の"802.11n"を少し改変したものを使用しているようです。これは通信を実現するハードウェアは既存のデバイスで対応できるということを意味しています。

また、"libdrc"というライブラリがあります。これはPCがGamePadと通信するためのライブラリで、これを使用すればGamePadの画面に好きな動画を表示したりボタンの入力情報などを取得できます。"drc"というのはGamePad上のARMプロセッサの名前から来ているようです(たぶん)。ライブラリ自体は完成しているようですが、アップデートは2014年前半ごろで止まってしまっていて現在は更新されていません。

今回実現しているのは、この"libdrc"の逆です。PCとWiiU本体を接続します。ちなみにGamePadをコントローラとして使用することを考えたとき、画面出力がついた入力コントローラというのはロボットなどの操作インタフェースにかなり便利だと思うのですが、どうでしょうか?この"libdrc"にはWebページが存在し、そこにはかなり詳しいレベルでWiiU本体とGamePadの通信内容について記載されています。また、動作させるための各種プログラムもそろっています。
※正直、これらのWebページやソフトウェアがなければエミュレーションは実現できなかったと思います

というわけで、今回実現したGamePadのエミュレーションはすでに解析されている情報をもとにプログラミングしただけで別段すごいことではないのです。きっと、これを読んでいるあなたにもできるんではないかと思いますが…。


ソフトウェアについて
当研究所が作成したソフトウェアについてですが、配布の予定はありません。理由は、あまりよろしくない行為で任天堂が不利益を被る可能性があるためです。とは言え、所長がWebから情報を集めてこのソフトウェアを実現したように他の人にも実現は可能です。ですので、このようなソフトウェアを手に入れる方法としては、自分で作るかもしくは誰かが作ってくれることを祈りながら待つかのどちらかになります。おそらく自分で作った方が早く手に入ると思われますが…。技術は正しく使いましょう。
※任天堂が不利益になると判断した場合、このような情報は即削除する予定です

次→WiiU GamePadのエミュレーション(②参考サイトまとめ)