NES on FPGAそんなベタなファミコンはイヤだ!
ファミコン互換機を自作して、プロセッサ、グラフィック、
サウンドについてのアーキテクチャやディジタル信号処理の基礎を体得!
ここでは、実装で確認したファミコンに関する情報と、
実装についての解説を公開しています。
トリプルプレイってやつ?
NEXT GENERATION !
SNES on FPGA
_ ▼ 仕様
[NES]
[CPU]
[PPU]
[APU]
[PAD]
[カートリッジ]
[参考文献]
_ ▼ 構成
・初代 Spartan-IIE300版 -ファミコンするならFPGA-
ビデオ出力 VGA 解像度640x480 最大512色
/サウンド出力 モノラルorステレオ、NSF再生機能(内蔵音源のみ)、ΔΣ型1ビットDAC、φ3.5mmステレオミニ端子
/ゲームコントローラ プレイステーションDUALSHOCK2、フォースフィードバック(振動)対応、2Play対応、マイク未対応
/ゲーム速度 ノーマルor低速モード
/IF カートリッジコネクタ(3.3-5V変換)、RS-232C
/ハードウェア記述言語 SFL、VHDL、Verilog HDL
/開発環境 Windows2000、Cygwin、PARTHENON、VC++6.0、
SFL2VHDL、Pentium4 2.4GHz、メモリ512MB、Xilinx ISE 7.1、
CQ出版社 Spartan-IIE300評価キット
・二代目 DE1ボード CycloneII 2C20版 -サウンドマネジメント-
ビデオ出力 VGA 最大4096色
/サウンド出力 16bit Audio CODEC
/NSF再生機能 NSFファイル最大1MB、拡張音源内蔵(N106、MMC5、FDS、VRC6、SN5B、VRC7)、複数曲対応
/IF SDメモリーカード(最大1GB、FAT16、ファイル数たくさん)、PC上のNSF Playerからのデータ送信
/ハードウェア記述言語 SFL+、VHDL、Verilog HDL
/開発環境 sflp、sfl2vl、Athlon64 4000+、メモリ1GB、Altera QuartusII 7.2、
Terasic DE1 Board
(拡張及び変更点についてのみ)
・DE0ボード移植版 -今更感あるよな-
Cyclone III 3C16
/サウンド出力 GPIO
/NSF再生機能
/IF SDメモリーカード、USB経由でPCから転送
/開発環境 Windows7、Core i5 3320M、メモリ4→16GB、Altera QuartusII 12.1sp1、
Terasic DE0 Board
・1chipMSX移植版 -ようやくですよ-
Cyclone 1C12
/サウンド出力
/NSF再生・サウンドグラフィック機能
/IF SDメモリーカード
/ジョイパッド、PS/2キーボード
/開発環境 Windows10、Core i5-9600K、メモリ32GB、Altera QuartusII 11.0sp1、
1chip MSX
・Tang Nano シリーズ移植版 -20th Anniversaryには財布に優しい世界を-
Tang Nano 4K、9K、20K
/HDMI出力+Audio
/microSDHCメモリカードとFAT32サポート
/USB-UART経由のROM転送とキー入力
/開発環境 Gowin EDA Designer 1.9.9.03、
Sipeed Tang Nano 9K
ファミ…コン…?
_ ▼ 実装
[はじめに]
[開発環境]
[NES]
[CPU]
[PPU]
[APU]
[RAM・ROM]
[カートリッジコネクタ]
[VGA]
[PSPAD]
[SDカード・FATファイルシステム]
[NSF Player]
[FM音源VM2413]
[feat. 1chipMSX]
[feat. TangNanoシリーズ]
[その他]
[動作確認]
[紀行史]
[おわりに]
_ ▼ 動作
NES on FPGA feat. DE1
[youtube]
NSF Player on FPGA feat. DE1
[youtube]
_ ▼ 配布
・NES on FPGA feat. DE0-CV
Terasic社製FPGAボード「DE0-CV」で.nes .nsfを実行します。
32MB〜2GBのmicroSDカードをFAT16にフォーマットして使用してください。
もしくはWindowsPCから送信できます。
Ver.20190810 VRC7のプリセット値を修正。
Ver.20190703 逆位相サラウンド実装。
Ver.20181223 USB経由で.nes .nsfを送信できるようにしました。
Ver.20170913 FAT16コアを修正。PS/2キーボードサポート。
・NES on FPGA feat. DE1
Terasic社製FPGAボード「DE1」で.nes .nsfを実行します。
32MB〜2GBのSDカードをFAT16にフォーマットして使用してください。
もしくはWindowsPCから送信できます。
Ver.20190810 VRC7のプリセット値を修正。
Ver.20190703 PS/2キーボードでの操作をサポート。
Ver.20181223 USB経由で.nes .nsfを送信できるようにしました。
・NSF Player on FPGA feat. DE0
Terasic社製FPGAボード「DE0」でNSFファイルを再生します。
NSFファイルはSDカードから読み込み、もしくはWindowsPCから送信できます。
標準IOピンから出力しますので、ローパスフィルタを付けてアンプに接続してください。
Ver.20190810 VRC7のプリセット値を修正。
Ver.20190703 逆位相サラウンド実装。
Ver.20171126 USB経由でNSFファイルを送信できるようにしました。
Ver.20170624 DE0にLCDが実装されている場合、曲名と作成者を表示するようにしました。
Ver.20170104 SuperNSFのようなDMCストリーム形式をサポートしました。
Ver.20160103 ピンアサインを拡張基板EXT-1向けに変更しました。
また、NSD.LibやFamiTrackerで作成したNSFをサポートしました。
_ ▼ 履歴
2024.1.9 | TangNano4K,9K,20Kに移植 |
2022.9.16 | 1chipMSXに移植 |
2013.1.13 | IGS MMC3 実装 |
2012.12.5 | Tatio X1-005 実装 |
2012.12.2 | Konami VRC2 type B 実装 |
2012.11.22 | Bandai chip 実装 |
2012.9.15 | Namcot 106/163 実装 |
2009.10.8 | Konami VRC3 実装 |
2009.10.4 | Konami VRC4 実装 |
2009.9.28 | Sunsoft FME-7 実装 |
2009.9.22 | Nintendo MMC4 実装 |
2009.6.8 | Nintendo MMC3 実装 |
2008.11.6 | Nintendo MMC1 実装 |
2008.5.4 | VRC7音源実装 最初で最後のFM音源 |
2008.4.18 | SUNSOFT5B音源実装 炸裂ゆめたろー |
2008.4.13 | VRC6音源実装 グロウズ□△ |
2008.4.5 | FDS音源実装 ビブラートきかせて |
2008.3.28 | NAMCO106音源実装 カスタムオロチ |
2008.3.2 | MMC5音源実装 ドリアーップ! |
2008.2.25 | NSF再生サポート |
2008.2.4 | SDメモリカードからのブートに対応 |
2006.11.25 | Altera DE1に移行 |
2006.8.15 | sflp SFLプリプロセッサで記述しやすく |
2005.3.15 | カートリッジコネクタVer.3製作 5V対応 |
2004.10.6 | APU追加 やっぱりサウンドがないとね |
2004.9.25 | カートリッジコネクタVer.2製作 複数ゲームに対応 |
2004.9.20 | PSパッド用インタフェース実装 |
2004.9.12 | PPU(スプライト)実装 マリオFPGAに立つ |
2004.8.19 | FPGAにてマリオのタイトル画面を表示 |
2004.8.13 | secondsにてマリオのタイトル画面の描画を確認 |
2004.8.10 | カートリッジコネクタVer.1製作 要はマリオ直接続 |
2004.8.8 | PPU(バックグラウンド)実装 |
2004.7.30 | CPU(6502)をSFLで記述 |
2004.7.22 | エミュレータを作成し動作を確認 |
2004.5.3 | 参考資料を集める |
1991.7.30 | ファミリーコンピュータを親から買ってもらう |
1983.7.15 | ファミリーコンピュータ発売 |
| ! |
だいぶ再現性は上がってきたので、
実機じゃ無理なこと、やっちゃいましょう。
拡張音源内蔵してもSNESの半分の規模にもならない…
ってことはもっと実装できるってことですね!
マルチコア化?とか。
NSFプレイヤーとして使ってくれる人っていますかねぇ誰か誰か。
しかしTerasicのボードかっこいいな。
もう最近は新しい言語を習得するためなどでカジュアルにNESエミュを実装する人が増えましたね。
|
_ ▼ 注意
ここで公開している情報は実装によって動作を確認していますが、
想定外の動作により機器の破損につながるおそれもあります。
実装および運用は自身の判断にて行ってください。
| ! |
時がくればあるいは。
|
*ファミリーコンピュータ、ファミコン、NINTENDO ENTERTAINMENT SYSTEM は任天堂の登録商標です。
E-mail
Copyright(C)2004-2024 pgate1 All Rights Reserved.
|