Yoyofr's website is here I'd suggest you check out his projects if you haven't already!
Hooka: When did you get your gp32?
Yoyofr: About one year ago, from a cool French videogames shop, known as "Shibuya games".
Hooka: What made you decide to get one?
Yoyofr: After reading some articles on the web, I realised it was the first handheld really opened to homemade software. The system was quite simple and powerful at the same time. With the support of SMC, it really appeared to me as the platform for coding emulators.
Hooka: What dev environment do you use?
Yoyofr: I used to work on Linux but as I'm a gamer too, now I mainly use Windows XP with GCC & CW as compilers.
Yoyofr: Ultraedit / Xemacs / CW IDE are my main 3 sources editors.
Hooka: Little John GP is a great emulator, what made you decide to start making an NES emulator for the gp32?
Yoyofr: First, a bit of history: Little John is older than gp32. It was originally made as a highschool project, emulating nes. Then I added Snes to it, using snes9x.
Yoyofr: At this time it was running on Linux and designed as a portable emulator. So I did UNIX (HP/Sun), BeOS & Windows version. I've heard of Amiga ones too.
Yoyofr: So when I started working on gp32, I used my old sources as starting point. Then I updated them with the latest advancement in sound/mappers emulation and I found an "unfinished" but already good nes emulator for gba, called "FCA".
Yoyofr: I found it was not too hard to finish/debug/interface the 6502 CPU core with ljgp32. So I worked on this for a while, and you know the result, a nes emulator running with sound at frameskip = 0!
Hooka: Do you have any future plans to work into LJGP32?
Yoyofr: I want to fix some known bugs & rework the GUI to have something easier to use.
Hooka: Do you ever plan on making LJGP32 into something like Little John Z or is it better for gp32 to have separate emulators for some reason?
Yoyofr: It would be cool to have ljgp32 as ljz, but right now the memory restriction on gp32 makes it hard to do. I could write a "module" loader, but I think it would be easier to write an emu frontend as the ones existing for windows emulators.
Hooka: From first beta to 0.4 of LJGP32 only took from June 8, 2003 till October 5, 2003, that’s incredibly fast coding, even if you worked on it for a little bit before the first beta ;) how do you code so fast?
Yoyofr: Hmm, don't know... I code in my freetime, so it's not so fast after all...
Hooka: Is LJGP32 all in c or is there some assembler to speed it up?
Yoyofr: Ljgp32 has assembly in it for the critical part:
- 6502 CPU core.
- Sprites caching
- sprite & tile rendering
- videobuffer -> gp32 vram rendering
Hooka: When is the v0.4 source code going to be available? I noticed the soon!!! thing when 0.4 was released I think ;)
Yoyofr: Hmm.... Seems I forgot to update the website... I will probably do a 0.4.1 or 0.5 version with all that I've done here & there in the source code from latest version and I'll put the sources at the same time.
Hooka: Was LJGP32 entirely all your project or did you have some help on it?
Yoyofr: I've read lots of documentation on Internet/read forums on nes coding/studied other emulator source code...
Yoyofr: So I had some help on it!
Yoyofr: But it was a single coder project. Contributions are the logo/icon from Franck/Antiriad
Hooka: Does Little John Z have the OpenSNES9xGP water effects in the menu or is it the same as the old LJGP32 menu or did you do a totally new type of menu?
Yoyofr: I wrote my own new GUI.
Hooka: March 20th you opened the Little John Z page, did you plan to have all those different emulators implemented into it?
Yoyofr: Hmm.. No. :-) I wanted to have nes/snes/gb, but genesis/ws/ngp were added only because it was easy & possible.
Hooka: I’m sorry to pester but when was Juny 01, 2004? Just thought I’d tell ya ;)
Yoyofr: ;-) Okay. I really need to update my website!
Hooka: It’s funny how you worked on OpenSNES9x Z for less than two month’s and incorporated it into LJZ, what gave you that idea initially?
Yoyofr: I won the Z thanks to OpenSnes9xGP, so I though it was the minimum to port it on this new platform. To incorporate it into ljz was the first step to do what I wanted in the first Little John (to have a "nintendo systems" emulator).
Hooka: Ok, for LJZ you mentioned ThunderZ for the NeoGeoPocket support, but who did the WonderSwan or did you port it yourself?
Yoyofr: I used Oswan sources. I had done a gp32 version, but it was not more advanced than wonderboi32, so I did not release it. For LJZ, I used this version & improved it a bit (but really, just a bit).
Hooka: May 25, 2004 with v5.0-RC3 of LJZ you added SDD1 and SuperFX, do you ever plan on implementing these into OSNES9xGP?
Yoyofr: SDD1 will probably be part of next os9xgp, since it has no special memory requirement. But Star Ocean won't be playable due to
the ROM size (6MB)...
Hooka: What do you think about the 32/64 MB memory mod’s for gp32 by Rob Brown?
Yoyofr: Good idea... A special version of os9xgp could use it, it only needs to have a good coder with the mod to work on it.
Hooka: Do you think that the memory mod would allow support for SDD1 and SFX? And support for Star Ocean and Tales of Phantasia?
Yoyofr: The memory mod would allow tales of phantasia & star ocean to work for sure. SuperFX will however be too slow (already too slow on the Z).
Hooka: Does it always take Tapwave so long to sign anything?
Yoyofr: The issue isn't the signing process, which is known to be fast. The issue lies in the current incompatibility between Tapwave SDK license & gpl license (used in gnuboy for gb module,...)
Hooka: Any news on the GPL front? I thought I saw a post by Skeezix saying it should be fixed but for dev’s to contact Tapwave themselves.
Yoyofr: Right now there's nothing available, and I'm in direct contact with Tapwave, so perhaps next week...
Hooka: Is it just Pocket Tunes that can play in the background or can the Tapwave one play too? I really think that is a great idea, play alot of old console/handheld games with whatever music you want to ;)
Yoyofr: Both can play in background
Hooka: What are your ultimate goals for OSNES9xGP and LJZ? (For gp32 what MHz for full speed and sound, ect. Zodiac I dunno how you want to put that!)
Yoyofr: Os9xGP: the faster I can :-) I think most games playable at frameskip 0/1 with sound would be great. But it will need lots of work in the sound part of the emu.
Yoyofr: Ljz: to port it on palmos and have one of the best free multi-console emu for palmos.
Hooka: Yogg is an ogg vorbis player could you explain an advantage to this format?
Yoyofr: I guess www.xiph.org/ogg/vorbis will do better than me !
Hooka: Have you done any work on Yogg lately and do you plan on making a Zodiac port, or are there enough ogg players already on Zodiac?
Yoyofr: Yogg was improved a while ago with frequency fix & mikmod added. I will release it soon. In fact I wanted to add support for saving/loading playlist.
Yoyofr: On Z side, I'll do a pocket tunes plugin when I have time to have mikmod & snes spc file interfaces.
Hooka: Are there any other projects you have worked on?
Yoyofr: Haha! *Secret*
Yoyofr: No really, ljz/os9xgp/yogg/ljgp32 ... it already takes too much of my free time. My current job takes me about 50h/week and I have a social life...
Hooka: Do you still have plans to make releases for the gp32?
Hooka: What upcoming features do you plan on implementing to LJZ?
Yoyofr: Bug fixes/stability.
Yoyofr: Snes optimisation (will be used in os9xgp32 too)
Yoyofr: Perhaps new hardware emulated (no, not gba)
Hooka: What part of LJZ did you work on? (I’d be guessing most of it seeing as ThunderZ said you got the Zodiac because you did most of the work for the release that won GBAX another 15 Day’s competition ;) )
Yoyofr: Right now, I'm alone on LJZ coding. I have had some help from Skeezix for palmos stuff.
Yoyofr: But LJZ isn't written from scratch:
- Genesis, gameboy, wonderswan, neogeo pocket are ports. Genesis & neogeo pocket have some improvements compared to original version.
- Nes: ljgp32 adapted to Zodiac, so I worked a lot on this part .
- Snes: os9xgp adapted to Zodiac. I worked a lot on this one too. Basically the PPU rewrite, the sound decoding in arm assembly and the CPU core (started by Laxer3a, but he didn't have the time to finish it, so I've continue his work and implemented it in os9x).
Hooka: What do you / what would you like to see for the futures of the gp32 and the zodiac?
Yoyofr: New & better games/emus!
Hooka: Have you made any future plans for new *secret projects* ?
Yoyofr: No, no time for this :-/
Hooka: What do you think will probably be the newest/best hardware console emulate-able at a good state by gp32 and zodiac?
Yoyofr: Hmm.. for gp32 it's hard to tell, there are already so many emus... Perhaps amiga if really good coders take the time to start a new one from scratch, using dave's cyclone cpu core.
Yoyofr: For zodiac, I would say neogeo/mame.
Hooka: What has changed so much in OSNES9xGP for it to jump from v0.2 to v0.5?
Yoyofr: Asm CPU core, sound decoding (however sound mixing is still too slow), transparency,...
Hooka: I though you mentioned a PC Little John one day, is there actually a PC version that was NES and SNES together? (If not, I'm having a really bad day and can't remember what emulator I was thinking of ;P)
Yoyofr: Yeah, there is one. I think you can find it by searching for Little John Next Generation or LJNG*. But I don't have a website anymore & it wasn't updated since a few years ago...
Hooka: What is your favorite NES game?
Yoyofr: Hmm, it's always hard to answer to this.... Probably bubble bobble/castlevania 3/smb
What is your favorite SNES game?
Yoyofr: Same as before : hard to tell! chrono trigger/ff6/smw 1 & 2
HookaWhat is you favorite games for the other systems emulated by Little John Z?
Yoyofr: shinobi (megadrive)/snk fighting games(neogeo pocket)/ff remakes
Thank you Yoyofr for your time, interview and work on your projects I'm pretty sure many people in both the gp32 scene and Zodiac scene appreciate your work!
*http://linuxkungfu.com/littlejohn/?template=black is the address to the Linux Source of the PC Little John Next Generation and http://www.kinox.org/jcemunews/hist/200005.htm has a post about LJNG from 2000 ;) and the windows version is available here thanks to wolfsclaw ;)
*Interview finished 07/06/04*