PDA

View Full Version : DCEmu Interview Exophase - The Coder of the Full Speed GBA Emu for PSP gpPSP



wraggster
August 28th, 2006, 22:34
http://interviews.dcemu.co.uk/images/summerinterbw4.gif

Introduction

Exophase (http://www.dcemu.co.uk/vbulletin/search.php?searchid=691325) is a newcomer to the PSP scene and what an entrance, to release a Full Speed GameBoy Advance emulator (http://www.dcemu.co.uk/vbulletin/showthread.php?t=33682&highlight=exophase) on your first day is an accomplishment like no other and the response from all corners of the PSP Scene has been breathtaking. So what better way to get to know more is for the webmaster of DCEmu to come out of retirement to interview Exophase.

Heres the latest DCEmu Interview:

Wraggster: Can you tell us where were you born, where you live,etc.?

Exophase: Born in Cleveland OH, USA. Right now I'm in Bloomington Indiana.

Wraggster: What qualifications do you have?

Exophase:Bachelors in computer science, going for a Masters at the moment.. no real work experience, although I've done a lot for the retro game creation system "MegaZeux."

Wraggster: What made you get into computers/consoles?

Exophase:I didn't actually own a computer until I was around 12. It's difficult to explain why, but long before that point I had a strong desire to know how computers work and how I could work with them.
As soon as I got my first (a Pentium 75MHz machine) I wanted to figure out how to program, by
naively opening up random executables in notepad and staring at awe at the mess of characters
that I thought someone must have hand inputed to make this thing. Anyway, I guess you could say
I was always interested in computers in some way.

As far as consoles go, that's pretty typical for all of us, although I didn't own an NES when everyone else did. First I had was the original Gameboy back in 1991 - someone let my mom play Tetris and after that she just had to have one. Eventually I got an NES and the other consoles (at budget prices) followed, like TG16 (good times..) and SNES at the very end of its lifetime.

Wraggster: What projects/coding have you done previous to your GBA Emulator for the PSP?

Exophase:Aside from projects for school (some of them kinda big and scary, like operating systems) I've mainly just worked on MegaZeux, as mentioned previously. gpSP is my first real emulator.

Wraggster: What inspired you to code a GBA Emulator to the PSP and what difficulties did you have getting it to run properly ?

Exophase:I wanted to do a GBA emulator because I figured it could be done, but that it'd take more than just a straight port of VBA. I've been interested in dynarec for a long time and from what I knew about ARM (GBA's CPU) I figured it'd be a great candidate for dynarec due to the large amount of decoding overhead necessary in interpreting it (at least in ARM mode, not so much in
Thumb mode). MIPS (PSP's CPU) was also an attractive target for a RISC recompiler. I had a lot of
other crazy ideas for GBA emulation involving the video code that mostly thinned out, I'm not sure
how much any of them would have worked out. Anyway, GBA seemed like one of the more in demand platforms to be emulated on PSP, and it'd make PSP that more comparable to DS which has native GBA playing capabilities.

Of course, there have been many difficulties, not much about this project was straightforward for
me. I spent hours comparing my debugger to the debugger of one of three other emulators (depending on the game), trying to find where mine goes wrong. Of course, I would have had a much harder time without such mature emulators to compare against. This was all on the PC, long before an initial PSP build was even made. I was always pretty intimidated about moving to PSP because I knew it'd be that much more difficult to debug. I only got a dynarec running on it by doing it in a very systematic fashion, starting with a rather weak but more platform independant approach that wasn't too difficult to port to MIPS, then eventually tuning the MIPS code into what it is now. It's
pretty similar to the approach StrmnNrmn took with Daedalus.

Wraggster: Can the Dynarec be used in any other Emulators ?

Exophase:It might be possible to use it for other platforms that use ARM7TDMI, although the memory interface would have to be revised, as well as the translation mapping functions. Moving to ARM9 would be a bit more work and anything with an MMU would be a headache as well. For other CPUs I don't think this would do much for anyone, even as a reference.

This is all assuming that MIPS is a target. Other platforms can be targeted (as x86 and MIPS are
now), but because of how the dynarec is designed it works best when the target platform has
significantly more registers than the one you're trying to emulate.

Wraggster: Can Full Speed and Full Compatability be accessed with your emulator in the future ?

Exophase:Hm, I don't think any emulator really achieves full compatability. I know the compatability can probably be improved... right now I'm not handling self modifying code as robustly as I should be, changing that might help things, I don't really know yet. I'm also not handling some things like code executed from VRAM. I know for sure that there are a number of dynarec bugs; the interpreter
has much better compatability (and is of course much slower). I'd say the interpreter has around
85-90% compatability, so hopefully one day the dynarec will approach that.

As for speed.. there are still things I can do to improve it. There are some techniques that I
believe will decrease the size of emited code which can improve speed massively if it's enough
(anything to improve icache performance). For games that use the BIOS heavily or games that use
a ton of interrupts (like FF:Dawn of Souls in battle or Sword of Mana) HLE BIOS may offer
significant improvements. Beyond these things there are some things I can try to load balance
between the two CPUs on the PSP and utilize the ME's faster eDRAM. I don't think that the added concurrency (running different pieces of code at the same time) will offer much but having double the cache and better memory may.

Wraggster: The release of this emulator has been compared to the shock of Ultrahle and Bleem, emulators that werent thought possible until they were released, are you proud that your the first to get a decentplayable GBA Emulator out there ?

Exophase:Heh, well, I'm just glad that at least some people can play some games well. I know it was nice being able to play Castlevania: Circle of the Moon for a while when I had nothing else to do.

Wraggster: Making the emulator open source is great for everyone, do you envisage ports to other consoles or is the code too specific for the PSP ?

Exophase:The dynarec is very PSP specific, and in the current version the video, input, and file I/O code has PSP specific versions, but it'll still use SDL/stdio for non-PSP builds. If anyone wants to
port it to other platforms I can give them my x86 dynarec backend, which is much easier to port
to other platforms but will be much less efficient than the MIPS one. Writing a dynarec for a
different platform is still a lot of work, and my dynarec model isn't really best for all platforms (it was somewhat written with MIPS in mind).

Wraggster: Whats the good and bad points about developing for the PSP?

Exophase:Most developers use psplink, which would probably be a huge good point, but I don't use it so I don't know. All in all I don't think developing for the PSP is that much different than
developing for anything else. The PSP hardware does have some pros and cons... when working with
gpSP I think these have been relevant:

pros:
Fast hardware bilinear filtering, this is good for pretty much every emulator
Very fast VRAM that you can read from and write to

cons:
Very little cache for the CPU (no L2 cache)
LCD blurs dark colors
Scratchpad RAM doesn't make for a good addition to cache, it's too slow...
No MMU

Wraggster: In your opinion whats possible on the PSP in terms of Emulators, Media Players etc, bearing in mind you have just released a Full Speed GBA Emulator ?

Exophase:PS1 emulation, but we all knew that one because of Sony's upcoming emulator. When I first heard PSP's specs PS1 and N64 emulation immediately came to mind, although I think I underestimated N64 emulation a little, the CPUs aren't quite as similar as I hoped (PSP has a 32bit little endian CPU with only single precision FPU), but perhaps these differences aren't too big of a deal. I think StrmnNrmn will continue to impress us there, and someone besides Sony is bound to do a great PS1 emulator (not me :D).

As for media players... the ones out now are pretty good, right? I don't exactly, but I think they're doing a good job for what they have. Eventually someone should reverse engineer the PSP's video/audio acceleration chips and we'll have media players on the same level as the firmware ones, if they're not already at that level.

Wraggster: What got you interested in development for the PSP?

Exophase:I was interested long before PSP was released, even though I've never done console/handheld dev before. I was hoping Sony would release something like this for a long time and PSP pretty much matched my expectations exactly, at least on paper. The fact that it was exploited pretty quickly and it's so easy to get stuff on it (without any mods or extra hardware) made it too appealing to pass up.

Wraggster: Do you have any projects, that you would like to start for the PSP?

Exophase:Nope. This one's gonna keep me busy for a long time >_>

Wraggster: What would you like to see ported to the PSP and what is realistically the limit to what can be done?

Exophase:I don't really have anything in mind. Honestly I'd like to see more original works for PSP than
ports. But, for people porting, they need to bear in mind that PSP is not a 333MHz Pentium 2, so
they shouldn't necessarily expect that level of performance from a straight port. The CPU is only
single issue and it has far less cache, but far faster main RAM and other useful resources that can be taken advantage of.

Wraggster: How could the PSP Scene be improved aside from the obvious that Sony want to stop it at all costs ?

Exophase:The scene looks pretty good by all accounts, there's a lot of active news and development. It's definitely one of the more active console dev scenes.

Wraggster: Whats your favourite games from each console you have owned ?

Exophase:This sounds like a really hard question.. okay, I'll try:

Atari 2600: Seaquest
Gameboy: Link's Awakening
TG16: Bonk's Revenge
NES: Kirby's Adventure
SNES: Chrono Trigger or FF6
GBA: Castlevania: Circle of the Moon
Gamegear: Shining Force: Sword of Hajya
Lynx: Blue Lightning (okay, that was like the only game I owned)
PS1: (this is really hard) Xenogears or Suikoden 2.. maybe SaGa Frontier 2
PS2: Suikoden 5

Wraggster: Finally which of the Next Gen Consoles interest you the most and why ?

Exophase:I don't know if I'm going to buying any of them any time soon, what with my current trend of buying maybe one game a year, but from a dev standpoint PS3 looks the most interesting. It
might be the most open to dev for (ironically) and it has some really complex hardware that should be challenging to work through. XBox 360 will be somewhat open to dev for too, but at a yearly fee (which sounds a bit much to me) and with more straightforward but less interesting hardware. Wii is of course the more affordable and unique one, but probably won't be as interesting to dev for if/when anyone figures out how. Also, everyone's going crazy over the emulation of older games on Wii but we've all been doing that on other
platforms for ages, right?

Thanks for the excellent interview for the PSP Scene

wraggster

Please do not steal this interview for your site, please link only

Kaiser
August 28th, 2006, 22:48
Nice :)

A great read.

wraggster
August 28th, 2006, 22:49
yeah a very interesting interview :)

dOOmy
August 28th, 2006, 23:00
Maybe we should all get together and buy him a ps3. so he can get to work on it. i mean he has done enough for us all.

sappo
August 28th, 2006, 23:01
Yeah! Great Exophase and Wraggster :D


But personally, on Media Players I have to say a thing.

I want a direct DivX player! It's reaaaally TOO boring to convert for 2 hours a DivX in PMP or MP4 format!

That would really be a good project!


On PS3/X360 or Wii, I'm mostly on Wii.

It seems that Nintendo will love Homebrew.
Think about it. SD support? That's Homebrew best friend! :D

Instead, I will think that PS3 will be difficultly exploited. Sony is getting harder on protections, and let's think about it, 600$ for a PS3? What the hell they think are?

Better a Wii for 200$. And MUCH better for Homebrew Developer's pockets ;)

gunntims0103
August 28th, 2006, 23:02
really good interview enjoyed reading it Exophase is a great coder he's a true contributer to the homebrew scene

hack.fool
August 28th, 2006, 23:22
thanx wraggster, great interview!
and of course props to Exophase
the only thing you forgot to mention is "WHEN DO YOU RELEASE A NEW RELEASE!!"
lol

BL4Z3D247
August 28th, 2006, 23:46
awesome interview wraggy :D, and Exophase Xenogears was one of my favorite games for PS1 too :p....ahh the good ol' days are back, i got NES, SNES, N64, GBA, and soon PS1 on my psp, can't get any better than that.......or can it :)

