Skip to content

gearbox

Project CARS and AMS2

Audi A1 Quattro Gearbox translation

by JDougNY

Version 1.1 - 2/13/2016 - Text revisions for PC2

Version 1.0 - 8/24/2015 - Initial Release for PC2

This translation can be used to understand any gearbox file, no matter the amount of gears contained within the file.


0x00-0x07 = common data for every GDF


0x08-0x0B = 66000000 (Little Endian) = 102 // (Decimal) Total byte length of entire file.

Can vary depending upon amount of primary and final gears you want to have.


0x0C-0x0F = 01000000 (Little Endian) = 1 // (Decimal) common data for every GDF


0x10-0x13 = BABA1010 // common data for every GDF


0x14-0x17 = 4A000000 (Little Endian) = 74 // (Decimal) Total # of bytes for gearbox/bevel/final data.

The byte count starts at address 0x1C and ends at the end of the file.

This value will vary based upon the amount of gears included in the file.


0x18-0x1B = 1C000000 (Little Endian)// common data for every GDF


Gear Ratios Data

0x1C-0x20 = 60 88 DE 24 0F // common data for every GDF.

Indicates the beginning of gear data.

Note

Each primary gear is flagged by this string of bytes 24 9D 58 F9 64 02.

After that flag, the 2 bytes following represent the 2 cogs, which in the old text form would read "ratio=(xx,xx)". Each byte is in hex and needs to be converted to decimal to get the correct cog value.


0x21-0x26 = 24 9D 58 F9 64 02 // Hex string for 1st gear


0x27 = 0E = 14 // (Decimal) 1st gear cog #1 (Driver)


0x28 = 3C = 60 // (Decimal) 1st gear cog #2 (Driven)

1st gear Ratio=(14,60) // 4.2857


0x29-0x2E = 24 9D 58 F9 64 02 // Hex string for 2nd gear


0x2F = 0C = 12 // (Decimal) 2nd gear cog #1 (Driver)


0x30 = 20 = 32 // (Decimal) 2nd gear cog #2 (Driven)

2nd gear Ratio=(12,32) // 2.6666


0x31-0x36 = 24 9D 58 F9 64 02 // Hex string for 3rd gear


0x37 = 1C = 28 // (Decimal) 3rd gear cog #1 (Driver)


0x38 = 35 = 53 // (Decimal) 3rd gear cog #2 (Driven)

3rd gear Ratio=(28,53) // 1.8928


0x39-0x3E = 24 9D 58 F9 64 02 // Hex string for 4th gear


0x3F = 12 = 18 // (Decimal) 4th gear cog #1 (Driver)


0x40 = 19 = 25 // (Decimal) 4th gear cog #2 (Driven)

4th gear Ratio=(18,25) // 1.3888


0x41-0x46 = 24 9D 58 F9 64 02 // Hex string for 5th gear


0x47 = 1F = 31 // (Decimal) 5th gear cog #1 (Driver)


0x48 = 22 = 34 // (Decimal) 5th gear cog #2 (Driven)

5th gear Ratio=(31,34) // 1.0967


0x49-0x4E = 24 9D 58 F9 64 02 // Hex string for 6th gear


0x4F = 22 = 34 // (Decimal) 6th gear cog #1 (Driver)


0x50 = 1F = 31 // (Decimal) 6th gear cog #2 (Driven)

6th gear Ratio=(34,31) // 0.9117


0x51-55 = E0 97 65 B7 AF // common data for every GDF.

Indicates the end of primary gear data. Begin Bevel data.

Final Drive Ratios

Note

The bevel is flagged by this string of bytes 24 3C 5B EF 62 02. After that flag, the 2 bytes following represent the 2 cogs, which in the old text form would read "bevel=(xx,xx)". Each byte is in hex and needs to be converted to decimal to get the correct cog value.

0x56-0x5B = 24 3C 5B EF 62 02 // Hex string for bevel

0x5C = 01 = 1 // (Decimal) bevel cog #1 (Driver)

0x5D = 01 = 1 // (Decimal) bevel cog #2 (Driven)

bevel=(1,1)

Note

Final drive gear(s) is(are) flagged by this string of bytes 24 9D 58 F9 64 02. After that flag, the 2 bytes following represent the 2 cogs, which in the old text form would read "ratio=(xx,xx)". Each byte is in hex and needs to be converted to decimal to get the correct cog value.

0x5E-0x63 = 24 9D 58 F9 64 02 // Hex string for final gear

0x64 = 17 = 23 // (Decimal) Final gear cog #1 (Driver)

0x65 = 47 = 71 // (Decimal) Final gear cog #2 (Driven)

Final gear ratio=(23,71) // 3.0869