logo1.JPG (13590 字节)

 

emuingo.JPG (7907 字节)

任天堂模拟器fwNES98 0.20b

sico2.JPG (1023 字节)
Based On CYS 's hacking
By FanWen Yang 1998/5/12
DOS Version

<什麽是任天堂?>
在80年到90年间最受欢迎的电视游乐器,由日本任天堂公司开发完成,
简称Famicom(FC),海外版称为NintendoEntertainment System(NES),为一八位元的
主机,采用6502(与APPLE2相当),及特殊的图型处理器(PPU),本体有1K的RAM与4K的VRAM
声音为2方形波,1三角波,1杂音,1PCM.共五声道,日版尚有发行磁碟机FamicomDiskSystem
(FDS).磁碟机的游戏采用特制的2.8寸的磁片.并且多了两个声道.并有光线枪及其它有趣
的周边.

<什麽是模拟器?>
就是能够以软体的方式去模拟一个真正的硬体.模拟的程度不一,也许对也
许错.但是至少提供了一个途径,如果你想从事任天堂的软体开发将有很大的帮助.

<fwNES98的缘由?>
作者是个热爱FC的人,从小FC就是他的最爱,虽然任天堂的模拟器很多,但是
我想,只有fwNES98 才是一个真正电玩狂热份子:P 所写的,你应该可以感觉的到.除非是非常
喜欢FC的人,否则,写的在好也是枉然.:)

<fwNES98的目标?>
完全模拟任天堂红白机.如果资料充份的话也许也会加入磁碟机的模拟.

<fwNES98的现况?>

*任天堂硬体:

1. 6502 (使用Marat 的 M6502 核心)与Shu Kondo 的 S6502
2. PPU 大多数功能已经加入了.
3. 声音 1-5 声道已经加入了.包含DPCM

*任天堂卡带:(目前采用 iNES 的档案格式+fwNES 特有的编号)

