entropia / tip-toi-reveng

Trying to understand the file format of Tip Toi
http://tttool.entropia.de/
MIT License
647 stars 121 forks source link

Mixing language on 1 pen #132

Closed micheltol closed 8 years ago

micheltol commented 8 years ago

Hi,

just found out this repo. Before diving into it; is it possible with this tool to mix the languages on the pen. My kids are raised multilingual and we have german and dutch books. Unfortunately ravensburg doesn't support to have dutch and german books mixed on 1 pen. Some books are only available in dutch and some only in German. I would like to combine lets say 3 dutch and 2 german unique books on the pen. Would be great if someone could answer this question before going deep dive ;)

tnx!

nomeata commented 8 years ago

Hi,

I think this came up before (but I did not find the link right away). If the books actually have different object IDs, you can probably simply edit the GME file in a binary file editor and change the language meta data all to German. See https://github.com/entropia/tip-toi-reveng/blob/master/GME-Format.md for information on that.

For more help, I suggest you subscribe to the mailing list and post there: https://lists.nomeata.de/mailman/listinfo/tiptoi (Closing this as it is not an issue in the code, but feel free to continue discussing here.)

micheltol commented 8 years ago

hi @nomeata , thanks for pointing this out. I'll look into it!

micheltol commented 8 years ago

Hi, just to give you an update; replaced the language based on the mentioned article ( https://github.com/entropia/tip-toi-reveng/blob/master/GME-Format.md) and that seems to work for the Puzzle Globe, and Feuerwehr buch.

Just 1 note to the documentation:

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.

For dutch books; the language is required. If the language is not filled in the pen (latest firmware) won't recognize the book.

Tnx!

Ol-li commented 8 years ago

Might be possible if you print out a faked book identifier with a different ID number, change the ID of one of the gme files to this ID. Then you can Register the two language files with the different ID codes.

Olli

Am 23. April 2016 17:07:17 MESZ, schrieb micheltol notifications@github.com:

Hi,

just found out this repo. Before diving into it; is it possible with this tool to mix the languages on the pen. My kids are raised multilingual and we have german and dutch books. Unfortunately ravensburg doesn't support to have dutch and german books mixed on 1 pen. Some books are only available in dutch and some only in German. I would like to combine lets say 3 dutch and 2 german unique books on the pen. Would be great if someone could answer this question before going deep dive ;)

tnx!


You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/entropia/tip-toi-reveng/issues/132

ndamour commented 7 years ago

Hi everyone.

As I have the same goal in mind (mix several languages on one pen), I will share my experience here.

So far, I had the following books, both in French: 1) Je découvre la musique: https://www.ravensburger.com/fr/produits/tiptoi/tiptoi-livres/je-d%C3%A9couvre-la-musique-00605/index.html 2) J'apprends l'anglais: https://www.ravensburger.com/fr/produits/tiptoi/tiptoi-livres/j-apprends-l-anglais-00606/index.html

I have a pen configured in French (firmware Update3202_fr). And the original files on my pen were:

Since I know that there is a German version of the music book, called "die Welt der Musik", I wanted to have the pen play the German file for the music book. That file, after I downloaded it, was this one:

So I took the German file, and:

It worked like a charm.

The only caveat I found so far is that towards the end, there are some child songs with pictures:

Other than that, all works fine.

ndamour commented 7 years ago

Another challenge now.

I want to use the German book "Deutsch 1. Klasse" with my French pen: https://www.ravensburger.de/produkte/buecher/tiptoi/tiptoi-deutsch-1-klasse-41804/index.html

I have the book, and the Chinese debugging mode of my pen confirms its OID: 76

I download the file "Lern mit mir - Deutsch - Klasse 1.gme", the version is Ver2.10.090120150820 in the GME header (49 bytes long, as opposed to 48 bytes in the two previous files I had seen, see previous post in the same issue), and the language string is... empty! To be more precise, here is the content of the 96 first bytes of the GME header: 00 02 00 00 D4 1B 0B 00 8B 23 00 00 2A F8 0A 00 2C F8 0A 00 4C 00 00 00 C8 01 0B 00 A1 00 00 00 31 43 48 4F 4D 50 54 45 43 48 20 44 41 54 41 20 46 4F 52 4D 41 54 20 43 6F 70 79 52 69 67 68 74 20 32 30 30 39 20 56 65 72 32 2E 31 30 2E 30 39 30 31 32 30 31 35 30 38 32 30 00 00 00 00 00 00

