メガドライブのカートリッジ基板を作る(組立と書込み編)

趣味でメガドライブのカートリッジ基板を作るという試み。前回の続きです。前回は基板のCADデータを作成したところで終わりましたが、そのCADデータをP板.COMに送って発注します。

f:id:nicotakuya:20191118103627j:plain

基板が到着

発注から、13日ほど経って基板が届きました。基板の色は「青」を選択したのですが、基板の色が混ざって、黄色っぽい青色に仕上がりました。

 

f:id:nicotakuya:20191118103755j:plain

ハンダ付けが完了

フラッシュメモリライターとカートリッジ基板のハンダ付けが完了しました。今回、64pinのカードエッジコネクタが入手できなかったので、ピン数の違うコネクタを削って作りましたフラッシュメモリDigi-Keyで買いました。残りの部品はすべて秋月電子通商で買いました。

f:id:nicotakuya:20191118103918p:plain

SGDKを使ってプログラムを作る

f:id:nicotakuya:20191118104113p:plain

プロジェクトごとにmakefileを指定する

続いて、メガドライブ用のプログラムを作ります。ここでは「SGDK」というメガドライブ用の開発環境を使います。gccが同梱されていて、C言語でコードを書くことができます。さらに「CodeBlocks」という汎用の統合開発環境と組み合わせて、SGDKを使いやすくします。SGDKの設定方法はHidecadeさんのブログの記事がものすごくまとまっているので、そちらを参考にしました。

https://ameblo.jp/arcade-cabinet/entry-12268974254.html

 

f:id:nicotakuya:20191118104218p:plain

「hello」

写真はSGDKに収録されている「hello」というサンプルプログラムです。メインループでは関数を1つ呼び出しているだけで、すごくシンプルです。

 

f:id:nicotakuya:20191118104308p:plain

エミュレータで動作確認

ビルドするとROMイメージ(binファイル)が生成されます。ROMイメージをメガドライブエミュレータに読み込ませて動作を確認します。エミュレータはいろいろな種類がありますが、自分はGensを使いました。ちなみに「hello」を実行すると、このように文字が一行だけ出ます。

 

f:id:nicotakuya:20191116062728j:plain

ライターで書き込み

カートリッジ基板をフラッシュメモリライターに挿し込んで、ROMイメージを書き込みます。自作した書き込みプログラムはPi STARTERで動いています

Raspberry Piは3B+を使用しています。Pi STARTERはRaspberry Pi4では動作しません(2019年現在)。

 

f:id:nicotakuya:20191116062244j:plain

実行

書き込みが終わったら、カートリッジ基板をメガドライブに挿し込みます。電源を入れたら実行されます。見事、動きました

f:id:nicotakuya:20191118104747j:plain

基板をガワに入れる

カートリッジ基板をガワに入れたら完成です。目コピーで作った基板ですが、ピッタリと穴にハマって驚きました。

ガワの入手はかなり難しいので、解決策を考え中です。

基板の回路図とCADデータはこちらに公開しています。

https://sites.google.com/site/yugenkaisyanico/diy-megadrive-cartridge