Skip to content

Commit b2fb07f

Browse files
committed
Merge pull request #51 from uli42/master
Media table description fix
2 parents 7e81f7f + c40d883 commit b2fb07f

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

GME-Format.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ The header begins with these 8 32-bit numbers, listed with their offset:
2727
* `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.)
2828
* `0x001C`: raw XOR value (8bit), see below at media table explanation.
2929
* `0x001D`: three bytes with unknown meaning, 0 for all products seen so far.
30-
* `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)
30+
* `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)
3131
* 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.
3232
* 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.
3333
* Next there is sequence of zeros up to and including to position 0x5f.
@@ -117,7 +117,7 @@ Registers can hold 16bit values and are referenced in the play scripts.
117117
The media file table
118118
--------------------
119119

120-
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.
120+
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.
121121

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

0 commit comments

Comments
 (0)