--------------------------------- NES/Famicom FOREVER Vertigo2099 prouldy presents NES/Famicom Emulator fwNES 0.1b Based On CYS's hacking By FanWen Yang 1998/2/24 DOS Version --------------------------------- ---------------------------- ファミコン(NES)とは何ぞや? ----------------------------  '80年代中頃から後半にかけて、Nintendo Entertainment Systemとして知られる、 非常に流行したTVゲームマシンが存在しました。日本では、この革命的なマシンは 「ファミコン(ファミリーコンピュータの略)」として知られています。これは8bit マシンで、CPUは6502、古えのApple ][にかなり類似しています。他にはPPU(画像処 理装置)、5音のサウンドチップ(矩形波2音、三角波1音、ノイズ1音にPCM1音)が内蔵 されています。1KbyteのワークRAMと4KbyteのVRAMを持っています。日本では、ディ スクシステムとして知られる周辺装置が販売されていました。ディスクシステムは 通常のカートリッジに代わって3"のフロッピーディスク(訳注*1)を使用しており、 2チャンネルの音源(訳注*2)が追加されています。任天堂は他にも光線銃、パワーパッ ド等を販売しています。 訳注:1)いわゆるクイックディスク。あまり海外では知名度ないのかな。 2)1チャンネルの様に記憶しているが、未確認。 ------------------- エミュレータとは? -------------------  エミュレータとは、あるマシン用のソフトを他のマシンで動作させるためのプロ グラムです。この場合、実物のNES/ファミコンを再現するために必要な情報全てを PCに与えています。 ---------------- 何故fwNES98を? ----------------  作者は、自分のファミコンと共に成長した思い出を持っており、そしてまた現在 完璧なファミコンエミュレータが存在しない。その結果、彼は自分でファミコン/N ESエミュレータを作る事に決めたのです。  事の背景をもう少し:  新しいNESエミュレータのアイデアはVertigo 2099で生まれました。プログラマー のJL_Picardと/Firebug/が、コードネームをvNESという新エミュレータの作業を開 始しました。その完成された作業を見た後、Vertigo 2099メンバーのFanWenが作業 を引き継ぎました。それからの進行はただ驚くばかり・・・そしてfwNESが生まれた わけです。 ------------------ fwNES98の目的は? ------------------  NES/ファミコンのハードウェア、メモリマッパ、サウンドの完全再現。もし出来 れば、ディスクシステムも追加したいと思っている。 ------------------ fwNES98の現状は? ------------------ *ファミコン/NES自身のハード 1. 6502 (Marat氏のM6502とNeil氏のN6502を使用) 2. PPUレジスタのほぼすべてを再現 3. 音源1-4 *メモリマッパ:(fwNESは、標準の.NES .NEZファイルに加えて独自の拡張を行ってい ます。) Byte 内容 ------------------------------------------------------------------------- 0-3 文字列 "NES^Z" 4 16K単位のプログラムサイズ 5 8K単位のキャラデータサイズ 6 bit 0 1 垂直ミラーリング, 0 水平ミラーリング bit 1 1 バッテリーバックアップ ($6000-$7FFF) bit 2 1 トレイナー ($7000-$71FF) bit 3 4 画面バッファ ($2000-$2FFF) bit 4-7 マッパ番号下位4ビット 7 bit 4-7 マッパ番号上位4ビット 8-15 予約領域 16-... トレイナー → プログラムブロック → キャラデータブロックの順 EOF ------------------------------------------------------------------------- マッパ番号 チップセット 例 iNES mapper 0 32kb ROM/8k VROM スーパーマリオ、マリオブラザーズ等 iNES mapper 1 Nintendo MMC1 ドラクエ3-4、ロックマン2等 iNES mapper 2 UNROM (ROM switch) 悪魔城ドラキュラ(ROM)、沙羅曼蛇等 iNES mapper 3 CNROM (VROM switch) グラディウス、ペーパーボーイ等 iNES mapper 4 Nintendo MMC3 スーパーマリオ3等 iNES mapper 5 MMC5 メタルスレイダーグローリー等 iNES mapper 6 FFE F4xxx The Money Game, Arabian Dream Sharezerd iNES mapper 7 AOROM (32kb ROM Switch) ソルスティス等 iNES mapper 8 FFE F3xxx series ドラえもん…開拓編等 iNES mapper 9 Nintendo MMC2 パンチアウト等 iNES mapper 10 Nintendo MMC4 ファイアーエムブレム等 iNES mapper 11 Colour Dreams Pesterminator, Bible Adventures等 iNES mapper 15 100-in-1 chip 100-in-1 Contra Function 16等 iNES mapper 16 Bandai chip ドラゴンボールZシリーズ等 iNES mapper 17 FFE F8xxx パロディウス等 iNES mapper 18 Jaleco SS8806 Jaleco Pro Baseball '90等 iNES mapper 19 Namcot 106 ファイナルラップ、ファミスタ'90等 iNES mapper 21 Konami VRC4 2A コナミワイワイワールド2等 iNES mapper 22 Konami VRC4 1B ツインビー3 iNES mapper 23 Konami VRC2b 月風魔伝等 iNES mapper 24 Konami VRC6 悪魔城ドラキュラ3、魍魎戦記マダラ iNES mapper 25 Konami VRC4 グラディウス2、がんばれゴエモン外伝 iNES mapper 32 Irem G101 イメージファイト、パーマン iNES mapper 33 Taito TC0190/TC0350 ぽんぽこぽん等 iNES mapper 34 Nina 1 Impossible Mission 2等 fwNES mapper 64 Tengen Rambo-1 Klax, Shinobi, Skull and Crossbones fwNES mapper 65 Irem H3001 大工の源さん、パーマン2 fwNES mapper 66 74161/32 ドラゴンボール等 fwNES mapper 67 Sunsoft Mapper 3 fwNES mapper 68 Sunsoft Mapper 4 アフターバーナー2 fwNES mapper 69 Sunsoft Mapper 5 バットマン fwNES mapper 80 X-005 Demon Sword (J) fwNES mapper 81 C075 fwNES mapper 82 X1-17 fwNES mapper 83 Cony Mapper 餓狼伝説スペシャル fwNES mapper 84 Pasofami mapper .500 and .MOD games *エミュレータのサポート: 7種の画面モード: 320x200 256x240 256x224 256x256 256x256 スキャンライン付き 288x224 288x224 スキャンライン付き 2種のジョイスティック: 標準2ボタン Gravis4ボタン 1種のサウンド: Adlib のみ :P ---------------------- fwNESに必須の環境は? ----------------------  これは100%の性能を発揮出来る環境ではありません... PC : IBM Compatible PC CPU : 586 (AMD, INTEL, CYRIX) RAM : 16 MB OS : DOS 6.22 又は Win95 DOS窓 ----------------------------------- fwNES98のコマンドラインオプション ----------------------------------- -n6502 - Neil氏の6502コアを使用 : 速いが、バグ付き - Marat氏の6502コアを使用: バグは無いが、遅い -cycle <数字> - スキャンライン毎にいくつのCPUサイクルにするか <114> -frameskip <数字> - 何フレーム毎に画面を更新するか <2> -vbline <行数> - 垂直帰線は何水平帰線分か [15] -irqad <数字> - 各マッパのIRQ調整 Auto(default) 詳しくは後述 -irqad2 <数字> - コナミマッパのIRQ調整 Auto(default) -ppufix1 - グラフィックの問題修正 -ppufix2 - グラフィックの問題修正 -vgamode <モード> 0: 320x200 1:256x240 2:256x224 (default) 3: 256x256 4:256x256-scanline 5:288x224 6: 288x224-scanline -vsync - VGAの画面周波数と同期を取る -palette <モード> 0: iNESのパレット 1: パソファミのパレット 2: Loopyのパレット(default) -sound <モード> - 音源モード 0: 無音(default), 1: Adlib 2: SoundBlaster 3: Midi Out (not yet) (not yet) -joy4 - Gravisの4ボタンパッドを使用 -joy2 - 通常のジョイスティックを使用 標準キー配置: <スペース> - Aボタン <左CTRL> - Bボタン - セレクト - スタート <→> - 右 <←> - 左 <↑> - 上 <↓> - 下 - Aボタン連射トリガ - Bボタン連射トリガ - OSに戻る ------------------------ fwNESの既知の問題点は? ------------------------ 1. PPUエミュレートが完璧ではない 2. パレットのバグ、背景とスプライトの優先順位 3. 不正確なサウンド。PCMが鳴らない 4. mapper 6/Namco/MMC5/VRC6は完全再現されていない MMC3やその他のマッパのわずかのずれに苦しんでいる 5. 衝突判定と画面分割の処理はバグあり 5. GUIが無い。GravisのGrIPに対応していない 6. マシンをクラッシュさせるかもしれない(私はそうは思わない) 7. VESA VBE に対応していない ----- FAQ ----- 1. Q: エミュレータって何? A: もしエミュレータとは何かを知らないのであれば、fwNESの事は忘れて下 さい(笑)。ウェブページやニューズグループ等でそれに関する記述を見つ ける事が出来るでしょう。http://zophar.internexus.net/を参照。 2. Q: fwNES98の実行には何が必要? A: DPMIサーバが必要です。CSWDPMI.EXE(default)か又はWin95のDOS窓で使用 して下さい。 3. Q: ゲーム本体はどこにあるの? A: 知りません………サーチエンジンを使うか、http://emu.internexus.net/ Vertigo/を参照。 4. Q: 自分の手持ちのカートリッジをfwNES98用に吸い出すには? A: 特殊なハードを使用します。例えば"IO/56"等を知っています。 5. Q: ゲームを終了する時にゲーム状態を保存するには? A: ゲームのバックアップ方法には、EPROMバックアップと、バッテリーバッ クアップの2種類があります。fwNES98は、バッテリーバックアップの場合 は自動的に.SAVというファイルを作成し、そこにセーブします。EPROMの 場合は、残念ながらリアルタイムセーブ・ロードには対応していません。 (訳注:EPROMはEEPROMの事か?不明) 6. Q: ゲームが動かない! A: もし灰色の画面が出るのであれば、ROMファイルのヘッダをチェックして 下さい…プログラムサイズ、キャラデータサイズ等、正しいですか? 7. Q: ゲームプレイ中のスクロールが間違っている A: ファイルヘッダの垂直/水平ミラーリングの項を修正して下さい。 8. Q: 画面がぐちゃぐちゃ・ステータスバーが表示されない A: 以下を試して下さい -ppufix2, wizard&warrior 1, 2, Cobra Triangle .. -ppufix1 for DragonBall 2 ,DragonBall 3 (Rare社のゲームは嫌いです(泣)。私のPPU処理に障害が出る) 9. Q: ゲームはロードされるが、ゲーム中にハングアップする A: -cycleと-vblineを調整して下さい。数字を増やしてみて下さい。 10. Q: 何ラインかだけ画面が壊れる A: -irqadを使用して調整して下さい。 マッパ番号 A) 4 /*MMC3 */ 5 /*MMC5 */ 64 /*Rambo */ -irqad A 0