eazy-e
August 28th, 2006, 23:48
awesome

Zion
August 29th, 2006, 01:02
Thanks for creating such a stunning emulator

NoQuarter
August 29th, 2006, 01:23
Great interview wraggy,and emu exophase

John Vattic
August 29th, 2006, 01:32
Very good interview!
I love to hear from the coders!

And i love dcemu!

aries2k4
August 29th, 2006, 03:34
Nice interview. Very interesting. Exophase, I´m really glad you decided to start coding for the psp. Your first project on the psp and you give us this amazing emulator. Very impressive.
Thanks!!!

motz
August 29th, 2006, 07:58
Nice interview, a very interesting read! :D

BL4Z3D247
August 29th, 2006, 08:02
so does anyone know what he's working on fixing up, or new features he's adding?

Kramer
August 29th, 2006, 08:28
Nope but id love to see adhoc multiplayer for pokemon

BTW best interview ive read so far.

EmuFan
August 30th, 2006, 08:08
Sweet mother of god, my psp is to repair bc of a cracked screen, so i don`t get to try ANY emulators...The store is trying to use the guarantee, but i say i can pay for the switch, bc it takes so damn long to wait, but they won`t listen, they WANT to loose money...Weird..Anyway, fantastic interview, great read! The best in a long time! (Not really, it`s all good:) )

StealthCP
August 31st, 2006, 15:10
Very interesting read, Exophase. You are a true inspiration and you got me started into PSPDev. Thanks again for the great emu, it is most certainly a work of art, and can only get better! :D

kharaboudjan
February 5th, 2007, 20:07
very nice to read!! thax to Exophase who has done the perfect gba emulation on the psp :D

ExcruciationX
February 5th, 2007, 23:06
Yeah, he's a pretty cool guy.

I wonder if he will host his development site here? That would be pretty cool.

mesosade
March 17th, 2007, 21:07
I remember the day gpsp came out, it just came out of nowhere. I tried sonic advance with it and my hands (yes this is a bit silly) were shaking i was so amazed that this was possible!

Lodis
May 16th, 2007, 02:25
Really great interview and very interesting to read. I think the gpSP emulator is something that means I will always keep my Psp. The emulator adds a level of value to my Psp that can't really be put into words. All I can say is thanks Exophase.

fundash26
October 20th, 2007, 01:32
pretty cooooooooooool!!!

________________________________________________
(\__/)
(='.'=) This is Bunny. Copy and paste Bunny into your
(")_(") signature to help him gain world domination

mastersho
October 20th, 2007, 04:41
Exophase rules! Man this is the best GBA emulator for the PSP and I thank Exophase from the bottom of my heart for taking the time and care to make such as great emulator.

chubbnice
November 26th, 2007, 23:37
where can i download the emu at???

JKKDARK
November 26th, 2007, 23:59
where can i download the emu at???

http://www.dcemu.co.uk/vbulletin/showthread.php?t=46046

B2K24
June 30th, 2009, 08:07
Thank you Exophase for gpSP. I really appreciate your work.