So first I just copied the same file over, in the hope that since the language was not given, it would work. Nope. Then I replaced the last 00 bytes with F R E N C H. Did not work either... I then also renamed the file to "Livre Deutsch Klasse 1.gme", and... it worked!!!

Additional test: I tried to use a file with 00 00 00 00 00 00 as language string, but with the file name "Livre Deutsch Klasse 1.gme", and it did not work.

So I'm fairly sure that the pen checks the name file against the language configured for the pen, and only looks for certain file names, and then also checks for the language string in the GME file.

I hope these insights help.

If you want me to perform some other tests with my French pen, do not hesitate to ask.

uli42 commented 7 years ago

I think then pen just noticed that de filesystem had changed and triggered a resync. Just changing bytes ist ibviously not sufficient to trigger a rescan.

Uli

Vom Smartphone gesendet.

----- Ursprüngliche Nachricht ----- Von: "Nicolas Damour" notifications@github.com Gesendet: ‎21.‎09.‎2017 16:03 An: "entropia/tip-toi-reveng" tip-toi-reveng@noreply.github.com Cc: "Subscribed" subscribed@noreply.github.com Betreff: Re: [entropia/tip-toi-reveng] Mixing language on 1 pen (#132)

Another challenge now. I want to use the German book "Deutsch 1. Klasse" with my French pen: https://www.ravensburger.de/produkte/buecher/tiptoi/tiptoi-deutsch-1-klasse-41804/index.html I have the book, and the Chinese debugging mode of my pen confirms its OID: 76 I download the file "Lern mit mir - Deutsch - Klasse 1.gme", the version is Ver2.10.090120150820 in the GME header (49 bytes long, as opposed to 48 bytes in the two previous files I had seen, see previous post in the same issue), and the language string is... empty! To be more precise, here is the content of the 96 first bytes of the GME header: 00 02 00 00 D4 1B 0B 00 8B 23 00 00 2A F8 0A 00 2C F8 0A 00 4C 00 00 00 C8 01 0B 00 A1 00 00 00 31 43 48 4F 4D 50 54 45 43 48 20 44 41 54 41 20 46 4F 52 4D 41 54 20 43 6F 70 79 52 69 67 68 74 20 32 30 30 39 20 56 65 72 32 2E 31 30 2E 30 39 30 31 32 30 31 35 30 38 32 30 00 00 00 00 00 00 So first I just copied the same file over, in the hope that since the language was not given, it would work. Nope. Then I replaced the last 00 bytes with F R E N C H. Did not work either... I then also renamed the file to "Livre Deutsch Klasse 1.gme", and... it worked!!! Additional test: I tried to use a file with 00 00 00 00 00 00 as language string, but with the file name "Livre Deutsch Klasse 1.gme", and it did not work. So I'm fairly sure that the pen checks the name file against the language configured for the pen, and only looks for certain file names, and then also checks for the language string in the GME file. I hope these insights help. If you want me to perform some other tests with my French pen, do not hesitate to ask. — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

victorR1980 commented 6 years ago

Hello I read this article because I would like to instal a french (my mother tongue) game on our geman pen (mother tongue of my wife). I see that you can trick the system by the GME file. But I don't know how to gte this file in the first place. The pen manager doesn't allow me to download it with my pen or anything else. Is there a diffrent way to get the file?

Ol-li commented 6 years ago

If you go to tiptoi.com Website, you can search there for your game. On the games' page you find a download option.

For the French version, I don't know. Maybe there is a French website or it may detect the browser language.

Best regards Oliver

Am 6. Dezember 2017 21:03:49 MEZ schrieb victorR1980 notifications@github.com:

Hello I read this article because I would like to instal a french (my mother tongue) game on our geman pen (mother tongue of my wife). I see that you can trick the system by the GME file. But I don't know how to gte this file in the first place. The pen manager doesn't allow me to download it with my pen or anything else. Is there a diffrent way to get the file?

-- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/entropia/tip-toi-reveng/issues/132#issuecomment-349758215

victorR1980 commented 6 years ago

Thanks Oliver. I downloaded the file now and this thread says that I am suppose to modify it somehow. I guess I need to get an editor for it. I looked quickly on google but can't find a solution. Sorry if I ask basic questions

Ol-li commented 6 years ago

You need some "hex editor". There are many out there for all operating systems.

Am 7. Dezember 2017 22:04:04 MEZ schrieb victorR1980 notifications@github.com:

Thanks Oliver. I downloaded the file now and this thread says that I am suppose to modify it somehow. I guess I need to get an editor for it. I looked quickly on google but can't find a solution. Sorry if I ask basic questions

-- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/entropia/tip-toi-reveng/issues/132#issuecomment-350093689

sbwiecko commented 6 years ago

It's not difficult to manage multiple books from different countries in a single pen. Let's say we have a FRENCH pen (FR firmware and French is the master language):

-download the gme file corresponding to your book (country of origin) on http://tiptoi.vakat.de/ -open you HEX editor and load the gme file -on line 6, you find something like 35 32 30 31 32 30 36 30 36 47 45 52 4D 41 4E 00 corresponding to 520120606GERMAN -'20120606' corresponds to the game ID (look at the catalog), and 'GERMAN' the language of the pen supposed to read the game. -simply modify 'GERMAN' for 'FRENCH', you should get the following: 35 32 30 31 32 30 36 30 36 46 52 45 4E 43 48 00 520120606FRENCH !in some files there is no language, simply insert FRENCH after the game ID -save the file and upload it onto the pen; done

exmackina commented 4 years ago

Thanks @sbwiecko! It worked for me. I used the convenient online HEX editor https://hexed.it

uli42 commented 4 years ago

You can also use tttool for that. Joachim implemented language switching some time ago.

Uli

On Sat, Jun 6, 2020 at 4:10 PM Alexandre M notifications@github.com wrote:

Thanks @sbwiecko https://github.com/sbwiecko! It worked for me. I used the convenient online HEX editor https://hexed.it

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/entropia/tip-toi-reveng/issues/132#issuecomment-640066994, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABQHBZHANHQNG5UFKDLHY73RVJE6XANCNFSM4CBY2LMA .

nomeata commented 4 years ago

See https://tttool.readthedocs.io/de/latest/tttool-referenz.html#sprache-einer-gme-datei-andern

wjakob commented 4 years ago

I just got really frustrated that tiptoi wouldn't allow mixed languages on the pen (our daughter is multi-lingual) and was delighted to see that the internet has an answer to this problem (kudos for "tttool"). Nice seeing you here Joachim, it is truly a small world :-).

nomeata commented 4 years ago

@wjakob! What a joy to see you here, and congrats to a multi-lingual daughter :)