位元组 内容
-------------------------------------------------------------------------
0-3 字串 "NES^Z"
4 多少个16K程式区块
5 多少个8K图型资料
6 位元 0 1 VRAM水平排列(垂直映设), 0 垂直排列(水平映设)
*Note:这是正确的说法(:P)
位元 1 1 表有电池记忆在 $6000-$7FFF
位元 2 1 表有修改资料在 $7000-$71FF或是其它
位元 3 4 个萤幕缓冲区($2000-$2FFF)每一K一块.
注意:此bit可能用来切换HV/PG 使用,如 mapper 70 与 78 ..等等
位元 4-7 卡带种类编号 低四位元
7 位元 4-7 卡带种类编号 高四位元
8-15 保留
16-... 修改资料(如果有的话)..程式资料..图型资料...到
EOF
-------------------------------------------------------------------------
卡带种类号编号
iNES mapper 0:低K
iNES mapper 1:(Nintendo MMC1 ) + 程式资料 >256K 支援 , DragonWarrior 3,4 勇者四代
iNES mapper 2 (74161 pppppppp) FFE hacked F2,F4 series .. 太空战士一二代.火之鸟..etc
iNES mapper 3:(VROM Switch ) 宇宙巡航舰,鬼太郎,新人类...etc
iNES mapper 4:(IRQ)(Nintendo MMC3 )有处理IRQ !! 太空战士三代,玛莉二代USA,玛莉三代!!
洛克人3,4,5,6..etc
iNES mapper 5:(IRQ)(Nintendo Mapper 5) 美版恶魔城三
iNES mapper 7:Wizard & Warrior 1,2,CobraTriangle. etc.
iNES mapper 8:FFE F3xxxx series ,小叮当.etc
iNES mapper 9:(Nintendo MMC2)美国版的 MikeTyson Punchout 与 Mr.Dream Punchout!!
iNES mapper 10:(Nintendo MMC4)圣火降魔录,圣火降魔录外传,任天堂战争
iNES mapper 11:(Color Dream )也就是台湾厂商圣谦的那些游戏美国版!!!
iNES mapper 15:100合一
iNES mapper 16:(IRQ)(Bandai mapper)七龙珠 2,3,Z1,Z2,Z3,Z外传,钢弹骑士物语1,2,3.etc
英雄列传1,2.
iNES mapper 17:(IRQ)FFE F8xxx series 英雄列传二代,七龙珠Z3...etc
iNES mapper 18:(IRQ)(Jaleco mapper)有处理IRQ!!立棒三代四代!寺尾大相扑!
iNES mapper 19:(IRQ)(Namco mapper)鬼屋二,瓦强世界1,2,3,妖怪道中记,万王之王,女神转生2 etc
三国志,三国志二!
iNES mapper 21:(IRQ)(VRC4 变种)有处理IRQ!!大盗外传2,柯拿米世界2.etc
iNES mapper 22:(IRQ)(VRC4 变种)兵蜂三代!!
iNES mapper 23:(IRQ)(VRC4 标准1)科拿米世界,月风魔传.
iNES mapper 24:(IRQ)(VRC6)恶魔城3日文版
fwNES mapper 25:(IRQ)(VRC4 标准2)柯拿米棒球!宇宙巡航舰!大盗五右卫门2,大盗外传1.
fwNES mapper 26:(IRQ)(VRC6V)魍魉战记,超能力之梦
iNES mapper 32:(Irem G101 ) 梦幻战斗2.
iNES mapper 33:(Tatio TC190)木匠兄弟一二,泡泡龙二.
iNES mapper 34: Mission Impossible!
fwNES mapper 48(Tatio TC190V)石头族乐园
fwNES mapper 64:(IRQ)(Rambo->MMC3 变种)超级忍,KLAX
fwNES mapper 65:(IRQ):(Irem H3001)爱先生,大力工头二,P-Man2密秘结社
fwNES mapper 66:74161/32七龙珠一代,DNA战士.
fwNES mapper 67:SunSoft Mapper 3:幻想空间二
fwNES mapper 68:SunSoft Mapper 4:冲破火网
fwNES mapper 69(IRQ):SunSoft Mapper 5:Batman 1,2 日文版
fwNES mapper 70:74161/32 :Bandai早期的游戏 假面骑士,鬼太郎2,圣斗士星矢
fwNES mapper 71:Camerica Mapper FireHwak
fwNES mapper 72:Jaleco Early Mapper #0 Jaleco 网球,PinBallQuestJ
fwNES mapper 73:Reserved for Konami VRC1 沙罗曼蛇一代
fwNES mapper 74:Taiwan MMC3 -Varient Mapper#0 快杰洋枪3(hacked)
fwNES mapper 75:Jaleco Mapper SS8805 Jaleco燃烧篮球2对2
fwNES mapper 76:Konami Early Mapper #0 大盗五卫门一代
fwNES mapper 77:Irem Early Mapper #0 NaporeonSenkiJ,HolyDriveJ
fwNES mapper 78:74161/32 CosmosCarrierJ.
fwNES mapper 79:AmericanVideoEntertainment F15Citywar,Trolls
fwNES mapper 80:(X-005):不动明王传!
fwNES mapper 81:(Tatio-C075):
fwNES mapper 82(IRQ)(Taito-X1-17)
fwNES mapper 83:Cony Mapper :饿狼传说!
fwNES mapper 84:PasoFami Mapper ( .500 .MOD)Supported
fwNES mapper 85:Konami VRC7 TinyToonAdv2J,宇宙防卫军
fwNES mapper 86:Jaleco 早期mapper 立棒一代
fwNES mapper 87:奥运特别版
fwNES mapper 88:Namco 118 恶魔人
fwNES mapper 89:Sunsoft早期mapper 水户黄门
fwNES mapper 90:HK-TTK2 铁拳二
fwNES mapper 91:HK-SF3 五六人快打
fwNES mapper 92:Jaleco早期mapper 燃烧足球,燃烧立棒88
fwNES mapper 100:Nestice/Buugy/Trainer MMC3 Mode Trainer 的 MMC3 游戏

