Support and General Use > Plugins/Viewers

rockdoom question

<< < (2/2)

saratoga:
Processing power and also not being able to share IRAM between the codec and plugin.

torne:

--- Quote from: kkurbjun on January 11, 2010, 11:48:09 AM ---Fullspeed GBA 'emulation' could be possible on most/all of the ARM targets since the code could partially be executed natively, but it would require writing an 'emulator' from scratch.

--- End quote ---

No, not really, I'm afraid; the GBA's processor is a minor part of the problem, it's only a 16Mhz ARM7TDMI crippled by a slow 16-bit external bus with a large number of wait states. The big problem with GBA emulation is the 2D graphics hardware, which is spectacularly powerful for such a tiny system and requires the majority of the processing time when emulating it on a PC.

Using native execution of instructions gains you very little, because you'll have to stop executing them natively *very* frequently every time there is a peripheral register read/write, and this happens *constantly* because of the heavy dependence on accelerated hardware. The actual CPU is idle a lot in most games.

kkurbjun:

--- Quote from: saratoga on January 11, 2010, 12:33:42 PM ---Processing power and also not being able to share IRAM between the codec and plugin.

--- End quote ---

:) That too, I had forgotten about that part.


--- Quote from: torne on January 11, 2010, 03:11:05 PM ---Using native execution of instructions gains you very little, because you'll have to stop executing them natively *very* frequently every time there is a peripheral register read/write, and this happens *constantly* because of the heavy dependence on accelerated hardware. The actual CPU is idle a lot in most games.

--- End quote ---

I agree that the video emulation would take a significant amount of processor time, but the CPU is still a significant contributor in games (at least in gpsp) (http://gpsp-dev.blogspot.com/2007/04/profiling-performance_02.html). 

Igpsp was able to get 50-80% full speed at 81 MHz on the Ipods (http://ipodlinux.org/wiki/Igpsp), so with significant work on the CPU I still think it /could/ be possible to get at least some games running full-speed (probably without sound).  The effort required to do so would be tremendous though.

torne:
Hmm, that's interesting. A lot of games that I've looked at don't actually idle the processor, which doesn't help I guess: they sit busy-waiting on a variable which will be set by an interrupt handler. The emulator will have to emulate this because it's difficult to recognise that it's pointless. :)

Navigation

[0] Message Index

[*] Previous page

Go to full version