[FC]DIY FC Cartridge

趣味で作ったファミコン用のカートリッジです。
オリジナルのゲーム作りに活用してください。

YouTube 動画



 Version 1
回路図
PRG-ROM 32KB/CHR-RAM 8KBという最低水準のスペックです。ちょっと特殊な仕様なので、市販のゲームソフトは恐らく動かないと思います。
・バンク切り替えには対応していません。
・市販のフラッシュメモリカートリッジとは互換性がありません。
カードエッジのGND端子と5V端子を2本あるうちの1本をフラッシュメモリ用として勝手に割り振っています。あまり行儀の良い回路ではありません。
CHR-RAMは起動直後は空っぽなので、PRG-ROMからキャラクタデータをコピーする必要があります。

部品リスト
 番号 部品名 
 U1 4Mbit フラッシュメモリ(SST39SF040) Digi-Keyで売ってます。
 U2 256Kbit SRAM(SRM2B256SLMX55) 秋月で売ってます。
 R4/R5 10k ohm抵抗 
 C1 22μF電解コンデンサ 
 C3 0.1μF積層セラミックコンデンサ 
 PS1 リセッタブルヒューズ 
R1/R2/R3/C2は欠番

U1の「A15」「A16」「A17」「A18」をプルダウンします。ROMのアクセス可能アドレスを0~0x7FFFに限定します。
U3は本来はバッテリバックアップRAMを搭載する部分です(動作未確認)。ここでは、なにも付けません。
U4は本来はMMC1を搭載する部分です(動作未確認)。ここにジャンパ線を付けます。
 「(21)CPU A14」→「(1)ROM A14」
 「(20)ROM IN」→「(5)ROM OUT」
 「(13)PPU A10」→「(16)VRAM A10」=V Mirroring

カートリッジ基板CADデータ(FC_CART.COMP)
無料CADの「CADLUS-X」で開くことができます。

フラッシュメモリライター
・カードエッジ経由でフラッシュメモリを書き込む装置です。
・制御はラズパイで行います。
・U3の三端子レギュレータは5Vを超えるUSB電源アダプタを使った場合に動作が不安定になることを防ぐためのものです。正常なUSB電源を使っている場合には5V直結して構いません。

 番号 部品名 
 U1/U2 I/Oエキスパンダ(MCP23S17) 秋月で売ってます。
 U3 三端子レギュレータ(48M05) 
 U4 ロジックIC(74HC32) 
 R1/2/3/4 3.3k ohm抵抗 
 LED1/2/3 LED 
 D1/2 ダイオード 
 C1 電解コンデンサ 
 CN1 60pinカードエッジコネクタ 千石で売ってます
 CN2 ピンソケット2x20pin 

ライター基板CADデータ(FC_WR.COMP)
注意。この基板は動作確認していません。


書き込みプログラム(fc.prg)
・nes(ROMイメージ)ファイルを読み取って、フラッシュメモリに書き込みます。
・Pi STARTERで動きます。Pi STARTERの対応機種はラズパイ3B+までです。ラズパイ4では動かないので注意してください。

動作テスト用のファミコン用プログラム(testprog.zip)
・BGとスプライトを表示するデモです。
・十字ボタンで移動。Aボタンで弾を発射します。
・開発環境は「CC65」を使用しています。ビルドするとnesファイルが生成されます。
・NES研究所のサンプル「Hello World」をベースにして作りました。
・Vミラーリングに設定しています。

補足的な情報

ċ
FC_CART.COMP
(75k)
Matsubara Takuya,
2020/03/16 6:25
ċ
FC_WR.COMP
(66k)
Matsubara Takuya,
2020/03/17 23:52
ċ
fc.prg
(13k)
Matsubara Takuya,
2020/03/16 0:10
ċ
testprog.zip
(11k)
Matsubara Takuya,
2020/03/15 10:55
Comments