Some News Of Things To Come...


So tell me why PSX emulation isn't practical. Then tell me why SNES emulation is. Bonus if you can explain how GBA emulation isn't possible either. I definitely couldn't explain it.
The SNES has a complicated 2D subsystem but what it physically draws to the display isn't that strenuous for the GP2X's crummy blitter. The big issue is that the CPU is not tied up with much else-- the CPU it's emulating is pitifully weak and simple, and the sound subsystem isn't exactly monstrous to emulate either-- so there is plenty of headroom to worry about the SNES' real 'meat and potatoes', the graphics subsystem. When you need to draw much more raw graphics data to the display (as in a PSX game with heaps of polygons to fill, plus 2D layers) and STILL need to worry about a 34 MHz 32-bit CPU, GTE and then the audio subsystem on top of that, the outlook gets much less rosy as there is pretty much no headroom remaining.

As for the GBA, that's up in the air right now. I'd rather not open another can of worms in this thread. It's already smelling like a bait shop.

I actually have a fullspeed version of psx4all running on a DVD Player. The iStation V43 is the system I'm speaking of.
There's a distinction between a good SoC for a DVD player and a very very bad one. The GP2X's MP2520F is the latter.
 
Last edited by a moderator:
Should I abandon PSX emulation on the GP2X since it's half done, like the SNES emulator, Azalin?

I understand your position though. psx4all is a big selling point, but it's still a WIP. It's as feasible as SNES emulation though. So if you don't believe in this, don't believe in SNES emulation either.

All emulation of the psx/snes requires is better code. Just as you said GBA emulation is possible, if you asked this before gpSP most would say it isn't. What changed? Someone programmed something better than what's currently out.

Emulators on handhelds are usually programmed for PC's and ported elsewhere. Exophase made his GBA emulator from the group up for the PSP. That made a huge difference. I unfortuantely used a PC emulator as the basis for psx4all, and this will be changed.

A psx emulator is currently being designed from the ground up with a handheld design in mind, and already has a well made dynarec. With combined knowledge of such previous projects, we're avoiding the pitfalls of things such as async interrupts, SIO operations, a poor framework...

Notice most of the emulators for handhelds have been ports. The best ones are usually either not a port or written by the author of the original project.

We run off the assumtion things aren't possible because someone doing a port can't make it run fullspeed. What if the person writes an emulator from the ground up with the GP2X in mind?
 
We run off the assumtion things aren't possible because someone doing a port can't make it run fullspeed. What if the person writes an emulator from the ground up with the GP2X in mind?
Well, the obvious answer is that someone could set out to write an original PSX emulator for the GBA, with the GBA's hardware in mind, but they'd still never get anywhere. While I don't believe you'll achieve full performance in most games, I admire your steadfastness. It's something I wouldn't be able to bring myself to do. Don't mistake that for hostility; I'm just tired of people screaming their heads off as though all that needs to be done is to pester some developers for 2 or 3 weeks and donate $14 and they'll have a full-speed PSX emulator. Too much hope on this forum is a very bad thing.

Shikaku said:
Apex claimed HDR lighting, not Craigx.

In any case, Epicenter why don't you show us how slow the GP2X is? You never have shown us a single bit of proof of your claim that the GP2X is extremely slow.
Craig's been touting their nonsense for ages. He was giving me some spiel about how the GP2X was a superior machine for 3D gaming than the PSP because it can do things the PSP does not support in hardware, in a software renderer. These are of course ridiculous things like the Rolling Demo's 'heat ripples' from explosions that as everyone remembers ran at 1 FPS, and that is what you get with a software renderer on an integer-only CPU with no accelerators at all. No mention, of course, that a software renderer would work just fine on the PSP, too. Nothing Craig said to me ever indicated even the basest semblance of understanding of how the technologies he sells work. He said to me that software rendering was the future, and the best thing a successor machine to the GP2X should have is a high-clocked CPU, because no one will ever use a 2D or 3D accelerator, and all anyone cares about in making a purchase decision is big numbers. I am not shitting you, these are seriously his viewpoints.

