Difference between revisions of "FF8/PlaystationMedia"

From Final Fantasy Inside
< FF8
Jump to navigation Jump to search
my_wiki>Myst6re
 
(18 intermediate revisions by 4 users not shown)
Line 1: Line 1:
= FF8DISCX.IMG File Format =
+
By myst6re
 +
 
 +
= FF8DISCX.IMG File Format =
  
 
Almost all of the game files are hidden in the FF8DISCX.IMG (with X=disc number) file.
 
Almost all of the game files are hidden in the FF8DISCX.IMG (with X=disc number) file.
  
== Root Files ==
+
== Root Files ==
  
 
In the case of a Japanese iso, the file begins directly with a list of file location and size, with the following format:
 
In the case of a Japanese iso, the file begins directly with a list of file location and size, with the following format:
  
{| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;"
+
{| class="wikitable"
! style="background:rgb(204,204,204)" | Offset
+
! Offset
! style="background:rgb(204,204,204)" | Size
+
! Size
! style="background:rgb(204,204,204)" | Data
+
! Data
 
|-
 
|-
 
| 0
 
| 0
Line 21: Line 23:
 
|}
 
|}
  
In the case of a PAL iso, there are 5 unknown sectors before this list of files.
+
In the case of a PAL iso, there are 5 unknown sectors (a sector = 2048 bytes in data, 2352 bytes in disk) before this list of files.
  
 
'''Notes:'''
 
'''Notes:'''
<ul>
 
<li>I do not have the American iso, please fix this article if you can.
 
<li>We do not know how many files there are in the list, neither file names!
 
<li>Each file in FF8DISCX.IMG are relative to the start of the '''iso'''!
 
</ul>
 
  
== Field Files ==
+
* I do not have the American iso, please fix this article if you can.
 +
* We do not know how many files there are in the list, neither file names!
 +
