Skip to main content

EmiPSX Review: the first Playstation emulator for Windows Phone 8

Not long ago, we covered a Sega Genesis emulator for Windows Phone 8 called EmiGens Plus. The Sega Genesis/Mega Drive was a terrific console, but many gamers would still love to play newer console games on their phones. Thanks to EmiGens’ developer Andre Botelho, now they can!

After months in beta, Andre’s Playstation One emulator EmiPSX is now live on the Windows Phone Store. The emulator has fairly limited compatibility and can’t run games at full speed on current Windows Phone 8 hardware, but it’s still a very promising release for Playstation emulation fans. Head past the break for full review with video!

The first Sony console

The original Playstation debuted in 1994. First planned as a CD-ROM add-on for the Super NES, Nintendo made the biggest blunder in gaming history and broke ties with Sony. Thus Sony chose to release the Playstation as their first videogame console, starting down the road that leads to this week’s launch of the Playstation 4.

Display modes

Portrait display modes - Image at right is set to "Stretch."

EmiPSX supports both portrait and landscape configurations. As you’d expect, landscape is far more ideal because of the larger view it offers.

The only real video option to note is a choice between “Stretch” and “FullScreen” modes. In this case, Stretch actually runs games in their original 1:33 aspect ratio (or as close to it as possible), which video enthusiasts would usually refer to as full screen or pillarboxed.

The “FullScreen” option is the one that actually stretches the image to fit the entire phone’s display. This can look okay in landscape, but certainly not in portrait orientation. Since this mode is stretches the display and not the other way around, it would be more accurate for “FullScreen” to be called “Stretch.”

Controls

Like EmiGens Plus, EmiPSX allows users to reposition every single button anywhere on-screen in either orientation. That should make it easy to get them in a comfortable spot.

Beyond that, the controls show a marked improvement compared to Andre’s previous emulator. For one, the default buttons and d-pad actually look like those of a Playstation controller. Players can also toggle to a “Simple Skin” in which the on-screen controls become simple white outlines (pictured above). Either way, they just look so much better than EmiGens’ rough controls.

I haven’t played enough games to properly test this, but it even looks like EmiPSX’s d-pad is more responsive. In my short playtime with Castlevania: Symphony of the Night, I didn’t notice the problem of the d-pad ceasing to work when my thumb exceeded the button graphic. Indeed, the Simple Skin shows a circular pattern around the directions, seemingly indicating that EmiPSX watches that entire space for input instead of just the main directions.

EmiPSX’s other big control improvement is MOGA Pro Controller Support! That makes this the fifth Windows Phone 8 game/app to work with the accessory, and the second emulator to do so (EMU7800 is the first). Again, we don’t have a controller to test the support, but it should make for a superior play experience compared to touch screen controls.

Game selection and in-game menu

EmiPSX’s game selection menu falls a few notches short of other developers’ emulators. Every time you launch the app you’ll have to select between SD Card and Internal storage before your Roms will actually show up. Really it should default to Internal storage (which everyone has) and just let users toggle to SD Card if they like.

The list itself does not support screenshots, which is a shame. It also clutters things up with letters used for alphabetical selection, so that you can only see two or three games at one time. Jumping to letters of the alphabet isn’t bad, but a little reorganizing could allow for 4-5 games to fit onscreen.

Pressing the Back button during a game brings up the in-game menu. From here, players can jump to the “Configure” menu (now listed in English!), save their current state, and load save states. Notably missing is the ability to take screenshots via the menu. Yeah, you can do that with the Windows Phone hardware buttons, but most emulators also let users take pictures using menu controls.

Unfortunately, it’s far too easy to exit the game you’re playing after viewing the menu. Should you back out of the game by mistake, there doesn’t seem to be any way to resume from exactly where you off. That can be a big deal when you’re 15 minutes into Symphony of the Night, haven’t saved yet, and press the wrong thing by mistake. Frankly, the only way to exit out of a game should be by choosing to do so from a menu.

Adding a game to your phone

EmiPSX supports two types of “Roms” - .BIN and .ISO files. Some sites store Playstation game images in another format, in which case you’d need to convert it to the proper format before the emulator could read it. Of course, you can’t legally play game images that you didn’t create yourself, so quit using them pesky websites, sonny.