*模拟器本身:
320x200 256x240 256x224 256x256 256x256Scanline 288x224 288x224Scanline
4钮手把
使用 SEAL SOUND LIB ,数位音效

<使用fwNES98的基本软硬体需求为何?>

*基本配备:
硬体 :IBM系相容之PC
CPU :586 (就是AMD,INTEL,CYRIX都行)建议Pentium 133 以上
RAM :16 MB
OS :DOS 6.22 或 Win95


<fwNES98 的参数>
-help 显示Help画面
-m6502 使用Marat6502Core (预设)
-s6502 使用ShuKondo6502Core
-delay <数目> 如果模拟器太快的话.使用这个吧!
-cycle <几个CPU周期> 每条扫描线所用的CPU周期. 预设值:114
-vbline <几条扫描线 > 垂直回描所用的时间 预设值:15

-irqad <调整值> IRQ调整参数 预设值:AUTO
-irqad2 <调整值> IRQ Adjust for Konami mapper :AUTO
-palette<色盘值> 0:iNES 1:Pasofami 2: Loopynes 预设值:2
-vgamode<解析度> 0:320x200 1:256x240 2:256x224 预设值:2
3:256x256 4:256x256S 5:288x224
6:288x224S 7:640x480 VESA
-sound <设定值> 0:无 1:SB 2:AWE 3:PAS 4:Ultrasound Max
5:UltraSound6:Windows Sound System
7:ESS 8:自动侦测
-vsyncon 使画面更新与VGA同步 预设值:OFF
-vsyncoff 关掉vsync
-frameskip <画面张数> 预设值:2
-joy2 使用摇杆 两钮 预设值:OFF
-joy4 使用摇杆 四钮 预设值:OFF
-nojoy 不使用摇杆
-noticker 没有声音的刻度表

-k_a <键盘扫描码> 重新定义游戏按键
-k_b <键盘扫描码> 重新定义游戏按键
-k_start <键盘扫描码> 重新定义游戏按键
-k_select <键盘扫描码> 重新定义游戏按键
-k_up <键盘扫描码> 重新定义游戏按键
-k_down <键盘扫描码> 重新定义游戏按键
-k_up <键盘扫描码> 重新定义游戏按键
-k_left <键盘扫描码> 重新定义游戏按键
-k_right <键盘扫描码> 重新定义游戏按键

Key Scancode
-----------------------------------
KEY_ESC 1
KEY_1 2
KEY_2 3
KEY_3 4
KEY_4 5
KEY_5 6
KEY_6 7
KEY_7 8
KEY_8 9
KEY_9 10
KEY_0 11
KEY_MINUS 12
KEY_EQUALS 13
KEY_BACKSPACE 14
KEY_TAB 15
KEY_Q 16
KEY_W 17
KEY_E 18
KEY_R 19
KEY_T 20
KEY_Y 21
KEY_U 22
KEY_I 23
KEY_O 24
KEY_P 25
KEY_OPENBRACE 26
KEY_CLOSEBRACE 27
KEY_ENTER 28
KEY_CONTROL 29
KEY_LCONTROL 29
KEY_A 30
KEY_S 31
KEY_D 32
KEY_F 33
KEY_G 34
KEY_H 35
KEY_J 36
KEY_K 37
KEY_L 38
KEY_COLON 39
KEY_QUOTE 40
KEY_TILDE 41
KEY_LSHIFT 42
KEY_BACKSLASH 43
KEY_Z 44
KEY_X 45
KEY_C 46
KEY_V 47
KEY_B 48
KEY_N 49
KEY_M 50
KEY_COMMA 51
KEY_STOP 52
KEY_SLASH 53
KEY_RSHIFT 54
KEY_ASTERISK 55
KEY_ALT 56
KEY_SPACE 57
KEY_CAPSLOCK 58
KEY_F1 59
KEY_F2 60
KEY_F3 61
KEY_F4 62
KEY_F5 63
KEY_F6 64
KEY_F7 65
KEY_F8 66
KEY_F9 67
KEY_F10 68
KEY_NUMLOCK 69
KEY_SCRLOCK 70
KEY_HOME 71
KEY_UP 72
KEY_PGUP 73
KEY_MINUS_PAD 74
KEY_LEFT 75
KEY_5_PAD 76
KEY_RIGHT 77
KEY_PLUS_PAD 78
KEY_END 79
KEY_DOWN 80
KEY_PGDN 81
KEY_INSERT 82
KEY_DEL 83
KEY_PRTSCR 84
KEY_F11 87
KEY_F12 88
KEY_LWIN 91
KEY_RWIN 92
KEY_MENU 93
KEY_PAD 100
KEY_RCONTROL 120
KEY_ALTGR 121
KEY_SLASH2 122
KEY_PAUSE 123

