[SFC]DIY SFC Cartridge

・趣味でスーパーファミコンのカートリッジ基板を自作する試み、第1弾です。

第2弾はこちら。

https://sites.google.com/site/yugenkaisyanico/diy-sfc-cartridge2

EPROM版

・8M bitsのEPROM/UVEPROMを搭載したカートリッジ基板です。

・基板はAパーツ(上半分)とBパーツ(下半分)が合体して段差を作ります。

SuperCICの書き込み

純正のCIC(Checking IC)は入手困難であるため、フリーで公開されているSuperCICを使用します。SuperCICはPICマイコンで動作します。PICKITやSnapなどを使ってPICマイコンに「supercic-key.hex」を書き込みます。

https://sd2snes.de/blog/cool-stuff/supercic

カートリッジの正規品のガワは入手はできません。そこで、中国製のパチモノを購入しました。

EPROM+SRAM搭載版

・8M bits EPROM/UVEPROMと256K bits SRAMを搭載したカートリッジ基板です。

・バッテリーバックアップに対応。セーブ機能の付いたゲームを開発できます。

・0x700000~0x707FFF番地をSRAMに割り振っています。

・通常の電源とSRAM用の電源を分離しています。動作時はSRAMは5Vで動作します。動作していない時は電池から3Vが供給され、内容を保持します。

・リセット信号がLowになると、SRAMへのアクセスをキャンセルします。

FLASH MEMORY版(4Mbits)

・容量2M x2 = 4Mbitsのフラッシュメモリを使ったカートリッジ基板です。2Mのフラッシュメモリを2つ搭載しています。0~0x3FFFF番地をCHIP0、0x40000~0x7FFFF番地をCHIP1に割り振ります。ロジックIC(74HC139)でデコードを行っています。

・EPROMは入手しにくくて値段が高いですが、フラッシュメモリは入手しやすくて安いというメリットがあります。紫外線で消す必要がありません。

FLASH MEMORY版(2Mbits)

2Mのフラッシュメモリを1つだけ搭載した例です。この場合、デコードIC(74HC139)は不要です。端子のROM信号をCEに直結します。

「SNES Mode 7 Demo」(https://github.com/gyuque/snes-m7)を実行した様子です。

FLASH MEMORYライター

・自作ソフトを使ってフラッシュメモリにROMイメージを書き込む装置です。

・ライター基板をRaspberry PiのGPIOコネクタに装着します。Raspberry Pi Zero系でも問題なく動作します。

・ライター基板のカードエッジコネクタにカートリッジ基板を挿しこみます。

・ラズパイ側は3.3Vで動作します。スーパーファミコンカートリッジ側は5Vで動作します。本来は5V~3.3V間で電圧を変換すべきですが、強引に接続しています。

・D1/D2のダイオードで電圧を5V→3.3Vに落としてます。

・LED1/LED2/LED3はプルアップの代わりです。Low時に点灯、信号はアクティブです。

・カートリッジ逆挿しで大電流が流れる可能性があるので、リセッタブルヒューズ(ポリスイッチ)を入れてます。

フラッシュメモリ書き込みプログラム(sfc.prg)

・ソフトは「Pi STARTER」で動作します。

・EN29F002T搭載のカートリッジにのみ対応しています。

・最初に「ERASE FLASHROM」をメニュー選択して、フラッシュメモリの中身を全部0xFFにしてから書き込みます。

・書き込みがものすごく遅いです。Raspberry 3B/3B+推奨です。

CADLUS X用基板CADデータ

・ファイル形式はCADLUS XのCOMPファイル。CADLUS XはP板.COMで無償で公開しているCADです

・基板は二層基板、シルク印刷は両面。

・基板はハンダレベラー加工を行い、強度を上げたほうがいいと思います。

・資料によると、基板の厚さは1.2mmとのことです。自分の場合は厚さ1mmを選択しましたが、問題なく動作しています。

・P板.COMに発注する場合、面付サービスを活用して2枚の基板を一度に製造することができます。この場合、基板間を3mm空ける必要があるため、全体のサイズは100x68mmとなります。

File

・SFC_A1.COMP:EPROM版 Aパーツ基板

・SFC_A3.COMP:FLASH MEMORY版 Aパーツ基板

・SFC_B.COMP:Bパーツ基板

・SFC_WR.COMP:FLASH MEMORY ライター基板

・sfc.prg:Pi STARTER用フラッシュメモリ書き込みプログラム

https://nicotak.com/download/diysfccart1.html