PS2汉化2 - 自制程序的运行与调试

2023-11-18

运行调试的坑点之类的

本文为了自制程序(或者修改后的某些程序)而撰写,记录一些笔者踩过的或者看别人踩过的坑。

SDK

我相信大多数人都有能力搞定MIPS的交叉编译环境,不过,直接使用PS2SDK是更简单的做法。
无论是找到了索尼泄露的官方PS2SDK还是玩家自制的PS2SDK,选择你喜欢的就好了。

运行与调试

通过PS3

对于持有PS3向下兼容型号且软破了的人来说,利用SWAPMAGIC启动OPL,并通过SMB运行是最简单的方法。因为PS3仿真的限制,如果每次修补光盘镜像/程序都要重新传输到硬盘/虚拟记忆卡是非常不明智的做法。

对于非向下兼容型号,还不如用PCSX2呢。

至于调试的话……

对于部分使用了TCP的程序,其仿真在CECHA上工作正常。目前仅确认了TCP的工作正常(包括监听套接字和数据套接字),但是,显然,官方仿真并不提供超越零售机的功能。由于ps2_emu.self的关联复杂,目前不认为有对其BIOS进行修改以提供DECI2环境的可能。

此外,诸如PS2LINK等一类软件,无法启动PS2之网络系统。可能是由于驱动的问题。

但是,OPL(github最新版,debug_deci2构建)和RDB只能在有线连接的环境下成功创建监听套接字,并执行网络处理。包括其他软件皆是如此。

比连接稳定性更重要的、使PS3无法进行PS2调试的决定因素是:RDB提供的IOP侧之DECI2服务之TIF桥无法成功连接EE侧的DECI2主机。如果尝试连接,会收到错误信息NOROUTE(不存在到节点(即EE侧的DECI2主机)的路径)。(然而如果发送EE RESET信息,依然会死机,原理未知)如果有人对此有所研究,希望能够留言以交流……

对ps2emu所带的PS2 BIOS进行检查发现几个显著和DECI2关联的模块确实存在,且运行于PCSX2时,发现EE侧的DECI2有启动。暂时无法推测故障原因。由于ps2emu.self关联过于复杂,难以分析;暂不认为有恢复这部分功能的方法。

利用RDB所提供之内核替换功能时,在替换了开发机内核后导致死机。在替换了零售机内核时系统无有变化。故原因非内核导致。

综上,利用PS3调试PS2程序是几乎不可能的。

笔者已经在CECHA00上,通过Rebug DEX/CEX下进行测试,包括了,EXECFTP,PS2LINK在内,并得出此悲伤的结论。

通过PS2

PS2的硬盘破解已经非常成熟,我们早已不需要用什么直读芯片改机了。关于PS2的破解不做赘述。

神(昂)奇(贵)的DTL-10000!

当然,如果你有一台DTL-10000开发机的话(就是那个PC-PS2缝合怪;对对对,就是那个把一台完整PC当通讯处理器用的白痴设计),用那个调试必然是最好的方法。然而,它的价格就没有多好看了……(一台过时的只能用IDE硬盘超级古董电子垃圾怎么好意思卖那么贵啦!(╯‵□′)╯︵┻━┻)

注意和PS3的开发机分类一样,PS2开发机中的TEST型只是个不做正版校验的普通机器,只有TOOL(我只知道DTL-T10000)才能做调试用途。

贫穷者的零售机器

如果你有PS2实机(有网卡的那种)的话,RDB或者使用debug_deci2配方()编译的OPL(make debug_deci2)就是很好的选择(注意OPL会驻留在进程里,分析代码时可能会把OPL和要调试的程序的代码弄混)。它们都能启动DECI2/TCP(索尼官方的PS2调试通讯接口)服务主机,这样你就能通过DECI2进行调试了(别忘了-nr选项,重置EE或IOP都将使RDB或OPL提供的DECI2服务暴毙)。至于PC上的客户端的话,除了RDB帖子里提到的工具(Linux用)外,还可以考虑看看能不能找到泄露的官方工具,比如ProDG、CW什么的,不过不建议这么干啦。

