2016年10月31日 00:46
(17/01/16 後編公開)
まず作りたいと思い始めたのは大分前だ。マイコンを使った電子工作やファミコンのプログラミングに興味を持っていた流れでなんとなく思い立った。
2012年のことである。
しばらくしてGBコネクタを何から取るかを考え、ジャンクで買ってほったらかしになっていたタッチパネル異常のDSから取ることにした。
2014年のことである。
なお取った後で気づいたがDSのGBAコネクタはGBカートリッジが挿さらないので削る必要があった。
基板に付けることを考えて、普通のユニバーサル基板よりピン間隔が狭いので、ハーフピッチ基板でレイアウトを考えた。
この時は手持ちのPICで作るため、PIC16F57(I/O 20ピン)とPIC16F628A(I/O 15ピン)の2石体制とすることにした。
最近ちょっとしたきっかけでまた挑戦してみようと思い立つ。
まず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ならまだ楽だったかもしれないが残念ながら秋月に売っていない。

もしかすると、ケーブルを綺麗な順に並べることを優先してプログラム側でビットの順番を入れ替えた方が楽かもしれない。
あとは基板を作るのもよいかもしれない。今の時代個人で簡単に基板を発注できる。
後編はプログラム側。これもまた大変だった。
まず作りたいと思い始めたのは大分前だ。マイコンを使った電子工作やファミコンのプログラミングに興味を持っていた流れでなんとなく思い立った。
2012年のことである。
なおPCとシリアル通信するプログラムはその後何度も書いた(毎回古いのが見つからず新しく書く)のでわりとマスターした。ファミコン・GBの吸出し器作ろう。吸い取ってどこに保存するかと考えると、SDカードに書くのはFAT理解するのがめんどいから、PCにシリアル通信で垂れ流すのが手軽かな。というわけでまずはPCとシリアル通信するプログラムを作ろう。
— 雷更新世 (@pleist) 2012年2月6日
しばらくしてGBコネクタを何から取るかを考え、ジャンクで買ってほったらかしになっていたタッチパネル異常のDSから取ることにした。
2014年のことである。
ハンダゴテだけで32ピンもあるコネクタを外すのは至難の業で、結局ほぼむしり取るようにして取った。DSのGBAコネクタと1時間以上格闘した挙句諦めて引きちぎったのですごい敗北感。 pic.twitter.com/iZvftI4c7r
— 雷更新世 (@pleist) 2014年3月20日
なお取った後で気づいたがDSのGBAコネクタはGBカートリッジが挿さらないので削る必要があった。
基板に付けることを考えて、普通のユニバーサル基板よりピン間隔が狭いので、ハーフピッチ基板でレイアウトを考えた。
この時は手持ちのPICで作るため、PIC16F57(I/O 20ピン)とPIC16F628A(I/O 15ピン)の2石体制とすることにした。
2つのPIC間の通信を考えて、多少テストもしたりしたが、汎用的な通信をしようとするとかなり時間が掛かることが判明。やる気が失せる。だいたい出来たが…うーむ…VddとGNDがハーフピッチ幅で他の線と隣接してるのあんまりよろしくない気がしてきた…。 pic.twitter.com/tLKZ8BO4KX
— 雷更新世 (@pleist) 2014年3月22日
最近ちょっとしたきっかけでまた挑戦してみようと思い立つ。
まず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ケーブル余ってたな。あれを使おう。
探すとフロッピーケーブルが先に見つかる。こっちのほうが使う当てが無いしこれにしよう。
無駄に複雑にしたくなる誘惑と闘いながら作業を進める。GB吸い出し機、折角のコネクタだし着脱式にしようかとか、折角LCDドライバ付いてるしLCDつけようかとか思い出して危ない。
— 雷更新世 (@pleist) 2016年9月9日
まずコネクタ側をハンダ付け。ピン数には余裕があるので必要ないはずのピンも一応繋いでおいた。1本被覆を剥くとき失敗して切ってしまったが2本予備があって助かった。
ここでケーブルが単芯なことに気づく。曲げ耐性が不安だが今更やめられない。
基板の穴を広げて(錐がなまってるのでなかなか開かない)
ケーブルを通して(ケーブルを剥がしたときのバリのせいでなかなか通らない)
ハンダ付けして完成(通してから被覆を剥くのは困難だった)
(完成時の裏面写真を取っていなかったのでホットボンドで留めたあとの写真)
・所感
コネクタとPICを1対1につなぐだけだと簡単に考えていたのだが、ケーブルの取り回しがとにかく大変だった。配線を考えるのも大変だった。
ケーブルを通した写真を見ると分かるが、今回使ったPIC16F914はポートごとのピンが綺麗な順に並んでいない。これをどう使えば少しでもケーブルの取り回しが楽になるかとさんざん考えたのだが、結局大変だった。
これがPIC16F59ならまだ楽だったかもしれないが残念ながら秋月に売っていない。

もしかすると、ケーブルを綺麗な順に並べることを優先してプログラム側でビットの順番を入れ替えた方が楽かもしれない。
あとは基板を作るのもよいかもしれない。今の時代個人で簡単に基板を発注できる。
後編はプログラム側。これもまた大変だった。
Post time :
2016年10月31日 00:46
│Comments(0)
2016年10月15日 01:37
ました。
昔から使ってる鳥…というより蝙蝠かなにか…のマークで。
大きく描くとこんな感じ。

今まで付けていなかった理由だが、ファビコンと言えばルートにfavicon.icoを置くものだとばかり思っており、ブログサービス側の対応が無いと付けられないと思い込んでいたためである。
サイズを複数用意すべきだとか、旧IEではこの指定方法では表示されないといった情報も見るが、面倒なのでFirefoxで見て見えただけでよしとする。

昔から使ってる鳥…というより蝙蝠かなにか…のマークで。
大きく描くとこんな感じ。

今まで付けていなかった理由だが、ファビコンと言えばルートにfavicon.icoを置くものだとばかり思っており、ブログサービス側の対応が無いと付けられないと思い込んでいたためである。
サイズを複数用意すべきだとか、旧IEではこの指定方法では表示されないといった情報も見るが、面倒なのでFirefoxで見て見えただけでよしとする。