PlayCore

 

 

搜索
PlayCore 论坛 PSP hack综合 PSP软件开发 修改CPS1PSP 2.3.1模拟器让它支持三国志2修改rom的心得
查看: 10226|回复: 20
go

修改CPS1PSP 2.3.1模拟器让它支持三国志2修改rom的心得

Rank: 2Rank: 2

P币
117  
金币
1  
成就
1  
精华
帖子
47 
发表于 2008-12-8 09:15 |显示全部帖子
编译成功!已经上传傻瓜包!
见:
[原创发布]【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,选“文件”,“重新载入”,“日文自动选择”,就可以正确显示日文注释!)
找到:
  1. #if !RELEASE
  2.         {"wofb",    CPS_B_01, 0,                    GFX_WOF      },
  3.         {"wofh",    HACK_B_2, CPS1_KLUDGE_WOFB,     GFX_WOF      },
  4.         {"wofha",   HACK_B_2, CPS1_KLUDGE_WOFB,     GFX_WOF      },
  5.         {"wof3js",  CPS_B_01, 0,                    GFX_WOF      },
  6.         {"wof3sj",  HACK_B_2, CPS1_KLUDGE_WOFB,     GFX_WOF      },
  7.         {"wof3sja", HACK_B_2, CPS1_KLUDGE_WOFB,     GFX_WOF      },
  8.         {"wofsj",   HACK_B_2, CPS1_KLUDGE_WOFB,     GFX_WOF      },
  9.         {"wofsja",  HACK_B_2, CPS1_KLUDGE_WOFB,     GFX_WOF      },
  10.         {"wofsjb",  CPS_B_01, 0,                    GFX_WOF      },
复制代码
在最后一行下添加:
  1.         {"wofjjq",  QSOUND_1, 0,                    GFX_WOF      },
  2.         {"woffh",   QSOUND_1, 0,                    GFX_WOF      },
  3.         {"wofzhs",  QSOUND_1, 0,                    GFX_WOF      },
  4.         {"wofbio",  QSOUND_1, 0,                    GFX_WOF      },
  5.         {"wofctj",  QSOUND_1, 0,                    GFX_WOF      },
  6.         {"wofctm",  QSOUND_1, 0,                    GFX_WOF      },
  7.         {"wofgyc",  QSOUND_1, 0,                    GFX_WOF      },
  8.         {"wofgyq",  QSOUND_1, 0,                    GFX_WOF      },
  9.         {"wofhzj",  QSOUND_1, 0,                    GFX_WOF      },
  10.         {"wofjqz",  QSOUND_1, 0,                    GFX_WOF      },
  11.         {"wofsjj",  QSOUND_1, 0,                    GFX_WOF      },
  12.         {"wofyjs",  QSOUND_1, 0,                    GFX_WOF      },
  13.         {"wofzyq",  QSOUND_1, 0,                    GFX_WOF      },
  14.         {"wofzy2",  QSOUND_1, 0,                    GFX_WOF      },
  15.         {"wofzy3",  QSOUND_1, 0,                    GFX_WOF      },
  16.         {"wofsbl",  QSOUND_1, 0,                    GFX_WOF      },
  17.         {"wofsz",   QSOUND_1, 0,                    GFX_WOF      },
  18.         {"wofdy",   QSOUND_1, 0,                    GFX_WOF      },
  19.         {"wofbt",   QSOUND_1, 0,                    GFX_WOF      },
  20.         {"wofhgz",  QSOUND_1, 0,                    GFX_WOF      },
  21.         {"wofdyg",  QSOUND_1, 0,                    GFX_WOF      },
  22.         {"wofyxg",  QSOUND_1, 0,                    GFX_WOF      },
  23.         {"wofzhy",  QSOUND_1, 0,                    GFX_WOF      },
  24.         {"wofmr",   QSOUND_1, 0,                    GFX_WOF      },
复制代码
打开driver.h文件:(用记事本打开编辑,最好用Emeditor,选“文件”,“重新载入”,“日文自动选择”,就可以正确显示日文注释!)
找到:
  1. #if !RELEASE
  2.         INPTYPE_knightsh,
  3.         INPTYPE_wofh,
  4.         INPTYPE_wof3js,
  5.         INPTYPE_wofsj,
  6.         INPTYPE_wofsjb,
复制代码
在下面添加:
  1.         INPTYPE_wofjjq,
  2.         INPTYPE_woffh,
  3.         INPTYPE_wofzhs,
  4.         INPTYPE_wofbio,
  5.         INPTYPE_wofctj,
  6.         INPTYPE_wofctm,
  7.         INPTYPE_wofgyc,
  8.         INPTYPE_wofgyq,
  9.         INPTYPE_wofhzj,
  10.         INPTYPE_wofjqz,
  11.         INPTYPE_wofsjj,
  12.         INPTYPE_wofyjs,
  13.         INPTYPE_wofzyq,
  14.         INPTYPE_wofzy2,
  15.         INPTYPE_wofzy3,
  16.         INPTYPE_wofsbl,
  17.         INPTYPE_wofsz,
  18.         INPTYPE_wofdy,
  19.         INPTYPE_wofbt,
  20.         INPTYPE_wofhgz,
  21.         INPTYPE_wofdyg,
  22.         INPTYPE_wofyxg,
  23.         INPTYPE_wofzhy,
  24.         INPTYPE_wofmr,
