Gba Emulation


WhiteFalcon posted on May 21 2006 at 05:24 AM said:
Bad news is still news, so I am posting here the short communication I had with the author of VGBA.
I tried to prod him towards porting the emulator to GP2X by sending him a link to this thread.
Hi full answer follows:

At the moment, I am not planning to port VGBA to GP2X. I have neither
GP2X nor time to do the port, and do not see how I can profit from it.
Thus, the enthusiasm of your forum members appears misdirected to me.

Let's put ours hopes in other projects.
I thought people made emulators for fun and fame.

On the PC, there are many emulators, including for the GBA, which are free. The author gets famous, and some donations, but the former is the reason for making an emulator, not the latter. Why is it conceived to be different for the GP2x?
 
Last edited by a moderator:
Epicenter posted on May 20 2006 at 10:15 PM said:
That said, if a fast enough ARM7 ASM CPU core is found or created, it is possible to achieve full-speed emulation, concievably. But it does appear unlikely given the amount of stress created on the ARM920T by a 12 MHz 68000 core! Tacking on the GBA's rather robust 2D video subsystem is quite another task to pile on top of it indeed. Perhaps if the ARM940T could be utilized in some helpful manner, it would be a saving grace for such a project.

That said, were this individual to develop a playable GBA emulator for the GP2X using an ARM9 ASM core, interpretation or what have you to achieve acceptable performance, you'd see donation money from me as well.

An ARM emulating an ARM? Why? Couldn't the ARM instructions just be run natively and then use the extra time difference between 200 MHz and 16 MHz to emulate the other chips?
 
Last edited by a moderator:
DaveC posted on May 21 2006 at 08:51 AM said:
Epicenter posted on May 20 2006 at 10:15 PM said:
That said, if a fast enough ARM7 ASM CPU core is found or created, it is possible to achieve full-speed emulation, concievably. But it does appear unlikely given the amount of stress created on the ARM920T by a 12 MHz 68000 core! Tacking on the GBA's rather robust 2D video subsystem is quite another task to pile on top of it indeed. Perhaps if the ARM940T could be utilized in some helpful manner, it would be a saving grace for such a project.

That said, were this individual to develop a playable GBA emulator for the GP2X using an ARM9 ASM core, interpretation or what have you to achieve acceptable performance, you'd see donation money from me as well.

An ARM emulating an ARM? Why? Couldn't the ARM instructions just be run natively and then use the extra time difference between 200 MHz and 16 MHz to emulate the other chips?
So basically like use the other 184mhz for emulating the rest? Why not use one CPU soley for the GBA's?
 
Last edited by a moderator:
I don't see much point in presuing this emulator if the author is only looking to make a quick buck.

$1000 just to see it ported in c++ code and run at 10fps?

I think I'd prefer to donate to someone who wants to see a GBA emulator running well on the GP2X.
 
I think that some kind of guaranteed amount of revenue would be probably be necessary to bring in a coder from outside the scene, or more realisticaly the opportunity to sell the product as a commercial venture. Although I have to say that the likelyhood of a c&d is quite high IMO if someone starts profitting from code that effectively turns the 2X into a cheap GBA with free games :p.
 
nickspoon posted on May 21 2006 at 12:05 PM said:
Considering that the GP2X runs on an ARM core, the same concept used for GPAdvance can be used for the GP2X.

Yes, and we'll have exactly the same problem as we had on the gp32. The only solution back then was to disable the cache, but by doing that, everything ran too slowly.

Only solution I see is some kind of dynarec to get more control, but thats a lot of work.
 
Last edited by a moderator:
Squidge posted on May 21 2006 at 08:54 AM said:
Yes, and we'll have exactly the same problem as we had on the gp32. The only solution back then was to disable the cache, but by doing that, everything ran too slowly. Only solution I see is some kind of dynarec to get more control, but thats a lot of work.
Dynarec had me confused until I found this on the evil Wikipedia.

"In computer science, dynamic recompilation (sometimes abbreviated to dynarec) is a feature of some emulators and virtual machines, where the system may recompile some part of a program during execution. By compiling during execution, the system can tailor the generated code to reflect the program's run-time environment, and perhaps produce more efficient code by exploiting information that is not available to a traditional static compiler.

