Working Port Of Gngeo


manolis

Still Fresh
Joined
Jun 12, 2010
Messages
16
Age
35
Location
Berlin/Germany
Website
blog.manol.is
UPDATE 2:
With the help of my buddy AlexanderS I modified the gui of xgngeo. There is no rom select dialog anymore. This is now done in the main window. (No fiddeling with the stylus) Roms can now be started by pressing Space or Enter.
gngeo-0.7-xgngeo-r1.pnd
There was a bug in this version if you can't open the Rom directory dialog, please redownload the pnd file.

UPDATE:
After a night of shotgun programming (removing code till it works), I decided that I currently have no time to port rage2x. This will have to wait at least till the exams at my university are over. Rage2x is simply to optimized for the gp2x. Nearly all values for the gui are hardcoded for a small resolution. So to have a fast solution everybody can use I added the Xgngeo as frontend to the package. I also witched the z80 emulation core from the mamez80 to the drz80. Have fun.
gngeo-0.7-xgngeo.pnd

Hi,
i wasn't happy with the performance of the neogeo emulation of mame, so i ported gngeo. Currently it uses the same method to select a rom like mame does, but i think i will port one of the frontends in the near future. The emulator runs at full speed with no glitches. I tested MetalSlug 1 2 and X (played all missions with no problems).

gngeo-0.7-nofrontend.pnd

Keybindings

Key on NeoGeo - Key on Pandora

U,D,L,R - DPAD
A - A
B - X
C - B
D - Y
Coin - 4
P1 - 1
Reset - F1
Screenshot - F2
Testmode - F3
Show FPS - F5
Slowmotion - F6
Save - F8
Load - F9
Toggle Autoframeskip - F10
Sleep Idle - F11
Toggle Fullscreen - F12
Exit - Esc

You need to put the neogeo bios files in the "bios" folder in appdata.
I found this port by pickle (pickle.gp2x.de/gngeo-pnd.zip), but for me, it Segfaulted after showing the NEOGEO screen. I had the same issue and solved it by choosing the Emulator cores written in C instead of the ones written in Arm Assembler.
I hope i didn't miss an already existing working port and hope you have fun.

Greetings
Manolis
 
manolis said:
Keybindings
NeoGeo - Pandora
U,D,L,R - DPAD
A - A
B - X
C - B
D - Y
Coin - 4
P1 - 1
Reset - F1
Screenshot - F2
Testmode - F3
Show FPS - F5
Slomotion - F6
Save - F8
Load - F9
Toggle Autoframeskip - F10
Sleep Idle - F11
Toggle Fullscreen - F12
Exit - Esc

What is NeoGeo? (in the Keybindings) Is it the emulator menu? If not, I would suggest using Start or Select for that.

-God Ginrai
 
Last edited by a moderator:
Holy Shit!

Thanks manolis. I'm heading out the door in a few minutes, but I look forward to trying this one in the morning. A cool frontend like the GP2X version would rock hard. I was wondering when someone would port this.

The more Pandora's that arrive, the more awesome emu's we can all get. Great Job, thank you! :lol:

Chris
 
manolis said:
Hi,
i wasn't happy with the performance of the neogeo emultation of mame, so i ported gngeo. Currently it uses the same method to select a rom like mame does, but i think i wil port one of the frontends in the near future. The emulator runs at full speed with no glitches. I tested MetalSlug 1 2 and X (played all missions with no problems).
Greetings
Manolis
Cool this runs great!

I noticed you were missing a preview pic for us who use Minimenu, so here is one you can use below if you want. Also an icon for those who want that (The default one is Ok too)

neogeoicon.png

neogeoprev.png



Also does this not support large ROMs or is there a trick to get some games working?

Pulstar comes up with a glitched screen then basically calls me a pirate in red text.

Blazestar the graphics are all glitched

Thanks for the great port though it runs nice and smooth.
 
Last edited by a moderator:
maybe we could have some optimisation when Pepone have his Pandora but this is a good start
 