You can put games on your phone via SkyDrive or SD Card. Note that adding large games via SkyDrive can be a hassle. In my experience, if my screen timed out while downloading a game then the download would fail. I had to turn off the screen time out via my phone’s settings before I could successfully import a game. If the same experience holds true for others, the app should mention the screen issue within its Help menu. (By the way, it has a pretty good Help menu.)

To BIOS or not BIOS?

The emulator supports playing games with or without a BIOS file. The BIOS is the core program of the Playstation and can’t be legally distributed with the app. If you do use a BIOS, it has to be named SCPH1001.BIN specifically, so don’t grab the wrong one.

As with EmiGens, the installed BIOS file shows up on the regular ROMs list. That’s a waste of space; its presence should be displayed in the settings menu and nowhere else.

The settings menu does allow users to enable or disable the BIOS file. You’d want to do this because some games aren’t compatible with the BIOS for whatever reason. In my own experience, Castlevania: Symphony of the Night simply wouldn’t accept button presses with the BIOS enabled. That probably shouldn’t happen.

Performance and compatibility

Ordinarily I would test several games when evaluating an emulator. Sadly, my phone is all but full so I had to settle for adding a single game: the aforementioned Symphony of the Night. Xbox Windows Phone gamers might remember that the underrated and overpriced Castlevania Puzzle is closely based on Symphony of the Night.

The Playstation is a relatively powerful 32-bit console and first-generation Windows Phone 8 devices aren’t all that beefy, so it might take a while for the developer to achieve perfect emulation. As it stands, Castlevania runs at a lower-than-normal but still playable frame rate. The sub-par FPS count would be less noticeable in Japanese Role-Playing Games, which is the genre that people tend to prefer when playing emulators on touch screens anyway.

Speaking of which, EmiPSX doesn’t have compatibility with all Playstation games yet. It does support a handful of big titles though, such as Final Fantasy VII and VIII and Gran Turismo 2. To view the full list and discuss compatibility findings, head to the official EmiPSX thread in our forums.

Promise for the future

EmiPSX has some rough UI edges, but it’s great to see improved touch screen controls and MOGA Pro Controller support in the emulator. Hopefully those improvements make it to EmiGens Plus soon as well.

The most important things with an emulator are accuracy and compatibility. I doubt that EmiPSX will reach 100 percent performance on current Windows Phone 8 hardware. But the Nokia Lumia 1520 (with a woeful 16 GB of internal storage) will soon debut, touting the much stronger Snapdragon 800 processor. Emulators like this one should run much better on Snapdragon 800 devices, so we can look forward to that.

As for increased compatibility, that can only come from extensive user testing and continued developer support. Let’s do our best to help and encourage Andre to keep getting more games running on the emulator!

  • EmiPSX – Windows Phone 8 – 2 MB – $2.49 – Store Link

QR: EmiPSX

Paul Acevedo is the Games Editor at Windows Central. A lifelong gamer, he has written about videogames for over 15 years and reviewed over 350 games for our site. Follow him on Twitter @PaulRAcevedo. Don’t hate. Appreciate!

