Source Of Snes Of Yoyo Free (0.2)


Status
Not open for further replies.
Greenchili posted on Feb 22 2006 at 06:15 AM said:
I can just hear the next question....

Well what if you turn of the cache.. :lol:

Then you will sodomize the perfomance totally as without cache the available bandwith isn't sufficient to feed even one cpu at modest clockrate of 200MHz.


Greenchili posted on Feb 22 2006 at 06:15 AM said:
Anyways it sounds to me like the request of a USB 2.0 port may have been more for development reasons/debugging as opposed to large transfers to the memory card.

But then if that is the case GPH didn't get that right either. Maybe they had the wrong idea. Anyways I'm beginning to wonder what is the point of the 2nd processor. Sounds like it is more limiting than other possible options.

The point is simple really. The second cpu is for data parsing for the video processor so the first cpu doesn't have to deal with that. The Arm based cpu aren't big in the gates count so including extra core wasn't costly at all. It also wasn't necessary so it was just a fantasy at the MagicEyes (the producer of gp2x chipset) to include the second core. It's better to have it that not anyway.
 
Last edited by a moderator:
Squidge said:
We don't have to ditch Linux, but it does mean that we would have to take full control of the audio hardware (the same as if the application was for HH-mode) if we use the 940 to do audio decoding.

So, it's certainly possible under Linux, but it's also a lot more work, and if anyone decides to run software in the background (eg. MP3 players, like they are doing now), it's more than likely going to crash as the two processor try and use the exact same hardware at the same time.

[...]

For the video player, the 920 passes compressed data to the 940 which it then decompresses to the display directly, it does this through a kernel module, which lives in /dev/dualcpu

[...]

Sound is completely different - we can't access the hardware directly here without writing a kernel module
So, in theory, a kernel module (similar to /dev/dualcpu, which the video player uses) could be written, to allow the 940 direct access to the sound hardware, making it more feasible to use it as a sound processor?

Are there any disadvantages to that approach, aside from the aforementioned possibilty of conflict if the user runs a background process which plays sound? That doesn't sound so horrible... I would certainly want to use every ounce of my GP2X for SNES emulation, not run MP3's in the background. Or you could mute the SNES emu to allow background sound playing?
 
Last edited by a moderator:
We still don't know if the 940 can handle the interrupts required for sound processing or whether or not it can only handle it's own "mailbox" interrupts. If it's the later, then doing any sound processing on the 940 will have to be totally controlled by the 920, and so very difficult to synchronise.
 
Anything of any use here?

http://opensrc.sec.samsung.com/

If anyone has any good links to sites that describe programming for an arm 920 / 940 processor, or the architecture in general I'd like to see them. I'm quite interested in learning a bit about the architectures as it is becoming very clear that anything even semi-complex will rely on knowing their capabilities and limitations.
 
Radek posted on Feb 21 2006 at 11:57 PM said:
The point is simple really. The second cpu is for data parsing for the video processor so the first cpu doesn't have to deal with that. The Arm based cpu aren't big in the gates count so including extra core wasn't costly at all. It also wasn't necessary so it was just a fantasy at the MagicEyes (the producer of gp2x chipset) to include the second core. It's better to have it that not anyway.

OK. So are you saying the 2nd processor is just sitting there soaking up battery power, ram, and cache space?
 
Last edited by a moderator:
Greenchili posted on Feb 22 2006 at 11:08 AM said:
OK. So are you saying the 2nd processor is just sitting there soaking up battery power, ram, and cache space?
It seems to me that without it we wouldn't have the movie player. That's worth it in my book.

It's still early days, the second processor will come into its own in time. Hell, professional game developers are complaining about having a hard time getting the xbox360 to efficiently use all 3 processor cores and the PS3 is apparantly a complete nightmare to use well.

It'll get figured out in time.
 
Last edited by a moderator:
sure but in the meantime when we are not using the video player..

the 2nd processor is just sitting there soaking up battery power, ram, and cache space?
 
Greenchili posted on Feb 22 2006 at 11:24 AM said:
sure but in the meantime when we are not using the video player..

the 2nd processor is just sitting there soaking up battery power, ram, and cache space?
No... it's sitting there shouting "HEY, DEVS! YOU CAN ALMOST DOUBLE YOUR FRAMERATE IF YOU CAN TAME ME! Hah-Nah-Ne-Na-Nah!"

Someone will use it. Right now it's not being used, but it's far from useless.
 
Last edited by a moderator:
Greenchili posted on Feb 22 2006 at 11:24 AM said:
sure but in the meantime when we are not using the video player..

the 2nd processor is just sitting there soaking up battery power, ram, and cache space?

You can turn off the 940, so it doesn't soak up any battery power.
It shares ram with the 920, so it doesn't soak up any of that.
And it has it's own dedicated cache, which would not be allocated to the 920 should it not exist, so that point is moot too :)
 
Last edited by a moderator:
Squidge posted on Feb 22 2006 at 12:32 PM said:
You can turn off the 940, so it doesn't soak up any battery power.
Which is an interesting point though. Do you specifically need to turn it off, or does it default to off unless awakened in code?