katrinaB88 commented 1 year ago

Hi

See https://tttool.readthedocs.io/de/latest/tttool-referenz.html#sprache-einer-gme-datei-andern

Hi there, I tried downlaoding tttool but it wont open. Basically it looks like the window is opening, then it disappears. any ideas why?

nomeata commented 1 year ago

It is a command line tool. Maybe the introduction at https://tutorial.djangogirls.org/de/intro_to_command_line/ helps you with that.

fabiospiga1979 commented 1 year ago

Very interesting and I can see a lot of work, unfortunately though it does not seem to work.

Specifically I'd like to have a Tiptoi pen with books in two languages (at least), French (set as general language) and German (just one additional book).

I tried the following: 1_get the German book (Meine_schoensten_Englischen_Kinderlieder.gme), open the file in hexed.it. The file does not have a language code 2_as there is no language I simply saved it in the pen as also discussed by micheltol: IT DOES NOT WORK 3_I added FRENCH after the book ID as suggested by sbwiecko: IT DOES NOT WORK 4_after point 3 I added "Livre" to the file name as suggested by ndamour: IT DOES NOT WORK 5_after point 3 I downloaded a random French book via the Tiptoi app, and I then renamed my German book with its name: IT DOES NOT WORK 6_after refreshing my command tool skills, I used tttool.exe to change the language of the book to French as suggested by nomeata using the command "tttool.exe set-language FRENCH Meine_schoensten_Englischen_Kinderlieder.gme" (the book file was a copy in the same folder as the tttool.exe file). I checked the new file in hexed.it, it seems identical to the one I made in point 3, thus perhaps not surprisingly: IT DOES NOT WORK

I'm short of ideas now. Could it be that there is somewhere in the pen a directory of saved file used for browsing? If yes, where and how does that work?

Thanks in any case to all the contributors, I definitively learned a couple of things today!

