wizTest.gpe bleibt beim "Loading" hängen


deetee

Still Fresh
Joined
Jul 28, 2010
Messages
19
Location
Vienna, Austria
Hallo,

als stolzer Neuling am WIZ möchte ich gerne (wie so viele vor mir) Software entwickeln. Dazu möchte ich auf meinem Debian-Linux-System C++ Programme (gcc) schreiben, die ich mit der toolchain in ein .gpe kompilieren und am WIZ starten will (SDL ist dann noch ein eigenes Thema).

Dafür habe ich das Tutorial von http://www.gp2xwiz.co.uk/wiki/Setting_up_the_tool_chain_on_Linux verwendet - alles klappt wie beschrieben, leider bleibt beim Start (mit dem Launcher) wizTest.gpe beim "Loading" hängen.

Was ist der Grund dafür? Wie kann ich das herausfinden?

wizTest funktioniert am PC ("hello world")
Ich benutze die toolchain-1.2.4 und gcc 4.3 auf Debian 5.0 ("lenny" mit Kernel 2.6.26)

Danke im Voraus
LG deetee
 
Hallo deetee!

Starte das Programm mal über das Terminal ,dann solltest Du die Textausgabe des Hallo World Programms sehen.
 
Hallo sbock - meine erste Post und dann gleich einen Tipp vom Meister ...

Danke für die Termula-Empfehlung - tolles Programm, wenn auch eine Prüfung für meine alten Augen. Ist es möglich Termula mittels USB-Keyboard oder vom (Linux-)PC-Terminal zu betreiben?

"Hello World" funktioniert - schade, dass man nicht direkt "launchen" kann.

LG deetee
 
Direkt gehts, wenn Du das Binary korrekt ablegst und ein Ini-Skript dazulegst.

http://www.final-memory.org/?page_id=1193 <- bei meinem Spiel Quadromania findest Du die Infrastruktur, die Du natürlich einfachst reusen kannst. Auch Richtung SDL kannst Du dir da gerne was abschauen, wenns denn hilft.

Happy Wizzing :)
 
deetee said:
Hallo sbock - meine erste Post und dann gleich einen Tipp vom Meister ...

Danke für die Termula-Empfehlung - tolles Programm, wenn auch eine Prüfung für meine alten Augen. Ist es möglich Termula mittels USB-Keyboard oder vom (Linux-)PC-Terminal zu betreiben?

"Hello World" funktioniert - schade, dass man nicht direkt "launchen" kann.

LG deetee

Ja, Termula unterstützt auch den USB Host des Wiz. Mit einem seriellen Kabel hast Du die Konsole auch über PC. Zum Entwickeln ist das eigentlich die beste Lösung, Termula ist eher ein Behelf.

Der printf Befehl des "Hallo World" Progamms geht leider nur auf die Konsole, daher kann man beim direkten Starten des Programms nichts auf dem Bildschirm sehen. Du kannst aber mal ein einfaches "Hallo Pixel" SDL Programm ausprobieren:
Code:
#include "SDL.h"

int main(int argc, char *argv[]) {
     SDL_Surface *screen;
     Uint8       *p;
     int         x = 30; //x coordinate of our pixel
     int         y = 40; //y coordinate of our pixel

     /* Initialize SDL */
     SDL_Init(SDL_INIT_VIDEO);

     /* Initialize the screen / window */
     screen = SDL_SetVideoMode(320, 240, 8, SDL_SWSURFACE);

     /* Make p point to the place we want to draw the pixel */
     p = (Uint8 *)screen->pixels + y * screen->pitch + x * screen->format->BytesPerPixel;

     /* Draw the pixel! */
     *p=0xff;

     /* update the screen */
     SDL_Flip(screen);
     while(1);
}

Damit solltest Du auch auf dem Wiz oben links einen weißen Pixel auf schwarzen Grund sehen.
 
Hallo - vielen Dank für die Antworten und Tipps, die sich nun relativ breit auffächern und viele weitere Fragen aufwerfen:

@simonsunnyboy
Was meinst du mit "Binary korrekt ablegen"?
Ich hab's im game-Ordner in einen Subordner test gelegt und einen .ini-File angelegt, der /test/test.gpe aufruft. Starte ich am Wiz diese ini, bleibt der Bidschirm schwarz und ich muss resetten. Soll ich über einen .gpu-File starten? - da kenne ich mich noch zu wenig aus.