* Each file in FF8DISCX.IMG are relative to the start of the '''iso'''!
 +
 
 +
{| class="wikitable"
 +
! ID
 +
! Filename (from PC version)
 +
! Notes
 +
|-
 +
| 0
 +
| ? + packcode.bin
 +
| Contains a font file (tim format)
 +
|-
 +
| 2
 +
|
 +
[[#Field_Files|field.bin]]
 +
| LZSed
 +
|-
 +
| 3
 +
| wm2field.tbl
 +
| size= 72*24 bytes
 +
|-
 +
| 4
 +
| ? + mmagic.bin + mitem.bin + areames.dc1 + ?
 +
|
 +
|-
 +
| 7
 +
| ? + pet_exp.bin + ?
 +
|
 +
|-
 +
| 9
 +
| ? + mwepon.bin + mwepon.msg + shop.bin + price.bin + ?
 +
|
 +
|-
 +
| 11
 +
| ? + mmag.bin + mthomas.bin
 +
|
 +
|-
 +
| 12
 +
| ? + magsort.bin
 +
|
 +
|-
 +
| 15
 +
| ? + mmag2.bin + cyocobo.bin
 +
|
 +
|-
 +
| 16
 +
| ? + cardanm.sp2
 +
|
 +
|-
 +
| 17
 +
| ? + mtmag.bin
 +
|
 +
|-
 +
| 21
 +
| mngrp.bin
 +
|
 +
|-
 +
| 22
 +
| init.out
 +
|
 +
|-
 +
| 23
 +
| Triple Triad (in ff8.exe in PC version)
 +
| Some Triple Triad tims (LZSed)
 +
|-
 +
| 25
 +
| battle.bin (not present in PC version)
 +
|
 +
|-
 +
| 26
 +
| world.bin (not present in PC version)
 +
|
 +
|-
 +
| 30 -> 127
 +
| AKAO files (music)
 +
|
 +
|-
 +
| 128
 +
| kernel.bin
 +
|
 +
|-
 +
| 129
 +
| sysfnt.tdw
 +
|
 +
|-
 +
| 130
 +
| icon.tim
 +
|
 +
|-
 +
| 131
 +
| namedic.tim
 +
|
 +
|}
 +
 
 +
<br />
  
In the list of root files, the third file is in fact the "FIELD.BIN". This file are [[FF7/LZS_format|LZS]] compressed, and contains some informations, like the list of field files position and size.
+
==  Field Files  ==
 +
 
 +
In the list of root files, the third file is in fact the "FIELD.BIN". This file is [[FF7/LZS_format|LZS]] compressed, and contains some informations, like the list of field files position and size.
  
 
Find the file list is approximate, I am trying to find some bytes: "\x04\x00\x05\x24\x18\x00\xbf\x8f\x14\x00\xb1\x8f\x10\x00\xb0\x8f\x20\x00\xbd\x27\x08\x00\xe0\x03\x00\x00\x00\x00" (size=28), normally, there is the list right after this sequence of bytes, and before the "\x00\x00\x01\x00\x02\x00\x03\x00" (size=8) sequence.
 
Find the file list is approximate, I am trying to find some bytes: "\x04\x00\x05\x24\x18\x00\xbf\x8f\x14\x00\xb1\x8f\x10\x00\xb0\x8f\x20\x00\xbd\x27\x08\x00\xe0\x03\x00\x00\x00\x00" (size=28), normally, there is the list right after this sequence of bytes, and before the "\x00\x00\x01\x00\x02\x00\x03\x00" (size=8) sequence.
  
 
Order of files (sorted by id):
 
Order of files (sorted by id):
<ul>
 
<li>D000.[[FF8/FileFormat_MCH|MCH]] -> D075.MCH files [id=0 -> id=76]
 
<li>Field files (MIM, MAP and LZK) [id=77 -> id=last]
 
</ul>
 
  
There are three LZSed files for each field: EXAMPLE.MIM, EXAMPLE.MAP and EXAMPLE.LZK.
+
* D000.[[FF8/FileFormat_MCH|MCH]] -> D075.MCH files [id=0 -> id=76]
If you want to convert Playstation fields to PC fields format, this is a concatenation of some PC files:
+
* Field files (MIM, DAT and LZK) [id=77 -> id=last]
<ul>
+
 
<li>EXAMPLE.MIM = HEADER + example.pvp + [[FF8/FileFormat_MIM|example.mim]] + example.tdw + example.pmp
+
There are three LZSed files for each field: EXAMPLE.MIM, EXAMPLE.DAT and EXAMPLE.LZK (Extension names *.MIM, *.DAT and *.LZK found in PC version, field.fs &gt; mapdata.fs &gt; map1.bak). If you want to convert Playstation fields to PC fields format, this is a concatenation of some PC files.
<li>EXAMPLE.MAP = HEADER + example.inf + [[FF7/Field/Camera_Matrix|example.ca]] + [[FF7/Field/Walkmesh|example.id]] + [[FF8/FileFormat_MAP|example.map]] + example.msk + example.rat + example.mrt + AKAO + example.msd + example.pmd + example.jsm
+
 
<li>EXAMPLE.LZK = Unknown, but contains part of chara.one file. Note that the file is not quite LZS, the header is larger.
+
===  First file (*.MIM)  ===
</ul>
+
 
li
+
{| class="wikitable"
 +
! Offset
 +
! Size
 +
! Data
 +
|-
 +
| 0
 +
| 4
 +
| Location of section 3 in PSX RAM
 +
|-
 +
| 4
 +
| 4
 +
| Location of section 4 in PSX RAM
 +
|-
 +
| 8
 +
| 4
 +
| style="background: rgb(255,255,204)" |
 +
[[FF8/FileFormat_PVP|Unknown data [PVP]]]
 +
|-
 +
| 12
 +
| 438272
 +
|
 +
[[FF8/FileFormat_MIM|Background data [MIM]]]
 +
|-
 +
| 438284 (section 3)
 +
| ''Varies''
 +
|
 +
[[FF8/FileFormat_TDW|Font data [TDW]]]
 +
|-
 +
| ''Varies'' (section 4)
 +
| ''Varies''
 +
|
 +
[[FF8/FileFormat_PMP|Particle Image Data [PMP]]]
 +
|}
 +
 
 +
===  Second file (*.DAT)  ===
 +
 
 +
{| class="wikitable"
 +
! Offset
 +
! Size
 +
! Data
 +
! Section Data
 +
|-
 +
| 0
 +
| 4
 +
| Location of section 1 in PSX RAM
 +
|
 +
[[FF8/FileFormat_INF|Triggers & gateways [INF]]]
 +
|-
 +
| 4
 +
| 4
 +
| Location of section 2 in PSX RAM
 +
|
 +
[[FF8/FileFormat_CA|Camera [CA]]]
 +
|-
 +
| 8
 +
| 4
 +
| Location of section 3 in PSX RAM
 +
|
 +
[[FF7/Field/Camera_Matrix|Walkmesh [ID]]]
 +
|-
 +
| 12
 +
| 4
 +
| Location of section 4 in PSX RAM
 +
|
 +
[[FF8/FileFormat_MAP|Background infos [MAP]]]
 +
|-
 +
| 16
 +
| 4
 +
| Location of section 5 in PSX RAM
 +
|
 +
[[FF8/FileFormat_MSK|Movie cam [MSK]]]
 +
|-
 +
| 20
 +
| 4
 +
| Location of section 6 in PSX RAM
 +
|
 +
[[FF8/FileFormat_RAT_MRT|Battle rate [RAT]]]
 +
|-
 +
| 24
 +
| 4
 +
| Location of section 7 in PSX RAM
 +
|
 +
[[FF8/FileFormat_RAT_MRT|Battle formations [MRT]]]
 +
|-
 +
| 28
 +
| 4
 +
| Location of section 8 in PSX RAM
 +
| Sounds/AKAOs
 +
|-
 +
| 32
 +
| 4
 +
| Location of section 9 in PSX RAM
 +
|
 +
[[FF8/FileFormat_MSD|Texts [MSD]]]
 +
|-
 +
| 36
 +
| 4
 +
| Location of section 10 in PSX RAM
 +
|
 +
[[FF8/FileFormat_PMD|Particle Infos [PMD]]]
 +
|-
 +
| 40
 +
| 4
 +
| Location of section 11 in PSX RAM
 +
|
 +
[[FF8/FileFormat_JSM|Scripts [JSM]]]
 +
|-
 +
| 44
 +
| 4
 +
| Location of the end of file in PSX RAM
 +
|
 +
|-
 +
| 48
 +
| ''varies''
 +
| Triggers and gateways
 +
|
 +
|-
 +
| ...
 +
| ...
 +
| ...
 +
| ...
 +
|}
 +
 
 +
===  Third file (*.LZK)  ===
 +
 
 +
Almost like the [[FF8/FileFormat_ONE|chara.one]] file. The main difference is that the models data are compressed.

Latest revision as of 03:48, 11 January 2020

By myst6re

FF8DISCX.IMG File Format

Almost all of the game files are hidden in the FF8DISCX.IMG (with X=disc number) file.

Root Files

In the case of a Japanese iso, the file begins directly with a list of file location and size, with the following format:

Offset Size Data
0 4 Location of file in sectors (relative to the start of the iso)
4 4 Size of file in bytes

In the case of a PAL iso, there are 5 unknown sectors (a sector = 2048 bytes in data, 2352 bytes in disk) before this list of files.

Notes:

  • I do not have the American iso, please fix this article if you can.
  • We do not know how many files there are in the list, neither file names!
  • Each file in FF8DISCX.IMG are relative to the start of the iso!
ID Filename (from PC version) Notes
0 ? + packcode.bin Contains a font file (tim format)
2

field.bin

LZSed
3 wm2field.tbl size= 72*24 bytes
4 ? + mmagic.bin + mitem.bin + areames.dc1 + ?
7 ? + pet_exp.bin + ?
9 ? + mwepon.bin + mwepon.msg + shop.bin + price.bin + ?
11 ? + mmag.bin + mthomas.bin
12 ? + magsort.bin
15 ? + mmag2.bin + cyocobo.bin
16 ? + cardanm.sp2
17 ? + mtmag.bin
21 mngrp.bin
22 init.out
23 Triple Triad (in ff8.exe in PC version) Some Triple Triad tims (LZSed)
25 battle.bin (not present in PC version)
26 world.bin (not present in PC version)
30 -> 127 AKAO files (music)
128 kernel.bin
129 sysfnt.tdw
130 icon.tim
131 namedic.tim


Field Files

In the list of root files, the third file is in fact the "FIELD.BIN". This file is LZS compressed, and contains some informations, like the list of field files position and size.

Find the file list is approximate, I am trying to find some bytes: "\x04\x00\x05\x24\x18\x00\xbf\x8f\x14\x00\xb1\x8f\x10\x00\xb0\x8f\x20\x00\xbd\x27\x08\x00\xe0\x03\x00\x00\x00\x00" (size=28), normally, there is the list right after this sequence of bytes, and before the "\x00\x00\x01\x00\x02\x00\x03\x00" (size=8) sequence.

Order of files (sorted by id):

  • D000.MCH -> D075.MCH files [id=0 -> id=76]
  • Field files (MIM, DAT and LZK) [id=77 -> id=last]

There are three LZSed files for each field: EXAMPLE.MIM, EXAMPLE.DAT and EXAMPLE.LZK (Extension names *.MIM, *.DAT and *.LZK found in PC version, field.fs > mapdata.fs > map1.bak). If you want to convert Playstation fields to PC fields format, this is a concatenation of some PC files.

First file (*.MIM)

Offset Size Data
0 4 Location of section 3 in PSX RAM
4 4 Location of section 4 in PSX RAM
8 4

Unknown data [PVP]

12 438272

Background data [MIM]

438284 (section 3) Varies

Font data [TDW]

Varies (section 4) Varies

Particle Image Data [PMP]

Second file (*.DAT)

Offset Size Data Section Data
0 4 Location of section 1 in PSX RAM

Triggers & gateways [INF]

4 4 Location of section 2 in PSX RAM

Camera [CA]

8 4 Location of section 3 in PSX RAM

Walkmesh [ID]

12 4 Location of section 4 in PSX RAM

Background infos [MAP]

16 4 Location of section 5 in PSX RAM

Movie cam [MSK]

20 4 Location of section 6 in PSX RAM

Battle rate [RAT]

24 4 Location of section 7 in PSX RAM

Battle formations [MRT]

28 4 Location of section 8 in PSX RAM Sounds/AKAOs
32 4 Location of section 9 in PSX RAM

Texts [MSD]

36 4 Location of section 10 in PSX RAM

Particle Infos [PMD]

40 4 Location of section 11 in PSX RAM

Scripts [JSM]

44 4 Location of the end of file in PSX RAM
48 varies Triggers and gateways
... ... ... ...

Third file (*.LZK)

Almost like the chara.one file. The main difference is that the models data are compressed.