DCEmu Interviews is the site that asks the questions everyone wants answering, Part of the DCEmu Homebrew & Gaming Network.

DCEmu Interviews Go back to Main Page

Interview with: Lantus

Homepage:

Date: 2002

The Interview


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

Lantus: I was born and live somewhere in Australia. ill keep it at that for now.


Wraggster:2) What qualifications do you have?

Lantus: Well, i have a university degree majoring in Computer Science and Mathematics, and professionaly ive worked close to 8 years as a developer for a range of different companies.


Wraggster: 3) What made you get into computers?

Lantus I remember around 1983 or so, my dad bought home a vic-20 and a whole bunch of educational software that he spent almost his whole paycheck on for me so i could use it for schooling. I became really interested in the vic-20, eventually i learned Basic by writing out some little programs. After a while i became bored with that, i got into writing my own games. Remember the vic-20 had only 3k of ram to work with so you could never go crazy with it. 2 things that stood out for me was a slot machine program i wrote which took a few days to knock up. I ended up coding custom graphics for it using UDG's - User Defined Graphics, vic-20 didnt have sprites, and a swanky text adventure game which had so many bugs and kept running out of memory.

Wraggster:4) What projects/coding have you done previous to your Xbox Scene work.?

Lantus Aside from my professional work related stuff, none really, xSnes9x was my first scene related project.


Wraggster:5) What inspired you to port a Snes Emulator to the Xbox and what difficulties did you have getting it to run properly ?


Lantus A few things. Mame-x was just released, so no one else had considered other emulators back then. Mame-x think it was in its 3rd or 4th beta by then, and i loved how it played on the Xbox, even better was Superfro and Op-code releasing the source which meant i could take a peek at how things were done xbox style. I didnt know anyone in the xbox scene at that point. I downloaded the Snes9x source and went from there. The other main reasons were personal ones for myself. I wanted to pick up my C/C++ skills again. The past few years with work i have hardly touched c++ and i wanted to maintain that skillset. What better way to hit 2 birds with one stone and lift my C/C++ and work on an emulator for the best (imo) console ever.

Difficulties in getting it to run? You bet. The biggest problems i had was i didnt have any DirectX experience before XSnes9x , so i was learning as i was going along the way. The way i work in porting code across is to strip out (comment out) all the code that you dont need until you get an xbe compiled. Brute force all the way but it hasnt failed me yet. Compiling the Win32 source wasnt too bad, i think after 2 nights i have it all compiled. Thats when the fun started however. The first thing i had to tackle were the Direct3d calls. I went out and bought "The Zen of Direct3D programming" to help me along the way, I think it took 2 or 3 nights after work to get the Direct3d working, the first few attempts were pretty funny, i remember getting really excited when i had a blue square fading in and out because it looked like it was syncing with the rom. That was probably my first breakthrough and at that point i knew that i could go all the way with it. It was nice to see everything running at 60fps when i finally had a probably display being rendered on the framebuffer.

I have to mention this, another difficulty was getting the irc people to acknowlege it :) Spirl, who is my graphics guy , was the person i sent the first ever Alpha version to so he could test out and release to the masses. Well aside from calling me a liar and full of it, he thought i wrote a trojan that would reformat his hard disk. It was pretty funny seeing his reaction when he had the guts to run it, ill never forget that heh.

Wraggster:6) Will you be updating Xsnes9X in the Future ?

Lantus Yes. The Snes9x windows people are making constant changes to their source and its usually game compatability fixes. For example, the new internal code im working on plays Ballz3d which is a DSP-1 game which has never worked on any previous versions. Also im working hard right now on the UI aspect of the emulator. People have said there are too many buttons in the menu which arent intuitive. So im basically scrapping all that and using a menu which is a single button press which allows you to perform all your tasks that way.

Wraggster:7) Everyone has a reason for porting a certain Emulator etc whats your reason? For me it would be to play all those excellent Snes games again but im not the interviewee :)

LantusI am a SNES freak, its probably my favorite console of all time. I own a Snes and about 60 carts which ive probably finished close to 50 of them. I believe when the SNES was around and kicking, they were the best times in the console gaming era. None of the other emulator source - and remember i had pretty much all of them to chose from back then - didnt appeal to me.


Wraggster: 8) Whats the good and bad points about developing for the Xbox?


Lantus Good points: The XDK and remote debugging, which is an absolute timesaver and very nice to use. Before I had remote debugging and Evox i used to burn cd's almost every 5 minutes to test new things, it was pretty painful and i look back and wonder how i even bothered. Another good thing is the scene itself, there are lots of people out there who can assist you in different aspects of your development cycle which is always nice.

Bad points? hmm cant think of any, well apart from MS not allowing legal homebrew development, i love writing code for the xbox.

Wraggster:9) In your opinion whats possible on the Xbox in terms of Emulators, Media Players etc?


Lantus Well we have seen what linux and Xbox Mediaplayer can do for us. I think almost anything is possible on the xbox.


Wraggster:10) What got you interested in development for the Xbox?

Lantus I got a copy of the XDK, i installed it and played around with it some. As mentioned when mame-x was released, and with the source code and built my own custom versions to figure out how things worked.


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


Lantus Theres quite a few new things tinkering around in my head, the problem is ive also done DoomX and co-authored the very excellent Final Burn Alpha X and Frodo-X - the C64 emulator. Trying to update all these things means i dont have much time on my hands for anything else unfortunatly, but that doesnt mean you wont see anything else from me.


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


LantusPersonally, i would love to see Amiga emulation, as it was my 16bit computer i grew up with after the vic-20 became obselete.

The limits would be N64 and PSX, but there are hurdles to overcome on both. On the flip side lots of people have asked me about PS2 and Dreamcast emulation, i would say to them i dont think that will happen for quite a while, if ever. But with what we have seen so far on the Xbox , who knows.

Wraggster:: 13) When will we see a fully legal emulator/ application for the Xbox?

Lantus Hopefully the new push for OpenXDK will mean things happen sooner than later. Realistically, i think something developers can sink their teeth into is at least a year away. At the same time im very excited in moving away from the MS XDK for the obvious reasons.


Wraggster: 14) What speed is Xsnes9X running at and how much harder is it to get the dsp and superfx chip games running at full speed.?

Lantus Its running at a full 60fps or 50fps for PAL50 users. The superfx roms arent any harder to run because they are actually using the zsnes assembly routines which are superfast. If anything theres a bug in some superfx code which make it run too fast :) DSP-1 chip emulation is all C code and the results you've seen from Super Mario Kart it doesnt even look like the xbox is being taxed cpuwise.