Slashdot Mirror


First ZSNES Release In ~2.5 Years

Anonymous Coward writes "The best SNES emulator, and the only GPL one -- ZSNES -- has had the first release in almost two and a half years! Looks like those smart coders reverse engineered quite a few new special co-processors for this release as well."

44 of 216 comments (clear)

  1. Excellent! by Anonymous Coward · · Score: 4, Informative

    Yesterday I tested zsnes first time on my linux laptop and was blown away - excellent emulator!

    And now I read about a new release - even better!

    1. Re:Excellent! by Elektroschock · · Score: 5, Insightful

      I really wonder why emulators such as dosbox and Zdnes are not better integrated in your desktop environment. I mean KcontrolCenter configuration modules, I mean a "just run" environment, where the whole emulator is nidden as a background process. The main advantage of gaming consoles is that you just insert the disk7cardrige and start to play.

    2. Re:Excellent! by stratjakt · · Score: 3, Informative

      Oh yeah, well I'm not a fluxbox user, I want to double click a ROM file and execute it.

      Not based on extension, I want a real filesystem with attributes, and it executes based on the "SNES" attribute.

      There's no integration needed, just a good filesystem and good desktop environment.

      Replace "ROM" with "digital photo" and "emulator" with "GIMP" if you want.

      --
      I don't need no instructions to know how to rock!!!!
    3. Re:Excellent! by Creepy+Crawler · · Score: 2, Interesting

      And if I recall correctly, Linux kernel does support MISC binaries.. Though Ive not looked far into it.

      It does seem to allow execution of a binary through an emulation layer, as you suggested.

      --
    4. Re:Excellent! by TravisWatkins · · Score: 2, Interesting

      If you mean binfmt then yes, it does support it. I use it to run Mono for .NET apps and WINE for Windows apps. Ubuntu set it up for me, I dunno if it would be hard to do elsewhere.

      --

      "But I'm still right here, giving blood and keeping faith. And I'm still right here."
  2. zSnes Dev team 3 by Tasy · · Score: 5, Informative

    Actually, there have been work in progress releases all along. This is the first non-"beta" release in two years.

    See you in WoW, pagefault. :D!

    --
    ------ ( Read More... | 666 of 682 comments )
    1. Re:zSnes Dev team 3 by DrStrangeLoop · · Score: 2, Interesting

      This is the first non-"beta" release in two years.

      See you in WoW, pagefault. :D!

      could it be that the duration of the work being in progress is caused by pagefault's interest in on-line role playing? sure enough sounds that way :)
      makes you wonder how many great programs are still unwritten due to MMORPGS. or how many quests still need to be completed because of OSS.

      anyway, is there a mac port? or any non-i386 port, for that matter?

  3. 2.5 years.. gad by cente · · Score: 4, Funny

    Gee, I thought snes emulation was perfect already! What a long time to put something out though... Everyone get out your "archived" snes games again!

    1. Re:2.5 years.. gad by Norgus · · Score: 2, Informative

      Thats unfair, it most certainly is close. Just because some perfectionists are unpleased...

    2. Re:2.5 years.. gad by BradleyUffner · · Score: 5, Informative

      It hasn't really been 2.5 years. There have been unofficial builds released every few months, they refer to them as "WIPs" or Work In Progres. The WIPs are awesome, each one fixed a bunch of bugs, and was rock stable.

  4. Best? by SilentChris · · Score: 4, Insightful

    "The best SNES emulator"

    Ho boy, flamewar. Personally I think SNES9x has been the best/most reliable, and has been updated far more frequently. And before people say "it's Windows only", it's not. I have a port sitting on my Mac OS X dock right now. Don't know if there's a Linux port.

    1. Re:Best? by Horse+Rotorvator+JAD · · Score: 5, Informative

      I'll throw in a second vote for snes9x. As can be seen on their download page http://www.snes9x.com/downloads.asp they have ported snes9x to; Solaris, OpenBSD, Irix, N64, FreeBSD, AmigaOS, BeOS, RiscOS, SunOS, MS-DOS, HP-UX, MacOS, Linux and Windows.

      It has a very easy to use and intuitive interface with all the options that one would expect from an emulator. It is stable and has played every single ROM I've thrown at it without a single problem. Whenever I set up a new USB thumbdrive with all my essential software, snes9x always goes on there.

    2. Re:Best? by tormedhammaren · · Score: 2, Informative

      A Linux port exists. Heck, there is even an Amiga port.

    3. Re:Best? by stratjakt · · Score: 5, Insightful

      No need for a flamewar, the two teams put aside the moronic infighting years ago and have largely collaborated.

      Back when, ZSNES was fast, because it was written in ASM. SNES9x was more compatable, because it was easier to tweak. And there was much boasting and bickering and it was basically an e-Penis contest between the two emus.

      Eventually they came together.

      Now, SNES9x got all its ASM code straight from ZSNES, ZSNES got its compatability and other features from SNES9x.

      Both projects would suck without getting together. SNES9x would still be slow and chunky, ZSNES would be missing a lot of compatability and features.

      Both are pretty good examples of what OSS projects can achieve when the authors put egos aside and focus on the end result.

      --
      I don't need no instructions to know how to rock!!!!
    4. Re:Best? by phoxix · · Score: 5, Interesting

      I'll throw in a second vote for snes9x. As can be seen on their download page http://www.snes9x.com/downloads.asp they have ported snes9x to; Solaris, OpenBSD, Irix, N64, FreeBSD, AmigaOS, BeOS, RiscOS, SunOS, MS-DOS, HP-UX, MacOS, Linux and Windows.

      Who cares ?

      What you slashdot folks don't realize is that the maintainers of the various emulators are all sleeping in bed with each other. Maria Kendora* (snes9x), Nach, kode54, pagefault, _Demo_(zsnes) all work together to understand more about the snes because often the documentation and knowledge they have is so little about whatever odd chips were used in that one obscure game. They'll even resort to reading half-assed patent applications in hopes of sheding some light.

      You can even join #zsnes on Freenode, and watch the developement of zsnes right in front of your own eyes. The developement of one OSS emulator is the developement of another. Especially with the tight knit community of coders/hackers.

      ~sd

      * Yes, that isn't his name. Maria Kendora is just a joke about his real name.

    5. Re:Best? by NotAPirate · · Score: 2, Interesting

      I've got a snes9x port working on my 'kube via GC-linux, runs fullspeed :)

    6. Re:Best? by incom · · Score: 2, Interesting

      i admit that I've never given snes9x much of a shot, mostly because I started with zsnes years ago, and it was fastest on my meager hardware, and so even though I don't need the most speed I can eek out to play snes games anymore(athlon64 these days) I'm still used to zsnes, and comfortable with it.

      --
      True genius is grasping a situation like a peice of fruit, and peircing it just right so that it drains dry.
    7. Re:Best? by Doomstalk · · Score: 4, Insightful

      they have ported snes9x to; Solaris, OpenBSD, Irix, N64, FreeBSD, AmigaOS, BeOS, RiscOS, SunOS, MS-DOS, HP-UX, MacOS, Linux and Windows.

      You'll never see zsnes ports for most of those systems because large chunks of zsnes are written in x86 assembly. To me that's a plus, because its hard for a higher-level language to beat assembly in terms of speed. zsnes is much faster than Snes9x, and therefore I can run it on older systems. Its true that it does suck if you don't run an x86-based box, but that doesn't make it inferior, just different.

    8. Re:Best? by paladin217 · · Score: 2, Informative

      The issues about porting ZSNES are slowly being resolved. A lot of the work done for this release involved replacing a lot of assembly with C.
      Since computers are so fast now, there is no need to try to squeeze every last bit of performance out of the processor by using assembly for SNES emulation. It may take a while, but I think the ZSNES may reach a point where it is written entirely in C.

    9. Re:Best? by Bulln-Bulln · · Score: 2, Informative

      As you may know SNES9x is based on SNES96 (with Code from a different emulator called SNES97).
      Here's a quote from the change log:

      Initial release 0.1
      - Ported Windows 95 version of Snes96 to Linux on a PC and Solaris on a
      SparcStation.

    10. Re:Best? by Zorilla · · Score: 2, Interesting

      Isn't there a non-asm version? I don't remember hacving nasm required to compile it. At least there used to be pre-compiled versions without it when I used the MS-DOS version back in my Pentium 133 days (DOS versions of emulators were always faster for some reason).

      --

      It would be cool if it didn't suck.
    11. Re:Best? by kbranch · · Score: 2, Informative

      Uh... I don't think you quite understand what he's saying. There is NO GUI at all for anything other than Windows and Mac. Hardly what I'd call intuitive if you have to look up all the different switches to do anything other than play with the default config. I'd like to see you try to get it to run fullscreen with different key mappings without wasting 10 or more minutes on google.

    12. Re:Best? by Eric+S+Raymond · · Score: 2, Interesting

      The Emulator created by an ex-nintendo employee while working at Nintendo for development on PPC is called Silhouette:
      http://www.google.com/search?num=20&h l=en&lr=&safe =off&client=firefox-a&rls=org.mozilla%3Aen-US%3Aof ficial&q=Silhouette+nintendo&btnG=Search

      --
      Bypass Compulsory Web Registration -- http://bugmenot.com/
  5. Nice and all... by Leffe · · Score: 4, Informative

    ... but we already got CVS builds once in a while from here:

    http://www.ipherswipsite.com/

  6. SNES9X by acidblood · · Score: 5, Insightful

    I was always partial to SNES9X for some reason (perhaps it's the fact that they don't waste their time coding everything in assembly, as nobody should), and it's also open source. Whether it is GPL'd or not is just flamewar fodder -- most certainly the submitter's intention.

    --

    Join the NFSNET. Our prime goal is making little numbers out of big ones. http://www.nfsnet.org/

    1. Re:SNES9X by Yosho · · Score: 4, Informative

      You have to keep in mind that back when ZSNES was first being developed, computers weren't fast enough to emulate a SNES properly. I recall first using ZSNES on a Pentium 2, 300 MHz; not top-of-the-line, but a pretty good computer for the time. As far as I can recall, there weren't any SNES emulators that would run games at full speed, but ZSNES came pretty close; SNES 9x was more accurate, but also considerably slower unless most of the features were disabled.

      --
      Karma: Terrifying (mostly affected by atrocities you've committed)
    2. Re:SNES9X by DarkHelmet · · Score: 4, Insightful
      One of the features in 1.40 is listed as:
      • - Cleaned up, overhauled, removed, and ported a lot of code (asm to C). [pagefault, MKendora, Nach]
      I think they're addressing that shortcoming.
      --
      /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i
    3. Re:SNES9X by moosesocks · · Score: 3, Insightful

      ZSNES ran at about 90% frame rate on my Pentium-100. I never even noticed the missing 10% until I actually checked the frame-counter -- it was still better than playing a 'real' SNES.

      It's a real testament to their coding skills.

      --
      -- If you try to fail and succeed, which have you done? - Uli's moose
    4. Re:SNES9X by mushroom+blue · · Score: 2, Informative

      untrue. Snes95/96 (which later became Snes9x) was able to run most games at full speed on a pentium 133. if you disabled transparency (or just didn't have a good DOS VESA driver), you could get it running full speed on a pentium 75Mhz.

      not only that, but other SNES emulators like NLKSNES or ESNES were both able to run most games at full-speed on this hardware as well.

    5. Re:SNES9X by acidblood · · Score: 4, Insightful

      Regardless, I can assure you that it'd be just as fast if about 20% not 100% of the code were written in C. I'm not familiar with emulators, so maybe those 20% are actually 30 or 40%, but never 100%. I assert this as a speed freak and optimized assembly coder (did a couple of cores for distributed.net). It's just a complete waste of time to write, say, GUI code and file handling in assembly.

      Actually, I'd go so far as to hypothesize that ZSNES would be faster if it were written in C/C++ with careful assembly optimization only where needed: the higher productivity associated with a high-level language would mean more time to optimize the parts of the code where speed really matters.

      --

      Join the NFSNET. Our prime goal is making little numbers out of big ones. http://www.nfsnet.org/

    6. Re:SNES9X by rreyelts · · Score: 2, Interesting
      I think the hardest part is trying to write code that is friendly to the host CPU's branch predictor.

      This is where dynamic recompilation comes in. When you dynamically recompile the target binary, instead of interpreting it, you can remove all of the unpredictable branches you get when you interpret. Dynamic recompilation allows your code to be clean and fast.

      I wrote a basic dynamic recompilation core for a Z80 emulator on the JVM.

  7. Geez by AvantLegion · · Score: 4, Funny
    I just finished installing the old version!

  8. Reccomendation by labratuk · · Score: 5, Informative

    For anyone wanting to play SNES games I highly reccomend looking in your kernel documentation about how to hook up your SNES controller to work with the gamecon driver. Only takes about 10 minutes.

    --
    Malike Bamiyi wanted my assistance.
    1. Re:Reccomendation by Anonymous Coward · · Score: 3, Informative

      Or if you have the cash to burn, buy:

      1. A SNES to USB adapter.

      2. A premodded USB SNES controller (basically a SNES controller that's been gutted and replaced with new hardware to make it a USB controller).

    2. Re:Reccomendation by Roofus · · Score: 2, Funny

      It's right below the ShutThe FuckUp option in the config. What are you, blind?

  9. Sheeshhh by MemoryDragon · · Score: 2, Funny

    Now after 1 1/2 years the compliation of the old version on my Amiga is done, now they have released a new one, time to start compiling again...

  10. Re:A little OT, but... by Kyouryuu · · Score: 3, Informative

    The game's manufacturer, Koei, still makes regular releases of their Romance of Three Kingdoms and Dynasty Warriors series. They are still known for their tactical strategy games. Aerobiz was a very unique game since it dealt with corporate strategy in a way very different from more comtemporary games of that ilk (SimCity, etc) but I haven't heard about any plans to bring it back.

    For the uninitiated, Aerobiz and its sequel Aerobiz Supersonic were two games released on the SNES and Genesis. The aim of each was to become the most profitable airline in the industry. You could play the game at different points in time - the dawn of airplanes for business commutes all the way to Concorde-like supersonics. To win, you would have to oversee buying various real-life planes (Boeing, Lockheed, Airbus, etc), slots at worldly airports, and compete directly with three other companies who were also vying for the same assets. You would try to have a hub in each continent and grow the airline from there with large transoceanic flights. If a particular route was not profitable, you could alter its ticket prices, switch to a smaller plane, or other various options. The game actually had a board of directors you could meet with for advice (similar to SimCity's "Advisors"). Additionally, you could diversify your business by purchasing hotels or golf courses in respective cities. Various events, like the Summer Olympics and disasters, like fuel crises, war or worker strikes, would also influence your growing business. One of the features that made Aerobiz unique was that it was multiplayer. Although you had the option of making any number of them AI, the three other corporations could be other players. Granted, it's rather slow-paced and geeky, but it's arguably the closest thing there ever was to a competitive simulation game.

  11. Anything to warrant another glance? by WWWWolf · · Score: 2, Interesting

    I see a lot of fixes in the list, but since it's getting late, I can't read well... =/

    Is there anything at all to warrant another glance at it? I used to think ZSNES was pretty damn cool, until I noted that SNES9X has actually working hardware screen scaling (through OpenGL - hardware scaling was pretty damn relevant on a P3-600 which I used until this month...) ...and another thing I had going for SNES9X was that there was an OS X port of it, too, so I could use the very same NVRAM files on all computers I could theoretically use. For me, it seemed like the best of the open-source SNES emulators, everyone said ZSNES was good on MS-DOS and not really anything else.

    So I suppose they're getting really great emulation quality now, though... is there hardware scaling now? Since it now seems to use SDL, will there be a Mac port?

    Just curious...

    1. Re:Anything to warrant another glance? by Andy+Dodd · · Score: 2, Insightful

      ZSNES has had hardware scaling via OpenGL for quite a while. Although my favorite so far has been 4x software scaling with HQ4X (which is a scaling algorithm that is designed specifically for video games, which typically have lots of line art. HQnX attempt to perform pattern detection on the input graphics in order to guess what it's supposed to look like, and for most video games, the HQnX algorithms and their predecessor 2xSAI work quite well.) Of course, nowadays I follow HQ4X with further hardware scaling on my laptop's 1600x1200 screen. :)

      Not sure how hard it would be to get the SDL Linux code to work under OSX... Might not be hard at all.

      --
      retrorocket.o not found, launch anyway?
  12. Where are the ROMs? by kaedemichi255 · · Score: 2, Interesting

    It's good to see a solid GPL'ed emulator, but where does one get ROMs without running into legal issues? What are the legal details about attaining ROMs?

    1. Re:Where are the ROMs? by Joe+Tie. · · Score: 2, Informative

      I have a wildcard unit which can transfer roms from a cartrige. Even then there's a question of legality. Common sense says that there's nothing wrong with making copy of something I've purchased as long as there's no intent to distribute it, nintendo says there is.

      --
      Everything will be taken away from you.
  13. Re:Ahh I remember the days. by Zorilla · · Score: 2, Funny

    Man, remember how the wind in the intro in FF3 sounded before noise wave emulation was introduced? BWWUUUUUUUUUUUUUUUWWWEEEEEEEIIIIIIIWWWWWUUUUUUU!!

    --

    It would be cool if it didn't suck.
  14. Re:Wow linux requires kernel rebuild for a joystic by labratuk · · Score: 2, Informative

    No. These are just the instructions on which pins to solder to which pins of the parallel port. Most distros will probably have the gamecon module built and ready to use.

    Troll.

    --
    Malike Bamiyi wanted my assistance.
  15. Release notes by Spy+der+Mann · · Score: 3, Informative

    Taken from the official site:

    ZSNES News
    Dec 25th, 2004 - _Demo_
    We are releasing the new ZSNES version 1.40 today. We hope you will enjoy it!

    Merry Christmas

    The ZSNES Team

    ------------

    What's new:

    DOS Only:

    * - Fixed cublic spline interpolation. It should actually save the option now! [pagefault]
    * - Fixed other various DOS sound bugs. [Nach, pagefault]
    * - Fixed a frameskipping bug. [pagefault]

    Linux/SDL/POSIX Only:

    * - Updated icon. [cdbsi]
    * - Updated Linux video code to Windows Version. [pagefault]
    * - Fixed problems with nVidia cards. [Diablo-D3]
    * - Fixed audio problems with broken drivers. [Diablo-D3]
    * - Added 48khz sound support. [pagefault]
    * - Updated joystick input support. [theoddone33, Sander]
    * - Fixed Savestate incrementor, this caused some crashes. [pagefault]
    * - Cleaned up the Linux Autoconfigure [Diablo-D3]
    * - Added a couple of things for the start of BeOS compatibility. [theoddone33]
    * - Fixed 16->32bpp LUT Related bug. [kode54]
    * - Added hardcoded alt-enter fullscreen toggle. [theoddone33]
    * - Added dialog for why the video mode couldn't be set. [theoddone33]
    * - Added Circle buffer patch (savestate fix). [zinx]
    * - Fixed problem with man page when installing (when man1 directory doesn't exist). [hpsolo]
    * - Fixed cmd line sound quality. [pagefault]
    * - Fixed zlib and libpng issues. [theoddone33, pagefault]
    * - Updated libpng Version checking [theoddone33]
    * - Added -lm to acinclude.m4 so AC_TRY_RUN doesn't return negative on some systems looking for libpng. [theoddone33]
    * - Overhauled Makefile. [theoddone33]
    * - Fixed install target, -D should not be used. [theoddone33]
    * - Added the name of the start address to the error message, when mprotect fails. [theoddone33]
    * - Update config.sub. This allows configuration on 64bit targets, and requires autogen.sh to be rerun. [theoddone33]
    * - Added HQ2X filter! [MaxSt, pagefault, zinx]
    * - Snapshots now use the full ROM file name. [Nach]
    * - Prefixed Snapshots with leading zeroes. [Nach]
    * - Renamed Linux Version to SDL. [pagefault]

    Windows Only:

    * - Updated icon with Windows XP compliancy. [cdbsi]
    * - Added new disable screensaver code. [pagefault]
    * - Added a CPU utilization fix. [kode54, pagefault]
    * - Added 48khz sound support, updated sound code, and fixed sound bugs. [pagefault, Nach, ipher, StatMat]
    * - Fixed a couple of input bugs, such as one concerning the 5th joystick and another that made the mouse get stuck in an endless loop. [pagefault]
    * - Removed alternate timer. [pagefault]
    * - Fixed Netplay freezing bug. [pagefault]
    * - Many new video features, including (but not limited to): HQ2X, HQ3X and HQ4X graphic filters, support for hi-res and D modes in 32bpp windowed mode (now default), new aspect ratio code for scaling, and the KitchenSync (usable only via the commandline). [MaxSt, pagefault, Darkfalz]
    * - Fixes for video code errors, such as those that occured when alt-tabbing in fullscreen, MMX interpolation fixes, and blitter fixes. [pagefault, zsKnight]
    * - Snapshots are now numbered and use the full ROM file name. [Nach]
    * - Renamed Windows version to Win32. [pagefault]
    * - Win32 port can now also be compiled with MinGW (but we won't support it till the next release). [Nach]

    All Ports:

    * - Added multiple timing tweaks, fixed various emulation bugs, and many other technical updates, including (but not limited to): SPC core updates (with improved sound decoding), safer memory allocation in certain areas, HIRQ and VIRQ fixes, color add/sub and color bleeding fixes, HDMA improvements, sprite priority and flickering fixes. Many more games work :D. [pagefault, _Demo_, Nach, TRAC, Overload, theoddone33]
    * - Overhauled a lot of code, such as checksum calculation and mirroring code. Overhauled and added much better EHi/Hi/Lo ROM code, improved reset vector, changed much hard coding to variables. Fi