back to the interview page

Welcome Ladies and Gentleman to the first official interview conducted by the Retrogames staff. We have the honor to talk with Jabo, the genius behind Jnes.

I stumbled upon it in mid '99 and was hooked as soon as I noticed the great emulator GUI. Jnes was my favourite emu, because it gave me what I needed most at that time. A compatible, easy to use emu with save states and screenshot functions via F-keys. I'd planned to make more than 1,000 screenshots and I did it. If Jnes supported the game mapper it was my first choice. In december last year I emailed Jabo to ask whats going on with this emulator and I was pleasant surprised to hear that a new release will be out soon. Some days later I met him on IRC and asked for an interview - below is the result !

Retrogames Interview #1

Interview with Jabo - author of Jnes an advanced NES/Famicom emulator for Win9x
conducted by Opi via email in january 2001 - published 01/22/2001 !

Hi Jabo, please introduce yourself
Jabo - I live in the United States, i'm 20 years old, and my hobby is basically coding, which has lately been emulators, but isn't limited to some other areas of interest such as 3D graphics and such.
Let's talk about your excellent emulator and its development, why did you stop releasing anything for almost a year? (besides that small update on 01/04/2000) ?
Jabo - I think basically I got tired of working on Jnes, most of the feedback was great on the message boards which made development more enjoyable for that time, and it was nice to know that people liked Jnes. However, after almost a year of reading feedback and releasing new stuff, working on it wasn't as much fun. I needed a break from working on it so I could start new projects, and come back when I had a clearer vision of what I wanted a final release of Jnes to really look like.. and just get it done. I think the current beta cycle of 0.40 may be just that.
Why did you choose the NES as your first emulation project ? To revive dreams from your childhood or because there were many technical documents available about the NES when you started ?
Jabo - The documentation available was a good reason to use the NES for a project, although as it turned out, the information publically available proved to be quite flawed back in those days, luckily the people in NESdev were very fun to work with, especially loopy who wrote a video addressing document, and there was plenty lacking in sound info as well.. I was a huge NES fan growing up, this was a very nice inspiration to develop Jnes as far as I think it went.
What was it that caused you to mainly concentrate on improving sound emulation and cleaning up the source code instead of just adding new mappers, for example ? In my opinion Jnes had absolutely great sound and I didn't expect that you could feel the need to rewrite everything.
Jabo - I didn't like the way I did volume and frequency changes for a long time, I just didn't really want to rewrite the direct sound routines. As time went on I think it became more of an issue, especially dpcm in older versions, as well as a number of other things I guess. The rest of the source clean up led to some nice performance optimizations, and a much nicer and flexible user interface, and a few bug fixes here and there of course. I've spent a considerable amount of time on Jnes, like most emulators require, so it's nice to have code that's easy to work... unfortunately that requires planning and rewrites at times.

As far as mappers go, I do realize there are projects that have a great deal more mappers, Jnes is developed by me only, so supporting huge amounts of mappers is harder in that respect, and I only really use games from the USA, which as far as I know Jnes supports most of, Super Mario Bros, Megamans, etc.
You rewrote nearly all parts of Jnes to get it more stable - probably also to make it easier to navigate through the source code ? Will you release the source code ? Any ports (Linux or Mac, for example) planned ?
Jabo - I actually wanted to do a linux port, but I don't have time, and I really don't think I will end up using linux any time soon, but a while ago I really did want to, just don't have time lately.

As far as source, I've worked on this too long in a closed-source way, it would be hard to just let it go and not care. I see open-source usually being used as way of ending a project, neither of which is something I would do with Jnes. I have great respect for coders who open-source their emulator projects, but I don't think it would help me because everything in Jnes is written from scratch, either in assembly, or C.
How close is your current development to your personal emulation goal? If I remember well, you said you wanted "to get all american games to work!" Is that correct ?
Jabo - Yup, I think so...
It looks like the NES dev scene consists of a bunch of friends :) Is that true ? If yes - why has no-one ever tried to build up a coding "dream team" to develop the "ultimate NES emu" ?
Jabo - Heh, I'd like to think I'm good friend with a few of the other emulator authors on occasion, TNSe comes to mind, but everyone codes differently, everyone has different goals with their projects, some people use different programming languages as well..
What do you think about the current NES emu scene ? What is your opinion about projects like Unofficial nester and nesterJ ?
Jabo - I haven't really talked to the authors of either of those emulators, so I don't really know. I've heard that Nester uses matt conte's cores for audio and cpu emulation, which is cool for matt, he has done some great work with audio, it's nice to see it finally available to the public.
Will you continue to work on Jnes and what can we expect next ?
Jabo - I'm hoping to wrap up the 0.40 series soon, with no serious known bugs and just probably just be content with it for a while, and continue working on some of my newer projects. Right now I can't think of anything I want to add ...
How about FDS support, a stretched-mode WITH triple buffering or better scanlines support ? (I prefer darker and thicker scanlines, like the one implemented in ZSNES)
Jabo - I consider FDS one of those things I am not sure I would be interested in at this time..

One of the things I tried to do with Jnes was maximize the efficiency of the emulator, while still offering nice features such as triple buffering. Changing things around to support some of these "enhancements" (which I've considered in the past, so I have actually tried), would slow down the emulator, which isn't great for those who wouldn't even those features, such as myself.. The graphics card I have does some nice filtering at 2X window and above.
Do you think a 100% compatible NES emu will become a reality ?
Jabo - I think 100% compatibility is interesting, because of mappers specifically. It's hard to say if it will be a reality, I think the new universal nes format is an excellent step toward achieving it tho, if there will ever be such an emulator that wants to achieve this, I think it will likely use that format since it allows a great amount of flexibility in detecting different board types, and adding other useful information that an emulator can emulate a specific game more accurately with.
What is (or which are) your overall favourite emulator/console and which games do you like best ?
Jabo - NeoRage X - I admire nice full screen interfaces, it's a respectable thing to accomplish, and the emu is nice of course.
True Reality - I think this is a great emulator (all ports), and it will only get better
Callus - Street Fighter II is so much better in the arcades, Callus brings it home nicely
Zsnes - I have the pleasure to talk with one of the authors on occasion, and the emulator is fantastic of course
Snes9x - Been a user of this emulator for a long time, way before it even had sound, great work.

Some other quick ones I have copies of, NESten, LoopyNES, Apollo, Nemu, and 1964, I have to mention these guys :)
What do you think about the latest emulation breaktroughs (Final Burn, CPS2, Taito F3 sound, ToP translation ...) ?
Jabo - I think the CPS2 stuff is nice, too bad no algorithm was developed to crack it, but dumping was done very cleverly, very nice work done there. I'm not familiar with the other things mentioned unfortunately, I'd hate to comment on them :)
Opi - Thanks for taking the time and for your interesting answers :-)


back to the interview page

Interview with Jabo, conducted by Opi during the second half of january 2001 - (c) Retrogames 2001 :)

- -