@sbock 1
Mit einem seriellen Kabel über die Konsole direkt mit dem PC verbinden meinst du wahrscheinlich, dass ich über mgetty (oä) vom PC aus in den Wiz einloggen kann. Dazu fehlt mir das Kabel (Bestellung von Samsung-Kabeln läuft aber). Ich kenne deine Bilder vom Wiz-Kabel mit serieller Schittstelle und dann einem Kabel zum PC-USB-Port. Geht das auch direkt (Wiz-auf-USB) oder müsste ich da so etwa wie einen Seriell-USB-Konverter (Elektronik) zwischenschalten? Ich bin nicht "der" begnadete Bastler.

@sbock 2
Ich habe gestern das Debian-Paket libsdl1.2-dev installiert (das SDL.h beinhält) - sind noch andere Pakete nötig, um SDL-Software für den Wiz zu entwickeln? Nun stiess ich beim Kompilieren auf Probleme. Ich startete mit ...
/opt/arm-open-wiz-linux-gnu/bin/arm-openwiz-linux-gnu-gcc sdltest.c -i /usr/include/SDL -lSDL -o sdltest.gpe
... in der Hoffnung einen lauffähigen sdltest.gpe-File zu bekommen.
Leider bekomme ich die Compiler-Meldung "cannot find -lSDL". Gebe ich den Kompilierbefehl ohne "-lSDL" ein, findet er keine Referenzen zu SDL-Funktionen (z.B. SDL-Init).

Ich bin mit meinen (sich potenzierenden) Fragen nun schon weit weg vom eigentlichen Thema. Trotzdem danke für die Geduld mit mir.
LG deetee
 
deetee said:
@simonsunnyboy
Was meinst du mit "Binary korrekt ablegen"?
Ich hab's im game-Ordner in einen Subordner test gelegt und einen .ini-File angelegt, der /test/test.gpe aufruft. Starte ich am Wiz diese ini, bleibt der Bidschirm schwarz und ich muss resetten. Soll ich über einen .gpu-File starten? - da kenne ich mich noch zu wenig aus.

Im Prinzip tue ich nichts anderes. Mein .ini startet allerdings nicht direkt das Binary, sondern ein Shellskript, welches danach korrekt zum Menü zurückkehrt:

If habe folgende Ordnerstruktur:

/game/myini.ini
/game/program/program.gpe

Das Shellskript sieht dann so aus:
Code:
<i>
</i>#!/bin/sh
cd program
./program.gpe
sync
cd /usr/gp2x
exec /usr/gp2x/gp2xmenu

Hab ich mir irgendwo abgeschaut und funktioniert eigentlich hervorragend.
 
Vielen Dank für den Tipp - aber irgendetwas mache ich falsch. Ich sehe nur einen schwarzen Bildschirm - danach kommt das gp2xmenu (zumindest kein Absturz).

Also ich habe 3 Files:

/game/test.ini
[info]
name="test"
path="/test/shell"
icon=""

/game/test/shell
#!/bin/sh
./test.gpe
sync
cd /usr/gp2x
exec /usr/gp2x/gp2xmenu

/game/test/test.gpe
... das Hello-World-Programm (printf), das zumindest in termula funktioniert ...

Ich habe das Gefühl, dass der Programmaufruf prinzipiell funktioniert, aber ich sehe in der Anzeige nichts (entweder schwarz auf schwarz oder ich muss im C-Programm irgendwie so etwas, wie einen Screen-Refresh durchführen).
Ich habe auch ein anderes Programm versucht, das nach einer Textausgabe in einer Endlosschleife bleibt - aber auch da bleibt der Bildschirm dunkel (und ich muss resetten).

LG deetee
 
Die Text-Ausgabe seines Programms kann man leider nicht sehen. GPH war nicht so schlau und hat da irgendein Terminal oder ähnliches eingebaut.

Deine ini-Files und so sind korrekt.
 
Aha - schade.
Vielen Dank aber für deine Antwort und Mühe (meinen Code anzuschauen). Ich versuche mich nun eher in Richtung SDL zu orientieren.

LG deetee
 
Back
Top