I haven't shown off any demonstrations because for a time we were in negotiation with a publisher, who, before he went into a fit of hate for the GP2X and dismissed the concept of publishing anything for it, insisted we remain tight-lipped. At the moment my GP2X is disassembled in a plastic bag and will never be reassembled. I don't care about it at all anymore, and I don't care about developing for the GP2X at all. That's why I'm not spending my time writing test programs for the machine.
 
Last edited by a moderator:
I'm very sorry if it came across that way Zodttd, i did not mean it that way at all. But how can you compare a GBA emulator (which requires no 3d processor, and the GBA's hardware is very similiar to the gp2x's) to a PSX emulator (which requires a 3d processor, and who's hardware is rediculously more complex that the 2x's)? its like comparing a Hummer and a Toyota, its just not sensible.

I will try and reserve judgement until i see the next version of a PSX emulator, but as it stands right now (while i appreciate the dedication being put into it) it seems an exercise in ...not futility....but something more like wishful thinking. There just comes a point where you cannot code yourself out of the limitations of hardware.

But by all means, continue to work on it, the dedication exhibeted inspires the rest of us to put the same amount of effort into our own projects, whatever they may be :)
 
Epicenter...Please elaborate. What makes the SNES's "2D subsystem" complicated? I'm not sure what you mean by 2D subsystem though, so you might want to explain that as well. You gives the parts of emulators that *can* be hard to emulate, but don't explain why they're not feasible to emulate. What *specifically* makes SNES possible, and in the same breath not PSX?

I really don't know why the GP2X has a crummy blitter.
To be honest, psx4all currently takes the normal route of emulators and keeps a framebuffer, and then copies the frame to the GP2X frontbuffer.
Since I ported psx4all to many systems, GP2X is able to write very quickly to the frontbuffer. It takes an average of 2ms for me to blit a frame on the GP2X. The Gizmondo takes 6ms. The Zaurus takes 3-4ms.
If GP2X's purpose is to handle emulators, the speed for writing directly to the GP2X screen is faster than most other high end handhelds such as the Zaurus and V43. If you want sprite handling and rotation, you might be more comfortable with a Nintendo handheld such as the Gameboy Advance. Though there is the PocketPC which would use GAPI to access the framebuffer of the PDA and you use "middleware" such as GapiDraw to handle sprites, sound, etc. GP2X is a piece of hardware, they left it up to us to fill in the blanks and write that middleware. It uses Linux which points to the sign of "do it yourself if you don't like it". :)
The GP2X hardware is not much different from just about every other handheld I've seen underneath the cover. It does a lot of things better than most even. There's things to complain about it, but the blitter? Weird.
 
Here's an idea, (and don't shoot me for this, i have very little understanding of programming) Could the Gp2x's Firmware itself be interfering in the operation of the hardware? It does run in the background when you launch a program, does it not?

Could a community-created Firmware solve some of the problems we've been experiancing in so many programs?
 
Thanks zoddttd, and also unai, tinnus and chui.

Love seeing your work, whatever you choose to do.

Please don't let a few spots of arrogance put you off, there are many more who just love seeing developers do something unexpected, even if it doesn't succeed :)

I personally believe that creative endeavors (of which devving is most certainly one) are never wasted. I'm a writer, and I wrote a dozen full screenplays before I finally sold a couple. Some people might say the *years* spent writing those useless, unsold scripts was wasted time... but I never would have learned enough about my craft otherwise.

Success is measured by the individual. My first script was absolutely terrible, an abysmal failure, but at the same time a monumental success simply by virtue of having completed it. A later script was a critical darling, loved by many in Hollywood, but it never sold. Was that a success, or a waste of time? The first script I did sell, I personally don't consider to be very good--so a financial success, but an artistic failure.

unai, tinnus, chaui & zodttd may have their endeavours reach a certain stage that they consider a resounding success--but then some folks would consider it a failure because it "doesn't reach 60FPS." Would this make what they did any less worthwhile?

Of course not.

