查看完整版本: [-- 【原创】【首发】MS18E的DreamShell使用心得——SD读卡器制作,刻录,正版游戏Rip --]

【 浮游城 - Castle in the Sky | 开放邀请注册,PS|SS|WII|DC下载研究中心 】 -> 【 DC 窝棚 | DreamCast Wikiup 】 -> 【原创】【首发】MS18E的DreamShell使用心得——SD读卡器制作,刻录,正版游戏Rip [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

<<   1   2  >>  Pages: ( 2 total )

ms18e 2010-11-30 22:12

最近突然来了兴致,玩了玩DC外置SD读卡器。从硬件的制作,到DreamShell刻录,再到镜像的制作,有了点体会,发上来和大家分享一下吧。
本主题将用多个回帖分别对这几个方面进行说明。

主帖:DC用SD读卡器的硬件制作
1楼: DreamShell SDL的刻录相关
2楼: DreamShell SDL使用的iso的制作
3楼: Rip DC正版镜像
4楼: 游戏测试记录
5楼: 一点展望


首先是硬件的制作。
本版的几位高手也先后发了一些教学帖,做出来的东西很赞。不过这些方法多以拆机为主,而我不想破坏DC的外观,并且拆机法还是麻烦了一点,对动手能力欠缺的同学可能提高了门槛;也有用AV线接口做外置插头的,但需要破坏一根AV线,成本略高,而且需要找到全芯的AV接头。

===============只想制作读卡器,不想了解细节的同学请忽略本段=================
仔细看了看,DC的串口有10个pin脚,间距1mm。利用职务之便,找了两本接插件的书翻了翻,能直接套用上去的标准接口——不存在。于是就从其他标准接口的改造上动了点脑筋。考察了以下几个间距1mm的接口:HDMI插头及插座,网口,USB公头,TF转SD卡套,TF卡座,FFC软排线+FPC插座。


[attachment=101957]  tf卡座,1mm间距,8pin

[attachment=101958]  hdmi_插头,1mm间距,9pin+10pin

[attachment=101959] hdmi_插座,1mm间距,9pin+10pin

其中,HDMI插头是19pin,上下两排分别10pin和9pin,可以考虑暴力拆除其中一排,把另一排塞到DC的串口中;HDMI插座可以考虑剥离外壁,插入DC串口。网口不容易拆解,放弃;TF转SD卡套不容易修剪成合适的形状,且引脚和外壳不太好粘合在一起,放弃。TF卡座与TF转SD卡套类似,放弃。至于USB公头,我看它尺寸和DC串口较为接近,本打算将其作为串口插头的外壳,但是后来发现改造起来比较难,放弃。

买了HDMI插头插座各一,用钳子将接口上的金属外壁剥下。先试了试插座,发现插座的座芯还是短了点,很难插入DC串口形成很好的接触。又把插头的9pin部分拆除,试制了一个读卡器,发现失去了外壁的10pin接口很脆弱,针脚容易和塑料座脱离,只好放弃。

无奈之下,只好考虑FFC软排线+FPC插座的方案。试制一版,轻松成功。然后又制作了几块,虽然有坎坷,但也还都成功了。下面就把制作过程仔细说说。
======================================================================

首先是材料的准备。

零件上,需要面包板、1mm间距 10pin的同面FFC软排线(异面其实也可以,只是焊接顺序刚好相反)、1mm间距 10pin FPC插座、SD卡座、导线若干,垫脚若干,LED,510欧姆左右的电阻,47uF左右的有极性电容(这个其实要不要都行)。工具方面,电烙铁和焊锡是必须的,美工刀或其他刀具如果有将会很方便,最好再准备把胶枪以利于插座的固定。另外如果有老虎钳、锉刀都会方便许多。  

[attachment=101960] 单面面包板,背面焊盘间距2.54mm

[attachment=101961] FFC软排线,间距1mm,同面

[attachment=101962] FPC软排插座,间距1mm,10pin

[attachment=101963] 自弹式SD卡座,引脚间距基本为2.54mm
  
[attachment=101964] 脚垫,联想机箱内部使用不干胶胶垫(装主板使用)t4000胶垫


以上材料都可以在淘宝轻松买齐。罗列一下各部分的价格吧:
6cm * 9cm 面包板一块:rmb 3元 (其实一块这样的面包板足够制作两个读卡器)
1.0间距的20p同面FFC软排线,长度20cm:rmb 2元(一根这样的软排线可以制作两个读卡器)
1.0间距的FPC插座,10p:rmb 6元/10只(单买的价格可能高一点。反正就买10个好了,也没几块钱)
自弹式SD卡插座:rmb 2.5元(不自弹的也能用,不过便宜不了多少,无所了)
12.5mm * 12.5mm或13mm * 13mm的橡胶脚垫,3M背胶,至少5个:rmb 1~2元(我直接把公司的拿来用了,阿弥托佛)
导线,LED,电阻,都是不值钱的玩意儿,忽略不计(直接把公司的……罪过罪过)
时间成本:耗时约1小时,工时费rmb 0~99999/小时(就看你怎么看待自己时间的价值了)

[attachment=101967]盗用下…… SD卡管脚定义
[attachment=101966]盗用下…… DC串口管脚定义
[attachment=101965]盗用下…… DC用SD读卡器原理图


东西备齐了之后就好干活了。原理图也是有的,照着焊接即可。焊接之前应该先用胶枪把FPC插座以及SD卡座都粘在面包板的相应位置,方便进行固定。如果没有胶枪,使用其他你认为靠谱的方式固定也行(比如热熔胶胶棒+打火机)。

[attachment=101974] 主要材料:面包板,SD卡座,20pin 1mm间距 FFC软排线,1mm间距 FPC排线插座,脚垫

[attachment=101969] 面包板一分为二,背面

[attachment=101970] 面包板一分为二,正面,打胶固定器件


焊接的时候,SD卡座和FPC插座,LED应该放在面包板的器件面(就是看不到金属焊座的一面),而电阻和电容就无所谓了,怎么方便怎么来。SD卡的pin 3和pin 6都是GND(地),它们在SD卡内部是相连的,不需要将SD卡座的这两个脚用导线焊在一起。同样,DC串口的pin 3和pin 8也都是GND,不需要将FPC插座的相应pin脚焊接相连。DC串口和SD卡需要共地,也就是要将DC串口(FPC插座)的pin 8和SD卡座的pin 3用导线焊接。  

[attachment=101984]  焊接正面,导线的连接关系

[attachment=101977]  焊接背面,导线的连接关系

LED是方便观察SD卡访问状态的,不焊其实也可以。电容是用来滤波的,不焊也问题不大。

卡座焊好之后,如果有万用表的话可以检查一下所有焊接是否都已经正确完成,确保没有短路和断路的情况。把一根10p的FFC排线插上,万用表的一个表笔点排线端,另一个表笔点SD卡的相应焊点,观察阻值或听万用表的提示音。

主体部分完成之后,就是FFC插头的制作。先用刀具将垫脚的宽度削为10mm,高度削为5mm。再将FFC排线的导电面向下,在一端贴上削减好的垫脚。将插头插在DC的串口,如果插不进去就要继续削减垫脚的高度,如果太松就只好扔掉这个垫脚,换上其他垫脚继续修正。总之,垫脚略厚一点问题不大,可以保证FFC排线和DC串口的接触,但太薄的话就会出现接触不良。

[attachment=101980] 很难买到合适的10pin 1mm间距的软排线,无奈只好买根20pin的一分为二
  
[attachment=101979] 把修正后的脚垫贴到绝缘面时,建议其边缘和排线的原始侧边对齐,以便控制做出来的插头质量和接触性。原始侧边的第一根线应当和DC串口的pin 10对应。

插头制作好之后,可以把FFC排线的另一段插进FPC插座,注意要将FFC排线的导电面向下,这样才能和位于FPC插座内部下方的引脚正确连接。然后就可以把整套设备连到DC上,开始测试。

上述过程如果正确完成,那么DC开机时LED应该会亮起,在读取DreamShell SDL的时候LED闪烁。如果DC出现无法开机,那就是因为DC串口的pin 9(复位脚)和其他脚短路了,请检查焊接是否有问题,或者是FFC排线在插座中插歪了,或者是FFC插头在DC串口中插歪了,或者FFC插头的导电脚和脚垫发生了错位。如果LED不亮,很可能是FFC插头在DC串口中插歪了/太浅/太深,总之是接触不良。

测试通过之后,为了保护焊点,避免意外的短路、插拔卡、插拔排线带来的问题,最好将SD卡座和FPC卡座的焊接点都用一陀热熔胶保护起来。再用4个垫脚贴在电路板背面的四个角上,保护背面的器件,以及防止短路。


[attachment=101983] 开机时时LED的亮度

[attachment=101982] 进行读取时LED的亮度

[attachment=101981] 测试通过后,正面打胶,背面贴脚垫

总结:采用这个方法制作DC-SD读卡器,优点是不需要拆机,零件容易买到,成本也比较低,FPC插头和读卡器主体部分容易分离、携带。缺点是FFC插头的制作需要经验,一不小心可能就会出现接触不良的情况,而且FFC插头每次插入DC串口的时候位置不是那么精确(至少精度比手柄或AV线插入相应接口差远了),另外FPC插座的引脚间距是1mm,这对焊接老手来说很轻松,对我等焊接苦手来说还是很花时间的。

ms18e 2010-11-30 22:13
有了硬件,还需要有相应的软件,才能用DC玩到SD卡上的游戏。

俄罗斯的大牛SWAT写了一套名为DreamShell的软件,烧录为光盘放入DC运行,就可以完成BIOS的修改(需要硬件做相应改动)、SD卡的读取、GD-ROM的rip等操作。大家可以到他的网站上下载这些软件并刻录: www。dc-swat.ru/page/dreamshell  (自己手动把w和。改掉吧)

对于玩熟练的老手来说,这些东西根本无需多费唇舌;不过对于刚开始玩DreamShell的新手,看到相关的详细说明还是能避免走弯路的。再加上SWAT制作的镜像可能会有些兼容性问题,所以我觉得还是有必要单独用一层楼说说相关的东西。

首先解释一下那个页面提供的几个工具都是干什么的:
DreamShell 4.0 Beta 4 (CDI Image) -- DreamShell的cdi镜像,光盘里包含了所有的供DC执行的工具。个人认为这个东西不如下面的DreamShell SDL实用。
DreamShell 4.0 Beta 4 (Form SD Loader) -- DreamShell SDL,压缩包里包含了一个DreamShell SDL的cdi镜像,还有一个存放了所有工具的DS目录。从SD卡玩游戏,主要用的是这个东西。
DreamShell on PC Loader v1.4 -- 包含了一个NullDC模拟器和DreamShell的镜像,主要是用来在PC上通过NullDC模拟DS镜像,应该是用来调试的。基本用不到。
DreamShell 4.0 Beta 4 (Module SDK) -- 搞DreamShell开发的,和上SD卡玩游戏无关。
DreamShell 4.0 Beta 4 (Docs) -- 相关文档和代码,请无视
Updated ISO Make pack -- 制作ISO的工具,很方便的东西。

DreamShell和DreamShell SDL的区别在于,前者是在光盘里集成了所有的工具,运行这些工具的时候光盘必须在DC机内,即使没有SD读卡器也能使用一些功能(比如BIOS的修改);后者的光盘镜像里仅有一个boot文件,所有的工具(就是下载DS SDL压缩包,解压之后的“DS”目录)都要用PC拷贝到SD卡的根目录,光盘运行之后就从SD卡运行这些工具了,然后光盘就可以取出,换上其他光盘(比如正版游戏)。如果你已经有了SD读卡器,那前者就可以说没啥存在的价值了。

DS和DS SDL的体积都不大,一个几M,一个几百k。这就带来问题了:由于镜像的session 2太靠近光盘的圆心,在使用一些DC读取的时候就会发生困难,甚至出现完全不能读取光盘的问题。在这里扯远一点,说说DC游戏刻录的一些情况。

==================想快速刻录DS SDL的同学请自觉忽略本段=================================
在刻录DC游戏的时候,到底使用什么软件、什么方法、什么CD-R,一直有各种说法。大家反馈的问题也相当多,同一个方法刻出来的盘在这台DC上很好读,到了另一台DC却完全罢工,这都是常见的现象。由于DC主机的版本众多,后期又出现了各种非原装光头,出现这些问题也不难理解。我现在手头有4台DC,分别是最初买的欧版(后来自己换了些零件),朋友送的日版,还有后来买了打算送人的两台亚版,称为亚1和亚2吧。这四台机器各有各的脾气,总的来说呈现“欧+日+亚1 vs 亚2”的局面。

我以前刻录的DC盘,基本上都是用daemon tools载入镜像、使用nero 7进行光盘复制,速度8x,使用的CD-R是明基的音乐情人(这盘的质量不错,背面很适宜用记号笔写字)。这样刻出来的盘,在欧/日/亚1上读取非常流畅,但是亚2却完全不认。后来我用酒精刻同样的镜像,RAW+DAO模式,不关闭最后一个区段,8x,使用威宝蓝釉的CD-R,刻出来的盘在亚2上非常好读,但拿到欧/日/亚1却全军覆没。后来又把刻录方法和光盘都用几种组合刻了刻,最后还是采用了这样的方法处理:欧/日/亚1的盘就用nero刻,亚2的盘就用酒精刻,CD-R统一都用威宝蓝釉(BENQ音乐情人买不到了)。
======================================================================================

回归正题。直接刻录在SWAT网站上下载到的DS SDL,放到我的亚2上读取顺畅,但是欧/日/亚1就完全不认。DS和DS SDL这种兼容性不好的问题,可以通过光盘内圈塞垃圾文件、将有用数据向圈外推的方法解决,工具就用glf999的Ok_For_Test好了,很方便。使用这个方法之后,刻出来的内圈加了50M全0文件的DS SDL,可以被我的4台DC全部顺畅读取,问题解决。为了方便懒得动手的同学,本楼提供该镜像的下载——非常小,压缩之后只有几百k,毕竟塞的垃圾文件是全0的。至于DS,就不提供下载了,因为体积大了点,而且完全可以被DS SDL取代(如果你有SD读卡器和SD卡的话)。

关于这个兼容性的问题,我已经在SWAT的bbs上提过建议,以后他放出更新的时候,直接在镜像里塞几十M的垃圾文件再放到网站供大家下载。估计下一个版本的DS和DS SDL就可以解决这个问题,无需大家手动改镜像了。

[attachment=102003]

ms18e 2010-11-30 22:18
万事俱备,只欠东风。现在软硬件都有了,想通过SD卡玩游戏就只差一步了:制作DreamShell SDL用的iso镜像。

上一楼里,我提到了SWAT的网站提供了一个iso制作工具的下载:Updated ISO Make pack 。有了这个工具,制作DS SDL专用iso将变得很简单,只需依次做到下面几个步骤:

1. 解压iso_make.7z到某个目录,如 x:\temp\iso_make\
2. 抽取D版光盘或光盘镜像的IP.BIN和所有游戏文件
3. 如果是SEGA或第三方推出的游戏,把IP.BIN复制到 x:\temp\iso_make\Make_ISO\sys\katana 目录;如果是自制游戏如各种模拟器,把IP.BIN复制到 x:\temp\iso_make\Make_ISO\sys\homebrew 目录
4. 把第2步得到的所有游戏文件和目录(除了IP.BIN)复制到 x:\temp\iso_make\Make_ISO\cd 下
5. 如果是SEGA或第三方推出的游戏,先运行 x:\temp\iso_make\Make_ISO 目录下的 Hack_LBA.bat,再运行 Create_katana_ISO.bat;如果是如果是自制游戏如各种模拟器,直接运行 Create_homebrew_ISO.bat
6. 把生成的image.iso复制到SD卡中,插到DC的读卡器,开机运行DS SDL,进入DS主画面之后移动摇杆选择File Manager,进入SD目录运行image.iso,即可。


以上是基本流程,不过制作过程可能还会遇到一些零碎的问题,下面展开说说。

1.  解压iso_make.7z
如果iso_make.7z 没法解压,这个最好办,下载个7-zip压缩软件并安装,即可。

2. 抽取D版光盘或光盘镜像的IP.BIN和所有游戏文件
这一步可能会用到如下软件: daemon tools, isobuster, iso_make里自带的Gdi2Data。daemon tools用来载入CD镜像,isobuster可以将CD光盘或CD镜像的IP.BIN抽取出来,而Gdi2Data是用来抽取GDI即正版镜像的。下载我就不提供了,daemon tools和isobuster都是很容易下载到的工具,有人习惯用其他工具也没问题。

daemon载入镜像就不说了,地球人都知道。isobuster提取IP.BIN也很简单:打开isobuster,左上角选择deamon载入镜像的虚拟光驱(或插入CD光盘的真实光驱),在session 2上右键,Extract From-To,Length(LBA)填16,下面的抽取类型 Extract Type 选 User Data (2048 bytes),Start Extraction,指定目录和文件名即可。

[attachment=102046]

[attachment=102047]

然后可以用windows的资源管理器或者使用isobuster的Extract Objects 将session 2的所有文件和目录复制到 x:\temp\iso_make\Make_ISO\cd 目录下。

需要注意的是,如果这个游戏光盘/镜像是经过加密的,这么简单的拷贝会出现问题。如何识别加密?如果发现Session 2的起始LBA是45000而不是11700/11702,就很有可能是加了密;如果再用windows的资源管理器查看到光盘内所有文件和目录的大小 比在光盘盘符上“右键-属性”看到的大小还要大,就可以肯定是加了密的。如何对付这种加密的游戏?我现在没时间去弄这个,以后再写吧……

如果你想将GD镜像中的文件和IP.BIN抽取出来,可以使用iso_make里自带的Gdi2Data。用法很简单:把*.gdi和*.bin都复制到 x:\temp\iso_make\Gdi2Data 目录,运行Gdi2Data.bat,就可以在Gdi2Data目录下生成IP.BIN,而Gdi2Data\data目录下就出现了从GDI抽取的文件和文件夹。

如果你只有*.bin文件而丢失了相应的*.gdi文件,不要紧,可以直接在DOS下调用Utilities目录下的工具bin2iso.exe,将bin文件转换成iso文件,再进行文件的抽取;如果你手头有个*.iso格式的GD镜像,可以先在DOS下调用Utilities目录下的工具gdinfo_FG.exe查看iso信息,再使用extract.exe将IP.BIN和游戏文件、文件夹全部抽取。下面是这几个工具的调用格式:

bin转换为iso:bin2iso your_bin_file.bin output.iso
查看iso信息:gdinfo_FG.exe your_iso_file.iso
抽取IP.BIN和游戏文件:extract iso_image1.iso (适用于高密度区只有一条数据轨的镜像,即只有一个bin/iso构成的镜像)
extract iso_image1.iso iso_image2.iso iso_image2_start_sector (适用于高密度区有两条数据轨的镜像,需要指定第二条数据轨的起始LBA)

3. 复制IP.BIN
其实SWAT已经附带了一个IP.BIN在iso_make压缩包的 Make_ISO\sys\katana 目录和 Make_ISO\sys\homebrew 下,大部分游戏都可以直接使用这个IP.BIN制作镜像。不过对于个别游戏,只有使用自己的IP.BIN才能成功制作出可以使用的镜像,所以制作流程上还是统一好了:对每个游戏都使用自己的IP.BIN。

4. 游戏文件和目录的复制
这一步中,不要把IP.BIN放到 x:\temp\iso_make\Make_ISO\cd 下,否则个别游戏制作出来的镜像可能会有问题。

5. boot文件的hack
第2步抽取的游戏文件中,应该有一个boot文件,一般都叫做1ST_READ.BIN。它也可能叫其他名字,比0WINCEOS.BIN,或者1ST_USA.BIN之类。用UltraEdit、HexWorkShop之类的文本编辑工具,在十六进制下打开游戏的IP.BIN,可以在地址为0060h的这一行看到这个游戏的boot文件名。目前DreamShell的版本是4.0.0 beta 4,这个版本存在一个bug:如果这个boot文件的名字(.BIN之前的部分)不是8个字符,那么制作出来的镜像将无法被DS SDL正常运行。因此,如果你的boot文件名长度不是8,需要手动将文件改名,还要对IP.BIN进行十六进制编辑,把0060h行右侧对应的ASCII字符也改成相应的名字。我已经把这个bug向SWAT反馈并得到了确认,下一版DreamShell应该会将其修正。

[attachment=102052]

如果boot文件名是0WINCEOS.BIN,那么你基本上可以不用往下进行了:这是个WINCE游戏(如SRW Alpha),而DreamShell目前是不支持WINCE游戏的,悲剧……

boot文件中包含了session 2的起始地址信息。制作DS SDL能读取的镜像,需要将boot文件中的这个起始地址修改为0,也就是对boot文件进行hack。一般情况下,在完成了上述操作之后可以直接运行Hack_LBA.bat,这个脚本会自动根据 x:\temp\iso_make\Make_ISO\sys\katana\IP.BIN 中的信息查找 x:\temp\iso_make\Make_ISO\cd 目录下的boot文件,并自动进行修改。这个脚本调用的实际上是 x:\temp\iso_make\Make_ISO\sys\binhack32.exe 这个工具。然而,有少数游戏是无法使用binhack32.exe进行hack的,比如日版的GD镜像 生化危机代号维罗妮卡。所以,如果发现用Hack_LBA.bat进行hack并制作出来的镜像无法正常运行,可以尝试着用dahack.exe进行hack,调用的格式是:

dahack YOUR_BOOT_FILE.BIN 0

另外还有一些游戏是无法用dahack,而只能用binhack32进行boot文件修改的,比如高达战役在线试玩版cdi。所以dahack和binhack谁也替代不了谁…… 我在这层楼提供了dahack.exe的下载,需要的同学自取。

对于非官方游戏如FC模拟器之类,hack步骤就省去了,把文件放在该放的地方之后运行Create_homebrew_ISO.bat就可以了。

6. iso文件的复制
文件拷贝么,其实没什么好说,说点相关的东西吧:

  • iso文件名可以改成你想改的名字,但文件名只能是字母、数字和下划线组成的,不能有空格,不能用中文;

  • 有时候用的好好的SD卡会突然不识别,在排除了硬件问题的情况下可以考虑把卡的DS目录删掉,重新从DreamShell 4.0 Beta 4 (Form SD Loader) 这个压缩包里把这个目录解压到SD卡根目录。

  • DS SDL理论上最大支持32G的SDHC卡,我试用的最大容量是8G。一般找一张2G的就够用了。TF卡有点不保险,因为有些不支持SPI串口模式访问。

  • 可以使用cdi4dc和nullDC模拟器验证你的iso镜像制作得是否正确:cdi4dc iso_file_name.iso cdi_file_name.cdi -d,将生成的CDI镜像用nullDC运行,一般就知道镜像的制作是否有问题了。当然这个方法也不绝对,因为有些游戏是nullDC支持而DS SDL不支持的,如疯狂出粗车2。应该也有一些游戏是DS SDL支持而nullDC不支持的,不过我一时还没遇到。

  • 如果你在上面的第4步执迷不悟,一定要将IP.BIN复制到 x:\temp\iso_make\Make_ISO\cd  目录,那么cdi4dc可能无法正确的将iso转换成nullDC可以运行的cdi。这时候可以用bin2boot转换这个iso到cdi。


最后是dahack.exe和cdi4dc的下载:
[attachment=102053]

[attachment=102054]

ms18e 2010-11-30 22:28
如果你手头有Z版,想把它们在PC上做个永久备份,但是自己又不是那些破解大牛,不会rip,怎么办?

如果你已经有了DS SDL的软硬件设备,这个问题就迎刃而解了:DS SDL的工具库里,已经有一个rip GD-ROM的程序了!今天就说说怎么做自己的GD rip。由于这个过程非常简单,所以在本楼顺带也说点其他的内容。

rip的过程是很简单的:
1. 把DC接SD的读卡器插好,插上卡(需要有1G的剩余空间,所以1G的SD卡是没用的,至少上2G卡),放好光盘,开机
2. 进入DreamShell的File Manager
3. 开仓换碟,把DC正版游戏放进去,关仓
4. 在DS的File Manager中,点上方的光盘标志,DS就开始将GD-ROM中的高密度区域数据rip到SD卡了。等待5小时左右(具体不记得了,反正所有的Z版这个时间都是相同的,得到的文件大小也应该是相同的),可以看到DS打出信息,并且SD读卡器的灯不再亮了,就说明整个过程完成,可以关机,取卡,把得到的iso拷贝到PC去了。

理论上说,这个方法应该也可以rip出D版的Session 2,不过这个在PC上很容易提取,就不用在DC上浪费这个时间了。

[attachment=102059]

[attachment=102060]

使用这个工具rip出来的将是iso格式的镜像。这个工具只rip高密度区的数据,因为SWAT认为低密度区的东西无足轻重,而且可以用PC的光驱和软件轻易抓取。如果高密度区只有一条数据轨,最后在SD卡中会得到一个Track03.iso;如果是多数据轨,没有CDDA的GD-ROM,SD卡中将出现Track03.iso, Track04.raw, Track05.iso;如果是有CDDA的GD-ROM,最终得到的文件就是Track03.iso, Track04.raw, Track05.raw .... Trackxy.raw Trackxz.iso, 其中xy + 1 = xz。

刚开始执行rip的时候,DS会显示这张盘的结构信息,可以将这些信息记录下来。

[attachment=102061]

不记也没关系,在iso_make压缩包里有一个 iso_make\Gdi2Data\Utilities\gdinfo_FG.exe 工具,可以调用这个工具读取Track03.iso,获取这些信息。

[attachment=102058]


rip出来的格式是iso,而非标准的bin+cue,这样有利有弊。好处就是抽取iso中的文件制作自己的cdi或DS SDL用的iso时,少了一步bin->iso的转换;缺点就是这样得到的iso不能直接被nullDC和Makaron直接运行,还是需要再用工具转换成bin。我在网上找了个转换工具iso2bin.exe,但是这东西似乎有点问题:转换出来的bin文件,与自己编写的.cue文件配合,无法被daemon tools正常载入;与自己编写的.gdi文件配合,无法被Makaron运行,但是可以用nullDC运行。所以比较怀疑是iso->bin的工具有点问题。大家如果了解相关信息,或者有好的iso转bin的工具,请回帖告知,谢谢。

至于自己生成cue文件,大家可以使用TuxTheWise编写的小工具CueCreator。用法是将CueCreator.exe与那一堆/一个Trackxx.bin放在同一个目录下(无论Trackxx.bin是你从网上下载到的 .gdi + .bin + .raw格式的GD镜像文件,还是将自己rip出来的iso文件转换得到的bin文件),运行CueCreator.exe,输入Trackxx.bin中“xx”的最大值,回车,即可生成一个created.cue。用daemon tools载入这个cue试试看吧——目前我用这个方法可以将网上下载到的gdi+bin+raw格式的镜像用载入,但对于自己rip出的iso转换得到的bin文件就不能用这个方法载入,还是怀疑那个iso2bin有问题。有兴趣研究cue的同学可以看看这篇文章:http://dumpcast。thekickback。com/forum/viewtopic。php?t=275 (为了避开bbs的地址检查,这行地址我敲了半天
 

最后是CueCreator和iso2bin的下载

[attachment=102062]

[attachment=102063]

ms18e 2010-11-30 22:49
本楼贴贴经过我测试的游戏吧。我偷点懒,从SWAT那个bbs上自己的帖子里直接贴过来,再简单翻译下。


Super Robot Wars alpha (J) 机战Alpha
启动?
可玩?

测试环境: DreamShell 4.0.0 Beta 4 (sdiso module v0.2.1)
游戏来源: GD rip.
备注: 这是一个WINCE游戏,boot文件为0WINCEOS.BIN,无法被binhack32/dahack处理。DS载入游戏后,它总是直接跳回DC的开仓画面。


Super Puzzle Fighter IIX for Matching Service v1.001 (2001)(Capcom)(NTSC)(JP) 超级解霸方块IIX
启动?
可玩?

测试环境: DreamShell 4.0.0 Beta 4 (sdiso module v0.2.1)
游戏来源: GD 镜像(网络下载)
备注: 可以看到CAPCOM的logo,但是随后屏幕就永久变黑。此时按下ABXY+START可以回到开仓画面。


Capcom VS SNK 2
启动?
可玩?

测试环境: DreamShell 4.0.0 Beta 4 (sdiso module v0.2.1)
游戏来源: CD 镜像
备注: 有背景音乐播放时,游戏非常不流畅


Biohazard - Code Veronica - Complete v1.003 (2001)(Capcom)(NTSC)(JP) 生化危机代号维罗妮卡 A,B
启动?
可玩?

测试环境: DreamShell 4.0.0 Beta 4 (sdiso module v0.2.1)
游戏来源: GD 镜像(网络下载)
备注:  1ST_READ.BIN必须由dahack.exe进行修改. 如果使用binhack32.exe, SDL无法启动游戏。


Mars Matrix(JP) 火星矩阵
启动?
可玩?

测试环境: DreamShell 4.0.0 Beta 4 (sdiso module v0.2.1)
游戏来源: CD镜像.
备注:  这个游戏的boot文件是00MMXDC.BIN,由于SDL的bug,需要将文件名改为8个字母(不包含.BIN)才能正确制作镜像,如改为1ST_READ.BIN。IP.BIN也要进行相应修改。


Star Wars Episode 1: Jedi Power Battles 星球大战 绝地武士
启动?
可玩?

测试环境: DreamShell 4.0.0 Beta 4 (sdiso module v0.2.1)
游戏来源: CD镜像.
备注:  这个游戏的boot文件是1ST_USA.BIN,由于SDL的bug,需要将文件名改为8个字母(不包含.BIN)才能正确制作镜像,如改为1ST_READ.BIN。IP.BIN也要进行相应修改。


Crazy Taxi 2 疯狂出租车2
启动?
可玩?

测试环境: DreamShell 4.0.0 Beta 4 (sdiso module v0.2.1)
游戏来源: CD镜像.
备注:


Gundam Battle Online test (JP) 高达战役在线试玩版
启动?
可玩?

测试环境: DreamShell 4.0.0 Beta 4 (sdiso module v0.2.1)
游戏来源: CD镜像.
备注:  1ST_READ.BIN必须由binhack32.exe进行修改. 如果使用dahack.exe, SDL无法启动游戏


Gundam Battle Online test (JP) 高达战役在线发售版
启动?
可玩?

测试环境: DreamShell 4.0.0 Beta 4 (sdiso module v0.2.1)
游戏来源: CD镜像.
备注:  设定完人物,进入战场前与上级通话时会卡死


Gundam Battle Online test (JP) 高达战役在线发售版
启动?
可玩?

测试环境: DreamShell 4.0.0 Beta 4 (sdiso module v0.2.1)
游戏来源: GD-rip
备注:  可能是因为MAIGO.BIN没有进行正确的修改,有待进一步测试

ms18e 2010-11-30 23:06
该写的基本上差不多了。DS其他的功能暂时还没有研究,先告一段落。

关于DS未来的功能,可以做一点展望。

首先是那个“boot文件名长度必须为8”的bug,我在发现之后告诉了SWAT,得到了他的确认。这个问题应该会在下一版得到解决。

其次在文件内圈塞垃圾文件,提高DS镜像可读性的提议,应该也会在新版本DS的下载放出时得到实现。

还有TuxTheWise提出的,在rip正版游戏时保存为.bin格式的建议,SWAT的回复是 考虑一下,不知道实现的希望大不大。

最后,我建议将读取镜像的过程做一点小小的改变,即能够在载入iso镜像时,通过对话框或命令行的方式指定高密度区的起始LBA。这样,制作iso的时候就不需要进行boot文件的hack,减少binhack/dahack对boot文件的兼容问题,也可以直接将正版rip出来的iso进行载入和游戏。最理想的情况下,这甚至可能解决wince游戏不能载入的问题:wince游戏的boot文件格式与一般游戏不同,似乎没法进行hack。此外,对于经过加密的D版游戏,使用这个方法也可以进行游戏。SWAT初步考虑认为这个应该不难实现。

希望DS SDL带给我们更多惊喜。

xck 2010-12-01 08:14
好像和我做的一样啊 用的也是HDMI插头
[attachment=101986]  [attachment=101987]  [attachment=101988]

YZB 2010-12-01 12:15
楼主加个标题吧,是转帖还是原创...
另外你那qq号不用了?

glf999 2010-12-01 19:32
哦 都不错啊  我还没有做过呢

看见有成品了 等这个月开工资了 得想法弄一个的说哦

ms18e 2010-12-01 20:11
引用
引用第6楼xck于2010-12-01 08:14发表的 :
好像和我做的一样啊 用的也是HDMI插头
[attachment=101986]  [attachment=101987]  [attachment=101988]  

嗯,你这个做的非常漂亮
最初我也是考虑用HDMI插头+USB公头外壳做,但后来发现USB公头还是窄了点,不太好改造,就放弃了,改用现在FFC软排线的方案。

ms18e 2010-12-01 20:14
引用
引用第7楼YZB于2010-12-01 12:15发表的  :
楼主加个标题吧,是转帖还是原创...
另外你那qq号不用了?

自然是原创,不然我就不会起名叫“MS18E的xxxx”了,呵呵。
那个QQ还在用,不过万年隐身

宗师 2010-12-01 23:25
希望LZ能给个测试的录像

ms18e 2010-12-01 23:50
录像么,一个是我不方便录,第二是太大了不好上传
这几天我会发点照片,到时候再看吧

20052288 2010-12-02 00:57
神贴啊!想不到这里这么多高手!

marchbiggg 2010-12-02 02:07
實在是很有參考價值的製作教學

哪天也弄點材料來玩玩看

jeffrey66 2010-12-02 10:03
看贴膜拜高手~~

ms18e 2010-12-02 22:59
更新1楼:DreamShell说明,及刻录问题的解决

yunchou001 2010-12-04 14:55
学习了  好帖子  电路很整齐 喜欢

ms18e 2010-12-07 00:26
更新iso的制作。

YZB 2010-12-07 00:46
不错,写完加精~

其实推荐用gdi抽取文件来做iso,这样能保证文件的完整性,而且没加密,不过不知道读取那些cg会不会卡呢~

另外问下,这样做出来的iso直接用DJ转换成CDI格式,null模拟器也支持??

加西009 2010-12-07 14:47
看样子东西很不错

ms18e 2010-12-07 18:51
引用
引用第19楼YZB于2010-12-07 00:46发表的 :
不错,写完加精~

其实推荐用gdi抽取文件来做iso,这样能保证文件的完整性,而且没加密,不过不知道读取那些cg会不会卡呢~

另外问下,这样做出来的iso直接用DJ转换成CDI格式,null模拟器也支持??


是啊,最理想的当然是用GDI做镜像,不过大家手头最多的还是cdi/d版盘,没有条件的时候只能退而求其次了

做出来的iso用DJ转,我没试过,估计不行。我用的是SiZiOUS写的工具cdi4dc 0.3b,使用 cdi4dc iso_file.iso cdi_file.cdi -d 的命令制作data/data格式的cdi镜像,做出来的cdi有一部分可以用nullDC和Makaron运行,所以可以用来作为一个验证iso是否正确的参考。至于这样做出来的cdi能不能刻录到CD-R让DC读取,我就没试了,有空可以试试看。由于这种方法并不能100%的证明一个iso是否可以在SDL正常运行,所以并不是很推荐。

这种DS SDL用的iso转cdi进行验证的方法最初是由一个老外TuxTheWise提出来的,不过他说的是用bin2boot制作。使用bin2boot的话,就要把IP.BIN放入cd目录生成iso,才能转cdi。当时我不知道有这么回事,折腾了很久才试验出来这些细微的差异。

ms18e 2010-12-07 23:51
更新GD rip内容。
基本上这个帖子的主要内容都差不多了,明天再贴点测试结果就暂时告一段落,等新的DS版本出来或者是研究出了啥新鲜玩意儿再继续写。

YZB 2010-12-08 00:22
rip出来的格式是iso...
这个ISO能载入光驱读取里面的文件吗?

ms18e 2010-12-08 19:32
不行,daemon tools载入后无论用win的资源管理器还是isobuster打开虚拟光驱,都会提示出错,比较悲剧

ms18e 2010-12-09 00:29
更新DC游戏测试记录,以后会根据测试情况不定期更新4楼。
主要内容已经完成,其他可能有些小修补。等到研究出什么新功能了,或者DS有了新版本了,再写新的专题吧。

xsoul2xc 2010-12-09 01:44
文章很强大很深入~!ON

黑猫冬冬 2010-12-09 13:31
高手如云啊!!拜读了!!!

ms18e 2010-12-09 22:30
加了点展望。这个帖以后基本只会有些修修补补的东西,还有游戏测试记录的更新了。

lobo_004 2010-12-09 23:49
受教了 ...............10个字

YZB 2010-12-12 23:31
忘记了
1ST_READ.BIN必须由binhack32.exe进行修改. 如果使用dahack.exe, SDL无法启动游戏
这个能提供个吗?
由binhack32.exe进行修改的1st和
用dahack.exe,修改的1st
看看有什么不同

ms18e 2010-12-13 20:11
引用
引用第30楼YZB于2010-12-12 23:31发表的  :
忘记了
1ST_READ.BIN必须由binhack32.exe进行修改. 如果使用dahack.exe, SDL无法启动游戏
这个能提供个吗?
由binhack32.exe进行修改的1st和
用dahack.exe,修改的1st
.......


binhack只会修改cd001前面的那个地址,即session 2 start lba + 16,而dahack会在若干处进行修改,修改的地方因游戏而异
下面是Biohazard - Code Veronica - Complete-A这个GDI中的boot文件的原版和修改版。dahack前面有提供,binhack在SWAT的压缩包里有

[attachment=102077]
[attachment=102078]
[attachment=102079]  

YZB 2010-12-13 20:32
对比了一下,发现那几处地方的确是需要修改的啊,不改的话刻碟也是进不去的....

不过看起来sd卡启动的只能是A600引导的iso了?其他不行?

ms18e 2010-12-14 21:04
引用
引用第32楼YZB于2010-12-13 20:32发表的  :
对比了一下,发现那几处地方的确是需要修改的啊,不改的话刻碟也是进不去的....

不过看起来sd卡启动的只能是A600引导的iso了?其他不行?


说实话,觉得SDL的兼容性确实比较神奇。有的必须用binhack修改boot,有的必须用dahack,有的好像不修改也能进去。

记得最初我玩SDL的时候,找了街霸方块的GDI和CDI分别做iso,结果无论是否hack,都可以进入游戏标题。不过进入游戏标题之后就会一直黑屏……

后来再制作的时候,都是hack到A600了,也没试过其他值。估计其他值一般是不行的,除非SWAT按照我的建议放出了更新

孙爱孙 2010-12-15 06:37
如果能换蝶的话就好了有的模拟器不支持自启动必须的换碟

yinlaijun 2010-12-26 19:40
LZ很强大啊

马保玉 2011-01-02 14:20
我需要这篇教程。多谢了。

robinanelka 2011-01-02 14:51
这一贴,发地很有专家级水平!致敬!

jackker 2011-01-03 21:03
我擦!现在才看到这个强帖,我手笨还是攒钱直接买改造后的成品得了。。。

马保玉 2011-01-07 18:53
嗯。我买了一个。

sniperhgy 2011-02-09 16:40
啊,差点错过这么厉害的一篇文章,支持的说,好好学习

xsoul2xc 2011-02-09 22:46
终于 量产化~~我顶~~~~~~

qwertyuiop09 2011-02-20 23:28
我刻了2整盘 dc都不认 觉得是数据太进圆心 只好下载楼主提供的镜像 那里知道还得要fyb 没法了 回个贴 看看有钱的吗


qwertyuiop09 于 2011-02-20 23:30 补充内容:
好的 下载完了 我改好了也上个图 哈哈 谢谢楼主分享了

chooschoo 2011-02-22 20:05
又要学习了  好多的学习

ms18e 2011-02-22 23:18
引用
引用第42楼qwertyuiop09于2011-02-20 23:28发表的  :
我刻了2整盘 dc都不认 觉得是数据太进圆心 只好下载楼主提供的镜像 那里知道还得要fyb 没法了 回个贴 看看有钱的吗

qwertyuiop09 于 2011-02-20 23:30 补充内容:好的 下载完了 我改好了也上个图 哈哈 谢谢楼主分享了


fyb? 我发的帖子附件都是不收费的吧

h121311 2011-02-26 16:45
学习了,很有用

bai123tt 2011-04-02 14:55
很牛了,抽空我也改一个试试,呵呵

绿色的农民 2011-04-25 14:50
好帖子啊啊

yunchou001 2011-06-25 14:04
感谢下楼主提供的软件帮了大忙!

豆豆龙 2011-08-16 09:51
照着教程搞了一个上午,试了十几个游戏才有一个星球大战赛车游戏勉强运行,这东西研究意义大于使用意义。

什么时候才能无盘玩没有RIP过的GDI啊。。。。。


查看完整版本: [-- 【原创】【首发】MS18E的DreamShell使用心得——SD读卡器制作,刻录,正版游戏Rip --] [-- top --]


Powered by PHPWind Code © 2003-08 PHPWind
Gzip enabled

You can contact us