i-Magic File Overview
Preamble
The following information has been obtained by dissecting the files using a hex editor and using a tool to study how the Tacx Analyser program reads the files. There are some gaps in the information - I do not know the purpose of every byte in the file, and some of my assumptions are no doubt wrong.
If you have any information which would help me fill in these gaps, or spot any errors, I'd be grateful if you could let me know.
Introduction
The i-Magic files are laid out differently to the Foritus ones. Further, all strings are ASCII encoded (1 byte per character) as opposed the Fortius files which use Unicode encoding (2 bytes per character) thoughout.
Data Types
I use .NET data types throughout; the following table gives sizes and explanations of each.
| Byte | 1 | Byte |
| Char | 2 | Character (size can be 1 byte if the encoding is set to ASCII) |
| Int16 | 2 | Signed 16 bit integer |
| UInt16 | 2 | Unsigned 16 bit integer |
| Int32 | 4 | Signed 32 bit integer |
| Single | 4 | Single precision IEEE floating point number |
| UInt32 | 4 | Unsigned 32 bit integer |
| Double | 8 | Double precision IEEE floating point number |
NB 1: The use of square brackets [] after a type indicates an array of that type. For example, Char[] is an array of char.
NB 2: Note that the size of the Char type depends on the encoding being used; in Fortius files this is always unicode, i.e. 2 bytes per character
|