FC和NES的怎么看卡带是不是新的核心差不多

话说FC和NES是一类的【fc吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:119,177贴子:
话说FC和NES是一类的
…看到某些人真的无语了
热销好货「天猫618」大牌尖货,限量特惠折上折,购物满就返红包,多买多得,不可错过!「天猫618」理想生活狂欢季,&嗨&购大品牌!
LZ很好很强大,顶一个
FC和nes不是一类的吗,只是主机和卡带在规格上有一点点不同
FC为亚州地区NES为欧美地区只是不同地区与外壳不同而已,其它一样
贴吧热议榜
使用签名档&&
保存至快速回贴摘要今年「双十一」,别忘了任天堂这款「情怀爆表」的「红白机」。一个月前,任天堂发布一款非常特别的游戏主机,它既不是 Wii U 的升级版,也不是下一代的 UX 主机,而是一款叫做 NES 经典版(NES Classic Edition)的「情怀游戏机」。NES(左)和 FC(右)如果大家对 NES 这个名字感觉有一丝陌生的话,相信「红白机」这个名字应该能勾起不少童年的回忆,而&NES 其实就是红白机(Family Computer,即 FC)当年在欧美地区销售的版本。二者在硬件性能上完全一致,只是在外观设计、游戏卡带上有所不同。新老 NES相比三十年前的 FC / NES,NES 经典版的体积要小了不少,不过它内置了包括《双截龙》、《超级马里奥兄弟》在内的 30 款「原汁原味」的 8-bit 经典游戏。更加难得的是,NES 经典版的定价只有 59.99 美元,这不太「情怀」。随着 NES 经典版上市日期的临近,我们也了解到了关于这款「复刻版」FC 的更多细节。NES 经典版可以插游戏卡么?不能不能不能!虽然 NES 经典版机身上有个类似卡槽盖的设计,但它是无法打开的,自然也不能插游戏卡。在接受外媒 Kotaku 采访时,任天堂表示,「NES 经典版不支持使用物理媒介,因此,这台主机上的看起来很像是插游戏卡的卡槽盖是打不开的。」此外,根据任天堂的说法,NES 经典版内置的 30 款游戏位于主机的板载存储器上,NES 经典版无法联网,玩家购买后也无法手动为它安装新游戏。NES 经典版可以用 NES 上的手柄和 Zapper 光枪么?不能不能不能!NES 经典版用的是和 Wii 体感棒底部相同的接口,和原始的 NES 上用的接口显然是不一样的。NES 经典版会附送一个专用的经典款手柄,如果想在 NES 经典版上玩双人游戏,有两种解决方案:第一是在购买 NES 经典版时,顺便多花 10 美元额外买一个 NES 经典款手柄;第二种方法是找个 Wii 经典手柄,然后插到 NES 经典版上使用。NES 经典版能保存游戏进度吗?这个可以有。在,任天堂表示,「NES 经典版的每一个游戏都有多个『暂停点』(原话中是 suspend points),你可以离开一会,然后接着上次的进度玩。」NES 经典版能玩哪些游戏?《气球大战》、《泡泡龙》、《恶魔城》、《恶魔城 2:西蒙的旅程》、《大金刚》、《大金刚 2》、《双截龙 2:复仇》、《马里奥医生》、《越野机车》、《最终幻想》、《小蜜蜂》、《魔界村》、《宇宙巡航舰》、《冰山登山者》、《光之神话》、《星之卡比》、《马里奥兄弟》、《洛克人 2》、《银河战士》、《忍者龙剑传》、《吃豆人》、《拳无虚发》、《星之海洋》、《超级魂斗罗》、《超级马里奥兄弟》、《超级马里奥兄弟 2》、《超级马里奥兄弟 3》、《保龄球》、《塞尔达传说》、《塞尔达传说 2:林克的冒险》。哪些经典游戏 NES 经典版玩不了?《打鸭子》、《魂斗罗》、《生化尖兵》、《勇者斗恶龙》、《热血物语》、《忍者蛙》、《男孩与泡泡怪》、《变形坦克》、《恶魔城 III》…….在大屏电视上玩红白机游戏是什么感觉?遗憾的是,到现在为止,任天堂还没有邀请任何媒体记者亲自体验 NES 经典版,我们还要等上一阵子才能回答这两个问题。不过在这之前,我们可以从任天堂的官方视频里先感受一下。另外,近日在接受一个法语电台的采访时,任天堂在加拿大的公关经理 Julie Gagnon 透露,NES 经典版通过 HDMI 线和电视机连接,连接之后,NES 经典版还提供了几种不同的显示模式,其中就包括了一个模拟古老的 CRT 显示器的「复古」模式,一个 4:3 分辨率的模式,以及一个「像素」模式(每个像素会以正方形的方式显示)。59.99 美元 NES 经典版值不值?虽然 NES 经典版的售价仅有 59.99 美元,且内置了 30 款游戏,但玩家在购买无法安装新游戏,这让 NES 经典版的价值打了一些折扣。在不考虑「情怀」的情况下,NES 经典版到底值不值这个价格呢?在这里我们不妨换个角度,算算如果从其它途径获取这些游戏,需要花多少钱。在 Wii U 和 3DS 上,任天堂提供了一个「虚拟主机」功能,让玩家可以在这些新设备上玩红白机时代的一些经典游戏。在 NES 经典版里内置的 30 款游戏中,有 28 款可以在 Wii U 的「虚拟主机」上找到,缺少的两个是《泡泡龙》和《最终幻想》,不过 Wii U 每个游戏的售价高达 4.99 美元,如果要把剩下 28 个都买齐,需要花上 139.72 美元。3DS 的情况也差不多,NES 经典版上的 30 款游戏有 26 款能在 3DS 上找到,单个游戏售价也是 4.99 美元,缺少的四个是《泡泡龙》、《最终幻想》、《星之卡比》、《星之海洋》,买齐剩下的 26 个需要 129.74 美元。需要说明的是,索尼不同(PS3、PS4 上买的部分游戏可以直接在 Vita 上玩),Wii U 和 3DS 的「虚拟主机」是两套系统,购买的游戏并不通用。此外,一些由第三方开发的游戏,在 iOS、Android、Xbox、PlayStation 等平台上也可以下载到,比如 iOS 上就可以找到 NES 经典版上 30 款游戏中的 7 款,包括《双截龙》三部曲(2.99 美元)、《最终幻想》(7.99 美元)、《浩克人 2》(0.99 美元)、《吃豆人》(0.99 美元),但相比起任天堂的自家平台,这些平台的内容还是要少很多。总之,即使不考虑之后可能出现的增值,在正版购买渠道中,也找不到比「60 美元买 30 款正版经典游戏」更便宜的价格了(不考虑装 FC 模拟器这种办法……)。啥时候能买到 NES 经典版?任天堂已经在官网上宣布,NES 经典版将于今年「双十一」当天正式开卖。就在几天前,,不过现在网站已经变成了无货状态。至于国行版,大家还是别指望了。如果大家有意买一台 NES 经典版用来收藏或者寻找童年的回忆,记得提前做好代购或转运的准备。此外,考虑到「情怀粉」的数量众多,可能会出现「双十一」当天抢不到的情况,大家还请保持淡定。本文部分内容参考了 、 等信息源。分享至最新文章用极客视角,追踪你最不可错过的科技圈。新鲜、有趣的硬件产品,第一时间为你呈现。关注前沿科技,发表最具科技的商业洞见。NES和FC有什么区别?【fc吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:119,177贴子:
NES和FC有什么区别?
热销好货「天猫618」大牌尖货,限量特惠折上折,购物满就返红包,多买多得,不可错过!「天猫618」理想生活狂欢季,&嗨&购大品牌!
请问大家哪个质量更好?
美版和日版的区别,卡带不一样
一样的。其实电视机也有慢帧。
通俗来讲一个是美国机器,一个是日本机器,卡带也不一样。游戏的话就是美版和日版的分别
NES是美版,FC是日版,两者卡带互不通用,容量与计算都不同,总体来说日版内容更多一些。
发售地区不同,机器外形不同,卡带不同,游戏版本不同,制式分别为 NTSC-J (Famicom) 和 NTSC-U/PAL (NES)。输出不同,Famicom 是只输出 RF,NES 多出了 AV 接口 (在第二版中二者相反)。质量问题的话,做工在当时应该是差不多的,不过我没摸过,所以不敢确定。游戏质量普遍是 Famicom 的好一些,Famicom 的一些游戏加入了第三方扩展芯片,例如 Konami 的 VRC6 等。
美版6s和国行6s的区别?
意思是一个。。就像SD卡一样,有大的SD卡。也有小SD卡,所用载体不同而已。。。不过由于存储空间的大小,所反应出来的东西自然就不一样了
爹和爸的区别 ?﹏﹏ 是谁?是谁又把我的沙发抢了
日版好一些,美版有些有删减
贴吧热议榜
使用签名档&&
保存至快速回贴小霸王FC美版卡带 任天堂NES游戏合卡 500合一游戏卡带
老客户了,货好, 人好,发货快
版本类型:中国大陆&&nbsp套餐:单机标配&&nbsp颜色分类:红色
版本类型:中国大陆&&nbsp套餐:单机标配&&nbsp颜色分类:红色【转】FC(红白机)游戏nes文件的汉化技术
FC大字体汉化方法
作者:madcell
一.前言:
本文以FC上第一个发售的游戏《大金刚》为例,介绍如何对标题画面进行大字体汉化。
阅读本文,必须具备一定的的条件,否则看了也是不知所云。例如:掌握计算机原理、熟悉6502汇编知识、了解FC硬件系统、有编程经验等。这些知识及技能并不需要精通,足够用于汉化即可。
推荐一些有用的技术文档:任天堂产品系统文件、任天堂游戏编程探秘、Mapper说明文档、NES档案格式说明、6502编程大奥秘、6502微处理指令集、6502基础知识等。
二.汉化工具:
1.调试器:VirtuaNES Debugger、FCE Ultra XD-SP、NO$NES。
2.汇编及反汇编:6502 Simulator、NESDEW、6502 Disassembler。
3.ROM修改:WinHex、CrystalTile2。
三.术语解释:
1.ROM、PROM、VROM:
FC卡带的ROM有两种:PROM(PRG)和VROM(CHR)。PROM用于存放程序、数据和图形,VROM用于存放图形和数据。FC规定一个PROM的大小是16K,VROM是8K,最基本的FC卡带是一个PROM加一个VROM,共24K。
2.Mapper:
内存映射器,通俗来说,是一种切换PROM或VROM的方式,具体是用一块芯片来实现。凡是大于24K的ROM,都要上加这种芯片。24K的ROM没有Mapper,习惯称为Mapper0。
四.Mapper3工作原理:
本例中,需要把原ROM的Mapper0改成Mapper3。
Mapper3不能切换PROM,允许的PROM大小只有两种:16K和32K。VROM理论上是8K至2040K。
PROM是16K时,16K的PROM全部映射到CPU的$C000-$FFFF,$8000-$BFFF是$C000-$FFFF的镜像。
PROM是32K时,32K的PROM全部映射到CPU的$8000-$FFFF,其中,#00的PROM(16K)映射到$8000-$BFFF,#01的PROM(16K)映射到$C000-$FFFF。
Mapper3的特点是可以切换VROM,一次切换一个VROM(8K),映射到PPU(VRAM)的$0000-$1FFF。
对Mapper3进行操作的方法是:往CPU的$8000-$FFFF这个范围内,写入一个1字节数值,该值就是VROM的编号(Bank Number),以8K为一个单位,理论上是#00至#FF。
下面是切换VROM的程序,很简单,只需要两条指令:
lda #$00 ;切换#00的VROM到PPU的$0000-$1FFF
lda #$01 ;切换#01的VROM到PPU的$0000-$1FFF
五.关于CPU I/O端口$2006和$2007:
这里只说一下在本例汉化中用到的两个端口:$2006和$2007。
具体操作是:通过连续两次写$2006,设置VRAM的当前操作地址(PPU地址),第一次写入的数值是地址高位,第二次是低位。设置好PPU地址后,再通过写$2007,往VRAM送入数据,每次写完一个数值,PPU地址自动加1或者加32。
lda #$22 ;A=0x22
sta $2006 ;写0x22到$2006(CPU),设置PPU地址的高位。
lda #$09 ;A=0x09
sta $2006 ;写0x09到$2006(CPU),设置PPU地址的低位,此时,PPU的当前操作地址是$2209(PPU)。
lda #$fe ;A=0xFE
sta $2007 ;写0xFE到$2007(CPU),往VRAM地址$2209(PPU)处送入数值0xFF,同时PPU地址自动加1,变为$220A(PPU)。
lda #$88 ;A=0x88
sta $2007 ;写0x88到$2007(CPU),往VRAM地址$220A(PPU)处送入数值0x88,同时PPU地址自动加1,变为$220B(PPU)。
六.反汇编NES ROM:
用NO$NES就可以对整个ROM进行反汇编。
操作步骤:
1.载入ROM -& 点击指令窗口 -& Ctrl+G -& 输入“C000” -& 把C000拉到窗口的顶行。
2.菜单 -& Utility -& Disassemble to File -& 输入“4000” -& 保存。
3.得到的*.ids就是汇编程序,实际是一个文本文件。
七.扩容:
本例使用的文件:Donkey Kong (World) (Rev A).nes,大小24K(24592字节)
ROM中没有可用的多余空间,解决方法是扩容,增加一个PROM和一个VROM就足够,还要把Mapper0改成Mapper3。
原ROM结构:16B Header + 16KB PROM + 8KB VROM
新ROM结构:16B Header + 16KB PROM(New) + 16KB PROM + 8KB VROM + 8KB VROM(New)
原ROM结构(详细):16B Header($F) + 16KB PROM($F) + 8KB PROM($F)
新ROM结构(详细):16B Header($F) + 16KB PROM($F,#00) + 16KB PROM($F,#01) + 8KB VROM($8010-$A00F,#00) + 8KB VROM($A010-$C00F,#01)
操作步骤:
1.WinHex打开ROM -& 光标定位到$0010 -& Ctrl+0(粘贴0字节) -& 输入“16384”。
2.光标移到文件结尾的字节 -& Ctrl+0(粘贴0字节) -& 输入“8192”。
3.改NES文件头:由于增加了一个PROM和一个VROM,$0004和$0005处都改为0x02;改Mapper3,$0006处改为0x30。
这样就完成了ROM扩容和Mapper修改,修改后的PROM为32K,VROM为16K,ROM大小为48K。
试着用任何模拟器运行《大金刚》,效果跟原来的没两样。
八.新VROM的修改:
先把原ROM中的8K VROM复制到新增的VROM中。
我们看一下标题画面用了哪些Tile图案,组成“DONKEY KONG”的编号为62的图案,黑色背景#24的图案,还有就是英文和数字。
这就是说,除了#62和#24不能改动外,其他的都可以改,那么就从#70开始改动吧。
菜单和版权信息翻译后用到汉字有“单双人游戏AB198任天堂日本制造”。
制作码表,为了方便,就用Tile号作为每个汉字编码:
最后用CrystalTile2制作字符,定位到$B710 -& 属性设置:宽度16,高度16,绘图模式ObjH-1234 -& 设置字体及大小 -& 导入码表完成字符制作。
九.调试器VirtuaNES Debugger的使用:
常用的调试器有VirtuaNES Debugger、FCE Ultra XD-SP和NO$NES,功能是各取所需,这里以简单直观的VNES为例。
载入ROM后,分别打开以下窗口:
1.RAM:查看CPU内存$0000-$FFFF,也就是6502的寻址范围。
2.图案:开启“图案表查看器”,FC有两个图案表,称之为“图案表0”和“图案表1”。上部分(图案表0)对应VRAM的$0000-$0FFF,占用4K,Tile编号0x00至0xFF。下部分(图案表1)对应VRAM的$1000-$1FFF,占用4K,Tile编号0x00-0xFF。本例中,图案表0是用于活动块,图案表1是用于背景。
3.VRAM:开启“命名表/属性表查看器”,查看活动块属性、调色板、命名表、属性表,对应VRAM的$2000-$27FF。本例中,我们只关注$2000-$23BF。
当画面停在游戏标题画面时,光标定位到$2209,该处数值是0x01,也就是Tile ID。
4.背景:开启“背景查看器”,大窗口包含四个小窗口,本例中,我们只关注左上角的,该窗口对应VRAM的$2000-$23BF。
当画面停在游戏标题画面时,鼠标点取“1 PLAYER GAME A”中的“1”,窗口下面显示信息的为“Tile:01,Address:2209”,表示VRAM地址的$2209处,显示背景图案表中编号为01的Tile,也就是图案“1”。
本窗口和VRAM窗口描述的是同一个事情,一个用具体图案表现,一个用数值表示。
5.精灵:查看当前活动块情况。
6.DEBUG:开启“指令显示控制”,用于设置断点进行跟踪分析。
下面就以《大金刚》为例,介绍跟踪操作:
1.勾选左下角的“一开始暂停”,重新载入ROM,此时模拟器暂停,准备执行第一条指令,图案表、命名表、调色板、内存等清零。
2.设置断点,在“注释内出现”后面填入“[2007]=A=0x01”,点击右边的“确定”,模拟器立即执行N条指令后停下,这时注意以下几个窗口的状态:
调试窗口:窗口底部最后一条指令为“F216: 8D 0720
STA $]=A=0x01”,表示往VRAM的$2209写入0x01(图案“1”),
背景窗口:标题“DONKEY KONG”已经显示出来,同时还有一个图案“1”;
命名表/属性表窗口:$2209处的数值是01,周围一大块都是24(空白Tile图案)和62(组成DONKEY KONG标题的Tile图案)。
模拟器窗口:空白。
3.在“PC为”后面填入F216,再按后面的“确定”,执行N条指令后,窗口底部最后显示的指令是“F216:8D 0720
STA $]=A=0x24”,表示往VRAM的$220A写入0x24(空白Tile图案),
4.继续按“确定”,显示的指令还是“F216:8D 0720
STA $]=A=0x19”,表示往VRAM的$220B写入0x19(图案“P”)。这时再看一下背景窗口,已经出现图案“1 P”。
5.连续按“确定”,陆续出现L、A、Y、E、R,直到菜单和版权信息全部出现,模拟器响起音乐,进入标题画面等待状态。
6.让模拟器继续运行,会再次停在断点$F216,但这次不是我们需要的。$F216处的指令除了绘制菜单外,还有其他作用。绘制标题画面、写调色板、绘制游戏画面等,用的也是这条的指令。反正先记下“F216:8D 0720
STA $2007”,从这里开始构思修改方法。
7.重复步骤1和2,模拟器停下后,勾选窗口下面的“停止刷新”,往上拉滚动条,注意看注释,寻找包含信息“[2006]=??????”的指令。很容易就找到两条,“F1EC: 8D 0620
STA $2006”和“F1F2: 8D 0620
STA $2006”,其对应的注释正是“[2006]=A=0x22”和“[2006]=A=0x09”(请查看前面关于端口$2006和$2007的说明)。
记下这两个地址:$F1EC和$F216,$F1EC是设置PPU地址,$F216是往VRAM送入数据。
十.程序修改:
前面说过,绘制标题画面、游戏画面、写调色板等都是同一条指令“F216: STA $2007”,这里的问题就是如何修改程序,使这条指令在绘制菜单的过程中不执行。方法是:在某处加入判断语句,按条件执行分支程序,在绘制菜单时,不执行$F216而执行自写程序,在绘制除菜单外的图案时,执行$F216。
但是在本例中,用更简便的方法:从绘制完整个标题画面到模拟器窗口出现画面的这段时期内,寻找某个指令,该指令在这期间只执行过一两次,并且在除此之外的其他时候不会再次出现。这样我们只要该处设置一个跳转指令,去执行自写程序,执行完毕就跳回原来的程序。当然这也要经过多次的设断点,进行跟踪、分析、测试,才有可能找到。
从NO$NES反汇编出来的文件中,关注$F1EC-$F23B这段程序,同时配合调试器,经过N次的跟踪分析,往上找到了一处指令:“C921: LDA $0511”。经测试,这条指令在上面所说的情况下,只执行过一次,并且在游戏操作画面中也没有再次出现(反正是暂时没发现),正符合要求。
记下这两条指令:“C921:LDA $0511”和“C924: STA $0200”。
大家可能会发现,当程序执行到$C921时,背景窗口已经完成了标题画面的绘制,但是,注意此时屏幕还是处于关闭状态(模拟器窗口空白)。
我们要做的,就是趁画面还没显示出来之前,擦除不需要的图案,然后绘制自己喜欢的图案。我们只是修改游戏,只要是简便并且达到最终效果就可以。
扩容后的ROM,CPU的$8000-$BFFF这个范围是可以自由使用,与之对应的ROM绝对地址是$F。
操作步骤:
1.NESDEW打开ROM,设置:文件0x4010,汇编0xC000,16K Bank。
2.点击“重载”,完成反汇编。
3.在“搜索”前面填入“C921”,点击“搜索”,跳到该处。
4.把光标定位到该行,点击“修改” -& 输入“JMP 8000” -& 完成。
5.两条指令都是占用3字节,最后点击“保存”。
当原程序在执行到$C921时,就会跳转到自写程序$8000。
十一.自定义程序的编写:
$8000-$BFFF是可以自由使用的空间,用于执行自写程序。
从这里开始,标题画面的绘制就在我们的完全掌握之中,只要有兴趣,可以改成全新的标题画面。
运行6502 Simulator,这个工具有很多功能,我们只使用其中的代码编辑和编译。
操作步骤:
1.按新建文件,代码如下(注意每行代码前面最少要加一个Tab,否则不能编译):
.org $8000 ;指定程序的执行地址。
pha ;保护现场
;从这里开始自由发挥
lda #$01 ;切换#01的VROM到PPU的$0000-$1FFF
;自由发挥结束
pla ;恢复现场
lda $0511 ;执行游戏原来的命令
jmp $c924 ;返回原来的程序
2.保存源码文件*.65s,实际也是一个文本文件。
3.按“Assemble”图标,对源码进行编译,如果代码有错会出现提示,编译过程瞬间完成。
4.菜单 -& File -& Save Code -& 保存类型选“*.65b” -& 点击“Options” -& Begin:0x8000,Length:0x0400,End:0x83FF(够用即可)。注意在Save Code之前,一定要先执行“Assemble”,否则保存出来的就不是最新修改。
5.保存为二进制文件“*.65b”。
6.把这个二进制文件插入ROM中。以WinHex为例:同时打开65b文件和nes文件 -& 选取65b文件前面有数据的部分 -& 复制 -& 将nes文件的光标定位到$0010 -& Ctrl+B写入数据(注意是写入,不是粘贴)。
7.保存nes文件,模拟器运行之。
十二.大字体显示程序的思路:
一个大汉字占用4个Tile,切开变成:左上角、右上角、左下角、右下角。
写VRAM的过程如下:
设置PPU地址,指定第一个汉字的左上角位置 -& 写入左上角图案 -& PPU地址自动加0x01 -& 写入右上角图案 -& PPU地址加0x1F,设置汉字的左下角位置 -& 写入左下角图案 -& PPU地址自动加0x01 -& 写入右下角图案 -& PPU地址减加0x1F,设置第二个汉字的左上角位置 -& 如此循环,直到写完该行文本。
关于文本数据区的解释:
22 0b | 70 78 7c 80 84 | fe
PPU地址 | 单 人 游 戏 A | 文本分隔符(FF为文本结束)
注意在绘制汉化菜单之前,要先擦除原来的菜单,完整代码如下:
.ORG $8000 ;from c921
;保留现场:
;切换VROM:
LDA #$01 ;切换#01的VROM
;擦除不需要的图案:
;大字体显示程序:
LDA text,x ;读取要设置的PPU地址高位
LDA text,x ;读取要设置的PPU地址低位
LDA text,x ;读取文本编码
CMP #$ff ;判断,如果编码是0xFF,则完成大字体显示,跳出自写程序
CMP #$fe ;判断,如果编码是0xFE,则继续绘制下一行文本
STA $2006 ;设置当前PPU地址高位(用于写入数据)
STA $2006 ;设置当前PPU地址低位(用于写入数据)
STA $2007 ;写入汉字的左上角或左下角图案
STA $2007 ;写入汉字的右上角或右下角图案
CLC ;以下几条指令的作用:写完汉字的右上角后,将PPU地址设置为该汉字的左下角
SEC ;以下几条指令的作用:写完汉字的右下角后,将PPU地址设置为下一个汉字的左上角
;恢复现场并跳回原来的程序:
.DB $22,$0b,$70,$78,$7c,$80,$84,$fe,$22,$4b,$70,$78,$7c,$
80,$88,$fe,$22,$8b,$74,$78,$7c,$80,$84,$fe,$22,$cb
,$74,$78,$7c,$80,$88,$fe,$23,$03,$8c,$90,$94,$8c,$98,$9c,$a0,$
fe,$23,$14,$a4,$a8,$ac,$b0,$fe,$20,$43,$b4,$fe,$20,$4f,$b8,$fe,
$20,$5b,$bc,$fe,$23,$4a,$c0,$c4,$c8,$cc,$d0,$d4,$ff
十三.修改活动块属性:
完成菜单的汉化后,发现菜单前面的“*”光标的位置不是很好,需要作适当的调整。
图案“*”属于活动块,存放在“图案表0”中,Tile ID为A2。
控制活动块属性的数值存放在CPU地址$0200开始的256个字节中,一个活动块占4个字节。
这里要修改的是:控制Y座标的第1字节和控制X座标的第4字节。活动块的座标是以像素为单位的,调整到合适为止。通过观察内存,很容易发现对应“*”图案的4个字节是$。
设置断点,在访问$0203时停下,找到“$C933: LDA #$38”,0x38就是X座标,改为0x4b。
再次设置断点,在访问$0200时停下,不过这次要找的Y座标复杂一点,需要往上跟踪几次,最后找到“$C7C5: LDA #$7F”,把0x7f改为0x82。同时还要修改两处地方:“$C974: LDA #$7F”,0x7f改成0x82;“$C970: CMP #$BF”,0xbf改成0xc2。
十四.在游戏画面切换原来的VROM:
标题画面的汉化做好了,但是进入游戏画面会发现花屏现象,因为此时用的VROM还是自定义的那个。这里要做的是,在游戏画面出现之前的某个时刻,切换回原来的VROM。
同样地,在修改程序的过程中,我们也尽量寻找只出现过一两次的指令。在修改标题画面的过程中,相对比较容易地就找到目标指令,但是在大多数情况下,都需要花很长时间进行跟踪分析。
在这里提供一个方法,利用FCE Ultra XD-SP的“Trace Logger”功能,记录下某个阶段执行过的所有指令,然后筛选出符合条件的目标指令,在符合条件的指令之中,再优先选择JMP或JSR指令,最后在调试器中反复测试该指令是否真正符合要求。
如何在上万条指令中找出合适的指令?如果有编程经验,就不是很难的事情。
通过跟踪分析,最终找到“C812: JMP $F228”,经测试,该指令在每次进行画面切换时,都会执行一两次。
把“C812: JMP $F228”改成“C812: JMP $80E0”,跳到自写程序的$80e0。
要注意在定义这段程序的开始地址时,不能覆盖前面$8000那段程序的数据。前面已经说过,CPU的$8000-$BFFF,与之对应的ROM绝对地址是$F,所以$80E0对应ROM的$00F0。
程序很简单,只要切换回原来#00的VROM:
.ORG $80e0 ;from C812
LDA #$00 ;切换#00的VROM
JMP $F228 ;返回原来的程序
十五.结束:
经过多个模拟器的反复测试,暂时没有发现问题,至此,大字体汉化完成。
程序的跟踪、分析、修改和编写方法因个人经验和喜好不同,本文关于FC大字体汉化的方法,相对来说,还是一种比较基础和简单的方法,希望对FC汉化爱好者起到抛砖引玉作用。
任地狱 ninjigoku.com
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!}

我要回帖

更多关于 switch二手卡带 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信