<fwNES游戏时的按键>

方向键 左 左
方向键 右 右
方向键 下 下
方向键 上 上
CTRL A
空白键 B
TAB 选择钮
ENTER 开始
0-9 使用第几组随时记忆
F1 存入随时记忆
F2 取出随时记忆
F3 任天堂上的重置钮
F4 模拟重新打开电源
F7 跳格多一点
F8 跳格少一点
F9 延迟少一点
F10 延迟多一点
F11 跳进Debugger
F12 存图到 .PCX
/ 换画面解析度
Esc 跳到GUI
End 离开fwNES98回到DOS
--------------------------------------
如何使用 GUI ?
--------------------------------------

游戏中按 "ESC" 就会跳到GUI 中.

GUI 中的按键:

ESC -取消 ,离开 ...等等
Enter -接受 ,选取 ...等等
PageDown -在选取档案中快速卷动
PageUp -在选取档案中快速卷动
Up-Arror -往上
Down-Arrow -往下
F12 -存图 .PCX

GUI 选单 :

GUI 说明 相当於是功能键的
-------------------------------------------------------------------
Resume to Game : 回游戏
SoftReset : 模拟reset 钮 F3
HardRest : 模拟打开电源 F4
Load New File : 开新档
Load RTS : 叫出随时记忆 F2
Save RTS : 存入随时记忆 F1
Debugger : 进入debugger F11
About : 关於fwNES
Settings : 更改设定
Exit : 回到作页系统 End

--------------------------------------
如何使用 debugger (专家)
--------------------------------------

命令:
? 显示说明画面
@ 切换 Real CPU Mode
# 切换 Real CPU + PPU Mode
*(not yet) 切换 Edit Mode
I 显示 6502 中断向量
S 显示 动话资料
N 显示卡带资讯
V 显示6502暂存器
T 显示目前色盘资讯
U 显示PPU 暂存器
F 显示目前的画面
<addr>D 反祖译 <addr>
<addr>M 看 <addr> 的资料
<addr>: <date1> <date2> .. 修改 <addr> 的资料<data>
<ssss>.<eeee>/ <date> <data> 从 ssss 到eeee搜寻
<ssss>.<eeee>W <filename> 从 ssss 到 eeee写入档案
<addr>R <filename> 把档案读在<addr>
<ssss>.<eeee>Z <date> 从 ssss 到 eeee 填入 <date>
<addr>G [M6502 Only] 从addr 开始执行
C [M6502 Only] 不中断继续执行
<addr>B [M6502 Only] 在<addr>处中断
<offset>O [M6502 Only] 中断在 PC + offset位置
Q 回到模拟器

!!!!注意!!!!!!!!!!!!!

