» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


 37 123
发新话题
打印

===== ACEKard深层次分析,原理科普 =====

今天YY的AK卡评测完全出来了,果然入前面预见般的,需要读取TF卡带分区表的自制软件全军覆没鸟~

很多人可能会觉得jun4rui哥哥可能是瞎猫撞上死耗子,下面说一下俺对计算机方面的造诣和历史吧:
今年28岁,不过7岁还是玩街机(22年历史),13岁开始玩电脑(16年历史),13岁自己看电脑随机附送的说明书完全学会BASIC语言(16年历史)步入软件开发,14岁可以自己分析找到300行汇编语言中的错误之处修复后让程序运行。玩电脑绝对自学从来,BASIC语言最高造诣就是10年前可以自己开发直接操作屏幕缓冲区,自带字库的电子书软件。当然,现在早进化到玩J2EE和python之类的语言了。DOS、MAC OS、WIN、各种UNIX平台上面,俺用得不精的确实有,但是俺没见识过的实在有限。有玩过我这么久的,但是几乎都学了一点的估计不多。

下面还是不吹嘘自己并不值得吹嘘的历史了,继续谈谈AK。

关于AK卡,既然是采用“独特思路”开发出来,100%兼容过去现在将来的ROM的卡,绝对是不能从一般思路来看他的产品思路的。前面我也说过,他是采用磁盘文件区块映射方式实现的,映射以后,在NDS上,AK烧录卡的一个区块将完全像一个真正的NDS游戏卡一样被系统识别和使用。所以,AK烧录卡才能直接用ROM。

为什么呢?大家随便假设、分析一下就能得出结果:
1、传统采用SD卡的设备不可能100%兼容Clean ROM,因为它本身的运作方式无法被NDS当作一个“真正”的NDS游戏卡来,因为闪存卡上的磁盘格式完全不等同于NDS卡带的磁盘格式,也远比NDS真卡大得多。试问一个完全不同的硬件,如何不经过修改和转换就可以当成100%当成另外一个硬件使用?
*其实类似思路的产品已经出现过,大家还记得不久前,那个100%兼容Clean ROM的512MBit烧录卡吧,它不支持多游戏合卡,而且只有512MBit,相当于普通的NDSROM大小,对很多1Gbit的ROM无法支持。他就是完全把自己运行在NDS真卡模式下的产品。其实思路在进化一下,就达到AK卡的境界了。

2、传统烧录卡为什么要转换ROM?其实,应该不叫转换ROM,而是对ROM中的程序进行一些修改,让NDS程序执行ROM的时候,把闪存卡”当作“真的NDS卡带。

3、AK不要转,是因为它上面的ROM已经被映射成了真实卡带的地址了,所以我这一块存储空间,就相当于是一个NDS卡带所有的空间,1区块=1 NDS卡带。

4、AK卡为什么固件这么小?因为本身功能简单,固件只需要起到一个映射ROM区块的功能

5、映射到底是什么,我还是不明白?嗯,确实不好理解。换个大家熟悉的名次,映射的概念有些类似于电脑常见的“虚拟光驱”,用卡带上的逻辑电路,将TF卡上的ROM虚拟成一个NDS卡带。PC的是:ISO=>光盘,这个烧录卡是:ROM=>卡带而已。

6、映射100%和正版卡一样吗?当然不能!除非一些故意和虚拟光驱软件搞鬼的游戏光盘,否则PC的虚拟成功率还是极高的,无限接近100%。而AK烧录卡目前市场占有率压根没有,所以任天堂根本不会对这款新出的烧录卡进行针对性的“搞鬼”动作,要买的玩家大可放心。

7、映射可以用软件实现吗?难,因为映射是对NDS访问游戏卡的一个转换的过程,如果是软件实现,那软件必须全程监控NDS对游戏卡的访问,就是说这个转换软件程序必须和NDS游戏同时运行,而且要有比NDS游戏更高级别的系统优先权。但是NDS仅仅4M内存,游戏还要绞尽脑汁多抠一点出来,CPU也不快,就算你这个监控程序只有1bit(笑),NDS游戏也不可能让你运行的,再说NDS硬件能让你在游戏更高级别再跑个自制的程序的可能性还有待研究。

8、为什么AK卡的存储空间要分区块?首先,我们理解前面的东东,这里就好理解了。要知道,NDS实际上的游戏卡是相当于内存的东西,访问起来和内存差不多,是靠内存地址访问的,这和虚拟光驱的概念有点不一样了(PC为了要达到最大磁盘空间利用率,所以文件并不一是按照真实地址一个个数据连续存放好,所以PC不要这么麻烦,操作系统会自己帮你搞定,所以有区别)。举例来说,在NDS卡带上,存放马里奥图像存储器地址的后面紧跟着就是耀西的图像耀西的图像后面就是酷霸王的图像,这是个绝对固定不变的。但是如果采用PC的磁盘格式(例如Fat16、Fat32之类的),马里奥图像后面在这个磁盘上可能是酷霸王,在另外一个磁盘上可能又是耀西了,甚至连马里奥的图像本身,都是分成若干块散布在磁盘扇区上的……。所以AK要用相对简单的电路来把ROM映射成NDS卡带,最省力也是最可靠的办法,就是把ROM存放在一个连续的磁盘空间!这就是AKFS的真面目!

