Antwort schreiben  Thema schreiben 
Seiten (5): « Erste < Vorherige 1 2 [3] 4 5 Nächste > Letzte »
Verfasser Nachricht
pspbricker
Mod a.D.
*


Beiträge: 3.428
Gruppe: User
Registriert seit: May 2008

Status: Offline
Danke erhalten: 1641
Beitrag: #31
RE: PSP C Anfang - Helft mir auf meinem weg

Wenn deine PSP freezt kannst du davon ausgehen, dass du einen Buffer Overflow hast sprich einen Segfault (http://de.wikipedia.org/wiki/Segmentation_Fault). Dass heißt das, du auf eine Speicher Adresse die nicht zu deinem Programm gehört geschrieben hast. Bsp:

Code:
char *buffer = (char*)malloc(sizeof(char)7);
buffer[100] = 'b';  //Segfault

Auf dem PC bricht dein Programm, ab leider freezt die PSP, dies wirst du aber noch oft erleben Big Grin.
Ich denk mal, dass der Fehler ganz simpel daran liegt, dass du deine Variable "buffer", als Zeiger initialisieren muss (Zeiger haben keinen Wert,sonder Zeigen Standardmäßig auf eine Speicheradresse).
Also:

Code:
char *buffer;

Dann würde ich die Speicherzuweisung auch so gestalten:

Code:
buffer=(char*) malloc (sizeof(char)* lSize);

Deine Zuweisung funktioniert, trotzdem würde ich auf längerer Sicht auf dein sizeof Operator setzen. Da dies nur bei chars funktioniert.

Frag wenn du was nicht verstehst.




Meine PS3 Games : Warhawk , NFS: Pro Street, Motorstorm ,Midnight Club LA, LittleBigPlanet, GTA4, Uncharted 2, Overlord, Killzone2, PES10, Battlefield ´43, Socom: Confrontation,


Forum Regeln Beachten! KEIN ISO Talk! KEINE Beleidigungen! KEINE illegalen Links!


Dieser Beitrag wurde zuletzt bearbeitet: 18.09.2010 23:38 von pspbricker.

18.09.2010 23:36
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Folgende User bedanken sich:
Neutrosider (Oct-14-2010)
Neutrosider
Developer
*


Beiträge: 2.442
Gruppe: Developer
Registriert seit: Feb 2010

Status: Offline
Danke erhalten: 2325
Beitrag: #32
RE: PSP C Anfang - Helft mir auf meinem weg

danke! hatte bis grade völlig übersehen, dass du geantwortet hattest. also, sobald ich kann werd ichs testen. Danke nochmal.





GEGEN ACTA, SOPA UND PIPA!
was sind ACTA, SOPA und PIPA?
Infos dazu hier (video), hier (video) und hier (website)
28.09.2010 18:23
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
HacKmaN
Ex-Developer
*


Beiträge: 2.423
Gruppe: User
Registriert seit: Oct 2009

Status: Offline
Danke erhalten: 3319
Beitrag: #33
RE: PSP C Anfang - Helft mir auf meinem weg

Mal ne Frage: Wieso nutzt du die standart stdio Funktionen, wenn der PSP Kernel wesentlich bessere bereitstellt?

Im "PSP-Style" würde man den Einlese Teil folgendermaßen lösen:

Code:
int fd = 0, fsize = 0;
fd = sceIoOpen("datenbank.lua", PSP_O_RDONLY, 0777);

/* Der File-Discriptor ist KEIN Zeiger sondern ein UID (Unique identifier), deshalb ist 0 gültig! */
if(fd &lt; 0)
     sceKernelExitGame();

fsize = sceIoLseek(fd, 0, PSP_SEEK_END);
if(fsize &lt; 0)
     sceKernelExitGame();

char *buffer = (char *)malloc(fsize);
if(!buffer)
     sceKernelExitGame();

sceIoLseek(fd, 0, PSP_SEEK_SET);

int read = 0;
read = sceIoRead(fd, buffer, fsize);
if(read != fsize)
     sceKernelExitGame();

sceIoClose(fd);


Das Größe-Ermitteln kannst du natürlich auch mit sceIoGetstat lösen.

Dieser Beitrag wurde zuletzt bearbeitet: 28.09.2010 18:47 von HacKmaN.

28.09.2010 18:46
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Folgende User bedanken sich:
Neutrosider (Oct-14-2010)
Neutrosider
Developer
*


Beiträge: 2.442
Gruppe: Developer
Registriert seit: Feb 2010

Status: Offline
Danke erhalten: 2325
Beitrag: #34
RE: PSP C Anfang - Helft mir auf meinem weg

thx hackman. ich verstehe zwar nicht gaanz jede code zeile von dir, aber es sollte reichen, um den code zu nutzen. natürlich gibts auch für dich ein danke, aber ich bin grade mit unserer geliebten psp on ^^.

echt super wie mir hier geholfenwird Smile





GEGEN ACTA, SOPA UND PIPA!
was sind ACTA, SOPA und PIPA?
Infos dazu hier (video), hier (video) und hier (website)
28.09.2010 19:03
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
HacKmaN
Ex-Developer
*


Beiträge: 2.423
Gruppe: User
Registriert seit: Oct 2009

Status: Offline
Danke erhalten: 3319
Beitrag: #35
xPSP  RE: PSP C Anfang - Helft mir auf meinem weg

Neutrosider :
thx hackman. ich verstehe zwar nicht gaanz jede code zeile von dir, aber es sollte reichen, um den code zu nutzen. natürlich gibts auch für dich ein danke, aber ich bin grade mit unserer geliebten psp on ^^.

echt super wie mir hier geholfenwird Smile


Tipp: http://psp.jim.sh/pspsdk-doc/group__FileIO.html
Da werden die bekannten Funktionen sehr gut erklärt Smile

Ach, und wenn du absolut alles mit PSP Funktionen coden willst (so wills ich^^), kannst du das malloc auch durch Funktionen vom Sysmem ersetzten:

Code:
char *buffer = NULL;
SceUID PartitionID = 0;

PartitionID = sceKernelAllocPartitionMemory(1, "datenbank_Buffer", PSP_SMEM_Low, fsize, NULL);
if(PartitionID &lt; 0)
     sceKernelExitGame();

buffer = (char *)sceKernelGetBlockHeadAddr(PartitionID);


Und die Situation kenn ich, ich hatte als ich mit dem Coden angefangen hab noch ein halbes Jahr lang keinen PC mit Internet Wink

Dieser Beitrag wurde zuletzt bearbeitet: 28.09.2010 20:03 von HacKmaN.

28.09.2010 19:12
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Folgende User bedanken sich:
Neutrosider (Oct-14-2010)
Neutrosider
Developer
*


Beiträge: 2.442
Gruppe: Developer
Registriert seit: Feb 2010

Status: Offline
Danke erhalten: 2325
Beitrag: #36
RE: PSP C Anfang - Helft mir auf meinem weg

so, ich habs auf anhieb mit der variante von pspbricker hinbekommen. doch nun kommt das nächste problem, nämlich dass absätze keine absätze sind, sondern als seltsames zeichen angezeigt werden. gut, ich weiss dass absätze der char '\n' sind, das is klar, aber wie bringe ich dem programm bei, dass diese seltsamen zeichen absätze sind??





GEGEN ACTA, SOPA UND PIPA!
was sind ACTA, SOPA und PIPA?
Infos dazu hier (video), hier (video) und hier (website)
17.10.2010 18:08
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
-blue7
/dev/null/


Beiträge: 1.926
Gruppe: Mod a.D.
Registriert seit: May 2009

Status: Abwesend
Danke erhalten: 1768
Beitrag: #37
xPSP  RE: PSP C Anfang - Helft mir auf meinem weg

@Neutrosider

Steuerzeichen werden mit einem Backslash eingeleitet außerhalb einer Funktion, deshalb anstatt '\n' → '\\n' verwenden.



[Ex-Moderator] ; [Ubuntu-User] ; [Designer] ; [Coder] ;
running out of bugs`.
___________________________________________
#define TRUE FALSE // Happy debugging suckers
// sometimes I believe gcc ignores all my comments
17.10.2010 18:28
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Folgende User bedanken sich:
Neutrosider (Oct-17-2010)
Neutrosider
Developer
*


Beiträge: 2.442
Gruppe: Developer
Registriert seit: Feb 2010

Status: Offline
Danke erhalten: 2325
Beitrag: #38
RE: PSP C Anfang - Helft mir auf meinem weg

achso. ich hatte eine funktion geschrieben, die zumindest ein paar absätze reinbringen sollte, indem sie alle n's mit absätzen ersetzt, dabei hat er 'n' mit '\n' ersetzt. jetzt ergibts auch sinn, dass ich keinen unterschied gesehen habe, weils einfach keinen gab weil er n mit n ersetzt hat. wenn ich also stattdessen '\\n' schreibe müsste er alle n's mit absätzen ersetzen oder? kanns leider grade nicht testen, da ich nicht zu hause bin und an diesem PC keine entwicklerugebung eingerichtet ist.





GEGEN ACTA, SOPA UND PIPA!
was sind ACTA, SOPA und PIPA?
Infos dazu hier (video), hier (video) und hier (website)
17.10.2010 18:49
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Neutrosider
Developer
*


Beiträge: 2.442
Gruppe: Developer
Registriert seit: Feb 2010

Status: Offline
Danke erhalten: 2325
Beitrag: #39
xPSP  RE: PSP C Anfang - Helft mir auf meinem weg

habe jetzt diverse absatz methoden probiert, aber entweder wurde dann garkein Text angezeigt, oder wie vorher auch ohne absätze. Das ist mein Aktueller Quelltext:

Code:
#include &lt;pspkernel.h&gt;
#include &lt;pspdebug.h&gt;
#include &lt;pspdisplay.h&gt;
#include &lt;pspctrl.h&gt;
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include "graphics.h"
PSP_MODULE_INFO("Text auslesen", 0, 1, 1);
#define RGB(r, g, b) ((r)|((g)&lt;&lt;8)|((b)&lt;&lt;16))
/* Exit callback */
int exit_callback(int arg1, int arg2, void *common) {
          sceKernelExitGame();
          return 0;
}
/* Callback thread */
int CallbackThread(SceSize args, void *argp) {
          int cbid;

          cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL);
          sceKernelRegisterExitCallback(cbid);

          sceKernelSleepThreadCB();

          return 0;
}
/* Sets up the callback thread and returns its thread id */
int SetupCallbacks(void) {
          int thid = 0;

          thid = sceKernelCreateThread("update_thread", CallbackThread, 0x11, 0xFA0, 0, 0);
          if(thid &gt;= 0) {
                    sceKernelStartThread(thid, 0, 0);
          }

          return thid;
}
int main(void) {
  SetupCallbacks();
  initGraphics();
  SceCtrlData pad;
  double ypos=0;
  Color textfarbe=RGB(0,0,0);
  Color hintergrund=RGB(255,255,255);
  int i;
  FILE * pFile;
  long lSize;
  char *buffer;
  char check;
  pFile=fopen ("datenbank.lua","rb");
  if (pFile==NULL) sceKernelExitGame();
  fseek (pFile,0,SEEK_END);
  lSize=ftell(pFile);
  rewind(pFile);
  buffer=(char*) malloc (sizeof(char)* lSize);
  if (buffer==NULL) sceKernelExitGame();
  while (feof(pFile)==0){
    check=getc(pFile);
    if (check=='n'){
      putc('\n',pFile);
    }
  }
  rewind(pFile);
  fread(buffer,1,lSize,pFile);
  fclose(pFile);
  while(1){
    sceCtrlReadBufferPositive(&amp;pad,1);
      if(pad.Buttons &amp; PSP_CTRL_UP){
    ypos=ypos-1;
      }
      if (pad.Buttons &amp; PSP_CTRL_DOWN){
    ypos=ypos+1;
      }
     fillScreenRect(hintergrund,0,0,SCREEN_WIDTH,SCREEN_HEIGHT);
     printTextScreen(5,ypos,buffer,textfarbe);
     flipScreen();
      for(i=0;i&lt;1;i++){
      sceDisplayWaitVblankStart();
      }
  }
  return 0;
}





GEGEN ACTA, SOPA UND PIPA!
was sind ACTA, SOPA und PIPA?
Infos dazu hier (video), hier (video) und hier (website)

Dieser Beitrag wurde zuletzt bearbeitet: 08.11.2010 20:37 von Neutrosider.

08.11.2010 20:20
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
HacKmaN
Ex-Developer
*


Beiträge: 2.423
Gruppe: User
Registriert seit: Oct 2009

Status: Offline
Danke erhalten: 3319
Beitrag: #40
xPSP  RE: PSP C Anfang - Helft mir auf meinem weg

Mach den Code mal bitte in ein [ CODE ] [ / CODE] ding rein, so erkennt man überhaupt nichts^^

//EDIT: Ah, Danke Smile
//EDIT2: Bist du dir sicher, dass diese printTextScreen Funktion den Text formatiert ausgibt? Gib lieber den Code selber zeilenweiße aus (also bei \n y++)

Dieser Beitrag wurde zuletzt bearbeitet: 08.11.2010 20:39 von HacKmaN.

08.11.2010 20:36
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Neutrosider
Developer
*


Beiträge: 2.442
Gruppe: Developer
Registriert seit: Feb 2010

Status: Offline
Danke erhalten: 2325
Beitrag: #41
RE: PSP C Anfang - Helft mir auf meinem weg

habs grade auch gemerkt, hab ich gemacht.





GEGEN ACTA, SOPA UND PIPA!
was sind ACTA, SOPA und PIPA?
Infos dazu hier (video), hier (video) und hier (website)
08.11.2010 20:37
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
HacKmaN
Ex-Developer
*


Beiträge: 2.423
Gruppe: User
Registriert seit: Oct 2009

Status: Offline
Danke erhalten: 3319
Beitrag: #42
RE: PSP C Anfang - Helft mir auf meinem weg

Bist du dir sicher, dass diese printTextScreen Funktion den Text formatiert ausgibt? Gib lieber den Code selber zeilenweiße aus (also bei '\n' y++).

08.11.2010 20:40
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Neutrosider
Developer
*


Beiträge: 2.442
Gruppe: Developer
Registriert seit: Feb 2010

Status: Offline
Danke erhalten: 2325
Beitrag: #43
RE: PSP C Anfang - Helft mir auf meinem weg

also mache ich

Code:
while (feof(pFile)==0){
    check=getc(pFile);
    if (check=='n'){
      putc('\n',pFile);
    }
  }

weg und schreibe statt

Code:
printTextScreen(5,ypos,buffer,textfarbe);

schreibe ich dann

Code:
int x=-3;
int ynew=0;
while (feof(buffer)==0){
x=x+8;
    check=getc(buffer);
    if (check=='n'){
      ynew=ynew+10;
    }
printTextScreen(x,ypos+ynew,check,textfarbe);
  }


würde das so überhaupt funktionieren??





GEGEN ACTA, SOPA UND PIPA!
was sind ACTA, SOPA und PIPA?
Infos dazu hier (video), hier (video) und hier (website)

Dieser Beitrag wurde zuletzt bearbeitet: 08.11.2010 21:01 von Neutrosider.

08.11.2010 21:00
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
HacKmaN
Ex-Developer
*


Beiträge: 2.423
Gruppe: User
Registriert seit: Oct 2009

Status: Offline
Danke erhalten: 3319
Beitrag: #44
RE: PSP C Anfang - Helft mir auf meinem weg

KA...

Hier mal wie ichs mir vorstelle, ich habs allerdings weder getestet noch kompiliert...

Als erstmal diese funktion in die graphics.c (kA ob die funzt, wie gesagt nicht getestet)

Code:
/* modifikation von printText */
void putCharScreen(int x, int y, char ch, u32 color)
{
    int c, i, j, l;
    u8 *font;
    Color *vram_ptr;
    Color *vram;
    
    if(!initialized) return;
    
    if(x &lt; 0 || x + 8 &gt; SCREEN_WIDTH || y &lt; 0 || y + 8 &gt; SCREEN_HEIGHT)
        break;
    
    vram = getVramDrawBuffer() + x + y * PSP_LINE_SIZE;
    
    font = &amp;msx[(int)ch * 8];
    
    for(i = l = 0; i &lt; 8; i++, l += 8, font++)
    {
        vram_ptr = vram;
        
        for(j = 0; j &lt; 8; j++)
        {
            if((*font &amp; (128 &gt;&gt; j)))
                *vram_ptr = color;
            
            vram_ptr++;
        };
        
        vram += PSP_LINE_SIZE;
    };
};


Code:
#include &lt;pspkernel.h&gt;
#include &lt;pspdebug.h&gt;
#include &lt;pspdisplay.h&gt;
#include &lt;pspctrl.h&gt;
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include "graphics.h"
PSP_MODULE_INFO("Text auslesen", 0, 1, 1);

#define RGB(r, g, b) ((r)|((g)&lt;&lt;8)|((b)&lt;&lt;16))

/* Exit callback */
int exit_callback(int arg1, int arg2, void *common)
{
    sceKernelExitGame();
    return 0;
};

/* Callback thread */
int CallbackThread(SceSize args, void *argp)
{
    int cbid;
    
    cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL);
    sceKernelRegisterExitCallback(cbid);
    sceKernelSleepThreadCB();
    
    return 0;
};

/* Sets up the callback thread and returns its thread id */
int SetupCallbacks(void)
{
    int thid = 0;
    
    thid = sceKernelCreateThread("update_thread", CallbackThread, 0x11, 0xFA0, 0, 0);
    if(thid &gt;= 0)
        sceKernelStartThread(thid, 0, 0);
    
    return thid;
};

/* modifikation von printText */
void printTextScreen(int x, int y, char ch, u32 color)
{
    int c, i, j, l;
    u8 *font;
    Color *vram_ptr;
    Color *vram;
    
    if(!initialized) return;
    
    if(x &lt; 0 || x + 8 &gt; SCREEN_WIDTH || y &lt; 0 || y + 8 &gt; SCREEN_HEIGHT)
        break;
    
    vram = getVramDrawBuffer() + x + y * PSP_LINE_SIZE;
    
    font = &amp;msx[(int)ch * 8];
    
    for(i = l = 0; i &lt; 8; i++, l += 8, font++)
    {
        vram_ptr = vram;
        
        for(j = 0; j &lt; 8; j++)
        {
            if((*font &amp; (128 &gt;&gt; j)))
                *vram_ptr = color;
            
            vram_ptr++;
        };
        
        vram += PSP_LINE_SIZE;
    };
    
    x += 8;
};

int main(void)
{
    SetupCallbacks();
    initGraphics();
    
    SceCtrlData pad;
    Color textfarbe = RGB(0, 0, 0);
    Color hintergrund = RGB(255, 255, 255);
    
    double ypos=0;
    int i = 0;
    FILE *pFile = NULL;
    long lSize = 0;
    char *buffer = NULL;
    char check = 0;
    
    pFile = fopen ("datenbank.lua","rb");
    
    if(!pFile)
        sceKernelExitGame();
    
    fseek(pFile, 0, SEEK_END);
    lSize = ftell(pFile);
    rewind(pFile);
    
    buffer = (char *)malloc(lSize * sizeof(char));
    
    if(!buffer)
        sceKernelExitGame();
    
    while(feof(pFile) == 0)
    {
        check = getc(pFile);
        if(check == 'n')
            putc('\n', pFile);
    };
    
    rewind(pFile);
    fread(buffer, 1, lSize, pFile);
    fclose(pFile);

    while(1)
    {
        sceCtrlReadBufferPositive(&amp;pad,1);
        if(pad.Buttons &amp; PSP_CTRL_UP)
            ypos--;
        
        if(pad.Buttons &amp; PSP_CTRL_DOWN)
            ypos++;
        
        fillScreenRect(hintergrund, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
        
        int x = 0, y = 0;
        char *bufptr = (char *)buffer;
        
        for(y = ypos; bufptr &lt; (buffer + lSize); y++)
        {
            for(x = 5; *bufptr != '\n'; x += 8, ptr++)
                putCharScreen(x, y, *bufptr, textfarbe);
        };
        
        flipScreen();
        sceDisplayWaitVblankStart();
    };
    
    return 0;
};


Ich hab wie schon ein paar mal gesagt keine Ahnung ob dass funktionieren würde, habs nciht getestet.

Ach btw... bin nicht drum rumgekommen den Code etwas zu formatieren, ich finde dass er so *etwas* besser lesbar ist^^

Dieser Beitrag wurde zuletzt bearbeitet: 08.11.2010 21:08 von HacKmaN.

08.11.2010 21:06
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Folgende User bedanken sich:
Neutrosider (Nov-8-2010)
Neutrosider
Developer
*


Beiträge: 2.442
Gruppe: Developer
Registriert seit: Feb 2010

Status: Offline
Danke erhalten: 2325
Beitrag: #45
RE: PSP C Anfang - Helft mir auf meinem weg

ok, ich werde es mal versuchen, kompilieren, falls nötig verscuhen fehler zu beheben, und falls es läuft denke ich mal etwas genauer in den Code rein. Danke schonmal Hackman Smile

EDIT: habs versucht zu kompilieren, aber einige variablen wurden wohl entweder garnicht oder nicht korrekt deklariert, das spuckt der Compiler aus:

Code:
make
psp-gcc -I. -I/usr/local/pspdev/psp/sdk/include -O2 -G0 -Wall -D_PSP_FW_VERSION=150   -c -o main.o main.c
main.c:44: Fehler: In Konflikt stehende Typen für »printTextScreen«
graphics.h:215: Fehler: Vorherige Deklaration von »printTextScreen« war hier
main.c: In Funktion »printTextScreen«:
main.c:51: Fehler: »initialized« nicht deklariert (erste Benutzung in dieser Funktion)
main.c:51: Fehler: (Jeder nicht deklarierte Bezeichner wird nur einmal aufgeführt
main.c:51: Fehler: für jede Funktion in der er auftritt.)
main.c:54: Fehler: break-Anweisung nicht innerhalb einer Schleife oder »switch«
main.c:58: Fehler: »msx« nicht deklariert (erste Benutzung in dieser Funktion)
main.c:46: Warnung: Variable »c« wird nicht verwendet
main.c: In Funktion »main«:
main.c:135: Fehler: »ptr« nicht deklariert (erste Benutzung in dieser Funktion)
main.c:136: Warnung: Implizite Deklaration der Funktion »putCharScreen«
main.c:88: Warnung: Variable »i« wird nicht verwendet
make: *** [main.o] Fehler 1





GEGEN ACTA, SOPA UND PIPA!
was sind ACTA, SOPA und PIPA?
Infos dazu hier (video), hier (video) und hier (website)

Dieser Beitrag wurde zuletzt bearbeitet: 08.11.2010 21:14 von Neutrosider.

08.11.2010 21:08
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Antwort schreiben  Thema schreiben 

Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
xPSP C und C++ lernen (Anfang) PSP-Kenner 19 7.134 18.04.2011 20:37
Letzter Beitrag: onecra
xPSP C++ Anfang MyKey 9 2.432 16.09.2010 10:03
Letzter Beitrag: MyKey
xPSP Lua Hello am anfang gleich erstes problem? homer 3 1.562 11.11.2009 14:28
Letzter Beitrag: philix

Druckversion anzeigen
Thema einem Freund senden
Thema abonnieren | Thema zu den Favoriten hinzufügen




» zum Seitenanfang