Epicenter posted on Oct 18 2005 at 10:24 AM said:
What? No, you'e got it all wrong. First off, XScales are CPUs, not full system solutions. They do not combine a GPU into themselves, this is a feature that must be added by the PocketPC manufacturer.
What I meant is that the Zaurus has the Intel graphics chip with the XScale CPU, Intel makes a GPU for the XScale, and most handhelds use it, even if they put a ATI or nVidia chip in it.
Epicenter posted on Oct 18 2005 at 10:24 AM said:
The ONLY PocketPCs I am aware of, and I've done much research into this, are Dell's Axim x50v and Toshiba's e740/e750/e755. These each use their custom API which has no real common standard yet, and almost 0 software exists yet to take advantage of either.
Once again the Zaurus uses the XScale, at least the Cxxx series, and uses the GPU that Intel makes. The problem with Dell and Toshiba's pocketPCs is they don't use an open OS or SDK, I haven't looked into them, but I'm basically looking at the home-brew on the Zaurus, which runs Linux and is very open like the GP2X. Or do they run Linux, I need to check. As far as Linux handheld API, Linux-run handhelds use open API's like
Opie and
GPE. Is this what you're talking about?
Epicenter posted on Oct 18 2005 at 10:24 AM said:
At any rate, to accelerate SNES video operations, an emulator would need to translate instructions to the emulated VDP to instructions in the API of a 2D Accelerator whose very design is to operate in the narrow scope of the Windows Mobile operating system. The output of this chip would be instructions understood only by the OS, not by the 65c816 in the SNES-- the output would be worthless. In short, you could not easily accelerate an emulated SNES using a properitary 2D processor like that in very few PocketPCs.
I agree to a point. Intel's graphics chip that is usually bundeled with the XScale is very difficult to program for, at least for Linux, which might be due to a lack of support. The XScale GPU can get all the things needed for Snes9x to work, while the CPU in the Zaurus takes care of eveything else.
Epicenter posted on Oct 18 2005 at 10:24 AM said:
Bottom line-- No SNES emulator for PocketPC or ANY platform uses any sort of hardware acceleration for its VDP functionality because it is nearly impossible, and prohibitively difficult and laden with overhead that would negate the helpfulness of offloading work onto a GPU in the first place.
PocketPC, but it's not PocketPC, it's Linux I'm talking about. The newest Zaurus' run SNES at full speed with sound since someone started programming the XScale to take the burnt of the difficult stuff. I might be wrong, but this is what it sounds like on the Zaurus forums I've read, and it's a buzz right now because now you can emulate the SNES at full speed on a handheld.
Epicenter posted on Oct 18 2005 at 10:24 AM said:
Furthermore, the 2nd CPU in the system is intended primarily for
video functionality. Not only was it selected specifically for use in video decompression, and scaling, but also for 2D graphics blitting for acceleration of graphics operations in games (e.g. via SDL's SMP blitting options for defined screens). It's not a special-purpose CPU but it is certainly being used as a "GPU" of sorts, or in a broader definition of the chip in the context of the GP2x's functionality, a specialized video helper chip.
I'm going to play the 'open' card here and say you can make the CPU's do whatever you want even if hardware doesn't permit it, to a point anyway. You're not going to be locked down by the manufacturer like you would on PocketPC's.
Epicenter posted on Oct 18 2005 at 10:24 AM said:
I suspect GPH didn't elect to include a GPU because:
- 1. The intended primary function of the system wasn't to provide high-end 3D visuals, because a homebrew development scene isn't going to produce eninges with incredible graphics quickly while getting the hang of a complex 3D API. SDL was clearly selected for its age, tried-and-true nature, simplicity, and enormous quantities of documentation.
- 2. Power use-- GPUs use gobs of power compared to the ridiculously power-efficient ARM9 architecture. This is why the machine can get over 8-14 hours of operation under heavy loads. If nVidia and ARM's cooperative efforts come to fruition we may someday soon see ARM11 based GPUs that can be used in portables with only a minor hit to battery life-- right now what will really hog power in the GP2x, as well as in the DS and other ARM9 based portables, is actually the display, as the CPU uses scarcely over 1 watt of power even at 200 MHz!
(More info on nVidia/ARM's collaboration here:
http://www.physorg.com/news4323.html)
- 3. API -- it would be far more complex to push out the door, and to develop good documentation and a comprehensive SDK for, a complex API like that which a GPU utilizes, e.g. OpenGL-- modern graphics cards have big, fat complex drivers feeding instructions to a BIOS interpreting the API and calling the shots for the GPU. This is a LOT of overhead for a portable device, and we probably won't see a commonly accepted GPU for portable devices until a lightweight API that can operate in more tight coordination between the software and the GPU with less intermediaries is formed and standardized.
I agree with the reasons why they didn't include a GPU, they aren't there yet. I read a blog somewhere on the net from someone that works for some cell phone company. Basically nVidia sent them a dev kit just to play with their GPU, the GoForce. Anyway, he loved it, said it will make programing gui's and graphics much easier, but the price tag and power usage was too much for cell phones right now. ATI and nVidia are trying to get their GPU's into handhelds, look at the blogs of programmers for the Gizmondo, basically powerful GPU's for handhelds are getting there. I think the next handheld from GPH will have a dedicated GPU since they are so close.
But anyway, I agree, and I'm just repeating what I read on the Zaurus forms and other places, I may be completely wrong as I don't do this for work. But that's how I understand it. So don't come back and flame me.
So you do or don't think a SNES emu will run on the GP2X?
Thanx,
Stan