使用GHIDRA,反编译精灵王2 ISO,得到代码,由于世嘉土星的程序入口地址是06004000,(参考世嘉SGL文档),搜索字符串,及分析函数流程可知该游戏调用SGL的API加载TH2.LOW,流程是06080bcc=>TH2.LOW=>002e20f8 ,002e20f8 为SEGA SATURN LOW WORK RAM,
至此恍然大悟,原来.LOW不是扩展名文件类型,而是当时写这个的程序员怕记错加载地址,提示自己这段代码是要加载到LWRAM中,那么HWRAM600000与LWRAM 2000000(002e20f8 为HT2.LOW的入口地址 )区别是什么?通过阅读世嘉SGL文档知道,土星bios入口地址为0x06000000,而BIOS加载相当于IPL,加载后会有BSS,TEXT,DATA,RODATA段,及堆栈分布,然后加载SGL后会将入口地址土星游戏主程序 saturn_main() 定在06004000,这个过程由IDE及工具链指定,普通程序员无需关心,下一篇介绍TH2.LOW中代码分析,也就是汉化人员对该文件的分析,这个文件是本游戏核心



()

(利用ghidra中的show reference to 找到该函数调用)

土星游戏精灵王2游戏反向工程日志(1)相关推荐

  1. 【Iphone 游戏开发】游戏引擎剖析

    为什么80%的码农都做不了架构师?>>>     李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame. ...

  2. 多人网络游戏服务器开发基础学习笔记 I:基本知识 | 游戏设计模式 | 网游服务器层次结构 | 游戏对象序列化 | 游戏 RPC 框架 | 帧同步和状态同步

    今天继续开新坑,尽管过了很多 Unix 套接字编程的坑,但是实际还是有很多不同场景和性能的需求,以及最服务器架构的内容也就接触过 preforking 和 master 带 worker 而已. 所以 ...

  3. android 开发游戏_Android游戏开发–基本游戏循环

    android 开发游戏 在到目前为止的系列之后,您将对游戏架构有所了解. 即使只是短暂的一次,但我们知道我们需要以某种形式进行输入,更新游戏的内部状态,最后将其渲染到屏幕上,并产生一些声音和/或振动 ...

  4. 兼容android9的游戏盒子,安卓游戏盒子app下载

    手机游戏,是安卓游戏玩家最好的游戏平台. 功能介绍 游戏中心:手机游戏汇集一箩筐,各种刺激各种虐: 个人中心:管理手机上的游戏,"我的手机,我做主"! 游戏礼包:可以在这里领取到各 ...

  5. 游戏服服务器——游戏服

    服务器框架 https://blog.csdn.net/nie2314550441/article/details/105981967 一.游戏服介绍 负责用户游戏逻辑处理.一个游戏服是一个游戏房间, ...

  6. Python制作当年第一款手机游戏-贪吃蛇游戏(练习)

    前言: 文章利用Python pygame做一个贪吃蛇的小游戏而且讲清楚每一段代码是用来干嘛的. 据说是贪吃蛇游戏是1976年,Gremlin公司推出的经典街机游戏,那我们今天用Python制作的这个 ...

  7. 服务国内超过70%游戏公司,腾讯游戏云发布游戏行业最全解决方案

    9月10日,在2020腾讯全球数字生态大会游戏专场上,腾讯云发布了全新升级的游戏解决方案及游戏服务器引擎GSE.游戏原生数据库TcaplusDB等多款新产品,进一步提升游戏开发者的效率. 目前,腾讯云 ...

  8. 微信小游戏开发教程-游戏实现3

    微信小游戏开发教程-游戏实现3 对象池 由于游戏过程中会创建很多临时对象,这些对象很快又不再使用,垃圾回收器也能帮我们主动回收这部分垃圾,但是回收时间不可控制,同时增大了创建对象的开销,所以我们使用对 ...

  9. 微信小游戏开发教程-游戏实现2

    微信小游戏开发教程-游戏实现2 绘制地面 类似于绘制背景,读者自行完成代码.src/runtime/land.js 简易View系统 坐标布局对于复杂的页面来说维护相当困难,因此这里我们引入布局的概念 ...

最新文章

  1. 从PCB焊接角度谈画PCB图时应注意的问题
  2. ASP.NET弹出一个对话框
  3. CPU中的主要寄存器:有六类寄存器:指令寄存器(IR)、程序计数器(PC)、地址寄存器(AR)、数据寄存器(DR)、累加寄存器(AC)、程序状态字寄存器(PSW)
  4. 编程类-----matlab基础语法复习(1)
  5. imagesLoaded-检测图片是否正确加载的js插件
  6. 小米A3真机开箱照片曝光:水滴屏+后置三摄
  7. STL : List使用时应注意的问题
  8. [leetcode-117]填充每个节点的下一个右侧节点指针 II
  9. 阿里巴巴Java开发 之 MySQL规约
  10. E-Prime教程 | 打mark标记
  11. 在WINDOWS下的Services.mscl里有好几个ORACLE的SERVICES的一些作用
  12. dubbo的版本升级和-Xss的错误设置导致项目启动失败
  13. round函数c语言,fegetround
  14. python怎么弄成白色背景_python – 在matplotlib中为colorbar添加白色背景
  15. JAVA实现打字小游戏
  16. 《Linux/Unix设计思想》读书笔记与感想
  17. pandas判断和删除重复duplicated和drop_duplicates
  18. matlab设置xyz,matlab基本XYZ立体绘图命令
  19. Linux RPM 构建实战
  20. 番茄钟工作法--我们天生爱分享

热门文章

  1. IIS express 配置和500.22错误解决详解
  2. linux下安装drcom方法
  3. Beyond Part Models: Person Retrieval with Refined Part Pooling (and A Strong Convolutional Baseline)
  4. android七牛短视频sdk源码,使用七牛开发短视频
  5. 怎样玩魔方,魔方口诀,魔方玩法
  6. 关于java中的连等赋值问题(雷惊风)
  7. 听听别人怎么说:VueJS 与 ReactJS
  8. a4纸在html的像素,打印常识:A4纸张在显示器上应该要多少像素?
  9. win10计算机不分区,win10系统自带无损分区且数据不丢失的处理方案
  10. airbnb北京民宿运营情况分析