Skip to content

Commit

Permalink
Merge pull request #51 from uli42/master
Browse files Browse the repository at this point in the history
Media table description fix
  • Loading branch information
nomeata committed Feb 21, 2014
2 parents 7e81f7f + c40d883 commit b2fb07f
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions GME-Format.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ The header begins with these 8 32-bit numbers, listed with their offset:
* `0x0018`: 32bit. Pointer to register init values (16bit counter followed by n×16bit values. First value is register $0, followed by $1 and so on.)
* `0x001C`: raw XOR value (8bit), see below at media table explanation.
* `0x001D`: three bytes with unknown meaning, 0 for all products seen so far.
* `0x0020`: a variable length string, consisting of its length (8bit), and that many characters. Commonly `CHOMPTECH DATA FORMAT CopyRight 2009 Ver2.x.yyy` (varies between products)
* `0x0020`: a variable length string, consisting of its length (8bit), and that many characters. Commonly `CHOMPTECH DATA FORMAT CopyRight 2009 Ver2.xx.yyyy` (varies between products, xx can also be one digit only)
* Next is a 8 date string (`20111024`). The date string seems optional with one condition: if a language string follows the date must consist of at least one ASCII number.
* Next is an optional language string (currently known: `GERMAN`, `DUTCH`, `FRENCH`, `ITALIAN`. If the language string is provided it must match the language of the firmware that is running on the pen (it is unclear where is is checked; the file .tiptoi.log is NOT taken into account here!) or the pen will ignore it. If the language is missing any TipToi pen will accept the file.
* Next there is sequence of zeros up to and including to position 0x5f.
Expand Down Expand Up @@ -117,7 +117,7 @@ Registers can hold 16bit values and are referenced in the play scripts.
The media file table
--------------------

The media file table consists of pairs of offsets and length (both 16bit), and ends right before the position referenced by the the first entry. There is no explicit definition of the number of records in this list.
The media file table consists of pairs of offsets and length (both 32bit), and ends right before the position referenced by the the first entry. There is no explicit definition of the number of records in this list.

The media files themselves are encrypted using a simple scheme, using a magic XOR value (`x`):
- The values `0x00`, `0xFF`, `x` and `x XOR 0xFF` are left alone
Expand Down

0 comments on commit b2fb07f

Please sign in to comment.