趣味でゲームボーイ用のカートリッジ基板を作ってみたいと思います。「GBDK」でゲームを自作して遊ぶことを目的としています。
まず、ゲームボーイ本体を用意します。ゲームボーイ(カラーじゃない)のカートリッジが動く機種は初代GBからGBアドバンスSPまで数えて6種類くらいあります。自分の場合は初代ゲームボーイを用意しました。でも、入手しやすさで考えると、ゲームボーイカラーがいいかもしれません。上の写真は初代ゲームボーイとNew 3DS LLを比較した様子です。ゲームボーイは軍平イズムらしく引き算で作られているのに対して、New 3DS LLは徹底的に足し算で作られていますね。
ゲームボーイはデザインが洗練されています。本体の縦横の比が黄金比に近いので、それでカッコいいと感じるのかもしれません。
あと、ゲームボーイ用のカートリッジも用意します。
自分の場合は「テトリス」の中古を350円で買ってみました。スーパーファミコンのカートリッジ用の特殊ドライバーでねじを外してガワを開けました。バンク切り替えなし。マスクROMが1個付いてるだけでした。
今回も目コピーで基板を作りますので、ノギスで基板の寸法を測ります。
カードエッジの端子(32pin)はファミコンと違って片面だけです。実測したところ、端子の両側の距離は46.5mmでした。これを31で割ったら、46.5÷31=1.5です。
なので、端子のピッチは1.5mmだと結論付けました。間違っていたらすみません。
あと、重要なのはカードエッジの厚みです。実測すると2mmくらいでした。これが厚すぎるとゲームボーイに挿さりませんし、薄すぎると接触不良を起こします。
自作するカードエッジは、基板の厚さ1mm+ガワの厚さ1mm=合計2mmを想定しています。中国製のガワを使った場合、ちゃんと1mmを維持してくれるかどうか、、、。その点が心配です。
続いて、基板用CADで基板のパターンを作成します。これはファミコンと比べるとシンプルなので、あっという間に終わりました。回路図もいらないですね。実際にアクセス可能な領域は32KB(0x0000~7FFF)です。
512Kバイトのメモリを使ってますが、余ってしまってもったいないです。
残る課題は、どのパッケージを使うのか?ということ。ゲームボーイのカートリッジはサイズが小さいので、TSOPとかを使うのが正解ですが、それだとハンダ付けが大変です。
上の画像では、今までと同じくDIPのフラッシュメモリを搭載してみました。しかし、これだと、基板の厚みがありすぎてガワの中に納まりません。
この課題は現在、棚上げ状態です。なにかいいアイデアを思いついて、解決したいと思います。
(追記11/14)
実際に試したところ、CS信号は0x0000~7FFF番地以外のアクセスでもLowに落ちるみたいで、上記のパターンだとうまく動きません。CSはROM専用って意味じゃないんですね。
修正したパターンの例がこちらです。CSを使わずにA15をフラッシュメモリのCEに接続してみました。これだと、0x0000~7FFF番地をアクセスした時にCEがLowになります。フラッシュメモリのA15はGNDにつないでしまいます。
続き