Wiz Emulating Ps1 (Video)


Segata Sanshiro said:
Yep, IIRC, it runs at 790 or 800 MHz :) There's also a "bias" option which lets you underclock the emulated Playstation (pretty much like MAME or Gens when emulating the 32X), which seems to be very useful in many games.
Yeah I was over at the gp32spain forums reading the thread this came from. The bias idea is nice, since some games don't really need to have 100% of the psx power emulated. It is a tad sad that we have to overclock so high to get these results but with what is being done is looking quite nice. I also hear efega (sorry if I misspelled) is working on an opengl gpu for this. I wonder if that will help with a little speed increase or not? This would be nice if it gets as good as my psp, cause I can't stand the damn blurry mess of my screen. Playing psx on my Wiz would be so much better. Thanks again Franxis, Chui, and Efega for all the work that's going into this!
 
Last edited by a moderator:
Segata Sanshiro said:
Yep, IIRC, it runs at 790 or 800 MHz :) There's also a "bias" option which lets you underclock the emulated Playstation (pretty much like MAME or Gens when emulating the 32X), which seems to be very useful in many games.

Sounds like there'll be a lot of fiddling going on with modifying the emulated instructions/second counts, as there was with psx4all. It's kind of just as well - the baseline is probably more of a static number than the result of especially accurate timing emulation. These numbers are usually either substantially conservative or substantially generous. Since it's giving the option to reduce it, hopefully the baseline is on the conservative (ie slower) side, or it lets you bias in the other direction.

I'd like to know if any efforts have been made toward idle loop detection, and if so, what percentage of games are being detected. Where it works this is a much better procedure than manually changing instructions/second. Even if automatic detection is not done, having the option to manually supply idle loops on a per-game basis is still much better than maintaining manual "underclocks."

I'm pretty interested to see what kind of performance the OGL ES 1.1 GPU results in. So far showings have been pretty poor, and I don't think it's being held back by the hardware... so I'm concerned about the drivers. That said, PS1 emulation shouldn't require the kind of state changes and complex shading N64 emulation does, so it might be easier on the drivers. Renderbuffer readback performannce is going to play a role. Some useful features might not be exposed to OGL ES 1.1. 100% compatibility probably won't happen no matter what. Guess we'll have to wait and see...
 
Last edited by a moderator:
Exophase said:
Sounds like there'll be a lot of fiddling going on with modifying the emulated instructions/second counts, as there was with psx4all. It's kind of just as well - the baseline is probably more of a static number than the result of especially accurate timing emulation. These numbers are usually either substantially conservative or substantially generous. Since it's giving the option to reduce it, hopefully the baseline is on the conservative (ie slower) side, or it lets you bias in the other direction.

I'd like to know if any efforts have been made toward idle loop detection, and if so, what percentage of games are being detected. Where it works this is a much better procedure than manually changing instructions/second. Even if automatic detection is not done, having the option to manually supply idle loops on a per-game basis is still much better than maintaining manual "underclocks."

I'm pretty interested to see what kind of performance the OGL ES 1.1 GPU results in. So far showings have been pretty poor, and I don't think it's being held back by the hardware... so I'm concerned about the drivers. That said, PS1 emulation shouldn't require the kind of state changes and complex shading N64 emulation does, so it might be easier on the drivers. Renderbuffer readback performannce is going to play a role. Some useful features might not be exposed to OGL ES 1.1. 100% compatibility probably won't happen no matter what. Guess we'll have to wait and see...

Default is BIAS=4 (the same as PCSX), but now PCSX-Reloaded uses BIAS=2 and this value is needed for several games due to the timing. A lot of work has been done in the recompiler (uses 35% of profiled time). The SPU uses less than 5%. The worse parts are GPU and GTE... No idle-loop detection in the recompiler has been done yet.
 
Last edited by a moderator:
What does bias mean exactly, is it some N / bias instructions per second? Or is it cycles per second, with some attempt in timing emulation beyond 1 instruction = 1 cycle?

For the 35% time figure given, can you clarify the following:
- What bias figure and by virtue of above question how many instructions per second were you emulating
- What percentage of full speed was it running at, the CPU percentage number will look smaller and smaller as GPU and GTE are higher and higher.. but for a typical 2D game GTE should be close to zero, and GPU may not be high either.. on the other hand, for a heavy 3D game...
- Is frameskipping forced off?

To me, absolute time (for some known MHz) to emulate X instructions (preferably with profiling showing instruction type distribution) is the best metric for understanding the performance of a recompiler. Would of course still be interested in seeing source/recompiled comparison logs if possible, interested to see the approach on memory and register allocation and what have you. Of course the response is probably going to be "wait for the source then look at it yourself" :(

For games that are really taxing GTE and GPU emulation it'd be interesting to see some statistics on GTE and GPU operations per second.
 
Well, look at it this way, whilst the Caanoo won't offer any performance boosts, it will offer a larger screen, and an analogue stick. :)
And well, maybe faster loading times, that's typically what added RAM does.

Edit: Oh, and there's the vibration motor too!
 
Back
Top