Anonymous

Changes

From Final Fantasy Inside

FF7/Kernel/Kernel.bin

6,015 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="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">| 0x4B02</td></tr>|- <tr><td style| align="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">| 23</td><td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;">| Accessory Names</td><td style="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">| 0x4C4B</td></tr>|- <tr><td style| align="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">| 24</td><td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;">| Materia Names</td><td style="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">| 0x4D90</td></tr>|- <tr><td style| align="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="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">| 0x5040</td></tr>|- <tr><td style| align="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">| 26</td><td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;">| Battle and Battle-Screen Text</td><td style| 0x5217|-| align="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;center">| 27| Summon Attack Names0x5217</td>| 0x5692</tr>|}
<tr><td style="border: 1px solid rgb(0, 0, 0); text-align: center; width: 37px; height: 25px;">27</td><td style="border: 1px solid rgb(0, 0, 0); width: 199px; height: 25px;">Summon Attack Names</td><td style The KERNEL2.BIN Archive =="border: 1px solid rgb(0, 0, 0); width: 66px; height: 25px;">0x5692</td></tr></table>
== On the PC version there exists a secondary kernel archive called KERNEL2.BIN. This archive contains only sections 10-27 (Text data) of KERNEL.BIN Section formats ==. The data was ungzipped from the original archive, concatenated together, and then LZSed into a single archive with a 4 byte header giving the length of the file.
The first 9 sections of maximum allotted storage space on the PC version for all un-LZSed data in the kernel2.bin is 27KB (i.e. The non-text related items27648 bytes) have a typical BIN file format. The text sections (10-27) do not have This means that the typical 6 byte header. The text sections have a header total size of pointers to the extracted files (text block. The text is in FF text formatand pointers) must be less than this.