ファミコンのスプライトの仕様


ファミコンのスプライトの限界を確認する(横方向に8個まで)

ファミコンのスプライトを8個並べた時の、スプライトの消え方について確認してみました。

よく「並べて表示できるスプライトは4個まで」と言われていますが、これは2×2個で表現したスプライトが4個までという意味なので、正しくは「8個まで」です。

ゲームボーイ用カードエッジコネクタ(155円)

いつものAliExpressのKING WORLDさんでゲームボーイ用カードエッジコネクタを買ってみました。商品名は「Xunbeifang 10pcs Replacement 32 Pin Card Slot connector for GameBoy Coolor for G-B G-BC console」 です。

価格は10個で1,551円。1個あたり約155円ですね。送料無料はありがたいです。注文から到着までに22日ほどかかりました。

f:id:nicotakuya:20201103161331j:plain

1つのプチプチに10個入ってる

f:id:nicotakuya:20201103160838j:plain

ゲームボーイ用カードエッジコネクタ

到着時の様子がこんな感じ。ところどころピンが曲がっていて、ピンセットで直さないと使えません。まあ、ありえないくらい安いので、このへんはしかたないです。

到着が遅かったり、トラッキングが「原産国を出発しました」のままだったりするのは運送会社がSpecial Line-YWだったせいなのかも。余分にコストがかかりますが、対策として別の運送会社さんを希望する手もあります。

 

ゲームボーイ用のカートリッジのガワ(約50円)

f:id:nicotakuya:20201025155522j:plain

ゲームボーイ用のカートリッジのガワ(中身は純正テトリス)

AliExpressのGamersZone Storeというショップさんからゲームボーイ用のカートリッジのガワを買ってみました。商品名は「Replacement For GBA SP Game Cartridge Housing Shell For GB GBC Card」。

1個19円というとんでもない安さで買うことができました。自分の場合は20個注文したので、386円。これに送料618円が加わって、合計1,005円でした。1個あたり約50円の計算になります。商品より送料のほうが高いですが、それでも安いです。注文から12日で到着しました。

こちらは「CaseClear B」という透明なタイプです。ビニールなし&緩衝材なしという超ワイルドな梱包でしたが、どれにも傷は付いてなかったです。ねじがちゃんとオマケで付いてて親切です。

上の写真は純正品の「テトリスの基板を入れた様子です。基板の取り付け穴が7mmくらいに対して、ガワの支柱が6mm。あと、中央にあるべき2mmくらいのポッチがありません。なので、ちょっとグラつきますね。でも、問題なくゲームボーイに挿すことができました。

 

f:id:nicotakuya:20201025150432j:plain

カードエッジ近くのポッチ

あと、 カードエッジ付近に謎のポッチが3つほど付いてました。このポッチは純正品のガワにはありません。ポッチが基板を押し上げる機能を果たしているのかなと思います。もし基板にテンションがかかり過ぎる場合にはニッパーで削ってもいい気がします。

 

nicotakuya.hatenablog.com

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

趣味でゲームボーイ用のカートリッジ基板を作ってみたいと思います。「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