﻿■怎么想起来写这么一个软件？
我是个任粉，喜欢马里奥，业余喜欢写写代码。那么多无私奉献的大佬给了我们许许多多的福利，我爱好所致，也给大家搞个福利。

■这个软件收费吗？
本软件免费，绝无恶意功能和广告插入，也没有使用限制，免费提供给大家使用，但请遵守《最终用户许可协议》，可别说您的游戏机是我的软件给弄坏的……
搞这个软件也不容易，本软件邀请捐助，如果它给您带来了方便，欢迎有条件的朋友踊跃捐助，在此深表感谢！6.0起增加了捐助码，目的是给捐助者以小小的回报，具体查看6.0版本的【关于...】对话框。

■为什么软件一执行就闪退？
绝大多数的可能性是——你的Windows系统使用了中文用户名进行的登录。想解决这个问题，第一件事就是试着使用英文用户名登录系统，如果再有这个问题，请联系我。

■为什么软件读取游戏Rom失败，但其它软件读取却是正常的，安装在游戏机里也没问题？
碰到这样的情况，请你第一时间关注prod.keys文件中MasterKey是否需要更新，MasterKey可从网上获取。一般情况下，这种问题与ncatool.dll无关，如果MasterKey无须更新却出现这种致命问题，请联系我。

■如何升级外部参照数据库ExtData2.dat文件？
这个数据库文件的升级需要到软件官网查询，如有升级文件，请下载，文件名为ExtData2.dat。使用软件菜单中的升级ExtData2.dat功能选择这个新下载的文件就可以升级了，升级过程中可以选择不覆盖你的ExtData2.dat中已有的数据。

■我使用了6.0版本，之前我翻译补充了大量的中文游戏名，如何从原有旧版本Excel数据库中提取中文游戏名到新版本中呢？
使用软件菜单中的升级ExtData2.dat功能选择旧版本的Excel数据库文件就可以保存到ExtData2.dat数据库中了。

■6.0新增了游戏文件校验功能，请详细介绍一下。
目前为保证速度，校验功能只校验游戏文件内大小在10MB以内的nac文件，即大于10MB的nac文件以及NSZ或XCZ里面的ncz文件均不在检测之列。一般来说，这种校验即可得出游戏文件是否被修改或魔改的结论，但对于某些UPD或DLC等NSZ游戏文件，可能会因其内部的ncz文件而导致结论不正确，但为保证速度，也只好两弊取其轻了。在工具栏点击“显示ROM签名校验结果”复选框，可以设置此功能的开关，并即时切换是否显示这种校验结果。显示校验结果的时候，文件列表未通过校验的的文件行字体显示深红色。

■软件怎么使用外部数据文件？
本软件不需要任何外部数据库支持即可独立提取XCI、NSP、NSZ和XCZ文件的信息并独立工作，所以完全可以不使用外部数据文件。
程序提取XCI、NSP、NSZ和XCZ文件的信息包括以下内容：Title ID、标题图片、游戏名、厂商作者名、游戏Meta版本和Control版本、包含语言，以及Title Key、Prod Code、SDKVersion、MasterKey等等。而中文游戏名、导出游戏收集情况列表等功能还是需要使用外部数据库支持的。当然为了尽量完美起见，最好使用外部数据文件来补充。

■读取游戏文件时出错了怎么办？
虽然软件发展到现在，兼容性已经很强了，但出错也有可能，如果本人没有猜错的话：第一，出错一定是出在某个XCI文件上；第二，这个XCI一定是自行转换合成的，而不是dump来的。原因如下，由于网友参差不齐的转换合成，XCI已经很不纯洁，导致这里面出现了兼容问题，我的程序是根据switch brew标准写的，按正常不会有问题，但往往是由于XCI内有错误内容，例如重复的Rom系列nca文件，或有Meta属性的nca文件却没Control属性的nca文件等等问题。
如果你发现并希望解决这个问题，我很乐意看看你出错的这个游戏文件是怎么出的错。鉴于xci都比较大，请你联系我，算是为提高软件兼容性做了贡献。如果你懒得联系我，那我建议你还是重新下载这个游戏，不谦虚地说，我的软件通不过的游戏文件，一定不是标准的文件，不管这个游戏文件能不能在游戏机上使用。