Real CPU Mode 表示把6502 的 64 K 解在 0-FFFF
Real CPU + PPU Mode 表示把 0-3fff VRAM 和 4000-FFFF 6502 48K 一起解在 0-FFFF
Edit Mode 表示把 PRG+CHR 解到 0-XXXXX ,xxxxx 是 PRG+CHR 的大小


<fwNES98 已知问题>

1.任天堂PPU部份没有模拟的很好.
2.色盘还有些bug,背景与动画的叠合还有Bug.
3.Namco/MMC5/VRC6 支援不是很好.
4.HitFlag 与分割画面
5.没有多一点摇杆支援.
6.使用模拟器的时候会有问题.
<0.20>最常问的问题>

1. 问:我能重新定义按键吗?
答:可以,使用命令列参数,用一次後便自动存在 .INI

2. 问:我的游戏档不能依你所指定的mapper玩?
答:不可能,只有你的档案是好的,没修改的,应该都没问题

3. 问:我听到谣言说fwNES 0.20 支援磁碟作业系统?
答:还没,不过已经在工作中了.

4. 问:Konami 游戏能在fwNES 0.20 中正确执行吗?
答:作者努力不倦终於使的fwNES 0.20 能执行Konami 游戏无误.

5. 问:某个游戏不能在fwNES 0.20 中玩 但能在 0.15 中玩!
答:说明情况告诉作者,作者会很努力的找出问题!

6. 问: mapper #90 ,#91 真的有支援吗?有这些游戏吗?
答: 真的.不过是台卡,港卡,大陆卡.

<0.15 最常问的问题>

一.问:要如何使用随时记忆?
答:按"F1"存入目前的游戏,按"F2"取出.

二.问:我能够存多组的随时记忆吗?
答:可以.按0 - 9 选则目前使用的随时记忆组,预设是第0组.
存成的档名为 *.RT0 -> *.RT9


三.问:我喜欢破关画面,我能存成图形档吗?
答:可以,按F12.就可以了.
档名规则如下.
如果玩 smb.nes 则图形档为 smb00.pcx smb01.pcx...

四:问:为什麽fwnes 用了许多6502 核心?
答:因为每个6502核心都有优缺点.
Marat 6502 核心不错可惜慢.
Neil 6502 核心快,可是模拟的指令有些不对.
ShuKondo 6502 是我朋友特地为fwNES写的,我喜欢这一个!
试一试 fwnes98 -sound 1 -frameskip 0 -vgamode 4 -s6502 -vbline 24 ff2j.nes
玩FF2 ..

五:问:不同6502核心的随时记忆可不可以混用?
答:应该可以.但是我不敢保证!可能会有问题.

六:问:我想把模拟器的设定复原成预设值.
答:删除.INI .档

七:问:我最喜欢的游戏没有支援.
答:把卡带资料送来,我会尽力去支援它的.

八:问:模拟器跑的太快了?
答:使用 -frameskip 0 -delay <0-30> 试试.

九.问:我的AWE32 /64 Gold 声音怪怪的....
答:请用 SB 模式

十.问:卡带种类#100 干麻用?
答:有些专门改成Netilce 用的那些有Trainer 的档案,请用这个模式!

<0.10 最常问的问题>

一.路人甲:什麽是模拟器呢???
作者云:如上所述!

二.路人乙:使用fwNES98所要的档案?
作者云:使用fwNES98时要有DPMI的Server,使用CSWDPMI.EXE 或是在Win95的DOS下都可以
使用无误!,还有就是游戏档案.

三.路人丙:请问那里有游戏档案??
作者云:作者不能提供任何档案给你,散布游戏档案是违法的行为.并且不要来信询
问!

四.路人丁:我有很多卡带,请问是否转成模拟器可用的呢?
作者云:可以,但是须要特别的硬体才行,如IO56,或是请我帮忙,不过我目前很忙
可能没办法帮你!
http://

