zoukankan      html  css  js  c++  java
  • Project Chameleon Work In Progress 14

    第一阶段正式完成

    历史:

    GameCube 使用了定制的光驱接口和通信协议,在任天堂的专利上,称为主板上的P9接口,名字叫做DI。
    DI不仅仅是一个光驱接口,只要是使用DI协议的硬件,都可以安装在上面,比如任天堂自己的测试机就是把硬盘通过FPGA接到DI上,街机Triforce也是使用FPGA将GDROM驱动器和存储板接到DI上。

    换句话说,我们完全可以自己做一个硬件,替换掉GC的光驱,比如用USB,比如用SD卡,比如用硬盘。国外已经有很多爱好者自己做了这样的设备。但是国内还没有这样的先例。

    DSC01919

    2007年底,我看到crazynation公开的GC DVD模拟器,我很有兴趣的想仿做一个。于是我开始了这个计划,本以为几个月就能完成,结果直到今天才算是完成。

    硬件上主要有两部分组成,一片xilinx Spartan3 FPGA 负责DI协议模拟转换,一片Cypress ez-usb fx2lp负责USB2.0接口通信。

    GC本体发出的光盘读取指令经过FPGA的协议转化,通过usb传输给pc,然后pc将游戏机所请求的iso数据又通过usb传送给FPGA,进一步交给GC。

    在制作过程中遇到了各种未曾遇到的问题,比如驱动,Cypress没有提供win7 x64驱动,写传统的WDM驱动我又搞不到数字签名,这个卡了我很长时间,
    今年年初我啃了半个月WDF UMDF文档,写了个UMDF驱动这才算搞定。

    又比如VHDL,因为我是做软件的,之前从没接触过FPGA,也是硬啃了一个星期,设计修改了很多次。

    最后非常谢谢支持我的朋友们,孤高の英雄,寄给我了一台GC,录像上这台就是,没有安装直读,但是在光驱模拟器的强大仿真下,GC已经认为自己读取到了z盘。
    还有原谅我还活着,他把自己的一片上海思跃Sy2200A 开发板寄给了我,如果没有这个,这个计划恐怕2012年也完不成了。

    实际运行录像:
    http://v.youku.com/v_show/id_XMTkwNjkyMTk2.html

    http://player.youku.com/player.php/sid/XMTkwNjkyMTk2/v.swf

     

    第二阶段做可能就是优化速度了,现在loading非常慢。

    未来的计划可能还包括wii的光驱模拟,以及自制GC数字输出,可能会是DVI之类的。

  • 相关阅读:
    Ansible批量更新远程主机用户密码
    国外程序员推荐:每个程序员都应该读的非编程书
    FindFriendsServer服务搭建
    Android JNI HelloWorld实现
    2014年4月读书单
    jQuery 之父:每天写代码
    QT210 Android4.0源码编译和烧录文档整理
    Android系统分区理解及分区目录细解
    Android组件Spinner使用
    使用事件驱动模型实现高效稳定的网络服务器程序
  • 原文地址:https://www.cnblogs.com/skogkatt/p/4163334.html
Copyright © 2011-2022 走看看