Die Ting-Codes setzen sich aus einem 4×4 Raster zusammen.
Die grünen Felder sind bei jedem Code gleich. Bis auf das linke Feld in der dritten Zeile sind alle Punkte mittig. Dieser eine Punkt ist leicht nach rechts verschoben.
Die roten Felder beinhalten den eigentlichen Code und eine Prüfsumme. Den 4 moeglichen Positionen wird ein Wert zugeordnet.
| Position | Wert (binär) |
|---|---|
| rechts unten | 00 |
| links unten | 01 |
| links oben | 10 |
| rechts oben | 11 |
Die binäre Codenummer setzt sich aus der Feldern W7 bis W0 zusammen. Also: W7 W6 W5 W4 W3 W2 W1 W0
Das Prüfsummenfeld CK wird wie folgt berechnet:
CK = (((W1 XOR W4 XOR W6 XOR W7) AND 0x01) << 1) OR ((W0 XOR W2 XOR W3 XOR W5) AND 0x01)
(Vielen Dank an den mir unbekannten Tüftler, der das geknackt hat!)
Codenummer: 10967 (binär: 00 10 10 10 11 01 01 11) (Ting-ID: 15073)
CK = (((0x01 XOR 0x10 XOR 0x10 XOR 0x00) AND 0x01) << 1) OR ((0x11 XOR 0x01 XOR 0x11 XOR 0x10) AND 0x01) = ((0x01 AND 0x01) << 1) OR (0x11 AND 0x01) = (0x01 << 1) OR 0x01 = 0x10 OR 0x01 = 0x11
siehe hierzu auch den Hauptartikel: Aufnahmecodes
Die Aufnahmecodes setzen sich ähnlich zusammen wie die „normalen“ Ting-Codes, aber es gibt einige bedeutende Unterschiede.
Auch hier setzen sich die Codes aus einem 4×4 Raster zusammen, jedoch ist das linke Feld in der dritten Zeile nach links anstatt nach rechts verschoben. Bei den anderen grünen Feldern sitzen die Punkte wie gehabt mittig.
Die Werte der roten Felder unterscheiden sich von den „normalen“ Bookii-Codes dadurch, dass die Zählung oben links beginnt:
| Position | Wert (binär) |
|---|---|
| links oben | 00 |
| rechts oben | 10 |
| rechts unten | 01 |
| links unten | 11 |
Der resultierende Wert ist eine Little-Endian-Binärzahl. Bei der Berechnung der Checksumme werden die einzelnen Werte wie folgt auf die linke und rechte Seite der Berechnungsformel aufgeteilt:
CK = (((W1 XOR W3 XOR A1 XOR B2 ) AND 0x01) << 1) OR ((W0 XOR W2 XOR A2 XOR B2) AND 0x01)
Um welche Werte genau es sich dabei um A und B handelt, bleibt noch zu erforschen - jeweils einer der A-Werte fließt in die rechte Stelle der Checksumme ein, der andere in die linke Stelle. Ebenso ist es bei den B-Werten.
Die Punktemuster, um die Töne dann auch wieder abzuspielen, werden ebenso codiert wie die Aufnahmecodes; es wird einfach nur eine um 41627 verminderte Zahl benutzt - Beispiele:
| Wiedergabecode | dazugehöriger Aufnahmecode | Nummer auf dem Sticker | Dateiname |
|---|---|---|---|
| 6729 | 48356 | 25 | TestRec26.wav |
| 6730 | 48357 | 26 | TestRec27.wav |
| 6731 | 48378 | 27 | TestRec28.wav |
| 6732 | 48379 | 28 | TestRec29.wav |
| 6733 | 48376 | 29 | TestRec30.wav |
| 6734 | 48377 | 30 | TestRec31.wav |
| usw. | usf. |
Zwischen Code-IDs und Ting-IDs besteht eine 1:1 Zuordnung. Ting-IDs genauso wie Code-IDs liegen im Bereich 0x0000 bis 0xFFFF.
Einen Auszug aus der Zuordnungstabelle findet man hier. Eine Tabelle mit allen bekannten Zuordnungen kann mit dem Tingeltangel-Tool erzeugt werden. Damit ist es auch möglich Tabelle von Code-IDs und Ting-IDs zum Ausdrucken zu erstellen.
Im Moment sind die Code-IDs für die Ting-IDs 0-1134 und 4716-19443 bekannt.
Grundsätzlich gibt es drei Klassen von Ting-IDs. Media-IDs (MIDs), Commercial-IDs (CIDs) und Object-IDs (OIDs).
Media-IDs (MIDs) entsprechen den Aktivierungscodes der Bücher, Object-IDs den Codes in den Büchern. Verschiedenen Bücher nutzen die gleichen Object-IDs. Jedes Buch muss eine eindeutige Media-ID besitzen. Infos zu Commercial-IDs gibt es hier.
| Ting-ID Bereich | Zweck |
|---|---|
| 0 | Spezieller Code (MID) für Commercials |
| 1 - 9999 | Media-IDs (MID) |
| 10000 | Theoretisch eine „normale“ MID (besser nicht nutzen, da diese u.U. zu den CIDs gerechnet wird) |
| 10001 - 14999 | Commercial-IDs (CIDs) |
| 15000 | Theoretisch eine „normale“ MID (besser nicht nutzen, da diese teilweise falsch als OID genutzt wird) |
| 15001 - 65535 | Object-IDs (OIDs) |
Bei den Media-IDs ist zu beachten, dass man für eigenen Bücher keine schon offiziell genutzte MID verwendet um Konflikte zu vermeiden. Eine Liste der bekannten Bücher gibt es hier.
Hier eine Übersicht über den Raum der Media-IDs:
| Media-ID Bereich | Nutzung |
|---|---|
| 0 | Spezieller Code (MID) für Commercials |
| 1 - 100 | offizielle Ting-Testbücher |
| 101 - 4999 | frei nutzbarer Bereich |
| 5000 - 5999 | offizielle Ting-Bücher |
| 6000 - 8799 | frei nutzbarer Bereich |
| 8800 - 8899 | offizielle Ting-Testbücher |
| 8900 - 9499(?) | frei nutzbarer Bereich |
| 9500(?) - 9999 | teilweise werden diese MIDs von Bookii genutzt |
| 10000 | Theoretisch eine „normale“ MID (besser nicht nutzen, da diese u.U. zu den CIDs gerechnet wird) |
Ich empfehle, aufgrund der MID Verteilung, MIDs in den Bereichen 8000 - 8500 zu nutzen.
Abdeckung MIDs
Abdeckung CIDs
Abdeckung OIDs