God Ginrai said:
What is NeoGeo? (in the Keybindings) Is it the emulator menu? If not, I would suggest using Start or Select for that.
NeoGeo is not a key. It should explain how to read the "table". I changed that in the post to make it more clear.

DaveC said:
I noticed you were missing a preview pic for us who use Minimenu, so here is one you can use below if you want. Also an icon for those who want that (The default one is Ok too)
I this is only a quick hack to make it work. Maybe i will add a preview later, but thanks for the picture. (The default icon is the official icon of gngeo)

DaveC said:
Also does this not support large ROMs or is there a trick to get some games working?
I'm not that familiar with neogeo games an the emultation of those (i just wanted to play MetalSlug witch i loved in arcade halls as a child). Maybe your game is a neogeo CD game? As far as i know gngeo only emulates neogeo (the arcade thing).

EDIT:
I just tested the largest neogeo rom compatible with gngeo i had in my mame collection (garoup.zip with around 37 MByte). It took some time to load but it started. It did not run smooth, but this was maybe caused by me pushing data via sftp over usb to the pandora.

EDIT 2:
Jap, it worked smooth after the transfer was done.

Greetings
Manolis
 
Last edited by a moderator:
Hi Manolis, really well done mate :) !

I'm sure Neo-Geo is a milestone in entertainment history no retro-gamer should miss to play ;)

manolis said:
[...] I had the same issue and solved it by choosing the Emulator cores written in C instead of the ones written in Arm Assembler.

... any chance some 'gurus' out there can give an hand to solve the issues with the ARM cores :huh: ?!

I'm sure we'd get some nice speed improvement from that ... and speed improvements are always welcome ;) !
 
Last edited by a moderator:
manolis said:
I found this port by pickle (pickle.gp2x.de/gngeo-pnd.zip), but for me, it Segfaulted after showing the NEOGEO screen. I had the same issue and solved it by choosing the Emulator cores written in C instead of the ones written in Arm Assembler.
I hope i didn't miss an already existing working port and hope you have fun.

The only other version im aware of was one done by cpasjuste, but I couldnt find it. Thus i did my build.
But thats bad if the arm cores didnt work (performance loss). Does the problem game work for gp2x/wiz? The only thing i ran were some metal slug stuff.

Another thing, if your really into supporting this you should consider porting the rage2x frontend too.
 
Last edited by a moderator:
wizboy said:
... any chance some 'gurus' out there can give an hand to solve the issues with the ARM cores :huh: ?!

I'm sure we'd get some nice speed improvement from that ... and speed improvements are always welcome ;) !

Agreed, you all know how I feel, optimisation optimisation optimisation!
 
Last edited by a moderator:
craigix said:
wizboy said:
... any chance some 'gurus' out there can give an hand to solve the issues with the ARM cores :huh: ?!

I'm sure we'd get some nice speed improvement from that ... and speed improvements are always welcome ;) !

Agreed, you all know how I feel, optimisation optimisation optimisation!

Great Craigix: you rock man :) !!! ... this is the spirit I like to see :D

Alerino said:
SHOW ME THE MONEY!!

... :huh: not sure why, but this doesn't sound really 'patriotic' :p !!!
 
Last edited by a moderator:
WOW, this emu screams big time. The Pandora was made for NeoGeo. The screen looks the best with these games, and the sound and speed are ultra smooth. No problems at all.

Please add a frontend, and a way to select another game without exiting, and this will be done. Then it will be the best emu on the Pandora so far. Simply AWESOME!

Chris
 
Pickle said:
The only other version im aware of was one done by cpasjuste, but I couldnt find it. Thus i did my build.
But thats bad if the arm cores didnt work (performance loss). Does the problem game work for gp2x/wiz? The only thing i ran were some metal slug stuff.

