This is the specifications for the archive file which is handled by the
Game Extractor plugin
Archive_ISO.
Endian Order: | Little Endian |
Compression: | none |
Encryption: | None |
This format is used by the following Games:
CD ISO Disk | *.iso |
Harvester | *.dat |
This is the format specification information:
| // SYSTEM AREA
32768 - null
// VOLUME DESCRIPTOR
// for each volume
1 - Type (1=Primary, 255=Terminator)
5 - Header (CD001)
1 - Version (1)
if (Type=Terminator){
2041 - null
}
else if (Type=Primary){
1 - null
32 - System Identifier Name (padded with spaces)
32 - Volume Identifier Name (padded with spaces)
8 - null
4 - Number of Blocks for all the Volume Data
4 - Number of Blocks for all the Volume Data (BIG)
32 - null
2 - Number of Disks in this Volume
2 - Number of Disks in this Volume (BIG)
2 - This Disk Number
2 - This Disk Number (BIG)
2 - Logical Block Size (2048)
2 - Logical Block Size (BIG) (2048)
4 - Path Table Size
4 - Path Table Size (BIG)
4 - Little-Endian Path Table Offset [*2048]
4 - null
4 - Big-Endian Path Table Offset (BIG) [*2048]
4 - null
34 - Root Directory Entry {
1 - Entry Length (34)
1 - null
4 - Extent Offset [*2048]
4 - Extent Offset (BIG) [*2048]
4 - Extent Length
4 - Extent Length (BIG)
7 - Date
1 - File Flags
1 - File Unit
1 - Interleave Gap Size
2 - Volume Sequence Number
2 - Volume Sequence Number (BIG)
1 - Filename Length (0)
1 - Padding to a multiple of 2 bytes (" ")
}
1858 - Other Data
}
else {
2041 - Unknown
}
// DIRECTORIES
// for each directory
// for each entry in the directory
1 - Entry Length
1 - null
4 - Extent Offset [*2048]
4 - Extent Offset (BIG) [*2048]
4 - Extent Length
4 - Extent Length (BIG)
7 - Date
1 - File Flags (bit 1 means it points to a directory, rather than a file)
1 - File Unit
1 - Interleave Gap Size
2 - Volume Sequence Number
2 - Volume Sequence Number (BIG)
1 - Filename Length (including terminator)
X - Filename
2 - Filename Terminator (";1")
0-1 - Padding to a multiple of 2 bytes
// NOTE: If the next entry is going to overflow the 2048-byte boundry (which will show entryLength=0), skip to the next 2048-byte offset and continue reading
// FILE DATA
// for each file
X - File Data
0-2047 - Padding to a multiple of 2048 bytes |
These are the accompanying notes and further information:
| Ref: https://wiki.osdev.org/ISO_9660#The_Primary_Volume_Descriptor |
Game Extractor is able to read files of this type, as well as files from thousands of other games. To give it a try, download
Game Extractor (Basic Version) for
free, and see what it can do.
For further information on this format, refer to the source code on our
GitHub repository.