たまりば

  パソコン・インターネット パソコン・インターネット  三鷹市 三鷹市

ゲームボーイの吸い出し機を作った (前編)
2016年10月31日 00:46

(17/01/16 後編公開)

まず作りたいと思い始めたのは大分前だ。マイコンを使った電子工作やファミコンのプログラミングに興味を持っていた流れでなんとなく思い立った。
2012年のことである。
なおPCとシリアル通信するプログラムはその後何度も書いた(毎回古いのが見つからず新しく書く)のでわりとマスターした。

しばらくしてGBコネクタを何から取るかを考え、ジャンクで買ってほったらかしになっていたタッチパネル異常のDSから取ることにした。
2014年のことである。
ハンダゴテだけで32ピンもあるコネクタを外すのは至難の業で、結局ほぼむしり取るようにして取った。
なお取った後で気づいたがDSのGBAコネクタはGBカートリッジが挿さらないので削る必要があった。

基板に付けることを考えて、普通のユニバーサル基板よりピン間隔が狭いので、ハーフピッチ基板でレイアウトを考えた。
この時は手持ちのPICで作るため、PIC16F57(I/O 20ピン)とPIC16F628A(I/O 15ピン)の2石体制とすることにした。
2つのPIC間の通信を考えて、多少テストもしたりしたが、汎用的な通信をしようとするとかなり時間が掛かることが判明。やる気が失せる。

最近ちょっとしたきっかけでまた挑戦してみようと思い立つ。
まず2石体制は無駄に困難なのでやめて、素直に足の多い石を買うことにした。
GBコネクタの32ピン中、必要な信号線は/CS, /RD, /WRとアドレス16本データ8本の27本。
それにシリアル送受信の2本を加えた29本以上のI/OをもつPICを探すと、DIP最大の40ピンのものになった。表面実装だったら諦めていたところだ。
その中で今一番安い(210円)16F914に決定。(…と思ったら18F45K20は180円だった。まあPIC18は使ったことないから気づいてもやめただろうけど)
LCDドライバの付いた石だが単純なGPIOしか使わないのが勿体無い。が、そんなことを考えていたらマイコンは使えないので遠慮なく使う。

さてハーフピッチ基板も余裕のある大きさのを買って、コネクタとPIC間の配線を考えるか…と思っていたがここでひらめく。
コネクタをユニバーサル基板に付けたら絶対変なストレス掛かってすぐに剥がれる。どう固定すれば防げるか…と思っていたのだが、
そもそも固定せずフラットケーブルでつなげばいい。その方が配線も自由になって楽だ。
そうと決まれば秋葉原にフラットケーブルを買いに…行く前にもう1つひらめく。
そういえばIDEケーブル余ってたな。あれを使おう。
探すとフロッピーケーブルが先に見つかる。こっちのほうが使う当てが無いしこれにしよう。
無駄に複雑にしたくなる誘惑と闘いながら作業を進める。

まずコネクタ側をハンダ付け。ピン数には余裕があるので必要ないはずのピンも一応繋いでおいた。1本被覆を剥くとき失敗して切ってしまったが2本予備があって助かった。
コネクタをハンダ付け
ここでケーブルが単芯なことに気づく。曲げ耐性が不安だが今更やめられない。

基板の穴を広げて(錐がなまってるのでなかなか開かない)
ケーブルを通して(ケーブルを剥がしたときのバリのせいでなかなか通らない)
ケーブルを通した
ハンダ付けして完成(通してから被覆を剥くのは困難だった)
完成
(完成時の裏面写真を取っていなかったのでホットボンドで留めたあとの写真)

・所感
コネクタとPICを1対1につなぐだけだと簡単に考えていたのだが、ケーブルの取り回しがとにかく大変だった。配線を考えるのも大変だった。
ケーブルを通した写真を見ると分かるが、今回使ったPIC16F914はポートごとのピンが綺麗な順に並んでいない。これをどう使えば少しでもケーブルの取り回しが楽になるかとさんざん考えたのだが、結局大変だった。
これがPIC16F59ならまだ楽だったかもしれないが残念ながら秋月に売っていない。
PIC16F914・PIC16F59 ピン配置比較
もしかすると、ケーブルを綺麗な順に並べることを優先してプログラム側でビットの順番を入れ替えた方が楽かもしれない。
あとは基板を作るのもよいかもしれない。今の時代個人で簡単に基板を発注できる。

後編はプログラム側。これもまた大変だった。

  • Post time : 2016年10月31日 00:46│Comments(0)
    URL欄を実験的に消してる間に廃止されてしまいました。まあいいか。
     
    <ご注意>
    書き込まれた内容は公開され、ブログの持ち主だけが削除できます。
    <?=$this->translate->_('削除')?>
    ゲームボーイの吸い出し機を作った (前編)
      コメント(0)