In other cases, a system may employ dynamic recompilation as part of an adaptive optimization strategy to execute a portable program representation such as Java, Corn or CLR bytecodes. Full-speed debuggers could also utilize it to reduce the space overhead incurred in most Deoptimization techniques, and many other features such as dynamic thread migration."


WOWZA. It took me a week at work to figure out multithreading in C#.NET, and I'm told that's the easy way to get into multithreading. I'm not touching Dynarec!
 
Last edited by a moderator:
Fishbong posted on May 21 2006 at 11:41 AM said:
techFreak posted on May 19 2006 at 08:02 PM said:
I can give a GP2X and a TV-Out cable for a good GBA emulation.
You could get a used GBA SP + Flashcart for less :p
That was not for me but for the scene. I already have a Nintendo DS, a Gameboy Micro and Original games. ;)
 
Last edited by a moderator:
sam fisher posted on May 21 2006 at 09:14 AM said:
So basically like use the other 184mhz for emulating the rest? Why not use one CPU soley for the GBA's?


Because the second core is not very useful for emulation at all. No MMU, small cache, blah, blah. GPH in the infinite wisdom chose not to give the second core it's own RAM. If they did we would probably have near perfect GBA and perfect SNES by now ;)

Basically the only use of the second core is video, and to teach developers how to shut off a CPU core to save battery life ;)
 
Last edited by a moderator:
You know, a Gameboy Advance emulates GBA Roms at full speed :p

What custom hardware chips are in the GBA?
 
PSyMastR posted on May 21 2006 at 07:53 PM said:
You know, a Gameboy Advance emulates GBA Roms at full speed :p

What custom hardware chips are in the GBA?


I heard it does it at FS0 with full sound too and at 1:1 :p
 
Last edited by a moderator:
DaveC posted on May 21 2006 at 08:57 PM said:
PSyMastR posted on May 21 2006 at 07:53 PM said:
You know, a Gameboy Advance emulates GBA Roms at full speed :p

What custom hardware chips are in the GBA?


I heard it does it at FS0 with full sound too and at 1:1 :p
im sure you'd find something wrong with it ;P
 
Last edited by a moderator:
DaveC posted on May 21 2006 at 08:49 PM said:
sam fisher posted on May 21 2006 at 09:14 AM said:
So basically like use the other 184mhz for emulating the rest? Why not use one CPU soley for the GBA's?


Because the second core is not very useful for emulation at all. No MMU, small cache, blah, blah. GPH in the infinite wisdom chose not to give the second core it's own RAM. If they did we would probably have near perfect GBA and perfect SNES by now ;)

Basically the only use of the second core is video, and to teach developers how to shut off a CPU core to save battery life ;)
I heard some dev, dont remember who, say it could be used it would just be very hard to use compared tonormal and would require the code to be written specially for that situation, I.E. not using ported code.
 
Last edited by a moderator:
Personally, I think the XGP will do a much better job at emulating snes, even though its got the same amount of ram, and same speed processor. With a bit of luck and a bit of magic, we'll hopefully be able to pass a number of things to stuff like the 3D engine and take the work load of the main processor. I've been trying a few techniques on the Gizmondo, and using OpenGL is faster than writing direct to the frame buffer.
 
DaveC posted on May 21 2006 at 02:51 AM said:
Epicenter posted on May 20 2006 at 10:15 PM said:
That said, if a fast enough ARM7 ASM CPU core is found or created, it is possible to achieve full-speed emulation, concievably. But it does appear unlikely given the amount of stress created on the ARM920T by a 12 MHz 68000 core! Tacking on the GBA's rather robust 2D video subsystem is quite another task to pile on top of it indeed. Perhaps if the ARM940T could be utilized in some helpful manner, it would be a saving grace for such a project.

That said, were this individual to develop a playable GBA emulator for the GP2X using an ARM9 ASM core, interpretation or what have you to achieve acceptable performance, you'd see donation money from me as well.

An ARM emulating an ARM? Why? Couldn't the ARM instructions just be run natively and then use the extra time difference between 200 MHz and 16 MHz to emulate the other chips?

You probably should've read my post a bit better. I mentioned that first. At any rate, the ARM940T is probably too limited in terms of memory access and cache to perform in this role.
 
Last edited by a moderator:
Back
Top