In squidgesnes, for example, did you turn off the second processor, or is it actually using power to do nothing?

Is this on the dev wiki? I just tried searching for it and couldn't find anything about the second processor.
 
Last edited by a moderator:
In the current firmware, the 940 is disabled by default, so programs which want to use it have to enable it, so it doesn't use up any power until someone wants it to.

So you don't have to do anything - it's disabled after the gp2x boots up.
 
Morwynd posted on Feb 22 2006 at 05:09 PM said:
Lots of good docs here: http://wiki.gp2x.org/wiki/Hardware_Documentation

As far as the 2nd core 'soaking up resources', the only thing to worry about there is power consumption, and I believe as of v0.A of Ryleh's minilib (which seems widely used), the 940 is turned off by default.
Bah, I remember seeing that page before, but I put it on the back burner for a while and forgot about it, hoping that I wouldn't need to know too much about the hardware specifically. Obviously it didn't turn up in searches for "second processor" and the like, though I'm surprised I didn't get it from "940T".

Cheers for the link, I'll start reading asap :)
 
Last edited by a moderator:
so, what can the 940 the used for emulation? What apps/game function can actually use the 940 for good reason then?
 
It is sounding more and more like what was said in the beginning when the GP2X hardware was announced is true, The GP2X is basically just a 200 MHz GP32 when it comes to emulators. Quite the bummer. I guess if you want perfect SNES the PSP is the only current option.
 
DaveC posted on Feb 22 2006 at 08:44 PM said:
It is sounding more and more like what was said in the beginning when the GP2X hardware was announced is true, The GP2X is basically just a 200 MHz GP32 when it comes to emulators. Quite the bummer. I guess if you want perfect SNES the PSP is the only current option.

Not it isn't. Look at the Jaguar emu - it's using the second core to good results. Because for now it's rare to see a software what it's utilizing it doesn't mean that situation will not improve in future. And there many tasks what aren't demanding a constant access to the memory so bandwith limitation will not be a big issue.

Please look at the Nintendo64 - it has only 4K for its texture cache (when mipmapping really only 2K) and it's main cpu cann't access memory directly. These are big hardware faults yet eventually it got games with more sophisticated texturing. The same can be said about Jaguar or even PS2 (and Sega Saturn too). Comparably the gp2x is quite clean hardware. For an example in Jaguar its risc cores could only execute code from caches as they can not read instructions directly from memory. The Doom version for that console was reloading instruction caches constantly to overcome that limitations and in an effect it could run.

So my point is - because the straightforward aproach when utilizing the second core of gp2x isn't practical it doesn't mean it can not be utilized at all. It will need some extra thinking and experimenting but eventually it will get done.
 
Last edited by a moderator:
Doi... question already answered.

I'm not too concerned. My GP2X get's plenty of action as it is and I can always charge up the PSP for a little SNES.

Before I know it the GP2X will be up to speed.
 
Radek posted on Feb 22 2006 at 07:55 PM said:
DaveC posted on Feb 22 2006 at 08:44 PM said:
It is sounding more and more like what was said in the beginning when the GP2X hardware was announced is true, The GP2X is basically just a 200 MHz GP32 when it comes to emulators.  Quite the bummer.  I guess if you want perfect SNES the PSP is the only current option.

.....So my point is - because the straightforward aproach when utilizing the second core of gp2x isn't practical it doesn't mean it can not be utilized at all. It will need some extra thinking and experimenting but eventually it will get done.



I admire your optimism. Still I am skeptical. I will believe it when I see it.
 
Last edited by a moderator:
DaveC posted on Feb 23 2006 at 07:22 AM said:
Radek posted on Feb 22 2006 at 07:55 PM said:
DaveC posted on Feb 22 2006 at 08:44 PM said:
It is sounding more and more like what was said in the beginning when the GP2X hardware was announced is true, The GP2X is basically just a 200 MHz GP32 when it comes to emulators.  Quite the bummer.  I guess if you want perfect SNES the PSP is the only current option.

.....So my point is - because the straightforward aproach when utilizing the second core of gp2x isn't practical it doesn't mean it can not be utilized at all. It will need some extra thinking and experimenting but eventually it will get done.



I admire your optimism. Still I am skeptical. I will believe it when I see it.
You should consider lucky someone dares to reply to your constantly pointless posts ...
 
Last edited by a moderator:
Radek posted on Feb 22 2006 at 08:55 PM said:
Please look at the Nintendo64 - it has only 4K for its texture cache (when mipmapping really only 2K) and it's main cpu cann't access memory directly.
And the second processor just happens to have a 4k cache of its own... I wonder how much memory squidgesnes actually needs assigned at one time for graphics / music.

Maybe it would be possible to cache an entire sound effect bank and have audio play moved to the second chip?

Regardless, I'm still confident that the second cpu will prove very useful once we've run out of single processor optimisations.
 
Last edited by a moderator:
Status
Not open for further replies.
Back
Top