■为什么扫描过后，romdata里面每一个游戏文件夹有1-10多张同样的游戏图标，虽然每个图都不大，几百个游戏一个10多张就不小了，能否每个游戏只使用1张就够了？
romdata里面每个游戏都1-10多张图片，这些都是读取游戏文件而来，并与语言选择息息相关，很多游戏你在切换语言的时候图片都是不一样的，例如有的游戏文件，切换日语图片游戏标题就是日语的，切换英语就是英文的，所以你认为这些图片都是一样的就太片面了。
普及一下知识，每个APP类型和UPD类型文件都包含Control属性的nca文件（只有DLC不含有Control属性的nca文件），这个文件中可存储16种语言和对应的16种图片，这就是为什么我的软件的信息查看模式有个语言选择的原因。本人写的程序是忠实读取游戏文件得到的信息，而不是按照TitleID弄个同名图片载入糊弄用户。
另外你会发现，合成的XCI文件或NSP文件里面图片更多，因为一个XCI可能是APP+UPD而来，每个都可能有10多张图片呢，你认为UPD的图片就肯定和APP的一样吗？你可能又武断了。

■中文游戏名称是怎么提取到的？怎么维护？可以增加程序支持的额外字段吗？
绝大多数游戏文件中一般不含有游戏中文译名，所以只能靠外部参考数据库得到。中文游戏名是热心网友辛苦编辑维护的数据库而来，这个文件就是外部参考数据库，文件列表中有的游戏没有中文名称，这说明数据库中这个游戏没有收录或收录了这个游戏但没有中文游戏名的翻译数据。本软件6.0起增加了专门的中文游戏名补充和修正工具可供用户自行维护中文游戏名，随着时间的推移或软件版本的更新，我也会在软件官方发布页更新中文游戏名数据库。
游戏的额外字段和中文游戏名一样，首先游戏本身没有这种信息，所以我读不出这样的信息；第二，参考数据库里面没有这种信息，所以我从参考数据库里也得不到这样的信息；第三，我的程序它之所以是程序就是设定好的东西，不存在的东西程序是无法造出来的，何况每个游戏都不一样的类型。所以结论是，无法增加额外字段，除非有人维护和提供这个额外字段的数据库。

■软件7.0增加了资源管理器右键菜单和文件关联功能，如何正常使用这些功能？
在大多数人的电脑上用户账户控制UAC是打开的，请使用鼠标右键点击软件主执行程序exe文件，并选择“以管理员身份运行”来启动本软件，再在软件中点击相应功能即可实现这些功能。

■NSGMShlExt.dll 文件有可能出新版本吗？如何更新到最新版本？
一般情况下，NSGMShlExt.dll 文件不会频繁更新，如有改进时还是会更新的。更新方法是：
（1）如已安装了“右键菜单”，则需要将目标位置的同名 NSGMShlExt.dll 文件随便改下名（不能删除或覆盖但能改名），然后将新版本的 NSGMShlExt.dll 文件拷贝至相同位置，注销或重启之后即可去手动删除已更名的那个老dll文件。
（2）如本次电脑开机后从来没安装过“右键菜单”，则可以用新版本的 NSGMShlExt.dll 文件直接覆盖老版本。

■软件8.0增加了游戏文件签名校验和哈希校验，这两种校验分别是什么意思？通不过有和影响？
游戏文件主要是由nca文件组成的，签名校验和哈希校验都是针对这些nca文件。如果nca签名校验不能通过，说明nca文件曾被人为修改过；而如果nca哈希校验不能通过，则代表实际nca文件的SHA256哈希校验值与CNMT中记录的哈希校验值不一致。
nca签名校验不能通过，常见的比如魔改、汉化整合、非正常手段制造的游戏等，这些都存在人工再造的nca；
nca哈希校验不能通过，常见的比如非正常手段制造的游戏、下载不完全的数据不完整、磁盘损坏导致的数据错误等。
当前游戏文件来源鱼龙混杂，没通过签名校验和哈希校验的未必不能使用，通过校验的肯定更靠谱但也未必是真正的原始ROM。当然，原始ROM一定会同时顺利通过签名校验和哈希校验。
