vNES is a Nintendo Entertainment System emulator programmed in Java, running in applet mode. The project started around June 1, 2006 after I couldn't think of anything better to do for the summer. In accordance with my belief that you can't copyright factual information, feel free to use the information found on this page for purposes of news articles or Wikipedia or whatever.
1. History
2. Future Plans
3. Compatibility
4. Supported Platforms
I started work on vNES after realizing that I had nothing to do for the summer, and as a side-effect of my love of Nintendo and emulation. The original vNES website was created a few days before June 1, 2006 and was hosted at vnes.thatsanderskid.com. vNES was actually a small mistake, all my other ideas I was toying with at the time turned out to be remarkably bad. Before vNES, I was toying with making a web-based GUI, an RPG (which occasionally gets worked on still), a proxy server and a GPL flash preloader that is supposed to detect eBaum's World and then halt, playing "Suicide Is Painless" instead of a real movie.
Since all of those other pursuits were either futile or impossible for me to improve upon, I started reading technical documents on the NES, spend a good amount of time implementing stuff and reworking the mappers, and wound up with vNES. On October 1, 2006, vNES managed to get on the front page of Digg, and that's when my popularity skyrocketed. I found myself being mentioned in the most mainstream to the most unlikely of places, from college radio, Iraqi military bases, all the way down to the India Times.
Canaca, My original host got really angry about the traffic on the site, and continued to claim that I was abusing the server. What they didn't tell me is that the entire problem arose from my inadvertently deleting the favicon.ico file, and that was making the server return a 404 way too much of the time, which isn't really good for apache (or anything else for that matter, then again IIS doesn't like to be turned on.) Incidentally, Canaca is completely gone. Go figure. So, I decided to move vNES to Dreamhost. Dreamhost then promptly decided to shut me down, under the perception that my enabling the online emulation of the NES is illegal. I've been mistaken before, but I'm really sure that piracy implies the downloading of files without the consent of the copyright holder. Technically, this isn't downloading anyway.
Dreamhost felt they could suspend my site without giving me a particular reason, initially. I don't know what it is with server farms and doing this, as it happened a few months later. I then re-enabled my site, and they kicked me off for good. If you're going to shut me down while I'm getting around one million hits a day, give me no actual reason, and then make me wait in support queue for twelve hours and think I'm not going to re-enable my site, you've probably been hit in the head one too many times. I've said it before, and for the sake of including it here:
"There's no use in trying to talk some sense into a bunch of monkeys that own a server farm, as you'll end up with a few hours of your life lost and shit in your face." - ThatSandersKid
It wouldn't be so bad if they weren't so remarkably and incredibly uncooperative. Not only that, but at the time I had received around $200 in donations from the users of vNES. Dreamhost continued to refuse to give me those funds back until I was about a minute away from sending papers to them, as I finally got them to at least return the money to the donators. If you're reading this, never buy your hosting at Dreamhost (or GoDaddy, but that's obvious - you don't want a content Nazi to be your host).
William Burns, the Chief Technology Officer of VR5 (a company that was using vNES for their Virtual Reality program) really came to my rescue dealing with Dreamhost, writing one of the best open letters I've ever had the pleasure to read. It was sent to Dreamhost and posted on www.virtualnes.com for the world to read. It was one of those New Radicals moments, the underdogs doing a reasonably good job of making the establishment seem incompetent and ostensibly obsolete.
At that point, I moved vNES around donated servers for about 48 hours before moving to FastNext. Thanks to another site linking to me, the server overloaded and crashed. They decided to lock it until I could guarantee that I won't crash the server anymore. That was the birth of Public Terminal Mode, which allowed people to link to the Coral Content Distribution Network to play games on vNES. Problem is, if you were on a public computer, such as a Library or School workstation, Coral CDN was probably blocked. So, I kept a way to access the main server directly. Hence the name "Public Terminal Mode."
Around April 14, I was told that another website was using the vNES applet. At the time, I was rather opposed to the idea. I got a bit angry, only to find out that numerous other websites were also doing the same thing, but they weren't publishing it quite like the first site I was aware of was. After a few days of struggling, I came to the conclusion that the frustration isn't worth popping back up in 20 years as a brain tumor, and cut a few things out of the vNES code, and released it under the GPL on April 22nd.
Much to my dismay, the ESA got the brilliant plan of sending my hosting company a Cease & Desist order for my having vNES. The problem with this is, they didn't fill in the form letter completely, because for whatever crazy reason, they thought I was going to give up that easily. After a series of conversations with my host about the shutdown, I managed to get service returned for about 12 hours, because the ESA finally figured out what it is I'm "infringing," in which they decided that I can either move vNES off of the server, or get my account terminated.
On July 1, 2007, I formed vNES International, an assembly of people who manage vNES and ensure that it works. vNES is now a joint effort between me and the rest of the vNES staff, which seems to work out well with everyone involved. We later moved the site to a different web host, which is actually much higher quality and much faster than any of the hosts we've had before now.
Additional bug fixes for vNES will still happen when necessary. A few new features such as the ability to save a game will be added at some point in the future. The method for handling saves will be a MySQL-based account system. When you press save, it will pause the emulator, take a screenshot of the game and copy the RAM. I'm sure support for a certain boxing game involving a certain man who eats the ears of others will happen eventually, despite my remarkable lack of enthusiasm for boxing or the consumption of human ears (or any other sort, for that matter.)
vNES is capable of playing most games that were released in America, and most games released in Japan before 1990. Past that, support is sketchy, mainly due to the manufacturing process that was employed for Japan. By default configuration, vNES also plays sound in 48kHz Stereo, a sizable improvement to the sound quality, compared to running it on the actual hardware.
- Windows 2000
- Windows XP
- Windows Vista [Although I personally won't touch a Vista box]
- Mac OS X for Intel Core Processors [Although I personally haven't touched this either, yet.]
- Linux
In case you're wondering, I don't have a clue why vNES and PowerPCs don't get along. However, the same issue preventing that from working correctly is also the one responsible for keeping it from working on the Wii (other than the complete lack of Java). So, I wouldn't expect it to work on the Wii anytime soon. Linux support needs some work, and I've heard some people managed to get it to work on the PS3 under YellowDog ZETA. Or something like that, you can't honestly expect me to pay attention to the PS3, can you?