ファミコンの自作ROMを搭載したカセットを作ってみたくなりました。
情報収集
自作ROMのカセットを作るには
- カセットの基板を手に入れる
- ROMにプログラムやデータを書き込む
- カセット基板のROMを書き込んだROMに交換する
という作業が必要なようです。
カセットの基板
ファミコンのカセットには、ハードウェア的に異なるたくさんの種類の基板あります。というのも、ゲームがより面白く、また凝った映像にするために、どんどんプログラムや画像データの容量が増え、また複雑なメモリアクセスが必要になったため、ファミコンのCPUやPPUが普通にアクセスできるメモリ容量では足りなくなってしまったからです。
そのため、ファミコンが直接アクセスできない、広いメモリ空間の中の必要な領域だけを、アクセスできる領域に変換する機能が、カセットに追加されました。この特別な回路のことをマッパーと呼び、種類は100種類以上あります。
上の基板は、燃えろプロ野球の基板です。1MbitのキャラクターROMと、512kbitのプログラムROM、音声再生用ICと、かなり高機能になっています。
今回は、シンプルになんの特別な回路のない、マッパー0という基板にしたいと思います。
ROMの種類
書き込みと消去のできるROMには、大きく3つの種類があります。
-
- UV EPROM
- EEPROM
- フラッシュROM
UV EPROM
とても古いICです。データの書き込みには13Vくらいの電圧が必要です。また消去するには、ガラスの窓に紫外線を20分くらい当てる必要があります。でも、ガラスの窓から、シリコンのチップ(ダイ)が見えるので素敵です。
8kByte(64kbit)から64kByte(512kbit)までの容量の物が、マッパー0の基板で使えます。32kByte(256kbit)のEPROMの型番は27C256です。
データシートには書き込みの手順も書いてありました。
EEPROM
EPROMの消去が面倒なので、電気的に消せるようにしたEPROMです。ファミコンに使えるのはパラレル接続の足のたくさんあるタイプですが、現在主流なのは、ISPやI2C接続の8ピンタイプのEEPROMで、パラレルタイプはあまり流通していないようです。
フラッシュROM
日本人が発明した、EEPROMよりも高速に読み書きができ、大容量化もしやすい書き換え可能なROMです。比較的新しいICのため、足のピッチが狭いですが、このピッチが変換できればファミコンで使えます。
データの書き込み
データの書き込みには、専用の書き込み機が必要になります。EPROM、EEPROMは上記のライターで書き込めるようです。フラッシュの場合は、ピンが特殊なので上記のライターでは書き込めません。ピンを変換すれば書けるのかもしれませんが、わかりません。
ライターがなくても、データシートの書き込み手順に従えば、arduinoなどを使って書き込めそうです。
マッパー0のカセット基板を探せ
NES Cart Databaseでタイトルを検索
特殊な回路が入っていない、シンプルな回路のマッパー0という基板を探します。どのゲームタイトルが何番のマッパーかはNES Cart Databaseというサイトで検索することができます。
検索の結果がこちら。
110タイトル見つかりました。
ハードオフで購入
先ほどの検索したリストを持って、ハードオフへ。4人打ち麻雀3つと、ベースボール2つを買ってきました。麻雀はおまけに買ってみました。
さて、使える基板は入っているでしょうか。
殻割りの結果
4人打ち麻雀
カセットの裏の数字(年月日を表しているのでしょうか?)が違う3種類を買いました。831018、851224、880920です。
開けてみると、
831018の番号のカセットだけ、DIPタイプの基板でした。それ以外は、基板にICが直接くっついて封止がしてあるタイプでした。ロットによって、作り方が違うんですね。
ベースボール
古いラベルの物と、それより新しい、絵が書いてあるタイプを買ってきました。開けてみると...
古い方がDIPかと思っていたのですが、新しい方がDIPパッケージでした。意外ですね。
麻雀
おまけで買ってきた麻雀は基板にIC直付タイプでした。
マッパー0基板2枚ゲット
6個のカセットを買いましたが、その中で2つにDIPタイプの基板が入っていました。今後もっと必要になったら、831018の4人打ち麻雀か、絵のあるベースボールを買おうと思います。
EPROMを探せ
どのEPROMにするか
ICチップが見えて素敵なので、書き込みに高い電圧が必要だったり、消すのに紫外線ランプが必要だったりと、面倒なICではありますが、UV EPROMを採用しようと思います。入手のしやすさもあります。
フラッシュROMは変換基板を作らないといけないので、不採用としました。
購入
いつものAliexpressで購入します。27C256で検索するといっぱい出てきます。注意しないといけないことは、「NEW」を検索に含めることです。「27C256」だけだと中古の商品も検索に引っかかってしまいます。安いお店の中には、中古のROMを販売しているところもあります。中には注文数がとても多いお店もあるので、フィードバックの中に中古の情報があったら、避けた方がいいでしょう。
AliExpress.com Product - 1 PCS IC M27C256B-10F1 27C256 CDIP-28 NEW GOOD QUALITY
上記のお店のように、タイトルにNEWが入っていれば、もし中古品が届いてもクレームを入れることで返金してもらえる可能性が高いです。クレームで、返金してもらうまでのお話は、こちらにありますので参考にしてください。かなり昔の出来事なので、今はもっとすんなり返金されます。
また、注文の時に「Leave a message for this seller:」の欄に、「brand new pleae. No USED.」(純正の新品をください。中古品はお断りです。)と書いておくと、お店の人がいい人ならば、「used」(中古だけどいい?)とか聞いてきてくれるかもしれませんし、新品を送ってくれる可能性が高まるかもしれません。
UV EEPROMゲット
無事に、新品のUV EPROMを入手することができました。純正かはわかりませんが。
さて次は
ROMライターを自作したいと思います。あと紫外線の消去装置も作ろうかな。
2019.6.4 追加 紫外線電球の点灯実験をしました
コメント