オープンソースカートリッジリーダー「CartReader V3」を作りました。
名前の通りオープンソースで開発が進められているプロジェクトで、誰でも作ることができるカートリッジリーダーです。
現在、大きい液晶モニタや回転式のスイッチを使っている「V5 rev3」が最新モデルで日々アップデートが繰り返されているようですがパーツ調達の容易さなども考慮してV3を選択しました。
「CartReader V3」にはアドバンスを含むゲームボーイ、ニンテンドー64,メガドライブ、スーパーファミコンのカートリッジスロットが実装されていて、それらのゲームソフトのデータとセーブデータを読み書きことができる装置です。
さらにカートリッジアダプタを追加で使用することでファミコン、ワンダースワン、PCエンジン、セガマスターシステムなどにも対応しています。
リンク:Cart Reader V3
部品調達
オープンソース故にメイン基板のプリント、パーツの調達など最初の準備が大変なイメージがある「CartReader」ですが、PayPayフリマをたまたま覗いていた時に完成品が並ぶ中に「初期加工済みパーツセット」としてパーツ一式を出品している方がいたのでそれを購入しました。
「初期加工済みパーツセット」を選んだ理由
理由1:苦手な作業工程が完了済みのパーツだった
今回「初期加工済みパーツセット」で購入した決め手は、事前に調べていた組立方法の中でも序盤に登場する工程「Arduino Mega 2560から表面実装された2つパーツを除去」と「Arduino Mega 2560へのプログラム書き込み」が完了していたことです。
表面実装のパーツ除去はヒートガンがあればある程度容易に行えます。
以前業務用ネオジオ(MVS)マザーボードのBIOS除去の時に貸してもらったプロ用のヒートガンを使ったらすごくキレイにICチップを取り外すことができました。
ただ、普段は中々使う機会が無いのでヒートガンを持ち合わせていない工具なので、今後も考えて購入する、再度借してもらう、工具の揃っている工房に行くなども検討しましたが、パーツ一式揃っていて苦手な工程も完了済みということで、ヒートガンは一旦後回しにしてパーツセットを選びました。
ヒートガン最高!苦手だった表面実装されたチップ外し、これあっさり取れた!ほんとスポンとwワンダースワンのSRAM取り外しで失敗してもうダメだと思ってたけどコレなら行けるぞ! https://t.co/gnBtWH2cF9 pic.twitter.com/ChUrYCBTA5
— H/de.(TECHNOJAPAN.net) (@hide_loopcube) December 23, 2021
理由2:パーツ単品で揃えるよりも安かった
メイン部分でもある「Arduino Mega 2560」が昨今の電子部品価格高騰の流れで、簡単に入手できるサイトでは5~7000円あたりの価格で販売されていました。
これに各種パーツを個別で揃えて基板の出力をあわせると1万円を超えそうだった所、フルセットで8000円前後での出品だったのでセットを選びました。
保証のない個人間取引なので、仮に一部パーツに不具合があったり足りないパーツがあったとしても、それだけ別途補充すれば良いかとわりと楽観的に考えていました(全く過不足なく全て問題ないパーツでした!)
組み立て
詳細な組立方法と組み立て動画が公式で公開されているので、組立方法自体の記載は省略します。
公式の解説や動画を見ながら作業すれば特に難しい工程はありませんでした。
(上記の通り、苦手な表面実装パーツの除去が終わってることもありw)
組み立て時に参考にしたサイト:冬休みの自由研究:cartreaderを作る
苦労ポイント1:部品が小さい!
今まで何度か電子工作などハンダ作業を行いましたが、自分でパーツの表面実装を行うのは初めてだったので「はんだ 表面実装」などで動画やサイトで手順をなんども確認して行いましたが、とにかく部品が細かい!
取り付け時に落としたら絶対無くしてしまいそうな細かい部品が緊張感を高めてくれます。
はんだ付け作業のセオリーとして「背の低いもの、小さいものから先に取り付ける」というのがあるので、組み立て作業開幕と同時にこれら極小パーツの取り付けが始まります。
約3.5mmのパーツを表面実装!!!!!
米粒サイズなのでもちろん素手では触れないし肉眼で表面に書かれている番号を確認するのもギリギリ可能レベルだったので「まだまだ老眼では無い!!」と思いつつも実際はハズキルーペとピンセットは必須アイテムでした。
苦労ポイント2:ピン数が多い!
ゲームボーイのカートリッジスロットの取り付けも32ピンの表面実装で苦労しました。
サイズこそ上記の米粒サイズの抵抗に比べたらはるかに大きいですが、ピン数が多い表面実装は緊張しました。
半分位はんだ付けして、じょじょに慣れてくると、溶けたはんだがスーッとピンの下を流れキレイにはんだ付けできるようになってきて楽しくなってきました。
完成!
全部のパーツを取り付け完了して、通電したら一発で起動しました!
どこか絶対はんだづけ失敗しているだろうなーと作業工程を思い出しながら、不安な気持ちで電源を入れましたが、一発で起動したのでホッとしました。
さっそくワンダースワンアダプタを取り付けて『ウィザードリィ』のプログラムとセーブデータをバックアップしてみました。
バックアップを行うゲームにあわせて本体右側面のスイッチを特定方向に切り替える必要があります。
公式サイトに全て掲載されているので必ず確認してからバックアップを行います。
…が、毎回確認するのが面倒なので基板右下部分のロゴ上に空間があるので、ここにスイッチ設定一式の情報を書いたシールを作ってもいいかなーと考え中です。
バックアップした『ウィザードリィ』のデータをPC上で起動してみたところ、問題なく動作しました!
一緒に保存したセーブデータもPCに保存して読み込ませて見たところ、こちらもバッチリ動作しました!
PC上で遊んでセーブデータを更新したものをカセットに書き込むことも成功しました。
これでセーブデータをカートリッジ外部で保存が可能になったので、定期的にセーブデータのバックアップを行えばカセットの電池が切れてセーブデータが消えてしまう心配もなくなりました。
もう一台作るなら魔改造版にしようかな
今回Cartreaderを作るために、これまで作ってきた色々な方のサイトを参考にしました。
その中で、作りづらい部分を改造して独自のアップデートをしている方がいました。
今回のパーツを揃えてから知ったので今回はそのまま作りましたが、もしもう一台作るならこの魔改造版「Cartridge Reader Alter」を作ってみたいと思っています。
リンク:Cartreader 魔改造!? Cartridge Reader Alterをつくったよ
リンク:JL.Lab BOOTH | CARTRIDGE READER ALTER (Cartreader Alter) 自作キット