They will have learned a lot along the way, honed their skills for later projects, and hey, maybe some people will even enjoy tagging along on their journey, and have some fun with whatever does come out of it.

Doesn't sound like a waste of time to me.
 
It's being done already it seems, Vollgasasi. :)

Azalin: There is no 3D processor in the PSX from what I'm aware of. The GTE is what some would say is it's equivalent. It takes 3D primitives and flattens them to a 2D plane. There's no 3D acceleration in the PSX like there is on a PC. To respond to putting a PSX emulator on the GBA: The GP2X can handle PSX emulation clock for clock from what I've been told and what I've calculated. There's a reason I chose the PSX over N64 for instance. One is at very least theoretically obtainable with well done work.
 
Indeed. The mere fact that they got games running at all, much less at a half-decent framerate in some of them, IS a resounding success. Its projects like PSX4all that show just how talented individuals can be, and push the bounds of the homebrew scene.

@ Zodttd: Hmm, i stand corrected.
 
gaterooze: Exactly. :) ...If I didn't write psx4all I wouldn't have been able to write PDA games. It's a success to me from what I learned from it.

I just have the feeling that what I learned from psx4all shows that if psx4all came so close with what was done...it's reasonable for me to say it's possible to get psx emulation working to even DaveC's specs on what is playable.

I know this from expierence, I want to know why psx emulation won't work on the GP2X from those who say its not from their expierence. I have some points of why it shouldn't work, but not the facts that support those points.
 
What if the person writes an emulator from the ground up with the GP2X in mind?
oh yea baby do it!
Please be quiet. Please.

Here's an idea, (and don't shoot me for this, i have very little understanding of programming) Could the Gp2x's Firmware itself be interfering in the operation of the hardware? It does run in the background when you launch a program, does it not?

Could a community-created Firmware solve some of the problems we've been experiancing in so many programs?
No, that's a completely unrelated matter. The issues are at programmer and hardware level. The OS steals nearly no cycles from program operation, and a relatively unimportant quantity of RAM.
 
Last edited by a moderator:
Heh, if well-known dev suddenly declared, that he is dropping everything he is currently doing, be it SNES or homebrew, and is going to make, say, CD-i-emulator, I'd applaud him/her. Just because it hasn't been done before.
 
you should put more happiness into your life really :)
I'm happy about other things. I was just watching shrimp jump around in my fish tank for 15 minutes. Before that I was working on my engine, I came up with some optimizations to the object processing functions that I'm quite proud of. Before that I was eating some sukiyaki and playing my DS.. only system of mine for a decade that's so enjoyable I find myself laughing out loud at how much fun I'm having when playing games on it. When something like the GP2X makes me unhappy-- it is not my fault, it is the GP2X's.. ;)
 
Last edited by a moderator:
good to see that you are happy and not bashing the gp.... oh wait HEY YOU DID IT AGAIN :p

could we stop arguing now?
 
How is it the difference between night and day?
What it sounds like youre saying is that the SNES is highly undocumented/proprietary, requires intense mathematic operations, and has been difficult.
If psx emulation is the opposite of that, it would be much easier to handle and perform than the SNES, making the PSX easier to emulate than the SNES, which is where *I* was headed.
Are you supporting what I'm saying?
To be honest the PSX, while highly user documented, is still very proprietary and has a lot of inaccurate information. For instance finding public information that gives a complete scope of the CDROM interface to the psx just doesn't come along easily to an emulator programmer. It requires very complex mathematic operations within the GTE that doesn't work well without handy VFPU instruction sets.

But all of that doesn't mean it can't be done. It just says it's hard to do!
The examples of SNES emulators you gave are ports of existing SNES emulators to the GP2X, correct? They just add GP2X functionality.
SNES emulation, like PSX emulation, is hard to do, but is possible. It's easier if time was invested to write the emulator from the ground up for the GP2X, but we rely on ports most often.

What makes PSX emulation any different from SNES emulation? Both have been explained by you and I as being difficult to do. What makes SNES possible even though it's hard to do, but PSX emulation impossible, when it comes to making games "fullspeed"?
 
Back
Top