PCSX2和GSDX的源代码地址,通过SVN下载。

来源:互联网 发布:tensorflow离线安装包 编辑:程序博客网 时间:2024/05/18 02:49
教新手如何编译PCSX2GSDX代码
(在EZ我叫SOSG 转发自己的帖子而已)
首先,你需要下载以下软件并且安装:
1>
TortoiseSVN
用于从SVN上把模拟器代码下载到本机。
下载地址: http://tortoisesvn.net/downloads
2>
DirectX SDK
用于编译GSDX所需要的includelib文件。
下载地址: http://86516.onlinedown.net/down/dxsdk_aug2007.zip
3>
Microsoft Platform SDK
用于对Visual Studio 8includelib文件补充。
下载地址:
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm
注意:一共是10个包,下完后只解第一个就可以。
4>
Microsoft Visual Studio 8
这个不用介绍了吧 MSDN原版破解
下载地址:
ftp://vipdownload:bbs.winzheng.com@210.51.22.77:8021/cs_vs_2005_pro_dvd.iso
MD5:a276ac538303af951d2c3b60777cc22a


下面正式开始:
一、
安装
a. 安装TortoiseSVN没什么注意的,只要一路点next就可以了,装完了重启机器。然后在文件夹上点右键,就可以看见TortoiseSVNsvn commit选项了。
b. 安装DirectX SDK,这个要用默认路径安装,就是在c:/programfiles/下,所以C盘空间要够,装完是700MB+。看图吧:


这里前5项全部安装,以后也用的上


过程比较长,请耐心等

完成。
c. 安装Microsoft Platform SDK,先解压10个包,然后点setup安装,也要默认路径安装,c:/programfiles/下。还是看图:

一路NEXT 这里用自定义吧 其实就是完全安装就可以


d. Microsoft Visual Studio 8安装很简单,上网找教程去吧。
二、装备工作

a.
首先打开你的Microsoft Visual Studio安装目录吧。找到vc文件夹,找到includelib文件夹,再找到C:/Program Files/Microsoft DirectX SDK (August 2007)里的includelib文件夹,SDK里的includelib文件夹里的东西复制粘贴到vc文件夹下的includelib里,记住:绝对不要覆盖原来的,重复的不要复制就可以了!

b. 按相同的原理,把C:/Program Files/Microsoft Platform SDK for Windows XP SP2里的includelib文件夹下的东西都复制到到vc文件夹下的includelib里,也不要覆盖!
三、开始下载源代码
在你的硬盘上任意位置建立文件夹:



PCSX2_SVN GSDX_SVN。然后对PCSX2_SVN文件夹点右键,选择svn checkout

在出现对话框后在URL那里写PCSX2SVN地址:
https://pcsx2.svn.sourceforge.net/svnroot/pcsx2/
然后点确定,等待连接开始,如果有速度显示就对了,没的话重复上面的动作直到有!
完成后会显示最后的版本号,比如295.
GSDX_SVNPCSX2_SVN一样道理,地址是:
http://guliverkli.svn.sourceforge.net/svnroot/guliverkli/
四、开始编译PCSX2_SVN代码
首先,确认你的Microsoft Visual Studio安装正确并可以正常工作,这个自己搞定。
其次打开…/pcsx2/windows/VCprojects/pcsx2_2005.sln文件,载入工程。
打开解决方案的属性:



(注意 下面的不改也可以)
然后打开右边的pcsx2,找到cpu文件里的Vif.c,按ctrl+f 查找if ((vif1ch->madr+(mfifoqwc << 4)) > (msize)) 内容,找到后把“ {
”后的内容改为

int s1 = ((msize) - vif1ch->madr) >> 2;然后,在pcsx2上点右键,点击生成,等待,直到出现:
========== 生成: 1 已成功, 0 已失败, 0 最新, 0 已跳过==========
就表示完毕了!最后在你的/ PCSX2_SVN /bin/下找到你编译的最新版本的主程序。
期间的warning可以忽略
注意:如果你要编译No_VM(就是不带虚拟内存的)版本,请将工程pcsx2属性改成DebugTLB!
五、编译GSDX_SVN
首先,打开…GSDX_SVN/GSDX/trunk/gsdx/GSdx_vs2005.sln文件。
再来就是打开解决方案的属性,


选择Release SSE2配置。
然后在右侧的GSDX里找到Header Files里的GSRendererHW.h文件,然后把这里的protect改成public,不然编译报错,看图:


下面要改下:(注意 下面的不改也可以)
同样打开右侧的GSDX里的Source Files里的X86.cpp找到
BYTE c = (src[addr>>1] >> ((addr&1) << 2)) & 0x0f;
BYTE为int

同理找到Source Files里的GSRendererHW9.cpp找到
BYTE factor = m_context->ALPHA.FIX >= 0x80 ? 0xff : m_context->ALPHA.FIX * 2;
改BYTE为INT

最后开始编译代码,选择GSDX点右键的生成,等待完成
========== 生成: 1 已成功, 0 已失败, 0 最新, 0 已跳过==========
完成后在C:/users/gabest/desktop/pcsx2/plugins/里找到GSDX.dll文件,放到你的模拟器的plugins里就可以使用了.

编后语:这里只是很简单的介绍了下如何编译代码,深层次的是分析代码和细节与结构调整,本人能力有限,所以这里暂时不写了,待总结验证后一起发出来。



转后语:
研究过几天,太难,也没太多精力,就暂时放弃了,现在正在学习DirectX SDK,可能回头还要把汇编再学一遍。打算学完了再次研究这个代码。
原创粉丝点击