Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

BIN (Gotcha Force): Difference between revisions

 
(21 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<div style="text-align: center;">
[[Gotcha Force | &larr; Gotcha Force]]
<h2 style="color: red;">Cette section a besoin de beaucoup de recherche.<h2>
<h4 style="color: red;">Des recherches sur comment fonctionne le header et comment interagit le fichier sont nécessaire.<h4>
</div>


__toc__
''This article is about Gotcha Force BIN file format and ongoing researches on it.''
 
{{Research | 3| Researches on headers / bodies structures has to be done. }}


== Format ==
== Format ==


On retrouve des groupes de fichiers BIN ayant une même taille de fichier (version NTSC) :
We found BIN files sharing the same file length (USA/NTSC version):
* 432 - 198 fichiers
* 432 - 198 files
* 864 - 10 fichiers
* 864 - 10 files
* 7840 - 209 fichiers
* 7840 - 209 files


On retrouve ensuite plus de 150 tailles différentes apparaissant moins de 10 fois.
Then we found 150 different file length with less than 10 occurrences.




Le PGCD des tailles de tous les BIN est 4.
BIN files GCD is equal to 4.


=== Header ===
=== Header ===
Le magic number "STIH" désigne les fichiers HITS (big endian) :
Magic number "STIH" point to HITS files (big endian) :
* gets.pzz -> 008, 009, 010
* gets.pzz -> 008, 009, 010
* stxx.pzz -> 001, 002, 003
* stxx.pzz -> 001, 002, 003
* hitxxx.bin -> (les 54 fichiers)
* hitxxx.bin -> (all 54 files)


* Header: (0x8 octets)
* '''Header''': (0x8 bytes)
** 4 octets - STIH
** 4 bytes - STIH
** 4 octets - file_length - taille totale du fichier
** 4 bytes - file_length - total length of the file
* Section 0 ?
* '''Section 0''': (0x20 octets)
** 4 octets [2] - Inconnu - ne désigne pas d'offset, on dirait une taille (500 ?)
** 4 bytes [2] - Unknown - not an offset, maybe a length (500 ?)
** 4 octets [2] - Inconnu - ne désigne pas d'offset, on dirait une taille (42 ?)
** 4 bytes [2] - Unknown - not an offset, maybe a length (42 ?)
** 4 octets [2] - entier signé (-11000 ?)
** 4 bytes [2] - signed int (-11000 ?)
** 4 octets - Inconnu (32 ?)
** 4 bytes - Unknown (32 ?)
** 4 octets - Inconnu (43824 ? Offset ?)
** 4 bytes - offset data block 2 - end of data block 1 - relative to header end address (8)
* Table de Relocations
* '''Relocations table'''
** 4 octets [3528]
** 4 bytes [3528]
** Les adresses sont relatives à la fin du Header, on y ajoutera alors 8 pour obtenir les adresse dans le fichier. Pointe sur de petites structures (4 - 8 - 12 octets). On remarque l'usage de FF FF FF FF sur toute cette zone adressée par les relocs qui d'un coup se transforme en l'usage de CC CC CC CC juste après la dernière adresse de la table.
** All addresses are relative to header end address (8) and point to Data Block 1.
* '''Data block 1'''
** Contains small structures (4 - 8 - 12 ... bytes) with offsets of Data Block 2 - addresses are relatives to start of Data block 2. Every offsets series are ended with FF FF FF FF (-1). We check this easily and rigorously using a script on all DB1 values showing that the max value found (except FF FF FF FF = -1) added to the Data block 2 points just before the end of the Data block 2. Some of the entries are empty (-1), so we deduce that all of the Data block 1 structures correspond to something existing (Model? And so on.).
* '''Data block 2'''
** We notice the use of the CC CC CC CC value which is unusual. It's probably used to avoid the FF FF FF FF use in all the block and tell the end of something (end of structure? end of data?).


[[Catégorie:Format de fichier]]
[[Category:File format]]
[[Catégorie:Gotcha Force]]
[[Category:Gotcha Force]]

Latest revision as of 13:29, 7 October 2023

← Gotcha Force

This article is about Gotcha Force BIN file format and ongoing researches on it.


This file format needs a lot of research.
Researches on headers / bodies structures has to be done.


Format

We found BIN files sharing the same file length (USA/NTSC version):

  • 432 - 198 files
  • 864 - 10 files
  • 7840 - 209 files

Then we found 150 different file length with less than 10 occurrences.


BIN files GCD is equal to 4.

Header

Magic number "STIH" point to HITS files (big endian) :

  • gets.pzz -> 008, 009, 010
  • stxx.pzz -> 001, 002, 003
  • hitxxx.bin -> (all 54 files)
  • Header: (0x8 bytes)
    • 4 bytes - STIH
    • 4 bytes - file_length - total length of the file
  • Section 0: (0x20 octets)
    • 4 bytes [2] - Unknown - not an offset, maybe a length (500 ?)
    • 4 bytes [2] - Unknown - not an offset, maybe a length (42 ?)
    • 4 bytes [2] - signed int (-11000 ?)
    • 4 bytes - Unknown (32 ?)
    • 4 bytes - offset data block 2 - end of data block 1 - relative to header end address (8)
  • Relocations table
    • 4 bytes [3528]
    • All addresses are relative to header end address (8) and point to Data Block 1.
  • Data block 1
    • Contains small structures (4 - 8 - 12 ... bytes) with offsets of Data Block 2 - addresses are relatives to start of Data block 2. Every offsets series are ended with FF FF FF FF (-1). We check this easily and rigorously using a script on all DB1 values showing that the max value found (except FF FF FF FF = -1) added to the Data block 2 points just before the end of the Data block 2. Some of the entries are empty (-1), so we deduce that all of the Data block 1 structures correspond to something existing (Model? And so on.).
  • Data block 2
    • We notice the use of the CC CC CC CC value which is unusual. It's probably used to avoid the FF FF FF FF use in all the block and tell the end of something (end of structure? end of data?).