9、为什么AK卡还要软件传ROM?当然,因为PC没法识别AKFS文件系统啊,怎么拷贝过去?而且PC对文件的操作方式决定了,他传过去也会把一个ROM存放在很多物理上并不连续的磁盘空间上的。

10、为什么需要对闪存卡读写的自制软件无法运行?很简单,一个ROM被映射成NDS卡带了,你还能读这个卡带“外面”的数据吗?希望将来有达人发明个技术,把这个ROM以外的空间当成“GBA槽烧录卡”进行读写还是有点可能性的。不过要是那样的话,DS槽的烧录卡估计也能直接跑GBA游戏ROM了,难度很大,甚至不可能实现。

11、总结AK卡特性所带来的优点:既然是“虚拟光驱”而且没有针对性的程序,AK卡的Clean ROM兼容性绝对是无比接近100%!要比它更接近的,就只有那个512Mbit,把自己当成真的NDS卡带来烧录的某无名小卡了。所以大家无须担心ROM兼容性。成本低,因为重要的是思路的转变,AK烧录卡绝对不比其它DS口烧录卡硬件成本高,甚至是属于偏低的那一档。

12、总结AK卡特性所带来的缺点:浪费闪存卡空间,AKFS系统的空间连续性,导致一些无法存放ROM文件的磁盘空间将无法被利用到,等于被AKFS系统“吃掉”了。AKFS文件系统其它设备无法用。需要读写闪存卡的自制软件极难逾越的屏障,很难想象任天堂或者第三方的API会研究并编写出怎么读写“存放在卡带以外,理论上是空气中的数据”的程序开发接口给你……,何况这些数据(例如图片、MP3等),还需要转换成连续空间存储方式(即使会出现,你会忍受连看个电子书都要转的可怕现实吗)。

[ 本帖最后由 acejun4rui 于 2006-10-19 08:19 编辑 ]


TOP

顶了再看



TOP

技术贴~


TOP

恩,说的不错~

TOP

如果真的如搂主把ROM存放在一个连续的磁盘空间,那么储存卡的碎片问题就很严重了。其实如果开发商肯做一个驱动,也不一定要用独立的软件来拷贝。

TOP

综上ACEKARD确实很一般啊,真正地无法以不变应万变
DS-X倒是不错

TOP

引用:
原帖由 jzhl 于 2006-10-19 08:40 发表
如果真的如搂主把ROM存放在一个连续的磁盘空间,那么储存卡的碎片问题就很严重了。其实如果开发商肯做一个驱动,也不一定要用独立的软件来拷贝。
驱动不如独立软件好的两个理由:
1、驱动开发比独立软件难度高;
2、驱动还要装,软件如果是绿色的,连安装都不要,丢在U盘里面到处可用。

TOP

简单易懂~~~~

自制软件不行的话就没意义了阿.......远目~~

TOP

应该还是有对应的用户群需要这个卡的
只是该用户群的规模肯定会比之前想的小得多了

TOP

ds-x 直接拷了clean rom能运行是啥原理?

TOP

DS-X没接外置卡阿

TOP

不错,技术强贴!

TOP

引用:
原帖由 长牛角 于 2006-10-19 08:55 发表
ds-x 直接拷了clean rom能运行是啥原理?
DS-X的原理还没有参悟,等我参悟了再说吧。AK的思路和传统的不一样,但是原理上就简单易懂一些。

看见有人觉得AKFS也可以开发自制软件,和其它烧录卡一样,但是他们也不想想,网上大把的磁盘分区格式和读写这些格式的免费函数库到处有下,为什么AK要自己费力捣鼓一个……

TOP

引用:
原帖由 acejun4rui 于 2006-10-19 09:05 发表

DS-X的原理还没有参悟,等我参悟了再说吧。AK的思路和传统的不一样,但是原理上就简单易懂一些。

看见有人觉得AKFS也可以开发自制软件,和其它烧录卡一样,但是他们也不想想,网上大把的磁盘分区格式和读写 ...
ds-x不就是fat分区么,是不是意味着未来外接tf卡的slot 1 直接(拷贝后)运行clean rom的真完美卡出现可能?

TOP

引用:
原帖由 acejun4rui 于 2006-10-19 08:43 发表

驱动不如独立软件好的两个理由:
1、驱动开发比独立软件难度高;
2、驱动还要装,软件如果是绿色的,连安装都不要,丢在U盘里面到处可用。
难度我觉得对于厂商来说应该不成问题,安装也不是大问题,想想现在的流氓软件。

TOP

 37 123
发新话题
     
官方公众号及微博