Is The Latest Gngeo Really Accelerated?


wipeout2000

Member
Joined
Dec 8, 2005
Messages
170
Location
New York, New York
Website
Visit site
Ok so I know the latest GnGeo is DrZ80 optimized (not that I fully understand what it is) but I don't really see the difference in the heavy duty games like last blade or kof98. How much improvement does the DrZ80 really provide? Am I doing something wrong?
 
The Z80 is a chip that complements the 68000 processor in the NeoGeo machine and handles primarily audio tasks. The old Z80 emulation core was written in the C programming lanugage, which has to be translated into machine code the ARM9 processor in the GP2X understands. The new core is written in Assembly (ASM) *for* the ARM9, so it runs very significantly faster than the old C one. That's what DrZ80 is.

If you don't use audio, you will see 0 acceleration. In games you DO use sound with, gameplay should be smoother. Bear in mind that lag where the game does not become choppy is NOT your GP2X slowing down and the program lagging-- it is the REAL MACHINE it is simulating lagging, which happens on the actual NeoGeo.

Also bear in mind games that perform heavily scaling and rotation will see very little benefit from a faster Z80, these operations will get a little more headroom to operate in but will for the most part remain the speed they are now. For example, Metal Slug and Blazing Star, also Puzzle Bobble, gain significant speed increases from the DrZ80 core, which is much faster than the old non-ASM core-- but games like Samurai Showdown 4 with heavy scaling do not benefit very noticably from it.

I for one find the improvement quite apparent; I can now run Metal Slug at the full 60 FPS the vast majority of the time at 299 MHz, before, I averaged in the high 40's or 50's.
 
Thanks a lot for the reply. It makes a lot more sense now. One more question though.

Can there be possible graphic rendering improvements for the future or is the gngeo emulator pretty much close to its limit?
 
wipeout2000 posted on Apr 3 2006 at 07:49 AM said:
Thanks a lot for the reply. It makes a lot more sense now. One more question though.

Can there be possible graphic rendering improvements for the future or is the gngeo emulator pretty much close to its limit?
pepone is working on that principaly in the resize/scaling function.
 
Last edited by a moderator:
Bingo. That's pretty much the only unoptimized part I see now, hardware scaling/rotation is still slow because it's C and not ASM. But things are progressing MUCH faster than expected, I'm thoroughly impressed thus far with its progress.
 
Jarska333 posted on Apr 3 2006 at 10:57 AM said:
I wonder, would it be possible to have the emulated machine to run with few more mhz, so to get rid of the, hum, authentic lag?
Yes, but for now, you have to modify some conf file.
The option "overclock" is used to overclock the 68k. For example, for metal slug, put something like this in a file conf/mslug.cf
Code:
overclock 20
It will overclock the emulated 68k by 20%

You can also downclock (for game that don't use that much the 68000) with
Code:
overclock -20
 
Last edited by a moderator:
that's interesting. Is there a possibility to "overclock" all games? And does this affect the overall speed of emulation significantly (does it get slower)?
 
I know you can turn off throttling in Gnuboy.
That's pretty fun, especially on menus (Zelda at 5x speed!)
 
sorry, my question was actually only regarding gngeo ;-) should have added that.
 
xnopasaranx posted on Apr 3 2006 at 03:33 PM said:
sorry, my question was actually only regarding gngeo ;-) should have added that.
You can do it for every game, mslug was just an example. You can put it globally in conf/gngeorc but I think it's more interesting on a per game basis.
It have an impact on the emulation indeed, since the gp2x have to emulate more 68k instruction.


Aninhumer said:
I know you can turn off throttling in Gnuboy.
That's pretty fun, especially on menus (Zelda at 5x speed!)
You can do it also with gngeo-> --no-autoframeskip on the command line, or autoframeskip false in the config file.
 
Last edited by a moderator:
pepone posted on Apr 3 2006 at 10:50 AM said:
You can do it also with gngeo-> --no-autoframeskip on the command line, or autoframeskip false in the config file.

Which has the added bonus of making system lag (Dropped frames) LOOK like authentic machine lag ("Bullet Time"). :D
 
Last edited by a moderator:
Back
Top