Anonymous

Changes

From Final Fantasy Inside

FF7/Kernel/Kernel.bin

5,726 bytes removed, 05:19, 23 May 2019
m
49 revisions imported
[[Image:Gears_img_5.png]]== Important Files ==
{| style="border: 1px solid black; border-collapse: collapse; background: rgb(0,255,0)" border= The "1" cellspacing="1" cellpadding="3" align="center"! align="center" | PSX Version! align="center" | PC Version|-| /INIT/KERNEL.BIN Archive| /DATA/KERNEL/KERNEL. ==BIN|-|| /DATA/KERNEL/KERNEL2.BIN|}
== The KERNEL.BIN Archive == The file /INIT/KERNEL.BIN archive is in [[FF7/Kernel/Low_level_libraries#BIN-GZIP_Type_Archives|BIN-GZIP format. This format is explained later in this document]]. It consists of 27 gziped sections concatenated together with a 6 byte header for each. This file is the same both on the PC and PSX versions. This holds all the static data and menu text for the game, with a look up table at the beginning of the section. The first 9 sections of data (i.e. The non-text related items) are in typical BIN file archive format. Sections 10-27 are [[FF7/FF_Text|FF Text files]]. The text sections have a header of pointers at the beginning of each section and point to a text block below.
The KERNEL.BIN file consists of the following sections.
<table CELLSPACING{| class="0wikitable" style="margin-bottom: 53px;"><tr><th style="border: 1px solid rgb(0, 0, 0); text-align: center; vertical-align: middle; width: 37px; height: 26px; background-color: rgb(204, 204, 204);">! File</th><th style="border: 1px solid rgb(0, 0, 0); vertical-align: middle; width: 199px; height: 26px; background-color: rgb(204, 204, 204);">! Data</th><th style="border: 1px solid rgb(0, 0, 0); vertical-align: middle; width: 66px; height: 26px; background-color: rgb(204, 204, 204);">! Offset</th></tr>|- <tr><td style| align="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">| 1</td><td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;">|[[FF7/Command_data|Command data</td><td style="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">]]| 0x0006</td></tr>|- <tr><td style| align="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">| 2</td><td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;">|[[FF7/Attack_data|Attack data</td><td style="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">]]| 0x0086</td></tr>|- <tr><td style| align="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px; background-color: rgb(255, 255, 204);">| 3</td><td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px; background-color: rgb(255, 255, 204);">|Unknown (Savemap?)<[[FF7/td><td style="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px; background-color: rgb(255, 255, 204);">Battle_and_growth_data|Battle and growth data]]| 0x063A</td></tr>|- <tr><td style| align="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">| 4</td><td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;">|Character starting stats<[[FF7/td><td style="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">Character_starting_stats|Initialization data]]| 0x0F7F</td></tr>|- <tr><td style| align="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">| 5</td><td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;">|[[FF7/Item_data|Item data</td><td style="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">]]| 0x111B</td></tr>|- <tr><td style| align="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">| 6</td><td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;">|[[FF7/Weapon_data|Weapon data</td><td style="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">]]| 0x137A</td></tr>|- <tr><td style| align="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">| 7</td><td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;">|[[FF7/Armor_data|Armor data</td><td style="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">]]| 0x1A30</td></tr>|- <tr><td style| align="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">| 8</td><td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;">|[[FF7/Accessory_data|Accessory data</td><td style="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">]]| 0x1B73</td></tr>|- <tr><td style| align="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">| 9</td><td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;">|[[FF7/Materia_data|Materia data</td><td style="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">]]| 0x1C11</td></tr>|- <tr><td style| align="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">| 10</td><td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;">| Command Descriptions</td><td style="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">descriptions| 0x1F32</td></tr>|- <tr><td style| align="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">| 11</td><td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;">| Magic Descriptions</td>descriptions<td style="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">| 0x21990x2119</td>|-</tr> <tr><td style| align="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">| 12</td><td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;">| Item Descriptions</td><td style="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">descriptions| 0x28D4</td></tr>|- <tr><td style| align="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">| 13</td><td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;">| Weapon Descriptions</td><td style="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">descriptions| 0x2EE2</td></tr>|- <tr><td style| align="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">| 14</td><td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;">| Armor Descriptions</td><td style="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">descriptions| 0x307B</td></tr>|- <tr><td style| align="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">| 15</td><td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;">| Accessory Descriptions</td><td style="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">descriptions| 0x315F</td></tr>|- <tr><td style| align="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">| 16</td><td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;">| Materia Descriptions</td><td style="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">descriptions| 0x3384</td></tr>|- <tr><td style| align="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">| 17</td><td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;">| Key Item Description</td><td style="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">descriptions| 0x3838</td></tr>|- <tr><td style| align="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">| 18</td><td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;">| Command Names</td><td style="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">| 0x3BE2</td></tr>|- <tr><td style| align="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">| 19</td><td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;">| Magic Names</td><td style="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">| 0x3CCA</td></tr>|- <tr><td style| align="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">| 20</td><td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;">| Item Names</td><td style="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">| 0x4293</td></tr>|- <tr><td style| align="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">| 21</td><td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;">| Weapon Names</td><td style="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">| 0x4651</td></tr>|- <tr><td style| align="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">| 22</td><td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;">| Armor Names</td><td style| 0x4B02|-| align="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;center">| 230x4B02</td>| Accessory Names</tr>| 0x4C4B|-<tr><td style| align="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">| 2423</td>| Materia Names<td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;">| 0x4D90Accessory Names</td>|-<td style| align="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;center">| 250x4C4B</td></tr>| Key Item Names| 0x5040<tr>|-<td style| align="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">| 26| Battle and Battle-Screen Text24</td>| 0x5217|-<td style| align="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;center">| 27Materia | Summon Attack Names</td><td style="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">| 0x56920x4D90</td></tr>|}
<tr><td style="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">25</td><td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;">Key Item Names</td><td style The KERNEL2.BIN Archive =="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">0x5040</td></tr>
<tr><td style="border: 1px solid rgbOn the PC version there exists a secondary kernel archive called KERNEL2.BIN. This archive contains only sections 10-27 (0, 0, 0Text data); text-align: center; width: 37px; height: 25px;">26</td><td style="border: 1px solid rgb(0of KERNEL.BIN. The data was ungzipped from the original archive, 0concatenated together, 0); width: 199px; height: 25px;">Battle and Battle-Screen Text</td><td style="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">0x5217</td></tr>then LZSed into a single archive with a 4 byte header giving the length of the file.
<tr><td style="border: 1px solid rgb(0, 0, 0); textThe maximum allotted storage space on the PC version for all un-align: center; width: 37px; height: 25px;">27</td><td style="border: 1px solid rgbLZSed data in the kernel2.bin is 27KB (0, 0, 027648 bytes); width: 199px; height: 25px;">Summon Attack Names</td><td style="border: 1px solid rgb. This means that the total size of the extracted files (0, 0, 0text and pointers); width: 66px; height: 25px;">0x5692</td></tr></table>must be less than this.