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,开始游戏片头了~~。
此文的编写过程是一个总结和探索的过程,其中不足之处,定然不少。诚挚地欢迎广大坛友批评和指正。欢迎转载,并注明出处。