注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

利基亚の大陆

A.C.G大好き!weibo.com/roysd

 
 
 

日志

 
 
关于我

原SOMA汉化组组长 NDS全版本牧场物语汉化发起者 业余撰稿人

网易考拉推荐

PSP插件汉化思路  

2008-09-09 16:36:14|  分类: 汉化 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

思路

PSP游戏的运行是启动EBOOT.bin达到的
既然Eboot也是Module的一类,而PSP允许KernelMode下的Thread调用其它Module,同时支持多线程操作
因此产生了开多线程来同时运行游戏和汉化插件的想法


作用
可将原来单独运行的汉化插件整合进ISO
从目前的测试来看,效果很稳定,且无副作用

 

具体实现原理

写一个PRX:Loader.prx
内容:开双线程
分别是调用Boot.bin(EBOOT明文备份,sceKernelLoadModuleDisc+sceKernelStartModule)
和调用汉化插件CnPlugin.prx(sceKernelLoadModule+sceKernelStartModule)

注意:此插件需在KernelMode下运行
另外需用到M33 SDK,同时编译时需连接pspmodulemgr_kernel库

将编译完成的Loader.prx改名为EBOOT.BIN
替换disc0:/PSP_GAME/SYSDIR下原文件

对于CnPlugin.prx,所有操作和以前一样
(如果需要调用文件可将文件合进Iso然后从disc0:调用)
引用:
核心src

int cnthread(SceSize args,void *argp)//Run Cn_Prx
{
    char plugin[]="disc0:/PSP_GAME/SYSDIR/CNPLUGIN.prx";
    int modid=sceKernelLoadModule(plugin,0,NULL);
    if ( modid >= 0 )
                          { int status, len = strlen( plugin ) + 1;
                         modid = sceKernelStartModule( modid, len, ( void * )plugin, &status, NULL ); }
                        
    return 0;
   
    }
int main_thread(SceSize args, void *argp)//Create PRX_Loading Thread and Load/Start Boot
        {
                        SceUID th = sceKernelCreateThread("cnthread", cnthread, 0x10, 0x10000, 0, NULL);
                        if(th>=0)
                        {
                                 sceKernelStartThread(th,args,argp);
                                
                                 }
                        char ads[]="disc0:/PSP_GAME/SYSDIR/BOOT.BIN";
                         int modid = sceKernelLoadModuleDisc( ads, 0, NULL );
                          if ( modid >= 0 )
                          { int status, len = strlen( ads ) + 1;
                         modid = sceKernelStartModule( modid, len, ( void * )ads, &status, NULL ); }
                        
                       
                        return 0;
                        }

  评论这张
 
阅读(837)| 评论(0)
推荐

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017