复制代码
找到:
  1. #if !RELEASE
  2.         INIT_kodb,
  3.         INIT_sf2m13,
  4.         INIT_wofh,
  5.         INIT_wof3js,
  6.         INIT_wof3sj,
  7.         INIT_wofsjb,
复制代码
在下面添加:
  1.         INIT_wofjjq,
  2.         INIT_woffh,
  3.         INIT_wofzhs,
  4.         INIT_wofbio,
  5.         INIT_wofctj,
  6.         INIT_wofctm,
  7.         INIT_wofgyc,
  8.         INIT_wofgyq,
  9.         INIT_wofhzj,
  10.         INIT_wofjqz,
  11.         INIT_wofsjj,
  12.         INIT_wofyjs,
  13.         INIT_wofzyq,
  14.         INIT_wofzy2,
  15.         INIT_wofzy3,
  16.         INIT_wofsbl,
  17.         INIT_wofsz,
  18.         INIT_wofdy,
  19.         INIT_wofbt,
  20.         INIT_wofhgz,
  21.         INIT_wofdyg,
  22.         INIT_wofyxg,
  23.         INIT_wofzhy,
  24.         INIT_wofmr,
复制代码
保存即可!

2、修改makefile文件:找到nj231dev\makefile,用记事本打开,将# Configuration部分做如下修改:
  1. BUILD_CPS1PSP = 1
  2. #BUILD_CPS2PSP = 1
  3. #BUILD_MVSPSP = 1
  4. #BUILD_NCDZPSP = 1

  5. PSP_SLIM = 1
  6. #KERNEL_MODE = 1
  7. COMMAND_LIST = 1
  8. ADHOC = 1
  9. SAVE_STATE = 1
  10. #UI_32BPP = 1
  11. #RELEASE = 1

  12. VERSION_MAJOR = 2
  13. VERSION_MINOR = 3
  14. 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 编辑 ]
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 2Rank: 2

P币
117  
金币
1  
成就
1  
精华
帖子
47 
发表于 2008-12-8 12:53 |显示全部帖子
为什么没有人支持我呢?

好消息,用了【TOPOC内部专用】【PSP/JGE开发环境搭建】搭建开发环境傻瓜版【11/09整理】 ,
终于编译成功!但是eboot.pbp的大小比原版的小了不少,只有1.58Mb,而原版的有1.84mb啊,不知哪里出了差错!
我只是改了一点内容啊,还是增加了的!!!

Rank: 3Rank: 3Rank: 3

P币
851  
金币
0  
成就
0  
精华
帖子
151 
发表于 2008-12-8 14:18 |显示全部帖子
编译成功!试一下,有问题吗???

Rank: 2Rank: 2

P币
117  
金币
1  
成就
1  
精华
帖子
47 
发表于 2008-12-8 15:03 |显示全部帖子
晚上回家再试,白天上班啊,恐怕不行啊,文件大小不同啊

Rank: 3Rank: 3Rank: 3

P币
851  
金币
0  
成就
0  
精华
帖子
151 
发表于 2008-12-8 15:30 |显示全部帖子
源码是中文版的吗?期待你的测试!!!

Rank: 2Rank: 2

P币
117  
金币
1  
成就
1  
精华
帖子
47 
发表于 2008-12-8 15:40 |显示全部帖子
源码是英文和日文注释。幸好我学日语的。
就是编译成功,此模拟器也是英文版,需要汉化的。
谁有中文版的源码?发我一份啊!

Rank: 3Rank: 3Rank: 3

P币
851  
金币
0  
成就
0  
精华
帖子
151 
发表于 2008-12-8 15:44 |显示全部帖子
angelspsp 大大的贴里不知道是不是中文源码!你看看!!!


http://www.cngba.com/viewthread. ... hlight=%2BAngelspsp

Rank: 2Rank: 2

P币
117  
金币
1  
成就
1  
精华
帖子
47 
发表于 2008-12-8 16:19 |显示全部帖子
不是的,一楼的都是已经编译好的模拟器,二楼的才是源代码!我就是在那里下的,源码是英文和日文注释。
现在问题是最好先把英文版的做好!

看一楼,我做了修改。

供测试文件,晚上我测试:见附件。

[ 本帖最后由 weist123 于 2008-12-8 17:17 编辑 ]
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 2Rank: 2

P币
117  
金币
1  
成就
1  
精华
帖子
47 
发表于 2008-12-9 10:23 |显示全部帖子
目前遇到的问题:
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中配置,希望请高手赐教!

Rank: 1

P币
16  
金币
1  
成就
0  
精华
帖子
发表于 2008-12-9 12:13 |显示全部帖子
真不错啊、谢谢

Archiver|玩心网 ( 沪ICP备11005003号 )

GMT+8, 2012-2-14 07:40 , Processed in 0.099338 second(s), 12 queries .

Powered by Discuz! X1.5

© 2001-2010 Comsenz Inc.