五.路人戊:对於有记忆的游戏怎麽办呢?
作者云:这分两种卡带,如果是用$6000-$7FFF并以电池记忆的话,fwNES会自动在游戏结束
帮你存成 .sav 档.令一种是用EPROM的记忆(万岱游戏,如七龙珠系列).
,请用随时记忆解决.

六.同学甲:某某游戏不能玩?
作者云:档头是不是用对了?...尤其是卡带种类编号与程式与图形区块的数目.

七.玩的时候卷动怪怪的?
作者云:改水平,或是垂直...(VRAM排列的方式),

八.游戏看的到标题,进不去游戏画面,或是玩到一半当掉?
作者云:请调整 -cycle 与 -vbline .

九.画面还是怪怪的 ?
作者云:请使用 -irqad 调整 ,请小心使用..
卡带种类编号
A)
4 /*MMC3 */
5 /*MMC5 */
64 /*Rambo */
-irqad A 0<A<16
B)
17 /* FFE */
16 /* Bandai */
18 /* Jaleco */
19 /* Namco */
65 /* H3001 */
69 /* SunSoft5*/
-irqad B 100<B<140
C)
21 /* VRC 4 */
22 /* VRC 4 */
23 /* VRC 4 */
24 /* VRC 4 */
25 /* VRC 5 */
-irqad2 C 0<C<40

作者测试几个游戏
女神转生2 -irqad 130
七龙珠2 -irqad 115
七龙珠3 -irqad 110
七龙珠Z1 -irqad 115
七龙珠Z2 -irqad 115
七龙珠Z3 -irqad 115
七龙珠Z外传 -irqad 116

IRQ调整会受 -cycle 与 -vbline 影响!!
为什麽这麽麻烦...这使用在几个特殊的游戏而以!!

十一.声音怪怪的??
作者云:还没好好的写那部份..总比没声音好吧!

十二.模拟器不能使用?
作者云:在DOS 下 不行? 请到Win95 试一试..
试试不同的萤幕解析度 -vgamode 0~7
作者喜欢 -vgamode 4 或 -vgamode 6 或是 -vgamode 7 ,预设值为 -vgamode 2

十三.摇杆不能使用?
作者云:买支Gravis GamePad 吧.... 不然等下个版本.作者会慢慢加入
支援.

十四.我喜欢你的模拟器.我要怎麽告诉你?
作者云:写Email给我..并附上一则笑话!!

十五:我不喜欢你的模拟器.我要怎麽告诉你?
作者云:写Email给我..并附上一张美女图:P

十六.太慢了.?
作者云:使用 Neil6502 核心玩低K游戏:P

十七.其它问题.请来信告诉作者!

<fwNES98需要的协助>
任天堂磁碟机的资料.及其它有关任天堂硬体的资料.

<感谢的人>我的朋友 Shu Kondo ! 没有他fwNES可能声音就不会短期间变的很好!

<特别感谢>我最想感谢的人是CYS.没有他.就不会有fwNES 的存在.fwNES 是基於他的资
料而产生的.谢谢在写作期间的大力帮忙.其次是pcNES 作者 Jim Geffre.
我们总是一起讨论.互相帮助以及#mul8 的朋友们.及Carol及Vertigo朋友的
帮忙测试.以及借我卡带研究的朋友们!


<fwNES98的使用授权?>
fwNES98为Shareware.但你不用付费给作者就可以取得注册资格.你可以做为个人使用
,但是请勿与游戏档案一同散布.如果你想有更新的版本存在.因为这样做会使得作者
受到某些压力.而导致不能继续写作.基本上你不能把fwNES98用商业牟利用途.且请
向游戏厂商购买正版软体,才能合法使用该游戏软体,作者鼓励大家使用正版软体!!

<连络作者的方法>
请大家务必要好好阅读说明的内容,有提及的部份请勿来信询问.

作者的Email: [email protected]

作者的网址 :http://neuralpc5.cs.ccu.edu.tw/~fanwen/fwnes.htm
http://sepc08.et.ntust.edu.tw/emu/fwnes.htm