主题 : 【原创】【首发】MS18E的DreamShell使用心得——SD读卡器制作,刻录,正版游戏Rip
级别: 模拟天才
UID: 261668
精华: 1
发帖: 63
威望: 10 星
金钱: 3712 浮游币
贡献值: 7 点
好评度: 186 点
人气: 0 点
在线时间: 211(时)
注册时间: 2008-01-19
最后登录: 2020-08-08
楼主  发表于: 2010-11-30 22:12

【原创】【首发】MS18E的DreamShell使用心得——SD读卡器制作,刻录,正版游戏Rip

管理提醒: 本帖被 YZB 设置为精华(2010-12-09)
最近突然来了兴致,玩了玩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插座。


tf卡座
  tf卡座,1mm间距,8pin

hdmi插座
  hdmi_插头,1mm间距,9pin+10pin

hdmi插头
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左右的有极性电容(这个其实要不要都行)。工具方面,电烙铁和焊锡是必须的,美工刀或其他刀具如果有将会很方便,最好再准备把胶枪以利于插座的固定。另外如果有老虎钳、锉刀都会方便许多。  

面包板,单面
单面面包板,背面焊盘间距2.54mm

ffc软排线
FFC软排线,间距1mm,同面

FPC插座
FPC软排插座,间距1mm,10pin

sd卡座
自弹式SD卡座,引脚间距基本为2.54mm
  
脚垫,3M背胶
脚垫,联想机箱内部使用不干胶胶垫(装主板使用)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/小时(就看你怎么看待自己时间的价值了)

sd管脚定义
盗用下…… SD卡管脚定义
DC串口管脚定义
盗用下…… DC串口管脚定义
原理图
盗用下…… DC用SD读卡器原理图


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

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

面包板一分为二,背面
面包板一分为二,背面

面包板一分为二,正面,打胶固定
面包板一分为二,正面,打胶固定器件


焊接的时候,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用导线焊接。  

焊接正面
  焊接正面,导线的连接关系

焊接背面
  焊接背面,导线的连接关系

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

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

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

20pin软排线一分为二
很难买到合适的10pin 1mm间距的软排线,无奈只好买根20pin的一分为二
  
插头和主体连接
把修正后的脚垫贴到绝缘面时,建议其边缘和排线的原始侧边对齐,以便控制做出来的插头质量和接触性。原始侧边的第一根线应当和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个垫脚贴在电路板背面的四个角上,保护背面的器件,以及防止短路。


刚开机时LED的亮度
开机时时LED的亮度

读取时LED的亮度
进行读取时LED的亮度

测试通过,正面焊点打
测试通过后,正面打胶,背面贴脚垫

总结:采用这个方法制作DC-SD读卡器,优点是不需要拆机,零件容易买到,成本也比较低,FPC插头和读卡器主体部分容易分离、携带。缺点是FFC插头的制作需要经验,一不小心可能就会出现接触不良的情况,而且FFC插头每次插入DC串口的时候位置不是那么精确(至少精度比手柄或AV线插入相应接口差远了),另外FPC插座的引脚间距是1mm,这对焊接老手来说很轻松,对我等焊接苦手来说还是很花时间的。
[ 此帖被ms18e在2010-12-09 22:29重新编辑 ]
本帖最近评分记录:
  • 金钱:+1000(YZB)
  • YZB
    级别: 超级版主

    UID: 12451
    精华: 6
    发帖: 19107
    威望: 173 星
    金钱: 2061 浮游币
    贡献值: 10284 点
    好评度: 54897 点
    人气: 4322 点
    在线时间: 19820(时)
    注册时间: 2004-10-02
    最后登录: 2024-12-27
    沙发  发表于: 2010-12-01 12:15

    楼主加个标题吧,是转帖还是原创...
    另外你那qq号不用了?
    YZB
    级别: 超级版主

    UID: 12451
    精华: 6
    发帖: 19107
    威望: 173 星
    金钱: 2061 浮游币
    贡献值: 10284 点
    好评度: 54897 点
    人气: 4322 点
    在线时间: 19820(时)
    注册时间: 2004-10-02
    最后登录: 2024-12-27
    板凳  发表于: 2010-12-07 00:46

    不错,写完加精~

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

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

    UID: 12451
    精华: 6
    发帖: 19107
    威望: 173 星
    金钱: 2061 浮游币
    贡献值: 10284 点
    好评度: 54897 点
    人气: 4322 点
    在线时间: 19820(时)
    注册时间: 2004-10-02
    最后登录: 2024-12-27
    地板  发表于: 2010-12-08 00:22

    rip出来的格式是iso...
    这个ISO能载入光驱读取里面的文件吗?
    YZB
    级别: 超级版主

    UID: 12451
    精华: 6
    发帖: 19107
    威望: 173 星
    金钱: 2061 浮游币
    贡献值: 10284 点
    好评度: 54897 点
    人气: 4322 点
    在线时间: 19820(时)
    注册时间: 2004-10-02
    最后登录: 2024-12-27
    草席  发表于: 2010-12-12 23:31

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

    UID: 12451
    精华: 6
    发帖: 19107
    威望: 173 星
    金钱: 2061 浮游币
    贡献值: 10284 点
    好评度: 54897 点
    人气: 4322 点
    在线时间: 19820(时)
    注册时间: 2004-10-02
    最后登录: 2024-12-27
    5楼  发表于: 2010-12-13 20:32

    对比了一下,发现那几处地方的确是需要修改的啊,不改的话刻碟也是进不去的....

    不过看起来sd卡启动的只能是A600引导的iso了?其他不行?
    YZB
    级别: 超级版主

    UID: 12451
    精华: 6
    发帖: 19107
    威望: 173 星
    金钱: 2061 浮游币
    贡献值: 10284 点
    好评度: 54897 点
    人气: 4322 点
    在线时间: 19820(时)
    注册时间: 2004-10-02
    最后登录: 2024-12-27
    6楼  发表于: 2012-05-03 13:42

    自己挖一下坟~

    然而,有少数游戏是无法使用binhack32.exe进行hack的,比如日版的GD镜像 生化危机代号维罗妮卡。所以,如果发现用Hack_LBA.bat进行hack并制作出来的镜像无法正常运行,可以尝试着用dahack.exe进行hack....

    dahack.exe的原理就是批量替换bin文件
    6E B0 00 00改成A6 00 00 00

    5E B0 00 00改成96 00 00 00

    另外,不支持sd的游戏如果表现为直接退回到bios主菜单界面,十有八九是修改不当照成的,这些游戏修改正确也许能支持sd