需要注意的是,即使使用ProDG或者CW,也必须首先用dsnetm连接TIF,然后由ProDG TM连接dsnetm。

或者,其他hacker做的远程调试器也能用。

缺点当然就是这么干超级麻烦啊……

通过PCSX2仿真器

通过PCSX2仿真器时,请记得一定要把EE和IOP改成解释器。重编译器会掩盖掉一些编程上的错误,最终可能导致PS2实机运行时崩溃。

要举例子的话,比如PCSX2能够容忍非对齐内存访问,然而在PS2实机上会直接引发异常;更重要的是,PCSX2的重编译器不会报告“发生了非对齐内存访问”这一错误,而这个对于最终的成品来说是很要命的纰漏。

此外PCSX2对于DMA也没有严格的限制,这也可能使得最后的成果出事。

而且由于仿真器的特殊性(翻译的目标代码因机器而异),不同的人可能在不同的地方甚至是随机出事。所以如果要利用PCSX2进行调试,请小心而慎重地进行。

优点嘛……貌似也没有就是,毕竟用PCSX2的前提是已经有了一台PS2,不是么?(笑)当然有的人PS2坏了不舍得花钱买新的也是可能的,嗯。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PS2汉化2 - 自制程序的运行与调试 的相关文章

随机推荐

  • 二叉树两节点的最短距离(一次dfs完成)

    字节面试问到的 leetcode上没看到 记录一下自己的做法 此题近似于leetcode 236 二叉树的最近公共祖先 但有较大不同 做法为 对二叉树进行dfs遍历 递归函数写法为func dfs root p q TreeNode ans
  • Kubernetes笔记(四):详解Namespace与资源限制ResourceQuota,LimitRange

    前面我们对K8s的基本组件与概念有了个大致的印象 并且基于K8s实现了一个初步的CI CD流程 但对里面涉及的各个对象 如Namespace Pod Deployment Service Ingress PVC等 及各对象的管理可能还缺乏深
  • 刷脸支付有效的风险监控和预防措施

    刷脸支付是运用了3D人脸识别 活体检测 大数据风控技术等高新技术的全新移动支付方式 将带领行业进入一次新的浪潮人脸图像的预处理主要包括人脸扶正 人脸图像的增强 以及归一化等工作 人脸扶正是为了得到人脸位置端正的人脸图像 图像增强是为了改善人
  • 【群智能算法】一种改进的北方苍鹰优化算法 改进北方苍鹰算法INGO[1]【Matlab代码#1】

    文章目录 获取资源 请见文章第5节 资源获取 1 基础北方苍鹰优化算法 1 1 猎物识别阶段 勘探阶段 1 2 追击和逃逸阶段 开发阶段 2 改进的北方苍鹰优化算法 2 1 立方混沌Cubic映射 2 2 透镜成像反向学习 2 3 最优最差
  • 刷脸支付横空问世便利了人们的生活

    刷脸支付的横空问世 极大的便利了用户的生活 即使没有手机 出门也不会受到阻碍 甚至在刷脸支付问世后 手机反而成了多余的摆设 无需携带任何东西便能出门 宛若武林中的大侠般 挥一挥衣袖 不带走任何云彩 潇洒出门 潇洒归来 刷脸支付的便利引得无数
  • BP神经网络多输入多输出预测,BP神经网络回归预测。

    清空环境变量 warning off 关闭报警信息 close all 关闭开启的图窗 clear 清空变量 clc 清空命令行 导入数据 res xlsread 数据 xlsx 数据分析 num size 0 8 训练集占数据集比例 ou
  • Python(有限差分法和杜普伊特假设)数值解非承压畜水层和堰底和板桩下稳定渗流

    达西定律描述了计算通过多孔介质的流量的基本方程 在三个垂直坐标方向 x y 和 z 上 可以用以下方式编写 q x K
  • Linux服务器大量log日志查看命令,快速定位错误

    针对大量log日志快速定位错误地方 tail f catalina ou 动态查看日志 cat catalina ou 从头打开日志文件 可以使用 gt nanjiangtest txt 输出某个新日志去查看 root yesky logs
  • MQ手动推送消息

    1 根据topic找到你发送问题的消息 记录tag标签 key值 message消息主体 2 找到手动发送消息的位置 输入相应信息 注意需要编辑tag为当前时间 转载于 https www cnblogs com bubutianshu p
  • Java:那些把自己陷进去的误区(一)

    那些把自己陷进去的误区 1 1数据类型 1 整型 1 在Java中 整形的范围为 2147 483 648 2147483647 并且这个范围与运行Java代码的机器无关 此举大大解决了移植问题 2 Java没有任何无符合的数据类型的 un
  • 我刚刚作出了一个非常艰难的决定,还是把这个贴子发出来

    中国电力总公司 我们刚刚作出了一个非常艰难的决定 在腾讯和360停止互相争斗之前 我们决定将在装有QQ软件和360软件的电脑上停止供电 中国电力有幸能陪伴着您成长 未来日子 我们期待与您继续同行 微软中国 我们刚刚作出了一个非常艰难的决定
  • 714. 买卖股票的最佳时机含手续费

    给定一个整数数组 prices 其中第 i 个元素代表了第 i 天的股票价格 非负整数 fee 代表了交易股票的手续费用 你可以无限次地完成交易 但是你每笔交易都需要付手续费 如果你已经购买了一个股票 在卖出它之前你就不能再继续购买股票了
  • 2019年区块链教育培训课程研究报告

    前言 区块链教育培训机构可谓是区块链行业中的真正的 布道者 其课程内容主要有 技术培训 投资培训以及行业培训这三大类 课程内容主要的提供方可以分为 项目方 高校 常规教育机构以及新兴教育机构这四类 目前 较多的机构正在进行投资培训以及行业培
  • 黑圈数字符号0到50复制_带圆圈数字符号大全

    http www petroleumcloud cn pages 623 html 带圆圈数字符号一共有五种 其中包括一种中文数字符号 空心圆圈数字符号和实心黑圆圈数字分别有两种 只有一种圆圈数字符号能从0 50 其它的只有10个 复制 复
  • 华为OD机试题

    华为OD机试回顾 华为OD 机试题 Java实现 小镇做题家 做题记录 微信 yatesKumi 祖国西北部有一片大片荒地 其中零星的分布着一些湖泊 保护区 矿区 整体上常年光照良好 但是也有一些地区光照不太好 某电力公司希望在这里建设多个
  • LeetCode数据库题目汇总一(附答案)

    1 基础SQL 数据表 dept deptno primary key dname loc emp empno primary key ename job mgr references emp empno sal deptno refere
  • python numpy array 中删除含0量高于阈值的行--数据清洗

    问题 数据中包含较多0值 类似于包含较大噪声 对结果产生较大影响 目标 对数据进行清洗 在进行其他数据清洗操作的基础上 实现删除数据中包含较多0值的行 可类比推广到删除其他 代码实现 data data np sum data 0 axis
  • python中if __name__ == '__main__': 解析

    当你打开一个 py文件时 经常会在代码的最下面看到if name main 现在就来介 绍一下它的作用 模块是对象 并且所有的模块都有一个内置属性 name 一个模块的 name 的值取决于您如何应用模块 如果 import 一个模块 那么
  • java保留小数点的方式

    double型的 1 能四舍五入 System out printf 9 2f d 1 double d 114 145 2 d double Math round d 100 100 3 System out println d 2 Bi
  • PS2汉化2 - 自制程序的运行与调试

    自制程序的运行与调试 运行调试的坑点之类的 SDK 运行与调试 通过PS3 通过PS2 神 昂 奇 贵 的DTL 10000 贫穷者的零售机器 通过PCSX2仿真器 运行调试的坑点之类的 本文为了自制程序 或者修改后的某些程序 而撰写 记录