117 Comments
  • FINALY
  • Xbox is king
  • I play Xbox lol I've owned everything growing up from Nintendo,SNES,Sega genesis,Sega Saturn,Sega Dreamcast,Nintendo 64,Nintendo GameCube,PS 1,PS 2,PS 3,Xbox and 360 ,so I don't play the hate game lol
  • You lucky, rich SOB.
  • What's SOB
  • Lol my dads a gamer so we had them all
  • Hopefully this won't cause my phone to overheat like a lot of ps4s are doing now ;)
  • Wow really? Lol
  • http://m.youtube.com/watch?v=Ys_v40CkplI&desktop_uri=3Fv%3DYs_v...
    http://community.us.playstation.com/t5/PlayStation-4-Support/Crazy-loud-...
  • Hmmm... The recording would be more credible if it was a close-up of the PS4, instead of 'about' 3 feet away -- anyone could have a hairdryer, turned on in the background. Furthermore, if the PS4 was running that loud (which suggests it 'may' be overheating), surely the systems cut-out switch would kick in and switch it off? Therefore, I say the youtube video is BS mate!
  • Dude, stop being a fanboy (; there are multiple pages on sonys support thread about this and Sony has even confirmed it. I know you don't want to admit the PS4 would ever have anything wrong with it, because its a playstation, but don't let that get in the way of facts. Have a nice day.
  • Fanboy? How do you work that out mate -- I made valid points about the YouTube link being BS!
    Furthermore, not once I said that the PS4 wasn't overheating! Maybe you should try read my comment properly, before jumping to conclusions mate. I find it funny that you're the one, telling me not to let things get in the way of FACTS -- Madman, ha ha ha ha
  • Damn man, stop being such a fanboy. It makes you look so bad. Mostly with such dumb arguments like the camera should be closer to the PS4, really? Like if it would make it impossible for them to have a hairdryer behind the camera then? Just accept that it has problems and move on.
  • Dumb and move on? Says the guy who responds to 9 month old comment -- you have obviously been living in cave all this time -- jackass.
  • Nah, I just wasn't on this site. Still better to respond to an old comment than to be a fanboy though.
  • Here mate, what a poor excuse for making yourself look stupid -- ha ha ha Furthermore, there are no bridges here for you to lurk under. Therefore, take heed from your first comment and move on -- just like the comment thread did 9 months ago.
  • Nope, in no way do I think I made myself look stupid by replying to an old comment. I was just explaining why I didn't reply earlier, because I wasn't on this site, but now I am and found your comment. I just got here and ranted about you being a fanboy, so what should I move on about? You are the one who keeps acting defensive and I just keep explaining how you are wrong and a fanboy.
  • Let's just drop it, guys. Playstation 4 is off-topic anyway.
  • Will do! Sorry, I'm just bored, I have insomnia!!!
  • Haha *highfive*
  • Xbox is king
  • "The Playstation is a relatively powerful 32-bit console and first-generation Windows Phone 8 devices aren’t all that beefy, so we can’t expect perfect emulation."   Really...? I had a PSX emultaor on my HTC HD2 and that thing was only a single core 1ghz phone and it played all PSX game smooth as hell, and you could pair a PS3 controller to it.
  • That sounds awesome!
  • How can I pair a PS3 controller to my Lumia 1020???
  • You can't. The only controller that works with WP8 devices is the MOGA Pro Controller.
  • Does WP support all MOGA controllers? 
    I really just want to know the MOGA Pokect Contoller.
  • Nope. Only the Pro.
  • Dang nabit! Welp thanks for the heads up. Just can't see myself carrying the pro controller around.
  • It works well with pretty much any Moga controller as has been said in other threads. But only the pro controller is officially supported. (Actually, while Moga said the pro controller would support WP they don't actually say that on their website at all, not sure why. So technically the Moga controllers don't support WP officially).   tl;dr: Any moga controller, at least older than the Moga pro controller, work perfectly well on WP.
  • The main limitation of WP8 versus Android for example is that it doesn't support dynamic binary translation, this makes the OS more secure at the cost of severly limiting the performance of emulators that rely on this method to achieve the fastest possible performance. Previous emulators on WP8 have been pure interpretters which are much slower (hence why VBA8 will make your phone melt) but offer extremely good compatibility and can be ported directly from a C/C++ implementation on another platform. EmiPSX represents a significant advance for WP8 because (if I recall correctly) Andre is using an intermediate method called threaded interpretation, this gives much better performance than a simple interpretter while still being possible on WP8. Unfortunately since it requires massive modification of the emulator core it effectively means starting from scratch compatibility wise. TLDR: Don't expect too much in terms of compatibility and appreciate this emulator is significantly different in technical terms to previous releases on WP8.
  • Wut.
  • I posted an in-depth explanation here back when the practicalities of EmiPSX were first being discussed.
  • Thanks for the read!
  • Just wondering, I'm a desktop .NET developer and I don't know if this is possible in the WP8 SDK, but is it possible to use DynamicMethod and System.Reflection.Emit? I've used compiled expression trees (an abstraction on top of dynamic methods) with great success to create very high performance JSON deserializers at runtime. If this part of the BCL is also available on WP8, the performance of that would be far better than interpretation.
  • Well, there has actually been a proof of concept to get at VirtualProtect and other hidden API functions in Windows 8 store apps using .NET reflection. I don't know if this is viable in WP8 since it's relying on Win32, although it may work on Windows RT. In any case no developers have wanted to waste time trying this method for their own store apps given it's circumventing MS publication rules. Related stack overflow discussion Also if I'm reading your proposition correctly (sorry I'm more of an assembly guy) you are suggesting translation to MSIL then relying on the platform's .NET runtime? I feel this would be slower than a threaded interpretter calling well written native code (or even ARM assembly) for each target instruction.
  • Essentially, yes. You'd basically translate the PSX instructions to MSIL and then let the .NET runtime JIT them for you. I'm absolutely no emulator guy, but if that is possible in the WP8 SDK (and it is on the full .NET runtime) then it would be as if you've written the PSX game in C# and DirectX. I feel like that should be plenty fast, as we know that XNA games run just fine on WP8 (and even 7.5 with its much weaker JIT and GC). Like I've said, I've never written an emulator, but I can imagine it's like reading the binary of the PSX game, encounter a bunch of instructions that say "push these triangles into the vertex buffer" using whatever graphics library the PSX used. With either System.Reflection.Emit or the System.Linq.Expressions namespaces you can emit code that then does "push these triangles into the vertex buffer" using the DirectX 11 API. You'd "interpret" the binary once and then compile it to MSIL and use that from then on. On the desktop, you can even store the generated MSIL binary and reload that the next time that you run the game instead of doing it all over again. If done well, then this generated code can be as fast as handwritten C#, which should easily be sufficient for PSX games.  To give you some idea, this is the generated expression tree (that is then compiled to MSIL and subsequently to native code by the JIT) to deserialize a JSON-like text to C# classes, for a library I'm working on. http://pastebin.com/6Ysdjyis
  • Thanks for the explanation, I still don't see how the .NET JIT is going run close to the equivalent native code implementation, each MSIL instruction is going to take up multiple native CPU instructions and use more memory. The JIT compiler will be storing all the native code that corresponds to an MSIL basic block in RAM then running it each time. Contrast this with a native code interpretter where emulated instructions can be optimised to use specific CPU register sets or SIMD operations (really useful for emulating the PS1's vector maths unit) and informed use of C pointers can directly leverage a CPU's addressing modes. With a good compiler like Visual Studio this doesn't necessarily require the use of intrinsics or assembly libraries, it's quite capable of optimising and auto-vectorising well-written C code by itself. In a jitter these advanced optimisations would have to be performed at runtime, which then becomes a law of diminishing returns. Using a threaded interpretter allows the nested subroutine calls necessary to decode an emulated op-code to be skipped. The fact that even with the above advantages the native coded EmiPSX is struggling to run games at good frame rate is a testiment to the amount of power needed.
  • I wish I could speak more from experience, but it's honestly more of a hunch. I do know what the .NET runtime is capable of however and I think you're underestimating it. The hardware inside a Lumia 920 is probably at least an order of magnitude more powerful than a PSX. Generally, C# is within 2x the speed of optimized C++ so it should have plenty of headroom in running PSX era games. So going by that, I'd say that if creating a transpiler that translates the PSX code into MSIL which is then JIT'ed is possible on WP8, it's going to be faster than an interpreter in native code. I think something similar can be seen in browsers: the JIT compiled JavaScript of today is much, much faster than the interpreters that we used to have. Just the improved cache coherency of a compiled set of instructions should give it an advantage over an interpreter.  Again, not saying I'm right, but I'm not sure what the bottleneck here would be :)
  • THAT was a great phone! With a great and powerful OS.
    Too bad people are too stupid to understand what platform could give you better possibilities and they preferred (at the time) iOS. And MS followed the trend like a sheep. And google, that is following the old WM philosophy, is winning. Oh the irony...
  • Tomb Raider time!
  • You used to have an official release of the original tomb raider for touchscreen windows mobile devices. I spent hours at work not doing my job with my XDA back in the early 2000's. I would love windows mobile games to be portable to wp. But will never happen.
  • Yeah I was like 'tekken time' but then when I played it my poor old 620 slowed it right down and it felt like street fighter II for the snes. Alas .... Might fiddle with frame skip etc to get it going faster...
  • Time to get finally get a MOGA!!!
  • Cool . Gotta try this one . Hope wii, 3ds, psp, will coming soon xD
  • Port it to Windows 8.1/RT!! Pretty Please!!!
  • +a million
  • Please!
  • Go buy the app and send them an email.
  • Insta-buy :) Frame Skip and everything to full, that made my Crash Bandicoot run perfectly smooth.
  • Gen and nes...now psx. Nice.
  • Castlevania SOTN (PS1) is one of my favourite all time games. I bought it for my PS3 too. While the game isnt overly difficult, I loved that you can either finish the game by going through the Castle once or if you have the right thing equiped (cant remember what it was - its been a while since ive played it), you have to go through the castle again, but in reverse/upside down. I still have not fully completed it, but finished at around 190% complete (ive read that it goes just past 200%).
  • Good job! Now reach 200.6% twice like I've done (XBLA and Japanese XBLA versions) and we'll be even. >:-D
  • OK - Im checking the exact % im at and going back to see if its even possible for me to get to 200.6% with my current save files. I think I might have missed a couple things on the first half and I dont think you can go back once the castle inverts.
  • Oh, you can go back. Just return to the room in which Richter first fights Dracula and use it to warp between castles. (I actually wrote a detailed Achievement Guide for the 360 version a few years before joining WPCentral.)
     
  • What a gaming genius you are paul
  • When you accomplish something, you can be proud of it.
  • I'm at 196.8% now. All relics have found, just have to see what else I need to do in order to finish completely.
  • Nice job, man! You're probably just missing a few tiny hidden hallways and rooms here and there. Might have to stare at a couple of complete maps to find what you're missing.
  • Who needs a PlayStation, get a Windows Phone instead. :)
  • +520 Working without a glitch...
  • im on 520 as well but im having trouble getting the emulators running. ive tried going though skydrive and using archiver but with no success. I feel like im missing something obvious, any advice?
  • Did you try putting the roms (.bin files) first in the SD card and then select "SD Card" from the Emulator? It worked just fine for me :)
  • Literally just back from buying an SD card at lunch (my old one seems to be permenantly fused into my smashed 820). I had been trying to work it over the scant phone memory. Ill try using the SD when i get home. Thanks Gautam
  • No problem! But make sure the SD card you are using / buying is either class 6 or class 10 SD card and not anything lower than that. Once you update your phone to Windows Phone 8.1 in coming weeks, then class 4 SD card won't work. I hope you upgrade your card soon if you have class 4 :) To check you what class you have, just see what number is written right in a circle on your card. For example, this is a class 4 card.   Hope that helps! ;) P.S: I just bought a 64GB class 10 SanDisk microSD card for the sole purpose!
  • Gah! Its a class 4! I kept the receipt though so no biggie :)
  • Glad you kept it! :D
  • Epic! Really good we need more more!
  • I've been checking this app everyday to see if was released!!! Finally! Resident Evil!
  • I want it for res evil too, can you pm me if it works?
  • Yeah I'll let you know
  • I was thinking the samething. If I could get RE of my surface rt via an emulator that would be insane!
  • This is cool. I really wish Sony would develop a WP phone similar to the Xperia Z phone. I would buy it. If I had to choose and Android phone, I'd choose that one...
  • It would be awesome to play the very first Gran Turismo again, I mean, how long ago was that, like 17 years? Fuck my distorted ass, that's a long time ago.
  • Awesome. Just awesome.
  • what happened to the guy with the snes emulator?  use to get frequent updates and dont think i've seen anything forever, did he stop supporting?
  • Yes, M.k stepped away from WP and Windows 8 development. We did a story on it a while back.
  • Xbox is king
  • That's awesome. Um going to give this a shot.
  • Digimon world is about to be played :D
  • Yesssssssss!
  • Awesome I can continue my games :)
  • Moga support is all I needed to hear