mirror of
https://github.com/aaru-dps/010templates.git
synced 2025-12-16 19:24:28 +00:00
Add Alcohol 120% template.
This commit is contained in:
115
Alcohol.bt
Normal file
115
Alcohol.bt
Normal file
@@ -0,0 +1,115 @@
|
||||
//------------------------------------------------
|
||||
//--- 010 Editor v8.0.1 Binary Template
|
||||
//
|
||||
// File: Alcohol.bt
|
||||
// Authors: Natalia Portillo
|
||||
// Version: 0.1
|
||||
// Purpose: Alcohol 120% media descriptor.
|
||||
// Category: Misc
|
||||
// File Mask: *.mds
|
||||
// ID Bytes: 4D 45 44 49 41 20 44 45 53 43 52 49 50 54 4F 52 // MEDIA DESCRIPTOR
|
||||
// History:
|
||||
// 0.1 2018-01-08 Vasyl Tsvirkunov: Initial release
|
||||
//------------------------------------------------
|
||||
|
||||
enum <unsigned short> AlcoholMediumType
|
||||
{
|
||||
CD = 0x00,
|
||||
CDR = 0x01,
|
||||
CDRW = 0x02,
|
||||
DVD = 0x10,
|
||||
DVDR = 0x12
|
||||
};
|
||||
|
||||
enum <byte> AlcoholTrackMode
|
||||
{
|
||||
NoData = 0x00,
|
||||
Data = 0x02,
|
||||
Audio = 0xA9,
|
||||
Mode1 = 0xAA,
|
||||
Mode2 = 0xAB,
|
||||
Mode2F1 = 0xAC,
|
||||
Mode2F2 = 0xAD,
|
||||
};
|
||||
|
||||
enum <byte> AlcoholSubchannelMode
|
||||
{
|
||||
None = 0x00,
|
||||
Interleaved = 0x08
|
||||
};
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char signature[16];
|
||||
unsigned byte majorVersion;
|
||||
unsigned byte minorVersion;
|
||||
AlcoholMediumType type;
|
||||
unsigned short sessions;
|
||||
unsigned short unknown1[2];
|
||||
unsigned short bcaLength;
|
||||
unsigned int unknown2[2];
|
||||
unsigned int bcaOffset;
|
||||
unsigned int unknown3[6];
|
||||
unsigned int structuresOffset;
|
||||
unsigned int unknown4[3];
|
||||
unsigned int sessionOffset;
|
||||
unsigned int dpmOffset;
|
||||
} AlcoholHeader;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint pregap;
|
||||
uint sectors;
|
||||
} AlcoholTrackExtra;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
AlcoholTrackMode mode;
|
||||
AlcoholSubchannelMode subMode;
|
||||
byte adrCtl;
|
||||
byte tno;
|
||||
byte point <format=hex>;
|
||||
byte min;
|
||||
byte sec;
|
||||
byte frame;
|
||||
byte zero;
|
||||
byte pmin;
|
||||
byte psec;
|
||||
byte pframe;
|
||||
uint extraOffset;
|
||||
ushort sectorSize;
|
||||
byte unknown[18];
|
||||
uint startLba;
|
||||
uint64 startOffset;
|
||||
uint files;
|
||||
uint footerOffset;
|
||||
byte unknown2[24];
|
||||
} AlcoholTrack;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int sessionStart;
|
||||
int sessionEnd;
|
||||
ushort sessionSequence;
|
||||
byte allBlocks;
|
||||
byte nonTrackBlocks;
|
||||
ushort firstTrack;
|
||||
ushort lastTrack;
|
||||
uint unknown;
|
||||
uint trackOffset;
|
||||
FSeek(this.trackOffset);
|
||||
AlcoholTrack tracks[this.allBlocks];
|
||||
} AlcoholSession;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint filenameOffset;
|
||||
uint widechar;
|
||||
uint unknown1;
|
||||
uint unknown2;
|
||||
} AlcoholFooter;
|
||||
|
||||
LittleEndian();
|
||||
AlcoholHeader header;
|
||||
FSeek(header.sessionOffset);
|
||||
AlcoholSession sessions[header.sessions];
|
||||
Reference in New Issue
Block a user