|
 
- 帖子
- 47
- 精华
- 0
- P币
- 117
- 成就
- 1
- 金币
- 1
- PSP版本
- 3.71M33
|
修改CPS1PSP 2.3.1模拟器让它支持三国志2修改rom的心得
编译成功!已经上传傻瓜包!
见:
[原创发布]【PSP上成功运行】CPS1街机三国志Ⅱ赤壁之战 25个加强HACK版傻瓜包网盘:
http://bbs.pspchina.net/viewthread.php?tid=292570&extra=page%3D1&frombbs=1
============================================================================
制作三国志2赤壁之战24个加强修改版傻瓜包时的问题与解决
最近收集了三国志2赤壁之战血腥1.50修改版,真的太好了,比所有的版本都好!
另外,我还收集了以下版本的ROM:
三国志Ⅱ赤壁之战(血腥加强版1.50)
三国志Ⅱ赤壁之战(粉红版)
三国志Ⅱ赤壁之战(召唤兽版)
三国志Ⅱ赤壁之战(BIOS加强版)
三国志Ⅱ赤壁之战(草薙箭版)
三国志Ⅱ赤壁之战(草薙马版)
三国志Ⅱ赤壁之战(关羽赤兔马版)
三国志Ⅱ赤壁之战(关羽强化版)
三国志Ⅱ赤壁之战(黄忠加强版)
三国志Ⅱ赤壁之战(剑气纵横版)
三国志Ⅱ赤壁之战(神箭+剑气版)
三国志Ⅱ赤壁之战(御剑术版)
三国志Ⅱ赤壁之战(赵云强化暴力版)
三国志Ⅱ赤壁之战(赵云强化连踢版)
三国志Ⅱ赤壁之战(赵云强化升龙版)
三国志Ⅱ赤壁之战(神兵利器版)
三国志Ⅱ赤壁之战(烧猪版)
三国志Ⅱ赤壁之战(地狱版)
三国志Ⅱ赤壁之战(箱草薙剑+成行剑气+张飞旋风坐+张飞草薙飞踢+飞箭)
三国志Ⅱ赤壁之战(寒光斩)
三国志Ⅱ赤壁之战(天下第一关)
三国志Ⅱ赤壁之战(英雄关)
三国志Ⅱ赤壁之战(召唤兽&御剑术版)
三国志Ⅱ赤壁之战(美人关)
现在想把他们都加进CPS1PSP 2.3.1中给大家分享,基本思路:
1、以wofj.zip里的文件为基础,把那些修改rom的修改部分覆盖到这个包了,另存为别的文件名;
2、修改rominfo.cps1文件,加入修改rom的crc值;
3、修改zipname.cps1和zipnamej.cps1文件,加入修改rom压缩包的文件名,使之在rom选择列表中正确显示;
4、修改CPS1PSP 2.3.1模拟器的源代码,再进行编译,把新的ROM名加进去,用wofj的驱动。
具体步骤:
1、将以上修改ROM的ZIP中文件与wofj.zip中的比较,找出crc不同的,释放到不同的文件夹;
2、分别添加这些文件夹中文件到wofj.zip中替换同名文件,并另存为别的名称,如wofxuexing.zip等;
3、用记事本打开rominfo.cps1文件,找到wofj的部分,复制从“FILENAME”到“END”部分并粘帖多份到此rominfo.cps1文件中,并按照新的ROM修改包中替换文件的CRC值填写0x以后的部分。(这个说起来比较复杂,但你肯定明白)保存;
4、用记事本打开zipname.cps1文件,按照里面的格式:rom包名称,游戏名称重新添加这些修改版的条目,保存;
5、用emeditor软件打开zipnamej.cps1,选“文件”,“重新载入”,“日文自动选择”,就可以正确显示日文,按照第4步的方法同样填入日文名称,保存;
6、将这些rom复制到PSP的CPS1PSP 2.3.1文件夹的roms文件夹里,注意要有wof的主rom:wof.zip,3.74Mb的;
7、复制刚才修改的rominfo.cps1、zipname.cps1、zipnamej.cps1三个文件到PSP的CPS1PSP 2.3.1文件夹,覆盖原来的。
8、现在在PSP里运行CPS1PSP 2.3.1,ROM列表出现!但是问题也出现了:
选择任何一个修改rom,运行后一个画面一闪就回到了rom选择画面,显示“***.zip,rom驱动没找到!”
以上的问题,有2个解决方法:
1、这些一大堆的三国修改rom(我有24个),如果将其中一个文件名改为wofj.zip,拷贝它并覆盖替代rom文件夹中原来的wofj.zip后,只要你在上面第三步中修改的CRC正确(就是这个修改rom的CRC),则此修改rom完美运行!!(在rom选择界面选择:“wofj,三国志 II - 呑食天地 (日版 921031)”即可,已经测试,我先搞了“赵云暴力加强版”,真爽!)
2、另一种方法,也是要解决一个问题,就是“把24个修改rom”一起搞定,可以随意切换加载,但是,总不能都改名为wofj.zip放在一起啊,所以,就要修改CPS1PSP 2.3.1模拟器本身了。
1、下载nj231dev(见附件),里面是CPS1PSP 2.3.1的源代码,找到nj231dev\src\cps1下的文件driver.c和driver.h,现在要对他们进行修改:
打开driver.c文件:(用记事本打开编辑,最好用Emeditor,选“文件”,“重新载入”,“日文自动选择”,就可以正确显示日文注释!)
找到:- #if !RELEASE
- {"wofb", CPS_B_01, 0, GFX_WOF },
- {"wofh", HACK_B_2, CPS1_KLUDGE_WOFB, GFX_WOF },
- {"wofha", HACK_B_2, CPS1_KLUDGE_WOFB, GFX_WOF },
- {"wof3js", CPS_B_01, 0, GFX_WOF },
- {"wof3sj", HACK_B_2, CPS1_KLUDGE_WOFB, GFX_WOF },
- {"wof3sja", HACK_B_2, CPS1_KLUDGE_WOFB, GFX_WOF },
- {"wofsj", HACK_B_2, CPS1_KLUDGE_WOFB, GFX_WOF },
- {"wofsja", HACK_B_2, CPS1_KLUDGE_WOFB, GFX_WOF },
- {"wofsjb", CPS_B_01, 0, GFX_WOF },
复制代码 在最后一行下添加:- {"wofjjq", QSOUND_1, 0, GFX_WOF },
- {"woffh", QSOUND_1, 0, GFX_WOF },
- {"wofzhs", QSOUND_1, 0, GFX_WOF },
- {"wofbio", QSOUND_1, 0, GFX_WOF },
- {"wofctj", QSOUND_1, 0, GFX_WOF },
- {"wofctm", QSOUND_1, 0, GFX_WOF },
- {"wofgyc", QSOUND_1, 0, GFX_WOF },
- {"wofgyq", QSOUND_1, 0, GFX_WOF },
- {"wofhzj", QSOUND_1, 0, GFX_WOF },
- {"wofjqz", QSOUND_1, 0, GFX_WOF },
- {"wofsjj", QSOUND_1, 0, GFX_WOF },
- {"wofyjs", QSOUND_1, 0, GFX_WOF },
- {"wofzyq", QSOUND_1, 0, GFX_WOF },
- {"wofzy2", QSOUND_1, 0, GFX_WOF },
- {"wofzy3", QSOUND_1, 0, GFX_WOF },
- {"wofsbl", QSOUND_1, 0, GFX_WOF },
- {"wofsz", QSOUND_1, 0, GFX_WOF },
- {"wofdy", QSOUND_1, 0, GFX_WOF },
- {"wofbt", QSOUND_1, 0, GFX_WOF },
- {"wofhgz", QSOUND_1, 0, GFX_WOF },
- {"wofdyg", QSOUND_1, 0, GFX_WOF },
- {"wofyxg", QSOUND_1, 0, GFX_WOF },
- {"wofzhy", QSOUND_1, 0, GFX_WOF },
- {"wofmr", QSOUND_1, 0, GFX_WOF },
复制代码 打开driver.h文件:(用记事本打开编辑,最好用Emeditor,选“文件”,“重新载入”,“日文自动选择”,就可以正确显示日文注释!)
找到:- #if !RELEASE
- INPTYPE_knightsh,
- INPTYPE_wofh,
- INPTYPE_wof3js,
- INPTYPE_wofsj,
- INPTYPE_wofsjb,
复制代码 在下面添加:- INPTYPE_wofjjq,
- INPTYPE_woffh,
- INPTYPE_wofzhs,
- INPTYPE_wofbio,
- INPTYPE_wofctj,
- INPTYPE_wofctm,
- INPTYPE_wofgyc,
- INPTYPE_wofgyq,
- INPTYPE_wofhzj,
- INPTYPE_wofjqz,
- INPTYPE_wofsjj,
- INPTYPE_wofyjs,
- INPTYPE_wofzyq,
- INPTYPE_wofzy2,
- INPTYPE_wofzy3,
- INPTYPE_wofsbl,
- INPTYPE_wofsz,
- INPTYPE_wofdy,
- INPTYPE_wofbt,
- INPTYPE_wofhgz,
- INPTYPE_wofdyg,
- INPTYPE_wofyxg,
- INPTYPE_wofzhy,
- INPTYPE_wofmr,
复制代码 找到:- #if !RELEASE
- INIT_kodb,
- INIT_sf2m13,
- INIT_wofh,
- INIT_wof3js,
- INIT_wof3sj,
- INIT_wofsjb,
复制代码 在下面添加:- INIT_wofjjq,
- INIT_woffh,
- INIT_wofzhs,
- INIT_wofbio,
- INIT_wofctj,
- INIT_wofctm,
- INIT_wofgyc,
- INIT_wofgyq,
- INIT_wofhzj,
- INIT_wofjqz,
- INIT_wofsjj,
- INIT_wofyjs,
- INIT_wofzyq,
- INIT_wofzy2,
- INIT_wofzy3,
- INIT_wofsbl,
- INIT_wofsz,
- INIT_wofdy,
- INIT_wofbt,
- INIT_wofhgz,
- INIT_wofdyg,
- INIT_wofyxg,
- INIT_wofzhy,
- INIT_wofmr,
复制代码 保存即可!
2、修改makefile文件:找到nj231dev\makefile,用记事本打开,将# Configuration部分做如下修改:- BUILD_CPS1PSP = 1
- #BUILD_CPS2PSP = 1
- #BUILD_MVSPSP = 1
- #BUILD_NCDZPSP = 1
- PSP_SLIM = 1
- #KERNEL_MODE = 1
- COMMAND_LIST = 1
- ADHOC = 1
- SAVE_STATE = 1
- #UI_32BPP = 1
- #RELEASE = 1
- VERSION_MAJOR = 2
- VERSION_MINOR = 3
- VERSION_BUILD = 1
复制代码 3、重新编译:
用PSPSDK+MSYS环境编译即可!
求助:
本人安装的PSPSDK+MSYS环境一直有问题,有哪位安装完美的帮助我编译一下?
源代码包(包括所有修改好的driver.h、driver.c和makefile)从附件下载。
目前遇到的问题:
1、本人安装的PSPSDK+MSYS环境一直有问题,有哪位安装完美的帮助我编译一下?
虽然目前用【TOPOC内部专用】【PSP/JGE开发环境搭建】搭建开发环境傻瓜版【11/09整理】编译成功,但文件只有1.58Mb,而修改前的Eboot.pbp大小是1.84Mb,不知是否有问题。
2、目前,各个版本都可以运行,但神兵利器版和黄忠加强版有死机现象,我猜想问题原因:
·编译是否有错误,但是我编译器并未报错;
·原修改rom没有问题,pc上模拟不会死机;
·rominfo.cps1的问题?可能,这些修改版本我都是基于最稳定的日版rom配置的,如果当时修改rom时不时基于日版原rom修改,可能会出问题。
3、还有一个修改版:火凤凰版,是大陆的“三国英雄传”的HACK,我得到了hack rom,和nebula模拟器的rom配置data,就是不知怎样在rominfo.cps1中配置,希望请高手赐教!
[ 本帖最后由 weist123 于 2008-12-9 10:22 编辑 ] |
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
|