趣味でメガドライブのカートリッジ基板を作るという試み。前回の続きです。前回は基板のCADデータを作成したところで終わりましたが、そのCADデータをP板.COMに送って発注します。
発注から、13日ほど経って基板が届きました。基板の色は「青」を選択したのですが、基板の色が混ざって、黄色っぽい青色に仕上がりました。
フラッシュメモリライターとカートリッジ基板のハンダ付けが完了しました。今回、64pinのカードエッジコネクタが入手できなかったので、ピン数の違うコネクタを削って作りました。フラッシュメモリはDigi-Keyで買いました。残りの部品はすべて秋月電子通商で買いました。
続いて、メガドライブ用のプログラムを作ります。ここでは「SGDK」というメガドライブ用の開発環境を使います。gccが同梱されていて、C言語でコードを書くことができます。さらに「CodeBlocks」という汎用の統合開発環境と組み合わせて、SGDKを使いやすくします。SGDKの設定方法はHidecadeさんのブログの記事がものすごくまとまっているので、そちらを参考にしました。
https://ameblo.jp/arcade-cabinet/entry-12268974254.html
写真はSGDKに収録されている「hello」というサンプルプログラムです。メインループでは関数を1つ呼び出しているだけで、すごくシンプルです。
ビルドするとROMイメージ(binファイル)が生成されます。ROMイメージをメガドライブのエミュレータに読み込ませて動作を確認します。エミュレータはいろいろな種類がありますが、自分はGensを使いました。ちなみに「hello」を実行すると、このように文字が一行だけ出ます。
カートリッジ基板をフラッシュメモリライターに挿し込んで、ROMイメージを書き込みます。自作した書き込みプログラムはPi STARTERで動いています。
Raspberry Piは3B+を使用しています。Pi STARTERはRaspberry Pi4では動作しません(2019年現在)。
書き込みが終わったら、カートリッジ基板をメガドライブに挿し込みます。電源を入れたら実行されます。見事、動きました。
カートリッジ基板をガワに入れたら完成です。目コピーで作った基板ですが、ピッタリと穴にハマって驚きました。
基板の回路図とCADデータはこちらに公開しています。
https://sites.google.com/site/yugenkaisyanico/diy-megadrive-cartridge