Another thing, if your really into supporting this you should consider porting the rage2x frontend too.
The game i tryed was Metal Slug 1 and i could not test it on a gp2x/wiz because i do not own one. I also mentioned that i will port a frontend in the future. Currently im looking into XGngeo because i could not find the sourcecode for rage2x. Google only gives dead links. Does somebody have a link?

wizboy said:
... any chance some 'gurus' out there can give an hand to solve the issues with the ARM cores :huh: ?!

I'm sure we'd get some nice speed improvement from that ... and speed improvements are always welcome ;) !
Why is everybody so stoked about arm asm? With modern compilers its very hard and often nearly impossible to write asmcode that is significantly faster than generated asmcode. And why would anybody write some asm witch gives a plus of 1% maybe 2% when the software already runs at fullspeed?

Greetings
Manolis
 
Last edited by a moderator:
Some random bugs:

-Some sound in Metal Slug (eg. countdown timer) is playing weird.

-Wake Waku 7 loads but the sprites are all garbled. Same for some others (copy protection?)

-Top Hunter not showing the landscape graphics.
 
manolis said:
wizboy said:
... any chance some 'gurus' out there can give an hand to solve the issues with the ARM cores :huh: ?!

I'm sure we'd get some nice speed improvement from that ... and speed improvements are always welcome ;) !
Why is everybody so stoked about arm asm? With modern compilers its very hard and often nearly impossible to write asmcode that is significantly faster than generated asmcode. And why would anybody write some asm witch gives a plus of 1% maybe 2% when the software already runs at fullspeed?

Actually, Emulation is one of the few venues left where writing assembly can generate much faster code than the modern compiler.

-God Ginrai
 
Last edited by a moderator:
craigix said:
Agreed, you all know how I feel, optimisation optimisation optimisation!
heh, this made me think of this:

http://www.youtube.com/watch?v=KMU0tzLwhbE

and I laughed, sorry, carry on.
 
Last edited by a moderator:
manolis said:
Why is everybody so stoked about arm asm? With modern compilers its very hard and often nearly impossible to write asmcode that is significantly faster than generated asmcode. And why would anybody write some asm witch gives a plus of 1% maybe 2% when the software already runs at fullspeed?

Greetings
Manolis

Maybe then it could be run at a lower clock which means more battery life. I am not sure about the Pandora and how much it would matter, but on the GP2X the emu went from an almost unplayable choppy mess with stuttery sound to FS0 and smooth with the Cyclone ASM core.

This port does seem to run smooth though, I haven't seen speed issues on the games I tried yet.
 
Last edited by a moderator:
manolis said:
Why is everybody so stoked about arm asm? With modern compilers its very hard and often nearly impossible to write asmcode that is significantly faster than generated asmcode. And why would anybody write some asm witch gives a plus of 1% maybe 2% when the software already runs at fullspeed?

... God Ginrai and DaveC just replied to this question so I'd say there're no doubts left about this point ;)

Anyway, many years have passed, since I compiled my last piece of C/C++ code, so I can't tell if modern compilers can come so close to ASM optimization to give room for just few percentage points performance increase.


... from what I can read from DaveC though, I'd say things are not exactly like that ;) :

DaveC said:
I am not sure about the Pandora and how much it would matter, but on the GP2X the emu went from an almost unplayable choppy mess with stuttery sound to FS0 and smooth with the Cyclone ASM core.


Manolis you already achieved a great result and you have the greatest respect of us all :lol: !!!

As a programmer (a very good one I'd say ;) ) I'm sure you already experienced the feeling of running a software you're aware it's using each Cpu clock tick to absolutely do what it needs to do and you know it's not simply doing it fine but it's doing it at its best :rolleyes: !!!

I know this can sound silly, after all if a sw does what it's programmed for what else ?

Anyway allow an 'old' programmer the pleasure to still see some code written as only the best can do :lol:

After all, as Atomicthumbs says:

atomicthumbs said:
emulation and the demoscene are the last true refuges of the godly programmers

Cheers :) !
 
Last edited by a moderator:
Back
Top