# nintendospy(retrospy)のお話(コントローラーの入力表示)(20/09/22) ブロマガからの避難用 ※ブロマガ終了に伴い画像も死んでる、気が向けば画像戻すかもしれない <span><span style="text-decoration:underline;">**<span style="color:rgb(255,0,0);text-decoration:underline;">※自己責任で頑張ってください。</span>**</span>**<span style="color:rgb(255,0,0);"> この記事見てできなかったり壊れたりしても僕は知りません。</span>****<span style="color:rgb(255,0,0);"> (備忘録目的</span>****<span style="color:rgb(255,0,0);">が強いので)</span>**<span style="text-decoration:underline;">**<span style="color:rgb(255,0,0);text-decoration:underline;"> retrospyって名前に進化してルヨ</span>**</span> 16/11/24追記 </span>16/12/17追記 17/02/25skin更新 17/03/02追記 17/03/23追記 17/04/03修正 <span style="text-decoration:line-through;">17/06/24delay付きnintendospy君について追記</span> 17/06/26GCAnalogありのskin追加 17/07/02SFC延長ケーブルの配線接続 ニューファミコンの延長ケーブルでの接続(雑)追加 17/07/11追記 17/08/31GCのスキン追加 20/09/22僕が普段使ってるスキンをまとめ直し メガドライブも作ったのでそれについても超簡単に 一部画像サイズ調整、多少加筆修正 海外勢がよく使ってるinputdisplay retrospyになって対応ハードいっぱいだから各自見に行って WiiUやswitchはまた別のお話になるのでここではパス **<span style="font-size:120%;"><span style="font-size:120%;">nintendospy(retrospy)</span></span>** 実機ゲーム等コントローラーの入力をパソコン上に表示させるお遊び。 [nintendospy](https://github.com/jaburns/NintendoSpy) [retrospy](https://github.com/retrospy/RetroSpy) 色々inputdisplayの乗ってる[サイト](https://goo.gl/vf6IU3)様 [padpyght](https://goo.gl/Fh5l0F)や [padlight](https://goo.gl/CZ1w1G)とは別物 (この二つはエミュやPCゲーム用だと思う。) **<span style="font-size:120%;"><span style="font-size:120%;">必要な物</span></span>** ・各ハードのコントローラー(ここではNES,SFC(SNES),N64,GCの4つの環境) ・ニッパーやはさみ等の切るもの ・延長ケーブル(なくてもコントローラーのケーブルぶっちでも一応できる) ・はんだ環境(なくても一応できる) ・絶縁テープ(いわゆるビニールテープ) ・ジャンプワイヤ(あった方がいいと思うまする) **<span style="color:rgb(255,0,0);">・エレクトロタップ (これあればゴム剥くだけで済むのでは?すげぇ楽??持ってないのでシリマセン)</span>** ・A<span>rduino uno r3(他互換品は知らん) ・Arduino nano(IDEでプロセッサをold bootloaderにしないといけなかったり?) ※最近作ることがある時はもうnanoを延長ケーブルと融合させてしまってる ・Arduino IDE[(公式サイト)](https://goo.gl/yPNVju)右側WindowsinstallerからのJUST DOWNLOADで ・nintendospyのファイル諸々**<span style="color:rgb(255,0,0);">※今は正直retrospyのinstallerでいい</span>** <span>・USBケーブル(unoはA-Bタイプ、nanoはminiB)</span> ※僕が使ってる奴[(アマゾン)](https://goo.gl/WQl7cQ) <img src="http://bmimg.nicovideo.jp/image/ch2554164/171234/d82880d3f3c1ff1c3b20f7aeb6be4fe65af10f2f.jpg" width=50%> </span> **<span style="font-size:120%;"><span style="font-size:120%;">やること</span></span>** ・雑な流れ 1.コントローラーのケーブルを切る(延長ケーブルを切る) 2.配線のビニール部分を切り銅線部分を出す。 3.対応した配線とジャンプワイヤとを混ぜて3つを1つに繋ぐ。 (銅線部分とジャンプワイヤを絶縁テープでぐるぐる巻きでok) 4.ジャンプワイヤを混ぜない奴らは普通に元通りに配線をつなぐ。 5.対応したジャンプワイヤをArduinoの対応した場所に繋ぐ。 6.パソコンと<span>A</span><span>rduino</span>をつなぐ。 7.<span>A</span><span>rduino</span> IDEで<span>A</span><span>rduino</span>に(ハード別に編集して)firmwareを書き込む 8.nintendo(retro)spyを起動する。 9.対応したcontrollersauce、COMportを選択し、viewerskinを選んでOK。 10.ウェーイ終了。 ようはDATA配線をArduinoに引っ張ってぶち込めばいい感じのお話。 <span style="color:rgb(255,0,0);">**<span style="font-size:120%;"><span style="font-size:120%;">ここから僕の環境でのお話</span></span>**</span> **<span style="font-size:120%;"><span style="font-size:120%;">SFC</span></span>** SFCはコントローラー2個からケーブルを引っこ抜き、1本の配線になるように繋いでます (延長ケーブル買うよりジャンクでコントローラー買う方が安かったのと、1本だと短いため) SFCは基盤とケーブルが外せるようになっているので、いらない本体からケーブルだけ取り外して、基盤側の先端をちょっきんしたのと、差込口側先端をちょっきんした2本で作りました。(あまり長さがいらないなら1本ででもお好きな長さ環境に) 必要な配線は実機だと<span style="color:rgb(255,102,0);">橙 : latch 3</span><span style="color:rgb(255,0,0);">赤 : data 4</span><span style="color:rgb(255,204,0);">黄 : clock 6</span><span style="color:rgb(0,0,0);">の3色 </span>延長ケーブルの場合は色が変わってる場合があるので頑張って把握して (17/07/02追記)延長ケーブルを購入したのでそっちの配線例。 <span style="color:rgb(51,153,102);">**※注意**</span> <span style="color:rgb(51,153,102);">**延長ケーブルはメーカーや販売元によって配線や色が変わっているので、一例にしかなりません。**</span> 僕が購入したケーブルは緑黒白赤黄でしたので、繋ぐ配線例としては 延=実 <span style="color:rgb(255,153,0);">**白=橙=3**</span> <span style="color:rgb(255,0,0);">**赤=赤=4**</span> <span style="color:rgb(255,204,0);">**黄=黄=6**</span> となりました。 一応見分け方としてはコントローラーの端子の位置でわかる (○○○○|○○○)左から (1 2 3 4 | 5 6 7)という感じになっており (白<span style="color:rgb(255,204,0);">黄</span><span style="color:rgb(255,153,0);">橙</span><span style="color:rgb(255,0,0);">赤</span>|無無<span style="color:rgb(153,51,0);">茶</span>)が実機の配線らしい、端子部分を覗けばある程度色が見えるので 頑張って覗き込んで実機の配線と見比べて (詳しくは[こちら様](http://nesmd.nomaki.jp/finalproduct.html)) <img src="http://bmimg.nicovideo.jp/image/ch2554164/171250/632ee585190c552c10d3b0c1be7a12271cf06c56.jpg" width=50%> <img src="http://bmimg.nicovideo.jp/image/ch2554164/171251/1bf9c7394d1f8624df4fb99749b3448fd909895d.jpg" width=50%> 切断。 本体-Arduino-手元 になるので切る位置は環境と相談してください。 (器用な人は切断せずに必要な配線だけ剥いて、銅線を露出させ、そこにジャンプワイヤ等を繋げば綺麗かも?) <img src="http://bmimg.nicovideo.jp/image/ch2554164/174338/bb61a9889bdda70736806018798590fe11560c31.jpg" width=50%> 黒のチューブを剥く。白い紐みたいのは邪魔なだけなので適当に処理で。 <img src="http://bmimg.nicovideo.jp/image/ch2554164/174339/4c335c552ec428cd32dc58148ceb04548b606d46.jpg" width=50%> さらに細いチューブを剥く。(きたない) <span style="line-height:1.6;">(銅線切り落とさないように、ニッパ等で切り目を入れて頑張る、ねじりながら剥くといいかも)</span> <img src="http://bmimg.nicovideo.jp/image/ch2554164/174340/e9b951c6114a90c92cc7e1672858567a9a671c60.jpg" width=50%> Arduino&ジャンプワイヤに繋がない配線。 2本に切断したこれを。 <img src="http://bmimg.nicovideo.jp/image/ch2554164/174341/1cfcafabbaa5fe9693a3a0a522b2fd3122daf41c.jpg" width=50%> こんな感じに適当にねじって1本に。 <img src="http://bmimg.nicovideo.jp/image/ch2554164/174342/3c883268298ff6eec6eddd5d4add324f28602cbc.jpg" width=50%> 別に横に繋いでもいい(けど個人的にやりにくいから縦に) <img src="http://bmimg.nicovideo.jp/image/ch2554164/174343/6bf9cb311c3994f625f2880e547a60e71633015d.jpg" width=50%> 絶縁テープでぐるぐる巻きにでもする。(ライトつっよ) <img src="http://bmimg.nicovideo.jp/image/ch2554164/174344/4372a60b712bbbe806ad50e078cca2ac49dc44a5.jpg" width=50%> ジャンプワイヤをつなぐ配線。 はんだを使わないのならこんな感じにでも適当にジャンプワイヤに巻き付けておく。 <img src="http://bmimg.nicovideo.jp/image/ch2554164/174345/4fb008d81ba3c3fb27fdfe636d5d6ae158b404be.jpg" width=50%> 後はお決まり絶縁テープでぐるぐる巻きに。 接触不良にならないようにがっつりしっかり固定したい。 <img src="http://bmimg.nicovideo.jp/image/ch2554164/174346/c844e10414b17da623f1f54e00b74466589c45b8.jpg" width=50%> はんだを付けてみた。(下手くそ) <img src="http://bmimg.nicovideo.jp/image/ch2554164/174347/b5a026855d3c7c0402b5d6f026df4b9fe9a768cd.jpg" width=50%> ジャンプワイヤともはんだを付けてみる(下手くそ) <img src="http://bmimg.nicovideo.jp/image/ch2554164/174352/29c23e6fdfed001757aa88a6d542c542931ac972.jpg" width=50%> <span>お決まり絶縁テープでぐるぐる巻きに。</span> <img src="http://bmimg.nicovideo.jp/image/ch2554164/174353/3ff24194316a4a2432e72c96f8789a69f479f223.jpg" width=50%> 必要な配線にだけジャンプワイヤをつないで絶縁テープでぐるぐる巻きにした図。 <img src="http://bmimg.nicovideo.jp/image/ch2554164/174354/ca14be6a88344d069de9d047afdcdae48d7e8c00.jpg" width=50%> このくらい半端な人でもなんとかなってるからあまりにも不器用じゃなければ誰でもできるとは思いたい。 対応する配線をArduinoに繋ぐ。 <span style="line-height:1.6;"><span style="color:rgb(255,0,0);">赤 : data</span> </span><span style="line-height:1.6;"><span style="color:rgb(255,204,0);">黄 : clock</span> </span><span style="line-height:1.6;"><span style="color:rgb(255,102,0);">橙 : latch</span> </span><span style="line-height:1.6;">白 : Vcc(+5) </span><span style="line-height:1.6;"><span style="color:rgb(153,51,0);">茶 : GND</span> </span><span style="line-height:1.6;">配線の内容はこんな感じ(これ以外だったら知りません) 参考にさせてもらいました。 [](https://goo.gl/dThcQb)[サイト](http://en.tacticalcode.de/2013/06/snespaduino-super-nintendo-gamepad-for-arduino.html)様 [サイト](https://goo.gl/P4iIyG)様 <span><span>A</span><span>rduino</span>に繋ぐには</span> </span><span><span style="color:rgb(255,0,0);">赤 : data 4</span> </span><span><span style="color:rgb(255,204,0);">黄 : clock 6</span> </span><span><span style="color:rgb(255,102,0);">橙 : latch 3</span> </span><span>白 : Vcc(+5) 5 </span><span style="color:rgb(153,51,0);">茶 : GND GND <img src="http://bmimg.nicovideo.jp/image/ch2554164/171238/1e02b4c189e4d1510aa575bf7128a131565b35bc.jpg" width=50%> <span style="color:rgb(255,0,0);">**なんだけれども、5とGNDは繋がなくても動きはします。**</span> </span>なので僕は346の3本だけ繋いでます。 不安な人や不安定な人はGNDも接続しておきましょう。 <img src="http://bmimg.nicovideo.jp/image/ch2554164/171252/7a187383ff3dc56164b1fdf92656be0610d68f02.jpg" width=50%> 後はIDEでSFC用に編集したファームウェアを書き込むだけです。 まずIDEにArduinoの指定をしてあげる。 ツールのボードで使っているArduinoの種類を選択、この記事の場合はArduino/Genuino Uno シリアルポートは各PC環境によって変わる、選ぶのはArduinoが接続されているポート firmwareフォルダにあるfirmware.inoを開いて、SNESの列の最初の//を消して書き込む ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ---------- Uncomment one of these options to select operation mode -------------- //#define MODE_GC //#define MODE_N64 \#define MODE_SNES //#define MODE_NES //#define MODE_DETECT // --------------------------------------------------------------------------------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ うまくいっていると[動画](https://goo.gl/24ON5L) **<span style="font-size:120%;"><span style="font-size:120%;">N64</span></span>** N64は延長ケーブルを買ったのでそれでやってます。 SFCと違い赤黒白の3本しかないのですごい簡単。<span></span> 根本の英語のサイトにある64のリンク通りで大丈夫です。 赤黒白のうち、黒と白をジャンプワイヤと繋ぎます。赤は何もせずもとに繋ぎます。 黒をGND、白を2に繋いでお終い。 黒は繋がなくても問題はありませんけどね。 <img src="http://bmimg.nicovideo.jp/image/ch2554164/171239/359efd9d199ef9164552a9ab36263aeafa1e2e55.jpg" width=50%> <img src="http://bmimg.nicovideo.jp/image/ch2554164/171253/f75df7eb4e05d33201ccca9bcf7c1df1cc136fd1.jpg" width=50%> <span> 後はIDEで64用に編集したファームウェアを書き込むだけです。</span> <span>firmwareフォルダにあるfirmware.</span><span>inoを開いて、64の列の最初の//を消して書き込む ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </span> // ---------- Uncomment one of these options to select operation mode -------------- //#define MODE_GC \#define MODE_N64 //#define MODE_SNES //#define MODE_NES //#define MODE_DETECT // --------------------------------------------------------------------------------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ うまくいっていると[動画](https://goo.gl/F8ne7i) コントローラーパックを付けたままやると動作がおかしくなったりならなかったり ゲームによるのかもしんない **<span style="font-size:120%;"><span style="font-size:120%;">GC</span></span>** GCも延長ケーブルを買いました、ただ延長ケーブルに種類というかメーカーというか販売元によって配線が変わるので厄介です。 僕は2本買いましたが、2本とも色が違ってました。 ![](http://bmimg.nicovideo.jp/image/ch2554164/183580/b23beabb4c46dbebfdd7c7ccb5a9fa1cb0e4ca3b.jpg) こういう感じに(これ以外もあると思う)違いがあるので、表と見比べて判断してください。 基本的に繋ぐのはDATAとなってる部分のはずです。(曖昧) 白(1)赤(2data)黒(3GND)黃(4GND)緑(6)とかもあるみたいです。 この画像で言う2番部分ですね。 GNDは繋いでも繋がなくても大丈夫です。 <img src="http://bmimg.nicovideo.jp/image/ch2554164/171247/3f88f155cb78ae6ee3a27b295ead26163585bf51.jpg" width=50%> <img src="http://bmimg.nicovideo.jp/image/ch2554164/171254/1fd2df25b577d73de772fe98db71f73795eab915.jpg" width=50%> <span>後はIDEでGC用に編集したファームウェアを書き込むだけです。</span> <span>firmwareフォルダにあるfirmware.</span><span>inoを開いて、GCの列の最初の//を消して書き込む ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </span> // ---------- Uncomment one of these options to select operation mode -------------- \#define MODE_GC //#define MODE_N64 //#define MODE_SNES //#define MODE_NES //#define MODE_DETECT // --------------------------------------------------------------------------------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ うまくいっていると[動画 ](https://goo.gl/rxIb3p) **余談にニューファミコンとメガドライブの場合** ニューファミコン 延長ケーブルでやったので実機配線はわかりません 〇  1 〇〇 25 〇〇 36 〇〇 47 のような形になっているため、穴をのぞき込んで色の確認が出来れば勝ち。 僕が購入したケーブルは黒白黄緑赤で 黒=2 緑=3 黄=4 となっていたので(多分きっとメイビー) 黒2を3 緑3を4 黄4を6の位置にさせばできるはずです。 はずです。 ついでになぜか表示にラグがあるけどよくわかりません。 僕も知りたいです。 メガドライブ retrospyのgithubにある画像 ※ピン多すぎ <img src="https://bmimg.nicovideo.jp/image/ch2554164/241458/e3d7f9c4b7713155f4e7e02a5918de70859f3a05.jpg" width=50%> 適当にamazonで売ってた延長ケーブル、雌側のカバー?が外れたので、そこからピンを確認。 以下のようになってたので必要な配線を引きずり出してArduinoに接続。 ※最初7と8を間違えてて動かずため息ついてた ![](https://bmimg.nicovideo.jp/image/ch2554164/241457/3af86eb872c399f437484e2f38d1d285db17ac5e.jpg) おまけ 普段僕が使ってたり使ってなかったりするスキン達 wii、GC、N64、SNES、NESが入ってたりする ぱす:1794690 [おてせい ](http://www.mediafire.com/file/3ho56wdkniwupd1/file) あぷろだに挙げるの面倒になったからとりあえずまとめてドライブに投げ込んだ奴 ※古いのや変換かまして使ってる系も入ってる [drive](https://drive.google.com/drive/folders/10aDPu7lQUhVI6WR9n6zmKKz93JpaSeEd?usp=sharing) [おまけ](https://www.mediafire.com/file/oyfaqr0lcn35xdk/pc-ps4.zip/file)