主题 : 【文件分析】ip.bin
级别: 模拟之星
UID: 33131
精华: 0
发帖: 294
威望: 2 星
金钱: 3132 浮游币
贡献值: 29 点
好评度: 248 点
人气: 8 点
在线时间: 57(时)
注册时间: 2005-06-05
最后登录: 2021-05-29
楼主  发表于: 2006-05-15 21:57

【文件分析】ip.bin

ip.bin
大家对这个文件一定都很熟悉了,这里仅是抛砖引玉。最主要的是,一起讨论讨论。

该文件存在于0-15保留扇区,当游戏启动的时候,它是首先被读取的,载入到地址8C008000。

用WINHEX打开它,可以看到文件开始部分(00~ff)有如下信息:
1)SEGA SEGAKATANA   (00~0f, Hardware ID,不能变更)          
2)SEGA ENTERPRISES   (00~1f,Maker ID,不能变更)
3)???? GD-ROM1/1     (20~2f,????为16进制数;也可以是CD-ROM,1/1分母:游戏总光盘数,分子:第几片)
4)JUE                 (30~37,地区代号,Japan、USA + Canada、Europe,JUE即表示都可玩)
5)E000F10           (38~3f,转成2进制,每位为4位,分别代表鼠标,键盘,光枪等等等)
6)T0000               (40~49,Product number)
7)V1.000             (4a~4f,Product version,在3中那几个?号就是依据该项和第6项确定的)
8)20000627           (50~5f,这就简单了,日期咯嘛)
9)1ST_READ.BIN       (60~6f,指定的主程序名,通常就是这个了,也可以是任意的)
10)*                   (70~7f,生产游戏的公司名,改成自己的名字)
11)*                   (80~ff,游戏的名称,随便拉)

然后是0填充域100~2ff

接着0300~36FF,这些代码是用来显示SEGA的logo和信息,就是这个了"PRODUCED BY OR UNDER LICENSE FROM SEGA ENTERPRISES, LTD."正常6秒,然后进入启动段1,这些代码不能修改。因为会到固化的ROM中检测的,如果程序发现不一样的话,就不能启动了。但是由于检测只要求有以上信息,所以就可以添加自己LOGO,这种软件论坛上也是有的。

接着3700~37FF,又是关于地区代号的,分为8位,0 Japan,1 USA ,2 Europe,3~7未定义。

最后3800~5FFF启动段1,6000~7FFF启动段2。启动段1是在版权信息后运行1次,主要是设置一些硬件寄存器;然后是启动段2,设置CPU堆栈和 有效位寄存器,并连接到主程序1ST_READ.BIN,开始游戏片头了~~。

此文的编写过程是一个总结和探索的过程,其中不足之处,定然不少。诚挚地欢迎广大坛友批评和指正。欢迎转载,并注明出处。
本帖最近评分记录:
  • 金钱:5(YZB)
  • happy new year!
    级别: 模拟小生
    UID: 125412
    精华: 0
    发帖: 35
    威望: 0 星
    金钱: 2596 浮游币
    贡献值: 0 点
    好评度: 90 点
    人气: 0 点
    在线时间: 0(时)
    注册时间: 2006-06-20
    最后登录: 2007-02-25
    沙发  发表于: 2006-06-20 19:44

    我很喜欢改啊改,不过等我研究透了再说吧