回答:
ゲームがNESハードウェアで適切に実行されることを確認する必要があります。多くの8ビットおよび16ビットコンソールでは、ハードウェアレジスタにアクセスできる時間が限られています。許容時間外にレジスタにアクセスすると、プログラムが出力を表示しないことがよくあります。検討するエミュレータの1つはno $ nesで、もう1つはfceuxです。多くのルールに違反すると、$$ nesは警告を出します。fceuxエミュレーターはおそらくより正確ですが、ルールに違反すると警告なしに失敗します。
次に、またはおそらく最初に、サポートするマッパーモードを決定します。これは基本的に、ROMまたはRAMがCPUおよびPPU(グラフィックチップ)スペースにマップされる方法、使用可能なメモリバンクの数、およびスクロールタイルマップが繰り返される方法を決定します。技術的な詳細の準備ができたら、Comprehensive NES Mapper Documentを確認してください。それはかなり技術的ですが、NESカートリッジの開発には必要な知識が必要です。
最後のステップは、それをカートリッジに取り付けることです。いくつかのオプションがあります。1つはINL-ROM NESボードで、フラッシュROMと一緒に購入してテストを容易にすることができます。ゲームが実行されたら、同じボードとプログラムを購入して、独自のEPROMSをボードにはんだ付けできます。
NES開発に本当に興味がある場合は、NesDevフォーラムにアクセスしてください。
私はSNES、Genesis、Atari Jaguar、Neo Geoで動作するFrog Feastというゲームを開発しました。友人が古いゲームボードから物理バージョンを作成しました。
多くの(特に古い)カートリッジベースのコンソールには、購入して自家製のROMをロードし、(通常は改造された)システムに挿入できるCompactFlashベースのカートリッジを組み込んだ自家製の開発サブカルチャーがあります。
NESの場合、最も人気のあるオプションはRetroZoneのPowerPakです。システムのロックアウトチップが回避されているため、改造されたNESは必要ないようです。
もちろん、必要なエンジニアリング知識と機器があれば、そのようなカートリッジを完全に自分で構築することもできます。しかし、おそらく1つを購入する方がはるかに簡単です。