Verfasst am: Di 14. Jun 2005, 9:42 |
|
|
DeadBeef |
Erfahrener Benutzer |
|
|
Anmeldungsdatum: 28.03.2005 |
Beiträge: 90 |
Wohnort: am Schwäbischen Meer |
|
|
|
|
|
|
|
[quote="Acade]Nutzt
Du jetzt eigentlich auch die Möglichkeit, per $gp adressierte Variable
mit relativen Symbolen darzustellen? (Für den FW-Wechsel praktisch!)
[/quote]
Ich habe bis jetzt nur ein paar Offsets auf diese Weise eingegeben.
In der neuen FW habe ich gesehen, dass die Offsets sich nicht
unerheblich verschoben haben. Daher ist der Nutzen vorerst mal
fraglich. Man kann höchsten sehen, wo neue globale Variablen
hinzugefügt wurden.
Gruß
DeadBeef
PS: Ich konnte gestern das "zyklische" Problem umgehen, indem ich "// $gp=..." aus der Map-Datei entfernt hatte. |
|
|
|
|
| | |
Verfasst am: Di 14. Jun 2005, 20:31 |
|
|
Acade |
Erfahrener Benutzer |
|
|
Anmeldungsdatum: 19.04.2005 |
Beiträge: 56 |
Wohnort: Bayern |
|
|
|
|
|
|
|
DeadBeef hat folgendes geschrieben:: |
PS: Ich konnte gestern das "zyklische" Problem umgehen, indem ich "// $gp=..." aus der Map-Datei entfernt hatte. |
Hi DeadBeef,
jetzt wo Du's sagst: Hättst die $gp-Mimik auch einfach mit "// $gp=nondigit8039c024" abschalten können ...
Ciao,
Acade |
|
|
|
|
| | |
Verfasst am: Do 16. Jun 2005, 0:24 |
|
|
Acade |
Erfahrener Benutzer |
|
|
Anmeldungsdatum: 19.04.2005 |
Beiträge: 56 |
Wohnort: Bayern |
|
|
|
|
|
|
|
Acade hat folgendes geschrieben:: |
A5.2: Die Erkennung von Speicheradressen über mehr als 2 Befehle
hinweg ist leider nicht so einfach zu realisieren und wird noch länger
dauern.
|
Hi DeadBeef,
das Thema ist jetzt erledigt. 1 weiterer Befehl darf jetzt zwischen
den beiden Befehlen stehen, damit die Speicherreferenz noch aufgelöst
werden kann.
Es ist auch fraglich ob es sinnvoll ist, die Erkennung noch weiter
auszudehnen, weil die Gefahr eine Einsprungs mitten in eine solche
Sequenz mit steigender Sequenzlänge immer größer wird und damit falsche
Interpretationen zunehmen.
Zu kompliziert will ich das Teil ja auch nicht machen (hatte schon
überlegt, ob ich nicht gleich alle Registerinhalte mit-trace, aber das
artet ja schon in einen Emulator aus, das wär' doch noch was, ein
Topf-Emulator auf dem PC!)
Hast Du irgendwo Code gesehen, wo die Sequenzlänge größer als 3 wird?
Ciao,
Acade |
|
|
|
|
| Topf Emulator | |
Verfasst am: Do 16. Jun 2005, 8:59 |
|
|
paul79 |
Benutzer |
|
|
Anmeldungsdatum: 14.04.2005 |
Beiträge: 27 |
Wohnort: Hoppetenzell / Bodensee |
|
|
|
|
|
|
|
Acade hat folgendes geschrieben:: | hatte
schon überlegt, ob ich nicht gleich alle Registerinhalte mit-trace,
aber das artet ja schon in einen Emulator aus, das wär' doch noch was,
ein Topf-Emulator auf dem PC! |
Hallo!
Ich verfolge diese Diskussion schon seit beginn mit viel interesse (auch wenn ich nicht wirklich viel davon verstehe ). Ich wollte mich schon länger mal mit dem Programmieren von TAPs beschäftigen. Mich hat bisher nur eines abgehalten:
Habe nur einen Topf der immer dann wenn ich Zeit hätte von meiner Frau
benutzt wird. Aber so einen schönen Topf-Emulator auf nem PC das wäre
schon was.
Das ist aber wohl viel zu kompliziert und könnte wohl auch nur von
Topfield selbst kommen. Ich denke nicht das man das mal ebenso so
hinbekommt. Besonders wenn es darum ginge Festplattenzugriffe oder
empfangene EPG-Daten oder gar den Empfang eines kompletten Programms zu
emulieren. Das wird wohl in den Bereich des unmöglichen gehen.
Aber Du hast mit dieser Bemerkung Träume in mir geweckt
Gruß
Paul |
|
_________________ Topfield 5500 (Firmware vom 10.06.2005), Alphacrypt light V3.03, Improbox v1.43, JAG's EPG v2.7 Beta 5, Nice Display v1.4 |
|
|
|
| | |
Verfasst am: Do 16. Jun 2005, 23:30 |
|
|
DeadBeef |
Erfahrener Benutzer |
|
|
Anmeldungsdatum: 28.03.2005 |
Beiträge: 90 |
Wohnort: am Schwäbischen Meer |
|
|
|
|
|
|
|
Es sieht schon viel informativer aus. Allerdings gibt es noch einige Stellen, an denen der Zusammenhang nicht erkannt wird.
Code: |
54r 80198734: 3c06801a lui $a2,0x801a
58r 80198738: 0c02966a jal 0x800a59a8 #
5cr 8019873c: 24c68514 addiu $a2,$a2,-31468=0x8514
e4r 80198a34: 3c158019 lui $s5,0x8019 <========
e8r 80198a38: 3c188019 lui $t8,0x8019
ecr 80198a3c: 3c198019 lui $t9,0x8019
f0r 80198a40: 8f182794
lw $t8,10132($t8) # 80192794
-> 0
f4r 80198a44:
27392594 addiu $t9,$t9,9620=0x2594
# 80192594 -> 0
f8r 80198a48: 27390004 addiu $t9,$t9,4
fcr 80198a4c: 0018c140 sll $t8,$t8,5
100r 80198a50: 0338c821 addu $t9,$t9,$t8
104r 80198a54: 8f360000 lw $s6,0($t9)
108r 80198a58: 00000000 nop
10cr 80198a5c: 00000000 nop
110r 80198a60: 03801025 or $v0,$gp,$zero
114r 80198a64: 00000000 nop
118r 80198a68: 00000000 nop
11cr 80198a6c: 02c0e025 or $gp,$s6,$zero
120r 80198a70: 1000008f beq $zero,$zero,360r
124r 80198a74: 00001025 or $v0,$zero,$zero
128r 80198a78: 26b52794
addiu $s5,$s5,10132=0x2794 <========
38r 800f53a0: 3c0ebf40 lui $t6,0xbf40
3cr 800f53a4: 32d600ff andi $s6,$s6,0xff
40r 800f53a8: a5d60002 sh $s6,2($t6)
44r 800f53ac: 3c19bf40 lui $t9,0xbf40
48r 800f53b0: 32b500ff andi $s5,$s5,0xff
4cr 800f53b4: a7350000 sh $s5,0($t9)
|
Meine Vorstellung vom Algorithmus zur Erkennung von zusammenhängenden Daten ist wie folgt:
Am Anfang eines Funktions-Blockes werden alle Merker für Registerinhalte zurückgesetzt.
Wenn eine lui Operation vorkommt, könnte man bis zur nächsten Benutzung den Inhalt des betroffenen Registers assoziativ merken.
Wird das Register in einer add/or Operation rekusiv benutzt, handelt es sich um ein zusammengesetzes Datum.
Wird das Register als Operand (aber nicht bei Index-Operationen) benutzt, so ist der gemerkte Inhalt zu verwerfen.
Gruß
DeadBeef |
|
|
|
|
| Re: Topf Emulator | |
Verfasst am: Do 16. Jun 2005, 23:52 |
|
|
Acade |
Erfahrener Benutzer |
|
|
Anmeldungsdatum: 19.04.2005 |
Beiträge: 56 |
Wohnort: Bayern |
|
|
|
|
|
|
|
paul79 hat folgendes geschrieben:: |
Das ist aber wohl viel zu kompliziert und könnte wohl auch nur von
Topfield selbst kommen. Ich denke nicht das man das mal ebenso so
hinbekommt. Besonders wenn es darum ginge Festplattenzugriffe oder
empfangene EPG-Daten oder gar den Empfang eines kompletten Programms zu
emulieren. Das wird wohl in den Bereich des unmöglichen gehen.
Aber Du hast mit dieser Bemerkung Träume in mir geweckt
Gruß
Paul |
Hi paul79,
ja, es wird wohl ein Traum bleiben
. Das Hauptproblem ist die spezielle Topf-Hardware und ihre
vielzähligen und meist unbekannten Schnittstellen. Die CPU ist dagegen
ein wahrer Klacks. Auch die verschiedene Endianness (MIPS: Big-Endian,
PC: Little-Endian) ist kein Problem. Ich habe das schon einmal für den
Atari ST durchgezogen (68000 CPU), damals fing es auch mit einem
Disassembler an. Aber da hatte ich für die Hardware die komplette
Dokumentation bzw. wählte gleich den Ansatz, nicht die FW, sondern das
"API" zu emulieren.
Prinzipiell sind 3 Ansätze / Stufen für einen Emulator denkbar:
1. Eine API-Emulation mit den TAP-Sources:
Das wäre relativ simpel, man compiliert mit dem x86-gcc und linkt
eine Emulationslibrary, die alle API-Funktionen mit PC-Mitteln
emuliert. Die TAP.H und libtap.a werden also komplett ersetzt. Ich habe
das im April einmal kurz angefangen, aber mangels Zeit wieder bleiben
lassen.
Man könnte damit TAPs rudimentär testen.
2. Ein TAP-Emulator für TAP-Binaries:
Schon deutlich aufwendiger, erfordert eine Emulation der MIPS-CPU
und der API-Funktionen, letztere könnten aus obiger Library kommen.
Außerdem muß das Ladeformat von TAPs interpretiert werden (Segmente und
Relocation). Immer noch keine FW nötig.
3. Ein FW-Emulator, die volle Schönheit:
Emulation der MIPS-CPU, alle Memoryadressen (besonders die der
Peripherie) müssen verstanden und bedient werden und vor allem muß
passende Hardware vorhanden sein, auf der das alles abgebildet werden
kann. Vergiß' es ...
Für alle 3 gilt: Der Nutzen ist doch eher beschränkt. Wenn man das macht, nur aus reinem Spaß an der Freud'!
Ciao,
Acade
PS: Das heißt hier nicht Frau, das heißt Regierung! |
|
|
|
|
| | |
Verfasst am: Fr 17. Jun 2005, 0:09 |
|
|
Acade |
Erfahrener Benutzer |
|
|
Anmeldungsdatum: 19.04.2005 |
Beiträge: 56 |
Wohnort: Bayern |
|
|
|
|
|
|
|
@DeadBeef:
Da hast Du Dir ja ein ziemliches Extrembeispiel ausgesucht : Sequenzlänge 18!
Aber morgen kriegst Du die Lösung, fkt. etwas anders als Dein Vorschlag.
Gute Nacht,
Acade |
|
|
|
|
Verfasst am: Fr 17. Jun 2005, 0:13 |
|
|
DeadBeef |
Erfahrener Benutzer |
|
|
Anmeldungsdatum: 28.03.2005 |
Beiträge: 90 |
Wohnort: am Schwäbischen Meer |
|
|
|
|
|
|
|
@Acade
Es sind eigentlich drei Beispiele. Ich habe sie nur nicht sauber voneinander getrennt (je eine Leerzeile).
Gute Nacht!
DeadBeef |
|
|
|
|
| Re: Topf Emulator | |
Verfasst am: Fr 17. Jun 2005, 8:22 |
|
|
paul79 |
Benutzer |
|
|
Anmeldungsdatum: 14.04.2005 |
Beiträge: 27 |
Wohnort: Hoppetenzell / Bodensee |
|
|
|
|
|
|
|
Acade hat folgendes geschrieben:: | ja, es wird wohl ein Traum bleiben
. Das Hauptproblem ist die spezielle Topf-Hardware und ihre
vielzähligen und meist unbekannten Schnittstellen. Die CPU ist dagegen
ein wahrer Klacks. Auch die verschiedene Endianness (MIPS: Big-Endian,
PC: Little-Endian) ist kein Problem. Ich habe das schon einmal für den
Atari ST durchgezogen (68000 CPU), damals fing es auch mit einem
Disassembler an. Aber da hatte ich für die Hardware die komplette
Dokumentation bzw. wählte gleich den Ansatz, nicht die FW, sondern das
"API" zu emulieren. |
Hm, 68000 CPU kommt mir bekannt vor. Steckte die nicht auch in der guten alten d-box?
Meine einzigen Erfahrungen mit der Assemblerprogramiereung beziehen
sich auf Mikrocontroler von Motorola. Damals während meiner Ausbildung
(ist das lange her.....). AFAIR 68HC irgendwas. Wenn ich mir doch nur
Zahlen merken könnte.
Das ist aber zu lange her als das ich da noch was wüsste.
Acade hat folgendes geschrieben:: |
Prinzipiell sind 3 Ansätze / Stufen für einen Emulator denkbar:
.........
Für alle 3 gilt: Der Nutzen ist doch eher beschränkt. Wenn man das macht, nur aus reinem Spaß an der Freud'!
|
Genauso habe ich das vermutet.
Acade hat folgendes geschrieben:: |
Ciao,
Acade
PS: Das heißt hier nicht Frau, das heißt Regierung! |
Das weiß ich. Nur beim schreiben denke ich da selten dran. Bei uns
zuhause heist das "Herr General Feldmarschal!" - Hört sie aber nicht
gerne!
Da es jetzt schon sehr OT wird bin ich jetzt wieder ruhig und lasse auch weiterarbeiten!
Gruß
Paul |
|
_________________ Topfield 5500 (Firmware vom 10.06.2005), Alphacrypt light V3.03, Improbox v1.43, JAG's EPG v2.7 Beta 5, Nice Display v1.4 |
|
|
|
| | |
Verfasst am: Fr 17. Jun 2005, 23:44 |
|
|
Acade |
Erfahrener Benutzer |
|
|
Anmeldungsdatum: 19.04.2005 |
Beiträge: 56 |
Wohnort: Bayern |
|
|
|
|
|
|
|
DeadBeef hat folgendes geschrieben:: |
Es sind eigentlich drei Beispiele. Ich habe sie nur nicht sauber voneinander getrennt (je eine Leerzeile).
|
Hi DeadBeef,
Deine 3 Beispiele (und hoffentlich noch viel mehr!) werden jetzt wie erwartet erkannt
. Die Sequenzlänge für die Erkennung kann jetzt bis zu 50 Befehle lang
sein (bis zu einer Länge von 48 habe ich in 11.55 Beispiele gefunden).
Mit der Option -B kannst Du das regeln, Default ist aber nur 10, weil
die Branchgefahr in die Sequenz hinein zunehmend steigt und
Fehlinterpretationen möglich werden. Viel Spaß damit !
@paul79: Keine Ahnung, was in der d-box steckt ...
Ciao,
Acade |
|
|
|
|
| | |
Verfasst am: Sa 18. Jun 2005, 1:41 |
|
|
DeadBeef |
Erfahrener Benutzer |
|
|
Anmeldungsdatum: 28.03.2005 |
Beiträge: 90 |
Wohnort: am Schwäbischen Meer |
|
|
|
|
|
|
|
Absolute Spitze! Die Augaben rücken dem Sourcecode immer näher!
Gruß
DaedBeef |
|
|
|
|
Verfasst am: Mi 22. Jun 2005, 0:57 |
|
|
Acade |
Erfahrener Benutzer |
|
|
Anmeldungsdatum: 19.04.2005 |
Beiträge: 56 |
Wohnort: Bayern |
|
|
|
|
|
|
|
Und
diesmal etwas Kosmetik: Die neue Option -H läßt im HTML-Output die
Jump-/Branch- sowie die Load-/Store-Befehle in ganz neuen Farben
erscheinen! Außerdem sind jetzt alle Kommentare bündig.
Viel Spaß,
Acade |
|
|
|
|
| | |
Verfasst am: Di 28. Jun 2005, 23:32 |
|
|
Acade |
Erfahrener Benutzer |
|
|
Anmeldungsdatum: 19.04.2005 |
Beiträge: 56 |
Wohnort: Bayern |
|
|
|
|
|
|
|
Es gibt 2 neue Optionen, die den Output noch übersichtlicher machen:
-S: Bei Befehlen, die einen ihrer Quelloperanden auch als
Zieloperanden haben, z.B. "add $t5,$v1,$t5" wird daraus jetzt ein "add
$t5,$v1" (bei sub geht das natürlich nur mit "sub $t5,$t5,$v1" and
nicht mit "sub $t5,$v1,$t5", sonst Vorzeichenwechsel).
-P: Befehle, die faktisch ein "move" darstellen, werden damit auch
entsprechend ausgegeben: z.B. "ori $t5,$zero,$v1" wird zu "move
$t5,$v1".
Für load immediate wird ebenfalls das Mnemonic "move" verwendet,
weil es einfacher in die interne Codestruktur des Disassemblers paßt
als "li" und ja auch nix anderes bedeutet.
Mit -P (und -g für die gcc-Registernotation) wird jetzt auch aus "$zero" ein schlichtes "0".
Viel Spaß,
Acade |
|
|
|
|
| | |
Verfasst am: Mi 29. Jun 2005, 8:57 |
|
|
DeadBeef |
Erfahrener Benutzer |
|
|
Anmeldungsdatum: 28.03.2005 |
Beiträge: 90 |
Wohnort: am Schwäbischen Meer |
|
|
|
|
|
|
|
@Acade
Nette Optionen.
Nur wie kann man unterscheiden, ob die ein "move" aus einem "add" oder
aus einem "li" entstanden ist, denn das Ergebnis unterscheidet sich um
16 Bits. Oder wird bei "li" der Operand 32-bittig dargestellt? (ich
habe es noch nicht ausprobiert)
Es sieht fast so aus, dass Dir bald die Buchstaben ausgehen ...
Gruß
DeadBeef |
|
|
|
|
| | |
Verfasst am: Mi 29. Jun 2005, 21:18 |
|
|
Acade |
Erfahrener Benutzer |
|
|
Anmeldungsdatum: 19.04.2005 |
Beiträge: 56 |
Wohnort: Bayern |
|
|
|
|
|
|
|
DeadBeef hat folgendes geschrieben:: |
Nette Optionen.
Nur wie kann man unterscheiden, ob die ein "move" aus einem "add" oder
aus einem "li" entstanden ist, denn das Ergebnis unterscheidet sich um
16 Bits. Oder wird bei "li" der Operand 32-bittig dargestellt? (ich
habe es noch nicht ausprobiert)
|
Hi DeadBeef,
hast ja sicher gemerkt, daß ich mit li nicht den lui gemeint habe,
der als Dreh- und Angelpunkt der Speicherreferenzen völlig
unverzichtbar ist und daher weiterhin wie immer dargestellt wird
Zitat: |
Es sieht fast so aus, dass Dir bald die Buchstaben ausgehen ...
|
Naja, ein paar gibt's ja noch, bin ja auch schon bei den Großbuchstaben
angelangt. Und soviele Neuerungen wird's wohl auch nicht mehr geben,
der disasmips-Code ist mittlerweile schon ein rechtes Dickicht
geworden.
Aber man muß die einzelnen Features schon auch einzeln selektieren
können, damit man im Zweifelsfalle noch eine ursprünglichere
Darstellung bekommen kann.
Hast Du noch Wünsche?
Ciao,
Acade |
|
|
|
|
| | |
Verfasst am: Mi 29. Jun 2005, 21:59 |
|
|
Harvey |
Superguru |
|
|
Anmeldungsdatum: 13.06.2003 |
Beiträge: 2818 |
Wohnort: 6°37’O 51°41’N |
|
|
|
|
|
|
|
Acade hat folgendes geschrieben:: | Hast Du noch Wünsche? |
Ich hätte da einen
[Duck]
Decompilieren nach C(++) incl. intelligenter Variablennamenvergabe
[/und weg]
Ich konnte mal ein bischen Assembler, ist aber sehr lange her (Z80
und den zweiten weiss ich schon garnicht mehr (6900 9600 8600 6800 -
irgendwas davon könnte es sein, sofern 8 oder höchstens
16Bit-Prozessor).
Der Code, den Ihr euch derzeit an den Kopfschmeisst, sieht ziemlich
gewöhnungsbedürftig aus (haste ja auch geschrieben). Schade, dass ich
keinerlei Zeit habe, mich darin einzuarbeiten. Würde mir bestimmt Spass
machen. |
|
_________________ Gruss
Harvey
Irrtümer und Rächtschreipfehler sind auf ein fehlerhaftes Speichermanagement zurückzuführen
TF5000PVR, FW10.06.05, Astra only, FTA only |
|
|
|
| | |
Verfasst am: Mi 29. Jun 2005, 23:54 |
|
|
Acade |
Erfahrener Benutzer |
|
|
Anmeldungsdatum: 19.04.2005 |
Beiträge: 56 |
Wohnort: Bayern |
|
|
|
|
|
|
|
Harvey hat folgendes geschrieben:: | Acade hat folgendes geschrieben:: | Hast Du noch Wünsche? |
Ich hätte da einen
[Duck]
Decompilieren nach C(++) incl. intelligenter Variablennamenvergabe
[/und weg]
|
Davon träume ich auch manchmal ...
Zitat: |
Ich konnte mal ein bischen Assembler, ist aber sehr lange her (Z80 und
den zweiten weiss ich schon garnicht mehr (6900 9600 8600 6800 -
irgendwas davon könnte es sein, sofern 8 oder höchstens
16Bit-Prozessor).
|
Evtl . 6809 von Motorola, konnte immerhin HW-Multiplikation ...
Zitat: |
Der Code, den Ihr euch derzeit an den Kopfschmeisst, sieht ziemlich
gewöhnungsbedürftig aus (haste ja auch geschrieben). Schade, dass ich
keinerlei Zeit habe, mich darin einzuarbeiten. Würde mir bestimmt Spass
machen.
|
Ist halt typischer RISC-Code, aber eigentlich einfacher als x86.
Spaß macht's wirklich , aber das Zeitproblem habe ich leider auch ...
Ciao,
Acade |
|
|
|
|
| disasmips jetzt auch für Linux | |
Verfasst am: Di 05. Jul 2005, 18:25 |
|
|
Acade |
Erfahrener Benutzer |
|
|
Anmeldungsdatum: 19.04.2005 |
Beiträge: 56 |
Wohnort: Bayern |
|
|
|
|
|
|
|
Hab' den Disassembler jetzt auch nach Linux portiert, falls ihn da jemand braucht ...
Viel Spaß,
Acade |
|
|
|
|
Verfasst am: Di 05. Jul 2005, 23:06 |
|
|
Gerti |
Team topfield.de |
|
|
Anmeldungsdatum: 07.01.2003 |
Beiträge: 4550 |
Wohnort: Bielefeld |
|
|
|
|
|
|
|
Hi!
Hat hier einer der "Forscher" eine Idee, ob man irgendwie an
Informationen zum aktuellen Tuner kommt...also, welcher Tuner gerade
genutzt wird?
Gruß,
Gerti |
|
_________________ ImproBox V1.4 - Mehr als eine Alternative zum Original...
Topfield TF5000PVR
im Black Panther Gehäuse mit VF Display - Firmware 5.11.88 vom 10. Juni
05 - Samsung SV1604N - Astra / Hotbird - 100cm Gibertini-Schüssel -
Humax-LNBs - Ankaro 9/4 Multiswitch - ImproBox - SmartEPG - Nice
Display - PBK - Screensaver |
|
|
|
| | |
Verfasst am: Fr 08. Jul 2005, 23:39 |
|
|
Acade |
Erfahrener Benutzer |
|
|
Anmeldungsdatum: 19.04.2005 |
Beiträge: 56 |
Wohnort: Bayern |
|
|
|
|
|
|
|
Gerti hat folgendes geschrieben:: | Hi!
Hat hier einer der "Forscher" eine Idee, ob man irgendwie an
Informationen zum aktuellen Tuner kommt...also, welcher Tuner gerade
genutzt wird?
Gruß,
Gerti |
Da wirst Du mindestens warten müssen, bis die DeadBeef-lose Zeit endlich vorbei ist , vielleicht weiß er was (in ca. 1 Woche) ...
Ciao,
Acade |
|
|
|
|
TOPFIELD.de Board Foren-Übersicht » TAP
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst Deine Beiträge in diesem Forum nicht bearbeiten. Du kannst Deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Alle Zeiten sind GMT + 2 Stunden
Seite 3 von 3
Gehe zu Seite Zurück 1, 2, 3
|
|
|
|
|
|
|