GnuBoy veröffentlicht


EvilDragon

Administrator
Staff member
Joined
Mar 4, 2003
Messages
29,986
Age
46
Location
Ingolstadt
Da mit die GB / GBC Emulation von VisualBoyAdvance nicht so wirklich gefallen hat, hab ich mir den Quellcode von GnuBoy gekrallt und mit etwas Hilfe für die Pandora kompiliert.

Hier haben wir also nun einen funktionierenden GnuBoy, der .7z und .zip-gepackte Roms frisst, Vollbild oder Proportional skaliert, SRAM und bis zu 10 Savestates (pro Spiel) unterstützt.
Keine großartige GUI, aber die braucht man für den GameBoy nicht wirklich ;)

Viel Spaß damit - und Probleme und Feedback können hier gegeben werden.

Download: GnuBoy
 
Das ist ja mal eine gute Neuigkeit, leider kann ich den Emulator nicht testen, werde es machen, wenn meine Pandora da ist ;)

Vielen Dank.
 
Wahnsinns Emu, gefällt mir sehr sehr gut. Bester GB/GBC Emu zur Zeit.
Kommt bei mir direkt nach Picodrive auf meine Favourites Liste. :)
Unterstützt auch das Display sehr schön; tolles Scaling!

Was man dabei auch noch hervorheben sollte: super Idee dass man per Splash-Screen zu Beginn die gewünschte Auflösung (Fullscreen etc.) wählen kann, und, dass vorallem die Buttonbelegung nochmal angezeigt wird!
Das könnte man ruhig auch bei anderen Emus so übernehmen; wenn schon kein einheitliches System zur Menübelegung gefunden wird, kann es nie schaden die Buttonbelegungen nochmal vor Auge geführt zu bekommen. ;)

Das fehlende GUI stört mich jetzt nicht sonderlich; die Emulation ist spitze, Savestates gibts auch, alles andere ist ein netter Bonus. ;)

Meine Wertung: 9.5 / 10

(0.5 sind mir das GUI doch Wert) :ph34r:
 
Was heißt eigendlich fehlende GUI?, Wählt man Roms über ein Terminal mit Ordnerpfadschreiben aus, oder geht das wie beim Lameboy auf dem DS über eine Liste durch die man Scrollen kann?, Letzteres wäre doch schon super, also ich brauche da keine GUI wo man was mit Bunten Buttons auf dem TS macht..
 
Fehlendes GUI kannst dir so vorstellen:

Nach Starten des Emulators poppt ein Menü auf, in dem du einstellen kannst ob das Game z.B. Fullscreen gestartet werden soll etc... Einzigartig für GnuBoy. Danach kannst du mittels Standard-Pandora-Explorer (ähnlich dem Windows Explorer) zu deinem Rom-Ordner navigieren und das gewünschte Spiel markieren.
Danach gehts los und du kannst zocken. :)
Einzig weitere Funktion (neben dem anlegen von Savestates über ne Tastenkombi), ist das beenden des Spiels, was dich wieder zur Standard-Pandora-Explorer Ansicht bringt, in dem du nun ein anderes Spiel wählen könntest, oder aber den Emu beendest.

Im Gegenzug dazu bietet z.B. Picodrive ein eigenes Menü, welches du auch wärend des laufenden Spiels erreichen kannst. In diesem Menü lassen sich direkt neue Games laden, Savestates anlegen, Einstellungen vornehmen und und und.
 
Naja, wenn das der gleiche GnuBoy Emu ist wie auf dem GP2X, dann könnte ich mir vorstellen, dass die Button-Combos zur "Menüführung" einige zur Weißglut treiben könnten. ;)
Ich erinnere mich da vage an den heftigen Einsatz der Schultertasten etc... um zu navigieren. GnuBoy ist der ideale Kandidat um die Steuerungen mal an die Fähigkeiten der Pandora anzupassen, falls das nicht schon geschehen ist. (Pandora-Button etc...)
Der Emu selber ist 1A, da gibts nix zu meckern. Aber diese eigensinnigen Button-Combos sind Gift für die leichte Usability behaupte ich mal. ^^ Ich erwähne das nur, weil mir eben der GnuBoy diesbezüglich in schlechter Erinnerung war vom GP2X her. Pandora hat viel mehr Menü-Buttons, da wird sich doch was drechseln lassen? :)
 
Danke ED, dass du den Emu zur Verfügung stellst. Ohne weitere Optimierungen ist für mich aber immer noch Visual Boy die Referenz auf der Pandora. Gnu Boy ruckelt merklich auf 600 Mhz und er stellt Spiele, die beim Super Game Boy eine spezielle Farbpallette verwenden (z.B. Donkey Kong GB) nur in S/W dar. Das alles macht Visual Boy besser.

Dennoch könnte auch Visual Boy noch verbessert werden. Die Spiele scrollen irgendwie nicht so weich wie es sein sollte.
 
Christoph.K said:
Thrake said:
Christoph.K said:
[ ]Du hast den Open-Source-Gedanken ansatzweise verstanden
[x]Meinung zur Kenntnis genommen

Du allerdings auch nicht.
Soso.

Diese Erkenntnis ziehst du woraus?

Aus dem Kommentar von dir, den ich gequotet habe. Meiner Meinung nach sollte ein Moderator ebenfalls einen user nicht aufgrund seiner Meinung degradieren, indem er ihm vorwirft, den OpenSource gedanken nicht verstanden zu haben.
 
b3w said:
Ich frage mich mehr, warum das Aufsetzen einen CrossCompilers dokumentiert wird, das Aendern von makefiles und Pfaden die auf die pandora zugeschnitten sind aber nicht. Da ist in der Wiki einfach Schluss. Kann doch nicht so schwer sein ein paar Beispiele, meinetwegen auch gnuboy zu dokumentieren. Um mal ein wenig auf das eigentliche Thema, naemlich gnuboy zurueckzukommen.