uli42 commented 1 year ago

Hi,

I don't know why it does not work, but some comments from my side:

  1. please post the version of your pen and the firmware, if possible. Maybe we can pinpoint the problems to some hardware generation or firmware release.

  2. AFAIK filenames were totally irrelevant in the Tiptoi history. It's the ID in the file's header that's relevant.

  3. I remember situations in the past where (newer) pens did not see new files because of filesystem corruption. So I suggest to repeat your efforts (except the filename changes) and run a filesystem check after each change. Maybe run the official Tiptoi Manager and download an unrelated book to let the Manager fix the pen's filesystem.

  4. @Joachim IIRC the checksum of the files was not checked by the pens in the past. Maybe this has changed now? Does change_language recalc the checksum?

Uli

On Thu, Mar 23, 2023 at 10:46 PM fabiospiga1979 @.***> wrote:

Very interesting and I can see a lot of work, unfortunately though it does not seem to work.

Specifically I'd like to have a Tiptoi pen with books in two languages (at least), French (set as general language) and German (just one additional book).

I tried the following: 1_get the German book (Meine_schoensten_Englischen_Kinderlieder.gme), open the file in hexed.it. The file does not have a language code 2_as there is no language I simply saved it in the pen as also discussed by micheltol: IT DOES NOT WORK 3_I added FRENCH after the book ID as suggested by sbwiecko: IT DOES NOT WORK 4_after point 3 I added "Livre" to the file name as suggested by ndamour: IT DOES NOT WORK 5_after point 3 I downloaded a random French book via the Tiptoi app, and I then renamed my German book with its name: IT DOES NOT WORK 6_after refreshing my command tool skills, I used tttool.exe to change the language of the book to French as suggested by nomeata using the command "tttool.exe set-language FRENCH Meine_schoensten_Englischen_Kinderlieder.gme" (the book file was a copy in the same folder as the tttool.exe file). I checked the new file in hexed.it, it seems identical to the one I made in point 3, thus perhaps not surprisingly: IT DOES NOT WORK

I'm short of ideas now. Could it be that there is somewhere in the pen a directory of saved file used for browsing? If yes, where and how does that work?

Thanks in any case to all the contributors, I definitively learned a couple of things today!

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

nomeata commented 1 year ago

Does change_language recalc the checksum?

Yes, it should.

fabiospiga1979 commented 1 year ago
  1. please post the version of your pen and the firmware, if possible. So I suggest to repeat your efforts (except the filename changes) and run a filesystem check after each change. Maybe run the official Tiptoi Manager and download an unrelated book to let the Manager fix the pen's filesystem.

Sure, Pen TT137238, 30969 Md4 (no idea which is the version), Firmware 2F0011, Tiptoi manager version 5.0.2 I tried that now (manually move in the pen the file created by tttool.exe with FRENCH and then adding a random book via Tiptoi manager), but did not help!

Thanks for resuming this thread!

apaijmans commented 1 month ago

Hi, I have a "German" pen and would like to play a Dutch game with it. I have downloaded the Dutch gme file and changed the language to german. I though it had worked, because the game and its components are recognised and the introduction is played in Dutch. However, when actually starting to play the game (rather than just "discovering" its items with the pen), it gets stuck when we try to pick the players (one needs to tip on the player card to select the player). But it only replays the same sound file when you tip the player cards. Any thoughts? Am I missing something beyond changing the language in the gme file?

nomeata commented 1 month ago

Did you use tttool set-language or did you edit the “yaml” file?

apaijmans commented 1 month ago

Just the yaml, manually. I thought the tttool does the same, but I can try the tttool tonight and see if that works :-)

nomeata commented 1 month ago

Try tttool set-language, it is more careful with the GME file than converting to yaml and back!

apaijmans commented 1 month ago

Ok, will do. Im actually not sure I converted to yaml. I used notepad++ with the hex plugin to open the gme file, then changed "DUTCH" to "GERMAN" and save it again as gme. That didn't quite work, apparently.

apaijmans commented 1 month ago

Unfortunatly, setting the language with the tttool did not make a difference, I ran into the exact same issue. The game is recognised, but it gets stuck when trying to select the players.

Its a generation 3 pen ("create", so maybe that is the issue here? Although the game does not make use of that function). The game I am trying to get to work is "De magie van het lezen" in Dutch on a German pen.