ゲームボーイ用のカートリッジ基板の自作(設計編)

趣味でゲームボーイ用のカートリッジ基板を作ってみたいと思います。「GBDK」でゲームを自作して遊ぶことを目的としています。

f:id:nicotakuya:20201011115039j:plain

左が初代ゲームボーイ。右はNew 3DS LL

まず、ゲームボーイ本体を用意します。ゲームボーイ(カラーじゃない)のカートリッジが動く機種は初代GBからGBアドバンスSPまで数えて6種類くらいあります。自分の場合は初代ゲームボーイを用意しました。でも、入手しやすさで考えると、ゲームボーイカラーがいいかもしれません。上の写真は初代ゲームボーイNew 3DS LLを比較した様子です。ゲームボーイは軍平イズムらしく引き算で作られているのに対して、New 3DS LLは徹底的に足し算で作られていますね。

ゲームボーイはデザインが洗練されています。本体の縦横の比が黄金比に近いので、それでカッコいいと感じるのかもしれません。

 

f:id:nicotakuya:20201013161304j:plain

GB用テトリスを分解

あと、ゲームボーイ用のカートリッジも用意します。

自分の場合は「テトリス」の中古を350円で買ってみました。スーパーファミコンのカートリッジ用の特殊ドライバーでねじを外してガワを開けました。バンク切り替えなし。マスクROMが1個付いてるだけでした。

f:id:nicotakuya:20201013160954j:plain

寸法を実測

今回も目コピーで基板を作りますので、ノギスで基板の寸法を測ります。

カードエッジの端子(32pin)はファミコンと違って片面だけです。実測したところ、端子の両側の距離は46.5mmでした。これを31で割ったら、46.5÷31=1.5です。

なので、端子のピッチは1.5mmだと結論付けました。間違っていたらすみません。

 

f:id:nicotakuya:20201013161431j:plain

カードエッジの厚さは2mmくらい?

あと、重要なのはカードエッジの厚みです。実測すると2mmくらいでした。これが厚すぎるとゲームボーイに挿さりませんし、薄すぎると接触不良を起こします。

自作するカードエッジは、基板の厚さ1mm+ガワの厚さ1mm=合計2mmを想定しています。中国製のガワを使った場合、ちゃんと1mmを維持してくれるかどうか、、、。その点が心配です。

 

f:id:nicotakuya:20201013170316p:plain

基板用CADで基板のパターンを作成

続いて、基板用CADで基板のパターンを作成します。これはファミコンと比べるとシンプルなので、あっという間に終わりました。回路図もいらないですね。実際にアクセス可能な領域は32KB(0x0000~7FFF)です。

512Kバイトのメモリを使ってますが、余ってしまってもったいないです。

残る課題は、どのパッケージを使うのか?ということ。ゲームボーイのカートリッジはサイズが小さいので、TSOPとかを使うのが正解ですが、それだとハンダ付けが大変です。

 上の画像では、今までと同じくDIPフラッシュメモリを搭載してみました。しかし、これだと、基板の厚みがありすぎてガワの中に納まりません。

この課題は現在、棚上げ状態です。なにかいいアイデアを思いついて、解決したいと思います。

 

(追記11/14)

実際に試したところ、CS信号は0x0000~7FFF番地以外のアクセスでもLowに落ちるみたいで、上記のパターンだとうまく動きません。CSはROM専用って意味じゃないんですね。

f:id:nicotakuya:20201114221401p:plain

パターンを修正

修正したパターンの例がこちらです。CSを使わずにA15をフラッシュメモリのCEに接続してみました。これだと、0x0000~7FFF番地をアクセスした時にCEがLowになります。フラッシュメモリのA15はGNDにつないでしまいます。

続き

nicotakuya.hatenablog.com