Hm, viele Programme im Archiv haben den Quellcode verlinkt, PocketSNES o.ä. haben einen GIT, da sind die Makefiles dabei.
GnuBoy Code kommt heute Nacht, wobei kaum was verändert wurde.

Das Makefile ist an sich das Originale nur eben mit den entsprechenden Includes zu den Pandora-Libraries und den ausgetauschten Namen der Compiler-Bins.
Das Makefile funktioniert genauso wie bei jedem normalen anderen System, da gibt es eigentlich nicht viel zu dokumentieren.

Hier z.B. das Pandora-Makefile von GnuBoy:
Code:
<i>
</i>CC = arm-none-linux-gnueabi-gcc
LD = $(CC)
AS = $(CC)

CFLAGS =  -ansi -pedantic -Wall -Wno-implicit -Wno-long-long -O3 -fstrength-reduce -fthread-jumps  -fcse-follow-jumps -fcse-skip-blocks -frerun-cse-after-loop  -fexpensive-optimizations -fforce-addr -fomit-frame-pointer
LDFLAGS = $(CFLAGS) -Wl,-rpath -Wl,/home/michi/pandora-dev/arm-2009q3/usr/lib -L/home/michi/pandora-dev/arm-2009q3/usr/lib -L/home/michi/pandora-dev/arm-2009q3/arm-none-linux-gnueabi/libc/lib -L/home/michi/pandora-dev/arm-2009q3/arm-none-linux-gnueabi/libc/usr/lib -L/home/michi/pandora-dev/arm-2009q3/usr/lib -s
ASFLAGS = $(CFLAGS)

TARGETS =  sdlgnuboy

ASM_OBJS = 

SYS_DEFS = -DHAVE_CONFIG_H -DIS_LITTLE_ENDIAN  -DIS_LINUX
SYS_OBJS = sys/nix/nix.o $(ASM_OBJS)
SYS_INCS = -I/home/michi/pandora-dev/arm-2009q3/usr/include -I./sys/nix

SDL_OBJS = sys/sdl/sdl.o sys/sdl/keymap.o
SDL_LIBS = -L/home/michi/pandora-dev/arm-2009q3/usr/lib -lSDL
SDL_CFLAGS = -I/home/michi/pandora-dev/arm-2009q3/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT


all: $(TARGETS)

include Rules

sdlgnuboy: $(OBJS) $(SYS_OBJS) $(SDL_OBJS)
	$(LD) $(LDFLAGS) $(OBJS) $(SYS_OBJS) $(SDL_OBJS) -o $@ $(SDL_LIBS)

sys/sdl/sdl.o: sys/sdl/sdl.c
	$(MYCC) $(SDL_CFLAGS) -c $< -o $@

sys/sdl/keymap.o: sys/sdl/keymap.c
	$(MYCC) $(SDL_CFLAGS) -c $< -o $@

clean:
	rm -f *gnuboy gmon.out *.o sys/*.o sys/*/*.o asm/*/*.o
 
Okay. Seit lieb zueinander.

@Guru: Natürlich darf man Kritik äußern. Eigentlich muss man sie sogar äußern, sonst klappt das Ganze nicht. Aber hier wird etwas falsch gemacht. Es wird sich hingestellt und gesagt: "Das und das stimmt nicht, ich _erwarte_, dass das geändert wird". So läuft das nicht. Sagt, was euch stört. Das ist völlig in Ordnung. Aber motiviert die Macher dann auch, es zu ändern. So wie da oben geht das aber definitiv nicht.

@Thrake: Beim GpSP sollte eine Datei romdir.txt dabei sein, in der der Pfad zum Romverzeichnis reinkommt( zumindest denke ich, dass dem so ist ). Bei meinem WiZ steht einfach nur "/mnt/sd/game/GpSP/rom" drin(ohne die ""). Vll. hilft dir das ja.
 
EvilDragon said:
Hm, viele Programme im Archiv haben den Quellcode verlinkt, PocketSNES o.ä. haben einen GIT, da sind die Makefiles dabei.
GnuBoy Code kommt heute Nacht, wobei kaum was verändert wurde.

Das Makefile ist an sich das Originale nur eben mit den entsprechenden Includes zu den Pandora-Libraries und den ausgetauschten Namen der Compiler-Bins.
Das Makefile funktioniert genauso wie bei jedem normalen anderen System, da gibt es eigentlich nicht viel zu dokumentieren.

Hier z.B. das Pandora-Makefile von GnuBoy:

Ist im Grunde nur eine Grundidee gewesen. Man nimmt sich eine dokumentierte Crosscompilerloesung vor und setzt ein Programmbeispiel bis zur fertigen PND fort. Beispiele, die jeder auch ohne pandora durchspielen kann. Einfach um Sicherheit zu bekommen. Angefangen ueber ein Konsolentool, einer ncurses Anwendung bis hin zur ersten gtk Anwendung.

Denn ich habe einige Programme, mit denen ich die vorgebebenen Loesungen der pandora ersetzen moechte. Dabei handelt es sich gar nicht mal um Emus oder Spiele. Vieles ist nicht im Angstrom Repository, einiges nicht ganz aktuell im Debian Repository, aber alles schon fuer x86 in der neuesten Version durchkompiliert. Klar wuerde ich das fuer mich auch ueber den Crosscompiler fuer die pandora hinbekommen. Ich wuesste aber nicht, ob ich die kompilierten Programme auch veroeffentlichen wuerde, wenn ich die pandora denn habe.
 
Back
Top