GP2X Qemu Port To Gp2x?


chronoboy

Still Fresh
Joined
Nov 17, 2007
Messages
29
Okay, the idea would not be to port the entire Qemu, but rather the Linux user space emulator. This may allow us to run native x86 linux binaries on the GP2X. For example zsnes and FreeBasic cannot be ported to the ARM processor, and possibly using a user space emulator may allow us to directly run these unportable applications. FreeBasic is developing a C version, but until then, would this idea work? Qemu is very powerful, and even more powerful with the kernel module loaded.

Also, Qemu is much better than Boch. Could someone port over the SDL version of Qemu to the GP2X? It would run x86 code more efficiently then Bochs.

Website with sourcecode: http://fabrice.bellard.free.fr/qemu/
 
This has been brought up before, and according to the webpage the status hasn't changed, it's still in "testing" phase for running on ARM.

I dug through the source a little to try to get a gist of what it was doing before I actually read the documentation that explains just that. The "portable translation" technique reminds me a lot of something rlyeh discussed with zodttd and I once. It's a novel approach that's good for getting a lot of portability but it doesn't lend itself well to getting performance that's as good as more fine tuned recompilers. It'd definitely be better than DOSBox currently is on ARM though. I think the few Linux apps that aren't portable enough would be too demanding to work well this way on GP2X.

Were you actually thinking that a QEMU emulated ZSNES would outperform the SNES emulators for GP2X?
 
No, Znses would not be-able to outperform, however we would be able to run about 99% of the roms, instead of the current percentage we have now. Although, I understand our current Snes emulators for the GP2X are still a nice work in progress, with more and more games being supported on every release. If Qemu were to be re-coded a bit for the dual ARM processor, I am sure we could get some really performance, even from emulated software such as Zsnes.

For example, Qemu could leverage the emulated hardware throughout both processors. One processor can handle the emulated CPU core and graphics, while the other process handles the emulated sound and input. I am sure if someone sat down and took time to look through the DOSBox source code and re-code parts of it for a Dual ARM processor, we could get some really awesome performance out of it. I would do it, but my C programming still lacks the skills needed at this time.

If only someone created an alternative SDL library compatible with the GP2X SDL library, but leverages the Dual CPUs better. The new SDL library would separate the sound and graphics on two different processors. I am not sure if this is possible, if it is, someone should give it a shot and try running a single CPU SDL program with it, to see if it does improve in performance.
 
chronoboy said:
No, Znses would not be-able to outperform, however we would be able to run about 99% of the roms, instead of the current percentage we have now.
Run: maybe, play: no. Not unless you enjoy playing slideshows.
The GP2X isn't a "true" dual-CPU setup - the uses for the 940 are quite limited in practice and wouldn't be able to provide the speed ups you're after.
 
Last edited by a moderator:
chronoboy said:
No, Znses would not be-able to outperform, however we would be able to run about 99% of the roms, instead of the current percentage we have now. Although, I understand our current Snes emulators for the GP2X are still a nice work in progress, with more and more games being supported on every release. If Qemu were to be re-coded a bit for the dual ARM processor, I am sure we could get some really performance, even from emulated software such as Zsnes.
What's wrong with the compatibility offered by the SNES emus currently available? As far as I'm aware, the main games it won't play (if any) are the ones that would be too slow anyway due to extra chips.

I just really don't think emulated ZSNES would be fast enough under any conditions.

chronoboy said:
For example, Qemu could leverage the emulated hardware throughout both processors. One processor can handle the emulated CPU core and graphics, while the other process handles the emulated sound and input. I am sure if someone sat down and took time to look through the DOSBox source code and re-code parts of it for a Dual ARM processor, we could get some really awesome performance out of it. I would do it, but my C programming still lacks the skills needed at this time.
qemu wouldn't be able to do this on GP2X because its Linux kernel doesn't see the second CPU. This is not something that can really be added either because the second CPU doesn't have an MMU. You'd need a version of uClinux instead, and I don't think anyone wants to replace the OS on their GP2X for this.

chronoboy said:
If only someone created an alternative SDL library compatible with the GP2X SDL library, but leverages the Dual CPUs better. The new SDL library would separate the sound and graphics on two different processors. I am not sure if this is possible, if it is, someone should give it a shot and try running a single CPU SDL program with it, to see if it does improve in performance.
ZSNES isn't written like that. Very little of the graphical or audio emulation work is done by SDL (that which is is relatively inconsequential), nor can it really do much to help for emulating a platform like this. It'd be a synchronization mess for any emulator. There's much more potential out of audio being emulated on the other core directly in an emulator natively written for GP2X.
 
Last edited by a moderator:
One of the SNES games I am having issues with, is Final Fantasy Mystic Quest. I do not know if it is my ROM dump, or the emulator. Another great game having issues, is Tales of Phantasia, the Japanesse port to English. I haven't checked Illusion of Gaia on the latest version of PocketSNES, but it did not boot before.

Games such as Yoshi's Island for SNES can run perfectly under gpSP with clock of 240MHz, I see no need for it to work in PocketSNES.

As soon as Pandora comes out, I am for sure buying a unit for myself, and a few friends of mine who I showed it to, are thinking of getting one to. However, their reasons are to use it in an Internet Cafe for web browsering in Firefox 3.0, and using Gaim to chat. They say it'd be easier than lugging around a laptop to hotspots. I can see the Pandora system being used for so many different purposes. It would even be good for the non-gamer.

I am quite happy with my GP2X set-up, although I guess I really shouldn't want more out of a device which was never built to even support most of the stuff it is currently running. I must say, we do have some very talented developers working on the GP2X. Can't wait to see what you guys can all do to push the Pandora to it's limits. :)
 
chronoboy said:
One of the SNES games I am having issues with, is Final Fantasy Mystic Quest. I do not know if it is my ROM dump, or the emulator. Another great game having issues, is Tales of Phantasia, the Japanesse port to English. I haven't checked Illusion of Gaia on the latest version of PocketSNES, but it did not boot before.
I haven't tried these games myself, I just haven't heard about compatibility issues in general. They've worked on SNES9x (original source of SNES emulators on handhelds) for a long time so it should be looked into probably. Have you tried on SquidgeSNES?

chronoboy said:
Games such as Yoshi's Island for SNES can run perfectly under gpSP with clock of 240MHz, I see no need for it to work in PocketSNES.
Special chip, the fastest on SNES (SuperFX 2). Emulation of both it and the rest of the SNES would have to be something else to get it working fullspeed on a GP2X. I'd be very surprised if ZSNES could run it well on hardware that's around the same power (which is difficult to place, but just for a rough ballpark say something like a 133-166MHz Pentium, but it could be a lot different >_>)

chronoboy said:
As soon as Pandora comes out, I am for sure buying a unit for myself, and a few friends of mine who I showed it to, are thinking of getting one to. However, their reasons are to use it in an Internet Cafe for web browsering in Firefox 3.0, and using Gaim to chat. They say it'd be easier than lugging around a laptop to hotspots. I can see the Pandora system being used for so many different purposes. It would even be good for the non-gamer.

I am quite happy with my GP2X set-up, although I guess I really shouldn't want more out of a device which was never built to even support most of the stuff it is currently running. I must say, we do have some very talented developers working on the GP2X. Can't wait to see what you guys can all do to push the Pandora to it's limits. :)
I personally would love to see another SNES emulator for platforms that's highly optimized for them, especially ARMs (so very efficient CPU and cache usage).. it's just an utterly enormous undertaking. And by the time Pandora comes out (which should be very soon in developer time) fewer will really care, maybe far fewer.
 
Last edited by a moderator:
Back
Top